diff --git a/.env.template b/.env.template index 6b78476d1..da67ca1a9 100644 --- a/.env.template +++ b/.env.template @@ -27,6 +27,18 @@ # TAGGING_HEADER_1_DELIMITER=, # TAGGING_HEADER_2=X-Internal-Routing # TAGGING_HEADER_2_DONOTPASS=true + +# Session keeping: identify which requests belong to one client session, for sticky +# virtual-model load balancing and audit-log session grouping. On by default with a +# built-in registry of session headers/body fields known coding tools send (Claude +# Code, Codex CLI, OpenCode, Kilo Code, Goose, …) plus content-based auto-detection +# for untagged chat requests. Extra headers are numbered from 1 and merged over the +# built-ins; the optional TRANSFORM "session-uuid" extracts a session_ value. +# SESSION_KEEPING_ENABLED=true +# SESSION_AUTO_DETECT=true +# SESSION_BUILTIN_RULES=true +# SESSION_HEADER_1=X-My-Session +# SESSION_HEADER_1_TRANSFORM= # Log output format: leave unset to auto-detect, or set to "json" / "text" # LOG_FORMAT=text # Log verbosity: "debug", "info" (default), "warn", or "error" diff --git a/CLAUDE.md b/CLAUDE.md index 33236fecf..b71492b5e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -117,8 +117,9 @@ Full reference: `.env.template` and `config/config.yaml` - `REALTIME_ENABLED` (true: Expose the realtime speech-to-speech websocket at `/v1/realtime` and the `/p/{provider}/v1/realtime` upgrade. The canonical `/v1/realtime` route needs only `REALTIME_ENABLED`; the `/p/{provider}/v1/realtime` upgrade additionally requires passthrough routes enabled (`ENABLE_PASSTHROUGH_ROUTES`) with the provider listed in `ENABLED_PASSTHROUGH_PROVIDERS`. The gateway is a transparent websocket reverse proxy — it injects provider credentials and relays the provider's realtime event schema verbatim (no translation), so clients connect without provider API keys. Only providers implementing realtime accept sessions. Currently: OpenAI and xAI/Grok Voice Agent (both `wss://…/v1/realtime`); Z.ai/Zhipu GLM-Realtime (`wss://…/api/paas/v4/realtime`); Bailian/Qwen-Omni (`wss://dashscope…/api-ws/v1/realtime`); and Azure OpenAI (`wss:///openai/realtime?api-version=…&deployment=…`, `api-key` header). All use OpenAI's realtime event schema (Z.ai adds extensions that relay transparently). Provider-specific notes: xAI voice models (e.g. `grok-voice-latest`) aren't in upstream `/models` discovery, so configure them via `XAI_MODELS`, and xAI bills realtime per-minute (no token usage reported); Azure realtime requires a realtime-capable `AZURE_API_VERSION` (the default may be too old) and the model selects the Azure deployment. (MiniMax was evaluated but skipped — its conversational realtime schema is not OpenAI-compatible.) Sessions are gated by the same model-access and budget rules as other model endpoints; usage is tracked per `response.done` event, accepting both the OpenAI singular and Alibaba plural token-detail spellings. The same flag also exposes the OpenAI-compatible WebRTC surface (via the optional `core.RealtimeCallProvider` interface — OpenAI and xAI at the shared `…/v1/realtime/{calls,client_secrets}` shape, and Azure OpenAI at its GA `/openai/v1/realtime/{calls,client_secrets}` surface with `api-key` auth and no api-version; xAI gates WebRTC calls per team, so unauthorized accounts get the upstream 403 relayed while client_secrets works. Bailian is deliberately not wired: its WebRTC is allowlist-only with a per-customer endpoint provided by sales, plus no call id in the answer; Z.ai has no WebRTC realtime): `POST /v1/realtime/calls` exchanges SDP (raw `application/sdp` offer with `?model=`, or multipart `sdp` + `session` JSON fields; the session/query model is rewritten to the resolved provider model so aliases and virtual models work) and relays the answer with a gateway-relative `Location: /v1/realtime/calls/{call_id}` header; `POST /v1/realtime/client_secrets` mints ephemeral browser credentials routed by `session.model` (falling back to the nested transcription model); and `GET /v1/realtime?call_id=…` attaches to an existing call as a sideband websocket (an in-memory per-instance call registry recalls the route for calls created through the same instance — 6h TTL, capped; otherwise pass explicit `model`+`provider` params). WebRTC media and events flow directly between client and provider, so after creating a call the gateway attaches its own best-effort sideband observer websocket to record usage per `response.done` (entries carry endpoint `/v1/realtime/calls`; skipped when usage tracking is off, and gateway-relayed sideband attaches for registry-known calls don't tap usage to avoid double counting). WebRTC signaling counts toward request-scoped rate limits, but concurrent-scope rules can't span a WebRTC call's lifetime since only signaling transits the gateway; ephemeral client secrets authenticate clients directly against the provider, so those sessions bypass the gateway entirely and are untracked.) - **Storage:** `STORAGE_TYPE` (sqlite), `SQLITE_PATH` (default: `data/gomodel.db` when a `./data` directory exists — existing deployments, Docker; otherwise the OS per-user data dir, e.g. `~/.local/share/gomodel/gomodel.db` — see `internal/platformdir`; the local model cache resolves `.cache` vs the OS cache dir the same way), `POSTGRES_URL`, `MONGODB_URL`. `/v1/responses` snapshots and `/v1/conversations` history persist to the configured backend (30-day TTL, hourly sweep); the in-memory fallback stores are byte-capped and used only by embedded setups that skip app wiring. - **Models:** `MODELS_ENABLED_BY_DEFAULT` (true), `KEEP_ONLY_ALIASES_AT_MODELS_ENDPOINT` (false), `CONFIGURED_PROVIDER_MODELS_MODE` (`fallback` or `allowlist`, default `fallback`; `allowlist` skips upstream `/models` for providers with configured lists); persisted overrides restrict/allow selectors with `user_paths`. When alias-only models listing is enabled, `GET /v1/models` returns only model aliases, not full concrete model specs, to operators. -- **Virtual models:** Redirects (aliases / load balancers) and access policies are managed in the admin dashboard and persisted to the `virtual_models` store. A redirect with one target is a plain alias; a redirect with several targets is load balanced by `strategy`: `round_robin` (default; rotates across targets, honoring per-target `weight`) or `cost` (always routes to the cheapest catalog-priced available target, falling back to the first target when none are priced). Unavailable targets are skipped, so a redirect works while any target is live. Virtual models can also be declared as infrastructure-as-code under `virtual_models:` in `config.yaml` or via the `VIRTUAL_MODELS` env var (a JSON array; env merges over YAML, winning per `source`). Declarative entries are validated at startup, override admin-store rows with the same `source`, and are read-only in the dashboard. Startup validation is catalog-independent: structure plus explicit target `provider` names — a name matching no configured provider (a typo) aborts startup listing the registered providers; a name declared under `providers:` but unregistered (e.g. credentials unset in this environment) only warns and the target stays unavailable; target *model* availability is never a startup gate (checked at resolve time, since the catalog loads asynchronously). +- **Virtual models:** Redirects (aliases / load balancers) and access policies are managed in the admin dashboard and persisted to the `virtual_models` store. A redirect with one target is a plain alias; a redirect with several targets is load balanced by `strategy`: `round_robin` (default; rotates across targets, honoring per-target `weight`) or `cost` (always routes to the cheapest catalog-priced available target, falling back to the first target when none are priced). Unavailable targets are skipped, so a redirect works while any target is live. Requests carrying a detected session id (see Session keeping) stick to the target that served the session first (`session_affinity`, default true; explicit `false` restores stateless balancing — flag on YAML/env/admin API and the editor's "Session keeping" checkbox); a pinned target that turns unavailable/saturated is re-picked by the strategy and the session re-pins, the all-saturated first-target 429 fallback never pins, and pins are per-instance with a 6h idle TTL. Virtual models can also be declared as infrastructure-as-code under `virtual_models:` in `config.yaml` or via the `VIRTUAL_MODELS` env var (a JSON array; env merges over YAML, winning per `source`). Declarative entries are validated at startup, override admin-store rows with the same `source`, and are read-only in the dashboard. Startup validation is catalog-independent: structure plus explicit target `provider` names — a name matching no configured provider (a typo) aborts startup listing the registered providers; a name declared under `providers:` but unregistered (e.g. credentials unset in this environment) only warns and the target stays unavailable; target *model* availability is never a startup gate (checked at resolve time, since the catalog loads asynchronously). - **MCP gateway:** `MCP_ENABLED` (true: expose the MCP-protocol endpoints; a no-op until servers are declared). GoModel aggregates upstream MCP (Model Context Protocol) servers behind the authenticated streamable-HTTP endpoint `/mcp` (POST JSON-RPC, GET notification stream, DELETE session end) and per-server endpoints `/mcp/{server}`. On `/mcp`, tools and prompts are namespaced `{server}_{name}` with deterministic ordering; `tools/call` accepts the namespaced name (longest server-prefix match) or a unique bare name; `/mcp/{server}` exposes original names. Tools, prompts, resources, and resource templates relay with raw schemas/results verbatim; upstream `instructions` are merged into the gateway's `initialize` result. Servers come from three sources with the usual precedence: `mcp.servers:` map in `config.yaml`, the `MCP_SERVERS` env var (JSON object merged over YAML per name), and the `mcp_servers` admin store (dashboard MCP Servers page / `/admin/mcp-servers` GET/PUT/DELETE + `POST .../{name}/reconnect` + `GET .../{name}/catalog` for the per-server tools/prompts/resources inspector); declarative entries are validated at startup, shadow same-name store rows, and are read-only in the dashboard (secret header values are redacted as `***` in admin reads, and a `***` value on PUT preserves the stored secret). Per-server fields: `url` + `transport` (`http` streamable default, `sse` legacy), or declarative-only `stdio` (`command`/`args`/`env` — rejected via admin API/dashboard because runtime-registered subprocesses would be an RCE vector), `headers` (upstream credentials, `${ENV}` supported; the gateway is a credential boundary — client bearer tokens are never forwarded upstream), `allowed_tools`/`disallowed_tools`, `user_paths` (visibility subtree scoping like virtual models — filtered out of `tools/list`, not just blocked at call time), `tool_timeout` (30s default). The `X-MCP-Servers` request header narrows a session to a comma-separated server subset. One upstream session is shared per server (lazy dial, redial-once on death); a failed listing marks the server `degraded` keeping its last catalog (stale carry-forward, 60s re-probe, 5m re-list, `list_changed` notifications trigger resync). Downstream sessions are SDK-managed (`Mcp-Session-Id`, 30m idle timeout), bound to the initializing user path (a different principal presenting the session ID gets 404), and each session sees a visibility-filtered tool snapshot taken at initialize. Every MCP POST is gated by user-path rate limits and budgets; every `tools/call` writes a usage entry (`provider="mcp"`, `provider_name`=server, `model`=namespaced tool, duration/sizes/error in raw data, labels/user_path as usual) and MCP paths are audit-logged model interactions whose entries are labelled with the JSON-RPC method (tool/prompt name for calls) and `provider="mcp"`, so request-log and live-log rows are self-describing; with `LOGGING_LOG_BODIES` the JSON-RPC request and response frames (SSE replies decoded) are captured on POST entries too. Server→client MCP features (sampling, elicitation, roots) and resource subscriptions are not negotiated in v1. Spec: `docs/dev/2026-07-07_mcp-gateway-spec.md`. +- **Session keeping:** `SESSION_KEEPING_ENABLED` (true), `SESSION_AUTO_DETECT` (true), `SESSION_BUILTIN_RULES` (true), numbered `SESSION_HEADER_` (+`_TRANSFORM`, only `session-uuid`) env vars / `session:` block in `config.yaml` (headers merged over builtins per name; credential headers rejected). Every model-interaction request gets a session id via `internal/session`: explicit headers win (built-in registry: `X-Session-Id`, `X-Claude-Code-Session-Id`, `Session-Id`/`Session_id`, `X-Litellm-Session-Id`, `Helicone-Session-Id`, `Agent-Session-Id`), then body signals (`metadata.user_id` with the session-uuid transform for both Claude Code formats, `session_id`, `litellm_session_id`, `prompt_cache_key`, `conversation`/`conversation.id`), then content auto-detection for chat/responses (sha256 of model + system/instructions + tools + leading messages through the first user turn + user path → `auto-`; stable as turns append). Non-UUID ids are scoped by user path. The id rides the request context (`core.SessionIDFromContext`), drives virtual-model session affinity, and is persisted as the indexed `session_id` column on audit entries (also on live `auditPreview` events). The Audit Logs dashboard groups entries into session threads by default ("Group by session" toggle, localStorage-persisted): `GET /admin/audit/sessions` lists threads (latest entry + count + span; filters apply to entries before grouping; sessionless entries are singleton threads keyed by their own id), `GET /admin/audit/log?session_id=…` (works without date params) fetches one thread. `/v1/responses` `previous_response_id` chaining is not a session signal yet (the `conversation` field is). - **Tagging:** Every request can be labelled from configured HTTP headers. Rules are managed in the dashboard (Settings → "Tagging based on headers", persisted to the `tagging_settings` store) or declared as infrastructure-as-code under `tagging.headers:` in `config.yaml` / numbered env vars `TAGGING_HEADER_1=X-My-Tags` with optional `TAGGING_HEADER_1_PREFIX` (trimmed from each extracted label only), `TAGGING_HEADER_1_DONOTPASS` (default false: headers are forwarded as-is; true strips the header before provider forwarding on passthrough/realtime routes — translated routes never forward client headers), and `TAGGING_HEADER_1_DELIMITER` (default `,`; one header value can carry several labels). An env entry replaces the whole YAML entry with the same header name (unset companion vars reset fields to defaults rather than inheriting YAML values); declarative entries override admin-store rows and are read-only in the dashboard. Credential-bearing headers (`Authorization`, `Cookie`, API-key headers, …) are rejected as tagging sources. Managed API keys can also carry labels (`labels` on `POST /admin/auth-keys`, replaceable later via `PUT /admin/auth-keys/{id}/labels` where `[]` clears, or API Keys → Create API Key / Edit Labels in the dashboard); every request authenticated with the key gets them, merged and de-duplicated with header-extracted labels. Labels are recorded on usage entries (`labels`) and audit log entries (`data.labels`). The dashboard usage page shows a by-label breakdown (`GET /admin/usage/labels`) and label chips with a label filter on the request log (`label` query param on `GET /admin/usage/log`). - **Audit logging:** `LOGGING_ENABLED` (true), `LOGGING_LOG_BODIES` (true), `LOGGING_LOG_AUDIO_BODIES` (false: refines `LOGGING_LOG_BODIES` for audio endpoints — base64 audio for both `/v1/audio/speech` output and `/v1/audio/transcriptions` upload (≤8 MB each, else `too_large`) + dashboard playback, plus transcription upload metadata; no effect unless `LOGGING_LOG_BODIES` is on, in which case audio-off records a placeholder), `LOGGING_LOG_HEADERS` (true), `LOGGING_RETENTION_DAYS` (30) - **Usage tracking:** `USAGE_ENABLED` (true), `ENFORCE_RETURNING_USAGE_DATA` (true), `USAGE_RETENTION_DAYS` (90). Callers can read their own status without admin access via `GET /v1/usage`: usage summary over a date window (`start_date`/`end_date`/`days`, default last 30 days UTC) plus budget and rate-limit statuses, all scoped to the caller's effective user path (managed key binding, else the user-path header). diff --git a/cmd/gomodel/docs/docs.go b/cmd/gomodel/docs/docs.go index 8551b2129..e120c13ee 100644 --- a/cmd/gomodel/docs/docs.go +++ b/cmd/gomodel/docs/docs.go @@ -185,6 +185,12 @@ const docTemplate = `{ "name": "user_path", "in": "query" }, + { + "type": "string", + "description": "Filter by exact session id", + "name": "session_id", + "in": "query" + }, { "type": "string", "description": "Filter by error type", @@ -205,7 +211,7 @@ const docTemplate = `{ }, { "type": "string", - "description": "Search across request_id/requested_model/provider/method/path/error_type/error_message", + "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", "name": "search", "in": "query" }, @@ -249,6 +255,129 @@ const docTemplate = `{ ] } }, + "/admin/audit/sessions": { + "get": { + "description": "Groups audit log entries by session id into threads and returns\none summary per thread — its latest entry, entry count, and time\nspan — ordered by latest activity. Entries without a session id\nappear as single-entry threads. Filters apply to entries before\ngrouping.", + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Get paginated audit sessions (threads)", + "parameters": [ + { + "type": "integer", + "description": "Number of days (default 30)", + "name": "days", + "in": "query" + }, + { + "type": "string", + "description": "Start date (YYYY-MM-DD)", + "name": "start_date", + "in": "query" + }, + { + "type": "string", + "description": "End date (YYYY-MM-DD)", + "name": "end_date", + "in": "query" + }, + { + "type": "string", + "description": "Filter by requested model selector", + "name": "requested_model", + "in": "query" + }, + { + "type": "string", + "description": "Filter by provider name or provider type", + "name": "provider", + "in": "query" + }, + { + "type": "string", + "description": "Filter by HTTP method", + "name": "method", + "in": "query" + }, + { + "type": "string", + "description": "Filter by request path", + "name": "path", + "in": "query" + }, + { + "type": "string", + "description": "Filter by tracked user path subtree", + "name": "user_path", + "in": "query" + }, + { + "type": "string", + "description": "Filter by error type", + "name": "error_type", + "in": "query" + }, + { + "type": "integer", + "description": "Filter by status code", + "name": "status_code", + "in": "query" + }, + { + "type": "boolean", + "description": "Filter by stream mode (true/false)", + "name": "stream", + "in": "query" + }, + { + "type": "string", + "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", + "name": "search", + "in": "query" + }, + { + "type": "integer", + "description": "Page size in threads (default 25, max 100)", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Offset for pagination", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/admin.auditSessionsListResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/core.GatewayError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/core.GatewayError" + } + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, "/admin/audit/stats": { "get": { "description": "Returns request counts grouped into 2xx/4xx/5xx status classes\nper time bucket, an overall success-rate summary, and average\nrequest duration per provider for the dashboard charts.\nRanges up to 3 days use hourly buckets, longer ranges daily.", @@ -6713,6 +6842,9 @@ const docTemplate = `{ "resolved_model": { "type": "string" }, + "session_id": { + "type": "string" + }, "status_code": { "type": "integer" }, @@ -6754,6 +6886,46 @@ const docTemplate = `{ } } }, + "admin.auditSessionResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "first_timestamp": { + "type": "string" + }, + "last_timestamp": { + "type": "string" + }, + "latest": { + "$ref": "#/definitions/admin.auditLogEntryResponse" + }, + "session_id": { + "type": "string" + } + } + }, + "admin.auditSessionsListResponse": { + "type": "object", + "properties": { + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "sessions": { + "type": "array", + "items": { + "$ref": "#/definitions/admin.auditSessionResponse" + } + }, + "total": { + "type": "integer" + } + } + }, "admin.budgetKeyRequest": { "type": "object", "properties": { @@ -7558,6 +7730,10 @@ const docTemplate = `{ "old_source": { "type": "string" }, + "session_affinity": { + "description": "SessionAffinity keeps a detected session on the target that served it\nbefore. Omitted means enabled; false restores stateless balancing.", + "type": "boolean" + }, "source": { "type": "string" }, @@ -8170,6 +8346,9 @@ const docTemplate = `{ "resolved_model": { "type": "string" }, + "session_id": { + "type": "string" + }, "status_code": { "type": "integer" }, @@ -10950,6 +11129,9 @@ const docTemplate = `{ "scope_kind": { "type": "string" }, + "session_affinity": { + "type": "boolean" + }, "source": { "type": "string" }, @@ -10998,6 +11180,10 @@ const docTemplate = `{ "provider_name": { "type": "string" }, + "session_affinity": { + "description": "SessionAffinity keeps requests of one detected session on the target that\nserved it before, while that target stays available. Tri-state: nil means\nenabled (the default); explicit false restores stateless balancing.", + "type": "boolean" + }, "source": { "type": "string" }, diff --git a/config/config.example.yaml b/config/config.example.yaml index 405c2aa01..bdd4e75f7 100644 --- a/config/config.example.yaml +++ b/config/config.example.yaml @@ -41,6 +41,18 @@ models: # do_not_pass: true # stripped before forwarding to the provider # delimiter: ";" +# Session keeping: identify which requests belong to one client session, for +# sticky virtual-model load balancing and audit-log session grouping. Everything +# below is the default — omit the section entirely for the same behavior. Extra +# headers are merged over the built-in known-tools registry; the optional +# transform "session-uuid" extracts a session_ value. +# session: +# enabled: true +# auto_detect: true +# builtin_rules: true +# headers: +# - header: X-My-Session + # Virtual models as infrastructure-as-code: redirects, load balancers, and access # policies. These override admin-store rows with the same source and are read-only # in the dashboard. The VIRTUAL_MODELS env var (a JSON array) merges over this list diff --git a/config/config.go b/config/config.go index 6ef79c647..9225c768f 100644 --- a/config/config.go +++ b/config/config.go @@ -36,6 +36,7 @@ type Config struct { Workflows WorkflowsConfig `yaml:"workflows"` Resilience ResilienceConfig `yaml:"resilience"` Tagging TaggingConfig `yaml:"tagging"` + Session SessionConfig `yaml:"session"` MCP MCPConfig `yaml:"mcp"` // VirtualModels declares redirects, load balancers, and access policies as @@ -150,6 +151,11 @@ func buildDefaultConfig() *Config { LiveLogsHeartbeatSeconds: 15, }, Guardrails: GuardrailsConfig{}, + Session: SessionConfig{ + Enabled: true, + AutoDetect: true, + BuiltinRules: true, + }, MCP: MCPConfig{ Enabled: true, }, @@ -196,6 +202,12 @@ func Load() (*LoadResult, error) { if err := normalizeTaggingConfig(&cfg.Tagging); err != nil { return nil, err } + if err := applySessionEnv(cfg); err != nil { + return nil, err + } + if err := normalizeSessionConfig(&cfg.Session); err != nil { + return nil, err + } if err := applyMCPEnv(cfg); err != nil { return nil, err } diff --git a/config/session.go b/config/session.go new file mode 100644 index 000000000..d3cd3645b --- /dev/null +++ b/config/session.go @@ -0,0 +1,116 @@ +package config + +import ( + "fmt" + "os" + "regexp" + "sort" + "strconv" + "strings" + + "github.com/enterpilot/gomodel/internal/core" +) + +// SessionConfig controls session keeping: identifying which requests belong to +// one client session for sticky load balancing and audit-log grouping. +type SessionConfig struct { + // Enabled turns session identification on. Default: true. + Enabled bool `yaml:"enabled" env:"SESSION_KEEPING_ENABLED"` + + // AutoDetect derives a session id from the conversation prefix of chat and + // responses requests when no explicit signal is present. Default: true. + AutoDetect bool `yaml:"auto_detect" env:"SESSION_AUTO_DETECT"` + + // BuiltinRules enables the built-in registry of session headers and body + // fields known coding tools send. Default: true. + BuiltinRules bool `yaml:"builtin_rules" env:"SESSION_BUILTIN_RULES"` + + // Headers declares additional session id headers, merged over the built-in + // registry (an entry with a built-in header name overrides it). + Headers []SessionHeaderConfig `yaml:"headers,omitempty"` +} + +// SessionHeaderConfig declares one header to read session ids from. +type SessionHeaderConfig struct { + // Header is the HTTP header name to read the session id from. + Header string `yaml:"header" json:"header"` + + // Transform optionally post-processes the header value. Supported: + // "session-uuid" (extract a session UUID from Anthropic metadata-style + // values). Default: use the value as-is. + Transform string `yaml:"transform,omitempty" json:"transform,omitempty"` +} + +var sessionHeaderEnvRegex = regexp.MustCompile(`^SESSION_HEADER_([0-9]+)=`) + +// applySessionEnv reads SESSION_HEADER_ env vars (with optional +// SESSION_HEADER__TRANSFORM companions) and merges them over the +// YAML-declared list, mirroring the tagging header env pipeline. +func applySessionEnv(cfg *Config) error { + indexes := make([]int, 0) + for _, kv := range os.Environ() { + m := sessionHeaderEnvRegex.FindStringSubmatch(kv) + if m == nil { + continue + } + n, err := strconv.Atoi(m[1]) + if err != nil { + continue + } + indexes = append(indexes, n) + } + sort.Ints(indexes) + + fromEnv := make([]SessionHeaderConfig, 0, len(indexes)) + for _, n := range indexes { + key := fmt.Sprintf("SESSION_HEADER_%d", n) + header := strings.TrimSpace(os.Getenv(key)) + if header == "" { + continue + } + fromEnv = append(fromEnv, SessionHeaderConfig{ + Header: header, + Transform: strings.TrimSpace(os.Getenv(key + "_TRANSFORM")), + }) + } + + cfg.Session.Headers = mergeByKey(cfg.Session.Headers, fromEnv, func(header SessionHeaderConfig) string { + return canonicalTextKey(header.Header) + }) + return nil +} + +// sessionTransforms are the transform names normalizeSessionConfig accepts. +// Kept in sync with the transforms internal/session implements. +var sessionTransforms = map[string]struct{}{ + "": {}, + "session-uuid": {}, +} + +// normalizeSessionConfig canonicalizes header names and rejects invalid, +// credential-bearing, or duplicate entries. +func normalizeSessionConfig(cfg *SessionConfig) error { + seen := make(map[string]struct{}, len(cfg.Headers)) + for i := range cfg.Headers { + h := &cfg.Headers[i] + name, err := NormalizeHeaderName(h.Header, "") + if err != nil { + return fmt.Errorf("session.headers[%d]: %w", i, err) + } + // Credential-bearing headers must never become session ids: the id is + // persisted on audit and usage records in plaintext. + if core.IsCredentialHeader(name) { + return fmt.Errorf("session.headers[%d]: header %q may carry credentials and cannot be used for session ids", i, name) + } + h.Header = name + if _, dup := seen[name]; dup { + return fmt.Errorf("session.headers: duplicate header %q", name) + } + seen[name] = struct{}{} + h.Transform = strings.ToLower(strings.TrimSpace(h.Transform)) + if _, ok := sessionTransforms[h.Transform]; !ok { + return fmt.Errorf("session.headers[%d]: unknown transform %q (use \"session-uuid\" or omit)", i, h.Transform) + } + } + return nil +} diff --git a/config/session_test.go b/config/session_test.go new file mode 100644 index 000000000..4c6574d71 --- /dev/null +++ b/config/session_test.go @@ -0,0 +1,101 @@ +package config + +import ( + "strings" + "testing" +) + +func TestApplySessionEnv_ParsesAndMerges(t *testing.T) { + cfg := &Config{ + Session: SessionConfig{ + Headers: []SessionHeaderConfig{ + {Header: "X-My-Session"}, + {Header: "X-Other"}, + }, + }, + } + t.Setenv("SESSION_HEADER_1", "X-My-Session") + t.Setenv("SESSION_HEADER_1_TRANSFORM", "session-uuid") + t.Setenv("SESSION_HEADER_2", "X-New-Session") + + if err := applySessionEnv(cfg); err != nil { + t.Fatalf("applySessionEnv() error = %v", err) + } + + headers := cfg.Session.Headers + if len(headers) != 3 { + t.Fatalf("headers = %#v, want 3 entries", headers) + } + // Env replaces the whole YAML entry with the same name... + if headers[0].Header != "X-My-Session" || headers[0].Transform != "session-uuid" { + t.Fatalf("merged entry = %#v, want env override", headers[0]) + } + // ...keeps unrelated YAML entries, and appends new env entries. + if headers[1].Header != "X-Other" || headers[2].Header != "X-New-Session" { + t.Fatalf("headers = %#v", headers) + } +} + +func TestNormalizeSessionConfig(t *testing.T) { + tests := []struct { + name string + cfg SessionConfig + wantErr string + }{ + { + name: "valid entries canonicalized", + cfg: SessionConfig{Headers: []SessionHeaderConfig{ + {Header: "x-my-session", Transform: "SESSION-UUID"}, + }}, + }, + { + name: "credential header rejected", + cfg: SessionConfig{Headers: []SessionHeaderConfig{{Header: "Authorization"}}}, + wantErr: "may carry credentials", + }, + { + name: "duplicate header rejected", + cfg: SessionConfig{Headers: []SessionHeaderConfig{ + {Header: "X-A"}, {Header: "x-a"}, + }}, + wantErr: "duplicate header", + }, + { + name: "unknown transform rejected", + cfg: SessionConfig{Headers: []SessionHeaderConfig{{Header: "X-A", Transform: "nope"}}}, + wantErr: "unknown transform", + }, + { + name: "invalid header name rejected", + cfg: SessionConfig{Headers: []SessionHeaderConfig{{Header: "bad header"}}}, + wantErr: "invalid HTTP header name", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := normalizeSessionConfig(&tt.cfg) + if tt.wantErr == "" { + if err != nil { + t.Fatalf("normalizeSessionConfig() error = %v", err) + } + if got := tt.cfg.Headers[0].Header; got != "X-My-Session" { + t.Fatalf("canonical header = %q", got) + } + if got := tt.cfg.Headers[0].Transform; got != "session-uuid" { + t.Fatalf("canonical transform = %q", got) + } + return + } + if err == nil || !strings.Contains(err.Error(), tt.wantErr) { + t.Fatalf("error = %v, want containing %q", err, tt.wantErr) + } + }) + } +} + +func TestSessionDefaults(t *testing.T) { + cfg := buildDefaultConfig() + if !cfg.Session.Enabled || !cfg.Session.AutoDetect || !cfg.Session.BuiltinRules { + t.Fatalf("session defaults = %+v, want all enabled", cfg.Session) + } +} diff --git a/config/virtualmodels.go b/config/virtualmodels.go index 347427cb8..39d16d3b8 100644 --- a/config/virtualmodels.go +++ b/config/virtualmodels.go @@ -19,6 +19,11 @@ type VirtualModelConfig struct { // (default) or "cost". Ignored for single-target aliases and access policies. Strategy string `yaml:"strategy,omitempty" json:"strategy,omitempty"` + // SessionAffinity keeps requests of one detected client session on the + // target that served it before, while that target stays available. Defaults + // to true when omitted; set false to restore stateless balancing. + SessionAffinity *bool `yaml:"session_affinity,omitempty" json:"session_affinity,omitempty"` + // Target is shorthand for a single-target alias, e.g. "openai/gpt-4o". Use // Targets instead to load balance across several models. Target string `yaml:"target,omitempty" json:"target,omitempty"` diff --git a/docs/docs.json b/docs/docs.json index 128486ed0..92ae7a982 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -87,6 +87,7 @@ "icon": "sparkles", "pages": [ "features/virtual-models", + "features/session-keeping", "features/user-path", "features/passthrough-api", "features/budgets", diff --git a/docs/features/session-keeping.mdx b/docs/features/session-keeping.mdx new file mode 100644 index 000000000..ac006ab78 --- /dev/null +++ b/docs/features/session-keeping.mdx @@ -0,0 +1,130 @@ +--- +title: "Session Keeping" +description: "Group requests from one client session for sticky load balancing and threaded audit logs" +--- + +Coding agents and chat apps send many requests that belong to one logical +session — one conversation, one agent task. GoModel detects that session and +uses it in two places: + +- **Sticky load balancing** — a load-balanced virtual model routes every + request of a session to the target that served it first, which keeps provider + prompt caches warm and model behavior consistent mid-conversation. +- **Threaded audit logs** — the dashboard's Audit Logs page groups a session's + requests into one thread: the latest request as the row, with an expander + that unfolds the older requests beneath it. + +Session keeping works with zero configuration. Defaults fit most setups; the +options below exist for the rare cases they don't. + +## How a session is identified + +The first matching signal wins: + +1. **Session headers** — a built-in registry covers the headers known tools + send, plus gateway conventions: + + | Header | Sent by | + |---|---| + | `X-Session-Id` | OpenCode, Kilo Code, generic clients | + | `X-Claude-Code-Session-Id` | Claude Code (documented for gateways) | + | `Session-Id` / `Session_id` | Codex CLI (current / older), Roo Code | + | `X-Litellm-Session-Id` | LiteLLM convention | + | `Helicone-Session-Id` | Helicone convention | + | `Agent-Session-Id` | Goose | + +2. **Body fields** — for clients that mark sessions in the request body: + Anthropic `metadata.user_id` (Claude Code embeds its session UUID there, + both current and legacy formats are parsed), `session_id` (OpenRouter + convention), `litellm_session_id`, `prompt_cache_key` (Zed and other OpenAI + clients that reuse a cache key per conversation), and `/v1/responses` + `conversation` references. + +3. **Automatic detection** — chat and responses requests with no explicit + signal are grouped by their conversation opening: the model, system + context, tools, and the messages through the first user turn. Follow-up + requests resend that prefix unchanged, so an agent that simply replays its + history (Aider, Cline, Continue, …) still gets a stable session id + (`auto-…`) with no client changes. + +Body-based signals and automatic detection read request bodies up to 1 MiB +(chunked requests included); larger bodies fall back to header signals. + +Client-provided session ids are scoped by [user path](/features/user-path), +including UUID-shaped values, so one tenant cannot collide with another by +reusing the same id. + +## Sticky load balancing + +When a request carries a session and resolves through a +[virtual model](/features/virtual-models) with several targets, the first +request picks a target via the redirect's strategy (`round_robin` or `cost`) +and later requests stick to it. If the pinned target becomes unavailable or +saturated, the strategy picks again and the session re-pins — a session is +never glued to a dead target, and the all-saturated honest-429 behavior is +unchanged. + +Affinity is on by default and can be disabled per redirect: + +```yaml +virtual_models: + - source: "smart" + strategy: round_robin + session_affinity: false # default: true + targets: + - model: "openai/gpt-4o" + - model: "anthropic/claude-sonnet-5" +``` + +The same flag is available in the dashboard's virtual model editor ("Session +keeping") and on the admin API (`session_affinity` on +`PUT /admin/virtual-models`). + +Pins are in-memory per instance (like rate-limit counters): after a restart or +on another replica, the next request of a session simply re-pins. Idle +sessions expire after 6 hours. + +## Threaded audit logs + +Audit entries record the session id (`session_id`), and the Audit Logs page +groups them by default ("Group by session" toggle). Each thread shows its +latest request with a count badge; the expander on the left unfolds the older +requests. `GET /admin/audit/sessions` serves the thread list; +`GET /admin/audit/log?session_id=…` returns one session's entries. + +## Configuration + +Everything is on by default. + +```bash +# Master switch for session identification +SESSION_KEEPING_ENABLED=true +# Content-based detection for requests with no explicit signal +SESSION_AUTO_DETECT=true +# The built-in header/body-field registry +SESSION_BUILTIN_RULES=true +# Extra session headers (numbered from 1), merged over the built-ins. +# The optional transform "session-uuid" extracts a session_ value. +SESSION_HEADER_1=X-My-Session +SESSION_HEADER_1_TRANSFORM= +``` + +Or in `config.yaml`: + +```yaml +session: + enabled: true + auto_detect: true + builtin_rules: true + headers: + - header: X-My-Session +``` + +Credential-bearing headers (`Authorization`, API-key headers, …) are rejected +as session sources, since the session id is persisted on audit and usage +records. + +**When to change the defaults:** set `SESSION_AUTO_DETECT=false` if you only +want explicitly-tagged sessions grouped; set `session_affinity: false` on a +redirect when you prefer strict load spreading over cache affinity (for +example pure round-robin capacity balancing across identical deployments). diff --git a/docs/features/virtual-models.mdx b/docs/features/virtual-models.mdx index 1572e63b4..b7210b6f6 100644 --- a/docs/features/virtual-models.mdx +++ b/docs/features/virtual-models.mdx @@ -72,6 +72,13 @@ Targets that the gateway cannot currently serve (unknown model, provider down) are skipped automatically, so a redirect keeps working as long as one target is available. A redirect with a single target behaves exactly like a plain alias. +Requests belonging to one detected client session stick to the target that +served the session first (**Session keeping**, on by default), so +conversations keep their provider prompt cache warm across turns. Untick the +editor's **Session keeping** checkbox (or set `session_affinity: false`) to +restore stateless balancing — see +[Session Keeping](/features/session-keeping). + ```json { "model": "smart", @@ -135,7 +142,9 @@ VIRTUAL_MODELS=[{"source":"smart","strategy":"cost","targets":[{"model":"openai/ ``` Each entry accepts `source`, a single `target` (shorthand) or a `targets` list, -`strategy` (`round_robin` or `cost`), `user_paths`, `description`, and `enabled`. +`strategy` (`round_robin` or `cost`), `session_affinity` (default `true`; see +[Session Keeping](/features/session-keeping)), `user_paths`, `description`, and +`enabled`. Leave the targets empty to declare an access policy on the `source` selector. An invalid declaration (unknown strategy, missing or self-referential target, or a target `provider` that matches no configured provider — a typo) fails startup diff --git a/docs/openapi.json b/docs/openapi.json index d7fc19eac..846cd4a37 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -231,6 +231,14 @@ "type": "string" } }, + { + "description": "Filter by exact session id", + "name": "session_id", + "in": "query", + "schema": { + "type": "string" + } + }, { "description": "Filter by error type", "name": "error_type", @@ -256,7 +264,7 @@ } }, { - "description": "Search across request_id/requested_model/provider/method/path/error_type/error_message", + "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", "name": "search", "in": "query", "schema": { @@ -324,6 +332,171 @@ } } }, + "/admin/audit/sessions": { + "get": { + "description": "Groups audit log entries by session id into threads and returns\none summary per thread — its latest entry, entry count, and time\nspan — ordered by latest activity. Entries without a session id\nappear as single-entry threads. Filters apply to entries before\ngrouping.", + "tags": [ + "admin" + ], + "summary": "Get paginated audit sessions (threads)", + "parameters": [ + { + "description": "Number of days (default 30)", + "name": "days", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "description": "Start date (YYYY-MM-DD)", + "name": "start_date", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "End date (YYYY-MM-DD)", + "name": "end_date", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by requested model selector", + "name": "requested_model", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by provider name or provider type", + "name": "provider", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by HTTP method", + "name": "method", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by request path", + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by tracked user path subtree", + "name": "user_path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by error type", + "name": "error_type", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Filter by status code", + "name": "status_code", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "description": "Filter by stream mode (true/false)", + "name": "stream", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", + "name": "search", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "description": "Page size in threads (default 25, max 100)", + "name": "limit", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "description": "Offset for pagination", + "name": "offset", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/admin.auditSessionsListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/core.GatewayError" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/core.GatewayError" + } + } + } + } + }, + "security": [ + { + "BearerAuth": [] + } + ], + "x-mint": { + "metadata": { + "sidebarTitle": "/admin/audit/sessions" + } + } + } + }, "/admin/audit/stats": { "get": { "description": "Returns request counts grouped into 2xx/4xx/5xx status classes\nper time bucket, an overall success-rate summary, and average\nrequest duration per provider for the dashboard charts.\nRanges up to 3 days use hourly buckets, longer ranges daily.", @@ -9806,6 +9979,9 @@ "resolved_model": { "type": "string" }, + "session_id": { + "type": "string" + }, "status_code": { "type": "integer" }, @@ -9847,6 +10023,46 @@ } } }, + "admin.auditSessionResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "first_timestamp": { + "type": "string" + }, + "last_timestamp": { + "type": "string" + }, + "latest": { + "$ref": "#/components/schemas/admin.auditLogEntryResponse" + }, + "session_id": { + "type": "string" + } + } + }, + "admin.auditSessionsListResponse": { + "type": "object", + "properties": { + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "sessions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/admin.auditSessionResponse" + } + }, + "total": { + "type": "integer" + } + } + }, "admin.budgetKeyRequest": { "type": "object", "properties": { @@ -10680,6 +10896,10 @@ "old_source": { "type": "string" }, + "session_affinity": { + "description": "SessionAffinity keeps a detected session on the target that served it\nbefore. Omitted means enabled; false restores stateless balancing.", + "type": "boolean" + }, "source": { "type": "string" }, @@ -11292,6 +11512,9 @@ "resolved_model": { "type": "string" }, + "session_id": { + "type": "string" + }, "status_code": { "type": "integer" }, @@ -14113,6 +14336,9 @@ "scope_kind": { "type": "string" }, + "session_affinity": { + "type": "boolean" + }, "source": { "type": "string" }, @@ -14161,6 +14387,10 @@ "provider_name": { "type": "string" }, + "session_affinity": { + "description": "SessionAffinity keeps requests of one detected session on the target that\nserved it before, while that target stays available. Tri-state: nil means\nenabled (the default); explicit false restores stateless balancing.", + "type": "boolean" + }, "source": { "type": "string" }, diff --git a/internal/admin/dashboard/static/dist/assets/index-QlB5Ev_G.css b/internal/admin/dashboard/static/dist/assets/index-BDVc7dxb.css similarity index 63% rename from internal/admin/dashboard/static/dist/assets/index-QlB5Ev_G.css rename to internal/admin/dashboard/static/dist/assets/index-BDVc7dxb.css index 8e975ad1c..aba0d4034 100644 --- a/internal/admin/dashboard/static/dist/assets/index-QlB5Ev_G.css +++ b/internal/admin/dashboard/static/dist/assets/index-BDVc7dxb.css @@ -1 +1 @@ -:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{min-height:100vh;display:flex}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{flex:1 1 0;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:32px;transition:width .2s}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{z-index:8;grid-column:2;justify-self:end;position:sticky;top:16px}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 70%, transparent);animation:1.8s ease-out infinite live-dot-pulse}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming{animation:none}}@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.conversation-drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;width:min(560px,100vw);transition:transform .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px #0003}.conversation-drawer.open{transform:translate(0)}body.conversation-drawer-open{overflow:hidden}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-scope-value{width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg))}.budget-label{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.budget-scope-icon{stroke-width:2.2px;opacity:.85;flex:0 0 12px;width:12px;height:12px}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px;top:10px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.conversation-drawer{width:100%}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{z-index:7;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;min-height:0;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto 16px;padding:10px 14px;position:sticky;top:16px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:w-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.collapsed.svelte-1nwtzae{cursor:e-resize}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar.sidebar-collapsed.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh,.provider-status-health-state.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh,.provider-status-health-state.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh,.provider-status-health-state.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-details.svelte-nopjmh{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-nopjmh{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-nopjmh{pointer-events:none}.provider-status-details-inner.svelte-nopjmh{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-nopjmh{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-nopjmh{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh,.provider-status-config-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}.provider-status-config.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-nopjmh{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-nopjmh{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-models.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-nopjmh{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-nopjmh{color:var(--danger)}.provider-status-health-model-name.svelte-nopjmh{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-nopjmh{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-nopjmh .provider-status-health-model-stats:where(.svelte-nopjmh){color:var(--danger);font-weight:700}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:100%;max-width:none}}.pro-saved-value.svelte-1qiwzdu{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pro-saved-delta.svelte-1qiwzdu{color:var(--success);letter-spacing:0;font-size:13px;font-weight:600}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.usage-log-loading.svelte-hg4ill{justify-content:center;align-items:center;min-height:120px;display:flex}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.loading-state.svelte-hzxv1d{min-height:64px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 20px;display:flex;position:relative}.workflow-pipeline-has-meta.svelte-nbptrg{padding-top:42px}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow-x:auto}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg{justify-content:flex-end;align-items:center;gap:0;width:100%;min-width:0;margin-top:10px;display:flex}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-async-row.svelte-nbptrg{align-items:center;min-width:0;margin-right:7px;display:flex}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.workflow-editor.svelte-1bcpzh1{width:min(1080px,100%)}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-editor.svelte-1bcpzh1{margin-bottom:0}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflow-list-loading.svelte-ie2kfk{justify-content:center;align-items:center;gap:8px;display:flex}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:1/-1;max-width:none}.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:28px;height:28px;color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-right:-9px;transition:transform .1s ease-out,background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));transform:translate(1px)}.audit-conversation-trigger.svelte-17mysgz svg{width:14px;height:14px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-method-badge.svelte-17mysgz{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);min-width:52px;height:24px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}.audit-attempt-track.svelte-17mysgz{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-17mysgz{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-17mysgz{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-17mysgz{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-17mysgz{background:var(--danger)}.audit-attempt-track-count.svelte-17mysgz{color:var(--text-muted);font-size:11px}@media (width<=768px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}.audit-pane-split.svelte-1h5puht .audit-pane-block-headers:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-block-body:where(.svelte-1h5puht){margin-top:0}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht+.audit-pane-block:where(.svelte-1h5puht){margin-top:10px}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;display:flex}.audit-pane-tab.svelte-1bc5vi5{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-step-pill.svelte-1bc5vi5{border:1px dashed var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.conversation-overlay.svelte-ssrzja{z-index:50;background:#0000004d;position:fixed;inset:0}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}.conversation-meta.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:10px 16px}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}.chat-message.svelte-ssrzja{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 12px}.chat-message.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.role-user.svelte-ssrzja{align-self:flex-start}.chat-message.role-assistant.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-ssrzja{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-ssrzja{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-ssrzja .chat-role:where(.svelte-ssrzja){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-ssrzja{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-ssrzja{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-ssrzja{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-ssrzja{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-tool-calls.svelte-ssrzja{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.chat-tool-call-name.svelte-ssrzja:before{content:"⚡"}.chat-function-note.svelte-ssrzja{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 12px;font-size:12px}.chat-function-note.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-ssrzja{align-items:baseline;gap:6px;display:flex;overflow:hidden}.chat-function-label.svelte-ssrzja{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-detail.svelte-ssrzja{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-ssrzja{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-ssrzja,.chat-function-note.is-anchor.role-function-result.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-ssrzja{width:100%}.chat-function-note-details.svelte-ssrzja>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-ssrzja>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-ssrzja{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-ssrzja{max-width:100%}}.audit-log-loading.svelte-1nhcbov{justify-content:center;padding:2rem 0;display:flex}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);margin-bottom:12px;font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.guardrails-editor-wide.svelte-s964s3{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.settings-guardrails-editor.svelte-s964s3{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-loading.svelte-1xpdcqx{justify-content:center;align-items:center;padding:32px 0;display:flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px} +:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{min-height:100vh;display:flex}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{flex:1 1 0;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:32px;transition:width .2s}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{z-index:8;grid-column:2;justify-self:end;position:sticky;top:16px}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 70%, transparent);animation:1.8s ease-out infinite live-dot-pulse}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming{animation:none}}@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.conversation-drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;width:min(560px,100vw);transition:transform .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px #0003}.conversation-drawer.open{transform:translate(0)}body.conversation-drawer-open{overflow:hidden}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-scope-value{width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg))}.budget-label{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.budget-scope-icon{stroke-width:2.2px;opacity:.85;flex:0 0 12px;width:12px;height:12px}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px;top:10px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.conversation-drawer{width:100%}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{z-index:7;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;min-height:0;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto 16px;padding:10px 14px;position:sticky;top:16px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:w-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.collapsed.svelte-1nwtzae{cursor:e-resize}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar.sidebar-collapsed.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh,.provider-status-health-state.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh,.provider-status-health-state.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh,.provider-status-health-state.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-details.svelte-nopjmh{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-nopjmh{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-nopjmh{pointer-events:none}.provider-status-details-inner.svelte-nopjmh{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-nopjmh{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-nopjmh{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh,.provider-status-config-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}.provider-status-config.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-nopjmh{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-nopjmh{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-models.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-nopjmh{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-nopjmh{color:var(--danger)}.provider-status-health-model-name.svelte-nopjmh{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-nopjmh{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-nopjmh .provider-status-health-model-stats:where(.svelte-nopjmh){color:var(--danger);font-weight:700}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:100%;max-width:none}}.pro-saved-value.svelte-1qiwzdu{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pro-saved-delta.svelte-1qiwzdu{color:var(--success);letter-spacing:0;font-size:13px;font-weight:600}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.usage-log-loading.svelte-hg4ill{justify-content:center;align-items:center;min-height:120px;display:flex}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.loading-state.svelte-hzxv1d{min-height:64px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.vm-session-affinity-checkbox.svelte-d1j6xw{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.vm-session-affinity-checkbox.svelte-d1j6xw input:where(.svelte-d1j6xw){accent-color:var(--accent);cursor:pointer}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 20px;display:flex;position:relative}.workflow-pipeline-has-meta.svelte-nbptrg{padding-top:42px}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow-x:auto}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg{justify-content:flex-end;align-items:center;gap:0;width:100%;min-width:0;margin-top:10px;display:flex}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-async-row.svelte-nbptrg{align-items:center;min-width:0;margin-right:7px;display:flex}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.workflow-editor.svelte-1bcpzh1{width:min(1080px,100%)}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-editor.svelte-1bcpzh1{margin-bottom:0}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflow-list-loading.svelte-ie2kfk{justify-content:center;align-items:center;gap:8px;display:flex}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:1/-1;max-width:none}.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-group-checkbox.svelte-1pwbpcm{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;grid-column:7/11;justify-self:end;align-items:center;gap:7px;font-size:13px;display:inline-flex}.audit-group-checkbox.svelte-1pwbpcm input:where(.svelte-1pwbpcm){accent-color:var(--accent);cursor:pointer}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-group-checkbox.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}.audit-group-checkbox.svelte-1pwbpcm{justify-self:start}}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-thread-expander.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:3px;padding:0 7px 0 4px;transition:background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-thread-expander.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--accent)}.audit-thread-expander.svelte-17mysgz .audit-thread-expander-svg{width:14px;height:14px}.audit-thread-count.svelte-17mysgz{font-size:11px;font-weight:600}.audit-conversation-trigger.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:28px;height:28px;color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-right:-9px;transition:transform .1s ease-out,background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));transform:translate(1px)}.audit-conversation-trigger.svelte-17mysgz svg{width:14px;height:14px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-method-badge.svelte-17mysgz{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);min-width:52px;height:24px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}.audit-attempt-track.svelte-17mysgz{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-17mysgz{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-17mysgz{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-17mysgz{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-17mysgz{background:var(--danger)}.audit-attempt-track-count.svelte-17mysgz{color:var(--text-muted);font-size:11px}@media (width<=768px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}.audit-pane-split.svelte-1h5puht .audit-pane-block-headers:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-block-body:where(.svelte-1h5puht){margin-top:0}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht+.audit-pane-block:where(.svelte-1h5puht){margin-top:10px}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;display:flex}.audit-pane-tab.svelte-1bc5vi5{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-step-pill.svelte-1bc5vi5{border:1px dashed var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.audit-thread.svelte-pneivi{flex-direction:column;gap:10px;display:flex}.audit-thread-children.svelte-pneivi{flex-direction:column;gap:10px;margin-left:26px;display:flex}.audit-thread-child.svelte-pneivi,.audit-thread-loading.svelte-pneivi{position:relative}.audit-thread-child.svelte-pneivi:before,.audit-thread-loading.svelte-pneivi:before{content:"";border-left:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;border-bottom-left-radius:6px;width:12px;height:calc(50% + 10px);position:absolute;top:-10px;left:-14px}.audit-thread-child.svelte-pneivi:not(:last-child):after{content:"";border-left:1px solid var(--border);pointer-events:none;position:absolute;top:50%;bottom:-10px;left:-14px}.audit-thread-loading.svelte-pneivi{padding:6px 0 6px 4px;display:flex}.audit-thread-more.svelte-pneivi{color:var(--text-muted);padding-left:4px;font-size:12px}.conversation-overlay.svelte-ssrzja{z-index:50;background:#0000004d;position:fixed;inset:0}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}.conversation-meta.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:10px 16px}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}.chat-message.svelte-ssrzja{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 12px}.chat-message.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.role-user.svelte-ssrzja{align-self:flex-start}.chat-message.role-assistant.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-ssrzja{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-ssrzja{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-ssrzja .chat-role:where(.svelte-ssrzja){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-ssrzja{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-ssrzja{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-ssrzja{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-ssrzja{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-tool-calls.svelte-ssrzja{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.chat-tool-call-name.svelte-ssrzja:before{content:"⚡"}.chat-function-note.svelte-ssrzja{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 12px;font-size:12px}.chat-function-note.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-ssrzja{align-items:baseline;gap:6px;display:flex;overflow:hidden}.chat-function-label.svelte-ssrzja{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-detail.svelte-ssrzja{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-ssrzja{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-ssrzja,.chat-function-note.is-anchor.role-function-result.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-ssrzja{width:100%}.chat-function-note-details.svelte-ssrzja>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-ssrzja>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-ssrzja{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-ssrzja{max-width:100%}}.audit-log-loading.svelte-1nhcbov{justify-content:center;padding:2rem 0;display:flex}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);margin-bottom:12px;font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.guardrails-editor-wide.svelte-s964s3{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.settings-guardrails-editor.svelte-s964s3{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-loading.svelte-1xpdcqx{justify-content:center;align-items:center;padding:32px 0;display:flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px} diff --git a/internal/admin/dashboard/static/dist/assets/index-Dy9UJDJP.js b/internal/admin/dashboard/static/dist/assets/index-Dy9UJDJP.js deleted file mode 100644 index 97e4f0a9c..000000000 --- a/internal/admin/dashboard/static/dist/assets/index-Dy9UJDJP.js +++ /dev/null @@ -1,65 +0,0 @@ -var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t{e=n,t=r}),resolve:e,reject:t}}function _(e,t,n=!1){return e===void 0?n?t():t:e}function v(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var y=1<<24,b=1024,x=2048,S=4096,C=8192,w=16384,T=32768,ee=1<<25,te=65536,ne=1<<19,re=1<<20,ie=1<<25,ae=65536,oe=1<<21,se=1<<22,ce=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ye(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function be(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function xe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Se(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ce(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function we(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Te(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ee(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function De(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Oe(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ke(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ae={},je=Symbol(`uninitialized`),Me=`http://www.w3.org/1999/xhtml`,Ne=`http://www.w3.org/2000/svg`,Pe=`http://www.w3.org/1998/Math/MathML`;function Fe(){console.warn(`https://svelte.dev/e/derived_inert`)}function Ie(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Le(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Re(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var ze=!1;function Be(e){ze=e}var Ve;function He(e){if(e===null)throw Ie(),Ae;return Ve=e}function Ue(){return He(Sn(Ve))}function E(e){if(ze){if(Sn(Ve)!==null)throw Ie(),Ae;Ve=e}}function We(e=1){if(ze){for(var t=e,n=Ve;t--;)n=Sn(n);Ve=n}}function Ge(e=!0){for(var t=0,n=Ve;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Sn(n);e&&n.remove(),n=i}}function Ke(e){if(!e||e.nodeType!==8)throw Ie(),Ae;return e.data}function qe(e){return e===this.v}function Je(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Ye(e){return!Je(e,this.v)}var Xe=null;function Ze(e){Xe=e}function D(e,t=!1,n){Xe={p:Xe,i:!1,c:null,e:null,s:e,x:null,r:sr,l:null}}function O(e){var t=Xe,n=t.e;if(n!==null){t.e=null;for(var r of n)Pn(r)}return e!==void 0&&(t.x=e),t.i=!0,Xe=t.p,e??{}}function Qe(){return!0}var $e=[];function et(){var e=$e;$e=[],h(e)}function tt(e){if($e.length===0&&!Bt){var t=$e;queueMicrotask(()=>{t===$e&&et()})}$e.push(e)}function nt(){for(;$e.length>0;)et()}function rt(e){var t=sr;if(t===null)return ir.f|=ce,e;if(!(t.f&32768)&&!(t.f&4))throw e;it(e,t)}function it(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var at=~(x|S|b);function ot(e,t){e.f=e.f&at|t}function st(e){e.f&512||e.deps===null?ot(e,b):ot(e,S)}function ct(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ae,ct(t.deps))}function lt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),ct(e.deps),ot(e,b)}var ut=!1;function dt(e){var t=ut;try{return ut=!1,[e(),ut]}finally{ut=t}}function ft(e,t){if(t){let t=document.body;e.autofocus=!0,tt(()=>{document.activeElement===t&&e.focus()})}}function pt(e){ze&&xn(e)!==null&&wn(e)}var mt=!1;function ht(){mt||(mt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function gt(e){var t=ir,n=sr;or(null),cr(null);try{return e()}finally{or(t),cr(n)}}function _t(e,t,n,r=n){e.addEventListener(t,()=>gt(n));let i=e[ge];i?e[ge]=()=>{i(),r(!0)}:e[ge]=()=>r(!0),ht()}function vt(e){let t=0,n=on(0),r;return()=>{jn()&&(F(n),zn(()=>(t===0&&(r=kr(()=>e(()=>un(n)))),t+=1,()=>{tt(()=>{--t,t===0&&(r?.(),r=void 0,un(n))})})))}}var yt=te|ne;function bt(e,t,n,r){new xt(e,t,n,r)}var xt=class{parent;is_pending=!1;transform_error;#e;#t=ze?Ve:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=vt(()=>(this.#m=on(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=sr;t.b=this,t.f|=128,n(e)},this.parent=sr.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Bn(()=>{if(ze){let e=this.#t;Ue();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},yt),ze&&(this.#e=Ve)}#g(){try{this.#a=Hn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Hn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Hn(()=>e(this.#e)),tt(()=>{var e=this.#c=document.createDocumentFragment(),t=bn();e.append(t),this.#a=this.#x(()=>Hn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Yn(this.#o,()=>{this.#o=null}),this.#b(It))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Hn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();$n(this.#a,e);let t=this.#n.pending;this.#o=Hn(()=>t(this.#e))}else this.#b(It)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){lt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=sr,n=ir,r=Xe;cr(this.#i),or(this.#i),Ze(this.#i.ctx);try{return Kt.ensure(),e()}catch(e){return rt(e),null}finally{cr(t),or(n),Ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Yn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,tt(()=>{this.#d=!1,this.#m&&cn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),F(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;It?.is_fork?(this.#a&&It.skip_effect(this.#a),this.#o&&It.skip_effect(this.#o),this.#s&&It.skip_effect(this.#s),It.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Kn(this.#a),null),this.#o&&=(Kn(this.#o),null),this.#s&&=(Kn(this.#s),null),ze&&(He(this.#t),We(),He(Ge()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Re();return}r=!0,i&&ke(),this.#s!==null&&Yn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){it(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Hn(()=>{var t=sr;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return it(e,this.#i.parent),null}}))};tt(()=>{var t;try{t=this.transform_error(e)}catch(e){it(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>it(e,this.#i&&this.#i.parent)):o(t)})}};function St(e,t,n,r){let i=Qe()?Et:kt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=sr,c=Ct(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){it(e,s)}wt()}}var d=Tt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Ot(e))).then(u).catch(e=>it(e,s)).finally(d)}l?l.then(()=>{c(),f(),wt()}):f()}function Ct(){var e=sr,t=ir,n=Xe,r=It;return function(i=!0){cr(e),or(t),Ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function wt(e=!0){cr(null),or(null),Ze(null),e&&It?.deactivate()}function Tt(){var e=sr,t=e.b,n=It,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function Et(e){var t=2|x;return sr!==null&&(sr.f|=ne),{ctx:Xe,deps:null,effects:null,equals:qe,f:t,fn:e,reactions:null,rv:0,v:je,wv:0,parent:sr,ac:null}}var Dt=Symbol(`obsolete`);function Ot(e,t,n){let r=sr;r===null&&ye();var i=void 0,a=on(je),o=!ir,s=new Set;return Rn(()=>{var t=sr,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(wt)}catch(e){n.reject(e),wt()}var c=It;if(o){if(t.f&32768)var l=Tt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Dt);else for(let e of s.values())e.reject(Dt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Dt&&(c.activate(),t?(a.f|=ce,cn(a,t)):(a.f&8388608&&(a.f^=ce),cn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Mn(()=>{for(let e of s)e.reject(Dt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function k(e){let t=Et(e);return ur(t),t}function kt(e){let t=Et(e);return t.equals=Ye,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n{t.ac.abort(_e),t.ac=null}),t.fn!==null&&(t.teardown=m),wr(t,0),Wn(t))}function Pt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Tr(t)}var Ft=null,It=null,Lt=null,Rt=null,zt=null,Bt=!1,Vt=!1,Ht=null,Ut=null,Wt=0,Gt=1,Kt=class e{id=Gt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Ft===null?Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)ot(r,x),t(r);for(r of n.m)ot(r,S),t(r)}this.#p.add(e)}#g(){this.#e=!0,Wt++>1e3&&(this.#x(),Jt());for(let e of this.#u)this.#d.delete(e),ot(e,x),this.schedule(e);for(let e of this.#d)ot(e,S),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Ht=[],r=[],i=Ut=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw tn(e),this.#h()||this.discard(),t}if(It=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Ht=null,Ut=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)en(e,t);i.length>0&&It.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Lt=this,Xt(r),Xt(n),Lt=null,this.#s?.resolve();var s=It;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=b;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=b:i&4?t.push(r):br(r)&&(i&16&&this.#d.add(r),Tr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),ot(i,x),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),It=this,this.#g()}#b(e){for(var t=0;t{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=g()).promise}static ensure(){if(It===null){let t=It=new e;!Vt&&!Bt&&tt(()=>{t.#e||t.flush()})}return It}apply(){Rt=null}schedule(e){if(zt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ht!==null&&t===sr&&(ir===null||!(ir.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=b}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?Ft=e:t.#t=e,this.linked=!1}}};function qt(e){var t=Bt;Bt=!0;try{var n;for(e&&(It!==null&&!It.is_fork&&It.flush(),n=e());;){if(nt(),It===null)return n;It.flush()}}finally{Bt=t}}function Jt(){try{we()}catch(e){it(e,zt)}}var Yt=null;function Xt(e){var t=e.length;if(t!==0){for(var n=0;n0)){rn.clear();for(let e of Yt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Yt.has(n)&&(Yt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Tr(n)}}Yt.clear()}}Yt=null}}function Zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Zt(i,t,n,r):e&4194320&&!(e&2048)&&Qt(i,t,r)&&(ot(i,x),$t(i))}}function Qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function $t(e){It.schedule(e)}function en(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),ot(e,b);for(var n=e.first;n!==null;)en(n,t),n=n.next}}function tn(e){ot(e,b);for(var t=e.first;t!==null;)tn(t),t=t.next}var nn=new Set,rn=new Map,an=!1;function on(e,t){return{f:0,v:e,reactions:null,equals:qe,rv:0,wv:0}}function A(e,t){let n=on(e,t);return ur(n),n}function sn(e,t=!1,n=!0){let r=on(e);return t||(r.equals=Ye),r}function j(e,t,n=!1){return ir!==null&&(!ar||ir.f&131072)&&Qe()&&ir.f&4325394&&(lr===null||!lr.has(e))&&Oe(),cn(e,n?fn(t):t,Ut)}function cn(e,t,n=null){if(!e.equals(t)){rn.set(e,nr?t:e.v);var r=Kt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&jt(t),Rt===null&&st(t)}e.wv=yr(),dn(e,x,n),Qe()&&sr!==null&&sr.f&1024&&!(sr.f&96)&&(pr===null?mr([e]):pr.push(e)),!r.is_fork&&nn.size>0&&!an&&ln()}return t}function ln(){an=!1;for(let e of nn){e.f&1024&&ot(e,S);let t;try{t=br(e)}catch{t=!0}t&&Tr(e)}nn.clear()}function un(e){j(e,e.v+1)}function dn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Qe(),a=r.length,o=0;o{if(_r===c)return e();var t=ir,n=_r;or(null),vr(c);var r=e();return or(t),vr(n),r};return i&&r.set(`length`,A(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ee();var i=r.get(t);return i===void 0?f(()=>{var e=A(n.value,o);return r.set(t,e),e}):j(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>A(je,o));r.set(t,e),un(a)}}else j(n,je),un(a);return!0},get(t,n,i){if(n===le)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>A(fn(c?t[n]:je),o)),r.set(n,a)),a!==void 0){var l=F(a);return l===je?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=F(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==je)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===le)return!0;var n=r.get(t),i=n!==void 0&&n.v!==je||Reflect.has(e,t);return(n!==void 0||sr!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>A(i?fn(e[t]):je,o)),r.set(t,n)),F(n)===je)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;dA(je,o)),r.set(d+``,p)):j(p,je)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>A(void 0,o)),j(l,fn(n)),r.set(t,l));else{u=l.v!==je;var m=f(()=>fn(n));j(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&j(g,_+1)}un(a)}return!0},ownKeys(e){F(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==je});for(var[n,i]of r)i.v!==je&&!(n in e)&&t.push(n);return t},setPrototypeOf(){De()}})}function pn(e){try{if(typeof e==`object`&&e&&le in e)return e[le]}catch{}return e}function mn(e,t){return Object.is(pn(e),pn(t))}var hn,gn,_n,vn;function yn(){if(hn===void 0){hn=window,gn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;_n=s(t,`firstChild`).get,vn=s(t,`nextSibling`).get,f(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),f(n)&&(n[he]=void 0)}}function bn(e=``){return document.createTextNode(e)}function xn(e){return _n.call(e)}function Sn(e){return vn.call(e)}function M(e,t){if(!ze)return xn(e);var n=xn(Ve);if(n===null)n=Ve.appendChild(bn());else if(t&&n.nodeType!==3){var r=bn();return n?.before(r),He(r),r}return t&&Dn(n),He(n),n}function Cn(e,t=!1){if(!ze){var n=xn(e);return n instanceof Comment&&n.data===``?Sn(n):n}if(t){if(Ve?.nodeType!==3){var r=bn();return Ve?.before(r),He(r),r}Dn(Ve)}return Ve}function N(e,t=1,n=!1){let r=ze?Ve:e;for(var i;t--;)i=r,r=Sn(r);if(!ze)return r;if(n){if(r?.nodeType!==3){var a=bn();return r===null?i?.after(a):r.before(a),He(a),a}Dn(r)}return He(r),r}function wn(e){e.textContent=``}function Tn(){return!1}function En(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Dn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function On(e){sr===null&&(ir===null&&Ce(e),Se()),nr&&xe(e)}function kn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function An(e,t){var n=sr;n!==null&&n.f&8192&&(e|=C);var r={ctx:Xe,deps:null,nodes:null,f:e|x|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};It?.register_created_effect(r);var i=r;if(e&4)Ht===null?Kt.ensure().schedule(r):Ht.push(r);else if(t!==null){try{Tr(r)}catch(e){throw Kn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=te))}if(i!==null&&(i.parent=n,n!==null&&kn(i,n),ir!==null&&ir.f&2&&!(e&64))){var a=ir;(a.effects??=[]).push(i)}return r}function jn(){return ir!==null&&!ar}function Mn(e){let t=An(8,null);return ot(t,b),t.teardown=e,t}function Nn(e){On(`$effect`);var t=sr.f;if(!ir&&t&32&&Xe!==null&&!Xe.i){var n=Xe;(n.e??=[]).push(e)}else return Pn(e)}function Pn(e){return An(4|re,e)}function Fn(e){Kt.ensure();let t=An(64|ne,e);return()=>{Kn(t)}}function In(e){Kt.ensure();let t=An(64|ne,e);return(e={})=>new Promise(n=>{e.outro?Yn(t,()=>{Kn(t),n(void 0)}):(Kn(t),n(void 0))})}function Ln(e){return An(4,e)}function Rn(e){return An(se|ne,e)}function zn(e,t=0){return An(8|t,e)}function P(e,t=[],n=[],r=[]){St(r,t,n,t=>{An(8,()=>{e(...t.map(F))})})}function Bn(e,t=0){return An(16|t,e)}function Vn(e,t=0){return An(y|t,e)}function Hn(e){return An(32|ne,e)}function Un(e){var t=e.teardown;if(t!==null){let e=nr,n=ir;rr(!0),or(null);try{t.call(null)}finally{rr(e),or(n)}}}function Wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&>(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:Kn(n,t),n=r}}function Gn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Kn(t),t=n}}function Kn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(qn(e.nodes.start,e.nodes.end),n=!0),e.f|=ee,Wn(e,t&&!n),wr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Un(e),e.f^=ee,e.f|=w;var i=e.parent;i!==null&&i.first!==null&&Jn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qn(e,t){for(;e!==null;){var n=e===t?null:Sn(e);e.remove(),e=n}}function Jn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Yn(e,t,n=!0){var r=[];Xn(e,r,!0);var i=()=>{n&&Kn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Xn(e,t,n){if(!(e.f&8192)){e.f^=C;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Xn(i,t,o?n:!1)}i=a}}}function Zn(e){Qn(e,!0)}function Qn(e,t){if(e.f&8192){e.f^=C,e.f&1024||(ot(e,x),Kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Qn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function $n(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Sn(n);t.append(n),n=i}}var er=null,tr=!1,nr=!1;function rr(e){nr=e}var ir=null,ar=!1;function or(e){ir=e}var sr=null;function cr(e){sr=e}var lr=null;function ur(e){ir!==null&&(lr??=new Set).add(e)}var dr=null,fr=0,pr=null;function mr(e){pr=e}var hr=1,gr=0,_r=gr;function vr(e){_r=e}function yr(){return++hr}function br(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ae),t&4096){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}t&512&&Rt===null&&ot(e,b)}return!1}function xr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(lr!==null&&lr.has(e)))for(var i=0;i{e.ac.abort(_e)}),e.ac=null);try{e.f|=oe;var u=e.fn,d=u();e.f|=T;var f=e.deps,p=It?.is_fork;if(dr!==null){var m;if(p||wr(e,fr),f!==null&&fr>0)for(f.length=fr+dr.length,m=0;m{s.ac.abort(_e),s.ac=null,ot(s,x)}),Nt(s),wr(s,0)}}function wr(e,t){var n=e.deps;if(n!==null)for(var r=t;rn?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?tt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Hr(e,t,n,r,i){var a={capture:r,passive:i},o=Vr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Mn(()=>{t.removeEventListener(e,o,a)})}function I(e,t,n){(t[Rr]??={})[e]=n}function Ur(e){for(var t=0;t{throw e});throw p}}finally{e[Rr]=t,delete e.currentTarget,or(d),cr(f)}}}var Kr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function qr(e){return Kr?.createHTML(e)??e}function Jr(e){var t=En(`template`);return t.innerHTML=qr(e.replaceAll(``,``)),t.content}function Yr(e,t){var n=sr;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function L(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(``);return()=>{if(ze)return Yr(Ve,null),Ve;i===void 0&&(i=Jr(a?e:``+e),n||(i=xn(i)));var t=r||gn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=xn(t),s=t.lastChild;Yr(o,s)}else Yr(t,t);return t}}function Xr(e,t,n=`svg`){var r=!e.startsWith(``),i=(t&1)!=0,a=`<${n}>${r?e:``+e}`,o;return()=>{if(ze)return Yr(Ve,null),Ve;if(!o){var e=xn(Jr(a));if(i)for(o=document.createDocumentFragment();xn(e);)o.appendChild(xn(e));else o=xn(e)}var t=o.cloneNode(!0);if(i){var n=xn(t),r=t.lastChild;Yr(n,r)}else Yr(t,t);return t}}function Zr(e,t){return Xr(e,t,`svg`)}function Qr(e=``){if(!ze){var t=bn(e+``);return Yr(t,t),t}var n=Ve;return n.nodeType===3?Dn(n):(n.before(n=bn()),He(n)),Yr(n,n),n}function $r(){if(ze)return Yr(Ve,null),Ve;var e=document.createDocumentFragment(),t=document.createComment(``),n=bn();return e.append(t,n),Yr(t,n),e}function R(e,t){if(ze){var n=sr;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=Ve),Ue();return}e!==null&&e.before(t)}var ei=!0;function z(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function ti(e,t){return ri(e,t)}var ni=new Map;function ri(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){yn();var l=void 0,u=In(()=>{var u=n??t.appendChild(bn());bt(u,{pending:()=>{}},t=>{D({});var n=Xe;if(o&&(n.c=o),i&&(r.$$events=i),ze&&Yr(t,null),ei=s,l=e(t,r)||{},ei=!0,ze&&(sr.nodes.end=Ve,Ve===null||Ve.nodeType!==8||Ve.data!==`]`))throw Ie(),Ae;O()},c);var d=new Set,f=e=>{for(var n=0;n{for(var e of d)for(let n of[t,document]){var r=ni.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Gr),r.delete(e),r.size===0&&ni.delete(n)):r.set(e,i)}Br.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return ii.set(l,u),l}var ii=new WeakMap,ai=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Zn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Zn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Kn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();$n(r,t),t.append(bn()),this.#n.set(e,{effect:r,fragment:t})}else Kn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Yn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Kn(n.effect),this.#n.delete(e))};ensure(e,t){var n=It,r=Tn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=bn();i.append(a),this.#n.set(e,{effect:Hn(()=>t(a)),fragment:i})}else this.#t.set(e,Hn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else ze&&(this.anchor=Ve),this.#a(n)}};function B(e,t,n=!1){var r;ze&&(r=Ve,Ue());var i=new ai(e),a=n?te:0;function o(e,t){if(ze){var n=Ke(r);if(e!==parseInt(n.substring(1))){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,t),Be(!0);return}}i.ensure(e,t)}Bn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function oi(e,t){return t}function si(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;ci(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;wn(d),d.append(u),e.items.clear()}ci(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function ci(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,di(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=ie,pi(d,null,c)):Zn(d):Yn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Bn(()=>{p=F(f);var e=p.length;let n=!1;ze&&Ke(c)===`[!`!=(e===0)&&(c=Ge(),He(c),Be(!1),n=!0);for(var a=new Set,u=It,v=Tn(),y=0;ys(c)):(d=Hn(()=>s(li??=bn())),d.f|=ie)),e>a.size&&be(``,``,``),ze&&e>0&&He(Ge()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&Be(!0),F(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,ze&&(c=Ve)}function ui(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function di(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=ui(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v0){var ee=r&4&&s===0?n:null;if(o){for(v=0;v{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function fi(e,t,n,r,i,a,o,s){var c=o&1?o&16?on(n):sn(n,!1,!1):null,l=o&2?on(i):null;return{v:c,i:l,e:Hn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function pi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Sn(r);if(a.before(r),r===i)return;r=o}}function mi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function hi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;ze&&(o=He(xn(c)))}P(()=>{var e=sr;if(s===(s=t()??``)){ze&&Ue();return}if(n&&!ze){e.nodes=null,c.innerHTML=s,s!==``&&Yr(xn(c),c.lastChild);return}if(e.nodes!==null&&(qn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(ze){for(var a=Ve.data,l=Ue(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=Sn(l);if(l===null)throw Ie(),Ae;Yr(Ve,u),o=He(l);return}var d=En(r?`svg`:i?`math`:`template`,r?Ne:i?Pe:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Yr(xn(f),f.lastChild),r||i)for(;xn(f);)o.before(xn(f));else o.before(f)}})}function gi(e,t,...n){var r=new ai(e);Bn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},te)}function _i(e,t,n){var r;ze&&(r=Ve,Ue());var i=new ai(e);Bn(()=>{var e=t()??null;if(ze&&Ke(r)===`[`!=(e!==null)){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,e&&(t=>n(t,e))),Be(!0);return}i.ensure(e,e&&(t=>n(t,e)))},te)}var vi=()=>performance.now(),yi={tick:e=>requestAnimationFrame(e),now:()=>vi(),tasks:new Set};function bi(){let e=yi.now();yi.tasks.forEach(t=>{t.c(e)||(yi.tasks.delete(t),t.f())}),yi.tasks.size!==0&&yi.tick(bi)}function xi(e){let t;return yi.tasks.size===0&&yi.tick(bi),{promise:new Promise(n=>{yi.tasks.add(t={c:e,f:n})}),abort(){yi.tasks.delete(t)}}}function Si(e,t){gt(()=>{e.dispatchEvent(new CustomEvent(t))})}function Ci(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function wi(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=Ci(n.trim());t[i]=r.trim()}return t}var Ti=e=>e;function Ei(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return gt(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=Di(t,m(),p,1,()=>{Si(t,`introstart`)},()=>{Si(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=Di(t,m(),f,0,()=>{Si(t,`outrostart`)},()=>{Si(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=sr;if((g.nodes.t??=[]).push(h),i&&ei){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&Ln(()=>{kr(()=>h.in())})}}function Di(e,t,n,r,i,a){var o=r===1;if(p(t)){var s,c=!1;return tt(()=>{c||(s=Di(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:m,deactivate:m,reset:m,t:()=>r};let{delay:l=0,css:u,tick:d,easing:f=Ti}=t;var h=[];if(o&&n===void 0&&(d&&d(0,1),u)){var g=wi(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var p=!1;if(u)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var g=o+s*f(h/m),y=wi(u(g,1-g));l.push(y),p||=y.overflow===`hidden`}p&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*f(e/c)},d&&xi(()=>{if(v.playState!==`running`)return!1;var e=_();return d(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,d?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=m)},deactivate:()=>{a=m},reset:()=>{r===0&&d?.(1,0)},t:()=>_()}}function Oi(e,t){var n=void 0,r;Vn(()=>{n!==(n=t())&&(r&&=(Kn(r),null),n&&(r=Hn(()=>{Ln(()=>n(e))})))})}function ki(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t=0;){var s=o+a;(o===0||Mi.includes(r[o-1]))&&(s===r.length||Mi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Pi(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Fi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ii(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Fi)),i&&c.push(...Object.keys(i).map(Fi));var l=0,u=-1;let t=e.length;for(var d=0;d{zi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Mn(()=>{t.disconnect()})}function Vi(e,t,n=t){var r=new WeakSet,i=!0;_t(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Hi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Hi(o)}n(a),e.__value=a,It!==null&&r.add(It)}),Ln(()=>{var a=t();if(e===document.activeElement){var o=It;if(r.has(o))return}if(zi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Hi(s),n(a))}e.__value=a,i=!1}),Bi(e)}function Hi(e){return`__value`in e?e.__value:e.value}var Ui=Symbol(`class`),Wi=Symbol(`style`),Gi=Symbol(`is custom element`),Ki=Symbol(`is html`),qi=ve?`link`:`LINK`,Ji=ve?`input`:`INPUT`,Yi=ve?`option`:`OPTION`,Xi=ve?`select`:`SELECT`,Zi=ve?`progress`:`PROGRESS`;function Qi(e){if(ze){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;U(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;U(e,`checked`,null),e.checked=r}}};e[ge]=n,tt(n),ht()}}function $i(e,t){var n=ia(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Zi)||(e.value=t??``)}function ea(e,t){var n=ia(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function ta(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function U(e,t,n,r){var i=ia(e);ze&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===qi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&oa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function na(e,t,n,r,i=!1,a=!1){if(ze&&i&&e.nodeName===Ji){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||Qi(o)}var s=ia(e),c=s[Gi],l=!s[Ki];let u=ze&&c;u&&Be(!1);var d=t||{},f=e.nodeName===Yi;for(var p in t)p in n||(n[p]=null);n.class?n.class=ji(n.class):(r||n[Ui])&&(n.class=null),n[Wi]&&(n.style??=null);var m=oa(e);if(e.nodeName===Ji&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,U(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){H(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Ui],n[Ui]),d[i]=o,d[Ui]=n[Ui];continue}if(i===`style`){Ri(e,o,t?.[Wi],n[Wi]),d[i]=o,d[Wi]=n[Wi];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=Mr(r);if(Ar(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)I(r,e,o),Ur([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Vr(r,e,a,t)}}else if(i===`style`)U(e,i,o);else if(i===`autofocus`)ft(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)ta(e,o);else{var y=i;l||(y=Fr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b)if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=je)):typeof o!=`function`&&U(e,y,o,a)}}}return u&&Be(!0),d}function ra(e,t,n=[],r=[],i=[],a,o=!1,s=!1){St(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Xi,l=!1;if(Vn(()=>{var u=t(...n.map(F)),d=na(e,r,u,a,o,s);l&&c&&`value`in u&&zi(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Kn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Kn(i[t]),i[t]=Hn(()=>Oi(e,()=>f))),d[t]=f}r=d}),c){var u=e;Ln(()=>{zi(u,r.value,!0),Bi(u)})}l=!0})}function ia(e){return e[fe]??={[Gi]:e.nodeName.includes(`-`),[Ki]:e.namespaceURI===Me}}var aa=new Map;function oa(e){var t=e.getAttribute(`is`)||e.nodeName,n=aa.get(t);if(n)return n;aa.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function sa(e,t,n=t){var r=new WeakSet;_t(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=la(e)?ua(a):a,n(a),It!==null&&r.add(It),await Er(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(ze&&e.defaultValue!==e.value||kr(t)==null&&e.value)&&(n(la(e)?ua(e.value):e.value),It!==null&&r.add(It)),zn(()=>{var n=t();if(e===document.activeElement){var i=It;if(r.has(i))return}la(e)&&n===ua(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ca(e,t,n=t){_t(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(ze&&e.defaultChecked!==e.checked||kr(t)==null)&&n(e.checked),zn(()=>{e.checked=!!t()})}function la(e){var t=e.type;return t===`number`||t===`range`}function ua(e){return e===``?null:+e}function da(e,t){return e===t||e?.[le]===t}function fa(e={},t,n,r){var i=Xe.r,a=sr;return Ln(()=>{var o,s;return zn(()=>{o=s,s=r?.()||[],kr(()=>{da(n(...s),e)||(t(e,...s),o&&da(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&da(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var pa={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function ma(e,t,n){return new Proxy({props:e,exclude:t},pa)}function ha(e,t,n,r){var i=!0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=Et(r),F(u)):(l&&(l=!1,c=o?kr(r):r),c);let f;if(a){var p=le in e||ue in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=dt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Te(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Et:kt)(()=>(v=!1,g()));a&&F(y);var b=sr;return(function(e,t){if(arguments.length>0){let n=t?F(y):i&&a?fn(e):e;return j(y,n),v=!0,c!==void 0&&(c=n),e}return nr&&v||b.f&16384?y.v:F(y)})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ga=[[`path`,{d:`m14 12 4 4 4-4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],_a=[[`path`,{d:`m14 11 4-4 4 4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],va=[[`circle`,{cx:`16`,cy:`4`,r:`1`}],[`path`,{d:`m18 19 1-7-6 1`}],[`path`,{d:`m5 8 3-3 5.5 3-2.36 3.5`}],[`path`,{d:`M4.24 14.5a5 5 0 0 0 6.88 6`}],[`path`,{d:`M13.76 17.5a5 5 0 0 0-6.88-6`}]],ya=[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}]],ba=[[`path`,{d:`m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16`}],[`path`,{d:`M15.697 14h5.606`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],xa=[[`path`,{d:`M10 13H6`}],[`path`,{d:`M10 15v-4a2 2 0 0 0-4 0v4`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],Sa=[[`path`,{d:`M18 17.5a2.5 2.5 0 1 1-4 2.03V12`}],[`path`,{d:`M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`M6.6 15.572A2 2 0 1 0 10 17v-5`}]],Ca=[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`}],[`path`,{d:`m12 15 5 6H7Z`}]],wa=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M9 13h6`}]],Ta=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`m9 13 2 2 4-4`}]],Ea=[[`path`,{d:`M6.87 6.87a8 8 0 1 0 11.26 11.26`}],[`path`,{d:`M19.9 14.25a8 8 0 0 0-9.15-9.15`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.26 18.67 4 21`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 4 2 6`}]],Da=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}]],Oa=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M12 9v4l2 2`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}]],ka=[[`path`,{d:`M11 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`M16 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8`}],[`path`,{d:`M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 21c0-2.5 2-2.5 2-5`}]],Aa=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`polyline`,{points:`11 3 11 11 14 8 17 11 17 3`}]],ja=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`}]],Ma=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`}]],Na=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`}],[`path`,{d:`M22 22H2`}]],Pa=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M17 22v-5`}],[`path`,{d:`M17 7V2`}],[`path`,{d:`M7 22v-3`}],[`path`,{d:`M7 5V2`}]],Fa=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`}],[`path`,{d:`M22 22V2`}]],Ia=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M10 2v20`}],[`path`,{d:`M20 2v20`}]],La=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M14 2v20`}]],Ra=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M12 2v20`}]],za=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`12`,y:`7`,rx:`2`}],[`path`,{d:`M22 2v20`}]],Ba=[[`rect`,{width:`6`,height:`14`,x:`6`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Va=[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`}],[`path`,{d:`M4 22V2`}],[`path`,{d:`M20 22V2`}]],Ha=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`}],[`path`,{d:`M22 2H2`}]],Ua=[[`rect`,{width:`6`,height:`14`,x:`3`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`15`,y:`7`,rx:`2`}],[`path`,{d:`M3 2v20`}],[`path`,{d:`M21 2v20`}]],Wa=[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Ga=[[`path`,{d:`M22 17h-3`}],[`path`,{d:`M22 7h-5`}],[`path`,{d:`M5 17H2`}],[`path`,{d:`M7 7H2`}],[`rect`,{x:`5`,y:`14`,width:`14`,height:`6`,rx:`2`}],[`rect`,{x:`7`,y:`4`,width:`10`,height:`6`,rx:`2`}]],Ka=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 20h20`}],[`path`,{d:`M2 10h20`}]],qa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M2 4h20`}]],Ja=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 12h20`}]],Ya=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`12`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 22h20`}]],Xa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`6`,rx:`2`}],[`path`,{d:`M2 2h20`}]],Za=[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`}],[`path`,{d:`M22 20H2`}],[`path`,{d:`M22 4H2`}]],Qa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`15`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`3`,rx:`2`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M2 3h20`}]],$a=[[`path`,{d:`M10 10H6`}],[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14`}],[`path`,{d:`M8 8v4`}],[`path`,{d:`M9 18h6`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],eo=[[`path`,{d:`M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}],[`path`,{d:`M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}]],eee=[[`path`,{d:`M16 12h3`}],[`path`,{d:`M17.5 12a8 8 0 0 1-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13`}]],tee=[[`path`,{d:`M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8`}],[`path`,{d:`M10 5H8a2 2 0 0 0 0 4h.68`}],[`path`,{d:`M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8`}],[`path`,{d:`M14 5h2a2 2 0 0 1 0 4h-.68`}],[`path`,{d:`M18 22H6`}],[`path`,{d:`M9 2h6`}]],nee=[[`path`,{d:`M12 6v16`}],[`path`,{d:`m19 13 2-1a9 9 0 0 1-18 0l2 1`}],[`path`,{d:`M9 11h6`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],ree=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`path`,{d:`M7.5 8 10 9`}],[`path`,{d:`m14 9 2.5-1`}],[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}]],iee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M14 9h2`}]],aee=[[`path`,{d:`M2 12 7 2`}],[`path`,{d:`m7 12 5-10`}],[`path`,{d:`m12 12 5-10`}],[`path`,{d:`m17 12 5-10`}],[`path`,{d:`M4.5 7h15`}],[`path`,{d:`M12 16v6`}]],oee=[[`path`,{d:`M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4`}],[`path`,{d:`M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1`}]],to=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14.31 8 5.74 9.94`}],[`path`,{d:`M9.69 8h11.48`}],[`path`,{d:`m7.38 12 5.74-9.94`}],[`path`,{d:`M9.69 16 3.95 6.06`}],[`path`,{d:`M14.31 16H2.83`}],[`path`,{d:`m16.62 12-5.74 9.94`}]],no=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M10 8h.01`}],[`path`,{d:`M14 8h.01`}]],ro=[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`}]],io=[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}],[`path`,{d:`M10 4v4`}],[`path`,{d:`M2 8h20`}],[`path`,{d:`M6 4v4`}]],ao=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`}],[`path`,{d:`m9 15 3-3 3 3`}],[`path`,{d:`M12 12v9`}]],oo=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`m9.5 17 5-5`}],[`path`,{d:`m9.5 12 5 5`}]],so=[[`path`,{d:`M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3`}],[`path`,{d:`M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],co=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`M10 12h4`}]],lo=[[`path`,{d:`M14 8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-6.939 6.939a1.207 1.207 0 0 1-1.708 0l-6.94-6.94a.707.707 0 0 1 .5-1.206H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 4h6`}]],uo=[[`path`,{d:`M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-7.086 7.086a1 1 0 0 1-1.414 0l-7.086-7.086a.707.707 0 0 1 .5-1.207H8a1 1 0 0 0 1-1z`}]],fo=[[`path`,{d:`M13 9a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707l6.94 6.94a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`}],[`path`,{d:`M20 9v6`}]],po=[[`path`,{d:`M10.793 19.793a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707z`}]],mo=[[`path`,{d:`M11 9a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707l-6.94 6.94a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M4 9v6`}]],ho=[[`path`,{d:`M13.207 19.793a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707z`}]],go=[[`path`,{d:`M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z`}],[`path`,{d:`M9 20h6`}]],_o=[[`path`,{d:`M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z`}]],vo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],yo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],bo=[[`path`,{d:`M19 3H5`}],[`path`,{d:`M12 21V7`}],[`path`,{d:`m6 15 6 6 6-6`}]],xo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],So=[[`path`,{d:`M17 7 7 17`}],[`path`,{d:`M17 17H7V7`}]],Co=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h4`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h10`}]],wo=[[`path`,{d:`m7 7 10 10`}],[`path`,{d:`M17 7v10H7`}]],To=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]],Eo=[[`path`,{d:`M12 2v14`}],[`path`,{d:`m19 9-7 7-7-7`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Do=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`m21 8-4-4-4 4`}],[`path`,{d:`M17 4v16`}]],Oo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],ko=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],Ao=[[`path`,{d:`m9 6-6 6 6 6`}],[`path`,{d:`M3 12h14`}],[`path`,{d:`M21 19V5`}]],jo=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],Mo=[[`path`,{d:`M8 3 4 7l4 4`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],No=[[`path`,{d:`M3 19V5`}],[`path`,{d:`m13 6-6 6 6 6`}],[`path`,{d:`M7 12h14`}]],Po=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]],Fo=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M21 12H7`}],[`path`,{d:`m15 18 6-6-6-6`}]],Io=[[`path`,{d:`m16 3 4 4-4 4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`m8 21-4-4 4-4`}],[`path`,{d:`M4 17h16`}]],Lo=[[`path`,{d:`M17 12H3`}],[`path`,{d:`m11 18 6-6-6-6`}],[`path`,{d:`M21 5v14`}]],Ro=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]],zo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],Bo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],Vo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],Ho=[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],Uo=[[`path`,{d:`m5 9 7-7 7 7`}],[`path`,{d:`M12 16V2`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Wo=[[`path`,{d:`m18 9-6-6-6 6`}],[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 21h14`}]],Go=[[`path`,{d:`M7 17V7h10`}],[`path`,{d:`M17 17 7 7`}]],Ko=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h4`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h10`}]],qo=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]],Jo=[[`path`,{d:`M5 3h14`}],[`path`,{d:`m18 13-6-6-6 6`}],[`path`,{d:`M12 7v14`}]],Yo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],Xo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],Zo=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],Qo=[[`path`,{d:`M12 6v12`}],[`path`,{d:`M17.196 9 6.804 15`}],[`path`,{d:`m6.804 9 10.392 6`}]],$o=[[`path`,{d:`m4 6 3-3 3 3`}],[`path`,{d:`M7 17V3`}],[`path`,{d:`m14 6 3-3 3 3`}],[`path`,{d:`M17 17V3`}],[`path`,{d:`M4 21h16`}]],es=[[`path`,{d:`M12.983 21.186a1 1 0 0 1-1.966 0 10 10 0 0 0-8.203-8.203 1 1 0 0 1 0-1.966 10 10 0 0 0 8.203-8.203 1 1 0 0 1 1.966 0 10 10 0 0 0 8.203 8.203 1 1 0 0 1 0 1.966 10 10 0 0 0-8.203 8.203`}]],ts=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`}]],ns=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z`}],[`path`,{d:`M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z`}]],rs=[[`path`,{d:`M2 10v3`}],[`path`,{d:`M6 6v11`}],[`path`,{d:`M10 3v18`}],[`path`,{d:`M14 8v7`}],[`path`,{d:`M18 5v13`}],[`path`,{d:`M22 10v3`}]],is=[[`path`,{d:`m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526`}],[`circle`,{cx:`12`,cy:`8`,r:`6`}]],as=[[`path`,{d:`m14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9`}],[`path`,{d:`M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z`}]],os=[[`path`,{d:`M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2`}]],ss=[[`path`,{d:`M13.5 10.5 15 9`}],[`path`,{d:`M4 4v15a1 1 0 0 0 1 1h15`}],[`path`,{d:`M4.293 19.707 6 18`}],[`path`,{d:`m9 15 1.5-1.5`}]],cs=[[`path`,{d:`M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}],[`path`,{d:`M8 10h8`}],[`path`,{d:`M8 18h8`}],[`path`,{d:`M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6`}],[`path`,{d:`M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2`}]],ls=[[`path`,{d:`M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5`}],[`path`,{d:`M15 12h.01`}],[`path`,{d:`M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1`}],[`path`,{d:`M9 12h.01`}]],us=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],ds=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M15.4 10a4 4 0 1 0 0 4`}]],fs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],ps=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],ms=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M7 12h5`}],[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}]],hs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 8h8`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m13 17-5-1h1a4 4 0 0 0 0-8`}]],gs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`8`,y2:`8`}]],_s=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 8 3 3v7`}],[`path`,{d:`m12 11 3-3`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M9 16h6`}]],vs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],ys=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],bs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`16`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],xs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M10 16V9.5a2.5 2.5 0 0 1 5 0`}],[`path`,{d:`M8 16h7`}]],Ss=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`}]],Cs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9 16h5`}],[`path`,{d:`M9 12h5a2 2 0 1 0 0-4h-3v9`}]],ws=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M11 17V8h4`}],[`path`,{d:`M11 12h3`}],[`path`,{d:`M9 16h4`}]],Ts=[[`path`,{d:`M11 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m15 8-6 3`}],[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76`}]],Es=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],Ds=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}]],Os=[[`path`,{d:`M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2`}],[`path`,{d:`M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10`}],[`rect`,{width:`13`,height:`8`,x:`8`,y:`6`,rx:`1`}],[`circle`,{cx:`18`,cy:`20`,r:`2`}],[`circle`,{cx:`9`,cy:`20`,r:`2`}]],ks=[[`path`,{d:`M12 16v1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 6a2 2 0 0 1 2 2`}],[`path`,{d:`M18 8c0 4-3.5 8-6 8s-6-4-6-8a6 6 0 0 1 12 0`}]],As=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M4.929 4.929 19.07 19.071`}]],js=[[`path`,{d:`M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5`}],[`path`,{d:`M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z`}]],Ms=[[`path`,{d:`M10 10.01h.01`}],[`path`,{d:`M10 14.01h.01`}],[`path`,{d:`M14 10.01h.01`}],[`path`,{d:`M14 14.01h.01`}],[`path`,{d:`M18 6v12`}],[`path`,{d:`M6 6v12`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`}]],Ns=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ps=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Fs=[[`path`,{d:`M11.748 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4.875`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Is=[[`path`,{d:`M13 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ls=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M6 12h.01M18 12h.01`}]],Rs=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M8 5v14`}],[`path`,{d:`M12 5v14`}],[`path`,{d:`M17 5v14`}],[`path`,{d:`M21 5v14`}]],zs=[[`path`,{d:`M10 3a41 41 0 0 0 0 18`}],[`path`,{d:`M14 3a41 41 0 0 1 0 18`}],[`path`,{d:`M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z`}],[`path`,{d:`M3.84 17h16.32`}],[`path`,{d:`M3.84 7h16.32`}]],Bs=[[`path`,{d:`M4 20h16`}],[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}]],Vs=[[`path`,{d:`M10 4 8 6`}],[`path`,{d:`M17 19v2`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M7 19v2`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}]],Hs=[[`path`,{d:`m11 7-3 5h4l-3 5`}],[`path`,{d:`M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936`}]],Us=[[`path`,{d:`M10 10v4`}],[`path`,{d:`M14 10v4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 10v4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Ws=[[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Gs=[[`path`,{d:`M10 14v-4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Ks=[[`path`,{d:`M10 9v6`}],[`path`,{d:`M12.543 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.605`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M7 12h6`}],[`path`,{d:`M7.606 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.606`}]],qs=[[`path`,{d:`M10 17h.01`}],[`path`,{d:`M10 7v6`}],[`path`,{d:`M14 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}]],Js=[[`path`,{d:`M 22 14 L 22 10`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Ys=[[`path`,{d:`M4.5 3h15`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`}],[`path`,{d:`M6 14h12`}]],Xs=[[`path`,{d:`M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1`}],[`path`,{d:`M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66`}],[`path`,{d:`M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Zs=[[`path`,{d:`M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z`}],[`path`,{d:`M5.341 10.62a4 4 0 1 0 5.279-5.28`}]],Qs=[[`path`,{d:`M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8`}],[`path`,{d:`M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M12 4v6`}],[`path`,{d:`M2 18h20`}]],$s=[[`path`,{d:`M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8`}],[`path`,{d:`M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4`}],[`path`,{d:`M3 18h18`}]],ec=[[`path`,{d:`M2 4v16`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`}],[`path`,{d:`M2 17h20`}],[`path`,{d:`M6 8v9`}]],tc=[[`path`,{d:`M11.771 6.109a2.5 2.5 0 0 1 3.12 3.12`}],[`path`,{d:`M17.852 12.185a6.5 6.5 0 0 0-9.035-9.04`}],[`path`,{d:`M18.013 18.013C15.029 20.349 10.831 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-.139 4.393`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.355 6.37a7 7 0 0 0-.075.23c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c3.356 0 6.993-1.267 9.85-3.151`}]],nc=[[`path`,{d:`M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`circle`,{cx:`12.5`,cy:`8.5`,r:`2.5`}]],rc=[[`path`,{d:`M13 13v5`}],[`path`,{d:`M17 11.47V8`}],[`path`,{d:`M17 11h1a3 3 0 0 1 2.745 4.211`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268`}],[`path`,{d:`M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12`}],[`path`,{d:`M9 14.6V18`}]],ic=[[`path`,{d:`M17 11h1a3 3 0 0 1 0 6h-1`}],[`path`,{d:`M9 12v6`}],[`path`,{d:`M13 12v6`}],[`path`,{d:`M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}]],ac=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],oc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`m15 8 2 2 4-4`}],[`path`,{d:`M16.8607 4.4824A6 6 0 0 0 6 8C6 12.499 4.589 13.956 3.262 15.326`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17H20A1 1 0 0 0 20.74 15.327C20.209 14.779 19.665 14.218 19.203 13.454`}]],sc=[[`path`,{d:`M18.518 17.347A7 7 0 0 1 14 19`}],[`path`,{d:`M18.8 4A11 11 0 0 1 20 9`}],[`path`,{d:`M9 9h.01`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`rect`,{x:`4`,y:`16`,width:`10`,height:`6`,rx:`2`}]],cc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12`}]],lc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`}]],uc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M18 5v6`}],[`path`,{d:`M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332`}]],dc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`}]],fc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}]],pc=[[`rect`,{width:`13`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m22 15-3-3 3-3`}],[`rect`,{width:`13`,height:`7`,x:`3`,y:`14`,rx:`1`}]],mc=[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`}],[`path`,{d:`m2 9 3 3-3 3`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`}]],hc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m9 22 3-3 3 3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`3`,rx:`1`}]],gc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`m15 2-3 3-3-3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`8`,rx:`1`}]],_c=[[`path`,{d:`M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1`}],[`path`,{d:`M15 14a5 5 0 0 0-7.584 2`}],[`path`,{d:`M9.964 6.825C8.019 7.977 9.5 13 8 15`}]],vc=[[`circle`,{cx:`18.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`5.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`path`,{d:`M12 17.5V14l-3-3 4-3 2 3h2`}]],yc=[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M14 10h4`}],[`path`,{d:`M6 14h2v6`}],[`path`,{d:`M14 4h2v6`}]],bc=[[`circle`,{cx:`12`,cy:`11.9`,r:`2`}],[`path`,{d:`M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6`}],[`path`,{d:`m8.9 10.1 1.4.8`}],[`path`,{d:`M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5`}],[`path`,{d:`m15.1 10.1-1.4.8`}],[`path`,{d:`M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2`}],[`path`,{d:`M12 13.9v1.6`}],[`path`,{d:`M13.5 5.4c-1-.2-2-.2-3 0`}],[`path`,{d:`M17 16.4c.7-.7 1.2-1.6 1.5-2.5`}],[`path`,{d:`M5.5 13.9c.3.9.8 1.8 1.5 2.5`}]],xc=[[`path`,{d:`M10 10h4`}],[`path`,{d:`M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z`}],[`path`,{d:`M 22 16 L 2 16`}],[`path`,{d:`M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3`}]],Sc=[[`path`,{d:`M16 7h.01`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`}],[`path`,{d:`m20 7 2 .5-2 .5`}],[`path`,{d:`M10 18v3`}],[`path`,{d:`M14 17.75V21`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`}]],Cc=[[`path`,{d:`M12 18v4`}],[`path`,{d:`m17 18 1.956-11.468`}],[`path`,{d:`m3 8 7.82-5.615a2 2 0 0 1 2.36 0L21 8`}],[`path`,{d:`M4 18h16`}],[`path`,{d:`M7 18 5.044 6.532`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],wc=[[`path`,{d:`M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727`}]],Tc=[[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`circle`,{cx:`15`,cy:`15`,r:`7`}]],Ec=[[`path`,{d:`M3 3h18`}],[`path`,{d:`M20 7H8`}],[`path`,{d:`M20 11H8`}],[`path`,{d:`M10 19h10`}],[`path`,{d:`M8 15h12`}],[`path`,{d:`M4 3v14`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}]],Dc=[[`path`,{d:`M8 14a2 2 0 0 0-1.963 1.615l-1.018 5.193A1 1 0 0 0 6 22h12a1 1 0 0 0 .981-1.192l-1.018-5.193A2 2 0 0 0 16 14z`}],[`path`,{d:`m17 2-1 12`}],[`path`,{d:`M8.006 14 7 2`}],[`path`,{d:`M7.565 8.787A5 5 0 0 0 12 8a5 5 0 0 1 4.56-.75`}],[`path`,{d:`M19 2H5a2 2 0 0 0-2 2v5a2 2 0 0 0 .688 1.5`}],[`path`,{d:`M12 18h.01`}]],Oc=[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`}]],kc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`12`}],[`line`,{x1:`3`,x2:`6`,y1:`12`,y2:`12`}]],Ac=[[`path`,{d:`m17 17-5 5V12l-5 5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M14.5 9.5 17 7l-5-5v4.5`}]],jc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`path`,{d:`M20.83 14.83a4 4 0 0 0 0-5.66`}],[`path`,{d:`M18 12h.01`}]],Mc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}]],Nc=[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`}]],Pc=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Fc=[[`circle`,{cx:`11`,cy:`13`,r:`9`}],[`path`,{d:`M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95`}],[`path`,{d:`m22 2-1.5 1.5`}]],Ic=[[`path`,{d:`M14 4.5a1 1 0 0 1 5 0 .5.5 0 0 0 .5.5 1 1 0 0 1 0 5c-.81 0-1.8-.7-2.5 0l-1.958 1.957a.15.15 0 0 1-.252-.072l-.493-2.07a.15.15 0 0 0-.111-.112l-2.072-.494a.15.15 0 0 1-.072-.252L14 7c.7-.7 0-1.69 0-2.5`}],[`path`,{d:`m16 20-1-2`}],[`path`,{d:`m20 16-2-1`}],[`path`,{d:`m4 8 2 1`}],[`path`,{d:`m8 4 1 2`}],[`path`,{d:`M9.698 14.19a.15.15 0 0 0 .112.112l2.074.489a.15.15 0 0 1 .072.252L10 17c-.7.7 0 1.69 0 2.5a1 1 0 0 1-5 0 .495.495 0 0 0-.5-.5 1 1 0 0 1 0-5c.81 0 1.8.7 2.5 0l1.956-1.957a.15.15 0 0 1 .252.072z`}]],Lc=[[`path`,{d:`M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z`}]],Rc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m8 13 4-7 4 7`}],[`path`,{d:`M9.1 11h5.7`}]],zc=[[`path`,{d:`M12 13h.01`}],[`path`,{d:`M12 6v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],Bc=[[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 8v3`}]],Vc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 9.5 2 2 4-4`}]],Hc=[[`path`,{d:`M5 7a2 2 0 0 0-2 2v11`}],[`path`,{d:`M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21`}],[`path`,{d:`M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10`}]],Uc=[[`path`,{d:`M12 17h1.5`}],[`path`,{d:`M12 22h1.5`}],[`path`,{d:`M12 2h1.5`}],[`path`,{d:`M17.5 22H19a1 1 0 0 0 1-1`}],[`path`,{d:`M17.5 2H19a1 1 0 0 1 1 1v1.5`}],[`path`,{d:`M20 14v3h-2.5`}],[`path`,{d:`M20 8.5V10`}],[`path`,{d:`M4 10V8.5`}],[`path`,{d:`M4 19.5V14`}],[`path`,{d:`M4 4.5A2.5 2.5 0 0 1 6.5 2H8`}],[`path`,{d:`M8 22H6.5a1 1 0 0 1 0-5H8`}]],Wc=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3 3 3-3`}]],Gc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 12v-2a4 4 0 0 1 8 0v2`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],Kc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],qc=[[`path`,{d:`m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`10`,cy:`8`,r:`2`}]],Jc=[[`path`,{d:`M13 2H6.5A2.5 2.5 0 0 0 4 4.5v15`}],[`path`,{d:`M17 2v6`}],[`path`,{d:`M17 4h2`}],[`path`,{d:`M20 15.2V21a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`17`,cy:`10`,r:`2`}]],Yc=[[`path`,{d:`M18 6V4a2 2 0 1 0-4 0v2`}],[`path`,{d:`M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10`}],[`rect`,{x:`12`,y:`6`,width:`8`,height:`5`,rx:`1`}]],Xc=[[`path`,{d:`M10 2v8l3-3 3 3V2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],Zc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],Qc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`m16 12 2 2 4-4`}],[`path`,{d:`M22 6V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2h4.001A2 2 0 0022 17v-1.344`}]],$c=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M16 13h2`}],[`path`,{d:`M16 9h2`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}],[`path`,{d:`M6 13h2`}],[`path`,{d:`M6 9h2`}]],el=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}]],tl=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],nl=[[`path`,{d:`M11 22H5.5a1 1 0 0 1 0-5h4.501`}],[`path`,{d:`m21 22-1.879-1.878`}],[`path`,{d:`M3 19.5v-15A2.5 2.5 0 0 1 5.5 2H18a1 1 0 0 1 1 1v8`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}]],rl=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h6`}]],il=[[`path`,{d:`M10 13h4`}],[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8V6H8v2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],al=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2`}],[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],ol=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3-3 3 3`}]],sl=[[`path`,{d:`M15 13a3 3 0 1 0-6 0`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}]],cl=[[`path`,{d:`m14.5 7-5 5`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9.5 7 5 5`}]],ll=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],ul=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9 10 2 2 4-4`}]],dl=[[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],fl=[[`path`,{d:`M19 19v1a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H17a2 2 0 0 1 2 2v8.344`}]],pl=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],ml=[[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9.5 7.5 5 5`}]],hl=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],gl=[[`path`,{d:`M12 6V2H8`}],[`path`,{d:`M15 11v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`}],[`path`,{d:`M9 11v2`}]],_l=[[`path`,{d:`M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M8 8v1`}],[`path`,{d:`M12 8v1`}],[`path`,{d:`M16 8v1`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`9`,rx:`2`}],[`circle`,{cx:`8`,cy:`15`,r:`2`}],[`circle`,{cx:`16`,cy:`15`,r:`2`}]],vl=[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M22 22 2 2`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M9 13v2`}],[`path`,{d:`M9.67 4H12v2.33`}]],yl=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]],bl=[[`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a6 6 0 0 0 1.2 3.6l.6.8A6 6 0 0 1 17 13v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a6 6 0 0 1 1.2-3.6l.6-.8A6 6 0 0 0 10 5z`}],[`path`,{d:`M17 13h-4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4`}]],xl=[[`path`,{d:`M17 3h4v4`}],[`path`,{d:`M18.575 11.082a13 13 0 0 1 1.048 9.027 1.17 1.17 0 0 1-1.914.597L14 17`}],[`path`,{d:`M7 10 3.29 6.29a1.17 1.17 0 0 1 .6-1.91 13 13 0 0 1 9.03 1.05`}],[`path`,{d:`M7 14a1.7 1.7 0 0 0-1.207.5l-2.646 2.646A.5.5 0 0 0 3.5 18H5a1 1 0 0 1 1 1v1.5a.5.5 0 0 0 .854.354L9.5 18.207A1.7 1.7 0 0 0 10 17v-2a1 1 0 0 0-1-1z`}],[`path`,{d:`M9.707 14.293 21 3`}]],Sl=[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`}],[`path`,{d:`M12 22V12`}]],Cl=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]],wl=[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`}]],Tl=[[`path`,{d:`M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3`}]],El=[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`}],[`path`,{d:`M12 13h4`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 8h8`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`}]],Dl=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`m10.852 9.228-.383-.923`}],[`path`,{d:`m13.148 14.772.382.924`}],[`path`,{d:`m13.531 8.305-.383.923`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771`}],[`path`,{d:`M17.998 5.125a4 4 0 0 1 2.525 5.771`}],[`path`,{d:`M19.505 10.294a4 4 0 0 1-1.5 7.706`}],[`path`,{d:`M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516`}],[`path`,{d:`M4.5 10.291A4 4 0 0 0 6 18`}],[`path`,{d:`M6.002 5.125a3 3 0 0 0 .4 1.375`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Ol=[[`path`,{d:`M12 18V5`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`}]],kl=[[`path`,{d:`M12 9v1.258`}],[`path`,{d:`M16 3v5.46`}],[`path`,{d:`M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75`}],[`path`,{d:`M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z`}],[`path`,{d:`M3 15h7`}],[`path`,{d:`M3 9h12.142`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Al=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 9v6`}],[`path`,{d:`M16 15v6`}],[`path`,{d:`M16 3v6`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],jl=[[`path`,{d:`M16 3v2.107`}],[`path`,{d:`M17 9c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 22 17a5 5 0 0 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C13 11.5 16 9 17 9`}],[`path`,{d:`M21 8.274V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.938`}],[`path`,{d:`M3 15h5.253`}],[`path`,{d:`M3 9h8.228`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Ml=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M22 13a18.15 18.15 0 0 1-20 0`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Nl=[[`path`,{d:`M10 20v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M18 20v2`}],[`path`,{d:`M21 20H3`}],[`path`,{d:`M6 20v2`}],[`path`,{d:`M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`10`,rx:`2`}]],Pl=[[`path`,{d:`M12 11v4`}],[`path`,{d:`M14 13h-4`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M18 6v14`}],[`path`,{d:`M6 6v14`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Fl=[[`path`,{d:`M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Il=[[`path`,{d:`M10 13a3 3 0 0 1-2.121-5.121`}],[`path`,{d:`M15.606 14.204c-3.5 1.5-5.899 4.503-8.899 7.503A1 1 0 0 1 6 22c-2 0-4-2-4-4a1 1 0 0 1 .293-.707c1.911-1.911 3.823-3.578 5.347-5.441`}],[`path`,{d:`M16.573 14.737A4 4 0 0 1 14 11`}],[`path`,{d:`M7.14 10.907a4 4 0 1 1 2.756-7.43A4 4 0 0 1 16.7 4.48a2 2 0 0 1 2.82 2.82 4 4 0 0 1 1.002 6.805A4 4 0 1 1 13 16`}]],Ll=[[`path`,{d:`m16 22-1-4`}],[`path`,{d:`M19 14a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v1a1 1 0 0 0 1 1`}],[`path`,{d:`M19 14H5l-1.973 6.767A1 1 0 0 0 4 22h16a1 1 0 0 0 .973-1.233z`}],[`path`,{d:`m8 22 1-4`}]],Rl=[[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2`}],[`path`,{d:`M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2`}]],zl=[[`path`,{d:`m11 10 3 3`}],[`path`,{d:`M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z`}],[`path`,{d:`M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031`}]],Bl=[[`path`,{d:`M7.001 15.085A1.5 1.5 0 0 1 9 16.5`}],[`circle`,{cx:`18.5`,cy:`8.5`,r:`3.5`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`5.5`}],[`circle`,{cx:`7.5`,cy:`4.5`,r:`2.5`}]],Vl=[[`path`,{d:`M12 20v-8`}],[`path`,{d:`M12.656 7H14a4 4 0 0 1 4 4v1.344`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-3.344`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9.712 4.06A3 3 0 0 1 15 6v1.13`}]],Hl=[[`path`,{d:`M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97`}],[`path`,{d:`M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Ul=[[`path`,{d:`M12 20v-9`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-4`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Wl=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 8h4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`}]],Gl=[[`path`,{d:`M12 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M12 6h.01`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M16 6h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M8 6h.01`}],[`path`,{d:`M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],Kl=[[`path`,{d:`M4 6 2 7`}],[`path`,{d:`M10 6h4`}],[`path`,{d:`m22 7-2-1`}],[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 21v-2`}]],ql=[[`path`,{d:`M8 6v6`}],[`path`,{d:`M15 6v6`}],[`path`,{d:`M2 12h19.6`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}]],Jl=[[`path`,{d:`M10 3h.01`}],[`path`,{d:`M14 2h.01`}],[`path`,{d:`m2 9 20-5`}],[`path`,{d:`M12 12V6.5`}],[`rect`,{width:`16`,height:`10`,x:`4`,y:`12`,rx:`3`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M4 17h16`}]],Yl=[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`}],[`path`,{d:`M17 21v-2`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`}],[`path`,{d:`M21 21v-2`}],[`path`,{d:`M3 5V3`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`}],[`path`,{d:`M7 5V3`}]],Xl=[[`path`,{d:`M16 13H3`}],[`path`,{d:`M16 17H3`}],[`path`,{d:`m7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6`}],[`circle`,{cx:`9`,cy:`7`,r:`2`}]],Zl=[[`path`,{d:`M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8`}],[`path`,{d:`M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M7 8v3`}],[`path`,{d:`M12 8v3`}],[`path`,{d:`M17 8v3`}],[`path`,{d:`M7 4h.01`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M17 4h.01`}]],Ql=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`6`,y2:`6`}],[`line`,{x1:`16`,x2:`16`,y1:`14`,y2:`18`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M12 10h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M8 18h.01`}]],$l=[[`path`,{d:`M11 14h1v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],eu=[[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 14v8`}],[`path`,{d:`M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],tu=[[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 22v-8`}],[`path`,{d:`M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],nu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m9 16 2 2 4-4`}]],ru=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m16 20 2 2 4-4`}]],iu=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`}],[`path`,{d:`M3 10h5`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],au=[[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m15.228 19.148-.923.383`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m16.47 14.305.382.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M21 10.592V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],ou=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M8 18h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M16 18h.01`}]],su=[[`path`,{d:`M3 20a2 2 0 0 0 2 2h10a2.4 2.4 0 0 0 1.706-.706l3.588-3.588A2.4 2.4 0 0 0 21 16V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M15 22v-5a1 1 0 0 1 1-1h5`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}]],cu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}]],lu=[[`path`,{d:`M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],uu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],du=[[`path`,{d:`M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18`}],[`path`,{d:`M21 15.5V6a2 2 0 0 0-2-2H9.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h7`}],[`path`,{d:`M21 10h-5.5`}],[`path`,{d:`m2 2 20 20`}]],fu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}],[`path`,{d:`M12 14v4`}]],pu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],mu=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M17 14h-6`}],[`path`,{d:`M13 18H7`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 18h.01`}]],hu=[[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],gu=[[`path`,{d:`M11 10v4h4`}],[`path`,{d:`m11 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m21 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M21 22v-4h-4`}],[`path`,{d:`M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3`}],[`path`,{d:`M3 10h4`}],[`path`,{d:`M8 2v4`}]],_u=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m17 22 5-5`}],[`path`,{d:`m17 17 5 5`}]],vu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m14 14-4 4`}],[`path`,{d:`m10 14 4 4`}]],yu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}]],bu=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M15.726 21.01A2 2 0 0 1 14 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2`}],[`path`,{d:`M18 2v2`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M8 8h14`}],[`rect`,{x:`8`,y:`3`,width:`14`,height:`14`,rx:`2`}]],xu=[[`path`,{d:`M14.564 14.558a3 3 0 1 1-4.122-4.121`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175`}],[`path`,{d:`M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344`}]],Su=[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`}],[`circle`,{cx:`12`,cy:`13`,r:`3`}]],Cu=[[`path`,{d:`m10.8 5 2.111 4.223`}],[`path`,{d:`M17.75 7 15 2.1`}],[`path`,{d:`m4.874 14.647 2.12 4.24`}],[`path`,{d:`M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2z`}],[`path`,{d:`m7.906 9.712 2.005 4.411`}]],wu=[[`path`,{d:`M10 7v10.9`}],[`path`,{d:`M14 6.1V17`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`M16.536 7.465a5 5 0 0 0-7.072 0l-2 2a5 5 0 0 0 0 7.07 5 5 0 0 0 7.072 0l2-2a5 5 0 0 0 0-7.07`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],Tu=[[`path`,{d:`M10 10v7.9`}],[`path`,{d:`M11.802 6.145a5 5 0 0 1 6.053 6.053`}],[`path`,{d:`M14 6.1v2.243`}],[`path`,{d:`m15.5 15.571-.964.964a5 5 0 0 1-7.071 0 5 5 0 0 1 0-7.07l.964-.965`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],Eu=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6`}]],Du=[[`path`,{d:`M12 22v-4c1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5`}],[`path`,{d:`M13.988 8.327C13.902 6.054 13.365 3.82 12 2a9.3 9.3 0 0 0-1.445 2.9`}],[`path`,{d:`M17.375 11.725C18.882 10.53 21 7.841 21 6c-2.324 0-5.08 1.296-6.662 2.684`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21.024 15.378A15 15 0 0 0 22 15c-.426-1.279-2.67-2.557-4.25-2.907`}],[`path`,{d:`M6.995 6.992C5.714 6.4 4.29 6 3 6c0 2 2.5 5 4 6-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3`}]],Ou=[[`path`,{d:`M10.5 5H19a2 2 0 0 1 2 2v8.5`}],[`path`,{d:`M17 11h-.5`}],[`path`,{d:`M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 11h4`}],[`path`,{d:`M7 15h2.5`}]],ku=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`}]],Au=[[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],ju=[[`path`,{d:`M10 2h4`}],[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],Mu=[[`path`,{d:`M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2`}],[`circle`,{cx:`7`,cy:`17`,r:`2`}],[`path`,{d:`M9 17h6`}],[`circle`,{cx:`17`,cy:`17`,r:`2`}]],Nu=[[`path`,{d:`M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2`}],[`path`,{d:`M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2`}],[`path`,{d:`M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9`}],[`circle`,{cx:`8`,cy:`19`,r:`2`}]],Pu=[[`path`,{d:`M12 14v4`}],[`path`,{d:`M14.172 2a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 20 7.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z`}],[`path`,{d:`M8 14h8`}],[`rect`,{x:`8`,y:`10`,width:`8`,height:`8`,rx:`1`}]],Fu=[[`path`,{d:`M15 16a1 1 0 0 0-7-7q-4 4-5.987 12.385a.5.5 0 0 0 .602.602Q11 20 15 16l-3-3`}],[`path`,{d:`M15 9q4 4 7 0-3-4-7 0 4-4 0-7-4 3 0 7`}],[`path`,{d:`m8 15-2.58-2.58`}]],Iu=[[`path`,{d:`M10 9v7`}],[`path`,{d:`M14 6v10`}],[`circle`,{cx:`17.5`,cy:`12.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`3.5`}]],Lu=[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M22 9v7`}],[`path`,{d:`M3.304 13h6.392`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`}]],Ru=[[`path`,{d:`M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],zu=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`circle`,{cx:`8`,cy:`10`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`10`,r:`2`}],[`path`,{d:`m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3`}]],Bu=[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`}]],Vu=[[`path`,{d:`M10 5V3`}],[`path`,{d:`M14 5V3`}],[`path`,{d:`M15 21v-3a3 3 0 0 0-6 0v3`}],[`path`,{d:`M18 3v8`}],[`path`,{d:`M18 5H6`}],[`path`,{d:`M22 11H2`}],[`path`,{d:`M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9`}],[`path`,{d:`M6 3v8`}]],Hu=[[`path`,{d:`M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M11.25 16.25h1.5L12 17l-.75-.75Z`}]],Uu=[[`path`,{d:`m12.309 6.652 4.797 2.401a1 1 0 0 1 .447 1.341l-.501 1.001.605.605h2.725a1 1 0 0 1 .894 1.447l-.724 1.448`}],[`path`,{d:`m15.166 15.166-.719 1.439a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.9 2.9 0 0 1 .873-1.037`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1l1.441-2.902`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Wu=[[`path`,{d:`M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97`}],[`path`,{d:`M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Gu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`}]],Ku=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],qu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h12`}],[`path`,{d:`M7 6h3`}]],Ju=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h3`}],[`path`,{d:`M7 6h12`}]],Yu=[[`path`,{d:`M11 13v4`}],[`path`,{d:`M15 5v4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Xu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16h8`}],[`path`,{d:`M7 11h12`}],[`path`,{d:`M7 6h3`}]],Zu=[[`path`,{d:`M9 5v4`}],[`rect`,{width:`4`,height:`6`,x:`7`,y:`9`,rx:`1`}],[`path`,{d:`M9 15v2`}],[`path`,{d:`M17 3v2`}],[`rect`,{width:`4`,height:`8`,x:`15`,y:`5`,rx:`1`}],[`path`,{d:`M17 13v3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],Qu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],$u=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17v-3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17V5`}]],ed=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17V5`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17v-3`}]],td=[[`path`,{d:`M11 13H7`}],[`path`,{d:`M19 9h-4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],nd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M18 17V9`}],[`path`,{d:`M13 17V5`}],[`path`,{d:`M8 17v-3`}]],rd=[[`path`,{d:`M10 6h8`}],[`path`,{d:`M12 16h6`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 11h7`}]],id=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`m19 9-5 5-4-4-3 3`}]],ad=[[`path`,{d:`M5 21V3`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21v-6`}]],od=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21V3`}]],sd=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V3`}],[`path`,{d:`M19 21V9`}]],cd=[[`path`,{d:`m13.11 7.664 1.78 2.672`}],[`path`,{d:`m14.162 12.788-3.324 1.424`}],[`path`,{d:`m20 4-6.06 1.515`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`circle`,{cx:`12`,cy:`6`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`9`,cy:`15`,r:`2`}]],ld=[[`path`,{d:`M12 16v5`}],[`path`,{d:`M16 14.639V21`}],[`path`,{d:`M20 10.656V21`}],[`path`,{d:`m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15`}],[`path`,{d:`M4 18.463V21`}],[`path`,{d:`M8 14.656V21`}]],ud=[[`path`,{d:`M6 5h12`}],[`path`,{d:`M4 12h10`}],[`path`,{d:`M12 19h8`}]],dd=[[`path`,{d:`M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z`}],[`path`,{d:`M21.21 15.89A10 10 0 1 1 8 2.83`}]],fd=[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],pd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`}]],md=[[`path`,{d:`M18 6 7 17l-5-5`}],[`path`,{d:`m22 10-7.5 7.5L13 16`}]],hd=[[`path`,{d:`M20 4L9 15`}],[`path`,{d:`M21 19L3 19`}],[`path`,{d:`M9 15L4 10`}]],gd=[[`path`,{d:`M20 6 9 17l-5-5`}]],_d=[[`path`,{d:`M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z`}],[`path`,{d:`M6 17h12`}]],vd=[[`path`,{d:`M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12`}],[`path`,{d:`M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z`}]],yd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m6.7 18-1-1C4.35 15.682 3 14.09 3 12a5 5 0 0 1 4.95-5c1.584 0 2.7.455 4.05 1.818C13.35 7.455 14.466 7 16.05 7A5 5 0 0 1 21 12c0 2.082-1.359 3.673-2.7 5l-1 1`}],[`path`,{d:`M10 4h4`}],[`path`,{d:`M12 2v6.818`}]],bd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M15 18c1.5-.615 3-2.461 3-4.923C18 8.769 14.5 4.462 12 2 9.5 4.462 6 8.77 6 13.077 6 15.539 7.5 17.385 9 18`}],[`path`,{d:`m16 7-2.5 2.5`}],[`path`,{d:`M9 2h6`}]],xd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M16.5 18c1-2 2.5-5 2.5-9a7 7 0 0 0-7-7H6.635a1 1 0 0 0-.768 1.64L7 5l-2.32 5.802a2 2 0 0 0 .95 2.526l2.87 1.456`}],[`path`,{d:`m15 5 1.425-1.425`}],[`path`,{d:`m17 8 1.53-1.53`}],[`path`,{d:`M9.713 12.185 7 18`}]],Sd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`m14.5 10 1.5 8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`m8 18 1.5-8`}],[`circle`,{cx:`12`,cy:`6`,r:`4`}]],Cd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m12.474 5.943 1.567 5.34a1 1 0 0 0 1.75.328l2.616-3.402`}],[`path`,{d:`m20 9-3 9`}],[`path`,{d:`m5.594 8.209 2.615 3.403a1 1 0 0 0 1.75-.329l1.567-5.34`}],[`path`,{d:`M7 18 4 9`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`7`,r:`2`}],[`circle`,{cx:`4`,cy:`7`,r:`2`}]],wd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`m17 18-1-9`}],[`path`,{d:`M6 2v5a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2`}],[`path`,{d:`M6 4h12`}],[`path`,{d:`m7 18 1-9`}]],Td=[[`path`,{d:`m6 9 6 6 6-6`}]],Ed=[[`path`,{d:`m7 18 6-6-6-6`}],[`path`,{d:`M17 6v12`}]],Dd=[[`path`,{d:`m17 18-6-6 6-6`}],[`path`,{d:`M7 6v12`}]],Od=[[`path`,{d:`m15 18-6-6 6-6`}]],kd=[[`path`,{d:`m9 18 6-6-6-6`}]],Ad=[[`path`,{d:`m18 15-6-6-6 6`}]],jd=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]],Md=[[`path`,{d:`m7 20 5-5 5 5`}],[`path`,{d:`m7 4 5 5 5-5`}]],Nd=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`m17 7 5 5-5 5`}],[`path`,{d:`m7 7-5 5 5 5`}],[`path`,{d:`M8 12h.01`}]],Pd=[[`path`,{d:`m9 7-5 5 5 5`}],[`path`,{d:`m15 7 5 5-5 5`}]],Fd=[[`path`,{d:`m11 17-5-5 5-5`}],[`path`,{d:`m18 17-5-5 5-5`}]],Id=[[`path`,{d:`m20 17-5-5 5-5`}],[`path`,{d:`m4 17 5-5-5-5`}]],Ld=[[`path`,{d:`m6 17 5-5-5-5`}],[`path`,{d:`m13 17 5-5-5-5`}]],Rd=[[`path`,{d:`m7 15 5 5 5-5`}],[`path`,{d:`m7 9 5-5 5 5`}]],zd=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]],Bd=[[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v5`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`m18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9`}],[`path`,{d:`M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14`}]],Vd=[[`path`,{d:`M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Hd=[[`path`,{d:`M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Ud=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],Wd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],Gd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],Kd=[[`path`,{d:`M2 12a10 10 0 1 1 10 10`}],[`path`,{d:`m2 22 10-10`}],[`path`,{d:`M8 22H2v-6`}]],qd=[[`path`,{d:`M12 22a10 10 0 1 1 10-10`}],[`path`,{d:`M22 22 12 12`}],[`path`,{d:`M22 16v6h-6`}]],Jd=[[`path`,{d:`M2 8V2h6`}],[`path`,{d:`m2 2 10 10`}],[`path`,{d:`M12 2A10 10 0 1 1 2 12`}]],Yd=[[`path`,{d:`M22 12A10 10 0 1 1 12 2`}],[`path`,{d:`M22 2 12 12`}],[`path`,{d:`M16 2h6v6`}]],Xd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 16 4-4-4-4`}],[`path`,{d:`M8 12h8`}]],Zd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],Qd=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]],$d=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]],ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 10-4 4-4-4`}]],tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14 16-4-4 4-4`}]],nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m10 8 4 4-4 4`}]],rf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m8 14 4-4 4 4`}]],af=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]],of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],sf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],cf=[[`path`,{d:`M10.1 2.18a9.93 9.93 0 0 1 3.8 0`}],[`path`,{d:`M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7`}],[`path`,{d:`M21.82 10.1a9.93 9.93 0 0 1 0 3.8`}],[`path`,{d:`M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69`}],[`path`,{d:`M13.9 21.82a9.94 9.94 0 0 1-3.8 0`}],[`path`,{d:`M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7`}],[`path`,{d:`M2.18 13.9a9.93 9.93 0 0 1 0-3.8`}],[`path`,{d:`M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],lf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],uf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M7 12h.01`}]],df=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],ff=[[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}],[`path`,{d:`M7 12h5`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],pf=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],mf=[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M13.4 10.6 19 5`}]],hf=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],gf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}]],_f=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`}]],vf=[[`path`,{d:`M12.656 7H13a3 3 0 0 1 2.984 3.307`}],[`path`,{d:`M13 13H9`}],[`path`,{d:`M19.071 19.071A1 1 0 0 1 4.93 4.93`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.357 2.687a10 10 0 0 1 12.956 12.956`}],[`path`,{d:`M9 17V9`}]],yf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],bf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],xf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],Sf=[[`circle`,{cx:`12`,cy:`19`,r:`2`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}],[`circle`,{cx:`8`,cy:`12`,r:`2`}]],Cf=[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],wf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],Tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 16V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M8 16h7`}]],Ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}]],Df=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],Of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],kf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M22 2 2 22`}]],Af=[[`circle`,{cx:`12`,cy:`12`,r:`6`}]],jf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}]],Mf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],Nf=[[`path`,{d:`M17.925 20.056a6 6 0 0 0-11.851.001`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Pf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`}]],Ff=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],If=[[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Lf=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M11 9h4a2 2 0 0 0 2-2V3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`M7 21v-4a2 2 0 0 1 2-2h4`}],[`circle`,{cx:`15`,cy:`15`,r:`2`}]],Rf=[[`path`,{d:`M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z`}],[`path`,{d:`M19.65 15.66A8 8 0 0 1 8.35 4.34`}],[`path`,{d:`m14 10-5.5 5.5`}],[`path`,{d:`M14 17.85V10H6.15`}]],zf=[[`path`,{d:`m12.296 3.464 3.02 3.956`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`m6.18 5.276 3.1 3.899`}]],Bf=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Vf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m9 14 2 2 4-4`}]],Hf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`}],[`path`,{d:`M21 14H11`}],[`path`,{d:`m15 10-4 4 4 4`}]],Uf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M12 11h4`}],[`path`,{d:`M12 16h4`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 16h.01`}]],Wf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}]],Gf=[[`path`,{d:`M11 14h10`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`}],[`path`,{d:`m17 18 4-4-4-4`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Kf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 1.73 1`}],[`path`,{d:`M8 18h1`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],qf=[[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21.34 15.664a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M8 22H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Jf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}],[`path`,{d:`M12 17v-6`}]],Yf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 12v-1h6v1`}],[`path`,{d:`M11 17h2`}],[`path`,{d:`M12 11v6`}]],Xf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m15 11-6 6`}],[`path`,{d:`m9 11 6 6`}]],Zf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}]],Qf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2-4`}]],$f=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4-2`}]],ep=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2-4`}]],tp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6`}]],np=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4-2`}]],rp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6h4`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],ap=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2 4`}]],op=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v10`}]],sp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2 4`}]],cp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6H8`}]],lp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4 2`}]],up=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M20 12v5`}],[`path`,{d:`M20 21h.01`}],[`path`,{d:`M21.25 8.2A10 10 0 1 0 16 21.16`}]],dp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M12.337 21.994a10 10 0 1 1 9.588-8.767`}],[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M18 14v8`}]],fp=[[`path`,{d:`M12 6v6l1.5.8`}],[`path`,{d:`M12.338 21.994a10 10 0 1 1 9.587-8.767`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22-4-4 4-4`}]],pp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M13.5 21.885A10 10 0 1 1 22 12`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22 4-4-4-4`}]],mp=[[`path`,{d:`M12 6v6l1.56.78`}],[`path`,{d:`M13.227 21.925a10 10 0 1 1 8.767-9.588`}],[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M18 22v-8`}]],hp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M22 12a10 10 0 1 0-11 9.95`}],[`path`,{d:`m22 16-5.5 5.5L14 19`}]],gp=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],_p=[[`path`,{d:`M12 6v6l3.644 1.822`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21.92 13.267a10 10 0 1 0-8.653 8.653`}]],vp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],yp=[[`path`,{d:`M10 9.17a3 3 0 1 0 0 5.66`}],[`path`,{d:`M17 9.17a3 3 0 1 0 0 5.66`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],bp=[[`path`,{d:`M12 12v4`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.128 16.949A7 7 0 1 1 15.71 8h1.79a1 1 0 0 1 0 9h-1.642`}]],xp=[[`path`,{d:`m17 15-5.5 5.5L9 18`}],[`path`,{d:`M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327`}]],Sp=[[`path`,{d:`M21 15.251A4.5 4.5 0 0 0 17.5 8h-1.79A7 7 0 1 0 3 13.607`}],[`path`,{d:`M7 11v4h4`}],[`path`,{d:`M8 19a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5 4.82 4.82 0 0 0-3.41 1.41L7 15`}]],Cp=[[`path`,{d:`m10.852 19.772-.383.924`}],[`path`,{d:`m13.148 14.228.383-.923`}],[`path`,{d:`M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 15.852.923-.383`}],[`path`,{d:`m14.772 18.148.923.383`}],[`path`,{d:`M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2`}],[`path`,{d:`m9.228 15.852-.923-.383`}],[`path`,{d:`m9.228 18.148-.923.383`}]],wp=[[`path`,{d:`M12 13v8l-4-4`}],[`path`,{d:`m12 21 4-4`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`}]],Tp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 17H7`}],[`path`,{d:`M17 21H9`}]],Ep=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 19v1`}],[`path`,{d:`M8 14v1`}],[`path`,{d:`M16 19v1`}],[`path`,{d:`M16 14v1`}],[`path`,{d:`M12 21v1`}],[`path`,{d:`M12 16v1`}]],Dp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v2`}],[`path`,{d:`M8 14v2`}],[`path`,{d:`M16 20h.01`}],[`path`,{d:`M8 20h.01`}],[`path`,{d:`M12 16v2`}],[`path`,{d:`M12 22h.01`}]],Op=[[`path`,{d:`M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973`}],[`path`,{d:`m13 12-3 5h4l-3 5`}]],kp=[[`path`,{d:`M11 20v2`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M7 19v2`}]],Ap=[[`path`,{d:`M13 16a3 3 0 0 1 0 6H7a5 5 0 1 1 4.9-6z`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}]],jp=[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`}],[`path`,{d:`m2 2 20 20`}]],Mp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m9.2 22 3-7`}],[`path`,{d:`m9 13-3 7`}],[`path`,{d:`m17 13-3 7`}]],Np=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v6`}],[`path`,{d:`M8 14v6`}],[`path`,{d:`M12 16v6`}]],Pp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M8 19h.01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M12 21h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M16 19h.01`}]],Fp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M11 20v2`}],[`path`,{d:`M7 19v2`}]],Ip=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z`}]],Lp=[[`path`,{d:`m17 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M17 22v-4h-4`}],[`path`,{d:`M20.996 15.251A4.5 4.5 0 0 0 17.495 8h-1.79a7 7 0 1 0-12.709 5.607`}],[`path`,{d:`M7 10v4h4`}],[`path`,{d:`m7 14 1.535-1.605a5 5 0 0 1 8 1.5`}]],Rp=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m8 17 4-4 4 4`}]],zp=[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`}]],Bp=[[`path`,{d:`M17.5 12a1 1 0 1 1 0 9H9.006a7 7 0 1 1 6.702-9z`}],[`path`,{d:`M21.832 9A3 3 0 0 0 19 7h-2.207a5.5 5.5 0 0 0-10.72.61`}]],Vp=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]],Hp=[[`path`,{d:`M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z`}],[`path`,{d:`M12 17.66L12 22`}]],Up=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]],Wp=[[`path`,{d:`m16 18 6-6-6-6`}],[`path`,{d:`m8 6-6 6 6 6`}]],Gp=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`}],[`path`,{d:`M6 2v2`}]],Kp=[[`path`,{d:`M11 10.27 7 3.34`}],[`path`,{d:`m11 13.73-4 6.93`}],[`path`,{d:`M12 22v-2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M14 12h8`}],[`path`,{d:`m17 20.66-1-1.73`}],[`path`,{d:`m17 3.34-1 1.73`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`m20.66 17-1.73-1`}],[`path`,{d:`m20.66 7-1.73 1`}],[`path`,{d:`m3.34 17 1.73-1`}],[`path`,{d:`m3.34 7 1.73 1`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`8`}]],qp=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]],Jp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 3v18`}]],Yp=[[`path`,{d:`M10.6 21H5a2 2 0 01-2-2V5a2 2 0 012-2h14a2 2 0 012 2v5.6`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`M15 3v7.6`}],[`path`,{d:`m15.229 16.852-.924-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.773 16.852.922-.383`}],[`path`,{d:`m20.773 19.148.922.383`}],[`path`,{d:`M9 3v18`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Xp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],Zp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7.5 3v18`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16.5 3v18`}]],Qp=[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`}]],$p=[[`path`,{d:`M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`m7 15 3 3`}],[`path`,{d:`m7 21 3-3H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}]],em=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`}]],tm=[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}]],nm=[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h2`}],[`path`,{d:`M12 18h6`}]],rm=[[`path`,{d:`M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z`}],[`path`,{d:`M20 16a8 8 0 1 0-16 0`}],[`path`,{d:`M12 4v4`}],[`path`,{d:`M10 4h4`}]],im=[[`path`,{d:`m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98`}],[`ellipse`,{cx:`12`,cy:`19`,rx:`9`,ry:`3`}]],am=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M17.915 22a6 6 0 0 0-12 0`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],om=[[`rect`,{x:`2`,y:`6`,width:`20`,height:`8`,rx:`1`}],[`path`,{d:`M17 14v7`}],[`path`,{d:`M7 14v7`}],[`path`,{d:`M17 3v3`}],[`path`,{d:`M7 3v3`}],[`path`,{d:`M10 14 2.3 6.3`}],[`path`,{d:`m14 6 7.7 7.7`}],[`path`,{d:`m8 6 8 8`}]],sm=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`11`,r:`3`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],cm=[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`}],[`path`,{d:`M10 21.9V14L2.1 9.1`}],[`path`,{d:`m10 14 11.9-6.9`}],[`path`,{d:`M14 19.8v-8.1`}],[`path`,{d:`M18 17.5V9.4`}]],lm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 18a6 6 0 0 0 0-12v12z`}]],um=[[`path`,{d:`M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5`}],[`path`,{d:`M8.5 8.5v.01`}],[`path`,{d:`M16 15.5v.01`}],[`path`,{d:`M12 12v.01`}],[`path`,{d:`M11 17v.01`}],[`path`,{d:`M7 14v.01`}]],dm=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`m4 8 16-4`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`}]],fm=[[`path`,{d:`m12 15 2 2 4-4`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],pm=[[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],mm=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],hm=[[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],gm=[[`line`,{x1:`12`,x2:`18`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],_m=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],vm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.17 14.83a4 4 0 1 0 0-5.66`}]],ym=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M14.83 14.83a4 4 0 1 1 0-5.66`}]],bm=[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`}],[`path`,{d:`m9 10-5 5 5 5`}]],xm=[[`path`,{d:`m15 10 5 5-5 5`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],Sm=[[`path`,{d:`M14 9 9 4 4 9`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`}]],Cm=[[`path`,{d:`m14 15-5 5-5-5`}],[`path`,{d:`M20 4h-7a4 4 0 0 0-4 4v12`}]],wm=[[`path`,{d:`m10 15 5 5 5-5`}],[`path`,{d:`M4 4h7a4 4 0 0 1 4 4v12`}]],Tm=[[`path`,{d:`m10 9 5-5 5 5`}],[`path`,{d:`M4 20h7a4 4 0 0 0 4-4V4`}]],Em=[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}],[`path`,{d:`M9 14 4 9l5-5`}]],Dm=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M4 20v-7a4 4 0 0 1 4-4h12`}]],Om=[[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M17 20v2`}],[`path`,{d:`M17 2v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M2 17h2`}],[`path`,{d:`M2 7h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 17h2`}],[`path`,{d:`M20 7h2`}],[`path`,{d:`M7 20v2`}],[`path`,{d:`M7 2v2`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],km=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}],[`path`,{d:`M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}]],Am=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`}]],jm=[[`path`,{d:`M10.2 18H4.774a1.5 1.5 0 0 1-1.352-.97 11 11 0 0 1 .132-6.487`}],[`path`,{d:`M18 10.2V4.774a1.5 1.5 0 0 0-.97-1.352 11 11 0 0 0-6.486.132`}],[`path`,{d:`M18 5a4 3 0 0 1 4 3 2 2 0 0 1-2 2 10 10 0 0 0-5.139 1.42`}],[`path`,{d:`M5 18a3 4 0 0 0 3 4 2 2 0 0 0 2-2 10 10 0 0 1 1.42-5.14`}],[`path`,{d:`M8.709 2.554a10 10 0 0 0-6.155 6.155 1.5 1.5 0 0 0 .676 1.626l9.807 5.42a2 2 0 0 0 2.718-2.718l-5.42-9.807a1.5 1.5 0 0 0-1.626-.676`}]],Mm=[[`path`,{d:`M6 2v14a2 2 0 0 0 2 2h14`}],[`path`,{d:`M18 22V8a2 2 0 0 0-2-2H2`}]],Nm=[[`path`,{d:`M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z`}]],Pm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`}]],Fm=[[`path`,{d:`M10 22v-8`}],[`path`,{d:`M2.336 8.89 10 14l11.715-7.029`}],[`path`,{d:`M22 14a2 2 0 0 1-.971 1.715l-10 6a2 2 0 0 1-2.138-.05l-6-4A2 2 0 0 1 2 16v-6a2 2 0 0 1 .971-1.715l10-6a2 2 0 0 1 2.138.05l6 4A2 2 0 0 1 22 8z`}]],Im=[[`path`,{d:`m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}],[`path`,{d:`m12 8 1-6h2`}]],Lm=[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`}],[`path`,{d:`M5 21h14`}]],Rm=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`line`,{x1:`3`,x2:`6`,y1:`3`,y2:`6`}],[`line`,{x1:`21`,x2:`18`,y1:`3`,y2:`6`}],[`line`,{x1:`3`,x2:`6`,y1:`21`,y2:`18`}],[`line`,{x1:`21`,x2:`18`,y1:`21`,y2:`18`}]],zm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5v14a9 3 0 0 0 18 0V5`}]],Bm=[[`path`,{d:`M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z`}]],Vm=[[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M3 12A9 3 0 0 0 15.182 14.806`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Hm=[[`path`,{d:`M19 22v-6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M3 12A9 3 0 0 0 14.457 14.886`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Um=[[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Wm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`}],[`path`,{d:`M21 9.3V5`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`}],[`path`,{d:`M12 12v4h4`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`}]],Gm=[[`path`,{d:`M21 15V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Km=[[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 15.1824 14.8061`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],qm=[[`path`,{d:`M21 11.693V5`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Jm=[[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M19.323 13.744A9 3 0 0 0 21 12`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M3 12A9 3 0 0 0 13.563 14.954`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13 21.981`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Ym=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`}],[`path`,{d:`M21 5V8`}],[`path`,{d:`M21 12L18 17H22L19 22`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`}]],Xm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}]],Zm=[[`path`,{d:`M10 18h10`}],[`path`,{d:`m17 21 3-3-3-3`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`15`,y:`3`,width:`5`,height:`8`,rx:`2.5`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Qm=[[`path`,{d:`m13 21-3-3 3-3`}],[`path`,{d:`M20 18H10`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],$m=[[`path`,{d:`M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z`}],[`path`,{d:`m12 9 6 6`}],[`path`,{d:`m18 9-6 6`}]],eh=[[`path`,{d:`M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826`}],[`path`,{d:`M20.804 14.869a9 9 0 0 1-17.608 0`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],th=[[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}],[`path`,{d:`M6.48 3.66a10 10 0 0 1 13.86 13.86`}],[`path`,{d:`m6.41 6.41 11.18 11.18`}],[`path`,{d:`M3.66 6.48a10 10 0 0 0 13.86 13.86`}]],nh=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],rh=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z`}],[`path`,{d:`M9.2 9.2h.01`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`M14.7 14.8h.01`}]],ih=[[`path`,{d:`M12 8v8`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],ah=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`}]],oh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M12 12h.01`}]],sh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M9 15h.01`}]],ch=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M8 16h.01`}]],lh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}]],uh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M12 12h.01`}]],dh=[[`rect`,{width:`12`,height:`12`,x:`2`,y:`10`,rx:`2`,ry:`2`}],[`path`,{d:`m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 14h.01`}],[`path`,{d:`M15 6h.01`}],[`path`,{d:`M18 9h.01`}]],fh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M8 16h.01`}]],ph=[[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M5 21h14`}]],mh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 12h.01`}]],hh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M6 12c0-1.7.7-3.2 1.8-4.2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M18 12c0 1.7-.7 3.2-1.8 4.2`}]],gh=[[`circle`,{cx:`12`,cy:`6`,r:`1`}],[`line`,{x1:`5`,x2:`19`,y1:`12`,y2:`12`}],[`circle`,{cx:`12`,cy:`18`,r:`1`}]],_h=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`5`}],[`path`,{d:`M12 12h.01`}]],vh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],yh=[[`path`,{d:`M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c3.333-3 6.667-3 10-3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16`}]],bh=[[`path`,{d:`m10 16 1.5 1.5`}],[`path`,{d:`m14 8-1.5-1.5`}],[`path`,{d:`M15 2c-1.798 1.998-2.518 3.995-2.807 5.993`}],[`path`,{d:`m16.5 10.5 1 1`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c6.667-6 13.333 0 20-6`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.798-1.998 2.518-3.995 2.807-5.993`}]],xh=[[`path`,{d:`M2 8h20`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 16h12`}]],Sh=[[`path`,{d:`M11.25 16.25h1.5L12 17z`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5`}]],Ch=[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`}]],wh=[[`path`,{d:`M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Th=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 9V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h8`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}],[`rect`,{x:`14`,y:`17`,width:`8`,height:`5`,rx:`1`}]],Eh=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h20`}]],Dh=[[`path`,{d:`M11 20H2`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M14 12h.01`}],[`path`,{d:`M22 20h-3`}]],Oh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}]],kh=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]],Ah=[[`path`,{d:`M10 11h.01`}],[`path`,{d:`M14 6h.01`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6.5 13.1h.01`}],[`path`,{d:`M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3`}],[`path`,{d:`M17.4 9.9c-.8.8-2 .8-2.8 0`}],[`path`,{d:`M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7`}],[`path`,{d:`M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4`}]],jh=[[`path`,{d:`M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z`}],[`path`,{d:`M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8`}],[`path`,{d:`M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M18 6h4`}],[`path`,{d:`m5 10-2 8`}],[`path`,{d:`m7 18 2-8`}]],Mh=[[`path`,{d:`m12.99 6.74 1.93 3.44`}],[`path`,{d:`M19.136 12a10 10 0 0 1-14.271 0`}],[`path`,{d:`m21 21-2.16-3.84`}],[`path`,{d:`m3 21 8.02-14.26`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}]],Nh=[[`path`,{d:`M10 10 7 7`}],[`path`,{d:`m10 14-3 3`}],[`path`,{d:`m14 10 3-3`}],[`path`,{d:`m14 14 3 3`}],[`path`,{d:`M14.205 4.139a4 4 0 1 1 5.439 5.863`}],[`path`,{d:`M19.637 14a4 4 0 1 1-5.432 5.868`}],[`path`,{d:`M4.367 10a4 4 0 1 1 5.438-5.862`}],[`path`,{d:`M9.795 19.862a4 4 0 1 1-5.429-5.873`}],[`rect`,{x:`10`,y:`8`,width:`4`,height:`8`,rx:`1`}]],Ph=[[`path`,{d:`M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208`}]],Fh=[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`}]],Ih=[[`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`}],[`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`}]],Lh=[[`path`,{d:`m2 2 8 8`}],[`path`,{d:`m22 2-8 8`}],[`ellipse`,{cx:`12`,cy:`9`,rx:`10`,ry:`5`}],[`path`,{d:`M7 13.4v7.9`}],[`path`,{d:`M12 14v8`}],[`path`,{d:`M17 13.4v7.9`}],[`path`,{d:`M2 9v8a10 5 0 0 0 20 0V9`}]],Rh=[[`path`,{d:`M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23`}],[`path`,{d:`m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59`}]],zh=[[`path`,{d:`M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z`}],[`path`,{d:`m2.5 21.5 1.4-1.4`}],[`path`,{d:`m20.1 3.9 1.4-1.4`}],[`path`,{d:`M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z`}],[`path`,{d:`m9.6 14.4 4.8-4.8`}]],Bh=[[`path`,{d:`M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46`}],[`path`,{d:`M6 8.5c0-.75.13-1.47.36-2.14`}],[`path`,{d:`M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76`}],[`path`,{d:`M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Vh=[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`}]],Hh=[[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M12 2a10 10 0 1 0 9.54 13`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],Uh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a7 7 0 1 0 10 10`}]],Wh=[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Gh=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`3.5`}],[`path`,{d:`M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z`}]],Kh=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19`}],[`path`,{d:`M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568`}]],qh=[[`path`,{d:`M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12`}]],Jh=[[`ellipse`,{cx:`12`,cy:`12`,rx:`10`,ry:`6`}]],Yh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],Xh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}]],Zh=[[`path`,{d:`M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}],[`path`,{d:`M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}]],Qh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}],[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}]],$h=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}]],eg=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]],tg=[[`path`,{d:`M10 8v1`}],[`path`,{d:`M14 8v1`}],[`path`,{d:`M18 8v1`}],[`path`,{d:`M19 17a2 2 0 00-1.765 1.059l-.47.882A2 2 0 0115 20H9a2 2 0 01-1.765-1.059l-.47-.882A2 2 0 005 17H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2z`}],[`path`,{d:`M6 8v1`}]],ng=[[`path`,{d:`M4 10h12`}],[`path`,{d:`M4 14h9`}],[`path`,{d:`M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2`}]],rg=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 7h11`}],[`path`,{d:`m9 11-2 3h3l-2 3`}]],ig=[[`path`,{d:`m15 15 6 6`}],[`path`,{d:`m15 9 6-6`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`M21 8V3h-5`}],[`path`,{d:`M3 16v5h5`}],[`path`,{d:`m3 21 6-6`}],[`path`,{d:`M3 8V3h5`}],[`path`,{d:`M9 9 3 3`}]],ag=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]],og=[[`path`,{d:`m15 18-.722-3.25`}],[`path`,{d:`M2 8a10.645 10.645 0 0 0 20 0`}],[`path`,{d:`m20 15-1.726-2.05`}],[`path`,{d:`m4 15 1.726-2.05`}],[`path`,{d:`m9 18 .722-3.25`}]],sg=[[`path`,{d:`M13.054 18.946a11 11 0 0 1-2.11 0`}],[`path`,{d:`M13.054 5.054a11 11 0 0 0-2.11-.001`}],[`path`,{d:`M17.072 6.274a11 11 0 0 1 1.753 1.173`}],[`path`,{d:`M18.825 16.552a11 11 0 0 1-1.753 1.174`}],[`path`,{d:`M2.514 13.303a11 11 0 0 1-.452-.954 1 1 0 0 1 0-.697 11 11 0 0 1 .45-.955`}],[`path`,{d:`M21.485 10.697a11 11 0 0 1 .453.955 1 1 0 0 1 0 .697 11 11 0 0 1-.453.954`}],[`path`,{d:`M5.173 7.448a11 11 0 0 1 1.753-1.174`}],[`path`,{d:`M6.926 17.726a11 11 0 0 1-1.753-1.174`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],cg=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],lg=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],ug=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M8 16h.01`}]],dg=[[`path`,{d:`M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z`}],[`path`,{d:`M12 12v.01`}]],fg=[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`}]],pg=[[`path`,{d:`M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M6 18h4`}],[`path`,{d:`m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M14 8h4`}],[`path`,{d:`M14 18h4`}],[`path`,{d:`m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}]],mg=[[`path`,{d:`M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z`}],[`path`,{d:`M16 8 2 22`}],[`path`,{d:`M17.5 15H9`}]],hg=[[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m6.8 15-3.5 2`}],[`path`,{d:`m20.7 7-3.5 2`}],[`path`,{d:`M6.8 9 3.3 7`}],[`path`,{d:`m20.7 17-3.5-2`}],[`path`,{d:`m9 22 3-8 3 8`}],[`path`,{d:`M8 22h8`}],[`path`,{d:`M18 18.7a9 9 0 1 0-12 0`}]],gg=[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12v-1`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M8 7V6`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],_g=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 18 4-4`}],[`path`,{d:`M8 10v8h8`}]],vg=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88`}],[`circle`,{cx:`6`,cy:`14`,r:`3`}]],yg=[[`path`,{d:`M14 2v5a1 1 0 001 1h5`}],[`path`,{d:`M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804`}],[`path`,{d:`M2.264 13.752 7 16.5l4.737-2.748`}],[`path`,{d:`M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}],[`path`,{d:`M7 16.5V22`}]],bg=[[`path`,{d:`M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1`}],[`path`,{d:`M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1`}]],xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`}]],Sg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M12 18v-4`}],[`path`,{d:`M16 18v-6`}]],Cg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-1`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`M16 18v-3`}]],wg=[[`path`,{d:`M15.941 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.512`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4.017 11.512a6 6 0 1 0 8.466 8.475`}],[`path`,{d:`M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z`}]],Tg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 13-3.5 3.5-2-2L8 17`}]],Eg=[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14 20 2 2 4-4`}]],Dg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m9 15 2 2 4-4`}]],Og=[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 16-3 3 3 3`}],[`path`,{d:`m9 22 3-3-3-3`}]],kg=[[`path`,{d:`M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 14v2.2l1.6 1`}],[`circle`,{cx:`8`,cy:`16`,r:`6`}]],Ag=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12.5 8 15l2 2.5`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`}]],jg=[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`}],[`path`,{d:`m3.305 19.53.923-.382`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`}],[`path`,{d:`m4.228 16.852-.924-.383`}],[`path`,{d:`m5.852 15.228-.383-.923`}],[`path`,{d:`m5.852 20.772-.383.924`}],[`path`,{d:`m8.148 15.228.383-.923`}],[`path`,{d:`m8.53 21.696-.382-.924`}],[`path`,{d:`m9.773 16.852.922-.383`}],[`path`,{d:`m9.773 19.148.922.383`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Mg=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 16h2v6`}],[`path`,{d:`M10 22h4`}],[`rect`,{x:`2`,y:`16`,width:`4`,height:`6`,rx:`2`}]],Ng=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 10h6`}],[`path`,{d:`M12 13V7`}],[`path`,{d:`M9 17h6`}]],Pg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`m9 15 3 3 3-3`}]],Fg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],Ig=[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`}]],Lg=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z`}]],Rg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`10`,cy:`12`,r:`2`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`}]],zg=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 15h10`}],[`path`,{d:`m9 18 3-3-3-3`}]],Bg=[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4 12v6`}],[`path`,{d:`M4 14h2`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Vg=[[`path`,{d:`M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`}]],Hg=[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 18h6`}]],Ug=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}]],Wg=[[`path`,{d:`M11.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v10.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 20v-7l3 1.474`}],[`circle`,{cx:`6`,cy:`20`,r:`2`}]],Gg=[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 11-3 3`}],[`path`,{d:`m5 17-3-3h10`}]],Kg=[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`}],[`path`,{d:`M8 18h1`}]],qg=[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`}]],Jg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`}]],Yg=[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 19h6`}],[`path`,{d:`M17 16v6`}]],Xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`M12 18v-6`}]],Zg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}]],Qg=[[`path`,{d:`M20 10V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 14a2 2 0 0 0-2 2`}],[`path`,{d:`M16 22a2 2 0 0 1-2-2`}],[`path`,{d:`M20 14a2 2 0 0 1 2 2`}],[`path`,{d:`M20 22a2 2 0 0 0 2-2`}]],$g=[[`path`,{d:`M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m21 22-2.88-2.88`}],[`circle`,{cx:`16`,cy:`17`,r:`3`}]],e_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`}],[`path`,{d:`M13.3 16.3 15 18`}]],t_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M10 11v2`}],[`path`,{d:`M8 17h8`}],[`path`,{d:`M14 16v2`}]],n_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M11.5 13.5a2.5 2.5 0 0 1 0 3`}],[`path`,{d:`M15 12a5 5 0 0 1 0 6`}]],r_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h2`}],[`path`,{d:`M14 13h2`}],[`path`,{d:`M8 17h2`}],[`path`,{d:`M14 17h2`}]],i_=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 18 3-3-3-3`}]],a_=[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`}]],o_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 16 2-2-2-2`}],[`path`,{d:`M12 18h4`}]],s_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 9H8`}],[`path`,{d:`M16 13H8`}],[`path`,{d:`M16 17H8`}]],c_=[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`}],[`path`,{d:`M6 22h2`}],[`path`,{d:`M7 14v8`}]],l_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M11 18h2`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`}]],u_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`m15 15-3-3-3 3`}]],d_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 22a4 4 0 0 0-8 0`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],f_=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 17.843 3.033-1.755a.64.64 0 0 1 .967.56v4.704a.65.65 0 0 1-.967.56L10 20.157`}],[`rect`,{width:`7`,height:`6`,x:`3`,y:`16`,rx:`1`}]],p_=[[`path`,{d:`M4 11.55V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-1.95`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 15a5 5 0 0 1 0 6`}],[`path`,{d:`M8 14.502a.5.5 0 0 0-.826-.381l-1.893 1.631a1 1 0 0 1-.651.243H3.5a.5.5 0 0 0-.5.501v3.006a.5.5 0 0 0 .5.501h1.129a1 1 0 0 1 .652.243l1.893 1.633a.5.5 0 0 0 .826-.38z`}]],m_=[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m15 17 5 5`}],[`path`,{d:`m20 17-5 5`}]],h_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14.5 12.5-5 5`}],[`path`,{d:`m9.5 12.5 5 5`}]],g_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}]],__=[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`}]],v_=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M3 7.5h4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 16.5h4`}],[`path`,{d:`M17 3v18`}],[`path`,{d:`M17 7.5h4`}],[`path`,{d:`M17 16.5h4`}]],y_=[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`}],[`path`,{d:`M2 16h.01`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`}]],b_=[[`path`,{d:`M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5`}],[`path`,{d:`M9 18h8`}],[`path`,{d:`M18 3h-3`}],[`path`,{d:`M11 3a6 6 0 0 0-6 6v11`}],[`path`,{d:`M5 13h4`}],[`path`,{d:`M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z`}]],x_=[[`path`,{d:`M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20`}]],S_=[[`path`,{d:`M2 16s9-15 20-4C11 23 2 8 2 8`}]],C_=[[`path`,{d:`M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z`}],[`path`,{d:`M18 12v.5`}],[`path`,{d:`M16 17.93a9.77 9.77 0 0 1 0-11.86`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33`}],[`path`,{d:`M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98`}]],w_=[[`path`,{d:`m17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10`}],[`path`,{d:`M20.414 8.586 22 7`}],[`circle`,{cx:`19`,cy:`10`,r:`2`}]],T_=[[`path`,{d:`M4 11h1`}],[`path`,{d:`M8 15a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1h.5C14 2 20 9 20 18v4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}]],E_=[[`path`,{d:`M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 22V4`}],[`path`,{d:`M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347`}]],D_=[[`path`,{d:`M18 22V2.8a.8.8 0 0 0-1.17-.71L5.45 7.78a.8.8 0 0 0 0 1.44L18 15.5`}]],O_=[[`path`,{d:`M6 22V2.8a.8.8 0 0 1 1.17-.71l11.38 5.69a.8.8 0 0 1 0 1.44L6 15.5`}]],k_=[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}]],A_=[[`path`,{d:`M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z`}],[`path`,{d:`m5 22 14-4`}],[`path`,{d:`m5 18 14 4`}]],j_=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]],M_=[[`path`,{d:`M11.652 6H18`}],[`path`,{d:`M12 13v1`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`}]],N_=[[`path`,{d:`M12 13v1`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 6h12`}]],P_=[[`path`,{d:`M10 2v2.343`}],[`path`,{d:`M14 2v6.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563`}],[`path`,{d:`M6.453 15H15`}],[`path`,{d:`M8.5 2h7`}]],F_=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]],I_=[[`path`,{d:`M10 2v6.292a7 7 0 1 0 4 0V2`}],[`path`,{d:`M5 15h14`}],[`path`,{d:`M8.5 2h7`}]],L_=[[`path`,{d:`m3 7 5 5-5 5V7`}],[`path`,{d:`m21 7-5 5 5 5V7`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],R_=[[`path`,{d:`m17 3-5 5-5-5h10`}],[`path`,{d:`m17 21-5-5-5 5h10`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],z_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5`}],[`path`,{d:`M12 7.5V9`}],[`path`,{d:`M7.5 12H9`}],[`path`,{d:`M16.5 12H15`}],[`path`,{d:`M12 16.5V15`}],[`path`,{d:`m8 8 1.88 1.88`}],[`path`,{d:`M14.12 9.88 16 8`}],[`path`,{d:`m8 16 1.88-1.88`}],[`path`,{d:`M14.12 14.12 16 16`}]],B_=[[`path`,{d:`M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M12 10v12`}],[`path`,{d:`M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z`}],[`path`,{d:`M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z`}]],V_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],H_=[[`path`,{d:`M2 12h6`}],[`path`,{d:`M22 12h-6`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 9-3 3 3 3`}],[`path`,{d:`m5 15 3-3-3-3`}]],U_=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3-3-3 3`}],[`path`,{d:`m15 5-3 3-3-3`}]],W_=[[`circle`,{cx:`15`,cy:`19`,r:`2`}],[`path`,{d:`M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1`}],[`path`,{d:`M15 11v-1`}],[`path`,{d:`M15 17v-2`}]],G_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9 13 2 2 4-4`}]],K_=[[`path`,{d:`M12 6v8l3-3 3 3V6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],q_=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],J_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M2 10h20`}]],Y_=[[`path`,{d:`M10 10.5 8 13l2 2.5`}],[`path`,{d:`m14 10.5 2 2.5-2 2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],X_=[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Z_=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`1`}]],Q_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m15 13-3 3-3-3`}]],$_=[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`}],[`circle`,{cx:`13`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],ev=[[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M14 13h3`}],[`path`,{d:`M7 13h3`}]],tv=[[`path`,{d:`M10.638 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.417`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],nv=[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m9 16 3-3-3-3`}]],rv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M12 10v2`}],[`path`,{d:`M16 10v6`}]],iv=[[`path`,{d:`M13 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.36`}],[`path`,{d:`M19 12v6`}],[`path`,{d:`M19 14h2`}],[`circle`,{cx:`19`,cy:`20`,r:`2`}]],av=[[`rect`,{width:`8`,height:`5`,x:`14`,y:`17`,rx:`1`}],[`path`,{d:`M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}]],ov=[[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],sv=[[`path`,{d:`m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2`}],[`circle`,{cx:`14`,cy:`15`,r:`1`}]],cv=[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`}]],lv=[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m5 10-3 3 3 3`}]],uv=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],dv=[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],fv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M12 15v5`}]],pv=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M13.3 14.3 15 16`}]],mv=[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`}],[`path`,{d:`m21 21-1.9-1.9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],hv=[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`m8 16 3-3-3-3`}]],gv=[[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5`}],[`path`,{d:`M12 10v4h4`}],[`path`,{d:`m12 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M22 22v-4h-4`}],[`path`,{d:`m22 18-1.535 1.605a5 5 0 0 1-8-1.5`}]],_v=[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`}]],vv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m9 13 3-3 3 3`}]],yv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9.5 10.5 5 5`}],[`path`,{d:`m14.5 10.5-5 5`}]],bv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],xv=[[`path`,{d:`M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z`}],[`path`,{d:`M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1`}]],Sv=[[`path`,{d:`M12 12H5a2 2 0 0 0-2 2v5`}],[`path`,{d:`M15 19h7`}],[`path`,{d:`M16 19V2`}],[`path`,{d:`M6 12V7a2 2 0 0 1 2-2h2.172a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 16 10.828`}],[`path`,{d:`M7 19h4`}],[`circle`,{cx:`13`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Cv=[[`path`,{d:`M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z`}],[`path`,{d:`M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z`}],[`path`,{d:`M16 17h4`}],[`path`,{d:`M4 13h4`}]],wv=[[`path`,{d:`M4 14h6`}],[`path`,{d:`M4 2h10`}],[`rect`,{x:`4`,y:`18`,width:`16`,height:`4`,rx:`1`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`4`,rx:`1`}]],Tv=[[`path`,{d:`m15 17 5-5-5-5`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`}]],Ev=[[`line`,{x1:`22`,x2:`2`,y1:`6`,y2:`6`}],[`line`,{x1:`22`,x2:`2`,y1:`18`,y2:`18`}],[`line`,{x1:`6`,x2:`6`,y1:`2`,y2:`22`}],[`line`,{x1:`18`,x2:`18`,y1:`2`,y2:`22`}]],Dv=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Ov=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 9h11`}]],kv=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{width:`10`,height:`8`,x:`7`,y:`8`,rx:`1`}]],Av=[[`path`,{d:`M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348`}],[`path`,{d:`M16 6h6`}],[`path`,{d:`M19 3v6`}]],jv=[[`path`,{d:`M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473`}],[`path`,{d:`m16.5 3.5 5 5`}],[`path`,{d:`m21.5 3.5-5 5`}]],Mv=[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`}]],Nv=[[`path`,{d:`M2 7v10`}],[`path`,{d:`M6 5v14`}],[`rect`,{width:`12`,height:`18`,x:`10`,y:`3`,rx:`2`}]],Pv=[[`path`,{d:`M2 3v18`}],[`rect`,{width:`12`,height:`18`,x:`6`,y:`3`,rx:`2`}],[`path`,{d:`M22 3v18`}]],Fv=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M4 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M19 21h1`}]],Iv=[[`path`,{d:`M3 2h18`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`6`,rx:`2`}],[`path`,{d:`M3 22h18`}]],Lv=[[`path`,{d:`M7 2h10`}],[`path`,{d:`M5 6h14`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}]],Rv=[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`}]],zv=[[`path`,{d:`M11.146 15.854a1.207 1.207 0 0 1 1.708 0l1.56 1.56A2 2 0 0 1 15 18.828V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2.172a2 2 0 0 1 .586-1.414z`}],[`path`,{d:`M18.828 15a2 2 0 0 1-1.414-.586l-1.56-1.56a1.207 1.207 0 0 1 0-1.708l1.56-1.56A2 2 0 0 1 18.828 9H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M6.586 14.414A2 2 0 0 1 5.172 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2.172a2 2 0 0 1 1.414.586l1.56 1.56a1.207 1.207 0 0 1 0 1.708z`}],[`path`,{d:`M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.172a2 2 0 0 1-.586 1.414l-1.56 1.56a1.207 1.207 0 0 1-1.708 0l-1.56-1.56A2 2 0 0 1 9 5.172z`}]],Bv=[[`line`,{x1:`6`,x2:`10`,y1:`12`,y2:`12`}],[`line`,{x1:`8`,x2:`8`,y1:`10`,y2:`14`}],[`line`,{x1:`15`,x2:`15.01`,y1:`13`,y2:`13`}],[`line`,{x1:`18`,x2:`18.01`,y1:`11`,y2:`11`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],Vv=[[`path`,{d:`m12 14 4-4`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`}]],Hv=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381`}],[`path`,{d:`m16 16 6-6`}],[`path`,{d:`m21.5 10.5-8-8`}],[`path`,{d:`m8 8 6-6`}],[`path`,{d:`m8.5 7.5 8 8`}]],Uv=[[`path`,{d:`M10.5 3 8 9l4 13 4-13-2.5-6`}],[`path`,{d:`M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z`}],[`path`,{d:`M2 9h20`}]],Wv=[[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`}]],Gv=[[`path`,{d:`M11.5 21a7.5 7.5 0 1 1 7.35-9`}],[`path`,{d:`M13 12V3`}],[`path`,{d:`M4 21h16`}],[`path`,{d:`M9 12V3`}]],Kv=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]],qv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`path`,{d:`M21 18h-6`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Jv=[[`path`,{d:`M6 3v12`}],[`path`,{d:`M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M15 6a9 9 0 0 0-9 9`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],Yv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Xv=[[`path`,{d:`M12 3v6`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 15v6`}]],Zv=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}],[`path`,{d:`m15 9-3-3 3-3`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`}],[`path`,{d:`m9 15 3 3-3 3`}]],Qv=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`}]],$v=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`}]],ey=[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]],ty=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v6`}],[`circle`,{cx:`5`,cy:`18`,r:`3`}],[`path`,{d:`M12 3v18`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}],[`path`,{d:`M16 15.7A9 9 0 0 0 19 9`}]],ny=[[`path`,{d:`M12 6h4a2 2 0 0 1 2 2v7`}],[`path`,{d:`M6 12v9`}],[`path`,{d:`M9 3 3 9`}],[`path`,{d:`M9 9 3 3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],ry=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]],iy=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}]],ay=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`m21 3-6 6`}],[`path`,{d:`m21 9-6-6`}],[`path`,{d:`M18 11.5V15`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],oy=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v3`}],[`path`,{d:`M19 15v6`}],[`path`,{d:`M22 18h-6`}]],sy=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],see=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M18 6V5`}],[`path`,{d:`M18 11v-1`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],cee=[[`path`,{d:`M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z`}],[`path`,{d:`M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0`}]],lee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],uee=[[`circle`,{cx:`6`,cy:`15`,r:`4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`}]],dee=[[`path`,{d:`m15 6 2 2 4-4`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}]],fee=[[`path`,{d:`M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13`}],[`path`,{d:`M2 12h8.5`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],pee=[[`path`,{d:`M10.114 4.462A14.5 14.5 0 0 1 12 2a10 10 0 0 1 9.313 13.643`}],[`path`,{d:`M15.557 15.556A14.5 14.5 0 0 1 12 22 10 10 0 0 1 4.929 4.929`}],[`path`,{d:`M15.892 10.234A14.5 14.5 0 0 0 12 2a10 10 0 0 0-3.643.687`}],[`path`,{d:`M17.656 12H22`}],[`path`,{d:`M19.071 19.071A10 10 0 0 1 12 22 14.5 14.5 0 0 1 8.44 8.45`}],[`path`,{d:`M2 12h10`}],[`path`,{d:`m2 2 20 20`}]],mee=[[`path`,{d:`m16 3 5 5`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}],[`path`,{d:`m21 3-5 5`}]],hee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`}],[`path`,{d:`M2 12h20`}]],gee=[[`path`,{d:`M12 13V2l8 4-8 4`}],[`path`,{d:`M20.561 10.222a9 9 0 1 1-12.55-5.29`}],[`path`,{d:`M8.002 9.997a5 5 0 1 0 8.9 2.02`}]],_ee=[[`path`,{d:`M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2`}],[`path`,{d:`M2 21V3`}],[`path`,{d:`M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3`}],[`circle`,{cx:`16`,cy:`11`,r:`2`}],[`circle`,{cx:`8`,cy:`11`,r:`2`}]],vee=[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`}],[`path`,{d:`M22 10v6`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`}]],yee=[[`path`,{d:`M22 5V2l-5.89 5.89`}],[`circle`,{cx:`16.6`,cy:`15.89`,r:`3`}],[`circle`,{cx:`8.11`,cy:`7.4`,r:`3`}],[`circle`,{cx:`12.35`,cy:`11.65`,r:`3`}],[`circle`,{cx:`13.91`,cy:`5.85`,r:`3`}],[`circle`,{cx:`18.15`,cy:`10.09`,r:`3`}],[`circle`,{cx:`6.56`,cy:`13.2`,r:`3`}],[`circle`,{cx:`10.8`,cy:`17.44`,r:`3`}],[`circle`,{cx:`5`,cy:`19`,r:`3`}]],cy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 19 2 2 4-4`}]],ly=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 22v-6`}]],uy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`m16 21 5-5`}]],dy=[[`path`,{d:`M12 3v18`}],[`path`,{d:`M3 12h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],bee=[[`path`,{d:`M15 3v18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M9 3v18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],fy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],xee=[[`circle`,{cx:`12`,cy:`9`,r:`1`}],[`circle`,{cx:`19`,cy:`9`,r:`1`}],[`circle`,{cx:`5`,cy:`9`,r:`1`}],[`circle`,{cx:`12`,cy:`15`,r:`1`}],[`circle`,{cx:`19`,cy:`15`,r:`1`}],[`circle`,{cx:`5`,cy:`15`,r:`1`}]],See=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]],Cee=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`19`,cy:`5`,r:`1`}],[`circle`,{cx:`5`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}],[`circle`,{cx:`19`,cy:`19`,r:`1`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],wee=[[`path`,{d:`M3 7V5c0-1.1.9-2 2-2h2`}],[`path`,{d:`M17 3h2c1.1 0 2 .9 2 2v2`}],[`path`,{d:`M21 17v2c0 1.1-.9 2-2 2h-2`}],[`path`,{d:`M7 21H5c-1.1 0-2-.9-2-2v-2`}],[`rect`,{width:`7`,height:`5`,x:`7`,y:`7`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`10`,y:`12`,rx:`1`}]],Tee=[[`path`,{d:`m11.9 12.1 4.514-4.514`}],[`path`,{d:`M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z`}],[`path`,{d:`m6 16 2 2`}],[`path`,{d:`M8.23 9.85A3 3 0 0 1 11 8a5 5 0 0 1 5 5 3 3 0 0 1-1.85 2.77l-.92.38A2 2 0 0 0 12 18a4 4 0 0 1-4 4 6 6 0 0 1-6-6 4 4 0 0 1 4-4 2 2 0 0 0 1.85-1.23z`}]],Eee=[[`path`,{d:`M12 16H4a2 2 0 1 1 0-4h16a2 2 0 1 1 0 4h-4.25`}],[`path`,{d:`M5 12a2 2 0 0 1-2-2 9 7 0 0 1 18 0 2 2 0 0 1-2 2`}],[`path`,{d:`M5 16a2 2 0 0 0-2 2 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 2 2 0 0 0-2-2q0 0 0 0`}],[`path`,{d:`m6.67 12 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}]],Dee=[[`path`,{d:`M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856`}],[`path`,{d:`M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288`}],[`path`,{d:`M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025`}],[`path`,{d:`m8.5 16.5-1-1`}]],Oee=[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`}],[`path`,{d:`m18 15 4-4`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`}]],kee=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]],Aee=[[`path`,{d:`M12.035 17.012a3 3 0 0 0-3-3l-.311-.002a.72.72 0 0 1-.505-1.229l1.195-1.195A2 2 0 0 1 10.828 11H12a2 2 0 0 0 0-4H9.243a3 3 0 0 0-2.122.879l-2.707 2.707A4.83 4.83 0 0 0 3 14a8 8 0 0 0 8 8h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v2a2 2 0 1 0 4 0`}],[`path`,{d:`M13.888 9.662A2 2 0 0 0 17 8V5A2 2 0 1 0 13 5`}],[`path`,{d:`M9 5A2 2 0 1 0 5 5V10`}],[`path`,{d:`M9 7V4A2 2 0 1 1 13 4V7.268`}]],jee=[[`path`,{d:`M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16`}],[`path`,{d:`m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95`}],[`path`,{d:`m2 15 6 6`}],[`path`,{d:`m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91`}]],py=[[`path`,{d:`M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5`}],[`path`,{d:`M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0`}]],my=[[`path`,{d:`M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14`}],[`path`,{d:`m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 13 6 6`}]],Mee=[[`path`,{d:`M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 11V9a2 2 0 1 0-4 0v2`}],[`path`,{d:`M10 10.5V5a2 2 0 1 0-4 0v9`}],[`path`,{d:`m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5`}]],Nee=[[`path`,{d:`M12 3V2`}],[`path`,{d:`m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5`}],[`path`,{d:`M2 14h12a2 2 0 0 1 0 4h-2`}],[`path`,{d:`M4 10h16`}],[`path`,{d:`M5 10a7 7 0 0 1 14 0`}],[`path`,{d:`M5 14v6a1 1 0 0 1-1 1H2`}]],Pee=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],Fee=[[`path`,{d:`M2.048 18.566A2 2 0 0 0 4 21h16a2 2 0 0 0 1.952-2.434l-2-9A2 2 0 0 0 18 8H6a2 2 0 0 0-1.952 1.566z`}],[`path`,{d:`M8 11V6a4 4 0 0 1 8 0v5`}]],Iee=[[`path`,{d:`m11 17 2 2a1 1 0 1 0 3-3`}],[`path`,{d:`m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4`}],[`path`,{d:`m21 3 1 11h-2`}],[`path`,{d:`M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3`}],[`path`,{d:`M3 4h8`}]],Lee=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m16 6-4 4-4-4`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Ree=[[`path`,{d:`M10 16h.01`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}],[`path`,{d:`M21.946 12.013H2.054`}],[`path`,{d:`M6 16h.01`}]],zee=[[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M12 2v8`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Bee=[[`path`,{d:`M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5`}],[`path`,{d:`M14 6a6 6 0 0 1 6 6v3`}],[`path`,{d:`M4 15v-3a6 6 0 0 1 6-6`}],[`rect`,{x:`2`,y:`15`,width:`20`,height:`4`,rx:`1`}]],Vee=[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`}]],Hee=[[`path`,{d:`M14 18a2 2 0 0 0-4 0`}],[`path`,{d:`m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11`}],[`path`,{d:`M2 11h20`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Uee=[[`path`,{d:`m5.2 6.2 1.4 1.4`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`m17.4 7.6 1.4-1.4`}],[`path`,{d:`M22 17H2`}],[`path`,{d:`M22 21H2`}],[`path`,{d:`M16 13a4 4 0 0 0-8 0`}],[`path`,{d:`M12 5V2.5`}]],Wee=[[`path`,{d:`M10 12H6`}],[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`path`,{d:`M6 15V9`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],Gee=[[`path`,{d:`M22 9a1 1 0 00-1-1H3a1 1 0 00-1 1v4a1 1 0 001 1h.5a2 2 0 011.6.8l.3.4A2 2 0 007 16h10a2 2 0 001.6-.8l.3-.4a2 2 0 011.6-.8h.5a1 1 0 001-1z`}],[`path`,{d:`M8 12h8`}]],Kee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`m17 12 3-2v8`}]],qee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1`}]],Jee=[[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 10v3a1 1 0 0 0 1 1h3`}],[`path`,{d:`M21 10v8`}],[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}]],Yee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2`}],[`path`,{d:`M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2`}]],Xee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 13v-3h4`}],[`path`,{d:`M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17`}]],Zee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`circle`,{cx:`19`,cy:`16`,r:`2`}],[`path`,{d:`M20 10c-2 2-3 3.5-3 6`}]],Qee=[[`path`,{d:`M6 12h12`}],[`path`,{d:`M6 20V4`}],[`path`,{d:`M18 20V4`}]],$ee=[[`path`,{d:`M21 14h-1.343`}],[`path`,{d:`M9.128 3.47A9 9 0 0 1 21 12v3.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364`}]],ete=[[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3`}]],tte=[[`path`,{d:`M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z`}],[`path`,{d:`M21 16v2a4 4 0 0 1-4 4h-5`}]],nte=[[`path`,{d:`M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15`}],[`path`,{d:`M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z`}]],rte=[[`path`,{d:`M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762`}]],ite=[[`path`,{d:`m14.876 18.99-1.368 1.323a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.244 1.572`}],[`path`,{d:`M15 15h6`}]],ate=[[`path`,{d:`M10.5 4.893a5.5 5.5 0 0 1 1.091.931.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 1.872-1.002 3.356-2.187 4.655`}],[`path`,{d:`m16.967 16.967-3.459 3.346a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 2.747-4.761`}],[`path`,{d:`m2 2 20 20`}]],ote=[[`path`,{d:`m14.479 19.374-.971.939a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.219 1.49`}],[`path`,{d:`M15 15h6`}],[`path`,{d:`M18 12v6`}]],ste=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}],[`path`,{d:`M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27`}]],cte=[[`path`,{d:`m15.5 12.5 5 5`}],[`path`,{d:`m20.5 12.5-5 5`}],[`path`,{d:`M21.955 8.774a5.5 5.5 0 0 0-9.546-2.95.6.6 0 0 1-.818 0A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.508 5.332a2 2 0 0 0 2.57.352`}]],lte=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}]],ute=[[`path`,{d:`M11 8c2-3-2-3 0-6`}],[`path`,{d:`M15.5 8c2-3-2-3 0-6`}],[`path`,{d:`M6 10h.01`}],[`path`,{d:`M6 14h.01`}],[`path`,{d:`M10 16v-4`}],[`path`,{d:`M14 16v-4`}],[`path`,{d:`M18 16v-4`}],[`path`,{d:`M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3`}],[`path`,{d:`M5 20v2`}],[`path`,{d:`M19 20v2`}]],dte=[[`path`,{d:`M11 17v4`}],[`path`,{d:`M14 3v8a2 2 0 0 0 2 2h5.865`}],[`path`,{d:`M17 17v4`}],[`path`,{d:`M18 17a4 4 0 0 0 4-4 8 6 0 0 0-8-6 6 5 0 0 0-6 5v3a2 2 0 0 0 2 2z`}],[`path`,{d:`M2 10v5`}],[`path`,{d:`M6 3h16`}],[`path`,{d:`M7 21h14`}],[`path`,{d:`M8 13H2`}]],fte=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}]],pte=[[`path`,{d:`m9 11-6 6v3h9l3-3`}],[`path`,{d:`m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4`}]],mte=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M12 7v5l4 2`}]],hte=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18`}],[`path`,{d:`M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88`}],[`path`,{d:`M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87`}],[`path`,{d:`M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08`}],[`path`,{d:`M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57`}],[`path`,{d:`M4.93 4.93 3 3a.7.7 0 0 1 0-1`}],[`path`,{d:`M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15`}]],gte=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27`}],[`path`,{d:`M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26`}],[`path`,{d:`M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25`}],[`path`,{d:`M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75`}],[`path`,{d:`M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24`}],[`path`,{d:`M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28`}],[`path`,{d:`M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05`}],[`path`,{d:`m2 2 20 20`}]],_te=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M14 9h-4`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`}]],vte=[[`path`,{d:`M10 22v-6.57`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M12 7h.01`}],[`path`,{d:`M14 15.43V22`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M16 7h.01`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 7h.01`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],yte=[[`path`,{d:`M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],bte=[[`path`,{d:`M5 22h14`}],[`path`,{d:`M5 2h14`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`}]],xte=[[`path`,{d:`M12.35 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v2.35`}],[`path`,{d:`M14.8 12.4A1 1 0 0 0 14 12h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],hy=[[`path`,{d:`M10 12V8.964`}],[`path`,{d:`M14 12V8.964`}],[`path`,{d:`M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z`}],[`path`,{d:`M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2`}]],gy=[[`path`,{d:`M9.5 13.866a4 4 0 0 1 5 .01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`M7 10.754a8 8 0 0 1 10 0`}]],_y=[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],vy=[[`path`,{d:`M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M12.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M15.5 6.5a3.5 3.5 0 1 0-7 0`}]],yy=[[`path`,{d:`m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11`}],[`path`,{d:`M17 7A5 5 0 0 0 7 7`}],[`path`,{d:`M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4`}]],by=[[`path`,{d:`M13.5 8h-3`}],[`path`,{d:`m15 2-1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3`}],[`path`,{d:`M16.899 22A5 5 0 0 0 7.1 22`}],[`path`,{d:`m9 2 3 6`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],xy=[[`path`,{d:`M16 10h2`}],[`path`,{d:`M16 14h2`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`}],[`circle`,{cx:`9`,cy:`11`,r:`2`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],Sy=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19 3 3v-5.5`}],[`path`,{d:`m17 22 3-3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Cy=[[`path`,{d:`M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`line`,{x1:`16`,x2:`22`,y1:`5`,y2:`5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],wy=[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`}]],Ty=[[`path`,{d:`M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m6 21 5-5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Ey=[[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Dy=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19.5 3-3 3 3`}],[`path`,{d:`M17 22v-5.5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Oy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],ky=[[`path`,{d:`m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16`}],[`path`,{d:`M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2`}],[`circle`,{cx:`13`,cy:`7`,r:`1`,fill:`currentColor`}],[`rect`,{x:`8`,y:`2`,width:`14`,height:`14`,rx:`2`}]],Ay=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M17 21h2a2 2 0 0 0 2-2`}],[`path`,{d:`M21 12v3`}],[`path`,{d:`m21 3-5 5`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2`}],[`path`,{d:`m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19`}],[`path`,{d:`M9 3h3`}],[`rect`,{x:`3`,y:`11`,width:`10`,height:`10`,rx:`1`}]],jy=[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}]],My=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m8 11 4 4 4-4`}],[`path`,{d:`M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4`}]],Ny=[[`path`,{d:`M6 3h12`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`m6 13 8.5 8`}],[`path`,{d:`M6 13h3`}],[`path`,{d:`M9 13c6.667 0 6.667-10 0-10`}]],Py=[[`path`,{d:`M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8`}]],Fy=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]],Iy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h.01`}],[`path`,{d:`M17 7h.01`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M17 17h.01`}]],Ly=[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`}]],Ry=[[`path`,{d:`m16 14 4 4-4 4`}],[`path`,{d:`M20 10a8 8 0 1 0-8 8h8`}]],zy=[[`path`,{d:`M4 10a8 8 0 1 1 8 8H4`}],[`path`,{d:`m8 22-4-4 4-4`}]],By=[[`path`,{d:`M12 9.5V21m0-11.5L6 3m6 6.5L18 3`}],[`path`,{d:`M6 15h12`}],[`path`,{d:`M6 11h12`}]],Vy=[[`path`,{d:`M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z`}],[`path`,{d:`M6 15v-2`}],[`path`,{d:`M12 15V9`}],[`circle`,{cx:`12`,cy:`6`,r:`3`}]],Hy=[[`path`,{d:`M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z`}],[`path`,{d:`M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61`}],[`path`,{d:`m6.707 6.707 10.586 10.586`}],[`path`,{d:`M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z`}]],Uy=[[`path`,{d:`M5 3v14`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`M19 3v18`}]],Wy=[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Gy=[[`path`,{d:`M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814`}]],Ky=[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}],[`path`,{d:`m21 2-9.6 9.6`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`}]],qy=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M6 12v4`}],[`path`,{d:`M10 12v4`}],[`path`,{d:`M14 12v4`}],[`path`,{d:`M18 12v4`}]],Jy=[[`path`,{d:`M10 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M7 16h10`}],[`path`,{d:`M8 12h.01`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}]],Yy=[[`path`,{d:`M 20 4 A2 2 0 0 1 22 6`}],[`path`,{d:`M 22 6 L 22 16.41`}],[`path`,{d:`M 7 16 L 16 16`}],[`path`,{d:`M 9.69 4 L 20 4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M8 12h.01`}]],Xy=[[`path`,{d:`M12 2v5`}],[`path`,{d:`M14.829 15.998a3 3 0 1 1-5.658 0`}],[`path`,{d:`M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z`}]],Zy=[[`path`,{d:`M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z`}],[`path`,{d:`m14.207 4.793-3.414 3.414`}],[`path`,{d:`M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z`}],[`path`,{d:`m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18`}]],Qy=[[`path`,{d:`M12 10v12`}],[`path`,{d:`M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M9 22h6`}]],$y=[[`path`,{d:`M19.929 18.629A1 1 0 0 1 19 20H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 13h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 6h4a2 2 0 0 1 2 2v5`}]],eb=[[`path`,{d:`M19.929 9.629A1 1 0 0 1 19 11H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 4h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 18h4a2 2 0 0 0 2-2v-5`}]],tb=[[`path`,{d:`M12 12v6`}],[`path`,{d:`M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z`}],[`path`,{d:`M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z`}]],nb=[[`path`,{d:`m12 8 6-3-6-3v10`}],[`path`,{d:`m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12`}],[`path`,{d:`m6.49 12.85 11.02 6.3`}],[`path`,{d:`M17.51 12.85 6.5 19.15`}]],rb=[[`path`,{d:`M10 18v-7`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`}],[`path`,{d:`M14 18v-7`}],[`path`,{d:`M18 18v-7`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M6 18v-7`}]],ib=[[`path`,{d:`m5 8 6 6`}],[`path`,{d:`m4 14 6-6 2-3`}],[`path`,{d:`M2 5h12`}],[`path`,{d:`M7 2h1`}],[`path`,{d:`m22 22-5-10-5 10`}],[`path`,{d:`M14 18h6`}]],ab=[[`path`,{d:`M2 20h20`}],[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`12`,rx:`2`}]],ob=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`4`,rx:`2`,ry:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`20`,y2:`20`}]],sb=[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`}],[`path`,{d:`M20.054 15.987H3.946`}]],cb=[[`path`,{d:`M7 22a5 5 0 0 1-2-4`}],[`path`,{d:`M7 16.93c.96.43 1.96.74 2.99.91`}],[`path`,{d:`M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2`}],[`path`,{d:`M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z`}],[`path`,{d:`M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z`}]],lb=[[`path`,{d:`M3.704 14.467a10 8 0 1 1 3.115 2.375`}],[`path`,{d:`M7 22a5 5 0 0 1-2-3.994`}],[`circle`,{cx:`5`,cy:`16`,r:`2`}]],ub=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],db=[[`path`,{d:`M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z`}],[`path`,{d:`m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845`}]],fb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.832z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M2.003 11.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18`}],[`path`,{d:`M2.003 16.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l2.11-.96`}],[`path`,{d:`M22.018 12.004a1 1 0 0 1-.598.916l-.177.08`}]],pb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]],mb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962`}]],hb=[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}]],gb=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]],_b=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`path`,{d:`M14 4h7`}],[`path`,{d:`M14 9h7`}],[`path`,{d:`M14 15h7`}],[`path`,{d:`M14 20h7`}]],vb=[[`rect`,{width:`7`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],yb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],bb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`}]],xb=[[`path`,{d:`M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z`}],[`path`,{d:`M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12`}]],Sb=[[`path`,{d:`M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22`}],[`path`,{d:`M2 22 17 7`}]],Cb=[[`path`,{d:`M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3`}],[`path`,{d:`M18 6V3a1 1 0 0 0-1-1h-3`}],[`rect`,{width:`8`,height:`12`,x:`8`,y:`10`,rx:`1`}]],wb=[[`path`,{d:`M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z`}]],Tb=[[`path`,{d:`M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z`}]],Eb=[[`rect`,{width:`8`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z`}]],Db=[[`path`,{d:`m16 6 4 14`}],[`path`,{d:`M12 6v14`}],[`path`,{d:`M8 8v12`}],[`path`,{d:`M4 4v16`}]],Ob=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m4.93 4.93 4.24 4.24`}],[`path`,{d:`m14.83 9.17 4.24-4.24`}],[`path`,{d:`m14.83 14.83 4.24 4.24`}],[`path`,{d:`m9.17 14.83-4.24 4.24`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],kb=[[`path`,{d:`M14 12h2v8`}],[`path`,{d:`M14 20h4`}],[`path`,{d:`M6 12h4`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M8 20V8a4 4 0 0 1 7.464-2`}]],Ab=[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],jb=[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],Mb=[[`path`,{d:`M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2`}]],Nb=[[`path`,{d:`M 3 12 L 15 12`}],[`circle`,{cx:`18`,cy:`12`,r:`3`}]],Pb=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Fb=[[`path`,{d:`M11 5h2`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M19 5h2`}],[`path`,{d:`M3 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 5h2`}]],Ib=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],Lb=[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}]],Rb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`m15 18 2 2 4-4`}]],zb=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`path`,{d:`m3 7 2 2 4-4`}]],Bb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 5 3 3 3-3`}],[`path`,{d:`m15 19 3-3 3 3`}]],Vb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 8 3-3 3 3`}],[`path`,{d:`m15 16 3 3 3-3`}]],Hb=[[`path`,{d:`M10 5h11`}],[`path`,{d:`M10 12h11`}],[`path`,{d:`M10 19h11`}],[`path`,{d:`m3 10 3-3-3-3`}],[`path`,{d:`m3 20 3-3-3-3`}]],Ub=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M9 19H3`}],[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`}]],Wb=[[`path`,{d:`M12 5H2`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 8V2`}]],Gb=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m7 8-4 4 4 4`}]],Kb=[[`path`,{d:`M2 5h20`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}]],qb=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m3 8 4 4-4 4`}]],Jb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 12h-6`}]],Yb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`M21 16V5`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],Xb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M18 9v6`}],[`path`,{d:`M21 12h-6`}]],Zb=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 19H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],Qb=[[`path`,{d:`M11 5h10`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 19h10`}],[`path`,{d:`M4 4h1v5`}],[`path`,{d:`M4 9h2`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`}]],$b=[[`path`,{d:`M3 19h18`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M9 5H3`}]],ex=[[`path`,{d:`M15 12H3`}],[`path`,{d:`M3 5h18`}],[`path`,{d:`M9 19H3`}]],tx=[[`path`,{d:`M3 5h6`}],[`path`,{d:`M3 12h13`}],[`path`,{d:`M3 19h13`}],[`path`,{d:`m16 8-3-3 3-3`}],[`path`,{d:`M21 19V7a2 2 0 0 0-2-2h-6`}]],nx=[[`path`,{d:`M8 5h13`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`}]],rx=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}]],ix=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`}]],ax=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`m15.5 9.5 5 5`}],[`path`,{d:`m20.5 9.5-5 5`}]],ox=[[`path`,{d:`M3 5h.01`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M3 19h.01`}],[`path`,{d:`M8 5h13`}],[`path`,{d:`M8 12h13`}],[`path`,{d:`M8 19h13`}]],sx=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],cx=[[`path`,{d:`M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0`}],[`path`,{d:`M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6`}],[`path`,{d:`M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],lx=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m4.9 19.1 2.9-2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m4.9 4.9 2.9 2.9`}]],ux=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],dx=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M18.89 13.24a7 7 0 0 0-8.13-8.13`}],[`path`,{d:`M19 12h3`}],[`path`,{d:`M2 12h3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.05 7.05a7 7 0 0 0 9.9 9.9`}]],fx=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],px=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 9.33-2.5`}]],mx=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`}]],hx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]],gx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]],_x=[[`path`,{d:`m10 17 5-5-5-5`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`}]],vx=[[`path`,{d:`m16 17 5-5-5-5`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],yx=[[`path`,{d:`M3 5h1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M3 19h1`}],[`path`,{d:`M8 5h1`}],[`path`,{d:`M8 12h1`}],[`path`,{d:`M8 19h1`}],[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}]],bx=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0`}]],xx=[[`path`,{d:`M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2`}],[`path`,{d:`M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14`}],[`path`,{d:`M10 20h4`}],[`circle`,{cx:`16`,cy:`20`,r:`2`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],Sx=[[`path`,{d:`m12 15 4 4`}],[`path`,{d:`M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z`}],[`path`,{d:`m5 8 4 4`}]],Cx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m16 19 2 2 4-4`}]],wx=[[`path`,{d:`M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M16 19h6`}]],Tx=[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`}]],Ex=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M16 19h6`}]],Dx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2`}],[`path`,{d:`M20 22v.01`}]],Ox=[[`path`,{d:`M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.5-1.5`}]],kx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M20 14v4`}],[`path`,{d:`M20 22v.01`}]],Ax=[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],jx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m17 17 4 4`}],[`path`,{d:`m21 17-4 4`}]],Mx=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z`}],[`polyline`,{points:`15,9 18,9 18,11`}],[`path`,{d:`M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2`}],[`line`,{x1:`6`,x2:`7`,y1:`10`,y2:`10`}]],Nx=[[`path`,{d:`M17 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 1-1.732`}],[`path`,{d:`m22 5.5-6.419 4.179a2 2 0 0 1-2.162 0L7 5.5`}],[`rect`,{x:`7`,y:`3`,width:`15`,height:`12`,rx:`2`}]],Px=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14`}],[`path`,{d:`M15 5.764V14`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],Fx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m9 10 2 2 4-4`}]],Ix=[[`path`,{d:`M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m16 18 2 2 4-4`}]],Lx=[[`path`,{d:`M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2`}],[`path`,{d:`M18 22v-3`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Rx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M9 10h6`}]],zx=[[`path`,{d:`M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}]],Bx=[[`path`,{d:`M12.75 7.09a3 3 0 0 1 2.16 2.16`}],[`path`,{d:`M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533`}],[`path`,{d:`M9.13 9.13a3 3 0 0 0 3.74 3.74`}]],Vx=[[`path`,{d:`M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Hx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M12 7v6`}],[`path`,{d:`M9 10h6`}]],Ux=[[`path`,{d:`M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}],[`path`,{d:`M19 15v6`}]],Wx=[[`path`,{d:`M 12.248 21.969 a 1 1 0 0 1 -0.849 -0.17 C 9.539 20.193 4 14.993 4 10 a 8 8 0 0 1 16 0 C 20 10.42 19.961 10.841 19.888 11.262`}],[`path`,{d:`m22 22-1.88-1.88`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Gx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`m9.5 7.5 5 5`}]],Kx=[[`path`,{d:`M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m21.5 15.5-5 5`}],[`path`,{d:`m21.5 20.5-5-5`}]],qx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}]],Jx=[[`path`,{d:`M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712`}]],Yx=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12`}],[`path`,{d:`M15 5.764V12`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],Xx=[[`path`,{d:`m14 6 4 4`}],[`path`,{d:`M17 3h4v4`}],[`path`,{d:`m21 3-7.75 7.75`}],[`circle`,{cx:`9`,cy:`15`,r:`6`}]],Zx=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`m21 3-6.75 6.75`}],[`circle`,{cx:`10`,cy:`14`,r:`6`}]],Qx=[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`}],[`path`,{d:`M15 5.764v15`}],[`path`,{d:`M9 3.236v15`}]],$x=[[`path`,{d:`M12 12 4.207 4.207A.707.707 0 0 1 4.707 3h14.586a.707.707 0 0 1 .5 1.207z`}],[`path`,{d:`M12 12v10`}],[`path`,{d:`M7 22h10`}]],eS=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`m21 3-7 7`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M9 21H3v-6`}]],tS=[[`path`,{d:`M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15`}],[`path`,{d:`M11 12 5.12 2.2`}],[`path`,{d:`m13 12 5.88-9.8`}],[`path`,{d:`M8 7h8`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}],[`path`,{d:`M12 18v-2h-.5`}]],nS=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`}]],rS=[[`path`,{d:`M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344`}],[`path`,{d:`M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 8v6`}]],iS=[[`path`,{d:`M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 6v8`}]],aS=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],oS=[[`path`,{d:`M12 12v-2`}],[`path`,{d:`M12 18v-2`}],[`path`,{d:`M16 12v-2`}],[`path`,{d:`M16 18v-2`}],[`path`,{d:`M2 11h1.5`}],[`path`,{d:`M20 18v-2`}],[`path`,{d:`M20.5 11H22`}],[`path`,{d:`M4 18v-2`}],[`path`,{d:`M8 12v-2`}],[`path`,{d:`M8 18v-2`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`}]],sS=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]],cS=[[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`}],[`path`,{d:`m20 22-5-5`}]],lS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m9 12 2 2 4-4`}]],uS=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],dS=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.72a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.28 17.61a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`m6.163 21.117-2.906.85a1 1 0 0 1-1.236-1.169l.965-2.98`}]],fS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z`}]],pS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],mS=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.93 4.929a10 10 0 0 0-1.938 11.412 2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 0 0 11.302-1.989`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}]],hS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],gS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],_S=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m10 15-3-3 3-3`}],[`path`,{d:`M7 12h8a2 2 0 0 1 2 2v1`}]],vS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],yS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],bS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],xS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m9 11 2 2 4-4`}]],SS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`m14 14 3-3-3-3`}]],CS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M10 15h4`}],[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v4`}]],wS=[[`path`,{d:`M14 3h2`}],[`path`,{d:`M16 19h-2`}],[`path`,{d:`M2 12v-2`}],[`path`,{d:`M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149`}],[`path`,{d:`M20 19a2 2 0 0 0 2-2v-1`}],[`path`,{d:`M22 10v2`}],[`path`,{d:`M22 6V5a2 2 0 0 0-2-2`}],[`path`,{d:`M4 3a2 2 0 0 0-2 2v1`}],[`path`,{d:`M8 19h2`}],[`path`,{d:`M8 3h2`}]],TS=[[`path`,{d:`M12.7 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4.7`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],ES=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`}]],DS=[[`path`,{d:`M22 8.5V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H10`}],[`path`,{d:`M20 15v-2a2 2 0 0 0-4 0v2`}],[`rect`,{x:`14`,y:`15`,width:`8`,height:`5`,rx:`1`}]],OS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M8 11h.01`}]],kS=[[`path`,{d:`M19 19H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v11.344`}]],AS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 8v6`}],[`path`,{d:`M9 11h6`}]],jS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`M17 14v-1a2 2 0 0 0-2-2H7`}]],MS=[[`path`,{d:`M14 14a2 2 0 0 0 2-2V8h-2`}],[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M8 14a2 2 0 0 0 2-2V8H8`}]],NS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7 11h10`}],[`path`,{d:`M7 15h6`}],[`path`,{d:`M7 7h8`}]],PS=[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}],[`path`,{d:`M16 3h6v6`}],[`path`,{d:`m16 9 6-6`}]],FS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 15h.01`}],[`path`,{d:`M12 7v4`}]],IS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m14.5 8.5-5 5`}],[`path`,{d:`m9.5 8.5 5 5`}]],LS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]],RS=[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`}]],zS=[[`path`,{d:`M12 11.4V9.1`}],[`path`,{d:`m12 17 6.59-6.59`}],[`path`,{d:`m15.05 5.7-.218-.691a3 3 0 0 0-5.663 0L4.418 19.695A1 1 0 0 0 5.37 21h13.253a1 1 0 0 0 .951-1.31L18.45 16.2`}],[`circle`,{cx:`20`,cy:`9`,r:`2`}]],BS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`}]],VS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`}]],HS=[[`path`,{d:`m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12`}],[`path`,{d:`M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5`}],[`circle`,{cx:`16`,cy:`7`,r:`5`}]],US=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 17h4`}],[`path`,{d:`M10 7h4`}],[`path`,{d:`M18 12h2`}],[`path`,{d:`M18 18h2`}],[`path`,{d:`M18 6h2`}],[`path`,{d:`M4 12h2`}],[`path`,{d:`M4 18h2`}],[`path`,{d:`M4 6h2`}],[`rect`,{x:`6`,y:`2`,width:`12`,height:`20`,rx:`2`}]],WS=[[`path`,{d:`M6 18h8`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M14 22a7 7 0 1 0 0-14h-1`}],[`path`,{d:`M9 14h2`}],[`path`,{d:`M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z`}],[`path`,{d:`M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],GS=[[`rect`,{width:`20`,height:`15`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`8`,height:`7`,x:`6`,y:`8`,rx:`1`}],[`path`,{d:`M18 8v7`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 19v2`}]],KS=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z`}]],qS=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],JS=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2`}],[`path`,{d:`M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}]],YS=[[`path`,{d:`m14 10 7-7`}],[`path`,{d:`M20 10h-6V4`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M4 14h6v6`}]],XS=[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`}]],ZS=[[`path`,{d:`M5 12h14`}]],QS=[[`path`,{d:`M11 6 8 9`}],[`path`,{d:`m16 7-8 8`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],$S=[[`path`,{d:`M10 6.6 8.6 8`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`M15 7.5 9.5 13`}],[`path`,{d:`M7 22h10`}],[`circle`,{cx:`12`,cy:`10`,r:`8`}]],eC=[[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],tC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`m14.305 7.53.923-.382`}],[`path`,{d:`m15.228 4.852-.923-.383`}],[`path`,{d:`m16.852 3.228-.383-.924`}],[`path`,{d:`m16.852 8.772-.383.923`}],[`path`,{d:`m19.148 3.228.383-.924`}],[`path`,{d:`m19.53 9.696-.382-.924`}],[`path`,{d:`m20.772 4.852.924-.383`}],[`path`,{d:`m20.772 7.148.924.383`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}]],nC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],rC=[[`path`,{d:`M11 13a3 3 0 1 1 2.83-4H14a2 2 0 0 1 0 4z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],iC=[[`path`,{d:`M12 13V7`}],[`path`,{d:`m15 10-3 3-3-3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],aC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042`}]],oC=[[`path`,{d:`M10 13V7`}],[`path`,{d:`M14 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],sC=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],cC=[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`}],[`path`,{d:`M10 19v-3.96 3.15`}],[`path`,{d:`M7 19h5`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`}]],lC=[[`path`,{d:`M5.5 20H8`}],[`path`,{d:`M17 9h.01`}],[`rect`,{width:`10`,height:`16`,x:`12`,y:`4`,rx:`2`}],[`path`,{d:`M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4`}],[`circle`,{cx:`17`,cy:`15`,r:`1`}]],uC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}],[`rect`,{x:`9`,y:`7`,width:`6`,height:`6`,rx:`1`}]],dC=[[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`M12 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],fC=[[`path`,{d:`m14.5 12.5-5-5`}],[`path`,{d:`m9.5 12.5 5-5`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],pC=[[`path`,{d:`M18 5h4`}],[`path`,{d:`M20 3v4`}],[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],mC=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`}]],hC=[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],gC=[[`path`,{d:`m18 14-1-3`}],[`path`,{d:`m3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81`}],[`path`,{d:`M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5`}],[`circle`,{cx:`19`,cy:`17`,r:`3`}],[`circle`,{cx:`5`,cy:`17`,r:`3`}]],_C=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}],[`path`,{d:`M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19`}]],vC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}]],yC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M5 10v5a7 7 0 0 0 14 0V9c0-3.527-2.608-6.515-6-7`}],[`circle`,{cx:`7`,cy:`4`,r:`2`}]],bC=[[`path`,{d:`M12 6v.343`}],[`path`,{d:`M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218`}],[`path`,{d:`M19 13.343V9A7 7 0 0 0 8.56 2.902`}],[`path`,{d:`M22 22 2 2`}]],xC=[[`path`,{d:`m15.55 8.45 5.138 2.087a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063L8.45 15.551`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`m6.816 11.528-2.779-6.84a.495.495 0 0 1 .651-.651l6.84 2.779`}]],SC=[[`path`,{d:`M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`path`,{d:`m11.8 11.8 8.4 8.4`}]],CC=[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`}]],wC=[[`path`,{d:`M12.586 12.586 19 19`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`}]],TC=[[`path`,{d:`M14 4.1 12 6`}],[`path`,{d:`m5.1 8-2.9-.8`}],[`path`,{d:`m6 12-1.9 2`}],[`path`,{d:`M7.2 2.2 8 5.1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`}]],EC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M19 10v5a7 7 0 0 1-14 0V9c0-3.527 2.608-6.515 6-7`}],[`circle`,{cx:`17`,cy:`4`,r:`2`}]],DC=[[`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`7`}],[`path`,{d:`M12 6v4`}]],OC=[[`path`,{d:`M5 3v16h16`}],[`path`,{d:`m5 19 6-6`}],[`path`,{d:`m2 6 3-3 3 3`}],[`path`,{d:`m18 16 3 3-3 3`}]],kC=[[`path`,{d:`M19 13v6h-6`}],[`path`,{d:`M5 11V5h6`}],[`path`,{d:`m5 5 14 14`}]],AC=[[`path`,{d:`M11 19H5v-6`}],[`path`,{d:`M13 5h6v6`}],[`path`,{d:`M19 5 5 19`}]],jC=[[`path`,{d:`M11 19H5V13`}],[`path`,{d:`M19 5L5 19`}]],MC=[[`path`,{d:`M19 13V19H13`}],[`path`,{d:`M5 5L19 19`}]],NC=[[`path`,{d:`M8 18L12 22L16 18`}],[`path`,{d:`M12 2V22`}]],PC=[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m6 8-4 4 4 4`}]],FC=[[`path`,{d:`M6 8L2 12L6 16`}],[`path`,{d:`M2 12H22`}]],IC=[[`path`,{d:`M18 8L22 12L18 16`}],[`path`,{d:`M2 12H22`}]],LC=[[`path`,{d:`M5 11V5H11`}],[`path`,{d:`M5 5L19 19`}]],RC=[[`path`,{d:`M13 5H19V11`}],[`path`,{d:`M19 5L5 19`}]],zC=[[`path`,{d:`M8 6L12 2L16 6`}],[`path`,{d:`M12 2V22`}]],BC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m8 18 4 4 4-4`}],[`path`,{d:`m8 6 4-4 4 4`}]],VC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],HC=[[`circle`,{cx:`8`,cy:`18`,r:`4`}],[`path`,{d:`M12 18V2l7 4`}]],UC=[[`circle`,{cx:`12`,cy:`18`,r:`4`}],[`path`,{d:`M16 18V2`}]],WC=[[`path`,{d:`M9 18V5l12-2v13`}],[`path`,{d:`m9 9 12-2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],GC=[[`path`,{d:`M9 18V5l12-2v13`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],KC=[[`path`,{d:`M9.31 9.31 5 21l7-4 7 4-1.17-3.17`}],[`path`,{d:`M14.53 8.88 12 2l-1.17 3.17`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],qC=[[`polygon`,{points:`12 2 19 21 12 17 5 21 12 2`}]],JC=[[`path`,{d:`M8.43 8.43 3 11l8 2 2 8 2.57-5.43`}],[`path`,{d:`M17.39 11.73 22 2l-9.73 4.61`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],YC=[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`}]],XC=[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`}],[`path`,{d:`M12 12V8`}]],ZC=[[`path`,{d:`M15 18h-5`}],[`path`,{d:`M18 14h-8`}],[`path`,{d:`M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2`}],[`rect`,{width:`8`,height:`4`,x:`10`,y:`6`,rx:`1`}]],QC=[[`path`,{d:`M6 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M9.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M12.91 4.1a15.91 15.91 0 0 1 .01 15.8`}],[`path`,{d:`M16.37 2a20.16 20.16 0 0 1 0 20`}]],$C=[[`path`,{d:`M12 2v10`}],[`path`,{d:`m8.5 4 7 4`}],[`path`,{d:`m8.5 8 7-4`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}]],ew=[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],tw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M15 2v20`}],[`path`,{d:`M15 7h5`}],[`path`,{d:`M15 12h5`}],[`path`,{d:`M15 17h5`}]],nw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M9.5 8h5`}],[`path`,{d:`M9.5 12H16`}],[`path`,{d:`M9.5 16H14`}]],rw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M16 2v20`}]],iw=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M20 12v2`}],[`path`,{d:`M20 18v2a2 2 0 0 1-2 2h-1`}],[`path`,{d:`M13 22h-2`}],[`path`,{d:`M7 22H6a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M4 14v-2`}],[`path`,{d:`M4 8V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],aw=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`16`,height:`18`,x:`4`,y:`4`,rx:`2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],ow=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939`}],[`path`,{d:`M19 10v3.343`}],[`path`,{d:`M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],sw=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4`}],[`path`,{d:`M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z`}]],cw=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`}]],lw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`M8 12h8`}]],uw=[[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 15V9`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],dw=[[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`m9 9 6 6`}]],fw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],pw=[[`path`,{d:`M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21`}]],mw=[[`path`,{d:`M14 3h7`}],[`path`,{d:`M3 3h5.28a1 1 0 0 1 .948.684l5.544 16.632a1 1 0 0 0 .949.684H21`}]],hw=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],gw=[[`path`,{d:`M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025`}],[`path`,{d:`m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009`}],[`path`,{d:`m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027`}]],_w=[[`path`,{d:`M12 3v6`}],[`path`,{d:`M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z`}],[`path`,{d:`M3.054 9.013h17.893`}]],vw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16 17 2 2 4-4`}],[`path`,{d:`M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],yw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M21 13V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],bw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M21 10.535V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],xw=[[`path`,{d:`M12 22v-9`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`}]],Sw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M20.27 18.27 22 20`}],[`path`,{d:`M21 10.498V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.98-.559`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}],[`circle`,{cx:`18.5`,cy:`16.5`,r:`2.5`}]],Cw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16.5 14.5 5 5`}],[`path`,{d:`m16.5 19.5 5-5`}],[`path`,{d:`M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],ww=[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`}],[`path`,{d:`M12 22V12`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`}],[`path`,{d:`m7.5 4.27 9 5.15`}]],Tw=[[`path`,{d:`M11 7 6 2`}],[`path`,{d:`M18.992 12H2.041`}],[`path`,{d:`M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595`}],[`path`,{d:`m8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33`}]],Ew=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`}]],Dw=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v4`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1`}]],Ow=[[`path`,{d:`m14.622 17.897-10.68-2.913`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`}]],kw=[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Aw=[[`path`,{d:`M11.25 17.25h1.5L12 18z`}],[`path`,{d:`m15 12 2 2`}],[`path`,{d:`M18 6.5a.5.5 0 0 0-.5-.5`}],[`path`,{d:`M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83`}],[`path`,{d:`M6 6.5a.495.495 0 0 1 .5-.5`}],[`path`,{d:`m9 12-2 2`}]],jw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m15 8-3 3-3-3`}]],Mw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 15h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M9 15h1`}]],Nw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m9 10 3-3 3 3`}]],Pw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}]],Fw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m16 15-3-3 3-3`}]],Iw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 14v1`}],[`path`,{d:`M9 19v2`}],[`path`,{d:`M9 3v2`}],[`path`,{d:`M9 9v1`}]],Lw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m14 9 3 3-3 3`}]],Rw=[[`path`,{d:`M15 10V9`}],[`path`,{d:`M15 15v-1`}],[`path`,{d:`M15 21v-2`}],[`path`,{d:`M15 5V3`}],[`path`,{d:`M9 10V9`}],[`path`,{d:`M9 15v-1`}],[`path`,{d:`M9 21v-2`}],[`path`,{d:`M9 5V3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],zw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],Bw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m8 9 3 3-3 3`}]],Vw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 14v1`}],[`path`,{d:`M15 19v2`}],[`path`,{d:`M15 3v2`}],[`path`,{d:`M15 9v1`}]],Hw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m10 15-3-3 3-3`}]],Uw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],Ww=[[`path`,{d:`M14 15h1`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 15h1`}],[`path`,{d:`M9 9h1`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Gw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m9 16 3-3 3 3`}]],Kw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m15 14-3 3-3-3`}]],qw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 9h1`}]],Jw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}]],Yw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M9 15h12`}]],Xw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h12`}],[`path`,{d:`M15 3v18`}]],Zw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M9 21V9`}]],Qw=[[`path`,{d:`M5.364 3.848C4 6 3 9.652 3 12.652V19a2 2 0 002 2h14a2 2 0 002-2v-5c0-2.334-1.816-4.668-2.622-7.002`}],[`path`,{d:`M7 3h11.379a2 2 0 011.789 1.106l.723 1.447A1 1 0 0119.997 7h-8.525a2 2 0 01-1.789-1.106L8.79 4.105a2 2 0 10-3.579 1.789l2.261 4.522A5 5 0 018 12.652V21`}]],$w=[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`}]],eT=[[`path`,{d:`M12.5 11.134 18.196 21`}],[`path`,{d:`M20.425 5.299a10 10 0 0 0-16.941 9.78c.183.563.843.774 1.355.478L20.16 6.711c.512-.296.66-.973.264-1.413`}],[`path`,{d:`M21 21H3`}]],tT=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}]],nT=[[`path`,{d:`M11 15h2`}],[`path`,{d:`M12 12v3`}],[`path`,{d:`M12 19v3`}],[`path`,{d:`M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z`}],[`path`,{d:`M9 9a3 3 0 1 1 6 0`}]],rT=[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`}]],iT=[[`path`,{d:`M5.8 11.3 2 22l10.7-3.79`}],[`path`,{d:`M4 3h.01`}],[`path`,{d:`M22 8h.01`}],[`path`,{d:`M15 2h.01`}],[`path`,{d:`M22 20h.01`}],[`path`,{d:`m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10`}],[`path`,{d:`m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17`}],[`path`,{d:`m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7`}],[`path`,{d:`M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z`}]],aT=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`}],[`path`,{d:`M15 14h.01`}],[`path`,{d:`M9 6h6`}],[`path`,{d:`M9 10h6`}]],oT=[[`circle`,{cx:`11`,cy:`4`,r:`2`}],[`circle`,{cx:`18`,cy:`8`,r:`2`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`path`,{d:`M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z`}]],sT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],cT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m2 2 20 20`}]],lT=[[`path`,{d:`M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z`}],[`path`,{d:`m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18`}],[`path`,{d:`m2.3 2.3 7.286 7.286`}],[`circle`,{cx:`11`,cy:`11`,r:`2`}]],uT=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],dT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],fT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]],pT=[[`path`,{d:`M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13`}],[`path`,{d:`m8 6 2-2`}],[`path`,{d:`m18 16 2-2`}],[`path`,{d:`m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],mT=[[`path`,{d:`M10 3H8`}],[`path`,{d:`m15.007 5.008 3.987 3.986`}],[`path`,{d:`M20 15v4`}],[`path`,{d:`M21.174 6.813a2.82 2.82 0 0 0-3.986-3.987L3.842 16.175a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`M22 17h-4`}],[`path`,{d:`M4 5v4`}],[`path`,{d:`M6 7H2`}],[`path`,{d:`M9 2v2`}]],hT=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],gT=[[`path`,{d:`M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z`}]],_T=[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`}]],vT=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`path`,{d:`m9 20 3-6 3 6`}],[`path`,{d:`m6 8 6 2 6-2`}],[`path`,{d:`M12 10v4`}]],yT=[[`path`,{d:`M12 2v20`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],bT=[[`path`,{d:`M20 11H4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7`}]],xT=[[`path`,{d:`M13 2a9 9 0 0 1 9 9`}],[`path`,{d:`M13 6a5 5 0 0 1 5 5`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],ST=[[`path`,{d:`M14 6h8`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],CT=[[`path`,{d:`M16 2v6h6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],wT=[[`path`,{d:`m16 2 6 6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],TT=[[`path`,{d:`M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473`}]],ET=[[`path`,{d:`m16 8 6-6`}],[`path`,{d:`M22 8V2h-6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],DT=[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],OT=[[`line`,{x1:`9`,x2:`9`,y1:`4`,y2:`20`}],[`path`,{d:`M4 7c0-1.7 1.3-3 3-3h13`}],[`path`,{d:`M18 20c-1.7 0-3-1.3-3-3V4`}]],kT=[[`path`,{d:`M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M6 14v4`}],[`path`,{d:`M10 14v4`}],[`path`,{d:`M14 14v4`}],[`path`,{d:`M18 14v4`}]],AT=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999`}],[`path`,{d:`M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024`}],[`path`,{d:`M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069`}],[`path`,{d:`M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z`}]],jT=[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`}]],MT=[[`path`,{d:`M2 10h6V4`}],[`path`,{d:`m2 4 6 6`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`}]],NT=[[`path`,{d:`M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M2 8v1a2 2 0 0 0 2 2h1`}]],PT=[[`path`,{d:`M14 3v11`}],[`path`,{d:`M14 9h-3a3 3 0 0 1 0-6h9`}],[`path`,{d:`M18 3v11`}],[`path`,{d:`M22 18H2l4-4`}],[`path`,{d:`m6 22-4-4`}]],FT=[[`path`,{d:`M10 3v11`}],[`path`,{d:`M10 9H7a1 1 0 0 1 0-6h8`}],[`path`,{d:`M14 3v11`}],[`path`,{d:`m18 14 4 4H2`}],[`path`,{d:`m22 18-4 4`}]],IT=[[`path`,{d:`M13 4v16`}],[`path`,{d:`M17 4v16`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`}]],LT=[[`path`,{d:`M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4`}],[`path`,{d:`M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7`}],[`rect`,{width:`16`,height:`5`,x:`4`,y:`2`,rx:`1`}]],RT=[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`}],[`path`,{d:`m8.5 8.5 7 7`}]],zT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`}]],BT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`}]],VT=[[`path`,{d:`m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12`}],[`path`,{d:`m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z`}],[`path`,{d:`m2 22 .414-.414`}]],HT=[[`path`,{d:`m12 14-1 1`}],[`path`,{d:`m13.75 18.25-1.25 1.42`}],[`path`,{d:`M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12`}],[`path`,{d:`M18.8 9.3a1 1 0 0 0 2.1 7.7`}],[`path`,{d:`M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z`}]],UT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z`}]],WT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]],GT=[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`}]],KT=[[`path`,{d:`m10.215 4.56 9.79 5.71a2 2 0 0 1 .003 3.458l-.393.23`}],[`path`,{d:`m16.042 16.042-8.034 4.686A2 2 0 0 1 5 19V5`}],[`path`,{d:`m2 2 20 20`}]],qT=[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`}]],JT=[[`path`,{d:`M9 2v6`}],[`path`,{d:`M15 2v6`}],[`path`,{d:`M12 17v5`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M6 11V8h12v3a6 6 0 1 1-12 0Z`}]],YT=[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m18 3-4 4h6l-4 4`}]],XT=[[`path`,{d:`M12 22v-5`}],[`path`,{d:`M15 8V2`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 8V2`}]],ZT=[[`path`,{d:`M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z`}],[`path`,{d:`M18 11.66V22a4 4 0 0 0 4-4V6`}]],QT=[[`path`,{d:`M5 12h14`}],[`path`,{d:`M12 5v14`}]],$T=[[`path`,{d:`M13 17a1 1 0 1 0-2 0l.5 4.5a0.5 0.5 0 0 0 1 0z`,fill:`currentColor`}],[`path`,{d:`M16.85 18.58a9 9 0 1 0-9.7 0`}],[`path`,{d:`M8 14a5 5 0 1 1 8 0`}],[`circle`,{cx:`12`,cy:`11`,r:`1`,fill:`currentColor`}]],eE=[[`path`,{d:`M12 6V2h-1`}],[`path`,{d:`M9 15a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1`}],[`path`,{d:`M9 21V11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10`}]],tE=[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`}],[`path`,{d:`M6 6v8`}],[`path`,{d:`m2 2 20 20`}]],nE=[[`path`,{d:`M22 14a8 8 0 0 1-8 8`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],rE=[[`path`,{d:`M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4`}],[`path`,{d:`M10 22 9 8`}],[`path`,{d:`m14 22 1-14`}],[`path`,{d:`M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z`}]],iE=[[`path`,{d:`M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z`}],[`path`,{d:`m22 22-5.5-5.5`}]],aE=[[`path`,{d:`M18 7c0-5.333-8-5.333-8 0`}],[`path`,{d:`M10 7v14`}],[`path`,{d:`M6 21h12`}],[`path`,{d:`M6 13h10`}]],oE=[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]],sE=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]],cE=[[`path`,{d:`M2 3h20`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`}],[`path`,{d:`m7 21 5-5 5 5`}]],lE=[[`path`,{d:`M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],uE=[[`path`,{d:`M12.531 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.377`}],[`path`,{d:`m16.5 16.5 5 5`}],[`path`,{d:`m16.5 21.5 5-5`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.5`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],dE=[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`}]],fE=[[`path`,{d:`M5 7 3 5`}],[`path`,{d:`M9 6V3`}],[`path`,{d:`m13 7 2-2`}],[`circle`,{cx:`9`,cy:`13`,r:`3`}],[`path`,{d:`M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17`}],[`path`,{d:`M16 16h2`}]],pE=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M12 9v11`}],[`path`,{d:`M2 9h13a2 2 0 0 1 2 2v9`}]],mE=[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`}]],hE=[[`path`,{d:`M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z`}],[`path`,{d:`M12 2v20`}]],gE=[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 21v.01`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M12 3h.01`}],[`path`,{d:`M12 16v.01`}],[`path`,{d:`M16 12h1`}],[`path`,{d:`M21 12v.01`}],[`path`,{d:`M12 21v-1`}]],_E=[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}]],vE=[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`}],[`path`,{d:`M4 6h.01`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`m13.41 10.59 5.66-5.66`}]],yE=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 15.4641a4 4 0 0 1-4 0L7.52786 19.74597 A 1 1 0 0 0 7.99303 21.16211 10 10 0 0 0 16.00697 21.16211 1 1 0 0 0 16.47214 19.74597z`}],[`path`,{d:`M16 12a4 4 0 0 0-2-3.464l2.472-4.282a1 1 0 0 1 1.46-.305 10 10 0 0 1 4.006 6.94A1 1 0 0 1 21 12z`}],[`path`,{d:`M8 12a4 4 0 0 1 2-3.464L7.528 4.254a1 1 0 0 0-1.46-.305 10 10 0 0 0-4.006 6.94A1 1 0 0 0 3 12z`}]],bE=[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`}]],xE=[[`path`,{d:`M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21`}]],SE=[[`path`,{d:`M13.414 13.414a2 2 0 1 1-2.828-2.828`}],[`path`,{d:`M16.247 7.761a6 6 0 0 1 1.744 4.572`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 2.234 10.72`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}]],CE=[[`path`,{d:`M5 16v2`}],[`path`,{d:`M19 16v2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`8`,rx:`2`}],[`path`,{d:`M18 12h.01`}]],wE=[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`}],[`path`,{d:`M9.5 18h5`}],[`path`,{d:`m8 22 4-11 4 11`}]],TE=[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],EE=[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`path`,{d:`m13.41 13.41 4.18 4.18`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],DE=[[`path`,{d:`M22 17a10 10 0 0 0-20 0`}],[`path`,{d:`M6 17a6 6 0 0 1 12 0`}],[`path`,{d:`M10 17a2 2 0 0 1 4 0`}]],OE=[[`path`,{d:`M13 22H4a2 2 0 0 1 0-4h12`}],[`path`,{d:`M13.236 18a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 9h.01`}],[`path`,{d:`M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3`}],[`path`,{d:`M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18`}]],kE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],AE=[[`path`,{d:`M12 7v10`}],[`path`,{d:`M14.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],jE=[[`path`,{d:`M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 12h5`}]],ME=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h8`}],[`path`,{d:`M9 7a4 4 0 0 1 0 8H8l3 2`}]],NE=[[`path`,{d:`m12 10 3-3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M9 11h6`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`m9 7 3 3v7`}]],PE=[[`path`,{d:`M10 17V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 13h5`}],[`path`,{d:`M8 17h7`}]],FE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h5a2 2 0 0 0 0-4h-3v10`}],[`path`,{d:`M8 15h5`}]],IE=[[`path`,{d:`M10 11h4`}],[`path`,{d:`M10 17V7h5`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 15h5`}]],LE=[[`path`,{d:`M13 16H8`}],[`path`,{d:`M14 8H8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],RE=[[`path`,{d:`M10 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m14 8-6 3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],zE=[[`path`,{d:`M14 4v16H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z`}],[`circle`,{cx:`14`,cy:`12`,r:`8`}]],BE=[[`path`,{d:`M12 17V7`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],VE=[[`path`,{d:`M20 6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4a2 2 0 0 1-1.6-.8l-1.6-2.13a1 1 0 0 0-1.6 0L9.6 17.2A2 2 0 0 1 8 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}]],HE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M7 12h.01`}]],UE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}]],WE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],GE=[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`}],[`path`,{d:`m14 16-3 3 3 3`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`}]],KE=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`}]],qE=[[`circle`,{cx:`12`,cy:`17`,r:`1`}],[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],JE=[[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],YE=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],XE=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}]],ZE=[[`path`,{d:`M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47`}],[`path`,{d:`M8 16H3v5`}],[`path`,{d:`M3 12C3 9.51 4 7.26 5.64 5.64`}],[`path`,{d:`m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64`}],[`path`,{d:`M21 12c0 1-.16 1.97-.47 2.87`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M22 22 2 2`}]],QE=[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}],[`path`,{d:`M8 16H3v5`}]],$E=[[`path`,{d:`M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M15 7v6`}]],eD=[[`path`,{d:`M17 3v10`}],[`path`,{d:`m12.67 5.5 8.66 5`}],[`path`,{d:`m12.67 10.5 8.66-5`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`}]],tD=[[`path`,{d:`M4 7V4h16v3`}],[`path`,{d:`M5 20h6`}],[`path`,{d:`M13 4 8 20`}],[`path`,{d:`m15 15 5 5`}],[`path`,{d:`m20 15-5 5`}]],nD=[[`path`,{d:`m2 9 3-3 3 3`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`m22 15-3 3-3-3`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`}]],rD=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}],[`path`,{d:`M11 10h1v4`}]],iD=[[`path`,{d:`M11.656 6H21l-4-4`}],[`path`,{d:`M17.898 17.898A4 4 0 0 1 17 18H3l4-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 13v1a4 4 0 0 1-.171 1.159`}],[`path`,{d:`m21 6-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 3.102-3.898`}],[`path`,{d:`m7 22-4-4`}]],aD=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]],oD=[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],sD=[[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],cD=[[`path`,{d:`m12 17-5-5 5-5`}],[`path`,{d:`M22 18v-2a4 4 0 0 0-4-4H7`}],[`path`,{d:`m7 17-5-5 5-5`}]],lD=[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`}],[`path`,{d:`m9 17-5-5 5-5`}]],uD=[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`}]],dD=[[`path`,{d:`M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22`}],[`path`,{d:`m12 18 2.57-3.5`}],[`path`,{d:`M6.243 9.016a7 7 0 0 1 11.507-.009`}],[`path`,{d:`M9.35 14.53 12 11.22`}],[`path`,{d:`M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z`}]],fD=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M12 5V3`}],[`path`,{d:`M12 9v3`}],[`path`,{d:`M2.077 18.449A2 2 0 0 0 4 21h16a2 2 0 0 0 1.924-2.55l-4-14A2 2 0 0 0 16 3H8a2 2 0 0 0-1.924 1.45z`}]],pD=[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`}]],mD=[[`path`,{d:`m15 13 3.708 7.416`}],[`path`,{d:`M3 19a15 15 0 0 0 18 0`}],[`path`,{d:`m3 2 3.21 9.633A2 2 0 0 0 8.109 13H18`}],[`path`,{d:`m9 13-3.708 7.416`}]],hD=[[`path`,{d:`M6 19V5`}],[`path`,{d:`M10 19V6.8`}],[`path`,{d:`M14 19v-7.8`}],[`path`,{d:`M18 5v4`}],[`path`,{d:`M18 19v-6`}],[`path`,{d:`M22 19V9`}],[`path`,{d:`M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65`}]],gD=[[`path`,{d:`M17 10h-1a4 4 0 1 1 4-4v.534`}],[`path`,{d:`M17 6h1a4 4 0 0 1 1.42 7.74l-2.29.87a6 6 0 0 1-5.339-10.68l2.069-1.31`}],[`path`,{d:`M4.5 17c2.8-.5 4.4 0 5.5.8s1.8 2.2 2.3 3.7c-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2`}],[`path`,{d:`M9.77 12C4 15 2 22 2 22`}],[`circle`,{cx:`17`,cy:`8`,r:`2`}]],_D=[[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`}],[`path`,{d:`M16.47214 7.52786 A 5 10 0 1 0 13 21.79796`}],[`path`,{d:`M21.79796 11 A 10 5 0 1 0 19 15.57071`}]],vD=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M12 9h2`}],[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.74 9.74 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`circle`,{cx:`12`,cy:`15`,r:`2`}]],yD=[[`path`,{d:`M20 9V7a2 2 0 0 0-2-2h-6`}],[`path`,{d:`m15 2-3 3 3 3`}],[`path`,{d:`M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2`}]],bD=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]],xD=[[`path`,{d:`M12 5H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`m9 8 3-3-3-3`}],[`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}]],SD=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]],CD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],wD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5c.4 0 .9-.1 1.3-.2`}],[`path`,{d:`M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 15.3a3.5 3.5 0 0 0-3.3-3.3`}],[`path`,{d:`M15 5h-4.3`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],TD=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6.01 18H6`}],[`path`,{d:`M10.01 18H10`}],[`path`,{d:`M15 10v4`}],[`path`,{d:`M17.84 7.17a4 4 0 0 0-5.66 0`}],[`path`,{d:`M20.66 4.34a8 8 0 0 0-11.31 0`}]],ED=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 12h18`}]],DD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],OD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 7.5H3`}],[`path`,{d:`M21 12H3`}],[`path`,{d:`M21 16.5H3`}]],kD=[[`path`,{d:`M4 11a9 9 0 0 1 9 9`}],[`path`,{d:`M4 4a16 16 0 0 1 16 16`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],AD=[[`path`,{d:`M10 15v-3`}],[`path`,{d:`M14 15v-3`}],[`path`,{d:`M18 15v-3`}],[`path`,{d:`M2 8V4`}],[`path`,{d:`M22 6H2`}],[`path`,{d:`M22 8V4`}],[`path`,{d:`M6 15v-3`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`}]],jD=[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`}],[`path`,{d:`m14.5 12.5 2-2`}],[`path`,{d:`m11.5 9.5 2-2`}],[`path`,{d:`m8.5 6.5 2-2`}],[`path`,{d:`m17.5 15.5 2-2`}]],MD=[[`path`,{d:`M6 11h8a4 4 0 0 0 0-8H9v18`}],[`path`,{d:`M6 15h8`}]],ND=[[`path`,{d:`M10 2v15`}],[`path`,{d:`M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z`}],[`path`,{d:`M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z`}]],PD=[[`path`,{d:`M7 21h10`}],[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1`}],[`path`,{d:`m13 12 4-4`}],[`path`,{d:`M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2`}]],FD=[[`path`,{d:`m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777`}],[`path`,{d:`M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25`}],[`path`,{d:`M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9`}],[`path`,{d:`m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}],[`rect`,{width:`20`,height:`4`,x:`2`,y:`11`,rx:`1`}]],ID=[[`path`,{d:`M4 10a7.31 7.31 0 0 0 10 10Z`}],[`path`,{d:`m9 15 3-3`}],[`path`,{d:`M17 13a6 6 0 0 0-6-6`}],[`path`,{d:`M21 13A10 10 0 0 0 11 3`}]],LD=[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`}],[`path`,{d:`M16.5 7.5 19 5`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`}]],RD=[[`path`,{d:`m20 19.5-5.5 1.2`}],[`path`,{d:`M14.5 4v11.22a1 1 0 0 0 1.242.97L20 15.2`}],[`path`,{d:`m2.978 19.351 5.549-1.363A2 2 0 0 0 10 16V2`}],[`path`,{d:`M20 10 4 13.5`}]],zD=[[`path`,{d:`M10 2v3a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6`}],[`path`,{d:`M18 22H4a2 2 0 0 1-2-2V6`}],[`path`,{d:`M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z`}]],BD=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4v4.35`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M17 15.13V14a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],VD=[[`path`,{d:`M13 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M14 8h1`}],[`path`,{d:`M17 21v-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41`}],[`path`,{d:`M29.5 11.5s5 5 4 5`}],[`path`,{d:`M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15`}]],HD=[[`path`,{d:`M13.33 13H8a1 1 0 00-1 1v7`}],[`path`,{d:`M14.363 17.634a2 2 0 00-.506.854l-.837 2.87a.5.5 0 00.62.62l2.87-.837a2 2 0 00.854-.506l4.013-4.009a1 1 0 10-3.004-3.004z`}],[`path`,{d:`M7 3v4a1 1 0 001 1h7`}],[`path`,{d:`M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h10.2a2 2 0 011.4.6l3.8 3.8a2 2 0 01.6 1.4v.3`}]],UD=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V12`}],[`path`,{d:`M16 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],WD=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],GD=[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`}],[`path`,{d:`M5.293 18.707 11 13`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}]],KD=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M7 21h10`}]],qD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 7v10`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M17 7v10`}]],JD=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M14 15H9v-5`}],[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M21 3 9 15`}]],YD=[[`path`,{d:`M12 12v5.5`}],[`path`,{d:`M17 3h2a2 2 0 012 2v2`}],[`path`,{d:`M21 17v2a2 2 0 01-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 012-2h2`}],[`path`,{d:`M7 21H5a2 2 0 01-2-2v-2`}],[`path`,{d:`M7.264 9.252 12 12l4.737-2.748`}],[`path`,{d:`M7.995 8.514A2 2 0 007 10.244v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0017 13.76v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}]],XD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],ZD=[[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z`}]],QD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 9h.01`}]],$D=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 12h10`}]],eO=[[`path`,{d:`M17 12v4a1 1 0 0 1-1 1h-4`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M17 8V7`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`7`,y:`7`,width:`5`,height:`5`,rx:`1`}]],tO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m16 16-1.9-1.9`}]],nO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}]],rO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],iO=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 4.933V21`}],[`path`,{d:`m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6`}],[`path`,{d:`m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11`}],[`path`,{d:`M6 4.933V21`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}]],aO=[[`path`,{d:`M5.42 9.42 8 12`}],[`circle`,{cx:`4`,cy:`8`,r:`2`}],[`path`,{d:`m14 6-8.58 8.58`}],[`circle`,{cx:`4`,cy:`16`,r:`2`}],[`path`,{d:`M10.8 14.8 14 18`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],oO=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M8.12 8.12 12 12`}],[`path`,{d:`M20 4 8.12 15.88`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`path`,{d:`M14.8 14.8 20 20`}]],sO=[[`path`,{d:`M21 4h-3.5l2 11.05`}],[`path`,{d:`M6.95 17h5.142c.523 0 .95-.406 1.063-.916a6.5 6.5 0 0 1 5.345-5.009`}],[`circle`,{cx:`19.5`,cy:`17.5`,r:`2.5`}],[`circle`,{cx:`4.5`,cy:`17.5`,r:`2.5`}]],cO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m22 3-5 5`}],[`path`,{d:`m17 3 5 5`}]],lO=[[`path`,{d:`M15 12h-5`}],[`path`,{d:`M15 8h-5`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],uO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m17 8 5-5`}],[`path`,{d:`M17 3h5v5`}]],dO=[[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],fO=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 7v4`}],[`path`,{d:`M11 15h.01`}]],pO=[[`path`,{d:`m8 11 2 2 4-4`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],mO=[[`path`,{d:`m13 13.5 2-2.5-2-2.5`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M9 8.5 7 11l2 2.5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],hO=[[`path`,{d:`m13.5 8.5-5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],gO=[[`path`,{d:`m13.5 8.5-5 5`}],[`path`,{d:`m8.5 8.5 5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],_O=[[`path`,{d:`m21 21-4.34-4.34`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],vO=[[`path`,{d:`M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0`}],[`path`,{d:`M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0`}]],yO=[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`}],[`path`,{d:`M6 12h16`}]],bO=[[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M7 14v1a2 2 0 0 0 2 2h1`}],[`path`,{d:`M14 7h1a2 2 0 0 1 2 2v1`}]],xO=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]],SO=[[`path`,{d:`m16 16-4 4-4-4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`m8 8 4-4 4 4`}]],CO=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m16 16 4-4-4-4`}],[`path`,{d:`m8 8-4 4 4 4`}]],wO=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.148 9.228.383-.923`}],[`path`,{d:`m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5`}],[`path`,{d:`M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}]],TO=[[`path`,{d:`M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m13 6-4 6h6l-4 6`}]],EO=[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m2 2 20 20`}]],DO=[[`path`,{d:`M12.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M16 12h6`}],[`path`,{d:`M19 9v6`}],[`path`,{d:`M22 18v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h8.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}]],OO=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`}]],kO=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]],AO=[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],jO=[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`}]],MO=[[`circle`,{cx:`18`,cy:`5`,r:`3`}],[`circle`,{cx:`6`,cy:`12`,r:`3`}],[`circle`,{cx:`18`,cy:`19`,r:`3`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`}]],NO=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]],PO=[[`path`,{d:`M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44`}]],FO=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`3`,x2:`21`,y1:`9`,y2:`9`}],[`line`,{x1:`3`,x2:`21`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9`,y1:`9`,y2:`21`}],[`line`,{x1:`15`,x2:`15`,y1:`9`,y2:`21`}]],IO=[[`path`,{d:`M12 12V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}],[`path`,{d:`M16 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 22V2`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 20h16`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M4 4h16`}]],LO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],RO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m4.243 5.21 14.39 12.472`}]],zO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9 12 2 2 4-4`}]],BO=[[`path`,{d:`M11 22c-3.806-1.45-7-3.966-7-9V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v4`}],[`path`,{d:`M14.923 16.547 14 16.164`}],[`path`,{d:`m14.923 18.843-.923.383`}],[`path`,{d:`M16.547 14.923 16.164 14`}],[`path`,{d:`m16.547 20.467-.383.924`}],[`path`,{d:`m18.843 14.923.383-.923`}],[`path`,{d:`m19.225 21.391-.382-.924`}],[`path`,{d:`m20.467 16.547.923-.383`}],[`path`,{d:`m20.467 18.843.923.383`}],[`circle`,{cx:`17.695`,cy:`17.695`,r:`3`}]],VO=[[`path`,{d:`m10.929 14.467-.383.924`}],[`path`,{d:`M10.929 8.923 10.546 8`}],[`path`,{d:`M13.225 8.923 13.608 8`}],[`path`,{d:`m13.607 15.391-.382-.924`}],[`path`,{d:`m14.849 10.547.923-.383`}],[`path`,{d:`m14.849 12.843.923.383`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9.305 10.547-.923-.383`}],[`path`,{d:`m9.305 12.843-.923.383`}],[`circle`,{cx:`12.077`,cy:`11.695`,r:`3`}]],HO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],UO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M12 22V2`}]],WO=[[`path`,{d:`M12 13v3`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 01-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 011-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 011.52 0C14.51 3.81 17 5 19 5a1 1 0 011 1z`}],[`circle`,{cx:`12`,cy:`11`,r:`2`}]],GO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9 12h6`}]],KO=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`}]],qO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],JO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],YO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M6.376 18.91a6 6 0 0 1 11.249.003`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}]],XO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`m9.5 9.5 5 5`}]],ZO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}]],QO=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`path`,{d:`M12 2v7.5`}],[`path`,{d:`m19 5-5.23 5.23`}],[`path`,{d:`M22 12h-7.5`}],[`path`,{d:`m19 19-5.23-5.23`}],[`path`,{d:`M12 14.5V22`}],[`path`,{d:`M10.23 13.77 5 19`}],[`path`,{d:`M9.5 12H2`}],[`path`,{d:`M10.23 10.23 5 5`}],[`circle`,{cx:`12`,cy:`12`,r:`2.5`}]],$O=[[`path`,{d:`M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z`}]],ek=[[`path`,{d:`M12 10.189V14`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}]],tk=[[`path`,{d:`M16 10a4 4 0 0 1-8 0`}],[`path`,{d:`M3.103 6.034h17.794`}],[`path`,{d:`M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z`}]],nk=[[`path`,{d:`m15 11-1 9`}],[`path`,{d:`m19 11-4-7`}],[`path`,{d:`M2 11h20`}],[`path`,{d:`m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4`}],[`path`,{d:`M4.5 15.5h15`}],[`path`,{d:`m5 11 4-7`}],[`path`,{d:`m9 11 1 9`}]],rk=[[`circle`,{cx:`8`,cy:`21`,r:`1`}],[`circle`,{cx:`19`,cy:`21`,r:`1`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`}]],ik=[[`path`,{d:`M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z`}],[`path`,{d:`M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z`}],[`path`,{d:`m9 15 7.879-7.878`}]],ak=[[`path`,{d:`m4 4 2.5 2.5`}],[`path`,{d:`M13.5 6.5a4.95 4.95 0 0 0-7 7`}],[`path`,{d:`M15 5 5 15`}],[`path`,{d:`M14 17v.01`}],[`path`,{d:`M10 16v.01`}],[`path`,{d:`M13 13v.01`}],[`path`,{d:`M16 10v.01`}],[`path`,{d:`M11 20v.01`}],[`path`,{d:`M17 14v.01`}],[`path`,{d:`M20 11v.01`}]],ok=[[`path`,{d:`M4 13V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 22v-5`}],[`path`,{d:`M14 19v-2`}],[`path`,{d:`M18 20v-3`}],[`path`,{d:`M2 13h20`}],[`path`,{d:`M6 20v-3`}]],sk=[[`path`,{d:`m15 15 6 6m-6-6v4.8m0-4.8h4.8`}],[`path`,{d:`M9 19.8V15m0 0H4.2M9 15l-6 6`}],[`path`,{d:`M15 4.2V9m0 0h4.8M15 9l6-6`}],[`path`,{d:`M9 4.2V9m0 0H4.2M9 9 3 3`}]],ck=[[`path`,{d:`M11 12h.01`}],[`path`,{d:`M13 22c.5-.5 1.12-1 2.5-1-1.38 0-2-.5-2.5-1`}],[`path`,{d:`M14 2a3.28 3.28 0 0 1-3.227 1.798l-6.17-.561A2.387 2.387 0 1 0 4.387 8H15.5a1 1 0 0 1 0 13 1 1 0 0 0 0-5H12a7 7 0 0 1-7-7V8`}],[`path`,{d:`M14 8a8.5 8.5 0 0 1 0 8`}],[`path`,{d:`M16 16c2 0 4.5-4 4-6`}]],lk=[[`path`,{d:`M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5`}],[`path`,{d:`M14.5 14.5 12 17`}],[`path`,{d:`M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z`}]],uk=[[`path`,{d:`m18 14 4 4-4 4`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`}]],dk=[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`}]],fk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}]],pk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}]],mk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}]],hk=[[`path`,{d:`M2 20h.01`}]],gk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}],[`path`,{d:`M22 4v16`}]],_k=[[`path`,{d:`m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284`}],[`path`,{d:`M3 21h18`}]],vk=[[`path`,{d:`M10 9H4L2 7l2-2h6`}],[`path`,{d:`M14 5h6l2 2-2 2h-6`}],[`path`,{d:`M10 22V4a2 2 0 1 1 4 0v18`}],[`path`,{d:`M8 22h8`}]],yk=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`}]],bk=[[`path`,{d:`M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M3 20V4`}]],xk=[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`}],[`path`,{d:`M21 12h1`}],[`path`,{d:`M18.5 4.5 18 5`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`M12 2v1`}],[`path`,{d:`m4.929 4.929.707.707`}],[`path`,{d:`M12 12v6`}]],Sk=[[`path`,{d:`M21 4v16`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}]],Ck=[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],wk=[[`path`,{d:`M22 2 2 22`}]],Tk=[[`path`,{d:`M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14`}]],Ek=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]],Dk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12.667 8 10 12h4l-2.667 4`}]],Ok=[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],kk=[[`rect`,{width:`7`,height:`12`,x:`2`,y:`6`,rx:`1`}],[`path`,{d:`M13 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M16.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M19.91 4.1a15.91 15.91 0 0 1 .01 15.8`}]],Ak=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12 18h.01`}]],jk=[[`path`,{d:`M22 11v1a10 10 0 1 1-9-10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}]],Mk=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Nk=[[`path`,{d:`M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0`}],[`circle`,{cx:`10`,cy:`13`,r:`8`}],[`path`,{d:`M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6`}],[`path`,{d:`M18 3 19.1 5.2`}],[`path`,{d:`M22 3 20.9 5.2`}]],Pk=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6h-4`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`M22 12h-6.5L14 15`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h4`}]],Fk=[[`path`,{d:`M10.5 2v4`}],[`path`,{d:`M14 2H7a2 2 0 0 0-2 2`}],[`path`,{d:`M19.29 14.76A6.67 6.67 0 0 1 17 11a6.6 6.6 0 0 1-2.29 3.76c-1.15.92-1.71 2.04-1.71 3.19 0 2.22 1.8 4.05 4 4.05s4-1.83 4-4.05c0-1.16-.57-2.26-1.71-3.19`}],[`path`,{d:`M9.607 21H6a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h7V7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],Ik=[[`path`,{d:`M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M4 18v2`}],[`path`,{d:`M20 18v2`}],[`path`,{d:`M12 4v9`}]],Lk=[[`path`,{d:`M11 2h2`}],[`path`,{d:`m14.28 14-4.56 8`}],[`path`,{d:`m21 22-1.558-4H4.558`}],[`path`,{d:`M3 10v2`}],[`path`,{d:`M6.245 15.04A2 2 0 0 1 8 14h12a1 1 0 0 1 .864 1.505l-3.11 5.457A2 2 0 0 1 16 22H4a1 1 0 0 1-.863-1.506z`}],[`path`,{d:`M7 2a4 4 0 0 1-4 4`}],[`path`,{d:`m8.66 7.66 1.41 1.41`}]],Rk=[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M7 21h10`}],[`path`,{d:`M19.5 12 22 6`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`}]],zk=[[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],Bk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}]],Vk=[[`path`,{d:`M12 18v4`}],[`path`,{d:`M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5`}]],Hk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Uk=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M12 6h.01`}],[`circle`,{cx:`12`,cy:`14`,r:`4`}],[`path`,{d:`M12 14h.01`}]],Wk=[[`path`,{d:`M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20`}],[`path`,{d:`M19.8 17.8a7.5 7.5 0 0 0 .003-10.603`}],[`path`,{d:`M17 15a3.5 3.5 0 0 0-.025-4.975`}]],Gk=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1`}]],Kk=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m16 20 2 2 4-4`}]],qk=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Jk=[[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}]],Yk=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]],Xk=[[`path`,{d:`m15 10.42 4.8-5.07`}],[`path`,{d:`M19 18h3`}],[`path`,{d:`M9.5 22 21.414 9.415A2 2 0 0 0 21.2 6.4l-5.61-4.208A1 1 0 0 0 14 3v2a2 2 0 0 1-1.394 1.906L8.677 8.053A1 1 0 0 0 8 9c-.155 6.393-2.082 9-4 9a2 2 0 0 0 0 4h14`}]],Zk=[[`path`,{d:`M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66`}],[`path`,{d:`m7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178`}]],Qk=[[`path`,{d:`M15.295 19.562 16 22`}],[`path`,{d:`m17 16 3.758 2.098`}],[`path`,{d:`m19 12.5 3.026-.598`}],[`path`,{d:`M7.61 6.3a3 3 0 0 0-3.92 1.3l-1.38 2.79a3 3 0 0 0 1.3 3.91l6.89 3.597a1 1 0 0 0 1.342-.447l3.106-6.211a1 1 0 0 0-.447-1.341z`}],[`path`,{d:`M8 9V2`}]],$k=[[`path`,{d:`M3 3h.01`}],[`path`,{d:`M7 5h.01`}],[`path`,{d:`M11 7h.01`}],[`path`,{d:`M3 7h.01`}],[`path`,{d:`M7 9h.01`}],[`path`,{d:`M3 11h.01`}],[`rect`,{width:`4`,height:`4`,x:`15`,y:`5`}],[`path`,{d:`m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2`}],[`path`,{d:`m13 14 8-2`}],[`path`,{d:`m13 19 8-2`}]],eA=[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`}],[`path`,{d:`M5 21h14`}]],tA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M17 12h-2l-2 5-2-10-2 5H7`}]],nA=[[`path`,{d:`M15 15H9l6-6`}],[`path`,{d:`M9 15V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],rA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15h6V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],iA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],aA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],oA=[[`path`,{d:`M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M9 21H3v-6`}]],sA=[[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m21 21-9-9`}],[`path`,{d:`M21 15v6h-6`}]],cA=[[`path`,{d:`M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6`}],[`path`,{d:`m3 3 9 9`}],[`path`,{d:`M3 9V3h6`}]],lA=[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`}],[`path`,{d:`m21 3-9 9`}],[`path`,{d:`M15 3h6v6`}]],uA=[[`path`,{d:`m10 16 4-4-4-4`}],[`path`,{d:`M3 12h11`}],[`path`,{d:`M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}]],dA=[[`path`,{d:`M10 12h11`}],[`path`,{d:`m17 16 4-4-4-4`}],[`path`,{d:`M21 6.344V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-1.344`}]],fA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m12 16 4-4-4-4`}]],pA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15V9h6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],mA=[[`path`,{d:`M15 15V9H9`}],[`path`,{d:`m9 15 6-6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],hA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],gA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8.5 14 7-4`}],[`path`,{d:`m8.5 10 7 4`}]],_A=[[`line`,{x1:`5`,y1:`3`,x2:`19`,y2:`3`}],[`line`,{x1:`3`,y1:`5`,x2:`3`,y2:`19`}],[`line`,{x1:`21`,y1:`5`,x2:`21`,y2:`19`}],[`line`,{x1:`9`,y1:`21`,x2:`10`,y2:`21`}],[`line`,{x1:`14`,y1:`21`,x2:`15`,y2:`21`}],[`path`,{d:`M 3 5 A2 2 0 0 1 5 3`}],[`path`,{d:`M 19 3 A2 2 0 0 1 21 5`}],[`path`,{d:`M 5 21 A2 2 0 0 1 3 19`}],[`path`,{d:`M 21 19 A2 2 0 0 1 19 21`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],vA=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],yA=[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],bA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 8h7`}],[`path`,{d:`M8 12h6`}],[`path`,{d:`M11 16h5`}]],xA=[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`}],[`path`,{d:`m9 11 3 3L22 4`}]],SA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m9 12 2 2 4-4`}]],CA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 10-4 4-4-4`}]],wA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m14 16-4-4 4-4`}]],TA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m10 8 4 4-4 4`}]],EA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m8 14 4-4 4 4`}]],DA=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],OA=[[`path`,{d:`M10 9.5 8 12l2 2.5`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`m14 9.5 2 2.5-2 2.5`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}]],kA=[[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}]],AA=[[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}]],jA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M9 3h1`}]],MA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h2`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v2`}],[`path`,{d:`M3 14v1`}]],NA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 21h1`}]],PA=[[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M21 14v1`}]],FA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],IA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],LA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],RA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3`}],[`path`,{d:`M9 11.2h5.7`}]],zA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}]],BA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7v10`}],[`path`,{d:`M11 7v10`}],[`path`,{d:`m15 7 2 10`}]],VA=[[`path`,{d:`M8 16V8.5a.5.5 0 0 1 .9-.3l2.7 3.599a.5.5 0 0 0 .8 0l2.7-3.6a.5.5 0 0 1 .9.3V16`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],HA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h10`}]],UA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}]],WA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}]],GA=[[`path`,{d:`M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41`}],[`path`,{d:`M3 8.7V19a2 2 0 0 0 2 2h10.3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M13 13a3 3 0 1 0 0-6H9v2`}],[`path`,{d:`M9 17v-2.3`}]],KA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],qA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],JA=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`}]],YA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h10`}],[`path`,{d:`M10 7v10`}],[`path`,{d:`M16 17a2 2 0 0 1-2-2V7`}]],XA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],ZA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 12H9.5a2.5 2.5 0 0 1 0-5H17`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M16 7v10`}]],QA=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}]],$A=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],ej=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],tj=[[`path`,{d:`M7 12h2l2 5 2-10h4`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],nj=[[`path`,{d:`M21 11a8 8 0 0 0-8-8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],rj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],ij=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M16 8.9V7H8l4 5-4 5h8v-1.9`}]],aj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],oj=[[`path`,{d:`M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3`}],[`path`,{d:`M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3`}],[`line`,{x1:`12`,x2:`12`,y1:`4`,y2:`20`}]],sj=[[`path`,{d:`M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3`}],[`path`,{d:`M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],cj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],lj=[[`path`,{d:`M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`path`,{d:`M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`rect`,{width:`8`,height:`8`,x:`14`,y:`14`,rx:`2`}]],uj=[[`path`,{d:`M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],dj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],fj=[[`path`,{d:`m7 11 2-2-2-2`}],[`path`,{d:`M11 13h4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}]],pj=[[`path`,{d:`M18 21a6 6 0 0 0-12 0`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],mj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}]],hj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],gj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],_j=[[`path`,{d:`M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2`}]],vj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M14 2a2 2 0 0 1 2 2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M2 10V8`}],[`path`,{d:`M2 4a2 2 0 0 1 2-2`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2`}],[`path`,{d:`M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z`}],[`path`,{d:`M8 2h2`}]],yj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}]],bj=[[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z`}]],xj=[[`path`,{d:`M13.77 3.043a34 34 0 0 0-3.54 0`}],[`path`,{d:`M13.771 20.956a33 33 0 0 1-3.541.001`}],[`path`,{d:`M20.18 17.74c-.51 1.15-1.29 1.93-2.439 2.44`}],[`path`,{d:`M20.18 6.259c-.51-1.148-1.291-1.929-2.44-2.438`}],[`path`,{d:`M20.957 10.23a33 33 0 0 1 0 3.54`}],[`path`,{d:`M3.043 10.23a34 34 0 0 0 .001 3.541`}],[`path`,{d:`M6.26 20.179c-1.15-.508-1.93-1.29-2.44-2.438`}],[`path`,{d:`M6.26 3.82c-1.149.51-1.93 1.291-2.44 2.44`}]],Sj=[[`path`,{d:`M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9`}]],Cj=[[`path`,{d:`M15.236 22a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4`}],[`path`,{d:`M18 13h.01`}],[`path`,{d:`M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10`}]],wj=[[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13`}],[`path`,{d:`M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z`}],[`path`,{d:`M5 22h14`}]],Tj=[[`path`,{d:`m19.06 12.501 2.78-2.707a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}],[`path`,{d:`m15 18 2 2 4-4`}]],Ej=[[`path`,{d:`M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2`}]],Dj=[[`path`,{d:`M15 18h6`}],[`path`,{d:`M17.688 14a2.1 2.1 0 0 1 .416-.568l3.736-3.638a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}]],Oj=[[`path`,{d:`m10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152`}],[`path`,{d:`m17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099`}],[`path`,{d:`m2 2 20 20`}]],kj=[[`path`,{d:`M11.013 18.582 6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904L20 11.5`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Aj=[[`path`,{d:`m15.5 15.5 5 5`}],[`path`,{d:`m20.063 11.525 1.777-1.731a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428a2.1 2.1 0 0 1 .987-.243 2 2 0 0 1 .132.004`}],[`path`,{d:`m20.5 15.5-5 5`}]],jj=[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`}]],Mj=[[`path`,{d:`M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M21 20V4`}]],Nj=[[`path`,{d:`M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}],[`path`,{d:`M3 4v16`}]],Pj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h.01`}],[`path`,{d:`M16 13h.01`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`}]],Fj=[[`path`,{d:`M11 2v2`}],[`path`,{d:`M5 2v2`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`}],[`circle`,{cx:`20`,cy:`10`,r:`2`}]],Ij=[[`path`,{d:`m15 19 2 2 4-4`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 13V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.5`}]],Lj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 14V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.35`}],[`path`,{d:`M21 18h-6`}]],Rj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M3.586 3.586A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M8.656 3H15a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 21 9v6.344`}]],zj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`M21 12V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7`}],[`path`,{d:`m21 16-5 5`}]],Bj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 12.356V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.355`}],[`path`,{d:`M21 18h-6`}]],Vj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}]],Hj=[[`path`,{d:`M10 8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 16 14v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z`}],[`path`,{d:`M10 8v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 4a2 2 0 0 1 2-2h6a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 22 8v6a2 2 0 0 1-2 2`}],[`path`,{d:`M16 2v5a1 1 0 0 0 1 1h5`}]],Uj=[[`path`,{d:`M11.264 2.205A4 4 0 0 0 6.42 4.211l-4 8a4 4 0 0 0 1.359 5.117l6 4a4 4 0 0 0 4.438 0l6-4a4 4 0 0 0 1.576-4.592l-2-6a4 4 0 0 0-2.53-2.53z`}],[`path`,{d:`M11.99 22 14 12l7.822 3.184`}],[`path`,{d:`M14 12 8.47 2.302`}]],Wj=[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`}]],Gj=[[`rect`,{width:`20`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`20`,height:`6`,x:`2`,y:`14`,rx:`2`}]],Kj=[[`rect`,{width:`6`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`20`,x:`14`,y:`2`,rx:`2`}]],qj=[[`path`,{d:`M16 4H9a3 3 0 0 0-2.83 4`}],[`path`,{d:`M14 12a4 4 0 0 1 0 8H6`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],Jj=[[`path`,{d:`m4 5 8 8`}],[`path`,{d:`m12 5-8 8`}],[`path`,{d:`M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07`}]],Yj=[[`path`,{d:`M15 4H7`}],[`path`,{d:`m18 16 3 3-3 3`}],[`path`,{d:`M3 4v13a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 14h7`}],[`path`,{d:`M7 9h12`}]],Xj=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M20 12h.01`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M4 12h.01`}],[`path`,{d:`M17.657 6.343h.01`}],[`path`,{d:`M17.657 17.657h.01`}],[`path`,{d:`M6.343 17.657h.01`}],[`path`,{d:`M6.343 6.343h.01`}]],Zj=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 3v1`}],[`path`,{d:`M12 20v1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M20 12h1`}],[`path`,{d:`m18.364 5.636-.707.707`}],[`path`,{d:`m6.343 17.657-.707.707`}],[`path`,{d:`m5.636 5.636.707.707`}],[`path`,{d:`m17.657 17.657.707.707`}]],Qj=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715`}],[`path`,{d:`M16 12a4 4 0 0 0-4-4`}],[`path`,{d:`m19 5-1.256 1.256`}],[`path`,{d:`M20 12h2`}]],$j=[[`path`,{d:`M10 21v-1`}],[`path`,{d:`M10 4V3`}],[`path`,{d:`M10 9a3 3 0 0 0 0 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6 1.5-3H22`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`m3.64 18.36.7-.7`}],[`path`,{d:`m4.34 6.34-.7-.7`}]],eM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m17.66 17.66 1.41 1.41`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}]],tM=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],nM=[[`path`,{d:`M12 10V2`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m16 6-4 4-4-4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],rM=[[`path`,{d:`M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z`}],[`path`,{d:`M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7`}],[`path`,{d:`M 7 17h.01`}],[`path`,{d:`m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8`}]],iM=[[`path`,{d:`m4 19 8-8`}],[`path`,{d:`m12 19-8-8`}],[`path`,{d:`M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06`}]],aM=[[`path`,{d:`M10 21V3h8`}],[`path`,{d:`M6 16h9`}],[`path`,{d:`M10 9.5h7`}]],oM=[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m18 22-3-3 3-3`}],[`path`,{d:`m6 2 3 3-3 3`}]],sM=[[`path`,{d:`m11 19-6-6`}],[`path`,{d:`m5 21-2-2`}],[`path`,{d:`m8 16-4 4`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`}]],cM=[[`path`,{d:`m18 2 4 4`}],[`path`,{d:`m17 7 3-3`}],[`path`,{d:`M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5`}],[`path`,{d:`m9 11 4 4`}],[`path`,{d:`m5 19-3 3`}],[`path`,{d:`m14 4 6 6`}]],lM=[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`}]],uM=[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`}]],dM=[[`path`,{d:`M12 21v-6`}],[`path`,{d:`M12 9V3`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],fM=[[`path`,{d:`M12 15V9`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],pM=[[`path`,{d:`M14 14v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M14 8v2`}],[`path`,{d:`M2 15h8`}],[`path`,{d:`M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2`}],[`path`,{d:`M2 9h8`}],[`path`,{d:`M22 15h-4`}],[`path`,{d:`M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`path`,{d:`M22 9h-4`}],[`path`,{d:`M5 3v18`}]],mM=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 5h.01`}],[`path`,{d:`M21 12h.01`}],[`path`,{d:`M21 19h.01`}]],hM=[[`path`,{d:`M15 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],gM=[[`path`,{d:`M14 10h2`}],[`path`,{d:`M15 22v-8`}],[`path`,{d:`M15 2v4`}],[`path`,{d:`M2 10h2`}],[`path`,{d:`M20 10h2`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6`}],[`path`,{d:`M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2`}],[`path`,{d:`M8 10h2`}],[`path`,{d:`M9 22v-8`}],[`path`,{d:`M9 2v4`}]],_M=[[`path`,{d:`M12 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}]],vM=[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`}],[`path`,{d:`M8 18h.01`}]],yM=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`}]],bM=[[`circle`,{cx:`7`,cy:`7`,r:`5`}],[`circle`,{cx:`17`,cy:`17`,r:`5`}],[`path`,{d:`M12 17h10`}],[`path`,{d:`m3.46 10.54 7.08-7.08`}]],xM=[[`path`,{d:`M16 13h6`}],[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`M19 10v6`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],SM=[[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.43 2.43 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`m16.5 10.5 5 5`}],[`path`,{d:`m21.5 10.5-5 5`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],CM=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],wM=[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}]],TM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}]],EM=[[`path`,{d:`M4 4v16`}]],DM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}]],OM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}]],kM=[[`circle`,{cx:`17`,cy:`4`,r:`2`}],[`path`,{d:`M15.59 5.41 5.41 15.59`}],[`circle`,{cx:`4`,cy:`17`,r:`2`}],[`path`,{d:`M12 22s-4-9-1.5-11.5S22 12 22 12`}]],AM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}],[`path`,{d:`M22 6 2 18`}]],jM=[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`}],[`path`,{d:`m13.56 11.747 4.332-.924`}],[`path`,{d:`m16 21-3.105-6.21`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`}],[`path`,{d:`m6.158 8.633 1.114 4.456`}],[`path`,{d:`m8 21 3.105-6.21`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}]],MM=[[`circle`,{cx:`4`,cy:`4`,r:`2`}],[`path`,{d:`m14 5 3-3 3 3`}],[`path`,{d:`m14 10 3-3 3 3`}],[`path`,{d:`M17 14V2`}],[`path`,{d:`M17 14H7l-5 8h20Z`}],[`path`,{d:`M8 14v8`}],[`path`,{d:`m9 14 5 8`}]],NM=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],PM=[[`path`,{d:`M3.5 21 14 3`}],[`path`,{d:`M20.5 21 10 3`}],[`path`,{d:`M15.5 21 12 15l-3.5 6`}],[`path`,{d:`M2 21h20`}]],FM=[[`path`,{d:`M12 19h8`}],[`path`,{d:`m4 17 6-6-6-6`}]],IM=[[`path`,{d:`M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3`}],[`path`,{d:`m16 2 6 6`}],[`path`,{d:`M12 16H4`}]],LM=[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`}],[`path`,{d:`M8.5 2h7`}],[`path`,{d:`M14.5 16h-5`}]],RM=[[`path`,{d:`M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2`}],[`path`,{d:`M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2`}],[`path`,{d:`M3 2h7`}],[`path`,{d:`M14 2h7`}],[`path`,{d:`M9 16H4`}],[`path`,{d:`M20 16h-5`}]],zM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M17 12H7`}],[`path`,{d:`M19 19H5`}]],BM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M21 19H7`}]],VM=[[`path`,{d:`M3 5h18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 19h18`}]],HM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M17 19H3`}]],UM=[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`}],[`path`,{d:`M9 6v12`}]],WM=[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4`}]],GM=[[`path`,{d:`M15 5h6`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12`}],[`path`,{d:`M3.92 10h6.16`}]],KM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`circle`,{cx:`17`,cy:`15`,r:`3`}],[`path`,{d:`m21 19-1.9-1.9`}]],qM=[[`path`,{d:`M17 5H3`}],[`path`,{d:`M21 12H8`}],[`path`,{d:`M21 19H8`}],[`path`,{d:`M3 12v7`}]],JM=[[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`}],[`path`,{d:`M3 19h6`}],[`path`,{d:`M3 5h18`}]],YM=[[`path`,{d:`M2 10s3-3 3-8`}],[`path`,{d:`M22 10s-3-3-3-8`}],[`path`,{d:`M10 2c0 4.4-3.6 8-8 8`}],[`path`,{d:`M14 2c0 4.4 3.6 8 8 8`}],[`path`,{d:`M2 10s2 2 2 5`}],[`path`,{d:`M22 10s-2 2-2 5`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}],[`path`,{d:`M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}]],XM=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`M10.585 15H10`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h2`}]],ZM=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8a4 4 0 0 0-1.645 7.647`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}]],QM=[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`}]],$M=[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`}],[`path`,{d:`M17 14V2`}]],eN=[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`}],[`path`,{d:`M7 10v12`}]],tN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],nN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}]],rN=[[`path`,{d:`M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M15 15h.01`}]],iN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],aN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}]],oN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}],[`path`,{d:`m9.5 9.5 5 5`}]],sN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]],cN=[[`path`,{d:`M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12`}],[`path`,{d:`m12 13.5 3.794.506`}],[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],lN=[[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],uN=[[`path`,{d:`M4 12h.01`}],[`path`,{d:`M4 16h.01`}],[`path`,{d:`M4 20h.01`}],[`path`,{d:`M4 4h.01`}],[`path`,{d:`M4 8h.01`}],[`path`,{d:`M9.414 13.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 12z`}],[`path`,{d:`M9.414 21.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 20z`}],[`path`,{d:`M9.414 5.414A2 2 0 0 0 10.828 6H19a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 4z`}]],dN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7`}],[`path`,{d:`M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M12 12v-2`}]],fN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M12 14v-4`}],[`path`,{d:`M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6`}],[`path`,{d:`M9 17H4v5`}]],pN=[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`}],[`circle`,{cx:`12`,cy:`14`,r:`8`}]],mN=[[`circle`,{cx:`9`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],hN=[[`circle`,{cx:`15`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],gN=[[`path`,{d:`M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18`}],[`path`,{d:`M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8`}]],_N=[[`path`,{d:`M10 15h4`}],[`path`,{d:`m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27`}],[`path`,{d:`m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122`}],[`path`,{d:`M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}]],vN=[[`path`,{d:`M16 12v4`}],[`path`,{d:`M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M8 12v4`}]],yN=[[`ellipse`,{cx:`12`,cy:`11`,rx:`3`,ry:`2`}],[`ellipse`,{cx:`12`,cy:`12.5`,rx:`10`,ry:`8.5`}]],bN=[[`path`,{d:`M21 4H3`}],[`path`,{d:`M18 8H6`}],[`path`,{d:`M19 12H9`}],[`path`,{d:`M16 16h-6`}],[`path`,{d:`M11 20H9`}]],xN=[[`path`,{d:`M12 20v-6`}],[`path`,{d:`M19.656 14H22`}],[`path`,{d:`M2 14h12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M9.656 4H20a2 2 0 0 1 2 2v10.344`}]],SN=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M12 20v-6`}]],CN=[[`path`,{d:`M22 7h-2`}],[`path`,{d:`M6.5 3h11A2.5 2.5 0 0 1 20 5.5V20a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V5.5a1 1 0 0 0-5 0V17a1 1 0 0 0 1 1h4`}],[`path`,{d:`M9 7H2`}]],wN=[[`path`,{d:`M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z`}],[`path`,{d:`M8 13v9`}],[`path`,{d:`M16 22v-9`}],[`path`,{d:`m9 6 1 7`}],[`path`,{d:`m15 6-1 7`}],[`path`,{d:`M12 6V2`}],[`path`,{d:`M13 2h-2`}]],TN=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3`}],[`path`,{d:`M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3`}]],EN=[[`path`,{d:`m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20`}],[`path`,{d:`M16 18h-5`}],[`path`,{d:`M18 5a1 1 0 0 0-1 1v5.573`}],[`path`,{d:`M3 4h8.129a1 1 0 0 1 .99.863L13 11.246`}],[`path`,{d:`M4 11V4`}],[`path`,{d:`M7 15h.01`}],[`path`,{d:`M8 10.1V4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`15`,r:`5`}]],DN=[[`path`,{d:`M16.05 10.966a5 2.5 0 0 1-8.1 0`}],[`path`,{d:`m16.923 14.049 4.48 2.04a1 1 0 0 1 .001 1.831l-8.574 3.9a2 2 0 0 1-1.66 0l-8.574-3.91a1 1 0 0 1 0-1.83l4.484-2.04`}],[`path`,{d:`M16.949 14.14a5 2.5 0 1 1-9.9 0L10.063 3.5a2 2 0 0 1 3.874 0z`}],[`path`,{d:`M9.194 6.57a5 2.5 0 0 0 5.61 0`}]],ON=[[`path`,{d:`M2 22V12a10 10 0 1 1 20 0v10`}],[`path`,{d:`M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8`}],[`path`,{d:`M10 15h.01`}],[`path`,{d:`M14 15h.01`}],[`path`,{d:`M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z`}],[`path`,{d:`m9 19-2 3`}],[`path`,{d:`m15 19 2 3`}]],kN=[[`path`,{d:`M8 3.1V7a4 4 0 0 0 8 0V3.1`}],[`path`,{d:`m9 15-1-1`}],[`path`,{d:`m15 15 1-1`}],[`path`,{d:`M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m16 19 2 3`}]],AN=[[`path`,{d:`M2 17 17 2`}],[`path`,{d:`m2 14 8 8`}],[`path`,{d:`m5 11 8 8`}],[`path`,{d:`m8 8 8 8`}],[`path`,{d:`m11 5 8 8`}],[`path`,{d:`m14 2 8 8`}],[`path`,{d:`M7 22 22 7`}]],jN=[[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m18 22-2-3`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}]],MN=[[`path`,{d:`M12 16v6`}],[`path`,{d:`M14 20h-4`}],[`path`,{d:`M18 2h4v4`}],[`path`,{d:`m2 2 7.17 7.17`}],[`path`,{d:`M2 5.355V2h3.357`}],[`path`,{d:`m22 2-7.17 7.17`}],[`path`,{d:`M8 5 5 8`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],NN=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],PN=[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],FN=[[`path`,{d:`M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z`}],[`path`,{d:`M12 19v3`}]],IN=[[`path`,{d:`M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4`}],[`path`,{d:`M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3`}],[`path`,{d:`M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35`}],[`path`,{d:`M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14`}]],LN=[[`path`,{d:`m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z`}],[`path`,{d:`M12 22v-3`}]],RN=[[`path`,{d:`M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z`}],[`path`,{d:`M7 16v6`}],[`path`,{d:`M13 19v3`}],[`path`,{d:`M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5`}]],zN=[[`path`,{d:`M16 17h6v-6`}],[`path`,{d:`m22 17-8.5-8.5-5 5L2 7`}]],BN=[[`path`,{d:`M14.828 14.828 21 21`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`m21 3-9 9-4-4-6 6`}],[`path`,{d:`M21 8V3h-5`}]],VN=[[`path`,{d:`M16 7h6v6`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`}]],HN=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],UN=[[`path`,{d:`M10.17 4.193a2 2 0 0 1 3.666.013`}],[`path`,{d:`M14 21h2`}],[`path`,{d:`m15.874 7.743 1 1.732`}],[`path`,{d:`m18.849 12.952 1 1.732`}],[`path`,{d:`M21.824 18.18a2 2 0 0 1-1.835 2.824`}],[`path`,{d:`M4.024 21a2 2 0 0 1-1.839-2.839`}],[`path`,{d:`m5.136 12.952-1 1.732`}],[`path`,{d:`M8 21h2`}],[`path`,{d:`m8.102 7.743-1 1.732`}]],WN=[[`path`,{d:`M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z`}]],GN=[[`path`,{d:`M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}]],KN=[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`}],[`path`,{d:`M4 22h16`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`}]],qN=[[`path`,{d:`M14 19V7a2 2 0 0 0-2-2H9`}],[`path`,{d:`M15 19H9`}],[`path`,{d:`M19 19h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 9.38a1 1 0 0 0-.78-.38H14`}],[`path`,{d:`M2 13v5a1 1 0 0 0 1 1h2`}],[`path`,{d:`M4 3 2.15 5.15a.495.495 0 0 0 .35.86h2.15a.47.47 0 0 1 .35.86L3 9.02`}],[`circle`,{cx:`17`,cy:`19`,r:`2`}],[`circle`,{cx:`7`,cy:`19`,r:`2`}]],JN=[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M15 18H9`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],YN=[[`path`,{d:`M15 4 5 9`}],[`path`,{d:`m15 8.5-10 5`}],[`path`,{d:`M18 12a9 9 0 0 1-9 9V3`}]],XN=[[`path`,{d:`m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z`}],[`path`,{d:`M4.82 7.9 8 10`}],[`path`,{d:`M15.18 7.9 12 10`}],[`path`,{d:`M16.93 10H20a2 2 0 0 1 0 4H2`}]],ZN=[[`path`,{d:`M10 12.01h.01`}],[`path`,{d:`M18 8v4a8 8 0 0 1-1.07 4`}],[`circle`,{cx:`10`,cy:`12`,r:`4`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],QN=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],$N=[[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],eP=[[`path`,{d:`m17 2-5 5-5-5`}],[`rect`,{width:`20`,height:`15`,x:`2`,y:`7`,rx:`2`}]],tP=[[`path`,{d:`M12 4v16`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`}],[`path`,{d:`M9 20h6`}]],nP=[[`path`,{d:`M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z`}]],rP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M18.656 13h2.336a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-12.07-7.51`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5.961 5.957a10.28 10.28 0 0 0-3.922 5.769A1 1 0 0 0 3 13h10`}]],iP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z`}]],aP=[[`path`,{d:`M6 4v6a6 6 0 0 0 12 0V4`}],[`line`,{x1:`4`,x2:`20`,y1:`20`,y2:`20`}]],oP=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]],sP=[[`path`,{d:`M21 17a9 9 0 0 0-15-6.7L3 13`}],[`path`,{d:`M3 7v6h6`}],[`circle`,{cx:`12`,cy:`17`,r:`1`}]],cP=[[`path`,{d:`M3 7v6h6`}],[`path`,{d:`M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13`}]],lP=[[`path`,{d:`M16 12h6`}],[`path`,{d:`M8 12H2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 15 3-3-3-3`}],[`path`,{d:`m5 9-3 3 3 3`}]],uP=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m15 5-3-3-3 3`}]],dP=[[`rect`,{x:`11`,y:`14`,width:`10`,height:`7`,rx:`2`}],[`rect`,{x:`3`,y:`3`,width:`10`,height:`7`,rx:`2`}]],fP=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 16h.01`}],[`path`,{d:`M22 7a1 1 0 0 0-1-1h-2a2 2 0 0 1-1.143-.359L13.143 2.36a2 2 0 0 0-2.286-.001L6.143 5.64A2 2 0 0 1 5 6H3a1 1 0 0 0-1 1v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z`}],[`path`,{d:`M6 12h.01`}],[`path`,{d:`M6 16h.01`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],pP=[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`}]],mP=[[`path`,{d:`M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2`}]],hP=[[`path`,{d:`m19 5 3-3`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`}]],gP=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m17 8-5-5-5 5`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}]],_P=[[`circle`,{cx:`10`,cy:`7`,r:`1`}],[`circle`,{cx:`4`,cy:`20`,r:`1`}],[`path`,{d:`M4.7 19.3 19 5`}],[`path`,{d:`m21 3-3 1 2 2Z`}],[`path`,{d:`M9.26 7.68 5 12l2 5`}],[`path`,{d:`m10 14 5 2 3.5-3.5`}],[`path`,{d:`m18 12 1-1 1 1-1 1Z`}]],vP=[[`path`,{d:`m16 11 2 2 4-4`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],yP=[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`m14.305 16.53.923-.382`}],[`path`,{d:`m15.228 13.852-.923-.383`}],[`path`,{d:`m16.852 12.228-.383-.923`}],[`path`,{d:`m16.852 17.772-.383.924`}],[`path`,{d:`m19.148 12.228.383-.923`}],[`path`,{d:`m19.53 18.696-.382-.924`}],[`path`,{d:`m20.772 13.852.924-.383`}],[`path`,{d:`m20.772 16.148.924.383`}],[`circle`,{cx:`18`,cy:`15`,r:`3`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],bP=[[`path`,{d:`M19 16v-2a2 2 0 0 0-4 0v2`}],[`path`,{d:`M9.5 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`rect`,{x:`13`,y:`16`,width:`8`,height:`5`,rx:`.899`}]],xP=[[`path`,{d:`M20 11v6`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],SP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],CP=[[`path`,{d:`M11.5 15H7a4 4 0 0 0-4 4v2`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],wP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],TP=[[`path`,{d:`m19 16-3 3`}],[`path`,{d:`M2 21a8 8 0 0 1 12.664-6.5`}],[`path`,{d:`M22 19h-6l3 3`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],EP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m16 19 2 2 4-4`}]],DP=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],OP=[[`path`,{d:`M19 11v6`}],[`path`,{d:`M19 13h2`}],[`path`,{d:`M2 21a8 8 0 0 1 12.868-6.349`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}]],kP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 19h-6`}]],AP=[[`path`,{d:`M2 21a8 8 0 0 1 10.821-7.487`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],jP=[[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.9-1.9`}]],MP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M22 19h-6`}]],NP=[[`path`,{d:`M2 21a8 8 0 0 1 11.873-7`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`m22 17-5 5`}]],PP=[[`circle`,{cx:`12`,cy:`8`,r:`5`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`}]],FP=[[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`path`,{d:`M10.3 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`path`,{d:`m21 21-1.9-1.9`}]],IP=[[`path`,{d:`M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`path`,{d:`M8 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],LP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`17`,x2:`22`,y1:`8`,y2:`13`}],[`line`,{x1:`22`,x2:`17`,y1:`8`,y2:`13`}]],RP=[[`path`,{d:`M18 21a8 8 0 0 0-16 0`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`}]],zP=[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`12`,cy:`7`,r:`4`}]],BP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],VP=[[`path`,{d:`m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8`}],[`path`,{d:`M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7`}],[`path`,{d:`m2.1 21.8 6.4-6.3`}],[`path`,{d:`m19 5-7 7`}]],HP=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M2 5h20`}],[`path`,{d:`M3 3v2`}],[`path`,{d:`M7 3v2`}],[`path`,{d:`M17 3v2`}],[`path`,{d:`M21 3v2`}],[`path`,{d:`m19 5-7 7-7-7`}]],UP=[[`path`,{d:`M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2`}],[`path`,{d:`M7 2v20`}],[`path`,{d:`M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7`}]],WP=[[`path`,{d:`M13 6v5a1 1 0 0 0 1 1h6.102a1 1 0 0 1 .712.298l.898.91a1 1 0 0 1 .288.702V17a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M5 18H3a1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h12c1.1 0 2.1.8 2.4 1.8l1.176 4.2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],GP=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],KP=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 7.9 2.7 2.7`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 10.6 2.7-2.7`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 16.1 2.7-2.7`}],[`circle`,{cx:`16.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 13.4 2.7 2.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],qP=[[`path`,{d:`M19.5 7a24 24 0 0 1 0 10`}],[`path`,{d:`M4.5 7a24 24 0 0 0 0 10`}],[`path`,{d:`M7 19.5a24 24 0 0 0 10 0`}],[`path`,{d:`M7 4.5a24 24 0 0 1 10 0`}],[`rect`,{x:`17`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`17`,y:`2`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`2`,width:`5`,height:`5`,rx:`1`}]],JP=[[`path`,{d:`M16 8q6 0 6-6-6 0-6 6`}],[`path`,{d:`M17.41 3.59a10 10 0 1 0 3 3`}],[`path`,{d:`M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14`}]],YP=[[`path`,{d:`M18 11c-1.5 0-2.5.5-3 2`}],[`path`,{d:`M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z`}],[`path`,{d:`M6 11c1.5 0 2.5.5 3 2`}]],XP=[[`path`,{d:`M10 20h4`}],[`path`,{d:`M12 16v6`}],[`path`,{d:`M17 2h4v4`}],[`path`,{d:`m21 2-5.46 5.46`}],[`circle`,{cx:`12`,cy:`11`,r:`5`}]],ZP=[[`path`,{d:`M12 15v7`}],[`path`,{d:`M9 19h6`}],[`circle`,{cx:`12`,cy:`9`,r:`6`}]],QP=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`path`,{d:`M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2`}],[`path`,{d:`M16 10.34V6c0-.55-.45-1-1-1h-4.34`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],$P=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`}]],eF=[[`path`,{d:`M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196`}],[`path`,{d:`M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}],[`path`,{d:`m2 2 20 20`}]],tF=[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`}]],nF=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 8h20`}],[`circle`,{cx:`8`,cy:`14`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`14`,r:`2`}]],rF=[[`path`,{d:`M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],iF=[[`circle`,{cx:`6`,cy:`12`,r:`4`}],[`circle`,{cx:`18`,cy:`12`,r:`4`}],[`line`,{x1:`6`,x2:`18`,y1:`16`,y2:`16`}]],aF=[[`path`,{d:`M11 7a16 16 20 0 1 10.98 4.362`}],[`path`,{d:`M12 12a13 13 0 0 1-8.66 5`}],[`path`,{d:`M16.83 13.634a16 16 0 0 1-9.267 7.328`}],[`path`,{d:`M20.66 17A13 13 0 0 0 12 12a13 13 0 0 1 0-10`}],[`path`,{d:`M8.17 15.366a16 16 0 0 1-1.713-11.69`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],oF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}]],sF=[[`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}],[`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}],[`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`}]],cF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]],lF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`}]],uF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}]],dF=[[`path`,{d:`m9 12 2 2 4-4`}],[`path`,{d:`M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z`}],[`path`,{d:`M22 19H2`}]],fF=[[`path`,{d:`M3 11h3.75a2 2 0 0 1 1.6.8l.45.6a4 4 0 0 0 6.4 0l.45-.6a2 2 0 0 1 1.6-.8H21`}],[`path`,{d:`M3 7h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],pF=[[`path`,{d:`M17 14h.01`}],[`path`,{d:`M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14`}]],mF=[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`}]],hF=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15`}],[`circle`,{cx:`8`,cy:`9`,r:`2`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],gF=[[`path`,{d:`M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11`}],[`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z`}],[`path`,{d:`M6 13h12`}],[`path`,{d:`M6 17h12`}]],_F=[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`M5 6v4`}],[`path`,{d:`M19 14v4`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M7 8H3`}],[`path`,{d:`M21 16h-4`}],[`path`,{d:`M11 3H9`}]],vF=[[`path`,{d:`M15 4V2`}],[`path`,{d:`M15 16v-2`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M20 9h2`}],[`path`,{d:`M17.8 11.8 19 13`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M17.8 6.2 19 5`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M12.2 6.2 11 5`}]],yF=[[`path`,{d:`M3 6h3`}],[`path`,{d:`M17 6h.01`}],[`rect`,{width:`18`,height:`20`,x:`3`,y:`2`,rx:`2`}],[`circle`,{cx:`12`,cy:`13`,r:`5`}],[`path`,{d:`M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5`}]],bF=[[`path`,{d:`M12 10v2.2l1.6 1`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}]],xF=[[`path`,{d:`M12 10L12 2`}],[`path`,{d:`M16 6L12 10L8 6`}],[`path`,{d:`M2 15C2.6 15.5 3.2 16 4.5 16C7 16 7 14 9.5 14C12.1 14 11.9 16 14.5 16C17 16 17 14 19.5 14C20.8 14 21.4 14.5 22 15`}],[`path`,{d:`M2 21C2.6 21.5 3.2 22 4.5 22C7 22 7 20 9.5 20C12.1 20 11.9 22 14.5 22C17 22 17 20 19.5 20C20.8 20 21.4 20.5 22 21`}]],SF=[[`path`,{d:`M12 2v8`}],[`path`,{d:`M2 15c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`m8 6 4-4 4 4`}]],CF=[[`path`,{d:`M2 12q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 19q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 5q2.5 2 5 0t5 0 5 0 5 0`}]],wF=[[`path`,{d:`M19 5a2 2 0 0 0-2 2v11`}],[`path`,{d:`M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M7 13h10`}],[`path`,{d:`M7 9h10`}],[`path`,{d:`M9 5a2 2 0 0 0-2 2v11`}]],TF=[[`path`,{d:`M12 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M19 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M5 2q2 2.5 0 5t0 5 0 5 0 5`}]],EF=[[`path`,{d:`m10.586 5.414-5.172 5.172`}],[`path`,{d:`m18.586 13.414-5.172 5.172`}],[`path`,{d:`M6 12h12`}],[`circle`,{cx:`12`,cy:`20`,r:`2`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`12`,r:`2`}],[`circle`,{cx:`4`,cy:`12`,r:`2`}]],DF=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M12.754 7.096a3 3 0 0 1 2.15 2.15`}],[`path`,{d:`M12.863 12.873a3 3 0 0 1-3.736-3.735`}],[`path`,{d:`M16.566 16.57A8 8 0 0 1 5.43 5.433`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M8.478 2.817a8 8 0 0 1 10.705 10.705`}]],OF=[[`circle`,{cx:`12`,cy:`10`,r:`8`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M12 22v-4`}]],kF=[[`path`,{d:`M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15`}],[`path`,{d:`M9 3.4a4 4 0 0 1 6.52.66`}],[`path`,{d:`m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05`}],[`path`,{d:`M20.3 20.3a4 4 0 0 1-2.3.7`}],[`path`,{d:`M18.6 13a4 4 0 0 1 3.357 3.414`}],[`path`,{d:`m12 6 .6 1`}],[`path`,{d:`m2 2 20 20`}]],AF=[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`}]],jF=[[`path`,{d:`M6.5 8a2 2 0 0 0-1.906 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8z`}],[`path`,{d:`M7.999 15a2.5 2.5 0 0 1 4 0 2.5 2.5 0 0 0 4 0`}],[`circle`,{cx:`12`,cy:`5`,r:`3`}]],MF=[[`circle`,{cx:`12`,cy:`5`,r:`3`}],[`path`,{d:`M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z`}]],NF=[[`path`,{d:`M2 22 16 8`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}]],PF=[[`path`,{d:`m2 22 10-10`}],[`path`,{d:`m16 8-1.17 1.17`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97`}],[`path`,{d:`M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98`}],[`path`,{d:`M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],FF=[[`circle`,{cx:`7`,cy:`12`,r:`3`}],[`path`,{d:`M10 9v6`}],[`circle`,{cx:`17`,cy:`12`,r:`3`}],[`path`,{d:`M14 7v8`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],IF=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 7.82a15 15 0 0 1 20 0`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M5 11.858a10 10 0 0 1 11.5-1.785`}],[`path`,{d:`M8.5 15.429a5 5 0 0 1 2.413-1.31`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],LF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],RF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],zF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`}],[`path`,{d:`m2 2 20 20`}]],BF=[[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 10.5-2.222`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 3-1.406`}]],VF=[[`path`,{d:`M11.965 10.105v4L13.5 12.5a5 5 0 0 1 8 1.5`}],[`path`,{d:`M11.965 14.105h4`}],[`path`,{d:`M17.965 18.105h4L20.43 19.71a5 5 0 0 1-8-1.5`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.965 22.105v-4`}],[`path`,{d:`M5 12.86a10 10 0 0 1 3-2.032`}],[`path`,{d:`M8.5 16.429h.01`}]],HF=[[`path`,{d:`M12 20h.01`}]],UF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],WF=[[`path`,{d:`M10 2v8`}],[`path`,{d:`M12.8 21.6A2 2 0 1 0 14 18H2`}],[`path`,{d:`M17.5 10a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`m6 6 4 4 4-4`}]],GF=[[`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`}],[`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`}]],KF=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h3m7 0h-1.343`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],qF=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z`}]],JF=[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`}]],YF=[[`path`,{d:`m19 12-1.5 3`}],[`path`,{d:`M19.63 18.81 22 20`}],[`path`,{d:`M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z`}]],XF=[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`}]],ZF=[[`path`,{d:`M10.747 5.093a6 6 0 0 1 6.841-2.882c.438.12.54.662.219.984L14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-2.882 6.842`}],[`path`,{d:`m13.5 13.5-7.88 7.88a1 1 0 0 1-2.999-3l7.88-7.88`}],[`path`,{d:`m2 2 20 20`}]],QF=[[`path`,{d:`M18 4H6`}],[`path`,{d:`M18 8 6 20`}],[`path`,{d:`m6 8 12 12`}]],$F=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]],eI=[[`path`,{d:`M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317`}],[`path`,{d:`M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773`}],[`path`,{d:`M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643`}],[`path`,{d:`m2 2 20 20`}]],tI=[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`}]],nI=[[`path`,{d:`m2 10 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.096-.001l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 10`}],[`path`,{d:`m2 18.002 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.097 0l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 18.002`}]],rI=[[`path`,{d:`M12 7.5a4.5 4.5 0 1 1 5 4.5`}],[`path`,{d:`M7 12a4.5 4.5 0 1 1 5-4.5V21`}]],iI=[[`path`,{d:`M21 14.5A9 6.5 0 0 1 5.5 19`}],[`path`,{d:`M3 9.5A9 6.5 0 0 1 18.5 5`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`9.5`,r:`3.5`}]],aI=[[`path`,{d:`M16 4.525v14.948`}],[`path`,{d:`M20 3A17 17 0 0 1 4 3`}],[`path`,{d:`M4 21a17 17 0 0 1 16 0`}],[`path`,{d:`M8 4.525v14.948`}]],oI=[[`path`,{d:`M11 21a3 3 0 0 0 3-3V6.5a1 1 0 0 0-7 0`}],[`path`,{d:`M7 19V6a3 3 0 0 0-3-3h0`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],sI=[[`path`,{d:`M3 16h6.857c.162-.012.19-.323.038-.38a6 6 0 1 1 4.212 0c-.153.057-.125.368.038.38H21`}],[`path`,{d:`M3 20h18`}]],cI=[[`path`,{d:`M10 16c0-4-3-4.5-3-8a5 5 0 0 1 10 0c0 3.466-3 6.196-3 10a3 3 0 0 0 6 0`}],[`circle`,{cx:`7`,cy:`16`,r:`3`}]],lI=[[`path`,{d:`M3 10A6.06 6.06 0 0 1 12 10 A6.06 6.06 0 0 0 21 10`}],[`path`,{d:`M6 3v12a6 6 0 0 0 12 0V3`}]],uI=[[`path`,{d:`M19 21a15 15 0 0 1 0-18`}],[`path`,{d:`M20 12H4`}],[`path`,{d:`M5 3a15 15 0 0 1 0 18`}]],dI=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M21 3 3 21`}],[`path`,{d:`m9 9 6 6`}]],fI=[[`circle`,{cx:`12`,cy:`15`,r:`6`}],[`path`,{d:`M18 3A6 6 0 0 1 6 3`}]],pI=[[`path`,{d:`M10 19V5.5a1 1 0 0 1 5 0V17a2 2 0 0 0 2 2h5l-3-3`}],[`path`,{d:`m22 19-3 3`}],[`path`,{d:`M5 19V5.5a1 1 0 0 1 5 0`}],[`path`,{d:`M5 5.5A2.5 2.5 0 0 0 2.5 3`}]],mI=[[`path`,{d:`M11 5.5a1 1 0 0 1 5 0V16a5 5 0 0 0 5 5`}],[`path`,{d:`M16 11.5a1 1 0 0 1 5 0V16a5 5 0 0 1-5 5`}],[`path`,{d:`M6 19V6a3 3 0 0 0-3-3h0`}],[`path`,{d:`M6 5.5a1 1 0 0 1 5 0V19`}]],hI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],gI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],_I=t({AArrowDown:()=>ga,AArrowUp:()=>_a,ALargeSmall:()=>ba,Accessibility:()=>va,Activity:()=>ya,ActivitySquare:()=>tA,Ad:()=>xa,AirVent:()=>Sa,Airplay:()=>Ca,AlarmCheck:()=>Ta,AlarmClock:()=>Oa,AlarmClockCheck:()=>Ta,AlarmClockMinus:()=>wa,AlarmClockOff:()=>Ea,AlarmClockPlus:()=>Da,AlarmMinus:()=>wa,AlarmPlus:()=>Da,AlarmSmoke:()=>ka,Album:()=>Aa,AlertCircle:()=>Ud,AlertOctagon:()=>cw,AlertTriangle:()=>HN,AlignCenter:()=>zM,AlignCenterHorizontal:()=>ja,AlignCenterVertical:()=>Ma,AlignEndHorizontal:()=>Na,AlignEndVertical:()=>Fa,AlignHorizontalDistributeCenter:()=>Pa,AlignHorizontalDistributeEnd:()=>Ia,AlignHorizontalDistributeStart:()=>La,AlignHorizontalJustifyCenter:()=>Ra,AlignHorizontalJustifyEnd:()=>za,AlignHorizontalJustifyStart:()=>Ba,AlignHorizontalSpaceAround:()=>Va,AlignHorizontalSpaceBetween:()=>Ua,AlignJustify:()=>VM,AlignLeft:()=>HM,AlignRight:()=>BM,AlignStartHorizontal:()=>Ha,AlignStartVertical:()=>Wa,AlignVerticalDistributeCenter:()=>Ga,AlignVerticalDistributeEnd:()=>Ka,AlignVerticalDistributeStart:()=>qa,AlignVerticalJustifyCenter:()=>Ja,AlignVerticalJustifyEnd:()=>Ya,AlignVerticalJustifyStart:()=>Xa,AlignVerticalSpaceAround:()=>Za,AlignVerticalSpaceBetween:()=>Qa,Ambulance:()=>$a,Ampersand:()=>eee,Ampersands:()=>eo,Amphora:()=>tee,Anchor:()=>nee,Angry:()=>ree,Annoyed:()=>iee,Antenna:()=>aee,Anvil:()=>oee,Aperture:()=>to,AppWindow:()=>io,AppWindowMac:()=>no,Apple:()=>ro,Archive:()=>co,ArchiveRestore:()=>ao,ArchiveX:()=>oo,AreaChart:()=>Gu,Armchair:()=>so,ArrowBigDown:()=>uo,ArrowBigDownDash:()=>lo,ArrowBigLeft:()=>po,ArrowBigLeftDash:()=>fo,ArrowBigRight:()=>ho,ArrowBigRightDash:()=>mo,ArrowBigUp:()=>_o,ArrowBigUpDash:()=>go,ArrowDown:()=>jo,ArrowDown01:()=>vo,ArrowDown10:()=>yo,ArrowDownAZ:()=>xo,ArrowDownAz:()=>xo,ArrowDownCircle:()=>Wd,ArrowDownFromLine:()=>bo,ArrowDownLeft:()=>So,ArrowDownLeftFromCircle:()=>Kd,ArrowDownLeftFromSquare:()=>oA,ArrowDownLeftSquare:()=>nA,ArrowDownNarrowWide:()=>Co,ArrowDownRight:()=>wo,ArrowDownRightFromCircle:()=>qd,ArrowDownRightFromSquare:()=>sA,ArrowDownRightSquare:()=>rA,ArrowDownSquare:()=>iA,ArrowDownToDot:()=>Eo,ArrowDownToLine:()=>To,ArrowDownUp:()=>Do,ArrowDownWideNarrow:()=>Oo,ArrowDownZA:()=>ko,ArrowDownZa:()=>ko,ArrowLeft:()=>Po,ArrowLeftCircle:()=>Gd,ArrowLeftFromLine:()=>Ao,ArrowLeftRight:()=>Mo,ArrowLeftSquare:()=>aA,ArrowLeftToLine:()=>No,ArrowRight:()=>Ro,ArrowRightCircle:()=>Xd,ArrowRightFromLine:()=>Fo,ArrowRightLeft:()=>Io,ArrowRightSquare:()=>fA,ArrowRightToLine:()=>Lo,ArrowUp:()=>Zo,ArrowUp01:()=>zo,ArrowUp10:()=>Bo,ArrowUpAZ:()=>Vo,ArrowUpAz:()=>Vo,ArrowUpCircle:()=>Zd,ArrowUpDown:()=>Ho,ArrowUpFromDot:()=>Uo,ArrowUpFromLine:()=>Wo,ArrowUpLeft:()=>Go,ArrowUpLeftFromCircle:()=>Jd,ArrowUpLeftFromSquare:()=>cA,ArrowUpLeftSquare:()=>pA,ArrowUpNarrowWide:()=>Ko,ArrowUpRight:()=>qo,ArrowUpRightFromCircle:()=>Yd,ArrowUpRightFromSquare:()=>lA,ArrowUpRightSquare:()=>mA,ArrowUpSquare:()=>hA,ArrowUpToLine:()=>Jo,ArrowUpWideNarrow:()=>Yo,ArrowUpZA:()=>Xo,ArrowUpZa:()=>Xo,ArrowsUpFromLine:()=>$o,Asterisk:()=>Qo,AsteriskSquare:()=>gA,Astroid:()=>es,AtSign:()=>ts,Atom:()=>ns,AudioLines:()=>rs,AudioWaveform:()=>os,Award:()=>is,Axe:()=>as,Axis3D:()=>ss,Axis3d:()=>ss,Baby:()=>ls,Backpack:()=>cs,Badge:()=>Ds,BadgeAlert:()=>us,BadgeCent:()=>ds,BadgeCheck:()=>fs,BadgeDollarSign:()=>ps,BadgeEuro:()=>ms,BadgeHelp:()=>Ss,BadgeIndianRupee:()=>hs,BadgeInfo:()=>gs,BadgeJapaneseYen:()=>_s,BadgeMinus:()=>vs,BadgePercent:()=>ys,BadgePlus:()=>bs,BadgePoundSterling:()=>xs,BadgeQuestionMark:()=>Ss,BadgeRussianRuble:()=>Cs,BadgeSwissFranc:()=>ws,BadgeTurkishLira:()=>Ts,BadgeX:()=>Es,BaggageClaim:()=>Os,Balloon:()=>ks,Ban:()=>As,Banana:()=>js,Bandage:()=>Ms,Banknote:()=>Ls,BanknoteArrowDown:()=>Ns,BanknoteArrowUp:()=>Ps,BanknoteCheck:()=>Fs,BanknoteX:()=>Is,BarChart:()=>od,BarChart2:()=>sd,BarChart3:()=>nd,BarChart4:()=>ed,BarChartBig:()=>Qu,BarChartHorizontal:()=>Xu,BarChartHorizontalBig:()=>Ku,Barcode:()=>Rs,Barrel:()=>zs,Baseline:()=>Bs,Bath:()=>Vs,Battery:()=>Js,BatteryCharging:()=>Hs,BatteryFull:()=>Us,BatteryLow:()=>Ws,BatteryMedium:()=>Gs,BatteryPlus:()=>Ks,BatteryWarning:()=>qs,Beaker:()=>Ys,Bean:()=>Zs,BeanOff:()=>Xs,Bed:()=>ec,BedDouble:()=>Qs,BedSingle:()=>$s,Beef:()=>nc,BeefOff:()=>tc,Beer:()=>ic,BeerOff:()=>rc,Bell:()=>fc,BellCheck:()=>oc,BellDot:()=>ac,BellElectric:()=>sc,BellMinus:()=>cc,BellOff:()=>lc,BellPlus:()=>uc,BellRing:()=>dc,BetweenHorizonalEnd:()=>pc,BetweenHorizonalStart:()=>mc,BetweenHorizontalEnd:()=>pc,BetweenHorizontalStart:()=>mc,BetweenVerticalEnd:()=>hc,BetweenVerticalStart:()=>gc,BicepsFlexed:()=>_c,Bike:()=>vc,Binary:()=>yc,Binoculars:()=>xc,Biohazard:()=>bc,Bird:()=>Sc,Birdhouse:()=>Cc,Bitcoin:()=>wc,Blend:()=>Tc,Blender:()=>Dc,Blinds:()=>Ec,Blocks:()=>Oc,Bluetooth:()=>Mc,BluetoothConnected:()=>kc,BluetoothOff:()=>Ac,BluetoothSearching:()=>jc,Bold:()=>Nc,Bolt:()=>Pc,Bomb:()=>Fc,Bone:()=>Lc,BoneFracture:()=>Ic,Book:()=>ll,BookA:()=>Rc,BookAlert:()=>zc,BookAudio:()=>Bc,BookCheck:()=>Vc,BookCopy:()=>Hc,BookDashed:()=>Uc,BookDown:()=>Wc,BookHeadphones:()=>Gc,BookHeart:()=>Kc,BookImage:()=>qc,BookKey:()=>Jc,BookLock:()=>Yc,BookMarked:()=>Xc,BookMinus:()=>Zc,BookOpen:()=>el,BookOpenCheck:()=>Qc,BookOpenText:()=>$c,BookPlus:()=>tl,BookSearch:()=>nl,BookTemplate:()=>Uc,BookText:()=>rl,BookType:()=>il,BookUp:()=>ol,BookUp2:()=>al,BookUser:()=>sl,BookX:()=>cl,Bookmark:()=>hl,BookmarkCheck:()=>ul,BookmarkMinus:()=>dl,BookmarkOff:()=>fl,BookmarkPlus:()=>pl,BookmarkX:()=>ml,BoomBox:()=>_l,Bot:()=>yl,BotMessageSquare:()=>gl,BotOff:()=>vl,BottleWine:()=>bl,BowArrow:()=>xl,Box:()=>Sl,BoxSelect:()=>PA,Boxes:()=>Cl,Braces:()=>wl,Brackets:()=>Tl,Brain:()=>Ol,BrainCircuit:()=>El,BrainCog:()=>Dl,BrickWall:()=>Al,BrickWallFire:()=>jl,BrickWallShield:()=>kl,Briefcase:()=>Fl,BriefcaseBusiness:()=>Ml,BriefcaseConveyorBelt:()=>Nl,BriefcaseMedical:()=>Pl,BringToFront:()=>Rl,Broccoli:()=>Il,Brush:()=>zl,BrushCleaning:()=>Ll,Bubbles:()=>Bl,Bug:()=>Ul,BugOff:()=>Vl,BugPlay:()=>Hl,Building:()=>Gl,Building2:()=>Wl,Bus:()=>ql,BusFront:()=>Kl,Cable:()=>Yl,CableCar:()=>Jl,Cake:()=>Zl,CakeSlice:()=>Xl,Calculator:()=>Ql,Calendar:()=>yu,Calendar1:()=>$l,CalendarArrowDown:()=>eu,CalendarArrowUp:()=>tu,CalendarCheck:()=>nu,CalendarCheck2:()=>ru,CalendarClock:()=>iu,CalendarCog:()=>au,CalendarDays:()=>ou,CalendarFold:()=>su,CalendarHeart:()=>lu,CalendarMinus:()=>uu,CalendarMinus2:()=>cu,CalendarOff:()=>du,CalendarPlus:()=>pu,CalendarPlus2:()=>fu,CalendarRange:()=>mu,CalendarSearch:()=>hu,CalendarSync:()=>gu,CalendarX:()=>vu,CalendarX2:()=>_u,Calendars:()=>bu,Camera:()=>Su,CameraOff:()=>xu,CandlestickChart:()=>Zu,Candy:()=>wu,CandyCane:()=>Cu,CandyOff:()=>Tu,Cannabis:()=>Eu,CannabisOff:()=>Du,Captions:()=>ku,CaptionsOff:()=>Ou,Car:()=>Mu,CarFront:()=>Au,CarTaxiFront:()=>ju,Caravan:()=>Nu,CardSim:()=>Pu,Carrot:()=>Fu,CaseLower:()=>Iu,CaseSensitive:()=>Lu,CaseUpper:()=>Ru,CassetteTape:()=>zu,Cast:()=>Bu,Castle:()=>Vu,Cat:()=>Hu,Cctv:()=>Wu,CctvOff:()=>Uu,ChartArea:()=>Gu,ChartBar:()=>Xu,ChartBarBig:()=>Ku,ChartBarDecreasing:()=>Ju,ChartBarIncreasing:()=>qu,ChartBarStacked:()=>Yu,ChartCandlestick:()=>Zu,ChartColumn:()=>nd,ChartColumnBig:()=>Qu,ChartColumnDecreasing:()=>$u,ChartColumnIncreasing:()=>ed,ChartColumnStacked:()=>td,ChartGantt:()=>rd,ChartLine:()=>id,ChartNetwork:()=>cd,ChartNoAxesColumn:()=>sd,ChartNoAxesColumnDecreasing:()=>ad,ChartNoAxesColumnIncreasing:()=>od,ChartNoAxesCombined:()=>ld,ChartNoAxesGantt:()=>ud,ChartPie:()=>dd,ChartScatter:()=>fd,ChartSpline:()=>pd,Check:()=>gd,CheckCheck:()=>md,CheckCircle:()=>Qd,CheckCircle2:()=>$d,CheckLine:()=>hd,CheckSquare:()=>xA,CheckSquare2:()=>SA,ChefHat:()=>_d,Cherry:()=>vd,ChessBishop:()=>bd,ChessKing:()=>yd,ChessKnight:()=>xd,ChessPawn:()=>Sd,ChessQueen:()=>Cd,ChessRook:()=>wd,ChevronDown:()=>Td,ChevronDownCircle:()=>ef,ChevronDownSquare:()=>CA,ChevronFirst:()=>Dd,ChevronLast:()=>Ed,ChevronLeft:()=>Od,ChevronLeftCircle:()=>tf,ChevronLeftSquare:()=>wA,ChevronRight:()=>kd,ChevronRightCircle:()=>nf,ChevronRightSquare:()=>TA,ChevronUp:()=>Ad,ChevronUpCircle:()=>rf,ChevronUpSquare:()=>EA,ChevronsDown:()=>jd,ChevronsDownUp:()=>Md,ChevronsLeft:()=>Fd,ChevronsLeftRight:()=>Pd,ChevronsLeftRightEllipsis:()=>Nd,ChevronsRight:()=>Ld,ChevronsRightLeft:()=>Id,ChevronsUp:()=>zd,ChevronsUpDown:()=>Rd,Church:()=>Bd,Cigarette:()=>Hd,CigaretteOff:()=>Vd,Circle:()=>If,CircleAlert:()=>Ud,CircleArrowDown:()=>Wd,CircleArrowLeft:()=>Gd,CircleArrowOutDownLeft:()=>Kd,CircleArrowOutDownRight:()=>qd,CircleArrowOutUpLeft:()=>Jd,CircleArrowOutUpRight:()=>Yd,CircleArrowRight:()=>Xd,CircleArrowUp:()=>Zd,CircleCheck:()=>$d,CircleCheckBig:()=>Qd,CircleChevronDown:()=>ef,CircleChevronLeft:()=>tf,CircleChevronRight:()=>nf,CircleChevronUp:()=>rf,CircleDashed:()=>af,CircleDivide:()=>of,CircleDollarSign:()=>sf,CircleDot:()=>lf,CircleDotDashed:()=>cf,CircleEllipsis:()=>uf,CircleEqual:()=>df,CircleEuro:()=>ff,CircleFadingArrowUp:()=>pf,CircleFadingPlus:()=>hf,CircleGauge:()=>mf,CircleHelp:()=>Df,CircleMinus:()=>gf,CircleOff:()=>_f,CircleParking:()=>yf,CircleParkingOff:()=>vf,CirclePause:()=>bf,CirclePercent:()=>xf,CirclePile:()=>Sf,CirclePlay:()=>Cf,CirclePlus:()=>wf,CirclePoundSterling:()=>Tf,CirclePower:()=>Ef,CircleQuestionMark:()=>Df,CircleSlash:()=>Of,CircleSlash2:()=>kf,CircleSlashed:()=>kf,CircleSmall:()=>Af,CircleStar:()=>jf,CircleStop:()=>Mf,CircleUser:()=>Pf,CircleUserRound:()=>Nf,CircleX:()=>Ff,CircuitBoard:()=>Lf,Citrus:()=>Rf,Clapperboard:()=>zf,Clipboard:()=>Zf,ClipboardCheck:()=>Vf,ClipboardClock:()=>Bf,ClipboardCopy:()=>Hf,ClipboardEdit:()=>qf,ClipboardList:()=>Uf,ClipboardMinus:()=>Wf,ClipboardPaste:()=>Gf,ClipboardPen:()=>qf,ClipboardPenLine:()=>Kf,ClipboardPlus:()=>Jf,ClipboardSignature:()=>Kf,ClipboardType:()=>Yf,ClipboardX:()=>Xf,Clock:()=>vp,Clock1:()=>Qf,Clock10:()=>$f,Clock11:()=>ep,Clock12:()=>tp,Clock2:()=>np,Clock3:()=>rp,Clock4:()=>ip,Clock5:()=>ap,Clock6:()=>op,Clock7:()=>sp,Clock8:()=>lp,Clock9:()=>cp,ClockAlert:()=>up,ClockArrowDown:()=>dp,ClockArrowLeft:()=>fp,ClockArrowRight:()=>pp,ClockArrowUp:()=>mp,ClockCheck:()=>hp,ClockFading:()=>gp,ClockPlus:()=>_p,ClosedCaption:()=>yp,Cloud:()=>zp,CloudAlert:()=>bp,CloudBackup:()=>Sp,CloudCheck:()=>xp,CloudCog:()=>Cp,CloudDownload:()=>wp,CloudDrizzle:()=>Ep,CloudFog:()=>Tp,CloudHail:()=>Dp,CloudLightning:()=>Op,CloudMoon:()=>Ap,CloudMoonRain:()=>kp,CloudOff:()=>jp,CloudRain:()=>Np,CloudRainWind:()=>Mp,CloudSnow:()=>Pp,CloudSun:()=>Ip,CloudSunRain:()=>Fp,CloudSync:()=>Lp,CloudUpload:()=>Rp,Cloudy:()=>Bp,Clover:()=>Vp,Club:()=>Hp,Code:()=>Wp,Code2:()=>Up,CodeSquare:()=>DA,CodeXml:()=>Up,Coffee:()=>Gp,Cog:()=>Kp,Coins:()=>qp,Columns:()=>Jp,Columns2:()=>Jp,Columns3:()=>Xp,Columns3Cog:()=>Yp,Columns4:()=>Zp,ColumnsSettings:()=>Yp,Combine:()=>$p,Command:()=>Qp,Compass:()=>em,Component:()=>tm,Computer:()=>nm,ConciergeBell:()=>rm,Cone:()=>im,Construction:()=>om,Contact:()=>sm,Contact2:()=>am,ContactRound:()=>am,Container:()=>cm,Contrast:()=>lm,Cookie:()=>um,CookingPot:()=>dm,Copy:()=>_m,CopyCheck:()=>fm,CopyMinus:()=>pm,CopyPlus:()=>mm,CopySlash:()=>hm,CopyX:()=>gm,Copyleft:()=>vm,Copyright:()=>ym,CornerDownLeft:()=>bm,CornerDownRight:()=>xm,CornerLeftDown:()=>Cm,CornerLeftUp:()=>Sm,CornerRightDown:()=>wm,CornerRightUp:()=>Tm,CornerUpLeft:()=>Em,CornerUpRight:()=>Dm,Cpu:()=>Om,CreativeCommons:()=>km,CreditCard:()=>Am,Croissant:()=>jm,Crop:()=>Mm,Cross:()=>Nm,Crosshair:()=>Pm,Crown:()=>Lm,Cuboid:()=>Fm,CupSoda:()=>Im,CurlyBraces:()=>wl,Currency:()=>Rm,Cylinder:()=>zm,Dam:()=>Bm,Database:()=>Xm,DatabaseArrowDown:()=>Vm,DatabaseArrowUp:()=>Hm,DatabaseBackup:()=>Wm,DatabaseCheck:()=>Um,DatabaseMinus:()=>Gm,DatabasePlus:()=>Km,DatabaseSearch:()=>qm,DatabaseX:()=>Jm,DatabaseZap:()=>Ym,DecimalsArrowLeft:()=>Qm,DecimalsArrowRight:()=>Zm,Delete:()=>$m,Dessert:()=>eh,Diameter:()=>th,Diamond:()=>ah,DiamondMinus:()=>nh,DiamondPercent:()=>rh,DiamondPlus:()=>ih,Dice1:()=>oh,Dice2:()=>sh,Dice3:()=>ch,Dice4:()=>lh,Dice5:()=>uh,Dice6:()=>fh,Dices:()=>dh,Diff:()=>ph,Disc:()=>vh,Disc2:()=>mh,Disc3:()=>hh,DiscAlbum:()=>_h,Divide:()=>gh,DivideCircle:()=>of,DivideSquare:()=>FA,Dna:()=>bh,DnaOff:()=>yh,Dock:()=>xh,Dog:()=>Sh,DollarSign:()=>Ch,Donut:()=>wh,DoorClosed:()=>Eh,DoorClosedLocked:()=>Th,DoorOpen:()=>Dh,Dot:()=>Oh,DotSquare:()=>IA,Download:()=>kh,DownloadCloud:()=>wp,DraftingCompass:()=>Mh,Drama:()=>Ah,Drill:()=>jh,Drone:()=>Nh,Droplet:()=>Fh,DropletOff:()=>Ph,Droplets:()=>Ih,Drum:()=>Lh,Drumstick:()=>Rh,Dumbbell:()=>zh,Ear:()=>Vh,EarOff:()=>Bh,Earth:()=>Wh,EarthLock:()=>Hh,Eclipse:()=>Uh,Edit:()=>JA,Edit2:()=>uT,Edit3:()=>sT,Egg:()=>qh,EggFried:()=>Gh,EggOff:()=>Kh,Ellipse:()=>Jh,Ellipsis:()=>Xh,EllipsisVertical:()=>Yh,Equal:()=>$h,EqualApproximately:()=>Zh,EqualNot:()=>Qh,EqualSquare:()=>LA,Eraser:()=>eg,EthernetPort:()=>tg,Euro:()=>ng,EvCharger:()=>rg,Expand:()=>ig,ExternalLink:()=>ag,Eye:()=>lg,EyeClosed:()=>og,EyeDashed:()=>sg,EyeOff:()=>cg,Factory:()=>ug,Fan:()=>dg,FastForward:()=>fg,Feather:()=>mg,Fence:()=>pg,FerrisWheel:()=>hg,File:()=>g_,FileArchive:()=>gg,FileAudio:()=>Ig,FileAudio2:()=>Ig,FileAxis3D:()=>_g,FileAxis3d:()=>_g,FileBadge:()=>vg,FileBadge2:()=>vg,FileBarChart:()=>Sg,FileBarChart2:()=>Cg,FileBox:()=>yg,FileBraces:()=>xg,FileBracesCorner:()=>bg,FileChartColumn:()=>Cg,FileChartColumnIncreasing:()=>Sg,FileChartLine:()=>Tg,FileChartPie:()=>wg,FileCheck:()=>Dg,FileCheck2:()=>Eg,FileCheckCorner:()=>Eg,FileClock:()=>kg,FileCode:()=>Ag,FileCode2:()=>Og,FileCodeCorner:()=>Og,FileCog:()=>jg,FileCog2:()=>jg,FileDiff:()=>Ng,FileDigit:()=>Mg,FileDown:()=>Pg,FileEdit:()=>qg,FileExclamationPoint:()=>Fg,FileHeadphone:()=>Ig,FileHeart:()=>Lg,FileImage:()=>Rg,FileInput:()=>zg,FileJson:()=>xg,FileJson2:()=>bg,FileKey:()=>Bg,FileKey2:()=>Bg,FileLineChart:()=>Tg,FileLock:()=>Vg,FileLock2:()=>Vg,FileMinus:()=>Ug,FileMinus2:()=>Hg,FileMinusCorner:()=>Hg,FileMusic:()=>Wg,FileOutput:()=>Gg,FilePen:()=>qg,FilePenLine:()=>Kg,FilePieChart:()=>wg,FilePlay:()=>Jg,FilePlus:()=>Xg,FilePlus2:()=>Yg,FilePlusCorner:()=>Yg,FileQuestion:()=>Zg,FileQuestionMark:()=>Zg,FileScan:()=>Qg,FileSearch:()=>e_,FileSearch2:()=>$g,FileSearchCorner:()=>$g,FileSignal:()=>n_,FileSignature:()=>Kg,FileSliders:()=>t_,FileSpreadsheet:()=>r_,FileStack:()=>a_,FileSymlink:()=>i_,FileTerminal:()=>o_,FileText:()=>s_,FileType:()=>l_,FileType2:()=>c_,FileTypeCorner:()=>c_,FileUp:()=>u_,FileUser:()=>d_,FileVideo:()=>Jg,FileVideo2:()=>f_,FileVideoCamera:()=>f_,FileVolume:()=>p_,FileVolume2:()=>n_,FileWarning:()=>Fg,FileX:()=>h_,FileX2:()=>m_,FileXCorner:()=>m_,Files:()=>__,Film:()=>v_,Filter:()=>Mv,FilterX:()=>jv,Fingerprint:()=>y_,FingerprintPattern:()=>y_,FireExtinguisher:()=>b_,Fish:()=>C_,FishOff:()=>x_,FishSymbol:()=>S_,FishingHook:()=>w_,FishingRod:()=>T_,Flag:()=>k_,FlagOff:()=>E_,FlagTriangleLeft:()=>D_,FlagTriangleRight:()=>O_,Flame:()=>j_,FlameKindling:()=>A_,Flashlight:()=>N_,FlashlightOff:()=>M_,FlaskConical:()=>F_,FlaskConicalOff:()=>P_,FlaskRound:()=>I_,FlipHorizontal:()=>vA,FlipHorizontal2:()=>L_,FlipVertical:()=>yA,FlipVertical2:()=>R_,Flower:()=>z_,Flower2:()=>B_,Focus:()=>V_,FoldHorizontal:()=>H_,FoldVertical:()=>U_,Folder:()=>bv,FolderArchive:()=>W_,FolderBookmark:()=>K_,FolderCheck:()=>G_,FolderClock:()=>q_,FolderClosed:()=>J_,FolderCode:()=>Y_,FolderCog:()=>X_,FolderCog2:()=>X_,FolderDot:()=>Z_,FolderDown:()=>Q_,FolderEdit:()=>dv,FolderGit:()=>ev,FolderGit2:()=>$_,FolderHeart:()=>tv,FolderInput:()=>nv,FolderKanban:()=>rv,FolderKey:()=>iv,FolderLock:()=>av,FolderMinus:()=>ov,FolderOpen:()=>cv,FolderOpenDot:()=>sv,FolderOutput:()=>lv,FolderPen:()=>dv,FolderPlus:()=>uv,FolderRoot:()=>fv,FolderSearch:()=>mv,FolderSearch2:()=>pv,FolderSymlink:()=>hv,FolderSync:()=>gv,FolderTree:()=>_v,FolderUp:()=>vv,FolderX:()=>yv,Folders:()=>xv,Footprints:()=>Cv,ForkKnife:()=>UP,ForkKnifeCrossed:()=>VP,Forklift:()=>Sv,Form:()=>wv,FormInput:()=>HE,Forward:()=>Tv,Frame:()=>Ev,Frown:()=>Dv,Fuel:()=>Ov,Fullscreen:()=>kv,FunctionSquare:()=>RA,Funnel:()=>Mv,FunnelPlus:()=>Av,FunnelX:()=>jv,GalleryHorizontal:()=>Pv,GalleryHorizontalEnd:()=>Nv,GalleryThumbnails:()=>Fv,GalleryVertical:()=>Iv,GalleryVerticalEnd:()=>Lv,Gamepad:()=>Bv,Gamepad2:()=>Rv,GamepadDirectional:()=>zv,GanttChart:()=>ud,GanttChartSquare:()=>bA,Gauge:()=>Vv,GaugeCircle:()=>mf,Gavel:()=>Hv,Gem:()=>Uv,GeorgianLari:()=>Gv,Ghost:()=>Wv,Gift:()=>Kv,GitBranch:()=>Yv,GitBranchMinus:()=>qv,GitBranchPlus:()=>Jv,GitCommit:()=>Qv,GitCommitHorizontal:()=>Qv,GitCommitVertical:()=>Xv,GitCompare:()=>$v,GitCompareArrows:()=>Zv,GitFork:()=>ey,GitGraph:()=>ty,GitMerge:()=>ry,GitMergeConflict:()=>ny,GitPullRequest:()=>lee,GitPullRequestArrow:()=>iy,GitPullRequestClosed:()=>ay,GitPullRequestCreate:()=>sy,GitPullRequestCreateArrow:()=>oy,GitPullRequestDraft:()=>see,GlassWater:()=>cee,Glasses:()=>uee,Globe:()=>hee,Globe2:()=>Wh,GlobeCheck:()=>dee,GlobeLock:()=>fee,GlobeOff:()=>pee,GlobeX:()=>mee,Goal:()=>gee,Gpu:()=>_ee,Grab:()=>py,GraduationCap:()=>vee,Grape:()=>yee,Grid:()=>fy,Grid2X2:()=>dy,Grid2X2Check:()=>cy,Grid2X2Plus:()=>ly,Grid2X2X:()=>uy,Grid2x2:()=>dy,Grid2x2Check:()=>cy,Grid2x2Plus:()=>ly,Grid2x2X:()=>uy,Grid3X3:()=>fy,Grid3x2:()=>bee,Grid3x3:()=>fy,Grip:()=>Cee,GripHorizontal:()=>xee,GripVertical:()=>See,Group:()=>wee,Guitar:()=>Tee,Ham:()=>Dee,Hamburger:()=>Eee,Hammer:()=>Oee,Hand:()=>Pee,HandCoins:()=>kee,HandFist:()=>Aee,HandGrab:()=>py,HandHeart:()=>jee,HandHelping:()=>my,HandMetal:()=>Mee,HandPlatter:()=>Nee,Handbag:()=>Fee,Handshake:()=>Iee,HardDrive:()=>Ree,HardDriveDownload:()=>Lee,HardDriveUpload:()=>zee,HardHat:()=>Bee,Hash:()=>Vee,HatGlasses:()=>Hee,Haze:()=>Uee,Hd:()=>Wee,HdmiPort:()=>Gee,Heading:()=>Qee,Heading1:()=>Kee,Heading2:()=>qee,Heading3:()=>Yee,Heading4:()=>Jee,Heading5:()=>Xee,Heading6:()=>Zee,HeadphoneOff:()=>$ee,Headphones:()=>ete,Headset:()=>tte,Heart:()=>lte,HeartCrack:()=>nte,HeartHandshake:()=>rte,HeartMinus:()=>ite,HeartOff:()=>ate,HeartPlus:()=>ote,HeartPulse:()=>ste,HeartX:()=>cte,Heater:()=>ute,Helicopter:()=>dte,HelpCircle:()=>Df,HelpingHand:()=>my,Hexagon:()=>fte,Highlighter:()=>pte,History:()=>mte,Home:()=>_y,Hop:()=>hte,HopOff:()=>gte,Hospital:()=>_te,Hotel:()=>vte,Hourglass:()=>bte,House:()=>_y,HouseHeart:()=>yte,HousePlug:()=>hy,HousePlus:()=>xte,HouseWifi:()=>gy,IceCream:()=>yy,IceCream2:()=>vy,IceCreamBowl:()=>vy,IceCreamCone:()=>yy,IdCard:()=>xy,IdCardLanyard:()=>by,Image:()=>Oy,ImageDown:()=>Sy,ImageMinus:()=>Cy,ImageOff:()=>wy,ImagePlay:()=>Ty,ImagePlus:()=>Ey,ImageUp:()=>Dy,ImageUpscale:()=>Ay,Images:()=>ky,Import:()=>My,Inbox:()=>jy,Indent:()=>qb,IndentDecrease:()=>Gb,IndentIncrease:()=>qb,IndianRupee:()=>Ny,Infinity:()=>Py,Info:()=>Fy,Inspect:()=>WA,InspectionPanel:()=>Iy,Italic:()=>Ly,IterationCcw:()=>Ry,IterationCw:()=>zy,JapaneseYen:()=>By,Joystick:()=>Vy,Kanban:()=>Uy,KanbanSquare:()=>zA,KanbanSquareDashed:()=>AA,Kayak:()=>Hy,Key:()=>Ky,KeyRound:()=>Wy,KeySquare:()=>Gy,Keyboard:()=>Jy,KeyboardMusic:()=>qy,KeyboardOff:()=>Yy,Lamp:()=>tb,LampCeiling:()=>Xy,LampDesk:()=>Zy,LampFloor:()=>Qy,LampWallDown:()=>$y,LampWallUp:()=>eb,LandPlot:()=>nb,Landmark:()=>rb,Languages:()=>ib,Laptop:()=>sb,Laptop2:()=>ob,LaptopMinimal:()=>ob,LaptopMinimalCheck:()=>ab,Lasso:()=>lb,LassoSelect:()=>cb,Laugh:()=>ub,Layers:()=>pb,Layers2:()=>db,Layers3:()=>pb,LayersMinus:()=>fb,LayersPlus:()=>mb,Layout:()=>Zw,LayoutDashboard:()=>hb,LayoutGrid:()=>gb,LayoutList:()=>_b,LayoutPanelLeft:()=>vb,LayoutPanelTop:()=>yb,LayoutTemplate:()=>bb,Leaf:()=>xb,LeafyGreen:()=>Sb,Lectern:()=>Cb,LensConcave:()=>wb,LensConvex:()=>Tb,LetterText:()=>GM,Library:()=>Db,LibraryBig:()=>Eb,LibrarySquare:()=>BA,LifeBuoy:()=>Ob,Ligature:()=>kb,Lightbulb:()=>jb,LightbulbOff:()=>Ab,LineChart:()=>id,LineDotRightHorizontal:()=>Nb,LineSquiggle:()=>Mb,LineStyle:()=>Fb,Link:()=>Lb,Link2:()=>Ib,Link2Off:()=>Pb,List:()=>ox,ListCheck:()=>Rb,ListChecks:()=>zb,ListChevronsDownUp:()=>Bb,ListChevronsUpDown:()=>Vb,ListCollapse:()=>Hb,ListEnd:()=>Ub,ListFilter:()=>Kb,ListFilterPlus:()=>Wb,ListIndentDecrease:()=>Gb,ListIndentIncrease:()=>qb,ListMinus:()=>Jb,ListMusic:()=>Yb,ListOrdered:()=>Qb,ListPlus:()=>Xb,ListRestart:()=>Zb,ListSortAscending:()=>$b,ListSortDescending:()=>ex,ListStart:()=>tx,ListTodo:()=>ix,ListTree:()=>nx,ListVideo:()=>rx,ListX:()=>ax,Loader:()=>lx,Loader2:()=>sx,LoaderCircle:()=>sx,LoaderPinwheel:()=>cx,Locate:()=>fx,LocateFixed:()=>ux,LocateOff:()=>dx,LocationEdit:()=>Vx,Lock:()=>gx,LockKeyhole:()=>mx,LockKeyholeOpen:()=>px,LockOpen:()=>hx,LogIn:()=>_x,LogOut:()=>vx,Logs:()=>yx,Lollipop:()=>bx,Luggage:()=>xx,MSquare:()=>VA,Magnet:()=>Sx,Mail:()=>Ax,MailCheck:()=>Cx,MailMinus:()=>wx,MailOpen:()=>Tx,MailPlus:()=>Ex,MailQuestion:()=>Dx,MailQuestionMark:()=>Dx,MailSearch:()=>Ox,MailWarning:()=>kx,MailX:()=>jx,Mailbox:()=>Mx,Mails:()=>Nx,Map:()=>Qx,MapMinus:()=>Px,MapPin:()=>qx,MapPinCheck:()=>Ix,MapPinCheckInside:()=>Fx,MapPinHouse:()=>Lx,MapPinMinus:()=>zx,MapPinMinusInside:()=>Rx,MapPinOff:()=>Bx,MapPinPen:()=>Vx,MapPinPlus:()=>Ux,MapPinPlusInside:()=>Hx,MapPinSearch:()=>Wx,MapPinX:()=>Kx,MapPinXInside:()=>Gx,MapPinned:()=>Jx,MapPlus:()=>Yx,Mars:()=>Zx,MarsStroke:()=>Xx,Martini:()=>$x,Maximize:()=>nS,Maximize2:()=>eS,Medal:()=>tS,Megaphone:()=>iS,MegaphoneOff:()=>rS,Meh:()=>aS,MemoryStick:()=>oS,Menu:()=>sS,MenuSquare:()=>HA,Merge:()=>cS,MessageCircle:()=>bS,MessageCircleCheck:()=>lS,MessageCircleCode:()=>uS,MessageCircleDashed:()=>dS,MessageCircleHeart:()=>fS,MessageCircleMore:()=>pS,MessageCircleOff:()=>mS,MessageCirclePlus:()=>hS,MessageCircleQuestion:()=>gS,MessageCircleQuestionMark:()=>gS,MessageCircleReply:()=>_S,MessageCircleWarning:()=>vS,MessageCircleX:()=>yS,MessageSquare:()=>LS,MessageSquareCheck:()=>xS,MessageSquareCode:()=>SS,MessageSquareDashed:()=>wS,MessageSquareDiff:()=>CS,MessageSquareDot:()=>TS,MessageSquareHeart:()=>ES,MessageSquareLock:()=>DS,MessageSquareMore:()=>OS,MessageSquareOff:()=>kS,MessageSquarePlus:()=>AS,MessageSquareQuote:()=>MS,MessageSquareReply:()=>jS,MessageSquareShare:()=>PS,MessageSquareText:()=>NS,MessageSquareWarning:()=>FS,MessageSquareX:()=>IS,MessagesSquare:()=>RS,Metronome:()=>zS,Mic:()=>VS,Mic2:()=>HS,MicOff:()=>BS,MicVocal:()=>HS,Microchip:()=>US,Microscope:()=>WS,Microwave:()=>GS,Milestone:()=>KS,Milk:()=>JS,MilkOff:()=>qS,Minimize:()=>XS,Minimize2:()=>YS,Minus:()=>ZS,MinusCircle:()=>gf,MinusSquare:()=>UA,MirrorRectangular:()=>QS,MirrorRound:()=>$S,Monitor:()=>mC,MonitorCheck:()=>eC,MonitorCloud:()=>rC,MonitorCog:()=>tC,MonitorDot:()=>nC,MonitorDown:()=>iC,MonitorOff:()=>aC,MonitorPause:()=>oC,MonitorPlay:()=>sC,MonitorSmartphone:()=>cC,MonitorSpeaker:()=>lC,MonitorStop:()=>uC,MonitorUp:()=>dC,MonitorX:()=>fC,Moon:()=>hC,MoonStar:()=>pC,MoreHorizontal:()=>Xh,MoreVertical:()=>Yh,Motorbike:()=>gC,Mountain:()=>vC,MountainSnow:()=>_C,Mouse:()=>DC,MouseLeft:()=>yC,MouseOff:()=>bC,MousePointer:()=>wC,MousePointer2:()=>CC,MousePointer2Off:()=>xC,MousePointerBan:()=>SC,MousePointerClick:()=>TC,MousePointerSquareDashed:()=>MA,MouseRight:()=>EC,Move:()=>VC,Move3D:()=>OC,Move3d:()=>OC,MoveDiagonal:()=>AC,MoveDiagonal2:()=>kC,MoveDown:()=>NC,MoveDownLeft:()=>jC,MoveDownRight:()=>MC,MoveHorizontal:()=>PC,MoveLeft:()=>FC,MoveRight:()=>IC,MoveUp:()=>zC,MoveUpLeft:()=>LC,MoveUpRight:()=>RC,MoveVertical:()=>BC,Music:()=>GC,Music2:()=>HC,Music3:()=>UC,Music4:()=>WC,Navigation:()=>YC,Navigation2:()=>qC,Navigation2Off:()=>KC,NavigationOff:()=>JC,Network:()=>XC,Newspaper:()=>ZC,Nfc:()=>QC,NonBinary:()=>$C,Notebook:()=>rw,NotebookPen:()=>ew,NotebookTabs:()=>tw,NotebookText:()=>nw,NotepadText:()=>aw,NotepadTextDashed:()=>iw,Nut:()=>sw,NutOff:()=>ow,Octagon:()=>fw,OctagonAlert:()=>cw,OctagonMinus:()=>lw,OctagonPause:()=>uw,OctagonX:()=>dw,Omega:()=>pw,Option:()=>mw,Orbit:()=>hw,Origami:()=>gw,Outdent:()=>Gb,Package:()=>ww,Package2:()=>_w,PackageCheck:()=>vw,PackageMinus:()=>yw,PackageOpen:()=>xw,PackagePlus:()=>bw,PackageSearch:()=>Sw,PackageX:()=>Cw,PaintBucket:()=>Tw,PaintRoller:()=>Ew,Paintbrush:()=>Ow,Paintbrush2:()=>Dw,PaintbrushVertical:()=>Dw,Palette:()=>kw,Palmtree:()=>IN,Panda:()=>Aw,PanelBottom:()=>Pw,PanelBottomClose:()=>jw,PanelBottomDashed:()=>Mw,PanelBottomInactive:()=>Mw,PanelBottomOpen:()=>Nw,PanelLeft:()=>zw,PanelLeftClose:()=>Fw,PanelLeftDashed:()=>Iw,PanelLeftInactive:()=>Iw,PanelLeftOpen:()=>Lw,PanelLeftRightDashed:()=>Rw,PanelRight:()=>Uw,PanelRightClose:()=>Bw,PanelRightDashed:()=>Vw,PanelRightInactive:()=>Vw,PanelRightOpen:()=>Hw,PanelTop:()=>Jw,PanelTopBottomDashed:()=>Ww,PanelTopClose:()=>Gw,PanelTopDashed:()=>qw,PanelTopInactive:()=>qw,PanelTopOpen:()=>Kw,PanelsLeftBottom:()=>Yw,PanelsLeftRight:()=>Xp,PanelsRightBottom:()=>Xw,PanelsTopBottom:()=>DD,PanelsTopLeft:()=>Zw,PaperBag:()=>Qw,Paperclip:()=>$w,Parasol:()=>eT,Parentheses:()=>tT,ParkingCircle:()=>yf,ParkingCircleOff:()=>vf,ParkingMeter:()=>nT,ParkingSquare:()=>KA,ParkingSquareOff:()=>GA,PartyPopper:()=>iT,Pause:()=>rT,PauseCircle:()=>bf,PauseOctagon:()=>uw,PawPrint:()=>oT,PcCase:()=>aT,Pen:()=>uT,PenBox:()=>JA,PenLine:()=>sT,PenOff:()=>cT,PenSquare:()=>JA,PenTool:()=>lT,Pencil:()=>hT,PencilLine:()=>dT,PencilOff:()=>fT,PencilRuler:()=>pT,PencilSparkles:()=>mT,Pentagon:()=>gT,Percent:()=>_T,PercentCircle:()=>xf,PercentDiamond:()=>rh,PercentSquare:()=>XA,PersonStanding:()=>vT,Phi:()=>yT,PhilippinePeso:()=>bT,Phone:()=>DT,PhoneCall:()=>xT,PhoneForwarded:()=>ST,PhoneIncoming:()=>CT,PhoneMissed:()=>wT,PhoneOff:()=>TT,PhoneOutgoing:()=>ET,Pi:()=>OT,PiSquare:()=>YA,Piano:()=>kT,Pickaxe:()=>AT,PictureInPicture:()=>MT,PictureInPicture2:()=>jT,PieChart:()=>dd,PiggyBank:()=>NT,Pilcrow:()=>IT,PilcrowLeft:()=>PT,PilcrowRight:()=>FT,PilcrowSquare:()=>ZA,Pill:()=>RT,PillBottle:()=>LT,Pin:()=>BT,PinOff:()=>zT,Pipette:()=>VT,Pizza:()=>HT,Plane:()=>GT,PlaneLanding:()=>UT,PlaneTakeoff:()=>WT,Play:()=>qT,PlayCircle:()=>Cf,PlayOff:()=>KT,PlaySquare:()=>QA,Plug:()=>XT,Plug2:()=>JT,PlugZap:()=>YT,PlugZap2:()=>YT,Plus:()=>QT,PlusCircle:()=>wf,PlusSquare:()=>$A,PocketKnife:()=>ZT,Podcast:()=>$T,Podium:()=>eE,Pointer:()=>nE,PointerOff:()=>tE,Popcorn:()=>rE,Popsicle:()=>iE,PoundSterling:()=>aE,Power:()=>sE,PowerCircle:()=>Ef,PowerOff:()=>oE,PowerSquare:()=>ej,Presentation:()=>cE,Printer:()=>dE,PrinterCheck:()=>lE,PrinterX:()=>uE,Projector:()=>fE,Proportions:()=>pE,Puzzle:()=>mE,Pyramid:()=>hE,QrCode:()=>gE,Quote:()=>_E,Rabbit:()=>bE,Radar:()=>vE,Radiation:()=>yE,Radical:()=>xE,Radio:()=>TE,RadioOff:()=>SE,RadioReceiver:()=>CE,RadioTower:()=>wE,Radius:()=>EE,Rainbow:()=>DE,Rat:()=>OE,Ratio:()=>kE,Receipt:()=>BE,ReceiptCent:()=>AE,ReceiptEuro:()=>jE,ReceiptIndianRupee:()=>ME,ReceiptJapaneseYen:()=>NE,ReceiptPoundSterling:()=>PE,ReceiptRussianRuble:()=>FE,ReceiptSwissFranc:()=>IE,ReceiptText:()=>LE,ReceiptTurkishLira:()=>RE,RectangleCircle:()=>zE,RectangleEllipsis:()=>HE,RectangleGoggles:()=>VE,RectangleHorizontal:()=>WE,RectangleVertical:()=>UE,Recycle:()=>GE,Redo:()=>JE,Redo2:()=>KE,RedoDot:()=>qE,RefreshCcw:()=>XE,RefreshCcwDot:()=>YE,RefreshCw:()=>QE,RefreshCwOff:()=>ZE,Refrigerator:()=>$E,Regex:()=>eD,RemoveFormatting:()=>tD,Repeat:()=>aD,Repeat1:()=>rD,Repeat2:()=>nD,RepeatOff:()=>iD,Replace:()=>sD,ReplaceAll:()=>oD,Reply:()=>lD,ReplyAll:()=>cD,Rewind:()=>uD,Ribbon:()=>dD,Road:()=>fD,Rocket:()=>pD,RockingChair:()=>mD,RollerCoaster:()=>hD,Rose:()=>gD,Rotate3D:()=>_D,Rotate3d:()=>_D,RotateCcw:()=>bD,RotateCcwKey:()=>vD,RotateCcwSquare:()=>yD,RotateCw:()=>SD,RotateCwSquare:()=>xD,Route:()=>CD,RouteOff:()=>wD,Router:()=>TD,Rows:()=>ED,Rows2:()=>ED,Rows3:()=>DD,Rows4:()=>OD,Rss:()=>kD,Ruler:()=>jD,RulerDimensionLine:()=>AD,RussianRuble:()=>MD,Sailboat:()=>ND,Salad:()=>PD,Sandwich:()=>FD,Satellite:()=>LD,SatelliteDish:()=>ID,SaudiRiyal:()=>RD,Save:()=>WD,SaveAll:()=>zD,SaveCheck:()=>BD,SaveOff:()=>VD,SavePen:()=>HD,SavePlus:()=>UD,Scale:()=>KD,Scale3D:()=>GD,Scale3d:()=>GD,Scaling:()=>JD,Scan:()=>rO,ScanBarcode:()=>qD,ScanBox:()=>YD,ScanEye:()=>XD,ScanFace:()=>QD,ScanHeart:()=>ZD,ScanLine:()=>$D,ScanQrCode:()=>eO,ScanSearch:()=>tO,ScanText:()=>nO,ScatterChart:()=>fd,School:()=>iO,School2:()=>fP,Scissors:()=>oO,ScissorsLineDashed:()=>aO,ScissorsSquare:()=>rj,ScissorsSquareDashedBottom:()=>_A,Scooter:()=>sO,ScreenShare:()=>uO,ScreenShareOff:()=>cO,Scroll:()=>dO,ScrollText:()=>lO,Search:()=>_O,SearchAlert:()=>fO,SearchCheck:()=>pO,SearchCode:()=>mO,SearchSlash:()=>hO,SearchX:()=>gO,Section:()=>vO,Send:()=>xO,SendHorizonal:()=>yO,SendHorizontal:()=>yO,SendToBack:()=>bO,SeparatorHorizontal:()=>SO,SeparatorVertical:()=>CO,Server:()=>OO,ServerCog:()=>wO,ServerCrash:()=>TO,ServerOff:()=>EO,ServerPlus:()=>DO,Settings:()=>AO,Settings2:()=>kO,Shapes:()=>jO,Share:()=>NO,Share2:()=>MO,Sheet:()=>FO,Shell:()=>PO,ShelvingUnit:()=>IO,Shield:()=>ZO,ShieldAlert:()=>LO,ShieldBan:()=>RO,ShieldCheck:()=>zO,ShieldClose:()=>XO,ShieldCog:()=>VO,ShieldCogCorner:()=>BO,ShieldEllipsis:()=>HO,ShieldHalf:()=>UO,ShieldKeyhole:()=>WO,ShieldMinus:()=>GO,ShieldOff:()=>KO,ShieldPlus:()=>qO,ShieldQuestion:()=>JO,ShieldQuestionMark:()=>JO,ShieldUser:()=>YO,ShieldX:()=>XO,Ship:()=>ek,ShipWheel:()=>QO,Shirt:()=>$O,ShoppingBag:()=>tk,ShoppingBasket:()=>nk,ShoppingCart:()=>rk,Shovel:()=>ik,ShowerHead:()=>ak,Shredder:()=>ok,Shrimp:()=>ck,Shrink:()=>sk,Shrub:()=>lk,Shuffle:()=>uk,Sidebar:()=>zw,SidebarClose:()=>Fw,SidebarOpen:()=>Lw,Sigma:()=>dk,SigmaSquare:()=>ij,Signal:()=>gk,SignalHigh:()=>fk,SignalLow:()=>pk,SignalMedium:()=>mk,SignalZero:()=>hk,Signature:()=>_k,Signpost:()=>yk,SignpostBig:()=>vk,Siren:()=>xk,SkipBack:()=>bk,SkipForward:()=>Sk,Skull:()=>Ck,Slash:()=>wk,SlashSquare:()=>aj,Slice:()=>Tk,Sliders:()=>Ok,SlidersHorizontal:()=>Ek,SlidersVertical:()=>Ok,Smartphone:()=>Ak,SmartphoneCharging:()=>Dk,SmartphoneNfc:()=>kk,Smile:()=>Mk,SmilePlus:()=>jk,Snail:()=>Nk,Snowflake:()=>Pk,SoapDispenserDroplet:()=>Fk,Sofa:()=>Ik,SolarPanel:()=>Lk,SortAsc:()=>Ko,SortDesc:()=>Oo,Soup:()=>Rk,Space:()=>zk,Spade:()=>Vk,Sparkle:()=>Bk,Sparkles:()=>Hk,Speaker:()=>Uk,Speech:()=>Wk,SpellCheck:()=>Kk,SpellCheck2:()=>Gk,Spline:()=>Jk,SplinePointer:()=>qk,Split:()=>Yk,SplitSquareHorizontal:()=>oj,SplitSquareVertical:()=>sj,Spool:()=>Zk,SportShoe:()=>Xk,Spotlight:()=>Qk,SprayCan:()=>$k,Sprout:()=>eA,Square:()=>gj,SquareActivity:()=>tA,SquareArrowDown:()=>iA,SquareArrowDownLeft:()=>nA,SquareArrowDownRight:()=>rA,SquareArrowLeft:()=>aA,SquareArrowOutDownLeft:()=>oA,SquareArrowOutDownRight:()=>sA,SquareArrowOutUpLeft:()=>cA,SquareArrowOutUpRight:()=>lA,SquareArrowRight:()=>fA,SquareArrowRightEnter:()=>uA,SquareArrowRightExit:()=>dA,SquareArrowUp:()=>hA,SquareArrowUpLeft:()=>pA,SquareArrowUpRight:()=>mA,SquareAsterisk:()=>gA,SquareBottomDashedScissors:()=>_A,SquareCenterlineDashedHorizontal:()=>vA,SquareCenterlineDashedVertical:()=>yA,SquareChartGantt:()=>bA,SquareCheck:()=>SA,SquareCheckBig:()=>xA,SquareChevronDown:()=>CA,SquareChevronLeft:()=>wA,SquareChevronRight:()=>TA,SquareChevronUp:()=>EA,SquareCode:()=>DA,SquareDashed:()=>PA,SquareDashedBottom:()=>kA,SquareDashedBottomCode:()=>OA,SquareDashedKanban:()=>AA,SquareDashedMousePointer:()=>MA,SquareDashedText:()=>jA,SquareDashedTopSolid:()=>NA,SquareDivide:()=>FA,SquareDot:()=>IA,SquareEqual:()=>LA,SquareFunction:()=>RA,SquareGanttChart:()=>bA,SquareKanban:()=>zA,SquareLibrary:()=>BA,SquareM:()=>VA,SquareMenu:()=>HA,SquareMinus:()=>UA,SquareMousePointer:()=>WA,SquareParking:()=>KA,SquareParkingOff:()=>GA,SquarePause:()=>qA,SquarePen:()=>JA,SquarePercent:()=>XA,SquarePi:()=>YA,SquarePilcrow:()=>ZA,SquarePlay:()=>QA,SquarePlus:()=>$A,SquarePower:()=>ej,SquareRadical:()=>tj,SquareRoundCorner:()=>nj,SquareScissors:()=>rj,SquareSigma:()=>ij,SquareSlash:()=>aj,SquareSplitHorizontal:()=>oj,SquareSplitVertical:()=>sj,SquareSquare:()=>cj,SquareStack:()=>lj,SquareStar:()=>uj,SquareStop:()=>dj,SquareTerminal:()=>fj,SquareUser:()=>mj,SquareUserRound:()=>pj,SquareX:()=>hj,SquaresExclude:()=>_j,SquaresIntersect:()=>vj,SquaresSubtract:()=>yj,SquaresUnite:()=>bj,Squircle:()=>Sj,SquircleDashed:()=>xj,Squirrel:()=>Cj,Stamp:()=>wj,Star:()=>jj,StarCheck:()=>Tj,StarHalf:()=>Ej,StarMinus:()=>Dj,StarOff:()=>Oj,StarPlus:()=>kj,StarX:()=>Aj,Stars:()=>Hk,StepBack:()=>Mj,StepForward:()=>Nj,Stethoscope:()=>Fj,Sticker:()=>Pj,StickyNote:()=>Vj,StickyNoteCheck:()=>Ij,StickyNoteMinus:()=>Lj,StickyNoteOff:()=>Rj,StickyNotePlus:()=>Bj,StickyNoteX:()=>zj,StickyNotes:()=>Hj,Stone:()=>Uj,StopCircle:()=>Mf,Store:()=>Wj,StretchHorizontal:()=>Gj,StretchVertical:()=>Kj,Strikethrough:()=>qj,Subscript:()=>Jj,Subtitles:()=>ku,Summary:()=>Yj,Sun:()=>eM,SunDim:()=>Xj,SunMedium:()=>Zj,SunMoon:()=>Qj,SunSnow:()=>$j,Sunrise:()=>tM,Sunset:()=>nM,Superscript:()=>iM,SwatchBook:()=>rM,SwissFranc:()=>aM,SwitchCamera:()=>oM,Sword:()=>sM,Swords:()=>lM,Syringe:()=>cM,Table:()=>_M,Table2:()=>uM,TableCellsMerge:()=>dM,TableCellsSplit:()=>fM,TableColumnsSplit:()=>pM,TableConfig:()=>Yp,TableOfContents:()=>mM,TableProperties:()=>hM,TableRowsSplit:()=>gM,Tablet:()=>yM,TabletSmartphone:()=>vM,Tablets:()=>bM,Tag:()=>CM,TagPlus:()=>xM,TagX:()=>SM,Tags:()=>wM,Tally1:()=>EM,Tally2:()=>TM,Tally3:()=>DM,Tally4:()=>OM,Tally5:()=>AM,Tangent:()=>kM,Target:()=>NM,Telescope:()=>jM,Tent:()=>PM,TentTree:()=>MM,Terminal:()=>FM,TerminalSquare:()=>fj,TestTube:()=>LM,TestTube2:()=>IM,TestTubeDiagonal:()=>IM,TestTubes:()=>RM,Text:()=>HM,TextAlignCenter:()=>zM,TextAlignEnd:()=>BM,TextAlignJustify:()=>VM,TextAlignStart:()=>HM,TextCursor:()=>WM,TextCursorInput:()=>UM,TextInitial:()=>GM,TextQuote:()=>qM,TextSearch:()=>KM,TextSelect:()=>jA,TextSelection:()=>jA,TextWrap:()=>JM,Theater:()=>YM,Thermometer:()=>QM,ThermometerSnowflake:()=>XM,ThermometerSun:()=>ZM,ThumbsDown:()=>$M,ThumbsUp:()=>eN,Ticket:()=>sN,TicketCheck:()=>tN,TicketMinus:()=>nN,TicketPercent:()=>rN,TicketPlus:()=>iN,TicketSlash:()=>aN,TicketX:()=>oN,Tickets:()=>lN,TicketsPlane:()=>cN,Timeline:()=>uN,Timer:()=>pN,TimerOff:()=>dN,TimerReset:()=>fN,ToggleLeft:()=>mN,ToggleRight:()=>hN,Toilet:()=>gN,ToolCase:()=>_N,Toolbox:()=>vN,Tornado:()=>bN,Torus:()=>yN,Touchpad:()=>SN,TouchpadOff:()=>xN,TowelRack:()=>CN,TowerControl:()=>wN,ToyBrick:()=>TN,Tractor:()=>EN,TrafficCone:()=>DN,Train:()=>jN,TrainFront:()=>kN,TrainFrontTunnel:()=>ON,TrainTrack:()=>AN,TramFront:()=>jN,Transgender:()=>MN,Trash:()=>PN,Trash2:()=>NN,TreeDeciduous:()=>FN,TreePalm:()=>IN,TreePine:()=>LN,Trees:()=>RN,TrendingDown:()=>zN,TrendingUp:()=>VN,TrendingUpDown:()=>BN,Triangle:()=>GN,TriangleAlert:()=>HN,TriangleDashed:()=>UN,TriangleRight:()=>WN,Trophy:()=>KN,Truck:()=>JN,TruckElectric:()=>qN,TurkishLira:()=>YN,Turntable:()=>ZN,Turtle:()=>XN,Tv:()=>eP,Tv2:()=>$N,TvMinimal:()=>$N,TvMinimalPlay:()=>QN,Type:()=>tP,TypeOutline:()=>nP,Umbrella:()=>iP,UmbrellaOff:()=>rP,Underline:()=>aP,Undo:()=>cP,Undo2:()=>oP,UndoDot:()=>sP,UnfoldHorizontal:()=>lP,UnfoldVertical:()=>uP,Ungroup:()=>dP,University:()=>fP,Unlink:()=>pP,Unlink2:()=>mP,Unlock:()=>hx,UnlockKeyhole:()=>px,Unplug:()=>hP,Upload:()=>gP,UploadCloud:()=>Rp,Usb:()=>_P,User:()=>zP,User2:()=>PP,UserCheck:()=>vP,UserCheck2:()=>EP,UserCircle:()=>Pf,UserCircle2:()=>Nf,UserCog:()=>yP,UserCog2:()=>DP,UserKey:()=>xP,UserLock:()=>bP,UserMinus:()=>SP,UserMinus2:()=>kP,UserPen:()=>CP,UserPlus:()=>wP,UserPlus2:()=>MP,UserRound:()=>PP,UserRoundArrowLeft:()=>TP,UserRoundCheck:()=>EP,UserRoundCog:()=>DP,UserRoundKey:()=>OP,UserRoundMinus:()=>kP,UserRoundPen:()=>AP,UserRoundPlus:()=>MP,UserRoundSearch:()=>jP,UserRoundX:()=>NP,UserSearch:()=>FP,UserSquare:()=>mj,UserSquare2:()=>pj,UserStar:()=>IP,UserX:()=>LP,UserX2:()=>NP,Users:()=>BP,Users2:()=>RP,UsersRound:()=>RP,Utensils:()=>UP,UtensilsCrossed:()=>VP,UtilityPole:()=>HP,Van:()=>WP,Variable:()=>GP,Vault:()=>KP,VectorSquare:()=>qP,Vegan:()=>JP,VenetianMask:()=>YP,Venus:()=>ZP,VenusAndMars:()=>XP,Verified:()=>fs,Vibrate:()=>$P,VibrateOff:()=>QP,Video:()=>tF,VideoOff:()=>eF,Videotape:()=>nF,View:()=>rF,Voicemail:()=>iF,Volleyball:()=>aF,Volume:()=>uF,Volume1:()=>oF,Volume2:()=>cF,VolumeOff:()=>sF,VolumeX:()=>lF,Vote:()=>dF,Wallet:()=>mF,Wallet2:()=>pF,WalletCards:()=>fF,WalletMinimal:()=>pF,Wallpaper:()=>hF,Wand:()=>vF,Wand2:()=>_F,WandSparkles:()=>_F,Warehouse:()=>gF,WashingMachine:()=>yF,Watch:()=>bF,Waves:()=>CF,WavesArrowDown:()=>xF,WavesArrowUp:()=>SF,WavesHorizontal:()=>CF,WavesLadder:()=>wF,WavesVertical:()=>TF,Waypoints:()=>EF,Webcam:()=>OF,WebcamOff:()=>DF,Webhook:()=>AF,WebhookOff:()=>kF,Weight:()=>MF,WeightTilde:()=>jF,Wheat:()=>NF,WheatOff:()=>PF,WholeWord:()=>FF,Wifi:()=>UF,WifiCog:()=>IF,WifiHigh:()=>LF,WifiLow:()=>RF,WifiOff:()=>zF,WifiPen:()=>BF,WifiSync:()=>VF,WifiZero:()=>HF,Wind:()=>GF,WindArrowDown:()=>WF,Wine:()=>qF,WineOff:()=>KF,Workflow:()=>JF,Worm:()=>YF,WrapText:()=>JM,Wrench:()=>XF,WrenchOff:()=>ZF,X:()=>$F,XCircle:()=>Ff,XLineTop:()=>QF,XOctagon:()=>dw,XSquare:()=>hj,Zap:()=>tI,ZapOff:()=>eI,ZodiacAquarius:()=>nI,ZodiacAries:()=>rI,ZodiacCancer:()=>iI,ZodiacCapricorn:()=>oI,ZodiacGemini:()=>aI,ZodiacLeo:()=>cI,ZodiacLibra:()=>sI,ZodiacOphiuchus:()=>lI,ZodiacPisces:()=>uI,ZodiacSagittarius:()=>dI,ZodiacScorpio:()=>pI,ZodiacTaurus:()=>fI,ZodiacVirgo:()=>mI,ZoomIn:()=>hI,ZoomOut:()=>gI}),vI=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`class`]),yI=Zr(``);function W(e,t){D(t,!0);let n=ha(t,`name`,3,``),r=ha(t,`class`,3,``),i=ma(t,vI);function a(e){return String(e||``).split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function o(e){return Object.entries(e).map(([e,t])=>`${e}="${String(t)}"`).join(` `)}function s([e,t,n]){let r=Array.isArray(n)?n.map(s).join(``):``;return`<${e} ${o(t||{})}>${r}`}let c=k(()=>{let e=_I[a(n())];return e?e.map(s).join(``):``});var l=yI();ra(l,()=>({xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:r(),"aria-hidden":`true`,focusable:`false`,...i})),hi(l,()=>F(c),!0),E(l),R(e,l),O()}function bI(){try{return typeof localStorage>`u`?null:localStorage}catch{return null}}function xI(e,t=null){let n=bI();if(!n)return t;try{return n.getItem(e)??t}catch{return t}}function SI(e,t){let n=bI();if(n)try{n.setItem(e,String(t))}catch{}}var CI=new class{#e=A(`system`);get theme(){return F(this.#e)}set theme(e){j(this.#e,e,!0)}#t=A(0);get tick(){return F(this.#t)}set tick(e){j(this.#t,e,!0)}init(){this.theme=xI(`gomodel_theme`,`system`),this.apply(),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,()=>{this.theme===`system`&&this.tick++})}set(e){this.theme=e,SI(`gomodel_theme`,e),this.apply(),this.tick++}toggle(){let e=[`light`,`system`,`dark`];this.set(e[(e.indexOf(this.theme)+1)%e.length])}apply(){let e=document.documentElement;this.theme===`system`?e.removeAttribute(`data-theme`):e.setAttribute(`data-theme`,this.theme)}},wI=new class{#e=A(!1);get collapsed(){return F(this.#e)}set collapsed(e){j(this.#e,e,!0)}init(){this.collapsed=xI(`gomodel_sidebar_collapsed`)===`true`}toggle(){this.collapsed=!this.collapsed,SI(`gomodel_sidebar_collapsed`,this.collapsed)}},TI=new class{#e=A(fn([]));get stack(){return F(this.#e)}set stack(e){j(this.#e,e,!0)}#t=1;opened(){let e=this.#t++;return this.stack=[...this.stack,e],e}closed(e){this.stack=this.stack.filter(t=>t!==e)}isTop(e){return this.stack.length>0&&this.stack[this.stack.length-1]===e}get openCount(){return this.stack.length}get anyOpen(){return this.stack.length>0}},EI=L(``),DI=L(`
`,1);function OI(e,t){D(t,!0);let n=ha(t,`compact`,3,!1),r=[{value:`light`,icon:`sun`,label:`Light theme`},{value:`system`,icon:`monitor`,label:`System theme`},{value:`dark`,icon:`moon`,label:`Dark theme`}],i=k(()=>r.find(e=>e.value===CI.theme)||r[1]),a=k(()=>`Change theme (currently `+F(i).label+`)`);var o=DI(),s=Cn(o);let c;V(s,21,()=>r,e=>e.value,(e,t)=>{var n=EI();let r;W(M(n),{get name(){return F(t).icon},class:`theme-icon`}),E(n),P(()=>{r=H(n,1,`theme-btn svelte-1keql7b`,null,r,{active:CI.theme===F(t).value}),U(n,`aria-pressed`,CI.theme===F(t).value),U(n,`title`,F(t).label),U(n,`aria-label`,F(t).label)}),I(`click`,n,()=>CI.set(F(t).value)),R(e,n)}),E(s);var l=N(s,2);let u;W(M(l),{get name(){return F(i).icon},class:`theme-icon`}),E(l),P(()=>{c=H(s,1,`theme-toggle svelte-1keql7b`,null,c,{"is-compact":n()}),u=H(l,1,`theme-toggle-mobile svelte-1keql7b`,null,u,{"is-compact":n()}),U(l,`title`,F(a)),U(l,`aria-label`,F(a))}),I(`click`,l,()=>CI.toggle()),R(e,o),O()}Ur([`click`]);function kI(){return typeof window>`u`?`/`:window.GOMODEL_BASE_PATH||`/`}function AI(e){let t=kI();return!e||e.charAt(0)!==`/`||e.indexOf(`//`)===0||t===`/`||e===t||e.indexOf(t+`/`)===0?e:t+e}function jI(e){let t=kI();return t===`/`||!e?e:e===t?`/`:e.indexOf(t+`/`)===0?e.slice(t.length)||`/`:e}function MI(){return typeof window>`u`?``:window.GOMODEL_VERSION||``}function NI(){return typeof window>`u`?!1:window.GOMODEL_DEMO_MODE===!0}var PI=[`overview`,`usage`,`budgets`,`rate-limits`,`models`,`workflows`,`audit-logs`,`guardrails`,`mcp-servers`,`providers-config`,`auth-keys`,`settings`];function FI(e){return e.startsWith(`/admin/static/`)?`/`+e.slice(14).replace(/^\/+/,``):e}function II(e){let t=FI(jI(e)).replace(/\/$/,``).replace(`/admin/dashboard`,``).replace(/^\//,``).split(`/`),n=t[0];n===`audit`&&(n=`audit-logs`);let r=t[1]||null;return n===`settings`&&r===`guardrails`?{page:`guardrails`,sub:null}:(n=PI.includes(n)?n:`overview`,{page:n,sub:r})}var LI=new class{#e=A(`overview`);get page(){return F(this.#e)}set page(e){j(this.#e,e,!0)}#t=A(null);get sub(){return F(this.#t)}set sub(e){j(this.#t,e,!0)}init(){let{page:e,sub:t}=II(window.location.pathname);this.page=e,this.sub=t,window.addEventListener(`popstate`,()=>{let{page:e,sub:t}=II(window.location.pathname);this.page=e,this.sub=t})}navigate(e,t=null){let n=t?`/`+t:``;history.pushState(null,``,AI(`/admin/dashboard/`+e+n)),this.page=e,this.sub=t}},RI=`gomodel_api_key`;function zI(e){let t=String(e||``).trim();if(/^Bearer\s*$/i.test(t))return``;let n=t.match(/^Bearer\s+(.+)$/i);return n?n[1].trim():t}var G=new class{#e=A(``);get apiKey(){return F(this.#e)}set apiKey(e){j(this.#e,e,!0)}#t=A(!1);get needsAuth(){return F(this.#t)}set needsAuth(e){j(this.#t,e,!0)}#n=A(!1);get authError(){return F(this.#n)}set authError(e){j(this.#n,e,!0)}#r=A(``);get authErrorMessage(){return F(this.#r)}set authErrorMessage(e){j(this.#r,e,!0)}#i=A(!1);get dialogOpen(){return F(this.#i)}set dialogOpen(e){j(this.#i,e,!0)}#a=A(0);get generation(){return F(this.#a)}set generation(e){j(this.#a,e,!0)}#o=A(0);get refreshTick(){return F(this.#o)}set refreshTick(e){j(this.#o,e,!0)}init(){try{this.apiKey=zI(localStorage.getItem(RI)||``)}catch{this.apiKey=``}}hasApiKey(){return zI(this.apiKey)!==``}save(){this.apiKey=zI(this.apiKey);try{localStorage.setItem(RI,this.apiKey)}catch{}}openDialog(){this.dialogOpen=!0}closeDialog(){this.dialogOpen=!1}submit(){let e=zI(this.apiKey);return e?(this.apiKey=e,this.save(),this.generation++,this.authError=!1,this.authErrorMessage=``,this.needsAuth=!1,this.closeDialog(),this.refresh(),!0):(this.apiKey=``,this.authError=!0,this.authErrorMessage=``,this.needsAuth=!0,this.openDialog(),!1)}refresh(){this.refreshTick++}handleUnauthorized(e,t=``){return typeof e==`number`&&e{r[e.type]=e.value}),r.year+`-`+r.month+`-`+r.day}formatTimestampInTimeZone(e,t){if(e==null)return`-`;let n=new Date(e);if(Number.isNaN(n.getTime()))return`-`;let r=GI(`en-CA`,{timeZone:KI(t)?t:BI,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(n),i={};return r.forEach(e=>{i[e.type]=e.value}),i.year+`-`+i.month+`-`+i.day+` `+i.hour+`:`+i.minute+`:`+i.second}formatTimestamp(e){return this.formatTimestampInTimeZone(e,this.effectiveTimezone())}currentDateKey(e){return this.dateKeyInTimeZone(e||new Date,this.effectiveTimezone())}dateKeyToDate(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}dateToDateKey(e){return!(e instanceof Date)||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+WI(e.getUTCMonth()+1)+`-`+WI(e.getUTCDate())}addDaysToDateKey(e,t){let n=this.dateKeyToDate(e);return n?(n.setUTCDate(n.getUTCDate()+t),this.dateToDateKey(n)):``}todayDate(){return this.dateKeyToDate(this.currentDateKey())}startOfMonthDate(e){let t=e instanceof Date?e:this.todayDate();return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1))}timeZoneOffsetLabel(e,t){let n=KI(e)?e:BI;try{let e=GI(`en-US`,{timeZone:n,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`,timeZoneName:`longOffset`}).formatToParts(t||new Date).find(e=>e.type===`timeZoneName`);if(!e||!e.value)return`UTC+00:00`;let r=e.value.replace(`GMT`,`UTC`);return r===`UTC`?`UTC+00:00`:r}catch{return`UTC+00:00`}}timeZoneOffsetMinutes(e,t){let n=/^UTC([+-])(\d{2}):(\d{2})$/.exec(this.timeZoneOffsetLabel(e,t));if(!n)return 0;let r=Number(n[2])*60+Number(n[3]);return n[1]===`-`?-r:r}timeZoneOptionLabel(e,t){return e+` (`+this.timeZoneOffsetLabel(e,t)+`)`}detectedTimeZoneLabel(){return this.timeZoneOptionLabel(this.detectedTimezone)}effectiveTimeZoneLabel(){return this.timeZoneOptionLabel(this.effectiveTimezone())}ensureOptions(){if(this.optionsLoaded)return;let e=new Date,t=[];try{typeof Intl.supportedValuesOf==`function`&&(t=Intl.supportedValuesOf(`timeZone`))}catch{t=[]}[BI,this.detectedTimezone,this.override].forEach(e=>{e&&t.indexOf(e)===-1&&KI(e)&&t.push(e)}),t=t.filter(e=>KI(e)),t.sort((t,n)=>{let r=this.timeZoneOffsetMinutes(t,e)-this.timeZoneOffsetMinutes(n,e);return r===0?t.localeCompare(n):r}),this.options=t.map(t=>({value:t,label:this.timeZoneOptionLabel(t,e)})),this.optionsLoaded=!0}saveOverride(){let e=bI();if(e)if(this.override&&KI(this.override))try{e.setItem(VI,this.override)}catch{}else{try{e.removeItem(VI)}catch{}this.override=``}this.optionsLoaded=!1,this.ensureOptions()}clearOverride(){let e=bI();if(e)try{e.removeItem(VI)}catch{}this.override=``}calendarTimeZoneText(){let e=this.override?`manual override`:`auto-detected`;return`Activity grouped by `+this.effectiveTimeZoneLabel()+` (`+e+`)`}};function XI(e,t){let n=e&&typeof e==`object`&&e.error&&e.error.message;return(typeof n==`string`?n.trim():``)||t}function ZI(e,t){let n=e&&e.data;if(n&&typeof n==`object`){let e=[n.message,n.error,n.error&&typeof n.error==`object`?n.error.message:null];for(let t of e)if(typeof t==`string`&&t.trim())return t.trim()}return t}function QI(){let e={"Content-Type":`application/json`},t=zI(G.apiKey);return t&&(e.Authorization=`Bearer `+t),e[`X-GoModel-Timezone`]=YI.effectiveTimezone(),e}function $I(e,t={}){return fetch(AI(e),{...t,headers:{...QI(),...t.headers||{}}})}async function eL(e,t,{label:n=e,parse:r=!0}={}){let i=G.generation,a=await $I(e,t);if(a.status===401)return G.handleUnauthorized(i),{ok:!1,stale:i{this.#n=null}),this.#n}async ensureLoaded(){if(this.#n){await this.#n;return}this.loaded||await this.fetch()}async#r(){let e=typeof AbortController==`function`?new AbortController:null,t=e?setTimeout(()=>e.abort(),1e4):null;try{let t=await tL(`/admin/runtime/config`,{label:`dashboard config`,signal:e?e.signal:void 0});if(t.stale)return;if(!t.ok){this.config={},this.loaded=!1;return}let n=t.data,r={};for(let e of iL)n&&typeof n==`object`&&!Array.isArray(n)&&n[e]!==void 0&&n[e]!==null&&(r[e]=String(n[e]).trim());this.config=r,this.loaded=!0}catch(e){console.error(`Failed to fetch dashboard config:`,e),this.config={},this.loaded=!1}finally{t!==null&&clearTimeout(t)}}},oL=L(` `),sL=L(`
`),cL=L(` `,1);function lL(e,t){D(t,!0);let n=k(()=>[{page:`overview`,label:`Overview`,icon:`layout-dashboard`},{page:`providers-config`,label:`Providers`,icon:`server-cog`},{page:`models`,label:`Models`,icon:`box`},{page:`audit-logs`,label:`Audit Logs`,icon:`history`},{page:`usage`,label:`Usage`,icon:`chart-column`},{page:`budgets`,label:`Budgets`,icon:`wallet`,visible:aL.budgetsVisible()},{page:`rate-limits`,label:`Rate Limits`,icon:`gauge`,visible:aL.rateLimitsVisible()},{page:`auth-keys`,label:`API Keys`,icon:`key-round`},{page:`workflows`,label:`Workflows`,icon:`workflow`},{page:`guardrails`,label:`Guardrails (experimental)`,icon:`shield-check`,visible:aL.guardrailsVisible()},{page:`mcp-servers`,label:`MCP Servers`,icon:`plug`,visible:aL.mcpVisible()},{page:`settings`,label:`Settings`,icon:`settings`}].filter(e=>e.visible!==!1));var r=cL(),i=Cn(r);let a;var o=N(M(i),2);V(o,21,()=>F(n),e=>e.page,(e,t)=>{var n=oL();let r;var i=M(n);W(i,{get name(){return F(t).icon},class:`nav-icon`});var a=N(i,2),o=M(a,!0);E(a),E(n),P(e=>{U(n,`href`,e),r=H(n,1,`nav-item svelte-1nwtzae`,null,r,{active:LI.page===F(t).page}),U(n,`title`,F(t).label),z(o,F(t).label)},[()=>AI(`/admin/dashboard/`+F(t).page)]),I(`click`,n,e=>{e.preventDefault(),LI.navigate(F(t).page)}),R(e,n)}),E(o);var s=N(o,2),c=M(s);OI(c,{get compact(){return wI.collapsed}});var l=N(c,2),u=e=>{var t=sL(),n=M(t),r=M(n);W(r,{name:`lock-keyhole`,class:`api-key-open-icon`});var i=N(r,2),a=M(i,!0);E(i),E(n),E(t),P(()=>{U(n,`aria-label`,G.needsAuth?`Enter API key`:`Change API key`),z(a,G.needsAuth?`Enter API key`:`Change API key`)}),I(`click`,n,()=>G.openDialog()),R(e,t)},d=k(()=>G.needsAuth||G.hasApiKey());B(l,e=>{F(d)&&e(u)}),E(s),E(i);var f=N(i,2);let p;P(()=>{a=H(i,1,`sidebar svelte-1nwtzae`,null,a,{"sidebar-collapsed":wI.collapsed}),p=H(f,1,`sidebar-toggle svelte-1nwtzae`,null,p,{collapsed:wI.collapsed}),U(f,`title`,wI.collapsed?`Expand sidebar`:`Collapse sidebar`),U(f,`aria-label`,wI.collapsed?`Expand sidebar`:`Collapse sidebar`),U(f,`aria-expanded`,!wI.collapsed)}),I(`click`,f,()=>wI.toggle()),R(e,r),O()}Ur([`click`]);var uL=L(``);function dL(e,t){D(t,!0);let n=ha(t,`label`,3,`Close`),r=ha(t,`class`,3,``),i=ha(t,`iconClass`,3,`table-icon-svg`),a=ha(t,`disabled`,3,!1),o=ha(t,`el`,15,null);var s=uL();W(M(s),{name:`x`,get class(){return i()}}),E(s),fa(s,e=>o(e),()=>o()),P(()=>{H(s,1,`dialog-close-btn ${r()??``}`,`svelte-11l1bb5`),U(s,`aria-label`,n()),s.disabled=a()}),I(`click`,s,function(...e){t.onclick?.apply(this,e)}),R(e,s),O()}Ur([`click`]);var fL=L(`
`,1);function pL(e,t){D(t,!0);let n=ha(t,`open`,3,!1),r=ha(t,`variant`,3,`editor`),i=ha(t,`closeOnBackdrop`,3,!0),a=k(()=>r()===`auth`?`auth-dialog-backdrop`:`editor-modal-backdrop`),o=k(()=>r()===`auth`?`auth-dialog-shell`:`editor-modal-shell`),s=A(null);Nn(()=>{if(!n())return;let e=kr(()=>TI.opened());Er().then(()=>{let e=F(s)&&F(s).querySelector(`[data-modal-autofocus]`);e&&typeof e.focus==`function`&&e.focus()});let r=n=>{n.key===`Escape`&&TI.isTop(e)&&t.onclose?.()};return window.addEventListener(`keydown`,r),()=>{TI.closed(e),window.removeEventListener(`keydown`,r)}});function c(e){i()&&e.target===F(s)&&t.onclose?.()}var l=$r(),u=Cn(l),d=e=>{var n=fL(),r=Cn(n),i=N(r,2);gi(M(i),()=>t.children??m),E(i),fa(i,e=>j(s,e),()=>F(s)),P(()=>{H(r,1,ji(F(a)),`svelte-17e0w4c`),H(i,1,ji(F(o)),`svelte-17e0w4c`)}),I(`click`,i,c),R(e,n)};B(u,e=>{n()&&e(d)}),R(e,l),O()}Ur([`click`]);var mL=L(``),hL=L(``);function gL(e,t){D(t,!0),pL(e,{get open(){return G.dialogOpen},variant:`auth`,onclose:()=>G.closeDialog(),children:(e,t)=>{var n=hL(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a),E(i),dL(N(i,2),{label:`Close authentication dialog`,onclick:()=>G.closeDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var s=N(r,2),c=M(s),l=M(c);W(l,{name:`lock-keyhole`,class:`auth-dialog-input-icon`});var u=N(l,2);Qi(u),E(c);var d=N(c,2),f=e=>{var t=mL(),n=M(t,!0);E(t),P(()=>z(n,G.authErrorMessage||`Enter a valid API key to continue.`)),R(e,t)};B(d,e=>{G.authError&&e(f)});var p=N(d,4),m=M(p),h=M(m);W(h,{name:`check`,class:`auth-dialog-submit-icon`});var g=N(h,2),_=M(g,!0);E(g),E(m),E(p),E(s),E(n),P(()=>{z(o,G.needsAuth?`Dashboard locked`:`Change API key`),z(_,G.needsAuth?`Unlock dashboard`:`Save API key`)}),Hr(`submit`,s,e=>{e.preventDefault(),G.submit()}),sa(u,()=>G.apiKey,e=>G.apiKey=e),R(e,n)},$$slots:{default:!0}}),O()}function _L(){return{open:!1,title:``,titleId:`typedConfirmationDialogTitle`,inputId:`typed-confirmation-input`,message:``,requiredText:``,value:``,confirmLabel:`Confirm`,icon:`triangle-alert`,dialogClass:``,loading:!1,onConfirm:null,onClose:null}}var vL=new class{#e=A(fn(_L()));get state(){return F(this.#e)}set state(e){j(this.#e,e,!0)}#t=A(``);get error(){return F(this.#t)}set error(e){j(this.#t,e,!0)}open(e){this.error=``,this.state={..._L(),open:!0,...e||{}}}close(){let e=this.state;typeof e.onClose==`function`&&e.onClose(),this.state=_L(),this.error=``}ready(){return String(this.state.value||``).trim().toLowerCase()===String(this.state.requiredText||``).trim().toLowerCase()}inputLabel(){return`Type `+String(this.state.requiredText||``).trim()+` to confirm`}async submit(){if(!this.ready()){this.error=this.inputLabel()+`.`;return}if(typeof this.state.onConfirm==`function`){this.state.loading=!0;try{await this.state.onConfirm()}finally{this.state.loading=!1}}}},yL=L(`

`),bL=L(``),xL=L(`

`);function SL(e,t){D(t,!0);let n=k(()=>vL.state);pL(e,{get open(){return F(n).open},variant:`auth`,onclose:()=>vL.close(),children:(e,t)=>{var r=xL(),i=M(r),a=M(i),o=M(a,!0);E(a),dL(N(a,2),{label:`Close confirmation dialog`,onclick:()=>vL.close(),class:`auth-dialog-close`,iconClass:``}),E(i);var s=N(i,2),c=M(s),l=e=>{var t=yL(),r=M(t,!0);E(t),P(()=>z(r,F(n).message)),R(e,t)};B(c,e=>{F(n).message&&e(l)});var u=N(c,2),d=M(u),f=M(d,!0);E(d);var p=N(d,2);Qi(p),E(u);var m=N(u,2),h=e=>{var t=bL(),n=M(t,!0);E(t),P(()=>z(n,vL.error)),R(e,t)};B(m,e=>{vL.error&&e(h)});var g=N(m,2),_=M(g),v=N(_,2),y=M(v);W(y,{get name(){return F(n).icon},class:`form-action-icon`});var b=N(y,2),x=M(b,!0);E(b),E(v),E(g),E(s),E(r),P((e,t)=>{H(r,1,`auth-dialog ${F(n).dialogClass??``}`),U(r,`aria-labelledby`,F(n).titleId),U(a,`id`,F(n).titleId),z(o,F(n).title),U(d,`for`,F(n).inputId),z(f,e),U(p,`id`,F(n).inputId),v.disabled=t,z(x,F(n).confirmLabel)},[()=>vL.inputLabel(),()=>F(n).loading||!vL.ready()]),Hr(`submit`,s,e=>{e.preventDefault(),vL.submit()}),sa(p,()=>vL.state.value,e=>vL.state.value=e),I(`click`,_,()=>vL.close()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var CL=e=>e;function wL(e){let t=e-1;return t*t*t+1}function TL(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function EL(e,{delay:t=0,duration:n=400,easing:r=CL}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function DL(e,{delay:t=0,duration:n=400,easing:r=wL,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=TL(i),[p,m]=TL(a);return{delay:t,duration:n,easing:r,css:(e,t)=>` - transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m}); - opacity: ${c-u*t}`}}function OL(e){return--e*e*(2.70158*e+1.70158)+1}var kL=5e3,AL=8e3,K=new class{#e=A(fn([]));get toasts(){return F(this.#e)}set toasts(e){j(this.#e,e,!0)}#t=0;#n=new Map;success(e){this.#r(`success`,e,kL)}error(e){this.#r(`error`,e,AL)}dismiss(e){let t=this.#n.get(e);t&&(clearTimeout(t),this.#n.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}#r(e,t,n){let r=String(t||``).trim();if(!r)return;let i=this.toasts.find(t=>t.kind===e&&t.text===r);i&&this.dismiss(i.id);let a=++this.#t;this.toasts=[...this.toasts,{id:a,kind:e,text:r}],this.#n.set(a,setTimeout(()=>this.dismiss(a),n))}},jL=L(`
`),ML=L(`
`);function NL(e,t){D(t,!0);var n=ML();V(n,21,()=>K.toasts,e=>e.id,(e,t)=>{var n=jL();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2);E(n),P(()=>{r=H(n,1,`flash-toast svelte-1i257xg`,null,r,{"flash-toast-success":F(t).kind===`success`,"flash-toast-error":F(t).kind===`error`}),U(n,`role`,F(t).kind===`error`?`alert`:`status`),U(n,`aria-live`,F(t).kind===`error`?`assertive`:`polite`),z(a,F(t).text)}),I(`click`,o,()=>K.dismiss(F(t).id)),Ei(1,n,()=>DL,()=>({y:-24,duration:360,easing:OL})),Ei(2,n,()=>EL,()=>({duration:150})),R(e,n)}),E(n),R(e,n),O()}Ur([`click`]);var PL=L(``);function FL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{R(e,PL())},a=k(()=>NI());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var IL=new class{#e=A(fn([]));get models(){return F(this.#e)}set models(e){j(this.#e,e,!0)}#t=A(fn([]));get categories(){return F(this.#t)}set categories(e){j(this.#t,e,!0)}#n=A(`all`);get activeCategory(){return F(this.#n)}set activeCategory(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(!0);get loading(){return F(this.#i)}set loading(e){j(this.#i,e,!0)}#a=null;async fetchModels(){this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=`/admin/models`;this.activeCategory&&this.activeCategory!==`all`&&(t+=`?category=`+encodeURIComponent(this.activeCategory));let n=await tL(t,{label:`models`,signal:e.signal});if(n.stale||e.signal.aborted)return;this.models=n.ok&&Array.isArray(n.data)?n.data:[]}catch(e){if(rL(e))return;console.error(`Failed to fetch models:`,e),this.models=[]}finally{this.#a===e&&(this.#a=null,this.loading=!1)}}async fetchCategories(){try{let e=await tL(`/admin/models/categories`,{label:`categories`});if(e.stale)return;this.categories=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch categories:`,e),this.categories=[]}}selectCategory(e){this.activeCategory=e,this.filter=``,this.fetchModels()}categoryCount(e){let t=this.categories.find(t=>t.category===e);return t?t.count:0}get filteredModels(){if(!this.filter)return this.models;let e=this.filter.toLowerCase();return this.models.filter(t=>(t.model?.id??``).toLowerCase().includes(e)||(t.provider_name??``).toLowerCase().includes(e)||(t.provider_type??``).toLowerCase().includes(e)||(t.selector??``).toLowerCase().includes(e)||(t.model?.owned_by??``).toLowerCase().includes(e)||(t.model?.metadata?.modes??[]).join(`,`).toLowerCase().includes(e)||(t.model?.metadata?.categories??[]).join(`,`).toLowerCase().includes(e))}},LL=L(``);function RL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=LL(),n=N(M(t),2);E(t),I(`click`,n,()=>G.openDialog()),R(e,t)};B(r,e=>{G.authError&&e(i)}),R(e,n),O()}Ur([`click`]);function zL(e){return String(e||``).split(`,`).map(e=>e.trim()).filter(e=>e)}function BL(e){return e==null||e===void 0?`-`:e.toLocaleString()}function VL(e){if(e==null)return`---`;let t=Number(e);return Number.isFinite(t)?t>0&&t<1e-4?`<$0.0001`:`$`+t.toFixed(4).replace(/(\.\d{2}\d*?)0+$/,`$1`):`---`}function HL(e){return e==null||e===void 0?`—`:`$`+e.toFixed(2)}function UL(e){return e==null||e===void 0?`—`:e<.01?`$`+e.toFixed(6):`$`+e.toFixed(4)}function WL(e){if(e==null||e===``)return`-`;let t=Number(e);if(!Number.isFinite(t))return`-`;let n=Math.abs(t),r=[{threshold:1e9,suffix:`B`},{threshold:1e6,suffix:`M`},{threshold:1e3,suffix:`K`}];for(let e=0;e=i.threshold){let n=t/i.threshold;return Math.abs(Number(n.toFixed(1)))>=1e3&&e>0&&(i=r[e-1],n=t/i.threshold),n.toFixed(1).replace(/\.0$/,``)+i.suffix}}return String(t)}function GL(e,t){let n=t==null||t===``?NaN:Number(t),r=Number.isFinite(n)?BL(n):`-`;return String(e||`Tokens`)+`: `+r}function KL(e){return e?typeof e==`string`?e:e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`):``}function qL(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)}function JL(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)+` `+String(t.getUTCHours()).padStart(2,`0`)+`:`+String(t.getUTCMinutes()).padStart(2,`0`)+`:`+String(t.getUTCSeconds()).padStart(2,`0`)+` UTC`}function YL(e){return String(e&&e.provider||``).trim()}function XL(e){return String(e&&e.provider_name||``).trim()||YL(e)}function ZL(e,t){let n=String(t||``).trim();if(!n)return`-`;let r=XL(e);return!r||n===r||n.startsWith(r+`/`)?n:r+`/`+n}function QL(e){return ZL(e,e&&e.model)}function $L(e){return ZL(e,e&&e.resolved_model)}function eR(e){let t=String(e&&(e.requested_model||e.model)||``).trim();if(!e)return t;let n=String(e.data&&e.data.failover&&e.data.failover.target_model||``).trim();if(n&&n!==t)return t+` ⮕ `+n;if(e.alias_used&&e.resolved_model){let n=$L(e);if(n&&n!==`-`&&n!==t)return t+` ⮕ `+n}return t}var tR=new class{#e=A(`30`);get days(){return F(this.#e)}set days(e){j(this.#e,e,!0)}#t=A(`30`);get selectedPreset(){return F(this.#t)}set selectedPreset(e){j(this.#t,e,!0)}#n=A(null);get customStartDate(){return F(this.#n)}set customStartDate(e){j(this.#n,e,!0)}#r=A(null);get customEndDate(){return F(this.#r)}set customEndDate(e){j(this.#r,e,!0)}#i=A(`daily`);get interval(){return F(this.#i)}set interval(e){j(this.#i,e,!0)}queryStr(){return this.customStartDate&&this.customEndDate?`start_date=`+KL(this.customStartDate)+`&end_date=`+KL(this.customEndDate):`days=`+this.days}selectPreset(e){this.selectedPreset=e,this.customStartDate=null,this.customEndDate=null,this.days=e}dateRangeLabel(){return this.selectedPreset?`Last `+this.selectedPreset+` days`:this.customStartDate&&this.customEndDate?this.formatDateShort(this.customStartDate)+` – `+this.formatDateShort(this.customEndDate):this.customStartDate?this.formatDateShort(this.customStartDate)+` – ...`:`Last 30 days`}formatDateShort(e){return[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getUTCMonth()]+` `+e.getUTCDate()+`, `+e.getUTCFullYear()}rangeStart(){return this.customStartDate?this.customStartDate:this.selectedPreset?YI.dateKeyToDate(YI.addDaysToDateKey(YI.currentDateKey(),-(parseInt(this.selectedPreset,10)-1))):null}rangeEnd(){return this.customEndDate?this.customEndDate:this.customStartDate||this.selectedPreset?YI.todayDate():null}chartTitle(){return({daily:`Daily`,weekly:`Weekly`,monthly:`Monthly`,yearly:`Yearly`}[this.interval]||`Daily`)+` Token Usage`}};function nR(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null}}function rR(){return{summary:{total_hits:0,exact_hits:0,semantic_hits:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_saved_cost:null},daily:[]}}var iR=new class{#e=A(fn(nR()));get summary(){return F(this.#e)}set summary(e){j(this.#e,e,!0)}#t=A(fn([]));get daily(){return F(this.#t)}set daily(e){j(this.#t,e,!0)}#n=A(fn(rR()));get cacheOverview(){return F(this.#n)}set cacheOverview(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=null;#a=null;cacheAnalyticsEnabled(){return aL.cacheVisible()}async fetchUsage(){this.#i&&this.#i.abort();let e=new AbortController;this.#i=e,this.loading=!0;try{let t=tR.queryStr()+`&interval=`+tR.interval,[n,r]=await Promise.all([tL(`/admin/usage/summary?`+t,{label:`usage summary`,signal:e.signal}),tL(`/admin/usage/daily?`+t,{label:`usage daily`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.summary=nR(),this.daily=[],this.cacheOverview=rR();return}this.summary=n.data||nR(),this.daily=Array.isArray(r.data)?r.data:[]}catch(e){if(rL(e))return;console.error(`Failed to fetch usage:`,e),this.summary=nR(),this.daily=[]}finally{this.#i===e&&(this.#i=null,this.loading=!1)}}async fetchCacheOverview(e=``){if(await aL.ensureLoaded(),!this.cacheAnalyticsEnabled()){this.cacheOverview=rR();return}this.#a&&this.#a.abort();let t=new AbortController;this.#a=t;try{let n=await tL(`/admin/cache/overview?`+(tR.queryStr()+`&interval=`+tR.interval+e),{label:`cache overview`,signal:t.signal});if(n.stale||t.signal.aborted)return;if(!n.ok){this.cacheOverview=rR();return}let r=n.data&&typeof n.data==`object`?n.data:rR();r.summary||=rR().summary,Array.isArray(r.daily)||(r.daily=[]),this.cacheOverview=r}catch(e){if(rL(e))return;console.error(`Failed to fetch cache overview:`,e),this.cacheOverview=rR()}finally{this.#a===t&&(this.#a=null)}}},aR=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`];function oR(e,t){let n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return aR[n.getUTCMonth()]+` `+n.getUTCFullYear()}function sR(e,t,n){let r=e.getUTCFullYear(),i=e.getUTCMonth()+t,a=new Date(Date.UTC(r,i,1)),o=new Date(Date.UTC(r,i+1,0)),s=(a.getUTCDay()+6)%7,c=[],l=new Date(Date.UTC(r,i,0));for(let e=s-1;e>=0;e--){let t=l.getUTCDate()-e,a=new Date(Date.UTC(r,i-1,t));c.push({day:t,date:a,current:!1,key:`p-`+n(a)})}for(let e=1;e<=o.getUTCDate();e++){let t=new Date(Date.UTC(r,i,e));c.push({day:e,date:t,current:!0,key:`c-`+n(t)})}let u=42-c.length;for(let e=1;e<=u;e++){let t=new Date(Date.UTC(r,i+1,e));c.push({day:e,date:t,current:!1,key:`n-`+n(t)})}return c}function cR(e,t,n){let r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return n&&r.getTime()>n.getTime()?e:r}function lR(e,t){return e.getUTCFullYear()===t.getUTCFullYear()&&e.getUTCMonth()===t.getUTCMonth()}var uR=L(``),dR=L(``),fR=L(``),pR=L(`
MoTuWeThFrSaSu
`);function mR(e,t){D(t,!0);let n=ha(t,`offset`,3,0),r=k(()=>sR(t.calendarMonth,n(),e=>YI.dateToDateKey(e))),i=k(()=>lR(t.calendarMonth,YI.todayDate())),a=e=>YI.dateToDateKey(e.date),o=e=>a(e)>YI.currentDateKey(),s=e=>e.current&&a(e)===YI.currentDateKey();function c(e,t){let n=t===`start`?tR.rangeStart():tR.rangeEnd();return e.current&&!!n&&a(e)===YI.dateToDateKey(n)}function l(e){let t=tR.rangeStart(),n=tR.rangeEnd();return!e.current||!t||!n?!1:a(e)>=YI.dateToDateKey(t)&&a(e)<=YI.dateToDateKey(n)}var u=pR(),d=M(u),f=M(d);let p;var m=N(f,2),h=M(m,!0);E(m);var g=N(m,2),_=e=>{R(e,uR())},v=e=>{var n=dR();P(()=>n.disabled=F(i)),I(`click`,n,function(...e){t.onnext?.apply(this,e)}),R(e,n)};B(g,e=>{n()===-1?e(_):e(v,-1)}),E(d);var y=N(d,4);V(y,21,()=>F(r),e=>e.key,(e,n)=>{var r=fR();let i;var a=M(r,!0);E(r),P((e,t)=>{i=H(r,1,`dp-day svelte-g7ga4u`,null,i,e),r.disabled=t,z(a,F(n).day)},[()=>({"other-month":!F(n).current,today:s(F(n)),"range-start":c(F(n),`start`),"range-end":c(F(n),`end`),"in-range":l(F(n)),disabled:o(F(n))}),()=>o(F(n))||!F(n).current]),I(`click`,r,()=>t.onselect?.(F(n))),R(e,r)}),E(y),E(u),P(e=>{p=H(f,1,`dp-nav-btn svelte-g7ga4u`,null,p,{"dp-nav-prev-mobile":n()!==-1}),z(h,e)},[()=>oR(t.calendarMonth,n())]),I(`click`,f,function(...e){t.onprev?.apply(this,e)}),R(e,u),O()}Ur([`click`]);var hR=L(``),gR=L(`
`),_R=Zr(``),vR=Zr(``),yR=L(`
`),bR=L(`
`);function xR(e,t){D(t,!0);let n=[`3`,`7`,`14`,`30`,`90`],r=A(!1),i=A(`start`),a=A(fn(new Date)),o=A(fn({show:!1,x:0,y:0})),s=A(null);function c(){j(r,!F(r)),F(r)&&(j(a,YI.startOfMonthDate(tR.customEndDate||YI.todayDate()),!0),j(i,`start`))}function l(){j(r,!1),j(o,{show:!1,x:0,y:0},!0)}Nn(()=>{if(!F(r))return;let e=e=>{F(s)&&!F(s).contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`click`,e,!0),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),window.removeEventListener(`keydown`,t)}});function u(e){tR.selectPreset(e),j(i,`start`),t.onchange?.(),l()}let d=()=>j(a,cR(F(a),-1),!0),f=()=>j(a,cR(F(a),1,YI.startOfMonthDate(YI.todayDate())),!0);function p(e){let n=new Date(e.date);if(tR.selectedPreset=null,F(i)===`start`){tR.customStartDate=n,tR.customEndDate&&tR.customEndDate{var t=gR(),r=M(t);V(r,20,()=>n,e=>e,(e,t)=>{var n=hR();let r;var i=M(n);E(n),P(()=>{r=H(n,1,`preset-btn svelte-ax7ma4`,null,r,{active:tR.selectedPreset===t}),z(i,`Last ${t??``} days`)}),I(`click`,n,()=>u(t)),R(e,n)}),E(r);var i=N(r,2);V(i,20,()=>[-1,0],e=>e,(e,t)=>{mR(e,{get calendarMonth(){return F(a)},get offset(){return t},onprev:d,onnext:f,onselect:p})}),E(i),E(t),I(`mousemove`,i,e=>j(o,{show:!0,x:e.clientX,y:e.clientY},!0)),Hr(`mouseleave`,i,()=>j(o,{show:!1,x:0,y:0},!0)),R(e,t)};B(b,e=>{F(r)&&e(x)});var S=N(b,2),C=e=>{var t=yR(),n=M(t),r=e=>{R(e,_R())},a=e=>{R(e,vR())};B(n,e=>{F(i)===`start`?e(r):e(a,-1)});var s=N(n,2),c=M(s,!0);E(s),E(t),P(()=>{Ri(t,`left:${F(o).x??``}px;top:${F(o).y??``}px`),z(c,F(i)===`end`?`Select end date`:`Select start date`)}),R(e,t)};B(S,e=>{F(o).show&&e(C)}),E(m),fa(m,e=>j(s,e),()=>F(s)),P(e=>{z(_,e),y=H(v,0,`date-picker-chevron svelte-ax7ma4`,null,y,{open:F(r)})},[()=>tR.dateRangeLabel()]),I(`click`,h,c),R(e,m),O()}Ur([`click`,`mousemove`]);function SR(e){return e+.5|0}var CR=(e,t,n)=>Math.max(Math.min(e,n),t);function wR(e){return CR(SR(e*2.55),0,255)}function TR(e){return CR(SR(e*255),0,255)}function ER(e){return CR(SR(e/2.55)/100,0,1)}function DR(e){return CR(SR(e*100),0,100)}var OR={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},kR=[...`0123456789ABCDEF`],AR=e=>kR[e&15],jR=e=>kR[(e&240)>>4]+kR[e&15],MR=e=>(e&240)>>4==(e&15),NR=e=>MR(e.r)&&MR(e.g)&&MR(e.b)&&MR(e.a);function PR(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&OR[e[1]]*17,g:255&OR[e[2]]*17,b:255&OR[e[3]]*17,a:t===5?OR[e[4]]*17:255}:(t===7||t===9)&&(n={r:OR[e[1]]<<4|OR[e[2]],g:OR[e[3]]<<4|OR[e[4]],b:OR[e[5]]<<4|OR[e[6]],a:t===9?OR[e[7]]<<4|OR[e[8]]:255})),n}var FR=(e,t)=>e<255?t(e):``;function IR(e){var t=NR(e)?AR:jR;return e?`#`+t(e.r)+t(e.g)+t(e.b)+FR(e.a,t):void 0}var LR=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function RR(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function zR(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function BR(e,t,n){let r=RR(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function VR(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=VR(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function UR(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(TR)}function WR(e,t,n){return UR(RR,e,t,n)}function GR(e,t,n){return UR(BR,e,t,n)}function KR(e,t,n){return UR(zR,e,t,n)}function qR(e){return(e%360+360)%360}function JR(e){let t=LR.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?wR(+t[5]):TR(+t[5]));let i=qR(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?GR(i,a,o):t[1]===`hsv`?KR(i,a,o):WR(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function YR(e,t){var n=HR(e);n[0]=qR(n[0]+t),n=WR(n),e.r=n[0],e.g=n[1],e.b=n[2]}function XR(e){if(!e)return;let t=HR(e),n=t[0],r=DR(t[1]),i=DR(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${ER(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var ZR={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},QR={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function $R(){let e={},t=Object.keys(QR),n=Object.keys(ZR),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var ez;function tz(e){ez||(ez=$R(),ez.transparent=[0,0,0,0]);let t=ez[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var nz=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rz(e){let t=nz.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?wR(e):CR(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?wR(r):CR(r,0,255)),i=255&(t[4]?wR(i):CR(i,0,255)),a=255&(t[6]?wR(a):CR(a,0,255)),{r,g:i,b:a,a:n}}}function iz(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${ER(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var az=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,oz=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function sz(e,t,n){let r=oz(ER(e.r)),i=oz(ER(e.g)),a=oz(ER(e.b));return{r:TR(az(r+n*(oz(ER(t.r))-r))),g:TR(az(i+n*(oz(ER(t.g))-i))),b:TR(az(a+n*(oz(ER(t.b))-a))),a:e.a+n*(t.a-e.a)}}function cz(e,t,n){if(e){let r=HR(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=WR(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function lz(e,t){return e&&Object.assign(t||{},e)}function uz(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=TR(e[3]))):(t=lz(e,{r:0,g:0,b:0,a:1}),t.a=TR(t.a)),t}function dz(e){return e.charAt(0)===`r`?rz(e):JR(e)}var fz=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=uz(t):n===`string`&&(r=PR(t)||tz(t)||dz(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=lz(this._rgb);return e&&(e.a=ER(e.a)),e}set rgb(e){this._rgb=uz(e)}rgbString(){return this._valid?iz(this._rgb):void 0}hexString(){return this._valid?IR(this._rgb):void 0}hslString(){return this._valid?XR(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=sz(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=TR(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=SR(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return cz(this._rgb,2,e),this}darken(e){return cz(this._rgb,2,-e),this}saturate(e){return cz(this._rgb,1,e),this}desaturate(e){return cz(this._rgb,1,-e),this}rotate(e){return YR(this._rgb,e),this}};function pz(){}var mz=(()=>{let e=0;return()=>e++})();function hz(e){return e==null}function gz(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function _z(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function vz(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function yz(e,t){return vz(e)?e:t}function bz(e,t){return e===void 0?t:e}var xz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,Sz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function Cz(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function wz(e,t,n,r){let i,a,o;if(gz(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function Nz(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Pz(e){let t=Nz(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Fz(e,t){return(Mz[t]||(Mz[t]=Pz(t)))(e)}function Iz(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Lz=e=>e!==void 0,Rz=e=>typeof e==`function`,zz=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function Bz(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var Vz=Math.PI,Hz=2*Vz,Uz=Hz+Vz,Wz=1/0,Gz=Vz/180,Kz=Vz/2,qz=Vz/4,Jz=Vz*2/3,Yz=Math.log10,Xz=Math.sign;function Zz(e,t,n){return Math.abs(e-t)e-t).pop(),t}function eB(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function tB(e){return!eB(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function nB(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function rB(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function hB(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var gB=(e,t,n,r)=>hB(e,n,r?r=>{let i=e[r][t];return ie[r][t]hB(e,n,r=>e[r][t]>=n);function vB(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+Iz(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function xB(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(yB.forEach(t=>{delete e[t]}),delete e._chartjs)}function SB(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var CB=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function wB(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,CB.call(window,()=>{r=!1,e.apply(t,n)}))}}function TB(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var EB=e=>e===`start`?`left`:e===`end`?`right`:`center`,DB=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,OB=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function kB(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(gB(c,u,d).lo,n?r:gB(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!hz(e[s.axis]));i-=Math.max(0,e)}i=fB(i,0,r-1)}if(m){let e=Math.max(gB(c,o.axis,f,!0).hi+1,n?0:gB(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!hz(e[s.axis]));e+=Math.max(0,t)}a=fB(e,i,r)-i}else a=r-i}return{start:i,count:a}}function AB(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var jB=e=>e===0||e===1,MB=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*Hz/n)),NB=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*Hz/n)+1,PB={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*Kz)+1,easeOutSine:e=>Math.sin(e*Kz),easeInOutSine:e=>-.5*(Math.cos(Vz*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>jB(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>jB(e)?e:MB(e,.075,.3),easeOutElastic:e=>jB(e)?e:NB(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return jB(e)?e:e<.5?.5*MB(e*2,t,n):.5+.5*NB(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-PB.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?PB.easeInBounce(e*2)*.5:PB.easeOutBounce(e*2-1)*.5+.5};function FB(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function IB(e){return FB(e)?e:new fz(e)}function LB(e){return FB(e)?e:new fz(e).saturate(.5).darken(.1).hexString()}var RB=[`x`,`y`,`borderWidth`,`radius`,`tension`],zB=[`color`,`borderColor`,`backgroundColor`];function BB(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:zB},numbers:{type:`number`,properties:RB}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function VB(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var HB=new Map;function UB(e,t){t||={};let n=e+JSON.stringify(t),r=HB.get(n);return r||(r=new Intl.NumberFormat(e,t),HB.set(n,r)),r}function WB(e,t,n){return UB(t,n).format(e)}var GB={values(e){return gz(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=KB(e,n)}let o=Yz(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),WB(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(Yz(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?GB.numeric.call(this,e,t,n):``}};function KB(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var qB={formatters:GB};function JB(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:qB.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var YB=Object.create(null),XB=Object.create(null);function ZB(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>LB(t.backgroundColor),this.hoverBorderColor=(e,t)=>LB(t.borderColor),this.hoverColor=(e,t)=>LB(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return QB(this,e,t)}get(e){return ZB(this,e)}describe(e,t){return QB(XB,e,t)}override(e,t){return QB(YB,e,t)}route(e,t,n,r){let i=ZB(this,e),a=ZB(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return _z(e)?Object.assign({},t,e):bz(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[BB,VB,JB]);function eV(e){return!e||hz(e.size)||hz(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function tV(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function nV(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function sV(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,fV(e,a),c=0;c+e||0;function xV(e,t){let n={},r=_z(t),i=r?Object.keys(t):t,a=_z(e)?r?n=>bz(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=bV(a(e));return n}function SV(e){return xV(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function CV(e){return xV(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function wV(e){let t=SV(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function TV(e,t){e||={},t||=$B.font;let n=bz(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=bz(e.style,t.style);r&&!(``+r).match(vV)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:bz(e.family,t.family),lineHeight:yV(bz(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:bz(e.weight,t.weight),string:``};return i.string=eV(i),i}function EV(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function OV(e,t){return Object.assign(Object.create(e),t)}function kV(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=GV(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>kV([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return PV(n,r,()=>WV(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return KV(e).includes(t)},ownKeys(e){return KV(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function AV(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:jV(e,r),setContext:t=>AV(e,t,n,r),override:i=>AV(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return PV(e,t,()=>FV(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function jV(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:Rz(n)?n:()=>n,isIndexable:Rz(r)?r:()=>r}}var MV=(e,t)=>e?e+Iz(t):t,NV=(e,t)=>_z(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function PV(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function FV(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return Rz(s)&&o.isScriptable(t)&&(s=IV(t,s,e,n)),gz(s)&&s.length&&(s=LV(t,s,e,o.isIndexable)),NV(t,s)&&(s=AV(s,i,a&&a[t],o)),s}function IV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),NV(e,c)&&(c=VV(i._scopes,i,e,c)),c}function LV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(_z(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=VV(r,i,e,c);t.push(AV(n,a,o&&o[e],s))}}return t}function RV(e,t,n){return Rz(e)?e(t,n):e}var zV=(e,t)=>e===!0?t:typeof e==`string`?Fz(t,e):void 0;function BV(e,t,n,r,i){for(let a of t){let t=zV(n,a);if(t){e.add(t);let a=RV(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function VV(e,t,n,r){let i=t._rootScopes,a=RV(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=HV(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=HV(s,o,a,c,r),c===null)?!1:kV(Array.from(s),[``],i,a,()=>UV(t,n,r))}function HV(e,t,n,r,i){for(;n;)n=BV(e,t,n,r,i);return n}function UV(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return gz(i)&&_z(n)?n:i||{}}function WV(e,t,n,r){let i;for(let a of t)if(i=GV(MV(a,e),n),i!==void 0)return NV(e,i)?VV(n,r,e,i):i}function GV(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function KV(e){let t=e._keys;return t||=e._keys=qV(e._scopes),t}function qV(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function JV(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function QV(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=cB(a,i),c=cB(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function $V(e,t,n){let r=e.length,i,a,o,s,c,l=XV(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)tH(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function lH(e,t){return cH(e).getPropertyValue(t)}var uH=[`top`,`right`,`bottom`,`left`];function dH(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=uH[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var fH=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function pH(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(fH(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function mH(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=cH(n),a=i.boxSizing===`border-box`,o=dH(i,`padding`),s=dH(i,`border`,`width`),{x:c,y:l,box:u}=pH(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function hH(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&oH(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=cH(a),s=dH(o,`border`,`width`),c=dH(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=sH(o.maxWidth,a,`clientWidth`),i=sH(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||Wz,maxHeight:i||Wz}}var gH=e=>Math.round(e*10)/10;function _H(e,t,n,r){let i=cH(e),a=dH(i,`margin`),o=sH(i.maxWidth,e,`clientWidth`)||Wz,s=sH(i.maxHeight,e,`clientHeight`)||Wz,c=hH(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=dH(i,`border`,`width`),t=dH(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=gH(Math.min(l,o,c.maxWidth)),u=gH(Math.min(u,s,c.maxHeight)),l&&!u&&(u=gH(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=gH(Math.floor(u*r))),{width:l,height:u}}function vH(e,t,n){let r=t||1,i=gH(e.height*r),a=gH(e.width*r);e.height=gH(e.height),e.width=gH(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var yH=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};aH()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function bH(e,t){let n=lH(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function xH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function SH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function CH(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=xH(e,i,n),s=xH(i,a,n),c=xH(a,t,n);return xH(xH(o,s,n),xH(s,c,n),n)}var wH=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},TH=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function EH(e,t,n){return e?wH(t,n):TH()}function DH(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function OH(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function kH(e){return e===`angle`?{between:dB,compare:lB,normalize:uB}:{between:mB,compare:(e,t)=>e-t,normalize:e=>e}}function AH({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function jH(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=kH(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(AH({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(AH({start:g,end:d,loop:f,count:o,style:p})),m}function NH(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function FH(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function IH(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=PH(n,i,a,r);return r===!0?LH(e,[{start:o,end:s,loop:a}],n,t):LH(e,FH(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,CB.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},GH=`transparent`,KH={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=IB(e||GH),i=r.valid&&IB(t||GH);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},qH=class{constructor(e,t,n,r){let i=t[n];r=EV([e.to,r,i,e.from]);let a=EV([e.from,i,r]);this._active=!0,this._fn=e.fn||KH[e.type||typeof a],this._easing=PB[e.easing]||PB.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=EV([e.to,t,r,e.from]),this._from=EV([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!_z(i))return;let a={};for(let e of t)a[e]=i[e];(gz(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=XH(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&YH(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new qH(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return WH.add(this._chart,n),!0}};function YH(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function cU(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=iU(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function uU(e,t){return OV(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function dU(e,t,n){return OV(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function fU(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var pU=e=>e===`reset`||e===`none`,mU=(e,t)=>t?e:Object.assign({},e),hU=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:eU(n,!0),values:null},gU=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=rU(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&fU(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=bz(n.xAxisID,lU(e,`x`)),a=t.yAxisID=bz(n.yAxisID,lU(e,`y`)),o=t.rAxisID=bz(n.rAxisID,lU(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&xB(this._data,this),e._stacked&&fU(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(_z(t)){let e=this._cachedMeta;this._data=nU(t,e)}else if(n!==t){if(n){xB(n,this);let e=this._cachedMeta;fU(e),e._parsed=[]}t&&Object.isExtensible(t)&&bB(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=rU(t.vScale,t),t.stack!==n.stack&&(r=!0,fU(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(cU(this,t._parsed),t._stacked=rU(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length||n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=gz(r[e])?this.parseArrayData(n,r,e,t):_z(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(mU(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new JH(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||pU(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){pU(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!pU(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function vU(e){let t=e.iScale,n=_U(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Lz(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function SU(e,t,n,r){return gz(e)?xU(e,t,n,r):t[n.axis]=n.parse(e,r),t}function CU(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):Xz(e)}function EU(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(hz(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[bz(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;ddB(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>dB(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p(Kz,u,f),_=m(Vz,l,d),v=m(Vz+Kz,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var FU=class extends gU{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(_z(n[e])){let{key:e=`value`}=this._parsing;i=t=>+Fz(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*Hz:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=WB(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=hz(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},LU=class extends gU{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=WB(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return JV.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*Vz,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?iB(this.resolveDataElementOptions(e,t).angle||n):0}},RU=Object.freeze({__proto__:null,BarController:MU,BubbleController:NU,DoughnutController:FU,LineController:IU,PieController:class extends FU{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:LU,RadarController:class extends gU{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return JV.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function zU(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var BU={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return zU()}parse(){return zU()}format(){return zU()}add(){return zU()}diff(){return zU()}startOf(){return zU()}endOf(){return zU()}}};function VU(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?_B:gB;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!hz(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!hz(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function HU(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var YU={evaluateInteractionItems:HU,modes:{index(e,t,n,r){let i=mH(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?WU(e,i,a,r,o):qU(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=mH(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?WU(e,i,a,r,o):qU(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function QU(e,t){return e.filter(e=>XU.indexOf(e.pos)===-1&&e.box.axis===t)}function $U(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function eW(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=$U(ZU(t,`left`),!0),i=$U(ZU(t,`right`)),a=$U(ZU(t,`top`),!0),o=$U(ZU(t,`bottom`)),s=QU(t,`x`),c=QU(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:ZU(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function iW(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function aW(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function oW(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!_z(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&aW(o,a.getPadding());let s=Math.max(0,t.outerWidth-iW(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-iW(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function sW(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function cW(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function lW(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);aW(f,wV(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=nW(c.concat(l),d);lW(s.fullSize,p,d,m),lW(c,p,d,m),lW(l,p,d,m)&&lW(c,p,d,m),sW(p),dW(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,dW(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},wz(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},pW=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},mW=class extends pW{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},hW=`$chartjs`,gW={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},_W=e=>e===null||e===``;function vW(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[hW]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,_W(i)){let t=bH(e,`width`);t!==void 0&&(e.width=t)}if(_W(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=bH(e,`height`);t!==void 0&&(e.height=t)}return e}var yW=yH?{passive:!0}:!1;function bW(e,t,n){e&&e.addEventListener(t,n,yW)}function xW(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,yW)}function SW(e,t){let n=gW[e.type]||e.type,{x:r,y:i}=mH(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function CW(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function wW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=CW(n.addedNodes,r),t&&=!CW(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function TW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=CW(n.removedNodes,r),t&&=!CW(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var EW=new Map,DW=0;function OW(){let e=window.devicePixelRatio;e!==DW&&(DW=e,EW.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function kW(e,t){EW.size||window.addEventListener(`resize`,OW),EW.set(e,t)}function AW(e){EW.delete(e),EW.size||window.removeEventListener(`resize`,OW)}function jW(e,t,n){let r=e.canvas,i=r&&oH(r);if(!i)return;let a=wB((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),kW(e,a),o}function MW(e,t,n){n&&n.disconnect(),t===`resize`&&AW(e)}function NW(e,t,n){let r=e.canvas,i=wB(t=>{e.ctx!==null&&n(SW(t,e))},e);return bW(r,t,i),i}var PW=class extends pW{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(vW(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[hW])return!1;let n=t[hW].initial;[`height`,`width`].forEach(e=>{let r=n[e];hz(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[hW],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:wW,detach:TW,resize:jW}[t]||NW)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:MW,detach:MW,resize:MW}[t]||xW)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return _H(e,t,n,r)}isAttached(e){let t=e&&oH(e);return!!(t&&t.isConnected)}};function FW(e){return!aH()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?mW:PW}var IW=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return tB(this.x)&&tB(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function LW(e,t){let n=e.options.ticks,r=RW(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?BW(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return VW(t,l,a,o/i),l;let u=zW(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(HW(t,l,u,hz(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function BW(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,GW=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,KW=(e,t)=>Math.min(t||e,e);function qW(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function YW(e,t){wz(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:yz(t,yz(n,t)),max:yz(n,yz(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Cz(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=DV(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=fB(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-XW(e.grid)-t.padding-ZW(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=aB(Math.min(Math.asin(fB((l.highest.height+6)/o,-1,1)),Math.asin(fB(s/c,-1,1))-Math.asin(fB(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){Cz(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Cz(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=ZW(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=XW(i)+a):(e.height=this.maxHeight,e.width=XW(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=iB(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Cz(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return pB(this._alignToPixels?rV(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=XW(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return rV(n,e,p)},g,_,v,y,b,x,S,C,w,T,ee,te;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,te=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,te=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,ee=e.right;else if(a===`right`)g=h(this.left),w=e.left,ee=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(_z(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,te=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(_z(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,ee=e.right}let ne=bz(r.ticks.maxTicksLimit,l),re=Math.max(1,Math.ceil(l/ne));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:te,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ne,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-iB(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);$B.route(a,i,c,s)})}function oG(e){return`id`in e&&`defaults`in e}var sG=new class{constructor(){this.controllers=new rG(gU,`datasets`,!0),this.elements=new rG(IW,`elements`),this.plugins=new rG(Object,`plugins`),this.scales=new rG(nG,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):wz(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=Iz(e);Cz(n[`before`+r],[],n),t[e](n),Cz(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function lG(e){let t={},n=[],r=Object.keys(sG.plugins.items);for(let e=0;e1&&gG(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function yG(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function bG(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return yG(e,`x`,n[0])||yG(e,`y`,n[0])}return{}}function xG(e,t){let n=YB[e.type]||{scales:{}},r=t.scales||{},i=pG(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!_z(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=vG(t,o,bG(t,e),$B.scales[o.type]),c=hG(s,i),l=n.scales||{};a[t]=Az(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||pG(i,t),s=(YB[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=mG(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Az(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Az(t,[$B.scales[t.type],$B.scale])}),a}function SG(e){let t=e.options||={};t.plugins=bz(t.plugins,{}),t.scales=xG(e,t)}function CG(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function wG(e){return e||={},e.data=CG(e.data),SG(e),e}var TG=new Map,EG=new Set;function DG(e,t){let n=TG.get(e);return n||(n=t(),TG.set(e,n),EG.add(n)),n}var OG=(e,t,n)=>{let r=Fz(t,n);r!==void 0&&e.add(r)},kG=class{constructor(e){this._config=wG(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=CG(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),SG(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return DG(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return DG(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return DG(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return DG(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>OG(s,e,t))),t.forEach(e=>OG(s,r,e)),t.forEach(e=>OG(s,YB[i]||{},e)),t.forEach(e=>OG(s,$B,e)),t.forEach(e=>OG(s,XB,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),EG.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,YB[t]||{},$B.datasets[t]||{},{type:t},$B,XB]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=AG(this._resolverCache,e,r),s=a;if(MG(a,t)){i.$shared=!1,n=Rz(n)?n():n;let t=this.createResolver(e,n,o);s=AV(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=AG(this._resolverCache,e,n);return _z(t)?AV(i,t,void 0,r):i}};function AG(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:kV(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var jG=e=>_z(e)&&Object.getOwnPropertyNames(e).some(t=>Rz(e[t]));function MG(e,t){let{isScriptable:n,isIndexable:r}=jV(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(Rz(o)||jG(o))||a&&gz(o))return!0}return!1}var NG=`4.5.1`,PG=[`top`,`bottom`,`left`,`right`,`chartArea`];function FG(e,t){return e===`top`||e===`bottom`||PG.indexOf(e)===-1&&t===`x`}function IG(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function LG(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),Cz(n&&n.onComplete,[e],t)}function RG(e){let t=e.chart,n=t.options.animation;Cz(n&&n.onProgress,[e],t)}function zG(e){return aH()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var BG={},VG=e=>{let t=zG(e);return Object.values(BG).filter(e=>e.canvas===t).pop()};function HG(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function UG(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var WG=class{static defaults=$B;static instances=BG;static overrides=YB;static registry=sG;static version=NG;static getChart=VG;static register(...e){sG.add(...e),GG()}static unregister(...e){sG.remove(...e),GG()}constructor(e,t){let n=this.config=new kG(t),r=zG(e),i=VG(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(FW(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=mz(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new cG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=TB(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],BG[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}WH.listen(this,`complete`,LG),WH.listen(this,`progress`,RG),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return hz(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return sG}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():vH(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return iV(this.canvas,this.ctx),this}stop(){return WH.stop(this),this}resize(e,t){WH.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,vH(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),Cz(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){wz(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=vG(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),wz(i,t=>{let i=t.options,a=i.id,o=vG(a,i),s=bz(i.type,t.dtype);(i.position===void 0||FG(i.position,o)!==FG(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(sG.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),wz(r,(e,t)=>{e||delete n[t]}),wz(n,e=>{fW.configure(this,e,e.options),fW.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(IG(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){wz(this.scales,e=>{fW.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!zz(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)HG(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;fW.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],wz(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=UH(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&cV(t,r),e.controller.draw(),r&&lV(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return sV(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=YU.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=OV(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Lz(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),WH.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};wz(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){wz(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},wz(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Tz(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=Bz(e),c=UG(e,this._lastEvent,n,s);n&&(this._lastEvent=null,Cz(i.onHover,[e,o,this],this),s&&Cz(i.onClick,[e,o,this],this));let l=!Tz(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function GG(){return wz(WG.instances,e=>e._plugins.invalidate())}function KG(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,uB(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,uB(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*uB(r-n));if(u===`round`)e.arc(i,a,t,n-Vz/2,r+Vz/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+Vz/2)+i,c=-o*Math.sin(n+Vz/2)+a,l=o*Math.cos(r+Vz/2)+i,u=o*Math.sin(r+Vz/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function qG(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+Kz,r-Kz),e.closePath(),e.clip()}function JG(e){return xV(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function YG(e,t,n,r){let i=JG(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return fB(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:fB(i.innerStart,0,o),innerEnd:fB(i.innerEnd,0,o)}}function XG(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function ZG(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/Vz)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=YG(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,ee=f+b,te=f+x,ne=g+b/ee,re=_-x/te;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=XG(C,T,o,s);e.arc(t.x,t.y,y,T,_+Kz)}let n=XG(te,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=XG(te,re,o,s);e.arc(t.x,t.y,x,_+Kz,re+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=XG(ee,ne,o,s);e.arc(t.x,t.y,b,ne+Math.PI,g-Kz)}let i=XG(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=XG(S,w,o,s);e.arc(t.x,t.y,v,g-Kz,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function QG(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){ZG(e,t,n,r,c,i);for(let t=0;t=Vz&&p===0&&u!==`miter`&&KG(e,t,h),a||(ZG(e,t,n,r,h,i),e.stroke())}var eK=class extends IW{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=sB(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=bz(l,o-a),f=dB(r,a,o)&&a!==o,p=d>=Hz||f,m=mB(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>Hz?Math.floor(n/Hz):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min(Vz,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,QG(e,this,s,i,a),$G(e,this,s,i,a),e.restore()}};function tK(e,t,n=t){e.lineCap=bz(n.borderCapStyle,t.borderCapStyle),e.setLineDash(bz(n.borderDash,t.borderDash)),e.lineDashOffset=bz(n.borderDashOffset,t.borderDashOffset),e.lineJoin=bz(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=bz(n.borderWidth,t.borderWidth),e.strokeStyle=bz(n.borderColor,t.borderColor)}function nK(e,t,n){e.lineTo(n.x,n.y)}function rK(e){return e.stepped?uV:e.tension||e.cubicInterpolationMode===`monotone`?dV:nK}function iK(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function sK(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?oK:aK}function cK(e){return e.stepped?SH:e.tension||e.cubicInterpolationMode===`monotone`?CH:xH}function lK(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),tK(e,t.options),e.stroke(i)}function uK(e,t,n,r){let{segments:i,options:a}=t,o=sK(t);for(let s of i)tK(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var dK=typeof Path2D==`function`;function fK(e,t,n,r){dK&&!t.options.segment?lK(e,t,n,r):uK(e,t,n,r)}var pK=class extends IW{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;iH(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=IH(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=NH(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=cK(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function OK(e){return EK[e%EK.length]}function kK(e){return DK[e%DK.length]}function AK(e,t){return e.borderColor=OK(t),e.backgroundColor=kK(t),++t}function jK(e,t){return e.backgroundColor=e.data.map(()=>OK(t++)),t}function MK(e,t){return e.backgroundColor=e.data.map(()=>kK(t++)),t}function NK(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof FU?t=jK(n,t):i instanceof LU?t=MK(n,t):i&&(t=AK(n,t))}}function PK(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function FK(e){return e&&(e.borderColor||e.backgroundColor)}function IK(){return $B.borderColor!==`rgba(0,0,0,0.1)`||$B.backgroundColor!==`rgba(0,0,0,0.1)`}var LK={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=PK(r)||FK(i)||a&&PK(a)||IK();if(!n.forceOverride&&o)return;let s=NK(e);r.forEach(s)}};function RK(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function zK(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!hz(d)&&!hz(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function BK(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function VK(e){e.data.datasets.forEach(e=>{BK(e)})}function HK(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=fB(gB(t,a.axis,o).lo,0,n-1)),i=l?fB(gB(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var UK={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){VK(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(EV([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=HK(s,c);if(d<=(n.threshold||4*r)){BK(t);return}hz(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=RK(c,u,d,r,n);break;case`min-max`:f=zK(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){VK(e)}};function WK(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=qK(r,s,i);let c=GK(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=NH(t,c);for(let t of l){let r=GK(n,a[t.start],a[t.end],t.loop),s=MH(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:JK(c,r,`start`,Math.max)},end:{[n]:JK(c,r,`end`,Math.min)}})}}return o}function GK(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=uB(i),a=uB(a)),{property:e,start:i,end:a}}function KK(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=qK(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function qK(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function JK(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function YK(e,t){let n=[],r=!1;return gz(e)?(r=!0,n=e):n=KK(e,t),n.length?new pK({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function XK(e){return e&&e.fill!==!1}function ZK(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!vz(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function QK(e,t,n){let r=nq(e);if(_z(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return vz(i)&&Math.floor(i)===i?$K(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function $K(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function eq(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:_z(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function tq(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:_z(e)?e.value:t.getBaseValue(),r}function nq(e){let t=e.options,n=t.fill,r=bz(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function rq(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=iq(t,n);s.push(YK({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&pq(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;XK(n)&&pq(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!XK(r)||n.drawTime!==`beforeDatasetDraw`||pq(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},xq=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},Sq=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Cq=class extends IW{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=Cz(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=TV(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=xq(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=wq(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=EH(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=DB(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=DB(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=DB(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=DB(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;cV(e,this),this._draw(),lV(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=$B.color,s=EH(e.rtl,this.left,this.width),c=TV(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=xq(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=bz(n.lineWidth,1);if(r.fillStyle=bz(n.fillStyle,o),r.lineCap=bz(n.lineCap,`butt`),r.lineDashOffset=bz(n.lineDashOffset,0),r.lineJoin=bz(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=bz(n.strokeStyle,o),r.setLineDash(bz(n.lineDash,[])),a.usePointStyle){let o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},c=s.xPlus(e,p/2),l=t+d;oV(r,o,c,l,a.pointStyleWidth&&p)}else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=CV(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?gV(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){hV(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:DB(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:DB(i,this.top+y+l,this.bottom-t[0].height),line:0},DH(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=DB(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=DB(i,this.top+y+l,this.bottom-t[f.line].height));let w=s.x(S);if(g(w,C,o),S=OB(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=Dq(o,e)+l}else f.y+=b}),OH(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=TV(t.font),r=wV(t.padding);if(!t.display)return;let i=EH(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=DB(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+DB(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=DB(o,u,u+d);a.textAlign=i.textAlign(EB(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,hV(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=TV(e.font),n=wV(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(mB(e,this.left,this.right)&&mB(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Eq(e,t,n){let r=e;return typeof t.text!=`string`&&(r=Dq(t,n)),r}function Dq(e,t){return t*(e.text?e.text.length:0)}function Oq(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var kq={id:`legend`,_element:Cq,start(e,t,n){let r=e.legend=new Cq({ctx:e.ctx,options:n,chart:e});fW.configure(e,r,n),fW.addBox(e,r)},stop(e){fW.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;fW.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=wV(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},Aq=class extends IW{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=gz(n.text)?n.text.length:1;this._padding=wV(n.padding);let i=r*TV(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=DB(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=DB(o,r,t),s=Vz*-.5):(l=i-e,u=DB(o,t,r),s=Vz*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=TV(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);hV(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:EB(t.align),textBaseline:`middle`,translation:[i,a]})}};function jq(e,t){let n=new Aq({ctx:e.ctx,options:t,chart:e});fW.configure(e,n,t),fW.addBox(e,n),e.titleBlock=n}var Mq={id:`title`,_element:Aq,start(e,t,n){jq(e,n)},stop(e){let t=e.titleBlock;fW.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;fW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Nq=new WeakMap,Pq={id:`subtitle`,start(e,t,n){let r=new Aq({ctx:e.ctx,options:n,chart:e});fW.configure(e,r,n),fW.addBox(e,r),Nq.set(e,r)},stop(e){fW.removeBox(e,Nq.get(e)),Nq.delete(e)},beforeUpdate(e,t,n){let r=Nq.get(e);fW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Fq={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a-1?e.split(` -`):e}function Rq(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function zq(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=TV(t.bodyFont),l=TV(t.titleFont),u=TV(t.footerFont),d=a.length,f=i.length,p=r.length,m=wV(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,wz(e.title,y),n.font=c.string,wz(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,wz(r,e=>{wz(e.before,y),wz(e.lines,y),wz(e.after,y)}),v=0,n.font=u.string,wz(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Bq(e,t){let{y:n,height:r}=t;return ne.height-r/2?`bottom`:`center`}function Vq(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Hq(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Vq(l,e,t,n)&&(l=`center`),l}function Uq(e,t,n){let r=n.yAlign||t.yAlign||Bq(e,n);return{xAlign:n.xAlign||t.xAlign||Hq(e,t,n,r),yAlign:r}}function Wq(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function Gq(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function Kq(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=CV(o),m=Wq(t,s),h=Gq(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:fB(m,0,r.width-t.width),y:fB(h,0,r.height-t.height)}}function qq(e,t,n){let r=wV(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function Jq(e){return Iq([],Lq(e))}function Yq(e,t,n){return OV(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function Xq(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var Zq={beforeTitle:pz,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex{let t={before:[],lines:[],after:[]},i=Xq(n,e);Iq(t.before,Lq(Qq(i,`beforeLabel`,this,e))),Iq(t.lines,Qq(i,`label`,this,e)),Iq(t.after,Lq(Qq(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return Jq(Qq(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=Qq(n,`beforeFooter`,this,e),i=Qq(n,`footer`,this,e),a=Qq(n,`afterFooter`,this,e),o=[];return o=Iq(o,Lq(r)),o=Iq(o,Lq(i)),o=Iq(o,Lq(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;se.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),wz(o,t=>{let n=Xq(e.callbacks,t);r.push(Qq(n,`labelColor`,this,t)),i.push(Qq(n,`labelPointStyle`,this,t)),a.push(Qq(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Fq[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=zq(this,n),o=Object.assign({},e,t),s=Uq(this.chart,n,o),c=Kq(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=CV(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=EH(n.rtl,this.x,this.width);for(e.x=qq(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=TV(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;se!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,gV(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),gV(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=TV(n.bodyFont),d=u.lineHeight,f=0,p=EH(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=qq(this,h,n),t.fillStyle=n.bodyColor,wz(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Fq[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=zq(this,e),o=Object.assign({},n,this._size),s=Uq(t,e,o),c=Kq(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=wV(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),DH(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),OH(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Tz(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Tz(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Fq[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},eJ=Object.freeze({__proto__:null,Colors:LK,Decimation:UK,Filler:bq,Legend:kq,SubTitle:Pq,Title:Mq,Tooltip:{id:`tooltip`,_element:$q,positioners:Fq,afterInit(e,t,n){n&&(e.tooltip=new $q({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:Zq},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]}}),tJ=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function nJ(e,t,n,r){let i=e.indexOf(t);return i===-1?tJ(e,t,n,r):i===e.lastIndexOf(t)?i:n}var rJ=(e,t)=>e===null?null:fB(Math.round(e),0,t);function iJ(e){let t=this.getLabels();return e>=0&&et.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function Ste(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!hz(a),_=!hz(o),v=!hz(c),y=(h-m)/(u+1),b=Qz((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=Qz(w*b/p/f)*f),hz(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&nB((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=Zz(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(oB(b),oB(S));x=10**(hz(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let ee=0;for(g&&(d&&S!==a?(n.push({value:a}),So)break;n.push({value:e})}return _&&d&&C!==o?n.length&&Zz(n[n.length-1].value,o,oJ(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function oJ(e,t,{horizontal:n,minRotation:r}){let i=iB(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var sJ=class extends nG{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return hz(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=Xz(r),t=Xz(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=Ste({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&rB(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return WB(e,this.chart.options.locale,this.options.ticks.format)}},cJ=class extends sJ{static id=`linear`;static defaults={ticks:{callback:qB.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=vz(e)?e:0,this.max=vz(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=iB(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},lJ=e=>Math.floor(Yz(e)),uJ=(e,t)=>10**(lJ(e)+t);function dJ(e){return e/10**lJ(e)==1}function fJ(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function pJ(e,t){let n=lJ(t-e);for(;fJ(e,t,n)>10;)n++;for(;fJ(e,t,n)<10;)n--;return Math.min(n,lJ(e))}function mJ(e,{min:t,max:n}){t=yz(e.min,t);let r=[],i=lJ(t),a=pJ(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=yz(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=yz(e.max,f);return r.push({value:p,major:dJ(p),significand:d}),r}var hJ=class extends nG{static id=`logarithmic`;static defaults={ticks:{callback:qB.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=sJ.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return vz(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=vz(e)?Math.max(0,e):null,this.max=vz(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!vz(this._userMin)&&(this.min=e===uJ(this.min,0)?uJ(this.min,-1):uJ(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(uJ(n,-1)),a(uJ(r,1)))),n<=0&&i(uJ(r,-1)),r<=0&&a(uJ(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=mJ({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&rB(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:WB(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=Yz(e),this._valueRange=Yz(this.max)-Yz(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(Yz(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}};function gJ(e){let t=e.ticks;if(t.display&&e.display){let e=wV(t.backdropPadding);return bz(t.font&&t.font.size,$B.font.size)+e.height}return 0}function _J(e,t,n){return n=gz(n)?n:[n],{w:nV(e,t.string,n),h:n.length*t.lineHeight}}function vJ(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function yJ(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?Vz/a:0;for(let c=0;ct.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function xJ(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(aB(uB(c.angle+Kz))),u=EJ(c.y,s.h,l),d=wJ(l),f=TJ(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function SJ(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(sV({x:n,y:r},t)||sV({x:n,y:a},t)||sV({x:i,y:r},t)||sV({x:i,y:a},t))}function CJ(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:gJ(a)/2,additionalAngle:o?Vz/i:0},l;for(let a=0;a270||n<90)&&(e-=t),e}function DJ(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!hz(s)){let n=CV(t.borderRadius),c=wV(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),gV(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function OJ(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));DJ(n,a,t);let o=TV(a.font),{x:s,y:c,textAlign:l}=t;hV(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function kJ(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,Hz);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a{let n=Cz(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?yJ(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=Hz/(this._pointLabels.length||1),n=this.options.startAngle||0;return uB(e*t+iB(n))}getDistanceFromCenterForValue(e){if(hz(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(hz(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);AJ(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=TV(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=wV(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}hV(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}},NJ={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},PJ=Object.keys(NJ);function FJ(e,t){return e-t}function IJ(e,t){if(hz(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),vz(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(tB(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function LJ(e,t,n,r){let i=PJ.length;for(let a=PJ.indexOf(e);a=PJ.indexOf(n);a--){let n=PJ[a];if(NJ[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return PJ[n?PJ.indexOf(n):0]}function zJ(e){for(let t=PJ.indexOf(e)+1,n=PJ.length;t=t?n[r]:n[i];e[a]=!0}}function VJ(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function HJ(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=fB(t,0,a),n=fB(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||LJ(i.minUnit,t,n,this._getLabelCapacity(t)),o=bz(r.ticks.stepSize,1),s=a===`week`&&i.isoWeekday,c=tB(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return Cz(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=gB(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=gB(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}var GJ=class extends UJ{static id=`timeseries`;static defaults=UJ.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=WJ(t,this.min),this._tableRange=WJ(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;ae-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(WJ(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return WJ(this._table,n*this._tableRange+this._minPos,!0)}},KJ=[RU,TK,eJ,Object.freeze({__proto__:null,CategoryScale:aJ,LinearScale:cJ,LogarithmicScale:hJ,RadialLinearScale:MJ,TimeScale:UJ,TimeSeriesScale:GJ})];WG.register(...KJ);var qJ=WG,JJ=L(``);function YJ(e,t){D(t,!0);let n=ha(t,`class`,3,``),r=ha(t,`ariaLabel`,3,``),i=A(null),a=null;Nn(()=>{if(CI.tick,!F(i)||typeof t.build!=`function`)return;let e=t.build();if(!e){a&&=(a.destroy(),null);return}return a&&=(a.destroy(),null),a=new qJ(F(i).getContext(`2d`),e),()=>{a&&=(a.destroy(),null)}});var o=JJ();fa(o,e=>j(i,e),()=>F(i)),P(()=>{H(o,1,ji(n())),U(o,`aria-label`,r())}),R(e,o),O()}var XJ=L(``),ZJ=L(`
`);function QJ(e,t){D(t,!0);let n=ha(t,`options`,19,()=>[]),r=ha(t,`ariaLabel`,3,``),i=ha(t,`class`,3,``);var a=ZJ();V(a,21,n,e=>e.value,(e,n)=>{var r=XJ();let i;var a=M(r,!0);E(r),P(()=>{i=H(r,1,`segmented-btn svelte-92fh5i`,null,i,{active:t.value===F(n).value}),U(r,`aria-pressed`,t.value===F(n).value),z(a,F(n).label)}),I(`click`,r,()=>t.onchange?.(F(n).value)),R(e,r)}),E(a),P(()=>{H(a,1,`segmented-control ${i()??``}`,`svelte-92fh5i`),U(a,`aria-label`,r())}),R(e,a),O()}Ur([`click`]);function $J(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function eY(){return{grid:$J(`--chart-grid`),text:$J(`--chart-text`),dayMarker:$J(`--chart-day-marker`),tooltipBg:$J(`--chart-tooltip-bg`),tooltipBorder:$J(`--chart-tooltip-border`),tooltipText:$J(`--chart-tooltip-text`)}}function tY(){return{size:11,family:`'SF Mono', Menlo, Consolas, monospace`}}function nY(e,t){return{backgroundColor:e.tooltipBg,borderColor:e.tooltipBorder,borderWidth:1,titleColor:e.tooltipText,bodyColor:e.tooltipText,callbacks:t}}function rY(e){if(typeof document>`u`||!document.body)return e;let t=document.createElement(`span`);t.style.display=`none`,t.style.color=e,document.body.appendChild(t);let n=getComputedStyle(t).color;return document.body.removeChild(t),n||e}var iY=[`#c2845a`,`#7a9e7e`,`#d4a574`,`#b8a98e`,`#8b9e6b`,`#7d8a97`,`#c47a5a`,`#6b8e6b`,`#a09486`,`#9b7ea4`,`#c49a6c`];function aY(){return[...iY]}function oY(e){let t=5381,n=String(e||``);for(let e=0;eWL(e)}}var lY={seconds:{apiName:`second`,windowLabel:`Last 60 seconds`,refreshMs:2e3},minutes:{apiName:`minute`,windowLabel:`Last 60 minutes`,refreshMs:5e3},hours:{apiName:`hour`,windowLabel:`Last 24 hours`,refreshMs:2e4},days:{apiName:`day`,windowLabel:`Last 30 days`,refreshMs:6e4}},uY=[{value:`seconds`,label:`Seconds`},{value:`minutes`,label:`Minutes`},{value:`hours`,label:`Hours`},{value:`days`,label:`Days`}];function dY(){return{input:0,output:0,prompt:0,local:0}}function fY(e){return String(e).padStart(2,`0`)}function pY(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:0}function mY(e,t){if(!Number.isFinite(t))return``;let n=new Date(t);switch(e){case`seconds`:return fY(n.getHours())+`:`+fY(n.getMinutes())+`:`+fY(n.getSeconds());case`minutes`:return fY(n.getHours())+`:`+fY(n.getMinutes());case`hours`:return fY(n.getHours())+`:00`;default:return fY(n.getMonth()+1)+`-`+fY(n.getDate())}}function hY(e,t){let n=[],r=[],i={input:[],output:[],prompt:[],local:[]},a=dY();for(let o of e||[]){let e=Date.parse(o&&o.start),s=pY(o&&o.input_tokens),c=pY(o&&o.output_tokens),l=pY(o&&o.prompt_cached_tokens),u=pY(o&&o.locally_cached_tokens);n.push(mY(t,e)),r.push(Number.isFinite(e)?e:null),i.input.push(s),i.output.push(c),i.prompt.push(l),i.local.push(u),a.input+=s,a.output+=c,a.prompt+=l,a.local+=u}return{labels:n,stamps:r,cols:i,totals:a}}function gY(e){let t=e||dY();return t.input+t.output+t.prompt+t.local>0}function _Y(e,t){return WL(Math.max(0,Math.round(e&&e[t]||0)))}function vY(e){return(lY[e]||lY.minutes).windowLabel}function yY(e,t){return`Live token throughput, `+vY(t).toLowerCase()+`. Input `+_Y(e,`input`)+`, output `+_Y(e,`output`)+`, prompt cached `+_Y(e,`prompt`)+`, locally cached `+_Y(e,`local`)+` tokens.`}function bY(e,t,n,r){let i=e=>WL(Math.max(0,Math.round(e))),a=n.stamps,o=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderWidth:0,borderRadius:0,categoryPercentage:1,barPercentage:1,stack:`tokens`});return{type:`bar`,plugins:[{id:`liveTokensDayMarks`,afterDatasetsDraw:t=>{if(r===`days`)return;let n=t.getDatasetMeta(0),i=t.chartArea;if(!n||!n.data||!i)return;let o=t.ctx;o.save(),o.font=`10px 'SF Mono', Menlo, Consolas, monospace`;let s=null;for(let t=0;t{if(!e.length)return``;let t=a[e[0].dataIndex];if(!t)return e[0].label;let n=new Date(t);return r===`days`?n.toLocaleDateString():n.toLocaleString()},label:e=>e.dataset.label+`: `+i(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+i(t)}})}}}}var xY=900,SY=6,CY=new class{#e=A(`minutes`);get granularity(){return F(this.#e)}set granularity(e){j(this.#e,e,!0)}#t=A(fn([]));get buckets(){return F(this.#t)}set buckets(e){j(this.#t,e,!0)}#n=A(!1);get active(){return F(this.#n)}set active(e){j(this.#n,e,!0)}#r=null;#i=null;#a=null;#o=0;#s=null;#c=!1;start(){this.stop(),this.active=!0,this.fetch(),this.#l(),this.#u()}stop(){this.active=!1,this.#r&&=(clearInterval(this.#r),null),this.#i&&=(clearTimeout(this.#i),null),this.#a&&=(clearTimeout(this.#a),null),this.#o=0,this.#s&&=(this.#s.abort(),null),this.buckets=[]}setGranularity(e){!lY[e]||e===this.granularity||(this.granularity=e,this.buckets=[],this.#l(),this.fetch())}#l(){this.#r&&=(clearInterval(this.#r),null);let e=lY[this.granularity]||lY.minutes;this.#r=setInterval(()=>{this.active&&this.fetch()},e.refreshMs)}noteUsageEvent(e){!this.active||e!==`usage.flushed`||(this.#i||=setTimeout(()=>{this.#i=null,this.fetch()},xY))}async fetch(){if(!this.active||this.#c)return;this.#c=!0;let e=this.granularity;try{let t=await tL(`/admin/usage/throughput?granularity=`+(lY[e]||lY.minutes).apiName,{label:`token throughput`});if(t.stale||!t.ok||this.granularity!==e)return;this.buckets=t.data&&Array.isArray(t.data.buckets)?t.data.buckets:[]}catch(e){if(rL(e))return;console.error(`Failed to fetch token throughput:`,e)}finally{this.#c=!1,this.active&&this.granularity!==e&&this.fetch()}}async#u(){await aL.ensureLoaded(),this.active&&aL.liveLogsVisible()&&(typeof ReadableStream>`u`||(this.#s&&this.#s.abort(),this.#s=new AbortController,this.#d(this.#s)))}async#d(e){try{let t=await $I(`/admin/live/logs?types=usage`,{signal:e.signal});if(!t.ok||!t.body||typeof t.body.getReader!=`function`){this.#m();return}this.#o=0,await this.#f(t.body.getReader()),this.#m()}catch(e){if(rL(e))return;console.error(`Live usage stream failed:`,e),this.#m()}}async#f(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.#p(t)}}n+=t.decode(),n.trim()&&this.#p(n)}#p(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` -`))}catch{return}if(!r||typeof r!=`object`)return;let i=String(r.type||``).trim();i.indexOf(`usage.`)===0&&this.noteUsageEvent(i)}#m(){if(!this.active||this.#a)return;let e=Math.min(this.#o+1,SY);this.#o=e;let t=Math.min(3e4,500*2**(e-1));this.#a=setTimeout(()=>{this.#a=null,this.#u()},t)}},wY=L(`
`),TY=L(`
Waiting for live requests…
`),EY=L(`

Live Token Throughput

`);function DY(e,t){D(t,!0);let n=k(()=>hY(CY.buckets,CY.granularity)),r=k(()=>F(n).totals);function i(){return{input:rY(`var(--token-input)`),output:rY(`var(--token-output)`),prompt:rY(`var(--token-prompt)`),local:rY(`var(--token-local)`)}}let a=[{metric:`input`,label:`Input Tokens`,colorVar:`--token-input`},{metric:`output`,label:`Output Tokens`,colorVar:`--token-output`},{metric:`prompt`,label:`Prompt (Input) Cached`,colorVar:`--token-prompt`},{metric:`local`,label:`Locally Cached`,colorVar:`--token-local`}];var o=EY(),s=M(o),c=M(s),l=N(M(c),2),u=M(l);let d;var f=N(u,2),p=M(f,!0);E(f),E(l),E(c),QJ(N(c,2),{ariaLabel:`Live token throughput granularity`,get options(){return uY},get value(){return CY.granularity},onchange:e=>CY.setGranularity(e)}),E(s);var m=N(s,2);V(m,21,()=>a,e=>e.metric,(e,t)=>{var n=wY(),i=M(n),a=N(i,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{Ri(i,`background: var(${F(t).colorVar??``})`),z(o,F(t).label),z(c,e)},[()=>_Y(F(r),F(t).metric)]),R(e,n)}),E(m);var h=N(m,2),g=M(h);{let e=k(()=>yY(F(r),CY.granularity));YJ(g,{get ariaLabel(){return F(e)},build:()=>bY(eY(),i(),F(n),CY.granularity)})}var _=N(g,2),v=e=>{R(e,TY())},y=k(()=>!gY(F(r)));B(_,e=>{F(y)&&e(v)}),E(h),E(o),P(e=>{d=H(u,1,`live-dot`,null,d,{"is-streaming":CY.active}),z(p,e)},[()=>vY(CY.granularity)]),R(e,o),O()}function OY(e){let t=e||{};if(t.total_tokens!==null&&t.total_tokens!==void 0){let e=Number(t.total_tokens);if(Number.isFinite(e))return e}let n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function kY(e,t){if(!t)return 0;let n=e&&e.summary?e.summary:{},r=Number(n.total_hits||0);return Number.isFinite(r)&&r>0?r:0}function AY(e,t,n){let r=Number(e&&e.total_requests||0);return(Number.isFinite(r)?r:0)+kY(t,n)}function jY(e,t,n){let r=kY(t,n);return r<=0?``:BL(AY(e,t,n)-r)+` to providers + `+BL(r)+` from cache`}function MY(e){let t=e&&e.summary?e.summary:{},n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function NY(e,t,n){let r=e=>{let t=Number(e||0);return Number.isFinite(t)&&t>0?t:0},i=e||{},a=r(i.uncached_input_tokens),o=r(i.cached_input_tokens),s=r(i.cache_write_input_tokens),c=t&&t.summary?t.summary:{},l=n?r(c.total_input_tokens):0;return[{key:`uncached`,label:`Regular`,tokens:a+s,colorVar:`--cache-meter-uncached`,note:s>0?`Includes `+BL(s)+` cache-write tokens`:``},{key:`prompt`,label:`Prompt cached`,tokens:o,colorVar:`--cache-meter-prompt`,note:`Provider prompt-cache reads`},{key:`local`,label:`Locally cached`,tokens:l,colorVar:`--cache-meter-local`,note:`Served from GoModel response cache`}]}function PY(e,t,n){return NY(e,t,n).reduce((e,t)=>e+t.tokens,0)}function FY(e,t,n){return PY(e,t,n)>0}function IY(e,t,n){let r=NY(e,t,n),i=r.reduce((e,t)=>e+t.tokens,0);if(i<=0)return r.map(e=>Object.assign({},e,{pct:0}));let a=r.map(e=>{let t=e.tokens/i*100,n=Math.floor(t);return Object.assign({},e,{pct:n,remainder:t-n})}),o=100-a.reduce((e,t)=>e+t.pct,0);return a.map((e,t)=>({index:t,remainder:e.remainder,tokens:e.tokens})).filter(e=>e.tokens>0).sort((e,t)=>t.remainder-e.remainder).forEach(e=>{o>0&&(a[e.index].pct+=1,--o)}),a}function LY(e,t,n){return IY(e,t,n).filter(e=>e.tokens>0)}function RY(e){let t=[e.label+`: `+BL(e.tokens)+` input tokens (`+e.pct+`%)`];return e.note&&t.push(e.note),t.join(` -`)}function zY(e){let t=(e||[]).map(e=>e.label+` `+e.pct+`%`);return`Cache breakdown of input tokens — `+(t.length?t.join(`, `):`no data`)}function BY(e){return e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`)}function VY(e,t,n,r){if(t!==`daily`||!n||!r)return e;let i={};(e||[]).forEach(e=>{i[e.date]=e});let a=[];for(let e=new Date(n);e<=r;e.setUTCDate(e.getUTCDate()+1)){let t=BY(e);a.push(i[t]||{date:t,input_tokens:0,output_tokens:0,total_tokens:0,requests:0,input_cost:null,output_cost:null,total_cost:null})}return a}function HY(e,t){let n=e=>Number(e)||0,r=e.map(e=>e.date),i=e.map(e=>n(e.uncached_input_tokens)+n(e.cache_write_input_tokens)+n(e.cached_input_tokens)>0?n(e.uncached_input_tokens)+n(e.cache_write_input_tokens):n(e.input_tokens)),a=e.map(e=>n(e.output_tokens)),o=e.map(e=>n(e.cached_input_tokens)),s={};return(t||[]).forEach(e=>{s[e.date]=e}),{labels:r,inputPaid:i,output:a,prompt:o,local:r.map(e=>{let t=s[e];return t?n(t.input_tokens)+n(t.output_tokens):0})}}function UY(e){let t=e||{},n=Math.max(0,Number(t.uncached_input_tokens)||0),r=Math.max(0,Number(t.cached_input_tokens)||0),i=Math.max(0,Number(t.cache_write_input_tokens)||0),a=n+r+i;return a>0?r/a*100:0}function WY(e){let t=e||{};return(Number(t.uncached_input_tokens)||0)+(Number(t.cached_input_tokens)||0)+(Number(t.cache_write_input_tokens)||0)>0}function GY(e){return WY(e)?Math.round(UY(e))+`%`:`—`}function KY(e,t,n={}){let r=!!n.cacheEnabled,i=n.resolve||(e=>e),a=(e,t)=>i(`color-mix(in srgb, `+e+` `+t+`%, transparent)`),o=(e,t,n,r)=>Object.assign({label:e,data:t,borderColor:n,backgroundColor:n,fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4},r||{}),s=[o(`Input Tokens`,t.inputPaid,i(`var(--token-input)`),{fill:`origin`}),o(`Output Tokens`,t.output,i(`var(--token-output)`),{fill:`-1`}),o(`Prompt (Input) Cached`,t.prompt,i(`var(--token-prompt)`),{fill:`-1`,borderDash:[6,4]})];return r&&s.push(o(`Locally Cached`,t.local,a(`var(--info)`,35),{fill:`-1`,borderDash:[2,3]})),{type:`line`,data:{labels:t.labels,datasets:s},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:nY(e,{label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:tY(),maxRotation:0,autoSkip:!0,maxTicksLimit:10}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:cY(e)}}}}}function qY(e,t,n){let r=Math.max(0,Math.min(100,e));return{type:`doughnut`,data:{datasets:[{data:[r,100-r],backgroundColor:[t,n],borderWidth:0,spacing:0}]},options:{rotation:-90,circumference:180,cutout:`84%`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:1},events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1}}}}}var JY=`gomodel_provider_status_details_expanded`,YY=`gomodel_provider_card_expanded_overrides`,XY=3e3,ZY=`https://gomodel.enterpilot.io/docs/providers/`,QY={anthropic:`anthropic`,azure:`azure`,bailian:`bailian`,bedrock:`bedrock`,"bedrock-mantle":`bedrock-mantle`,cohere:`cohere`,deepseek:`deepseek`,gemini:`gemini`,opencode_go:`opencode-go`,oracle:`oracle`,vertex:`vertex`,vllm:`vllm`,xiaomi:`xiaomi`};function $Y(){return{summary:{total:0,healthy:0,degraded:0,unhealthy:0,overall_status:`degraded`},providers:[]}}function eX(e){let t={detailsExpanded:!1,cardOverrides:{}};try{if(e){let n=e.getItem(JY);n===`true`||n===`false`?t.detailsExpanded=n===`true`:e.setItem(JY,`false`);let r=JSON.parse(e.getItem(YY)||`{}`);r&&typeof r==`object`&&!Array.isArray(r)&&(t.cardOverrides=r)}}catch{}return t}function tX(e,t){if(e)try{e.setItem(JY,t?`true`:`false`)}catch{}}function nX(e,t){if(e)try{e.setItem(YY,JSON.stringify(t))}catch{}}function rX(e,t,n){let r=n&&n.name?String(n.name):``;return r&&Object.prototype.hasOwnProperty.call(e,r)?e[r]===!0:t}function iX(e){return`is-`+(String(e&&e.overall_status||`degraded`).trim()||`degraded`)}function aX(e){return`is-`+(String(e||`degraded`).trim()||`degraded`)}function oX(e){let t=e||{};return String(t.healthy||0)+`/`+String(t.total||0)}function sX(e){let t=e||{},n=Number(t.total||0),r=Number(t.healthy||0);return n>0&&rString(e&&e.status_label||``).trim().toLowerCase()===`starting`)}function uX(e){if(!e||!e.runtime)return``;let t=e.runtime.last_model_fetch_at||``,n=e.runtime.last_availability_check_at||``;return t?n&&Date.parse(n)>Date.parse(t)?n:t:n}function dX(e,t){let n=uX(e);if(!n||typeof t!=`function`)return`-`;let r=t(n);if(!r||r===`-`)return`-`;let i=String(r).split(` `);return i.length>1?i.slice(1).join(` `):r}function fX(e,t){let n=uX(e);return n?typeof t==`function`?t(n):String(n):``}function pX(e){if(!e)return``;let t=String(e.name||``).trim(),n=String(e.type||e.config&&e.config.type||``).trim();return!n||n===t?``:n}function mX(e){let t=String(e&&(e.type||e.config&&e.config.type)||``).trim().toLowerCase(),n=t?QY[t]:``;return n?ZY+n+`?utm_source=gomodel_dashboard`:``}function hX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.retry:null;return t?String(t.max_retries)+` retries, `+t.initial_backoff+` initial, `+t.max_backoff+` max, factor `+t.backoff_factor+`, jitter `+t.jitter_factor:`-`}function gX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.circuit_breaker:null;return t?String(t.failure_threshold)+` fail, `+String(t.success_threshold)+` success, `+t.timeout+` timeout`:`-`}function _X(e){let t=e&&e.config&&Array.isArray(e.config.models)?e.config.models.filter(Boolean):[];return t.length===0?`Automatic`:t.join(`, `)}function vX(e){if(!e)return``;let t=[];return e.status_reason&&t.push(String(e.status_reason)),e.last_error&&t.push(`Last error: `+String(e.last_error)),t.join(` - -`)}function yX(e){let t=e&&e.request_health;return t&&typeof t==`object`?t:null}function bX(e){let t=yX(e);return t?String(t.circuit_state||``).trim():``}function xX(e){let t=bX(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}function SX(e){let t=bX(e);return t===`open`?`is-unhealthy`:t===`half-open`?`is-degraded`:`is-healthy`}function CX(e){let t=yX(e);if(!t)return``;let n=Number(t.requests||0),r=Number(t.errors||0),i=Math.round(Number(t.window_seconds||0)/60),a=i>0?`last `+i+` min`:`recent`;return String(n)+` request`+(n===1?``:`s`)+` · `+String(r)+` error`+(r===1?``:`s`)+` (`+a+`)`}function wX(e){let t=yX(e);return t&&Array.isArray(t.models)?t.models:[]}function TX(e){return e?String(Number(e.errors||0))+`/`+String(Number(e.requests||0))+` failed`:``}function EX(e){let t=e&&e.last_error;return!t||!t.message?``:(t.status_code?`HTTP `+String(t.status_code)+`: `:``)+t.message}function DX(){return{name:``,slug:``,url:``,transport:`http`,description:``,enabled:!0,headers:[],allowed_tools:``,disallowed_tools:``,user_paths:``,tool_timeout_seconds:``}}function OX(){return{server:``,status:``,instructions:``,tools:[],prompts:[],resources:[],templates:[]}}function kX(e){return String(e&&(e.slug||e.name)||``).trim()}function AX(e){return String(e&&e.status||``).trim()||`connecting`}function jX(e){switch(AX(e)){case`connected`:return`status-success`;case`degraded`:return String(e&&e.last_error||``).trim()?`status-error`:`status-warning`;case`connecting`:return`status-neutral`;default:return`status-unknown`}}function MX(e,t){let n=AX(e),r=String(e&&e.last_error||``).trim();return r&&n!==`connected`?r:n===`connected`&&e&&e.connected_at?`Connected since `+(typeof t==`function`?t:String)(e.connected_at):``}function NX(e){return String(e&&e.transport||``)===`stdio`?`local command`:String(e&&e.url||``).trim()||`—`}function PX(e){let t=Number(e&&e.prompt_count||0),n=Number(e&&e.resource_count||0);return t+` prompts · `+n+` resources`}function FX(e){let t=String(e||``).normalize(`NFKD`).toLowerCase(),n=t.replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64).replace(/-+$/g,``);if(n)return n;let r=2166136261;for(let e of t)r=Math.imul((r^e.codePointAt(0))>>>0,16777619)>>>0;return`mcp-`+r.toString(16).padStart(8,`0`)}function IX(e){return String(e||``).split(` -`).map(e=>e.trim()).filter(e=>e)}function LX(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.keys(e).sort().map(t=>({name:t,value:String(e[t]||``)}))}function RX(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=String(e&&e.name||``).trim();n&&(t[n]=String(e&&e.value||``))}),t}function zX(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.slug,e.url,e.transport,e.description,e.status].some(e=>String(e||``).toLowerCase().includes(r)))}function BX(e){return{name:String(e.name||``).trim(),slug:kX(e),url:String(e.url||``).trim(),transport:e.transport===`sse`?`sse`:`http`,description:String(e.description||``).trim(),enabled:e.enabled!==!1,headers:LX(e.headers),allowed_tools:(Array.isArray(e.allowed_tools)?e.allowed_tools:[]).join(`, `),disallowed_tools:(Array.isArray(e.disallowed_tools)?e.disallowed_tools:[]).join(`, `),user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` -`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function VX(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||FX(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:`Name is required.`};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:`Slug must use 1–64 lowercase ASCII letters, numbers, hyphens, or underscores.`};if(t===`create`&&(n||[]).some(e=>kX(e)===i))return{error:`Slug "`+i+`" is already in use.`};if(!a)return{error:`URL is required.`};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:`Tool timeout must be a non-negative whole number of seconds.`};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:RX(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:zL(e.allowed_tools),disallowed_tools:zL(e.disallowed_tools),user_paths:IX(e.user_paths),tool_timeout_seconds:s}}}function HX(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function UX(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function WX(e){let t=e||OX(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:UX(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:`Tools`,items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:`Prompts`,items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:`Resources`,items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:`Resource templates`,items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function GX(e){return WX(e).length===0}function KX(e){return(e||[]).length}function qX(e){return(e||[]).filter(e=>AX(e)===`connected`).length}function JX(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&AX(e)===`degraded`).length}function YX(e,t){return!!e&&KX(t)>0}function XX(e){return String(qX(e))+`/`+String(KX(e))}function ZX(e){return JX(e)>0?`is-degraded`:`is-healthy`}function QX(e){let t=JX(e);if(t>0)return String(t)+` server`+(t===1?``:`s`)+` need`+(t===1?`s`:``)+` attention`;let n=KX(e),r=qX(e);return n>0&&r===n?`All MCP servers connected`:String(r)+` of `+String(n)+` server`+(n===1?``:`s`)+` connected`}function $X(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function eZ(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function tZ(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function nZ(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function rZ(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function iZ(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function aZ(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function oZ(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:aZ(Number(t))}function sZ(e,t){try{let n={};return new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour)}}catch{return{year:String(e.getFullYear()),month:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()],day:String(e.getDate()),hour:e.getHours()}}}function cZ(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=sZ(r,n),a=i.month+` `+i.day;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function lZ(e,t,n,r){let i=new Date(e.start);if(Number.isNaN(i.getTime()))return String(e.start||``);if(t===`hour`)return r(e.start);let a=sZ(i,n);return a.month+` `+a.day+`, `+a.year}function uZ(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function dZ(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>cZ(e,r,i)),c=uZ(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(`Other`,t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:nY(e,{title:e=>e.length?lZ(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:tY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:tY(),precision:0,callback:e=>WL(e)}}}}}}function fZ(e=aY()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function pZ(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||fZ();return{type:`line`,data:{labels:t.map(e=>cZ(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:nY(e,{title:e=>e.length?lZ(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+aZ(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:tY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:tY(),callback:e=>aZ(e)}}}}}}var mZ=class{#e=A(fn($Y()));get status(){return F(this.#e)}set status(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=A(!1);get loadedOnce(){return F(this.#n)}set loadedOnce(e){j(this.#n,e,!0)}#r=A(!1);get detailsExpanded(){return F(this.#r)}set detailsExpanded(e){j(this.#r,e,!0)}#i=A(fn({}));get cardOverrides(){return F(this.#i)}set cardOverrides(e){j(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=eX(bI());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return rX(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,nX(bI(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},tX(bI(),this.detailsExpanded),nX(bI(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?`Show Details`:`Hide Details`}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await tL(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=$Y(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:$Y();n.summary||=$Y().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(rL(e))return;console.error(`Failed to fetch provider status:`,e),this.status=$Y(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),lX(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},XY))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},hZ=class{#e=A(fn($X()));get stats(){return F(this.#e)}set stats(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await tL(`/admin/audit/stats?`+tR.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=$X();return}this.stats=eZ(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=$X()}finally{e===this.#n&&(this.loading=!1)}}},gZ=class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!1);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}async fetch(){if(await aL.ensureLoaded(),!aL.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await tL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},_Z=class{#e=A(fn([]));get data(){return F(this.#e)}set data(e){j(this.#e,e,!0)}#t=A(`tokens`);get mode(){return F(this.#t)}set mode(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await tL(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(rL(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},vZ=new mZ,yZ=new hZ,bZ=new gZ,xZ=new _Z,SZ=L(`
Cache Hits
`),CZ=L(`
Local Cache
i + o =
`),wZ=L(``),TZ=L(` `),EZ=L(`
Provider Status
`),DZ=L(`
MCP Servers
`),OZ=L(`
Tokens
i + o =
Total Requests
Estimated Cost
Prompt Cache Rate
`);function kZ(e,t){D(t,!0);let n=k(()=>iR.summary),r=k(()=>iR.cacheOverview),i=k(()=>iR.cacheAnalyticsEnabled()),a=k(()=>vZ.status.summary);function o(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var s=OZ(),c=M(s),l=N(M(c),2),u=M(l),d=M(u),f=M(d,!0);E(d),We(),E(u);var p=N(u,4),m=M(p),h=M(m,!0);E(m),We(),E(p);var g=N(p,4),_=M(g,!0);E(g),E(l),E(c);var v=N(c,2),y=N(M(v),2),b=M(y,!0);E(y),E(v);var x=N(v,2),S=e=>{var t=SZ(),n=N(M(t),2),i=M(n,!0);E(n),E(t),P(e=>z(i,e),[()=>BL(F(r).summary.total_hits)]),R(e,t)};B(x,e=>{F(i)&&e(S)});var C=N(x,2),w=N(M(C),2),T=M(w,!0);E(w),E(C);var ee=N(C,2),te=e=>{var t=CZ(),n=N(M(t),2),i=M(n),a=M(i),o=M(a,!0);E(a),We(),E(i);var s=N(i,4),c=M(s),l=M(c,!0);E(c),We(),E(s);var u=N(s,4),d=M(u,!0);E(u),E(n),E(t),P((e,t,n,r,a,c)=>{U(i,`title`,e),z(o,t),U(s,`title`,n),z(l,r),U(u,`title`,a),z(d,c)},[()=>GL(`Input tokens`,F(r).summary.total_input_tokens),()=>WL(F(r).summary.total_input_tokens),()=>GL(`Output tokens`,F(r).summary.total_output_tokens),()=>WL(F(r).summary.total_output_tokens),()=>GL(`Total tokens`,MY(F(r))),()=>WL(MY(F(r)))]),R(e,t)};B(ee,e=>{F(i)&&e(te)});var ne=N(ee,2),re=N(M(ne),2),ie=M(re);YJ(ie,{build:()=>qY(UY(F(n)),rY(`var(--token-prompt)`),rY(`var(--bg-surface-hover)`))});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(ne);var se=N(ne,2),ce=e=>{var t=EZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),s=e=>{var t=wZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>cX(F(a))]),I(`click`,t,o),R(e,t)},c=k(()=>sX(F(a))),l=e=>{var t=TZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>cX(F(a))]),R(e,t)};B(i,e=>{F(c)?e(s):e(l,-1)}),E(t),P((e,n)=>{H(t,1,`card provider-status-flag provider-status-overview-card ${e??``}`,`svelte-6tr9cf`),z(r,n)},[()=>iX(F(a)),()=>oX(F(a))]),R(e,t)};B(se,e=>{F(a).total>0&&e(ce)});var le=N(se,2),ue=e=>{var t=DZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),a=M(i,!0);E(i),E(t),P((e,n,i)=>{H(t,1,`card provider-status-flag mcp-servers-flag ${e??``}`,`svelte-6tr9cf`),z(r,n),z(a,i)},[()=>ZX(bZ.servers),()=>XX(bZ.servers),()=>QX(bZ.servers)]),I(`click`,i,()=>LI.navigate(`mcp-servers`)),R(e,t)},de=k(()=>YX(bZ.available,bZ.servers));B(le,e=>{F(de)&&e(ue)}),E(s),P((e,t,n,r,i,a,o,s,c,l,d)=>{U(u,`title`,e),z(f,t),U(p,`title`,n),z(h,r),U(g,`title`,i),z(_,a),U(y,`title`,o),z(b,s),z(T,c),U(re,`aria-label`,l),z(oe,d)},[()=>GL(`Input tokens`,F(n).total_input_tokens),()=>WL(F(n).total_input_tokens),()=>GL(`Output tokens`,F(n).total_output_tokens),()=>WL(F(n).total_output_tokens),()=>GL(`Total tokens`,OY(F(n))),()=>WL(OY(F(n))),()=>jY(F(n),F(r),F(i)),()=>BL(AY(F(n),F(r),F(i))),()=>VL(F(n).total_cost),()=>`Prompt cache rate `+GY(F(n)),()=>GY(F(n))]),R(e,s),O()}Ur([`click`]);var AZ=L(` `),jZ=L(`
`),MZ=L(`No usage in the selected period yet`),NZ=L(`
`),PZ=L(`

Tokens

Share of input tokens over the selected period
`);function FZ(e,t){D(t,!0);let n=k(()=>iR.cacheAnalyticsEnabled()),r=k(()=>IY(iR.summary,iR.cacheOverview,F(n))),i=k(()=>LY(iR.summary,iR.cacheOverview,F(n))),a=k(()=>FY(iR.summary,iR.cacheOverview,F(n)));var o=PZ(),s=N(M(o),2);let c;var l=M(s);V(l,17,()=>F(i),e=>e.key,(e,t)=>{var n=jZ(),r=M(n),i=e=>{var n=AZ(),r=M(n);E(n),P(()=>z(r,`${F(t).pct??``}%`)),R(e,n)};B(r,e=>{F(t).pct>=8&&e(i)}),E(n),P(e=>{Ri(n,`width: ${F(t).pct??``}%; background: var(${F(t).colorVar??``})`),U(n,`title`,e)},[()=>RY(F(t))]),R(e,n)});var u=N(l,2),d=e=>{R(e,MZ())};B(u,e=>{F(a)||e(d)}),E(s);var f=N(s,2);V(f,21,()=>F(r),e=>e.key,(e,t)=>{var n=NZ(),r=M(n),i=N(r,2),a=M(i,!0);E(i);var o=N(i,2),s=M(o);E(o);var c=N(o,2),l=M(c,!0);E(c),E(n),P((e,i)=>{U(n,`title`,e),Ri(r,`background: var(${F(t).colorVar??``})`),z(a,F(t).label),z(s,`${F(t).pct??``}%`),z(l,i)},[()=>RY(F(t)),()=>BL(F(t).tokens)]),R(e,n)}),E(f),E(o),P(e=>{c=H(s,1,`cache-meter-bar svelte-1yzecxj`,null,c,{"is-empty":!F(a)}),U(s,`aria-label`,e)},[()=>zY(F(i))]),R(e,o),O()}var IZ=L(``);function LZ(e,t){let n=ha(t,`size`,3,16),r=ha(t,`label`,3,`Loading`),i=ha(t,`class`,3,``);var a=IZ();P(()=>{H(a,1,`spinner ${i()??``}`,`svelte-b54l9o`),Ri(a,`--spinner-size: ${n()??``}px`),U(a,`aria-label`,r())}),R(e,a)}var RZ=Zr(` `),zZ=Zr(``);function BZ(e,t){let n=ha(t,`label`,3,`No data`);var r=zZ(),i=N(M(r),9),a=e=>{var t=RZ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(i,e=>{n()&&e(a)}),E(r),P(()=>{U(r,`role`,n()?`img`:void 0),U(r,`aria-label`,n()||void 0),U(r,`aria-hidden`,n()?void 0:`true`)}),R(e,r)}var VZ=L(`
`),HZ=L(`

`);function UZ(e,t){D(t,!0);let n=[`daily`,`weekly`,`monthly`,`yearly`];function r(e){tR.interval=e,t.onintervalchange?.()}function i(){let e=iR.daily;if(e.length===0)return null;let t=tR.rangeStart(),n=tR.rangeEnd(),r=HY(VY(e,tR.interval,t,n),VY(Array.isArray(iR.cacheOverview.daily)?iR.cacheOverview.daily:[],tR.interval,t,n));return KY(eY(),r,{cacheEnabled:iR.cacheAnalyticsEnabled(),resolve:rY})}var a=HZ(),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2);{let e=k(()=>n.map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)})));QJ(l,{ariaLabel:`Usage chart interval`,get options(){return F(e)},get value(){return tR.interval},onchange:r})}E(o);var u=N(o,2),d=M(u);YJ(d,{build:i});var f=N(d,2),p=e=>{var t=VZ();LZ(M(t),{size:24,label:`Loading usage`}),E(t),R(e,t)},m=e=>{var t=VZ();BZ(M(t),{}),E(t),R(e,t)};B(f,e=>{iR.daily.length===0&&iR.loading?e(p):iR.daily.length===0&&!G.authError&&e(m,1)}),E(u),E(a),P(e=>z(c,e),[()=>tR.chartTitle()]),R(e,a),O()}var WZ=10,GZ=.7;function KZ(e){return String(e).padStart(2,`0`)}function qZ(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}function JZ(e){return!e||typeof e.getTime!=`function`||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+KZ(e.getUTCMonth()+1)+`-`+KZ(e.getUTCDate())}function YZ(e,t){let n=qZ(e);return n?(n.setUTCDate(n.getUTCDate()+t),JZ(n)):``}function XZ(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+GZ,r=Math.ceil(n*WZ);return r<1?1:r>WZ?WZ:r}function ZZ(){let e=[];for(let t=0;t<=WZ;t++)e.push(t);return e}function QZ(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=qZ(YZ(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);JZ(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=JZ(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function $Z(e){let t=qZ(YZ(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=[],a={},o=0;for(let n=new Date(t);JZ(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),JZ(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r[t.getUTCMonth()],col:o,key:s}),a[s]=!0)}for(let e=0;e `),rQ=L(`
`),iQ=L(`
`),aQ=L(`
`),oQ=L(`
`),sQ=L(`

Activity

Mon Wed Fri
`,1);function cQ(e,t){D(t,!0);let n=A(fn({show:!1,x:0,y:0,text:``})),r=k(()=>YI.currentDateKey()),i=k(()=>QZ(xZ.data,xZ.mode,F(r))),a=k(()=>$Z(F(r)));function o(e,t){t.empty||j(n,{show:!0,x:e.clientX,y:e.clientY,text:tQ(t,xZ.mode)},!0)}function s(){j(n,{show:!1,x:0,y:0,text:``},!0)}var c=sQ(),l=Cn(c),u=M(l),d=N(M(u),2),f=e=>{LZ(e,{size:14,label:`Loading activity`})};B(d,e=>{xZ.loading&&xZ.data.length===0&&e(f)}),QJ(N(d,2),{ariaLabel:`Activity calendar mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return xZ.mode},onchange:e=>xZ.mode=e}),E(u);var p=N(u,2),m=N(M(p),2),h=M(m);V(h,21,()=>F(a),e=>e.key,(e,t)=>{var n=nQ(),r=M(n,!0);E(n),P(()=>{Ri(n,`grid-column: ${F(t).col+1} / span ${F(t).span??``}`),z(r,F(t).label)}),R(e,n)}),E(h);var g=N(h,2);V(g,21,()=>F(i),oi,(e,t,n)=>{var r=iQ();V(r,23,()=>F(t),(e,t)=>n+`-`+t,(e,t)=>{var n=rQ();P(()=>H(n,1,`contribution-calendar-cell ${F(t).empty?`empty`:`level-`+F(t).level}`,`svelte-3hfxuq`)),Hr(`mouseenter`,n,e=>o(e,F(t))),Hr(`mouseleave`,n,s),R(e,n)}),E(r),R(e,r)}),E(g),E(m),E(p);var _=N(p,2),v=M(_),y=M(v),b=M(y,!0);E(y),E(v);var x=N(v,2);V(N(M(x),2),16,ZZ,e=>e,(e,t)=>{var n=aQ();P(()=>H(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),R(e,n)}),We(2),E(x),E(_),E(l);var S=N(l,2),C=e=>{var t=oQ(),r=M(t,!0);E(t),P(()=>{Ri(t,`left: ${F(n).x??``}px; top: ${F(n).y-40}px`),z(r,F(n).text)}),R(e,t)};B(S,e=>{F(n).show&&e(C)}),P(e=>z(b,e),[()=>eQ(xZ.data,xZ.mode)]),R(e,c),O()}var lQ=L(``),uQ=L(`

`),dQ=L(`
`);function fQ(e,t){D(t,!0);let n=ha(t,`label`,3,`help`),r=ha(t,`text`,3,``),i=ha(t,`open`,15,!1),a=ha(t,`external`,3,!1),o=k(()=>!!r()||!!t.help||a());var s=dQ(),c=M(s),l=M(c);gi(l,()=>t.title??m);var u=N(l,2),d=e=>{var r=lQ();let a;P(()=>{a=H(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),U(r,`aria-label`,(i()?`Hide `:`Show `)+n()),U(r,`aria-expanded`,i()),U(r,`aria-controls`,t.copyId)}),I(`click`,r,()=>i(!i())),R(e,r)};B(u,e=>{F(o)&&e(d)}),gi(N(u,2),()=>t.extra??m),E(c);var f=N(c,2),p=e=>{var n=uQ(),i=M(n),a=e=>{var n=$r();gi(Cn(n),()=>t.help),R(e,n)},o=e=>{var t=Qr();P(()=>z(t,r())),R(e,t)};B(i,e=>{t.help?e(a):e(o,-1)}),E(n),P(()=>U(n,`id`,t.copyId)),R(e,n)};B(f,e=>{i()&&F(o)&&!a()&&e(p)}),E(s),R(e,s),O()}Ur([`click`]);var pQ=L(`

Provider Latency

`),mQ=L(`
Avg
`),hQ=L(`

Requests by Status

Success 2xx 4xx 5xx
`,1);function gQ(e,t){D(t,!0);let n=fZ(),r=k(()=>yZ.stats);function i(){return{interval:F(r).interval,zone:YI.effectiveTimezone(),resolve:rY,formatTimestamp:e=>YI.formatTimestamp(e)}}var a=$r(),o=Cn(a),s=e=>{var t=hQ(),a=Cn(t),o=M(a),s=N(M(o),2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c);var d=N(c,2),f=N(M(d),4),p=M(f,!0);E(f),E(d);var m=N(d,2),h=N(M(m),4),g=M(h,!0);E(h),E(m);var _=N(m,2),v=N(M(_),4),y=M(v,!0);E(v),E(_),E(s),E(o);var b=N(o,2);YJ(M(b),{build:()=>dZ(eY(),F(r).buckets,i())}),E(b),E(a);var x=N(a,2),S=e=>{var t=mQ(),a=M(t),o=M(a);fQ(o,{copyId:`audit-latency-help-copy`,label:`provider latency help`,text:`Average duration of successful requests as measured at the gateway, per provider. Local cache hits and failed requests are excluded; streamed responses count until the stream completes.`,title:e=>{R(e,pQ())},$$slots:{title:!0}});var s=N(o,2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c),E(s),E(a);var d=N(a,2);YJ(M(d),{build:()=>pZ(eY(),F(r).buckets,F(r).provider_latency,{...i(),providerColor:n})}),E(d),E(t),P(e=>z(u,e),[()=>oZ(F(r))]),R(e,t)},C=k(()=>nZ(F(r)));B(x,e=>{F(C)&&e(S)}),P((e,t,n,r)=>{z(u,e),z(p,t),z(g,n),z(y,r)},[()=>rZ(F(r)),()=>BL(iZ(F(r),`status_2xx`)),()=>BL(iZ(F(r),`status_4xx`)),()=>BL(iZ(F(r),`status_5xx`))]),R(e,t)},c=k(()=>tZ(F(r)));B(o,e=>{F(c)&&e(s)}),R(e,a),O()}var _Q=(e,t=m,n=m,r)=>{let i=kt(()=>_(r?.(),!1));var a=bQ(),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=e=>{var t=vQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)},u=e=>{var t=yQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(c,e=>{F(i)?e(l):e(u,-1)}),E(a),P(()=>z(s,t())),R(e,a)},vQ=L(` `),yQ=L(` `),bQ=L(`
`),xQ=L(` `),SQ=L(``),CQ=L(`

`),wQ=L(`
Breaker State
`),TQ=L(`
`),EQ=L(`
Models (Recent Traffic)
`),DQ=L(`
`),OQ=L(`

Models Available
Last Checked

`);function kQ(e,t){D(t,!0);let n=k(()=>vZ.cardExpanded(t.provider)),r=e=>YI.formatTimestamp(e),i=k(()=>[[`Base URL`,t.provider.config?.base_url],[`API Version`,t.provider.config?.api_version]].filter(([,e])=>!!e));var a=OQ(),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l,!0);E(l);var d=N(l,2),f=e=>{var n=xQ(),r=M(n);E(n),P(e=>z(r,`(${e??``})`),[()=>pX(t.provider)]),R(e,n)},p=k(()=>pX(t.provider));B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var n=SQ();P((e,t,r)=>{U(n,`href`,e),U(n,`aria-label`,t),U(n,`title`,r)},[()=>mX(t.provider),()=>`View `+(pX(t.provider)||t.provider.name)+` provider docs`,()=>`View `+(pX(t.provider)||t.provider.name)+` provider docs`]),R(e,n)},g=k(()=>mX(t.provider));B(m,e=>{F(g)&&e(h)}),E(c),E(s);var _=N(s,2),y=M(_,!0);E(_),E(o);var b=N(o,2),x=M(b),S=N(M(x),2),C=M(S,!0);E(S),E(x);var w=N(x,2),T=N(M(w),2),ee=M(T,!0);E(T),E(w),E(b);var te=N(b,2);let ne;var re=M(te),ie=M(re),ae=M(ie,!0);E(ie);var oe=N(ie,2),se=e=>{var n=CQ(),r=M(n,!0);E(n),P(()=>z(r,t.provider.last_error)),R(e,n)};B(oe,e=>{t.provider.last_error&&e(se)});var ce=N(oe,2),le=e=>{var n=DQ(),r=M(n);{let e=k(()=>CX(t.provider));_Q(r,()=>`Recent Requests`,()=>F(e))}var i=N(r,2),a=e=>{var n=wQ(),r=N(M(n),2),i=M(r),a=M(i,!0);E(i),E(r),E(n),P((e,t)=>{H(i,1,`provider-status-health-state ${e??``}`,`svelte-nopjmh`),z(a,t)},[()=>SX(t.provider),()=>xX(t.provider)]),R(e,n)},o=k(()=>bX(t.provider));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{var n=EQ(),r=N(M(n),2);V(r,21,()=>wX(t.provider),e=>e.model,(e,t)=>{var n=TQ();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P((e,i)=>{r=H(n,1,`provider-status-health-model svelte-nopjmh`,null,r,{"is-flagged":F(t).flagged}),U(n,`title`,e),z(a,F(t).model),z(s,i)},[()=>EX(F(t)),()=>TX(F(t))]),R(e,n)}),E(r),E(n),R(e,n)},l=k(()=>wX(t.provider).length>0);B(s,e=>{F(l)&&e(c)}),E(n),R(e,n)},ue=k(()=>yX(t.provider));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=M(de);V(fe,17,()=>F(i),([e,t])=>e,(e,t)=>{var n=k(()=>v(F(t),2));_Q(e,()=>F(n)[0],()=>F(n)[1],()=>!0)});var pe=N(fe,2);{let e=k(()=>_X(t.provider));_Q(pe,()=>`Configured Models`,()=>F(e))}var me=N(pe,2);{let e=k(()=>hX(t.provider));_Q(me,()=>`Retry`,()=>F(e))}var he=N(me,2);{let e=k(()=>gX(t.provider));_Q(he,()=>`Circuit Breaker`,()=>F(e))}E(de),E(re),E(te);var ge=N(te,2);let _e;W(M(ge),{name:`chevron-down`,class:`provider-status-card-toggle-icon`}),E(ge),E(a),P((e,r,i,a,o)=>{z(u,t.provider.name),H(_,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),U(_,`title`,r),z(y,t.provider.status_label),z(C,i),U(T,`title`,a),z(ee,o),ne=H(te,1,`provider-status-details svelte-nopjmh`,null,ne,{"is-expanded":F(n),"is-collapsed":!F(n)}),U(te,`aria-hidden`,!F(n)),z(ae,t.provider.status_reason),_e=H(ge,1,`provider-status-card-toggle svelte-nopjmh`,null,_e,{"is-expanded":F(n)}),U(ge,`aria-expanded`,F(n)),U(ge,`aria-label`,(F(n)?`Collapse `:`Expand `)+t.provider.name+` details`),U(ge,`title`,F(n)?`Collapse details`:`Expand details`)},[()=>aX(t.provider.status),()=>vX(t.provider),()=>BL(t.provider.runtime?.discovered_model_count),()=>fX(t.provider,r),()=>dX(t.provider,r)]),I(`click`,ge,()=>vZ.toggleCard(t.provider)),R(e,a),O()}Ur([`click`]);var AQ=L(`

Providers Overview

`),jQ=L(`
`);function MQ(e,t){D(t,!0);let n=k(()=>vZ.status.providers);var r=$r(),i=Cn(r),a=e=>{var t=AQ(),r=M(t),i=N(M(r),2),a=M(i),o=M(a,!0);E(a);var s=N(a,2);let c;E(i),E(r);var l=N(r,2);V(l,21,()=>F(n),e=>e.name,(e,t)=>{kQ(e,{get provider(){return F(t)}})}),E(l),E(t),P((e,t)=>{U(i,`aria-checked`,vZ.detailsExpanded),U(i,`title`,e),z(o,t),c=H(s,1,`provider-status-toggle-track svelte-1kx3uw4`,null,c,{"is-active":vZ.detailsExpanded})},[()=>vZ.detailsToggleLabel(),()=>vZ.detailsToggleLabel()]),I(`click`,i,()=>vZ.toggleDetails()),R(e,t)},o=e=>{var t=jQ();LZ(M(t),{size:18,label:`Loading provider status`}),E(t),R(e,t)};B(i,e=>{F(n).length>0?e(a):vZ.loading&&!vZ.loadedOnce&&e(o,1)}),R(e,r),O()}Ur([`click`]);var NQ=L(`
`);function PQ(e,t){D(t,!0);function n(){iR.fetchUsage(),iR.fetchCacheOverview(``),yZ.fetch(),vZ.fetch(),bZ.fetch(),xZ.fetch()}function r(){iR.fetchUsage(),iR.fetchCacheOverview(``),yZ.fetch()}function i(){r(),xZ.fetch()}Nn(()=>{if(G.refreshTick,LI.page===`overview`)return kr(()=>{n(),CY.start()}),()=>{CY.stop(),vZ.stopPolling()}});var a=NQ(),o=M(a);DY(o,{});var s=N(o,4);xR(M(s),{onchange:i}),E(s);var c=N(s,2);RL(c,{});var l=N(c,2);kZ(l,{});var u=N(l,2);FZ(u,{});var d=N(u,2);UZ(d,{onintervalchange:r});var f=N(d,2);cQ(f,{});var p=N(f,2);gQ(p,{}),MQ(N(p,2),{}),E(a),R(e,a),O()}var FQ=`/admin/live/logs?types=audit,usage`;function IQ(e){let t=FQ,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function LQ(){return{async consumeLiveLogsBody(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.handleLiveLogsFrame(t)}}n+=t.decode(),n.trim()&&this.handleLiveLogsFrame(n)},handleLiveLogsFrame(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` -`))}catch{return}this.applyLiveLogEvent(r)},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLiveInsertAllowed(){return this.auditLog&&this.auditLog.offset===0&&!this.auditSearch&&!this.auditMethod&&!this.auditStatusCode&&!this.auditStream&&!this.customStartDate&&!this.customEndDate},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.findIndex(t=>String(t.id||``).trim()===n||e.request_id&&String(t.request_id||``).trim()===String(e.request_id).trim()),a=i>=0&&r[i]||{};if(t===`audit.detail`){let t={...e,_detail_loaded:!0,_response_partial:!1,bodies_omitted:!1};if(i>=0){let e=this.mergeLiveAuditPatch(a,t);return r.splice(i,1,e),this.auditLog.entries=[...r],this.notifyLiveConversation(e),e}return this.auditLiveInsertAllowed()?(this.auditLog.entries=[this.mergeLiveAuditUsagePatch(t),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1,this.auditLog.entries[0]):void 0}let o=this.liveAuditStateAfter(a._live_state,t),s=this.liveAuditEventFlushed(a._live_state)||this.liveAuditEventFlushed(o),c={...e,_live:!0,_live_state:o,_audit_flushed:s};if(s?c._live_pending=!1:c._live_pending=!0,t===`audit.stream`?c._response_partial=!0:this.liveAuditStateSettled(t)&&(c._response_partial=!1),i>=0){let e=this.mergeLiveAuditPatch(a,c);return r.splice(i,1,e),this.auditLog.entries=[...r],this.fetchExpandedAuditDetailIfReady(e),this.notifyLiveConversation(e),e}if(!this.auditLiveInsertAllowed())return;this.auditLog.entries=[this.mergeLiveAuditUsagePatch(c),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let l=this.auditLog.entries[0];return this.fetchExpandedAuditDetailIfReady(l),this.notifyLiveConversation(l),l},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},notifyLiveConversation(e){e&&typeof this.refreshLiveConversation==`function`&&this.refreshLiveConversation(e)},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries.filter(e=>!(t&&String(e.id||``).trim()===t||n&&String(e.request_id||``).trim()===n)),i=this.auditLog.entries.length-r.length;i>0&&(this.auditLog.entries=r,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-i))},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n<0)return;let r=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(r,e)),this.auditLog.entries=[...this.auditLog.entries]},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)||e.bodies_omitted?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var RQ=class{#e=A(fn({entries:[],total:0,limit:25,offset:0}));get auditLog(){return F(this.#e)}set auditLog(e){j(this.#e,e,!0)}#t=A(fn({entries:[],total:0,limit:50,offset:0}));get usageLog(){return F(this.#t)}set usageLog(e){j(this.#t,e,!0)}#n=A(``);get auditSearch(){return F(this.#n)}set auditSearch(e){j(this.#n,e,!0)}#r=A(``);get auditMethod(){return F(this.#r)}set auditMethod(e){j(this.#r,e,!0)}#i=A(``);get auditStatusCode(){return F(this.#i)}set auditStatusCode(e){j(this.#i,e,!0)}#a=A(``);get auditStream(){return F(this.#a)}set auditStream(e){j(this.#a,e,!0)}#o=A(``);get usageLogSearch(){return F(this.#o)}set usageLogSearch(e){j(this.#o,e,!0)}#s=A(``);get usageFilterModel(){return F(this.#s)}set usageFilterModel(e){j(this.#s,e,!0)}#c=A(``);get usageFilterProvider(){return F(this.#c)}set usageFilterProvider(e){j(this.#c,e,!0)}#l=A(``);get usageFilterLabel(){return F(this.#l)}set usageFilterLabel(e){j(this.#l,e,!0)}#u=A(``);get usageFilterUserPath(){return F(this.#u)}set usageFilterUserPath(e){j(this.#u,e,!0)}#d=A(!1);get usageLogHideCached(){return F(this.#d)}set usageLogHideCached(e){j(this.#d,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;refreshLiveConversation=null;noteLiveTokenUsage=null;get page(){return LI.page}get customStartDate(){return tR.customStartDate}get customEndDate(){return tR.customEndDate}liveLogsEnabled(){return aL.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await aL.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=IQ(this.liveLogsLastSeq),r=G.generation;try{let e=await $I(n,t);if(e.status===401){if(G.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await tL(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(RQ.prototype,LQ());var zQ=new RQ,BQ=null;Fn(()=>{Nn(()=>{let e=G.refreshTick;if(BQ===null){BQ=e;return}e!==BQ&&(BQ=e,kr(()=>{zQ.stopLiveLogs(),zQ.startLiveLogs()}))})});function VQ(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function HQ(){return{entries:[],total:0,limit:50,offset:0}}function UQ(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function WQ({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function GQ(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function KQ(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function qQ(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function JQ(e,t,n){let r=KQ(e,t);return r<=0?``:n?BL(r)+` cached requests hidden`:BL(Number(e&&e.total_requests||0))+` to providers + `+BL(r)+` from cache`}function YQ(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:VL(t.total_input_cost)+` input + `+VL(t.total_output_cost)+` output`}function XQ(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function ZQ(e){return XQ(e)>0}function QQ(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function $Q(e,t){return t===`costs`?VL(QQ(e)):WL(XQ(e))}function e$(e,t){let n=t===`costs`,r=n?Number(QQ(e)):XQ(e);if(!Number.isFinite(r)||r<=0)return null;let i=e&&(n?e.total_cost:e.total_tokens);if(i==null)return null;let a=Number(i);return!Number.isFinite(a)||a<0?null:r/(a+r)*100}function t$(e,t){let n=e$(e,t);return n===null?``:(n<.1?`<0.1`:n.toFixed(1))+`% less`}function n$(e,t){let n=XQ(e);if(n<=0)return``;let r=[BL(n)+` prompt tokens removed by request rewriters before reaching providers`],i=QQ(e);i!=null&&r.push(VL(i)+` saved at the requests' input pricing`);let a=t$(e,t);return a&&r.push(a+` than the same traffic without rewriting (`+(t===`costs`?`cost`:`tokens`)+`)`),r.join(` -`)}function r$(e){return String(e&&e.cost_source||``).trim()}function i$(e){let t=r$(e);return t===`openrouter_credits`||t===`xai_cost_in_usd_ticks`}function a$(e){switch(r$(e)){case`openrouter_credits`:return`Costs from OpenRouter USD-based credits.`;case`xai_cost_in_usd_ticks`:return`Costs from xAI usage.cost_in_usd_ticks.`;default:return``}}function o$(e){return String(e&&e.cache_type||``).trim().toLowerCase()}function s$(e){let t=o$(e);return t===`exact`||t===`semantic`}function c$(e){let t=o$(e);return t===`exact`?`Exact`:t===`semantic`?`Semantic`:`-`}function l$(e,t){let n=t?String(t):``;return s$(e)?n?`Saved by cache — not charged -`+n:`Saved by cache — not charged`:n}function u$(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function d$(e){return Number(e&&e.cached_input_tokens||0)>0}function f$(e){return d$(e)?(u$(e)*100).toFixed(1)+`%`:``}function p$(e){if(!d$(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[BL(t)+` cached / `+BL(i)+` input tokens`];return r>0&&a.push(BL(r)+` cache write`),a.join(` -`)}function m$(e){let t=[];if(a$(e)&&(t.push(a$(e)),t.push(``)),t.push(`Input: `+VL(e.input_cost)),t.push(`Output: `+VL(e.output_cost)),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):BL(r);t.push(e+`: `+i)}}return t.join(` -`)}function h$(e){return Array.isArray(e&&e.labels)?e.labels:[]}function g$(e,t,n){return(e||[]).length>0||t?!0:(n||[]).some(e=>h$(e).length>0)}function _$(e){return e&&typeof e.total_tokens==`number`?e.total_tokens:(e&&e.input_tokens||0)+(e&&e.output_tokens||0)}function v$(e,t){return t?e.total_cost||0:_$(e)}function y$(e,t){return[...e||[]].sort((e,n)=>t?(n.total_cost||0)-(e.total_cost||0):v$(n,t)-v$(e,t))}function b$(e){let t=Array.isArray(e)?e:[];if(t.length===0)return!1;if(t.length!==1)return!0;let n=String(t[0]&&t[0].user_path||``).trim();return n!==``&&n!==`/`}function x$(e){return(e||`chart`)===`chart`||e===`stacked`}function S$(e,t,n){let r=y$(e,n),i=e=>Number(e)||0,a=e=>n?Math.min(i(e.cached_input_cost),i(e.input_cost)):i(e.cached_input_tokens),o=e=>n?i(e.input_cost)-a(e):i(e.uncached_input_tokens)+i(e.cached_input_tokens)+i(e.cache_write_input_tokens)>0?i(e.uncached_input_tokens)+i(e.cache_write_input_tokens):i(e.input_tokens),s=e=>i(n?e.output_cost:e.output_tokens),c=e=>n?0:i(e.local_cached_input_tokens),l=e=>n?0:i(e.local_cached_output_tokens),u=r.slice(0,10),d=r.slice(10),f=u.map(t),p=u.map(o),m=u.map(s),h=u.map(a),g=u.map(c),_=u.map(l);if(d.length>0){f.push(`Other`);let e=e=>d.reduce((t,n)=>t+e(n),0);p.push(e(o)),m.push(e(s)),h.push(e(a)),g.push(e(c)),_.push(e(l))}return{labels:f,inputs:p,outputs:m,prompts:h,localIns:g,localOuts:_}}function C$(e){return Math.max(200,e*32+72)}var q=new class{#e=A(`tokens`);get usageMode(){return F(this.#e)}set usageMode(e){j(this.#e,e,!0)}get usageFilterModel(){return zQ.usageFilterModel}set usageFilterModel(e){zQ.usageFilterModel=e}get usageFilterProvider(){return zQ.usageFilterProvider}set usageFilterProvider(e){zQ.usageFilterProvider=e}get usageFilterLabel(){return zQ.usageFilterLabel}set usageFilterLabel(e){zQ.usageFilterLabel=e}get usageFilterUserPath(){return zQ.usageFilterUserPath}set usageFilterUserPath(e){zQ.usageFilterUserPath=e}#t=A(fn({models:[],providers:[],labels:[]}));get usageFacetOptions(){return F(this.#t)}set usageFacetOptions(e){j(this.#t,e,!0)}#n=A(fn(VQ()));get usageSummary(){return F(this.#n)}set usageSummary(e){j(this.#n,e,!0)}#r=A(fn(VQ()));get usageSummaryAll(){return F(this.#r)}set usageSummaryAll(e){j(this.#r,e,!0)}#i=A(fn([]));get modelUsage(){return F(this.#i)}set modelUsage(e){j(this.#i,e,!0)}#a=A(fn([]));get userPathUsage(){return F(this.#a)}set userPathUsage(e){j(this.#a,e,!0)}#o=A(fn([]));get labelUsage(){return F(this.#o)}set labelUsage(e){j(this.#o,e,!0)}get usageLog(){return zQ.usageLog}set usageLog(e){zQ.usageLog=e}get usageLogSearch(){return zQ.usageLogSearch}set usageLogSearch(e){zQ.usageLogSearch=e}get usageLogHideCached(){return zQ.usageLogHideCached}set usageLogHideCached(e){zQ.usageLogHideCached=e}#s=A(`chart`);get modelUsageView(){return F(this.#s)}set modelUsageView(e){j(this.#s,e,!0)}#c=A(`chart`);get userPathUsageView(){return F(this.#c)}set userPathUsageView(e){j(this.#c,e,!0)}#l=A(`chart`);get labelUsageView(){return F(this.#l)}set labelUsageView(e){j(this.#l,e,!0)}#u=A(!1);get summaryLoading(){return F(this.#u)}set summaryLoading(e){j(this.#u,e,!0)}#d=A(!1);get modelUsageLoading(){return F(this.#d)}set modelUsageLoading(e){j(this.#d,e,!0)}#f=A(!1);get userPathUsageLoading(){return F(this.#f)}set userPathUsageLoading(e){j(this.#f,e,!0)}#p=A(!1);get labelUsageLoading(){return F(this.#p)}set labelUsageLoading(e){j(this.#p,e,!0)}#m=A(!1);get usageLogLoading(){return F(this.#m)}set usageLogLoading(e){j(this.#m,e,!0)}#h={};#g(e){this.#h[e]&&this.#h[e].abort();let t=new AbortController;return this.#h[e]=t,t}#_(e,t){this.#h[e]===t&&(this.#h[e]=null)}filterQueryStr(e){return UQ({model:this.usageFilterModel,provider:this.usageFilterProvider,label:this.usageFilterLabel,user_path:this.usageFilterUserPath},e)}onUsageFilterChanged(){this.fetchUsagePage()}toggleUsageLabelFilter(e){this.usageFilterLabel=this.usageFilterLabel===e?``:e,this.onUsageFilterChanged()}usageLabelChipTitle(e){return this.usageFilterLabel===e?`Clear label filter`:`Filter usage by "`+e+`"`}toggleUsageMode(e){this.usageMode=e,LI.navigate(`usage`,e===`costs`?`costs`:null)}toggleUsageChartView(e,t){e===`model`&&(this.modelUsageView=t),e===`userPath`&&(this.userPathUsageView=t),e===`label`&&(this.labelUsageView=t)}usageFilterModelOptions(){return GQ(this.usageFacetOptions.models,this.usageFilterModel)}usageFilterProviderOptions(){return GQ(this.usageFacetOptions.providers,this.usageFilterProvider)}usageFilterLabelOptions(){return GQ(this.usageFacetOptions.labels,this.usageFilterLabel)}async fetchUsagePage(){await aL.ensureLoaded();let e=[this.fetchUsagePageSummary(),this.fetchUsageFacetOptions(),this.fetchModelUsage(),this.fetchUserPathUsage(),this.fetchLabelUsage(),this.fetchUsageLog(!0)];iR.cacheAnalyticsEnabled()&&e.push(iR.fetchCacheOverview(this.filterQueryStr())),await Promise.all(e)}async fetchUsagePageSummary(){let e=this.#g(`summary`);this.summaryLoading=!0;try{let t=tR.queryStr()+this.filterQueryStr(),[n,r]=await Promise.all([tL(`/admin/usage/summary?`+t+`&cache_mode=uncached`,{label:`usage page summary`,signal:e.signal}),tL(`/admin/usage/summary?`+t+`&cache_mode=all`,{label:`usage page summary (all)`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.usageSummary=VQ(),this.usageSummaryAll=VQ();return}this.usageSummary=n.data&&typeof n.data==`object`?n.data:VQ(),this.usageSummaryAll=r.data&&typeof r.data==`object`?r.data:VQ()}catch(e){if(rL(e))return;console.error(`Failed to fetch usage page summary:`,e),this.usageSummary=VQ(),this.usageSummaryAll=VQ()}finally{this.#_(`summary`,e),this.#h.summary===null&&(this.summaryLoading=!1)}}async fetchUsageFacetOptions(){let e=this.#g(`facets`);try{let t=async(t,n)=>{let r=await tL(t+`?`+tR.queryStr()+this.filterQueryStr(n),{label:`usage facet options`,signal:e.signal});return r.stale?null:r.ok&&Array.isArray(r.data)?r.data:[]},n=t(`/admin/usage/models`,`model`),r=!this.usageFilterModel&&!this.usageFilterProvider,[i,a,o]=await Promise.all([n,r?n:t(`/admin/usage/models`,`provider`),t(`/admin/usage/labels`,`label`)]);if(e.signal.aborted||i===null||a===null||o===null)return;this.usageFacetOptions={models:i.map(e=>e&&e.model).filter(Boolean),providers:a.map(e=>XL(e)).filter(Boolean),labels:o.map(e=>e&&e.label).filter(Boolean)}}catch(e){if(rL(e))return;console.error(`Failed to fetch usage facet options:`,e),this.usageFacetOptions={models:[],providers:[],labels:[]}}finally{this.#_(`facets`,e)}}async#v(e,t,n,r,i){let a=this.#g(e);i(!0);try{let e=await tL(t+`?`+tR.queryStr()+this.filterQueryStr(),{label:n,signal:a.signal});if(e.stale||a.signal.aborted)return;if(!e.ok){r([]);return}r(Array.isArray(e.data)?e.data:[])}catch(e){if(rL(e))return;console.error(`Failed to fetch `+n+`:`,e),r([])}finally{this.#_(e,a),this.#h[e]===null&&i(!1)}}fetchModelUsage(){return this.#v(`modelUsage`,`/admin/usage/models`,`usage models`,e=>this.modelUsage=e,e=>this.modelUsageLoading=e)}fetchUserPathUsage(){return this.#v(`userPathUsage`,`/admin/usage/user-paths`,`usage user paths`,e=>this.userPathUsage=e,e=>this.userPathUsageLoading=e)}fetchLabelUsage(){return this.#v(`labelUsage`,`/admin/usage/labels`,`usage labels`,e=>this.labelUsage=e,e=>this.labelUsageLoading=e)}async fetchUsageLog(e){let t=this.#g(`usageLog`);this.usageLogLoading=!0;try{e&&(this.usageLog.offset=0);let n=tR.queryStr()+this.filterQueryStr();n+=WQ({limit:this.usageLog.limit,offset:this.usageLog.offset,hideCached:this.usageLogHideCached,search:this.usageLogSearch});let r=await tL(`/admin/usage/log?`+n,{label:`usage log`,signal:t.signal});if(r.stale||t.signal.aborted)return;if(!r.ok){this.usageLog=HQ();return}let i=r.data&&typeof r.data==`object`?r.data:HQ();i.entries||=[],this.usageLog=i}catch(e){if(rL(e))return;console.error(`Failed to fetch usage log:`,e),this.usageLog=HQ()}finally{this.#_(`usageLog`,t),this.#h.usageLog===null&&(this.usageLogLoading=!1)}}usageLogNextPage(){this.usageLog.offset+this.usageLog.limit0&&(this.usageLog.offset=Math.max(0,this.usageLog.offset-this.usageLog.limit),this.fetchUsageLog(!1))}};zQ.fetchUsage=()=>{LI.page===`usage`&&q.fetchUsagePage()};var w$=L(`
`);function T$(e,t){D(t,!0);let n=ha(t,`value`,15,``),r=ha(t,`placeholder`,3,``),i=ha(t,`label`,3,``),a=ha(t,`id`,3,void 0),o=ha(t,`oninput`,3,void 0),s=ha(t,`class`,3,``);var c=w$(),l=M(c);W(l,{name:`search`,class:`filter-input-icon`});var u=N(l,2);Qi(u),E(c),P(()=>{H(c,1,`filter-input-wrap ${s()??``}`,`svelte-30xz1k`),U(u,`id`,a()),U(u,`placeholder`,r()),U(u,`aria-label`,i())}),I(`input`,u,function(...e){o()?.apply(this,e)}),sa(u,n),R(e,c),O()}Ur([`input`]);function E$(e,t=300){let n=null,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)};return r.cancel=()=>{clearTimeout(n),n=null},r}var D$=L(``),O$=L(``),k$=L(`
`);function A$(e,t){D(t,!0);let n=E$(()=>q.onUsageFilterChanged());Nn(()=>n.cancel);var r=k$(),i=M(r),a=M(i);a.value=a.__value=``,V(N(a),16,()=>q.usageFilterModelOptions(),e=>e,(e,t)=>{var n=D$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(i);var o=N(i,2),s=M(o);s.value=s.__value=``,V(N(s),16,()=>q.usageFilterProviderOptions(),e=>e,(e,t)=>{var n=D$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(o);var c=N(o,2),l=e=>{var t=O$(),n=M(t);n.value=n.__value=``,V(N(n),16,()=>q.usageFilterLabelOptions(),e=>e,(e,t)=>{var n=D$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(t),I(`change`,t,()=>q.onUsageFilterChanged()),Vi(t,()=>q.usageFilterLabel,e=>q.usageFilterLabel=e),R(e,t)},u=k(()=>q.usageFilterLabelOptions().length>0);B(c,e=>{F(u)&&e(l)}),T$(N(c,2),{class:`usage-page-filters-user-path`,placeholder:`User path /team/alpha`,label:`Filter by user path`,get oninput(){return n},get value(){return q.usageFilterUserPath},set value(e){q.usageFilterUserPath=e}}),E(r),I(`change`,i,()=>q.onUsageFilterChanged()),Vi(i,()=>q.usageFilterModel,e=>q.usageFilterModel=e),I(`change`,o,()=>q.onUsageFilterChanged()),Vi(o,()=>q.usageFilterProvider,e=>q.usageFilterProvider=e),R(e,r),O()}Ur([`change`]);var j$=L(`
Cache Saved
Cache Hits
`,1);function M$(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=j$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t)=>{z(i,e),z(s,t)},[()=>VL(iR.cacheOverview.summary.total_saved_cost),()=>BL(iR.cacheOverview.summary.total_hits)]),R(e,t)},a=k(()=>iR.cacheAnalyticsEnabled());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var N$=L(` `),P$=L(`
Pro Saved
`),F$=L(`
Total Requests
Estimated Cost
`);function I$(e,t){D(t,!0);let n=k(()=>ZQ(q.usageSummary)),r=k(()=>$Q(q.usageSummary,q.usageMode)),i=k(()=>t$(q.usageSummary,q.usageMode));var a=F$(),o=M(a),s=N(M(o),2),c=M(s),l=e=>{LZ(e,{size:18,label:`Loading usage summary`})},u=e=>{var t=Qr();P(e=>z(t,e),[()=>BL(qQ(q.usageSummary,q.usageSummaryAll,q.usageLogHideCached))]),R(e,t)};B(c,e=>{q.summaryLoading?e(l):e(u,-1)}),E(s),E(o);var d=N(o,2),f=N(M(d),2),p=M(f),m=e=>{LZ(e,{size:18,label:`Loading usage summary`})},h=e=>{var t=Qr();P(e=>z(t,e),[()=>VL(q.usageSummary.total_cost)]),R(e,t)};B(p,e=>{q.summaryLoading?e(m):e(h,-1)}),E(f),E(d);var g=N(d,2),_=e=>{var t=P$(),n=N(M(t),2),a=M(n),o=M(a,!0);E(a);var s=N(a,2),c=e=>{var t=N$(),n=M(t,!0);E(t),P(()=>z(n,F(i))),R(e,t)};B(s,e=>{F(i)&&e(c)}),E(n),E(t),P(e=>{U(n,`title`,e),z(o,F(r))},[()=>n$(q.usageSummary,q.usageMode)]),R(e,t)};B(g,e=>{F(n)&&e(_)}),M$(N(g,2),{}),E(a),P((e,t)=>{U(s,`title`,e),U(f,`title`,t)},[()=>JQ(q.usageSummary,q.usageSummaryAll,q.usageLogHideCached),()=>YQ(q.usageSummary)]),R(e,a),O()}function L$(e,t,n,r){let{stacked:i=!1,costs:a=!1,resolve:o=e=>e}=r||{},s=e=>a?`$`+Math.abs(e).toFixed(2):WL(Math.abs(e)),c=e=>a?`$`+Math.abs(e).toFixed(4):Math.abs(e).toLocaleString(),l=e=>e.map(e=>i?Math.abs(e):-Math.abs(e)),u=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:`transparent`,borderWidth:0,borderRadius:4,maxBarThickness:22}),d=e=>(e||[]).some(e=>Math.abs(e)>0),f=[u(a?`Input Cost`:`Input Tokens`,l(n.inputs),o(`var(--token-input)`)),u(a?`Output Cost`:`Output Tokens`,n.outputs,o(`var(--token-output)`))];return d(n.prompts)&&f.push(u(a?`Prompt Cached Cost`:`Prompt Cached`,l(n.prompts),o(`var(--token-prompt)`))),!a&&d(n.localIns)&&f.push(u(`Locally Cached (Input)`,l(n.localIns),o(`var(--token-local)`))),!a&&d(n.localOuts)&&f.push(u(`Locally Cached (Output)`,n.localOuts,o(`var(--token-local)`))),{type:`bar`,data:{labels:t,datasets:f},options:{indexAxis:`y`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:{top:8}},scales:{x:{stacked:!0,beginAtZero:!0,grid:i?{color:e.grid}:{color:t=>t.tick&&t.tick.value===0?e.text:e.grid},border:{display:!1},ticks:{color:e.text,font:tY(),callback:e=>s(e)}},y:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:tY(),autoSkip:!1}}},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:nY(e,{label:e=>e.dataset.label+`: `+c(e.parsed.x),footer:e=>{let t=0;return e.forEach(e=>{t+=Math.abs(Number(e.parsed.x))||0}),`Total: `+c(t)}})}}}}var R$=L(`
`),z$=L(`

`),B$=L(`

`,1),V$=L(`
`),H$=L(`Model Provider`,1),U$=L(`User Path`),W$=L(`Label Requests`,1),G$=L(` `,1),K$=L(` `),q$=L(` `,1),J$=L(` `),Y$=L(`
Input TokensOutput TokensPrompt CachedLocal CachedTotal TokensInput CostOutput CostTotal Cost
`),X$=L(`
`),Z$=L(`
`);function Q$(e,t){D(t,!0);let n=e=>{var n=R$(),r=M(n);let a;var o=N(r,2);let s;var l=N(o,2);let u;E(n),P(()=>{U(n,`aria-label`,F(i).group),a=H(r,1,`chart-view-btn svelte-1kee4g8`,null,a,{active:F(c)===`chart`}),U(r,`aria-pressed`,F(c)===`chart`),U(r,`aria-label`,`Show ${F(i).noun??``} chart`),s=H(o,1,`chart-view-btn svelte-1kee4g8`,null,s,{active:F(c)===`stacked`}),U(o,`aria-pressed`,F(c)===`stacked`),U(o,`aria-label`,`Show ${F(i).noun??``} stacked chart`),u=H(l,1,`chart-view-btn svelte-1kee4g8`,null,u,{active:F(c)===`table`}),U(l,`aria-pressed`,F(c)===`table`),U(l,`aria-label`,`Show ${F(i).noun??``} table`)}),I(`click`,r,()=>q.toggleUsageChartView(t.kind,`chart`)),I(`click`,o,()=>q.toggleUsageChartView(t.kind,`stacked`)),I(`click`,l,()=>q.toggleUsageChartView(t.kind,`table`)),R(e,n)},r={model:{group:`Model usage view`,noun:`model usage`,tokensTitle:`Token Usage by Model`,costsTitle:`Cost by Model`},userPath:{group:`User path usage view`,noun:`user path usage`,tokensTitle:`Usage by User Path`,costsTitle:`Cost by User Path`},label:{group:`Label usage view`,noun:`label usage`,tokensTitle:`Usage by Label`,costsTitle:`Cost by Label`}},i=k(()=>r[t.kind]),a=k(()=>t.kind===`model`?e=>QL(e):t.kind===`userPath`?e=>e.user_path||`/`:e=>e.label);function o(e){return t.kind===`model`?(e.provider_name||e.provider||`-`)+`/`+e.model:t.kind===`userPath`?e.user_path||`/`:e.label}let s=k(()=>t.kind===`model`?q.modelUsage:t.kind===`userPath`?q.userPathUsage:q.labelUsage),c=k(()=>t.kind===`model`?q.modelUsageView:t.kind===`userPath`?q.userPathUsageView:q.labelUsageView),l=k(()=>t.kind===`model`?q.modelUsageLoading:t.kind===`userPath`?q.userPathUsageLoading:q.labelUsageLoading),u=k(()=>q.usageMode===`costs`),d=k(()=>t.kind===`userPath`?b$(F(s)):F(s).length>0),f=k(()=>F(u)?F(i).costsTitle:F(i).tokensTitle),p=k(()=>S$(F(s),F(a),F(u))),m=k(()=>y$(F(s),F(u)));function h(){return x$(F(c))?L$(eY(),F(p).labels,F(p),{stacked:F(c)===`stacked`,costs:F(u),resolve:rY}):null}var g=$r(),_=Cn(g),v=e=>{var r=X$(),a=M(r),s=M(a),u=e=>{fQ(e,{copyId:`label-usage-help-copy`,label:`label usage help`,text:`One request can have multiple labels. Such a request counts once under each of its labels, so label rows can overlap and add up to more than the period totals.`,title:e=>{var t=z$(),n=M(t,!0);E(t),P(()=>z(n,F(f))),R(e,t)},extra:e=>{var t=$r(),n=Cn(t),r=e=>{LZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(n,e=>{F(l)&&e(r)}),R(e,t)},$$slots:{title:!0,extra:!0}})},d=e=>{var t=B$(),n=Cn(t),r=M(n,!0);E(n);var a=N(n,2),o=e=>{LZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(a,e=>{F(l)&&e(o)}),P(()=>z(r,F(f))),R(e,t)};B(s,e=>{t.kind===`label`?e(u):e(d,-1)});var g=N(s,2);n(g),E(a);var _=N(a,2),v=e=>{var t=V$();let n;YJ(M(t),{build:h}),E(t),P(e=>n=Ri(t,``,n,e),[()=>({height:`${C$(F(p).labels.length)??``}px`})]),R(e,t)},y=k(()=>x$(F(c))),b=e=>{var n=Y$(),r=M(n),i=M(r),a=M(i),s=M(a),c=e=>{var t=H$();We(2),R(e,t)},l=e=>{R(e,U$())},u=e=>{var t=W$();We(2),R(e,t)};B(s,e=>{t.kind===`model`?e(c):t.kind===`userPath`?e(l,1):e(u,-1)}),We(8),E(a),E(i);var d=N(i);V(d,21,()=>F(m),e=>o(e),(e,n)=>{var r=J$(),i=M(r),a=e=>{var t=G$(),r=Cn(t),i=M(r,!0);E(r);var a=N(r,2),o=M(a),s=M(o,!0);E(o),E(a),P(e=>{z(i,F(n).model||`-`),z(s,e)},[()=>XL(F(n))||`-`]),R(e,t)},o=e=>{var t=K$(),r=M(t,!0);E(t),P(()=>z(r,F(n).user_path||`/`)),R(e,t)},s=e=>{var t=q$(),r=Cn(t),i=M(r);let a;var o=M(i,!0);E(i),E(r);var s=N(r,2),c=M(s,!0);E(s),P((e,t,r)=>{a=H(i,1,`usage-label-chip`,null,a,{active:q.usageFilterLabel===F(n).label}),Ri(i,`--label-color: ${e??``}`),U(i,`title`,t),z(o,F(n).label),z(c,r)},[()=>oY(F(n).label),()=>q.usageLabelChipTitle(F(n).label),()=>BL(F(n).requests)]),I(`click`,i,()=>q.toggleUsageLabelFilter(F(n).label)),R(e,t)};B(i,e=>{t.kind===`model`?e(a):t.kind===`userPath`?e(o,1):e(s,-1)});var c=N(i),l=M(c,!0);E(c);var u=N(c),d=M(u,!0);E(u);var f=N(u),p=M(f,!0);E(f);var m=N(f),h=M(m,!0);E(m);var g=N(m),_=M(g,!0);E(g);var v=N(g),y=M(v,!0);E(v);var b=N(v),x=M(b,!0);E(b);var S=N(b),C=M(S,!0);E(S),E(r),P((e,t,n,r,i,a,o,s,c,u,g)=>{z(l,e),z(d,t),U(f,`title`,n),z(p,r),U(m,`title`,`${i??``} input + ${a??``} output`),z(h,o),z(_,s),z(y,c),z(x,u),z(C,g)},[()=>BL(F(n).input_tokens),()=>BL(F(n).output_tokens),()=>F(n).cached_input_cost==null?``:`~`+VL(F(n).cached_input_cost)+` at current cached-input pricing`,()=>BL(F(n).cached_input_tokens||0),()=>BL(F(n).local_cached_input_tokens||0),()=>BL(F(n).local_cached_output_tokens||0),()=>BL((F(n).local_cached_input_tokens||0)+(F(n).local_cached_output_tokens||0)),()=>BL(_$(F(n))),()=>VL(F(n).input_cost),()=>VL(F(n).output_cost),()=>VL(F(n).total_cost)]),R(e,r)}),E(d),E(r),E(n),R(e,n)};B(_,e=>{F(y)?e(v):e(b,-1)}),E(r),R(e,r)},y=e=>{var t=Z$();LZ(M(t),{size:20,get label(){return`Loading ${F(i).noun??``}`}}),E(t),R(e,t)};B(_,e=>{F(d)?e(v):F(l)&&e(y,1)}),R(e,g),O()}Ur([`click`]);var $$=L(``);function e1(e,t){D(t,!0);let n=ha(t,`total`,3,0),r=ha(t,`offset`,3,0),i=ha(t,`limit`,3,25);var a=$r(),o=Cn(a),s=e=>{var a=$$(),o=M(a),s=M(o);E(o);var c=N(o,2),l=M(c),u=N(l,2);E(c),E(a),P(e=>{z(s,`Showing ${r()+1}-${e??``} of ${n()??``}`),l.disabled=r()===0,u.disabled=r()+i()>=n()},[()=>Math.min(r()+i(),n())]),I(`click`,l,()=>t.onprev?.()),I(`click`,u,()=>t.onnext?.()),R(e,a)};B(o,e=>{n()>0&&e(s)}),R(e,a),O()}Ur([`click`]);var t1=(e,t=m)=>{var n=$r(),r=Cn(n),i=e=>{var n=r1();V(n,20,()=>h$(t()),e=>e,(e,t)=>{var n=n1();let r;var i=M(n,!0);E(n),P((e,a)=>{r=H(n,1,`usage-label-chip`,null,r,{active:q.usageFilterLabel===t}),Ri(n,`--label-color: ${e??``}`),U(n,`title`,a),z(i,t)},[()=>oY(t),()=>q.usageLabelChipTitle(t)]),I(`click`,n,()=>q.toggleUsageLabelFilter(t)),R(e,n)}),E(n),R(e,n)},a=k(()=>h$(t()).length>0),o=e=>{R(e,i1())};B(r,e=>{F(a)?e(i):e(o,-1)}),R(e,n)},n1=L(``),r1=L(`
`),i1=L(`-`),a1=L(`Labels`),o1=L(`Cost`),s1=L(``),c1=L(` `),l1=L(``),u1=L(` `),d1=L(` `),f1=L(`
TimestampProviderModelUser PathCacheProvider Cache
`),p1=L(`
`),m1=L(`
`),h1=L(`

Request Log

`);function g1(e,t){D(t,!0);let n=k(()=>q.usageMode===`costs`),r=k(()=>g$(q.labelUsage,q.usageFilterLabel,q.usageLog.entries)),i=E$(()=>q.fetchUsageLog(!0));Nn(()=>i.cancel);var a=h1(),o=N(M(a),2),s=M(o);T$(M(s),{placeholder:`Search by request ID, model, provider...`,label:`Search by request ID, model, provider`,get oninput(){return i},get value(){return q.usageLogSearch},set value(e){q.usageLogSearch=e}}),E(s);var c=N(s,2),l=M(c),u=M(l);Qi(u),We(2),E(l),E(c),E(o);var d=N(o,2),f=e=>{var t=f1(),i=M(t),a=M(i),o=M(a),s=N(M(o),4),c=e=>{R(e,a1())};B(s,e=>{F(r)&&e(c)});var l=N(s,3),u=M(l,!0);E(l);var d=N(l),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{R(e,o1())};B(h,e=>{F(n)||e(g)}),E(o),E(a);var _=N(a);V(_,21,()=>q.usageLog.entries,e=>e.id,(e,t)=>{var i=d1();let a;var o=M(i),s=M(o,!0);E(o);var c=N(o),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{var n=s1();t1(M(n),()=>F(t)),E(n),R(e,n)};B(h,e=>{F(r)&&e(g)});var _=N(h),v=M(_,!0);E(_);var y=N(_),b=M(y),x=e=>{var n=c1(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>f$(F(t))]),R(e,n)},S=k(()=>d$(F(t))),C=e=>{R(e,i1())};B(b,e=>{F(S)?e(x):e(C,-1)}),E(y);var w=N(y),T=M(w,!0);E(w);var ee=N(w),te=M(ee,!0);E(ee);var ne=N(ee),re=M(ne),ie=M(re,!0);E(re);var ae=N(re,2),oe=e=>{{let n=k(()=>a$(F(t)));W(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},se=k(()=>F(n)&&i$(F(t)));B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{W(e,{name:`database-zap`,class:`cache-savings-icon`})},ue=k(()=>F(n)&&s$(F(t)));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=e=>{var n=l1();P(()=>U(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(de,e=>{F(n)&&F(t).costs_calculation_caveat&&e(fe)}),E(ne);var pe=N(ne),me=e=>{var n=u1(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{{let n=k(()=>a$(F(t)));W(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},s=k(()=>i$(F(t)));B(a,e=>{F(s)&&e(o)});var c=N(a,2),l=e=>{W(e,{name:`database-zap`,class:`cache-savings-icon`})},u=k(()=>s$(F(t)));B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=e=>{var n=l1();P(()=>U(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(d,e=>{F(t).costs_calculation_caveat&&e(f)}),E(n),P((e,t)=>{U(n,`title`,e),z(i,t)},[()=>l$(F(t),m$(F(t))),()=>VL(F(t).total_cost)]),R(e,n)};B(pe,e=>{F(n)||e(me)}),E(i),P((e,n,r,c,l,d,p,h,g,_,b,x,S)=>{a=H(i,1,`svelte-hg4ill`,null,a,e),U(o,`title`,n),z(s,r),z(u,c),z(f,F(t).model),z(m,F(t).user_path||`-`),z(v,l),U(y,`title`,d),U(w,`title`,p),z(T,h),U(ee,`title`,g),z(te,_),U(ne,`title`,b),U(re,`title`,x),z(ie,S)},[()=>({"usage-log-row-cached":s$(F(t))}),()=>JL(F(t).timestamp),()=>YI.formatTimestamp(F(t).timestamp),()=>XL(F(t))||`-`,()=>c$(F(t)),()=>p$(F(t)),()=>F(n)?BL(F(t).input_tokens)+` tokens`:``,()=>F(n)?VL(F(t).input_cost):BL(F(t).input_tokens),()=>F(n)?BL(F(t).output_tokens)+` tokens`:``,()=>F(n)?VL(F(t).output_cost):BL(F(t).output_tokens),()=>F(n)?l$(F(t),``):``,()=>F(n)?l$(F(t),BL(F(t).total_tokens)+` tokens -`+m$(F(t))):``,()=>F(n)?VL(F(t).total_cost):BL(F(t).total_tokens)]),R(e,i)}),E(_),E(i),E(t),P(()=>{z(u,F(n)?`Input Cost`:`Input`),z(f,F(n)?`Output Cost`:`Output`),z(m,F(n)?`Total Cost`:`Total`)}),R(e,t)},p=e=>{var t=p1();LZ(M(t),{size:20,label:`Loading request log`}),E(t),R(e,t)},m=e=>{var t=m1();BZ(M(t),{}),E(t),R(e,t)};B(d,e=>{q.usageLog.entries.length>0?e(f):q.usageLogLoading?e(p,1):e(m,-1)}),e1(N(d,2),{get total(){return q.usageLog.total},get offset(){return q.usageLog.offset},get limit(){return q.usageLog.limit},onprev:()=>q.usageLogPrevPage(),onnext:()=>q.usageLogNextPage()}),E(a),I(`change`,u,()=>q.fetchUsageLog(!0)),ca(u,()=>q.usageLogHideCached,e=>q.usageLogHideCached=e),R(e,a),O()}Ur([`click`,`change`]);var _1=L(`
`);function v1(e,t){D(t,!0);let n=`usage`;Nn(()=>{G.refreshTick,LI.page===n&&(q.fetchUsagePage(),zQ.ensureLiveLogs())}),Nn(()=>{LI.page===n&&(q.usageMode=LI.sub===`costs`?`costs`:`tokens`)});var r=_1(),i=N(M(r),2),a=M(i);QJ(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return q.usageMode},onchange:e=>q.toggleUsageMode(e)}),xR(N(a,2),{onchange:()=>q.fetchUsagePage()}),E(i);var o=N(i,2);A$(o,{});var s=N(o,2);I$(s,{});var c=N(s,2),l=M(c);Q$(l,{kind:`model`});var u=N(l,2);Q$(u,{kind:`userPath`}),Q$(N(u,2),{kind:`label`}),E(c),g1(N(c,2),{}),E(r),R(e,r),O()}var y1=L(`
`);function b1(e,t){let n=ha(t,`label`,3,`Loading...`),r=ha(t,`class`,3,``);var i=y1(),a=N(M(i),2),o=M(a,!0);E(a),E(i),P(()=>{H(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),z(o,n())}),R(e,i)}var x1=L(``);function S1(e,t){let n=ha(t,`label`,3,``),r=ha(t,`class`,3,``),i=ha(t,`disabled`,3,!1);var a=x1();gi(M(a),()=>t.children??m),E(a),P(()=>{H(a,1,`table-action-btn ${r()??``}`),U(a,`aria-label`,n()),U(a,`title`,n()),a.disabled=i()}),I(`click`,a,function(...e){t.onclick?.apply(this,e)}),R(e,a)}Ur([`click`]);function C1(){return{scope:`user_path`,subject:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function w1(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},label:{label:`Label`,chip:`label`,fieldLabel:`Label`,placeholder:`Mobile-App-iOS`}};return t[e]||t.user_path}function T1(){return[`user_path`,`label`].map(e=>({value:e,label:w1(e).label}))}function E1(e){return String(e&&e.scope||``).trim()||`user_path`}function D1(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function O1(e){return w1(E1(e)).chip}function k1(e){return E1(e)===`label`?`budget-label`:`budget-user-path`}function A1(e){return w1(String(e&&e.scope||``)).fieldLabel}function j1(e){return w1(String(e&&e.scope||``)).placeholder}function M1(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function N1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function P1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function F1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function I1(e){return E1(e)+`:`+D1(e)+`:`+String(e&&e.period_seconds||``)}function L1(e,t){if(!t||!Array.isArray(e))return null;let n=I1(t);return e.find(e=>I1(e)===n)||null}function R1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function z1(e){if(R1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function B1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function V1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function H1(e){let t=Number(e&&e.period_seconds||0);return[D1(e),O1(e),a0(e),F1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}var U1={user_path:0,label:1};function W1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`subject`);return n.sort((e,t)=>{let n=(U1[E1(e)]||0)-(U1[E1(t)]||0),i=D1(e).localeCompare(D1(t)),a=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?a||n||i:n||i||a}),n}function G1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return W1(i?r.filter(e=>H1(e).includes(i)):r.slice(),n)}function K1(e){let t=e||{},n=E1(t),r=String(t.subject||``).trim();if(n===`user_path`){let e=R1(r);if(e)return{payload:null,error:e}}else if(!r)return{payload:null,error:`Label is required.`};let i=Number(t.amount);if(!Number.isFinite(i)||i<=0)return{payload:null,error:`Amount must be greater than 0.`};let a=String(t.period||``).trim(),o=P1(a);return a===`custom`&&(o=Number(t.period_seconds)),!Number.isFinite(o)||o<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{scope:n,subject:n===`user_path`?z1(r):r,period_seconds:Math.trunc(o),amount:i,source:String(t.source||`manual`).trim()||`manual`},error:``}}function q1(e){return{scope:E1(e),subject:D1(e),budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function J1(e){return{scope:E1(e),subject:D1(e),budget_key:{period_seconds:e.period_seconds}}}function Y1(e){return{scope:E1(e),subject:D1(e),period_seconds:e.period_seconds}}function X1(e){return VL(e)}function Z1(e,t){let n=e||{},r=t||{};return`A budget for "`+((D1(n)||D1(r))+` `+a0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+X1(r.amount)+` limit with `+X1(n.amount)+`.`}function Q1(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function $1(e,t){let n=Q1(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function e0(e){return Q1(e&&e.usage_ratio)}function t0(e){return $1(e0(e),!0)}function n0(e){return $1(e&&e.period_ratio,!0)}function r0(e){return $1(e0(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function i0(e){return n0(e).toFixed(1).replace(/\.0$/,``)+`%`}function a0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function o0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function s0(e){return o0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function c0(e){return o0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function l0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function u0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function d0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return u0(t)}}function f0(e){return String(e&&e.source||``).trim()||`manual`}function p0(e){let t=f0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function m0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?VL(Math.abs(t))+` over`:VL(t)+` remaining`:``}var J=new class{#e=A(fn([]));get budgets(){return F(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return F(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`subject`);get sortBy(){return F(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return F(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return F(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return F(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(fn(C1()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return F(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return F(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return F(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return F(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return F(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return F(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return aL.budgetsVisible()}filteredBudgets(){return G1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await aL.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await tL(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=V1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={scope:E1(e),subject:D1(e),period:F1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=C1();this.formOpen=!0}syncPeriodSeconds(){let e=P1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormSubject(e){this.form.subject=this.form.scope===`label`?String(e??``):B1(e)}syncScope(){M1(this.form)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=C1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=K1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=L1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await nL(`/admin/budgets`,`PUT`,q1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=ZI(t,`Unable to save budget.`);return}this.closeForm(),K.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=I1(e);if(this.resettingKey===t)return;let n=D1(e)+` `+a0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await nL(`/admin/budgets/reset-one`,`POST`,Y1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error(ZI(t,`Unable to reset budget.`));return}K.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),K.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=I1(e);if(this.deletingKey===t)return;let n=D1(e)+` `+a0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await nL(`/admin/budgets`,`DELETE`,J1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error(ZI(t,`Unable to delete budget.`));return}this.budgets=V1(t.data),K.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),K.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){vL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await nL(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){vL.error=`Unable to reset budgets.`;return}vL.close(),K.success(`Budgets reset.`),LI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),vL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},h0=L(` Edit`,1),g0=L(` `,1),_0=L(`
Usage
Period
`),v0=L(`
`);function y0(e,t){D(t,!0);let n=ha(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=YI.formatTimestamp(e);return!t||t===`-`?``:t+` `+YI.effectiveTimeZoneLabel()}var i=v0();V(i,21,n,e=>I1(e),(e,t)=>{var n=_0(),i=M(n),a=M(i),o=M(a),s=M(o),c=e=>{W(e,{name:`tag`,class:`budget-scope-icon`})},l=k(()=>E1(F(t))===`label`);B(s,e=>{F(l)&&e(c)});var u=N(s);E(o);var d=N(o,2),f=M(d),p=M(f);{let e=k(()=>l0(F(t)));W(p,{get name(){return F(e)},class:`budget-period-icon`})}var m=N(p,2),h=M(m,!0);E(m),E(f),E(d);var g=N(d,2),_=M(g),v=M(_),y=M(v,!0);E(v),E(_);var b=N(_,2),x=M(b);S1(x,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(F(t)),children:(e,t)=>{var n=h0();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}});var S=N(x,2);{let e=k(()=>J.resettingKey===I1(F(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===I1(F(t)));S1(S,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=g0(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.resettingKey===I1(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var C=N(S,2);{let e=k(()=>J.deletingKey===I1(F(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===I1(F(t)));S1(C,{get label(){return F(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=g0(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.deletingKey===I1(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}E(b),E(g),E(a);var w=N(a,2),T=M(w),ee=M(T),te=N(M(ee),2),ne=M(te,!0);E(te),E(ee);var re=N(ee,2),ie=M(re);let ae;var oe=N(ie,2),se=M(oe),ce=M(se,!0);E(se);var le=N(se,2),ue=M(le,!0);E(le),E(oe);var de=N(oe,2),fe=M(de),pe=M(fe,!0);E(fe);var me=N(fe,2),he=M(me,!0);E(me),E(de),E(re),E(T);var ge=N(T,2),_e=M(ge),ve=N(M(_e),2),ye=M(ve,!0);E(ve),E(_e);var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=M(Ce,!0);E(Ce);var Te=N(Ce,2),Ee=M(Te,!0);E(Te);var De=N(Te,2),Oe=M(De,!0);E(De),E(Se);var ke=N(Se,2),Ae=M(ke),je=M(Ae,!0);E(Ae);var Me=N(Ae,2),Ne=M(Me,!0);E(Me);var Pe=N(Me,2),Fe=M(Pe,!0);E(Pe),E(ke),E(be),E(ge),E(w),E(i),E(n),P((e,t,n,r,i,a,s,c,l,d,p,m,g,_,b,x,S,C,w,T,ee,te,oe,se,le,de,fe,me,ge,_e)=>{H(o,1,`budget-scope-value ${e??``}`,`svelte-1jm56wo`),Ri(o,t),U(o,`title`,n),z(u,` ${r??``}`),H(f,1,`budget-period-label ${i??``}`,`svelte-1jm56wo`),z(h,a),U(v,`title`,s),z(y,c),z(ne,l),U(re,`aria-valuenow`,d),U(re,`aria-label`,p),Ri(re,`--budget-progress: ${m??``}%`),ae=H(ie,1,`budget-bar-fill budget-bar-fill-usage`,null,ae,g),z(ce,_),z(ue,b),z(pe,x),z(he,S),z(ye,C),H(be,1,`budget-bar-track ${w??``}`,`svelte-1jm56wo`),U(be,`aria-valuenow`,T),Ri(be,`--budget-progress: ${ee??``}%`),H(xe,1,`budget-bar-fill budget-bar-fill-period ${te??``}`,`svelte-1jm56wo`),U(Ce,`title`,oe),z(we,se),z(Ee,le),U(De,`title`,de),z(Oe,fe),z(je,me),z(Ne,ge),z(Fe,_e)},[()=>k1(F(t)),()=>E1(F(t))===`label`?`--label-color: `+oY(D1(F(t))):void 0,()=>O1(F(t))+`: `+D1(F(t)),()=>D1(F(t)),()=>o0(F(t)),()=>a0(F(t)),()=>p0(F(t)),()=>f0(F(t)),()=>r0(F(t)),()=>t0(F(t)),()=>`Budget usage: `+VL(F(t).spent)+` of `+VL(F(t).amount)+`, `+m0(F(t)),()=>t0(F(t)),()=>({"budget-bar-fill-danger":e0(F(t))>=1}),()=>VL(F(t).spent)+` of `+VL(F(t).amount),()=>m0(F(t)),()=>VL(F(t).spent)+` of `+VL(F(t).amount),()=>m0(F(t)),()=>i0(F(t)),()=>c0(F(t)),()=>n0(F(t)),()=>n0(F(t)),()=>s0(F(t)),()=>r(F(t).period_start),()=>YI.formatTimestamp(F(t).period_start),()=>d0(F(t)),()=>r(F(t).period_end),()=>YI.formatTimestamp(F(t).period_end),()=>YI.formatTimestamp(F(t).period_start),()=>d0(F(t)),()=>YI.formatTimestamp(F(t).period_end)]),R(e,n)}),E(i),R(e,i),O()}var b0=L(``),x0=L(`
`),S0=L(`

Editing a budget updates its limit only. Use Reset to start a new - budget period.

`),C0=L(``),w0=L(``),T0=L(``),E0=L(` `,1);function D0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!G.dialogOpen&&J.closeForm()}function r(e){J.setFormSubject(e.target.value),e.target.value=J.form.subject}var i=E0(),a=Cn(i);pL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=w0(),i=M(n),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),E(o),dL(N(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);V(d,21,T1,e=>e.value,(e,t)=>{var n=b0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(d),E(u);var f=N(u,2),p=M(f),m=M(p,!0);E(p);var h=N(p,2);Qi(h),E(f);var g=N(f,2),_=N(M(g),2);V(_,21,N1,e=>e.value,(e,t)=>{var n=b0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(_),E(g);var v=N(g,2),y=e=>{var t=x0(),n=N(M(t),2);Qi(n),E(t),P(()=>n.disabled=J.editing),sa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),R(e,t)};B(v,e=>{J.form.period===`custom`&&e(y)});var b=N(v,2),x=N(M(b),2);Qi(x),E(b),E(l);var S=N(l,2),C=e=>{R(e,S0())};B(S,e=>{J.editing&&e(C)});var w=N(S,2),T=e=>{var t=C0(),n=M(t,!0);E(t),P(()=>z(n,J.formError)),R(e,t)};B(w,e=>{J.formError&&e(T)});var ee=N(w,2),te=M(ee),ne=N(te,2),re=M(ne);W(re,{name:`save`,class:`form-action-icon`});var ie=N(re,2),ae=M(ie,!0);E(ie),E(ne),E(ee),E(i),E(n),P((e,t)=>{z(c,J.editing?`Edit Budget`:`Create Budget`),d.disabled=J.editing,z(m,e),U(h,`placeholder`,t),$i(h,J.form.subject),h.disabled=J.editing,U(h,`data-modal-autofocus`,!J.editing||void 0),_.disabled=J.editing,U(x,`data-modal-autofocus`,J.editing||void 0),ne.disabled=J.formSubmitting,z(ae,J.formSubmitting?`Saving...`:`Save Budget`)},[()=>A1(J.form),()=>j1(J.form)]),Hr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),I(`change`,d,()=>J.syncScope()),Vi(d,()=>J.form.scope,e=>J.form.scope=e),I(`input`,h,r),I(`change`,_,()=>J.syncPeriodSeconds()),Vi(_,()=>J.form.period,e=>J.form.period=e),sa(x,()=>J.form.amount,e=>J.form.amount=e),I(`click`,te,()=>J.closeForm()),R(e,n)},$$slots:{default:!0}}),pL(N(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=T0(),r=M(n);dL(N(M(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=N(c,2),u=M(l);W(u,{name:`save`,class:`form-action-icon`});var d=N(u,2),f=M(d,!0);E(d),E(l),E(s),E(i),E(n),P(e=>{z(o,e),l.disabled=J.formSubmitting,z(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>Z1(J.overridePendingPayload,J.overrideExistingBudget)]),Hr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),I(`click`,c,()=>J.closeOverrideDialog()),R(e,n)},$$slots:{default:!0}}),R(e,i),O()}Ur([`change`,`input`,`click`]);var O0=L(`

Budgets

`),k0=L(``),A0=L(`
Budget management is unavailable.
`),j0=L(``),M0=L(`
`),N0=L(`

No budgets configured yet.

`),P0=L(`

No budgets match your filter.

`),F0=L(`
`);function I0(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=F0(),i=M(r),a=M(i);fQ(M(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{R(e,O0())},help:e=>{We(),R(e,Qr(`Budgets are evaluated from tracked usage cost records for each user - path subtree. Enforcement runs only when Budget is enabled for the - active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=k0();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=J.formSubmitting),I(`click`,t,()=>J.openForm()),R(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);RL(u,{});var d=N(u,2),f=e=>{R(e,A0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=j0(),n=M(t,!0);E(t),P(()=>z(n,J.error)),R(e,t)};B(m,e=>{J.error&&!G.authError&&e(h)});var g=N(m,2),_=e=>{b1(e,{label:`Loading budgets...`})};B(g,e=>{J.loading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=M0(),n=M(t);T$(M(n),{id:`budget-filter`,placeholder:`Filter by user path, label, or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=N(n,2),i=N(M(r),2),a=M(i);a.value=a.__value=`subject`;var o=N(a);o.value=o.__value=`period`,E(i),E(r),E(t),Vi(i,()=>J.sortBy,e=>J.sortBy=e),R(e,t)};B(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!G.authError&&!J.formOpen&&e(y)});var b=N(v,2);D0(b,{});var x=N(b,2),S=e=>{y0(e,{get budgets(){return F(n)}})};B(x,e=>{F(n).length>0&&J.budgetsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,N0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,P0())},ne=k(()=>J.budgets.length>0&&F(n).length===0&&J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function L0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function R0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function z0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:R0(e).label}))}function B0(e){return String(e&&e.scope||``).trim()||`user_path`}function V0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function H0(e){return R0(B0(e)).chip}function U0(e){return R0(String(e&&e.scope||``)).fieldLabel}function W0(e){return R0(String(e&&e.scope||``)).placeholder}function G0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function K0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function q0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function J0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function Y0(e){let t=String(e&&e.period||``).trim(),n=q0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function X0(e){return B0(e)+`:`+V0(e)+`:`+String(e&&e.period_seconds||`0`)}function Z0(e){return Number(e&&e.period_seconds||0)===0}function Q0(e){return String(e&&e.period_label||``).trim()||J0(Number(e&&e.period_seconds||0))}function $0(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function e2(e){return String(e&&e.source||``)===`config`}function t2(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function n2(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function r2(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[B0(e)]||0)-(i[B0(t)]||0);if(n!==0)return n;let r=V0(e).localeCompare(V0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=V0(e).toLowerCase(),r=H0(e).toLowerCase(),i=Q0(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function i2(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function a2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function o2(e,t){return e?a2(t.scope,t.subject,t.limit_key.period_seconds)!==a2(e.scope,e.subject,e.period_seconds):!1}function s2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:U0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function c2(e,t,n){if(B0(e)!==`model`)return!1;let r=String(V0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function l2(e,t){return B0(e)===`provider`&&String(V0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function u2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function d2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:u2(n),hint:``,items:r.filter(e=>c2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>l2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>B0(e)===`user_path`&&V0(e)===`/`)}),i}function f2(e){return Z0(e)?n2(e.in_flight,e.max_requests):Math.max(n2(e.requests_used,e.max_requests),n2(e.tokens_used,e.max_tokens))}function p2(e){return`--rate-limit-pressure: `+f2(e)+`%`}function m2(e){let t=f2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function h2(e){return(Array.isArray(e)?e:[]).some(e=>B0(e)===`user_path`&&V0(e)===`/`)}function g2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>c2(e,t,n))?`table-action-btn-active`:r.some(e=>l2(e,t))||h2(r)?`rate-limit-gauge-inherited`:``}function _2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>l2(e,t))?`table-action-btn-active`:h2(n)?`rate-limit-gauge-inherited`:``}function v2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function y2(e){if(Z0(e))return t2(e.in_flight)+` of `+t2(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push(t2(e.requests_used)+`/`+t2(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push(t2(e.tokens_used)+`/`+t2(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(fn([]));get rateLimits(){return F(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return F(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return F(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return F(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return F(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return F(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return F(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return F(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return F(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return F(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return F(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return F(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(fn({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return F(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(fn(L0()));get rateLimitForm(){return F(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return aL.rateLimitsVisible()}defaultRateLimitForm(){return L0()}rateLimitScopeMeta(e){return R0(e)}rateLimitScopeOptions(){return z0()}rateLimitScope(e){return B0(e)}rateLimitSubject(e){return V0(e)}rateLimitScopeLabel(e){return H0(e)}rateLimitSubjectFieldLabel(){return U0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return W0(this.rateLimitForm)}syncRateLimitScope(){G0(this.rateLimitForm)}rateLimitPeriodOptions(){return K0()}rateLimitPeriodSeconds(e){return q0(e)}rateLimitPeriodFromSeconds(e){return J0(e)}syncRateLimitPeriodSeconds(){Y0(this.rateLimitForm)}rateLimitKey(e){return X0(e)}rateLimitIsConcurrent(e){return Z0(e)}rateLimitPeriodLabel(e){return Q0(e)}rateLimitSourceLabel(e){return $0(e)}rateLimitIsReadOnly(e){return e2(e)}formatRateLimitNumber(e){return t2(e)}rateLimitUsagePercent(e,t){return n2(e,t)}filteredRateLimits(){return r2(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return i2(e)}async fetchRateLimitsPage(){if(await aL.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await tL(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=i2(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:B0(e),subject:V0(e),period_seconds:t},this.rateLimitForm={scope:B0(e),subject:V0(e),period:J0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=L0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=L0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return a2(e,t,n)}rateLimitIdentityMoved(e){return o2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return s2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await nL(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=ZI(t,`Unable to save rate limit.`);return}if(this.rateLimits=i2(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),K.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await nL(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=i2(t.data),!0):(this.rateLimitFormError=ZI(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=X0(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await nL(`/admin/rate-limits`,`DELETE`,{scope:B0(e),subject:V0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){K.error(ZI(t,`Unable to delete rate limit.`));return}this.rateLimits=i2(t.data),K.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),K.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=X0(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await nL(`/admin/rate-limits/reset-one`,`POST`,{scope:B0(e),subject:V0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){K.error(ZI(t,`Unable to reset rate limit.`));return}this.rateLimits=i2(t.data),K.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),K.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return c2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return l2(e,t)}rateLimitInspectorQualifiedModel(){return u2(this.rateLimitInspector)}rateLimitInspectorSections(){return d2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return f2(e)}rateLimitPressureStyle(e){return p2(e)}rateLimitPressureClass(e){return m2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>g2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>_2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>h2(e))}rateLimitGaugeTitle(e,t){return v2(e,t)}rateLimitInspectorSummary(e){return y2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},b2=L(``),x2=L(`
`),S2=L(`
`),C2=L(`

Scope, subject, and period identify the rule: changing any of them - moves the rule to a new key and restarts its live counters.

`),w2=L(``),T2=L(``);function E2(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitForm()}pL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=T2(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),E(a),dL(N(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=N(i,2),l=M(c),u=N(M(l),2);V(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=b2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(u),E(l);var d=N(l,2),f=M(d),p=M(f,!0);E(f);var m=N(f,2);Qi(m),E(d);var h=N(d,2),g=N(M(h),2);V(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=b2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(g),E(h);var _=N(h,2),v=e=>{var t=x2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),R(e,t)};B(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=N(_,2),b=M(y),x=M(b,!0);E(b);var S=N(b,2);Qi(S),E(y);var C=N(y,2),w=e=>{var t=S2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),R(e,t)};B(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=N(c,4),ee=e=>{R(e,C2())};B(T,e=>{Y.rateLimitEditing&&e(ee)});var te=N(T,2),ne=e=>{var t=w2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitFormError)),R(e,t)};B(te,e=>{Y.rateLimitFormError&&e(ne)});var re=N(te,2),ie=M(re),ae=N(ie,2),oe=M(ae);W(oe,{name:`save`,class:`form-action-icon`});var se=N(oe,2),ce=M(se,!0);E(se),E(ae),E(re),E(r),E(n),P((e,t)=>{z(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),z(p,e),U(m,`placeholder`,t),U(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),$i(m,Y.rateLimitForm.subject),z(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),U(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,z(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Hr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),I(`change`,u,()=>Y.syncRateLimitScope()),Vi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),I(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),I(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Vi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),sa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),I(`click`,ie,()=>Y.closeRateLimitForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var D2=L(` `),O2=L(` Edit`,1),k2=L(` `,1),A2=L(`
In-flight
`),j2=L(`
Requests
`),M2=L(`
Tokens
`),N2=L(`
`),P2=L(`
`);function F2(e,t){D(t,!0);var n=P2();V(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=N2(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=e=>{var n=D2(),r=M(n);{let e=k(()=>Y.rateLimitScope(F(t))===`provider`?`server`:`box`);W(r,{get name(){return F(e)},class:`budget-period-icon`})}var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{U(n,`title`,e),z(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(F(t)),()=>Y.rateLimitScopeLabel(F(t))]),R(e,n)},u=k(()=>Y.rateLimitScope(F(t))!==`user_path`);B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=M(d);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(f,{get name(){return F(e)},class:`budget-period-icon`})}var p=N(f,2),m=M(p,!0);E(p),E(d),E(s);var h=N(s,2),g=M(h),_=M(g),v=M(_,!0);E(_),E(g);var y=N(g,2),b=M(y),x=e=>{S1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(F(t)),children:(e,t)=>{var n=O2();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(b,e=>{F(S)&&e(x)});var C=N(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t)));S1(C,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=k2(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var w=N(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t)));S1(e,{get label(){return F(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(F(t)),get disabled(){return F(r)},children:(e,n)=>{var r=k2(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(w,e=>{F(ee)&&e(T)}),E(y),E(h),E(i);var te=N(i,2),ne=M(te),re=e=>{var n=A2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u),E(l),E(o),E(n),P((e,t,n,r,i,l)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l)},[()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` in flight`]),R(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(F(t)));B(ne,e=>{F(ie)&&e(re)});var ae=N(ne,2),oe=e=>{var n=j2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(F(t).requests_remaining)+` left`]),R(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_requests);B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{var n=M2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(F(t).tokens_remaining)+` left`]),R(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_tokens);B(ce,e=>{F(ue)&&e(le)}),E(te),E(r),E(n),P((e,t,n,r,i)=>{U(a,`title`,e),z(o,t),z(m,n),U(_,`title`,r),z(v,i)},[()=>Y.rateLimitScopeLabel(F(t))+`: `+Y.rateLimitSubject(F(t)),()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n),O()}var I2=L(`

Rate Limits

`),L2=L(``),R2=L(`
Rate limit management is unavailable.
`),z2=L(``),B2=L(`
`),V2=L(`

No rate limits configured yet.

`),H2=L(`

No rate limits match your filter.

`),U2=L(`
`);function W2(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=U2(),i=M(r),a=M(i);fQ(M(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{R(e,I2())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=L2();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Y.rateLimitFormSubmitting),I(`click`,t,()=>Y.openRateLimitForm()),R(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);RL(u,{});var d=N(u,2),f=e=>{R(e,R2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=z2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitError)),R(e,t)};B(m,e=>{Y.rateLimitError&&!G.authError&&e(h)});var g=N(m,2),_=e=>{b1(e,{label:`Loading rate limits...`})};B(g,e=>{Y.rateLimitsLoading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=B2(),n=M(t);T$(M(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),R(e,t)};B(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!G.authError&&!Y.rateLimitFormOpen&&e(y)});var b=N(v,2);E2(b,{});var x=N(b,2),S=e=>{F2(e,{get rules(){return F(n)}})};B(x,e=>{F(n).length>0&&Y.rateLimitsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,V2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,H2())},ne=k(()=>Y.rateLimits.length>0&&F(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function G2(e){return String(e||``).trim().toLowerCase()}function K2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function q2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function J2(e){return q2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function Y2(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function X2(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function Z2(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function Q2(e,t){let n={model:e},r=Z2(t);return r!==null&&(n.weight=r),n}function $2(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(Q2(t,e&&e.weight))}return n}function e4(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function t4(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function n4(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push(t4(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function r4(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+e4(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function i4(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function a4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function o4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function s4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:o4(e.user_paths)?`is-restricted`:`is-enabled`}function c4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function l4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=G2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=K2(e),n=null;for(let t of J2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(G2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of Y2(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:r4(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:i4(e),alias_state_text:a4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function u4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function d4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function f4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function p4(e){let t=String(e||``).trim();return t?t+`/`:``}function m4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function h4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function g4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function _4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function v4(e,t,n,r){let i=p4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=h4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function y4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:d4(e,n),type_label:f4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=d4(o.provider_name,o.provider_type),o.type_label=f4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=v4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:c4(n),item_count_label:m4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:m4(i)}),o}function b4(e,t){let n=_4(t,`/`),r=g4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function x4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||K2(e):``}function S4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,i4(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function C4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function w4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function T4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function E4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function D4(e){return!!(e&&e.override)}function O4(e){return e?`table-action-btn-active`:``}function k4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function A4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,user_paths:``,description:``,enabled:!0}}function j4(e){return String(e&&e.target_model||``).trim()!==``}function M4(e){return String(e&&e.target_model||``).trim()?!0:$2(e&&e.targets).length>0}function N4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function P4(e){return N4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function F4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function I4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:X2(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:X2(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function L4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function R4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=$2(e&&e.targets),o=M4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:L4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(Q2(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function z4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,t.targets=t.strategy===`cost`?n.map(e=>({model:X2(e)})):n.map(e=>Q2(X2(e),e.weight))):n.length===1?t.target_model=X2(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function B4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function V4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:il4({models:IL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:IL.activeCategory}));get displayModels(){return F(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>y4(this.displayModels,IL.models,this.modelOverrideViews));get displayModelGroups(){return F(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>u4(this.displayModels,IL.filter));get filteredDisplayModels(){return F(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!IL.filter&&t>=this.displayModels.length?this.displayModelGroups:y4(e.slice(0,t),IL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return F(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>b4(IL.models,this.modelOverrideViews));get globalScopeRow(){return F(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(IL.loading||this.modelsRendering)}modelLoadingText(){if(IL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=H4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=V4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await tL(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=n4(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return K2(e)}findModelOverrideView(e){return _4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=G2(e);if(!t)return null;for(let e of this.aliases)if(G2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=G2(e);if(!t)return null;for(let e of IL.models)if(J2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&s4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(E4(e)){K.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=z4(t);try{let e=await nL(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:ZI(e,`Failed to update alias state.`));return}K.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),K.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=x4(e);if(!t)return;let{method:n,payload:r,desired:i}=B4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await nL(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:ZI(e,`Failed to update model access.`));return}}K.success(i?`Model enabled.`:`Model disabled.`),Promise.all([IL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),K.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await nL(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){K.error(t.status===401?`Authentication required.`:ZI(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,K.success(e.notice),Promise.all([IL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),K.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){F4(this.vmForm)}vmFormHasPrimaryTarget(){return j4(this.vmForm)}vmFormShowStrategy(){return N4(this.vmForm)}vmFormShowWeights(){return P4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&o4(L4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=A4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=K2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=g4(IL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=I4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` -`),description:e.description||``,enabled:e.enabled!==!1}}openVirtualModelEditModel(e){if(!e||e.is_alias)return;let t=e.access||{},n=t.override||null,r=n&&Array.isArray(n.user_paths)?n.user_paths:Array.isArray(t.user_paths)?t.user_paths:[],i=x4(e);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!n,this.vmFormOriginalSource=i;let a=n?n.enabled!==!1:t.effective_enabled!==!1;this.vmFormDefaultEnabled=t.default_enabled!==!1,this.vmFormEffectiveEnabled=a,this.vmFormManaged=!!(n&&n.managed),this.vmFormDisplayName=e.access_display_name||e.display_name||i||``,this.vmForm={source:i,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:r.join(` -`),description:n&&n.description?n.description:``,enabled:a}}openGlobalModelOverrideEdit(){let e=this.findModelOverrideView(`/`),t=e&&Array.isArray(e.user_paths)?e.user_paths:[],n=g4(IL.models);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!e,this.vmFormOriginalSource=`/`,this.vmFormDefaultEnabled=n,this.vmFormEffectiveEnabled=e?e.enabled!==!1:n,this.vmFormManaged=!!(e&&e.managed),this.vmFormDisplayName=`All providers and models`,this.vmForm={source:`/`,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:t.join(` -`),description:e&&e.description?e.description:``,enabled:e?e.enabled!==!1:n}}openProviderOverrideEdit(e){!e||!e.access||!e.access.selector||this.openVirtualModelEditModel({display_name:e.display_name,access_display_name:`All models in `+e.display_name,provider_name:e.provider_name,provider_type:e.provider_type,access:e.access,override_selector:e.access.selector,is_alias:!1})}async submitVirtualModelForm(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be edited here.`;return}let{payload:e,source:t,isRedirect:n,isRename:r}=R4(this.vmForm,this.vmFormOriginalSource,this.vmFormMode);if(!t){this.vmFormError=`Source is required.`;return}if(this.vmFormError=``,this.vmFormMode!==`edit`){let e=this.findExistingAliasByName(t),r=e?null:this.findModelOverrideView(t);if(e||r){let n=e?`A virtual model named "`+e.name+`" already exists. Saving will update that virtual model. Continue?`:`An access policy for "`+t+`" already exists. Saving will update that virtual model. Continue?`;if(!window.confirm(n)){this.vmFormError=`Choose a different source or edit the existing virtual model.`;return}}else if(n){let e=this.findConcreteModelByName(t);if(e){let t=K2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Creating this alias will mask that model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}else if(r){let e=(this.aliases||[]).find(e=>e&&e.name===t)||null,r=e?null:this.findModelOverrideView(t);if(e||r){this.vmFormError=`A virtual model for "`+t+`" already exists. Choose a different source.`;return}if(n){let e=this.findConcreteModelByName(t);if(e){let t=K2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Renaming to that name will mask the model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}this.vmSubmitting=!0;try{let t=await nL(`/admin/virtual-models`,`PUT`,e,{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:ZI(t,`Failed to save virtual model.`);return}let r=!n&&t.status===204;this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),K.success(n?`Alias saved.`:r?`Model access reset to inherited/default.`:`Model access saved.`),Promise.all([IL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to save virtual model:`,e),this.vmFormError=`Failed to save virtual model.`}finally{this.vmSubmitting=!1}}async deleteVirtualModel(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be removed here.`;return}let e=String(this.vmForm.source||this.vmFormOriginalSource||``).trim();if(!(!e||!this.vmFormHasExisting)&&window.confirm(`Remove the virtual model for "`+e+`"? This reverts to inherited/default behavior.`)){this.vmDeleting=!0,this.vmFormError=``;try{let t=await nL(`/admin/virtual-models`,`DELETE`,{source:e},{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:ZI(t,`Failed to remove virtual model.`);return}}this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),K.success(`Virtual model removed.`),Promise.all([IL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to delete virtual model:`,e),this.vmFormError=`Failed to remove virtual model.`}finally{this.vmDeleting=!1}}}},W4=[{value:`input_per_mtok`,label:`Input $/MTok`,group:`Tokens`},{value:`output_per_mtok`,label:`Output $/MTok`,group:`Tokens`},{value:`cached_input_per_mtok`,label:`Cached input $/MTok`,group:`Tokens`},{value:`cache_write_per_mtok`,label:`Cache write $/MTok`,group:`Tokens`},{value:`reasoning_output_per_mtok`,label:`Reasoning output $/MTok`,group:`Tokens`},{value:`batch_input_per_mtok`,label:`Batch input $/MTok`,group:`Batch`},{value:`batch_output_per_mtok`,label:`Batch output $/MTok`,group:`Batch`},{value:`audio_input_per_mtok`,label:`Audio input $/MTok`,group:`Audio`},{value:`audio_output_per_mtok`,label:`Audio output $/MTok`,group:`Audio`},{value:`per_image`,label:`$/Image`,group:`Image`},{value:`input_per_image`,label:`Input $/Image`,group:`Image`},{value:`per_second_input`,label:`Input $/Second`,group:`Audio/Video`},{value:`per_second_output`,label:`Output $/Second`,group:`Video`},{value:`per_character_input`,label:`$/Character`,group:`Audio`},{value:`per_page`,label:`$/Page`,group:`Utility`},{value:`per_request`,label:`$/Request`,group:`Utility`}];function G4(e){let t=W4.find(t=>t.value===e);return t?t.label:String(e||``).replace(/_/g,` `)}function K4(e){return e&&typeof e==`object`?JSON.parse(JSON.stringify(e)):{}}function q4(e,t){let n=K4(e),r=t&&t.pricing?t.pricing:t;if(!r||typeof r!=`object`)return n;for(let e of W4)r[e.value]!==null&&r[e.value]!==void 0&&(n[e.value]=Number(r[e.value]));return Array.isArray(r.tiers)&&r.tiers.length>0&&(n.tiers=K4(r.tiers)),n}function J4(e){switch(String(e||``).trim()){case`config_yaml`:return`config.yaml`;case`model_registry`:return`Model registry`;default:return e?String(e):`Unknown`}}function Y4(e){let t=e&&e.pricing?e.pricing:{},n=e&&e.pricing_sources&&typeof e.pricing_sources==`object`?e.pricing_sources:{},r={};for(let e of W4)t[e.value]!==null&&t[e.value]!==void 0&&(r[e.value]=J4(n[e.value]||`model_registry`));return r}function X4(e){let t=String(e&&e.selector||``).trim();return t?`Dashboard/API override (`+t+`)`:`Dashboard/API override`}function Z4(e){let t=String(e||``).trim();return t?t+`/`:``}function Q4(e){return String(e&&e.model&&e.model.id||``).trim()}function $4(e){let t=String(e&&e.provider_name||``).trim(),n=Q4(e);return t&&n?t+`/`+n:n}function e3(e){return Q4(e)}function t3(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n&&n.selector||``).trim();e&&t.set(e,n)}return t}function n3(e,t){let n=String(t||``).trim();return n&&t3(e).get(n)||null}function r3(e,t,n){let r=t3(e),i=$4(t),a=e3(t),o=Z4(t&&t.provider_name),s=String(n||``).trim();for(let e of[i,a,o,`/`]){if(!e||e===s)continue;let t=r.get(e);if(t)return t}return null}function i3(e,t,n){let r=e&&e.model&&e.model.metadata?e.model.metadata:null,i=K4(r&&r.pricing),a=Y4(r),o=r3(t,e,n),s=o&&o.pricing?o.pricing:null;if(s){let e=X4(o);for(let t of W4)s[t.value]!==null&&s[t.value]!==void 0&&(i[t.value]=Number(s[t.value]),a[t.value]=e);Array.isArray(s.tiers)&&s.tiers.length>0&&(i.tiers=K4(s.tiers),a.tiers=e)}return{pricing:i,sources:a}}function a3(e,t){let n=e&&e.pricing?e.pricing:{},r=[];for(let e of W4)n[e.value]!==null&&n[e.value]!==void 0&&r.push({id:t(),field:e.value,value:String(n[e.value])});return r}function o3(e,t){let n=new Set;for(let r of Array.isArray(e)?e:[]){if(t&&r.id===t)continue;let e=String(r.field||``).trim();e&&n.add(e)}return n}function s3(e,t){let n=o3(e,t&&t.id);return W4.filter(e=>e.value===(t&&t.field)||!n.has(e.value))}function c3(e,t){let n={},r=new Set;for(let t of Array.isArray(e)?e:[]){let e=String(t.field||``).trim();if(!e)return{error:`Choose a price type for every row.`};if(r.has(e))return{error:`Each price type can only be used once.`};r.add(e);let i=String(t.value||``).trim();if(i===``)return{error:`Enter a value for `+G4(e)+`.`};let a=Number(i);if(!Number.isFinite(a)||a<0)return{error:`Pricing values must be numbers greater than or equal to 0.`};n[e]=a}let i=Array.isArray(t)?t:[];return i.length>0&&(n.tiers=K4(i)),Object.keys(n).length===0?{error:`Add at least one pricing field before saving.`}:{pricing:n}}function l3(e,t,n){let r=e||{},i=t||{},a=n||{},o=q4(r,a);return W4.map(e=>{let t=a[e.value]!==null&&a[e.value]!==void 0,n=r[e.value]!==null&&r[e.value]!==void 0;return{field:e.value,label:e.label,value:o[e.value],source:t?`Form/API value`:n?i[e.value]||`Model registry`:`Unset`}}).filter(e=>e.source!==`Unset`||e.value!==void 0)}var u3=new class{#e=A(!0);get modelPricingOverridesAvailable(){return F(this.#e)}set modelPricingOverridesAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get modelPricingOverrideViews(){return F(this.#t)}set modelPricingOverrideViews(e){j(this.#t,e,!0)}#n=A(``);get modelPricingOverrideError(){return F(this.#n)}set modelPricingOverrideError(e){j(this.#n,e,!0)}#r=A(!1);get modelPricingOverrideFormOpen(){return F(this.#r)}set modelPricingOverrideFormOpen(e){j(this.#r,e,!0)}#i=A(!1);get modelPricingOverrideSubmitting(){return F(this.#i)}set modelPricingOverrideSubmitting(e){j(this.#i,e,!0)}#a=A(!1);get modelPricingOverrideFormHasExistingOverride(){return F(this.#a)}set modelPricingOverrideFormHasExistingOverride(e){j(this.#a,e,!0)}#o=A(``);get modelPricingOverrideFormDisplayName(){return F(this.#o)}set modelPricingOverrideFormDisplayName(e){j(this.#o,e,!0)}#s=A(``);get modelPricingOverrideFormScope(){return F(this.#s)}set modelPricingOverrideFormScope(e){j(this.#s,e,!0)}#c=A(fn([]));get modelPricingOverrideFormScopeOptions(){return F(this.#c)}set modelPricingOverrideFormScopeOptions(e){j(this.#c,e,!0)}#l=A(null);get modelPricingOverrideFormRow(){return F(this.#l)}set modelPricingOverrideFormRow(e){j(this.#l,e,!0)}#u=A(null);get modelPricingOverrideFormBasePricing(){return F(this.#u)}set modelPricingOverrideFormBasePricing(e){j(this.#u,e,!0)}#d=A(null);get modelPricingOverrideFormBasePricingSources(){return F(this.#d)}set modelPricingOverrideFormBasePricingSources(e){j(this.#d,e,!0)}#f=A(fn([]));get modelPricingOverrideFormPreservedTiers(){return F(this.#f)}set modelPricingOverrideFormPreservedTiers(e){j(this.#f,e,!0)}#p=A(fn([]));get modelPricingOverrideRows(){return F(this.#p)}set modelPricingOverrideRows(e){j(this.#p,e,!0)}#m=A(fn({selector:``}));get modelPricingOverrideForm(){return F(this.#m)}set modelPricingOverrideForm(e){j(this.#m,e,!0)}_modelPricingOverrideRowID=0;pricingFieldOptions(){return W4}pricingFieldLabel(e){return G4(e)}async fetchModelPricingOverrides(){this.modelPricingOverrideError=``;try{let e=await tL(`/admin/model-pricing-overrides`,{label:`model pricing overrides`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideViews=[];return}if(e.stale)return;if(this.modelPricingOverridesAvailable=!0,!e.ok){this.modelPricingOverrideViews=[];return}this.modelPricingOverrideViews=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch model pricing overrides:`,e),this.modelPricingOverrideViews=[],this.modelPricingOverrideError=`Unable to load model pricing overrides.`}}findModelPricingOverrideView(e){return n3(this.modelPricingOverrideViews,e)}hasGlobalPricingOverride(){return!!this.findModelPricingOverrideView(`/`)}hasProviderPricingOverride(e){return!!this.findModelPricingOverrideView(Z4(e&&e.provider_name))}hasModelPricingOverride(e){return!!this.findModelPricingOverrideView($4(e))}modelPricingButtonClass(e){return e?`table-action-btn-active`:``}modelPricingButtonLabel(e,t){let n=`Edit `+String(e||`model pricing`);return t?n+` (override exists)`:n}modelRowPricing(e){return i3(e,this.modelPricingOverrideViews).pricing}openGlobalPricingOverrideEdit(){this.openModelPricingOverrideForm({displayName:`All providers and models`,selector:`/`,scope:`global`,scopeOptions:[{value:`global`,label:`All providers and models`,selector:`/`}],row:null})}openProviderPricingOverrideEdit(e){let t=Z4(e&&e.provider_name);t&&this.openModelPricingOverrideForm({displayName:`All models in `+(e.display_name||e.provider_name||t),selector:t,scope:`provider`,scopeOptions:[{value:`provider`,label:`Provider`,selector:t}],row:null})}openModelPricingOverrideEdit(e){if(!e||e.is_alias)return;let t=$4(e),n=e3(e),r=[{value:`exact`,label:`This provider and model`,selector:t}];n&&n!==t&&r.push({value:`model`,label:`This model across providers`,selector:n}),this.openModelPricingOverrideForm({displayName:e.display_name||t,selector:t,scope:`exact`,scopeOptions:r,row:e})}openModelPricingOverrideForm(e){let t=e||{};this.modelPricingOverrideFormOpen=!0,this.modelPricingOverrideError=``,this.modelPricingOverrideFormDisplayName=t.displayName||t.selector||`Pricing`,this.modelPricingOverrideFormScope=t.scope||``,this.modelPricingOverrideFormScopeOptions=Array.isArray(t.scopeOptions)?t.scopeOptions:[],this.modelPricingOverrideFormRow=t.row||null,this.modelPricingOverrideForm={selector:t.selector||``},this.loadModelPricingOverrideFormSelector(t.selector||``)}loadModelPricingOverrideFormSelector(e){e=String(e||``).trim();let t=this.findModelPricingOverrideView(e);this.modelPricingOverrideFormHasExistingOverride=!!t,this.modelPricingOverrideRows=a3(t,()=>this.nextModelPricingOverrideRowID()),this.modelPricingOverrideFormPreservedTiers=t&&t.pricing&&Array.isArray(t.pricing.tiers)?K4(t.pricing.tiers):[],this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow();let n=this.modelPricingOverrideFormRow,r=n?i3(n,this.modelPricingOverrideViews,e):{pricing:{},sources:{}};this.modelPricingOverrideFormBasePricing=r.pricing,this.modelPricingOverrideFormBasePricingSources=r.sources}setModelPricingOverrideScope(e){this.modelPricingOverrideFormScope=e;let t=this.modelPricingOverrideFormScopeOptions.find(t=>t.value===e);t&&(this.modelPricingOverrideForm.selector=t.selector,this.loadModelPricingOverrideFormSelector(t.selector))}nextModelPricingOverrideRowID(){return this._modelPricingOverrideRowID=(this._modelPricingOverrideRowID||0)+1,`pricing-row-`+this._modelPricingOverrideRowID}availablePricingFieldOptions(e){return s3(this.modelPricingOverrideRows,e)}addModelPricingOverrideRow(){let e=o3(this.modelPricingOverrideRows),t=W4.find(t=>!e.has(t.value))||W4[0];t&&this.modelPricingOverrideRows.push({id:this.nextModelPricingOverrideRowID(),field:t.value,value:``})}removeModelPricingOverrideRow(e){this.modelPricingOverrideRows=this.modelPricingOverrideRows.filter(t=>t.id!==e.id),this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow()}modelPricingOverridePayload(){return c3(this.modelPricingOverrideRows,this.modelPricingOverrideFormPreservedTiers)}modelPricingOverrideDraftPricing(){let e=this.modelPricingOverridePayload();return e&&e.pricing?e.pricing:{}}modelPricingEffectivePreviewRows(){return l3(this.modelPricingOverrideFormBasePricing,this.modelPricingOverrideFormBasePricingSources,this.modelPricingOverrideDraftPricing())}closeModelPricingOverrideForm(){this.modelPricingOverrideFormOpen=!1,this.modelPricingOverrideSubmitting=!1,this.modelPricingOverrideError=``,this.modelPricingOverrideFormHasExistingOverride=!1,this.modelPricingOverrideFormDisplayName=``,this.modelPricingOverrideFormScope=``,this.modelPricingOverrideFormScopeOptions=[],this.modelPricingOverrideFormRow=null,this.modelPricingOverrideFormBasePricing=null,this.modelPricingOverrideFormBasePricingSources=null,this.modelPricingOverrideFormPreservedTiers=[],this.modelPricingOverrideRows=[],this.modelPricingOverrideForm={selector:``}}async submitModelPricingOverrideForm(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!e){this.modelPricingOverrideError=`Model pricing selector is required.`;return}let t=this.modelPricingOverridePayload();if(t.error){this.modelPricingOverrideError=t.error;return}let n={selector:e,...t};this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let e=await nL(`/admin/model-pricing-overrides`,`PUT`,n,{label:`model pricing override`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(e.stale)return;if(!e.ok){this.modelPricingOverrideError=e.status===401?`Authentication required.`:ZI(e,`Failed to save model pricing.`);return}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),K.success(`Model pricing saved.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to save model pricing override:`,e),this.modelPricingOverrideError=`Failed to save model pricing.`}finally{this.modelPricingOverrideSubmitting=!1}}async deleteModelPricingOverride(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!(!e||!this.modelPricingOverrideFormHasExistingOverride)&&window.confirm(`Remove the model pricing override for "`+e+`"?`)){this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let t=await nL(`/admin/model-pricing-overrides`,`DELETE`,{selector:e},{label:`model pricing override`});if(t.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.modelPricingOverrideError=t.status===401?`Authentication required.`:ZI(t,`Failed to remove model pricing override.`);return}}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),K.success(`Model pricing override removed.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to delete model pricing override:`,e),this.modelPricingOverrideError=`Failed to remove model pricing override.`}finally{this.modelPricingOverrideSubmitting=!1}}}},d3=L(``);function f3(e,t){D(t,!0);var n=d3();let r;var i=N(M(n),2),a=M(i,!0);E(i),E(n),P((e,i,o)=>{r=H(n,1,`alias-toggle`,null,r,e),n.disabled=U4.rowTogglingKey===t.row.key||!U4.virtualModelsAvailable,U(n,`aria-label`,i),z(a,o)},[()=>({enabled:U4.rowToggleEnabled(t.row),restricted:U4.rowToggleRestricted(t.row)}),()=>U4.rowToggleAriaLabel(t.row),()=>U4.rowToggleLabel(t.row)]),I(`click`,n,()=>U4.toggleRowEnabled(t.row)),R(e,n),O()}Ur([`click`]);var p3=L(`
`);function m3(e,t){D(t,!0);var n=p3(),r=M(n),i=e=>{f3(e,{get row(){return U4.globalScopeRow}})};B(r,e=>{U4.virtualModelsAvailable&&e(i)});var a=N(r,2),o=e=>{{let t=k(()=>u3.modelPricingButtonLabel(`global model pricing`,u3.hasGlobalPricingOverride())),n=k(()=>u3.modelPricingButtonClass(u3.hasGlobalPricingOverride()));S1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>u3.openGlobalPricingOverrideEdit(),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(a,e=>{u3.modelPricingOverridesAvailable&&e(o)});var s=N(a,2),c=e=>{{let t=k(()=>k4(`global model access`,U4.hasGlobalModelOverride())),n=k(()=>O4(U4.hasGlobalModelOverride()));S1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>U4.openGlobalModelOverrideEdit(),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{U4.virtualModelsAvailable&&e(c)}),E(n),R(e,n),O()}function h3(e){return String(e&&(e.primary_model||e.source)||``).trim()}function g3(e){return Array.isArray(e&&e.fallback_models)?e.fallback_models:Array.isArray(e&&e.targets)?e.targets:[]}function _3(e){return Array.isArray(e)?e.map(e=>({...e,source:h3(e),targets:g3(e)})):[]}function v3(e){let t=g3(e);return t.length===0?`-`:t.join(`, `)}function y3(e){return e&&e.enabled===!1?`Off`:e&&e.managed?`Config`:`On`}function b3(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>h3(e)===n)||null}function x3(e,t){if(!t||t.is_alias)return!1;let n=b3(e,K2(t));return!!(n&&n.enabled!==!1&&g3(n).length>0)}function S3(e,t){return x3(e,t)?`table-action-btn-failover-active`:``}function C3(e,t){let n=`Edit failover for `+(t&&t.display_name?t.display_name:`model`);return x3(e,t)?n+` (active)`:n}function w3(e){let t=[e&&e.target_model];return(Array.isArray(e&&e.targets)?e.targets:[]).forEach(e=>t.push(e&&e.model)),t.map(e=>String(e||``).trim()).filter(Boolean)}function T3(e){let t=Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(Boolean):[];return{target_model:t[0]||``,targets:t.slice(1).map(e=>({model:e}))}}function E3(e){return{primary_model:String(e&&e.source||``).trim(),fallback_models:w3(e),enabled:!(e&&e.enabled===!1)}}function D3(e){return h3(e)}function O3(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=D3(e);n&&(t[n]=!0)}),t}function k3(e,t){let n=D3(t);return!!(n&&e&&e[n])}function A3(e,t){return(Array.isArray(e)?e:[]).filter(e=>k3(t,e))}function j3(e,t){let n=Array.isArray(e)?e:[];return n.length>0&&A3(n,t).length===n.length}function M3(e){return[h3(e),g3(e).join(` `)].join(` `).toLowerCase()}function N3(e,t){let n=Array.isArray(e)?e:[],r=String(t||``).trim().toLowerCase();return r?n.filter(e=>M3(e).includes(r)):n}function P3(e){return{primary_model:h3(e),fallback_models:g3(e).map(e=>String(e||``).trim()).filter(Boolean),enabled:!!(e&&e.enabled!==!1)}}function F3(){return{source:``,target_model:``,targets:[],enabled:!0}}var X=new class{#e=A(!0);get failoverAvailable(){return F(this.#e)}set failoverAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get failoverRules(){return F(this.#t)}set failoverRules(e){j(this.#t,e,!0)}#n=A(!1);get failoverLoading(){return F(this.#n)}set failoverLoading(e){j(this.#n,e,!0)}#r=A(!1);get failoverSaving(){return F(this.#r)}set failoverSaving(e){j(this.#r,e,!0)}#i=A(!1);get failoverGenerating(){return F(this.#i)}set failoverGenerating(e){j(this.#i,e,!0)}#a=A(``);get failoverError(){return F(this.#a)}set failoverError(e){j(this.#a,e,!0)}#o=A(fn([]));get failoverGeneratedRules(){return F(this.#o)}set failoverGeneratedRules(e){j(this.#o,e,!0)}#s=A(!1);get failoverDraftsOpen(){return F(this.#s)}set failoverDraftsOpen(e){j(this.#s,e,!0)}#c=A(fn({}));get failoverDraftSelections(){return F(this.#c)}set failoverDraftSelections(e){j(this.#c,e,!0)}#l=A(``);get failoverDraftFilter(){return F(this.#l)}set failoverDraftFilter(e){j(this.#l,e,!0)}#u=A(!1);get failoverDraftSaving(){return F(this.#u)}set failoverDraftSaving(e){j(this.#u,e,!0)}#d=A(!1);get failoverFormOpen(){return F(this.#d)}set failoverFormOpen(e){j(this.#d,e,!0)}#f=A(`create`);get failoverFormMode(){return F(this.#f)}set failoverFormMode(e){j(this.#f,e,!0)}#p=A(!1);get failoverFormManaged(){return F(this.#p)}set failoverFormManaged(e){j(this.#p,e,!0)}#m=A(fn(F3()));get failoverForm(){return F(this.#m)}set failoverForm(e){j(this.#m,e,!0)}failoverEnabled(){return aL.booleanFlag(`FAILOVER_ENABLED`,!0)}async fetchFailoverRules(){if(!this.failoverEnabled()){this.failoverAvailable=!1,this.failoverRules=[],this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,this.failoverError=``,this.failoverLoading=!1;return}this.failoverLoading=!0,this.failoverError=``;try{let e=await tL(`/admin/failover`,{label:`failover mappings`});if(e.status===503){this.failoverAvailable=!1,this.failoverRules=[];return}if(e.stale)return;if(this.failoverAvailable=!0,!e.ok){this.failoverRules=[];return}this.failoverRules=_3(e.data)}catch(e){console.error(`Failed to fetch failover mappings:`,e),this.failoverRules=[],this.failoverError=`Unable to load failover mappings.`}finally{this.failoverLoading=!1}}resetFailoverForm(){this.failoverFormMode=`create`,this.failoverFormManaged=!1,this.failoverForm=F3()}openFailoverCreate(){this.resetFailoverForm(),this.failoverFormOpen=!0,this.focusFailoverEditor()}openFailoverEdit(e){if(!e)return;this.resetFailoverForm(),this.failoverFormMode=`edit`,this.failoverFormOpen=!0,this.failoverFormManaged=!!e.managed;let t=this.failoverPrimaryModel(e),n=this.failoverTargets(e);this.failoverForm={source:t,target_model:n[0]||``,targets:n.slice(1).map(e=>({model:e})),enabled:e.enabled!==!1},this.focusFailoverEditor()}openFailoverForModel(e){if(!e||e.is_alias)return;let t=this.qualifiedModelName(e),n=this.failoverRules.find(e=>this.failoverPrimaryModel(e)===t);if(n){this.openFailoverEdit(n);return}this.resetFailoverForm(),this.failoverFormMode=`create`,this.failoverFormOpen=!0,this.failoverForm.source=t,this.focusFailoverEditor()}closeFailoverForm(){this.failoverFormOpen=!1}closeFailoverDraftsModal(){this.failoverDraftSaving||(this.failoverDraftsOpen=!1)}failoverFormTargets(){return w3(this.failoverForm)}setFailoverFormTargets(e){let t=T3(e);this.failoverForm.target_model=t.target_model,this.failoverForm.targets=t.targets}addFailoverTarget(){Array.isArray(this.failoverForm.targets)||(this.failoverForm.targets=[]),this.failoverForm.targets.push({model:``}),this.focusFailoverEditor()}removeFailoverTarget(e){if(!Array.isArray(this.failoverForm.targets)){this.failoverForm.targets=[];return}this.failoverForm.targets.splice(e,1)}removePrimaryFailoverTarget(){let e=Array.isArray(this.failoverForm.targets)?this.failoverForm.targets:[];if(e.length>0){let t=e.shift();this.failoverForm.target_model=t&&t.model?t.model:``,this.failoverForm.targets=e;return}this.failoverForm.target_model=``}failoverRulePayload(){return E3(this.failoverForm)}async submitFailoverForm(){if(this.failoverSaving||this.failoverGenerating||this.failoverFormManaged)return;let e=this.failoverRulePayload();if(!e.primary_model){this.failoverError=`Primary model is required.`;return}if(e.enabled&&e.fallback_models.length===0){this.failoverError=`Add at least one failover target.`;return}this.failoverSaving=!0,this.failoverError=``;try{let t=await nL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to save failover mapping.`;return}K.success(`Failover mapping saved.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to save failover mapping:`,e),this.failoverError=`Failed to save failover mapping.`}finally{this.failoverSaving=!1}}async deleteFailoverRule(e){let t=String(e&&this.failoverPrimaryModel(e)||this.failoverForm.source||``).trim();if(!(!t||this.failoverSaving||this.failoverGenerating)&&confirm(`Remove failover mapping for "`+t+`"?`)){this.failoverSaving=!0,this.failoverError=``;try{let e=await nL(`/admin/failover`,`DELETE`,{primary_model:t},{label:`failover mapping`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mapping.`;return}K.success(`Failover mapping removed.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to remove failover mapping:`,e),this.failoverError=`Failed to remove failover mapping.`}finally{this.failoverSaving=!1}}}async generateFailoverForForm(){if(this.failoverGenerating||this.failoverSaving||this.failoverFormManaged)return;let e=String(this.failoverForm.source||``).trim();if(!e){this.failoverError=`Primary model is required.`;return}this.failoverGenerating=!0,this.failoverError=``;try{let t=await nL(`/admin/failover/generate`,`POST`,{primary_model:e},{label:`failover generation`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to generate failover mapping.`;return}let n=_3(t.data),r=n.find(t=>this.failoverPrimaryModel(t)===e)||n[0]||null,i=this.failoverTargets(r);if(i.length===0){this.failoverError=`No failover suggestions were generated for this model.`;return}this.setFailoverFormTargets(i),K.success(`Generated `+i.length+` fallback model`+(i.length===1?`.`:`s.`)),this.focusFailoverEditor()}catch(e){console.error(`Failed to generate failover mapping:`,e),this.failoverError=`Failed to generate failover mapping.`}finally{this.failoverGenerating=!1}}openFailoverResetDialog(){vL.open({title:`Remove failover models`,titleId:`failoverResetDialogTitle`,inputId:`failover-reset-confirmation`,message:`Remove every dashboard-managed failover mapping. Configuration-managed mappings remain active.`,requiredText:`remove`,confirmLabel:`Remove Failover`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:async()=>{await this.resetFailoverRules(),this.failoverError&&(vL.error=this.failoverError)}})}async resetFailoverRules(){if(!this.failoverSaving){this.failoverSaving=!0,this.failoverError=``;try{let e=await nL(`/admin/failover/reset`,`POST`,void 0,{label:`failover removal`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mappings.`;return}this.failoverRules=_3(e.data),this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,K.success(`Dashboard-managed failover mappings removed.`),vL.close()}catch(e){console.error(`Failed to remove failover mappings:`,e),this.failoverError=`Failed to remove failover mappings.`}finally{this.failoverSaving=!1}}}async generateFailoverRules(){if(!(this.failoverGenerating||this.failoverDraftSaving)){this.failoverGenerating=!0,this.failoverError=``,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!0;try{let e=await nL(`/admin/failover/generate`,`POST`,void 0,{label:`failover generation`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to generate failover mappings.`;return}this.failoverGeneratedRules=_3(e.data),this.selectAllFailoverDrafts(this.failoverGeneratedRules)}catch(e){console.error(`Failed to generate failover mappings:`,e),this.failoverError=`Failed to generate failover mappings.`}finally{this.failoverGenerating=!1}}}failoverDraftKey(e){return D3(e)}selectAllFailoverDrafts(e){this.failoverDraftSelections=O3(e)}failoverDraftSelected(e){return k3(this.failoverDraftSelections,e)}setFailoverDraftSelected(e,t){let n=this.failoverDraftKey(e);n&&(this.failoverDraftSelections={...this.failoverDraftSelections,[n]:!!t})}selectedFailoverDrafts(){return A3(this.failoverGeneratedRules,this.failoverDraftSelections)}selectedFailoverDraftCount(){return this.selectedFailoverDrafts().length}failoverDraftCountLabel(){return this.selectedFailoverDraftCount()+` / `+this.failoverGeneratedRules.length+` selected`}allFailoverDraftsSelected(){return j3(this.failoverGeneratedRules,this.failoverDraftSelections)}toggleAllFailoverDrafts(){if(!(this.failoverDraftSaving||this.failoverGenerating||this.failoverGeneratedRules.length===0)){if(this.allFailoverDraftsSelected()){this.failoverDraftSelections={};return}this.selectAllFailoverDrafts(this.failoverGeneratedRules)}}failoverDraftSearchText(e){return M3(e)}filteredFailoverDrafts(){return N3(this.failoverGeneratedRules,this.failoverDraftFilter)}failoverDraftPayload(e){return P3(e)}async saveSelectedFailoverDrafts(){if(this.failoverDraftSaving||this.failoverGenerating)return;let e=this.selectedFailoverDrafts();if(e.length===0){this.failoverError=`Select at least one failover draft.`;return}this.failoverDraftSaving=!0,this.failoverError=``;try{for(let t of e){let e=this.failoverDraftPayload(t);if(!e.primary_model||e.fallback_models.length===0){this.failoverError=`Generated failover draft is missing model data.`;return}let n=await nL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(n.stale)return;if(!n.ok){this.failoverError=`Failed to save failover mapping.`;return}}K.success(`Saved `+e.length+` failover mapping`+(e.length===1?`.`:`s.`)),this.failoverDraftsOpen=!1,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.fetchFailoverRules()}catch(e){console.error(`Failed to save generated failover mappings:`,e),this.failoverError=`Failed to save failover mappings.`}finally{this.failoverDraftSaving=!1}}focusFailoverEditor(){setTimeout(()=>{let e=document.querySelector(`[data-failover-editor]`),t=e&&e.querySelector?e.querySelector(`[data-modal-autofocus], input:not([disabled]), textarea:not([disabled]), button:not([disabled])`):null;t&&typeof t.focus==`function`&&t.focus({preventScroll:!0})},0)}failoverTargetLabel(e){return v3(e)}failoverPrimaryModel(e){return h3(e)}failoverTargets(e){return g3(e)}findFailoverMapping(e){return b3(this.failoverRules,e)}hasActiveFailoverMapping(e){return x3(this.failoverRules,e)}failoverButtonClass(e){return S3(this.failoverRules,e)}failoverButtonLabel(e){return C3(this.failoverRules,e)}normalizeFailoverRules(e){return _3(e)}failoverRuleStatus(e){return y3(e)}qualifiedModelName(e){return K2(e)}},I3=L(``),L3=L(``),R3=L(`Config`),z3=L(`
Targets
`),B3=L(``),V3=L(`
Redirects to
`),H3=L(` `),U3=L(`
`),W3=L(`
`),G3=L(`
`);function K3(e,t){D(t,!0);let n=k(()=>u3.modelRowPricing(t.row));var r=G3(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=e=>{R(e,I3())};B(l,e=>{t.row.is_alias&&e(u)});var d=N(l,2),f=e=>{R(e,L3())};B(d,e=>{!t.row.is_alias&&t.row.masking_alias&&e(f)});var p=N(d,2),m=e=>{R(e,R3())},h=k(()=>E4(t.row));B(p,e=>{F(h)&&e(m)}),E(o);var g=N(o,2),_=e=>{var n=z3(),r=N(M(n)),i=M(r,!0);E(r),E(n),P(()=>z(i,t.row.secondary_name)),R(e,n)};B(g,e=>{t.row.is_alias&&e(_)});var v=N(g,2),y=e=>{var n=V3(),r=N(M(n)),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=B3();P(e=>{U(n,`aria-label`,U4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),U(n,`title`,U4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),n.disabled=e},[()=>!!U4.rowDeletingKey]),I(`click`,n,()=>U4.removeRedirectRow(t.row)),R(e,n)},s=k(()=>U4.virtualModelsAvailable&&w4(t.row));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>r4(t.row.masking_alias)]),R(e,n)};B(v,e=>{!t.row.is_alias&&t.row.masking_alias&&e(y)}),E(a),E(i);var b=N(i);V(b,17,()=>t.columns,oi,(e,r)=>{var i=H3(),a=M(i,!0);E(i),P(e=>{H(i,1,ji(F(r).class),`svelte-1iynym`),z(a,e)},[()=>F(r).value(t.row,F(n))]),R(e,i)});var x=N(b),S=M(x),C=e=>{var n=U3(),r=M(n);f3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>U4.rowDeletingKey===t.row.key?`Removing alias `+t.row.alias.name:`Remove alias `+t.row.alias.name),r=k(()=>!!U4.rowDeletingKey);S1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>U4.removeAliasRow(t.row),get disabled(){return F(r)},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})}},o=k(()=>U4.virtualModelsAvailable&&C4(t.row));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{{let n=k(()=>`Edit alias `+t.row.alias.name);S1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>U4.openVirtualModelEditAlias(t.row.alias),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{U4.virtualModelsAvailable&&e(c)}),E(n),R(e,n)},w=e=>{var n=W3(),r=M(n);f3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>u3.modelPricingButtonLabel(`model pricing for `+t.row.display_name,u3.hasModelPricingOverride(t.row))),r=k(()=>u3.modelPricingButtonClass(u3.hasModelPricingOverride(t.row)));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>u3.openModelPricingOverrideEdit(t.row),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(i,e=>{u3.modelPricingOverridesAvailable&&e(a)});var o=N(i,2),s=e=>{{let n=k(()=>X.failoverButtonLabel(t.row)),r=k(()=>X.failoverButtonClass(t.row));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>X.openFailoverForModel(t.row),children:(e,t)=>{W(e,{name:`shuffle`,class:`table-icon-svg`})},$$slots:{default:!0}})}},c=k(()=>X.failoverAvailable&&X.failoverEnabled());B(o,e=>{F(c)&&e(s)});var l=N(o,2),u=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(t.row.display_name,Y.rateLimitGaugeClassForModel(t.row))),r=k(()=>Y.rateLimitGaugeClassForModel(t.row));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForModel(t.row),children:(e,t)=>{W(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},d=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitInspectorModelID(t.row));B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{{let n=k(()=>`Edit redirect for `+t.row.display_name);S1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>U4.openVirtualModelEditAlias(t.row.masking_alias),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(f,e=>{U4.virtualModelsAvailable&&t.row.masking_alias&&t.row.masking_alias.name&&e(p)});var m=N(f,2),h=e=>{{let n=k(()=>k4(`model access for `+t.row.display_name,D4(t.row.access))),r=k(()=>O4(D4(t.row.access)));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>U4.openVirtualModelEditModel(t.row),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(m,e=>{U4.virtualModelsAvailable&&!t.row.masking_alias&&e(h)}),E(n),R(e,n)};B(S,e=>{t.row.is_alias?e(C):e(w,-1)}),E(x),E(r),P((e,n)=>{U(r,`id`,e),H(r,1,n,`svelte-1iynym`),z(c,t.row.display_name)},[()=>T4(t.row)||void 0,()=>ji(S4(t.row))]),R(e,r),O()}Ur([`click`]);var q3={headerLines:[`Modes`],value:e=>(e.model?.metadata?.modes??[]).join(`, `)||`-`};function J3(e,t){return{headerLines:e,class:`col-price`,value:t}}var Y3=J3([`Input / Output ($/MTok)`],(e,t)=>HL(t?.input_per_mtok)+` / `+HL(t?.output_per_mtok)),X3={all:[q3,Y3],text_generation:[q3,Y3,J3([`Cached $/MTok`],(e,t)=>HL(t?.cached_input_per_mtok))],embedding:[J3([`Input`,`$/MTok`],(e,t)=>HL(t?.input_per_mtok))],image:[J3([`$/Image`],(e,t)=>UL(t?.per_image))],audio:[J3([`$/Second`],(e,t)=>UL(t?.per_second_input)),J3([`$/Character`],(e,t)=>UL(t?.per_character_input))],video:[J3([`$/Second (In)`],(e,t)=>UL(t?.per_second_input)),J3([`$/Second (Out)`],(e,t)=>UL(t?.per_second_output))],utility:[J3([`$/Page`],(e,t)=>UL(t?.per_page)),J3([`$/Request`],(e,t)=>UL(t?.per_request))]};function Z3(e){return X3[e]||X3.all}function Q3(e){return Z3(e).length+2}var $3=L(`
`),e6=L(` `,1),t6=L(``),n6=L(` `),r6=L(` `),i6=L(`
`),a6=L(`
`),o6=L(`
Model
`);function s6(e,t){D(t,!0);let n=k(()=>IL.activeCategory||`all`),r=k(()=>Z3(F(n))),i=k(()=>Q3(F(n)));var a=o6(),o=M(a),s=M(o),c=M(s),l=N(M(c));V(l,17,()=>F(r),oi,(e,t)=>{var n=t6();V(n,21,()=>F(t).headerLines,oi,(e,t,n)=>{var r=e6(),i=Cn(r),a=e=>{R(e,$3())};B(i,e=>{n>0&&e(a)});var o=N(i,1,!0);P(()=>z(o,F(t))),R(e,r)}),E(n),P(()=>H(n,1,ji(F(t).class),`svelte-1911hy6`)),R(e,n)});var u=N(l);m3(M(u),{}),E(u),E(c),E(s),V(N(s),17,()=>U4.filteredDisplayModelGroups,e=>e.key,(e,t)=>{var n=a6(),a=M(n),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=e=>{var n=n6(),r=M(n,!0);E(n),P(()=>z(r,`(`+F(t).type_label+`)`)),R(e,n)};B(f,e=>{F(t).type_label&&e(p)});var m=N(f,2),h=e=>{var n=r6(),r=M(n,!0);E(n),P(()=>z(r,F(t).item_count_label)),R(e,n)};B(m,e=>{F(t).item_count_label&&e(h)}),E(l);var g=N(l,2),_=e=>{var n=i6(),r=M(n,!0);E(n),P(()=>z(r,F(t).access_summary)),R(e,n)};B(g,e=>{F(t).access_summary&&e(_)}),E(c);var v=N(c,2),y=M(v),b=e=>{f3(e,{get row(){return F(t)}})};B(y,e=>{F(t).access.selector&&e(b)});var x=N(y,2),S=e=>{{let n=k(()=>u3.modelPricingButtonLabel(`provider pricing for `+F(t).display_name,u3.hasProviderPricingOverride(F(t)))),r=k(()=>u3.modelPricingButtonClass(u3.hasProviderPricingOverride(F(t))));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>u3.openProviderPricingOverrideEdit(F(t)),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(x,e=>{u3.modelPricingOverridesAvailable&&F(t).provider_name&&e(S)});var C=N(x,2),w=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(`provider `+F(t).display_name,Y.rateLimitGaugeClassForProvider(F(t)))),r=k(()=>Y.rateLimitGaugeClassForProvider(F(t)));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForProvider(F(t)),children:(e,t)=>{W(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},T=k(()=>Y.rateLimitsEnabled()&&F(t).provider_name);B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{{let n=k(()=>k4(`provider access for `+F(t).display_name,D4(F(t).access))),r=k(()=>O4(D4(F(t).access)));S1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>U4.openProviderOverrideEdit(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ee,e=>{U4.virtualModelsAvailable&&F(t).access.selector&&e(te)}),E(v),E(s),E(o),E(a),V(N(a),17,()=>F(t).rows,e=>e.key,(e,t)=>{K3(e,{get row(){return F(t)},get columns(){return F(r)}})}),E(n),P(()=>{U(o,`colspan`,F(i)),z(d,F(t).display_name)}),R(e,n)}),E(o),E(a),R(e,a),O()}var c6=L(``),l6=L(`
`);function u6(e,t){D(t,!0);let n=ha(t,`model`,15,``),r=ha(t,`weight`,15),i=ha(t,`id`,3,void 0),a=ha(t,`placeholder`,3,`openai/gpt-4o`),o=ha(t,`showRemove`,3,!0);var s=l6(),c=M(s);Qi(c);var l=N(c,2),u=e=>{var t=c6();Qi(t),P(()=>t.disabled=U4.vmFormManaged),sa(t,r),R(e,t)},d=k(()=>U4.vmFormShowWeights());B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{S1(e,{label:`Remove target`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,get onclick(){return t.onremove},get disabled(){return U4.vmFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(f,e=>{o()&&e(p)}),E(s),P(()=>{U(c,`id`,i()),U(c,`placeholder`,a()),c.disabled=U4.vmFormManaged}),sa(c,n),R(e,s),O()}var d6=L(`

`),f6=L(`Add one target to make this a redirect/alias, or two or more to load - balance across them, then pick a strategy: round_robin rotates across targets - (weight biases the share) and cost always routes to the cheapest available - target. Leave Targets empty to make it only an access policy on the Source selector. The selector uses / for all providers and - models, for one provider, or for one model. user_paths is - matched against the effective request user_path: the managed API key user_path when present, otherwise the configured user path request header.`,1),p6=L(`

This virtual model is defined in configuration (config.yaml / VIRTUAL_MODELS) and is read-only here. Edit your configuration to change it.

`),m6=L(``),h6=L(`
`),g6=L(``),_6=L(`Use / to allow every user path. Use a team path to restrict to that - subtree, or an unused path to make the selector unavailable.`,1),v6=L(` `),y6=L(``),b6=L(``),x6=L(``),S6=L(``);function C6(e,t){D(t,!0);let n=U4;pL(e,{get open(){return n.vmFormOpen},onclose:()=>n.closeVirtualModelForm(),children:(e,t)=>{var r=S6(),i=M(r),a=M(i),o=M(a);fQ(o,{copyId:`virtual-model-help-copy`,label:`virtual model help`,get open(){return n.vmFormHelpOpen},set open(e){n.vmFormHelpOpen=e},title:e=>{var t=d6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormDisplayName||n.vmForm.source||`Virtual model`)),R(e,t)},help:e=>{We();var t=f6(),n=N(Cn(t),13);n.textContent=`{provider_name}/`;var r=N(n,2);r.textContent=`{provider_name}/{model}`,We(7),R(e,t)},$$slots:{title:!0,help:!0}}),dL(N(o,2),{label:`Close virtual model editor`,onclick:()=>n.closeVirtualModelForm()}),E(a);var s=N(a,2),c=e=>{R(e,p6())};B(s,e=>{n.vmFormManaged&&e(c)});var l=N(s,2),u=N(M(l),2);Qi(u),E(l);var d=N(l,2);V(d,21,()=>IL.models,e=>K2(e),(e,t)=>{var n=m6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>K2(F(t)),()=>K2(F(t))]),R(e,n)}),E(d);var f=N(d,2),p=N(M(f),2);{let e=k(()=>n.vmFormHasPrimaryTarget());u6(p,{id:`virtual-model-target`,get showRemove(){return F(e)},onremove:()=>n.removePrimaryTarget(),get model(){return n.vmForm.target_model},set model(e){n.vmForm.target_model=e},get weight(){return n.vmForm.target_weight},set weight(e){n.vmForm.target_weight=e}})}var m=N(p,2);V(m,17,()=>n.vmForm.targets,oi,(e,t,r)=>{u6(e,{placeholder:`groq/llama`,onremove:()=>n.removeVmTarget(r),get model(){return F(t).model},set model(e){F(t).model=e},get weight(){return F(t).weight},set weight(e){F(t).weight=e}})});var h=N(m,2),g=M(h);W(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h),E(f);var _=N(f,2),v=e=>{var t=h6(),r=N(M(t),2),i=M(r);i.value=i.__value=`round_robin`;var a=N(i);a.value=a.__value=`cost`,E(r),E(t),P(()=>r.disabled=n.vmFormManaged),Vi(r,()=>n.vmForm.strategy,e=>n.vmForm.strategy=e),R(e,t)},y=k(()=>n.vmFormShowStrategy());B(_,e=>{F(y)&&e(v)});var b=N(_,2),x=M(b);fQ(x,{copyId:`virtual-model-user-paths-help`,label:`user paths help`,get open(){return n.vmFormUserPathsHelpOpen},set open(e){n.vmFormUserPathsHelpOpen=e},title:e=>{R(e,g6())},help:e=>{We();var t=_6();We(2),R(e,t)},$$slots:{title:!0,help:!0}});var S=N(x,2);pt(S),U(S,`placeholder`,`/ -/team/alpha -/non-existing`),E(b);var C=N(b,2),w=N(M(C),2);pt(w),E(C);var T=N(C,2),ee=M(T),te=e=>{var t=v6(),r=M(t,!0);E(t),P(()=>z(r,`Default enabled: `+(n.vmFormDefaultEnabled?`yes`:`no`)+` · Effective now: `+(n.vmFormEffectiveEnabled?`yes`:`no`))),R(e,t)};B(ee,e=>{n.vmFormMode===`edit`&&e(te)});var ne=N(ee,2),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(T);var se=N(T,2),ce=e=>{var t=y6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormError)),R(e,t)};B(se,e=>{n.vmFormError&&e(ce)});var le=N(se,2),ue=M(le),de=N(ue,2),fe=e=>{var t=b6();P(()=>t.disabled=n.vmDeleting||n.vmSubmitting),I(`click`,t,()=>n.deleteVirtualModel()),R(e,t)};B(de,e=>{n.vmFormHasExisting&&!n.vmFormManaged&&e(fe)});var pe=N(de,2),me=e=>{var t=x6(),r=M(t),i=e=>{W(e,{name:`plus`,class:`form-action-icon`})},a=e=>{W(e,{name:`save`,class:`form-action-icon`})};B(r,e=>{n.vmFormMode===`edit`?e(a,-1):e(i)});var o=N(r,2),s=M(o,!0);E(o),E(t),P(()=>{t.disabled=n.vmSubmitting||n.vmDeleting,z(s,n.vmSubmitting?`Saving...`:n.vmFormMode===`edit`?`Save`:`Create`)}),R(e,t)};B(pe,e=>{n.vmFormManaged||e(me)}),E(le),E(i),E(r),P((e,t)=>{u.disabled=n.vmFormSourceLocked||n.vmFormManaged,g.disabled=n.vmFormManaged,S.disabled=n.vmFormManaged,w.disabled=n.vmFormManaged,ie=H(re,1,`alias-toggle`,null,ie,e),U(re,`aria-label`,(n.vmForm.enabled?`Disable`:`Enable`)+` virtual model`),re.disabled=n.vmFormManaged,z(oe,t)},[()=>({enabled:n.vmForm.enabled,restricted:n.vmFormToggleRestricted()}),()=>n.vmFormToggleLabel()]),Hr(`submit`,i,e=>{e.preventDefault(),n.submitVirtualModelForm()}),sa(u,()=>n.vmForm.source,e=>n.vmForm.source=e),I(`click`,g,()=>n.addVmTarget()),sa(S,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),sa(w,()=>n.vmForm.description,e=>n.vmForm.description=e),I(`click`,re,()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}),I(`click`,ue,()=>n.closeVirtualModelForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var w6=L(``),T6=L(`
`),E6=L(`
`),D6=L(`
Tiered pricing exists for this override and will be preserved. Tier editing can be added - without a database migration.
`),O6=L(`
No pricing fields set.
`),k6=L(`
`),A6=L(``),j6=L(``),M6=L(``);function N6(e,t){D(t,!0);let n=u3;pL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=M6(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),dL(N(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);Qi(d),E(u);var f=N(u,2),p=e=>{var t=T6(),r=N(M(t),2);V(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=w6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(r),E(t),I(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Vi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),R(e,t)};B(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=N(l,4);V(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=E6(),a=M(i),o=M(a),s=N(o,2);V(s,21,()=>n.availablePricingFieldOptions(F(t)),e=>e.value,(e,t)=>{var n=w6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).group+` - `+F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(s),E(a);var c=N(a,2),l=M(c),u=N(l,2);Qi(u),E(c);var d=N(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(F(t).field));S1(d,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(F(t)),children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),P(()=>{U(o,`for`,`pricing-type-`+F(t).id),U(s,`id`,`pricing-type-`+F(t).id),U(l,`for`,`pricing-value-`+F(t).id),U(u,`id`,`pricing-value-`+F(t).id)}),Vi(s,()=>F(t).field,e=>F(t).field=e),sa(u,()=>F(t).value,e=>F(t).value=e),R(e,i)}),E(m);var h=N(m,2),g=M(h);W(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=N(h,2),v=e=>{R(e,D6())};B(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=N(_,2),b=N(M(y),2),x=e=>{R(e,O6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);B(b,e=>{F(S)&&e(x)}),V(N(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=k6(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{z(i,F(t).label),z(o,e),z(c,F(t).source)},[()=>F(t).value===null||F(t).value===void 0?`-`:UL(Number(F(t).value))]),R(e,n)}),E(y);var C=N(y,2),w=e=>{var t=A6(),r=M(t,!0);E(t),P(()=>z(r,n.modelPricingOverrideError)),R(e,t)};B(C,e=>{n.modelPricingOverrideError&&e(w)});var T=N(C,2),ee=M(T),te=N(ee,2),ne=e=>{var t=j6();P(()=>t.disabled=n.modelPricingOverrideSubmitting),I(`click`,t,()=>n.deleteModelPricingOverride()),R(e,t)};B(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=N(te,2),ie=M(re);W(ie,{name:`save`,class:`form-action-icon`});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(T),E(i),E(r),P(()=>{z(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,z(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Hr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),sa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),I(`click`,g,()=>n.addModelPricingOverrideRow()),I(`click`,ee,()=>n.closeModelPricingOverrideForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var P6=L(`

This failover mapping is defined in configuration and is read-only here.

`),F6=L(``),I6=L(`
`),L6=L(``),R6=L(``),z6=L(``),B6=L(``);function V6(e,t){D(t,!0),pL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=B6(),r=M(n),i=M(r),a=M(i),o=N(M(a),2),s=M(o,!0);E(o),E(a),dL(N(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=N(i,2),l=e=>{R(e,P6())};B(c,e=>{X.failoverFormManaged&&e(l)});var u=N(c,2);V(u,21,()=>IL.models,oi,(e,t)=>{var n=F6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>K2(F(t)),()=>K2(F(t))]),R(e,n)}),E(u);var d=N(u,2),f=N(M(d),2),p=M(f),m=M(p);Qi(m);var h=N(m,2),g=e=>{S1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),V(N(p,2),17,()=>X.failoverForm.targets,oi,(e,t,n)=>{var r=I6(),i=M(r);Qi(i),S1(N(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),P(()=>i.disabled=X.failoverFormManaged),sa(i,()=>F(t).model,e=>F(t).model=e),R(e,r)}),E(f);var _=N(f,2),v=M(_);W(M(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=N(v,2),b=M(y);W(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=N(b,2),S=M(x,!0);E(x),E(y),E(_),E(d);var C=N(d,2),w=M(C),T=M(w);let ee;var te=N(M(T),2),ne=M(te,!0);E(te),E(T),E(w),E(C);var re=N(C,2),ie=e=>{var t=L6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(re,e=>{X.failoverError&&e(ie)});var ae=N(re,2),oe=M(ae),se=N(oe,2),ce=e=>{var t=R6();P(()=>t.disabled=X.failoverSaving||X.failoverGenerating),I(`click`,t,()=>X.deleteFailoverRule()),R(e,t)};B(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=N(se,2),ue=e=>{var t=z6(),n=M(t);W(n,{name:`save`,class:`form-action-icon`});var r=N(n,2),i=M(r,!0);E(r),E(t),P(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,z(i,X.failoverSaving?`Saving...`:`Save`)}),R(e,t)};B(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),P(e=>{z(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,z(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=H(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,U(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),z(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Hr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),sa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),I(`click`,v,()=>X.addFailoverTarget()),I(`click`,y,()=>X.generateFailoverForForm()),I(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),I(`click`,oe,()=>X.closeFailoverForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var H6=L(` `),U6=L(`
`),W6=L(``),G6=L(`
`),K6=L(`

No failover suggestions were generated.

`),q6=L(`

No failover drafts match the filter.

`),J6=L(``),Y6=L(``);function X6(e,t){D(t,!0),pL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=Y6(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=H6(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>X.failoverDraftCountLabel()]),R(e,t)};B(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),dL(N(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=N(r,2),c=e=>{b1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};B(s,e=>{X.failoverGenerating&&e(c)});var l=N(s,2),u=e=>{var t=U6(),n=M(t);T$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=N(n,2),i=M(r);W(i,{name:`check`,class:`form-action-icon`});var a=N(i,2),o=M(a,!0);E(a),E(r),E(t),P(e=>{r.disabled=X.failoverDraftSaving,z(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),I(`click`,r,()=>X.toggleAllFailoverDrafts()),R(e,t)};B(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=N(l,2),f=e=>{var t=G6();V(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=W6(),r=M(n);Qi(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(i),E(n),P((e,t,n,i)=>{ea(r,e),r.disabled=X.failoverDraftSaving,U(r,`aria-label`,t),z(o,n),z(c,i)},[()=>X.failoverDraftSelected(F(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(F(t)),()=>X.failoverPrimaryModel(F(t)),()=>X.failoverTargetLabel(F(t))]),I(`change`,r,e=>X.setFailoverDraftSelected(F(t),e.currentTarget.checked)),R(e,n)}),E(t),R(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{R(e,K6())};B(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=N(m,2),_=e=>{R(e,q6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=J6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(y,e=>{X.failoverError&&e(b)});var x=N(y,2),S=M(x),C=N(S,2),w=M(C);W(w,{name:`save`,class:`form-action-icon`});var T=N(w,2),ee=M(T,!0);E(T),E(C),E(x),E(n),P(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,z(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),I(`click`,S,()=>X.closeFailoverDraftsModal()),I(`click`,C,()=>X.saveSelectedFailoverDrafts()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`,`change`]);var Z6=L(`
Rate limit management is unavailable.
`),Q6=L(` Add`,1),$6=L(`

`),e8=L(`

No rules.

`),t8=L(` Edit`,1),n8=L(`
`),r8=L(`
`),i8=L(`

`),a8=L(``),o8=L(``);function s8(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitInspector()}pL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=o8(),r=M(n),i=M(r),a=N(M(i),2),o=M(a),s=M(o,!0);E(o),E(a),E(i),dL(N(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=N(r,2),l=e=>{b1(e,{label:`Loading rate limits...`})},u=e=>{R(e,Z6())},d=e=>{var t=$r();V(Cn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=i8(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2);{let e=k(()=>`Add `+F(t).title.toLowerCase());S1(o,{get label(){return F(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(F(t).scope,F(t).subject),children:(e,t)=>{var n=Q6();W(Cn(n),{name:`plus`,class:`table-icon-svg`}),We(2),R(e,n)},$$slots:{default:!0}})}E(r);var s=N(r,2),c=e=>{var n=$6(),r=M(n,!0);E(n),P(()=>z(r,F(t).hint)),R(e,n)};B(s,e=>{F(t).hint&&e(c)});var l=N(s,2),u=e=>{R(e,e8())},d=e=>{var n=r8();V(n,21,()=>F(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=n8(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=M(c);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(l,{get name(){return F(e)},class:`budget-period-icon`})}var u=N(l,2),d=M(u,!0);E(u),E(c),E(s);var f=N(s,2),p=M(f),m=M(p),h=M(m,!0);E(m);var g=N(m,2),_=M(g,!0);E(g),E(p);var v=N(p,2),y=M(v),b=e=>{S1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,F(t)),children:(e,t)=>{var n=t8();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(y,e=>{F(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),P((e,t,r,i,a,s,c,l)=>{H(n,1,`budget-row ${e??``}`),Ri(n,t),U(n,`title`,r),z(o,i),z(d,a),z(h,s),U(g,`title`,c),z(_,l)},[()=>Y.rateLimitPressureClass(F(t)),()=>Y.rateLimitPressureStyle(F(t)),()=>Y.rateLimitPressurePercent(F(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitInspectorSummary(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n)};B(l,e=>{F(t).items.length===0?e(u):e(d,-1)}),E(n),P(()=>z(a,F(t).title)),R(e,n)}),R(e,t)};B(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=N(c,2),p=M(f),m=N(p,2),h=e=>{var t=a8();I(`click`,t,()=>{Y.closeRateLimitInspector(),LI.navigate(`rate-limits`)}),R(e,t)},g=k(()=>Y.rateLimitsEnabled());B(m,e=>{F(g)&&e(h)}),E(f),E(n),P(()=>z(s,Y.rateLimitInspector.title)),I(`click`,p,()=>Y.closeRateLimitInspector()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var c8=L(`
models
`),l8=L(`
Virtual models feature is unavailable.
`),u8=L(`
`),d8=L(``),f8=L(`
`),p8=L(``),m8=L(`
`),h8=L(`

No models registered.

`),g8=L(`

No models in this category.

`),_8=L(`

No models match your filter.

`),v8=L(`
`);function y8(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`models`&&(U4.fetchVirtualModels(),u3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Nn(()=>{let e=U4.filteredDisplayModels.length;return kr(()=>U4.restartModelRendering(e)),()=>U4.stopModelRendering()});let n=k(()=>G.needsAuth);var r=v8(),i=M(r),a=N(M(i),2),o=e=>{var t=c8(),n=M(t),r=M(n,!0);E(n),We(),E(t),P(()=>z(r,IL.filter?U4.filteredDisplayModels.length+` / `+U4.displayModels.length:U4.displayModels.length)),R(e,t)};B(a,e=>{U4.displayModels.length>0&&e(o)}),E(i);var s=N(i,2);RL(s,{});var c=N(s,2),l=e=>{R(e,l8())};B(c,e=>{!U4.virtualModelsAvailable&&!F(n)&&e(l)});var u=N(c,2),d=e=>{var t=u8(),n=M(t,!0);E(t),P(()=>z(n,U4.aliasError)),R(e,t)};B(u,e=>{U4.aliasError&&!F(n)&&e(d)});var f=N(u,2),p=e=>{var t=u8(),n=M(t,!0);E(t),P(()=>z(n,u3.modelPricingOverrideError)),R(e,t)};B(f,e=>{u3.modelPricingOverrideError&&!F(n)&&!u3.modelPricingOverrideFormOpen&&e(p)});var m=N(f,2),h=e=>{var t=f8();V(t,21,()=>IL.categories,e=>e.category,(e,t)=>{var n=d8();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P(()=>{r=H(n,1,`category-tab svelte-scpjps`,null,r,{active:IL.activeCategory===F(t).category}),z(a,F(t).display_name),z(s,F(t).count)}),I(`click`,n,()=>IL.selectCategory(F(t).category)),R(e,n)}),E(t),R(e,t)};B(m,e=>{IL.categories.length>0&&e(h)});var g=N(m,2),_=e=>{var t=m8(),n=M(t);T$(M(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return IL.filter},set value(e){IL.filter=e}}),E(n);var r=N(n,2),i=M(r),a=e=>{var t=p8();W(M(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),I(`click`,t,()=>U4.openVirtualModelCreate()),R(e,t)};B(i,e=>{U4.virtualModelsAvailable&&e(a)}),E(r),E(t),R(e,t)};B(g,e=>{(U4.displayModels.length>0||IL.filter||U4.virtualModelsAvailable)&&e(_)});var v=N(g,2),y=e=>{{let t=k(()=>U4.modelLoadingText());b1(e,{get label(){return F(t)},class:`models-loading-state`})}},b=k(()=>U4.modelsBusy()&&!F(n));B(v,e=>{F(b)&&e(y)});var x=N(v,2);C6(x,{});var S=N(x,2);N6(S,{});var C=N(S,2),w=e=>{s6(e,{})};B(C,e=>{(U4.displayModels.length>0||IL.filter)&&e(w)});var T=N(C,2),ee=e=>{R(e,h8())};B(T,e=>{U4.displayModels.length===0&&!IL.loading&&!F(n)&&!IL.filter&&(IL.activeCategory===`all`||!IL.activeCategory)&&e(ee)});var te=N(T,2),ne=e=>{R(e,g8())};B(te,e=>{U4.displayModels.length===0&&!IL.loading&&!F(n)&&!IL.filter&&IL.activeCategory&&IL.activeCategory!==`all`&&e(ne)});var re=N(te,2),ie=e=>{R(e,_8())};B(re,e=>{U4.displayModels.length>0&&U4.filteredDisplayModels.length===0&&IL.filter&&e(ie)});var ae=N(re,2);s8(ae,{});var oe=N(ae,2);E2(oe,{});var se=N(oe,2);V6(se,{}),X6(N(se,2),{}),E(r),R(e,r),O()}Ur([`click`]);var b8=`draft-workflow-preview`;function x8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function S8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function C8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function w8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function T8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function E8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function D8(e){return{cache:!!T8(e,`cache`,!1),audit:!!T8(e,`audit`,!1),usage:!!T8(e,`usage`,!1),budget:T8(e,`budget`,!0)!==!1,guardrails:!!T8(e,`guardrails`,!1),failover:T8(e,`failover`,!0)!==!1}}function O8(e,t){let n=D8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function k8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...O8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:D8(n).failover}}function A8(e,t){return k8(e,t).failover?`On`:`Off`}function j8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:w8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function M8(e,t){return k8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function N8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function P8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function F8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=P8(e);t&&n.add(t)}),[...n].sort()}function I8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&P8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function L8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function R8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function z8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=R8(e);return n===`global`?`All models`:n}function B8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function V8(e){if(B8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function H8(e){let t=e||x8(),n=String(t.scope_provider||``).trim(),r=V8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function U8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=V8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function W8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=V8(e&&e.scope_user_path),i=U8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function G8(e,t){let n=t||S8(),r=N8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=V8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===V8(n.scope_user_path)}function K8(e,t,n){let r=H8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>G8(e,r))||null}function q8(e){return String(e&&e.scope_type||``).trim()!==`global`}function J8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function Y8(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,N8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function X8(e,t){let n=e||x8(),r=H8(n),i=D8(n.features||{}),a=O8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?j8(n):[];return{id:b8,scope_type:U8(r),scope_display:W8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function Z8({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||x8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=V8(a.scope_user_path),l=D8(a.features||{}),u=O8(l,t),d=K8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=E8(f,`failover`),m=p?T8(f,`failover`,!0)!==!1:null,h=i||S8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&V8(h.scope_user_path)===V8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:w8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function Q8(e,{models:t=[],hydratedScope:n=null}={}){let r=n||S8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!F8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=I8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=B8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var $8=new class{#e=A(fn([]));get workflows(){return F(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return F(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return F(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return F(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(fn(S8()));get hydratedScope(){return F(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(fn([]));get guardrailRefs(){return F(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(fn(x8()));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return aL.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:aL.cacheVisible(),audit:aL.auditVisible(),usage:aL.usageVisible(),budget:aL.budgetsVisible(),guardrails:aL.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return Y8(this.workflows,this.filter)}providerOptions(){return F8(IL.models,this.hydratedScope)}modelOptions(e){return I8(IL.models,e,this.hydratedScope)}activeScopeMatch(){return K8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return X8(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=S8(),this.form=x8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:N8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?D8(e.workflow_payload.features):k8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:w8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):j8(e);this.form={scope_provider:N8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=S8(),this.form=x8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(C8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return Z8({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await tL(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(rL(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=rL(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await tL(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([aL.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=Q8(e,{models:IL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await nL(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=ZI(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}K.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!q8(e))return;let n=z8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await nL(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=ZI(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),K.error(t);return}K.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),K.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function e5(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function t5({resetDelayMs:e=2e3,logPrefix:t}={}){let n=fn({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await e5(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var n5=L(``);function r5(e,t){D(t,!0);let n=ha(t,`workflowID`,3,``),r=t5({logPrefix:`Failed to copy workflow ID:`});Nn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?F(i)+` `+n():F(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=n5();let c;var l=N(M(s),4),u=M(l,!0);E(l);var d=N(l,2);W(M(d),{name:`copy`}),E(d),E(s),P(()=>{c=H(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),U(s,`title`,F(i)),U(s,`aria-label`,F(a)),z(u,n())}),I(`click`,s,o),R(e,s),O()}Ur([`click`]);var i5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=c5(),l=M(c),u=e=>{var t=a5();let r;W(M(t),{get name(){return n()}}),E(t),P(()=>r=H(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":F(i)===`workflow-node-endpoint`})),R(e,t)};B(l,e=>{n()&&e(u)});var d=N(l,2),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var t=o5(),n=M(t,!0);E(t),P(()=>z(n,s())),R(e,t)};B(p,e=>{s()&&e(m)});var h=N(p,2),g=e=>{var t=s5(),n=M(t,!0);E(t),P(()=>z(n,o())),R(e,t)};B(h,e=>{o()&&e(g)}),E(c),P(()=>{H(c,1,`workflow-node ${F(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),z(f,r())}),R(e,c)},a5=L(`
`),o5=L(` `),s5=L(` `),c5=L(`
`),l5=L(`
`,1),u5=L(`
`,1),d5=L(`
`),f5=L(`
Async
`),p5=L(`
`);function m5(e,t){D(t,!0);let n=ha(t,`chart`,19,()=>({}));var r=p5();let i;var a=M(r),o=e=>{r5(e,{get workflowID(){return n().workflowID}})};B(a,e=>{n().workflowID&&e(o)});var s=N(a,2),c=M(s);i5(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=N(c,4);i5(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=N(l,2),d=e=>{var t=l5(),r=Cn(t);i5(N(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),P(()=>H(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(u,e=>{n().showCache&&e(d)});var f=N(u,2),p=e=>{var t=u5();i5(N(Cn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),R(e,t)};B(f,e=>{n().showBudget&&e(p)});var m=N(f,2),h=e=>{var t=u5();i5(N(Cn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),R(e,t)};B(m,e=>{n().showGuardrails&&e(h)});var g=N(m,2),_=N(g,2);i5(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=N(_,2),y=e=>{var t=l5(),r=Cn(t);i5(N(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),P(()=>H(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(v,e=>{n().showFailover&&e(y)});var b=N(v,2);i5(N(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=N(s,2),S=e=>{var t=f5(),r=M(t),i=M(r),a=e=>{i5(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};B(i,e=>{n().showUsage&&e(a)});var o=N(i,2),s=e=>{R(e,d5())};B(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=N(o,2),l=e=>{i5(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};B(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),R(e,t)};B(x,e=>{n().showAsync&&e(S)}),E(r),P(()=>{i=H(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),H(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),H(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),R(e,r),O()}function h5(e){let t=j8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function g5(e,t){return t&&t.provider?t.provider:N8(e&&e.scope)||`AI`}function _5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function v5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function y5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:D8(t)}function b5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function x5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return x5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=x5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:x5(e.error,t+1)):``}function S5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||x5(t.response_body)}function C5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function w5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=b5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=C5(n);if(i)return i;let a=N8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function T5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=b5(e),o=w5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=S5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function E5(e){return!!(e&&e.cacheHit)}function D5(e){return!!(e&&e.failoverTarget)}function O5(e){return!!(e&&e.budgetExceeded)}function k5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function A5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function j5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function M5(e,t,n,r){return e?O5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function N5(e){return O5(e)?`Exceeded`:null}function P5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function F5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function I5(e){return e&&e.failoverTarget?`Redirected`:null}function L5(e){return e&&e.failoverTarget?e.failoverTarget:null}function R5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function z5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function B5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function V5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function H5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function U5(e){return!e||!e.authMethod?null:e.authMethod}function W5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function G5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function K5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function q5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function J5(e,t){return!e||!e._live||G5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function Y5(e,t,n){return!e||!e._live?``:q5(e)?`usage`:J5(e,t)?`audit`:G5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function X5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?D8(i.features):k8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||O5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||D5(t),m=v5(e,i.entry),h=Y5(i.entry,t,a),g=q5(i.entry),_=J5(i.entry,t),v=G5(i.entry,s),y=K5(i.entry,s);return{showBudget:c,budgetNodeClass:M5(c,t,s,h===`budget`),budgetStatusLabel:N5(t),showGuardrails:l,guardrailLabel:l?h5(e):``,showCache:!!i.forceCache||!!a.cache||E5(t),cacheNodeClass:k5(t,h===`cache`),cacheConnClass:A5(t),cacheStatusLabel:j5(t),showFailover:p,failoverNodeClass:p?P5(t):``,failoverConnClass:p?F5(t):``,failoverStatusLabel:p?I5(t):null,failoverTargetLabel:p?L5(t):null,aiLabel:g5(e,t),aiSublabel:_5(e,t),aiConnClass:R5(t),aiNodeClass:z5(t,h===`ai`),responseConnClass:R5(t),responseNodeClass:B5(t,h===`response`),responseNodeSublabel:V5(t),authNodeClass:H5(t,h===`auth`),authNodeSublabel:U5(t),usageNodeClass:W5(u,y,g),auditNodeClass:W5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function Z5(e,t){return X5(e,null,{forceCache:!1},t)}function Q5(e,t,n){return X5(t,T5(e,t),{entry:e,features:y5(e)||(t?k8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var $5=L(`

`),e7=L(`

`),t7=L(`
`),n7=L(`
`),r7=L(`

No guardrails configured for this workflow.

`),i7=L(`

Guardrails

`),a7=L(``),o7=L(`

`);function s7(e,t){D(t,!0);let n=ha(t,`preview`,3,!1),r=k(()=>$8.featureCaps()),i=k(()=>z8(t.workflow)),a=k(()=>M8(t.workflow,F(r))),o=k(()=>Z5(t.workflow,F(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=o7();let l;var u=M(c),d=M(u),f=M(d),p=M(f,!0);E(f);var m=N(f,2),h=M(m,!0);E(m),E(d);var g=N(d,2),_=M(g),v=M(_,!0);E(_),E(g),E(u);var y=N(u,2),b=e=>{var n=$5(),r=M(n,!0);E(n),P(()=>z(r,t.workflow.description)),R(e,n)};B(y,e=>{t.workflow.description&&e(b)});var x=N(y,2),S=e=>{var n=e7(),i=M(n);E(n),P(e=>z(i,`Failover: ${e??``}`),[()=>A8(t.workflow,F(r))]),R(e,n)},C=k(()=>$8.failoverVisible());B(x,e=>{F(C)&&e(S)});var w=N(x,2);m5(w,{get chart(){return F(o)}});var T=N(w,2),ee=e=>{var t=i7(),n=M(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var o=N(n,2),c=e=>{var t=n7();V(t,23,()=>F(a),(e,t)=>F(s)+t,(e,t)=>{var n=t7(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a);E(a),E(n),P(()=>{z(i,F(t).ref),z(o,`step ${F(t).step??``}`)}),R(e,n)}),E(t),R(e,t)},l=e=>{R(e,r7())};B(o,e=>{F(a).length>0?e(c):e(l,-1)}),E(t),P(()=>z(i,F(a).length?F(a).length+` steps`:`None`)),R(e,t)},te=k(()=>aL.guardrailsVisible());B(T,e=>{F(te)&&e(ee)});var ne=N(T,2),re=e=>{var n=a7(),r=M(n),a=M(r),o=M(a,!0);E(a);var s=N(a,2);{let e=k(()=>`Edit workflow `+F(i));S1(s,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$8.openCreate(t.workflow),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=N(r,2),l=M(c),u=M(l);E(l);var d=N(l,2),f=M(d);E(d);var p=N(d,2),m=M(p);E(p),E(c),E(n),P((e,n,r,s)=>{a.disabled=e,U(a,`aria-label`,`Deactivate workflow `+F(i)),U(a,`title`,n),z(o,$8.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),z(u,`version: v${t.workflow.version??``}`),z(f,`created: ${r??``}`),z(m,`hash: ${s??``}`)},[()=>$8.deactivatingID===t.workflow.id||!q8(t.workflow),()=>q8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>YI.formatTimestamp(t.workflow.created_at),()=>J8(t.workflow.workflow_hash)]),I(`click`,a,()=>$8.deactivate(t.workflow)),R(e,n)};B(ne,e=>{n()||e(re)}),E(c),P((e,t)=>{l=H(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),z(p,e),z(h,F(i)),z(v,t)},[()=>L8(t.workflow),()=>R8(t.workflow)]),R(e,c),O()}Ur([`click`]);var c7=L(`

`),l7=L(``),u7=L(``),d7=L(`
`),f7=L(``),p7=L(``),m7=L(``),h7=L(``),g7=L(``),_7=L(``),v7=L(`
No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
`),y7=L(`
`),b7=L(`
`),x7=L(`

No guardrail steps configured yet.

`),S7=L(`

Guardrail Steps

Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

`),C7=L(``);function w7(e,t){D(t,!0);function n(){G.dialogOpen||$8.closeForm()}function r(e){e.preventDefault(),$8.submitForm()}pL(e,{get open(){return $8.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=C7(),a=M(i),o=M(a),s=M(o);fQ(M(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=c7(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>$8.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),R(e,t)},$$slots:{title:!0}}),E(s),dL(N(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=N(o,2),l=e=>{var t=l7(),n=M(t,!0);E(t),P(()=>z(n,$8.formError)),R(e,t)};B(c,e=>{$8.formError&&e(l)});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);p.value=p.__value=``,V(N(p),16,()=>$8.providerOptions(),e=>e,(e,t)=>{var n=u7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(f),E(d);var m=N(d,2),h=e=>{var t=d7(),n=N(M(t),2),r=M(n);r.value=r.__value=``,V(N(r),17,()=>$8.modelOptions($8.form.scope_provider),e=>$8.form.scope_provider+`-`+e,(e,t)=>{var n=u7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t)),i!==(i=F(t))&&(n.value=(n.__value=F(t))??``)}),R(e,n)}),E(n),E(t),Vi(n,()=>$8.form.scope_model,e=>$8.form.scope_model=e),R(e,t)};B(m,e=>{$8.form.scope_provider&&e(h)});var g=N(m,2),_=N(M(g),2);Qi(_),E(g);var v=N(g,2),y=N(M(v),2);Qi(y),E(v),E(u);var b=N(u,8),x=N(M(b),2);pt(x),E(b);var S=N(b,2),C=M(S),w=e=>{var t=f7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.cache,e=>$8.form.features.cache=e),R(e,t)},T=k(()=>aL.cacheVisible());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{var t=p7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.audit,e=>$8.form.features.audit=e),R(e,t)},ne=k(()=>aL.auditVisible());B(ee,e=>{F(ne)&&e(te)});var re=N(ee,2),ie=e=>{var t=m7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.usage,e=>$8.form.features.usage=e),R(e,t)},ae=k(()=>aL.usageVisible());B(re,e=>{F(ae)&&e(ie)});var oe=N(re,2),se=e=>{var t=h7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.budget,e=>$8.form.features.budget=e),R(e,t)},ce=k(()=>aL.budgetsVisible());B(oe,e=>{F(ce)&&e(se)});var le=N(oe,2),ue=e=>{var t=g7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.guardrails,e=>$8.form.features.guardrails=e),R(e,t)},de=k(()=>aL.guardrailsVisible());B(le,e=>{F(de)&&e(ue)});var fe=N(le,2),pe=e=>{var t=_7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>$8.form.features.failover,e=>$8.form.features.failover=e),R(e,t)},me=k(()=>$8.failoverVisible());B(fe,e=>{F(me)&&e(pe)}),E(S);var he=N(S,2),ge=N(M(he),2);{let e=k(()=>$8.preview());s7(ge,{get workflow(){return F(e)},preview:!0})}E(he);var _e=N(he,2),ve=e=>{var t=S7(),n=M(t),r=N(M(n),2);E(n);var i=N(n,2),a=e=>{var t=v7(),n=N(M(t),2);E(t),I(`click`,n,()=>LI.navigate(`guardrails`)),R(e,t)};B(i,e=>{$8.guardrailRefs.length===0&&e(a)});var o=N(i,2),s=e=>{var t=b7();V(t,21,()=>$8.form.guardrails,oi,(e,t,n)=>{var r=y7(),i=M(r),a=M(i);U(a,`for`,`workflow-guardrail-ref-`+n);var o=N(a,2);Qi(o),U(o,`id`,`workflow-guardrail-ref-`+n),U(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=N(i,2),c=M(s);U(c,`for`,`workflow-guardrail-step-`+n);var l=N(c,2);Qi(l),U(l,`id`,`workflow-guardrail-step-`+n),U(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=N(s,2);E(r),sa(o,()=>F(t).ref,e=>F(t).ref=e),sa(l,()=>F(t).step,e=>F(t).step=e),I(`click`,u,()=>$8.removeGuardrailStep(n)),R(e,r)}),E(t),R(e,t)},c=e=>{R(e,x7())};B(o,e=>{$8.form.guardrails.length>0?e(s):e(c,-1)}),E(t),I(`click`,r,()=>$8.addGuardrailStep()),R(e,t)},ye=k(()=>$8.form.features.guardrails&&aL.guardrailsVisible());B(_e,e=>{F(ye)&&e(ve)});var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=e=>{W(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>$8.submitMode()===`create`),Ee=e=>{W(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};B(Ce,e=>{F(Te)?e(we):e(Ee,-1)});var De=N(Ce,2),Oe=M(De,!0);E(De),E(Se),E(be),E(a),E(i),P(e=>{Se.disabled=$8.submitting,z(Oe,e)},[()=>$8.submitting?$8.submittingLabel():$8.submitLabel()]),Hr(`submit`,a,r),I(`change`,f,e=>$8.setProvider(e.currentTarget.value)),Vi(f,()=>$8.form.scope_provider,e=>$8.form.scope_provider=e),sa(_,()=>$8.form.name,e=>$8.form.name=e),sa(y,()=>$8.form.scope_user_path,e=>$8.form.scope_user_path=e),sa(x,()=>$8.form.description,e=>$8.form.description=e),I(`click`,xe,n),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var T7=L(`

Loading workflows...

`),E7=L(`
`),D7=L(`

No active workflows found.

`),O7=L(`

No workflows match your filter.

`),k7=L(`
`);function A7(e,t){D(t,!0);var n=k7(),r=M(n),i=e=>{var t=T7();LZ(M(t),{size:16,label:`Loading workflows`}),We(),E(t),R(e,t)};B(r,e=>{$8.loading&&!G.authError&&e(i)});var a=N(r,2),o=e=>{var t=E7();V(t,21,()=>$8.filteredWorkflows,e=>e.id,(e,t)=>{s7(e,{get workflow(){return F(t)}})}),E(t),R(e,t)};B(a,e=>{$8.filteredWorkflows.length>0&&e(o)});var s=N(a,2),c=e=>{R(e,D7())};B(s,e=>{$8.workflows.length===0&&!$8.loading&&!G.authError&&$8.available&&e(c)});var l=N(s,2),u=e=>{R(e,O7())};B(l,e=>{$8.workflows.length>0&&$8.filteredWorkflows.length===0&&!$8.loading&&e(u)}),E(n),R(e,n),O()}var j7=L(``),M7=L(`
Workflows feature is unavailable.
`),N7=L(`
`),P7=L(`
`),Cte=L(``),wte=L(`
`);function Tte(e,t){D(t,!0),Nn(()=>{G.refreshTick,$8.fetchPage()});var n=wte(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=j7();W(M(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),I(`click`,t,()=>$8.openCreate()),R(e,t)};B(a,e=>{$8.available&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,M7())};B(s,e=>{!$8.available&&!G.authError&&e(c)});var l=N(s,2),u=e=>{var t=N7(),n=M(t,!0);E(t),P(()=>z(n,$8.error)),R(e,t)};B(l,e=>{$8.error&&!G.authError&&e(u)});var d=N(l,2),f=e=>{var t=P7(),n=M(t);T$(M(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return $8.filter},set value(e){$8.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i,!0);E(i),E(r),E(t),P(()=>z(a,$8.filteredWorkflows.length+` active scopes`)),R(e,t)};B(d,e=>{$8.available&&e(f)});var p=N(d,2);w7(p,{});var m=N(p,2);A7(m,{});var h=N(m,2);V(h,20,()=>$8.guardrailRefs,e=>e,(e,t)=>{var n=Cte(),r={};P(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(h),E(n),R(e,n),O()}Ur([`click`]);var F7=new class{#e=A(fn({}));get workflowVersionsByID(){return F(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:aL.cacheVisible(),audit:aL.auditVisible(),usage:aL.usageVisible(),budget:aL.budgetsVisible(),guardrails:aL.guardrailsVisible(),failover:aL.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await tL(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function I7(e){try{return JSON.parse(e)}catch{return null}}function L7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=I7(n);return r==null?n:R7(r,t+1)||n}function Ete(e){return e==null?``:typeof e==`string`?L7(e,0):R7(e,0)}function R7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=I7(e.trim());return n==null?``:R7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||Ote(t&&t.response_body)}function Ate(e){let t=e&&e.data?e.data:null;return t?Ete(t.error_message)||(kte(e,t)?R7(t.response_body,0):``):``}function z7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function jte(e){let t=z7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function Mte(e){let t=z7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function Nte(e){let t=z7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function Pte({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function B7(e){return String(e&&e.id||``).trim()}function V7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function Fte(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function Ite(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function Lte(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&Ite(t)}function Rte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!Lte(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>Fte(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>V7(e))),s=[];return a.forEach(e=>{let t=V7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function zte(e,t){let n=B7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function Bte(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>B7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function Vte(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function H7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function U7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function W7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function G7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function K7(e){let t=G7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Hte(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function q7(e){return String(e&&e.kind||``).trim()||`attempt`}function Ute(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function Wte(e){return String(e&&e.model||``).trim()||`-`}function J7(e){let t=G7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Gte(e){return J7(e).length>0}function Kte(e){return G7(e).length+`×`}function Y7(e){let t=G7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function qte(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=q7(e);n&&n!==`attempt`&&t.push(n),t.push(Hte(e));let r=Ute(e);r&&r!==`-`&&t.push(r);let i=Wte(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function Jte(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function Yte(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function Xte(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function Zte(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function Qte(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=Jte(e,t),a=Xte(e,t),o=Yte(t),s=i!=null&&i!==``,c=q7(t),l=G7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:Zte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function X7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function Z7(e){return X7(e).filter(e=>!(e&&e.no_change))}function $te(e){return X7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:t+`: no change`,title:t+` ran and forwarded the request unchanged`}})}function ene(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function tne(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=Z7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:ene(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function Q7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function nne(e){let t=Q7(e);return Number(t&&t.cached_input_tokens||0)>0}function rne(e){let t=Q7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function ine(e){let t=Q7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?BL(r)+` cached`:rne(e).toFixed(1)+`% cached`}function ane(e){return nne(e)?ine(e):``}function one(e,t){let n=Q7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function $7(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function sne(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&U7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:ane(e),promptCacheHighlight:one(e,t),noChangeSteps:$te(e),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function cne(e){let t=e&&e.data?e.data:null,n=Ate(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&U7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&U7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function e9(e,t){let n=[{id:`request`,pane:sne(e,t)}];return Z7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:tne(e,t)})}),K7(e)?G7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:Qte(e,t)})}):n.push({id:`response`,pane:cne(e)}),n}function lne(e){if(!K7(e))return`response`;let t=G7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function une(e,t){return e&&e9(t).some(t=>t.id===e)?e:lne(t)}function dne(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}function t9(){return{entries:[],total:0,limit:25,offset:0}}var n9=new class{#e=A(fn({}));get auditExpandedEntries(){return F(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}auditFetchToken=0;get auditLog(){return zQ.auditLog}set auditLog(e){zQ.auditLog=e}get auditSearch(){return zQ.auditSearch}set auditSearch(e){zQ.auditSearch=e}get auditMethod(){return zQ.auditMethod}set auditMethod(e){zQ.auditMethod=e}get auditStatusCode(){return zQ.auditStatusCode}set auditStatusCode(e){zQ.auditStatusCode=e}get auditStream(){return zQ.auditStream}set auditStream(e){zQ.auditStream=e}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:tR.customStartDate,customEndDate:tR.customEndDate}}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=await tL(`/admin/audit/log?`+Pte({dateQuery:tR.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),{label:`audit log`});if(n.stale||t!==this.auditFetchToken)return;if(!n.ok){this.auditLog=t9();return}let r=Rte(n.data,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(r.entries)||(r.entries=[]),this.auditLog=r,this.auditExpandedEntries=Bte(this.auditExpandedEntries,r.entries);try{await F7.prefetchAuditWorkflows(this.auditLog.entries)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=t9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=B7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=zte(this.auditExpandedEntries,e)}};zQ.fetchAuditLog=e=>n9.fetchAuditLog(e),zQ.isAuditEntryExpanded=e=>n9.isAuditEntryExpanded(e);var fne=L(`
`);function pne(e,t){D(t,!0);let n=E$(()=>n9.fetchAuditLog(!0));Nn(()=>n.cancel);var r=fne(),i=M(r);T$(M(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return n9.auditSearch},set value(e){n9.auditSearch=e}}),E(i);var a=N(i,2),o=M(a),s=M(o);s.value=s.__value=``;var c=N(s);c.value=c.__value=`GET`;var l=N(c);l.value=l.__value=`POST`;var u=N(l);u.value=u.__value=`PUT`;var d=N(u);d.value=d.__value=`PATCH`;var f=N(d);f.value=f.__value=`DELETE`,E(o);var p=N(o,2),m=M(p);m.value=m.__value=``;var h=N(m);h.value=h.__value=`200`;var g=N(h);g.value=g.__value=`201`;var _=N(g);_.value=_.__value=`400`;var v=N(_);v.value=v.__value=`401`;var y=N(v);y.value=y.__value=`403`;var b=N(y);b.value=b.__value=`404`;var x=N(b);x.value=x.__value=`429`;var S=N(x);S.value=S.__value=`500`;var C=N(S);C.value=C.__value=`502`;var w=N(C);w.value=w.__value=`503`;var T=N(w);T.value=T.__value=`504`,E(p);var ee=N(p,2),te=M(ee);te.value=te.__value=``;var ne=N(te);ne.value=ne.__value=`true`;var re=N(ne);re.value=re.__value=`false`,E(ee);var ie=N(ee,2);W(M(ie),{name:`x`,class:`table-icon-svg`}),We(2),E(ie),E(a),E(r),I(`change`,o,()=>n9.fetchAuditLog(!0)),Vi(o,()=>n9.auditMethod,e=>n9.auditMethod=e),I(`change`,p,()=>n9.fetchAuditLog(!0)),Vi(p,()=>n9.auditStatusCode,e=>n9.auditStatusCode=e),I(`change`,ee,()=>n9.fetchAuditLog(!0)),Vi(ee,()=>n9.auditStream,e=>n9.auditStream=e),I(`click`,ie,()=>n9.clearAuditFilters()),R(e,r),O()}Ur([`change`,`click`]);var mne=L(` `),hne=L(``);function gne(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:XL(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+$L(t.entry),mono:!0},{key:`failover`,text:W7(t.entry)&&`failover: `+W7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=hne(),i=N(M(r),2);V(i,21,()=>F(n),e=>e.key,(e,t)=>{var n=mne();let r;var i=M(n,!0);E(n),P(()=>{r=H(n,1,`provider-badge ${(F(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:F(t).mono}),z(i,F(t).text)}),R(e,n)}),E(i),E(r),R(e,r),O()}var _ne=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function r9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` -`).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function i9(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function vne(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=r9(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=r9(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function yne(e){return!e||typeof e!=`object`?``:Array.isArray(e.content)?e.content.map(e=>e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` -`).trim():r9(e.content)}function bne(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...i9(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||t.push(...i9(e.content))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{!e||typeof e!=`object`||(t.push(...i9(e.content)),typeof e.text==`string`&&t.push(e.text))}):e.input&&typeof e.input==`object`&&(t.push(...i9(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}function a9(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function o9(e,t){let n=String(e||``).trim();if(!n)return``;if(t>=4)return n;let r=a9(n);return!r||typeof r!=`object`?n:s9(r,t+1)||r9(r)||n}function s9(e,t=0){let n=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(!e||typeof e!=`object`||n.has(e))continue;if(n.add(e),Array.isArray(e)){for(let t=0;t!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function Cne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function wne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/chat/completions`||t===`/v1/chat/completions/`||t.startsWith(`/v1/chat/completions?`)||t.startsWith(`/v1/chat/completions/`)||t===`/v1/responses`||t===`/v1/responses/`||t.startsWith(`/v1/responses?`)||t.startsWith(`/v1/responses/`)}function Tne(e){if(e&&e.conversation_payload)return!0;let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||Sne(n.output));return!!(r||i)}function Ene(e){return!e||Cne(e.path)?!1:wne(e.path)||Tne(e)}function c9(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function kne(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function Ane(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
`+l9(t)+``+l9(Mne(e[t]))+`
`);return t.length?``:``}function Pne(e){let t=jne(e.content_type),n=l9(t+` · `+Ane(e.bytes)),r=Nne(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
`+n+`
`+r+`
`}let i=e.too_large?`Audio too large to store.`:`Audio not logged. Set LOGGING_LOG_AUDIO_BODIES=true to capture playable audio.`;return`
`+n+`
`+l9(i)+`
`+r+`
`}function u9(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function Fne(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function d9(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return l9(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+l9(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+l9(e.slice(r)):l9(e)}function Ine(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=Fne(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return l9(o);if(!i(e))return o.split(` -`).map(e=>d9(e,a)).join(` -`);let s=o.split(` -`),c=[],l=0;for(;ld9(e,a)).join(` -`);c.push(``+o+``),l=r+1;continue}c.push(d9(e,a)),l++}return c.join(` -`)}function Lne(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Rne(e){let t=String(e||``).toLowerCase();return t===`system`||t===`developer`?{role:`system`,label:`System Prompt`,className:`role-system`}:t===`assistant`?{role:`assistant`,label:`Agent`,className:`role-assistant`}:t===`error`?{role:`error`,label:`Error`,className:`role-error`}:t===`function_call`?{role:`function_call`,label:`Function Call`,className:`role-function-call`}:t===`function_result`?{role:`function_result`,label:`Function Result`,className:`role-function-result`}:{role:`user`,label:`User`,className:`role-user`}}function f9(e,t,n,r,i,a,o,s){let c=Rne(e);return{uid:r+`-`+a,entryID:r,timestamp:n,text:t,role:c.role,roleLabel:c.label,roleClass:c.className,isAnchor:i,toolCalls:Array.isArray(o)&&o.length>0?o:null,functionName:s||``}}function p9(e){return Array.isArray(e)?e.map(e=>{if(!e)return null;let t=e.function||e;return{name:t.name||e.name||``,arguments:t.arguments||e.arguments||``}}).filter(Boolean):[]}function zne(e,t,n){if(t&&Array.isArray(t.messages)&&t.messages.forEach(t=>{!t||!Array.isArray(t.tool_calls)||t.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}),t&&Array.isArray(t.input)&&t.input.forEach(t=>{if(!t||typeof t!=`object`||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)}),n&&Array.isArray(n.choices)){let t=n.choices[0];t&&t.message&&Array.isArray(t.message.tool_calls)&&t.message.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}n&&Array.isArray(n.output)&&n.output.forEach(t=>{if(!t||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)})}function Bne(e,t){if(!Array.isArray(e)||e.length===0)return[];let n=[...e].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),r={};n.forEach(e=>{let t=e.data&&e.data.request_body?e.data.request_body:null,n=e.data&&e.data.response_body?e.data.response_body:null;zne(r,t,n)});let i=[],a=0;return n.forEach(e=>{let n=e.id===t,o=e.timestamp,s=e.data&&e.data.request_body?e.data.request_body:null,c=e.data&&e.data.response_body?e.data.response_body:null;if(s&&typeof s.instructions==`string`&&s.instructions.trim()&&i.push(f9(`system`,s.instructions,o,e.id,n,++a)),s&&Array.isArray(s.messages)&&s.messages.forEach(t=>{if(!t)return;let s=(t.role||`user`).toLowerCase();if(s===`tool`){let s=r9(t.content),c=t.name||r[t.tool_call_id]||``;s&&i.push(f9(`function_result`,s,o,e.id,n,++a,[],c));return}if(s===`assistant`){let r=r9(t.content),c=p9(t.tool_calls);(r||c.length>0)&&i.push(f9(s,r,o,e.id,n,++a,c));return}let c=r9(t.content);c&&i.push(f9(s,c,o,e.id,n,++a))}),s&&s.input!==void 0&&(Array.isArray(s.input)?s.input.forEach(t=>{if(!(!t||typeof t!=`object`)){if(t.type===`function_call_output`){let s=typeof t.output==`string`?t.output:r9(t.output);s&&i.push(f9(`function_result`,s,o,e.id,n,++a,[],r[t.call_id]||``))}else if(t.type===`function_call`)i.push(f9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));else if(t.role){let r=String(t.role).toLowerCase(),s=r9(t.content);s&&i.push(f9(r,s,o,e.id,n,++a))}}}):vne(s.input).forEach(t=>{t.text&&i.push(f9(t.role,t.text,o,e.id,n,++a))})),c&&Array.isArray(c.choices)){let t=c.choices[0];if(t&&t.message){let r=(t.message.role||`assistant`).toLowerCase(),s=r9(t.message.content),c=p9(t.message.tool_calls);(s||c.length>0)&&i.push(f9(r,s,o,e.id,n,++a,c))}}c&&Array.isArray(c.output)&&c.output.forEach(t=>{if(!t)return;if(t.type===`function_call`){i.push(f9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));return}let r=(t.role||`assistant`).toLowerCase(),s=yne(t);s&&i.push(f9(r,s,o,e.id,n,++a))});let l=xne(e);l&&i.push(f9(`error`,l,o,e.id,n,++a))}),i}function Vne(e){return e.role===`function_call`?(e.toolCalls||[]).map(function(e){let t=e.arguments||``;try{t=JSON.stringify(JSON.parse(t),null,2)}catch{}return e.name+`(`+t+`)`}).join(` - -`):e.text||``}var m9=new class{#e=A(!1);get conversationOpen(){return F(this.#e)}set conversationOpen(e){j(this.#e,e,!0)}#t=A(!1);get conversationLoading(){return F(this.#t)}set conversationLoading(e){j(this.#t,e,!0)}#n=A(``);get conversationError(){return F(this.#n)}set conversationError(e){j(this.#n,e,!0)}#r=A(``);get conversationAnchorID(){return F(this.#r)}set conversationAnchorID(e){j(this.#r,e,!0)}#i=A(fn([]));get conversationEntries(){return F(this.#i)}set conversationEntries(e){j(this.#i,e,!0)}#a=A(fn([]));get conversationMessages(){return F(this.#a)}set conversationMessages(e){j(this.#a,e,!0)}#o=A(``);get conversationLiveEntryId(){return F(this.#o)}set conversationLiveEntryId(e){j(this.#o,e,!0)}conversationRequestToken=0;conversationReturnFocusEl=null;bodyPointerStart=null;conversationDialogEl=null;conversationCloseBtnEl=null;canShowConversation(e){return Ene(e)}startBodyInteraction(e){this.bodyPointerStart={x:e.clientX,y:e.clientY}}_isBodyDrag(e){if(!this.bodyPointerStart)return!1;let t=Math.abs(e.clientX-this.bodyPointerStart.x),n=Math.abs(e.clientY-this.bodyPointerStart.y);return t>4||n>4}_hasActiveSelection(){let e=window.getSelection?window.getSelection():null;return!e||e.isCollapsed?!1:String(e.toString()||``).trim().length>0}handleBodyConversationClick(e,t){let n=this._isBodyDrag(e);if(this.bodyPointerStart=null,n||this._hasActiveSelection()||!this.canShowConversation(t))return;let r=e.target&&e.target.closest?e.target.closest(`[data-conversation-trigger="1"]`):null;r&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,r))}handleErrorConversationClick(e,t){let n=this._isBodyDrag(e);this.bodyPointerStart=null,!n&&(this._hasActiveSelection()||this.canShowConversation(t)&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,e.currentTarget)))}formatJSON(e){return Lne(e)}renderBodyWithConversationHighlights(e,t,n){return Ine(e,t,{formatJSON:e=>this.formatJSON(e),canShowConversation:e=>this.canShowConversation(e),promptCacheHighlight:n&&n.promptCacheHighlight})}async openConversation(e,t,n,r){if(!e||!e.id||!this.canShowConversation(e))return;n&&t&&!t.open&&(t.open=!0);let i=document.activeElement instanceof HTMLElement?document.activeElement:null;r instanceof HTMLElement?this.conversationReturnFocusEl=r:i&&i!==document.body&&(this.conversationReturnFocusEl=i);let a=++this.conversationRequestToken;if(this.conversationOpen=!0,this.conversationError=``,this.conversationAnchorID=e.id,this.conversationEntries=[],this.conversationMessages=[],document.body.classList.add(`conversation-drawer-open`),requestAnimationFrame(()=>this._focusConversationDrawer()),this._conversationEntryLivePending(e)){this.conversationLiveEntryId=String(e.id).trim(),this.conversationLoading=!1,this.applyLiveConversationEntry(e);return}this.conversationLiveEntryId=``,this.conversationLoading=!0,await this.fetchConversation(e.id,a)}_conversationEntryLivePending(e){return typeof zQ.auditEntryLiveDetailPending==`function`&&zQ.auditEntryLiveDetailPending(e)}applyLiveConversationEntry(e){this.conversationEntries=[e],this.conversationMessages=this.buildConversationMessages([e],e.id)}refreshLiveConversation(e){if(!this.conversationOpen||!this.conversationLiveEntryId||!e||String(e.id||``).trim()!==this.conversationLiveEntryId)return;let t=String(e._live_state||``).trim();if(t===`audit.flushed`||t===`audit.detail`){this.conversationLiveEntryId=``;let t=++this.conversationRequestToken;this.fetchConversation(e.id,t);return}this.applyLiveConversationEntry(e)}conversationLiveWaiting(){if(!this.conversationOpen||!this.conversationLiveEntryId)return!1;let e=(this.conversationEntries||[])[0];return!e||typeof zQ.liveAuditStateSettled!=`function`||!zQ.liveAuditStateSettled(e._live_state)}conversationLiveStatusText(){return(this.conversationMessages||[]).length>0?`Model is responding…`:`Waiting for request data…`}closeConversation(){this.conversationOpen=!1,this.conversationRequestToken++,this.conversationLiveEntryId=``,document.body.classList.remove(`conversation-drawer-open`);let e=this.conversationReturnFocusEl;this.conversationReturnFocusEl=null,e&&typeof e.focus==`function`&&document.contains(e)&&requestAnimationFrame(()=>e.focus())}_focusConversationDrawer(){if(!this.conversationOpen)return;let e=this.conversationCloseBtnEl;if(e&&typeof e.focus==`function`){e.focus();return}let t=this.conversationDialogEl;t&&typeof t.focus==`function`&&t.focus()}async fetchConversation(e,t){try{let n=await tL(`/admin/audit/conversation?`+(`log_id=`+encodeURIComponent(e)+`&limit=120`),{label:`audit conversation`});if(t!==this.conversationRequestToken||n.stale)return;if(!n.ok){this.conversationError=`Unable to load interactions.`,this.conversationEntries=[],this.conversationMessages=[];return}let r=n.data||{};this.conversationAnchorID=r.anchor_id||e,this.conversationEntries=Array.isArray(r.entries)?r.entries:[],this.conversationMessages=this.buildConversationMessages(this.conversationEntries,this.conversationAnchorID)}catch(e){if(t!==this.conversationRequestToken)return;console.error(`Failed to fetch audit conversation:`,e),this.conversationError=`Failed to load interactions.`,this.conversationEntries=[],this.conversationMessages=[]}finally{t===this.conversationRequestToken&&(this.conversationLoading=!1)}}buildConversationMessages(e,t){return Bne(e,t)}functionExpandedContent(e){return Vne(e)}};zQ.refreshLiveConversation=e=>m9.refreshLiveConversation(e);var Hne=L(` `),Une=L(``),Wne=L(` `),Gne=L(``),Kne=L(`
`);function qne(e,t){D(t,!0);function n(e){e.stopPropagation(),e.preventDefault(),m9.openConversation(t.entry,e.currentTarget.closest(`details`),!0,e.currentTarget)}var r=Kne();let i;var a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c);var u=N(c,2),d=e=>{var n=Hne(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>eR(t.entry)]),R(e,n)};B(u,e=>{(t.entry.requested_model||t.entry.model)&&e(d)});var f=N(u,2),p=M(f,!0);E(f),E(a);var m=N(a,2),h=M(m),g=e=>{var n=Wne(),r=M(n);V(r,21,()=>J7(t.entry),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=Une();let r;P(e=>{r=H(n,1,`audit-attempt-pip svelte-17mysgz`,null,r,{"audit-attempt-success":!!(F(t)&&F(t).success),"audit-attempt-error":!(F(t)&&F(t).success)}),U(n,`title`,e)},[()=>qte(F(t))]),R(e,n)}),E(r);var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t,r)=>{U(n,`title`,e),U(n,`aria-label`,t),z(a,r)},[()=>Y7(t.entry),()=>Y7(t.entry),()=>Kte(t.entry)]),R(e,n)},_=k(()=>Gte(t.entry));B(h,e=>{F(_)&&e(g)});var v=N(h,2),y=M(v,!0);E(v);var b=N(v,2),x=M(b,!0);E(b);var S=N(b,2),C=e=>{var t=Gne();I(`click`,t,n),R(e,t)},w=k(()=>m9.canShowConversation(t.entry));B(S,e=>{F(w)&&e(C)}),E(m),E(r),P((e,n,a,c,u)=>{i=H(r,1,`audit-entry-summary svelte-17mysgz`,null,i,e),H(o,1,`audit-status-badge ${n??``}`,`svelte-17mysgz`),z(s,t.entry.status_code||`-`),z(l,t.entry.method||`-`),z(p,t.entry.path||`-`),U(v,`title`,a),z(y,c),z(x,u)},[()=>({"audit-entry-summary-live-in-progress":U7(t.entry)}),()=>H7(t.entry.status_code),()=>JL(t.entry.timestamp),()=>YI.formatTimestamp(t.entry.timestamp),()=>Vte(t.entry.duration_ns)]),R(e,r),O()}Ur([`click`]);var Jne=L(``);function h9(e,t){D(t,!0);let n=ha(t,`label`,3,`Copy`),r=ha(t,`copiedLabel`,3,`Copied`),i=ha(t,`errorLabel`,3,``),a=ha(t,`class`,3,`btn`),o=k(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=Jne();let c;var l=M(s),u=e=>{W(e,{name:`circle-check`,width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{W(e,{name:`copy`,width:`14`,height:`14`})};B(l,e=>{t.state.copied?e(u):e(d,-1)});var f=N(l,2),p=M(f,!0);E(f),E(s),P(()=>{c=H(s,1,`copy-feedback-btn ${a()??``}`,null,c,{"copy-feedback-btn-copied":t.state.copied}),z(p,F(o))}),I(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),R(e,s),O()}Ur([`click`]);var Yne=L(`
Error Message
 
`),Xne=L(`
 
`),Zne=L(` `),Qne=L(` streaming`),$ne=L(`
Body
`),ere=L(`

`),tre=L(`

`),nre=L(`

`),rre=L(`
`);function ire(e,t){D(t,!0);let n=t5({logPrefix:`Failed to copy audit payload:`}),r=t5({logPrefix:`Failed to copy audit payload:`}),i=k(()=>t.pane&&t.pane.showHeaders?$7(t.pane.headers):``),a=k(()=>!t.pane||!t.pane.showBody?``:kne(t.pane.body)?Pne(t.pane.body):m9.renderBodyWithConversationHighlights(t.pane.entry,t.pane.body,{promptCacheHighlight:t.pane.promptCacheHighlight})),o=k(()=>!!(t.pane&&m9.canShowConversation(t.pane.entry)));function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),m9.handleErrorConversationClick(e,t.pane.entry))}var c=rre();let l;var u=M(c),d=e=>{var n=Yne(),r=N(M(n),2);let i;var a=M(r,!0);E(r),E(n),P(()=>{i=H(r,1,`audit-json audit-pane-error-message svelte-1h5puht`,null,i,{"audit-pane-clickable-preview":F(o)}),U(r,`role`,F(o)?`button`:null),U(r,`tabindex`,F(o)?0:null),z(a,t.pane.errorMessage)}),I(`mousedown`,r,e=>m9.startBodyInteraction(e)),I(`keydown`,r,s),I(`click`,r,e=>m9.handleErrorConversationClick(e,t.pane.entry)),R(e,n)};B(u,e=>{t.pane.showErrorMessage&&e(d)});var f=N(u,2),p=e=>{var n=Xne(),a=M(n),o=M(a),s=M(o,!0);E(o),h9(N(o,2),{get state(){return r},label:`Copy Headers`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>r.copy(t.pane.copyHeaders,$7)}),E(a);var c=N(a,2),l=M(c,!0);E(c),E(n),P(()=>{z(s,t.pane.headersTitle||`Headers`),z(l,F(i))}),R(e,n)};B(f,e=>{t.pane.showHeaders&&e(p)});var m=N(f,2),h=e=>{var r=$ne(),i=M(r),o=M(i),s=N(M(o),2),c=e=>{var n=Zne(),r=M(n,!0);E(n),P(()=>z(r,t.pane.bodyCacheRatioLabel)),R(e,n)};B(s,e=>{t.pane.bodyCacheRatioLabel&&e(c)});var l=N(s,2),u=e=>{R(e,Qne())};B(l,e=>{t.pane.streaming&&e(u)}),E(o),h9(N(o,2),{get state(){return n},label:`Copy Body`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>n.copy(t.pane.copyBody,$7)}),E(i);var d=N(i,2);hi(d,()=>F(a),!0),E(d),E(r),I(`mousedown`,d,e=>m9.startBodyInteraction(e)),I(`click`,d,e=>m9.handleBodyConversationClick(e,t.pane.entry)),R(e,r)};B(m,e=>{t.pane.showBody&&e(h)});var g=N(m,2),_=e=>{var n=ere(),r=M(n,!0);E(n),P(()=>z(r,t.pane.emptyMessage)),R(e,n)};B(g,e=>{t.pane.showEmpty&&e(_)});var v=N(g,2),y=e=>{var n=tre(),r=N(M(n),2),i=M(r,!0);E(r),E(n),P(()=>z(i,t.pane.pendingMessage)),R(e,n)};B(v,e=>{t.pane.showPending&&e(y)});var b=N(v,2),x=e=>{var n=nre(),r=M(n,!0);E(n),P(()=>z(r,t.pane.tooLargeMessage)),R(e,n)};B(b,e=>{t.pane.showTooLarge&&e(x)}),E(c),P(()=>l=H(c,1,`audit-pane svelte-1h5puht`,null,l,{"audit-pane-split":t.pane&&t.pane.layout===`split`,"audit-pane-split-single":t.pane&&t.pane.layout===`split`&&!(t.pane.showHeaders&&t.pane.showBody)})),R(e,c),O()}Ur([`mousedown`,`keydown`,`click`]);var are=L(` `),g9=L(` `),ore=L(` `),sre=L(` `),cre=L(``),lre=L(`
`),ure=L(`
`);function dre(e,t){D(t,!0);let n=ha(t,`panes`,19,()=>[]),r=A(null),i=k(()=>une(F(r),t.entry)),a=e=>`audit-tab-`+t.entry.id+`-`+e,o=e=>`audit-tabpanel-`+t.entry.id+`-`+e;function s(e,t){let i=n().map(e=>e.id),a=dne(e.key,i,t);a!=null&&(e.preventDefault(),((e.currentTarget?.closest?.(`.audit-pane-tablist`))?.querySelectorAll(`.audit-pane-tab`)[i.indexOf(a)])?.focus?.(),j(r,a,!0))}var c=ure(),l=M(c);V(l,21,n,e=>e.id,(e,t)=>{var n=cre();let c;var l=M(n),u=M(l),d=e=>{W(e,{name:`arrow-right`})},f=e=>{W(e,{name:`arrow-left`})};B(u,e=>{F(t).pane.direction===`request`?e(d):F(t).pane.direction===`response`&&e(f,1)}),E(l);var p=N(l,2),m=M(p,!0);E(p);var h=N(p,2),g=e=>{var n=are(),r=M(n);E(n),P(()=>z(r,`#${F(t).pane.seq??``}`)),R(e,n)};B(h,e=>{F(t).pane.seq&&e(g)});var _=N(h,2),v=e=>{var n=g9(),r=M(n,!0);E(n),P(()=>{H(n,1,`provider-badge audit-pane-kind audit-pane-kind-${(F(t).pane.kind||``)??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.kind)}),R(e,n)};B(_,e=>{F(t).pane.kind&&e(v)});var y=N(_,2);V(y,17,()=>F(t).pane.noChangeSteps||[],e=>e.id,(e,t)=>{var n=ore(),r=M(n,!0);E(n),P(()=>{U(n,`title`,F(t).title),z(r,F(t).label)}),R(e,n)});var b=N(y,2),x=e=>{var n=sre(),r=M(n,!0);E(n),P(()=>z(r,F(t).pane.savingsLabel)),R(e,n)};B(b,e=>{F(t).pane.savingsLabel&&e(x)});var S=N(b,2),C=e=>{var n=g9(),r=M(n,!0);E(n),P(e=>{H(n,1,`audit-status-badge ${e??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.statusCode)},[()=>H7(F(t).pane.statusCode)]),R(e,n)};B(S,e=>{F(t).pane.statusCode&&e(C)}),E(n),P((e,r)=>{c=H(n,1,`audit-pane-tab svelte-1bc5vi5`,null,c,{"audit-pane-tab-active":F(i)===F(t).id}),U(n,`aria-selected`,F(i)===F(t).id),U(n,`id`,e),U(n,`aria-controls`,r),U(n,`tabindex`,F(i)===F(t).id?0:-1),H(l,1,`audit-pane-icon audit-pane-icon-${(F(t).pane.direction||``)??``}`,`svelte-1bc5vi5`),z(m,F(t).pane.title)},[()=>a(F(t).id),()=>o(F(t).id)]),I(`keydown`,n,e=>s(e,F(t).id)),I(`click`,n,()=>j(r,F(t).id,!0)),R(e,n)}),E(l),V(N(l,2),17,n,e=>e.id,(e,t)=>{var n=lre();let r;ire(M(n),{get pane(){return F(t).pane}}),E(n),P((e,a)=>{U(n,`id`,e),U(n,`aria-labelledby`,a),r=Ri(n,``,r,{display:F(i)===F(t).id?null:`none`})},[()=>o(F(t).id),()=>a(F(t).id)]),R(e,n)}),E(c),R(e,c),O()}Ur([`keydown`,`click`]);var fre=L(`
`),pre=L(`
`);function mre(e,t){D(t,!0);let n=k(()=>n9.isAuditEntryExpanded(t.entry)),r=k(()=>F(n)?e9(t.entry,bne):[]),i=k(()=>F(n)?Q5(t.entry,F7.auditEntryWorkflow(t.entry),F7.workflowFeatureCaps()):null);function a(e){let n=e&&e.currentTarget;!n||!n.open||(n9.markAuditEntryExpanded(t.entry),typeof zQ.fetchAuditEntryDetail==`function`&&zQ.fetchAuditEntryDetail(t.entry))}var o=pre(),s=M(o);qne(s,{get entry(){return t.entry}});var c=N(s,2),l=e=>{var n=fre(),a=M(n),o=e=>{m5(e,{get chart(){return F(i)}})};B(a,e=>{F(i)&&e(o)});var s=N(a,2);dre(s,{get entry(){return t.entry},get panes(){return F(r)}}),gne(N(s,2),{get entry(){return t.entry}}),E(n),R(e,n)};B(c,e=>{F(n)&&e(l)}),E(o),Hr(`toggle`,o,a),R(e,o),O()}var hre=L(``),gre=L(`
`),_re=L(`

Loading interactions...

`),vre=L(`

No interaction data available for this entry.

`),yre=L(`
 
`),bre=L(`
 
`),xre=L(`
`),Sre=L(`
`),Cre=L(`
`,1),wre=L(`
`),Tre=L(`
`),Ere=L(`
`),Dre=L(``),Ore=L(`

Interactions

`,1);function kre(e,t){D(t,!0);let n=m9;Nn(()=>{if(!n.conversationOpen)return;let e=kr(()=>TI.opened()),t=e=>{e.key===`Escape`&&TI.openCount<=1&&n.closeConversation()};return window.addEventListener(`keydown`,t),()=>{TI.closed(e),window.removeEventListener(`keydown`,t)}});function r(e){return[e.role===`function_call`||e.role===`function_result`?`chat-function-note`:`chat-message`,e.roleClass,e.isAnchor?`is-anchor`:``].filter(Boolean).join(` `)}function i(e){return e.role===`function_call`?(e.toolCalls||[]).map(e=>e.name+`()`).join(`, `):(e.functionName?e.functionName+`: `:``)+e.text}var a=Ore(),o=Cn(a),s=e=>{var t=hre();I(`click`,t,()=>n.closeConversation()),R(e,t)};B(o,e=>{n.conversationOpen&&e(s)});var c=N(o,2);let l;var u=M(c);dL(N(M(u),2),{label:`Close interactions`,onclick:()=>n.closeConversation(),get el(){return n.conversationCloseBtnEl},set el(e){n.conversationCloseBtnEl=e}}),E(u);var d=N(u,2),f=M(d),p=e=>{var t=gre(),r=M(t,!0);E(t),P(()=>z(r,n.conversationError)),R(e,t)};B(f,e=>{n.conversationError&&e(p)});var m=N(f,2),h=e=>{R(e,_re())};B(m,e=>{n.conversationLoading&&e(h)});var g=N(m,2),_=e=>{R(e,vre())},v=k(()=>!n.conversationLoading&&!n.conversationError&&n.conversationMessages.length===0&&!n.conversationLiveWaiting());B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=Tre();V(t,21,()=>n.conversationMessages,e=>e.uid,(e,t)=>{var a=wre(),o=M(a),s=e=>{var r=yre(),a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c),E(a);var u=N(a,2),d=M(u,!0);E(u),E(r),P((e,n)=>{z(s,F(t).roleLabel),z(l,e),z(d,n)},[()=>i(F(t)),()=>n.functionExpandedContent(F(t))]),R(e,r)},c=e=>{var n=Cre(),r=Cn(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(r);var c=N(r,2),l=e=>{var n=bre(),r=M(n,!0);E(n),P(()=>z(r,F(t).text)),R(e,n)};B(c,e=>{F(t).text&&e(l)});var u=N(c,2),d=e=>{var n=Sre();V(n,23,()=>F(t).toolCalls,(e,t)=>e.name+`-`+t,(e,t)=>{var n=xre(),r=M(n),i=M(r,!0);E(r),E(n),P(()=>z(i,F(t).name+`()`)),R(e,n)}),E(n),R(e,n)};B(u,e=>{F(t).toolCalls&&e(d)}),P(e=>{z(a,F(t).roleLabel),z(s,e)},[()=>YI.formatTimestamp(F(t).timestamp)]),R(e,n)};B(o,e=>{F(t).role===`function_call`||F(t).role===`function_result`?e(s):e(c,-1)}),E(a),P(e=>H(a,1,e,`svelte-ssrzja`),[()=>ji(r(F(t)))]),R(e,a)}),E(t),R(e,t)};B(y,e=>{n.conversationMessages.length>0&&e(b)});var x=N(y,2),S=e=>{var t=Ere(),r=N(M(t),2),i=M(r,!0);E(r),E(t),P(e=>z(i,e),[()=>n.conversationLiveStatusText()]),R(e,t)},C=k(()=>n.conversationLiveWaiting());B(x,e=>{F(C)&&e(S)}),E(d);var w=N(d,2),T=e=>{var t=Dre(),r=M(t),i=M(r,!0);E(r),E(t),P(()=>z(i,`Opened from log: `+n.conversationAnchorID)),R(e,t)};B(w,e=>{n.conversationAnchorID&&e(T)}),E(c),fa(c,e=>n.conversationDialogEl=e,()=>n?.conversationDialogEl),P(()=>{l=H(c,1,`conversation-drawer`,null,l,{open:n.conversationOpen}),U(c,`aria-hidden`,!n.conversationOpen)}),R(e,a),O()}Ur([`click`]);var Are=L(`

.

`),jre=L(`
Audit logging is off. Live entries are temporary and disappear after - refresh. Set LOGGING_ENABLED=true to persist them.
`),Mre=L(`

`),Nre=L(`
`),Pre=L(`
`),Fre=L(`
`),Ire=L(`
`);function Lre(e,t){D(t,!0);let n=k(()=>aL.config&&aL.config.LOGGING_RETENTION_DAYS);Nn(()=>{if(G.refreshTick,LI.page===`audit-logs`)return kr(()=>r())});function r(){let e=!1;return(async()=>{try{await aL.ensureLoaded()}finally{await n9.fetchAuditLog(!0),!e&&aL.liveLogsVisible()&&zQ.ensureLiveLogs()}})(),()=>{e=!0,zQ.stopLiveLogs()}}var i=Ire(),a=M(i),o=M(a),s=N(M(o),2),c=e=>{fQ(e,{copyId:`audit-retention-help-copy`,label:`retention help`,text:`If you want to change the retention period, set LOGGING_RETENTION_DAYS (env var) or logging.retention_days (config.yaml) and restart the gateway. Default is 30 days; 0 keeps audit logs forever.`,title:e=>{var t=Are(),r=M(t,!0),i=N(r),a=M(i,!0);E(i),We(),E(t),P((e,t)=>{z(r,e),z(a,t)},[()=>Mte(F(n)),()=>Nte(F(n))]),R(e,t)},$$slots:{title:!0}})},l=k(()=>jte(F(n)));B(s,e=>{F(l)&&e(c)}),E(o),E(a);var u=N(a,2);xR(M(u),{onchange:()=>n9.fetchAuditLog(!0)}),E(u);var d=N(u,2);RL(d,{});var f=N(d,2),p=e=>{R(e,jre())},m=k(()=>aL.loaded&&!aL.auditVisible()&&!G.needsAuth);B(f,e=>{F(m)&&e(p)});var h=N(f,2),g=M(h);pne(g,{});var _=N(g,2),v=e=>{var t=Mre(),n=M(t);E(t),P(e=>z(n,`Showing ${n9.auditLog.offset+1}-${e??``} of ${n9.auditLog.total??``} logs`),[()=>Math.min(n9.auditLog.offset+n9.auditLog.limit,n9.auditLog.total)]),R(e,t)};B(_,e=>{n9.auditLog.total>0&&e(v)});var y=N(_,2),b=e=>{var t=Nre();LZ(M(t),{size:18,label:`Loading audit logs`}),E(t),R(e,t)},x=e=>{var t=Pre();V(t,21,()=>n9.auditLog.entries,e=>e.id,(e,t)=>{mre(e,{get entry(){return F(t)}})}),E(t),R(e,t)};B(y,e=>{n9.loading&&n9.auditLog.entries.length===0?e(b):n9.auditLog.entries.length>0&&e(x,1)});var S=N(y,2),C=e=>{var t=Fre();BZ(M(t),{}),E(t),R(e,t)};B(S,e=>{n9.auditLog.entries.length===0&&!n9.loading&&!G.needsAuth&&e(C)}),e1(N(S,2),{get total(){return n9.auditLog.total},get offset(){return n9.auditLog.offset},get limit(){return n9.auditLog.limit},onprev:()=>n9.auditLogPrevPage(),onnext:()=>n9.auditLogNextPage()}),E(h),kre(N(h,2),{}),E(i),R(e,i),O()}function _9(e){try{let t=JSON.parse(JSON.stringify(e||{}));return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}}function v9(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>e):e==null?[]:String(e).split(`,`).map(e=>e.trim()).filter(e=>e)}function y9(e,t){let n=String(t||``).trim();return(e||[]).find(e=>String(e&&e.type||``).trim()===n)||null}function b9(e){return Array.isArray(e)&&e.length>0&&String(e[0].type||``).trim()||`system_prompt`}function x9(e,t){let n=String(t||``).trim();return n&&y9(e,n)?n:b9(e)}function S9(e,t){let n=y9(e,t);return!n||!n.defaults?{}:_9(n.defaults)}function C9(e,t,n){return{...S9(e,n),..._9(t)}}function w9(e,t){let n=x9(e,t);return{name:``,type:n,description:``,user_path:``,config:S9(e,n)}}function Rre(e,t){if(!t)return e||[];let n=String(t).toLowerCase();return(e||[]).filter(e=>[e.name,e.type,e.user_path,e.description,e.summary].some(e=>String(e||``).toLowerCase().includes(n)))}function zre(e,t){let n=y9(e,t);return n&&n.label?n.label:t||`Unknown`}function Bre(e,t){let n=y9(e,t);return Array.isArray(n&&n.fields)?n.fields:[]}function T9(e,t){if(!t||!e)return t&&t.input===`checkboxes`?[]:``;let n=e[t.key];return n==null?t.input===`checkboxes`?[]:``:t.input===`checkboxes`?v9(n):n}function E9(e,t,n){if(!t)return e;let r=_9(e);if(t.input===`number`){let e=String(n||``).trim();if(e===``)delete r[t.key];else{let n=Number(e);r[t.key]=Number.isFinite(n)?n:e}}else t.input===`checkboxes`?r[t.key]=v9(n):r[t.key]=n;return r}function Vre(e,t,n){return T9(e,t).includes(String(n||``).trim())}function Hre(e,t,n,r){let i=v9(T9(e,t)),a=String(n||``).trim();return a?E9(e,t,r?Array.from(new Set([...i,a])):i.filter(e=>e!==a)):e}function Ure(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),description:String(e&&e.description||``).trim()||void 0,user_path:String(e&&e.user_path||``).trim()||void 0,config:_9(e&&e.config)}}var D9=new class{#e=A(fn([]));get guardrails(){return F(this.#e)}set guardrails(e){j(this.#e,e,!0)}#t=A(fn([]));get types(){return F(this.#t)}set types(e){j(this.#t,e,!0)}#n=A(!0);get available(){return F(this.#n)}set available(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=A(!1);get typesLoading(){return F(this.#i)}set typesLoading(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(``);get filter(){return F(this.#o)}set filter(e){j(this.#o,e,!0)}#s=A(!1);get formOpen(){return F(this.#s)}set formOpen(e){j(this.#s,e,!0)}#c=A(!1);get formSubmitting(){return F(this.#c)}set formSubmitting(e){j(this.#c,e,!0)}#l=A(``);get deletingName(){return F(this.#l)}set deletingName(e){j(this.#l,e,!0)}#u=A(`create`);get formMode(){return F(this.#u)}set formMode(e){j(this.#u,e,!0)}#d=A(``);get formOriginalName(){return F(this.#d)}set formOriginalName(e){j(this.#d,e,!0)}#f=A(fn({name:``,type:``,description:``,user_path:``,config:{}}));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}get filtered(){return Rre(this.guardrails,this.filter)}typeLabel(e){return zre(this.types,e)}typeFields(e){return Bre(this.types,e)}fieldValue(e){return T9(this.form&&this.form.config,e)}setFieldValue(e,t){this.form={...this.form,config:E9(this.form.config,e,t)}}arrayFieldSelected(e,t){return Vre(this.form&&this.form.config,e,t)}toggleArrayFieldValue(e,t,n){this.form={...this.form,config:Hre(this.form.config,e,t,n)}}openCreate(){this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=w9(this.types,b9(this.types)),this.formOpen=!0}openEdit(e){let t=x9(this.types,e&&e.type);this.formMode=`edit`,this.formOriginalName=String(e&&e.name||``).trim(),this.error=``,this.form={name:this.formOriginalName,type:t,description:String(e&&e.description||``).trim(),user_path:String(e&&e.user_path||``).trim(),config:C9(this.types,e&&e.config,t)},this.formOpen=!0}closeForm(){this.formOpen=!1,this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=w9(this.types,b9(this.types))}changeType(e){let t=x9(this.types,e);this.form={...this.form,type:t,config:S9(this.types,t)}}async fetchTypes(){this.typesLoading=!0;try{let e=await tL(`/admin/guardrails/types`,{label:`guardrail types`});if(e.status===503){this.available=!1,this.types=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.types=[];return}this.types=Array.isArray(e.data)?e.data:[];let t=x9(this.types,this.form.type);this.form={...this.form,type:t,config:C9(this.types,this.form.config,t)}}catch(e){console.error(`Failed to fetch guardrail types:`,e),this.types=[],this.error=`Unable to load guardrail types.`}finally{this.typesLoading=!1}}async fetchGuardrails(){this.loading=!0,this.error=``;try{let e=await tL(`/admin/guardrails`,{label:`guardrails`});if(e.status===503){this.available=!1,this.guardrails=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.guardrails=[];return}this.guardrails=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch guardrails:`,e),this.guardrails=[],this.error=`Unable to load guardrails.`}finally{this.loading=!1}}async fetchPage(){await Promise.all([this.fetchTypes(),this.fetchGuardrails()])}async submitForm(){let e=String(this.form.name||``).trim(),t=String(this.form.type||``).trim();if(!e){this.error=`Name is required.`;return}if(!t){this.error=`Type is required.`;return}this.error=``,this.formSubmitting=!0;let n=Ure(this.form);try{let t=await nL(`/admin/guardrails`,`PUT`,n,{label:`save guardrail`});if(t.status===503){this.available=!1,this.error=`Guardrails feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=XI(t.data,`Failed to save guardrail.`),console.error(`Failed to save guardrail:`,t.status,this.error);return}K.success(`Guardrail "`+e+`" saved.`),this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to save guardrail:`,e),this.error=`Failed to save guardrail.`}finally{this.formSubmitting=!1}}async deleteGuardrail(e){let t=String(e&&e.name||``).trim();if(!(!t||this.deletingName)&&window.confirm(`Delete guardrail "`+t+`"? Workflows that still reference it must be updated first.`)){this.deletingName=t;try{let e=await nL(`/admin/guardrails`,`DELETE`,{name:t},{label:`delete guardrail`});if(e.status===503){this.available=!1,K.error(`Guardrails feature is unavailable.`);return}if(e.stale)return;if(!e.ok){if(e.status===401){K.error(`Authentication required.`);return}let t=XI(e.data,`Failed to delete guardrail.`);console.error(`Failed to delete guardrail:`,e.status,t),K.error(t);return}K.success(`Guardrail "`+t+`" deleted.`),this.formOpen&&this.formOriginalName===t&&this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to delete guardrail:`,e),K.error(`Failed to delete guardrail.`)}finally{this.deletingName=``}}}},Wre=L(`
`),Gre=L(`

Loading guardrails...

`),Kre=L(`
`),qre=L(`
`),O9=L(`
NameTypeUser PathSummaryActions
`),Jre=L(`

No guardrails defined yet.

`),Yre=L(`

Instances

Each instance has a reusable name, a type, an optional user path for - future UI visibility scoping, and a JSON-backed config payload for - that type.

`);function Xre(e,t){D(t,!0);var n=Yre(),r=M(n),i=N(M(r),2);W(M(i),{name:`plus`,class:`form-action-icon`}),We(2),E(i),E(r);var a=N(r,2),o=e=>{var t=Wre(),n=M(t);T$(M(n),{id:`guardrail-filter`,placeholder:`Filter by name, type, user path, summary...`,label:`Guardrail filter`,get value(){return D9.filter},set value(e){D9.filter=e}}),E(n),E(t),R(e,t)};B(a,e=>{D9.available&&e(o)});var s=N(a,2),c=e=>{var t=Gre();LZ(M(t),{size:16,label:`Loading guardrails`}),We(),E(t),R(e,t)};B(s,e=>{D9.loading&&D9.filtered.length===0&&e(c)});var l=N(s,2),u=e=>{var t=O9(),n=M(t),r=N(M(n));V(r,21,()=>D9.filtered,e=>e.name,(e,t)=>{var n=qre(),r=M(n),i=M(r,!0);E(r);var a=N(r),o=M(a),s=M(o,!0);E(o),E(a);var c=N(a),l=M(c,!0);E(c);var u=N(c),d=M(u),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var n=Kre(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(p,e=>{F(t).description&&e(m)}),E(u);var h=N(u),g=M(h),_=M(g);{let e=k(()=>`Edit guardrail `+F(t).name);S1(_,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>D9.openEdit(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var v=N(_,2);{let e=k(()=>(D9.deletingName===F(t).name?`Deleting guardrail `:`Delete guardrail `)+F(t).name),n=k(()=>D9.deletingName===F(t).name);S1(v,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>D9.deleteGuardrail(F(t)),get disabled(){return F(n)},children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(g),E(h),E(n),P(e=>{z(i,F(t).name),z(s,e),z(l,F(t).user_path||`—`),z(f,F(t).summary||F(t).description||`No summary yet.`)},[()=>D9.typeLabel(F(t).type)]),R(e,n)}),E(r),E(n),E(t),R(e,t)};B(l,e=>{D9.filtered.length>0&&e(u)});var d=N(l,2),f=e=>{R(e,Jre())};B(d,e=>{D9.filtered.length===0&&!D9.loading&&D9.available&&!D9.error&&!G.authError&&e(f)}),E(n),P(()=>i.disabled=D9.typesLoading||D9.formSubmitting||!D9.available),I(`click`,i,()=>D9.openCreate()),R(e,n),O()}Ur([`click`]);var Zre=L(``),k9=L(``),Qre=L(``),$re=L(``),eie=L(``),tie=L(``),nie=L(``),rie=L(`
`),iie=L(``),aie=L(` `),oie=L(`
`),sie=L(``);function cie(e,t){D(t,!0);let n=k(()=>D9.formMode===`edit`);function r(){G.dialogOpen||D9.closeForm()}pL(e,{get open(){return D9.formOpen},variant:`editor`,onclose:r,children:(e,t)=>{var r=sie(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),We(2),E(o),dL(N(o,2),{label:`Close guardrail editor`,onclick:()=>D9.closeForm()}),E(a);var l=N(a,2),u=e=>{var t=Zre(),n=M(t,!0);E(t),P(()=>z(n,D9.error)),R(e,t)};B(l,e=>{D9.error&&e(u)});var d=N(l,2),f=M(d),p=N(M(f),2);Qi(p),E(f);var m=N(f,2),h=N(M(m),2);V(h,21,()=>D9.types,e=>e.type,(e,t)=>{var n=k9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).type)&&(n.value=(n.__value=F(t).type)??``)}),R(e,n)}),E(h);var g;Bi(h),E(m);var _=N(m,2),v=N(M(_),2);Qi(v),E(_);var y=N(_,2),b=M(y);fQ(b,{copyId:`guardrail-user-path-help-copy`,label:`guardrail user path help`,text:`Only used for auxiliary rewrite (llm_based_altering) guardrails; ignored for other guardrail types.`,title:e=>{R(e,Qre())},$$slots:{title:!0}});var x=N(b,2);Qi(x),E(y),V(N(y,2),17,()=>D9.typeFields(D9.form.type),e=>e.key,(e,t)=>{var n=$r(),r=Cn(n),i=e=>{var n=rie(),r=M(n);{let e=e=>{var n=$re(),r=M(n,!0);E(n),P(()=>{U(n,`for`,`guardrail-field-`+F(t).key),z(r,F(t).label)}),R(e,n)},n=k(()=>`guardrail-field-help-`+F(t).key),i=k(()=>F(t).label+` help`),a=k(()=>F(t).help||``);fQ(r,{get copyId(){return F(n)},get label(){return F(i)},get text(){return F(a)},title:e,$$slots:{title:!0}})}var i=N(r,2),a=e=>{var n=eie();V(n,21,()=>F(t).options||[],e=>e.value,(e,t)=>{var n=k9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(n);var r;Bi(n),P(e=>{U(n,`id`,`guardrail-field-`+F(t).key),U(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),r!==(r=e)&&(n.value=(n.__value=e)??``,zi(n,e))},[()=>D9.fieldValue(F(t))]),I(`change`,n,e=>D9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},o=e=>{var n=tie();pt(n),P(e=>{U(n,`id`,`guardrail-field-`+F(t).key),U(n,`placeholder`,F(t).placeholder||``),$i(n,e),U(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>D9.fieldValue(F(t))]),I(`input`,n,e=>D9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},s=e=>{var n=nie();Qi(n),P(e=>{U(n,`id`,`guardrail-field-`+F(t).key),U(n,`type`,F(t).input||`text`),U(n,`placeholder`,F(t).placeholder||``),$i(n,e),U(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>D9.fieldValue(F(t))]),I(`input`,n,e=>D9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)};B(i,e=>{F(t).input===`select`?e(a):F(t).input===`textarea`?e(o,1):e(s,-1)}),E(n),R(e,n)},a=e=>{var n=oie(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).options||[],e=>F(t).key+`-`+e.value,(e,n)=>{var r=iie(),i=M(r);Qi(i);var a=N(i,2),o=M(a,!0);E(a),E(r),P(e=>{ea(i,e),z(o,F(n).label)},[()=>D9.arrayFieldSelected(F(t),F(n).value)]),I(`change`,i,e=>D9.toggleArrayFieldValue(F(t),F(n).value,e.currentTarget.checked)),R(e,r)}),E(a);var o=N(a,2),s=e=>{var n=aie(),r=M(n,!0);E(n),P(()=>{U(n,`id`,`guardrail-field-help-`+F(t).key),z(r,F(t).help)}),R(e,n)};B(o,e=>{F(t).help&&e(s)}),E(n),P(()=>{U(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),z(i,F(t).label)}),R(e,n)};B(r,e=>{F(t).input===`checkboxes`?e(a,-1):e(i)}),R(e,n)}),E(d);var S=N(d,2),C=M(S),w=N(C,2);W(M(w),{name:`save`,class:`form-action-icon`}),We(2),E(w),E(S),E(i),E(r),P(()=>{z(c,F(n)?`Edit Guardrail`:`Create Guardrail`),p.disabled=F(n),U(p,`data-modal-autofocus`,!F(n)||void 0),h.disabled=F(n),g!==(g=D9.form.type)&&(h.value=(h.__value=D9.form.type)??``,zi(h,D9.form.type)),U(v,`data-modal-autofocus`,F(n)?!0:void 0),w.disabled=D9.formSubmitting}),Hr(`submit`,i,e=>{e.preventDefault(),D9.submitForm()}),sa(p,()=>D9.form.name,e=>D9.form.name=e),I(`change`,h,e=>D9.changeType(e.currentTarget.value)),sa(v,()=>D9.form.description,e=>D9.form.description=e),sa(x,()=>D9.form.user_path,e=>D9.form.user_path=e),I(`click`,C,()=>D9.closeForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var lie=L(`

Guardrails

`),uie=L(`
Runtime guardrail execution is currently off because GUARDRAILS_ENABLED is disabled. You can still manage - definitions here.
`),die=L(`
Guardrails feature is unavailable.
`),fie=L(`
`),pie=L(`

Reusable Policy Objects

Guardrail Library

Store guardrails in the database, keep them hot in memory, and attach - them to workflows by reference.

Instances
Types
`);function mie(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`guardrails`&&(aL.ensureLoaded(),D9.fetchPage())});var n=pie(),r=M(n),i=M(r);fQ(M(i),{copyId:`guardrails-help-copy`,label:`guardrails help`,text:`Reusable policy objects stored in the database and kept hot in memory for workflow execution.`,title:e=>{R(e,lie())},$$slots:{title:!0}}),E(i),E(r);var a=N(r,2),o=N(M(a),2),s=M(o),c=N(M(s),2),l=M(c,!0);E(c),E(s);var u=N(s,2),d=N(M(u),2),f=M(d,!0);E(d),E(u),E(o),E(a);var p=N(a,2);RL(p,{});var m=N(p,2),h=e=>{R(e,uie())},g=k(()=>!aL.guardrailsVisible());B(m,e=>{F(g)&&e(h)});var _=N(m,2),v=e=>{R(e,die())};B(_,e=>{!G.authError&&!D9.available&&e(v)});var y=N(_,2),b=e=>{var t=fie(),n=M(t,!0);E(t),P(()=>z(n,D9.error)),R(e,t)};B(y,e=>{!G.authError&&D9.error&&!D9.formOpen&&e(b)});var x=N(y,2);cie(x,{}),Xre(N(x,2),{}),E(n),P((e,t)=>{z(l,e),z(f,t)},[()=>BL(D9.guardrails.length),()=>BL(D9.types.length)]),R(e,n),O()}var Z=new class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get slugEdited(){return F(this.#c)}set slugEdited(e){j(this.#c,e,!0)}#l=A(!1);get advancedOpen(){return F(this.#l)}set advancedOpen(e){j(this.#l,e,!0)}#u=A(fn(DX()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(``);get deletingName(){return F(this.#d)}set deletingName(e){j(this.#d,e,!0)}#f=A(``);get reconnectingName(){return F(this.#f)}set reconnectingName(e){j(this.#f,e,!0)}#p=A(!1);get catalogOpen(){return F(this.#p)}set catalogOpen(e){j(this.#p,e,!0)}#m=A(!1);get catalogLoading(){return F(this.#m)}set catalogLoading(e){j(this.#m,e,!0)}#h=A(``);get catalogError(){return F(this.#h)}set catalogError(e){j(this.#h,e,!0)}#g=A(fn(OX()));get catalog(){return F(this.#g)}set catalog(e){j(this.#g,e,!0)}#_=k(()=>zX(this.servers,this.filter));get filtered(){return F(this.#_)}set filtered(e){j(this.#_,e)}async fetchServers(){if(await aL.ensureLoaded(),!aL.mcpVisible()){this.available=!1,this.servers=[],this.error=``,this.loading=!1;return}this.loading=!0,this.error=``;try{let e=await tL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[],e.status!==401&&(this.error=XI(e.data,`Failed to load MCP servers.`));return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[],this.error=`Unable to load MCP servers.`}finally{this.loading=!1}}openCreate(){this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=DX(),this.formOpen=!0}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.slugEdited=!0,this.advancedOpen=!1,this.error=``,this.form=BX(e),this.formOpen=!0)}closeForm(){this.formOpen=!1,this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=DX()}syncSlugFromName(){this.formMode===`create`&&!this.slugEdited&&(this.form.slug=FX(this.form.name))}markSlugEdited(){this.formMode===`create`&&(this.slugEdited=!0)}addHeader(){this.form.headers.push({name:``,value:``})}removeHeader(e){this.form.headers.splice(e,1)}async submitForm(){let e=VX(this.form,this.formMode,this.servers);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await nL(`/admin/mcp-servers`,`PUT`,e.payload,{label:`save mcp server`});if(t.stale)return;if(t.status===503){this.available=!1,this.error=`MCP server management is unavailable.`;return}if(!t.ok){this.error=t.status===401?`Authentication required.`:XI(t.data,`Failed to save MCP server.`);return}K.success(`MCP server "`+e.payload.name+`" saved.`),this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to save MCP server:`,e),this.error=`Failed to save MCP server.`}finally{this.formSubmitting=!1}}async deleteServer(e){let t=String(e&&e.name||``).trim(),n=kX(e);if(!(!n||this.deletingName||e&&e.managed)&&confirm(`Delete MCP server "`+t+`"? Clients lose access to its tools immediately.`)){this.deletingName=n;try{let e=await nL(`/admin/mcp-servers/`+encodeURIComponent(n),`DELETE`,void 0,{label:`delete mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,K.error(`MCP server management is unavailable.`);return}if(!e.ok){K.error(e.status===401?`Authentication required.`:XI(e.data,`Failed to delete MCP server.`));return}K.success(`MCP server "`+t+`" deleted.`),this.formOpen&&this.form.slug===n&&this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to delete MCP server:`,e),K.error(`Failed to delete MCP server.`)}finally{this.deletingName=``}}}async reconnectServer(e){let t=String(e&&e.name||``).trim(),n=kX(e);if(!(!n||this.reconnectingName)){this.reconnectingName=n;try{let e=await nL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/reconnect`,`POST`,void 0,{label:`reconnect mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,K.error(`MCP server management is unavailable.`);return}if(!e.ok){K.error(e.status===401?`Authentication required.`:XI(e.data,`Failed to reconnect MCP server.`));return}let r=e.data,i=AX(r);i===`connected`?K.success(`MCP server "`+t+`" reconnected.`):i===`disabled`?K.success(`MCP server "`+t+`" is disabled; no connection was attempted.`):K.error(`Reconnect attempted, but MCP server "`+t+`" is still `+i+`.`),r&&r.name?this.servers=(this.servers||[]).map(e=>kX(e)===kX(r)?r:e):this.fetchServers()}catch(e){console.error(`Failed to reconnect MCP server:`,e),K.error(`Failed to reconnect MCP server.`)}finally{this.reconnectingName=``}}}async openCatalog(e){let t=String(e&&e.name||``).trim(),n=kX(e);if(n){this.catalogOpen=!0,this.catalogLoading=!0,this.catalogError=``,this.catalog={...OX(),server:n,status:AX(e)};try{let e=await tL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/catalog`,{label:`mcp server catalog`});if(e.stale)return;if(e.status===503){this.available=!1,this.catalogError=`MCP server management is unavailable.`;return}if(e.status===404){this.catalogError=`MCP server "`+t+`" was not found.`;return}if(!e.ok){this.catalogError=e.status===401?`Authentication required.`:XI(e.data,`Failed to load MCP server catalog.`);return}this.catalog=HX(n,e.data)}catch(e){console.error(`Failed to load MCP server catalog:`,e),this.catalogError=`Failed to load MCP server catalog.`}finally{this.catalogLoading=!1}}}closeCatalog(){this.catalogOpen=!1,this.catalogLoading=!1,this.catalogError=``,this.catalog=OX()}},hie=L(``),gie=L(`

`),_ie=L(`
`),vie=L(`

`),yie=L(`
  • `),bie=L(`

      `),xie=L(`

      No tools listed — the server may still be connecting or degraded.

      `),Sie=L(` `,1),Cie=L(``);function wie(e,t){D(t,!0);let n=k(()=>WX(Z.catalog));pL(e,{get open(){return Z.catalogOpen},variant:`editor`,onclose:()=>Z.closeCatalog(),children:(e,t)=>{var r=Cie(),i=M(r),a=M(i),o=N(M(a),2),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=M(l,!0);E(l),E(o),E(a),dL(N(a,2),{label:`Close MCP server catalog`,onclick:()=>Z.closeCatalog()}),E(i);var d=N(i,2),f=e=>{b1(e,{label:`Loading catalog...`})},p=e=>{var t=hie(),n=M(t,!0);E(t),P(()=>z(n,Z.catalogError)),R(e,t)},m=e=>{var t=Sie(),r=Cn(t),i=e=>{var t=gie(),n=M(t,!0);E(t),P(()=>z(n,Z.catalog.instructions)),R(e,t)};B(r,e=>{Z.catalog.instructions&&e(i)});var a=N(r,2);V(a,17,()=>F(n),e=>e.key,(e,t)=>{var n=bie(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).items,e=>e.key,(e,t)=>{var n=yie(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=_ie(),r=M(n,!0);E(n),P(()=>{U(n,`title`,`Exposed on the aggregated /mcp endpoint as `+F(t).aggregated),z(r,F(t).aggregated)}),R(e,n)};B(a,e=>{F(t).aggregated&&e(o)});var s=N(a,2),c=e=>{var n=vie(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(s,e=>{F(t).description&&e(c)}),E(n),P(()=>{U(r,`title`,F(t).aggregated||F(t).name),z(i,F(t).name)}),R(e,n)}),E(a),E(n),P(()=>z(i,F(t).title)),R(e,n)});var o=N(a,2),s=e=>{R(e,xie())},c=k(()=>GX(Z.catalog));B(o,e=>{F(c)&&e(s)}),R(e,t)};B(d,e=>{Z.catalogLoading?e(f):Z.catalogError?e(p,1):e(m,-1)});var h=N(d,2),g=M(h);E(h),E(r),P((e,t)=>{z(c,Z.catalog.server),H(l,1,`audit-status-badge ${e??``}`,`svelte-1xqrzco`),z(u,t)},[()=>jX(Z.catalog),()=>AX(Z.catalog)]),I(`click`,g,()=>Z.closeCatalog()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var Tie=L(``),Eie=L(`Derived from the name. You may edit it before saving.`),Die=L(`Immutable because it is used in URLs, scope headers, and aggregated tool names.`),Oie=L(`
      `),kie=L(``);function Aie(e,t){D(t,!0),pL(e,{get open(){return Z.formOpen},variant:`editor`,onclose:()=>Z.closeForm(),children:(e,t)=>{var n=kie(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),We(2),E(a),dL(N(a,2),{label:`Close MCP server editor`,onclick:()=>Z.closeForm()}),E(i);var c=N(i,2),l=e=>{var t=Tie(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(c,e=>{Z.error&&e(l)});var u=N(c,2),d=N(M(u),2);Qi(d),We(2),E(u);var f=N(u,2),p=N(M(f),2);Qi(p);var m=N(p,2),h=e=>{R(e,Eie())},g=e=>{R(e,Die())};B(m,e=>{Z.formMode===`create`?e(h):e(g,-1)}),E(f);var _=N(f,2),v=N(M(_),2),y=M(v);y.value=y.__value=`http`;var b=N(y);b.value=b.__value=`sse`,E(v),We(2),E(_);var x=N(_,2),S=N(M(x),2);Qi(S),E(x);var C=N(x,2),w=N(M(C),2);V(w,21,()=>Z.form.headers,oi,(e,t,n)=>{var r=Oie(),i=M(r);Qi(i);var a=N(i,2);Qi(a),S1(N(a,2),{label:`Remove header`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Z.removeHeader(n),children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),sa(i,()=>F(t).name,e=>F(t).name=e),sa(a,()=>F(t).value,e=>F(t).value=e),R(e,r)}),E(w);var T=N(w,2),ee=M(T);W(M(ee),{name:`plus`,class:`form-action-icon`}),We(2),E(ee),E(T),We(2),E(C);var te=N(C,2),ne=M(te),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(te);var se=N(te,2),ce=N(M(se),2),le=M(ce),ue=N(M(le),2);Qi(ue),E(le);var de=N(le,2),fe=N(M(de),2);Qi(fe),E(de);var pe=N(de,2),me=N(M(pe),2);Qi(me),E(pe);var he=N(pe,2),ge=N(M(he),2);pt(ge),U(ge,`placeholder`,`/ -/team/alpha`),E(he);var _e=N(he,2),ve=N(M(_e),2);Qi(ve),E(_e),E(ce),E(se);var ye=N(se,2),be=M(ye),xe=N(be,2),Se=M(xe);W(Se,{name:`save`,class:`form-action-icon`});var Ce=N(Se,2),we=M(Ce,!0);E(Ce),E(xe),E(ye),E(r),E(n),P(()=>{z(s,Z.formMode===`edit`?`Edit MCP Server`:`Add MCP Server`),p.disabled=Z.formMode===`edit`,ie=H(re,1,`alias-toggle`,null,ie,{enabled:Z.form.enabled}),U(re,`aria-label`,(Z.form.enabled?`Disable`:`Enable`)+` MCP server`),z(oe,Z.form.enabled?`Enabled`:`Disabled`),se.open=Z.advancedOpen,xe.disabled=Z.formSubmitting,z(we,Z.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,r,e=>{e.preventDefault(),Z.submitForm()}),I(`input`,d,()=>Z.syncSlugFromName()),sa(d,()=>Z.form.name,e=>Z.form.name=e),I(`input`,p,()=>Z.markSlugEdited()),sa(p,()=>Z.form.slug,e=>Z.form.slug=e),Vi(v,()=>Z.form.transport,e=>Z.form.transport=e),sa(S,()=>Z.form.url,e=>Z.form.url=e),I(`click`,ee,()=>Z.addHeader()),I(`click`,re,()=>Z.form.enabled=!Z.form.enabled),Hr(`toggle`,se,e=>Z.advancedOpen=e.currentTarget.open),sa(ue,()=>Z.form.description,e=>Z.form.description=e),sa(fe,()=>Z.form.allowed_tools,e=>Z.form.allowed_tools=e),sa(me,()=>Z.form.disallowed_tools,e=>Z.form.disallowed_tools=e),sa(ge,()=>Z.form.user_paths,e=>Z.form.user_paths=e),sa(ve,()=>Z.form.tool_timeout_seconds,e=>Z.form.tool_timeout_seconds=e),I(`click`,be,()=>Z.closeForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`input`,`click`]);var jie=L(`Config`),Mie=L(`
      `),Nie=L(`
      `),Pie=L(`
      NameTransportEndpointStatusToolsEnabledActions
      `);function Fie(e,t){D(t,!0);function n(e){return MX(e,e=>YI.formatTimestamp(e))}var r=Pie(),i=M(r),a=N(M(i));V(a,21,()=>Z.filtered,e=>kX(e),(e,t)=>{var r=Nie(),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=e=>{R(e,jie())};B(s,e=>{F(t).managed&&e(c)});var l=N(s,2),u=M(l,!0);E(l),E(i);var d=N(i),f=M(d),p=M(f,!0);E(f),E(d);var m=N(d),h=M(m,!0);E(m);var g=N(m),_=M(g),v=M(_,!0);E(_);var y=N(_,2),b=e=>{var n=Mie(),r=M(n,!0);E(n),P(()=>z(r,F(t).last_error)),R(e,n)},x=k(()=>AX(F(t))===`degraded`&&F(t).last_error);B(y,e=>{F(x)&&e(b)}),E(g);var S=N(g),C=M(S),w=M(C,!0);E(C);var T=N(C,2),ee=M(T,!0);E(T),E(S);var te=N(S),ne=M(te),re=M(ne,!0);E(ne),E(te);var ie=N(te),ae=M(ie),oe=M(ae),se=e=>{{let n=k(()=>`Edit MCP server `+F(t).name);S1(e,{get label(){return F(n)},class:`table-icon-btn`,onclick:()=>Z.openEdit(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(oe,e=>{F(t).managed||e(se)});var ce=N(oe,2);{let e=k(()=>`Inspect catalog of MCP server `+F(t).name);S1(ce,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.openCatalog(F(t)),children:(e,t)=>{W(e,{name:`list`,class:`form-action-icon`})},$$slots:{default:!0}})}var le=N(ce,2);{let e=k(()=>(Z.reconnectingName===kX(F(t))?`Reconnecting MCP server `:`Reconnect MCP server `)+F(t).name),n=k(()=>Z.reconnectingName===kX(F(t)));S1(le,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.reconnectServer(F(t)),get disabled(){return F(n)},children:(e,t)=>{W(e,{name:`refresh-cw`,class:`form-action-icon`})},$$slots:{default:!0}})}var ue=N(le,2),de=e=>{{let n=k(()=>(Z.deletingName===kX(F(t))?`Deleting MCP server `:`Delete MCP server `)+F(t).name),r=k(()=>Z.deletingName===kX(F(t)));S1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Z.deleteServer(F(t)),get disabled(){return F(r)},children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ue,e=>{F(t).managed||e(de)}),E(ae),E(ie),E(r),P((e,n,r,i,a,s,c,l)=>{z(o,F(t).name),z(u,e),z(p,F(t).transport||`http`),U(m,`title`,n),z(h,r),H(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),U(_,`title`,a),z(v,s),z(w,c),z(ee,l),H(ne,1,`auth-key-status-badge ${F(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`}`),z(re,F(t).enabled?`Enabled`:`Disabled`)},[()=>kX(F(t)),()=>NX(F(t)),()=>NX(F(t)),()=>jX(F(t)),()=>n(F(t)),()=>AX(F(t)),()=>BL(F(t).tool_count||0),()=>PX(F(t))]),R(e,r)}),E(a),E(i),E(r),R(e,r),O()}var Iie=L(`

      MCP Servers

      `),Lie=L(``),Rie=L(`
      MCP server management is unavailable.
      `),zie=L(``),Bie=L(`
      `),Vie=L(`

      No MCP servers yet. Add one here, or declare servers in config.yaml under mcp.servers.

      `),Hie=L(`

      No MCP servers match your filter.

      `),Uie=L(`
      `);function Wie(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`mcp-servers`&&Z.fetchServers()});var n=Uie(),r=M(n),i=M(r);fQ(M(i),{copyId:`mcp-servers-help-copy`,label:`MCP servers help`,text:`Upstream Model Context Protocol servers whose tools, prompts, and resources the gateway exposes to clients. Servers added here connect over HTTP or SSE; stdio servers and rows marked Config are declared in config.yaml under mcp.servers and are read-only in the dashboard. Saved header values are masked in API and dashboard responses.`,title:e=>{R(e,Iie())},$$slots:{title:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=Lie();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Z.formSubmitting),I(`click`,t,()=>Z.openCreate()),R(e,t)};B(o,e=>{Z.available&&!G.authError&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,Rie())};B(c,e=>{!Z.available&&!G.authError&&e(l)});var u=N(c,2),d=e=>{var t=zie(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(u,e=>{Z.error&&!G.authError&&!Z.formOpen&&e(d)});var f=N(u,2),p=e=>{b1(e,{label:`Loading MCP servers...`})};B(f,e=>{Z.loading&&!G.authError&&e(p)});var m=N(f,2),h=e=>{var t=Bie(),n=M(t);T$(M(n),{id:`mcp-server-filter`,placeholder:`Filter by name, slug, URL, transport, or status...`,label:`Filter MCP servers by name, slug, URL, transport, or status`,get value(){return Z.filter},set value(e){Z.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Z.servers.length>0||Z.filter)&&Z.available&&!G.authError&&e(h)});var g=N(m,2);Aie(g,{});var _=N(g,2);wie(_,{});var v=N(_,2),y=e=>{Fie(e,{})};B(v,e=>{Z.filtered.length>0&&Z.available&&!G.authError&&e(y)});var b=N(v,2),x=e=>{R(e,Vie())};B(b,e=>{Z.servers.length===0&&!Z.filter&&!Z.loading&&!G.authError&&!Z.error&&Z.available&&e(x)});var S=N(b,2),C=e=>{R(e,Hie())};B(S,e=>{Z.servers.length>0&&Z.filtered.length===0&&Z.filter&&!Z.loading&&!G.authError&&Z.available&&e(C)}),E(n),R(e,n),O()}Ur([`click`]);var A9=`api_keys`,Gie=`base_url`,j9=`service_account_json`,M9=`models`,N9={[A9]:{label:`API Keys`,control:`keys`,hint:`Multiple keys rotate round-robin. Saved values are shown as ***********; leave the asterisks unchanged to keep the stored key.`},[Gie]:{label:`Base URL`,control:`text`},api_version:{label:`API Version`,control:`text`,placeholder:`e.g. 2024-10-01-preview`,hint:`Leave empty for the provider default. Realtime endpoints may need a newer version.`},backend:{label:`Backend`,control:`select`,hint:`Which Google surface to call. Vertex authenticates with Google credentials instead of an API key.`},auth_type:{label:`Auth Type`,control:`select`,hint:`How to obtain Google credentials. Leave on the default to use Application Default Credentials.`},api_mode:{label:`API Mode`,control:`select`,hint:`Which request shape to send upstream.`},vertex_project:{label:`Vertex Project`,control:`text`,placeholder:`my-gcp-project`},vertex_location:{label:`Vertex Location`,control:`text`,placeholder:`us-central1`},service_account_file:{label:`Service Account File`,control:`text`,placeholder:`/path/to/service-account.json`,hint:`Path readable by the gateway process.`},[j9]:{label:`Service Account JSON`,control:`textarea`,placeholder:`Paste service account JSON`,hint:`Saved values are shown as ***********; leave the asterisks unchanged to keep the stored value, or clear it to remove.`},service_account_json_base64:{label:`Service Account JSON (base64)`,control:`text`,hint:`Saved values are shown as ***********; leave the asterisks unchanged to keep the stored value.`},gcp_scope:{label:`GCP Scope`,control:`text`,placeholder:`https://www.googleapis.com/auth/cloud-platform`},[M9]:{label:`Models (comma-separated)`,control:`text`,placeholder:`gpt-4o, gpt-4o-mini`,hint:`Leave empty to auto-discover models from the provider's /models endpoint where supported.`}};function Kie(e){return N9[e]||{label:String(e||``).split(`_`).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),control:`text`}}function P9(){return{name:``,type:``,api_keys:[],base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function qie(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function Jie(e,t){let n=(Array.isArray(e)?e:[]).map(e=>String(e&&e.type||``).trim()).filter(Boolean),r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function Yie(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>String(e&&e.type||``).trim()===n)||null}function F9(e,t){let n=e&&Array.isArray(e.fields)&&e.fields.length>0?e.fields:Object.keys(N9).map(e=>({name:e,advanced:e!==A9})),r=t||e&&e.default_base_url||``,i=[],a=[];for(let e of n){let t=String(e&&e.name||``).trim();if(!t)continue;let n={...Kie(t),name:t,required:!!(e&&e.required),options:Array.isArray(e&&e.options)?e.options:[]};t===`base_url`&&r&&(n.placeholder=r,n.hint=`Defaults to `+r),n.options.length>0&&(n.control=`select`),(e&&e.advanced?a:i).push(n)}return{primary:i,advanced:a}}var Xie=new Set([`name`,`type`,`enabled`]);function Zie(e,t){let n=new Set([...t.primary||[],...t.advanced||[]].map(e=>e.name)),r=P9(),i={...e};for(let e of Object.keys(r))!Xie.has(e)&&!n.has(e)&&(i[e]=r[e]);return i}function Qie(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?t+` key`+(t===1?``:`s`):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?`service account`:String(e&&e.vertex_project||``).trim()?`ADC`:`keyless`}function $ie(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?`auto-discovered`:t.length+` model`+(t.length===1?``:`s`)}function eae(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function I9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function tae(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function nae(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:eae(e&&e.api_keys),base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function rae(e){let t=String(e||``).trim();return t.length>=3&&/^\*+$/.test(t)}function iae(e,t,n,r){let i={},a=String(e&&e.name||``).trim();String(e&&e.type||``).trim()||(i.type=`Select a provider type.`),a?a.includes(`/`)?i.name=`Name cannot contain '/' — it separates the provider from the model.`:t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===a)&&(i.name=`Provider "`+a+`" already exists.`):i.name=`Name is required.`;let{primary:o,advanced:s}=F9(r);for(let t of[...o,...s]){let n=aae(e,t);n&&(i[t.name]=n)}return i}function aae(e,t){if(t.name===`api_keys`){let n=I9(e&&e.api_keys);return t.required&&!n.some(e=>e.trim())?`At least one API key is required for this provider type.`:n.some(e=>!e.trim())?`Remove the empty row instead of leaving a key blank.`:``}let n=String(e&&e[t.name]||``).trim();if(t.required&&!n)return t.label+` is required for this provider type.`;if(!n)return``;if(t.name===`base_url`&&!n.includes(`://`)&&/[./]/.test(n))return`Include the scheme, e.g. https://`+n;if(t.name===`service_account_json`&&!rae(n))try{JSON.parse(n)}catch{return`Paste the service account JSON file's contents — this is not valid JSON.`}return``}function oae(e,t){let n={name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),enabled:!!(e&&e.enabled)},{primary:r,advanced:i}=F9(t),a=new Set;for(let t of[...r,...i])a.add(t.name),n[t.name]=L9(e,t.name);for(let t of Object.keys(N9)){if(a.has(t))continue;let r=L9(e,t);(Array.isArray(r)?r.length>0:String(r).trim()!==``)&&(n[t]=r)}return n}function L9(e,t){switch(t){case A9:return I9(e&&e.api_keys);case M9:return zL(e&&e.models);case j9:return e&&e.service_account_json||``;default:return String(e&&e[t]||``).trim()}}var Q=new class{#e=A(fn([]));get rows(){return F(this.#e)}set rows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get advancedOpen(){return F(this.#c)}set advancedOpen(e){j(this.#c,e,!0)}#l=A(fn(P9()));get form(){return F(this.#l)}set form(e){j(this.#l,e,!0)}#u=A(fn({}));get fieldErrors(){return F(this.#u)}set fieldErrors(e){j(this.#u,e,!0)}#d=A(``);get focusField(){return F(this.#d)}set focusField(e){j(this.#d,e,!0)}#f=A(``);get deletingName(){return F(this.#f)}set deletingName(e){j(this.#f,e,!0)}#p=A(!1);get deleteSubmitting(){return F(this.#p)}set deleteSubmitting(e){j(this.#p,e,!0)}#m=A(fn([]));get types(){return F(this.#m)}set types(e){j(this.#m,e,!0)}#h=A(!1);get typesLoaded(){return F(this.#h)}set typesLoaded(e){j(this.#h,e,!0)}#g=null;get filteredRows(){return qie(this.rows,this.filter)}get schema(){return Yie(this.types,this.form.type)}get formFields(){if(!String(this.form.type||``).trim())return{primary:[],advanced:[]};let e=this.schema;return F9(e,e&&e.default_base_url)}async fetchTypes(){try{let e=await tL(`/admin/provider-credentials/types`,{label:`provider credential types`});if(e.stale||e.status===503||e.status===404||!e.ok)return;this.types=Array.isArray(e.data)?e.data:[],this.typesLoaded=!0}catch(e){console.error(`Failed to fetch provider credential types:`,e)}}async fetchPage(){this.#g&&this.#g.abort();let e=new AbortController;this.#g=e,this.loading=!0,this.error=``;try{let t=await tL(`/admin/provider-credentials`,{label:`provider credentials`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(t.status===503||t.status===404){this.available=!1,this.rows=[];return}if(this.available=!0,!t.ok){this.rows=[],t.status!==401&&(this.error=XI(t.data,`Failed to load provider credentials.`));return}this.rows=Array.isArray(t.data)?t.data:[],this.typesLoaded||await this.fetchTypes()}catch(e){if(rL(e))return;console.error(`Failed to fetch provider credentials:`,e),this.rows=[],this.error=`Unable to load provider credentials.`}finally{this.#g===e&&(this.#g=null,this.loading=!1)}}#_(e,t){this.formMode=e,this.form=t,this.advancedOpen=!1,this.error=``,this.fieldErrors={},this.focusField=``}openCreate(){this.#_(`create`,P9()),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.#_(`edit`,nae(e)),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.#_(`create`,P9())}selectType(){this.fieldErrors={};let e=this.formFields;this.formMode===`create`&&(this.form=Zie(this.form,e));let t=e.primary.find(e=>e.name===`api_keys`);t&&t.required&&this.form.api_keys.length===0&&(this.form.api_keys=[{value:``}])}clearFieldError(e){if(this.fieldErrors[e]===void 0)return;let{[e]:t,...n}=this.fieldErrors;this.fieldErrors=n}addApiKeyRow(){this.form.api_keys.push({value:``}),this.clearFieldError(`api_keys`)}removeApiKeyRow(e){this.form.api_keys.splice(e,1),this.clearFieldError(`api_keys`)}#v(e){let t=XI(e,`Failed to save provider credential.`),n=String(e&&e.error&&typeof e.error==`object`&&e.error.param||``).trim();if(n&&this.#y(n)){this.fieldErrors={...this.fieldErrors,[n]:t},this.error=``,this.#b();return}this.error=t}#y(e){if(e===`name`||e===`type`)return!0;let{primary:t,advanced:n}=this.formFields;return[...t,...n].some(t=>t.name===e)}#b(){let e=Object.keys(this.fieldErrors);if(e.length===0)return;let{primary:t,advanced:n}=this.formFields;n.some(t=>e.includes(t.name))&&(this.advancedOpen=!0);let r=[`type`,`name`,...t.map(e=>e.name),...n.map(e=>e.name)];this.focusField=r.find(t=>e.includes(t))||e[0]}#x(){IL.fetchModels(),IL.fetchCategories()}async submitForm(){let e=this.schema,t=iae(this.form,this.formMode,this.rows,e);if(Object.keys(t).length>0){this.fieldErrors=t,this.error=``,this.#b();return}let n=oae(this.form,e);this.error=``,this.fieldErrors={},this.formSubmitting=!0;try{let e=await nL(`/admin/provider-credentials`,`PUT`,n,{label:`save provider credential`});if(e.stale)return;if(e.status===503){this.available=!1,this.error=`Provider credential management is unavailable.`;return}if(!e.ok){if(e.status===401){this.error=`Authentication required.`;return}this.#v(e.data);return}K.success(`Provider "`+n.name+`" saved.`),this.closeForm(),this.#x(),this.fetchPage()}catch(e){console.error(`Failed to save provider credential:`,e),this.error=`Failed to save provider credential.`}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await nL(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`});if(t.stale)return;if(t.status===503){this.available=!1,vL.error=`Provider credential management is unavailable.`;return}if(!t.ok){vL.error=t.status===401?`Authentication required.`:XI(t.data,`Failed to delete provider credential.`);return}K.success(`Provider "`+e+`" deleted.`),vL.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#x(),this.fetchPage()}catch(e){console.error(`Failed to delete provider credential:`,e),vL.error=`Failed to delete provider credential.`}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||vL.open({title:`Delete Provider`,titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:`Type "`+t+`" to permanently delete this provider credential. Requests routed to it will fail until it is reconfigured.`,requiredText:t,confirmLabel:`Delete Provider`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},sae=L(`Config`),cae=L(` `,1),lae=L(`
      `),uae=L(`
      NameTypeBase URLAuthModelsEnabledUpdatedActions
      `);function dae(e,t){D(t,!0);var n=uae(),r=M(n),i=N(M(r));V(i,21,()=>Q.filteredRows,e=>e.name,(e,t)=>{var n=lae(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=e=>{R(e,sae())};B(o,e=>{F(t).managed&&e(s)}),E(r);var c=N(r),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=M(h,!0);E(h);var _=N(h),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x,!0);E(x);var C=N(x),w=M(C),T=M(w),ee=e=>{var n=cae(),r=Cn(n);{let e=k(()=>`Edit provider `+F(t).name);S1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Q.openEdit(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>(Q.deletingName===F(t).name?`Deleting provider `:`Delete provider `)+F(t).name),n=k(()=>Q.deletingName===F(t).name);S1(i,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Q.requestDelete(F(t).name),get disabled(){return F(n)},children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)};B(T,e=>{F(t).managed||e(ee)}),E(w),E(C),E(n),P((e,n,r)=>{z(a,F(t).name),z(u,F(t).type),U(d,`title`,F(t).base_url||``),z(f,F(t).base_url||`—`),z(m,e),z(g,n),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).enabled,"auth-key-status-inactive":!F(t).enabled}),z(b,F(t).enabled?`Enabled`:`Disabled`),z(S,r)},[()=>Qie(F(t)),()=>$ie(F(t)),()=>YI.formatTimestamp(F(t).updated_at)]),R(e,n)}),E(i),E(r),E(n),R(e,n),O()}var fae=L(``),pae=L(`
      `),mae=L(`
      `,1),hae=L(``),gae=L(``),_ae=L(``),vae=L(``),yae=L(` `),bae=L(` `),xae=L(`
      `);function R9(e,t){D(t,!0);let n=k(()=>`provider-credential-`+t.field.name),r=k(()=>Q.fieldErrors[t.field.name]||``),i=k(()=>F(r)?F(n)+`-error`:t.field.hint?F(n)+`-hint`:void 0),a=k(()=>{let e=String(Q.form[t.field.name]||``).trim();return!e||t.field.options.includes(e)?t.field.options:[...t.field.options,e]});function o(){Q.clearFieldError(t.field.name)}var s=xae(),c=M(s),l=M(c),u=N(l),d=e=>{R(e,fae())};B(u,e=>{t.field.required&&e(d)}),E(c);var f=N(c,2),p=e=>{var t=mae(),a=Cn(t);V(a,21,()=>Q.form.api_keys,oi,(e,t,a)=>{var s=pae(),c=M(s);Qi(c),U(c,`aria-label`,`API key `+(a+1)),S1(N(c,2),{label:`Remove API key `+(a+1),class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Q.removeApiKeyRow(a),children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(s),P(()=>{U(c,`id`,a===0?F(n):F(n)+`-`+a),U(c,`aria-invalid`,F(r)?`true`:void 0),U(c,`aria-describedby`,a===0?F(i):void 0)}),I(`input`,c,o),sa(c,()=>F(t).value,e=>F(t).value=e),R(e,s)}),E(a);var s=N(a,2),c=M(s);W(M(c),{name:`plus`,class:`form-action-icon`}),We(2),E(c),E(s),P(()=>U(c,`id`,Q.form.api_keys.length===0?F(n):void 0)),I(`click`,c,()=>Q.addApiKeyRow()),R(e,t)},m=e=>{var s=gae(),c=M(s);c.value=c.__value=``,V(N(c),16,()=>F(a),e=>e,(e,t)=>{var n=hae(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(s),P(()=>{U(s,`id`,F(n)),U(s,`aria-invalid`,F(r)?`true`:void 0),U(s,`aria-describedby`,F(i))}),I(`change`,s,o),Vi(s,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),R(e,s)},h=e=>{var a=_ae();pt(a),P(()=>{U(a,`id`,F(n)),U(a,`placeholder`,t.field.placeholder||``),U(a,`aria-invalid`,F(r)?`true`:void 0),U(a,`aria-describedby`,F(i))}),I(`input`,a,o),sa(a,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),R(e,a)},g=e=>{var a=vae();Qi(a),P(()=>{U(a,`id`,F(n)),U(a,`placeholder`,t.field.placeholder||``),U(a,`aria-invalid`,F(r)?`true`:void 0),U(a,`aria-describedby`,F(i))}),I(`input`,a,o),sa(a,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),R(e,a)};B(f,e=>{t.field.control===`keys`?e(p):t.field.control===`select`?e(m,1):t.field.control===`textarea`?e(h,2):e(g,-1)});var _=N(f,2),v=e=>{var t=yae(),i=M(t,!0);E(t),P(()=>{U(t,`id`,F(n)+`-error`),z(i,F(r))}),R(e,t)},y=e=>{var r=bae(),i=M(r,!0);E(r),P(()=>{U(r,`id`,F(n)+`-hint`),z(i,t.field.hint)}),R(e,r)};B(_,e=>{F(r)?e(v):t.field.hint&&e(y,1)}),E(s),P(()=>{U(c,`for`,F(n)),z(l,`${t.field.label??``} `)}),R(e,s),O()}Ur([`input`,`click`,`change`]);var Sae=L(``),Cae=L(``),wae=L(` `),Tae=L(`Determines which fields the gateway uses to build requests.`),Eae=L(` `),Dae=L(`Suggested from the selected type; used to route requests to this provider instance and editable before saving.`),Oae=L(`Immutable once created.`),kae=L(`

      Pick a type to configure its credentials — each provider type asks for different settings.

      `),Aae=L(`
      Advanced settings
      `),jae=L(``);function Mae(e,t){D(t,!0);let n=k(()=>Jie(Q.types,Q.form.type)),r=k(()=>Q.formFields),i=k(()=>Q.fieldErrors.name||``),a=k(()=>Q.fieldErrors.type||``);function o(){Q.selectType(),Q.formMode===`create`&&(Q.form.name=tae(Q.rows,Q.form.type))}Nn(()=>{let e=Q.focusField;if(!e)return;Q.focusField=``;let t=document.getElementById(`provider-credential-`+e);t&&(t.scrollIntoView({block:`center`}),t.focus({preventScroll:!0}))}),pL(e,{get open(){return Q.formOpen},variant:`editor`,onclose:()=>Q.closeForm(),children:(e,t)=>{var s=jae(),c=M(s),l=M(c),u=M(l),d=M(u),f=M(d,!0);E(d),We(2),E(u),dL(N(u,2),{label:`Close provider editor`,onclick:()=>Q.closeForm()}),E(l);var p=N(l,2),m=e=>{var t=Sae(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(p,e=>{Q.error&&e(m)});var h=N(p,2),g=N(M(h),2),_=M(g);_.value=_.__value=``,V(N(_),16,()=>F(n),e=>e,(e,t)=>{var n=Cae(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(g);var v=N(g,2),y=e=>{var t=wae(),n=M(t,!0);E(t),P(()=>z(n,F(a))),R(e,t)},b=e=>{R(e,Tae())};B(v,e=>{F(a)?e(y):e(b,-1)}),E(h);var x=N(h,2),S=N(M(x),2);Qi(S);var C=N(S,2),w=e=>{var t=Eae(),n=M(t,!0);E(t),P(()=>z(n,F(i))),R(e,t)},T=e=>{R(e,Dae())},ee=e=>{R(e,Oae())};B(C,e=>{F(i)?e(w):Q.formMode===`create`?e(T,1):e(ee,-1)}),E(x);var te=N(x,2),ne=e=>{R(e,kae())};B(te,e=>{Q.form.type||e(ne)});var re=N(te,2);V(re,17,()=>F(r).primary,e=>e.name,(e,t)=>{R9(e,{get field(){return F(t)}})});var ie=N(re,2),ae=M(ie),oe=M(ae);let se;var ce=N(M(oe),2),le=M(ce,!0);E(ce),E(oe),E(ae),E(ie);var ue=N(ie,2),de=e=>{var t=Aae(),n=M(t),i=M(n),a=N(M(i),2),o=M(a,!0);E(a),E(i),E(n);var s=N(n,2);V(s,21,()=>F(r).advanced,e=>e.name,(e,t)=>{R9(e,{get field(){return F(t)}})}),E(s),E(t),P(e=>{t.open=Q.advancedOpen,z(o,e)},[()=>F(r).advanced.map(e=>e.label).join(`, `)]),Hr(`toggle`,t,e=>Q.advancedOpen=e.currentTarget.open),R(e,t)};B(ue,e=>{F(r).advanced.length>0&&e(de)});var fe=N(ue,2),pe=M(fe),me=N(pe,2),he=M(me);W(he,{name:`save`,class:`form-action-icon`});var ge=N(he,2),_e=M(ge,!0);E(ge),E(me),E(fe),E(c),E(s),P(()=>{z(f,Q.formMode===`edit`?`Edit Provider`:`Add Provider`),g.disabled=Q.formMode===`edit`,U(g,`aria-invalid`,F(a)?`true`:void 0),U(g,`aria-describedby`,F(a)?`provider-credential-type-error`:`provider-credential-type-hint`),S.disabled=Q.formMode===`edit`,U(S,`aria-invalid`,F(i)?`true`:void 0),U(S,`aria-describedby`,F(i)?`provider-credential-name-error`:`provider-credential-name-hint`),se=H(oe,1,`alias-toggle`,null,se,{enabled:Q.form.enabled}),U(oe,`aria-label`,(Q.form.enabled?`Disable`:`Enable`)+` provider`),z(le,Q.form.enabled?`Enabled`:`Disabled`),me.disabled=Q.formSubmitting,z(_e,Q.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,c,e=>{e.preventDefault(),Q.submitForm()}),I(`change`,g,o),Vi(g,()=>Q.form.type,e=>Q.form.type=e),I(`input`,S,()=>Q.clearFieldError(`name`)),sa(S,()=>Q.form.name,e=>Q.form.name=e),I(`click`,oe,()=>Q.form.enabled=!Q.form.enabled),I(`click`,pe,()=>Q.closeForm()),R(e,s)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var Nae=L(`

      Providers

      `),Pae=L(``),Fae=L(`
      Provider credential management is unavailable.
      `),Iae=L(``),Lae=L(`
      `),Rae=L(`

      No dashboard-managed providers yet. Add one here, or declare providers in config.yaml / environment variables.

      `),zae=L(`

      No providers match your filter.

      `),Bae=L(`
      `);function Vae(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`providers-config`&&Q.fetchPage()});var n=Bae(),r=M(n),i=M(r);fQ(M(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{R(e,Nae())},help:e=>{We(),R(e,Qr(`Configure LLM provider credentials here instead of setting API keys as - environment variables. Providers declared in config.yaml or env vars - are read-only (Config badge) and cannot be edited or deleted from the - dashboard. Keys are masked after saving.`))},$$slots:{title:!0,help:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=Pae();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Q.formSubmitting),I(`click`,t,()=>Q.openCreate()),R(e,t)};B(o,e=>{Q.available&&!G.needsAuth&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,Fae())};B(c,e=>{!Q.available&&!G.needsAuth&&e(l)});var u=N(c,2),d=e=>{var t=Iae(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(u,e=>{Q.error&&!G.needsAuth&&!Q.formOpen&&e(d)});var f=N(u,2),p=e=>{b1(e,{label:`Loading providers...`})};B(f,e=>{Q.loading&&!G.needsAuth&&e(p)});var m=N(f,2),h=e=>{var t=Lae(),n=M(t);T$(M(n),{id:`provider-credential-filter`,placeholder:`Filter by name, type, or base URL...`,label:`Filter providers by name, type, or base URL`,get value(){return Q.filter},set value(e){Q.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Q.rows.length>0||Q.filter)&&Q.available&&!G.needsAuth&&e(h)});var g=N(m,2);Mae(g,{});var _=N(g,2),v=e=>{dae(e,{})};B(_,e=>{Q.filteredRows.length>0&&Q.available&&!G.needsAuth&&e(v)});var y=N(_,2),b=e=>{R(e,Rae())};B(y,e=>{Q.rows.length===0&&!Q.filter&&!Q.loading&&!G.needsAuth&&!Q.error&&Q.available&&e(b)});var x=N(y,2),S=e=>{R(e,zae())};B(x,e=>{Q.rows.length>0&&Q.filteredRows.length===0&&Q.filter&&!Q.loading&&!G.needsAuth&&Q.available&&e(S)}),E(n),R(e,n),O()}Ur([`click`]);function z9(){return{name:``,description:``,user_path:``,labels:``,dashboard_access:!1,expires_at:``}}function B9(e){let t=[];for(let n of String(e||``).split(`,`)){let e=n.trim();e&&!t.includes(e)&&t.push(e)}return t}function V9(e){let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t;for(let e of n.split(`/`)){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function Hae(e){if(V9(e))return``;let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t,r=[];for(let e of n.split(`/`)){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function Uae(e){let t=e||{},n=String(t.name||``).trim();if(!n)return{error:`Name is required.`};let r=V9(t.user_path);if(r)return{error:r};let i=Hae(t.user_path),a=B9(t.labels),o={name:n,description:String(t.description||``).trim()||void 0,user_path:i||void 0,labels:a.length?a:void 0,dashboard_access:t.dashboard_access?!0:void 0};return t.expires_at&&(o.expires_at=t.expires_at+`T23:59:59Z`),{payload:o}}function H9(e,t=Date.now()){let n=e&&e.expires_at;if(!n)return!1;let r=Date.parse(n);return Number.isFinite(r)&&r<=t}function U9(e){return e?!!e.deactivated_at||e.enabled===!1:!1}function W9(e,t=Date.now()){return!e||e.active===!1||U9(e)?!1:!H9(e,t)}function Wae(e){return[e.name,e.description,e.user_path,e.redacted_value,...e.labels||[]].filter(Boolean).join(` `).toLowerCase()}function Gae(e,t={}){let{query:n=``,showInactive:r=!1,now:i=Date.now()}=t,a=String(n||``).trim().toLowerCase();return(Array.isArray(e)?e:[]).filter(e=>!r&&!W9(e,i)?!1:!a||Wae(e).includes(a))}function G9(e,t){return U9(e)?2:+!W9(e,t)}function K9(e){let t=e&&e.expires_at;if(!t)return 1/0;let n=Date.parse(t);return Number.isFinite(n)?n:1/0}function q9(e){let t=Date.parse(e&&e.deactivated_at||``);return Number.isFinite(t)?t:-1/0}function Kae(e,t=Date.now()){return(Array.isArray(e)?e.slice():[]).sort((e,n)=>{let r=G9(e,t),i=G9(n,t);if(r!==i)return r-i;let[a,o]=r===2?[q9(e),q9(n)]:[K9(e),K9(n)];return a===o?String(e.name||``).localeCompare(String(n.name||``)):a>o?-1:1})}function qae(e,t=Date.now()){return(Array.isArray(e)?e:[]).reduce((e,n)=>e+ +!W9(n,t),0)}function J9(){return{open:!1,id:``,name:``,value:``,submitting:!1,error:``}}var $=new class{#e=A(fn([]));get keys(){return F(this.#e)}set keys(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get showInactive(){return F(this.#a)}set showInactive(e){j(this.#a,e,!0)}#o=k(()=>Kae(Gae(this.keys,{query:this.filter,showInactive:this.showInactive})));get visibleKeys(){return F(this.#o)}set visibleKeys(e){j(this.#o,e)}#s=k(()=>qae(this.keys));get inactiveCount(){return F(this.#s)}set inactiveCount(e){j(this.#s,e)}#c=A(!1);get formOpen(){return F(this.#c)}set formOpen(e){j(this.#c,e,!0)}#l=A(!1);get formSubmitting(){return F(this.#l)}set formSubmitting(e){j(this.#l,e,!0)}#u=A(``);get issuedValue(){return F(this.#u)}set issuedValue(e){j(this.#u,e,!0)}#d=A(``);get deactivatingID(){return F(this.#d)}set deactivatingID(e){j(this.#d,e,!0)}#f=A(``);get dashboardAccessID(){return F(this.#f)}set dashboardAccessID(e){j(this.#f,e,!0)}#p=A(fn(z9()));get form(){return F(this.#p)}set form(e){j(this.#p,e,!0)}#m=A(fn(J9()));get labelsEditor(){return F(this.#m)}set labelsEditor(e){j(this.#m,e,!0)}copyState=t5({logPrefix:`Failed to copy auth key:`});async fetchKeys(){this.loading=!0,this.error=``;try{let e=await tL(`/admin/auth-keys`,{label:`auth keys`});if(e.status===503){this.available=!1,this.keys=[];return}if(e.stale)return;if(this.available=!0,!e.ok){e.status!==401&&(this.error=XI(e.data,`Unable to load API keys.`));return}this.keys=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch auth keys:`,e),this.keys=[],this.error=`Unable to load API keys.`}finally{this.loading=!1}}openForm(){this.formSubmitting||this.formOpen||(this.formOpen=!0,this.error=``,this.issuedValue||(this.copyState.reset(),this.form=z9()))}closeForm(){this.formOpen&&(this.formOpen=!1,this.error=``,this.copyState.reset(),!this.formSubmitting&&!this.issuedValue&&(this.form=z9()))}copyIssuedValue(){return this.copyState.copy(this.issuedValue)}dismissIssuedKey(){this.issuedValue=``,this.copyState.reset(),this.form=z9()}async submitForm(){let e=Uae(this.form);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await nL(`/admin/auth-keys`,`POST`,e.payload,{label:`create API key`});if(t.status===503){this.available=!1,this.error=`Auth keys feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=XI(t.data,`Failed to create API key.`),console.error(`Failed to create API key:`,t.status,this.error);return}let n=t.data||{};this.issuedValue=n.value||``,this.formOpen=!0,this.copyState.reset(),this.form=z9(),this.fetchKeys()}catch(e){console.error(`Failed to issue auth key:`,e),this.error=`Failed to create API key.`}finally{this.formSubmitting=!1}}openLabelsEditor(e){!e||this.labelsEditor.submitting||(this.labelsEditor={open:!0,id:e.id,name:e.name||``,value:(e.labels||[]).join(`, `),submitting:!1,error:``})}closeLabelsEditor(){!this.labelsEditor.open||this.labelsEditor.submitting||(this.labelsEditor=J9())}async submitLabelsEditor(){let e=this.labelsEditor;if(!e.open||e.submitting||!e.id)return;e.submitting=!0,e.error=``;let t={labels:B9(e.value)};try{let n=await nL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/labels`,`PUT`,t,{label:`update API key labels`});if(n.status===503){this.available=!1,e.error=`Auth keys feature is unavailable.`;return}if(n.stale)return;if(!n.ok){if(n.status===401){e.error=`Authentication required.`;return}e.error=XI(n.data,`Failed to update labels.`),console.error(`Failed to update auth key labels:`,n.status,e.error);return}K.success(`Labels updated for key "`+e.name+`".`),e.submitting=!1,this.closeLabelsEditor(),this.fetchKeys()}catch(t){console.error(`Failed to update auth key labels:`,t),e.error=`Failed to update labels.`}finally{e.submitting=!1}}async toggleDashboardAccess(e){if(!e||!e.active||this.dashboardAccessID)return;let t=!e.dashboard_access;this.dashboardAccessID=e.id;try{let n=await nL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/dashboard-access`,`PUT`,{dashboard_access:t},{label:`update API key dashboard access`});if(n.status===503){this.available=!1,K.error(`Auth keys feature is unavailable.`);return}if(n.stale)return;if(!n.ok){if(n.status===401){K.error(`Authentication required.`);return}let e=XI(n.data,`Failed to update dashboard access.`);console.error(`Failed to update auth key dashboard access:`,n.status,e),K.error(e);return}K.success(`Dashboard access `+(t?`granted to`:`revoked for`)+` key "`+e.name+`".`),this.fetchKeys()}catch(e){console.error(`Failed to update auth key dashboard access:`,e),K.error(`Failed to update dashboard access.`)}finally{this.dashboardAccessID=``}}async deactivateKey(e){if(!(!e||!e.active)&&window.confirm(`Deactivate key "`+e.name+`"? This cannot be undone.`)){this.deactivatingID=e.id;try{let t=await nL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/deactivate`,`POST`,void 0,{label:`deactivate API key`});if(t.status===503){this.available=!1,K.error(`Auth keys feature is unavailable.`);return}if(t.stale)return;if(!t.ok){if(t.status===401){K.error(`Authentication required.`);return}let e=XI(t.data,`Failed to deactivate key.`);console.error(`Failed to deactivate auth key:`,t.status,e),K.error(e);return}K.success(`Key "`+e.name+`" deactivated.`),this.fetchKeys()}catch(e){console.error(`Failed to deactivate auth key:`,e),K.error(`Failed to deactivate key.`)}finally{this.deactivatingID=``}}}},Jae=L(``),Yae=L(`

      Store this key securely — it won’t be shown again.

      `),Xae=L(``),Zae=L(``),Qae=L(``),$ae=L(``),eoe=L(``),toe=L(`
      `),noe=L(``);function roe(e,t){D(t,!0);function n(){G.dialogOpen||$.closeForm()}function r(e){e.preventDefault(),$.submitForm()}pL(e,{get open(){return $.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=noe(),i=M(n),a=M(i);dL(N(M(a),2),{label:`Close`,onclick:()=>$.closeForm()}),E(a);var o=N(a,2),s=e=>{var t=Yae(),n=N(M(t),2),r=M(n),i=M(r,!0);E(r),h9(N(r,2),{get state(){return $.copyState},onclick:()=>$.copyIssuedValue()}),E(n);var a=N(n,2),o=e=>{R(e,Jae())};B(a,e=>{$.copyState.error&&e(o)});var s=N(a,2),c=M(s);E(s),E(t),P(()=>z(i,$.issuedValue)),I(`click`,c,()=>$.dismissIssuedKey()),R(e,t)},c=e=>{var t=toe(),n=M(t),r=M(n),i=N(M(r),2);Qi(i),E(r);var a=N(r,2),o=N(M(a),2);Qi(o),E(a),E(n);var s=N(n,2),c=M(s);fQ(c,{copyId:`auth-key-user-path-help-copy`,label:`API key user path help`,title:e=>{R(e,Xae())},help:e=>{We(),R(e,Qr(`When set, this key overrides the configured user path request - header for audit logging and downstream request context.`))},$$slots:{title:!0,help:!0}});var l=N(c,2);Qi(l),E(s);var u=N(s,2),d=M(u);fQ(d,{copyId:`auth-key-labels-help-copy`,label:`API key labels help`,title:e=>{R(e,Zae())},help:e=>{We(),R(e,Qr(`Every request authenticated with this key gets these labels, in - addition to any labels from tagging headers. Labels show up in - usage analytics, the request log, and audit logs.`))},$$slots:{title:!0,help:!0}});var f=N(d,2);Qi(f),E(u);var p=N(u,2),m=M(p);fQ(m,{copyId:`auth-key-dashboard-access-help-copy`,label:`API key dashboard access help`,title:e=>{R(e,Qae())},help:e=>{We(),R(e,Qr(`When off, this key is denied the dashboard and every /admin API - endpoint. Model endpoints and GET /v1/usage stay available to - the key. The master key always has dashboard access.`))},$$slots:{title:!0,help:!0}});var h=N(m,2),g=M(h);Qi(g),We(2),E(h),E(p);var _=N(p,2),v=N(M(_),2);pt(v),E(_);var y=N(_,2),b=e=>{var t=$ae(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(y,e=>{$.error&&e(b)});var x=N(y,2),S=M(x),C=M(S),w=e=>{var t=eoe();W(M(t),{name:`plus`,class:`table-icon-svg`}),E(t),R(e,t)};B(C,e=>{$.formSubmitting||e(w)});var T=N(C,2),ee=M(T,!0);E(T),E(S),E(x),E(t),P(()=>{S.disabled=$.formSubmitting,z(ee,$.formSubmitting?`Creating...`:`Create API Key`)}),sa(i,()=>$.form.name,e=>$.form.name=e),sa(o,()=>$.form.expires_at,e=>$.form.expires_at=e),sa(l,()=>$.form.user_path,e=>$.form.user_path=e),sa(f,()=>$.form.labels,e=>$.form.labels=e),ca(g,()=>$.form.dashboard_access,e=>$.form.dashboard_access=e),sa(v,()=>$.form.description,e=>$.form.description=e),R(e,t)};B(o,e=>{$.issuedValue?e(s):e(c,-1)}),E(i),E(n),Hr(`submit`,i,r),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var ioe=L(``),aoe=L(``);function ooe(e,t){D(t,!0);function n(e){e.preventDefault(),$.submitLabelsEditor()}pL(e,{get open(){return $.labelsEditor.open},variant:`editor`,onclose:()=>$.closeLabelsEditor(),children:(e,t)=>{var r=aoe(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),dL(N(o,2),{label:`Close`,onclick:()=>$.closeLabelsEditor()}),E(a);var l=N(a,2),u=N(M(l),2);Qi(u),We(2),E(l);var d=N(l,2),f=e=>{var t=ioe(),n=M(t,!0);E(t),P(()=>z(n,$.labelsEditor.error)),R(e,t)};B(d,e=>{$.labelsEditor.error&&e(f)});var p=N(d,2),m=M(p),h=M(m,!0);E(m),E(p),E(i),E(r),P(()=>{z(c,$.labelsEditor.name),m.disabled=$.labelsEditor.submitting,z(h,$.labelsEditor.submitting?`Saving...`:`Save Labels`)}),Hr(`submit`,i,n),sa(u,()=>$.labelsEditor.value,e=>$.labelsEditor.value=e),R(e,r)},$$slots:{default:!0}}),O()}var soe=L(` `),coe=L(`
      `),loe=L(``),uoe=L(`Expired`),doe=L(` `),foe=L(` `,1),poe=L(`Deactivated`),moe=L(`
      `),hoe=L(`
      NameDescriptionUser PathLabelsTokenDashboard Access ExpiresCreated
      `);function goe(e,t){D(t,!0);var n=hoe(),r=M(n),i=M(r),a=M(i),o=N(M(a),5),s=M(o);W(N(M(s)),{name:`info`,width:`13`,height:`13`}),E(s),E(o),We(3),E(a),E(i);var c=N(i);V(c,21,()=>$.visibleKeys,e=>e.id,(e,t)=>{var n=moe();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i),s=M(o,!0);E(o);var c=N(o),l=M(c,!0);E(c);var u=N(c),d=M(u),f=e=>{var n=coe();V(n,20,()=>F(t).labels||[],e=>e,(e,t)=>{var n=soe(),r=M(n,!0);E(n),P(e=>{Ri(n,e),z(r,t)},[()=>sY(t)]),R(e,n)}),E(n),R(e,n)},p=e=>{R(e,loe())};B(d,e=>{(F(t).labels||[]).length>0?e(f):e(p,-1)}),E(u);var m=N(u),h=M(m),g=M(h,!0);E(h),E(m);var _=N(m),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x),C=e=>{var n=doe(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{R(e,uoe())},s=k(()=>H9(F(t)));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>qL(F(t).expires_at)]),R(e,n)},w=e=>{R(e,Qr(`—`))};B(S,e=>{F(t).expires_at?e(C):e(w,-1)}),E(x);var T=N(x),ee=M(T,!0);E(T);var te=N(T),ne=M(te),re=M(ne),ie=e=>{var n=foe(),r=Cn(n);{let e=k(()=>(F(t).dashboard_access?`Revoke dashboard access for API key `:`Grant dashboard access to API key `)+F(t).name),n=k(()=>!!$.dashboardAccessID);S1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.toggleDashboardAccess(F(t)),get disabled(){return F(n)},children:(e,n)=>{{let n=k(()=>F(t).dashboard_access?`shield-off`:`shield-check`);W(e,{get name(){return F(n)},class:`table-icon-svg`})}},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>`Edit labels for API key `+F(t).name);S1(i,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.openLabelsEditor(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var a=N(i,2);{let e=k(()=>($.deactivatingID===F(t).id?`Deactivating API key `:`Deactivate API key `)+F(t).name),n=k(()=>$.deactivatingID===F(t).id);S1(a,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>$.deactivateKey(F(t)),get disabled(){return F(n)},children:(e,t)=>{W(e,{name:`power`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)},ae=e=>{var n=poe();P(e=>U(n,`title`,e),[()=>F(t).deactivated_at?`Deactivated on `+JL(F(t).deactivated_at):`Deactivated`]),R(e,n)},oe=k(()=>U9(F(t)));B(re,e=>{F(t).active?e(ie):F(oe)&&e(ae,1)}),E(ne),E(te),E(n),P((e,i,o)=>{r=H(n,1,`svelte-nf0ldb`,null,r,e),z(a,F(t).name),z(s,F(t).description||`—`),z(l,F(t).user_path||`—`),z(g,F(t).redacted_value),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).dashboard_access,"auth-key-status-inactive":!F(t).dashboard_access}),z(b,F(t).dashboard_access?`Allowed`:`Denied`),U(x,`title`,i),z(ee,o)},[()=>({"auth-key-row-deactivated":U9(F(t))}),()=>F(t).expires_at?JL(F(t).expires_at):``,()=>YI.formatTimestamp(F(t).created_at)]),R(e,n)}),E(c),E(r),E(n),R(e,n),O()}var _oe=L(``),voe=L(`
      API key management is unavailable.
      `),yoe=L(``),boe=L(`

      Managed API keys authenticate requests to the gateway. Deactivation is - permanent — create a new key if access needs to be restored.

      `),xoe=L(`
      `),Soe=L(`
      `),Coe=L(`

      `),woe=L(`

      No API keys yet. Issue a key to get started.

      `),Toe=L(`
      `);function Eoe(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`auth-keys`&&$.fetchKeys()});var n=Toe(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=_oe();W(M(t),{name:`plus`,class:`table-icon-svg`}),We(2),E(t),P(()=>t.disabled=$.formSubmitting),I(`click`,t,()=>{$.formSubmitting||$.openForm()}),R(e,t)};B(a,e=>{$.available&&!G.authError&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,voe())};B(s,e=>{!$.available&&!G.authError&&e(c)});var l=N(s,2),u=e=>{var t=yoe(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(l,e=>{$.error&&!G.authError&&!$.formOpen&&e(u)});var d=N(l,2),f=e=>{R(e,boe())};B(d,e=>{$.available&&!G.authError&&e(f)});var p=N(d,2);roe(p,{});var m=N(p,2);ooe(m,{});var h=N(m,2),g=e=>{var t=xoe();LZ(M(t),{size:18,label:`Loading API keys`}),E(t),R(e,t)};B(h,e=>{$.loading&&$.keys.length===0&&e(g)});var _=N(h,2),v=e=>{var t=Soe(),n=M(t);T$(M(n),{placeholder:`Filter by name, description, user path, label, or token...`,label:`Filter API keys by name, description, user path, label, or token`,get value(){return $.filter},set value(e){$.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i);Qi(a);var o=N(a,2),s=N(M(o)),c=e=>{var t=Qr();P(()=>z(t,`(${$.inactiveCount??``})`)),R(e,t)};B(s,e=>{$.inactiveCount>0&&e(c)}),E(o),E(i),E(r),E(t),ca(a,()=>$.showInactive,e=>$.showInactive=e),R(e,t)};B(_,e=>{$.keys.length>0&&$.available&&e(v)});var y=N(_,2),b=e=>{goe(e,{})};B(y,e=>{$.visibleKeys.length>0&&$.available&&e(b)});var x=N(y,2),S=e=>{var t=Coe(),n=M(t);E(t),P(()=>z(n,`No API keys match the current filter.${$.inactiveCount>0&&!$.showInactive?` `+$.inactiveCount+` inactive `+($.inactiveCount===1?`key is`:`keys are`)+` hidden.`:``}`)),R(e,t)};B(x,e=>{$.keys.length>0&&$.visibleKeys.length===0&&$.available&&e(S)});var C=N(x,2),w=e=>{R(e,woe())};B(C,e=>{$.keys.length===0&&!$.loading&&!G.authError&&!$.error&&$.available&&e(w)}),E(n),R(e,n),O()}Ur([`click`]);var Doe=L(`

      Timezone

      `),Ooe=L(``),koe=L(``),Aoe=L(`
      `,1);function joe(e,t){D(t,!0);function n(){YI.saveOverride(),G.refresh()}function r(){YI.clearOverride(),G.refresh()}var i=Aoe(),a=Cn(i);fQ(M(a),{copyId:`timezone-help-copy`,label:`timezone help`,text:`Day-based analytics, charts, and date filters use your effective timezone. Usage and audit logs keep UTC in the hover title while rendering row timestamps in your effective timezone.`,title:e=>{R(e,Doe())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=N(M(s),2),l=M(c),u=M(l);E(l),l.value=l.__value=``,V(N(l),17,()=>YI.options,e=>e.value,(e,t)=>{var n=Ooe(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(c),E(s),E(o);var d=N(o,2),f=M(d),p=e=>{var t=koe();I(`click`,t,r),R(e,t)};B(f,e=>{YI.override&&e(p)}),E(d),P(e=>z(u,`Automatic (${e??``})`),[()=>YI.detectedTimeZoneLabel()]),Hr(`focus`,c,()=>YI.ensureOptions()),I(`change`,c,n),Vi(c,()=>YI.override,e=>YI.override=e),R(e,i),O()}Ur([`change`,`click`]);var Moe=L(``),Noe=L(`

      Failover

      `,1);function Poe(e,t){D(t,!0);let n=k(()=>X.failoverSaving||X.failoverGenerating||X.failoverDraftSaving||!X.failoverAvailable||!X.failoverEnabled());var r=Noe(),i=Cn(r),a=N(M(i),2),o=M(a),s=M(o);W(s,{name:`wand-sparkles`,class:`form-action-icon`});var c=N(s,2),l=M(c,!0);E(c),E(o);var u=N(o,2);W(M(u),{name:`trash-2`,class:`form-action-icon`}),We(2),E(u),E(a),E(i);var d=N(i,2),f=M(d),p=e=>{var t=Moe(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(f,e=>{X.failoverError&&e(p)}),E(d),X6(N(d,2),{}),P(()=>{o.disabled=F(n),z(l,X.failoverGenerating?`Generating...`:`Generate failover models automatically`),u.disabled=F(n)}),I(`click`,o,()=>X.generateFailoverRules()),I(`click`,u,()=>X.openFailoverResetDialog()),R(e,r),O()}Ur([`click`]);function Foe(){return{daily_reset_hour:0,daily_reset_minute:0,weekly_reset_weekday:1,weekly_reset_hour:0,weekly_reset_minute:0,monthly_reset_day:1,monthly_reset_hour:0,monthly_reset_minute:0}}function Y9(e,t){let n=t||{},r=(e,t)=>{if(e===``)return t;let n=Number(e);return Number.isFinite(n)&&Number.isInteger(n)?Math.trunc(n):t},i=(e,t)=>r(n[e],t),a=(t,n)=>e?r(e[t],n):n;return{daily_reset_hour:a(`daily_reset_hour`,i(`daily_reset_hour`,0)),daily_reset_minute:a(`daily_reset_minute`,i(`daily_reset_minute`,0)),weekly_reset_weekday:a(`weekly_reset_weekday`,i(`weekly_reset_weekday`,1)),weekly_reset_hour:a(`weekly_reset_hour`,i(`weekly_reset_hour`,0)),weekly_reset_minute:a(`weekly_reset_minute`,i(`weekly_reset_minute`,0)),monthly_reset_day:a(`monthly_reset_day`,i(`monthly_reset_day`,1)),monthly_reset_hour:a(`monthly_reset_hour`,i(`monthly_reset_hour`,0)),monthly_reset_minute:a(`monthly_reset_minute`,i(`monthly_reset_minute`,0))}}function Ioe(){return[{value:0,label:`Sunday`},{value:1,label:`Monday`},{value:2,label:`Tuesday`},{value:3,label:`Wednesday`},{value:4,label:`Thursday`},{value:5,label:`Friday`},{value:6,label:`Saturday`}]}var Loe=L(`

      Budget Resets

      `),Roe=L(``),zoe=L(`

      If the selected day does not exist in a month, the reset runs on - the last day of that month.

      `),Boe=L(``),Voe=L(``),Hoe=L(`
      Monthly
      Weekly
      Daily
      `,1);function Uoe(e,t){D(t,!0);let n=A(fn(Foe())),r=A(!1),i=A(!1),a=A(``),o=A(!1),s=k(()=>aL.budgetsVisible());async function c(){if(await aL.ensureLoaded(),!aL.budgetsVisible()){j(a,``);return}j(r,!0),j(a,``);try{let e=await tL(`/admin/budgets/settings`,{label:`budget settings`});if(e.stale)return;if(!e.ok){j(a,`Unable to load budget settings.`);return}j(n,Y9(e.data,F(n)),!0)}catch(e){console.error(`Failed to fetch budget settings:`,e),j(a,`Unable to load budget settings.`)}finally{j(r,!1)}}async function l(){if(!F(i)){j(i,!0);try{let e=await nL(`/admin/budgets/settings`,`PUT`,Y9(F(n),F(n)),{label:`budget settings`});if(e.stale)return;if(!e.ok){K.error(`Unable to save budget settings.`);return}j(n,Y9(e.data,F(n)),!0),j(a,``),K.success(`Budget settings saved.`)}catch(e){console.error(`Failed to save budget settings:`,e),K.error(`Unable to save budget settings.`)}finally{j(i,!1)}}}Nn(()=>{G.refreshTick,c()});var u=$r(),d=Cn(u),f=e=>{var t=Hoe(),s=Cn(t),c=M(s);fQ(c,{copyId:`budget-settings-help-copy`,label:`budget help`,text:`Budget reset anchors are stored in the database and evaluated in UTC. Hourly budgets reset at the top of each hour.`,title:e=>{R(e,Loe())},$$slots:{title:!0}});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);fQ(p,{copyId:`budget-monthly-day-help-copy`,label:`day of month help`,external:!0,get open(){return F(o)},set open(e){j(o,e,!0)},title:e=>{R(e,Roe())},$$slots:{title:!0}});var m=N(p,2);Qi(m),E(f);var h=N(f,2),g=N(M(h),2);Qi(g),E(h);var _=N(h,2),v=N(M(_),2);Qi(v),E(_);var y=N(_,2),b=M(y),x=e=>{R(e,zoe())};B(b,e=>{F(o)&&e(x)}),E(y),E(d);var S=N(d,2),C=N(M(S),2),w=N(M(C),2);V(w,21,Ioe,e=>e.value,(e,t)=>{var n=Boe(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(w),E(C);var T=N(C,2),ee=N(M(T),2);Qi(ee),E(T);var te=N(T,2),ne=N(M(te),2);Qi(ne),E(te),We(2),E(S);var re=N(S,2),ie=N(M(re),4),ae=N(M(ie),2);Qi(ae),E(ie);var oe=N(ie,2),se=N(M(oe),2);Qi(se),E(oe),We(2),E(re),E(u);var ce=N(u,2),le=M(ce);W(M(le),{name:`save`,class:`form-action-icon`}),We(2),E(le);var ue=N(le,2),de=e=>{LZ(e,{size:16,label:`Loading budget settings`})};B(ue,e=>{F(r)&&e(de)}),E(ce),E(s);var fe=N(s,2),pe=M(fe),me=e=>{var t=Voe(),n=M(t,!0);E(t),P(()=>z(n,F(a))),R(e,t)};B(pe,e=>{F(a)&&e(me)}),E(fe),P(()=>{le.disabled=F(i)||F(r),U(le,`aria-busy`,F(i)?`true`:`false`)}),sa(m,()=>F(n).monthly_reset_day,e=>F(n).monthly_reset_day=e),sa(g,()=>F(n).monthly_reset_hour,e=>F(n).monthly_reset_hour=e),sa(v,()=>F(n).monthly_reset_minute,e=>F(n).monthly_reset_minute=e),Vi(w,()=>F(n).weekly_reset_weekday,e=>F(n).weekly_reset_weekday=e),sa(ee,()=>F(n).weekly_reset_hour,e=>F(n).weekly_reset_hour=e),sa(ne,()=>F(n).weekly_reset_minute,e=>F(n).weekly_reset_minute=e),sa(ae,()=>F(n).daily_reset_hour,e=>F(n).daily_reset_hour=e),sa(se,()=>F(n).daily_reset_minute,e=>F(n).daily_reset_minute=e),I(`click`,le,l),R(e,t)};B(d,e=>{F(s)&&e(f)}),R(e,u),O()}Ur([`click`]);var Woe=L(`

      Reset All Budgets

      Start new budget periods for every configured budget without changing - the limits.

      `);function Goe(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=Woe(),n=N(M(t),2),r=M(n);W(M(r),{name:`rotate-ccw`,class:`form-action-icon`}),We(2),E(r),E(n),E(t),P(()=>r.disabled=J.resetAllLoading),I(`click`,r,()=>J.openResetDialog()),R(e,t)},a=k(()=>aL.budgetsVisible());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}Ur([`click`]);function Koe(){return{header:``,prefix:``,do_not_pass:!1,delimiter:``,managed:!1}}function X9(e){return(e&&Array.isArray(e.headers)?e.headers:[]).map(e=>({header:typeof e.header==`string`?e.header:``,prefix:typeof e.prefix==`string`?e.prefix:``,do_not_pass:e.do_not_pass===!0,delimiter:typeof e.delimiter==`string`&&e.delimiter!==`,`?e.delimiter:``,managed:e.managed===!0}))}function qoe(e){return{headers:(Array.isArray(e)?e:[]).filter(e=>!e.managed&&e.header.trim()!==``).map(e=>({header:e.header.trim(),prefix:e.prefix,do_not_pass:e.do_not_pass,delimiter:e.delimiter}))}}function Joe(e){return e&&e.error&&e.error.message?e.error.message:``}var Yoe=L(`

      Tagging based on headers

      `),Xoe=L(`config`),Zoe=L(``),Qoe=L(`
      `),$oe=L(`

      No tagging headers configured. Requests are not labelled.

      `),ese=L(``),tse=L(`
      `,1);function nse(e,t){D(t,!0);let n=A(fn([])),r=A(!0),i=A(!1),a=A(!1),o=A(``);function s(){F(n).push(Koe())}function c(e){let t=F(n)[e];!t||t.managed||F(n).splice(e,1)}async function l(){j(i,!0),j(o,``);try{let e=await tL(`/admin/tagging/settings`,{label:`tagging settings`});if(e.stale)return;if(!e.ok){j(o,`Unable to load tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0)}catch(e){console.error(`Failed to fetch tagging settings:`,e),j(o,`Unable to load tagging settings.`)}finally{j(i,!1)}}async function u(){if(!(F(a)||!F(r))){j(a,!0);try{let e=await nL(`/admin/tagging/settings`,`PUT`,qoe(F(n)),{label:`tagging settings`});if(e.stale)return;if(!e.ok){K.error(e.status!==401&&Joe(e.data)||`Unable to save tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0),j(o,``),K.success(`Tagging settings saved.`)}catch(e){console.error(`Failed to save tagging settings:`,e),K.error(`Unable to save tagging settings.`)}finally{j(a,!1)}}}Nn(()=>{G.refreshTick,l()});var d=tse(),f=Cn(d),p=M(f);fQ(p,{copyId:`tagging-settings-help-copy`,label:`tagging help`,text:`Each request is labelled from the listed headers; labels land in usage tracking and audit logs. A header value can carry several labels split by the delimiter (default: comma). The prefix is trimmed from each label only — the header itself is forwarded unchanged unless 'Do not pass' is checked. Rows marked CONFIG come from config.yaml or TAGGING_HEADER_* env vars and are read-only here.`,title:e=>{R(e,Yoe())},$$slots:{title:!0}});var m=N(p,2),h=M(m);V(h,17,()=>F(n),oi,(e,t,n)=>{var i=Qoe(),a=M(i),o=M(a);U(o,`for`,`tagging-header-`+n);var s=N(o,2);Qi(s),U(s,`id`,`tagging-header-`+n),E(a);var l=N(a,2),u=M(l);U(u,`for`,`tagging-prefix-`+n);var d=N(u,2);Qi(d),U(d,`id`,`tagging-prefix-`+n),E(l);var f=N(l,2),p=M(f);U(p,`for`,`tagging-delimiter-`+n);var m=N(p,2);Qi(m),U(m,`id`,`tagging-delimiter-`+n),E(f);var h=N(f,2),g=M(h);Qi(g),We(2),E(h);var _=N(h,2),v=M(_),y=e=>{R(e,Xoe())},b=e=>{var i=Zoe();P(()=>{i.disabled=!F(r),U(i,`aria-label`,`Remove tagging header `+(F(t).header||n+1))}),I(`click`,i,()=>c(n)),R(e,i)};B(v,e=>{F(t).managed?e(y):e(b,-1)}),E(_),E(i),P(()=>{s.disabled=F(t).managed||!F(r),d.disabled=F(t).managed||!F(r),m.disabled=F(t).managed||!F(r),g.disabled=F(t).managed||!F(r)}),sa(s,()=>F(t).header,e=>F(t).header=e),sa(d,()=>F(t).prefix,e=>F(t).prefix=e),sa(m,()=>F(t).delimiter,e=>F(t).delimiter=e),ca(g,()=>F(t).do_not_pass,e=>F(t).do_not_pass=e),R(e,i)});var g=N(h,2),_=e=>{LZ(e,{size:16,label:`Loading tagging settings`})};B(g,e=>{F(i)&&e(_)});var v=N(g,2),y=e=>{R(e,$oe())};B(v,e=>{!F(i)&&F(n).length===0&&e(y)}),E(m);var b=N(m,2),x=M(b);W(M(x),{name:`plus`,class:`form-action-icon`}),We(2),E(x);var S=N(x,2);W(M(S),{name:`save`,class:`form-action-icon`}),We(2),E(S),E(b),E(f);var C=N(f,2),w=M(C),T=e=>{var t=ese(),n=M(t,!0);E(t),P(()=>z(n,F(o))),R(e,t)};B(w,e=>{F(o)&&e(T)}),E(C),P(()=>{x.disabled=!F(r)||F(a)||F(i),S.disabled=!F(r)||F(a)||F(i),U(S,`aria-busy`,F(a)?`true`:`false`)}),I(`click`,x,s),I(`click`,S,u),R(e,d),O()}Ur([`click`]);function rse(e){let t=e||{};if(t.selectedPreset)return{days:parseInt(t.selectedPreset,10)||30};let n=t.customStartDate?KL(t.customStartDate):``,r=t.customEndDate||t.today||null;return{start_date:n,end_date:r?KL(r):``}}function ise(e,t,n,r){return{...rse(e),user_path:String(t||``).trim(),selector:String(n||``).trim(),confirmation:r}}function ase(e){let t=Number(e&&e.matched||0),n=Number(e&&e.recalculated||0),r=Number(e&&e.without_pricing||0),i=`Pricing recalculated for `+n+` of `+t+` usage record`+(t===1?``:`s`)+`.`;return r>0&&(i+=` `+r+` usage record`+(r===1?` still lacks`:`s still lack`)+` pricing metadata.`),i}var ose=L(`

      Usage Pricing Recalculation

      `),sse=L(`
      `);function cse(e,t){D(t,!0);let n=A(``),r=A(``),i=A(!1),a=k(()=>aL.booleanFlag(`USAGE_PRICING_RECALCULATION_ENABLED`,!1));function o(){if(!F(a)){K.error(`Usage pricing recalculation is unavailable.`);return}F(i)||vL.open({title:`Recalculate Pricing`,titleId:`pricingRecalculateDialogTitle`,inputId:`pricing-recalculate-confirmation`,requiredText:`recalculate`,confirmLabel:`Recalculate Pricing`,icon:`calculator`,dialogClass:`pricing-recalculate-dialog`,message:`Stored usage cost fields matching the selected filters will be overwritten.`,onConfirm:()=>s()})}async function s(){if(!F(a)){K.error(`Usage pricing recalculation is unavailable.`);return}if(!F(i)){j(i,!0);try{let e=await nL(`/admin/usage/recalculate-pricing`,`POST`,ise({selectedPreset:tR.selectedPreset,customStartDate:tR.customStartDate,customEndDate:tR.customEndDate,today:YI.todayDate()},F(n),F(r),`recalculate`),{label:`pricing recalculation`});if(e.stale)return;if(!e.ok){vL.error=`Unable to recalculate pricing.`;return}vL.close(),K.success(ase(e.data)),iR.fetchUsage()}catch(e){console.error(`Failed to recalculate pricing:`,e),vL.error=`Unable to recalculate pricing.`}finally{j(i,!1)}}}var c=$r(),l=Cn(c),u=e=>{var t=sse(),s=M(t);fQ(s,{copyId:`pricing-recalculate-help-copy`,label:`pricing recalculation help`,text:`Recalculate stored usage costs from the current model pricing metadata. Filters are applied to the selected date range, user path subtree, and provider/model selector or alias.`,title:e=>{R(e,ose())},$$slots:{title:!0}});var c=N(s,2),l=M(c),u=N(M(l),2);xR(M(u),{}),E(u),E(l);var d=N(l,2),f=N(M(d),2);Qi(f),E(d);var p=N(d,2),m=N(M(p),2);Qi(m),E(p),E(c);var h=N(c,2),g=M(h);W(M(g),{name:`calculator`,class:`form-action-icon`}),We(2),E(g),E(h),E(t),P(()=>{g.disabled=F(i)||!F(a),U(g,`aria-busy`,F(i)?`true`:`false`)}),sa(f,()=>F(n),e=>j(n,e)),sa(m,()=>F(r),e=>j(r,e)),I(`click`,g,o),R(e,t)};B(l,e=>{F(a)&&e(u)}),R(e,c),O()}Ur([`click`]);function Z9(e){return String(e&&e.status||`ok`).toLowerCase()}function Q9(e){if(!e||typeof e!=`object`)return`Runtime refresh completed.`;let t=Number(e.model_count||0),n=Number(e.provider_count||0),r=Z9(e);return(r===`ok`?`Runtime refreshed.`:r===`partial`?`Runtime refresh completed with warnings.`:`Runtime refresh failed.`)+` `+t+` model`+(t===1?``:`s`)+` across `+n+` provider`+(n===1?``:`s`)+`.`}function lse(e){return!!e&&Z9(e)===`ok`}function $9(e){let t=e&&e.steps;return Array.isArray(t)?t:[]}function use(e){let t=String(e&&e.name||``).replace(/_/g,` `),n=String(e&&e.status||``).trim(),r=String(e&&(e.error||e.message)||``).trim();return t?r?t+`: `+n+` - `+r:t+`: `+n:r||n||``}var dse=L(`

      Runtime Refresh

      `),fse=L(`
    • `),pse=L(`
        `),mse=L(`
        `,1);function hse(e,t){D(t,!0);let n=A(!1),r=A(null);async function i(){if(!F(n)){j(n,!0),j(r,null);try{let e=await nL(`/admin/runtime/refresh`,`POST`,void 0,{label:`runtime refresh`});if(e.stale)return;if(!e.ok){K.error(`Runtime refresh failed.`);return}j(r,e.data&&typeof e.data==`object`?e.data:null,!0),lse(F(r))?K.success(Q9(F(r))):K.error(Q9(F(r))),G.refresh()}catch(e){console.error(`Failed to refresh runtime:`,e),K.error(`Runtime refresh failed.`)}finally{j(n,!1)}}}var a=mse(),o=Cn(a),s=M(o);fQ(s,{copyId:`runtime-refresh-help-copy`,label:`runtime refresh help`,text:`Pull the latest model metadata, provider inventory, API keys, aliases, model access rules, guardrails, and workflows.`,title:e=>{R(e,dse())},$$slots:{title:!0}});var c=N(s,2),l=M(c);let u;W(M(l),{name:`refresh-cw`,class:`settings-refresh-icon`}),We(2),E(l),E(c),E(o);var d=N(o,2),f=M(d),p=e=>{var t=pse();V(t,21,()=>$9(F(r)),e=>e.name,(e,t)=>{var n=fse(),r=M(n,!0);E(n),P(e=>{H(n,1,`runtime-refresh-step is-`+F(t).status,`svelte-yeq2mp`),z(r,e)},[()=>use(F(t))]),R(e,n)}),E(t),R(e,t)},m=k(()=>$9(F(r)).length>0);B(f,e=>{F(m)&&e(p)}),E(d),P(()=>{u=H(l,1,`btn btn-primary btn-with-icon settings-refresh-btn`,null,u,{"is-refreshing":F(n)}),l.disabled=F(n),U(l,`aria-busy`,F(n)?`true`:`false`)}),I(`click`,l,i),R(e,a),O()}Ur([`click`]);var gse=L(`
        `);function _se(e,t){D(t,!0),Nn(()=>{G.refreshTick,LI.page===`settings`&&(YI.ensureOptions(),aL.ensureLoaded())});var n=gse(),r=N(M(n),2),i=M(r);joe(i,{});var a=N(i,2);Poe(a,{});var o=N(a,2);Uoe(o,{});var s=N(o,2);Goe(s,{});var c=N(s,2);nse(c,{});var l=N(c,2);cse(l,{}),hse(N(l,2),{}),E(r);var u=N(r,2),d=M(u,!0);E(u),E(n),P(e=>z(d,e),[()=>MI()]),R(e,n),O()}var vse=L(`
        `);function yse(e,t){D(t,!0);let n={overview:PQ,usage:v1,budgets:I0,"rate-limits":W2,models:y8,workflows:Tte,"audit-logs":Lre,guardrails:mie,"mcp-servers":Wie,"providers-config":Vae,"auth-keys":Eoe,settings:_se};YI.init(),G.init(),CI.init(),wI.init(),LI.init(),Nn(()=>{G.refreshTick,aL.fetch(),IL.fetchModels(),IL.fetchCategories()}),Nn(()=>{document.body.classList.toggle(`dashboard-modal-open`,TI.anyOpen)});let r=k(()=>n[LI.page]||PQ);var i=vse(),a=M(i);lL(a,{});var o=N(a,2),s=M(o);FL(s,{}),_i(N(s,2),()=>F(r),(e,t)=>{t(e,{})}),E(o);var c=N(o,2);gL(c,{});var l=N(c,2);SL(l,{}),NL(N(l,2),{}),E(i),R(e,i),O()}ti(yse,{target:document.getElementById(`app`)}); \ No newline at end of file diff --git a/internal/admin/dashboard/static/dist/assets/index-Gd_0GZP5.js b/internal/admin/dashboard/static/dist/assets/index-Gd_0GZP5.js new file mode 100644 index 000000000..067a22240 --- /dev/null +++ b/internal/admin/dashboard/static/dist/assets/index-Gd_0GZP5.js @@ -0,0 +1,67 @@ +var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t{e=n,t=r}),resolve:e,reject:t}}function _(e,t,n=!1){return e===void 0?n?t():t:e}function v(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var y=1<<24,b=1024,x=2048,S=4096,C=8192,w=16384,T=32768,ee=1<<25,te=65536,ne=1<<19,re=1<<20,ie=1<<25,ae=65536,oe=1<<21,se=1<<22,ce=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ye(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function be(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function xe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Se(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ce(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function we(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Te(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ee(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function De(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Oe(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ke(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ae={},je=Symbol(`uninitialized`),Me=`http://www.w3.org/1999/xhtml`,Ne=`http://www.w3.org/2000/svg`,Pe=`http://www.w3.org/1998/Math/MathML`;function Fe(){console.warn(`https://svelte.dev/e/derived_inert`)}function Ie(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Le(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Re(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var ze=!1;function Be(e){ze=e}var Ve;function He(e){if(e===null)throw Ie(),Ae;return Ve=e}function Ue(){return He(xn(Ve))}function E(e){if(ze){if(xn(Ve)!==null)throw Ie(),Ae;Ve=e}}function We(e=1){if(ze){for(var t=e,n=Ve;t--;)n=xn(n);Ve=n}}function Ge(e=!0){for(var t=0,n=Ve;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=xn(n);e&&n.remove(),n=i}}function Ke(e){if(!e||e.nodeType!==8)throw Ie(),Ae;return e.data}function qe(e){return e===this.v}function Je(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Ye(e){return!Je(e,this.v)}var Xe=null;function Ze(e){Xe=e}function D(e,t=!1,n){Xe={p:Xe,i:!1,c:null,e:null,s:e,x:null,r:or,l:null}}function O(e){var t=Xe,n=t.e;if(n!==null){t.e=null;for(var r of n)Nn(r)}return e!==void 0&&(t.x=e),t.i=!0,Xe=t.p,e??{}}function Qe(){return!0}var $e=[];function et(){var e=$e;$e=[],h(e)}function tt(e){if($e.length===0&&!Bt){var t=$e;queueMicrotask(()=>{t===$e&&et()})}$e.push(e)}function nt(){for(;$e.length>0;)et()}function rt(e){var t=or;if(t===null)return rr.f|=ce,e;if(!(t.f&32768)&&!(t.f&4))throw e;it(e,t)}function it(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var at=~(x|S|b);function ot(e,t){e.f=e.f&at|t}function st(e){e.f&512||e.deps===null?ot(e,b):ot(e,S)}function ct(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ae,ct(t.deps))}function lt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),ct(e.deps),ot(e,b)}var ut=!1;function dt(e){var t=ut;try{return ut=!1,[e(),ut]}finally{ut=t}}function ft(e,t){if(t){let t=document.body;e.autofocus=!0,tt(()=>{document.activeElement===t&&e.focus()})}}function pt(e){ze&&bn(e)!==null&&Cn(e)}var mt=!1;function ht(){mt||(mt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function gt(e){var t=rr,n=or;ar(null),sr(null);try{return e()}finally{ar(t),sr(n)}}function _t(e,t,n,r=n){e.addEventListener(t,()=>gt(n));let i=e[ge];i?e[ge]=()=>{i(),r(!0)}:e[ge]=()=>r(!0),ht()}function vt(e){let t=0,n=on(0),r;return()=>{An()&&(I(n),Rn(()=>(t===0&&(r=Or(()=>e(()=>un(n)))),t+=1,()=>{tt(()=>{--t,t===0&&(r?.(),r=void 0,un(n))})})))}}var yt=te|ne;function bt(e,t,n,r){new xt(e,t,n,r)}var xt=class{parent;is_pending=!1;transform_error;#e;#t=ze?Ve:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=vt(()=>(this.#m=on(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=or;t.b=this,t.f|=128,n(e)},this.parent=or.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=zn(()=>{if(ze){let e=this.#t;Ue();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},yt),ze&&(this.#e=Ve)}#g(){try{this.#a=Vn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Vn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Vn(()=>e(this.#e)),tt(()=>{var e=this.#c=document.createDocumentFragment(),t=yn();e.append(t),this.#a=this.#x(()=>Vn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Jn(this.#o,()=>{this.#o=null}),this.#b(It))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Vn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Qn(this.#a,e);let t=this.#n.pending;this.#o=Vn(()=>t(this.#e))}else this.#b(It)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){lt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=or,n=rr,r=Xe;sr(this.#i),ar(this.#i),Ze(this.#i.ctx);try{return Kt.ensure(),e()}catch(e){return rt(e),null}finally{sr(t),ar(n),Ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Jn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,tt(()=>{this.#d=!1,this.#m&&cn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),I(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;It?.is_fork?(this.#a&&It.skip_effect(this.#a),this.#o&&It.skip_effect(this.#o),this.#s&&It.skip_effect(this.#s),It.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Gn(this.#a),null),this.#o&&=(Gn(this.#o),null),this.#s&&=(Gn(this.#s),null),ze&&(He(this.#t),We(),He(Ge()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Re();return}r=!0,i&&ke(),this.#s!==null&&Jn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){it(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Vn(()=>{var t=or;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return it(e,this.#i.parent),null}}))};tt(()=>{var t;try{t=this.transform_error(e)}catch(e){it(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>it(e,this.#i&&this.#i.parent)):o(t)})}};function St(e,t,n,r){let i=Qe()?Et:kt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=or,c=Ct(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){it(e,s)}wt()}}var d=Tt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Ot(e))).then(u).catch(e=>it(e,s)).finally(d)}l?l.then(()=>{c(),f(),wt()}):f()}function Ct(){var e=or,t=rr,n=Xe,r=It;return function(i=!0){sr(e),ar(t),Ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function wt(e=!0){sr(null),ar(null),Ze(null),e&&It?.deactivate()}function Tt(){var e=or,t=e.b,n=It,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function Et(e){var t=2|x;return or!==null&&(or.f|=ne),{ctx:Xe,deps:null,effects:null,equals:qe,f:t,fn:e,reactions:null,rv:0,v:je,wv:0,parent:or,ac:null}}var Dt=Symbol(`obsolete`);function Ot(e,t,n){let r=or;r===null&&ye();var i=void 0,a=on(je),o=!rr,s=new Set;return Ln(()=>{var t=or,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(wt)}catch(e){n.reject(e),wt()}var c=It;if(o){if(t.f&32768)var l=Tt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Dt);else for(let e of s.values())e.reject(Dt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Dt&&(c.activate(),t?(a.f|=ce,cn(a,t)):(a.f&8388608&&(a.f^=ce),cn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),jn(()=>{for(let e of s)e.reject(Dt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function k(e){let t=Et(e);return lr(t),t}function kt(e){let t=Et(e);return t.equals=Ye,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n{t.ac.abort(_e),t.ac=null}),t.fn!==null&&(t.teardown=m),Cr(t,0),Un(t))}function Pt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&wr(t)}var Ft=null,It=null,Lt=null,Rt=null,zt=null,Bt=!1,Vt=!1,Ht=null,Ut=null,Wt=0,Gt=1,Kt=class e{id=Gt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Ft===null?Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)ot(r,x),t(r);for(r of n.m)ot(r,S),t(r)}this.#p.add(e)}#g(){this.#e=!0,Wt++>1e3&&(this.#x(),Jt());for(let e of this.#u)this.#d.delete(e),ot(e,x),this.schedule(e);for(let e of this.#d)ot(e,S),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Ht=[],r=[],i=Ut=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw tn(e),this.#h()||this.discard(),t}if(It=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Ht=null,Ut=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)en(e,t);i.length>0&&It.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Lt=this,Xt(r),Xt(n),Lt=null,this.#s?.resolve();var s=It;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=b;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=b:i&4?t.push(r):yr(r)&&(i&16&&this.#d.add(r),wr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),ot(i,x),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),It=this,this.#g()}#b(e){for(var t=0;t{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=g()).promise}static ensure(){if(It===null){let t=It=new e;!Vt&&!Bt&&tt(()=>{t.#e||t.flush()})}return It}apply(){Rt=null}schedule(e){if(zt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ht!==null&&t===or&&(rr===null||!(rr.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=b}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?Ft=e:t.#t=e,this.linked=!1}}};function qt(e){var t=Bt;Bt=!0;try{var n;for(e&&(It!==null&&!It.is_fork&&It.flush(),n=e());;){if(nt(),It===null)return n;It.flush()}}finally{Bt=t}}function Jt(){try{we()}catch(e){it(e,zt)}}var Yt=null;function Xt(e){var t=e.length;if(t!==0){for(var n=0;n0)){rn.clear();for(let e of Yt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Yt.has(n)&&(Yt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||wr(n)}}Yt.clear()}}Yt=null}}function Zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Zt(i,t,n,r):e&4194320&&!(e&2048)&&Qt(i,t,r)&&(ot(i,x),$t(i))}}function Qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function $t(e){It.schedule(e)}function en(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),ot(e,b);for(var n=e.first;n!==null;)en(n,t),n=n.next}}function tn(e){ot(e,b);for(var t=e.first;t!==null;)tn(t),t=t.next}var nn=new Set,rn=new Map,an=!1;function on(e,t){return{f:0,v:e,reactions:null,equals:qe,rv:0,wv:0}}function A(e,t){let n=on(e,t);return lr(n),n}function sn(e,t=!1,n=!0){let r=on(e);return t||(r.equals=Ye),r}function j(e,t,n=!1){return rr!==null&&(!ir||rr.f&131072)&&Qe()&&rr.f&4325394&&(cr===null||!cr.has(e))&&Oe(),cn(e,n?M(t):t,Ut)}function cn(e,t,n=null){if(!e.equals(t)){rn.set(e,tr?t:e.v);var r=Kt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&jt(t),Rt===null&&st(t)}e.wv=vr(),dn(e,x,n),Qe()&&or!==null&&or.f&1024&&!(or.f&96)&&(fr===null?pr([e]):fr.push(e)),!r.is_fork&&nn.size>0&&!an&&ln()}return t}function ln(){an=!1;for(let e of nn){e.f&1024&&ot(e,S);let t;try{t=yr(e)}catch{t=!0}t&&wr(e)}nn.clear()}function un(e){j(e,e.v+1)}function dn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Qe(),a=r.length,o=0;o{if(gr===c)return e();var t=rr,n=gr;ar(null),_r(c);var r=e();return ar(t),_r(n),r};return i&&r.set(`length`,A(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ee();var i=r.get(t);return i===void 0?f(()=>{var e=A(n.value,o);return r.set(t,e),e}):j(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>A(je,o));r.set(t,e),un(a)}}else j(n,je),un(a);return!0},get(t,n,i){if(n===le)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>A(M(c?t[n]:je),o)),r.set(n,a)),a!==void 0){var l=I(a);return l===je?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=I(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==je)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===le)return!0;var n=r.get(t),i=n!==void 0&&n.v!==je||Reflect.has(e,t);return(n!==void 0||or!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>A(i?M(e[t]):je,o)),r.set(t,n)),I(n)===je)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;dA(je,o)),r.set(d+``,p)):j(p,je)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>A(void 0,o)),j(l,M(n)),r.set(t,l));else{u=l.v!==je;var m=f(()=>M(n));j(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&j(g,_+1)}un(a)}return!0},ownKeys(e){I(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==je});for(var[n,i]of r)i.v!==je&&!(n in e)&&t.push(n);return t},setPrototypeOf(){De()}})}function fn(e){try{if(typeof e==`object`&&e&&le in e)return e[le]}catch{}return e}function pn(e,t){return Object.is(fn(e),fn(t))}var mn,hn,gn,_n;function vn(){if(mn===void 0){mn=window,hn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;gn=s(t,`firstChild`).get,_n=s(t,`nextSibling`).get,f(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),f(n)&&(n[he]=void 0)}}function yn(e=``){return document.createTextNode(e)}function bn(e){return gn.call(e)}function xn(e){return _n.call(e)}function N(e,t){if(!ze)return bn(e);var n=bn(Ve);if(n===null)n=Ve.appendChild(yn());else if(t&&n.nodeType!==3){var r=yn();return n?.before(r),He(r),r}return t&&En(n),He(n),n}function Sn(e,t=!1){if(!ze){var n=bn(e);return n instanceof Comment&&n.data===``?xn(n):n}if(t){if(Ve?.nodeType!==3){var r=yn();return Ve?.before(r),He(r),r}En(Ve)}return Ve}function P(e,t=1,n=!1){let r=ze?Ve:e;for(var i;t--;)i=r,r=xn(r);if(!ze)return r;if(n){if(r?.nodeType!==3){var a=yn();return r===null?i?.after(a):r.before(a),He(a),a}En(r)}return He(r),r}function Cn(e){e.textContent=``}function wn(){return!1}function Tn(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function En(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Dn(e){or===null&&(rr===null&&Ce(e),Se()),tr&&xe(e)}function On(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function kn(e,t){var n=or;n!==null&&n.f&8192&&(e|=C);var r={ctx:Xe,deps:null,nodes:null,f:e|x|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};It?.register_created_effect(r);var i=r;if(e&4)Ht===null?Kt.ensure().schedule(r):Ht.push(r);else if(t!==null){try{wr(r)}catch(e){throw Gn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=te))}if(i!==null&&(i.parent=n,n!==null&&On(i,n),rr!==null&&rr.f&2&&!(e&64))){var a=rr;(a.effects??=[]).push(i)}return r}function An(){return rr!==null&&!ir}function jn(e){let t=kn(8,null);return ot(t,b),t.teardown=e,t}function Mn(e){Dn(`$effect`);var t=or.f;if(!rr&&t&32&&Xe!==null&&!Xe.i){var n=Xe;(n.e??=[]).push(e)}else return Nn(e)}function Nn(e){return kn(4|re,e)}function Pn(e){Kt.ensure();let t=kn(64|ne,e);return()=>{Gn(t)}}function Fn(e){Kt.ensure();let t=kn(64|ne,e);return(e={})=>new Promise(n=>{e.outro?Jn(t,()=>{Gn(t),n(void 0)}):(Gn(t),n(void 0))})}function In(e){return kn(4,e)}function Ln(e){return kn(se|ne,e)}function Rn(e,t=0){return kn(8|t,e)}function F(e,t=[],n=[],r=[]){St(r,t,n,t=>{kn(8,()=>{e(...t.map(I))})})}function zn(e,t=0){return kn(16|t,e)}function Bn(e,t=0){return kn(y|t,e)}function Vn(e){return kn(32|ne,e)}function Hn(e){var t=e.teardown;if(t!==null){let e=tr,n=rr;nr(!0),ar(null);try{t.call(null)}finally{nr(e),ar(n)}}}function Un(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&>(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:Gn(n,t),n=r}}function Wn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Gn(t),t=n}}function Gn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Kn(e.nodes.start,e.nodes.end),n=!0),e.f|=ee,Un(e,t&&!n),Cr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Hn(e),e.f^=ee,e.f|=w;var i=e.parent;i!==null&&i.first!==null&&qn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Kn(e,t){for(;e!==null;){var n=e===t?null:xn(e);e.remove(),e=n}}function qn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Jn(e,t,n=!0){var r=[];Yn(e,r,!0);var i=()=>{n&&Gn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Yn(e,t,n){if(!(e.f&8192)){e.f^=C;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Yn(i,t,o?n:!1)}i=a}}}function Xn(e){Zn(e,!0)}function Zn(e,t){if(e.f&8192){e.f^=C,e.f&1024||(ot(e,x),Kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Zn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Qn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:xn(n);t.append(n),n=i}}var $n=null,er=!1,tr=!1;function nr(e){tr=e}var rr=null,ir=!1;function ar(e){rr=e}var or=null;function sr(e){or=e}var cr=null;function lr(e){rr!==null&&(cr??=new Set).add(e)}var ur=null,dr=0,fr=null;function pr(e){fr=e}var mr=1,hr=0,gr=hr;function _r(e){gr=e}function vr(){return++mr}function yr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ae),t&4096){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}t&512&&Rt===null&&ot(e,b)}return!1}function br(e,t,n=!0){var r=e.reactions;if(r!==null&&!(cr!==null&&cr.has(e)))for(var i=0;i{e.ac.abort(_e)}),e.ac=null);try{e.f|=oe;var u=e.fn,d=u();e.f|=T;var f=e.deps,p=It?.is_fork;if(ur!==null){var m;if(p||Cr(e,dr),f!==null&&dr>0)for(f.length=dr+ur.length,m=0;m{s.ac.abort(_e),s.ac=null,ot(s,x)}),Nt(s),Cr(s,0)}}function Cr(e,t){var n=e.deps;if(n!==null)for(var r=t;rn?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?tt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Vr(e,t,n,r,i){var a={capture:r,passive:i},o=Br(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&jn(()=>{t.removeEventListener(e,o,a)})}function L(e,t,n){(t[Lr]??={})[e]=n}function Hr(e){for(var t=0;t{throw e});throw p}}finally{e[Lr]=t,delete e.currentTarget,ar(d),sr(f)}}}var Gr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Kr(e){return Gr?.createHTML(e)??e}function qr(e){var t=Tn(`template`);return t.innerHTML=Kr(e.replaceAll(``,``)),t.content}function Jr(e,t){var n=or;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function R(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(``);return()=>{if(ze)return Jr(Ve,null),Ve;i===void 0&&(i=qr(a?e:``+e),n||(i=bn(i)));var t=r||hn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=bn(t),s=t.lastChild;Jr(o,s)}else Jr(t,t);return t}}function Yr(e,t,n=`svg`){var r=!e.startsWith(``),i=(t&1)!=0,a=`<${n}>${r?e:``+e}`,o;return()=>{if(ze)return Jr(Ve,null),Ve;if(!o){var e=bn(qr(a));if(i)for(o=document.createDocumentFragment();bn(e);)o.appendChild(bn(e));else o=bn(e)}var t=o.cloneNode(!0);if(i){var n=bn(t),r=t.lastChild;Jr(n,r)}else Jr(t,t);return t}}function Xr(e,t){return Yr(e,t,`svg`)}function Zr(e=``){if(!ze){var t=yn(e+``);return Jr(t,t),t}var n=Ve;return n.nodeType===3?En(n):(n.before(n=yn()),He(n)),Jr(n,n),n}function Qr(){if(ze)return Jr(Ve,null),Ve;var e=document.createDocumentFragment(),t=document.createComment(``),n=yn();return e.append(t,n),Jr(t,n),e}function z(e,t){if(ze){var n=or;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=Ve),Ue();return}e!==null&&e.before(t)}var $r=!0;function B(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function ei(e,t){return ni(e,t)}var ti=new Map;function ni(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){vn();var l=void 0,u=Fn(()=>{var u=n??t.appendChild(yn());bt(u,{pending:()=>{}},t=>{D({});var n=Xe;if(o&&(n.c=o),i&&(r.$$events=i),ze&&Jr(t,null),$r=s,l=e(t,r)||{},$r=!0,ze&&(or.nodes.end=Ve,Ve===null||Ve.nodeType!==8||Ve.data!==`]`))throw Ie(),Ae;O()},c);var d=new Set,f=e=>{for(var n=0;n{for(var e of d)for(let n of[t,document]){var r=ti.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Wr),r.delete(e),r.size===0&&ti.delete(n)):r.set(e,i)}zr.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return ri.set(l,u),l}var ri=new WeakMap,ii=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Xn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Xn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Gn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Qn(r,t),t.append(yn()),this.#n.set(e,{effect:r,fragment:t})}else Gn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Jn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Gn(n.effect),this.#n.delete(e))};ensure(e,t){var n=It,r=wn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=yn();i.append(a),this.#n.set(e,{effect:Vn(()=>t(a)),fragment:i})}else this.#t.set(e,Vn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else ze&&(this.anchor=Ve),this.#a(n)}};function V(e,t,n=!1){var r;ze&&(r=Ve,Ue());var i=new ii(e),a=n?te:0;function o(e,t){if(ze){var n=Ke(r);if(e!==parseInt(n.substring(1))){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,t),Be(!0);return}}i.ensure(e,t)}zn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function ai(e,t){return t}function oi(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;si(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;Cn(d),d.append(u),e.items.clear()}si(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function si(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,ui(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=ie,fi(d,null,c)):Xn(d):Jn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:zn(()=>{p=I(f);var e=p.length;let n=!1;ze&&Ke(c)===`[!`!=(e===0)&&(c=Ge(),He(c),Be(!1),n=!0);for(var a=new Set,u=It,v=wn(),y=0;ys(c)):(d=Vn(()=>s(ci??=yn())),d.f|=ie)),e>a.size&&be(``,``,``),ze&&e>0&&He(Ge()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&Be(!0),I(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,ze&&(c=Ve)}function li(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function ui(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=li(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v0){var ee=r&4&&s===0?n:null;if(o){for(v=0;v{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function di(e,t,n,r,i,a,o,s){var c=o&1?o&16?on(n):sn(n,!1,!1):null,l=o&2?on(i):null;return{v:c,i:l,e:Vn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function fi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=xn(r);if(a.before(r),r===i)return;r=o}}function pi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function mi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;ze&&(o=He(bn(c)))}F(()=>{var e=or;if(s===(s=t()??``)){ze&&Ue();return}if(n&&!ze){e.nodes=null,c.innerHTML=s,s!==``&&Jr(bn(c),c.lastChild);return}if(e.nodes!==null&&(Kn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(ze){for(var a=Ve.data,l=Ue(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=xn(l);if(l===null)throw Ie(),Ae;Jr(Ve,u),o=He(l);return}var d=Tn(r?`svg`:i?`math`:`template`,r?Ne:i?Pe:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Jr(bn(f),f.lastChild),r||i)for(;bn(f);)o.before(bn(f));else o.before(f)}})}function hi(e,t,...n){var r=new ii(e);zn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},te)}function gi(e,t,n){var r;ze&&(r=Ve,Ue());var i=new ii(e);zn(()=>{var e=t()??null;if(ze&&Ke(r)===`[`!=(e!==null)){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,e&&(t=>n(t,e))),Be(!0);return}i.ensure(e,e&&(t=>n(t,e)))},te)}var _i=()=>performance.now(),vi={tick:e=>requestAnimationFrame(e),now:()=>_i(),tasks:new Set};function yi(){let e=vi.now();vi.tasks.forEach(t=>{t.c(e)||(vi.tasks.delete(t),t.f())}),vi.tasks.size!==0&&vi.tick(yi)}function bi(e){let t;return vi.tasks.size===0&&vi.tick(yi),{promise:new Promise(n=>{vi.tasks.add(t={c:e,f:n})}),abort(){vi.tasks.delete(t)}}}function xi(e,t){gt(()=>{e.dispatchEvent(new CustomEvent(t))})}function Si(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function Ci(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=Si(n.trim());t[i]=r.trim()}return t}var wi=e=>e;function Ti(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return gt(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=Ei(t,m(),p,1,()=>{xi(t,`introstart`)},()=>{xi(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=Ei(t,m(),f,0,()=>{xi(t,`outrostart`)},()=>{xi(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=or;if((g.nodes.t??=[]).push(h),i&&$r){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&In(()=>{Or(()=>h.in())})}}function Ei(e,t,n,r,i,a){var o=r===1;if(p(t)){var s,c=!1;return tt(()=>{c||(s=Ei(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:m,deactivate:m,reset:m,t:()=>r};let{delay:l=0,css:u,tick:d,easing:f=wi}=t;var h=[];if(o&&n===void 0&&(d&&d(0,1),u)){var g=Ci(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var p=!1;if(u)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var g=o+s*f(h/m),y=Ci(u(g,1-g));l.push(y),p||=y.overflow===`hidden`}p&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*f(e/c)},d&&bi(()=>{if(v.playState!==`running`)return!1;var e=_();return d(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,d?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=m)},deactivate:()=>{a=m},reset:()=>{r===0&&d?.(1,0)},t:()=>_()}}function Di(e,t){var n=void 0,r;Bn(()=>{n!==(n=t())&&(r&&=(Gn(r),null),n&&(r=Vn(()=>{In(()=>n(e))})))})}function Oi(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t=0;){var s=o+a;(o===0||ji.includes(r[o-1]))&&(s===r.length||ji.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ni(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Pi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Fi(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Pi)),i&&c.push(...Object.keys(i).map(Pi));var l=0,u=-1;let t=e.length;for(var d=0;d{Ri(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),jn(()=>{t.disconnect()})}function Bi(e,t,n=t){var r=new WeakSet,i=!0;_t(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Vi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Vi(o)}n(a),e.__value=a,It!==null&&r.add(It)}),In(()=>{var a=t();if(e===document.activeElement){var o=It;if(r.has(o))return}if(Ri(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Vi(s),n(a))}e.__value=a,i=!1}),zi(e)}function Vi(e){return`__value`in e?e.__value:e.value}var Hi=Symbol(`class`),Ui=Symbol(`style`),Wi=Symbol(`is custom element`),Gi=Symbol(`is html`),Ki=ve?`link`:`LINK`,qi=ve?`input`:`INPUT`,Ji=ve?`option`:`OPTION`,Yi=ve?`select`:`SELECT`,Xi=ve?`progress`:`PROGRESS`;function Zi(e){if(ze){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;W(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;W(e,`checked`,null),e.checked=r}}};e[ge]=n,tt(n),ht()}}function Qi(e,t){var n=ra(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Xi)||(e.value=t??``)}function $i(e,t){var n=ra(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function ea(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function W(e,t,n,r){var i=ra(e);ze&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ki)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&aa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ta(e,t,n,r,i=!1,a=!1){if(ze&&i&&e.nodeName===qi){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||Zi(o)}var s=ra(e),c=s[Wi],l=!s[Gi];let u=ze&&c;u&&Be(!1);var d=t||{},f=e.nodeName===Ji;for(var p in t)p in n||(n[p]=null);n.class?n.class=Ai(n.class):(r||n[Hi])&&(n.class=null),n[Ui]&&(n.style??=null);var m=aa(e);if(e.nodeName===qi&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,W(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){U(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Hi],n[Hi]),d[i]=o,d[Hi]=n[Hi];continue}if(i===`style`){Li(e,o,t?.[Ui],n[Ui]),d[i]=o,d[Ui]=n[Ui];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=jr(r);if(kr(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)L(r,e,o),Hr([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Br(r,e,a,t)}}else if(i===`style`)W(e,i,o);else if(i===`autofocus`)ft(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)ea(e,o);else{var y=i;l||(y=Pr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b)if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=je)):typeof o!=`function`&&W(e,y,o,a)}}}return u&&Be(!0),d}function na(e,t,n=[],r=[],i=[],a,o=!1,s=!1){St(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Yi,l=!1;if(Bn(()=>{var u=t(...n.map(I)),d=ta(e,r,u,a,o,s);l&&c&&`value`in u&&Ri(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Gn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Gn(i[t]),i[t]=Vn(()=>Di(e,()=>f))),d[t]=f}r=d}),c){var u=e;In(()=>{Ri(u,r.value,!0),zi(u)})}l=!0})}function ra(e){return e[fe]??={[Wi]:e.nodeName.includes(`-`),[Gi]:e.namespaceURI===Me}}var ia=new Map;function aa(e){var t=e.getAttribute(`is`)||e.nodeName,n=ia.get(t);if(n)return n;ia.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function oa(e,t,n=t){var r=new WeakSet;_t(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ca(e)?la(a):a,n(a),It!==null&&r.add(It),await Tr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(ze&&e.defaultValue!==e.value||Or(t)==null&&e.value)&&(n(ca(e)?la(e.value):e.value),It!==null&&r.add(It)),Rn(()=>{var n=t();if(e===document.activeElement){var i=It;if(r.has(i))return}ca(e)&&n===la(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function sa(e,t,n=t){_t(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(ze&&e.defaultChecked!==e.checked||Or(t)==null)&&n(e.checked),Rn(()=>{e.checked=!!t()})}function ca(e){var t=e.type;return t===`number`||t===`range`}function la(e){return e===``?null:+e}function ua(e,t){return e===t||e?.[le]===t}function da(e={},t,n,r){var i=Xe.r,a=or;return In(()=>{var o,s;return Rn(()=>{o=s,s=r?.()||[],Or(()=>{ua(n(...s),e)||(t(e,...s),o&&ua(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&ua(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var fa={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function pa(e,t,n){return new Proxy({props:e,exclude:t},fa)}function ma(e,t,n,r){var i=!0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=Et(r),I(u)):(l&&(l=!1,c=o?Or(r):r),c);let f;if(a){var p=le in e||ue in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=dt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Te(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Et:kt)(()=>(v=!1,g()));a&&I(y);var b=or;return(function(e,t){if(arguments.length>0){let n=t?I(y):i&&a?M(e):e;return j(y,n),v=!0,c!==void 0&&(c=n),e}return tr&&v||b.f&16384?y.v:I(y)})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ha=[[`path`,{d:`m14 12 4 4 4-4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ga=[[`path`,{d:`m14 11 4-4 4 4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],_a=[[`circle`,{cx:`16`,cy:`4`,r:`1`}],[`path`,{d:`m18 19 1-7-6 1`}],[`path`,{d:`m5 8 3-3 5.5 3-2.36 3.5`}],[`path`,{d:`M4.24 14.5a5 5 0 0 0 6.88 6`}],[`path`,{d:`M13.76 17.5a5 5 0 0 0-6.88-6`}]],va=[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}]],ya=[[`path`,{d:`m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16`}],[`path`,{d:`M15.697 14h5.606`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ba=[[`path`,{d:`M10 13H6`}],[`path`,{d:`M10 15v-4a2 2 0 0 0-4 0v4`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],xa=[[`path`,{d:`M18 17.5a2.5 2.5 0 1 1-4 2.03V12`}],[`path`,{d:`M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`M6.6 15.572A2 2 0 1 0 10 17v-5`}]],Sa=[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`}],[`path`,{d:`m12 15 5 6H7Z`}]],Ca=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M9 13h6`}]],wa=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`m9 13 2 2 4-4`}]],Ta=[[`path`,{d:`M6.87 6.87a8 8 0 1 0 11.26 11.26`}],[`path`,{d:`M19.9 14.25a8 8 0 0 0-9.15-9.15`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.26 18.67 4 21`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 4 2 6`}]],Ea=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}]],Da=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M12 9v4l2 2`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}]],Oa=[[`path`,{d:`M11 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`M16 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8`}],[`path`,{d:`M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 21c0-2.5 2-2.5 2-5`}]],ka=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`polyline`,{points:`11 3 11 11 14 8 17 11 17 3`}]],Aa=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`}]],ja=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`}]],Ma=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`}],[`path`,{d:`M22 22H2`}]],Na=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M17 22v-5`}],[`path`,{d:`M17 7V2`}],[`path`,{d:`M7 22v-3`}],[`path`,{d:`M7 5V2`}]],Pa=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`}],[`path`,{d:`M22 22V2`}]],Fa=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M10 2v20`}],[`path`,{d:`M20 2v20`}]],Ia=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M14 2v20`}]],La=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M12 2v20`}]],Ra=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`12`,y:`7`,rx:`2`}],[`path`,{d:`M22 2v20`}]],za=[[`rect`,{width:`6`,height:`14`,x:`6`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Ba=[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`}],[`path`,{d:`M4 22V2`}],[`path`,{d:`M20 22V2`}]],Va=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`}],[`path`,{d:`M22 2H2`}]],Ha=[[`rect`,{width:`6`,height:`14`,x:`3`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`15`,y:`7`,rx:`2`}],[`path`,{d:`M3 2v20`}],[`path`,{d:`M21 2v20`}]],Ua=[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Wa=[[`path`,{d:`M22 17h-3`}],[`path`,{d:`M22 7h-5`}],[`path`,{d:`M5 17H2`}],[`path`,{d:`M7 7H2`}],[`rect`,{x:`5`,y:`14`,width:`14`,height:`6`,rx:`2`}],[`rect`,{x:`7`,y:`4`,width:`10`,height:`6`,rx:`2`}]],Ga=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 20h20`}],[`path`,{d:`M2 10h20`}]],Ka=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M2 4h20`}]],qa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 12h20`}]],Ja=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`12`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 22h20`}]],Ya=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`6`,rx:`2`}],[`path`,{d:`M2 2h20`}]],Xa=[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`}],[`path`,{d:`M22 20H2`}],[`path`,{d:`M22 4H2`}]],Za=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`15`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`3`,rx:`2`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M2 3h20`}]],Qa=[[`path`,{d:`M10 10H6`}],[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14`}],[`path`,{d:`M8 8v4`}],[`path`,{d:`M9 18h6`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],$a=[[`path`,{d:`M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}],[`path`,{d:`M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}]],eee=[[`path`,{d:`M16 12h3`}],[`path`,{d:`M17.5 12a8 8 0 0 1-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13`}]],tee=[[`path`,{d:`M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8`}],[`path`,{d:`M10 5H8a2 2 0 0 0 0 4h.68`}],[`path`,{d:`M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8`}],[`path`,{d:`M14 5h2a2 2 0 0 1 0 4h-.68`}],[`path`,{d:`M18 22H6`}],[`path`,{d:`M9 2h6`}]],nee=[[`path`,{d:`M12 6v16`}],[`path`,{d:`m19 13 2-1a9 9 0 0 1-18 0l2 1`}],[`path`,{d:`M9 11h6`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],ree=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`path`,{d:`M7.5 8 10 9`}],[`path`,{d:`m14 9 2.5-1`}],[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}]],iee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M14 9h2`}]],aee=[[`path`,{d:`M2 12 7 2`}],[`path`,{d:`m7 12 5-10`}],[`path`,{d:`m12 12 5-10`}],[`path`,{d:`m17 12 5-10`}],[`path`,{d:`M4.5 7h15`}],[`path`,{d:`M12 16v6`}]],oee=[[`path`,{d:`M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4`}],[`path`,{d:`M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1`}]],see=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14.31 8 5.74 9.94`}],[`path`,{d:`M9.69 8h11.48`}],[`path`,{d:`m7.38 12 5.74-9.94`}],[`path`,{d:`M9.69 16 3.95 6.06`}],[`path`,{d:`M14.31 16H2.83`}],[`path`,{d:`m16.62 12-5.74 9.94`}]],cee=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M10 8h.01`}],[`path`,{d:`M14 8h.01`}]],lee=[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`}]],eo=[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}],[`path`,{d:`M10 4v4`}],[`path`,{d:`M2 8h20`}],[`path`,{d:`M6 4v4`}]],to=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`}],[`path`,{d:`m9 15 3-3 3 3`}],[`path`,{d:`M12 12v9`}]],no=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`m9.5 17 5-5`}],[`path`,{d:`m9.5 12 5 5`}]],ro=[[`path`,{d:`M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3`}],[`path`,{d:`M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],io=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`M10 12h4`}]],ao=[[`path`,{d:`M14 8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-6.939 6.939a1.207 1.207 0 0 1-1.708 0l-6.94-6.94a.707.707 0 0 1 .5-1.206H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 4h6`}]],oo=[[`path`,{d:`M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-7.086 7.086a1 1 0 0 1-1.414 0l-7.086-7.086a.707.707 0 0 1 .5-1.207H8a1 1 0 0 0 1-1z`}]],so=[[`path`,{d:`M13 9a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707l6.94 6.94a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`}],[`path`,{d:`M20 9v6`}]],co=[[`path`,{d:`M10.793 19.793a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707z`}]],lo=[[`path`,{d:`M11 9a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707l-6.94 6.94a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M4 9v6`}]],uo=[[`path`,{d:`M13.207 19.793a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707z`}]],fo=[[`path`,{d:`M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z`}],[`path`,{d:`M9 20h6`}]],po=[[`path`,{d:`M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z`}]],mo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],ho=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],go=[[`path`,{d:`M19 3H5`}],[`path`,{d:`M12 21V7`}],[`path`,{d:`m6 15 6 6 6-6`}]],_o=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],vo=[[`path`,{d:`M17 7 7 17`}],[`path`,{d:`M17 17H7V7`}]],yo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h4`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h10`}]],bo=[[`path`,{d:`m7 7 10 10`}],[`path`,{d:`M17 7v10H7`}]],xo=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]],So=[[`path`,{d:`M12 2v14`}],[`path`,{d:`m19 9-7 7-7-7`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Co=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`m21 8-4-4-4 4`}],[`path`,{d:`M17 4v16`}]],wo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],To=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],Eo=[[`path`,{d:`m9 6-6 6 6 6`}],[`path`,{d:`M3 12h14`}],[`path`,{d:`M21 19V5`}]],Do=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],Oo=[[`path`,{d:`M8 3 4 7l4 4`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],ko=[[`path`,{d:`M3 19V5`}],[`path`,{d:`m13 6-6 6 6 6`}],[`path`,{d:`M7 12h14`}]],Ao=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]],jo=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M21 12H7`}],[`path`,{d:`m15 18 6-6-6-6`}]],Mo=[[`path`,{d:`m16 3 4 4-4 4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`m8 21-4-4 4-4`}],[`path`,{d:`M4 17h16`}]],No=[[`path`,{d:`M17 12H3`}],[`path`,{d:`m11 18 6-6-6-6`}],[`path`,{d:`M21 5v14`}]],Po=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]],Fo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],Io=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],Lo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],Ro=[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],zo=[[`path`,{d:`m5 9 7-7 7 7`}],[`path`,{d:`M12 16V2`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Bo=[[`path`,{d:`m18 9-6-6-6 6`}],[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 21h14`}]],Vo=[[`path`,{d:`M7 17V7h10`}],[`path`,{d:`M17 17 7 7`}]],Ho=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h4`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h10`}]],Uo=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]],Wo=[[`path`,{d:`M5 3h14`}],[`path`,{d:`m18 13-6-6-6 6`}],[`path`,{d:`M12 7v14`}]],Go=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],Ko=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],qo=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],Jo=[[`path`,{d:`M12 6v12`}],[`path`,{d:`M17.196 9 6.804 15`}],[`path`,{d:`m6.804 9 10.392 6`}]],Yo=[[`path`,{d:`m4 6 3-3 3 3`}],[`path`,{d:`M7 17V3`}],[`path`,{d:`m14 6 3-3 3 3`}],[`path`,{d:`M17 17V3`}],[`path`,{d:`M4 21h16`}]],Xo=[[`path`,{d:`M12.983 21.186a1 1 0 0 1-1.966 0 10 10 0 0 0-8.203-8.203 1 1 0 0 1 0-1.966 10 10 0 0 0 8.203-8.203 1 1 0 0 1 1.966 0 10 10 0 0 0 8.203 8.203 1 1 0 0 1 0 1.966 10 10 0 0 0-8.203 8.203`}]],Zo=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`}]],Qo=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z`}],[`path`,{d:`M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z`}]],$o=[[`path`,{d:`M2 10v3`}],[`path`,{d:`M6 6v11`}],[`path`,{d:`M10 3v18`}],[`path`,{d:`M14 8v7`}],[`path`,{d:`M18 5v13`}],[`path`,{d:`M22 10v3`}]],es=[[`path`,{d:`m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526`}],[`circle`,{cx:`12`,cy:`8`,r:`6`}]],ts=[[`path`,{d:`m14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9`}],[`path`,{d:`M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z`}]],ns=[[`path`,{d:`M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2`}]],rs=[[`path`,{d:`M13.5 10.5 15 9`}],[`path`,{d:`M4 4v15a1 1 0 0 0 1 1h15`}],[`path`,{d:`M4.293 19.707 6 18`}],[`path`,{d:`m9 15 1.5-1.5`}]],is=[[`path`,{d:`M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}],[`path`,{d:`M8 10h8`}],[`path`,{d:`M8 18h8`}],[`path`,{d:`M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6`}],[`path`,{d:`M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2`}]],as=[[`path`,{d:`M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5`}],[`path`,{d:`M15 12h.01`}],[`path`,{d:`M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1`}],[`path`,{d:`M9 12h.01`}]],os=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],ss=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M15.4 10a4 4 0 1 0 0 4`}]],cs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],ls=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],us=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M7 12h5`}],[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}]],ds=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 8h8`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m13 17-5-1h1a4 4 0 0 0 0-8`}]],fs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`8`,y2:`8`}]],ps=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 8 3 3v7`}],[`path`,{d:`m12 11 3-3`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M9 16h6`}]],ms=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],hs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],gs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`16`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],_s=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M10 16V9.5a2.5 2.5 0 0 1 5 0`}],[`path`,{d:`M8 16h7`}]],vs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`}]],ys=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9 16h5`}],[`path`,{d:`M9 12h5a2 2 0 1 0 0-4h-3v9`}]],bs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M11 17V8h4`}],[`path`,{d:`M11 12h3`}],[`path`,{d:`M9 16h4`}]],xs=[[`path`,{d:`M11 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m15 8-6 3`}],[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76`}]],Ss=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],Cs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}]],ws=[[`path`,{d:`M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2`}],[`path`,{d:`M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10`}],[`rect`,{width:`13`,height:`8`,x:`8`,y:`6`,rx:`1`}],[`circle`,{cx:`18`,cy:`20`,r:`2`}],[`circle`,{cx:`9`,cy:`20`,r:`2`}]],Ts=[[`path`,{d:`M12 16v1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 6a2 2 0 0 1 2 2`}],[`path`,{d:`M18 8c0 4-3.5 8-6 8s-6-4-6-8a6 6 0 0 1 12 0`}]],Es=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M4.929 4.929 19.07 19.071`}]],Ds=[[`path`,{d:`M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5`}],[`path`,{d:`M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z`}]],Os=[[`path`,{d:`M10 10.01h.01`}],[`path`,{d:`M10 14.01h.01`}],[`path`,{d:`M14 10.01h.01`}],[`path`,{d:`M14 14.01h.01`}],[`path`,{d:`M18 6v12`}],[`path`,{d:`M6 6v12`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`}]],ks=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],As=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],js=[[`path`,{d:`M11.748 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4.875`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ms=[[`path`,{d:`M13 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ns=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M6 12h.01M18 12h.01`}]],Ps=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M8 5v14`}],[`path`,{d:`M12 5v14`}],[`path`,{d:`M17 5v14`}],[`path`,{d:`M21 5v14`}]],Fs=[[`path`,{d:`M10 3a41 41 0 0 0 0 18`}],[`path`,{d:`M14 3a41 41 0 0 1 0 18`}],[`path`,{d:`M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z`}],[`path`,{d:`M3.84 17h16.32`}],[`path`,{d:`M3.84 7h16.32`}]],Is=[[`path`,{d:`M4 20h16`}],[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}]],Ls=[[`path`,{d:`M10 4 8 6`}],[`path`,{d:`M17 19v2`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M7 19v2`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}]],Rs=[[`path`,{d:`m11 7-3 5h4l-3 5`}],[`path`,{d:`M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936`}]],zs=[[`path`,{d:`M10 10v4`}],[`path`,{d:`M14 10v4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 10v4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Bs=[[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Vs=[[`path`,{d:`M10 14v-4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Hs=[[`path`,{d:`M10 9v6`}],[`path`,{d:`M12.543 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.605`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M7 12h6`}],[`path`,{d:`M7.606 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.606`}]],Us=[[`path`,{d:`M10 17h.01`}],[`path`,{d:`M10 7v6`}],[`path`,{d:`M14 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}]],Ws=[[`path`,{d:`M 22 14 L 22 10`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Gs=[[`path`,{d:`M4.5 3h15`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`}],[`path`,{d:`M6 14h12`}]],Ks=[[`path`,{d:`M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1`}],[`path`,{d:`M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66`}],[`path`,{d:`M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],qs=[[`path`,{d:`M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z`}],[`path`,{d:`M5.341 10.62a4 4 0 1 0 5.279-5.28`}]],Js=[[`path`,{d:`M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8`}],[`path`,{d:`M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M12 4v6`}],[`path`,{d:`M2 18h20`}]],Ys=[[`path`,{d:`M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8`}],[`path`,{d:`M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4`}],[`path`,{d:`M3 18h18`}]],Xs=[[`path`,{d:`M2 4v16`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`}],[`path`,{d:`M2 17h20`}],[`path`,{d:`M6 8v9`}]],Zs=[[`path`,{d:`M11.771 6.109a2.5 2.5 0 0 1 3.12 3.12`}],[`path`,{d:`M17.852 12.185a6.5 6.5 0 0 0-9.035-9.04`}],[`path`,{d:`M18.013 18.013C15.029 20.349 10.831 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-.139 4.393`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.355 6.37a7 7 0 0 0-.075.23c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c3.356 0 6.993-1.267 9.85-3.151`}]],Qs=[[`path`,{d:`M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`circle`,{cx:`12.5`,cy:`8.5`,r:`2.5`}]],$s=[[`path`,{d:`M13 13v5`}],[`path`,{d:`M17 11.47V8`}],[`path`,{d:`M17 11h1a3 3 0 0 1 2.745 4.211`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268`}],[`path`,{d:`M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12`}],[`path`,{d:`M9 14.6V18`}]],ec=[[`path`,{d:`M17 11h1a3 3 0 0 1 0 6h-1`}],[`path`,{d:`M9 12v6`}],[`path`,{d:`M13 12v6`}],[`path`,{d:`M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}]],tc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],nc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`m15 8 2 2 4-4`}],[`path`,{d:`M16.8607 4.4824A6 6 0 0 0 6 8C6 12.499 4.589 13.956 3.262 15.326`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17H20A1 1 0 0 0 20.74 15.327C20.209 14.779 19.665 14.218 19.203 13.454`}]],rc=[[`path`,{d:`M18.518 17.347A7 7 0 0 1 14 19`}],[`path`,{d:`M18.8 4A11 11 0 0 1 20 9`}],[`path`,{d:`M9 9h.01`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`rect`,{x:`4`,y:`16`,width:`10`,height:`6`,rx:`2`}]],ic=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12`}]],ac=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`}]],oc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M18 5v6`}],[`path`,{d:`M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332`}]],sc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`}]],cc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}]],lc=[[`rect`,{width:`13`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m22 15-3-3 3-3`}],[`rect`,{width:`13`,height:`7`,x:`3`,y:`14`,rx:`1`}]],uc=[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`}],[`path`,{d:`m2 9 3 3-3 3`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`}]],dc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m9 22 3-3 3 3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`3`,rx:`1`}]],fc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`m15 2-3 3-3-3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`8`,rx:`1`}]],pc=[[`path`,{d:`M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1`}],[`path`,{d:`M15 14a5 5 0 0 0-7.584 2`}],[`path`,{d:`M9.964 6.825C8.019 7.977 9.5 13 8 15`}]],mc=[[`circle`,{cx:`18.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`5.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`path`,{d:`M12 17.5V14l-3-3 4-3 2 3h2`}]],hc=[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M14 10h4`}],[`path`,{d:`M6 14h2v6`}],[`path`,{d:`M14 4h2v6`}]],gc=[[`circle`,{cx:`12`,cy:`11.9`,r:`2`}],[`path`,{d:`M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6`}],[`path`,{d:`m8.9 10.1 1.4.8`}],[`path`,{d:`M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5`}],[`path`,{d:`m15.1 10.1-1.4.8`}],[`path`,{d:`M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2`}],[`path`,{d:`M12 13.9v1.6`}],[`path`,{d:`M13.5 5.4c-1-.2-2-.2-3 0`}],[`path`,{d:`M17 16.4c.7-.7 1.2-1.6 1.5-2.5`}],[`path`,{d:`M5.5 13.9c.3.9.8 1.8 1.5 2.5`}]],_c=[[`path`,{d:`M10 10h4`}],[`path`,{d:`M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z`}],[`path`,{d:`M 22 16 L 2 16`}],[`path`,{d:`M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3`}]],vc=[[`path`,{d:`M16 7h.01`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`}],[`path`,{d:`m20 7 2 .5-2 .5`}],[`path`,{d:`M10 18v3`}],[`path`,{d:`M14 17.75V21`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`}]],yc=[[`path`,{d:`M12 18v4`}],[`path`,{d:`m17 18 1.956-11.468`}],[`path`,{d:`m3 8 7.82-5.615a2 2 0 0 1 2.36 0L21 8`}],[`path`,{d:`M4 18h16`}],[`path`,{d:`M7 18 5.044 6.532`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],bc=[[`path`,{d:`M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727`}]],xc=[[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`circle`,{cx:`15`,cy:`15`,r:`7`}]],Sc=[[`path`,{d:`M3 3h18`}],[`path`,{d:`M20 7H8`}],[`path`,{d:`M20 11H8`}],[`path`,{d:`M10 19h10`}],[`path`,{d:`M8 15h12`}],[`path`,{d:`M4 3v14`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}]],Cc=[[`path`,{d:`M8 14a2 2 0 0 0-1.963 1.615l-1.018 5.193A1 1 0 0 0 6 22h12a1 1 0 0 0 .981-1.192l-1.018-5.193A2 2 0 0 0 16 14z`}],[`path`,{d:`m17 2-1 12`}],[`path`,{d:`M8.006 14 7 2`}],[`path`,{d:`M7.565 8.787A5 5 0 0 0 12 8a5 5 0 0 1 4.56-.75`}],[`path`,{d:`M19 2H5a2 2 0 0 0-2 2v5a2 2 0 0 0 .688 1.5`}],[`path`,{d:`M12 18h.01`}]],wc=[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`}]],Tc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`12`}],[`line`,{x1:`3`,x2:`6`,y1:`12`,y2:`12`}]],Ec=[[`path`,{d:`m17 17-5 5V12l-5 5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M14.5 9.5 17 7l-5-5v4.5`}]],Dc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`path`,{d:`M20.83 14.83a4 4 0 0 0 0-5.66`}],[`path`,{d:`M18 12h.01`}]],Oc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}]],kc=[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`}]],Ac=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],jc=[[`circle`,{cx:`11`,cy:`13`,r:`9`}],[`path`,{d:`M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95`}],[`path`,{d:`m22 2-1.5 1.5`}]],Mc=[[`path`,{d:`M14 4.5a1 1 0 0 1 5 0 .5.5 0 0 0 .5.5 1 1 0 0 1 0 5c-.81 0-1.8-.7-2.5 0l-1.958 1.957a.15.15 0 0 1-.252-.072l-.493-2.07a.15.15 0 0 0-.111-.112l-2.072-.494a.15.15 0 0 1-.072-.252L14 7c.7-.7 0-1.69 0-2.5`}],[`path`,{d:`m16 20-1-2`}],[`path`,{d:`m20 16-2-1`}],[`path`,{d:`m4 8 2 1`}],[`path`,{d:`m8 4 1 2`}],[`path`,{d:`M9.698 14.19a.15.15 0 0 0 .112.112l2.074.489a.15.15 0 0 1 .072.252L10 17c-.7.7 0 1.69 0 2.5a1 1 0 0 1-5 0 .495.495 0 0 0-.5-.5 1 1 0 0 1 0-5c.81 0 1.8.7 2.5 0l1.956-1.957a.15.15 0 0 1 .252.072z`}]],Nc=[[`path`,{d:`M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z`}]],Pc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m8 13 4-7 4 7`}],[`path`,{d:`M9.1 11h5.7`}]],Fc=[[`path`,{d:`M12 13h.01`}],[`path`,{d:`M12 6v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],Ic=[[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 8v3`}]],Lc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 9.5 2 2 4-4`}]],Rc=[[`path`,{d:`M5 7a2 2 0 0 0-2 2v11`}],[`path`,{d:`M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21`}],[`path`,{d:`M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10`}]],zc=[[`path`,{d:`M12 17h1.5`}],[`path`,{d:`M12 22h1.5`}],[`path`,{d:`M12 2h1.5`}],[`path`,{d:`M17.5 22H19a1 1 0 0 0 1-1`}],[`path`,{d:`M17.5 2H19a1 1 0 0 1 1 1v1.5`}],[`path`,{d:`M20 14v3h-2.5`}],[`path`,{d:`M20 8.5V10`}],[`path`,{d:`M4 10V8.5`}],[`path`,{d:`M4 19.5V14`}],[`path`,{d:`M4 4.5A2.5 2.5 0 0 1 6.5 2H8`}],[`path`,{d:`M8 22H6.5a1 1 0 0 1 0-5H8`}]],Bc=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3 3 3-3`}]],Vc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 12v-2a4 4 0 0 1 8 0v2`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],Hc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],Uc=[[`path`,{d:`m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`10`,cy:`8`,r:`2`}]],Wc=[[`path`,{d:`M13 2H6.5A2.5 2.5 0 0 0 4 4.5v15`}],[`path`,{d:`M17 2v6`}],[`path`,{d:`M17 4h2`}],[`path`,{d:`M20 15.2V21a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`17`,cy:`10`,r:`2`}]],Gc=[[`path`,{d:`M18 6V4a2 2 0 1 0-4 0v2`}],[`path`,{d:`M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10`}],[`rect`,{x:`12`,y:`6`,width:`8`,height:`5`,rx:`1`}]],Kc=[[`path`,{d:`M10 2v8l3-3 3 3V2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],qc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],Jc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`m16 12 2 2 4-4`}],[`path`,{d:`M22 6V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2h4.001A2 2 0 0022 17v-1.344`}]],Yc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M16 13h2`}],[`path`,{d:`M16 9h2`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}],[`path`,{d:`M6 13h2`}],[`path`,{d:`M6 9h2`}]],Xc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}]],Zc=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],Qc=[[`path`,{d:`M11 22H5.5a1 1 0 0 1 0-5h4.501`}],[`path`,{d:`m21 22-1.879-1.878`}],[`path`,{d:`M3 19.5v-15A2.5 2.5 0 0 1 5.5 2H18a1 1 0 0 1 1 1v8`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}]],$c=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h6`}]],el=[[`path`,{d:`M10 13h4`}],[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8V6H8v2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],tl=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2`}],[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],nl=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3-3 3 3`}]],rl=[[`path`,{d:`M15 13a3 3 0 1 0-6 0`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}]],il=[[`path`,{d:`m14.5 7-5 5`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9.5 7 5 5`}]],al=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],ol=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9 10 2 2 4-4`}]],sl=[[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],cl=[[`path`,{d:`M19 19v1a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H17a2 2 0 0 1 2 2v8.344`}]],ll=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],ul=[[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9.5 7.5 5 5`}]],dl=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],fl=[[`path`,{d:`M12 6V2H8`}],[`path`,{d:`M15 11v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`}],[`path`,{d:`M9 11v2`}]],pl=[[`path`,{d:`M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M8 8v1`}],[`path`,{d:`M12 8v1`}],[`path`,{d:`M16 8v1`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`9`,rx:`2`}],[`circle`,{cx:`8`,cy:`15`,r:`2`}],[`circle`,{cx:`16`,cy:`15`,r:`2`}]],ml=[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M22 22 2 2`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M9 13v2`}],[`path`,{d:`M9.67 4H12v2.33`}]],hl=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]],gl=[[`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a6 6 0 0 0 1.2 3.6l.6.8A6 6 0 0 1 17 13v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a6 6 0 0 1 1.2-3.6l.6-.8A6 6 0 0 0 10 5z`}],[`path`,{d:`M17 13h-4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4`}]],_l=[[`path`,{d:`M17 3h4v4`}],[`path`,{d:`M18.575 11.082a13 13 0 0 1 1.048 9.027 1.17 1.17 0 0 1-1.914.597L14 17`}],[`path`,{d:`M7 10 3.29 6.29a1.17 1.17 0 0 1 .6-1.91 13 13 0 0 1 9.03 1.05`}],[`path`,{d:`M7 14a1.7 1.7 0 0 0-1.207.5l-2.646 2.646A.5.5 0 0 0 3.5 18H5a1 1 0 0 1 1 1v1.5a.5.5 0 0 0 .854.354L9.5 18.207A1.7 1.7 0 0 0 10 17v-2a1 1 0 0 0-1-1z`}],[`path`,{d:`M9.707 14.293 21 3`}]],vl=[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`}],[`path`,{d:`M12 22V12`}]],yl=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]],bl=[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`}]],xl=[[`path`,{d:`M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3`}]],Sl=[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`}],[`path`,{d:`M12 13h4`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 8h8`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`}]],Cl=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`m10.852 9.228-.383-.923`}],[`path`,{d:`m13.148 14.772.382.924`}],[`path`,{d:`m13.531 8.305-.383.923`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771`}],[`path`,{d:`M17.998 5.125a4 4 0 0 1 2.525 5.771`}],[`path`,{d:`M19.505 10.294a4 4 0 0 1-1.5 7.706`}],[`path`,{d:`M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516`}],[`path`,{d:`M4.5 10.291A4 4 0 0 0 6 18`}],[`path`,{d:`M6.002 5.125a3 3 0 0 0 .4 1.375`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],wl=[[`path`,{d:`M12 18V5`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`}]],Tl=[[`path`,{d:`M12 9v1.258`}],[`path`,{d:`M16 3v5.46`}],[`path`,{d:`M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75`}],[`path`,{d:`M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z`}],[`path`,{d:`M3 15h7`}],[`path`,{d:`M3 9h12.142`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],El=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 9v6`}],[`path`,{d:`M16 15v6`}],[`path`,{d:`M16 3v6`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Dl=[[`path`,{d:`M16 3v2.107`}],[`path`,{d:`M17 9c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 22 17a5 5 0 0 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C13 11.5 16 9 17 9`}],[`path`,{d:`M21 8.274V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.938`}],[`path`,{d:`M3 15h5.253`}],[`path`,{d:`M3 9h8.228`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Ol=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M22 13a18.15 18.15 0 0 1-20 0`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],kl=[[`path`,{d:`M10 20v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M18 20v2`}],[`path`,{d:`M21 20H3`}],[`path`,{d:`M6 20v2`}],[`path`,{d:`M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`10`,rx:`2`}]],Al=[[`path`,{d:`M12 11v4`}],[`path`,{d:`M14 13h-4`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M18 6v14`}],[`path`,{d:`M6 6v14`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],jl=[[`path`,{d:`M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Ml=[[`path`,{d:`M10 13a3 3 0 0 1-2.121-5.121`}],[`path`,{d:`M15.606 14.204c-3.5 1.5-5.899 4.503-8.899 7.503A1 1 0 0 1 6 22c-2 0-4-2-4-4a1 1 0 0 1 .293-.707c1.911-1.911 3.823-3.578 5.347-5.441`}],[`path`,{d:`M16.573 14.737A4 4 0 0 1 14 11`}],[`path`,{d:`M7.14 10.907a4 4 0 1 1 2.756-7.43A4 4 0 0 1 16.7 4.48a2 2 0 0 1 2.82 2.82 4 4 0 0 1 1.002 6.805A4 4 0 1 1 13 16`}]],Nl=[[`path`,{d:`m16 22-1-4`}],[`path`,{d:`M19 14a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v1a1 1 0 0 0 1 1`}],[`path`,{d:`M19 14H5l-1.973 6.767A1 1 0 0 0 4 22h16a1 1 0 0 0 .973-1.233z`}],[`path`,{d:`m8 22 1-4`}]],Pl=[[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2`}],[`path`,{d:`M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2`}]],Fl=[[`path`,{d:`m11 10 3 3`}],[`path`,{d:`M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z`}],[`path`,{d:`M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031`}]],Il=[[`path`,{d:`M7.001 15.085A1.5 1.5 0 0 1 9 16.5`}],[`circle`,{cx:`18.5`,cy:`8.5`,r:`3.5`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`5.5`}],[`circle`,{cx:`7.5`,cy:`4.5`,r:`2.5`}]],Ll=[[`path`,{d:`M12 20v-8`}],[`path`,{d:`M12.656 7H14a4 4 0 0 1 4 4v1.344`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-3.344`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9.712 4.06A3 3 0 0 1 15 6v1.13`}]],Rl=[[`path`,{d:`M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97`}],[`path`,{d:`M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],zl=[[`path`,{d:`M12 20v-9`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-4`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Bl=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 8h4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`}]],Vl=[[`path`,{d:`M12 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M12 6h.01`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M16 6h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M8 6h.01`}],[`path`,{d:`M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],Hl=[[`path`,{d:`M4 6 2 7`}],[`path`,{d:`M10 6h4`}],[`path`,{d:`m22 7-2-1`}],[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 21v-2`}]],Ul=[[`path`,{d:`M8 6v6`}],[`path`,{d:`M15 6v6`}],[`path`,{d:`M2 12h19.6`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}]],Wl=[[`path`,{d:`M10 3h.01`}],[`path`,{d:`M14 2h.01`}],[`path`,{d:`m2 9 20-5`}],[`path`,{d:`M12 12V6.5`}],[`rect`,{width:`16`,height:`10`,x:`4`,y:`12`,rx:`3`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M4 17h16`}]],Gl=[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`}],[`path`,{d:`M17 21v-2`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`}],[`path`,{d:`M21 21v-2`}],[`path`,{d:`M3 5V3`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`}],[`path`,{d:`M7 5V3`}]],Kl=[[`path`,{d:`M16 13H3`}],[`path`,{d:`M16 17H3`}],[`path`,{d:`m7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6`}],[`circle`,{cx:`9`,cy:`7`,r:`2`}]],ql=[[`path`,{d:`M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8`}],[`path`,{d:`M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M7 8v3`}],[`path`,{d:`M12 8v3`}],[`path`,{d:`M17 8v3`}],[`path`,{d:`M7 4h.01`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M17 4h.01`}]],Jl=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`6`,y2:`6`}],[`line`,{x1:`16`,x2:`16`,y1:`14`,y2:`18`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M12 10h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M8 18h.01`}]],Yl=[[`path`,{d:`M11 14h1v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],Xl=[[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 14v8`}],[`path`,{d:`M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],Zl=[[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 22v-8`}],[`path`,{d:`M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],Ql=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m9 16 2 2 4-4`}]],$l=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m16 20 2 2 4-4`}]],eu=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`}],[`path`,{d:`M3 10h5`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],tu=[[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m15.228 19.148-.923.383`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m16.47 14.305.382.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M21 10.592V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],nu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M8 18h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M16 18h.01`}]],ru=[[`path`,{d:`M3 20a2 2 0 0 0 2 2h10a2.4 2.4 0 0 0 1.706-.706l3.588-3.588A2.4 2.4 0 0 0 21 16V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M15 22v-5a1 1 0 0 1 1-1h5`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}]],iu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}]],au=[[`path`,{d:`M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],ou=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],su=[[`path`,{d:`M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18`}],[`path`,{d:`M21 15.5V6a2 2 0 0 0-2-2H9.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h7`}],[`path`,{d:`M21 10h-5.5`}],[`path`,{d:`m2 2 20 20`}]],cu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}],[`path`,{d:`M12 14v4`}]],lu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],uu=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M17 14h-6`}],[`path`,{d:`M13 18H7`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 18h.01`}]],du=[[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],fu=[[`path`,{d:`M11 10v4h4`}],[`path`,{d:`m11 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m21 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M21 22v-4h-4`}],[`path`,{d:`M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3`}],[`path`,{d:`M3 10h4`}],[`path`,{d:`M8 2v4`}]],pu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m17 22 5-5`}],[`path`,{d:`m17 17 5 5`}]],mu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m14 14-4 4`}],[`path`,{d:`m10 14 4 4`}]],hu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}]],gu=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M15.726 21.01A2 2 0 0 1 14 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2`}],[`path`,{d:`M18 2v2`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M8 8h14`}],[`rect`,{x:`8`,y:`3`,width:`14`,height:`14`,rx:`2`}]],_u=[[`path`,{d:`M14.564 14.558a3 3 0 1 1-4.122-4.121`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175`}],[`path`,{d:`M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344`}]],vu=[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`}],[`circle`,{cx:`12`,cy:`13`,r:`3`}]],yu=[[`path`,{d:`m10.8 5 2.111 4.223`}],[`path`,{d:`M17.75 7 15 2.1`}],[`path`,{d:`m4.874 14.647 2.12 4.24`}],[`path`,{d:`M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2z`}],[`path`,{d:`m7.906 9.712 2.005 4.411`}]],bu=[[`path`,{d:`M10 7v10.9`}],[`path`,{d:`M14 6.1V17`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`M16.536 7.465a5 5 0 0 0-7.072 0l-2 2a5 5 0 0 0 0 7.07 5 5 0 0 0 7.072 0l2-2a5 5 0 0 0 0-7.07`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],xu=[[`path`,{d:`M10 10v7.9`}],[`path`,{d:`M11.802 6.145a5 5 0 0 1 6.053 6.053`}],[`path`,{d:`M14 6.1v2.243`}],[`path`,{d:`m15.5 15.571-.964.964a5 5 0 0 1-7.071 0 5 5 0 0 1 0-7.07l.964-.965`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],Su=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6`}]],Cu=[[`path`,{d:`M12 22v-4c1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5`}],[`path`,{d:`M13.988 8.327C13.902 6.054 13.365 3.82 12 2a9.3 9.3 0 0 0-1.445 2.9`}],[`path`,{d:`M17.375 11.725C18.882 10.53 21 7.841 21 6c-2.324 0-5.08 1.296-6.662 2.684`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21.024 15.378A15 15 0 0 0 22 15c-.426-1.279-2.67-2.557-4.25-2.907`}],[`path`,{d:`M6.995 6.992C5.714 6.4 4.29 6 3 6c0 2 2.5 5 4 6-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3`}]],wu=[[`path`,{d:`M10.5 5H19a2 2 0 0 1 2 2v8.5`}],[`path`,{d:`M17 11h-.5`}],[`path`,{d:`M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 11h4`}],[`path`,{d:`M7 15h2.5`}]],Tu=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`}]],Eu=[[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],Du=[[`path`,{d:`M10 2h4`}],[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],Ou=[[`path`,{d:`M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2`}],[`circle`,{cx:`7`,cy:`17`,r:`2`}],[`path`,{d:`M9 17h6`}],[`circle`,{cx:`17`,cy:`17`,r:`2`}]],ku=[[`path`,{d:`M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2`}],[`path`,{d:`M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2`}],[`path`,{d:`M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9`}],[`circle`,{cx:`8`,cy:`19`,r:`2`}]],Au=[[`path`,{d:`M12 14v4`}],[`path`,{d:`M14.172 2a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 20 7.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z`}],[`path`,{d:`M8 14h8`}],[`rect`,{x:`8`,y:`10`,width:`8`,height:`8`,rx:`1`}]],ju=[[`path`,{d:`M15 16a1 1 0 0 0-7-7q-4 4-5.987 12.385a.5.5 0 0 0 .602.602Q11 20 15 16l-3-3`}],[`path`,{d:`M15 9q4 4 7 0-3-4-7 0 4-4 0-7-4 3 0 7`}],[`path`,{d:`m8 15-2.58-2.58`}]],Mu=[[`path`,{d:`M10 9v7`}],[`path`,{d:`M14 6v10`}],[`circle`,{cx:`17.5`,cy:`12.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`3.5`}]],Nu=[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M22 9v7`}],[`path`,{d:`M3.304 13h6.392`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`}]],Pu=[[`path`,{d:`M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],Fu=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`circle`,{cx:`8`,cy:`10`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`10`,r:`2`}],[`path`,{d:`m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3`}]],Iu=[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`}]],Lu=[[`path`,{d:`M10 5V3`}],[`path`,{d:`M14 5V3`}],[`path`,{d:`M15 21v-3a3 3 0 0 0-6 0v3`}],[`path`,{d:`M18 3v8`}],[`path`,{d:`M18 5H6`}],[`path`,{d:`M22 11H2`}],[`path`,{d:`M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9`}],[`path`,{d:`M6 3v8`}]],Ru=[[`path`,{d:`M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M11.25 16.25h1.5L12 17l-.75-.75Z`}]],zu=[[`path`,{d:`m12.309 6.652 4.797 2.401a1 1 0 0 1 .447 1.341l-.501 1.001.605.605h2.725a1 1 0 0 1 .894 1.447l-.724 1.448`}],[`path`,{d:`m15.166 15.166-.719 1.439a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.9 2.9 0 0 1 .873-1.037`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1l1.441-2.902`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Bu=[[`path`,{d:`M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97`}],[`path`,{d:`M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Vu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`}]],Hu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Uu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h12`}],[`path`,{d:`M7 6h3`}]],Wu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h3`}],[`path`,{d:`M7 6h12`}]],Gu=[[`path`,{d:`M11 13v4`}],[`path`,{d:`M15 5v4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Ku=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16h8`}],[`path`,{d:`M7 11h12`}],[`path`,{d:`M7 6h3`}]],qu=[[`path`,{d:`M9 5v4`}],[`rect`,{width:`4`,height:`6`,x:`7`,y:`9`,rx:`1`}],[`path`,{d:`M9 15v2`}],[`path`,{d:`M17 3v2`}],[`rect`,{width:`4`,height:`8`,x:`15`,y:`5`,rx:`1`}],[`path`,{d:`M17 13v3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],Ju=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],Yu=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17v-3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17V5`}]],Xu=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17V5`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17v-3`}]],Zu=[[`path`,{d:`M11 13H7`}],[`path`,{d:`M19 9h-4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],Qu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M18 17V9`}],[`path`,{d:`M13 17V5`}],[`path`,{d:`M8 17v-3`}]],$u=[[`path`,{d:`M10 6h8`}],[`path`,{d:`M12 16h6`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 11h7`}]],ed=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`m19 9-5 5-4-4-3 3`}]],td=[[`path`,{d:`M5 21V3`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21v-6`}]],nd=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21V3`}]],rd=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V3`}],[`path`,{d:`M19 21V9`}]],id=[[`path`,{d:`m13.11 7.664 1.78 2.672`}],[`path`,{d:`m14.162 12.788-3.324 1.424`}],[`path`,{d:`m20 4-6.06 1.515`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`circle`,{cx:`12`,cy:`6`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`9`,cy:`15`,r:`2`}]],ad=[[`path`,{d:`M12 16v5`}],[`path`,{d:`M16 14.639V21`}],[`path`,{d:`M20 10.656V21`}],[`path`,{d:`m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15`}],[`path`,{d:`M4 18.463V21`}],[`path`,{d:`M8 14.656V21`}]],od=[[`path`,{d:`M6 5h12`}],[`path`,{d:`M4 12h10`}],[`path`,{d:`M12 19h8`}]],sd=[[`path`,{d:`M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z`}],[`path`,{d:`M21.21 15.89A10 10 0 1 1 8 2.83`}]],cd=[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],ld=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`}]],ud=[[`path`,{d:`M18 6 7 17l-5-5`}],[`path`,{d:`m22 10-7.5 7.5L13 16`}]],dd=[[`path`,{d:`M20 4L9 15`}],[`path`,{d:`M21 19L3 19`}],[`path`,{d:`M9 15L4 10`}]],fd=[[`path`,{d:`M20 6 9 17l-5-5`}]],pd=[[`path`,{d:`M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z`}],[`path`,{d:`M6 17h12`}]],md=[[`path`,{d:`M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12`}],[`path`,{d:`M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z`}]],hd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m6.7 18-1-1C4.35 15.682 3 14.09 3 12a5 5 0 0 1 4.95-5c1.584 0 2.7.455 4.05 1.818C13.35 7.455 14.466 7 16.05 7A5 5 0 0 1 21 12c0 2.082-1.359 3.673-2.7 5l-1 1`}],[`path`,{d:`M10 4h4`}],[`path`,{d:`M12 2v6.818`}]],gd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M15 18c1.5-.615 3-2.461 3-4.923C18 8.769 14.5 4.462 12 2 9.5 4.462 6 8.77 6 13.077 6 15.539 7.5 17.385 9 18`}],[`path`,{d:`m16 7-2.5 2.5`}],[`path`,{d:`M9 2h6`}]],_d=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M16.5 18c1-2 2.5-5 2.5-9a7 7 0 0 0-7-7H6.635a1 1 0 0 0-.768 1.64L7 5l-2.32 5.802a2 2 0 0 0 .95 2.526l2.87 1.456`}],[`path`,{d:`m15 5 1.425-1.425`}],[`path`,{d:`m17 8 1.53-1.53`}],[`path`,{d:`M9.713 12.185 7 18`}]],vd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`m14.5 10 1.5 8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`m8 18 1.5-8`}],[`circle`,{cx:`12`,cy:`6`,r:`4`}]],yd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m12.474 5.943 1.567 5.34a1 1 0 0 0 1.75.328l2.616-3.402`}],[`path`,{d:`m20 9-3 9`}],[`path`,{d:`m5.594 8.209 2.615 3.403a1 1 0 0 0 1.75-.329l1.567-5.34`}],[`path`,{d:`M7 18 4 9`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`7`,r:`2`}],[`circle`,{cx:`4`,cy:`7`,r:`2`}]],bd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`m17 18-1-9`}],[`path`,{d:`M6 2v5a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2`}],[`path`,{d:`M6 4h12`}],[`path`,{d:`m7 18 1-9`}]],xd=[[`path`,{d:`m6 9 6 6 6-6`}]],Sd=[[`path`,{d:`m7 18 6-6-6-6`}],[`path`,{d:`M17 6v12`}]],Cd=[[`path`,{d:`m17 18-6-6 6-6`}],[`path`,{d:`M7 6v12`}]],wd=[[`path`,{d:`m15 18-6-6 6-6`}]],Td=[[`path`,{d:`m9 18 6-6-6-6`}]],Ed=[[`path`,{d:`m18 15-6-6-6 6`}]],Dd=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]],Od=[[`path`,{d:`m7 20 5-5 5 5`}],[`path`,{d:`m7 4 5 5 5-5`}]],kd=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`m17 7 5 5-5 5`}],[`path`,{d:`m7 7-5 5 5 5`}],[`path`,{d:`M8 12h.01`}]],Ad=[[`path`,{d:`m9 7-5 5 5 5`}],[`path`,{d:`m15 7 5 5-5 5`}]],jd=[[`path`,{d:`m11 17-5-5 5-5`}],[`path`,{d:`m18 17-5-5 5-5`}]],Md=[[`path`,{d:`m20 17-5-5 5-5`}],[`path`,{d:`m4 17 5-5-5-5`}]],Nd=[[`path`,{d:`m6 17 5-5-5-5`}],[`path`,{d:`m13 17 5-5-5-5`}]],Pd=[[`path`,{d:`m7 15 5 5 5-5`}],[`path`,{d:`m7 9 5-5 5 5`}]],Fd=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]],Id=[[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v5`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`m18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9`}],[`path`,{d:`M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14`}]],Ld=[[`path`,{d:`M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Rd=[[`path`,{d:`M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],zd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],Bd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],Vd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],Hd=[[`path`,{d:`M2 12a10 10 0 1 1 10 10`}],[`path`,{d:`m2 22 10-10`}],[`path`,{d:`M8 22H2v-6`}]],Ud=[[`path`,{d:`M12 22a10 10 0 1 1 10-10`}],[`path`,{d:`M22 22 12 12`}],[`path`,{d:`M22 16v6h-6`}]],Wd=[[`path`,{d:`M2 8V2h6`}],[`path`,{d:`m2 2 10 10`}],[`path`,{d:`M12 2A10 10 0 1 1 2 12`}]],Gd=[[`path`,{d:`M22 12A10 10 0 1 1 12 2`}],[`path`,{d:`M22 2 12 12`}],[`path`,{d:`M16 2h6v6`}]],Kd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 16 4-4-4-4`}],[`path`,{d:`M8 12h8`}]],qd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],Jd=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]],Yd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]],Xd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 10-4 4-4-4`}]],Zd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14 16-4-4 4-4`}]],Qd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m10 8 4 4-4 4`}]],$d=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m8 14 4-4 4 4`}]],ef=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]],tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],rf=[[`path`,{d:`M10.1 2.18a9.93 9.93 0 0 1 3.8 0`}],[`path`,{d:`M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7`}],[`path`,{d:`M21.82 10.1a9.93 9.93 0 0 1 0 3.8`}],[`path`,{d:`M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69`}],[`path`,{d:`M13.9 21.82a9.94 9.94 0 0 1-3.8 0`}],[`path`,{d:`M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7`}],[`path`,{d:`M2.18 13.9a9.93 9.93 0 0 1 0-3.8`}],[`path`,{d:`M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M7 12h.01`}]],sf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],cf=[[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}],[`path`,{d:`M7 12h5`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],lf=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],uf=[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M13.4 10.6 19 5`}]],df=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],ff=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}]],pf=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`}]],mf=[[`path`,{d:`M12.656 7H13a3 3 0 0 1 2.984 3.307`}],[`path`,{d:`M13 13H9`}],[`path`,{d:`M19.071 19.071A1 1 0 0 1 4.93 4.93`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.357 2.687a10 10 0 0 1 12.956 12.956`}],[`path`,{d:`M9 17V9`}]],hf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],gf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],_f=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],vf=[[`circle`,{cx:`12`,cy:`19`,r:`2`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}],[`circle`,{cx:`8`,cy:`12`,r:`2`}]],yf=[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],bf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],xf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 16V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M8 16h7`}]],Sf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}]],Cf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],wf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],Tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M22 2 2 22`}]],Ef=[[`circle`,{cx:`12`,cy:`12`,r:`6`}]],Df=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}]],Of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],kf=[[`path`,{d:`M17.925 20.056a6 6 0 0 0-11.851.001`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`}]],jf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],Mf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Nf=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M11 9h4a2 2 0 0 0 2-2V3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`M7 21v-4a2 2 0 0 1 2-2h4`}],[`circle`,{cx:`15`,cy:`15`,r:`2`}]],Pf=[[`path`,{d:`M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z`}],[`path`,{d:`M19.65 15.66A8 8 0 0 1 8.35 4.34`}],[`path`,{d:`m14 10-5.5 5.5`}],[`path`,{d:`M14 17.85V10H6.15`}]],Ff=[[`path`,{d:`m12.296 3.464 3.02 3.956`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`m6.18 5.276 3.1 3.899`}]],If=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Lf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m9 14 2 2 4-4`}]],Rf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`}],[`path`,{d:`M21 14H11`}],[`path`,{d:`m15 10-4 4 4 4`}]],zf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M12 11h4`}],[`path`,{d:`M12 16h4`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 16h.01`}]],Bf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}]],Vf=[[`path`,{d:`M11 14h10`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`}],[`path`,{d:`m17 18 4-4-4-4`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Hf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 1.73 1`}],[`path`,{d:`M8 18h1`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],Uf=[[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21.34 15.664a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M8 22H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Wf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}],[`path`,{d:`M12 17v-6`}]],Gf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 12v-1h6v1`}],[`path`,{d:`M11 17h2`}],[`path`,{d:`M12 11v6`}]],Kf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m15 11-6 6`}],[`path`,{d:`m9 11 6 6`}]],qf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}]],Jf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2-4`}]],Yf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4-2`}]],Xf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2-4`}]],Zf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6`}]],Qf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4-2`}]],$f=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6h4`}]],ep=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],tp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2 4`}]],np=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v10`}]],rp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2 4`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6H8`}]],ap=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4 2`}]],op=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M20 12v5`}],[`path`,{d:`M20 21h.01`}],[`path`,{d:`M21.25 8.2A10 10 0 1 0 16 21.16`}]],sp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M12.337 21.994a10 10 0 1 1 9.588-8.767`}],[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M18 14v8`}]],cp=[[`path`,{d:`M12 6v6l1.5.8`}],[`path`,{d:`M12.338 21.994a10 10 0 1 1 9.587-8.767`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22-4-4 4-4`}]],lp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M13.5 21.885A10 10 0 1 1 22 12`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22 4-4-4-4`}]],up=[[`path`,{d:`M12 6v6l1.56.78`}],[`path`,{d:`M13.227 21.925a10 10 0 1 1 8.767-9.588`}],[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M18 22v-8`}]],dp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M22 12a10 10 0 1 0-11 9.95`}],[`path`,{d:`m22 16-5.5 5.5L14 19`}]],fp=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],pp=[[`path`,{d:`M12 6v6l3.644 1.822`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21.92 13.267a10 10 0 1 0-8.653 8.653`}]],mp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],hp=[[`path`,{d:`M10 9.17a3 3 0 1 0 0 5.66`}],[`path`,{d:`M17 9.17a3 3 0 1 0 0 5.66`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],gp=[[`path`,{d:`M12 12v4`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.128 16.949A7 7 0 1 1 15.71 8h1.79a1 1 0 0 1 0 9h-1.642`}]],_p=[[`path`,{d:`m17 15-5.5 5.5L9 18`}],[`path`,{d:`M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327`}]],vp=[[`path`,{d:`M21 15.251A4.5 4.5 0 0 0 17.5 8h-1.79A7 7 0 1 0 3 13.607`}],[`path`,{d:`M7 11v4h4`}],[`path`,{d:`M8 19a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5 4.82 4.82 0 0 0-3.41 1.41L7 15`}]],yp=[[`path`,{d:`m10.852 19.772-.383.924`}],[`path`,{d:`m13.148 14.228.383-.923`}],[`path`,{d:`M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 15.852.923-.383`}],[`path`,{d:`m14.772 18.148.923.383`}],[`path`,{d:`M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2`}],[`path`,{d:`m9.228 15.852-.923-.383`}],[`path`,{d:`m9.228 18.148-.923.383`}]],bp=[[`path`,{d:`M12 13v8l-4-4`}],[`path`,{d:`m12 21 4-4`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`}]],xp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 17H7`}],[`path`,{d:`M17 21H9`}]],Sp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 19v1`}],[`path`,{d:`M8 14v1`}],[`path`,{d:`M16 19v1`}],[`path`,{d:`M16 14v1`}],[`path`,{d:`M12 21v1`}],[`path`,{d:`M12 16v1`}]],Cp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v2`}],[`path`,{d:`M8 14v2`}],[`path`,{d:`M16 20h.01`}],[`path`,{d:`M8 20h.01`}],[`path`,{d:`M12 16v2`}],[`path`,{d:`M12 22h.01`}]],wp=[[`path`,{d:`M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973`}],[`path`,{d:`m13 12-3 5h4l-3 5`}]],Tp=[[`path`,{d:`M11 20v2`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M7 19v2`}]],Ep=[[`path`,{d:`M13 16a3 3 0 0 1 0 6H7a5 5 0 1 1 4.9-6z`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}]],Dp=[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`}],[`path`,{d:`m2 2 20 20`}]],Op=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m9.2 22 3-7`}],[`path`,{d:`m9 13-3 7`}],[`path`,{d:`m17 13-3 7`}]],kp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v6`}],[`path`,{d:`M8 14v6`}],[`path`,{d:`M12 16v6`}]],Ap=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M8 19h.01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M12 21h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M16 19h.01`}]],jp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M11 20v2`}],[`path`,{d:`M7 19v2`}]],Mp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z`}]],Np=[[`path`,{d:`m17 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M17 22v-4h-4`}],[`path`,{d:`M20.996 15.251A4.5 4.5 0 0 0 17.495 8h-1.79a7 7 0 1 0-12.709 5.607`}],[`path`,{d:`M7 10v4h4`}],[`path`,{d:`m7 14 1.535-1.605a5 5 0 0 1 8 1.5`}]],Pp=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m8 17 4-4 4 4`}]],Fp=[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`}]],Ip=[[`path`,{d:`M17.5 12a1 1 0 1 1 0 9H9.006a7 7 0 1 1 6.702-9z`}],[`path`,{d:`M21.832 9A3 3 0 0 0 19 7h-2.207a5.5 5.5 0 0 0-10.72.61`}]],Lp=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]],Rp=[[`path`,{d:`M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z`}],[`path`,{d:`M12 17.66L12 22`}]],zp=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]],Bp=[[`path`,{d:`m16 18 6-6-6-6`}],[`path`,{d:`m8 6-6 6 6 6`}]],Vp=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`}],[`path`,{d:`M6 2v2`}]],Hp=[[`path`,{d:`M11 10.27 7 3.34`}],[`path`,{d:`m11 13.73-4 6.93`}],[`path`,{d:`M12 22v-2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M14 12h8`}],[`path`,{d:`m17 20.66-1-1.73`}],[`path`,{d:`m17 3.34-1 1.73`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`m20.66 17-1.73-1`}],[`path`,{d:`m20.66 7-1.73 1`}],[`path`,{d:`m3.34 17 1.73-1`}],[`path`,{d:`m3.34 7 1.73 1`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`8`}]],Up=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]],Wp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 3v18`}]],Gp=[[`path`,{d:`M10.6 21H5a2 2 0 01-2-2V5a2 2 0 012-2h14a2 2 0 012 2v5.6`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`M15 3v7.6`}],[`path`,{d:`m15.229 16.852-.924-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.773 16.852.922-.383`}],[`path`,{d:`m20.773 19.148.922.383`}],[`path`,{d:`M9 3v18`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Kp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],qp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7.5 3v18`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16.5 3v18`}]],Jp=[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`}]],Yp=[[`path`,{d:`M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`m7 15 3 3`}],[`path`,{d:`m7 21 3-3H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}]],Xp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`}]],Zp=[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}]],Qp=[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h2`}],[`path`,{d:`M12 18h6`}]],$p=[[`path`,{d:`M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z`}],[`path`,{d:`M20 16a8 8 0 1 0-16 0`}],[`path`,{d:`M12 4v4`}],[`path`,{d:`M10 4h4`}]],em=[[`path`,{d:`m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98`}],[`ellipse`,{cx:`12`,cy:`19`,rx:`9`,ry:`3`}]],tm=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M17.915 22a6 6 0 0 0-12 0`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],nm=[[`rect`,{x:`2`,y:`6`,width:`20`,height:`8`,rx:`1`}],[`path`,{d:`M17 14v7`}],[`path`,{d:`M7 14v7`}],[`path`,{d:`M17 3v3`}],[`path`,{d:`M7 3v3`}],[`path`,{d:`M10 14 2.3 6.3`}],[`path`,{d:`m14 6 7.7 7.7`}],[`path`,{d:`m8 6 8 8`}]],rm=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`11`,r:`3`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],im=[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`}],[`path`,{d:`M10 21.9V14L2.1 9.1`}],[`path`,{d:`m10 14 11.9-6.9`}],[`path`,{d:`M14 19.8v-8.1`}],[`path`,{d:`M18 17.5V9.4`}]],am=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 18a6 6 0 0 0 0-12v12z`}]],om=[[`path`,{d:`M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5`}],[`path`,{d:`M8.5 8.5v.01`}],[`path`,{d:`M16 15.5v.01`}],[`path`,{d:`M12 12v.01`}],[`path`,{d:`M11 17v.01`}],[`path`,{d:`M7 14v.01`}]],sm=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`m4 8 16-4`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`}]],cm=[[`path`,{d:`m12 15 2 2 4-4`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],lm=[[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],um=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],dm=[[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],fm=[[`line`,{x1:`12`,x2:`18`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],pm=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],mm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.17 14.83a4 4 0 1 0 0-5.66`}]],hm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M14.83 14.83a4 4 0 1 1 0-5.66`}]],gm=[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`}],[`path`,{d:`m9 10-5 5 5 5`}]],_m=[[`path`,{d:`m15 10 5 5-5 5`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],vm=[[`path`,{d:`M14 9 9 4 4 9`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`}]],ym=[[`path`,{d:`m14 15-5 5-5-5`}],[`path`,{d:`M20 4h-7a4 4 0 0 0-4 4v12`}]],bm=[[`path`,{d:`m10 15 5 5 5-5`}],[`path`,{d:`M4 4h7a4 4 0 0 1 4 4v12`}]],xm=[[`path`,{d:`m10 9 5-5 5 5`}],[`path`,{d:`M4 20h7a4 4 0 0 0 4-4V4`}]],Sm=[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}],[`path`,{d:`M9 14 4 9l5-5`}]],Cm=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M4 20v-7a4 4 0 0 1 4-4h12`}]],wm=[[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M17 20v2`}],[`path`,{d:`M17 2v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M2 17h2`}],[`path`,{d:`M2 7h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 17h2`}],[`path`,{d:`M20 7h2`}],[`path`,{d:`M7 20v2`}],[`path`,{d:`M7 2v2`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],Tm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}],[`path`,{d:`M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}]],Em=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`}]],Dm=[[`path`,{d:`M10.2 18H4.774a1.5 1.5 0 0 1-1.352-.97 11 11 0 0 1 .132-6.487`}],[`path`,{d:`M18 10.2V4.774a1.5 1.5 0 0 0-.97-1.352 11 11 0 0 0-6.486.132`}],[`path`,{d:`M18 5a4 3 0 0 1 4 3 2 2 0 0 1-2 2 10 10 0 0 0-5.139 1.42`}],[`path`,{d:`M5 18a3 4 0 0 0 3 4 2 2 0 0 0 2-2 10 10 0 0 1 1.42-5.14`}],[`path`,{d:`M8.709 2.554a10 10 0 0 0-6.155 6.155 1.5 1.5 0 0 0 .676 1.626l9.807 5.42a2 2 0 0 0 2.718-2.718l-5.42-9.807a1.5 1.5 0 0 0-1.626-.676`}]],Om=[[`path`,{d:`M6 2v14a2 2 0 0 0 2 2h14`}],[`path`,{d:`M18 22V8a2 2 0 0 0-2-2H2`}]],km=[[`path`,{d:`M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z`}]],Am=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`}]],jm=[[`path`,{d:`M10 22v-8`}],[`path`,{d:`M2.336 8.89 10 14l11.715-7.029`}],[`path`,{d:`M22 14a2 2 0 0 1-.971 1.715l-10 6a2 2 0 0 1-2.138-.05l-6-4A2 2 0 0 1 2 16v-6a2 2 0 0 1 .971-1.715l10-6a2 2 0 0 1 2.138.05l6 4A2 2 0 0 1 22 8z`}]],Mm=[[`path`,{d:`m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}],[`path`,{d:`m12 8 1-6h2`}]],Nm=[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`}],[`path`,{d:`M5 21h14`}]],Pm=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`line`,{x1:`3`,x2:`6`,y1:`3`,y2:`6`}],[`line`,{x1:`21`,x2:`18`,y1:`3`,y2:`6`}],[`line`,{x1:`3`,x2:`6`,y1:`21`,y2:`18`}],[`line`,{x1:`21`,x2:`18`,y1:`21`,y2:`18`}]],Fm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5v14a9 3 0 0 0 18 0V5`}]],Im=[[`path`,{d:`M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z`}]],Lm=[[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M3 12A9 3 0 0 0 15.182 14.806`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Rm=[[`path`,{d:`M19 22v-6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M3 12A9 3 0 0 0 14.457 14.886`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],zm=[[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Bm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`}],[`path`,{d:`M21 9.3V5`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`}],[`path`,{d:`M12 12v4h4`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`}]],Vm=[[`path`,{d:`M21 15V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Hm=[[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 15.1824 14.8061`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Um=[[`path`,{d:`M21 11.693V5`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Wm=[[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M19.323 13.744A9 3 0 0 0 21 12`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M3 12A9 3 0 0 0 13.563 14.954`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13 21.981`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Gm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`}],[`path`,{d:`M21 5V8`}],[`path`,{d:`M21 12L18 17H22L19 22`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`}]],Km=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}]],qm=[[`path`,{d:`M10 18h10`}],[`path`,{d:`m17 21 3-3-3-3`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`15`,y:`3`,width:`5`,height:`8`,rx:`2.5`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Jm=[[`path`,{d:`m13 21-3-3 3-3`}],[`path`,{d:`M20 18H10`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Ym=[[`path`,{d:`M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z`}],[`path`,{d:`m12 9 6 6`}],[`path`,{d:`m18 9-6 6`}]],Xm=[[`path`,{d:`M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826`}],[`path`,{d:`M20.804 14.869a9 9 0 0 1-17.608 0`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],Zm=[[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}],[`path`,{d:`M6.48 3.66a10 10 0 0 1 13.86 13.86`}],[`path`,{d:`m6.41 6.41 11.18 11.18`}],[`path`,{d:`M3.66 6.48a10 10 0 0 0 13.86 13.86`}]],Qm=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],$m=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z`}],[`path`,{d:`M9.2 9.2h.01`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`M14.7 14.8h.01`}]],eh=[[`path`,{d:`M12 8v8`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],th=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`}]],nh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M12 12h.01`}]],rh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M9 15h.01`}]],ih=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M8 16h.01`}]],ah=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}]],oh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M12 12h.01`}]],sh=[[`rect`,{width:`12`,height:`12`,x:`2`,y:`10`,rx:`2`,ry:`2`}],[`path`,{d:`m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 14h.01`}],[`path`,{d:`M15 6h.01`}],[`path`,{d:`M18 9h.01`}]],ch=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M8 16h.01`}]],lh=[[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M5 21h14`}]],uh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 12h.01`}]],dh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M6 12c0-1.7.7-3.2 1.8-4.2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M18 12c0 1.7-.7 3.2-1.8 4.2`}]],fh=[[`circle`,{cx:`12`,cy:`6`,r:`1`}],[`line`,{x1:`5`,x2:`19`,y1:`12`,y2:`12`}],[`circle`,{cx:`12`,cy:`18`,r:`1`}]],ph=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`5`}],[`path`,{d:`M12 12h.01`}]],mh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],hh=[[`path`,{d:`M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c3.333-3 6.667-3 10-3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16`}]],gh=[[`path`,{d:`m10 16 1.5 1.5`}],[`path`,{d:`m14 8-1.5-1.5`}],[`path`,{d:`M15 2c-1.798 1.998-2.518 3.995-2.807 5.993`}],[`path`,{d:`m16.5 10.5 1 1`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c6.667-6 13.333 0 20-6`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.798-1.998 2.518-3.995 2.807-5.993`}]],_h=[[`path`,{d:`M2 8h20`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 16h12`}]],vh=[[`path`,{d:`M11.25 16.25h1.5L12 17z`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5`}]],yh=[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`}]],bh=[[`path`,{d:`M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],xh=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 9V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h8`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}],[`rect`,{x:`14`,y:`17`,width:`8`,height:`5`,rx:`1`}]],Sh=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h20`}]],Ch=[[`path`,{d:`M11 20H2`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M14 12h.01`}],[`path`,{d:`M22 20h-3`}]],wh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}]],Th=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]],Eh=[[`path`,{d:`M10 11h.01`}],[`path`,{d:`M14 6h.01`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6.5 13.1h.01`}],[`path`,{d:`M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3`}],[`path`,{d:`M17.4 9.9c-.8.8-2 .8-2.8 0`}],[`path`,{d:`M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7`}],[`path`,{d:`M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4`}]],Dh=[[`path`,{d:`M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z`}],[`path`,{d:`M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8`}],[`path`,{d:`M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M18 6h4`}],[`path`,{d:`m5 10-2 8`}],[`path`,{d:`m7 18 2-8`}]],Oh=[[`path`,{d:`m12.99 6.74 1.93 3.44`}],[`path`,{d:`M19.136 12a10 10 0 0 1-14.271 0`}],[`path`,{d:`m21 21-2.16-3.84`}],[`path`,{d:`m3 21 8.02-14.26`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}]],kh=[[`path`,{d:`M10 10 7 7`}],[`path`,{d:`m10 14-3 3`}],[`path`,{d:`m14 10 3-3`}],[`path`,{d:`m14 14 3 3`}],[`path`,{d:`M14.205 4.139a4 4 0 1 1 5.439 5.863`}],[`path`,{d:`M19.637 14a4 4 0 1 1-5.432 5.868`}],[`path`,{d:`M4.367 10a4 4 0 1 1 5.438-5.862`}],[`path`,{d:`M9.795 19.862a4 4 0 1 1-5.429-5.873`}],[`rect`,{x:`10`,y:`8`,width:`4`,height:`8`,rx:`1`}]],Ah=[[`path`,{d:`M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208`}]],jh=[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`}]],Mh=[[`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`}],[`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`}]],Nh=[[`path`,{d:`m2 2 8 8`}],[`path`,{d:`m22 2-8 8`}],[`ellipse`,{cx:`12`,cy:`9`,rx:`10`,ry:`5`}],[`path`,{d:`M7 13.4v7.9`}],[`path`,{d:`M12 14v8`}],[`path`,{d:`M17 13.4v7.9`}],[`path`,{d:`M2 9v8a10 5 0 0 0 20 0V9`}]],Ph=[[`path`,{d:`M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23`}],[`path`,{d:`m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59`}]],Fh=[[`path`,{d:`M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z`}],[`path`,{d:`m2.5 21.5 1.4-1.4`}],[`path`,{d:`m20.1 3.9 1.4-1.4`}],[`path`,{d:`M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z`}],[`path`,{d:`m9.6 14.4 4.8-4.8`}]],Ih=[[`path`,{d:`M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46`}],[`path`,{d:`M6 8.5c0-.75.13-1.47.36-2.14`}],[`path`,{d:`M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76`}],[`path`,{d:`M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Lh=[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`}]],Rh=[[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M12 2a10 10 0 1 0 9.54 13`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],zh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a7 7 0 1 0 10 10`}]],Bh=[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Vh=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`3.5`}],[`path`,{d:`M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z`}]],Hh=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19`}],[`path`,{d:`M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568`}]],Uh=[[`path`,{d:`M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12`}]],Wh=[[`ellipse`,{cx:`12`,cy:`12`,rx:`10`,ry:`6`}]],Gh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],Kh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}]],qh=[[`path`,{d:`M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}],[`path`,{d:`M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}]],Jh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}],[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}]],Yh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}]],Xh=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]],Zh=[[`path`,{d:`M10 8v1`}],[`path`,{d:`M14 8v1`}],[`path`,{d:`M18 8v1`}],[`path`,{d:`M19 17a2 2 0 00-1.765 1.059l-.47.882A2 2 0 0115 20H9a2 2 0 01-1.765-1.059l-.47-.882A2 2 0 005 17H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2z`}],[`path`,{d:`M6 8v1`}]],Qh=[[`path`,{d:`M4 10h12`}],[`path`,{d:`M4 14h9`}],[`path`,{d:`M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2`}]],$h=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 7h11`}],[`path`,{d:`m9 11-2 3h3l-2 3`}]],eg=[[`path`,{d:`m15 15 6 6`}],[`path`,{d:`m15 9 6-6`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`M21 8V3h-5`}],[`path`,{d:`M3 16v5h5`}],[`path`,{d:`m3 21 6-6`}],[`path`,{d:`M3 8V3h5`}],[`path`,{d:`M9 9 3 3`}]],tg=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]],ng=[[`path`,{d:`m15 18-.722-3.25`}],[`path`,{d:`M2 8a10.645 10.645 0 0 0 20 0`}],[`path`,{d:`m20 15-1.726-2.05`}],[`path`,{d:`m4 15 1.726-2.05`}],[`path`,{d:`m9 18 .722-3.25`}]],rg=[[`path`,{d:`M13.054 18.946a11 11 0 0 1-2.11 0`}],[`path`,{d:`M13.054 5.054a11 11 0 0 0-2.11-.001`}],[`path`,{d:`M17.072 6.274a11 11 0 0 1 1.753 1.173`}],[`path`,{d:`M18.825 16.552a11 11 0 0 1-1.753 1.174`}],[`path`,{d:`M2.514 13.303a11 11 0 0 1-.452-.954 1 1 0 0 1 0-.697 11 11 0 0 1 .45-.955`}],[`path`,{d:`M21.485 10.697a11 11 0 0 1 .453.955 1 1 0 0 1 0 .697 11 11 0 0 1-.453.954`}],[`path`,{d:`M5.173 7.448a11 11 0 0 1 1.753-1.174`}],[`path`,{d:`M6.926 17.726a11 11 0 0 1-1.753-1.174`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],ig=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],ag=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],og=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M8 16h.01`}]],sg=[[`path`,{d:`M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z`}],[`path`,{d:`M12 12v.01`}]],cg=[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`}]],lg=[[`path`,{d:`M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M6 18h4`}],[`path`,{d:`m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M14 8h4`}],[`path`,{d:`M14 18h4`}],[`path`,{d:`m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}]],ug=[[`path`,{d:`M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z`}],[`path`,{d:`M16 8 2 22`}],[`path`,{d:`M17.5 15H9`}]],dg=[[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m6.8 15-3.5 2`}],[`path`,{d:`m20.7 7-3.5 2`}],[`path`,{d:`M6.8 9 3.3 7`}],[`path`,{d:`m20.7 17-3.5-2`}],[`path`,{d:`m9 22 3-8 3 8`}],[`path`,{d:`M8 22h8`}],[`path`,{d:`M18 18.7a9 9 0 1 0-12 0`}]],fg=[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12v-1`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M8 7V6`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],pg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 18 4-4`}],[`path`,{d:`M8 10v8h8`}]],mg=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88`}],[`circle`,{cx:`6`,cy:`14`,r:`3`}]],hg=[[`path`,{d:`M14 2v5a1 1 0 001 1h5`}],[`path`,{d:`M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804`}],[`path`,{d:`M2.264 13.752 7 16.5l4.737-2.748`}],[`path`,{d:`M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}],[`path`,{d:`M7 16.5V22`}]],gg=[[`path`,{d:`M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1`}],[`path`,{d:`M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1`}]],_g=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`}]],vg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M12 18v-4`}],[`path`,{d:`M16 18v-6`}]],yg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-1`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`M16 18v-3`}]],bg=[[`path`,{d:`M15.941 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.512`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4.017 11.512a6 6 0 1 0 8.466 8.475`}],[`path`,{d:`M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z`}]],xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 13-3.5 3.5-2-2L8 17`}]],Sg=[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14 20 2 2 4-4`}]],Cg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m9 15 2 2 4-4`}]],wg=[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 16-3 3 3 3`}],[`path`,{d:`m9 22 3-3-3-3`}]],Tg=[[`path`,{d:`M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 14v2.2l1.6 1`}],[`circle`,{cx:`8`,cy:`16`,r:`6`}]],Eg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12.5 8 15l2 2.5`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`}]],Dg=[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`}],[`path`,{d:`m3.305 19.53.923-.382`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`}],[`path`,{d:`m4.228 16.852-.924-.383`}],[`path`,{d:`m5.852 15.228-.383-.923`}],[`path`,{d:`m5.852 20.772-.383.924`}],[`path`,{d:`m8.148 15.228.383-.923`}],[`path`,{d:`m8.53 21.696-.382-.924`}],[`path`,{d:`m9.773 16.852.922-.383`}],[`path`,{d:`m9.773 19.148.922.383`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Og=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 16h2v6`}],[`path`,{d:`M10 22h4`}],[`rect`,{x:`2`,y:`16`,width:`4`,height:`6`,rx:`2`}]],kg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 10h6`}],[`path`,{d:`M12 13V7`}],[`path`,{d:`M9 17h6`}]],Ag=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`m9 15 3 3 3-3`}]],jg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],Mg=[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`}]],Ng=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z`}]],Pg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`10`,cy:`12`,r:`2`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`}]],Fg=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 15h10`}],[`path`,{d:`m9 18 3-3-3-3`}]],Ig=[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4 12v6`}],[`path`,{d:`M4 14h2`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Lg=[[`path`,{d:`M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`}]],Rg=[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 18h6`}]],zg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}]],Bg=[[`path`,{d:`M11.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v10.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 20v-7l3 1.474`}],[`circle`,{cx:`6`,cy:`20`,r:`2`}]],Vg=[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 11-3 3`}],[`path`,{d:`m5 17-3-3h10`}]],Hg=[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`}],[`path`,{d:`M8 18h1`}]],Ug=[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`}]],Wg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`}]],Gg=[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 19h6`}],[`path`,{d:`M17 16v6`}]],Kg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`M12 18v-6`}]],qg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}]],Jg=[[`path`,{d:`M20 10V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 14a2 2 0 0 0-2 2`}],[`path`,{d:`M16 22a2 2 0 0 1-2-2`}],[`path`,{d:`M20 14a2 2 0 0 1 2 2`}],[`path`,{d:`M20 22a2 2 0 0 0 2-2`}]],Yg=[[`path`,{d:`M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m21 22-2.88-2.88`}],[`circle`,{cx:`16`,cy:`17`,r:`3`}]],Xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`}],[`path`,{d:`M13.3 16.3 15 18`}]],Zg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M10 11v2`}],[`path`,{d:`M8 17h8`}],[`path`,{d:`M14 16v2`}]],Qg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M11.5 13.5a2.5 2.5 0 0 1 0 3`}],[`path`,{d:`M15 12a5 5 0 0 1 0 6`}]],$g=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h2`}],[`path`,{d:`M14 13h2`}],[`path`,{d:`M8 17h2`}],[`path`,{d:`M14 17h2`}]],e_=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 18 3-3-3-3`}]],t_=[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`}]],n_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 16 2-2-2-2`}],[`path`,{d:`M12 18h4`}]],r_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 9H8`}],[`path`,{d:`M16 13H8`}],[`path`,{d:`M16 17H8`}]],i_=[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`}],[`path`,{d:`M6 22h2`}],[`path`,{d:`M7 14v8`}]],a_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M11 18h2`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`}]],o_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`m15 15-3-3-3 3`}]],s_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 22a4 4 0 0 0-8 0`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],c_=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 17.843 3.033-1.755a.64.64 0 0 1 .967.56v4.704a.65.65 0 0 1-.967.56L10 20.157`}],[`rect`,{width:`7`,height:`6`,x:`3`,y:`16`,rx:`1`}]],l_=[[`path`,{d:`M4 11.55V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-1.95`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 15a5 5 0 0 1 0 6`}],[`path`,{d:`M8 14.502a.5.5 0 0 0-.826-.381l-1.893 1.631a1 1 0 0 1-.651.243H3.5a.5.5 0 0 0-.5.501v3.006a.5.5 0 0 0 .5.501h1.129a1 1 0 0 1 .652.243l1.893 1.633a.5.5 0 0 0 .826-.38z`}]],u_=[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m15 17 5 5`}],[`path`,{d:`m20 17-5 5`}]],d_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14.5 12.5-5 5`}],[`path`,{d:`m9.5 12.5 5 5`}]],f_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}]],p_=[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`}]],m_=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M3 7.5h4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 16.5h4`}],[`path`,{d:`M17 3v18`}],[`path`,{d:`M17 7.5h4`}],[`path`,{d:`M17 16.5h4`}]],h_=[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`}],[`path`,{d:`M2 16h.01`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`}]],g_=[[`path`,{d:`M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5`}],[`path`,{d:`M9 18h8`}],[`path`,{d:`M18 3h-3`}],[`path`,{d:`M11 3a6 6 0 0 0-6 6v11`}],[`path`,{d:`M5 13h4`}],[`path`,{d:`M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z`}]],__=[[`path`,{d:`M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20`}]],v_=[[`path`,{d:`M2 16s9-15 20-4C11 23 2 8 2 8`}]],y_=[[`path`,{d:`M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z`}],[`path`,{d:`M18 12v.5`}],[`path`,{d:`M16 17.93a9.77 9.77 0 0 1 0-11.86`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33`}],[`path`,{d:`M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98`}]],b_=[[`path`,{d:`m17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10`}],[`path`,{d:`M20.414 8.586 22 7`}],[`circle`,{cx:`19`,cy:`10`,r:`2`}]],x_=[[`path`,{d:`M4 11h1`}],[`path`,{d:`M8 15a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1h.5C14 2 20 9 20 18v4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}]],S_=[[`path`,{d:`M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 22V4`}],[`path`,{d:`M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347`}]],C_=[[`path`,{d:`M18 22V2.8a.8.8 0 0 0-1.17-.71L5.45 7.78a.8.8 0 0 0 0 1.44L18 15.5`}]],w_=[[`path`,{d:`M6 22V2.8a.8.8 0 0 1 1.17-.71l11.38 5.69a.8.8 0 0 1 0 1.44L6 15.5`}]],T_=[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}]],E_=[[`path`,{d:`M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z`}],[`path`,{d:`m5 22 14-4`}],[`path`,{d:`m5 18 14 4`}]],D_=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]],O_=[[`path`,{d:`M11.652 6H18`}],[`path`,{d:`M12 13v1`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`}]],k_=[[`path`,{d:`M12 13v1`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 6h12`}]],A_=[[`path`,{d:`M10 2v2.343`}],[`path`,{d:`M14 2v6.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563`}],[`path`,{d:`M6.453 15H15`}],[`path`,{d:`M8.5 2h7`}]],j_=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]],M_=[[`path`,{d:`M10 2v6.292a7 7 0 1 0 4 0V2`}],[`path`,{d:`M5 15h14`}],[`path`,{d:`M8.5 2h7`}]],N_=[[`path`,{d:`m3 7 5 5-5 5V7`}],[`path`,{d:`m21 7-5 5 5 5V7`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],P_=[[`path`,{d:`m17 3-5 5-5-5h10`}],[`path`,{d:`m17 21-5-5-5 5h10`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],F_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5`}],[`path`,{d:`M12 7.5V9`}],[`path`,{d:`M7.5 12H9`}],[`path`,{d:`M16.5 12H15`}],[`path`,{d:`M12 16.5V15`}],[`path`,{d:`m8 8 1.88 1.88`}],[`path`,{d:`M14.12 9.88 16 8`}],[`path`,{d:`m8 16 1.88-1.88`}],[`path`,{d:`M14.12 14.12 16 16`}]],I_=[[`path`,{d:`M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M12 10v12`}],[`path`,{d:`M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z`}],[`path`,{d:`M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z`}]],L_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],R_=[[`path`,{d:`M2 12h6`}],[`path`,{d:`M22 12h-6`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 9-3 3 3 3`}],[`path`,{d:`m5 15 3-3-3-3`}]],z_=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3-3-3 3`}],[`path`,{d:`m15 5-3 3-3-3`}]],B_=[[`circle`,{cx:`15`,cy:`19`,r:`2`}],[`path`,{d:`M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1`}],[`path`,{d:`M15 11v-1`}],[`path`,{d:`M15 17v-2`}]],V_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9 13 2 2 4-4`}]],H_=[[`path`,{d:`M12 6v8l3-3 3 3V6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],U_=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],W_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M2 10h20`}]],G_=[[`path`,{d:`M10 10.5 8 13l2 2.5`}],[`path`,{d:`m14 10.5 2 2.5-2 2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],K_=[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],q_=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`1`}]],J_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m15 13-3 3-3-3`}]],Y_=[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`}],[`circle`,{cx:`13`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],X_=[[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M14 13h3`}],[`path`,{d:`M7 13h3`}]],Z_=[[`path`,{d:`M10.638 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.417`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],Q_=[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m9 16 3-3-3-3`}]],$_=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M12 10v2`}],[`path`,{d:`M16 10v6`}]],ev=[[`path`,{d:`M13 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.36`}],[`path`,{d:`M19 12v6`}],[`path`,{d:`M19 14h2`}],[`circle`,{cx:`19`,cy:`20`,r:`2`}]],tv=[[`rect`,{width:`8`,height:`5`,x:`14`,y:`17`,rx:`1`}],[`path`,{d:`M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}]],nv=[[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],rv=[[`path`,{d:`m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2`}],[`circle`,{cx:`14`,cy:`15`,r:`1`}]],iv=[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`}]],av=[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m5 10-3 3 3 3`}]],ov=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],sv=[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],cv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M12 15v5`}]],lv=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M13.3 14.3 15 16`}]],uv=[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`}],[`path`,{d:`m21 21-1.9-1.9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],dv=[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`m8 16 3-3-3-3`}]],fv=[[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5`}],[`path`,{d:`M12 10v4h4`}],[`path`,{d:`m12 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M22 22v-4h-4`}],[`path`,{d:`m22 18-1.535 1.605a5 5 0 0 1-8-1.5`}]],pv=[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`}]],mv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m9 13 3-3 3 3`}]],hv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9.5 10.5 5 5`}],[`path`,{d:`m14.5 10.5-5 5`}]],gv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],_v=[[`path`,{d:`M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z`}],[`path`,{d:`M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1`}]],vv=[[`path`,{d:`M12 12H5a2 2 0 0 0-2 2v5`}],[`path`,{d:`M15 19h7`}],[`path`,{d:`M16 19V2`}],[`path`,{d:`M6 12V7a2 2 0 0 1 2-2h2.172a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 16 10.828`}],[`path`,{d:`M7 19h4`}],[`circle`,{cx:`13`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],yv=[[`path`,{d:`M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z`}],[`path`,{d:`M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z`}],[`path`,{d:`M16 17h4`}],[`path`,{d:`M4 13h4`}]],bv=[[`path`,{d:`M4 14h6`}],[`path`,{d:`M4 2h10`}],[`rect`,{x:`4`,y:`18`,width:`16`,height:`4`,rx:`1`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`4`,rx:`1`}]],xv=[[`path`,{d:`m15 17 5-5-5-5`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`}]],Sv=[[`line`,{x1:`22`,x2:`2`,y1:`6`,y2:`6`}],[`line`,{x1:`22`,x2:`2`,y1:`18`,y2:`18`}],[`line`,{x1:`6`,x2:`6`,y1:`2`,y2:`22`}],[`line`,{x1:`18`,x2:`18`,y1:`2`,y2:`22`}]],Cv=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],wv=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 9h11`}]],Tv=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{width:`10`,height:`8`,x:`7`,y:`8`,rx:`1`}]],Ev=[[`path`,{d:`M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348`}],[`path`,{d:`M16 6h6`}],[`path`,{d:`M19 3v6`}]],Dv=[[`path`,{d:`M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473`}],[`path`,{d:`m16.5 3.5 5 5`}],[`path`,{d:`m21.5 3.5-5 5`}]],Ov=[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`}]],kv=[[`path`,{d:`M2 7v10`}],[`path`,{d:`M6 5v14`}],[`rect`,{width:`12`,height:`18`,x:`10`,y:`3`,rx:`2`}]],Av=[[`path`,{d:`M2 3v18`}],[`rect`,{width:`12`,height:`18`,x:`6`,y:`3`,rx:`2`}],[`path`,{d:`M22 3v18`}]],jv=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M4 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M19 21h1`}]],Mv=[[`path`,{d:`M3 2h18`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`6`,rx:`2`}],[`path`,{d:`M3 22h18`}]],Nv=[[`path`,{d:`M7 2h10`}],[`path`,{d:`M5 6h14`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}]],Pv=[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`}]],Fv=[[`path`,{d:`M11.146 15.854a1.207 1.207 0 0 1 1.708 0l1.56 1.56A2 2 0 0 1 15 18.828V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2.172a2 2 0 0 1 .586-1.414z`}],[`path`,{d:`M18.828 15a2 2 0 0 1-1.414-.586l-1.56-1.56a1.207 1.207 0 0 1 0-1.708l1.56-1.56A2 2 0 0 1 18.828 9H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M6.586 14.414A2 2 0 0 1 5.172 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2.172a2 2 0 0 1 1.414.586l1.56 1.56a1.207 1.207 0 0 1 0 1.708z`}],[`path`,{d:`M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.172a2 2 0 0 1-.586 1.414l-1.56 1.56a1.207 1.207 0 0 1-1.708 0l-1.56-1.56A2 2 0 0 1 9 5.172z`}]],Iv=[[`line`,{x1:`6`,x2:`10`,y1:`12`,y2:`12`}],[`line`,{x1:`8`,x2:`8`,y1:`10`,y2:`14`}],[`line`,{x1:`15`,x2:`15.01`,y1:`13`,y2:`13`}],[`line`,{x1:`18`,x2:`18.01`,y1:`11`,y2:`11`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],Lv=[[`path`,{d:`m12 14 4-4`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`}]],Rv=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381`}],[`path`,{d:`m16 16 6-6`}],[`path`,{d:`m21.5 10.5-8-8`}],[`path`,{d:`m8 8 6-6`}],[`path`,{d:`m8.5 7.5 8 8`}]],zv=[[`path`,{d:`M10.5 3 8 9l4 13 4-13-2.5-6`}],[`path`,{d:`M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z`}],[`path`,{d:`M2 9h20`}]],Bv=[[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`}]],Vv=[[`path`,{d:`M11.5 21a7.5 7.5 0 1 1 7.35-9`}],[`path`,{d:`M13 12V3`}],[`path`,{d:`M4 21h16`}],[`path`,{d:`M9 12V3`}]],Hv=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]],Uv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`path`,{d:`M21 18h-6`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Wv=[[`path`,{d:`M6 3v12`}],[`path`,{d:`M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M15 6a9 9 0 0 0-9 9`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],Gv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Kv=[[`path`,{d:`M12 3v6`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 15v6`}]],qv=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}],[`path`,{d:`m15 9-3-3 3-3`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`}],[`path`,{d:`m9 15 3 3-3 3`}]],Jv=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`}]],Yv=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`}]],Xv=[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]],Zv=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v6`}],[`circle`,{cx:`5`,cy:`18`,r:`3`}],[`path`,{d:`M12 3v18`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}],[`path`,{d:`M16 15.7A9 9 0 0 0 19 9`}]],Qv=[[`path`,{d:`M12 6h4a2 2 0 0 1 2 2v7`}],[`path`,{d:`M6 12v9`}],[`path`,{d:`M9 3 3 9`}],[`path`,{d:`M9 9 3 3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],$v=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]],ey=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}]],ty=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`m21 3-6 6`}],[`path`,{d:`m21 9-6-6`}],[`path`,{d:`M18 11.5V15`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],ny=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v3`}],[`path`,{d:`M19 15v6`}],[`path`,{d:`M22 18h-6`}]],ry=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],iy=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M18 6V5`}],[`path`,{d:`M18 11v-1`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],uee=[[`path`,{d:`M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z`}],[`path`,{d:`M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0`}]],dee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],fee=[[`circle`,{cx:`6`,cy:`15`,r:`4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`}]],pee=[[`path`,{d:`m15 6 2 2 4-4`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}]],mee=[[`path`,{d:`M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13`}],[`path`,{d:`M2 12h8.5`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],hee=[[`path`,{d:`M10.114 4.462A14.5 14.5 0 0 1 12 2a10 10 0 0 1 9.313 13.643`}],[`path`,{d:`M15.557 15.556A14.5 14.5 0 0 1 12 22 10 10 0 0 1 4.929 4.929`}],[`path`,{d:`M15.892 10.234A14.5 14.5 0 0 0 12 2a10 10 0 0 0-3.643.687`}],[`path`,{d:`M17.656 12H22`}],[`path`,{d:`M19.071 19.071A10 10 0 0 1 12 22 14.5 14.5 0 0 1 8.44 8.45`}],[`path`,{d:`M2 12h10`}],[`path`,{d:`m2 2 20 20`}]],gee=[[`path`,{d:`m16 3 5 5`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}],[`path`,{d:`m21 3-5 5`}]],_ee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`}],[`path`,{d:`M2 12h20`}]],vee=[[`path`,{d:`M12 13V2l8 4-8 4`}],[`path`,{d:`M20.561 10.222a9 9 0 1 1-12.55-5.29`}],[`path`,{d:`M8.002 9.997a5 5 0 1 0 8.9 2.02`}]],yee=[[`path`,{d:`M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2`}],[`path`,{d:`M2 21V3`}],[`path`,{d:`M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3`}],[`circle`,{cx:`16`,cy:`11`,r:`2`}],[`circle`,{cx:`8`,cy:`11`,r:`2`}]],bee=[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`}],[`path`,{d:`M22 10v6`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`}]],xee=[[`path`,{d:`M22 5V2l-5.89 5.89`}],[`circle`,{cx:`16.6`,cy:`15.89`,r:`3`}],[`circle`,{cx:`8.11`,cy:`7.4`,r:`3`}],[`circle`,{cx:`12.35`,cy:`11.65`,r:`3`}],[`circle`,{cx:`13.91`,cy:`5.85`,r:`3`}],[`circle`,{cx:`18.15`,cy:`10.09`,r:`3`}],[`circle`,{cx:`6.56`,cy:`13.2`,r:`3`}],[`circle`,{cx:`10.8`,cy:`17.44`,r:`3`}],[`circle`,{cx:`5`,cy:`19`,r:`3`}]],ay=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 19 2 2 4-4`}]],oy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 22v-6`}]],sy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`m16 21 5-5`}]],cy=[[`path`,{d:`M12 3v18`}],[`path`,{d:`M3 12h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],See=[[`path`,{d:`M15 3v18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M9 3v18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],ly=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],Cee=[[`circle`,{cx:`12`,cy:`9`,r:`1`}],[`circle`,{cx:`19`,cy:`9`,r:`1`}],[`circle`,{cx:`5`,cy:`9`,r:`1`}],[`circle`,{cx:`12`,cy:`15`,r:`1`}],[`circle`,{cx:`19`,cy:`15`,r:`1`}],[`circle`,{cx:`5`,cy:`15`,r:`1`}]],wee=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]],Tee=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`19`,cy:`5`,r:`1`}],[`circle`,{cx:`5`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}],[`circle`,{cx:`19`,cy:`19`,r:`1`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],Eee=[[`path`,{d:`M3 7V5c0-1.1.9-2 2-2h2`}],[`path`,{d:`M17 3h2c1.1 0 2 .9 2 2v2`}],[`path`,{d:`M21 17v2c0 1.1-.9 2-2 2h-2`}],[`path`,{d:`M7 21H5c-1.1 0-2-.9-2-2v-2`}],[`rect`,{width:`7`,height:`5`,x:`7`,y:`7`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`10`,y:`12`,rx:`1`}]],Dee=[[`path`,{d:`m11.9 12.1 4.514-4.514`}],[`path`,{d:`M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z`}],[`path`,{d:`m6 16 2 2`}],[`path`,{d:`M8.23 9.85A3 3 0 0 1 11 8a5 5 0 0 1 5 5 3 3 0 0 1-1.85 2.77l-.92.38A2 2 0 0 0 12 18a4 4 0 0 1-4 4 6 6 0 0 1-6-6 4 4 0 0 1 4-4 2 2 0 0 0 1.85-1.23z`}]],Oee=[[`path`,{d:`M12 16H4a2 2 0 1 1 0-4h16a2 2 0 1 1 0 4h-4.25`}],[`path`,{d:`M5 12a2 2 0 0 1-2-2 9 7 0 0 1 18 0 2 2 0 0 1-2 2`}],[`path`,{d:`M5 16a2 2 0 0 0-2 2 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 2 2 0 0 0-2-2q0 0 0 0`}],[`path`,{d:`m6.67 12 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}]],kee=[[`path`,{d:`M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856`}],[`path`,{d:`M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288`}],[`path`,{d:`M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025`}],[`path`,{d:`m8.5 16.5-1-1`}]],Aee=[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`}],[`path`,{d:`m18 15 4-4`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`}]],jee=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]],Mee=[[`path`,{d:`M12.035 17.012a3 3 0 0 0-3-3l-.311-.002a.72.72 0 0 1-.505-1.229l1.195-1.195A2 2 0 0 1 10.828 11H12a2 2 0 0 0 0-4H9.243a3 3 0 0 0-2.122.879l-2.707 2.707A4.83 4.83 0 0 0 3 14a8 8 0 0 0 8 8h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v2a2 2 0 1 0 4 0`}],[`path`,{d:`M13.888 9.662A2 2 0 0 0 17 8V5A2 2 0 1 0 13 5`}],[`path`,{d:`M9 5A2 2 0 1 0 5 5V10`}],[`path`,{d:`M9 7V4A2 2 0 1 1 13 4V7.268`}]],Nee=[[`path`,{d:`M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16`}],[`path`,{d:`m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95`}],[`path`,{d:`m2 15 6 6`}],[`path`,{d:`m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91`}]],uy=[[`path`,{d:`M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5`}],[`path`,{d:`M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0`}]],dy=[[`path`,{d:`M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14`}],[`path`,{d:`m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 13 6 6`}]],Pee=[[`path`,{d:`M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 11V9a2 2 0 1 0-4 0v2`}],[`path`,{d:`M10 10.5V5a2 2 0 1 0-4 0v9`}],[`path`,{d:`m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5`}]],Fee=[[`path`,{d:`M12 3V2`}],[`path`,{d:`m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5`}],[`path`,{d:`M2 14h12a2 2 0 0 1 0 4h-2`}],[`path`,{d:`M4 10h16`}],[`path`,{d:`M5 10a7 7 0 0 1 14 0`}],[`path`,{d:`M5 14v6a1 1 0 0 1-1 1H2`}]],Iee=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],Lee=[[`path`,{d:`M2.048 18.566A2 2 0 0 0 4 21h16a2 2 0 0 0 1.952-2.434l-2-9A2 2 0 0 0 18 8H6a2 2 0 0 0-1.952 1.566z`}],[`path`,{d:`M8 11V6a4 4 0 0 1 8 0v5`}]],Ree=[[`path`,{d:`m11 17 2 2a1 1 0 1 0 3-3`}],[`path`,{d:`m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4`}],[`path`,{d:`m21 3 1 11h-2`}],[`path`,{d:`M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3`}],[`path`,{d:`M3 4h8`}]],zee=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m16 6-4 4-4-4`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Bee=[[`path`,{d:`M10 16h.01`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}],[`path`,{d:`M21.946 12.013H2.054`}],[`path`,{d:`M6 16h.01`}]],Vee=[[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M12 2v8`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Hee=[[`path`,{d:`M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5`}],[`path`,{d:`M14 6a6 6 0 0 1 6 6v3`}],[`path`,{d:`M4 15v-3a6 6 0 0 1 6-6`}],[`rect`,{x:`2`,y:`15`,width:`20`,height:`4`,rx:`1`}]],Uee=[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`}]],Wee=[[`path`,{d:`M14 18a2 2 0 0 0-4 0`}],[`path`,{d:`m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11`}],[`path`,{d:`M2 11h20`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Gee=[[`path`,{d:`m5.2 6.2 1.4 1.4`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`m17.4 7.6 1.4-1.4`}],[`path`,{d:`M22 17H2`}],[`path`,{d:`M22 21H2`}],[`path`,{d:`M16 13a4 4 0 0 0-8 0`}],[`path`,{d:`M12 5V2.5`}]],Kee=[[`path`,{d:`M10 12H6`}],[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`path`,{d:`M6 15V9`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],qee=[[`path`,{d:`M22 9a1 1 0 00-1-1H3a1 1 0 00-1 1v4a1 1 0 001 1h.5a2 2 0 011.6.8l.3.4A2 2 0 007 16h10a2 2 0 001.6-.8l.3-.4a2 2 0 011.6-.8h.5a1 1 0 001-1z`}],[`path`,{d:`M8 12h8`}]],Jee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`m17 12 3-2v8`}]],Yee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1`}]],Xee=[[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 10v3a1 1 0 0 0 1 1h3`}],[`path`,{d:`M21 10v8`}],[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}]],Zee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2`}],[`path`,{d:`M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2`}]],Qee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 13v-3h4`}],[`path`,{d:`M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17`}]],$ee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`circle`,{cx:`19`,cy:`16`,r:`2`}],[`path`,{d:`M20 10c-2 2-3 3.5-3 6`}]],ete=[[`path`,{d:`M6 12h12`}],[`path`,{d:`M6 20V4`}],[`path`,{d:`M18 20V4`}]],tte=[[`path`,{d:`M21 14h-1.343`}],[`path`,{d:`M9.128 3.47A9 9 0 0 1 21 12v3.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364`}]],nte=[[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3`}]],rte=[[`path`,{d:`M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z`}],[`path`,{d:`M21 16v2a4 4 0 0 1-4 4h-5`}]],ite=[[`path`,{d:`M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15`}],[`path`,{d:`M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z`}]],ate=[[`path`,{d:`M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762`}]],ote=[[`path`,{d:`m14.876 18.99-1.368 1.323a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.244 1.572`}],[`path`,{d:`M15 15h6`}]],ste=[[`path`,{d:`M10.5 4.893a5.5 5.5 0 0 1 1.091.931.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 1.872-1.002 3.356-2.187 4.655`}],[`path`,{d:`m16.967 16.967-3.459 3.346a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 2.747-4.761`}],[`path`,{d:`m2 2 20 20`}]],cte=[[`path`,{d:`m14.479 19.374-.971.939a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.219 1.49`}],[`path`,{d:`M15 15h6`}],[`path`,{d:`M18 12v6`}]],lte=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}],[`path`,{d:`M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27`}]],ute=[[`path`,{d:`m15.5 12.5 5 5`}],[`path`,{d:`m20.5 12.5-5 5`}],[`path`,{d:`M21.955 8.774a5.5 5.5 0 0 0-9.546-2.95.6.6 0 0 1-.818 0A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.508 5.332a2 2 0 0 0 2.57.352`}]],dte=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}]],fte=[[`path`,{d:`M11 8c2-3-2-3 0-6`}],[`path`,{d:`M15.5 8c2-3-2-3 0-6`}],[`path`,{d:`M6 10h.01`}],[`path`,{d:`M6 14h.01`}],[`path`,{d:`M10 16v-4`}],[`path`,{d:`M14 16v-4`}],[`path`,{d:`M18 16v-4`}],[`path`,{d:`M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3`}],[`path`,{d:`M5 20v2`}],[`path`,{d:`M19 20v2`}]],pte=[[`path`,{d:`M11 17v4`}],[`path`,{d:`M14 3v8a2 2 0 0 0 2 2h5.865`}],[`path`,{d:`M17 17v4`}],[`path`,{d:`M18 17a4 4 0 0 0 4-4 8 6 0 0 0-8-6 6 5 0 0 0-6 5v3a2 2 0 0 0 2 2z`}],[`path`,{d:`M2 10v5`}],[`path`,{d:`M6 3h16`}],[`path`,{d:`M7 21h14`}],[`path`,{d:`M8 13H2`}]],mte=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}]],hte=[[`path`,{d:`m9 11-6 6v3h9l3-3`}],[`path`,{d:`m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4`}]],gte=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M12 7v5l4 2`}]],_te=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18`}],[`path`,{d:`M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88`}],[`path`,{d:`M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87`}],[`path`,{d:`M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08`}],[`path`,{d:`M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57`}],[`path`,{d:`M4.93 4.93 3 3a.7.7 0 0 1 0-1`}],[`path`,{d:`M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15`}]],vte=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27`}],[`path`,{d:`M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26`}],[`path`,{d:`M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25`}],[`path`,{d:`M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75`}],[`path`,{d:`M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24`}],[`path`,{d:`M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28`}],[`path`,{d:`M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05`}],[`path`,{d:`m2 2 20 20`}]],yte=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M14 9h-4`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`}]],bte=[[`path`,{d:`M10 22v-6.57`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M12 7h.01`}],[`path`,{d:`M14 15.43V22`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M16 7h.01`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 7h.01`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],xte=[[`path`,{d:`M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],Ste=[[`path`,{d:`M5 22h14`}],[`path`,{d:`M5 2h14`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`}]],Cte=[[`path`,{d:`M12.35 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v2.35`}],[`path`,{d:`M14.8 12.4A1 1 0 0 0 14 12h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],wte=[[`path`,{d:`M10 12V8.964`}],[`path`,{d:`M14 12V8.964`}],[`path`,{d:`M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z`}],[`path`,{d:`M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2`}]],Tte=[[`path`,{d:`M9.5 13.866a4 4 0 0 1 5 .01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`M7 10.754a8 8 0 0 1 10 0`}]],fy=[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],py=[[`path`,{d:`M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M12.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M15.5 6.5a3.5 3.5 0 1 0-7 0`}]],my=[[`path`,{d:`m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11`}],[`path`,{d:`M17 7A5 5 0 0 0 7 7`}],[`path`,{d:`M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4`}]],Ete=[[`path`,{d:`M13.5 8h-3`}],[`path`,{d:`m15 2-1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3`}],[`path`,{d:`M16.899 22A5 5 0 0 0 7.1 22`}],[`path`,{d:`m9 2 3 6`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],Dte=[[`path`,{d:`M16 10h2`}],[`path`,{d:`M16 14h2`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`}],[`circle`,{cx:`9`,cy:`11`,r:`2`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],hy=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19 3 3v-5.5`}],[`path`,{d:`m17 22 3-3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],gy=[[`path`,{d:`M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`line`,{x1:`16`,x2:`22`,y1:`5`,y2:`5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],_y=[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`}]],vy=[[`path`,{d:`M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m6 21 5-5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],yy=[[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],by=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19.5 3-3 3 3`}],[`path`,{d:`M17 22v-5.5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],xy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],Sy=[[`path`,{d:`m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16`}],[`path`,{d:`M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2`}],[`circle`,{cx:`13`,cy:`7`,r:`1`,fill:`currentColor`}],[`rect`,{x:`8`,y:`2`,width:`14`,height:`14`,rx:`2`}]],Cy=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M17 21h2a2 2 0 0 0 2-2`}],[`path`,{d:`M21 12v3`}],[`path`,{d:`m21 3-5 5`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2`}],[`path`,{d:`m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19`}],[`path`,{d:`M9 3h3`}],[`rect`,{x:`3`,y:`11`,width:`10`,height:`10`,rx:`1`}]],wy=[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}]],Ty=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m8 11 4 4 4-4`}],[`path`,{d:`M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4`}]],Ey=[[`path`,{d:`M6 3h12`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`m6 13 8.5 8`}],[`path`,{d:`M6 13h3`}],[`path`,{d:`M9 13c6.667 0 6.667-10 0-10`}]],Dy=[[`path`,{d:`M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8`}]],Oy=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]],ky=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h.01`}],[`path`,{d:`M17 7h.01`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M17 17h.01`}]],Ay=[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`}]],jy=[[`path`,{d:`m16 14 4 4-4 4`}],[`path`,{d:`M20 10a8 8 0 1 0-8 8h8`}]],My=[[`path`,{d:`M4 10a8 8 0 1 1 8 8H4`}],[`path`,{d:`m8 22-4-4 4-4`}]],Ny=[[`path`,{d:`M12 9.5V21m0-11.5L6 3m6 6.5L18 3`}],[`path`,{d:`M6 15h12`}],[`path`,{d:`M6 11h12`}]],Py=[[`path`,{d:`M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z`}],[`path`,{d:`M6 15v-2`}],[`path`,{d:`M12 15V9`}],[`circle`,{cx:`12`,cy:`6`,r:`3`}]],Fy=[[`path`,{d:`M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z`}],[`path`,{d:`M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61`}],[`path`,{d:`m6.707 6.707 10.586 10.586`}],[`path`,{d:`M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z`}]],Iy=[[`path`,{d:`M5 3v14`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`M19 3v18`}]],Ly=[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Ry=[[`path`,{d:`M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814`}]],zy=[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}],[`path`,{d:`m21 2-9.6 9.6`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`}]],By=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M6 12v4`}],[`path`,{d:`M10 12v4`}],[`path`,{d:`M14 12v4`}],[`path`,{d:`M18 12v4`}]],Vy=[[`path`,{d:`M10 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M7 16h10`}],[`path`,{d:`M8 12h.01`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}]],Hy=[[`path`,{d:`M 20 4 A2 2 0 0 1 22 6`}],[`path`,{d:`M 22 6 L 22 16.41`}],[`path`,{d:`M 7 16 L 16 16`}],[`path`,{d:`M 9.69 4 L 20 4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M8 12h.01`}]],Uy=[[`path`,{d:`M12 2v5`}],[`path`,{d:`M14.829 15.998a3 3 0 1 1-5.658 0`}],[`path`,{d:`M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z`}]],Wy=[[`path`,{d:`M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z`}],[`path`,{d:`m14.207 4.793-3.414 3.414`}],[`path`,{d:`M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z`}],[`path`,{d:`m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18`}]],Gy=[[`path`,{d:`M12 10v12`}],[`path`,{d:`M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M9 22h6`}]],Ky=[[`path`,{d:`M19.929 18.629A1 1 0 0 1 19 20H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 13h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 6h4a2 2 0 0 1 2 2v5`}]],qy=[[`path`,{d:`M19.929 9.629A1 1 0 0 1 19 11H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 4h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 18h4a2 2 0 0 0 2-2v-5`}]],Jy=[[`path`,{d:`M12 12v6`}],[`path`,{d:`M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z`}],[`path`,{d:`M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z`}]],Yy=[[`path`,{d:`m12 8 6-3-6-3v10`}],[`path`,{d:`m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12`}],[`path`,{d:`m6.49 12.85 11.02 6.3`}],[`path`,{d:`M17.51 12.85 6.5 19.15`}]],Xy=[[`path`,{d:`M10 18v-7`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`}],[`path`,{d:`M14 18v-7`}],[`path`,{d:`M18 18v-7`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M6 18v-7`}]],Zy=[[`path`,{d:`m5 8 6 6`}],[`path`,{d:`m4 14 6-6 2-3`}],[`path`,{d:`M2 5h12`}],[`path`,{d:`M7 2h1`}],[`path`,{d:`m22 22-5-10-5 10`}],[`path`,{d:`M14 18h6`}]],Qy=[[`path`,{d:`M2 20h20`}],[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`12`,rx:`2`}]],$y=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`4`,rx:`2`,ry:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`20`,y2:`20`}]],eb=[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`}],[`path`,{d:`M20.054 15.987H3.946`}]],tb=[[`path`,{d:`M7 22a5 5 0 0 1-2-4`}],[`path`,{d:`M7 16.93c.96.43 1.96.74 2.99.91`}],[`path`,{d:`M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2`}],[`path`,{d:`M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z`}],[`path`,{d:`M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z`}]],nb=[[`path`,{d:`M3.704 14.467a10 8 0 1 1 3.115 2.375`}],[`path`,{d:`M7 22a5 5 0 0 1-2-3.994`}],[`circle`,{cx:`5`,cy:`16`,r:`2`}]],rb=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],ib=[[`path`,{d:`M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z`}],[`path`,{d:`m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845`}]],ab=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.832z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M2.003 11.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18`}],[`path`,{d:`M2.003 16.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l2.11-.96`}],[`path`,{d:`M22.018 12.004a1 1 0 0 1-.598.916l-.177.08`}]],ob=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]],sb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962`}]],cb=[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}]],lb=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]],ub=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`path`,{d:`M14 4h7`}],[`path`,{d:`M14 9h7`}],[`path`,{d:`M14 15h7`}],[`path`,{d:`M14 20h7`}]],db=[[`rect`,{width:`7`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],fb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],pb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`}]],mb=[[`path`,{d:`M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z`}],[`path`,{d:`M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12`}]],hb=[[`path`,{d:`M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22`}],[`path`,{d:`M2 22 17 7`}]],gb=[[`path`,{d:`M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3`}],[`path`,{d:`M18 6V3a1 1 0 0 0-1-1h-3`}],[`rect`,{width:`8`,height:`12`,x:`8`,y:`10`,rx:`1`}]],_b=[[`path`,{d:`M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z`}]],vb=[[`path`,{d:`M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z`}]],yb=[[`rect`,{width:`8`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z`}]],bb=[[`path`,{d:`m16 6 4 14`}],[`path`,{d:`M12 6v14`}],[`path`,{d:`M8 8v12`}],[`path`,{d:`M4 4v16`}]],xb=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m4.93 4.93 4.24 4.24`}],[`path`,{d:`m14.83 9.17 4.24-4.24`}],[`path`,{d:`m14.83 14.83 4.24 4.24`}],[`path`,{d:`m9.17 14.83-4.24 4.24`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Sb=[[`path`,{d:`M14 12h2v8`}],[`path`,{d:`M14 20h4`}],[`path`,{d:`M6 12h4`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M8 20V8a4 4 0 0 1 7.464-2`}]],Cb=[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],wb=[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],Tb=[[`path`,{d:`M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2`}]],Eb=[[`path`,{d:`M 3 12 L 15 12`}],[`circle`,{cx:`18`,cy:`12`,r:`3`}]],Db=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Ob=[[`path`,{d:`M11 5h2`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M19 5h2`}],[`path`,{d:`M3 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 5h2`}]],kb=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],Ab=[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}]],jb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`m15 18 2 2 4-4`}]],Mb=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`path`,{d:`m3 7 2 2 4-4`}]],Nb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 5 3 3 3-3`}],[`path`,{d:`m15 19 3-3 3 3`}]],Pb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 8 3-3 3 3`}],[`path`,{d:`m15 16 3 3 3-3`}]],Fb=[[`path`,{d:`M10 5h11`}],[`path`,{d:`M10 12h11`}],[`path`,{d:`M10 19h11`}],[`path`,{d:`m3 10 3-3-3-3`}],[`path`,{d:`m3 20 3-3-3-3`}]],Ib=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M9 19H3`}],[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`}]],Lb=[[`path`,{d:`M12 5H2`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 8V2`}]],Rb=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m7 8-4 4 4 4`}]],zb=[[`path`,{d:`M2 5h20`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}]],Bb=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m3 8 4 4-4 4`}]],Vb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 12h-6`}]],Hb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`M21 16V5`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],Ub=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M18 9v6`}],[`path`,{d:`M21 12h-6`}]],Wb=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 19H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],Gb=[[`path`,{d:`M11 5h10`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 19h10`}],[`path`,{d:`M4 4h1v5`}],[`path`,{d:`M4 9h2`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`}]],Kb=[[`path`,{d:`M3 19h18`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M9 5H3`}]],qb=[[`path`,{d:`M15 12H3`}],[`path`,{d:`M3 5h18`}],[`path`,{d:`M9 19H3`}]],Jb=[[`path`,{d:`M3 5h6`}],[`path`,{d:`M3 12h13`}],[`path`,{d:`M3 19h13`}],[`path`,{d:`m16 8-3-3 3-3`}],[`path`,{d:`M21 19V7a2 2 0 0 0-2-2h-6`}]],Yb=[[`path`,{d:`M8 5h13`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`}]],Xb=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}]],Zb=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`}]],Qb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`m15.5 9.5 5 5`}],[`path`,{d:`m20.5 9.5-5 5`}]],$b=[[`path`,{d:`M3 5h.01`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M3 19h.01`}],[`path`,{d:`M8 5h13`}],[`path`,{d:`M8 12h13`}],[`path`,{d:`M8 19h13`}]],ex=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],tx=[[`path`,{d:`M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0`}],[`path`,{d:`M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6`}],[`path`,{d:`M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],nx=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m4.9 19.1 2.9-2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m4.9 4.9 2.9 2.9`}]],rx=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],ix=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M18.89 13.24a7 7 0 0 0-8.13-8.13`}],[`path`,{d:`M19 12h3`}],[`path`,{d:`M2 12h3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.05 7.05a7 7 0 0 0 9.9 9.9`}]],ax=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],ox=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 9.33-2.5`}]],sx=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`}]],cx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]],lx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]],ux=[[`path`,{d:`m10 17 5-5-5-5`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`}]],dx=[[`path`,{d:`m16 17 5-5-5-5`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],fx=[[`path`,{d:`M3 5h1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M3 19h1`}],[`path`,{d:`M8 5h1`}],[`path`,{d:`M8 12h1`}],[`path`,{d:`M8 19h1`}],[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}]],px=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0`}]],mx=[[`path`,{d:`M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2`}],[`path`,{d:`M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14`}],[`path`,{d:`M10 20h4`}],[`circle`,{cx:`16`,cy:`20`,r:`2`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],hx=[[`path`,{d:`m12 15 4 4`}],[`path`,{d:`M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z`}],[`path`,{d:`m5 8 4 4`}]],gx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m16 19 2 2 4-4`}]],_x=[[`path`,{d:`M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M16 19h6`}]],vx=[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`}]],yx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M16 19h6`}]],bx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2`}],[`path`,{d:`M20 22v.01`}]],xx=[[`path`,{d:`M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.5-1.5`}]],Sx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M20 14v4`}],[`path`,{d:`M20 22v.01`}]],Cx=[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],wx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m17 17 4 4`}],[`path`,{d:`m21 17-4 4`}]],Tx=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z`}],[`polyline`,{points:`15,9 18,9 18,11`}],[`path`,{d:`M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2`}],[`line`,{x1:`6`,x2:`7`,y1:`10`,y2:`10`}]],Ex=[[`path`,{d:`M17 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 1-1.732`}],[`path`,{d:`m22 5.5-6.419 4.179a2 2 0 0 1-2.162 0L7 5.5`}],[`rect`,{x:`7`,y:`3`,width:`15`,height:`12`,rx:`2`}]],Dx=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14`}],[`path`,{d:`M15 5.764V14`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],Ox=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m9 10 2 2 4-4`}]],kx=[[`path`,{d:`M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m16 18 2 2 4-4`}]],Ax=[[`path`,{d:`M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2`}],[`path`,{d:`M18 22v-3`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],jx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M9 10h6`}]],Mx=[[`path`,{d:`M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}]],Nx=[[`path`,{d:`M12.75 7.09a3 3 0 0 1 2.16 2.16`}],[`path`,{d:`M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533`}],[`path`,{d:`M9.13 9.13a3 3 0 0 0 3.74 3.74`}]],Px=[[`path`,{d:`M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Fx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M12 7v6`}],[`path`,{d:`M9 10h6`}]],Ix=[[`path`,{d:`M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}],[`path`,{d:`M19 15v6`}]],Lx=[[`path`,{d:`M 12.248 21.969 a 1 1 0 0 1 -0.849 -0.17 C 9.539 20.193 4 14.993 4 10 a 8 8 0 0 1 16 0 C 20 10.42 19.961 10.841 19.888 11.262`}],[`path`,{d:`m22 22-1.88-1.88`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Rx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`m9.5 7.5 5 5`}]],zx=[[`path`,{d:`M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m21.5 15.5-5 5`}],[`path`,{d:`m21.5 20.5-5-5`}]],Bx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}]],Vx=[[`path`,{d:`M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712`}]],Hx=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12`}],[`path`,{d:`M15 5.764V12`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],Ux=[[`path`,{d:`m14 6 4 4`}],[`path`,{d:`M17 3h4v4`}],[`path`,{d:`m21 3-7.75 7.75`}],[`circle`,{cx:`9`,cy:`15`,r:`6`}]],Wx=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`m21 3-6.75 6.75`}],[`circle`,{cx:`10`,cy:`14`,r:`6`}]],Gx=[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`}],[`path`,{d:`M15 5.764v15`}],[`path`,{d:`M9 3.236v15`}]],Kx=[[`path`,{d:`M12 12 4.207 4.207A.707.707 0 0 1 4.707 3h14.586a.707.707 0 0 1 .5 1.207z`}],[`path`,{d:`M12 12v10`}],[`path`,{d:`M7 22h10`}]],qx=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`m21 3-7 7`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M9 21H3v-6`}]],Jx=[[`path`,{d:`M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15`}],[`path`,{d:`M11 12 5.12 2.2`}],[`path`,{d:`m13 12 5.88-9.8`}],[`path`,{d:`M8 7h8`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}],[`path`,{d:`M12 18v-2h-.5`}]],Yx=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`}]],Xx=[[`path`,{d:`M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344`}],[`path`,{d:`M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 8v6`}]],Zx=[[`path`,{d:`M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 6v8`}]],Qx=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],$x=[[`path`,{d:`M12 12v-2`}],[`path`,{d:`M12 18v-2`}],[`path`,{d:`M16 12v-2`}],[`path`,{d:`M16 18v-2`}],[`path`,{d:`M2 11h1.5`}],[`path`,{d:`M20 18v-2`}],[`path`,{d:`M20.5 11H22`}],[`path`,{d:`M4 18v-2`}],[`path`,{d:`M8 12v-2`}],[`path`,{d:`M8 18v-2`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`}]],eS=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]],tS=[[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`}],[`path`,{d:`m20 22-5-5`}]],nS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m9 12 2 2 4-4`}]],rS=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],iS=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.72a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.28 17.61a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`m6.163 21.117-2.906.85a1 1 0 0 1-1.236-1.169l.965-2.98`}]],aS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z`}]],oS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],sS=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.93 4.929a10 10 0 0 0-1.938 11.412 2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 0 0 11.302-1.989`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}]],cS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],lS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],uS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m10 15-3-3 3-3`}],[`path`,{d:`M7 12h8a2 2 0 0 1 2 2v1`}]],dS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],fS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],pS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],mS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m9 11 2 2 4-4`}]],hS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`m14 14 3-3-3-3`}]],gS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M10 15h4`}],[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v4`}]],_S=[[`path`,{d:`M14 3h2`}],[`path`,{d:`M16 19h-2`}],[`path`,{d:`M2 12v-2`}],[`path`,{d:`M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149`}],[`path`,{d:`M20 19a2 2 0 0 0 2-2v-1`}],[`path`,{d:`M22 10v2`}],[`path`,{d:`M22 6V5a2 2 0 0 0-2-2`}],[`path`,{d:`M4 3a2 2 0 0 0-2 2v1`}],[`path`,{d:`M8 19h2`}],[`path`,{d:`M8 3h2`}]],vS=[[`path`,{d:`M12.7 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4.7`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],yS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`}]],bS=[[`path`,{d:`M22 8.5V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H10`}],[`path`,{d:`M20 15v-2a2 2 0 0 0-4 0v2`}],[`rect`,{x:`14`,y:`15`,width:`8`,height:`5`,rx:`1`}]],xS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M8 11h.01`}]],SS=[[`path`,{d:`M19 19H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v11.344`}]],CS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 8v6`}],[`path`,{d:`M9 11h6`}]],wS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`M17 14v-1a2 2 0 0 0-2-2H7`}]],TS=[[`path`,{d:`M14 14a2 2 0 0 0 2-2V8h-2`}],[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M8 14a2 2 0 0 0 2-2V8H8`}]],ES=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7 11h10`}],[`path`,{d:`M7 15h6`}],[`path`,{d:`M7 7h8`}]],DS=[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}],[`path`,{d:`M16 3h6v6`}],[`path`,{d:`m16 9 6-6`}]],OS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 15h.01`}],[`path`,{d:`M12 7v4`}]],kS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m14.5 8.5-5 5`}],[`path`,{d:`m9.5 8.5 5 5`}]],AS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]],jS=[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`}]],MS=[[`path`,{d:`M12 11.4V9.1`}],[`path`,{d:`m12 17 6.59-6.59`}],[`path`,{d:`m15.05 5.7-.218-.691a3 3 0 0 0-5.663 0L4.418 19.695A1 1 0 0 0 5.37 21h13.253a1 1 0 0 0 .951-1.31L18.45 16.2`}],[`circle`,{cx:`20`,cy:`9`,r:`2`}]],NS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`}]],PS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`}]],FS=[[`path`,{d:`m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12`}],[`path`,{d:`M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5`}],[`circle`,{cx:`16`,cy:`7`,r:`5`}]],IS=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 17h4`}],[`path`,{d:`M10 7h4`}],[`path`,{d:`M18 12h2`}],[`path`,{d:`M18 18h2`}],[`path`,{d:`M18 6h2`}],[`path`,{d:`M4 12h2`}],[`path`,{d:`M4 18h2`}],[`path`,{d:`M4 6h2`}],[`rect`,{x:`6`,y:`2`,width:`12`,height:`20`,rx:`2`}]],LS=[[`path`,{d:`M6 18h8`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M14 22a7 7 0 1 0 0-14h-1`}],[`path`,{d:`M9 14h2`}],[`path`,{d:`M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z`}],[`path`,{d:`M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],RS=[[`rect`,{width:`20`,height:`15`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`8`,height:`7`,x:`6`,y:`8`,rx:`1`}],[`path`,{d:`M18 8v7`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 19v2`}]],zS=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z`}]],BS=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],VS=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2`}],[`path`,{d:`M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}]],HS=[[`path`,{d:`m14 10 7-7`}],[`path`,{d:`M20 10h-6V4`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M4 14h6v6`}]],US=[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`}]],WS=[[`path`,{d:`M5 12h14`}]],GS=[[`path`,{d:`M11 6 8 9`}],[`path`,{d:`m16 7-8 8`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],KS=[[`path`,{d:`M10 6.6 8.6 8`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`M15 7.5 9.5 13`}],[`path`,{d:`M7 22h10`}],[`circle`,{cx:`12`,cy:`10`,r:`8`}]],qS=[[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],JS=[[`path`,{d:`M12 17v4`}],[`path`,{d:`m14.305 7.53.923-.382`}],[`path`,{d:`m15.228 4.852-.923-.383`}],[`path`,{d:`m16.852 3.228-.383-.924`}],[`path`,{d:`m16.852 8.772-.383.923`}],[`path`,{d:`m19.148 3.228.383-.924`}],[`path`,{d:`m19.53 9.696-.382-.924`}],[`path`,{d:`m20.772 4.852.924-.383`}],[`path`,{d:`m20.772 7.148.924.383`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}]],YS=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],XS=[[`path`,{d:`M11 13a3 3 0 1 1 2.83-4H14a2 2 0 0 1 0 4z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],ZS=[[`path`,{d:`M12 13V7`}],[`path`,{d:`m15 10-3 3-3-3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],QS=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042`}]],$S=[[`path`,{d:`M10 13V7`}],[`path`,{d:`M14 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],eC=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],tC=[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`}],[`path`,{d:`M10 19v-3.96 3.15`}],[`path`,{d:`M7 19h5`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`}]],nC=[[`path`,{d:`M5.5 20H8`}],[`path`,{d:`M17 9h.01`}],[`rect`,{width:`10`,height:`16`,x:`12`,y:`4`,rx:`2`}],[`path`,{d:`M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4`}],[`circle`,{cx:`17`,cy:`15`,r:`1`}]],rC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}],[`rect`,{x:`9`,y:`7`,width:`6`,height:`6`,rx:`1`}]],iC=[[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`M12 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],aC=[[`path`,{d:`m14.5 12.5-5-5`}],[`path`,{d:`m9.5 12.5 5-5`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],oC=[[`path`,{d:`M18 5h4`}],[`path`,{d:`M20 3v4`}],[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],sC=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`}]],cC=[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],lC=[[`path`,{d:`m18 14-1-3`}],[`path`,{d:`m3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81`}],[`path`,{d:`M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5`}],[`circle`,{cx:`19`,cy:`17`,r:`3`}],[`circle`,{cx:`5`,cy:`17`,r:`3`}]],uC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}],[`path`,{d:`M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19`}]],dC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}]],fC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M5 10v5a7 7 0 0 0 14 0V9c0-3.527-2.608-6.515-6-7`}],[`circle`,{cx:`7`,cy:`4`,r:`2`}]],pC=[[`path`,{d:`M12 6v.343`}],[`path`,{d:`M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218`}],[`path`,{d:`M19 13.343V9A7 7 0 0 0 8.56 2.902`}],[`path`,{d:`M22 22 2 2`}]],mC=[[`path`,{d:`m15.55 8.45 5.138 2.087a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063L8.45 15.551`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`m6.816 11.528-2.779-6.84a.495.495 0 0 1 .651-.651l6.84 2.779`}]],hC=[[`path`,{d:`M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`path`,{d:`m11.8 11.8 8.4 8.4`}]],gC=[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`}]],_C=[[`path`,{d:`M12.586 12.586 19 19`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`}]],vC=[[`path`,{d:`M14 4.1 12 6`}],[`path`,{d:`m5.1 8-2.9-.8`}],[`path`,{d:`m6 12-1.9 2`}],[`path`,{d:`M7.2 2.2 8 5.1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`}]],yC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M19 10v5a7 7 0 0 1-14 0V9c0-3.527 2.608-6.515 6-7`}],[`circle`,{cx:`17`,cy:`4`,r:`2`}]],bC=[[`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`7`}],[`path`,{d:`M12 6v4`}]],xC=[[`path`,{d:`M5 3v16h16`}],[`path`,{d:`m5 19 6-6`}],[`path`,{d:`m2 6 3-3 3 3`}],[`path`,{d:`m18 16 3 3-3 3`}]],SC=[[`path`,{d:`M19 13v6h-6`}],[`path`,{d:`M5 11V5h6`}],[`path`,{d:`m5 5 14 14`}]],CC=[[`path`,{d:`M11 19H5v-6`}],[`path`,{d:`M13 5h6v6`}],[`path`,{d:`M19 5 5 19`}]],wC=[[`path`,{d:`M11 19H5V13`}],[`path`,{d:`M19 5L5 19`}]],TC=[[`path`,{d:`M19 13V19H13`}],[`path`,{d:`M5 5L19 19`}]],EC=[[`path`,{d:`M8 18L12 22L16 18`}],[`path`,{d:`M12 2V22`}]],DC=[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m6 8-4 4 4 4`}]],OC=[[`path`,{d:`M6 8L2 12L6 16`}],[`path`,{d:`M2 12H22`}]],kC=[[`path`,{d:`M18 8L22 12L18 16`}],[`path`,{d:`M2 12H22`}]],AC=[[`path`,{d:`M5 11V5H11`}],[`path`,{d:`M5 5L19 19`}]],jC=[[`path`,{d:`M13 5H19V11`}],[`path`,{d:`M19 5L5 19`}]],MC=[[`path`,{d:`M8 6L12 2L16 6`}],[`path`,{d:`M12 2V22`}]],NC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m8 18 4 4 4-4`}],[`path`,{d:`m8 6 4-4 4 4`}]],PC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],FC=[[`circle`,{cx:`8`,cy:`18`,r:`4`}],[`path`,{d:`M12 18V2l7 4`}]],IC=[[`circle`,{cx:`12`,cy:`18`,r:`4`}],[`path`,{d:`M16 18V2`}]],LC=[[`path`,{d:`M9 18V5l12-2v13`}],[`path`,{d:`m9 9 12-2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],RC=[[`path`,{d:`M9 18V5l12-2v13`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],zC=[[`path`,{d:`M9.31 9.31 5 21l7-4 7 4-1.17-3.17`}],[`path`,{d:`M14.53 8.88 12 2l-1.17 3.17`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],BC=[[`polygon`,{points:`12 2 19 21 12 17 5 21 12 2`}]],VC=[[`path`,{d:`M8.43 8.43 3 11l8 2 2 8 2.57-5.43`}],[`path`,{d:`M17.39 11.73 22 2l-9.73 4.61`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],HC=[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`}]],UC=[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`}],[`path`,{d:`M12 12V8`}]],WC=[[`path`,{d:`M15 18h-5`}],[`path`,{d:`M18 14h-8`}],[`path`,{d:`M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2`}],[`rect`,{width:`8`,height:`4`,x:`10`,y:`6`,rx:`1`}]],GC=[[`path`,{d:`M6 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M9.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M12.91 4.1a15.91 15.91 0 0 1 .01 15.8`}],[`path`,{d:`M16.37 2a20.16 20.16 0 0 1 0 20`}]],KC=[[`path`,{d:`M12 2v10`}],[`path`,{d:`m8.5 4 7 4`}],[`path`,{d:`m8.5 8 7-4`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}]],qC=[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],JC=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M15 2v20`}],[`path`,{d:`M15 7h5`}],[`path`,{d:`M15 12h5`}],[`path`,{d:`M15 17h5`}]],YC=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M9.5 8h5`}],[`path`,{d:`M9.5 12H16`}],[`path`,{d:`M9.5 16H14`}]],XC=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M16 2v20`}]],ZC=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M20 12v2`}],[`path`,{d:`M20 18v2a2 2 0 0 1-2 2h-1`}],[`path`,{d:`M13 22h-2`}],[`path`,{d:`M7 22H6a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M4 14v-2`}],[`path`,{d:`M4 8V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],QC=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`16`,height:`18`,x:`4`,y:`4`,rx:`2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],$C=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939`}],[`path`,{d:`M19 10v3.343`}],[`path`,{d:`M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],ew=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4`}],[`path`,{d:`M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z`}]],tw=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`}]],nw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`M8 12h8`}]],rw=[[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 15V9`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],iw=[[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`m9 9 6 6`}]],aw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],ow=[[`path`,{d:`M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21`}]],sw=[[`path`,{d:`M14 3h7`}],[`path`,{d:`M3 3h5.28a1 1 0 0 1 .948.684l5.544 16.632a1 1 0 0 0 .949.684H21`}]],cw=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],lw=[[`path`,{d:`M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025`}],[`path`,{d:`m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009`}],[`path`,{d:`m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027`}]],uw=[[`path`,{d:`M12 3v6`}],[`path`,{d:`M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z`}],[`path`,{d:`M3.054 9.013h17.893`}]],dw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16 17 2 2 4-4`}],[`path`,{d:`M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],fw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M21 13V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],pw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M21 10.535V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],mw=[[`path`,{d:`M12 22v-9`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`}]],hw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M20.27 18.27 22 20`}],[`path`,{d:`M21 10.498V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.98-.559`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}],[`circle`,{cx:`18.5`,cy:`16.5`,r:`2.5`}]],gw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16.5 14.5 5 5`}],[`path`,{d:`m16.5 19.5 5-5`}],[`path`,{d:`M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],_w=[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`}],[`path`,{d:`M12 22V12`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`}],[`path`,{d:`m7.5 4.27 9 5.15`}]],vw=[[`path`,{d:`M11 7 6 2`}],[`path`,{d:`M18.992 12H2.041`}],[`path`,{d:`M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595`}],[`path`,{d:`m8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33`}]],yw=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`}]],bw=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v4`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1`}]],xw=[[`path`,{d:`m14.622 17.897-10.68-2.913`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`}]],Sw=[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Cw=[[`path`,{d:`M11.25 17.25h1.5L12 18z`}],[`path`,{d:`m15 12 2 2`}],[`path`,{d:`M18 6.5a.5.5 0 0 0-.5-.5`}],[`path`,{d:`M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83`}],[`path`,{d:`M6 6.5a.495.495 0 0 1 .5-.5`}],[`path`,{d:`m9 12-2 2`}]],ww=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m15 8-3 3-3-3`}]],Tw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 15h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M9 15h1`}]],Ew=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m9 10 3-3 3 3`}]],Dw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}]],Ow=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m16 15-3-3 3-3`}]],kw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 14v1`}],[`path`,{d:`M9 19v2`}],[`path`,{d:`M9 3v2`}],[`path`,{d:`M9 9v1`}]],Aw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m14 9 3 3-3 3`}]],jw=[[`path`,{d:`M15 10V9`}],[`path`,{d:`M15 15v-1`}],[`path`,{d:`M15 21v-2`}],[`path`,{d:`M15 5V3`}],[`path`,{d:`M9 10V9`}],[`path`,{d:`M9 15v-1`}],[`path`,{d:`M9 21v-2`}],[`path`,{d:`M9 5V3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Mw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],Nw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m8 9 3 3-3 3`}]],Pw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 14v1`}],[`path`,{d:`M15 19v2`}],[`path`,{d:`M15 3v2`}],[`path`,{d:`M15 9v1`}]],Fw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m10 15-3-3 3-3`}]],Iw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],Lw=[[`path`,{d:`M14 15h1`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 15h1`}],[`path`,{d:`M9 9h1`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Rw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m9 16 3-3 3 3`}]],zw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m15 14-3 3-3-3`}]],Bw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 9h1`}]],Vw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}]],Hw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M9 15h12`}]],Uw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h12`}],[`path`,{d:`M15 3v18`}]],Ww=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M9 21V9`}]],Gw=[[`path`,{d:`M5.364 3.848C4 6 3 9.652 3 12.652V19a2 2 0 002 2h14a2 2 0 002-2v-5c0-2.334-1.816-4.668-2.622-7.002`}],[`path`,{d:`M7 3h11.379a2 2 0 011.789 1.106l.723 1.447A1 1 0 0119.997 7h-8.525a2 2 0 01-1.789-1.106L8.79 4.105a2 2 0 10-3.579 1.789l2.261 4.522A5 5 0 018 12.652V21`}]],Kw=[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`}]],qw=[[`path`,{d:`M12.5 11.134 18.196 21`}],[`path`,{d:`M20.425 5.299a10 10 0 0 0-16.941 9.78c.183.563.843.774 1.355.478L20.16 6.711c.512-.296.66-.973.264-1.413`}],[`path`,{d:`M21 21H3`}]],Jw=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}]],Yw=[[`path`,{d:`M11 15h2`}],[`path`,{d:`M12 12v3`}],[`path`,{d:`M12 19v3`}],[`path`,{d:`M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z`}],[`path`,{d:`M9 9a3 3 0 1 1 6 0`}]],Xw=[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`}]],Zw=[[`path`,{d:`M5.8 11.3 2 22l10.7-3.79`}],[`path`,{d:`M4 3h.01`}],[`path`,{d:`M22 8h.01`}],[`path`,{d:`M15 2h.01`}],[`path`,{d:`M22 20h.01`}],[`path`,{d:`m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10`}],[`path`,{d:`m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17`}],[`path`,{d:`m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7`}],[`path`,{d:`M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z`}]],Qw=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`}],[`path`,{d:`M15 14h.01`}],[`path`,{d:`M9 6h6`}],[`path`,{d:`M9 10h6`}]],$w=[[`circle`,{cx:`11`,cy:`4`,r:`2`}],[`circle`,{cx:`18`,cy:`8`,r:`2`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`path`,{d:`M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z`}]],eT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],tT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m2 2 20 20`}]],nT=[[`path`,{d:`M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z`}],[`path`,{d:`m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18`}],[`path`,{d:`m2.3 2.3 7.286 7.286`}],[`circle`,{cx:`11`,cy:`11`,r:`2`}]],rT=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],iT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],aT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]],oT=[[`path`,{d:`M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13`}],[`path`,{d:`m8 6 2-2`}],[`path`,{d:`m18 16 2-2`}],[`path`,{d:`m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],sT=[[`path`,{d:`M10 3H8`}],[`path`,{d:`m15.007 5.008 3.987 3.986`}],[`path`,{d:`M20 15v4`}],[`path`,{d:`M21.174 6.813a2.82 2.82 0 0 0-3.986-3.987L3.842 16.175a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`M22 17h-4`}],[`path`,{d:`M4 5v4`}],[`path`,{d:`M6 7H2`}],[`path`,{d:`M9 2v2`}]],cT=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],lT=[[`path`,{d:`M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z`}]],uT=[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`}]],dT=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`path`,{d:`m9 20 3-6 3 6`}],[`path`,{d:`m6 8 6 2 6-2`}],[`path`,{d:`M12 10v4`}]],fT=[[`path`,{d:`M12 2v20`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],pT=[[`path`,{d:`M20 11H4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7`}]],mT=[[`path`,{d:`M13 2a9 9 0 0 1 9 9`}],[`path`,{d:`M13 6a5 5 0 0 1 5 5`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],hT=[[`path`,{d:`M14 6h8`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],gT=[[`path`,{d:`M16 2v6h6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],_T=[[`path`,{d:`m16 2 6 6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],vT=[[`path`,{d:`M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473`}]],yT=[[`path`,{d:`m16 8 6-6`}],[`path`,{d:`M22 8V2h-6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],bT=[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],xT=[[`line`,{x1:`9`,x2:`9`,y1:`4`,y2:`20`}],[`path`,{d:`M4 7c0-1.7 1.3-3 3-3h13`}],[`path`,{d:`M18 20c-1.7 0-3-1.3-3-3V4`}]],ST=[[`path`,{d:`M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M6 14v4`}],[`path`,{d:`M10 14v4`}],[`path`,{d:`M14 14v4`}],[`path`,{d:`M18 14v4`}]],CT=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999`}],[`path`,{d:`M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024`}],[`path`,{d:`M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069`}],[`path`,{d:`M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z`}]],wT=[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`}]],TT=[[`path`,{d:`M2 10h6V4`}],[`path`,{d:`m2 4 6 6`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`}]],ET=[[`path`,{d:`M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M2 8v1a2 2 0 0 0 2 2h1`}]],DT=[[`path`,{d:`M14 3v11`}],[`path`,{d:`M14 9h-3a3 3 0 0 1 0-6h9`}],[`path`,{d:`M18 3v11`}],[`path`,{d:`M22 18H2l4-4`}],[`path`,{d:`m6 22-4-4`}]],OT=[[`path`,{d:`M10 3v11`}],[`path`,{d:`M10 9H7a1 1 0 0 1 0-6h8`}],[`path`,{d:`M14 3v11`}],[`path`,{d:`m18 14 4 4H2`}],[`path`,{d:`m22 18-4 4`}]],kT=[[`path`,{d:`M13 4v16`}],[`path`,{d:`M17 4v16`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`}]],AT=[[`path`,{d:`M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4`}],[`path`,{d:`M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7`}],[`rect`,{width:`16`,height:`5`,x:`4`,y:`2`,rx:`1`}]],jT=[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`}],[`path`,{d:`m8.5 8.5 7 7`}]],MT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`}]],NT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`}]],PT=[[`path`,{d:`m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12`}],[`path`,{d:`m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z`}],[`path`,{d:`m2 22 .414-.414`}]],FT=[[`path`,{d:`m12 14-1 1`}],[`path`,{d:`m13.75 18.25-1.25 1.42`}],[`path`,{d:`M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12`}],[`path`,{d:`M18.8 9.3a1 1 0 0 0 2.1 7.7`}],[`path`,{d:`M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z`}]],IT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z`}]],LT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]],RT=[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`}]],zT=[[`path`,{d:`m10.215 4.56 9.79 5.71a2 2 0 0 1 .003 3.458l-.393.23`}],[`path`,{d:`m16.042 16.042-8.034 4.686A2 2 0 0 1 5 19V5`}],[`path`,{d:`m2 2 20 20`}]],BT=[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`}]],VT=[[`path`,{d:`M9 2v6`}],[`path`,{d:`M15 2v6`}],[`path`,{d:`M12 17v5`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M6 11V8h12v3a6 6 0 1 1-12 0Z`}]],HT=[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m18 3-4 4h6l-4 4`}]],UT=[[`path`,{d:`M12 22v-5`}],[`path`,{d:`M15 8V2`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 8V2`}]],WT=[[`path`,{d:`M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z`}],[`path`,{d:`M18 11.66V22a4 4 0 0 0 4-4V6`}]],GT=[[`path`,{d:`M5 12h14`}],[`path`,{d:`M12 5v14`}]],KT=[[`path`,{d:`M13 17a1 1 0 1 0-2 0l.5 4.5a0.5 0.5 0 0 0 1 0z`,fill:`currentColor`}],[`path`,{d:`M16.85 18.58a9 9 0 1 0-9.7 0`}],[`path`,{d:`M8 14a5 5 0 1 1 8 0`}],[`circle`,{cx:`12`,cy:`11`,r:`1`,fill:`currentColor`}]],qT=[[`path`,{d:`M12 6V2h-1`}],[`path`,{d:`M9 15a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1`}],[`path`,{d:`M9 21V11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10`}]],JT=[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`}],[`path`,{d:`M6 6v8`}],[`path`,{d:`m2 2 20 20`}]],YT=[[`path`,{d:`M22 14a8 8 0 0 1-8 8`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],XT=[[`path`,{d:`M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4`}],[`path`,{d:`M10 22 9 8`}],[`path`,{d:`m14 22 1-14`}],[`path`,{d:`M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z`}]],ZT=[[`path`,{d:`M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z`}],[`path`,{d:`m22 22-5.5-5.5`}]],QT=[[`path`,{d:`M18 7c0-5.333-8-5.333-8 0`}],[`path`,{d:`M10 7v14`}],[`path`,{d:`M6 21h12`}],[`path`,{d:`M6 13h10`}]],$T=[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]],eE=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]],tE=[[`path`,{d:`M2 3h20`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`}],[`path`,{d:`m7 21 5-5 5 5`}]],nE=[[`path`,{d:`M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],rE=[[`path`,{d:`M12.531 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.377`}],[`path`,{d:`m16.5 16.5 5 5`}],[`path`,{d:`m16.5 21.5 5-5`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.5`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],iE=[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`}]],aE=[[`path`,{d:`M5 7 3 5`}],[`path`,{d:`M9 6V3`}],[`path`,{d:`m13 7 2-2`}],[`circle`,{cx:`9`,cy:`13`,r:`3`}],[`path`,{d:`M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17`}],[`path`,{d:`M16 16h2`}]],oE=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M12 9v11`}],[`path`,{d:`M2 9h13a2 2 0 0 1 2 2v9`}]],sE=[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`}]],cE=[[`path`,{d:`M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z`}],[`path`,{d:`M12 2v20`}]],lE=[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 21v.01`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M12 3h.01`}],[`path`,{d:`M12 16v.01`}],[`path`,{d:`M16 12h1`}],[`path`,{d:`M21 12v.01`}],[`path`,{d:`M12 21v-1`}]],uE=[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}]],dE=[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`}],[`path`,{d:`M4 6h.01`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`m13.41 10.59 5.66-5.66`}]],fE=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 15.4641a4 4 0 0 1-4 0L7.52786 19.74597 A 1 1 0 0 0 7.99303 21.16211 10 10 0 0 0 16.00697 21.16211 1 1 0 0 0 16.47214 19.74597z`}],[`path`,{d:`M16 12a4 4 0 0 0-2-3.464l2.472-4.282a1 1 0 0 1 1.46-.305 10 10 0 0 1 4.006 6.94A1 1 0 0 1 21 12z`}],[`path`,{d:`M8 12a4 4 0 0 1 2-3.464L7.528 4.254a1 1 0 0 0-1.46-.305 10 10 0 0 0-4.006 6.94A1 1 0 0 0 3 12z`}]],pE=[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`}]],mE=[[`path`,{d:`M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21`}]],hE=[[`path`,{d:`M13.414 13.414a2 2 0 1 1-2.828-2.828`}],[`path`,{d:`M16.247 7.761a6 6 0 0 1 1.744 4.572`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 2.234 10.72`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}]],gE=[[`path`,{d:`M5 16v2`}],[`path`,{d:`M19 16v2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`8`,rx:`2`}],[`path`,{d:`M18 12h.01`}]],_E=[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`}],[`path`,{d:`M9.5 18h5`}],[`path`,{d:`m8 22 4-11 4 11`}]],vE=[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],yE=[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`path`,{d:`m13.41 13.41 4.18 4.18`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],bE=[[`path`,{d:`M22 17a10 10 0 0 0-20 0`}],[`path`,{d:`M6 17a6 6 0 0 1 12 0`}],[`path`,{d:`M10 17a2 2 0 0 1 4 0`}]],xE=[[`path`,{d:`M13 22H4a2 2 0 0 1 0-4h12`}],[`path`,{d:`M13.236 18a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 9h.01`}],[`path`,{d:`M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3`}],[`path`,{d:`M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18`}]],SE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],CE=[[`path`,{d:`M12 7v10`}],[`path`,{d:`M14.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],wE=[[`path`,{d:`M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 12h5`}]],TE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h8`}],[`path`,{d:`M9 7a4 4 0 0 1 0 8H8l3 2`}]],EE=[[`path`,{d:`m12 10 3-3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M9 11h6`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`m9 7 3 3v7`}]],DE=[[`path`,{d:`M10 17V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 13h5`}],[`path`,{d:`M8 17h7`}]],OE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h5a2 2 0 0 0 0-4h-3v10`}],[`path`,{d:`M8 15h5`}]],kE=[[`path`,{d:`M10 11h4`}],[`path`,{d:`M10 17V7h5`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 15h5`}]],AE=[[`path`,{d:`M13 16H8`}],[`path`,{d:`M14 8H8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],jE=[[`path`,{d:`M10 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m14 8-6 3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],ME=[[`path`,{d:`M14 4v16H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z`}],[`circle`,{cx:`14`,cy:`12`,r:`8`}]],NE=[[`path`,{d:`M12 17V7`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],PE=[[`path`,{d:`M20 6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4a2 2 0 0 1-1.6-.8l-1.6-2.13a1 1 0 0 0-1.6 0L9.6 17.2A2 2 0 0 1 8 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}]],FE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M7 12h.01`}]],IE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}]],LE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],RE=[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`}],[`path`,{d:`m14 16-3 3 3 3`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`}]],zE=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`}]],BE=[[`circle`,{cx:`12`,cy:`17`,r:`1`}],[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],VE=[[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],HE=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],UE=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}]],WE=[[`path`,{d:`M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47`}],[`path`,{d:`M8 16H3v5`}],[`path`,{d:`M3 12C3 9.51 4 7.26 5.64 5.64`}],[`path`,{d:`m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64`}],[`path`,{d:`M21 12c0 1-.16 1.97-.47 2.87`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M22 22 2 2`}]],GE=[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}],[`path`,{d:`M8 16H3v5`}]],KE=[[`path`,{d:`M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M15 7v6`}]],qE=[[`path`,{d:`M17 3v10`}],[`path`,{d:`m12.67 5.5 8.66 5`}],[`path`,{d:`m12.67 10.5 8.66-5`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`}]],JE=[[`path`,{d:`M4 7V4h16v3`}],[`path`,{d:`M5 20h6`}],[`path`,{d:`M13 4 8 20`}],[`path`,{d:`m15 15 5 5`}],[`path`,{d:`m20 15-5 5`}]],YE=[[`path`,{d:`m2 9 3-3 3 3`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`m22 15-3 3-3-3`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`}]],XE=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}],[`path`,{d:`M11 10h1v4`}]],ZE=[[`path`,{d:`M11.656 6H21l-4-4`}],[`path`,{d:`M17.898 17.898A4 4 0 0 1 17 18H3l4-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 13v1a4 4 0 0 1-.171 1.159`}],[`path`,{d:`m21 6-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 3.102-3.898`}],[`path`,{d:`m7 22-4-4`}]],QE=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]],$E=[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],eD=[[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],tD=[[`path`,{d:`m12 17-5-5 5-5`}],[`path`,{d:`M22 18v-2a4 4 0 0 0-4-4H7`}],[`path`,{d:`m7 17-5-5 5-5`}]],nD=[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`}],[`path`,{d:`m9 17-5-5 5-5`}]],rD=[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`}]],iD=[[`path`,{d:`M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22`}],[`path`,{d:`m12 18 2.57-3.5`}],[`path`,{d:`M6.243 9.016a7 7 0 0 1 11.507-.009`}],[`path`,{d:`M9.35 14.53 12 11.22`}],[`path`,{d:`M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z`}]],aD=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M12 5V3`}],[`path`,{d:`M12 9v3`}],[`path`,{d:`M2.077 18.449A2 2 0 0 0 4 21h16a2 2 0 0 0 1.924-2.55l-4-14A2 2 0 0 0 16 3H8a2 2 0 0 0-1.924 1.45z`}]],oD=[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`}]],sD=[[`path`,{d:`m15 13 3.708 7.416`}],[`path`,{d:`M3 19a15 15 0 0 0 18 0`}],[`path`,{d:`m3 2 3.21 9.633A2 2 0 0 0 8.109 13H18`}],[`path`,{d:`m9 13-3.708 7.416`}]],cD=[[`path`,{d:`M6 19V5`}],[`path`,{d:`M10 19V6.8`}],[`path`,{d:`M14 19v-7.8`}],[`path`,{d:`M18 5v4`}],[`path`,{d:`M18 19v-6`}],[`path`,{d:`M22 19V9`}],[`path`,{d:`M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65`}]],lD=[[`path`,{d:`M17 10h-1a4 4 0 1 1 4-4v.534`}],[`path`,{d:`M17 6h1a4 4 0 0 1 1.42 7.74l-2.29.87a6 6 0 0 1-5.339-10.68l2.069-1.31`}],[`path`,{d:`M4.5 17c2.8-.5 4.4 0 5.5.8s1.8 2.2 2.3 3.7c-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2`}],[`path`,{d:`M9.77 12C4 15 2 22 2 22`}],[`circle`,{cx:`17`,cy:`8`,r:`2`}]],uD=[[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`}],[`path`,{d:`M16.47214 7.52786 A 5 10 0 1 0 13 21.79796`}],[`path`,{d:`M21.79796 11 A 10 5 0 1 0 19 15.57071`}]],dD=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M12 9h2`}],[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.74 9.74 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`circle`,{cx:`12`,cy:`15`,r:`2`}]],fD=[[`path`,{d:`M20 9V7a2 2 0 0 0-2-2h-6`}],[`path`,{d:`m15 2-3 3 3 3`}],[`path`,{d:`M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2`}]],pD=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]],mD=[[`path`,{d:`M12 5H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`m9 8 3-3-3-3`}],[`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}]],hD=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]],gD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],_D=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5c.4 0 .9-.1 1.3-.2`}],[`path`,{d:`M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 15.3a3.5 3.5 0 0 0-3.3-3.3`}],[`path`,{d:`M15 5h-4.3`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],vD=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6.01 18H6`}],[`path`,{d:`M10.01 18H10`}],[`path`,{d:`M15 10v4`}],[`path`,{d:`M17.84 7.17a4 4 0 0 0-5.66 0`}],[`path`,{d:`M20.66 4.34a8 8 0 0 0-11.31 0`}]],yD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 12h18`}]],bD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],xD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 7.5H3`}],[`path`,{d:`M21 12H3`}],[`path`,{d:`M21 16.5H3`}]],SD=[[`path`,{d:`M4 11a9 9 0 0 1 9 9`}],[`path`,{d:`M4 4a16 16 0 0 1 16 16`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],CD=[[`path`,{d:`M10 15v-3`}],[`path`,{d:`M14 15v-3`}],[`path`,{d:`M18 15v-3`}],[`path`,{d:`M2 8V4`}],[`path`,{d:`M22 6H2`}],[`path`,{d:`M22 8V4`}],[`path`,{d:`M6 15v-3`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`}]],wD=[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`}],[`path`,{d:`m14.5 12.5 2-2`}],[`path`,{d:`m11.5 9.5 2-2`}],[`path`,{d:`m8.5 6.5 2-2`}],[`path`,{d:`m17.5 15.5 2-2`}]],TD=[[`path`,{d:`M6 11h8a4 4 0 0 0 0-8H9v18`}],[`path`,{d:`M6 15h8`}]],ED=[[`path`,{d:`M10 2v15`}],[`path`,{d:`M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z`}],[`path`,{d:`M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z`}]],DD=[[`path`,{d:`M7 21h10`}],[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1`}],[`path`,{d:`m13 12 4-4`}],[`path`,{d:`M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2`}]],OD=[[`path`,{d:`m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777`}],[`path`,{d:`M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25`}],[`path`,{d:`M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9`}],[`path`,{d:`m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}],[`rect`,{width:`20`,height:`4`,x:`2`,y:`11`,rx:`1`}]],kD=[[`path`,{d:`M4 10a7.31 7.31 0 0 0 10 10Z`}],[`path`,{d:`m9 15 3-3`}],[`path`,{d:`M17 13a6 6 0 0 0-6-6`}],[`path`,{d:`M21 13A10 10 0 0 0 11 3`}]],AD=[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`}],[`path`,{d:`M16.5 7.5 19 5`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`}]],jD=[[`path`,{d:`m20 19.5-5.5 1.2`}],[`path`,{d:`M14.5 4v11.22a1 1 0 0 0 1.242.97L20 15.2`}],[`path`,{d:`m2.978 19.351 5.549-1.363A2 2 0 0 0 10 16V2`}],[`path`,{d:`M20 10 4 13.5`}]],MD=[[`path`,{d:`M10 2v3a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6`}],[`path`,{d:`M18 22H4a2 2 0 0 1-2-2V6`}],[`path`,{d:`M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z`}]],ND=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4v4.35`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M17 15.13V14a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],PD=[[`path`,{d:`M13 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M14 8h1`}],[`path`,{d:`M17 21v-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41`}],[`path`,{d:`M29.5 11.5s5 5 4 5`}],[`path`,{d:`M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15`}]],FD=[[`path`,{d:`M13.33 13H8a1 1 0 00-1 1v7`}],[`path`,{d:`M14.363 17.634a2 2 0 00-.506.854l-.837 2.87a.5.5 0 00.62.62l2.87-.837a2 2 0 00.854-.506l4.013-4.009a1 1 0 10-3.004-3.004z`}],[`path`,{d:`M7 3v4a1 1 0 001 1h7`}],[`path`,{d:`M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h10.2a2 2 0 011.4.6l3.8 3.8a2 2 0 01.6 1.4v.3`}]],ID=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V12`}],[`path`,{d:`M16 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],LD=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],RD=[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`}],[`path`,{d:`M5.293 18.707 11 13`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}]],zD=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M7 21h10`}]],BD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 7v10`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M17 7v10`}]],VD=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M14 15H9v-5`}],[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M21 3 9 15`}]],HD=[[`path`,{d:`M12 12v5.5`}],[`path`,{d:`M17 3h2a2 2 0 012 2v2`}],[`path`,{d:`M21 17v2a2 2 0 01-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 012-2h2`}],[`path`,{d:`M7 21H5a2 2 0 01-2-2v-2`}],[`path`,{d:`M7.264 9.252 12 12l4.737-2.748`}],[`path`,{d:`M7.995 8.514A2 2 0 007 10.244v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0017 13.76v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}]],UD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],WD=[[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z`}]],GD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 9h.01`}]],KD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 12h10`}]],qD=[[`path`,{d:`M17 12v4a1 1 0 0 1-1 1h-4`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M17 8V7`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`7`,y:`7`,width:`5`,height:`5`,rx:`1`}]],JD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m16 16-1.9-1.9`}]],YD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}]],XD=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],ZD=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 4.933V21`}],[`path`,{d:`m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6`}],[`path`,{d:`m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11`}],[`path`,{d:`M6 4.933V21`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}]],QD=[[`path`,{d:`M5.42 9.42 8 12`}],[`circle`,{cx:`4`,cy:`8`,r:`2`}],[`path`,{d:`m14 6-8.58 8.58`}],[`circle`,{cx:`4`,cy:`16`,r:`2`}],[`path`,{d:`M10.8 14.8 14 18`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],$D=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M8.12 8.12 12 12`}],[`path`,{d:`M20 4 8.12 15.88`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`path`,{d:`M14.8 14.8 20 20`}]],eO=[[`path`,{d:`M21 4h-3.5l2 11.05`}],[`path`,{d:`M6.95 17h5.142c.523 0 .95-.406 1.063-.916a6.5 6.5 0 0 1 5.345-5.009`}],[`circle`,{cx:`19.5`,cy:`17.5`,r:`2.5`}],[`circle`,{cx:`4.5`,cy:`17.5`,r:`2.5`}]],tO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m22 3-5 5`}],[`path`,{d:`m17 3 5 5`}]],nO=[[`path`,{d:`M15 12h-5`}],[`path`,{d:`M15 8h-5`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],rO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m17 8 5-5`}],[`path`,{d:`M17 3h5v5`}]],iO=[[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],aO=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 7v4`}],[`path`,{d:`M11 15h.01`}]],oO=[[`path`,{d:`m8 11 2 2 4-4`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],sO=[[`path`,{d:`m13 13.5 2-2.5-2-2.5`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M9 8.5 7 11l2 2.5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],cO=[[`path`,{d:`m13.5 8.5-5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],lO=[[`path`,{d:`m13.5 8.5-5 5`}],[`path`,{d:`m8.5 8.5 5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],uO=[[`path`,{d:`m21 21-4.34-4.34`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],dO=[[`path`,{d:`M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0`}],[`path`,{d:`M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0`}]],fO=[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`}],[`path`,{d:`M6 12h16`}]],pO=[[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M7 14v1a2 2 0 0 0 2 2h1`}],[`path`,{d:`M14 7h1a2 2 0 0 1 2 2v1`}]],mO=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]],hO=[[`path`,{d:`m16 16-4 4-4-4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`m8 8 4-4 4 4`}]],gO=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m16 16 4-4-4-4`}],[`path`,{d:`m8 8-4 4 4 4`}]],_O=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.148 9.228.383-.923`}],[`path`,{d:`m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5`}],[`path`,{d:`M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}]],vO=[[`path`,{d:`M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m13 6-4 6h6l-4 6`}]],yO=[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m2 2 20 20`}]],bO=[[`path`,{d:`M12.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M16 12h6`}],[`path`,{d:`M19 9v6`}],[`path`,{d:`M22 18v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h8.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}]],xO=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`}]],SO=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]],CO=[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],wO=[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`}]],TO=[[`circle`,{cx:`18`,cy:`5`,r:`3`}],[`circle`,{cx:`6`,cy:`12`,r:`3`}],[`circle`,{cx:`18`,cy:`19`,r:`3`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`}]],EO=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]],DO=[[`path`,{d:`M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44`}]],OO=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`3`,x2:`21`,y1:`9`,y2:`9`}],[`line`,{x1:`3`,x2:`21`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9`,y1:`9`,y2:`21`}],[`line`,{x1:`15`,x2:`15`,y1:`9`,y2:`21`}]],kO=[[`path`,{d:`M12 12V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}],[`path`,{d:`M16 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 22V2`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 20h16`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M4 4h16`}]],AO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],jO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m4.243 5.21 14.39 12.472`}]],MO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9 12 2 2 4-4`}]],NO=[[`path`,{d:`M11 22c-3.806-1.45-7-3.966-7-9V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v4`}],[`path`,{d:`M14.923 16.547 14 16.164`}],[`path`,{d:`m14.923 18.843-.923.383`}],[`path`,{d:`M16.547 14.923 16.164 14`}],[`path`,{d:`m16.547 20.467-.383.924`}],[`path`,{d:`m18.843 14.923.383-.923`}],[`path`,{d:`m19.225 21.391-.382-.924`}],[`path`,{d:`m20.467 16.547.923-.383`}],[`path`,{d:`m20.467 18.843.923.383`}],[`circle`,{cx:`17.695`,cy:`17.695`,r:`3`}]],PO=[[`path`,{d:`m10.929 14.467-.383.924`}],[`path`,{d:`M10.929 8.923 10.546 8`}],[`path`,{d:`M13.225 8.923 13.608 8`}],[`path`,{d:`m13.607 15.391-.382-.924`}],[`path`,{d:`m14.849 10.547.923-.383`}],[`path`,{d:`m14.849 12.843.923.383`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9.305 10.547-.923-.383`}],[`path`,{d:`m9.305 12.843-.923.383`}],[`circle`,{cx:`12.077`,cy:`11.695`,r:`3`}]],FO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],IO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M12 22V2`}]],LO=[[`path`,{d:`M12 13v3`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 01-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 011-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 011.52 0C14.51 3.81 17 5 19 5a1 1 0 011 1z`}],[`circle`,{cx:`12`,cy:`11`,r:`2`}]],RO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9 12h6`}]],zO=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`}]],BO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],VO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],HO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M6.376 18.91a6 6 0 0 1 11.249.003`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}]],UO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`m9.5 9.5 5 5`}]],WO=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}]],GO=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`path`,{d:`M12 2v7.5`}],[`path`,{d:`m19 5-5.23 5.23`}],[`path`,{d:`M22 12h-7.5`}],[`path`,{d:`m19 19-5.23-5.23`}],[`path`,{d:`M12 14.5V22`}],[`path`,{d:`M10.23 13.77 5 19`}],[`path`,{d:`M9.5 12H2`}],[`path`,{d:`M10.23 10.23 5 5`}],[`circle`,{cx:`12`,cy:`12`,r:`2.5`}]],KO=[[`path`,{d:`M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z`}]],qO=[[`path`,{d:`M12 10.189V14`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}]],JO=[[`path`,{d:`M16 10a4 4 0 0 1-8 0`}],[`path`,{d:`M3.103 6.034h17.794`}],[`path`,{d:`M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z`}]],YO=[[`path`,{d:`m15 11-1 9`}],[`path`,{d:`m19 11-4-7`}],[`path`,{d:`M2 11h20`}],[`path`,{d:`m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4`}],[`path`,{d:`M4.5 15.5h15`}],[`path`,{d:`m5 11 4-7`}],[`path`,{d:`m9 11 1 9`}]],XO=[[`circle`,{cx:`8`,cy:`21`,r:`1`}],[`circle`,{cx:`19`,cy:`21`,r:`1`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`}]],ZO=[[`path`,{d:`M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z`}],[`path`,{d:`M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z`}],[`path`,{d:`m9 15 7.879-7.878`}]],QO=[[`path`,{d:`m4 4 2.5 2.5`}],[`path`,{d:`M13.5 6.5a4.95 4.95 0 0 0-7 7`}],[`path`,{d:`M15 5 5 15`}],[`path`,{d:`M14 17v.01`}],[`path`,{d:`M10 16v.01`}],[`path`,{d:`M13 13v.01`}],[`path`,{d:`M16 10v.01`}],[`path`,{d:`M11 20v.01`}],[`path`,{d:`M17 14v.01`}],[`path`,{d:`M20 11v.01`}]],$O=[[`path`,{d:`M4 13V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 22v-5`}],[`path`,{d:`M14 19v-2`}],[`path`,{d:`M18 20v-3`}],[`path`,{d:`M2 13h20`}],[`path`,{d:`M6 20v-3`}]],ek=[[`path`,{d:`m15 15 6 6m-6-6v4.8m0-4.8h4.8`}],[`path`,{d:`M9 19.8V15m0 0H4.2M9 15l-6 6`}],[`path`,{d:`M15 4.2V9m0 0h4.8M15 9l6-6`}],[`path`,{d:`M9 4.2V9m0 0H4.2M9 9 3 3`}]],tk=[[`path`,{d:`M11 12h.01`}],[`path`,{d:`M13 22c.5-.5 1.12-1 2.5-1-1.38 0-2-.5-2.5-1`}],[`path`,{d:`M14 2a3.28 3.28 0 0 1-3.227 1.798l-6.17-.561A2.387 2.387 0 1 0 4.387 8H15.5a1 1 0 0 1 0 13 1 1 0 0 0 0-5H12a7 7 0 0 1-7-7V8`}],[`path`,{d:`M14 8a8.5 8.5 0 0 1 0 8`}],[`path`,{d:`M16 16c2 0 4.5-4 4-6`}]],nk=[[`path`,{d:`M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5`}],[`path`,{d:`M14.5 14.5 12 17`}],[`path`,{d:`M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z`}]],rk=[[`path`,{d:`m18 14 4 4-4 4`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`}]],ik=[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`}]],ak=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}]],ok=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}]],sk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}]],ck=[[`path`,{d:`M2 20h.01`}]],lk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}],[`path`,{d:`M22 4v16`}]],uk=[[`path`,{d:`m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284`}],[`path`,{d:`M3 21h18`}]],dk=[[`path`,{d:`M10 9H4L2 7l2-2h6`}],[`path`,{d:`M14 5h6l2 2-2 2h-6`}],[`path`,{d:`M10 22V4a2 2 0 1 1 4 0v18`}],[`path`,{d:`M8 22h8`}]],fk=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`}]],pk=[[`path`,{d:`M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M3 20V4`}]],mk=[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`}],[`path`,{d:`M21 12h1`}],[`path`,{d:`M18.5 4.5 18 5`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`M12 2v1`}],[`path`,{d:`m4.929 4.929.707.707`}],[`path`,{d:`M12 12v6`}]],hk=[[`path`,{d:`M21 4v16`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}]],gk=[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],_k=[[`path`,{d:`M22 2 2 22`}]],vk=[[`path`,{d:`M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14`}]],yk=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]],bk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12.667 8 10 12h4l-2.667 4`}]],xk=[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],Sk=[[`rect`,{width:`7`,height:`12`,x:`2`,y:`6`,rx:`1`}],[`path`,{d:`M13 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M16.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M19.91 4.1a15.91 15.91 0 0 1 .01 15.8`}]],Ck=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12 18h.01`}]],wk=[[`path`,{d:`M22 11v1a10 10 0 1 1-9-10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}]],Tk=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Ek=[[`path`,{d:`M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0`}],[`circle`,{cx:`10`,cy:`13`,r:`8`}],[`path`,{d:`M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6`}],[`path`,{d:`M18 3 19.1 5.2`}],[`path`,{d:`M22 3 20.9 5.2`}]],Dk=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6h-4`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`M22 12h-6.5L14 15`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h4`}]],Ok=[[`path`,{d:`M10.5 2v4`}],[`path`,{d:`M14 2H7a2 2 0 0 0-2 2`}],[`path`,{d:`M19.29 14.76A6.67 6.67 0 0 1 17 11a6.6 6.6 0 0 1-2.29 3.76c-1.15.92-1.71 2.04-1.71 3.19 0 2.22 1.8 4.05 4 4.05s4-1.83 4-4.05c0-1.16-.57-2.26-1.71-3.19`}],[`path`,{d:`M9.607 21H6a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h7V7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],kk=[[`path`,{d:`M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M4 18v2`}],[`path`,{d:`M20 18v2`}],[`path`,{d:`M12 4v9`}]],Ak=[[`path`,{d:`M11 2h2`}],[`path`,{d:`m14.28 14-4.56 8`}],[`path`,{d:`m21 22-1.558-4H4.558`}],[`path`,{d:`M3 10v2`}],[`path`,{d:`M6.245 15.04A2 2 0 0 1 8 14h12a1 1 0 0 1 .864 1.505l-3.11 5.457A2 2 0 0 1 16 22H4a1 1 0 0 1-.863-1.506z`}],[`path`,{d:`M7 2a4 4 0 0 1-4 4`}],[`path`,{d:`m8.66 7.66 1.41 1.41`}]],jk=[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M7 21h10`}],[`path`,{d:`M19.5 12 22 6`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`}]],Mk=[[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],Nk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}]],Pk=[[`path`,{d:`M12 18v4`}],[`path`,{d:`M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5`}]],Fk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Ik=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M12 6h.01`}],[`circle`,{cx:`12`,cy:`14`,r:`4`}],[`path`,{d:`M12 14h.01`}]],Lk=[[`path`,{d:`M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20`}],[`path`,{d:`M19.8 17.8a7.5 7.5 0 0 0 .003-10.603`}],[`path`,{d:`M17 15a3.5 3.5 0 0 0-.025-4.975`}]],Rk=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1`}]],zk=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m16 20 2 2 4-4`}]],Bk=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Vk=[[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}]],Hk=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]],Uk=[[`path`,{d:`m15 10.42 4.8-5.07`}],[`path`,{d:`M19 18h3`}],[`path`,{d:`M9.5 22 21.414 9.415A2 2 0 0 0 21.2 6.4l-5.61-4.208A1 1 0 0 0 14 3v2a2 2 0 0 1-1.394 1.906L8.677 8.053A1 1 0 0 0 8 9c-.155 6.393-2.082 9-4 9a2 2 0 0 0 0 4h14`}]],Wk=[[`path`,{d:`M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66`}],[`path`,{d:`m7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178`}]],Gk=[[`path`,{d:`M15.295 19.562 16 22`}],[`path`,{d:`m17 16 3.758 2.098`}],[`path`,{d:`m19 12.5 3.026-.598`}],[`path`,{d:`M7.61 6.3a3 3 0 0 0-3.92 1.3l-1.38 2.79a3 3 0 0 0 1.3 3.91l6.89 3.597a1 1 0 0 0 1.342-.447l3.106-6.211a1 1 0 0 0-.447-1.341z`}],[`path`,{d:`M8 9V2`}]],Kk=[[`path`,{d:`M3 3h.01`}],[`path`,{d:`M7 5h.01`}],[`path`,{d:`M11 7h.01`}],[`path`,{d:`M3 7h.01`}],[`path`,{d:`M7 9h.01`}],[`path`,{d:`M3 11h.01`}],[`rect`,{width:`4`,height:`4`,x:`15`,y:`5`}],[`path`,{d:`m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2`}],[`path`,{d:`m13 14 8-2`}],[`path`,{d:`m13 19 8-2`}]],qk=[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`}],[`path`,{d:`M5 21h14`}]],Jk=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M17 12h-2l-2 5-2-10-2 5H7`}]],Yk=[[`path`,{d:`M15 15H9l6-6`}],[`path`,{d:`M9 15V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Xk=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15h6V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Zk=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],Qk=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],$k=[[`path`,{d:`M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M9 21H3v-6`}]],eA=[[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m21 21-9-9`}],[`path`,{d:`M21 15v6h-6`}]],tA=[[`path`,{d:`M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6`}],[`path`,{d:`m3 3 9 9`}],[`path`,{d:`M3 9V3h6`}]],nA=[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`}],[`path`,{d:`m21 3-9 9`}],[`path`,{d:`M15 3h6v6`}]],rA=[[`path`,{d:`m10 16 4-4-4-4`}],[`path`,{d:`M3 12h11`}],[`path`,{d:`M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}]],iA=[[`path`,{d:`M10 12h11`}],[`path`,{d:`m17 16 4-4-4-4`}],[`path`,{d:`M21 6.344V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-1.344`}]],aA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m12 16 4-4-4-4`}]],oA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15V9h6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],sA=[[`path`,{d:`M15 15V9H9`}],[`path`,{d:`m9 15 6-6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],cA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],lA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8.5 14 7-4`}],[`path`,{d:`m8.5 10 7 4`}]],uA=[[`line`,{x1:`5`,y1:`3`,x2:`19`,y2:`3`}],[`line`,{x1:`3`,y1:`5`,x2:`3`,y2:`19`}],[`line`,{x1:`21`,y1:`5`,x2:`21`,y2:`19`}],[`line`,{x1:`9`,y1:`21`,x2:`10`,y2:`21`}],[`line`,{x1:`14`,y1:`21`,x2:`15`,y2:`21`}],[`path`,{d:`M 3 5 A2 2 0 0 1 5 3`}],[`path`,{d:`M 19 3 A2 2 0 0 1 21 5`}],[`path`,{d:`M 5 21 A2 2 0 0 1 3 19`}],[`path`,{d:`M 21 19 A2 2 0 0 1 19 21`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],dA=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],fA=[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],pA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 8h7`}],[`path`,{d:`M8 12h6`}],[`path`,{d:`M11 16h5`}]],mA=[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`}],[`path`,{d:`m9 11 3 3L22 4`}]],hA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m9 12 2 2 4-4`}]],gA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 10-4 4-4-4`}]],_A=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m14 16-4-4 4-4`}]],vA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m10 8 4 4-4 4`}]],yA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m8 14 4-4 4 4`}]],bA=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],xA=[[`path`,{d:`M10 9.5 8 12l2 2.5`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`m14 9.5 2 2.5-2 2.5`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}]],SA=[[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}]],CA=[[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}]],wA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M9 3h1`}]],TA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h2`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v2`}],[`path`,{d:`M3 14v1`}]],EA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 21h1`}]],DA=[[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M21 14v1`}]],OA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],kA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],AA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],jA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3`}],[`path`,{d:`M9 11.2h5.7`}]],MA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}]],NA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7v10`}],[`path`,{d:`M11 7v10`}],[`path`,{d:`m15 7 2 10`}]],PA=[[`path`,{d:`M8 16V8.5a.5.5 0 0 1 .9-.3l2.7 3.599a.5.5 0 0 0 .8 0l2.7-3.6a.5.5 0 0 1 .9.3V16`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],FA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h10`}]],IA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}]],LA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}]],RA=[[`path`,{d:`M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41`}],[`path`,{d:`M3 8.7V19a2 2 0 0 0 2 2h10.3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M13 13a3 3 0 1 0 0-6H9v2`}],[`path`,{d:`M9 17v-2.3`}]],zA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],BA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],VA=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`}]],HA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h10`}],[`path`,{d:`M10 7v10`}],[`path`,{d:`M16 17a2 2 0 0 1-2-2V7`}]],UA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],WA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 12H9.5a2.5 2.5 0 0 1 0-5H17`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M16 7v10`}]],GA=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}]],KA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],qA=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],JA=[[`path`,{d:`M7 12h2l2 5 2-10h4`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],YA=[[`path`,{d:`M21 11a8 8 0 0 0-8-8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],XA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],ZA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M16 8.9V7H8l4 5-4 5h8v-1.9`}]],QA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],$A=[[`path`,{d:`M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3`}],[`path`,{d:`M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3`}],[`line`,{x1:`12`,x2:`12`,y1:`4`,y2:`20`}]],ej=[[`path`,{d:`M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3`}],[`path`,{d:`M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],tj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],nj=[[`path`,{d:`M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`path`,{d:`M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`rect`,{width:`8`,height:`8`,x:`14`,y:`14`,rx:`2`}]],rj=[[`path`,{d:`M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],ij=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],aj=[[`path`,{d:`m7 11 2-2-2-2`}],[`path`,{d:`M11 13h4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}]],oj=[[`path`,{d:`M18 21a6 6 0 0 0-12 0`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],sj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}]],cj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],lj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],uj=[[`path`,{d:`M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2`}]],dj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M14 2a2 2 0 0 1 2 2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M2 10V8`}],[`path`,{d:`M2 4a2 2 0 0 1 2-2`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2`}],[`path`,{d:`M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z`}],[`path`,{d:`M8 2h2`}]],fj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}]],pj=[[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z`}]],mj=[[`path`,{d:`M13.77 3.043a34 34 0 0 0-3.54 0`}],[`path`,{d:`M13.771 20.956a33 33 0 0 1-3.541.001`}],[`path`,{d:`M20.18 17.74c-.51 1.15-1.29 1.93-2.439 2.44`}],[`path`,{d:`M20.18 6.259c-.51-1.148-1.291-1.929-2.44-2.438`}],[`path`,{d:`M20.957 10.23a33 33 0 0 1 0 3.54`}],[`path`,{d:`M3.043 10.23a34 34 0 0 0 .001 3.541`}],[`path`,{d:`M6.26 20.179c-1.15-.508-1.93-1.29-2.44-2.438`}],[`path`,{d:`M6.26 3.82c-1.149.51-1.93 1.291-2.44 2.44`}]],hj=[[`path`,{d:`M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9`}]],gj=[[`path`,{d:`M15.236 22a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4`}],[`path`,{d:`M18 13h.01`}],[`path`,{d:`M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10`}]],_j=[[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13`}],[`path`,{d:`M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z`}],[`path`,{d:`M5 22h14`}]],vj=[[`path`,{d:`m19.06 12.501 2.78-2.707a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}],[`path`,{d:`m15 18 2 2 4-4`}]],yj=[[`path`,{d:`M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2`}]],bj=[[`path`,{d:`M15 18h6`}],[`path`,{d:`M17.688 14a2.1 2.1 0 0 1 .416-.568l3.736-3.638a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}]],xj=[[`path`,{d:`m10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152`}],[`path`,{d:`m17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099`}],[`path`,{d:`m2 2 20 20`}]],Sj=[[`path`,{d:`M11.013 18.582 6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904L20 11.5`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Cj=[[`path`,{d:`m15.5 15.5 5 5`}],[`path`,{d:`m20.063 11.525 1.777-1.731a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428a2.1 2.1 0 0 1 .987-.243 2 2 0 0 1 .132.004`}],[`path`,{d:`m20.5 15.5-5 5`}]],wj=[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`}]],Tj=[[`path`,{d:`M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M21 20V4`}]],Ej=[[`path`,{d:`M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}],[`path`,{d:`M3 4v16`}]],Dj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h.01`}],[`path`,{d:`M16 13h.01`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`}]],Oj=[[`path`,{d:`M11 2v2`}],[`path`,{d:`M5 2v2`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`}],[`circle`,{cx:`20`,cy:`10`,r:`2`}]],kj=[[`path`,{d:`m15 19 2 2 4-4`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 13V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.5`}]],Aj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 14V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.35`}],[`path`,{d:`M21 18h-6`}]],jj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M3.586 3.586A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M8.656 3H15a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 21 9v6.344`}]],Mj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`M21 12V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7`}],[`path`,{d:`m21 16-5 5`}]],Nj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 12.356V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.355`}],[`path`,{d:`M21 18h-6`}]],Pj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}]],Fj=[[`path`,{d:`M10 8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 16 14v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z`}],[`path`,{d:`M10 8v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 4a2 2 0 0 1 2-2h6a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 22 8v6a2 2 0 0 1-2 2`}],[`path`,{d:`M16 2v5a1 1 0 0 0 1 1h5`}]],Ij=[[`path`,{d:`M11.264 2.205A4 4 0 0 0 6.42 4.211l-4 8a4 4 0 0 0 1.359 5.117l6 4a4 4 0 0 0 4.438 0l6-4a4 4 0 0 0 1.576-4.592l-2-6a4 4 0 0 0-2.53-2.53z`}],[`path`,{d:`M11.99 22 14 12l7.822 3.184`}],[`path`,{d:`M14 12 8.47 2.302`}]],Lj=[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`}]],Rj=[[`rect`,{width:`20`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`20`,height:`6`,x:`2`,y:`14`,rx:`2`}]],zj=[[`rect`,{width:`6`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`20`,x:`14`,y:`2`,rx:`2`}]],Bj=[[`path`,{d:`M16 4H9a3 3 0 0 0-2.83 4`}],[`path`,{d:`M14 12a4 4 0 0 1 0 8H6`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],Vj=[[`path`,{d:`m4 5 8 8`}],[`path`,{d:`m12 5-8 8`}],[`path`,{d:`M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07`}]],Hj=[[`path`,{d:`M15 4H7`}],[`path`,{d:`m18 16 3 3-3 3`}],[`path`,{d:`M3 4v13a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 14h7`}],[`path`,{d:`M7 9h12`}]],Uj=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M20 12h.01`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M4 12h.01`}],[`path`,{d:`M17.657 6.343h.01`}],[`path`,{d:`M17.657 17.657h.01`}],[`path`,{d:`M6.343 17.657h.01`}],[`path`,{d:`M6.343 6.343h.01`}]],Wj=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 3v1`}],[`path`,{d:`M12 20v1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M20 12h1`}],[`path`,{d:`m18.364 5.636-.707.707`}],[`path`,{d:`m6.343 17.657-.707.707`}],[`path`,{d:`m5.636 5.636.707.707`}],[`path`,{d:`m17.657 17.657.707.707`}]],Gj=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715`}],[`path`,{d:`M16 12a4 4 0 0 0-4-4`}],[`path`,{d:`m19 5-1.256 1.256`}],[`path`,{d:`M20 12h2`}]],Kj=[[`path`,{d:`M10 21v-1`}],[`path`,{d:`M10 4V3`}],[`path`,{d:`M10 9a3 3 0 0 0 0 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6 1.5-3H22`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`m3.64 18.36.7-.7`}],[`path`,{d:`m4.34 6.34-.7-.7`}]],qj=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m17.66 17.66 1.41 1.41`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}]],Jj=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],Yj=[[`path`,{d:`M12 10V2`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m16 6-4 4-4-4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],Xj=[[`path`,{d:`M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z`}],[`path`,{d:`M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7`}],[`path`,{d:`M 7 17h.01`}],[`path`,{d:`m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8`}]],Zj=[[`path`,{d:`m4 19 8-8`}],[`path`,{d:`m12 19-8-8`}],[`path`,{d:`M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06`}]],Qj=[[`path`,{d:`M10 21V3h8`}],[`path`,{d:`M6 16h9`}],[`path`,{d:`M10 9.5h7`}]],$j=[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m18 22-3-3 3-3`}],[`path`,{d:`m6 2 3 3-3 3`}]],eM=[[`path`,{d:`m11 19-6-6`}],[`path`,{d:`m5 21-2-2`}],[`path`,{d:`m8 16-4 4`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`}]],tM=[[`path`,{d:`m18 2 4 4`}],[`path`,{d:`m17 7 3-3`}],[`path`,{d:`M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5`}],[`path`,{d:`m9 11 4 4`}],[`path`,{d:`m5 19-3 3`}],[`path`,{d:`m14 4 6 6`}]],nM=[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`}]],rM=[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`}]],iM=[[`path`,{d:`M12 21v-6`}],[`path`,{d:`M12 9V3`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],aM=[[`path`,{d:`M12 15V9`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],oM=[[`path`,{d:`M14 14v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M14 8v2`}],[`path`,{d:`M2 15h8`}],[`path`,{d:`M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2`}],[`path`,{d:`M2 9h8`}],[`path`,{d:`M22 15h-4`}],[`path`,{d:`M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`path`,{d:`M22 9h-4`}],[`path`,{d:`M5 3v18`}]],sM=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 5h.01`}],[`path`,{d:`M21 12h.01`}],[`path`,{d:`M21 19h.01`}]],cM=[[`path`,{d:`M15 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],lM=[[`path`,{d:`M14 10h2`}],[`path`,{d:`M15 22v-8`}],[`path`,{d:`M15 2v4`}],[`path`,{d:`M2 10h2`}],[`path`,{d:`M20 10h2`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6`}],[`path`,{d:`M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2`}],[`path`,{d:`M8 10h2`}],[`path`,{d:`M9 22v-8`}],[`path`,{d:`M9 2v4`}]],uM=[[`path`,{d:`M12 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}]],dM=[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`}],[`path`,{d:`M8 18h.01`}]],fM=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`}]],pM=[[`circle`,{cx:`7`,cy:`7`,r:`5`}],[`circle`,{cx:`17`,cy:`17`,r:`5`}],[`path`,{d:`M12 17h10`}],[`path`,{d:`m3.46 10.54 7.08-7.08`}]],mM=[[`path`,{d:`M16 13h6`}],[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`M19 10v6`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],hM=[[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.43 2.43 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`m16.5 10.5 5 5`}],[`path`,{d:`m21.5 10.5-5 5`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],gM=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],_M=[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}]],vM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}]],yM=[[`path`,{d:`M4 4v16`}]],bM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}]],xM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}]],SM=[[`circle`,{cx:`17`,cy:`4`,r:`2`}],[`path`,{d:`M15.59 5.41 5.41 15.59`}],[`circle`,{cx:`4`,cy:`17`,r:`2`}],[`path`,{d:`M12 22s-4-9-1.5-11.5S22 12 22 12`}]],CM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}],[`path`,{d:`M22 6 2 18`}]],wM=[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`}],[`path`,{d:`m13.56 11.747 4.332-.924`}],[`path`,{d:`m16 21-3.105-6.21`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`}],[`path`,{d:`m6.158 8.633 1.114 4.456`}],[`path`,{d:`m8 21 3.105-6.21`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}]],TM=[[`circle`,{cx:`4`,cy:`4`,r:`2`}],[`path`,{d:`m14 5 3-3 3 3`}],[`path`,{d:`m14 10 3-3 3 3`}],[`path`,{d:`M17 14V2`}],[`path`,{d:`M17 14H7l-5 8h20Z`}],[`path`,{d:`M8 14v8`}],[`path`,{d:`m9 14 5 8`}]],EM=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],DM=[[`path`,{d:`M3.5 21 14 3`}],[`path`,{d:`M20.5 21 10 3`}],[`path`,{d:`M15.5 21 12 15l-3.5 6`}],[`path`,{d:`M2 21h20`}]],OM=[[`path`,{d:`M12 19h8`}],[`path`,{d:`m4 17 6-6-6-6`}]],kM=[[`path`,{d:`M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3`}],[`path`,{d:`m16 2 6 6`}],[`path`,{d:`M12 16H4`}]],AM=[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`}],[`path`,{d:`M8.5 2h7`}],[`path`,{d:`M14.5 16h-5`}]],jM=[[`path`,{d:`M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2`}],[`path`,{d:`M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2`}],[`path`,{d:`M3 2h7`}],[`path`,{d:`M14 2h7`}],[`path`,{d:`M9 16H4`}],[`path`,{d:`M20 16h-5`}]],MM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M17 12H7`}],[`path`,{d:`M19 19H5`}]],NM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M21 19H7`}]],PM=[[`path`,{d:`M3 5h18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 19h18`}]],FM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M17 19H3`}]],IM=[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`}],[`path`,{d:`M9 6v12`}]],LM=[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4`}]],RM=[[`path`,{d:`M15 5h6`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12`}],[`path`,{d:`M3.92 10h6.16`}]],zM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`circle`,{cx:`17`,cy:`15`,r:`3`}],[`path`,{d:`m21 19-1.9-1.9`}]],BM=[[`path`,{d:`M17 5H3`}],[`path`,{d:`M21 12H8`}],[`path`,{d:`M21 19H8`}],[`path`,{d:`M3 12v7`}]],VM=[[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`}],[`path`,{d:`M3 19h6`}],[`path`,{d:`M3 5h18`}]],HM=[[`path`,{d:`M2 10s3-3 3-8`}],[`path`,{d:`M22 10s-3-3-3-8`}],[`path`,{d:`M10 2c0 4.4-3.6 8-8 8`}],[`path`,{d:`M14 2c0 4.4 3.6 8 8 8`}],[`path`,{d:`M2 10s2 2 2 5`}],[`path`,{d:`M22 10s-2 2-2 5`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}],[`path`,{d:`M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}]],UM=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`M10.585 15H10`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h2`}]],WM=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8a4 4 0 0 0-1.645 7.647`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}]],GM=[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`}]],KM=[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`}],[`path`,{d:`M17 14V2`}]],qM=[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`}],[`path`,{d:`M7 10v12`}]],JM=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],YM=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}]],XM=[[`path`,{d:`M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M15 15h.01`}]],ZM=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],QM=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}]],$M=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}],[`path`,{d:`m9.5 9.5 5 5`}]],eN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]],tN=[[`path`,{d:`M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12`}],[`path`,{d:`m12 13.5 3.794.506`}],[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],nN=[[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],rN=[[`path`,{d:`M4 12h.01`}],[`path`,{d:`M4 16h.01`}],[`path`,{d:`M4 20h.01`}],[`path`,{d:`M4 4h.01`}],[`path`,{d:`M4 8h.01`}],[`path`,{d:`M9.414 13.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 12z`}],[`path`,{d:`M9.414 21.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 20z`}],[`path`,{d:`M9.414 5.414A2 2 0 0 0 10.828 6H19a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 4z`}]],iN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7`}],[`path`,{d:`M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M12 12v-2`}]],aN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M12 14v-4`}],[`path`,{d:`M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6`}],[`path`,{d:`M9 17H4v5`}]],oN=[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`}],[`circle`,{cx:`12`,cy:`14`,r:`8`}]],sN=[[`circle`,{cx:`9`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],cN=[[`circle`,{cx:`15`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],lN=[[`path`,{d:`M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18`}],[`path`,{d:`M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8`}]],uN=[[`path`,{d:`M10 15h4`}],[`path`,{d:`m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27`}],[`path`,{d:`m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122`}],[`path`,{d:`M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}]],dN=[[`path`,{d:`M16 12v4`}],[`path`,{d:`M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M8 12v4`}]],fN=[[`ellipse`,{cx:`12`,cy:`11`,rx:`3`,ry:`2`}],[`ellipse`,{cx:`12`,cy:`12.5`,rx:`10`,ry:`8.5`}]],pN=[[`path`,{d:`M21 4H3`}],[`path`,{d:`M18 8H6`}],[`path`,{d:`M19 12H9`}],[`path`,{d:`M16 16h-6`}],[`path`,{d:`M11 20H9`}]],mN=[[`path`,{d:`M12 20v-6`}],[`path`,{d:`M19.656 14H22`}],[`path`,{d:`M2 14h12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M9.656 4H20a2 2 0 0 1 2 2v10.344`}]],hN=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M12 20v-6`}]],gN=[[`path`,{d:`M22 7h-2`}],[`path`,{d:`M6.5 3h11A2.5 2.5 0 0 1 20 5.5V20a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V5.5a1 1 0 0 0-5 0V17a1 1 0 0 0 1 1h4`}],[`path`,{d:`M9 7H2`}]],_N=[[`path`,{d:`M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z`}],[`path`,{d:`M8 13v9`}],[`path`,{d:`M16 22v-9`}],[`path`,{d:`m9 6 1 7`}],[`path`,{d:`m15 6-1 7`}],[`path`,{d:`M12 6V2`}],[`path`,{d:`M13 2h-2`}]],vN=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3`}],[`path`,{d:`M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3`}]],yN=[[`path`,{d:`m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20`}],[`path`,{d:`M16 18h-5`}],[`path`,{d:`M18 5a1 1 0 0 0-1 1v5.573`}],[`path`,{d:`M3 4h8.129a1 1 0 0 1 .99.863L13 11.246`}],[`path`,{d:`M4 11V4`}],[`path`,{d:`M7 15h.01`}],[`path`,{d:`M8 10.1V4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`15`,r:`5`}]],bN=[[`path`,{d:`M16.05 10.966a5 2.5 0 0 1-8.1 0`}],[`path`,{d:`m16.923 14.049 4.48 2.04a1 1 0 0 1 .001 1.831l-8.574 3.9a2 2 0 0 1-1.66 0l-8.574-3.91a1 1 0 0 1 0-1.83l4.484-2.04`}],[`path`,{d:`M16.949 14.14a5 2.5 0 1 1-9.9 0L10.063 3.5a2 2 0 0 1 3.874 0z`}],[`path`,{d:`M9.194 6.57a5 2.5 0 0 0 5.61 0`}]],xN=[[`path`,{d:`M2 22V12a10 10 0 1 1 20 0v10`}],[`path`,{d:`M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8`}],[`path`,{d:`M10 15h.01`}],[`path`,{d:`M14 15h.01`}],[`path`,{d:`M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z`}],[`path`,{d:`m9 19-2 3`}],[`path`,{d:`m15 19 2 3`}]],SN=[[`path`,{d:`M8 3.1V7a4 4 0 0 0 8 0V3.1`}],[`path`,{d:`m9 15-1-1`}],[`path`,{d:`m15 15 1-1`}],[`path`,{d:`M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m16 19 2 3`}]],CN=[[`path`,{d:`M2 17 17 2`}],[`path`,{d:`m2 14 8 8`}],[`path`,{d:`m5 11 8 8`}],[`path`,{d:`m8 8 8 8`}],[`path`,{d:`m11 5 8 8`}],[`path`,{d:`m14 2 8 8`}],[`path`,{d:`M7 22 22 7`}]],wN=[[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m18 22-2-3`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}]],TN=[[`path`,{d:`M12 16v6`}],[`path`,{d:`M14 20h-4`}],[`path`,{d:`M18 2h4v4`}],[`path`,{d:`m2 2 7.17 7.17`}],[`path`,{d:`M2 5.355V2h3.357`}],[`path`,{d:`m22 2-7.17 7.17`}],[`path`,{d:`M8 5 5 8`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],EN=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],DN=[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],ON=[[`path`,{d:`M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z`}],[`path`,{d:`M12 19v3`}]],kN=[[`path`,{d:`M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4`}],[`path`,{d:`M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3`}],[`path`,{d:`M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35`}],[`path`,{d:`M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14`}]],AN=[[`path`,{d:`m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z`}],[`path`,{d:`M12 22v-3`}]],jN=[[`path`,{d:`M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z`}],[`path`,{d:`M7 16v6`}],[`path`,{d:`M13 19v3`}],[`path`,{d:`M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5`}]],MN=[[`path`,{d:`M16 17h6v-6`}],[`path`,{d:`m22 17-8.5-8.5-5 5L2 7`}]],NN=[[`path`,{d:`M14.828 14.828 21 21`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`m21 3-9 9-4-4-6 6`}],[`path`,{d:`M21 8V3h-5`}]],PN=[[`path`,{d:`M16 7h6v6`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`}]],FN=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],IN=[[`path`,{d:`M10.17 4.193a2 2 0 0 1 3.666.013`}],[`path`,{d:`M14 21h2`}],[`path`,{d:`m15.874 7.743 1 1.732`}],[`path`,{d:`m18.849 12.952 1 1.732`}],[`path`,{d:`M21.824 18.18a2 2 0 0 1-1.835 2.824`}],[`path`,{d:`M4.024 21a2 2 0 0 1-1.839-2.839`}],[`path`,{d:`m5.136 12.952-1 1.732`}],[`path`,{d:`M8 21h2`}],[`path`,{d:`m8.102 7.743-1 1.732`}]],LN=[[`path`,{d:`M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z`}]],RN=[[`path`,{d:`M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}]],zN=[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`}],[`path`,{d:`M4 22h16`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`}]],BN=[[`path`,{d:`M14 19V7a2 2 0 0 0-2-2H9`}],[`path`,{d:`M15 19H9`}],[`path`,{d:`M19 19h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 9.38a1 1 0 0 0-.78-.38H14`}],[`path`,{d:`M2 13v5a1 1 0 0 0 1 1h2`}],[`path`,{d:`M4 3 2.15 5.15a.495.495 0 0 0 .35.86h2.15a.47.47 0 0 1 .35.86L3 9.02`}],[`circle`,{cx:`17`,cy:`19`,r:`2`}],[`circle`,{cx:`7`,cy:`19`,r:`2`}]],VN=[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M15 18H9`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],HN=[[`path`,{d:`M15 4 5 9`}],[`path`,{d:`m15 8.5-10 5`}],[`path`,{d:`M18 12a9 9 0 0 1-9 9V3`}]],UN=[[`path`,{d:`m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z`}],[`path`,{d:`M4.82 7.9 8 10`}],[`path`,{d:`M15.18 7.9 12 10`}],[`path`,{d:`M16.93 10H20a2 2 0 0 1 0 4H2`}]],WN=[[`path`,{d:`M10 12.01h.01`}],[`path`,{d:`M18 8v4a8 8 0 0 1-1.07 4`}],[`circle`,{cx:`10`,cy:`12`,r:`4`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],GN=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],KN=[[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],qN=[[`path`,{d:`m17 2-5 5-5-5`}],[`rect`,{width:`20`,height:`15`,x:`2`,y:`7`,rx:`2`}]],JN=[[`path`,{d:`M12 4v16`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`}],[`path`,{d:`M9 20h6`}]],YN=[[`path`,{d:`M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z`}]],XN=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M18.656 13h2.336a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-12.07-7.51`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5.961 5.957a10.28 10.28 0 0 0-3.922 5.769A1 1 0 0 0 3 13h10`}]],ZN=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z`}]],QN=[[`path`,{d:`M6 4v6a6 6 0 0 0 12 0V4`}],[`line`,{x1:`4`,x2:`20`,y1:`20`,y2:`20`}]],$N=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]],eP=[[`path`,{d:`M21 17a9 9 0 0 0-15-6.7L3 13`}],[`path`,{d:`M3 7v6h6`}],[`circle`,{cx:`12`,cy:`17`,r:`1`}]],tP=[[`path`,{d:`M3 7v6h6`}],[`path`,{d:`M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13`}]],nP=[[`path`,{d:`M16 12h6`}],[`path`,{d:`M8 12H2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 15 3-3-3-3`}],[`path`,{d:`m5 9-3 3 3 3`}]],rP=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m15 5-3-3-3 3`}]],iP=[[`rect`,{x:`11`,y:`14`,width:`10`,height:`7`,rx:`2`}],[`rect`,{x:`3`,y:`3`,width:`10`,height:`7`,rx:`2`}]],aP=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 16h.01`}],[`path`,{d:`M22 7a1 1 0 0 0-1-1h-2a2 2 0 0 1-1.143-.359L13.143 2.36a2 2 0 0 0-2.286-.001L6.143 5.64A2 2 0 0 1 5 6H3a1 1 0 0 0-1 1v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z`}],[`path`,{d:`M6 12h.01`}],[`path`,{d:`M6 16h.01`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],oP=[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`}]],sP=[[`path`,{d:`M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2`}]],cP=[[`path`,{d:`m19 5 3-3`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`}]],lP=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m17 8-5-5-5 5`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}]],uP=[[`circle`,{cx:`10`,cy:`7`,r:`1`}],[`circle`,{cx:`4`,cy:`20`,r:`1`}],[`path`,{d:`M4.7 19.3 19 5`}],[`path`,{d:`m21 3-3 1 2 2Z`}],[`path`,{d:`M9.26 7.68 5 12l2 5`}],[`path`,{d:`m10 14 5 2 3.5-3.5`}],[`path`,{d:`m18 12 1-1 1 1-1 1Z`}]],dP=[[`path`,{d:`m16 11 2 2 4-4`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],fP=[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`m14.305 16.53.923-.382`}],[`path`,{d:`m15.228 13.852-.923-.383`}],[`path`,{d:`m16.852 12.228-.383-.923`}],[`path`,{d:`m16.852 17.772-.383.924`}],[`path`,{d:`m19.148 12.228.383-.923`}],[`path`,{d:`m19.53 18.696-.382-.924`}],[`path`,{d:`m20.772 13.852.924-.383`}],[`path`,{d:`m20.772 16.148.924.383`}],[`circle`,{cx:`18`,cy:`15`,r:`3`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],pP=[[`path`,{d:`M19 16v-2a2 2 0 0 0-4 0v2`}],[`path`,{d:`M9.5 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`rect`,{x:`13`,y:`16`,width:`8`,height:`5`,rx:`.899`}]],mP=[[`path`,{d:`M20 11v6`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],hP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],gP=[[`path`,{d:`M11.5 15H7a4 4 0 0 0-4 4v2`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],_P=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],vP=[[`path`,{d:`m19 16-3 3`}],[`path`,{d:`M2 21a8 8 0 0 1 12.664-6.5`}],[`path`,{d:`M22 19h-6l3 3`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],yP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m16 19 2 2 4-4`}]],bP=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],xP=[[`path`,{d:`M19 11v6`}],[`path`,{d:`M19 13h2`}],[`path`,{d:`M2 21a8 8 0 0 1 12.868-6.349`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}]],SP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 19h-6`}]],CP=[[`path`,{d:`M2 21a8 8 0 0 1 10.821-7.487`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],wP=[[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.9-1.9`}]],TP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M22 19h-6`}]],EP=[[`path`,{d:`M2 21a8 8 0 0 1 11.873-7`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`m22 17-5 5`}]],DP=[[`circle`,{cx:`12`,cy:`8`,r:`5`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`}]],OP=[[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`path`,{d:`M10.3 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`path`,{d:`m21 21-1.9-1.9`}]],kP=[[`path`,{d:`M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`path`,{d:`M8 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],AP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`17`,x2:`22`,y1:`8`,y2:`13`}],[`line`,{x1:`22`,x2:`17`,y1:`8`,y2:`13`}]],jP=[[`path`,{d:`M18 21a8 8 0 0 0-16 0`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`}]],MP=[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`12`,cy:`7`,r:`4`}]],NP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],PP=[[`path`,{d:`m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8`}],[`path`,{d:`M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7`}],[`path`,{d:`m2.1 21.8 6.4-6.3`}],[`path`,{d:`m19 5-7 7`}]],FP=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M2 5h20`}],[`path`,{d:`M3 3v2`}],[`path`,{d:`M7 3v2`}],[`path`,{d:`M17 3v2`}],[`path`,{d:`M21 3v2`}],[`path`,{d:`m19 5-7 7-7-7`}]],IP=[[`path`,{d:`M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2`}],[`path`,{d:`M7 2v20`}],[`path`,{d:`M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7`}]],LP=[[`path`,{d:`M13 6v5a1 1 0 0 0 1 1h6.102a1 1 0 0 1 .712.298l.898.91a1 1 0 0 1 .288.702V17a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M5 18H3a1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h12c1.1 0 2.1.8 2.4 1.8l1.176 4.2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],RP=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],zP=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 7.9 2.7 2.7`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 10.6 2.7-2.7`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 16.1 2.7-2.7`}],[`circle`,{cx:`16.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 13.4 2.7 2.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],BP=[[`path`,{d:`M19.5 7a24 24 0 0 1 0 10`}],[`path`,{d:`M4.5 7a24 24 0 0 0 0 10`}],[`path`,{d:`M7 19.5a24 24 0 0 0 10 0`}],[`path`,{d:`M7 4.5a24 24 0 0 1 10 0`}],[`rect`,{x:`17`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`17`,y:`2`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`2`,width:`5`,height:`5`,rx:`1`}]],VP=[[`path`,{d:`M16 8q6 0 6-6-6 0-6 6`}],[`path`,{d:`M17.41 3.59a10 10 0 1 0 3 3`}],[`path`,{d:`M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14`}]],HP=[[`path`,{d:`M18 11c-1.5 0-2.5.5-3 2`}],[`path`,{d:`M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z`}],[`path`,{d:`M6 11c1.5 0 2.5.5 3 2`}]],UP=[[`path`,{d:`M10 20h4`}],[`path`,{d:`M12 16v6`}],[`path`,{d:`M17 2h4v4`}],[`path`,{d:`m21 2-5.46 5.46`}],[`circle`,{cx:`12`,cy:`11`,r:`5`}]],WP=[[`path`,{d:`M12 15v7`}],[`path`,{d:`M9 19h6`}],[`circle`,{cx:`12`,cy:`9`,r:`6`}]],GP=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`path`,{d:`M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2`}],[`path`,{d:`M16 10.34V6c0-.55-.45-1-1-1h-4.34`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],KP=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`}]],qP=[[`path`,{d:`M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196`}],[`path`,{d:`M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}],[`path`,{d:`m2 2 20 20`}]],JP=[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`}]],YP=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 8h20`}],[`circle`,{cx:`8`,cy:`14`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`14`,r:`2`}]],XP=[[`path`,{d:`M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],ZP=[[`circle`,{cx:`6`,cy:`12`,r:`4`}],[`circle`,{cx:`18`,cy:`12`,r:`4`}],[`line`,{x1:`6`,x2:`18`,y1:`16`,y2:`16`}]],QP=[[`path`,{d:`M11 7a16 16 20 0 1 10.98 4.362`}],[`path`,{d:`M12 12a13 13 0 0 1-8.66 5`}],[`path`,{d:`M16.83 13.634a16 16 0 0 1-9.267 7.328`}],[`path`,{d:`M20.66 17A13 13 0 0 0 12 12a13 13 0 0 1 0-10`}],[`path`,{d:`M8.17 15.366a16 16 0 0 1-1.713-11.69`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],$P=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}]],eF=[[`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}],[`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}],[`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`}]],tF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]],nF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`}]],rF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}]],iF=[[`path`,{d:`m9 12 2 2 4-4`}],[`path`,{d:`M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z`}],[`path`,{d:`M22 19H2`}]],aF=[[`path`,{d:`M3 11h3.75a2 2 0 0 1 1.6.8l.45.6a4 4 0 0 0 6.4 0l.45-.6a2 2 0 0 1 1.6-.8H21`}],[`path`,{d:`M3 7h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],oF=[[`path`,{d:`M17 14h.01`}],[`path`,{d:`M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14`}]],sF=[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`}]],cF=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15`}],[`circle`,{cx:`8`,cy:`9`,r:`2`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],lF=[[`path`,{d:`M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11`}],[`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z`}],[`path`,{d:`M6 13h12`}],[`path`,{d:`M6 17h12`}]],uF=[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`M5 6v4`}],[`path`,{d:`M19 14v4`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M7 8H3`}],[`path`,{d:`M21 16h-4`}],[`path`,{d:`M11 3H9`}]],dF=[[`path`,{d:`M15 4V2`}],[`path`,{d:`M15 16v-2`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M20 9h2`}],[`path`,{d:`M17.8 11.8 19 13`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M17.8 6.2 19 5`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M12.2 6.2 11 5`}]],fF=[[`path`,{d:`M3 6h3`}],[`path`,{d:`M17 6h.01`}],[`rect`,{width:`18`,height:`20`,x:`3`,y:`2`,rx:`2`}],[`circle`,{cx:`12`,cy:`13`,r:`5`}],[`path`,{d:`M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5`}]],pF=[[`path`,{d:`M12 10v2.2l1.6 1`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}]],mF=[[`path`,{d:`M12 10L12 2`}],[`path`,{d:`M16 6L12 10L8 6`}],[`path`,{d:`M2 15C2.6 15.5 3.2 16 4.5 16C7 16 7 14 9.5 14C12.1 14 11.9 16 14.5 16C17 16 17 14 19.5 14C20.8 14 21.4 14.5 22 15`}],[`path`,{d:`M2 21C2.6 21.5 3.2 22 4.5 22C7 22 7 20 9.5 20C12.1 20 11.9 22 14.5 22C17 22 17 20 19.5 20C20.8 20 21.4 20.5 22 21`}]],hF=[[`path`,{d:`M12 2v8`}],[`path`,{d:`M2 15c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`m8 6 4-4 4 4`}]],gF=[[`path`,{d:`M2 12q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 19q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 5q2.5 2 5 0t5 0 5 0 5 0`}]],_F=[[`path`,{d:`M19 5a2 2 0 0 0-2 2v11`}],[`path`,{d:`M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M7 13h10`}],[`path`,{d:`M7 9h10`}],[`path`,{d:`M9 5a2 2 0 0 0-2 2v11`}]],vF=[[`path`,{d:`M12 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M19 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M5 2q2 2.5 0 5t0 5 0 5 0 5`}]],yF=[[`path`,{d:`m10.586 5.414-5.172 5.172`}],[`path`,{d:`m18.586 13.414-5.172 5.172`}],[`path`,{d:`M6 12h12`}],[`circle`,{cx:`12`,cy:`20`,r:`2`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`12`,r:`2`}],[`circle`,{cx:`4`,cy:`12`,r:`2`}]],bF=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M12.754 7.096a3 3 0 0 1 2.15 2.15`}],[`path`,{d:`M12.863 12.873a3 3 0 0 1-3.736-3.735`}],[`path`,{d:`M16.566 16.57A8 8 0 0 1 5.43 5.433`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M8.478 2.817a8 8 0 0 1 10.705 10.705`}]],xF=[[`circle`,{cx:`12`,cy:`10`,r:`8`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M12 22v-4`}]],SF=[[`path`,{d:`M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15`}],[`path`,{d:`M9 3.4a4 4 0 0 1 6.52.66`}],[`path`,{d:`m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05`}],[`path`,{d:`M20.3 20.3a4 4 0 0 1-2.3.7`}],[`path`,{d:`M18.6 13a4 4 0 0 1 3.357 3.414`}],[`path`,{d:`m12 6 .6 1`}],[`path`,{d:`m2 2 20 20`}]],CF=[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`}]],wF=[[`path`,{d:`M6.5 8a2 2 0 0 0-1.906 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8z`}],[`path`,{d:`M7.999 15a2.5 2.5 0 0 1 4 0 2.5 2.5 0 0 0 4 0`}],[`circle`,{cx:`12`,cy:`5`,r:`3`}]],TF=[[`circle`,{cx:`12`,cy:`5`,r:`3`}],[`path`,{d:`M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z`}]],EF=[[`path`,{d:`M2 22 16 8`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}]],DF=[[`path`,{d:`m2 22 10-10`}],[`path`,{d:`m16 8-1.17 1.17`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97`}],[`path`,{d:`M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98`}],[`path`,{d:`M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],OF=[[`circle`,{cx:`7`,cy:`12`,r:`3`}],[`path`,{d:`M10 9v6`}],[`circle`,{cx:`17`,cy:`12`,r:`3`}],[`path`,{d:`M14 7v8`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],kF=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 7.82a15 15 0 0 1 20 0`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M5 11.858a10 10 0 0 1 11.5-1.785`}],[`path`,{d:`M8.5 15.429a5 5 0 0 1 2.413-1.31`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],AF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],jF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],MF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`}],[`path`,{d:`m2 2 20 20`}]],NF=[[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 10.5-2.222`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 3-1.406`}]],PF=[[`path`,{d:`M11.965 10.105v4L13.5 12.5a5 5 0 0 1 8 1.5`}],[`path`,{d:`M11.965 14.105h4`}],[`path`,{d:`M17.965 18.105h4L20.43 19.71a5 5 0 0 1-8-1.5`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.965 22.105v-4`}],[`path`,{d:`M5 12.86a10 10 0 0 1 3-2.032`}],[`path`,{d:`M8.5 16.429h.01`}]],FF=[[`path`,{d:`M12 20h.01`}]],IF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],LF=[[`path`,{d:`M10 2v8`}],[`path`,{d:`M12.8 21.6A2 2 0 1 0 14 18H2`}],[`path`,{d:`M17.5 10a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`m6 6 4 4 4-4`}]],RF=[[`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`}],[`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`}]],zF=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h3m7 0h-1.343`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],BF=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z`}]],VF=[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`}]],HF=[[`path`,{d:`m19 12-1.5 3`}],[`path`,{d:`M19.63 18.81 22 20`}],[`path`,{d:`M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z`}]],UF=[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`}]],WF=[[`path`,{d:`M10.747 5.093a6 6 0 0 1 6.841-2.882c.438.12.54.662.219.984L14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-2.882 6.842`}],[`path`,{d:`m13.5 13.5-7.88 7.88a1 1 0 0 1-2.999-3l7.88-7.88`}],[`path`,{d:`m2 2 20 20`}]],GF=[[`path`,{d:`M18 4H6`}],[`path`,{d:`M18 8 6 20`}],[`path`,{d:`m6 8 12 12`}]],KF=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]],qF=[[`path`,{d:`M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317`}],[`path`,{d:`M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773`}],[`path`,{d:`M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643`}],[`path`,{d:`m2 2 20 20`}]],JF=[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`}]],YF=[[`path`,{d:`m2 10 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.096-.001l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 10`}],[`path`,{d:`m2 18.002 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.097 0l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 18.002`}]],XF=[[`path`,{d:`M12 7.5a4.5 4.5 0 1 1 5 4.5`}],[`path`,{d:`M7 12a4.5 4.5 0 1 1 5-4.5V21`}]],ZF=[[`path`,{d:`M21 14.5A9 6.5 0 0 1 5.5 19`}],[`path`,{d:`M3 9.5A9 6.5 0 0 1 18.5 5`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`9.5`,r:`3.5`}]],QF=[[`path`,{d:`M16 4.525v14.948`}],[`path`,{d:`M20 3A17 17 0 0 1 4 3`}],[`path`,{d:`M4 21a17 17 0 0 1 16 0`}],[`path`,{d:`M8 4.525v14.948`}]],$F=[[`path`,{d:`M11 21a3 3 0 0 0 3-3V6.5a1 1 0 0 0-7 0`}],[`path`,{d:`M7 19V6a3 3 0 0 0-3-3h0`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],eI=[[`path`,{d:`M3 16h6.857c.162-.012.19-.323.038-.38a6 6 0 1 1 4.212 0c-.153.057-.125.368.038.38H21`}],[`path`,{d:`M3 20h18`}]],tI=[[`path`,{d:`M10 16c0-4-3-4.5-3-8a5 5 0 0 1 10 0c0 3.466-3 6.196-3 10a3 3 0 0 0 6 0`}],[`circle`,{cx:`7`,cy:`16`,r:`3`}]],nI=[[`path`,{d:`M3 10A6.06 6.06 0 0 1 12 10 A6.06 6.06 0 0 0 21 10`}],[`path`,{d:`M6 3v12a6 6 0 0 0 12 0V3`}]],rI=[[`path`,{d:`M19 21a15 15 0 0 1 0-18`}],[`path`,{d:`M20 12H4`}],[`path`,{d:`M5 3a15 15 0 0 1 0 18`}]],iI=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M21 3 3 21`}],[`path`,{d:`m9 9 6 6`}]],aI=[[`circle`,{cx:`12`,cy:`15`,r:`6`}],[`path`,{d:`M18 3A6 6 0 0 1 6 3`}]],oI=[[`path`,{d:`M10 19V5.5a1 1 0 0 1 5 0V17a2 2 0 0 0 2 2h5l-3-3`}],[`path`,{d:`m22 19-3 3`}],[`path`,{d:`M5 19V5.5a1 1 0 0 1 5 0`}],[`path`,{d:`M5 5.5A2.5 2.5 0 0 0 2.5 3`}]],sI=[[`path`,{d:`M11 5.5a1 1 0 0 1 5 0V16a5 5 0 0 0 5 5`}],[`path`,{d:`M16 11.5a1 1 0 0 1 5 0V16a5 5 0 0 1-5 5`}],[`path`,{d:`M6 19V6a3 3 0 0 0-3-3h0`}],[`path`,{d:`M6 5.5a1 1 0 0 1 5 0V19`}]],cI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],lI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],uI=t({AArrowDown:()=>ha,AArrowUp:()=>ga,ALargeSmall:()=>ya,Accessibility:()=>_a,Activity:()=>va,ActivitySquare:()=>Jk,Ad:()=>ba,AirVent:()=>xa,Airplay:()=>Sa,AlarmCheck:()=>wa,AlarmClock:()=>Da,AlarmClockCheck:()=>wa,AlarmClockMinus:()=>Ca,AlarmClockOff:()=>Ta,AlarmClockPlus:()=>Ea,AlarmMinus:()=>Ca,AlarmPlus:()=>Ea,AlarmSmoke:()=>Oa,Album:()=>ka,AlertCircle:()=>zd,AlertOctagon:()=>tw,AlertTriangle:()=>FN,AlignCenter:()=>MM,AlignCenterHorizontal:()=>Aa,AlignCenterVertical:()=>ja,AlignEndHorizontal:()=>Ma,AlignEndVertical:()=>Pa,AlignHorizontalDistributeCenter:()=>Na,AlignHorizontalDistributeEnd:()=>Fa,AlignHorizontalDistributeStart:()=>Ia,AlignHorizontalJustifyCenter:()=>La,AlignHorizontalJustifyEnd:()=>Ra,AlignHorizontalJustifyStart:()=>za,AlignHorizontalSpaceAround:()=>Ba,AlignHorizontalSpaceBetween:()=>Ha,AlignJustify:()=>PM,AlignLeft:()=>FM,AlignRight:()=>NM,AlignStartHorizontal:()=>Va,AlignStartVertical:()=>Ua,AlignVerticalDistributeCenter:()=>Wa,AlignVerticalDistributeEnd:()=>Ga,AlignVerticalDistributeStart:()=>Ka,AlignVerticalJustifyCenter:()=>qa,AlignVerticalJustifyEnd:()=>Ja,AlignVerticalJustifyStart:()=>Ya,AlignVerticalSpaceAround:()=>Xa,AlignVerticalSpaceBetween:()=>Za,Ambulance:()=>Qa,Ampersand:()=>eee,Ampersands:()=>$a,Amphora:()=>tee,Anchor:()=>nee,Angry:()=>ree,Annoyed:()=>iee,Antenna:()=>aee,Anvil:()=>oee,Aperture:()=>see,AppWindow:()=>eo,AppWindowMac:()=>cee,Apple:()=>lee,Archive:()=>io,ArchiveRestore:()=>to,ArchiveX:()=>no,AreaChart:()=>Vu,Armchair:()=>ro,ArrowBigDown:()=>oo,ArrowBigDownDash:()=>ao,ArrowBigLeft:()=>co,ArrowBigLeftDash:()=>so,ArrowBigRight:()=>uo,ArrowBigRightDash:()=>lo,ArrowBigUp:()=>po,ArrowBigUpDash:()=>fo,ArrowDown:()=>Do,ArrowDown01:()=>mo,ArrowDown10:()=>ho,ArrowDownAZ:()=>_o,ArrowDownAz:()=>_o,ArrowDownCircle:()=>Bd,ArrowDownFromLine:()=>go,ArrowDownLeft:()=>vo,ArrowDownLeftFromCircle:()=>Hd,ArrowDownLeftFromSquare:()=>$k,ArrowDownLeftSquare:()=>Yk,ArrowDownNarrowWide:()=>yo,ArrowDownRight:()=>bo,ArrowDownRightFromCircle:()=>Ud,ArrowDownRightFromSquare:()=>eA,ArrowDownRightSquare:()=>Xk,ArrowDownSquare:()=>Zk,ArrowDownToDot:()=>So,ArrowDownToLine:()=>xo,ArrowDownUp:()=>Co,ArrowDownWideNarrow:()=>wo,ArrowDownZA:()=>To,ArrowDownZa:()=>To,ArrowLeft:()=>Ao,ArrowLeftCircle:()=>Vd,ArrowLeftFromLine:()=>Eo,ArrowLeftRight:()=>Oo,ArrowLeftSquare:()=>Qk,ArrowLeftToLine:()=>ko,ArrowRight:()=>Po,ArrowRightCircle:()=>Kd,ArrowRightFromLine:()=>jo,ArrowRightLeft:()=>Mo,ArrowRightSquare:()=>aA,ArrowRightToLine:()=>No,ArrowUp:()=>qo,ArrowUp01:()=>Fo,ArrowUp10:()=>Io,ArrowUpAZ:()=>Lo,ArrowUpAz:()=>Lo,ArrowUpCircle:()=>qd,ArrowUpDown:()=>Ro,ArrowUpFromDot:()=>zo,ArrowUpFromLine:()=>Bo,ArrowUpLeft:()=>Vo,ArrowUpLeftFromCircle:()=>Wd,ArrowUpLeftFromSquare:()=>tA,ArrowUpLeftSquare:()=>oA,ArrowUpNarrowWide:()=>Ho,ArrowUpRight:()=>Uo,ArrowUpRightFromCircle:()=>Gd,ArrowUpRightFromSquare:()=>nA,ArrowUpRightSquare:()=>sA,ArrowUpSquare:()=>cA,ArrowUpToLine:()=>Wo,ArrowUpWideNarrow:()=>Go,ArrowUpZA:()=>Ko,ArrowUpZa:()=>Ko,ArrowsUpFromLine:()=>Yo,Asterisk:()=>Jo,AsteriskSquare:()=>lA,Astroid:()=>Xo,AtSign:()=>Zo,Atom:()=>Qo,AudioLines:()=>$o,AudioWaveform:()=>ns,Award:()=>es,Axe:()=>ts,Axis3D:()=>rs,Axis3d:()=>rs,Baby:()=>as,Backpack:()=>is,Badge:()=>Cs,BadgeAlert:()=>os,BadgeCent:()=>ss,BadgeCheck:()=>cs,BadgeDollarSign:()=>ls,BadgeEuro:()=>us,BadgeHelp:()=>vs,BadgeIndianRupee:()=>ds,BadgeInfo:()=>fs,BadgeJapaneseYen:()=>ps,BadgeMinus:()=>ms,BadgePercent:()=>hs,BadgePlus:()=>gs,BadgePoundSterling:()=>_s,BadgeQuestionMark:()=>vs,BadgeRussianRuble:()=>ys,BadgeSwissFranc:()=>bs,BadgeTurkishLira:()=>xs,BadgeX:()=>Ss,BaggageClaim:()=>ws,Balloon:()=>Ts,Ban:()=>Es,Banana:()=>Ds,Bandage:()=>Os,Banknote:()=>Ns,BanknoteArrowDown:()=>ks,BanknoteArrowUp:()=>As,BanknoteCheck:()=>js,BanknoteX:()=>Ms,BarChart:()=>nd,BarChart2:()=>rd,BarChart3:()=>Qu,BarChart4:()=>Xu,BarChartBig:()=>Ju,BarChartHorizontal:()=>Ku,BarChartHorizontalBig:()=>Hu,Barcode:()=>Ps,Barrel:()=>Fs,Baseline:()=>Is,Bath:()=>Ls,Battery:()=>Ws,BatteryCharging:()=>Rs,BatteryFull:()=>zs,BatteryLow:()=>Bs,BatteryMedium:()=>Vs,BatteryPlus:()=>Hs,BatteryWarning:()=>Us,Beaker:()=>Gs,Bean:()=>qs,BeanOff:()=>Ks,Bed:()=>Xs,BedDouble:()=>Js,BedSingle:()=>Ys,Beef:()=>Qs,BeefOff:()=>Zs,Beer:()=>ec,BeerOff:()=>$s,Bell:()=>cc,BellCheck:()=>nc,BellDot:()=>tc,BellElectric:()=>rc,BellMinus:()=>ic,BellOff:()=>ac,BellPlus:()=>oc,BellRing:()=>sc,BetweenHorizonalEnd:()=>lc,BetweenHorizonalStart:()=>uc,BetweenHorizontalEnd:()=>lc,BetweenHorizontalStart:()=>uc,BetweenVerticalEnd:()=>dc,BetweenVerticalStart:()=>fc,BicepsFlexed:()=>pc,Bike:()=>mc,Binary:()=>hc,Binoculars:()=>_c,Biohazard:()=>gc,Bird:()=>vc,Birdhouse:()=>yc,Bitcoin:()=>bc,Blend:()=>xc,Blender:()=>Cc,Blinds:()=>Sc,Blocks:()=>wc,Bluetooth:()=>Oc,BluetoothConnected:()=>Tc,BluetoothOff:()=>Ec,BluetoothSearching:()=>Dc,Bold:()=>kc,Bolt:()=>Ac,Bomb:()=>jc,Bone:()=>Nc,BoneFracture:()=>Mc,Book:()=>al,BookA:()=>Pc,BookAlert:()=>Fc,BookAudio:()=>Ic,BookCheck:()=>Lc,BookCopy:()=>Rc,BookDashed:()=>zc,BookDown:()=>Bc,BookHeadphones:()=>Vc,BookHeart:()=>Hc,BookImage:()=>Uc,BookKey:()=>Wc,BookLock:()=>Gc,BookMarked:()=>Kc,BookMinus:()=>qc,BookOpen:()=>Xc,BookOpenCheck:()=>Jc,BookOpenText:()=>Yc,BookPlus:()=>Zc,BookSearch:()=>Qc,BookTemplate:()=>zc,BookText:()=>$c,BookType:()=>el,BookUp:()=>nl,BookUp2:()=>tl,BookUser:()=>rl,BookX:()=>il,Bookmark:()=>dl,BookmarkCheck:()=>ol,BookmarkMinus:()=>sl,BookmarkOff:()=>cl,BookmarkPlus:()=>ll,BookmarkX:()=>ul,BoomBox:()=>pl,Bot:()=>hl,BotMessageSquare:()=>fl,BotOff:()=>ml,BottleWine:()=>gl,BowArrow:()=>_l,Box:()=>vl,BoxSelect:()=>DA,Boxes:()=>yl,Braces:()=>bl,Brackets:()=>xl,Brain:()=>wl,BrainCircuit:()=>Sl,BrainCog:()=>Cl,BrickWall:()=>El,BrickWallFire:()=>Dl,BrickWallShield:()=>Tl,Briefcase:()=>jl,BriefcaseBusiness:()=>Ol,BriefcaseConveyorBelt:()=>kl,BriefcaseMedical:()=>Al,BringToFront:()=>Pl,Broccoli:()=>Ml,Brush:()=>Fl,BrushCleaning:()=>Nl,Bubbles:()=>Il,Bug:()=>zl,BugOff:()=>Ll,BugPlay:()=>Rl,Building:()=>Vl,Building2:()=>Bl,Bus:()=>Ul,BusFront:()=>Hl,Cable:()=>Gl,CableCar:()=>Wl,Cake:()=>ql,CakeSlice:()=>Kl,Calculator:()=>Jl,Calendar:()=>hu,Calendar1:()=>Yl,CalendarArrowDown:()=>Xl,CalendarArrowUp:()=>Zl,CalendarCheck:()=>Ql,CalendarCheck2:()=>$l,CalendarClock:()=>eu,CalendarCog:()=>tu,CalendarDays:()=>nu,CalendarFold:()=>ru,CalendarHeart:()=>au,CalendarMinus:()=>ou,CalendarMinus2:()=>iu,CalendarOff:()=>su,CalendarPlus:()=>lu,CalendarPlus2:()=>cu,CalendarRange:()=>uu,CalendarSearch:()=>du,CalendarSync:()=>fu,CalendarX:()=>mu,CalendarX2:()=>pu,Calendars:()=>gu,Camera:()=>vu,CameraOff:()=>_u,CandlestickChart:()=>qu,Candy:()=>bu,CandyCane:()=>yu,CandyOff:()=>xu,Cannabis:()=>Su,CannabisOff:()=>Cu,Captions:()=>Tu,CaptionsOff:()=>wu,Car:()=>Ou,CarFront:()=>Eu,CarTaxiFront:()=>Du,Caravan:()=>ku,CardSim:()=>Au,Carrot:()=>ju,CaseLower:()=>Mu,CaseSensitive:()=>Nu,CaseUpper:()=>Pu,CassetteTape:()=>Fu,Cast:()=>Iu,Castle:()=>Lu,Cat:()=>Ru,Cctv:()=>Bu,CctvOff:()=>zu,ChartArea:()=>Vu,ChartBar:()=>Ku,ChartBarBig:()=>Hu,ChartBarDecreasing:()=>Wu,ChartBarIncreasing:()=>Uu,ChartBarStacked:()=>Gu,ChartCandlestick:()=>qu,ChartColumn:()=>Qu,ChartColumnBig:()=>Ju,ChartColumnDecreasing:()=>Yu,ChartColumnIncreasing:()=>Xu,ChartColumnStacked:()=>Zu,ChartGantt:()=>$u,ChartLine:()=>ed,ChartNetwork:()=>id,ChartNoAxesColumn:()=>rd,ChartNoAxesColumnDecreasing:()=>td,ChartNoAxesColumnIncreasing:()=>nd,ChartNoAxesCombined:()=>ad,ChartNoAxesGantt:()=>od,ChartPie:()=>sd,ChartScatter:()=>cd,ChartSpline:()=>ld,Check:()=>fd,CheckCheck:()=>ud,CheckCircle:()=>Jd,CheckCircle2:()=>Yd,CheckLine:()=>dd,CheckSquare:()=>mA,CheckSquare2:()=>hA,ChefHat:()=>pd,Cherry:()=>md,ChessBishop:()=>gd,ChessKing:()=>hd,ChessKnight:()=>_d,ChessPawn:()=>vd,ChessQueen:()=>yd,ChessRook:()=>bd,ChevronDown:()=>xd,ChevronDownCircle:()=>Xd,ChevronDownSquare:()=>gA,ChevronFirst:()=>Cd,ChevronLast:()=>Sd,ChevronLeft:()=>wd,ChevronLeftCircle:()=>Zd,ChevronLeftSquare:()=>_A,ChevronRight:()=>Td,ChevronRightCircle:()=>Qd,ChevronRightSquare:()=>vA,ChevronUp:()=>Ed,ChevronUpCircle:()=>$d,ChevronUpSquare:()=>yA,ChevronsDown:()=>Dd,ChevronsDownUp:()=>Od,ChevronsLeft:()=>jd,ChevronsLeftRight:()=>Ad,ChevronsLeftRightEllipsis:()=>kd,ChevronsRight:()=>Nd,ChevronsRightLeft:()=>Md,ChevronsUp:()=>Fd,ChevronsUpDown:()=>Pd,Church:()=>Id,Cigarette:()=>Rd,CigaretteOff:()=>Ld,Circle:()=>Mf,CircleAlert:()=>zd,CircleArrowDown:()=>Bd,CircleArrowLeft:()=>Vd,CircleArrowOutDownLeft:()=>Hd,CircleArrowOutDownRight:()=>Ud,CircleArrowOutUpLeft:()=>Wd,CircleArrowOutUpRight:()=>Gd,CircleArrowRight:()=>Kd,CircleArrowUp:()=>qd,CircleCheck:()=>Yd,CircleCheckBig:()=>Jd,CircleChevronDown:()=>Xd,CircleChevronLeft:()=>Zd,CircleChevronRight:()=>Qd,CircleChevronUp:()=>$d,CircleDashed:()=>ef,CircleDivide:()=>tf,CircleDollarSign:()=>nf,CircleDot:()=>af,CircleDotDashed:()=>rf,CircleEllipsis:()=>of,CircleEqual:()=>sf,CircleEuro:()=>cf,CircleFadingArrowUp:()=>lf,CircleFadingPlus:()=>df,CircleGauge:()=>uf,CircleHelp:()=>Cf,CircleMinus:()=>ff,CircleOff:()=>pf,CircleParking:()=>hf,CircleParkingOff:()=>mf,CirclePause:()=>gf,CirclePercent:()=>_f,CirclePile:()=>vf,CirclePlay:()=>yf,CirclePlus:()=>bf,CirclePoundSterling:()=>xf,CirclePower:()=>Sf,CircleQuestionMark:()=>Cf,CircleSlash:()=>wf,CircleSlash2:()=>Tf,CircleSlashed:()=>Tf,CircleSmall:()=>Ef,CircleStar:()=>Df,CircleStop:()=>Of,CircleUser:()=>Af,CircleUserRound:()=>kf,CircleX:()=>jf,CircuitBoard:()=>Nf,Citrus:()=>Pf,Clapperboard:()=>Ff,Clipboard:()=>qf,ClipboardCheck:()=>Lf,ClipboardClock:()=>If,ClipboardCopy:()=>Rf,ClipboardEdit:()=>Uf,ClipboardList:()=>zf,ClipboardMinus:()=>Bf,ClipboardPaste:()=>Vf,ClipboardPen:()=>Uf,ClipboardPenLine:()=>Hf,ClipboardPlus:()=>Wf,ClipboardSignature:()=>Hf,ClipboardType:()=>Gf,ClipboardX:()=>Kf,Clock:()=>mp,Clock1:()=>Jf,Clock10:()=>Yf,Clock11:()=>Xf,Clock12:()=>Zf,Clock2:()=>Qf,Clock3:()=>$f,Clock4:()=>ep,Clock5:()=>tp,Clock6:()=>np,Clock7:()=>rp,Clock8:()=>ap,Clock9:()=>ip,ClockAlert:()=>op,ClockArrowDown:()=>sp,ClockArrowLeft:()=>cp,ClockArrowRight:()=>lp,ClockArrowUp:()=>up,ClockCheck:()=>dp,ClockFading:()=>fp,ClockPlus:()=>pp,ClosedCaption:()=>hp,Cloud:()=>Fp,CloudAlert:()=>gp,CloudBackup:()=>vp,CloudCheck:()=>_p,CloudCog:()=>yp,CloudDownload:()=>bp,CloudDrizzle:()=>Sp,CloudFog:()=>xp,CloudHail:()=>Cp,CloudLightning:()=>wp,CloudMoon:()=>Ep,CloudMoonRain:()=>Tp,CloudOff:()=>Dp,CloudRain:()=>kp,CloudRainWind:()=>Op,CloudSnow:()=>Ap,CloudSun:()=>Mp,CloudSunRain:()=>jp,CloudSync:()=>Np,CloudUpload:()=>Pp,Cloudy:()=>Ip,Clover:()=>Lp,Club:()=>Rp,Code:()=>Bp,Code2:()=>zp,CodeSquare:()=>bA,CodeXml:()=>zp,Coffee:()=>Vp,Cog:()=>Hp,Coins:()=>Up,Columns:()=>Wp,Columns2:()=>Wp,Columns3:()=>Kp,Columns3Cog:()=>Gp,Columns4:()=>qp,ColumnsSettings:()=>Gp,Combine:()=>Yp,Command:()=>Jp,Compass:()=>Xp,Component:()=>Zp,Computer:()=>Qp,ConciergeBell:()=>$p,Cone:()=>em,Construction:()=>nm,Contact:()=>rm,Contact2:()=>tm,ContactRound:()=>tm,Container:()=>im,Contrast:()=>am,Cookie:()=>om,CookingPot:()=>sm,Copy:()=>pm,CopyCheck:()=>cm,CopyMinus:()=>lm,CopyPlus:()=>um,CopySlash:()=>dm,CopyX:()=>fm,Copyleft:()=>mm,Copyright:()=>hm,CornerDownLeft:()=>gm,CornerDownRight:()=>_m,CornerLeftDown:()=>ym,CornerLeftUp:()=>vm,CornerRightDown:()=>bm,CornerRightUp:()=>xm,CornerUpLeft:()=>Sm,CornerUpRight:()=>Cm,Cpu:()=>wm,CreativeCommons:()=>Tm,CreditCard:()=>Em,Croissant:()=>Dm,Crop:()=>Om,Cross:()=>km,Crosshair:()=>Am,Crown:()=>Nm,Cuboid:()=>jm,CupSoda:()=>Mm,CurlyBraces:()=>bl,Currency:()=>Pm,Cylinder:()=>Fm,Dam:()=>Im,Database:()=>Km,DatabaseArrowDown:()=>Lm,DatabaseArrowUp:()=>Rm,DatabaseBackup:()=>Bm,DatabaseCheck:()=>zm,DatabaseMinus:()=>Vm,DatabasePlus:()=>Hm,DatabaseSearch:()=>Um,DatabaseX:()=>Wm,DatabaseZap:()=>Gm,DecimalsArrowLeft:()=>Jm,DecimalsArrowRight:()=>qm,Delete:()=>Ym,Dessert:()=>Xm,Diameter:()=>Zm,Diamond:()=>th,DiamondMinus:()=>Qm,DiamondPercent:()=>$m,DiamondPlus:()=>eh,Dice1:()=>nh,Dice2:()=>rh,Dice3:()=>ih,Dice4:()=>ah,Dice5:()=>oh,Dice6:()=>ch,Dices:()=>sh,Diff:()=>lh,Disc:()=>mh,Disc2:()=>uh,Disc3:()=>dh,DiscAlbum:()=>ph,Divide:()=>fh,DivideCircle:()=>tf,DivideSquare:()=>OA,Dna:()=>gh,DnaOff:()=>hh,Dock:()=>_h,Dog:()=>vh,DollarSign:()=>yh,Donut:()=>bh,DoorClosed:()=>Sh,DoorClosedLocked:()=>xh,DoorOpen:()=>Ch,Dot:()=>wh,DotSquare:()=>kA,Download:()=>Th,DownloadCloud:()=>bp,DraftingCompass:()=>Oh,Drama:()=>Eh,Drill:()=>Dh,Drone:()=>kh,Droplet:()=>jh,DropletOff:()=>Ah,Droplets:()=>Mh,Drum:()=>Nh,Drumstick:()=>Ph,Dumbbell:()=>Fh,Ear:()=>Lh,EarOff:()=>Ih,Earth:()=>Bh,EarthLock:()=>Rh,Eclipse:()=>zh,Edit:()=>VA,Edit2:()=>rT,Edit3:()=>eT,Egg:()=>Uh,EggFried:()=>Vh,EggOff:()=>Hh,Ellipse:()=>Wh,Ellipsis:()=>Kh,EllipsisVertical:()=>Gh,Equal:()=>Yh,EqualApproximately:()=>qh,EqualNot:()=>Jh,EqualSquare:()=>AA,Eraser:()=>Xh,EthernetPort:()=>Zh,Euro:()=>Qh,EvCharger:()=>$h,Expand:()=>eg,ExternalLink:()=>tg,Eye:()=>ag,EyeClosed:()=>ng,EyeDashed:()=>rg,EyeOff:()=>ig,Factory:()=>og,Fan:()=>sg,FastForward:()=>cg,Feather:()=>ug,Fence:()=>lg,FerrisWheel:()=>dg,File:()=>f_,FileArchive:()=>fg,FileAudio:()=>Mg,FileAudio2:()=>Mg,FileAxis3D:()=>pg,FileAxis3d:()=>pg,FileBadge:()=>mg,FileBadge2:()=>mg,FileBarChart:()=>vg,FileBarChart2:()=>yg,FileBox:()=>hg,FileBraces:()=>_g,FileBracesCorner:()=>gg,FileChartColumn:()=>yg,FileChartColumnIncreasing:()=>vg,FileChartLine:()=>xg,FileChartPie:()=>bg,FileCheck:()=>Cg,FileCheck2:()=>Sg,FileCheckCorner:()=>Sg,FileClock:()=>Tg,FileCode:()=>Eg,FileCode2:()=>wg,FileCodeCorner:()=>wg,FileCog:()=>Dg,FileCog2:()=>Dg,FileDiff:()=>kg,FileDigit:()=>Og,FileDown:()=>Ag,FileEdit:()=>Ug,FileExclamationPoint:()=>jg,FileHeadphone:()=>Mg,FileHeart:()=>Ng,FileImage:()=>Pg,FileInput:()=>Fg,FileJson:()=>_g,FileJson2:()=>gg,FileKey:()=>Ig,FileKey2:()=>Ig,FileLineChart:()=>xg,FileLock:()=>Lg,FileLock2:()=>Lg,FileMinus:()=>zg,FileMinus2:()=>Rg,FileMinusCorner:()=>Rg,FileMusic:()=>Bg,FileOutput:()=>Vg,FilePen:()=>Ug,FilePenLine:()=>Hg,FilePieChart:()=>bg,FilePlay:()=>Wg,FilePlus:()=>Kg,FilePlus2:()=>Gg,FilePlusCorner:()=>Gg,FileQuestion:()=>qg,FileQuestionMark:()=>qg,FileScan:()=>Jg,FileSearch:()=>Xg,FileSearch2:()=>Yg,FileSearchCorner:()=>Yg,FileSignal:()=>Qg,FileSignature:()=>Hg,FileSliders:()=>Zg,FileSpreadsheet:()=>$g,FileStack:()=>t_,FileSymlink:()=>e_,FileTerminal:()=>n_,FileText:()=>r_,FileType:()=>a_,FileType2:()=>i_,FileTypeCorner:()=>i_,FileUp:()=>o_,FileUser:()=>s_,FileVideo:()=>Wg,FileVideo2:()=>c_,FileVideoCamera:()=>c_,FileVolume:()=>l_,FileVolume2:()=>Qg,FileWarning:()=>jg,FileX:()=>d_,FileX2:()=>u_,FileXCorner:()=>u_,Files:()=>p_,Film:()=>m_,Filter:()=>Ov,FilterX:()=>Dv,Fingerprint:()=>h_,FingerprintPattern:()=>h_,FireExtinguisher:()=>g_,Fish:()=>y_,FishOff:()=>__,FishSymbol:()=>v_,FishingHook:()=>b_,FishingRod:()=>x_,Flag:()=>T_,FlagOff:()=>S_,FlagTriangleLeft:()=>C_,FlagTriangleRight:()=>w_,Flame:()=>D_,FlameKindling:()=>E_,Flashlight:()=>k_,FlashlightOff:()=>O_,FlaskConical:()=>j_,FlaskConicalOff:()=>A_,FlaskRound:()=>M_,FlipHorizontal:()=>dA,FlipHorizontal2:()=>N_,FlipVertical:()=>fA,FlipVertical2:()=>P_,Flower:()=>F_,Flower2:()=>I_,Focus:()=>L_,FoldHorizontal:()=>R_,FoldVertical:()=>z_,Folder:()=>gv,FolderArchive:()=>B_,FolderBookmark:()=>H_,FolderCheck:()=>V_,FolderClock:()=>U_,FolderClosed:()=>W_,FolderCode:()=>G_,FolderCog:()=>K_,FolderCog2:()=>K_,FolderDot:()=>q_,FolderDown:()=>J_,FolderEdit:()=>sv,FolderGit:()=>X_,FolderGit2:()=>Y_,FolderHeart:()=>Z_,FolderInput:()=>Q_,FolderKanban:()=>$_,FolderKey:()=>ev,FolderLock:()=>tv,FolderMinus:()=>nv,FolderOpen:()=>iv,FolderOpenDot:()=>rv,FolderOutput:()=>av,FolderPen:()=>sv,FolderPlus:()=>ov,FolderRoot:()=>cv,FolderSearch:()=>uv,FolderSearch2:()=>lv,FolderSymlink:()=>dv,FolderSync:()=>fv,FolderTree:()=>pv,FolderUp:()=>mv,FolderX:()=>hv,Folders:()=>_v,Footprints:()=>yv,ForkKnife:()=>IP,ForkKnifeCrossed:()=>PP,Forklift:()=>vv,Form:()=>bv,FormInput:()=>FE,Forward:()=>xv,Frame:()=>Sv,Frown:()=>Cv,Fuel:()=>wv,Fullscreen:()=>Tv,FunctionSquare:()=>jA,Funnel:()=>Ov,FunnelPlus:()=>Ev,FunnelX:()=>Dv,GalleryHorizontal:()=>Av,GalleryHorizontalEnd:()=>kv,GalleryThumbnails:()=>jv,GalleryVertical:()=>Mv,GalleryVerticalEnd:()=>Nv,Gamepad:()=>Iv,Gamepad2:()=>Pv,GamepadDirectional:()=>Fv,GanttChart:()=>od,GanttChartSquare:()=>pA,Gauge:()=>Lv,GaugeCircle:()=>uf,Gavel:()=>Rv,Gem:()=>zv,GeorgianLari:()=>Vv,Ghost:()=>Bv,Gift:()=>Hv,GitBranch:()=>Gv,GitBranchMinus:()=>Uv,GitBranchPlus:()=>Wv,GitCommit:()=>Jv,GitCommitHorizontal:()=>Jv,GitCommitVertical:()=>Kv,GitCompare:()=>Yv,GitCompareArrows:()=>qv,GitFork:()=>Xv,GitGraph:()=>Zv,GitMerge:()=>$v,GitMergeConflict:()=>Qv,GitPullRequest:()=>dee,GitPullRequestArrow:()=>ey,GitPullRequestClosed:()=>ty,GitPullRequestCreate:()=>ry,GitPullRequestCreateArrow:()=>ny,GitPullRequestDraft:()=>iy,GlassWater:()=>uee,Glasses:()=>fee,Globe:()=>_ee,Globe2:()=>Bh,GlobeCheck:()=>pee,GlobeLock:()=>mee,GlobeOff:()=>hee,GlobeX:()=>gee,Goal:()=>vee,Gpu:()=>yee,Grab:()=>uy,GraduationCap:()=>bee,Grape:()=>xee,Grid:()=>ly,Grid2X2:()=>cy,Grid2X2Check:()=>ay,Grid2X2Plus:()=>oy,Grid2X2X:()=>sy,Grid2x2:()=>cy,Grid2x2Check:()=>ay,Grid2x2Plus:()=>oy,Grid2x2X:()=>sy,Grid3X3:()=>ly,Grid3x2:()=>See,Grid3x3:()=>ly,Grip:()=>Tee,GripHorizontal:()=>Cee,GripVertical:()=>wee,Group:()=>Eee,Guitar:()=>Dee,Ham:()=>kee,Hamburger:()=>Oee,Hammer:()=>Aee,Hand:()=>Iee,HandCoins:()=>jee,HandFist:()=>Mee,HandGrab:()=>uy,HandHeart:()=>Nee,HandHelping:()=>dy,HandMetal:()=>Pee,HandPlatter:()=>Fee,Handbag:()=>Lee,Handshake:()=>Ree,HardDrive:()=>Bee,HardDriveDownload:()=>zee,HardDriveUpload:()=>Vee,HardHat:()=>Hee,Hash:()=>Uee,HatGlasses:()=>Wee,Haze:()=>Gee,Hd:()=>Kee,HdmiPort:()=>qee,Heading:()=>ete,Heading1:()=>Jee,Heading2:()=>Yee,Heading3:()=>Zee,Heading4:()=>Xee,Heading5:()=>Qee,Heading6:()=>$ee,HeadphoneOff:()=>tte,Headphones:()=>nte,Headset:()=>rte,Heart:()=>dte,HeartCrack:()=>ite,HeartHandshake:()=>ate,HeartMinus:()=>ote,HeartOff:()=>ste,HeartPlus:()=>cte,HeartPulse:()=>lte,HeartX:()=>ute,Heater:()=>fte,Helicopter:()=>pte,HelpCircle:()=>Cf,HelpingHand:()=>dy,Hexagon:()=>mte,Highlighter:()=>hte,History:()=>gte,Home:()=>fy,Hop:()=>_te,HopOff:()=>vte,Hospital:()=>yte,Hotel:()=>bte,Hourglass:()=>Ste,House:()=>fy,HouseHeart:()=>xte,HousePlug:()=>wte,HousePlus:()=>Cte,HouseWifi:()=>Tte,IceCream:()=>my,IceCream2:()=>py,IceCreamBowl:()=>py,IceCreamCone:()=>my,IdCard:()=>Dte,IdCardLanyard:()=>Ete,Image:()=>xy,ImageDown:()=>hy,ImageMinus:()=>gy,ImageOff:()=>_y,ImagePlay:()=>vy,ImagePlus:()=>yy,ImageUp:()=>by,ImageUpscale:()=>Cy,Images:()=>Sy,Import:()=>Ty,Inbox:()=>wy,Indent:()=>Bb,IndentDecrease:()=>Rb,IndentIncrease:()=>Bb,IndianRupee:()=>Ey,Infinity:()=>Dy,Info:()=>Oy,Inspect:()=>LA,InspectionPanel:()=>ky,Italic:()=>Ay,IterationCcw:()=>jy,IterationCw:()=>My,JapaneseYen:()=>Ny,Joystick:()=>Py,Kanban:()=>Iy,KanbanSquare:()=>MA,KanbanSquareDashed:()=>CA,Kayak:()=>Fy,Key:()=>zy,KeyRound:()=>Ly,KeySquare:()=>Ry,Keyboard:()=>Vy,KeyboardMusic:()=>By,KeyboardOff:()=>Hy,Lamp:()=>Jy,LampCeiling:()=>Uy,LampDesk:()=>Wy,LampFloor:()=>Gy,LampWallDown:()=>Ky,LampWallUp:()=>qy,LandPlot:()=>Yy,Landmark:()=>Xy,Languages:()=>Zy,Laptop:()=>eb,Laptop2:()=>$y,LaptopMinimal:()=>$y,LaptopMinimalCheck:()=>Qy,Lasso:()=>nb,LassoSelect:()=>tb,Laugh:()=>rb,Layers:()=>ob,Layers2:()=>ib,Layers3:()=>ob,LayersMinus:()=>ab,LayersPlus:()=>sb,Layout:()=>Ww,LayoutDashboard:()=>cb,LayoutGrid:()=>lb,LayoutList:()=>ub,LayoutPanelLeft:()=>db,LayoutPanelTop:()=>fb,LayoutTemplate:()=>pb,Leaf:()=>mb,LeafyGreen:()=>hb,Lectern:()=>gb,LensConcave:()=>_b,LensConvex:()=>vb,LetterText:()=>RM,Library:()=>bb,LibraryBig:()=>yb,LibrarySquare:()=>NA,LifeBuoy:()=>xb,Ligature:()=>Sb,Lightbulb:()=>wb,LightbulbOff:()=>Cb,LineChart:()=>ed,LineDotRightHorizontal:()=>Eb,LineSquiggle:()=>Tb,LineStyle:()=>Ob,Link:()=>Ab,Link2:()=>kb,Link2Off:()=>Db,List:()=>$b,ListCheck:()=>jb,ListChecks:()=>Mb,ListChevronsDownUp:()=>Nb,ListChevronsUpDown:()=>Pb,ListCollapse:()=>Fb,ListEnd:()=>Ib,ListFilter:()=>zb,ListFilterPlus:()=>Lb,ListIndentDecrease:()=>Rb,ListIndentIncrease:()=>Bb,ListMinus:()=>Vb,ListMusic:()=>Hb,ListOrdered:()=>Gb,ListPlus:()=>Ub,ListRestart:()=>Wb,ListSortAscending:()=>Kb,ListSortDescending:()=>qb,ListStart:()=>Jb,ListTodo:()=>Zb,ListTree:()=>Yb,ListVideo:()=>Xb,ListX:()=>Qb,Loader:()=>nx,Loader2:()=>ex,LoaderCircle:()=>ex,LoaderPinwheel:()=>tx,Locate:()=>ax,LocateFixed:()=>rx,LocateOff:()=>ix,LocationEdit:()=>Px,Lock:()=>lx,LockKeyhole:()=>sx,LockKeyholeOpen:()=>ox,LockOpen:()=>cx,LogIn:()=>ux,LogOut:()=>dx,Logs:()=>fx,Lollipop:()=>px,Luggage:()=>mx,MSquare:()=>PA,Magnet:()=>hx,Mail:()=>Cx,MailCheck:()=>gx,MailMinus:()=>_x,MailOpen:()=>vx,MailPlus:()=>yx,MailQuestion:()=>bx,MailQuestionMark:()=>bx,MailSearch:()=>xx,MailWarning:()=>Sx,MailX:()=>wx,Mailbox:()=>Tx,Mails:()=>Ex,Map:()=>Gx,MapMinus:()=>Dx,MapPin:()=>Bx,MapPinCheck:()=>kx,MapPinCheckInside:()=>Ox,MapPinHouse:()=>Ax,MapPinMinus:()=>Mx,MapPinMinusInside:()=>jx,MapPinOff:()=>Nx,MapPinPen:()=>Px,MapPinPlus:()=>Ix,MapPinPlusInside:()=>Fx,MapPinSearch:()=>Lx,MapPinX:()=>zx,MapPinXInside:()=>Rx,MapPinned:()=>Vx,MapPlus:()=>Hx,Mars:()=>Wx,MarsStroke:()=>Ux,Martini:()=>Kx,Maximize:()=>Yx,Maximize2:()=>qx,Medal:()=>Jx,Megaphone:()=>Zx,MegaphoneOff:()=>Xx,Meh:()=>Qx,MemoryStick:()=>$x,Menu:()=>eS,MenuSquare:()=>FA,Merge:()=>tS,MessageCircle:()=>pS,MessageCircleCheck:()=>nS,MessageCircleCode:()=>rS,MessageCircleDashed:()=>iS,MessageCircleHeart:()=>aS,MessageCircleMore:()=>oS,MessageCircleOff:()=>sS,MessageCirclePlus:()=>cS,MessageCircleQuestion:()=>lS,MessageCircleQuestionMark:()=>lS,MessageCircleReply:()=>uS,MessageCircleWarning:()=>dS,MessageCircleX:()=>fS,MessageSquare:()=>AS,MessageSquareCheck:()=>mS,MessageSquareCode:()=>hS,MessageSquareDashed:()=>_S,MessageSquareDiff:()=>gS,MessageSquareDot:()=>vS,MessageSquareHeart:()=>yS,MessageSquareLock:()=>bS,MessageSquareMore:()=>xS,MessageSquareOff:()=>SS,MessageSquarePlus:()=>CS,MessageSquareQuote:()=>TS,MessageSquareReply:()=>wS,MessageSquareShare:()=>DS,MessageSquareText:()=>ES,MessageSquareWarning:()=>OS,MessageSquareX:()=>kS,MessagesSquare:()=>jS,Metronome:()=>MS,Mic:()=>PS,Mic2:()=>FS,MicOff:()=>NS,MicVocal:()=>FS,Microchip:()=>IS,Microscope:()=>LS,Microwave:()=>RS,Milestone:()=>zS,Milk:()=>VS,MilkOff:()=>BS,Minimize:()=>US,Minimize2:()=>HS,Minus:()=>WS,MinusCircle:()=>ff,MinusSquare:()=>IA,MirrorRectangular:()=>GS,MirrorRound:()=>KS,Monitor:()=>sC,MonitorCheck:()=>qS,MonitorCloud:()=>XS,MonitorCog:()=>JS,MonitorDot:()=>YS,MonitorDown:()=>ZS,MonitorOff:()=>QS,MonitorPause:()=>$S,MonitorPlay:()=>eC,MonitorSmartphone:()=>tC,MonitorSpeaker:()=>nC,MonitorStop:()=>rC,MonitorUp:()=>iC,MonitorX:()=>aC,Moon:()=>cC,MoonStar:()=>oC,MoreHorizontal:()=>Kh,MoreVertical:()=>Gh,Motorbike:()=>lC,Mountain:()=>dC,MountainSnow:()=>uC,Mouse:()=>bC,MouseLeft:()=>fC,MouseOff:()=>pC,MousePointer:()=>_C,MousePointer2:()=>gC,MousePointer2Off:()=>mC,MousePointerBan:()=>hC,MousePointerClick:()=>vC,MousePointerSquareDashed:()=>TA,MouseRight:()=>yC,Move:()=>PC,Move3D:()=>xC,Move3d:()=>xC,MoveDiagonal:()=>CC,MoveDiagonal2:()=>SC,MoveDown:()=>EC,MoveDownLeft:()=>wC,MoveDownRight:()=>TC,MoveHorizontal:()=>DC,MoveLeft:()=>OC,MoveRight:()=>kC,MoveUp:()=>MC,MoveUpLeft:()=>AC,MoveUpRight:()=>jC,MoveVertical:()=>NC,Music:()=>RC,Music2:()=>FC,Music3:()=>IC,Music4:()=>LC,Navigation:()=>HC,Navigation2:()=>BC,Navigation2Off:()=>zC,NavigationOff:()=>VC,Network:()=>UC,Newspaper:()=>WC,Nfc:()=>GC,NonBinary:()=>KC,Notebook:()=>XC,NotebookPen:()=>qC,NotebookTabs:()=>JC,NotebookText:()=>YC,NotepadText:()=>QC,NotepadTextDashed:()=>ZC,Nut:()=>ew,NutOff:()=>$C,Octagon:()=>aw,OctagonAlert:()=>tw,OctagonMinus:()=>nw,OctagonPause:()=>rw,OctagonX:()=>iw,Omega:()=>ow,Option:()=>sw,Orbit:()=>cw,Origami:()=>lw,Outdent:()=>Rb,Package:()=>_w,Package2:()=>uw,PackageCheck:()=>dw,PackageMinus:()=>fw,PackageOpen:()=>mw,PackagePlus:()=>pw,PackageSearch:()=>hw,PackageX:()=>gw,PaintBucket:()=>vw,PaintRoller:()=>yw,Paintbrush:()=>xw,Paintbrush2:()=>bw,PaintbrushVertical:()=>bw,Palette:()=>Sw,Palmtree:()=>kN,Panda:()=>Cw,PanelBottom:()=>Dw,PanelBottomClose:()=>ww,PanelBottomDashed:()=>Tw,PanelBottomInactive:()=>Tw,PanelBottomOpen:()=>Ew,PanelLeft:()=>Mw,PanelLeftClose:()=>Ow,PanelLeftDashed:()=>kw,PanelLeftInactive:()=>kw,PanelLeftOpen:()=>Aw,PanelLeftRightDashed:()=>jw,PanelRight:()=>Iw,PanelRightClose:()=>Nw,PanelRightDashed:()=>Pw,PanelRightInactive:()=>Pw,PanelRightOpen:()=>Fw,PanelTop:()=>Vw,PanelTopBottomDashed:()=>Lw,PanelTopClose:()=>Rw,PanelTopDashed:()=>Bw,PanelTopInactive:()=>Bw,PanelTopOpen:()=>zw,PanelsLeftBottom:()=>Hw,PanelsLeftRight:()=>Kp,PanelsRightBottom:()=>Uw,PanelsTopBottom:()=>bD,PanelsTopLeft:()=>Ww,PaperBag:()=>Gw,Paperclip:()=>Kw,Parasol:()=>qw,Parentheses:()=>Jw,ParkingCircle:()=>hf,ParkingCircleOff:()=>mf,ParkingMeter:()=>Yw,ParkingSquare:()=>zA,ParkingSquareOff:()=>RA,PartyPopper:()=>Zw,Pause:()=>Xw,PauseCircle:()=>gf,PauseOctagon:()=>rw,PawPrint:()=>$w,PcCase:()=>Qw,Pen:()=>rT,PenBox:()=>VA,PenLine:()=>eT,PenOff:()=>tT,PenSquare:()=>VA,PenTool:()=>nT,Pencil:()=>cT,PencilLine:()=>iT,PencilOff:()=>aT,PencilRuler:()=>oT,PencilSparkles:()=>sT,Pentagon:()=>lT,Percent:()=>uT,PercentCircle:()=>_f,PercentDiamond:()=>$m,PercentSquare:()=>UA,PersonStanding:()=>dT,Phi:()=>fT,PhilippinePeso:()=>pT,Phone:()=>bT,PhoneCall:()=>mT,PhoneForwarded:()=>hT,PhoneIncoming:()=>gT,PhoneMissed:()=>_T,PhoneOff:()=>vT,PhoneOutgoing:()=>yT,Pi:()=>xT,PiSquare:()=>HA,Piano:()=>ST,Pickaxe:()=>CT,PictureInPicture:()=>TT,PictureInPicture2:()=>wT,PieChart:()=>sd,PiggyBank:()=>ET,Pilcrow:()=>kT,PilcrowLeft:()=>DT,PilcrowRight:()=>OT,PilcrowSquare:()=>WA,Pill:()=>jT,PillBottle:()=>AT,Pin:()=>NT,PinOff:()=>MT,Pipette:()=>PT,Pizza:()=>FT,Plane:()=>RT,PlaneLanding:()=>IT,PlaneTakeoff:()=>LT,Play:()=>BT,PlayCircle:()=>yf,PlayOff:()=>zT,PlaySquare:()=>GA,Plug:()=>UT,Plug2:()=>VT,PlugZap:()=>HT,PlugZap2:()=>HT,Plus:()=>GT,PlusCircle:()=>bf,PlusSquare:()=>KA,PocketKnife:()=>WT,Podcast:()=>KT,Podium:()=>qT,Pointer:()=>YT,PointerOff:()=>JT,Popcorn:()=>XT,Popsicle:()=>ZT,PoundSterling:()=>QT,Power:()=>eE,PowerCircle:()=>Sf,PowerOff:()=>$T,PowerSquare:()=>qA,Presentation:()=>tE,Printer:()=>iE,PrinterCheck:()=>nE,PrinterX:()=>rE,Projector:()=>aE,Proportions:()=>oE,Puzzle:()=>sE,Pyramid:()=>cE,QrCode:()=>lE,Quote:()=>uE,Rabbit:()=>pE,Radar:()=>dE,Radiation:()=>fE,Radical:()=>mE,Radio:()=>vE,RadioOff:()=>hE,RadioReceiver:()=>gE,RadioTower:()=>_E,Radius:()=>yE,Rainbow:()=>bE,Rat:()=>xE,Ratio:()=>SE,Receipt:()=>NE,ReceiptCent:()=>CE,ReceiptEuro:()=>wE,ReceiptIndianRupee:()=>TE,ReceiptJapaneseYen:()=>EE,ReceiptPoundSterling:()=>DE,ReceiptRussianRuble:()=>OE,ReceiptSwissFranc:()=>kE,ReceiptText:()=>AE,ReceiptTurkishLira:()=>jE,RectangleCircle:()=>ME,RectangleEllipsis:()=>FE,RectangleGoggles:()=>PE,RectangleHorizontal:()=>LE,RectangleVertical:()=>IE,Recycle:()=>RE,Redo:()=>VE,Redo2:()=>zE,RedoDot:()=>BE,RefreshCcw:()=>UE,RefreshCcwDot:()=>HE,RefreshCw:()=>GE,RefreshCwOff:()=>WE,Refrigerator:()=>KE,Regex:()=>qE,RemoveFormatting:()=>JE,Repeat:()=>QE,Repeat1:()=>XE,Repeat2:()=>YE,RepeatOff:()=>ZE,Replace:()=>eD,ReplaceAll:()=>$E,Reply:()=>nD,ReplyAll:()=>tD,Rewind:()=>rD,Ribbon:()=>iD,Road:()=>aD,Rocket:()=>oD,RockingChair:()=>sD,RollerCoaster:()=>cD,Rose:()=>lD,Rotate3D:()=>uD,Rotate3d:()=>uD,RotateCcw:()=>pD,RotateCcwKey:()=>dD,RotateCcwSquare:()=>fD,RotateCw:()=>hD,RotateCwSquare:()=>mD,Route:()=>gD,RouteOff:()=>_D,Router:()=>vD,Rows:()=>yD,Rows2:()=>yD,Rows3:()=>bD,Rows4:()=>xD,Rss:()=>SD,Ruler:()=>wD,RulerDimensionLine:()=>CD,RussianRuble:()=>TD,Sailboat:()=>ED,Salad:()=>DD,Sandwich:()=>OD,Satellite:()=>AD,SatelliteDish:()=>kD,SaudiRiyal:()=>jD,Save:()=>LD,SaveAll:()=>MD,SaveCheck:()=>ND,SaveOff:()=>PD,SavePen:()=>FD,SavePlus:()=>ID,Scale:()=>zD,Scale3D:()=>RD,Scale3d:()=>RD,Scaling:()=>VD,Scan:()=>XD,ScanBarcode:()=>BD,ScanBox:()=>HD,ScanEye:()=>UD,ScanFace:()=>GD,ScanHeart:()=>WD,ScanLine:()=>KD,ScanQrCode:()=>qD,ScanSearch:()=>JD,ScanText:()=>YD,ScatterChart:()=>cd,School:()=>ZD,School2:()=>aP,Scissors:()=>$D,ScissorsLineDashed:()=>QD,ScissorsSquare:()=>XA,ScissorsSquareDashedBottom:()=>uA,Scooter:()=>eO,ScreenShare:()=>rO,ScreenShareOff:()=>tO,Scroll:()=>iO,ScrollText:()=>nO,Search:()=>uO,SearchAlert:()=>aO,SearchCheck:()=>oO,SearchCode:()=>sO,SearchSlash:()=>cO,SearchX:()=>lO,Section:()=>dO,Send:()=>mO,SendHorizonal:()=>fO,SendHorizontal:()=>fO,SendToBack:()=>pO,SeparatorHorizontal:()=>hO,SeparatorVertical:()=>gO,Server:()=>xO,ServerCog:()=>_O,ServerCrash:()=>vO,ServerOff:()=>yO,ServerPlus:()=>bO,Settings:()=>CO,Settings2:()=>SO,Shapes:()=>wO,Share:()=>EO,Share2:()=>TO,Sheet:()=>OO,Shell:()=>DO,ShelvingUnit:()=>kO,Shield:()=>WO,ShieldAlert:()=>AO,ShieldBan:()=>jO,ShieldCheck:()=>MO,ShieldClose:()=>UO,ShieldCog:()=>PO,ShieldCogCorner:()=>NO,ShieldEllipsis:()=>FO,ShieldHalf:()=>IO,ShieldKeyhole:()=>LO,ShieldMinus:()=>RO,ShieldOff:()=>zO,ShieldPlus:()=>BO,ShieldQuestion:()=>VO,ShieldQuestionMark:()=>VO,ShieldUser:()=>HO,ShieldX:()=>UO,Ship:()=>qO,ShipWheel:()=>GO,Shirt:()=>KO,ShoppingBag:()=>JO,ShoppingBasket:()=>YO,ShoppingCart:()=>XO,Shovel:()=>ZO,ShowerHead:()=>QO,Shredder:()=>$O,Shrimp:()=>tk,Shrink:()=>ek,Shrub:()=>nk,Shuffle:()=>rk,Sidebar:()=>Mw,SidebarClose:()=>Ow,SidebarOpen:()=>Aw,Sigma:()=>ik,SigmaSquare:()=>ZA,Signal:()=>lk,SignalHigh:()=>ak,SignalLow:()=>ok,SignalMedium:()=>sk,SignalZero:()=>ck,Signature:()=>uk,Signpost:()=>fk,SignpostBig:()=>dk,Siren:()=>mk,SkipBack:()=>pk,SkipForward:()=>hk,Skull:()=>gk,Slash:()=>_k,SlashSquare:()=>QA,Slice:()=>vk,Sliders:()=>xk,SlidersHorizontal:()=>yk,SlidersVertical:()=>xk,Smartphone:()=>Ck,SmartphoneCharging:()=>bk,SmartphoneNfc:()=>Sk,Smile:()=>Tk,SmilePlus:()=>wk,Snail:()=>Ek,Snowflake:()=>Dk,SoapDispenserDroplet:()=>Ok,Sofa:()=>kk,SolarPanel:()=>Ak,SortAsc:()=>Ho,SortDesc:()=>wo,Soup:()=>jk,Space:()=>Mk,Spade:()=>Pk,Sparkle:()=>Nk,Sparkles:()=>Fk,Speaker:()=>Ik,Speech:()=>Lk,SpellCheck:()=>zk,SpellCheck2:()=>Rk,Spline:()=>Vk,SplinePointer:()=>Bk,Split:()=>Hk,SplitSquareHorizontal:()=>$A,SplitSquareVertical:()=>ej,Spool:()=>Wk,SportShoe:()=>Uk,Spotlight:()=>Gk,SprayCan:()=>Kk,Sprout:()=>qk,Square:()=>lj,SquareActivity:()=>Jk,SquareArrowDown:()=>Zk,SquareArrowDownLeft:()=>Yk,SquareArrowDownRight:()=>Xk,SquareArrowLeft:()=>Qk,SquareArrowOutDownLeft:()=>$k,SquareArrowOutDownRight:()=>eA,SquareArrowOutUpLeft:()=>tA,SquareArrowOutUpRight:()=>nA,SquareArrowRight:()=>aA,SquareArrowRightEnter:()=>rA,SquareArrowRightExit:()=>iA,SquareArrowUp:()=>cA,SquareArrowUpLeft:()=>oA,SquareArrowUpRight:()=>sA,SquareAsterisk:()=>lA,SquareBottomDashedScissors:()=>uA,SquareCenterlineDashedHorizontal:()=>dA,SquareCenterlineDashedVertical:()=>fA,SquareChartGantt:()=>pA,SquareCheck:()=>hA,SquareCheckBig:()=>mA,SquareChevronDown:()=>gA,SquareChevronLeft:()=>_A,SquareChevronRight:()=>vA,SquareChevronUp:()=>yA,SquareCode:()=>bA,SquareDashed:()=>DA,SquareDashedBottom:()=>SA,SquareDashedBottomCode:()=>xA,SquareDashedKanban:()=>CA,SquareDashedMousePointer:()=>TA,SquareDashedText:()=>wA,SquareDashedTopSolid:()=>EA,SquareDivide:()=>OA,SquareDot:()=>kA,SquareEqual:()=>AA,SquareFunction:()=>jA,SquareGanttChart:()=>pA,SquareKanban:()=>MA,SquareLibrary:()=>NA,SquareM:()=>PA,SquareMenu:()=>FA,SquareMinus:()=>IA,SquareMousePointer:()=>LA,SquareParking:()=>zA,SquareParkingOff:()=>RA,SquarePause:()=>BA,SquarePen:()=>VA,SquarePercent:()=>UA,SquarePi:()=>HA,SquarePilcrow:()=>WA,SquarePlay:()=>GA,SquarePlus:()=>KA,SquarePower:()=>qA,SquareRadical:()=>JA,SquareRoundCorner:()=>YA,SquareScissors:()=>XA,SquareSigma:()=>ZA,SquareSlash:()=>QA,SquareSplitHorizontal:()=>$A,SquareSplitVertical:()=>ej,SquareSquare:()=>tj,SquareStack:()=>nj,SquareStar:()=>rj,SquareStop:()=>ij,SquareTerminal:()=>aj,SquareUser:()=>sj,SquareUserRound:()=>oj,SquareX:()=>cj,SquaresExclude:()=>uj,SquaresIntersect:()=>dj,SquaresSubtract:()=>fj,SquaresUnite:()=>pj,Squircle:()=>hj,SquircleDashed:()=>mj,Squirrel:()=>gj,Stamp:()=>_j,Star:()=>wj,StarCheck:()=>vj,StarHalf:()=>yj,StarMinus:()=>bj,StarOff:()=>xj,StarPlus:()=>Sj,StarX:()=>Cj,Stars:()=>Fk,StepBack:()=>Tj,StepForward:()=>Ej,Stethoscope:()=>Oj,Sticker:()=>Dj,StickyNote:()=>Pj,StickyNoteCheck:()=>kj,StickyNoteMinus:()=>Aj,StickyNoteOff:()=>jj,StickyNotePlus:()=>Nj,StickyNoteX:()=>Mj,StickyNotes:()=>Fj,Stone:()=>Ij,StopCircle:()=>Of,Store:()=>Lj,StretchHorizontal:()=>Rj,StretchVertical:()=>zj,Strikethrough:()=>Bj,Subscript:()=>Vj,Subtitles:()=>Tu,Summary:()=>Hj,Sun:()=>qj,SunDim:()=>Uj,SunMedium:()=>Wj,SunMoon:()=>Gj,SunSnow:()=>Kj,Sunrise:()=>Jj,Sunset:()=>Yj,Superscript:()=>Zj,SwatchBook:()=>Xj,SwissFranc:()=>Qj,SwitchCamera:()=>$j,Sword:()=>eM,Swords:()=>nM,Syringe:()=>tM,Table:()=>uM,Table2:()=>rM,TableCellsMerge:()=>iM,TableCellsSplit:()=>aM,TableColumnsSplit:()=>oM,TableConfig:()=>Gp,TableOfContents:()=>sM,TableProperties:()=>cM,TableRowsSplit:()=>lM,Tablet:()=>fM,TabletSmartphone:()=>dM,Tablets:()=>pM,Tag:()=>gM,TagPlus:()=>mM,TagX:()=>hM,Tags:()=>_M,Tally1:()=>yM,Tally2:()=>vM,Tally3:()=>bM,Tally4:()=>xM,Tally5:()=>CM,Tangent:()=>SM,Target:()=>EM,Telescope:()=>wM,Tent:()=>DM,TentTree:()=>TM,Terminal:()=>OM,TerminalSquare:()=>aj,TestTube:()=>AM,TestTube2:()=>kM,TestTubeDiagonal:()=>kM,TestTubes:()=>jM,Text:()=>FM,TextAlignCenter:()=>MM,TextAlignEnd:()=>NM,TextAlignJustify:()=>PM,TextAlignStart:()=>FM,TextCursor:()=>LM,TextCursorInput:()=>IM,TextInitial:()=>RM,TextQuote:()=>BM,TextSearch:()=>zM,TextSelect:()=>wA,TextSelection:()=>wA,TextWrap:()=>VM,Theater:()=>HM,Thermometer:()=>GM,ThermometerSnowflake:()=>UM,ThermometerSun:()=>WM,ThumbsDown:()=>KM,ThumbsUp:()=>qM,Ticket:()=>eN,TicketCheck:()=>JM,TicketMinus:()=>YM,TicketPercent:()=>XM,TicketPlus:()=>ZM,TicketSlash:()=>QM,TicketX:()=>$M,Tickets:()=>nN,TicketsPlane:()=>tN,Timeline:()=>rN,Timer:()=>oN,TimerOff:()=>iN,TimerReset:()=>aN,ToggleLeft:()=>sN,ToggleRight:()=>cN,Toilet:()=>lN,ToolCase:()=>uN,Toolbox:()=>dN,Tornado:()=>pN,Torus:()=>fN,Touchpad:()=>hN,TouchpadOff:()=>mN,TowelRack:()=>gN,TowerControl:()=>_N,ToyBrick:()=>vN,Tractor:()=>yN,TrafficCone:()=>bN,Train:()=>wN,TrainFront:()=>SN,TrainFrontTunnel:()=>xN,TrainTrack:()=>CN,TramFront:()=>wN,Transgender:()=>TN,Trash:()=>DN,Trash2:()=>EN,TreeDeciduous:()=>ON,TreePalm:()=>kN,TreePine:()=>AN,Trees:()=>jN,TrendingDown:()=>MN,TrendingUp:()=>PN,TrendingUpDown:()=>NN,Triangle:()=>RN,TriangleAlert:()=>FN,TriangleDashed:()=>IN,TriangleRight:()=>LN,Trophy:()=>zN,Truck:()=>VN,TruckElectric:()=>BN,TurkishLira:()=>HN,Turntable:()=>WN,Turtle:()=>UN,Tv:()=>qN,Tv2:()=>KN,TvMinimal:()=>KN,TvMinimalPlay:()=>GN,Type:()=>JN,TypeOutline:()=>YN,Umbrella:()=>ZN,UmbrellaOff:()=>XN,Underline:()=>QN,Undo:()=>tP,Undo2:()=>$N,UndoDot:()=>eP,UnfoldHorizontal:()=>nP,UnfoldVertical:()=>rP,Ungroup:()=>iP,University:()=>aP,Unlink:()=>oP,Unlink2:()=>sP,Unlock:()=>cx,UnlockKeyhole:()=>ox,Unplug:()=>cP,Upload:()=>lP,UploadCloud:()=>Pp,Usb:()=>uP,User:()=>MP,User2:()=>DP,UserCheck:()=>dP,UserCheck2:()=>yP,UserCircle:()=>Af,UserCircle2:()=>kf,UserCog:()=>fP,UserCog2:()=>bP,UserKey:()=>mP,UserLock:()=>pP,UserMinus:()=>hP,UserMinus2:()=>SP,UserPen:()=>gP,UserPlus:()=>_P,UserPlus2:()=>TP,UserRound:()=>DP,UserRoundArrowLeft:()=>vP,UserRoundCheck:()=>yP,UserRoundCog:()=>bP,UserRoundKey:()=>xP,UserRoundMinus:()=>SP,UserRoundPen:()=>CP,UserRoundPlus:()=>TP,UserRoundSearch:()=>wP,UserRoundX:()=>EP,UserSearch:()=>OP,UserSquare:()=>sj,UserSquare2:()=>oj,UserStar:()=>kP,UserX:()=>AP,UserX2:()=>EP,Users:()=>NP,Users2:()=>jP,UsersRound:()=>jP,Utensils:()=>IP,UtensilsCrossed:()=>PP,UtilityPole:()=>FP,Van:()=>LP,Variable:()=>RP,Vault:()=>zP,VectorSquare:()=>BP,Vegan:()=>VP,VenetianMask:()=>HP,Venus:()=>WP,VenusAndMars:()=>UP,Verified:()=>cs,Vibrate:()=>KP,VibrateOff:()=>GP,Video:()=>JP,VideoOff:()=>qP,Videotape:()=>YP,View:()=>XP,Voicemail:()=>ZP,Volleyball:()=>QP,Volume:()=>rF,Volume1:()=>$P,Volume2:()=>tF,VolumeOff:()=>eF,VolumeX:()=>nF,Vote:()=>iF,Wallet:()=>sF,Wallet2:()=>oF,WalletCards:()=>aF,WalletMinimal:()=>oF,Wallpaper:()=>cF,Wand:()=>dF,Wand2:()=>uF,WandSparkles:()=>uF,Warehouse:()=>lF,WashingMachine:()=>fF,Watch:()=>pF,Waves:()=>gF,WavesArrowDown:()=>mF,WavesArrowUp:()=>hF,WavesHorizontal:()=>gF,WavesLadder:()=>_F,WavesVertical:()=>vF,Waypoints:()=>yF,Webcam:()=>xF,WebcamOff:()=>bF,Webhook:()=>CF,WebhookOff:()=>SF,Weight:()=>TF,WeightTilde:()=>wF,Wheat:()=>EF,WheatOff:()=>DF,WholeWord:()=>OF,Wifi:()=>IF,WifiCog:()=>kF,WifiHigh:()=>AF,WifiLow:()=>jF,WifiOff:()=>MF,WifiPen:()=>NF,WifiSync:()=>PF,WifiZero:()=>FF,Wind:()=>RF,WindArrowDown:()=>LF,Wine:()=>BF,WineOff:()=>zF,Workflow:()=>VF,Worm:()=>HF,WrapText:()=>VM,Wrench:()=>UF,WrenchOff:()=>WF,X:()=>KF,XCircle:()=>jf,XLineTop:()=>GF,XOctagon:()=>iw,XSquare:()=>cj,Zap:()=>JF,ZapOff:()=>qF,ZodiacAquarius:()=>YF,ZodiacAries:()=>XF,ZodiacCancer:()=>ZF,ZodiacCapricorn:()=>$F,ZodiacGemini:()=>QF,ZodiacLeo:()=>tI,ZodiacLibra:()=>eI,ZodiacOphiuchus:()=>nI,ZodiacPisces:()=>rI,ZodiacSagittarius:()=>iI,ZodiacScorpio:()=>oI,ZodiacTaurus:()=>aI,ZodiacVirgo:()=>sI,ZoomIn:()=>cI,ZoomOut:()=>lI}),dI=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`class`]),fI=Xr(``);function G(e,t){D(t,!0);let n=ma(t,`name`,3,``),r=ma(t,`class`,3,``),i=pa(t,dI);function a(e){return String(e||``).split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function o(e){return Object.entries(e).map(([e,t])=>`${e}="${String(t)}"`).join(` `)}function s([e,t,n]){let r=Array.isArray(n)?n.map(s).join(``):``;return`<${e} ${o(t||{})}>${r}`}let c=k(()=>{let e=uI[a(n())];return e?e.map(s).join(``):``});var l=fI();na(l,()=>({xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:r(),"aria-hidden":`true`,focusable:`false`,...i})),mi(l,()=>I(c),!0),E(l),z(e,l),O()}function pI(){try{return typeof localStorage>`u`?null:localStorage}catch{return null}}function mI(e,t=null){let n=pI();if(!n)return t;try{return n.getItem(e)??t}catch{return t}}function hI(e,t){let n=pI();if(n)try{n.setItem(e,String(t))}catch{}}var gI=new class{#e=A(`system`);get theme(){return I(this.#e)}set theme(e){j(this.#e,e,!0)}#t=A(0);get tick(){return I(this.#t)}set tick(e){j(this.#t,e,!0)}init(){this.theme=mI(`gomodel_theme`,`system`),this.apply(),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,()=>{this.theme===`system`&&this.tick++})}set(e){this.theme=e,hI(`gomodel_theme`,e),this.apply(),this.tick++}toggle(){let e=[`light`,`system`,`dark`];this.set(e[(e.indexOf(this.theme)+1)%e.length])}apply(){let e=document.documentElement;this.theme===`system`?e.removeAttribute(`data-theme`):e.setAttribute(`data-theme`,this.theme)}},_I=new class{#e=A(!1);get collapsed(){return I(this.#e)}set collapsed(e){j(this.#e,e,!0)}init(){this.collapsed=mI(`gomodel_sidebar_collapsed`)===`true`}toggle(){this.collapsed=!this.collapsed,hI(`gomodel_sidebar_collapsed`,this.collapsed)}},vI=new class{#e=A(M([]));get stack(){return I(this.#e)}set stack(e){j(this.#e,e,!0)}#t=1;opened(){let e=this.#t++;return this.stack=[...this.stack,e],e}closed(e){this.stack=this.stack.filter(t=>t!==e)}isTop(e){return this.stack.length>0&&this.stack[this.stack.length-1]===e}get openCount(){return this.stack.length}get anyOpen(){return this.stack.length>0}},yI=R(``),bI=R(`
        `,1);function xI(e,t){D(t,!0);let n=ma(t,`compact`,3,!1),r=[{value:`light`,icon:`sun`,label:`Light theme`},{value:`system`,icon:`monitor`,label:`System theme`},{value:`dark`,icon:`moon`,label:`Dark theme`}],i=k(()=>r.find(e=>e.value===gI.theme)||r[1]),a=k(()=>`Change theme (currently `+I(i).label+`)`);var o=bI(),s=Sn(o);let c;H(s,21,()=>r,e=>e.value,(e,t)=>{var n=yI();let r;G(N(n),{get name(){return I(t).icon},class:`theme-icon`}),E(n),F(()=>{r=U(n,1,`theme-btn svelte-1keql7b`,null,r,{active:gI.theme===I(t).value}),W(n,`aria-pressed`,gI.theme===I(t).value),W(n,`title`,I(t).label),W(n,`aria-label`,I(t).label)}),L(`click`,n,()=>gI.set(I(t).value)),z(e,n)}),E(s);var l=P(s,2);let u;G(N(l),{get name(){return I(i).icon},class:`theme-icon`}),E(l),F(()=>{c=U(s,1,`theme-toggle svelte-1keql7b`,null,c,{"is-compact":n()}),u=U(l,1,`theme-toggle-mobile svelte-1keql7b`,null,u,{"is-compact":n()}),W(l,`title`,I(a)),W(l,`aria-label`,I(a))}),L(`click`,l,()=>gI.toggle()),z(e,o),O()}Hr([`click`]);function SI(){return typeof window>`u`?`/`:window.GOMODEL_BASE_PATH||`/`}function CI(e){let t=SI();return!e||e.charAt(0)!==`/`||e.indexOf(`//`)===0||t===`/`||e===t||e.indexOf(t+`/`)===0?e:t+e}function wI(e){let t=SI();return t===`/`||!e?e:e===t?`/`:e.indexOf(t+`/`)===0?e.slice(t.length)||`/`:e}function TI(){return typeof window>`u`?``:window.GOMODEL_VERSION||``}function EI(){return typeof window>`u`?!1:window.GOMODEL_DEMO_MODE===!0}var DI=[`overview`,`usage`,`budgets`,`rate-limits`,`models`,`workflows`,`audit-logs`,`guardrails`,`mcp-servers`,`providers-config`,`auth-keys`,`settings`];function OI(e){return e.startsWith(`/admin/static/`)?`/`+e.slice(14).replace(/^\/+/,``):e}function kI(e){let t=OI(wI(e)).replace(/\/$/,``).replace(`/admin/dashboard`,``).replace(/^\//,``).split(`/`),n=t[0];n===`audit`&&(n=`audit-logs`);let r=t[1]||null;return n===`settings`&&r===`guardrails`?{page:`guardrails`,sub:null}:(n=DI.includes(n)?n:`overview`,{page:n,sub:r})}var AI=new class{#e=A(`overview`);get page(){return I(this.#e)}set page(e){j(this.#e,e,!0)}#t=A(null);get sub(){return I(this.#t)}set sub(e){j(this.#t,e,!0)}init(){let{page:e,sub:t}=kI(window.location.pathname);this.page=e,this.sub=t,window.addEventListener(`popstate`,()=>{let{page:e,sub:t}=kI(window.location.pathname);this.page=e,this.sub=t})}navigate(e,t=null){let n=t?`/`+t:``;history.pushState(null,``,CI(`/admin/dashboard/`+e+n)),this.page=e,this.sub=t}},jI=`gomodel_api_key`;function MI(e){let t=String(e||``).trim();if(/^Bearer\s*$/i.test(t))return``;let n=t.match(/^Bearer\s+(.+)$/i);return n?n[1].trim():t}var K=new class{#e=A(``);get apiKey(){return I(this.#e)}set apiKey(e){j(this.#e,e,!0)}#t=A(!1);get needsAuth(){return I(this.#t)}set needsAuth(e){j(this.#t,e,!0)}#n=A(!1);get authError(){return I(this.#n)}set authError(e){j(this.#n,e,!0)}#r=A(``);get authErrorMessage(){return I(this.#r)}set authErrorMessage(e){j(this.#r,e,!0)}#i=A(!1);get dialogOpen(){return I(this.#i)}set dialogOpen(e){j(this.#i,e,!0)}#a=A(0);get generation(){return I(this.#a)}set generation(e){j(this.#a,e,!0)}#o=A(0);get refreshTick(){return I(this.#o)}set refreshTick(e){j(this.#o,e,!0)}init(){try{this.apiKey=MI(localStorage.getItem(jI)||``)}catch{this.apiKey=``}}hasApiKey(){return MI(this.apiKey)!==``}save(){this.apiKey=MI(this.apiKey);try{localStorage.setItem(jI,this.apiKey)}catch{}}openDialog(){this.dialogOpen=!0}closeDialog(){this.dialogOpen=!1}submit(){let e=MI(this.apiKey);return e?(this.apiKey=e,this.save(),this.generation++,this.authError=!1,this.authErrorMessage=``,this.needsAuth=!1,this.closeDialog(),this.refresh(),!0):(this.apiKey=``,this.authError=!0,this.authErrorMessage=``,this.needsAuth=!0,this.openDialog(),!1)}refresh(){this.refreshTick++}handleUnauthorized(e,t=``){return typeof e==`number`&&e{r[e.type]=e.value}),r.year+`-`+r.month+`-`+r.day}formatTimestampInTimeZone(e,t){if(e==null)return`-`;let n=new Date(e);if(Number.isNaN(n.getTime()))return`-`;let r=RI(`en-CA`,{timeZone:zI(t)?t:NI,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(n),i={};return r.forEach(e=>{i[e.type]=e.value}),i.year+`-`+i.month+`-`+i.day+` `+i.hour+`:`+i.minute+`:`+i.second}formatTimestamp(e){return this.formatTimestampInTimeZone(e,this.effectiveTimezone())}currentDateKey(e){return this.dateKeyInTimeZone(e||new Date,this.effectiveTimezone())}dateKeyToDate(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}dateToDateKey(e){return!(e instanceof Date)||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+LI(e.getUTCMonth()+1)+`-`+LI(e.getUTCDate())}addDaysToDateKey(e,t){let n=this.dateKeyToDate(e);return n?(n.setUTCDate(n.getUTCDate()+t),this.dateToDateKey(n)):``}todayDate(){return this.dateKeyToDate(this.currentDateKey())}startOfMonthDate(e){let t=e instanceof Date?e:this.todayDate();return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1))}timeZoneOffsetLabel(e,t){let n=zI(e)?e:NI;try{let e=RI(`en-US`,{timeZone:n,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`,timeZoneName:`longOffset`}).formatToParts(t||new Date).find(e=>e.type===`timeZoneName`);if(!e||!e.value)return`UTC+00:00`;let r=e.value.replace(`GMT`,`UTC`);return r===`UTC`?`UTC+00:00`:r}catch{return`UTC+00:00`}}timeZoneOffsetMinutes(e,t){let n=/^UTC([+-])(\d{2}):(\d{2})$/.exec(this.timeZoneOffsetLabel(e,t));if(!n)return 0;let r=Number(n[2])*60+Number(n[3]);return n[1]===`-`?-r:r}timeZoneOptionLabel(e,t){return e+` (`+this.timeZoneOffsetLabel(e,t)+`)`}detectedTimeZoneLabel(){return this.timeZoneOptionLabel(this.detectedTimezone)}effectiveTimeZoneLabel(){return this.timeZoneOptionLabel(this.effectiveTimezone())}ensureOptions(){if(this.optionsLoaded)return;let e=new Date,t=[];try{typeof Intl.supportedValuesOf==`function`&&(t=Intl.supportedValuesOf(`timeZone`))}catch{t=[]}[NI,this.detectedTimezone,this.override].forEach(e=>{e&&t.indexOf(e)===-1&&zI(e)&&t.push(e)}),t=t.filter(e=>zI(e)),t.sort((t,n)=>{let r=this.timeZoneOffsetMinutes(t,e)-this.timeZoneOffsetMinutes(n,e);return r===0?t.localeCompare(n):r}),this.options=t.map(t=>({value:t,label:this.timeZoneOptionLabel(t,e)})),this.optionsLoaded=!0}saveOverride(){let e=pI();if(e)if(this.override&&zI(this.override))try{e.setItem(PI,this.override)}catch{}else{try{e.removeItem(PI)}catch{}this.override=``}this.optionsLoaded=!1,this.ensureOptions()}clearOverride(){let e=pI();if(e)try{e.removeItem(PI)}catch{}this.override=``}calendarTimeZoneText(){let e=this.override?`manual override`:`auto-detected`;return`Activity grouped by `+this.effectiveTimeZoneLabel()+` (`+e+`)`}};function UI(e,t){let n=e&&typeof e==`object`&&e.error&&e.error.message;return(typeof n==`string`?n.trim():``)||t}function WI(e,t){let n=e&&e.data;if(n&&typeof n==`object`){let e=[n.message,n.error,n.error&&typeof n.error==`object`?n.error.message:null];for(let t of e)if(typeof t==`string`&&t.trim())return t.trim()}return t}function GI(){let e={"Content-Type":`application/json`},t=MI(K.apiKey);return t&&(e.Authorization=`Bearer `+t),e[`X-GoModel-Timezone`]=HI.effectiveTimezone(),e}function KI(e,t={}){return fetch(CI(e),{...t,headers:{...GI(),...t.headers||{}}})}async function qI(e,t,{label:n=e,parse:r=!0}={}){let i=K.generation,a=await KI(e,t);if(a.status===401)return K.handleUnauthorized(i),{ok:!1,stale:i{this.#n=null}),this.#n}async ensureLoaded(){if(this.#n){await this.#n;return}this.loaded||await this.fetch()}async#r(){let e=typeof AbortController==`function`?new AbortController:null,t=e?setTimeout(()=>e.abort(),1e4):null;try{let t=await JI(`/admin/runtime/config`,{label:`dashboard config`,signal:e?e.signal:void 0});if(t.stale)return;if(!t.ok){this.config={},this.loaded=!1;return}let n=t.data,r={};for(let e of ZI)n&&typeof n==`object`&&!Array.isArray(n)&&n[e]!==void 0&&n[e]!==null&&(r[e]=String(n[e]).trim());this.config=r,this.loaded=!0}catch(e){console.error(`Failed to fetch dashboard config:`,e),this.config={},this.loaded=!1}finally{t!==null&&clearTimeout(t)}}},$I=R(` `),eL=R(`
        `),tL=R(` `,1);function nL(e,t){D(t,!0);let n=k(()=>[{page:`overview`,label:`Overview`,icon:`layout-dashboard`},{page:`providers-config`,label:`Providers`,icon:`server-cog`},{page:`models`,label:`Models`,icon:`box`},{page:`audit-logs`,label:`Audit Logs`,icon:`history`},{page:`usage`,label:`Usage`,icon:`chart-column`},{page:`budgets`,label:`Budgets`,icon:`wallet`,visible:QI.budgetsVisible()},{page:`rate-limits`,label:`Rate Limits`,icon:`gauge`,visible:QI.rateLimitsVisible()},{page:`auth-keys`,label:`API Keys`,icon:`key-round`},{page:`workflows`,label:`Workflows`,icon:`workflow`},{page:`guardrails`,label:`Guardrails (experimental)`,icon:`shield-check`,visible:QI.guardrailsVisible()},{page:`mcp-servers`,label:`MCP Servers`,icon:`plug`,visible:QI.mcpVisible()},{page:`settings`,label:`Settings`,icon:`settings`}].filter(e=>e.visible!==!1));var r=tL(),i=Sn(r);let a;var o=P(N(i),2);H(o,21,()=>I(n),e=>e.page,(e,t)=>{var n=$I();let r;var i=N(n);G(i,{get name(){return I(t).icon},class:`nav-icon`});var a=P(i,2),o=N(a,!0);E(a),E(n),F(e=>{W(n,`href`,e),r=U(n,1,`nav-item svelte-1nwtzae`,null,r,{active:AI.page===I(t).page}),W(n,`title`,I(t).label),B(o,I(t).label)},[()=>CI(`/admin/dashboard/`+I(t).page)]),L(`click`,n,e=>{e.preventDefault(),AI.navigate(I(t).page)}),z(e,n)}),E(o);var s=P(o,2),c=N(s);xI(c,{get compact(){return _I.collapsed}});var l=P(c,2),u=e=>{var t=eL(),n=N(t),r=N(n);G(r,{name:`lock-keyhole`,class:`api-key-open-icon`});var i=P(r,2),a=N(i,!0);E(i),E(n),E(t),F(()=>{W(n,`aria-label`,K.needsAuth?`Enter API key`:`Change API key`),B(a,K.needsAuth?`Enter API key`:`Change API key`)}),L(`click`,n,()=>K.openDialog()),z(e,t)},d=k(()=>K.needsAuth||K.hasApiKey());V(l,e=>{I(d)&&e(u)}),E(s),E(i);var f=P(i,2);let p;F(()=>{a=U(i,1,`sidebar svelte-1nwtzae`,null,a,{"sidebar-collapsed":_I.collapsed}),p=U(f,1,`sidebar-toggle svelte-1nwtzae`,null,p,{collapsed:_I.collapsed}),W(f,`title`,_I.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-label`,_I.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-expanded`,!_I.collapsed)}),L(`click`,f,()=>_I.toggle()),z(e,r),O()}Hr([`click`]);var rL=R(``);function iL(e,t){D(t,!0);let n=ma(t,`label`,3,`Close`),r=ma(t,`class`,3,``),i=ma(t,`iconClass`,3,`table-icon-svg`),a=ma(t,`disabled`,3,!1),o=ma(t,`el`,15,null);var s=rL();G(N(s),{name:`x`,get class(){return i()}}),E(s),da(s,e=>o(e),()=>o()),F(()=>{U(s,1,`dialog-close-btn ${r()??``}`,`svelte-11l1bb5`),W(s,`aria-label`,n()),s.disabled=a()}),L(`click`,s,function(...e){t.onclick?.apply(this,e)}),z(e,s),O()}Hr([`click`]);var aL=R(`
        `,1);function oL(e,t){D(t,!0);let n=ma(t,`open`,3,!1),r=ma(t,`variant`,3,`editor`),i=ma(t,`closeOnBackdrop`,3,!0),a=k(()=>r()===`auth`?`auth-dialog-backdrop`:`editor-modal-backdrop`),o=k(()=>r()===`auth`?`auth-dialog-shell`:`editor-modal-shell`),s=A(null);Mn(()=>{if(!n())return;let e=Or(()=>vI.opened());Tr().then(()=>{let e=I(s)&&I(s).querySelector(`[data-modal-autofocus]`);e&&typeof e.focus==`function`&&e.focus()});let r=n=>{n.key===`Escape`&&vI.isTop(e)&&t.onclose?.()};return window.addEventListener(`keydown`,r),()=>{vI.closed(e),window.removeEventListener(`keydown`,r)}});function c(e){i()&&e.target===I(s)&&t.onclose?.()}var l=Qr(),u=Sn(l),d=e=>{var n=aL(),r=Sn(n),i=P(r,2);hi(N(i),()=>t.children??m),E(i),da(i,e=>j(s,e),()=>I(s)),F(()=>{U(r,1,Ai(I(a)),`svelte-17e0w4c`),U(i,1,Ai(I(o)),`svelte-17e0w4c`)}),L(`click`,i,c),z(e,n)};V(u,e=>{n()&&e(d)}),z(e,l),O()}Hr([`click`]);var sL=R(``),cL=R(``);function lL(e,t){D(t,!0),oL(e,{get open(){return K.dialogOpen},variant:`auth`,onclose:()=>K.closeDialog(),children:(e,t)=>{var n=cL(),r=N(n),i=N(r),a=N(i),o=N(a,!0);E(a),E(i),iL(P(i,2),{label:`Close authentication dialog`,onclick:()=>K.closeDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var s=P(r,2),c=N(s),l=N(c);G(l,{name:`lock-keyhole`,class:`auth-dialog-input-icon`});var u=P(l,2);Zi(u),E(c);var d=P(c,2),f=e=>{var t=sL(),n=N(t,!0);E(t),F(()=>B(n,K.authErrorMessage||`Enter a valid API key to continue.`)),z(e,t)};V(d,e=>{K.authError&&e(f)});var p=P(d,4),m=N(p),h=N(m);G(h,{name:`check`,class:`auth-dialog-submit-icon`});var g=P(h,2),_=N(g,!0);E(g),E(m),E(p),E(s),E(n),F(()=>{B(o,K.needsAuth?`Dashboard locked`:`Change API key`),B(_,K.needsAuth?`Unlock dashboard`:`Save API key`)}),Vr(`submit`,s,e=>{e.preventDefault(),K.submit()}),oa(u,()=>K.apiKey,e=>K.apiKey=e),z(e,n)},$$slots:{default:!0}}),O()}function uL(){return{open:!1,title:``,titleId:`typedConfirmationDialogTitle`,inputId:`typed-confirmation-input`,message:``,requiredText:``,value:``,confirmLabel:`Confirm`,icon:`triangle-alert`,dialogClass:``,loading:!1,onConfirm:null,onClose:null}}var dL=new class{#e=A(M(uL()));get state(){return I(this.#e)}set state(e){j(this.#e,e,!0)}#t=A(``);get error(){return I(this.#t)}set error(e){j(this.#t,e,!0)}open(e){this.error=``,this.state={...uL(),open:!0,...e||{}}}close(){let e=this.state;typeof e.onClose==`function`&&e.onClose(),this.state=uL(),this.error=``}ready(){return String(this.state.value||``).trim().toLowerCase()===String(this.state.requiredText||``).trim().toLowerCase()}inputLabel(){return`Type `+String(this.state.requiredText||``).trim()+` to confirm`}async submit(){if(!this.ready()){this.error=this.inputLabel()+`.`;return}if(typeof this.state.onConfirm==`function`){this.state.loading=!0;try{await this.state.onConfirm()}finally{this.state.loading=!1}}}},fL=R(`

        `),pL=R(``),mL=R(`

        `);function hL(e,t){D(t,!0);let n=k(()=>dL.state);oL(e,{get open(){return I(n).open},variant:`auth`,onclose:()=>dL.close(),children:(e,t)=>{var r=mL(),i=N(r),a=N(i),o=N(a,!0);E(a),iL(P(a,2),{label:`Close confirmation dialog`,onclick:()=>dL.close(),class:`auth-dialog-close`,iconClass:``}),E(i);var s=P(i,2),c=N(s),l=e=>{var t=fL(),r=N(t,!0);E(t),F(()=>B(r,I(n).message)),z(e,t)};V(c,e=>{I(n).message&&e(l)});var u=P(c,2),d=N(u),f=N(d,!0);E(d);var p=P(d,2);Zi(p),E(u);var m=P(u,2),h=e=>{var t=pL(),n=N(t,!0);E(t),F(()=>B(n,dL.error)),z(e,t)};V(m,e=>{dL.error&&e(h)});var g=P(m,2),_=N(g),v=P(_,2),y=N(v);G(y,{get name(){return I(n).icon},class:`form-action-icon`});var b=P(y,2),x=N(b,!0);E(b),E(v),E(g),E(s),E(r),F((e,t)=>{U(r,1,`auth-dialog ${I(n).dialogClass??``}`),W(r,`aria-labelledby`,I(n).titleId),W(a,`id`,I(n).titleId),B(o,I(n).title),W(d,`for`,I(n).inputId),B(f,e),W(p,`id`,I(n).inputId),v.disabled=t,B(x,I(n).confirmLabel)},[()=>dL.inputLabel(),()=>I(n).loading||!dL.ready()]),Vr(`submit`,s,e=>{e.preventDefault(),dL.submit()}),oa(p,()=>dL.state.value,e=>dL.state.value=e),L(`click`,_,()=>dL.close()),z(e,r)},$$slots:{default:!0}}),O()}Hr([`click`]);var gL=e=>e;function _L(e){let t=e-1;return t*t*t+1}function vL(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function yL(e,{delay:t=0,duration:n=400,easing:r=gL}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function bL(e,{delay:t=0,duration:n=400,easing:r=_L,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=vL(i),[p,m]=vL(a);return{delay:t,duration:n,easing:r,css:(e,t)=>` + transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m}); + opacity: ${c-u*t}`}}function xL(e){return--e*e*(2.70158*e+1.70158)+1}var SL=5e3,CL=8e3,q=new class{#e=A(M([]));get toasts(){return I(this.#e)}set toasts(e){j(this.#e,e,!0)}#t=0;#n=new Map;success(e){this.#r(`success`,e,SL)}error(e){this.#r(`error`,e,CL)}dismiss(e){let t=this.#n.get(e);t&&(clearTimeout(t),this.#n.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}#r(e,t,n){let r=String(t||``).trim();if(!r)return;let i=this.toasts.find(t=>t.kind===e&&t.text===r);i&&this.dismiss(i.id);let a=++this.#t;this.toasts=[...this.toasts,{id:a,kind:e,text:r}],this.#n.set(a,setTimeout(()=>this.dismiss(a),n))}},wL=R(`
        `),TL=R(`
        `);function EL(e,t){D(t,!0);var n=TL();H(n,21,()=>q.toasts,e=>e.id,(e,t)=>{var n=wL();let r;var i=N(n),a=N(i,!0);E(i);var o=P(i,2);E(n),F(()=>{r=U(n,1,`flash-toast svelte-1i257xg`,null,r,{"flash-toast-success":I(t).kind===`success`,"flash-toast-error":I(t).kind===`error`}),W(n,`role`,I(t).kind===`error`?`alert`:`status`),W(n,`aria-live`,I(t).kind===`error`?`assertive`:`polite`),B(a,I(t).text)}),L(`click`,o,()=>q.dismiss(I(t).id)),Ti(1,n,()=>bL,()=>({y:-24,duration:360,easing:xL})),Ti(2,n,()=>yL,()=>({duration:150})),z(e,n)}),E(n),z(e,n),O()}Hr([`click`]);var DL=R(``);function OL(e,t){D(t,!0);var n=Qr(),r=Sn(n),i=e=>{z(e,DL())},a=k(()=>EI());V(r,e=>{I(a)&&e(i)}),z(e,n),O()}var kL=new class{#e=A(M([]));get models(){return I(this.#e)}set models(e){j(this.#e,e,!0)}#t=A(M([]));get categories(){return I(this.#t)}set categories(e){j(this.#t,e,!0)}#n=A(`all`);get activeCategory(){return I(this.#n)}set activeCategory(e){j(this.#n,e,!0)}#r=A(``);get filter(){return I(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(!0);get loading(){return I(this.#i)}set loading(e){j(this.#i,e,!0)}#a=null;async fetchModels(){this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=`/admin/models`;this.activeCategory&&this.activeCategory!==`all`&&(t+=`?category=`+encodeURIComponent(this.activeCategory));let n=await JI(t,{label:`models`,signal:e.signal});if(n.stale||e.signal.aborted)return;this.models=n.ok&&Array.isArray(n.data)?n.data:[]}catch(e){if(XI(e))return;console.error(`Failed to fetch models:`,e),this.models=[]}finally{this.#a===e&&(this.#a=null,this.loading=!1)}}async fetchCategories(){try{let e=await JI(`/admin/models/categories`,{label:`categories`});if(e.stale)return;this.categories=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch categories:`,e),this.categories=[]}}selectCategory(e){this.activeCategory=e,this.filter=``,this.fetchModels()}categoryCount(e){let t=this.categories.find(t=>t.category===e);return t?t.count:0}get filteredModels(){if(!this.filter)return this.models;let e=this.filter.toLowerCase();return this.models.filter(t=>(t.model?.id??``).toLowerCase().includes(e)||(t.provider_name??``).toLowerCase().includes(e)||(t.provider_type??``).toLowerCase().includes(e)||(t.selector??``).toLowerCase().includes(e)||(t.model?.owned_by??``).toLowerCase().includes(e)||(t.model?.metadata?.modes??[]).join(`,`).toLowerCase().includes(e)||(t.model?.metadata?.categories??[]).join(`,`).toLowerCase().includes(e))}},AL=R(``);function jL(e,t){D(t,!0);var n=Qr(),r=Sn(n),i=e=>{var t=AL(),n=P(N(t),2);E(t),L(`click`,n,()=>K.openDialog()),z(e,t)};V(r,e=>{K.authError&&e(i)}),z(e,n),O()}Hr([`click`]);function ML(e){return String(e||``).split(`,`).map(e=>e.trim()).filter(e=>e)}function NL(e){return e==null||e===void 0?`-`:e.toLocaleString()}function PL(e){if(e==null)return`---`;let t=Number(e);return Number.isFinite(t)?t>0&&t<1e-4?`<$0.0001`:`$`+t.toFixed(4).replace(/(\.\d{2}\d*?)0+$/,`$1`):`---`}function FL(e){return e==null||e===void 0?`—`:`$`+e.toFixed(2)}function IL(e){return e==null||e===void 0?`—`:e<.01?`$`+e.toFixed(6):`$`+e.toFixed(4)}function LL(e){if(e==null||e===``)return`-`;let t=Number(e);if(!Number.isFinite(t))return`-`;let n=Math.abs(t),r=[{threshold:1e9,suffix:`B`},{threshold:1e6,suffix:`M`},{threshold:1e3,suffix:`K`}];for(let e=0;e=i.threshold){let n=t/i.threshold;return Math.abs(Number(n.toFixed(1)))>=1e3&&e>0&&(i=r[e-1],n=t/i.threshold),n.toFixed(1).replace(/\.0$/,``)+i.suffix}}return String(t)}function RL(e,t){let n=t==null||t===``?NaN:Number(t),r=Number.isFinite(n)?NL(n):`-`;return String(e||`Tokens`)+`: `+r}function zL(e){return e?typeof e==`string`?e:e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`):``}function BL(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)}function VL(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)+` `+String(t.getUTCHours()).padStart(2,`0`)+`:`+String(t.getUTCMinutes()).padStart(2,`0`)+`:`+String(t.getUTCSeconds()).padStart(2,`0`)+` UTC`}function HL(e){return String(e&&e.provider||``).trim()}function UL(e){return String(e&&e.provider_name||``).trim()||HL(e)}function WL(e,t){let n=String(t||``).trim();if(!n)return`-`;let r=UL(e);return!r||n===r||n.startsWith(r+`/`)?n:r+`/`+n}function GL(e){return WL(e,e&&e.model)}function KL(e){return WL(e,e&&e.resolved_model)}function qL(e){let t=String(e&&(e.requested_model||e.model)||``).trim();if(!e)return t;let n=String(e.data&&e.data.failover&&e.data.failover.target_model||``).trim();if(n&&n!==t)return t+` ⮕ `+n;if(e.alias_used&&e.resolved_model){let n=KL(e);if(n&&n!==`-`&&n!==t)return t+` ⮕ `+n}return t}var JL=new class{#e=A(`30`);get days(){return I(this.#e)}set days(e){j(this.#e,e,!0)}#t=A(`30`);get selectedPreset(){return I(this.#t)}set selectedPreset(e){j(this.#t,e,!0)}#n=A(null);get customStartDate(){return I(this.#n)}set customStartDate(e){j(this.#n,e,!0)}#r=A(null);get customEndDate(){return I(this.#r)}set customEndDate(e){j(this.#r,e,!0)}#i=A(`daily`);get interval(){return I(this.#i)}set interval(e){j(this.#i,e,!0)}queryStr(){return this.customStartDate&&this.customEndDate?`start_date=`+zL(this.customStartDate)+`&end_date=`+zL(this.customEndDate):`days=`+this.days}selectPreset(e){this.selectedPreset=e,this.customStartDate=null,this.customEndDate=null,this.days=e}dateRangeLabel(){return this.selectedPreset?`Last `+this.selectedPreset+` days`:this.customStartDate&&this.customEndDate?this.formatDateShort(this.customStartDate)+` – `+this.formatDateShort(this.customEndDate):this.customStartDate?this.formatDateShort(this.customStartDate)+` – ...`:`Last 30 days`}formatDateShort(e){return[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getUTCMonth()]+` `+e.getUTCDate()+`, `+e.getUTCFullYear()}rangeStart(){return this.customStartDate?this.customStartDate:this.selectedPreset?HI.dateKeyToDate(HI.addDaysToDateKey(HI.currentDateKey(),-(parseInt(this.selectedPreset,10)-1))):null}rangeEnd(){return this.customEndDate?this.customEndDate:this.customStartDate||this.selectedPreset?HI.todayDate():null}chartTitle(){return({daily:`Daily`,weekly:`Weekly`,monthly:`Monthly`,yearly:`Yearly`}[this.interval]||`Daily`)+` Token Usage`}};function YL(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null}}function XL(){return{summary:{total_hits:0,exact_hits:0,semantic_hits:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_saved_cost:null},daily:[]}}var ZL=new class{#e=A(M(YL()));get summary(){return I(this.#e)}set summary(e){j(this.#e,e,!0)}#t=A(M([]));get daily(){return I(this.#t)}set daily(e){j(this.#t,e,!0)}#n=A(M(XL()));get cacheOverview(){return I(this.#n)}set cacheOverview(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return I(this.#r)}set loading(e){j(this.#r,e,!0)}#i=null;#a=null;cacheAnalyticsEnabled(){return QI.cacheVisible()}async fetchUsage(){this.#i&&this.#i.abort();let e=new AbortController;this.#i=e,this.loading=!0;try{let t=JL.queryStr()+`&interval=`+JL.interval,[n,r]=await Promise.all([JI(`/admin/usage/summary?`+t,{label:`usage summary`,signal:e.signal}),JI(`/admin/usage/daily?`+t,{label:`usage daily`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.summary=YL(),this.daily=[],this.cacheOverview=XL();return}this.summary=n.data||YL(),this.daily=Array.isArray(r.data)?r.data:[]}catch(e){if(XI(e))return;console.error(`Failed to fetch usage:`,e),this.summary=YL(),this.daily=[]}finally{this.#i===e&&(this.#i=null,this.loading=!1)}}async fetchCacheOverview(e=``){if(await QI.ensureLoaded(),!this.cacheAnalyticsEnabled()){this.cacheOverview=XL();return}this.#a&&this.#a.abort();let t=new AbortController;this.#a=t;try{let n=await JI(`/admin/cache/overview?`+(JL.queryStr()+`&interval=`+JL.interval+e),{label:`cache overview`,signal:t.signal});if(n.stale||t.signal.aborted)return;if(!n.ok){this.cacheOverview=XL();return}let r=n.data&&typeof n.data==`object`?n.data:XL();r.summary||=XL().summary,Array.isArray(r.daily)||(r.daily=[]),this.cacheOverview=r}catch(e){if(XI(e))return;console.error(`Failed to fetch cache overview:`,e),this.cacheOverview=XL()}finally{this.#a===t&&(this.#a=null)}}},QL=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`];function $L(e,t){let n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return QL[n.getUTCMonth()]+` `+n.getUTCFullYear()}function eR(e,t,n){let r=e.getUTCFullYear(),i=e.getUTCMonth()+t,a=new Date(Date.UTC(r,i,1)),o=new Date(Date.UTC(r,i+1,0)),s=(a.getUTCDay()+6)%7,c=[],l=new Date(Date.UTC(r,i,0));for(let e=s-1;e>=0;e--){let t=l.getUTCDate()-e,a=new Date(Date.UTC(r,i-1,t));c.push({day:t,date:a,current:!1,key:`p-`+n(a)})}for(let e=1;e<=o.getUTCDate();e++){let t=new Date(Date.UTC(r,i,e));c.push({day:e,date:t,current:!0,key:`c-`+n(t)})}let u=42-c.length;for(let e=1;e<=u;e++){let t=new Date(Date.UTC(r,i+1,e));c.push({day:e,date:t,current:!1,key:`n-`+n(t)})}return c}function tR(e,t,n){let r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return n&&r.getTime()>n.getTime()?e:r}function nR(e,t){return e.getUTCFullYear()===t.getUTCFullYear()&&e.getUTCMonth()===t.getUTCMonth()}var rR=R(``),iR=R(``),aR=R(``),oR=R(`
        MoTuWeThFrSaSu
        `);function sR(e,t){D(t,!0);let n=ma(t,`offset`,3,0),r=k(()=>eR(t.calendarMonth,n(),e=>HI.dateToDateKey(e))),i=k(()=>nR(t.calendarMonth,HI.todayDate())),a=e=>HI.dateToDateKey(e.date),o=e=>a(e)>HI.currentDateKey(),s=e=>e.current&&a(e)===HI.currentDateKey();function c(e,t){let n=t===`start`?JL.rangeStart():JL.rangeEnd();return e.current&&!!n&&a(e)===HI.dateToDateKey(n)}function l(e){let t=JL.rangeStart(),n=JL.rangeEnd();return!e.current||!t||!n?!1:a(e)>=HI.dateToDateKey(t)&&a(e)<=HI.dateToDateKey(n)}var u=oR(),d=N(u),f=N(d);let p;var m=P(f,2),h=N(m,!0);E(m);var g=P(m,2),_=e=>{z(e,rR())},v=e=>{var n=iR();F(()=>n.disabled=I(i)),L(`click`,n,function(...e){t.onnext?.apply(this,e)}),z(e,n)};V(g,e=>{n()===-1?e(_):e(v,-1)}),E(d);var y=P(d,4);H(y,21,()=>I(r),e=>e.key,(e,n)=>{var r=aR();let i;var a=N(r,!0);E(r),F((e,t)=>{i=U(r,1,`dp-day svelte-g7ga4u`,null,i,e),r.disabled=t,B(a,I(n).day)},[()=>({"other-month":!I(n).current,today:s(I(n)),"range-start":c(I(n),`start`),"range-end":c(I(n),`end`),"in-range":l(I(n)),disabled:o(I(n))}),()=>o(I(n))||!I(n).current]),L(`click`,r,()=>t.onselect?.(I(n))),z(e,r)}),E(y),E(u),F(e=>{p=U(f,1,`dp-nav-btn svelte-g7ga4u`,null,p,{"dp-nav-prev-mobile":n()!==-1}),B(h,e)},[()=>$L(t.calendarMonth,n())]),L(`click`,f,function(...e){t.onprev?.apply(this,e)}),z(e,u),O()}Hr([`click`]);var cR=R(``),lR=R(`
        `),uR=Xr(``),dR=Xr(``),fR=R(`
        `),pR=R(`
        `);function mR(e,t){D(t,!0);let n=[`3`,`7`,`14`,`30`,`90`],r=A(!1),i=A(`start`),a=A(M(new Date)),o=A(M({show:!1,x:0,y:0})),s=A(null);function c(){j(r,!I(r)),I(r)&&(j(a,HI.startOfMonthDate(JL.customEndDate||HI.todayDate()),!0),j(i,`start`))}function l(){j(r,!1),j(o,{show:!1,x:0,y:0},!0)}Mn(()=>{if(!I(r))return;let e=e=>{I(s)&&!I(s).contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`click`,e,!0),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),window.removeEventListener(`keydown`,t)}});function u(e){JL.selectPreset(e),j(i,`start`),t.onchange?.(),l()}let d=()=>j(a,tR(I(a),-1),!0),f=()=>j(a,tR(I(a),1,HI.startOfMonthDate(HI.todayDate())),!0);function p(e){let n=new Date(e.date);if(JL.selectedPreset=null,I(i)===`start`){JL.customStartDate=n,JL.customEndDate&&JL.customEndDate{var t=lR(),r=N(t);H(r,20,()=>n,e=>e,(e,t)=>{var n=cR();let r;var i=N(n);E(n),F(()=>{r=U(n,1,`preset-btn svelte-ax7ma4`,null,r,{active:JL.selectedPreset===t}),B(i,`Last ${t??``} days`)}),L(`click`,n,()=>u(t)),z(e,n)}),E(r);var i=P(r,2);H(i,20,()=>[-1,0],e=>e,(e,t)=>{sR(e,{get calendarMonth(){return I(a)},get offset(){return t},onprev:d,onnext:f,onselect:p})}),E(i),E(t),L(`mousemove`,i,e=>j(o,{show:!0,x:e.clientX,y:e.clientY},!0)),Vr(`mouseleave`,i,()=>j(o,{show:!1,x:0,y:0},!0)),z(e,t)};V(b,e=>{I(r)&&e(x)});var S=P(b,2),C=e=>{var t=fR(),n=N(t),r=e=>{z(e,uR())},a=e=>{z(e,dR())};V(n,e=>{I(i)===`start`?e(r):e(a,-1)});var s=P(n,2),c=N(s,!0);E(s),E(t),F(()=>{Li(t,`left:${I(o).x??``}px;top:${I(o).y??``}px`),B(c,I(i)===`end`?`Select end date`:`Select start date`)}),z(e,t)};V(S,e=>{I(o).show&&e(C)}),E(m),da(m,e=>j(s,e),()=>I(s)),F(e=>{B(_,e),y=U(v,0,`date-picker-chevron svelte-ax7ma4`,null,y,{open:I(r)})},[()=>JL.dateRangeLabel()]),L(`click`,h,c),z(e,m),O()}Hr([`click`,`mousemove`]);function hR(e){return e+.5|0}var gR=(e,t,n)=>Math.max(Math.min(e,n),t);function _R(e){return gR(hR(e*2.55),0,255)}function vR(e){return gR(hR(e*255),0,255)}function yR(e){return gR(hR(e/2.55)/100,0,1)}function bR(e){return gR(hR(e*100),0,100)}var xR={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},SR=[...`0123456789ABCDEF`],CR=e=>SR[e&15],wR=e=>SR[(e&240)>>4]+SR[e&15],TR=e=>(e&240)>>4==(e&15),ER=e=>TR(e.r)&&TR(e.g)&&TR(e.b)&&TR(e.a);function DR(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&xR[e[1]]*17,g:255&xR[e[2]]*17,b:255&xR[e[3]]*17,a:t===5?xR[e[4]]*17:255}:(t===7||t===9)&&(n={r:xR[e[1]]<<4|xR[e[2]],g:xR[e[3]]<<4|xR[e[4]],b:xR[e[5]]<<4|xR[e[6]],a:t===9?xR[e[7]]<<4|xR[e[8]]:255})),n}var OR=(e,t)=>e<255?t(e):``;function kR(e){var t=ER(e)?CR:wR;return e?`#`+t(e.r)+t(e.g)+t(e.b)+OR(e.a,t):void 0}var AR=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jR(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function MR(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function NR(e,t,n){let r=jR(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function PR(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=PR(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function IR(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(vR)}function LR(e,t,n){return IR(jR,e,t,n)}function RR(e,t,n){return IR(NR,e,t,n)}function zR(e,t,n){return IR(MR,e,t,n)}function BR(e){return(e%360+360)%360}function VR(e){let t=AR.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?_R(+t[5]):vR(+t[5]));let i=BR(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?RR(i,a,o):t[1]===`hsv`?zR(i,a,o):LR(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function HR(e,t){var n=FR(e);n[0]=BR(n[0]+t),n=LR(n),e.r=n[0],e.g=n[1],e.b=n[2]}function UR(e){if(!e)return;let t=FR(e),n=t[0],r=bR(t[1]),i=bR(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${yR(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var WR={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},GR={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function KR(){let e={},t=Object.keys(GR),n=Object.keys(WR),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var qR;function JR(e){qR||(qR=KR(),qR.transparent=[0,0,0,0]);let t=qR[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var YR=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function XR(e){let t=YR.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?_R(e):gR(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?_R(r):gR(r,0,255)),i=255&(t[4]?_R(i):gR(i,0,255)),a=255&(t[6]?_R(a):gR(a,0,255)),{r,g:i,b:a,a:n}}}function ZR(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${yR(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var QR=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,$R=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function ez(e,t,n){let r=$R(yR(e.r)),i=$R(yR(e.g)),a=$R(yR(e.b));return{r:vR(QR(r+n*($R(yR(t.r))-r))),g:vR(QR(i+n*($R(yR(t.g))-i))),b:vR(QR(a+n*($R(yR(t.b))-a))),a:e.a+n*(t.a-e.a)}}function tz(e,t,n){if(e){let r=FR(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=LR(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function nz(e,t){return e&&Object.assign(t||{},e)}function rz(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=vR(e[3]))):(t=nz(e,{r:0,g:0,b:0,a:1}),t.a=vR(t.a)),t}function iz(e){return e.charAt(0)===`r`?XR(e):VR(e)}var az=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=rz(t):n===`string`&&(r=DR(t)||JR(t)||iz(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=nz(this._rgb);return e&&(e.a=yR(e.a)),e}set rgb(e){this._rgb=rz(e)}rgbString(){return this._valid?ZR(this._rgb):void 0}hexString(){return this._valid?kR(this._rgb):void 0}hslString(){return this._valid?UR(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=ez(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=vR(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=hR(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return tz(this._rgb,2,e),this}darken(e){return tz(this._rgb,2,-e),this}saturate(e){return tz(this._rgb,1,e),this}desaturate(e){return tz(this._rgb,1,-e),this}rotate(e){return HR(this._rgb,e),this}};function oz(){}var sz=(()=>{let e=0;return()=>e++})();function cz(e){return e==null}function lz(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function uz(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function dz(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function fz(e,t){return dz(e)?e:t}function pz(e,t){return e===void 0?t:e}var mz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,hz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function gz(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function _z(e,t,n,r){let i,a,o;if(lz(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function Ez(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Dz(e){let t=Ez(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Oz(e,t){return(Tz[t]||(Tz[t]=Dz(t)))(e)}function kz(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Az=e=>e!==void 0,jz=e=>typeof e==`function`,Mz=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function Nz(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var Pz=Math.PI,Fz=2*Pz,Iz=Fz+Pz,Lz=1/0,Rz=Pz/180,zz=Pz/2,Bz=Pz/4,Vz=Pz*2/3,Hz=Math.log10,Uz=Math.sign;function Wz(e,t,n){return Math.abs(e-t)e-t).pop(),t}function qz(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function Jz(e){return!qz(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function Yz(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function Xz(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function cB(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var lB=(e,t,n,r)=>cB(e,n,r?r=>{let i=e[r][t];return ie[r][t]cB(e,n,r=>e[r][t]>=n);function dB(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+kz(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function mB(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(fB.forEach(t=>{delete e[t]}),delete e._chartjs)}function hB(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var gB=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function _B(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,gB.call(window,()=>{r=!1,e.apply(t,n)}))}}function vB(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var yB=e=>e===`start`?`left`:e===`end`?`right`:`center`,bB=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,xB=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function SB(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(lB(c,u,d).lo,n?r:lB(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!cz(e[s.axis]));i-=Math.max(0,e)}i=aB(i,0,r-1)}if(m){let e=Math.max(lB(c,o.axis,f,!0).hi+1,n?0:lB(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!cz(e[s.axis]));e+=Math.max(0,t)}a=aB(e,i,r)-i}else a=r-i}return{start:i,count:a}}function CB(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var wB=e=>e===0||e===1,TB=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*Fz/n)),EB=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*Fz/n)+1,DB={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zz)+1,easeOutSine:e=>Math.sin(e*zz),easeInOutSine:e=>-.5*(Math.cos(Pz*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>wB(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>wB(e)?e:TB(e,.075,.3),easeOutElastic:e=>wB(e)?e:EB(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return wB(e)?e:e<.5?.5*TB(e*2,t,n):.5+.5*EB(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-DB.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?DB.easeInBounce(e*2)*.5:DB.easeOutBounce(e*2-1)*.5+.5};function OB(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function kB(e){return OB(e)?e:new az(e)}function AB(e){return OB(e)?e:new az(e).saturate(.5).darken(.1).hexString()}var jB=[`x`,`y`,`borderWidth`,`radius`,`tension`],MB=[`color`,`borderColor`,`backgroundColor`];function NB(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:MB},numbers:{type:`number`,properties:jB}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function PB(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var FB=new Map;function IB(e,t){t||={};let n=e+JSON.stringify(t),r=FB.get(n);return r||(r=new Intl.NumberFormat(e,t),FB.set(n,r)),r}function LB(e,t,n){return IB(t,n).format(e)}var RB={values(e){return lz(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=zB(e,n)}let o=Hz(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),LB(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(Hz(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?RB.numeric.call(this,e,t,n):``}};function zB(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var BB={formatters:RB};function VB(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:BB.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var HB=Object.create(null),UB=Object.create(null);function WB(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>AB(t.backgroundColor),this.hoverBorderColor=(e,t)=>AB(t.borderColor),this.hoverColor=(e,t)=>AB(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return GB(this,e,t)}get(e){return WB(this,e)}describe(e,t){return GB(UB,e,t)}override(e,t){return GB(HB,e,t)}route(e,t,n,r){let i=WB(this,e),a=WB(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return uz(e)?Object.assign({},t,e):pz(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[NB,PB,VB]);function qB(e){return!e||cz(e.size)||cz(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function JB(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function YB(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function eV(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,aV(e,a),c=0;c+e||0;function mV(e,t){let n={},r=uz(t),i=r?Object.keys(t):t,a=uz(e)?r?n=>pz(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=pV(a(e));return n}function hV(e){return mV(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function gV(e){return mV(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function _V(e){let t=hV(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function vV(e,t){e||={},t||=KB.font;let n=pz(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=pz(e.style,t.style);r&&!(``+r).match(dV)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:pz(e.family,t.family),lineHeight:fV(pz(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:pz(e.weight,t.weight),string:``};return i.string=qB(i),i}function yV(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function xV(e,t){return Object.assign(Object.create(e),t)}function SV(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=RV(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>SV([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return DV(n,r,()=>LV(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return zV(e).includes(t)},ownKeys(e){return zV(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function CV(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:wV(e,r),setContext:t=>CV(e,t,n,r),override:i=>CV(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return DV(e,t,()=>OV(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function wV(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:jz(n)?n:()=>n,isIndexable:jz(r)?r:()=>r}}var TV=(e,t)=>e?e+kz(t):t,EV=(e,t)=>uz(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function DV(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function OV(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return jz(s)&&o.isScriptable(t)&&(s=kV(t,s,e,n)),lz(s)&&s.length&&(s=AV(t,s,e,o.isIndexable)),EV(t,s)&&(s=CV(s,i,a&&a[t],o)),s}function kV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),EV(e,c)&&(c=PV(i._scopes,i,e,c)),c}function AV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(uz(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=PV(r,i,e,c);t.push(CV(n,a,o&&o[e],s))}}return t}function jV(e,t,n){return jz(e)?e(t,n):e}var MV=(e,t)=>e===!0?t:typeof e==`string`?Oz(t,e):void 0;function NV(e,t,n,r,i){for(let a of t){let t=MV(n,a);if(t){e.add(t);let a=jV(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function PV(e,t,n,r){let i=t._rootScopes,a=jV(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=FV(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=FV(s,o,a,c,r),c===null)?!1:SV(Array.from(s),[``],i,a,()=>IV(t,n,r))}function FV(e,t,n,r,i){for(;n;)n=NV(e,t,n,r,i);return n}function IV(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return lz(i)&&uz(n)?n:i||{}}function LV(e,t,n,r){let i;for(let a of t)if(i=RV(TV(a,e),n),i!==void 0)return EV(e,i)?PV(n,r,e,i):i}function RV(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function zV(e){let t=e._keys;return t||=e._keys=BV(e._scopes),t}function BV(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function VV(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function GV(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=tB(a,i),c=tB(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function KV(e,t,n){let r=e.length,i,a,o,s,c,l=UV(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)JV(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function nH(e,t){return tH(e).getPropertyValue(t)}var rH=[`top`,`right`,`bottom`,`left`];function iH(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=rH[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var aH=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function oH(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(aH(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function sH(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=tH(n),a=i.boxSizing===`border-box`,o=iH(i,`padding`),s=iH(i,`border`,`width`),{x:c,y:l,box:u}=oH(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function cH(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&$V(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=tH(a),s=iH(o,`border`,`width`),c=iH(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=eH(o.maxWidth,a,`clientWidth`),i=eH(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||Lz,maxHeight:i||Lz}}var lH=e=>Math.round(e*10)/10;function uH(e,t,n,r){let i=tH(e),a=iH(i,`margin`),o=eH(i.maxWidth,e,`clientWidth`)||Lz,s=eH(i.maxHeight,e,`clientHeight`)||Lz,c=cH(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=iH(i,`border`,`width`),t=iH(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=lH(Math.min(l,o,c.maxWidth)),u=lH(Math.min(u,s,c.maxHeight)),l&&!u&&(u=lH(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=lH(Math.floor(u*r))),{width:l,height:u}}function dH(e,t,n){let r=t||1,i=lH(e.height*r),a=lH(e.width*r);e.height=lH(e.height),e.width=lH(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var fH=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};QV()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function pH(e,t){let n=nH(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function mH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function hH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function gH(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=mH(e,i,n),s=mH(i,a,n),c=mH(a,t,n);return mH(mH(o,s,n),mH(s,c,n),n)}var _H=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},vH=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function yH(e,t,n){return e?_H(t,n):vH()}function bH(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function xH(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function SH(e){return e===`angle`?{between:iB,compare:nB,normalize:rB}:{between:sB,compare:(e,t)=>e-t,normalize:e=>e}}function CH({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function wH(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=SH(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(CH({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(CH({start:g,end:d,loop:f,count:o,style:p})),m}function EH(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function OH(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function kH(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=DH(n,i,a,r);return r===!0?AH(e,[{start:o,end:s,loop:a}],n,t):AH(e,OH(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,gB.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},RH=`transparent`,zH={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=kB(e||RH),i=r.valid&&kB(t||RH);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},BH=class{constructor(e,t,n,r){let i=t[n];r=yV([e.to,r,i,e.from]);let a=yV([e.from,i,r]);this._active=!0,this._fn=e.fn||zH[e.type||typeof a],this._easing=DB[e.easing]||DB.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=yV([e.to,t,r,e.from]),this._from=yV([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!uz(i))return;let a={};for(let e of t)a[e]=i[e];(lz(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=UH(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&HH(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new BH(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return LH.add(this._chart,n),!0}};function HH(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function tU(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=ZH(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function rU(e,t){return xV(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function iU(e,t,n){return xV(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function aU(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var oU=e=>e===`reset`||e===`none`,sU=(e,t)=>t?e:Object.assign({},e),cU=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:qH(n,!0),values:null},lU=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=XH(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&aU(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=pz(n.xAxisID,nU(e,`x`)),a=t.yAxisID=pz(n.yAxisID,nU(e,`y`)),o=t.rAxisID=pz(n.rAxisID,nU(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&mB(this._data,this),e._stacked&&aU(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(uz(t)){let e=this._cachedMeta;this._data=YH(t,e)}else if(n!==t){if(n){mB(n,this);let e=this._cachedMeta;aU(e),e._parsed=[]}t&&Object.isExtensible(t)&&pB(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=XH(t.vScale,t),t.stack!==n.stack&&(r=!0,aU(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(tU(this,t._parsed),t._stacked=XH(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length||n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=lz(r[e])?this.parseArrayData(n,r,e,t):uz(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(sU(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new VH(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||oU(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){oU(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!oU(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function dU(e){let t=e.iScale,n=uU(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Az(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function hU(e,t,n,r){return lz(e)?mU(e,t,n,r):t[n.axis]=n.parse(e,r),t}function gU(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):Uz(e)}function yU(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(cz(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[pz(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;diB(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>iB(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p(zz,u,f),_=m(Pz,l,d),v=m(Pz+zz,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var OU=class extends lU{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(uz(n[e])){let{key:e=`value`}=this._parsing;i=t=>+Oz(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*Fz:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=LB(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=cz(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},AU=class extends lU{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=LB(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return VV.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*Pz,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?Zz(this.resolveDataElementOptions(e,t).angle||n):0}},jU=Object.freeze({__proto__:null,BarController:TU,BubbleController:EU,DoughnutController:OU,LineController:kU,PieController:class extends OU{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:AU,RadarController:class extends lU{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return VV.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function MU(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var NU={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return MU()}parse(){return MU()}format(){return MU()}add(){return MU()}diff(){return MU()}startOf(){return MU()}endOf(){return MU()}}};function PU(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?uB:lB;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!cz(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!cz(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function FU(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var HU={evaluateInteractionItems:FU,modes:{index(e,t,n,r){let i=sH(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?LU(e,i,a,r,o):BU(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=sH(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?LU(e,i,a,r,o):BU(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function GU(e,t){return e.filter(e=>UU.indexOf(e.pos)===-1&&e.box.axis===t)}function KU(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function qU(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=KU(WU(t,`left`),!0),i=KU(WU(t,`right`)),a=KU(WU(t,`top`),!0),o=KU(WU(t,`bottom`)),s=GU(t,`x`),c=GU(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:WU(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function ZU(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function QU(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function $U(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!uz(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&QU(o,a.getPadding());let s=Math.max(0,t.outerWidth-ZU(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-ZU(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function eW(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function tW(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function nW(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);QU(f,_V(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=YU(c.concat(l),d);nW(s.fullSize,p,d,m),nW(c,p,d,m),nW(l,p,d,m)&&nW(c,p,d,m),eW(p),iW(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,iW(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},_z(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},oW=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},sW=class extends oW{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},cW=`$chartjs`,lW={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},uW=e=>e===null||e===``;function dW(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[cW]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,uW(i)){let t=pH(e,`width`);t!==void 0&&(e.width=t)}if(uW(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=pH(e,`height`);t!==void 0&&(e.height=t)}return e}var fW=fH?{passive:!0}:!1;function pW(e,t,n){e&&e.addEventListener(t,n,fW)}function mW(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,fW)}function hW(e,t){let n=lW[e.type]||e.type,{x:r,y:i}=sH(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function gW(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function _W(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=gW(n.addedNodes,r),t&&=!gW(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function vW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=gW(n.removedNodes,r),t&&=!gW(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var yW=new Map,bW=0;function xW(){let e=window.devicePixelRatio;e!==bW&&(bW=e,yW.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function SW(e,t){yW.size||window.addEventListener(`resize`,xW),yW.set(e,t)}function CW(e){yW.delete(e),yW.size||window.removeEventListener(`resize`,xW)}function wW(e,t,n){let r=e.canvas,i=r&&$V(r);if(!i)return;let a=_B((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),SW(e,a),o}function TW(e,t,n){n&&n.disconnect(),t===`resize`&&CW(e)}function EW(e,t,n){let r=e.canvas,i=_B(t=>{e.ctx!==null&&n(hW(t,e))},e);return pW(r,t,i),i}var DW=class extends oW{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(dW(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[cW])return!1;let n=t[cW].initial;[`height`,`width`].forEach(e=>{let r=n[e];cz(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[cW],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:_W,detach:vW,resize:wW}[t]||EW)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:TW,detach:TW,resize:TW}[t]||mW)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return uH(e,t,n,r)}isAttached(e){let t=e&&$V(e);return!!(t&&t.isConnected)}};function OW(e){return!QV()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?sW:DW}var kW=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return Jz(this.x)&&Jz(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function AW(e,t){let n=e.options.ticks,r=jW(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?NW(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return PW(t,l,a,o/i),l;let u=MW(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(FW(t,l,u,cz(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function NW(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,RW=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,zW=(e,t)=>Math.min(t||e,e);function BW(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function HW(e,t){_z(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:fz(t,fz(n,t)),max:fz(n,fz(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){gz(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=bV(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=aB(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-UW(e.grid)-t.padding-WW(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=Qz(Math.min(Math.asin(aB((l.highest.height+6)/o,-1,1)),Math.asin(aB(s/c,-1,1))-Math.asin(aB(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){gz(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){gz(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=WW(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=UW(i)+a):(e.height=this.maxHeight,e.width=UW(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=Zz(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){gz(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return oB(this._alignToPixels?XB(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=UW(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return XB(n,e,p)},g,_,v,y,b,x,S,C,w,T,ee,te;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,te=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,te=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,ee=e.right;else if(a===`right`)g=h(this.left),w=e.left,ee=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(uz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,te=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(uz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,ee=e.right}let ne=pz(r.ticks.maxTicksLimit,l),re=Math.max(1,Math.ceil(l/ne));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:te,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ne,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-Zz(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);KB.route(a,i,c,s)})}function $W(e){return`id`in e&&`defaults`in e}var eG=new class{constructor(){this.controllers=new XW(lU,`datasets`,!0),this.elements=new XW(kW,`elements`),this.plugins=new XW(Object,`plugins`),this.scales=new XW(YW,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):_z(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=kz(e);gz(n[`before`+r],[],n),t[e](n),gz(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function nG(e){let t={},n=[],r=Object.keys(eG.plugins.items);for(let e=0;e1&&lG(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function fG(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function pG(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return fG(e,`x`,n[0])||fG(e,`y`,n[0])}return{}}function mG(e,t){let n=HB[e.type]||{scales:{}},r=t.scales||{},i=oG(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!uz(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=dG(t,o,pG(t,e),KB.scales[o.type]),c=cG(s,i),l=n.scales||{};a[t]=Cz(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||oG(i,t),s=(HB[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=sG(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Cz(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Cz(t,[KB.scales[t.type],KB.scale])}),a}function hG(e){let t=e.options||={};t.plugins=pz(t.plugins,{}),t.scales=mG(e,t)}function gG(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function _G(e){return e||={},e.data=gG(e.data),hG(e),e}var vG=new Map,yG=new Set;function bG(e,t){let n=vG.get(e);return n||(n=t(),vG.set(e,n),yG.add(n)),n}var xG=(e,t,n)=>{let r=Oz(t,n);r!==void 0&&e.add(r)},SG=class{constructor(e){this._config=_G(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=gG(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),hG(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return bG(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return bG(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return bG(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return bG(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>xG(s,e,t))),t.forEach(e=>xG(s,r,e)),t.forEach(e=>xG(s,HB[i]||{},e)),t.forEach(e=>xG(s,KB,e)),t.forEach(e=>xG(s,UB,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),yG.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,HB[t]||{},KB.datasets[t]||{},{type:t},KB,UB]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=CG(this._resolverCache,e,r),s=a;if(TG(a,t)){i.$shared=!1,n=jz(n)?n():n;let t=this.createResolver(e,n,o);s=CV(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=CG(this._resolverCache,e,n);return uz(t)?CV(i,t,void 0,r):i}};function CG(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:SV(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var wG=e=>uz(e)&&Object.getOwnPropertyNames(e).some(t=>jz(e[t]));function TG(e,t){let{isScriptable:n,isIndexable:r}=wV(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(jz(o)||wG(o))||a&&lz(o))return!0}return!1}var EG=`4.5.1`,DG=[`top`,`bottom`,`left`,`right`,`chartArea`];function OG(e,t){return e===`top`||e===`bottom`||DG.indexOf(e)===-1&&t===`x`}function kG(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function AG(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),gz(n&&n.onComplete,[e],t)}function jG(e){let t=e.chart,n=t.options.animation;gz(n&&n.onProgress,[e],t)}function MG(e){return QV()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var NG={},PG=e=>{let t=MG(e);return Object.values(NG).filter(e=>e.canvas===t).pop()};function FG(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function IG(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var LG=class{static defaults=KB;static instances=NG;static overrides=HB;static registry=eG;static version=EG;static getChart=PG;static register(...e){eG.add(...e),RG()}static unregister(...e){eG.remove(...e),RG()}constructor(e,t){let n=this.config=new SG(t),r=MG(e),i=PG(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(OW(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=sz(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new tG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=vB(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],NG[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}LH.listen(this,`complete`,AG),LH.listen(this,`progress`,jG),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return cz(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return eG}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():dH(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return ZB(this.canvas,this.ctx),this}stop(){return LH.stop(this),this}resize(e,t){LH.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,dH(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),gz(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){_z(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=dG(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),_z(i,t=>{let i=t.options,a=i.id,o=dG(a,i),s=pz(i.type,t.dtype);(i.position===void 0||OG(i.position,o)!==OG(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(eG.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),_z(r,(e,t)=>{e||delete n[t]}),_z(n,e=>{aW.configure(this,e,e.options),aW.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(kG(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){_z(this.scales,e=>{aW.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!Mz(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)FG(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;aW.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],_z(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=IH(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&tV(t,r),e.controller.draw(),r&&nV(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return eV(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=HU.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=xV(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Az(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),LH.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};_z(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){_z(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},_z(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});vz(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=Nz(e),c=IG(e,this._lastEvent,n,s);n&&(this._lastEvent=null,gz(i.onHover,[e,o,this],this),s&&gz(i.onClick,[e,o,this],this));let l=!vz(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function RG(){return _z(LG.instances,e=>e._plugins.invalidate())}function zG(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,rB(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,rB(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*rB(r-n));if(u===`round`)e.arc(i,a,t,n-Pz/2,r+Pz/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+Pz/2)+i,c=-o*Math.sin(n+Pz/2)+a,l=o*Math.cos(r+Pz/2)+i,u=o*Math.sin(r+Pz/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function BG(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+zz,r-zz),e.closePath(),e.clip()}function VG(e){return mV(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function HG(e,t,n,r){let i=VG(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return aB(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:aB(i.innerStart,0,o),innerEnd:aB(i.innerEnd,0,o)}}function UG(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function WG(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/Pz)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=HG(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,ee=f+b,te=f+x,ne=g+b/ee,re=_-x/te;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=UG(C,T,o,s);e.arc(t.x,t.y,y,T,_+zz)}let n=UG(te,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=UG(te,re,o,s);e.arc(t.x,t.y,x,_+zz,re+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=UG(ee,ne,o,s);e.arc(t.x,t.y,b,ne+Math.PI,g-zz)}let i=UG(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=UG(S,w,o,s);e.arc(t.x,t.y,v,g-zz,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function GG(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){WG(e,t,n,r,c,i);for(let t=0;t=Pz&&p===0&&u!==`miter`&&zG(e,t,h),a||(WG(e,t,n,r,h,i),e.stroke())}var qG=class extends kW{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=eB(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=pz(l,o-a),f=iB(r,a,o)&&a!==o,p=d>=Fz||f,m=sB(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>Fz?Math.floor(n/Fz):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min(Pz,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,GG(e,this,s,i,a),KG(e,this,s,i,a),e.restore()}};function JG(e,t,n=t){e.lineCap=pz(n.borderCapStyle,t.borderCapStyle),e.setLineDash(pz(n.borderDash,t.borderDash)),e.lineDashOffset=pz(n.borderDashOffset,t.borderDashOffset),e.lineJoin=pz(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=pz(n.borderWidth,t.borderWidth),e.strokeStyle=pz(n.borderColor,t.borderColor)}function YG(e,t,n){e.lineTo(n.x,n.y)}function XG(e){return e.stepped?rV:e.tension||e.cubicInterpolationMode===`monotone`?iV:YG}function ZG(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function eK(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?$G:QG}function tK(e){return e.stepped?hH:e.tension||e.cubicInterpolationMode===`monotone`?gH:mH}function nK(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),JG(e,t.options),e.stroke(i)}function rK(e,t,n,r){let{segments:i,options:a}=t,o=eK(t);for(let s of i)JG(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var iK=typeof Path2D==`function`;function aK(e,t,n,r){iK&&!t.options.segment?nK(e,t,n,r):rK(e,t,n,r)}var oK=class extends kW{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;ZV(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=kH(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=EH(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=tK(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function xK(e){return yK[e%yK.length]}function SK(e){return bK[e%bK.length]}function CK(e,t){return e.borderColor=xK(t),e.backgroundColor=SK(t),++t}function wK(e,t){return e.backgroundColor=e.data.map(()=>xK(t++)),t}function TK(e,t){return e.backgroundColor=e.data.map(()=>SK(t++)),t}function EK(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof OU?t=wK(n,t):i instanceof AU?t=TK(n,t):i&&(t=CK(n,t))}}function DK(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function OK(e){return e&&(e.borderColor||e.backgroundColor)}function kK(){return KB.borderColor!==`rgba(0,0,0,0.1)`||KB.backgroundColor!==`rgba(0,0,0,0.1)`}var AK={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=DK(r)||OK(i)||a&&DK(a)||kK();if(!n.forceOverride&&o)return;let s=EK(e);r.forEach(s)}};function jK(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function MK(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!cz(d)&&!cz(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function NK(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function PK(e){e.data.datasets.forEach(e=>{NK(e)})}function FK(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=aB(lB(t,a.axis,o).lo,0,n-1)),i=l?aB(lB(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var IK={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){PK(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(yV([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=FK(s,c);if(d<=(n.threshold||4*r)){NK(t);return}cz(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=jK(c,u,d,r,n);break;case`min-max`:f=MK(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){PK(e)}};function LK(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=BK(r,s,i);let c=RK(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=EH(t,c);for(let t of l){let r=RK(n,a[t.start],a[t.end],t.loop),s=TH(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:VK(c,r,`start`,Math.max)},end:{[n]:VK(c,r,`end`,Math.min)}})}}return o}function RK(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=rB(i),a=rB(a)),{property:e,start:i,end:a}}function zK(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=BK(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function BK(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function VK(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function HK(e,t){let n=[],r=!1;return lz(e)?(r=!0,n=e):n=zK(e,t),n.length?new oK({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function UK(e){return e&&e.fill!==!1}function WK(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!dz(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function GK(e,t,n){let r=YK(e);if(uz(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return dz(i)&&Math.floor(i)===i?KK(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function KK(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function qK(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:uz(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function JK(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:uz(e)?e.value:t.getBaseValue(),r}function YK(e){let t=e.options,n=t.fill,r=pz(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function XK(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=ZK(t,n);s.push(HK({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&oq(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;UK(n)&&oq(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!UK(r)||n.drawTime!==`beforeDatasetDraw`||oq(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},mq=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},hq=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,gq=class extends kW{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=gz(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=vV(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=mq(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=_q(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=yH(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=bB(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=bB(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=bB(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=bB(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;tV(e,this),this._draw(),nV(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=KB.color,s=yH(e.rtl,this.left,this.width),c=vV(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=mq(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=pz(n.lineWidth,1);if(r.fillStyle=pz(n.fillStyle,o),r.lineCap=pz(n.lineCap,`butt`),r.lineDashOffset=pz(n.lineDashOffset,0),r.lineJoin=pz(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=pz(n.strokeStyle,o),r.setLineDash(pz(n.lineDash,[])),a.usePointStyle){let o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},c=s.xPlus(e,p/2),l=t+d;$B(r,o,c,l,a.pointStyleWidth&&p)}else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=gV(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?lV(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){cV(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:bB(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:bB(i,this.top+y+l,this.bottom-t[0].height),line:0},bH(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=bB(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=bB(i,this.top+y+l,this.bottom-t[f.line].height));let w=s.x(S);if(g(w,C,o),S=xB(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=bq(o,e)+l}else f.y+=b}),xH(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=vV(t.font),r=_V(t.padding);if(!t.display)return;let i=yH(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=bB(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+bB(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=bB(o,u,u+d);a.textAlign=i.textAlign(yB(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,cV(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=vV(e.font),n=_V(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(sB(e,this.left,this.right)&&sB(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function yq(e,t,n){let r=e;return typeof t.text!=`string`&&(r=bq(t,n)),r}function bq(e,t){return t*(e.text?e.text.length:0)}function xq(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var Sq={id:`legend`,_element:gq,start(e,t,n){let r=e.legend=new gq({ctx:e.ctx,options:n,chart:e});aW.configure(e,r,n),aW.addBox(e,r)},stop(e){aW.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;aW.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=_V(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},Cq=class extends kW{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=lz(n.text)?n.text.length:1;this._padding=_V(n.padding);let i=r*vV(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=bB(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=bB(o,r,t),s=Pz*-.5):(l=i-e,u=bB(o,t,r),s=Pz*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=vV(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);cV(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:yB(t.align),textBaseline:`middle`,translation:[i,a]})}};function wq(e,t){let n=new Cq({ctx:e.ctx,options:t,chart:e});aW.configure(e,n,t),aW.addBox(e,n),e.titleBlock=n}var Tq={id:`title`,_element:Cq,start(e,t,n){wq(e,n)},stop(e){let t=e.titleBlock;aW.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;aW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Eq=new WeakMap,Dq={id:`subtitle`,start(e,t,n){let r=new Cq({ctx:e.ctx,options:n,chart:e});aW.configure(e,r,n),aW.addBox(e,r),Eq.set(e,r)},stop(e){aW.removeBox(e,Eq.get(e)),Eq.delete(e)},beforeUpdate(e,t,n){let r=Eq.get(e);aW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Oq={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a-1?e.split(` +`):e}function jq(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Mq(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=vV(t.bodyFont),l=vV(t.titleFont),u=vV(t.footerFont),d=a.length,f=i.length,p=r.length,m=_V(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,_z(e.title,y),n.font=c.string,_z(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,_z(r,e=>{_z(e.before,y),_z(e.lines,y),_z(e.after,y)}),v=0,n.font=u.string,_z(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Nq(e,t){let{y:n,height:r}=t;return ne.height-r/2?`bottom`:`center`}function Pq(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Fq(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Pq(l,e,t,n)&&(l=`center`),l}function Iq(e,t,n){let r=n.yAlign||t.yAlign||Nq(e,n);return{xAlign:n.xAlign||t.xAlign||Fq(e,t,n,r),yAlign:r}}function Lq(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function Rq(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function zq(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=gV(o),m=Lq(t,s),h=Rq(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:aB(m,0,r.width-t.width),y:aB(h,0,r.height-t.height)}}function Bq(e,t,n){let r=_V(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function Vq(e){return kq([],Aq(e))}function Hq(e,t,n){return xV(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function Uq(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var Wq={beforeTitle:oz,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex{let t={before:[],lines:[],after:[]},i=Uq(n,e);kq(t.before,Aq(Gq(i,`beforeLabel`,this,e))),kq(t.lines,Gq(i,`label`,this,e)),kq(t.after,Aq(Gq(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return Vq(Gq(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=Gq(n,`beforeFooter`,this,e),i=Gq(n,`footer`,this,e),a=Gq(n,`afterFooter`,this,e),o=[];return o=kq(o,Aq(r)),o=kq(o,Aq(i)),o=kq(o,Aq(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;se.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),_z(o,t=>{let n=Uq(e.callbacks,t);r.push(Gq(n,`labelColor`,this,t)),i.push(Gq(n,`labelPointStyle`,this,t)),a.push(Gq(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Oq[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Mq(this,n),o=Object.assign({},e,t),s=Iq(this.chart,n,o),c=zq(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=gV(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=yH(n.rtl,this.x,this.width);for(e.x=Bq(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=vV(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;se!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,lV(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),lV(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=vV(n.bodyFont),d=u.lineHeight,f=0,p=yH(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=Bq(this,h,n),t.fillStyle=n.bodyColor,_z(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Oq[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Mq(this,e),o=Object.assign({},n,this._size),s=Iq(t,e,o),c=zq(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=_V(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),bH(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),xH(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!vz(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!vz(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Oq[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},qq=Object.freeze({__proto__:null,Colors:AK,Decimation:IK,Filler:pq,Legend:Sq,SubTitle:Dq,Title:Tq,Tooltip:{id:`tooltip`,_element:Kq,positioners:Oq,afterInit(e,t,n){n&&(e.tooltip=new Kq({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:Wq},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]}}),Jq=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function Yq(e,t,n,r){let i=e.indexOf(t);return i===-1?Jq(e,t,n,r):i===e.lastIndexOf(t)?i:n}var Xq=(e,t)=>e===null?null:aB(Math.round(e),0,t);function Zq(e){let t=this.getLabels();return e>=0&&et.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function $q(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!cz(a),_=!cz(o),v=!cz(c),y=(h-m)/(u+1),b=Gz((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=Gz(w*b/p/f)*f),cz(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&Yz((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=Wz(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max($z(b),$z(S));x=10**(cz(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let ee=0;for(g&&(d&&S!==a?(n.push({value:a}),So)break;n.push({value:e})}return _&&d&&C!==o?n.length&&Wz(n[n.length-1].value,o,eJ(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function eJ(e,t,{horizontal:n,minRotation:r}){let i=Zz(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var tJ=class extends YW{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return cz(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=Uz(r),t=Uz(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=$q({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&Xz(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return LB(e,this.chart.options.locale,this.options.ticks.format)}},nJ=class extends tJ{static id=`linear`;static defaults={ticks:{callback:BB.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=dz(e)?e:0,this.max=dz(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=Zz(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},rJ=e=>Math.floor(Hz(e)),iJ=(e,t)=>10**(rJ(e)+t);function aJ(e){return e/10**rJ(e)==1}function oJ(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function sJ(e,t){let n=rJ(t-e);for(;oJ(e,t,n)>10;)n++;for(;oJ(e,t,n)<10;)n--;return Math.min(n,rJ(e))}function cJ(e,{min:t,max:n}){t=fz(e.min,t);let r=[],i=rJ(t),a=sJ(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=fz(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=fz(e.max,f);return r.push({value:p,major:aJ(p),significand:d}),r}var lJ=class extends YW{static id=`logarithmic`;static defaults={ticks:{callback:BB.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=tJ.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return dz(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=dz(e)?Math.max(0,e):null,this.max=dz(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!dz(this._userMin)&&(this.min=e===iJ(this.min,0)?iJ(this.min,-1):iJ(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(iJ(n,-1)),a(iJ(r,1)))),n<=0&&i(iJ(r,-1)),r<=0&&a(iJ(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=cJ({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&Xz(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:LB(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=Hz(e),this._valueRange=Hz(this.max)-Hz(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(Hz(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}};function uJ(e){let t=e.ticks;if(t.display&&e.display){let e=_V(t.backdropPadding);return pz(t.font&&t.font.size,KB.font.size)+e.height}return 0}function dJ(e,t,n){return n=lz(n)?n:[n],{w:YB(e,t.string,n),h:n.length*t.lineHeight}}function fJ(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function pJ(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?Pz/a:0;for(let c=0;ct.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function mJ(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(Qz(rB(c.angle+zz))),u=yJ(c.y,s.h,l),d=_J(l),f=vJ(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function hJ(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(eV({x:n,y:r},t)||eV({x:n,y:a},t)||eV({x:i,y:r},t)||eV({x:i,y:a},t))}function gJ(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:uJ(a)/2,additionalAngle:o?Pz/i:0},l;for(let a=0;a270||n<90)&&(e-=t),e}function bJ(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!cz(s)){let n=gV(t.borderRadius),c=_V(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),lV(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function xJ(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));bJ(n,a,t);let o=vV(a.font),{x:s,y:c,textAlign:l}=t;cV(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function SJ(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,Fz);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a{let n=gz(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?pJ(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=Fz/(this._pointLabels.length||1),n=this.options.startAngle||0;return rB(e*t+Zz(n))}getDistanceFromCenterForValue(e){if(cz(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(cz(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);CJ(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=vV(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=_V(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}cV(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}},EJ={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},DJ=Object.keys(EJ);function OJ(e,t){return e-t}function kJ(e,t){if(cz(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),dz(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(Jz(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function AJ(e,t,n,r){let i=DJ.length;for(let a=DJ.indexOf(e);a=DJ.indexOf(n);a--){let n=DJ[a];if(EJ[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return DJ[n?DJ.indexOf(n):0]}function MJ(e){for(let t=DJ.indexOf(e)+1,n=DJ.length;t=t?n[r]:n[i];e[a]=!0}}function PJ(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function FJ(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=aB(t,0,a),n=aB(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||AJ(i.minUnit,t,n,this._getLabelCapacity(t)),o=pz(r.ticks.stepSize,1),s=a===`week`&&i.isoWeekday,c=Jz(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return gz(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=lB(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=lB(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}var RJ=class extends IJ{static id=`timeseries`;static defaults=IJ.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=LJ(t,this.min),this._tableRange=LJ(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;ae-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(LJ(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return LJ(this._table,n*this._tableRange+this._minPos,!0)}},zJ=[jU,vK,qq,Object.freeze({__proto__:null,CategoryScale:Qq,LinearScale:nJ,LogarithmicScale:lJ,RadialLinearScale:TJ,TimeScale:IJ,TimeSeriesScale:RJ})];LG.register(...zJ);var BJ=LG,VJ=R(``);function HJ(e,t){D(t,!0);let n=ma(t,`class`,3,``),r=ma(t,`ariaLabel`,3,``),i=A(null),a=null;Mn(()=>{if(gI.tick,!I(i)||typeof t.build!=`function`)return;let e=t.build();if(!e){a&&=(a.destroy(),null);return}return a&&=(a.destroy(),null),a=new BJ(I(i).getContext(`2d`),e),()=>{a&&=(a.destroy(),null)}});var o=VJ();da(o,e=>j(i,e),()=>I(i)),F(()=>{U(o,1,Ai(n())),W(o,`aria-label`,r())}),z(e,o),O()}var UJ=R(``),WJ=R(`
        `);function GJ(e,t){D(t,!0);let n=ma(t,`options`,19,()=>[]),r=ma(t,`ariaLabel`,3,``),i=ma(t,`class`,3,``);var a=WJ();H(a,21,n,e=>e.value,(e,n)=>{var r=UJ();let i;var a=N(r,!0);E(r),F(()=>{i=U(r,1,`segmented-btn svelte-92fh5i`,null,i,{active:t.value===I(n).value}),W(r,`aria-pressed`,t.value===I(n).value),B(a,I(n).label)}),L(`click`,r,()=>t.onchange?.(I(n).value)),z(e,r)}),E(a),F(()=>{U(a,1,`segmented-control ${i()??``}`,`svelte-92fh5i`),W(a,`aria-label`,r())}),z(e,a),O()}Hr([`click`]);function KJ(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function qJ(){return{grid:KJ(`--chart-grid`),text:KJ(`--chart-text`),dayMarker:KJ(`--chart-day-marker`),tooltipBg:KJ(`--chart-tooltip-bg`),tooltipBorder:KJ(`--chart-tooltip-border`),tooltipText:KJ(`--chart-tooltip-text`)}}function JJ(){return{size:11,family:`'SF Mono', Menlo, Consolas, monospace`}}function YJ(e,t){return{backgroundColor:e.tooltipBg,borderColor:e.tooltipBorder,borderWidth:1,titleColor:e.tooltipText,bodyColor:e.tooltipText,callbacks:t}}function XJ(e){if(typeof document>`u`||!document.body)return e;let t=document.createElement(`span`);t.style.display=`none`,t.style.color=e,document.body.appendChild(t);let n=getComputedStyle(t).color;return document.body.removeChild(t),n||e}var ZJ=[`#c2845a`,`#7a9e7e`,`#d4a574`,`#b8a98e`,`#8b9e6b`,`#7d8a97`,`#c47a5a`,`#6b8e6b`,`#a09486`,`#9b7ea4`,`#c49a6c`];function QJ(){return[...ZJ]}function $J(e){let t=5381,n=String(e||``);for(let e=0;eLL(e)}}var nY={seconds:{apiName:`second`,windowLabel:`Last 60 seconds`,refreshMs:2e3},minutes:{apiName:`minute`,windowLabel:`Last 60 minutes`,refreshMs:5e3},hours:{apiName:`hour`,windowLabel:`Last 24 hours`,refreshMs:2e4},days:{apiName:`day`,windowLabel:`Last 30 days`,refreshMs:6e4}},rY=[{value:`seconds`,label:`Seconds`},{value:`minutes`,label:`Minutes`},{value:`hours`,label:`Hours`},{value:`days`,label:`Days`}];function iY(){return{input:0,output:0,prompt:0,local:0}}function aY(e){return String(e).padStart(2,`0`)}function oY(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:0}function sY(e,t){if(!Number.isFinite(t))return``;let n=new Date(t);switch(e){case`seconds`:return aY(n.getHours())+`:`+aY(n.getMinutes())+`:`+aY(n.getSeconds());case`minutes`:return aY(n.getHours())+`:`+aY(n.getMinutes());case`hours`:return aY(n.getHours())+`:00`;default:return aY(n.getMonth()+1)+`-`+aY(n.getDate())}}function cY(e,t){let n=[],r=[],i={input:[],output:[],prompt:[],local:[]},a=iY();for(let o of e||[]){let e=Date.parse(o&&o.start),s=oY(o&&o.input_tokens),c=oY(o&&o.output_tokens),l=oY(o&&o.prompt_cached_tokens),u=oY(o&&o.locally_cached_tokens);n.push(sY(t,e)),r.push(Number.isFinite(e)?e:null),i.input.push(s),i.output.push(c),i.prompt.push(l),i.local.push(u),a.input+=s,a.output+=c,a.prompt+=l,a.local+=u}return{labels:n,stamps:r,cols:i,totals:a}}function lY(e){let t=e||iY();return t.input+t.output+t.prompt+t.local>0}function uY(e,t){return LL(Math.max(0,Math.round(e&&e[t]||0)))}function dY(e){return(nY[e]||nY.minutes).windowLabel}function fY(e,t){return`Live token throughput, `+dY(t).toLowerCase()+`. Input `+uY(e,`input`)+`, output `+uY(e,`output`)+`, prompt cached `+uY(e,`prompt`)+`, locally cached `+uY(e,`local`)+` tokens.`}function pY(e,t,n,r){let i=e=>LL(Math.max(0,Math.round(e))),a=n.stamps,o=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderWidth:0,borderRadius:0,categoryPercentage:1,barPercentage:1,stack:`tokens`});return{type:`bar`,plugins:[{id:`liveTokensDayMarks`,afterDatasetsDraw:t=>{if(r===`days`)return;let n=t.getDatasetMeta(0),i=t.chartArea;if(!n||!n.data||!i)return;let o=t.ctx;o.save(),o.font=`10px 'SF Mono', Menlo, Consolas, monospace`;let s=null;for(let t=0;t{if(!e.length)return``;let t=a[e[0].dataIndex];if(!t)return e[0].label;let n=new Date(t);return r===`days`?n.toLocaleDateString():n.toLocaleString()},label:e=>e.dataset.label+`: `+i(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+i(t)}})}}}}var mY=900,hY=6,gY=new class{#e=A(`minutes`);get granularity(){return I(this.#e)}set granularity(e){j(this.#e,e,!0)}#t=A(M([]));get buckets(){return I(this.#t)}set buckets(e){j(this.#t,e,!0)}#n=A(!1);get active(){return I(this.#n)}set active(e){j(this.#n,e,!0)}#r=null;#i=null;#a=null;#o=0;#s=null;#c=!1;start(){this.stop(),this.active=!0,this.fetch(),this.#l(),this.#u()}stop(){this.active=!1,this.#r&&=(clearInterval(this.#r),null),this.#i&&=(clearTimeout(this.#i),null),this.#a&&=(clearTimeout(this.#a),null),this.#o=0,this.#s&&=(this.#s.abort(),null),this.buckets=[]}setGranularity(e){!nY[e]||e===this.granularity||(this.granularity=e,this.buckets=[],this.#l(),this.fetch())}#l(){this.#r&&=(clearInterval(this.#r),null);let e=nY[this.granularity]||nY.minutes;this.#r=setInterval(()=>{this.active&&this.fetch()},e.refreshMs)}noteUsageEvent(e){!this.active||e!==`usage.flushed`||(this.#i||=setTimeout(()=>{this.#i=null,this.fetch()},mY))}async fetch(){if(!this.active||this.#c)return;this.#c=!0;let e=this.granularity;try{let t=await JI(`/admin/usage/throughput?granularity=`+(nY[e]||nY.minutes).apiName,{label:`token throughput`});if(t.stale||!t.ok||this.granularity!==e)return;this.buckets=t.data&&Array.isArray(t.data.buckets)?t.data.buckets:[]}catch(e){if(XI(e))return;console.error(`Failed to fetch token throughput:`,e)}finally{this.#c=!1,this.active&&this.granularity!==e&&this.fetch()}}async#u(){await QI.ensureLoaded(),this.active&&QI.liveLogsVisible()&&(typeof ReadableStream>`u`||(this.#s&&this.#s.abort(),this.#s=new AbortController,this.#d(this.#s)))}async#d(e){try{let t=await KI(`/admin/live/logs?types=usage`,{signal:e.signal});if(!t.ok||!t.body||typeof t.body.getReader!=`function`){this.#m();return}this.#o=0,await this.#f(t.body.getReader()),this.#m()}catch(e){if(XI(e))return;console.error(`Live usage stream failed:`,e),this.#m()}}async#f(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.#p(t)}}n+=t.decode(),n.trim()&&this.#p(n)}#p(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` +`))}catch{return}if(!r||typeof r!=`object`)return;let i=String(r.type||``).trim();i.indexOf(`usage.`)===0&&this.noteUsageEvent(i)}#m(){if(!this.active||this.#a)return;let e=Math.min(this.#o+1,hY);this.#o=e;let t=Math.min(3e4,500*2**(e-1));this.#a=setTimeout(()=>{this.#a=null,this.#u()},t)}},_Y=R(`
        `),vY=R(`
        Waiting for live requests…
        `),yY=R(`

        Live Token Throughput

        `);function bY(e,t){D(t,!0);let n=k(()=>cY(gY.buckets,gY.granularity)),r=k(()=>I(n).totals);function i(){return{input:XJ(`var(--token-input)`),output:XJ(`var(--token-output)`),prompt:XJ(`var(--token-prompt)`),local:XJ(`var(--token-local)`)}}let a=[{metric:`input`,label:`Input Tokens`,colorVar:`--token-input`},{metric:`output`,label:`Output Tokens`,colorVar:`--token-output`},{metric:`prompt`,label:`Prompt (Input) Cached`,colorVar:`--token-prompt`},{metric:`local`,label:`Locally Cached`,colorVar:`--token-local`}];var o=yY(),s=N(o),c=N(s),l=P(N(c),2),u=N(l);let d;var f=P(u,2),p=N(f,!0);E(f),E(l),E(c),GJ(P(c,2),{ariaLabel:`Live token throughput granularity`,get options(){return rY},get value(){return gY.granularity},onchange:e=>gY.setGranularity(e)}),E(s);var m=P(s,2);H(m,21,()=>a,e=>e.metric,(e,t)=>{var n=_Y(),i=N(n),a=P(i,2),o=N(a,!0);E(a);var s=P(a,2),c=N(s,!0);E(s),E(n),F(e=>{Li(i,`background: var(${I(t).colorVar??``})`),B(o,I(t).label),B(c,e)},[()=>uY(I(r),I(t).metric)]),z(e,n)}),E(m);var h=P(m,2),g=N(h);{let e=k(()=>fY(I(r),gY.granularity));HJ(g,{get ariaLabel(){return I(e)},build:()=>pY(qJ(),i(),I(n),gY.granularity)})}var _=P(g,2),v=e=>{z(e,vY())},y=k(()=>!lY(I(r)));V(_,e=>{I(y)&&e(v)}),E(h),E(o),F(e=>{d=U(u,1,`live-dot`,null,d,{"is-streaming":gY.active}),B(p,e)},[()=>dY(gY.granularity)]),z(e,o),O()}function xY(e){let t=e||{};if(t.total_tokens!==null&&t.total_tokens!==void 0){let e=Number(t.total_tokens);if(Number.isFinite(e))return e}let n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function SY(e,t){if(!t)return 0;let n=e&&e.summary?e.summary:{},r=Number(n.total_hits||0);return Number.isFinite(r)&&r>0?r:0}function CY(e,t,n){let r=Number(e&&e.total_requests||0);return(Number.isFinite(r)?r:0)+SY(t,n)}function wY(e,t,n){let r=SY(t,n);return r<=0?``:NL(CY(e,t,n)-r)+` to providers + `+NL(r)+` from cache`}function TY(e){let t=e&&e.summary?e.summary:{},n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function EY(e,t,n){let r=e=>{let t=Number(e||0);return Number.isFinite(t)&&t>0?t:0},i=e||{},a=r(i.uncached_input_tokens),o=r(i.cached_input_tokens),s=r(i.cache_write_input_tokens),c=t&&t.summary?t.summary:{},l=n?r(c.total_input_tokens):0;return[{key:`uncached`,label:`Regular`,tokens:a+s,colorVar:`--cache-meter-uncached`,note:s>0?`Includes `+NL(s)+` cache-write tokens`:``},{key:`prompt`,label:`Prompt cached`,tokens:o,colorVar:`--cache-meter-prompt`,note:`Provider prompt-cache reads`},{key:`local`,label:`Locally cached`,tokens:l,colorVar:`--cache-meter-local`,note:`Served from GoModel response cache`}]}function DY(e,t,n){return EY(e,t,n).reduce((e,t)=>e+t.tokens,0)}function OY(e,t,n){return DY(e,t,n)>0}function kY(e,t,n){let r=EY(e,t,n),i=r.reduce((e,t)=>e+t.tokens,0);if(i<=0)return r.map(e=>Object.assign({},e,{pct:0}));let a=r.map(e=>{let t=e.tokens/i*100,n=Math.floor(t);return Object.assign({},e,{pct:n,remainder:t-n})}),o=100-a.reduce((e,t)=>e+t.pct,0);return a.map((e,t)=>({index:t,remainder:e.remainder,tokens:e.tokens})).filter(e=>e.tokens>0).sort((e,t)=>t.remainder-e.remainder).forEach(e=>{o>0&&(a[e.index].pct+=1,--o)}),a}function AY(e,t,n){return kY(e,t,n).filter(e=>e.tokens>0)}function jY(e){let t=[e.label+`: `+NL(e.tokens)+` input tokens (`+e.pct+`%)`];return e.note&&t.push(e.note),t.join(` +`)}function MY(e){let t=(e||[]).map(e=>e.label+` `+e.pct+`%`);return`Cache breakdown of input tokens — `+(t.length?t.join(`, `):`no data`)}function NY(e){return e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`)}function PY(e,t,n,r){if(t!==`daily`||!n||!r)return e;let i={};(e||[]).forEach(e=>{i[e.date]=e});let a=[];for(let e=new Date(n);e<=r;e.setUTCDate(e.getUTCDate()+1)){let t=NY(e);a.push(i[t]||{date:t,input_tokens:0,output_tokens:0,total_tokens:0,requests:0,input_cost:null,output_cost:null,total_cost:null})}return a}function FY(e,t){let n=e=>Number(e)||0,r=e.map(e=>e.date),i=e.map(e=>n(e.uncached_input_tokens)+n(e.cache_write_input_tokens)+n(e.cached_input_tokens)>0?n(e.uncached_input_tokens)+n(e.cache_write_input_tokens):n(e.input_tokens)),a=e.map(e=>n(e.output_tokens)),o=e.map(e=>n(e.cached_input_tokens)),s={};return(t||[]).forEach(e=>{s[e.date]=e}),{labels:r,inputPaid:i,output:a,prompt:o,local:r.map(e=>{let t=s[e];return t?n(t.input_tokens)+n(t.output_tokens):0})}}function IY(e){let t=e||{},n=Math.max(0,Number(t.uncached_input_tokens)||0),r=Math.max(0,Number(t.cached_input_tokens)||0),i=Math.max(0,Number(t.cache_write_input_tokens)||0),a=n+r+i;return a>0?r/a*100:0}function LY(e){let t=e||{};return(Number(t.uncached_input_tokens)||0)+(Number(t.cached_input_tokens)||0)+(Number(t.cache_write_input_tokens)||0)>0}function RY(e){return LY(e)?Math.round(IY(e))+`%`:`—`}function zY(e,t,n={}){let r=!!n.cacheEnabled,i=n.resolve||(e=>e),a=(e,t)=>i(`color-mix(in srgb, `+e+` `+t+`%, transparent)`),o=(e,t,n,r)=>Object.assign({label:e,data:t,borderColor:n,backgroundColor:n,fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4},r||{}),s=[o(`Input Tokens`,t.inputPaid,i(`var(--token-input)`),{fill:`origin`}),o(`Output Tokens`,t.output,i(`var(--token-output)`),{fill:`-1`}),o(`Prompt (Input) Cached`,t.prompt,i(`var(--token-prompt)`),{fill:`-1`,borderDash:[6,4]})];return r&&s.push(o(`Locally Cached`,t.local,a(`var(--info)`,35),{fill:`-1`,borderDash:[2,3]})),{type:`line`,data:{labels:t.labels,datasets:s},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:YJ(e,{label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:JJ(),maxRotation:0,autoSkip:!0,maxTicksLimit:10}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:tY(e)}}}}}function BY(e,t,n){let r=Math.max(0,Math.min(100,e));return{type:`doughnut`,data:{datasets:[{data:[r,100-r],backgroundColor:[t,n],borderWidth:0,spacing:0}]},options:{rotation:-90,circumference:180,cutout:`84%`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:1},events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1}}}}}var VY=`gomodel_provider_status_details_expanded`,HY=`gomodel_provider_card_expanded_overrides`,UY=3e3,WY=`https://gomodel.enterpilot.io/docs/providers/`,GY={anthropic:`anthropic`,azure:`azure`,bailian:`bailian`,bedrock:`bedrock`,"bedrock-mantle":`bedrock-mantle`,cohere:`cohere`,deepseek:`deepseek`,gemini:`gemini`,opencode_go:`opencode-go`,oracle:`oracle`,vertex:`vertex`,vllm:`vllm`,xiaomi:`xiaomi`};function KY(){return{summary:{total:0,healthy:0,degraded:0,unhealthy:0,overall_status:`degraded`},providers:[]}}function qY(e){let t={detailsExpanded:!1,cardOverrides:{}};try{if(e){let n=e.getItem(VY);n===`true`||n===`false`?t.detailsExpanded=n===`true`:e.setItem(VY,`false`);let r=JSON.parse(e.getItem(HY)||`{}`);r&&typeof r==`object`&&!Array.isArray(r)&&(t.cardOverrides=r)}}catch{}return t}function JY(e,t){if(e)try{e.setItem(VY,t?`true`:`false`)}catch{}}function YY(e,t){if(e)try{e.setItem(HY,JSON.stringify(t))}catch{}}function XY(e,t,n){let r=n&&n.name?String(n.name):``;return r&&Object.prototype.hasOwnProperty.call(e,r)?e[r]===!0:t}function ZY(e){return`is-`+(String(e&&e.overall_status||`degraded`).trim()||`degraded`)}function QY(e){return`is-`+(String(e||`degraded`).trim()||`degraded`)}function $Y(e){let t=e||{};return String(t.healthy||0)+`/`+String(t.total||0)}function eX(e){let t=e||{},n=Number(t.total||0),r=Number(t.healthy||0);return n>0&&rString(e&&e.status_label||``).trim().toLowerCase()===`starting`)}function rX(e){if(!e||!e.runtime)return``;let t=e.runtime.last_model_fetch_at||``,n=e.runtime.last_availability_check_at||``;return t?n&&Date.parse(n)>Date.parse(t)?n:t:n}function iX(e,t){let n=rX(e);if(!n||typeof t!=`function`)return`-`;let r=t(n);if(!r||r===`-`)return`-`;let i=String(r).split(` `);return i.length>1?i.slice(1).join(` `):r}function aX(e,t){let n=rX(e);return n?typeof t==`function`?t(n):String(n):``}function oX(e){if(!e)return``;let t=String(e.name||``).trim(),n=String(e.type||e.config&&e.config.type||``).trim();return!n||n===t?``:n}function sX(e){let t=String(e&&(e.type||e.config&&e.config.type)||``).trim().toLowerCase(),n=t?GY[t]:``;return n?WY+n+`?utm_source=gomodel_dashboard`:``}function cX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.retry:null;return t?String(t.max_retries)+` retries, `+t.initial_backoff+` initial, `+t.max_backoff+` max, factor `+t.backoff_factor+`, jitter `+t.jitter_factor:`-`}function lX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.circuit_breaker:null;return t?String(t.failure_threshold)+` fail, `+String(t.success_threshold)+` success, `+t.timeout+` timeout`:`-`}function uX(e){let t=e&&e.config&&Array.isArray(e.config.models)?e.config.models.filter(Boolean):[];return t.length===0?`Automatic`:t.join(`, `)}function dX(e){if(!e)return``;let t=[];return e.status_reason&&t.push(String(e.status_reason)),e.last_error&&t.push(`Last error: `+String(e.last_error)),t.join(` + +`)}function fX(e){let t=e&&e.request_health;return t&&typeof t==`object`?t:null}function pX(e){let t=fX(e);return t?String(t.circuit_state||``).trim():``}function mX(e){let t=pX(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}function hX(e){let t=pX(e);return t===`open`?`is-unhealthy`:t===`half-open`?`is-degraded`:`is-healthy`}function gX(e){let t=fX(e);if(!t)return``;let n=Number(t.requests||0),r=Number(t.errors||0),i=Math.round(Number(t.window_seconds||0)/60),a=i>0?`last `+i+` min`:`recent`;return String(n)+` request`+(n===1?``:`s`)+` · `+String(r)+` error`+(r===1?``:`s`)+` (`+a+`)`}function _X(e){let t=fX(e);return t&&Array.isArray(t.models)?t.models:[]}function vX(e){return e?String(Number(e.errors||0))+`/`+String(Number(e.requests||0))+` failed`:``}function yX(e){let t=e&&e.last_error;return!t||!t.message?``:(t.status_code?`HTTP `+String(t.status_code)+`: `:``)+t.message}function bX(){return{name:``,slug:``,url:``,transport:`http`,description:``,enabled:!0,headers:[],allowed_tools:``,disallowed_tools:``,user_paths:``,tool_timeout_seconds:``}}function xX(){return{server:``,status:``,instructions:``,tools:[],prompts:[],resources:[],templates:[]}}function SX(e){return String(e&&(e.slug||e.name)||``).trim()}function CX(e){return String(e&&e.status||``).trim()||`connecting`}function wX(e){switch(CX(e)){case`connected`:return`status-success`;case`degraded`:return String(e&&e.last_error||``).trim()?`status-error`:`status-warning`;case`connecting`:return`status-neutral`;default:return`status-unknown`}}function TX(e,t){let n=CX(e),r=String(e&&e.last_error||``).trim();return r&&n!==`connected`?r:n===`connected`&&e&&e.connected_at?`Connected since `+(typeof t==`function`?t:String)(e.connected_at):``}function EX(e){return String(e&&e.transport||``)===`stdio`?`local command`:String(e&&e.url||``).trim()||`—`}function DX(e){let t=Number(e&&e.prompt_count||0),n=Number(e&&e.resource_count||0);return t+` prompts · `+n+` resources`}function OX(e){let t=String(e||``).normalize(`NFKD`).toLowerCase(),n=t.replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64).replace(/-+$/g,``);if(n)return n;let r=2166136261;for(let e of t)r=Math.imul((r^e.codePointAt(0))>>>0,16777619)>>>0;return`mcp-`+r.toString(16).padStart(8,`0`)}function kX(e){return String(e||``).split(` +`).map(e=>e.trim()).filter(e=>e)}function AX(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.keys(e).sort().map(t=>({name:t,value:String(e[t]||``)}))}function jX(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=String(e&&e.name||``).trim();n&&(t[n]=String(e&&e.value||``))}),t}function MX(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.slug,e.url,e.transport,e.description,e.status].some(e=>String(e||``).toLowerCase().includes(r)))}function NX(e){return{name:String(e.name||``).trim(),slug:SX(e),url:String(e.url||``).trim(),transport:e.transport===`sse`?`sse`:`http`,description:String(e.description||``).trim(),enabled:e.enabled!==!1,headers:AX(e.headers),allowed_tools:(Array.isArray(e.allowed_tools)?e.allowed_tools:[]).join(`, `),disallowed_tools:(Array.isArray(e.disallowed_tools)?e.disallowed_tools:[]).join(`, `),user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` +`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function PX(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||OX(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:`Name is required.`};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:`Slug must use 1–64 lowercase ASCII letters, numbers, hyphens, or underscores.`};if(t===`create`&&(n||[]).some(e=>SX(e)===i))return{error:`Slug "`+i+`" is already in use.`};if(!a)return{error:`URL is required.`};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:`Tool timeout must be a non-negative whole number of seconds.`};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:jX(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:ML(e.allowed_tools),disallowed_tools:ML(e.disallowed_tools),user_paths:kX(e.user_paths),tool_timeout_seconds:s}}}function FX(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function IX(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function LX(e){let t=e||xX(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:IX(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:`Tools`,items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:`Prompts`,items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:`Resources`,items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:`Resource templates`,items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function RX(e){return LX(e).length===0}function zX(e){return(e||[]).length}function BX(e){return(e||[]).filter(e=>CX(e)===`connected`).length}function VX(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&CX(e)===`degraded`).length}function HX(e,t){return!!e&&zX(t)>0}function UX(e){return String(BX(e))+`/`+String(zX(e))}function WX(e){return VX(e)>0?`is-degraded`:`is-healthy`}function GX(e){let t=VX(e);if(t>0)return String(t)+` server`+(t===1?``:`s`)+` need`+(t===1?`s`:``)+` attention`;let n=zX(e),r=BX(e);return n>0&&r===n?`All MCP servers connected`:String(r)+` of `+String(n)+` server`+(n===1?``:`s`)+` connected`}function KX(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function qX(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function JX(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function YX(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function XX(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function ZX(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function QX(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function $X(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:QX(Number(t))}function eZ(e,t){try{let n={};return new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour)}}catch{return{year:String(e.getFullYear()),month:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()],day:String(e.getDate()),hour:e.getHours()}}}function tZ(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=eZ(r,n),a=i.month+` `+i.day;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function nZ(e,t,n,r){let i=new Date(e.start);if(Number.isNaN(i.getTime()))return String(e.start||``);if(t===`hour`)return r(e.start);let a=eZ(i,n);return a.month+` `+a.day+`, `+a.year}function rZ(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function iZ(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>tZ(e,r,i)),c=rZ(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(`Other`,t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:YJ(e,{title:e=>e.length?nZ(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:JJ(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:JJ(),precision:0,callback:e=>LL(e)}}}}}}function aZ(e=QJ()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function oZ(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||aZ();return{type:`line`,data:{labels:t.map(e=>tZ(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:YJ(e,{title:e=>e.length?nZ(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+QX(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:JJ(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:JJ(),callback:e=>QX(e)}}}}}}var sZ=class{#e=A(M(KY()));get status(){return I(this.#e)}set status(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return I(this.#t)}set loading(e){j(this.#t,e,!0)}#n=A(!1);get loadedOnce(){return I(this.#n)}set loadedOnce(e){j(this.#n,e,!0)}#r=A(!1);get detailsExpanded(){return I(this.#r)}set detailsExpanded(e){j(this.#r,e,!0)}#i=A(M({}));get cardOverrides(){return I(this.#i)}set cardOverrides(e){j(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=qY(pI());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return XY(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,YY(pI(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},JY(pI(),this.detailsExpanded),YY(pI(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?`Show Details`:`Hide Details`}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await JI(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=KY(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:KY();n.summary||=KY().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(XI(e))return;console.error(`Failed to fetch provider status:`,e),this.status=KY(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),nX(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},UY))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},cZ=class{#e=A(M(KX()));get stats(){return I(this.#e)}set stats(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return I(this.#t)}set loading(e){j(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await JI(`/admin/audit/stats?`+JL.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=KX();return}this.stats=qX(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=KX()}finally{e===this.#n&&(this.loading=!1)}}},lZ=class{#e=A(M([]));get servers(){return I(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!1);get available(){return I(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}async fetch(){if(await QI.ensureLoaded(),!QI.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await JI(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},uZ=class{#e=A(M([]));get data(){return I(this.#e)}set data(e){j(this.#e,e,!0)}#t=A(`tokens`);get mode(){return I(this.#t)}set mode(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await JI(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(XI(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},dZ=new sZ,fZ=new cZ,pZ=new lZ,mZ=new uZ,hZ=R(`
        Cache Hits
        `),gZ=R(`
        Local Cache
        i + o =
        `),_Z=R(``),vZ=R(` `),yZ=R(`
        Provider Status
        `),bZ=R(`
        MCP Servers
        `),xZ=R(`
        Tokens
        i + o =
        Total Requests
        Estimated Cost
        Prompt Cache Rate
        `);function SZ(e,t){D(t,!0);let n=k(()=>ZL.summary),r=k(()=>ZL.cacheOverview),i=k(()=>ZL.cacheAnalyticsEnabled()),a=k(()=>dZ.status.summary);function o(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var s=xZ(),c=N(s),l=P(N(c),2),u=N(l),d=N(u),f=N(d,!0);E(d),We(),E(u);var p=P(u,4),m=N(p),h=N(m,!0);E(m),We(),E(p);var g=P(p,4),_=N(g,!0);E(g),E(l),E(c);var v=P(c,2),y=P(N(v),2),b=N(y,!0);E(y),E(v);var x=P(v,2),S=e=>{var t=hZ(),n=P(N(t),2),i=N(n,!0);E(n),E(t),F(e=>B(i,e),[()=>NL(I(r).summary.total_hits)]),z(e,t)};V(x,e=>{I(i)&&e(S)});var C=P(x,2),w=P(N(C),2),T=N(w,!0);E(w),E(C);var ee=P(C,2),te=e=>{var t=gZ(),n=P(N(t),2),i=N(n),a=N(i),o=N(a,!0);E(a),We(),E(i);var s=P(i,4),c=N(s),l=N(c,!0);E(c),We(),E(s);var u=P(s,4),d=N(u,!0);E(u),E(n),E(t),F((e,t,n,r,a,c)=>{W(i,`title`,e),B(o,t),W(s,`title`,n),B(l,r),W(u,`title`,a),B(d,c)},[()=>RL(`Input tokens`,I(r).summary.total_input_tokens),()=>LL(I(r).summary.total_input_tokens),()=>RL(`Output tokens`,I(r).summary.total_output_tokens),()=>LL(I(r).summary.total_output_tokens),()=>RL(`Total tokens`,TY(I(r))),()=>LL(TY(I(r)))]),z(e,t)};V(ee,e=>{I(i)&&e(te)});var ne=P(ee,2),re=P(N(ne),2),ie=N(re);HJ(ie,{build:()=>BY(IY(I(n)),XJ(`var(--token-prompt)`),XJ(`var(--bg-surface-hover)`))});var ae=P(ie,2),oe=N(ae,!0);E(ae),E(re),E(ne);var se=P(ne,2),ce=e=>{var t=yZ(),n=P(N(t),2),r=N(n,!0);E(n);var i=P(n,2),s=e=>{var t=_Z(),n=N(t,!0);E(t),F(e=>B(n,e),[()=>tX(I(a))]),L(`click`,t,o),z(e,t)},c=k(()=>eX(I(a))),l=e=>{var t=vZ(),n=N(t,!0);E(t),F(e=>B(n,e),[()=>tX(I(a))]),z(e,t)};V(i,e=>{I(c)?e(s):e(l,-1)}),E(t),F((e,n)=>{U(t,1,`card provider-status-flag provider-status-overview-card ${e??``}`,`svelte-6tr9cf`),B(r,n)},[()=>ZY(I(a)),()=>$Y(I(a))]),z(e,t)};V(se,e=>{I(a).total>0&&e(ce)});var le=P(se,2),ue=e=>{var t=bZ(),n=P(N(t),2),r=N(n,!0);E(n);var i=P(n,2),a=N(i,!0);E(i),E(t),F((e,n,i)=>{U(t,1,`card provider-status-flag mcp-servers-flag ${e??``}`,`svelte-6tr9cf`),B(r,n),B(a,i)},[()=>WX(pZ.servers),()=>UX(pZ.servers),()=>GX(pZ.servers)]),L(`click`,i,()=>AI.navigate(`mcp-servers`)),z(e,t)},de=k(()=>HX(pZ.available,pZ.servers));V(le,e=>{I(de)&&e(ue)}),E(s),F((e,t,n,r,i,a,o,s,c,l,d)=>{W(u,`title`,e),B(f,t),W(p,`title`,n),B(h,r),W(g,`title`,i),B(_,a),W(y,`title`,o),B(b,s),B(T,c),W(re,`aria-label`,l),B(oe,d)},[()=>RL(`Input tokens`,I(n).total_input_tokens),()=>LL(I(n).total_input_tokens),()=>RL(`Output tokens`,I(n).total_output_tokens),()=>LL(I(n).total_output_tokens),()=>RL(`Total tokens`,xY(I(n))),()=>LL(xY(I(n))),()=>wY(I(n),I(r),I(i)),()=>NL(CY(I(n),I(r),I(i))),()=>PL(I(n).total_cost),()=>`Prompt cache rate `+RY(I(n)),()=>RY(I(n))]),z(e,s),O()}Hr([`click`]);var CZ=R(` `),wZ=R(`
        `),TZ=R(`No usage in the selected period yet`),EZ=R(`
        `),DZ=R(`

        Tokens

        Share of input tokens over the selected period
        `);function OZ(e,t){D(t,!0);let n=k(()=>ZL.cacheAnalyticsEnabled()),r=k(()=>kY(ZL.summary,ZL.cacheOverview,I(n))),i=k(()=>AY(ZL.summary,ZL.cacheOverview,I(n))),a=k(()=>OY(ZL.summary,ZL.cacheOverview,I(n)));var o=DZ(),s=P(N(o),2);let c;var l=N(s);H(l,17,()=>I(i),e=>e.key,(e,t)=>{var n=wZ(),r=N(n),i=e=>{var n=CZ(),r=N(n);E(n),F(()=>B(r,`${I(t).pct??``}%`)),z(e,n)};V(r,e=>{I(t).pct>=8&&e(i)}),E(n),F(e=>{Li(n,`width: ${I(t).pct??``}%; background: var(${I(t).colorVar??``})`),W(n,`title`,e)},[()=>jY(I(t))]),z(e,n)});var u=P(l,2),d=e=>{z(e,TZ())};V(u,e=>{I(a)||e(d)}),E(s);var f=P(s,2);H(f,21,()=>I(r),e=>e.key,(e,t)=>{var n=EZ(),r=N(n),i=P(r,2),a=N(i,!0);E(i);var o=P(i,2),s=N(o);E(o);var c=P(o,2),l=N(c,!0);E(c),E(n),F((e,i)=>{W(n,`title`,e),Li(r,`background: var(${I(t).colorVar??``})`),B(a,I(t).label),B(s,`${I(t).pct??``}%`),B(l,i)},[()=>jY(I(t)),()=>NL(I(t).tokens)]),z(e,n)}),E(f),E(o),F(e=>{c=U(s,1,`cache-meter-bar svelte-1yzecxj`,null,c,{"is-empty":!I(a)}),W(s,`aria-label`,e)},[()=>MY(I(i))]),z(e,o),O()}var kZ=R(``);function AZ(e,t){let n=ma(t,`size`,3,16),r=ma(t,`label`,3,`Loading`),i=ma(t,`class`,3,``);var a=kZ();F(()=>{U(a,1,`spinner ${i()??``}`,`svelte-b54l9o`),Li(a,`--spinner-size: ${n()??``}px`),W(a,`aria-label`,r())}),z(e,a)}var jZ=Xr(` `),MZ=Xr(``);function NZ(e,t){let n=ma(t,`label`,3,`No data`);var r=MZ(),i=P(N(r),9),a=e=>{var t=jZ(),r=N(t,!0);E(t),F(()=>B(r,n())),z(e,t)};V(i,e=>{n()&&e(a)}),E(r),F(()=>{W(r,`role`,n()?`img`:void 0),W(r,`aria-label`,n()||void 0),W(r,`aria-hidden`,n()?void 0:`true`)}),z(e,r)}var PZ=R(`
        `),FZ=R(`

        `);function IZ(e,t){D(t,!0);let n=[`daily`,`weekly`,`monthly`,`yearly`];function r(e){JL.interval=e,t.onintervalchange?.()}function i(){let e=ZL.daily;if(e.length===0)return null;let t=JL.rangeStart(),n=JL.rangeEnd(),r=FY(PY(e,JL.interval,t,n),PY(Array.isArray(ZL.cacheOverview.daily)?ZL.cacheOverview.daily:[],JL.interval,t,n));return zY(qJ(),r,{cacheEnabled:ZL.cacheAnalyticsEnabled(),resolve:XJ})}var a=FZ(),o=N(a),s=N(o),c=N(s,!0);E(s);var l=P(s,2);{let e=k(()=>n.map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)})));GJ(l,{ariaLabel:`Usage chart interval`,get options(){return I(e)},get value(){return JL.interval},onchange:r})}E(o);var u=P(o,2),d=N(u);HJ(d,{build:i});var f=P(d,2),p=e=>{var t=PZ();AZ(N(t),{size:24,label:`Loading usage`}),E(t),z(e,t)},m=e=>{var t=PZ();NZ(N(t),{}),E(t),z(e,t)};V(f,e=>{ZL.daily.length===0&&ZL.loading?e(p):ZL.daily.length===0&&!K.authError&&e(m,1)}),E(u),E(a),F(e=>B(c,e),[()=>JL.chartTitle()]),z(e,a),O()}var LZ=10,RZ=.7;function zZ(e){return String(e).padStart(2,`0`)}function BZ(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}function VZ(e){return!e||typeof e.getTime!=`function`||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+zZ(e.getUTCMonth()+1)+`-`+zZ(e.getUTCDate())}function HZ(e,t){let n=BZ(e);return n?(n.setUTCDate(n.getUTCDate()+t),VZ(n)):``}function UZ(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+RZ,r=Math.ceil(n*LZ);return r<1?1:r>LZ?LZ:r}function WZ(){let e=[];for(let t=0;t<=LZ;t++)e.push(t);return e}function GZ(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=BZ(HZ(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);VZ(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=VZ(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function KZ(e){let t=BZ(HZ(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=[],a={},o=0;for(let n=new Date(t);VZ(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),VZ(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r[t.getUTCMonth()],col:o,key:s}),a[s]=!0)}for(let e=0;e `),XZ=R(`
        `),ZZ=R(`
        `),QZ=R(`
        `),$Z=R(`
        `),eQ=R(`

        Activity

        Mon Wed Fri
        `,1);function tQ(e,t){D(t,!0);let n=A(M({show:!1,x:0,y:0,text:``})),r=k(()=>HI.currentDateKey()),i=k(()=>GZ(mZ.data,mZ.mode,I(r))),a=k(()=>KZ(I(r)));function o(e,t){t.empty||j(n,{show:!0,x:e.clientX,y:e.clientY,text:JZ(t,mZ.mode)},!0)}function s(){j(n,{show:!1,x:0,y:0,text:``},!0)}var c=eQ(),l=Sn(c),u=N(l),d=P(N(u),2),f=e=>{AZ(e,{size:14,label:`Loading activity`})};V(d,e=>{mZ.loading&&mZ.data.length===0&&e(f)}),GJ(P(d,2),{ariaLabel:`Activity calendar mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return mZ.mode},onchange:e=>mZ.mode=e}),E(u);var p=P(u,2),m=P(N(p),2),h=N(m);H(h,21,()=>I(a),e=>e.key,(e,t)=>{var n=YZ(),r=N(n,!0);E(n),F(()=>{Li(n,`grid-column: ${I(t).col+1} / span ${I(t).span??``}`),B(r,I(t).label)}),z(e,n)}),E(h);var g=P(h,2);H(g,21,()=>I(i),ai,(e,t,n)=>{var r=ZZ();H(r,23,()=>I(t),(e,t)=>n+`-`+t,(e,t)=>{var n=XZ();F(()=>U(n,1,`contribution-calendar-cell ${I(t).empty?`empty`:`level-`+I(t).level}`,`svelte-3hfxuq`)),Vr(`mouseenter`,n,e=>o(e,I(t))),Vr(`mouseleave`,n,s),z(e,n)}),E(r),z(e,r)}),E(g),E(m),E(p);var _=P(p,2),v=N(_),y=N(v),b=N(y,!0);E(y),E(v);var x=P(v,2);H(P(N(x),2),16,WZ,e=>e,(e,t)=>{var n=QZ();F(()=>U(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),z(e,n)}),We(2),E(x),E(_),E(l);var S=P(l,2),C=e=>{var t=$Z(),r=N(t,!0);E(t),F(()=>{Li(t,`left: ${I(n).x??``}px; top: ${I(n).y-40}px`),B(r,I(n).text)}),z(e,t)};V(S,e=>{I(n).show&&e(C)}),F(e=>B(b,e),[()=>qZ(mZ.data,mZ.mode)]),z(e,c),O()}var nQ=R(``),rQ=R(`

        `),iQ=R(`
        `);function aQ(e,t){D(t,!0);let n=ma(t,`label`,3,`help`),r=ma(t,`text`,3,``),i=ma(t,`open`,15,!1),a=ma(t,`external`,3,!1),o=k(()=>!!r()||!!t.help||a());var s=iQ(),c=N(s),l=N(c);hi(l,()=>t.title??m);var u=P(l,2),d=e=>{var r=nQ();let a;F(()=>{a=U(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),W(r,`aria-label`,(i()?`Hide `:`Show `)+n()),W(r,`aria-expanded`,i()),W(r,`aria-controls`,t.copyId)}),L(`click`,r,()=>i(!i())),z(e,r)};V(u,e=>{I(o)&&e(d)}),hi(P(u,2),()=>t.extra??m),E(c);var f=P(c,2),p=e=>{var n=rQ(),i=N(n),a=e=>{var n=Qr();hi(Sn(n),()=>t.help),z(e,n)},o=e=>{var t=Zr();F(()=>B(t,r())),z(e,t)};V(i,e=>{t.help?e(a):e(o,-1)}),E(n),F(()=>W(n,`id`,t.copyId)),z(e,n)};V(f,e=>{i()&&I(o)&&!a()&&e(p)}),E(s),z(e,s),O()}Hr([`click`]);var oQ=R(`

        Provider Latency

        `),sQ=R(`
        Avg
        `),cQ=R(`

        Requests by Status

        Success 2xx 4xx 5xx
        `,1);function lQ(e,t){D(t,!0);let n=aZ(),r=k(()=>fZ.stats);function i(){return{interval:I(r).interval,zone:HI.effectiveTimezone(),resolve:XJ,formatTimestamp:e=>HI.formatTimestamp(e)}}var a=Qr(),o=Sn(a),s=e=>{var t=cQ(),a=Sn(t),o=N(a),s=P(N(o),2),c=N(s),l=P(N(c),2),u=N(l,!0);E(l),E(c);var d=P(c,2),f=P(N(d),4),p=N(f,!0);E(f),E(d);var m=P(d,2),h=P(N(m),4),g=N(h,!0);E(h),E(m);var _=P(m,2),v=P(N(_),4),y=N(v,!0);E(v),E(_),E(s),E(o);var b=P(o,2);HJ(N(b),{build:()=>iZ(qJ(),I(r).buckets,i())}),E(b),E(a);var x=P(a,2),S=e=>{var t=sQ(),a=N(t),o=N(a);aQ(o,{copyId:`audit-latency-help-copy`,label:`provider latency help`,text:`Average duration of successful requests as measured at the gateway, per provider. Local cache hits and failed requests are excluded; streamed responses count until the stream completes.`,title:e=>{z(e,oQ())},$$slots:{title:!0}});var s=P(o,2),c=N(s),l=P(N(c),2),u=N(l,!0);E(l),E(c),E(s),E(a);var d=P(a,2);HJ(N(d),{build:()=>oZ(qJ(),I(r).buckets,I(r).provider_latency,{...i(),providerColor:n})}),E(d),E(t),F(e=>B(u,e),[()=>$X(I(r))]),z(e,t)},C=k(()=>YX(I(r)));V(x,e=>{I(C)&&e(S)}),F((e,t,n,r)=>{B(u,e),B(p,t),B(g,n),B(y,r)},[()=>XX(I(r)),()=>NL(ZX(I(r),`status_2xx`)),()=>NL(ZX(I(r),`status_4xx`)),()=>NL(ZX(I(r),`status_5xx`))]),z(e,t)},c=k(()=>JX(I(r)));V(o,e=>{I(c)&&e(s)}),z(e,a),O()}var uQ=(e,t=m,n=m,r)=>{let i=kt(()=>_(r?.(),!1));var a=pQ(),o=N(a),s=N(o,!0);E(o);var c=P(o,2),l=e=>{var t=dQ(),r=N(t,!0);E(t),F(()=>B(r,n())),z(e,t)},u=e=>{var t=fQ(),r=N(t,!0);E(t),F(()=>B(r,n())),z(e,t)};V(c,e=>{I(i)?e(l):e(u,-1)}),E(a),F(()=>B(s,t())),z(e,a)},dQ=R(` `),fQ=R(` `),pQ=R(`
        `),mQ=R(` `),hQ=R(``),gQ=R(`

        `),_Q=R(`
        Breaker State
        `),vQ=R(`
        `),yQ=R(`
        Models (Recent Traffic)
        `),bQ=R(`
        `),xQ=R(`

        Models Available
        Last Checked

        `);function SQ(e,t){D(t,!0);let n=k(()=>dZ.cardExpanded(t.provider)),r=e=>HI.formatTimestamp(e),i=k(()=>[[`Base URL`,t.provider.config?.base_url],[`API Version`,t.provider.config?.api_version]].filter(([,e])=>!!e));var a=xQ(),o=N(a),s=N(o),c=N(s),l=N(c),u=N(l,!0);E(l);var d=P(l,2),f=e=>{var n=mQ(),r=N(n);E(n),F(e=>B(r,`(${e??``})`),[()=>oX(t.provider)]),z(e,n)},p=k(()=>oX(t.provider));V(d,e=>{I(p)&&e(f)});var m=P(d,2),h=e=>{var n=hQ();F((e,t,r)=>{W(n,`href`,e),W(n,`aria-label`,t),W(n,`title`,r)},[()=>sX(t.provider),()=>`View `+(oX(t.provider)||t.provider.name)+` provider docs`,()=>`View `+(oX(t.provider)||t.provider.name)+` provider docs`]),z(e,n)},g=k(()=>sX(t.provider));V(m,e=>{I(g)&&e(h)}),E(c),E(s);var _=P(s,2),y=N(_,!0);E(_),E(o);var b=P(o,2),x=N(b),S=P(N(x),2),C=N(S,!0);E(S),E(x);var w=P(x,2),T=P(N(w),2),ee=N(T,!0);E(T),E(w),E(b);var te=P(b,2);let ne;var re=N(te),ie=N(re),ae=N(ie,!0);E(ie);var oe=P(ie,2),se=e=>{var n=gQ(),r=N(n,!0);E(n),F(()=>B(r,t.provider.last_error)),z(e,n)};V(oe,e=>{t.provider.last_error&&e(se)});var ce=P(oe,2),le=e=>{var n=bQ(),r=N(n);{let e=k(()=>gX(t.provider));uQ(r,()=>`Recent Requests`,()=>I(e))}var i=P(r,2),a=e=>{var n=_Q(),r=P(N(n),2),i=N(r),a=N(i,!0);E(i),E(r),E(n),F((e,t)=>{U(i,1,`provider-status-health-state ${e??``}`,`svelte-nopjmh`),B(a,t)},[()=>hX(t.provider),()=>mX(t.provider)]),z(e,n)},o=k(()=>pX(t.provider));V(i,e=>{I(o)&&e(a)});var s=P(i,2),c=e=>{var n=yQ(),r=P(N(n),2);H(r,21,()=>_X(t.provider),e=>e.model,(e,t)=>{var n=vQ();let r;var i=N(n),a=N(i,!0);E(i);var o=P(i,2),s=N(o,!0);E(o),E(n),F((e,i)=>{r=U(n,1,`provider-status-health-model svelte-nopjmh`,null,r,{"is-flagged":I(t).flagged}),W(n,`title`,e),B(a,I(t).model),B(s,i)},[()=>yX(I(t)),()=>vX(I(t))]),z(e,n)}),E(r),E(n),z(e,n)},l=k(()=>_X(t.provider).length>0);V(s,e=>{I(l)&&e(c)}),E(n),z(e,n)},ue=k(()=>fX(t.provider));V(ce,e=>{I(ue)&&e(le)});var de=P(ce,2),fe=N(de);H(fe,17,()=>I(i),([e,t])=>e,(e,t)=>{var n=k(()=>v(I(t),2));uQ(e,()=>I(n)[0],()=>I(n)[1],()=>!0)});var pe=P(fe,2);{let e=k(()=>uX(t.provider));uQ(pe,()=>`Configured Models`,()=>I(e))}var me=P(pe,2);{let e=k(()=>cX(t.provider));uQ(me,()=>`Retry`,()=>I(e))}var he=P(me,2);{let e=k(()=>lX(t.provider));uQ(he,()=>`Circuit Breaker`,()=>I(e))}E(de),E(re),E(te);var ge=P(te,2);let _e;G(N(ge),{name:`chevron-down`,class:`provider-status-card-toggle-icon`}),E(ge),E(a),F((e,r,i,a,o)=>{B(u,t.provider.name),U(_,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),W(_,`title`,r),B(y,t.provider.status_label),B(C,i),W(T,`title`,a),B(ee,o),ne=U(te,1,`provider-status-details svelte-nopjmh`,null,ne,{"is-expanded":I(n),"is-collapsed":!I(n)}),W(te,`aria-hidden`,!I(n)),B(ae,t.provider.status_reason),_e=U(ge,1,`provider-status-card-toggle svelte-nopjmh`,null,_e,{"is-expanded":I(n)}),W(ge,`aria-expanded`,I(n)),W(ge,`aria-label`,(I(n)?`Collapse `:`Expand `)+t.provider.name+` details`),W(ge,`title`,I(n)?`Collapse details`:`Expand details`)},[()=>QY(t.provider.status),()=>dX(t.provider),()=>NL(t.provider.runtime?.discovered_model_count),()=>aX(t.provider,r),()=>iX(t.provider,r)]),L(`click`,ge,()=>dZ.toggleCard(t.provider)),z(e,a),O()}Hr([`click`]);var CQ=R(`

        Providers Overview

        `),wQ=R(`
        `);function TQ(e,t){D(t,!0);let n=k(()=>dZ.status.providers);var r=Qr(),i=Sn(r),a=e=>{var t=CQ(),r=N(t),i=P(N(r),2),a=N(i),o=N(a,!0);E(a);var s=P(a,2);let c;E(i),E(r);var l=P(r,2);H(l,21,()=>I(n),e=>e.name,(e,t)=>{SQ(e,{get provider(){return I(t)}})}),E(l),E(t),F((e,t)=>{W(i,`aria-checked`,dZ.detailsExpanded),W(i,`title`,e),B(o,t),c=U(s,1,`provider-status-toggle-track svelte-1kx3uw4`,null,c,{"is-active":dZ.detailsExpanded})},[()=>dZ.detailsToggleLabel(),()=>dZ.detailsToggleLabel()]),L(`click`,i,()=>dZ.toggleDetails()),z(e,t)},o=e=>{var t=wQ();AZ(N(t),{size:18,label:`Loading provider status`}),E(t),z(e,t)};V(i,e=>{I(n).length>0?e(a):dZ.loading&&!dZ.loadedOnce&&e(o,1)}),z(e,r),O()}Hr([`click`]);var EQ=R(`
        `);function DQ(e,t){D(t,!0);function n(){ZL.fetchUsage(),ZL.fetchCacheOverview(``),fZ.fetch(),dZ.fetch(),pZ.fetch(),mZ.fetch()}function r(){ZL.fetchUsage(),ZL.fetchCacheOverview(``),fZ.fetch()}function i(){r(),mZ.fetch()}Mn(()=>{if(K.refreshTick,AI.page===`overview`)return Or(()=>{n(),gY.start()}),()=>{gY.stop(),dZ.stopPolling()}});var a=EQ(),o=N(a);bY(o,{});var s=P(o,4);mR(N(s),{onchange:i}),E(s);var c=P(s,2);jL(c,{});var l=P(c,2);SZ(l,{});var u=P(l,2);OZ(u,{});var d=P(u,2);IZ(d,{onintervalchange:r});var f=P(d,2);tQ(f,{});var p=P(f,2);lQ(p,{}),TQ(P(p,2),{}),E(a),z(e,a),O()}var OQ=`/admin/live/logs?types=audit,usage`;function kQ(e,t,n){return!!t&&String(e&&e.id||``).trim()===t||!!n&&String(e&&e.request_id||``).trim()===n}function AQ(e){let t=OQ,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function jQ(){return{async consumeLiveLogsBody(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.handleLiveLogsFrame(t)}}n+=t.decode(),n.trim()&&this.handleLiveLogsFrame(n)},handleLiveLogsFrame(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` +`))}catch{return}this.applyLiveLogEvent(r)},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLiveInsertAllowed(){return this.auditLog&&this.auditLog.offset===0&&!this.auditSearch&&!this.auditMethod&&!this.auditStatusCode&&!this.auditStream&&!this.customStartDate&&!this.customEndDate},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=String(e.request_id||``).trim(),i=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],a=i.findIndex(e=>kQ(e,n,r)),o=a>=0&&i[a]||{};if(t===`audit.detail`){let t={...e,_detail_loaded:!0,_response_partial:!1,bodies_omitted:!1};if(a>=0){let e=this.mergeLiveAuditPatch(o,t);return i.splice(a,1,e),this.auditLog.entries=[...i],this.regroupLiveAuditHead(e),this.notifyLiveConversation(e),e}let n=this.mergeLiveAuditChild(e,t);return n?(this.notifyLiveConversation(n),n):this.auditLiveInsertAllowed()?(this.auditLog.entries=[this.mergeLiveAuditUsagePatch(t),...i].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1,this.auditLog.entries[0]):void 0}let s=this.liveAuditStateAfter(o._live_state,t),c=this.liveAuditEventFlushed(o._live_state)||this.liveAuditEventFlushed(s),l={...e,_live:!0,_live_state:s,_audit_flushed:c};if(c?l._live_pending=!1:l._live_pending=!0,t===`audit.stream`?l._response_partial=!0:this.liveAuditStateSettled(t)&&(l._response_partial=!1),a>=0){let e=this.mergeLiveAuditPatch(o,l);return i.splice(a,1,e),this.auditLog.entries=[...i],this.regroupLiveAuditHead(e),this.fetchExpandedAuditDetailIfReady(e),this.notifyLiveConversation(e),e}let u=this.mergeLiveAuditChild(e,l);if(u)return this.fetchExpandedAuditDetailIfReady(u),this.notifyLiveConversation(u),u;if(!this.auditLiveInsertAllowed())return;if(this.auditGroupSessions){let e=this.foldLiveAuditIntoThread(l);if(e)return this.fetchExpandedAuditDetailIfReady(e),this.notifyLiveConversation(e),e}this.auditLog.entries=[this.mergeLiveAuditUsagePatch(l),...i].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let d=this.auditLog.entries[0];return this.fetchExpandedAuditDetailIfReady(d),this.notifyLiveConversation(d),d},mergeLiveAuditChild(e,t){let n=this.auditThreadChildren;if(!n||typeof n!=`object`)return null;let r=String(e.id||``).trim(),i=String(e.request_id||``).trim(),a=Object.keys(n);for(let e=0;ekQ(e,r,i));if(c<0)continue;let l=this.mergeLiveAuditPatch(s[c]||{},t),u=[...s];return u.splice(c,1,l),this.auditThreadChildren={...n,[a[e]]:{...o,entries:u}},l}return null},regroupLiveAuditHead(e){if(!this.auditGroupSessions)return null;let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=String(e.id||``).trim(),i=n.findIndex(e=>String(e.id||``).trim()===r);if(i<0)return null;let a=n.findIndex((e,n)=>n!==i&&String(e.session_id||``).trim()===t);if(a<0)return null;let o=n[a],s=Date.parse(o&&o.timestamp),c=Date.parse(e&&e.timestamp),l=Number.isFinite(s)&&Number.isFinite(c)&&s>c,u=l?o:e,d=l?e:o,f={...u,session_count:Math.max(1,Number(o.session_count||1))+Math.max(1,Number(e.session_count||1))},p=n.filter((e,t)=>t!==i&&t!==a);return p.unshift(f),this.auditLog.entries=p,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-1),this.prependLiveAuditThreadChild(t,d),f},foldLiveAuditIntoThread(e){let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(e=>String(e.session_id||``).trim()===t);if(r<0)return null;let i=n[r],a=Number(i.session_count),o=this.mergeLiveAuditUsagePatch({...e,session_count:(Number.isFinite(a)&&a>0?a:1)+1}),s=[...n];return s.splice(r,1),s.unshift(o),this.auditLog.entries=s,this.prependLiveAuditThreadChild(t,i),o},prependLiveAuditThreadChild(e,t){let n=this.auditThreadChildren,r=n&&n[e];if(!r||!Array.isArray(r.entries))return;let i={...t};delete i.session_count,this.auditThreadChildren={...n,[e]:{...r,entries:[i,...r.entries],total:Number(r.total||r.entries.length)+1}}},removeLiveAuditThreadChild(e,t){let n=this.auditThreadChildren;!n||typeof n!=`object`||Object.keys(n).forEach(r=>{let i=n[r],a=i&&Array.isArray(i.entries)?i.entries:[],o=a.filter(n=>!kQ(n,e,t)),s=a.length-o.length;s!==0&&(this.auditThreadChildren={...this.auditThreadChildren,[r]:{...i,entries:o,total:Math.max(0,Number(i.total||a.length)-s)}},this.decrementLiveAuditThreadCount(r,s))})},decrementLiveAuditThreadCount(e,t){let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(t=>String(t.session_id||``).trim()===e);if(r<0)return;let i=n[r],a=[...n];a.splice(r,1,{...i,session_count:Math.max(1,Number(i.session_count||1)-t)}),this.auditLog.entries=a},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},notifyLiveConversation(e){e&&typeof this.refreshLiveConversation==`function`&&this.refreshLiveConversation(e)},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries,i=[],a=0,o=0,s=!1;r.forEach(e=>{if(!kQ(e,t,n)){i.push(e);return}a++;let r=String(e.session_id||``).trim(),c=Math.max(1,Number(e.session_count||1));if(!this.auditGroupSessions||!r||c<=1)return;o++;let l=this.auditThreadChildren&&this.auditThreadChildren[r],u=l&&Array.isArray(l.entries)?l.entries.filter(e=>!kQ(e,t,n)):[];if(u.length===0){s=!0;return}let d={...u[0],session_id:r,session_count:c-1};i.push(d),this.auditThreadChildren={...this.auditThreadChildren,[r]:{...l,entries:u.slice(1),total:Math.max(0,Number(l.total||c)-1)}}}),a>0&&(this.auditLog.entries=i,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-a+o)),this.removeLiveAuditThreadChild(t,n),s&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n>=0){let t=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(t,e)),this.auditLog.entries=[...this.auditLog.entries]}let r=this.auditThreadChildren;if(!r||typeof r!=`object`)return;let i=r,a=!1;Object.keys(r).forEach(n=>{let r=i[n],o=r&&Array.isArray(r.entries)?r.entries:[],s=o.findIndex(e=>String(e.request_id||``).trim()===t);if(s<0)return;let c=[...o];c.splice(s,1,this.auditEntryWithLiveUsage(o[s],e)),i={...i,[n]:{...r,entries:c}},a=!0}),a&&(this.auditThreadChildren=i)},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)||e.bodies_omitted?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var MQ=class{#e=A(M({entries:[],total:0,limit:25,offset:0}));get auditLog(){return I(this.#e)}set auditLog(e){j(this.#e,e,!0)}#t=A(M({entries:[],total:0,limit:50,offset:0}));get usageLog(){return I(this.#t)}set usageLog(e){j(this.#t,e,!0)}#n=A(``);get auditSearch(){return I(this.#n)}set auditSearch(e){j(this.#n,e,!0)}#r=A(``);get auditMethod(){return I(this.#r)}set auditMethod(e){j(this.#r,e,!0)}#i=A(``);get auditStatusCode(){return I(this.#i)}set auditStatusCode(e){j(this.#i,e,!0)}#a=A(``);get auditStream(){return I(this.#a)}set auditStream(e){j(this.#a,e,!0)}#o=A(mI(`gomodel_audit_group_sessions`,`true`)!==`false`);get auditGroupSessions(){return I(this.#o)}set auditGroupSessions(e){j(this.#o,e,!0)}#s=A(M({}));get auditThreadChildren(){return I(this.#s)}set auditThreadChildren(e){j(this.#s,e,!0)}#c=A(``);get usageLogSearch(){return I(this.#c)}set usageLogSearch(e){j(this.#c,e,!0)}#l=A(``);get usageFilterModel(){return I(this.#l)}set usageFilterModel(e){j(this.#l,e,!0)}#u=A(``);get usageFilterProvider(){return I(this.#u)}set usageFilterProvider(e){j(this.#u,e,!0)}#d=A(``);get usageFilterLabel(){return I(this.#d)}set usageFilterLabel(e){j(this.#d,e,!0)}#f=A(``);get usageFilterUserPath(){return I(this.#f)}set usageFilterUserPath(e){j(this.#f,e,!0)}#p=A(!1);get usageLogHideCached(){return I(this.#p)}set usageLogHideCached(e){j(this.#p,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;refreshLiveConversation=null;noteLiveTokenUsage=null;get page(){return AI.page}get customStartDate(){return JL.customStartDate}get customEndDate(){return JL.customEndDate}liveLogsEnabled(){return QI.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await QI.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=AQ(this.liveLogsLastSeq),r=K.generation;try{let e=await KI(n,t);if(e.status===401){if(K.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await JI(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(MQ.prototype,jQ());var NQ=new MQ,PQ=null;Pn(()=>{Mn(()=>{let e=K.refreshTick;if(PQ===null){PQ=e;return}e!==PQ&&(PQ=e,Or(()=>{NQ.stopLiveLogs(),NQ.startLiveLogs()}))})});function FQ(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function IQ(){return{entries:[],total:0,limit:50,offset:0}}function LQ(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function RQ({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function zQ(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function BQ(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function VQ(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function HQ(e,t,n){let r=BQ(e,t);return r<=0?``:n?NL(r)+` cached requests hidden`:NL(Number(e&&e.total_requests||0))+` to providers + `+NL(r)+` from cache`}function UQ(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:PL(t.total_input_cost)+` input + `+PL(t.total_output_cost)+` output`}function WQ(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function GQ(e){return WQ(e)>0}function KQ(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function qQ(e,t){return t===`costs`?PL(KQ(e)):LL(WQ(e))}function JQ(e,t){let n=t===`costs`,r=n?Number(KQ(e)):WQ(e);if(!Number.isFinite(r)||r<=0)return null;let i=e&&(n?e.total_cost:e.total_tokens);if(i==null)return null;let a=Number(i);return!Number.isFinite(a)||a<0?null:r/(a+r)*100}function YQ(e,t){let n=JQ(e,t);return n===null?``:(n<.1?`<0.1`:n.toFixed(1))+`% less`}function XQ(e,t){let n=WQ(e);if(n<=0)return``;let r=[NL(n)+` prompt tokens removed by request rewriters before reaching providers`],i=KQ(e);i!=null&&r.push(PL(i)+` saved at the requests' input pricing`);let a=YQ(e,t);return a&&r.push(a+` than the same traffic without rewriting (`+(t===`costs`?`cost`:`tokens`)+`)`),r.join(` +`)}function ZQ(e){return String(e&&e.cost_source||``).trim()}function QQ(e){let t=ZQ(e);return t===`openrouter_credits`||t===`xai_cost_in_usd_ticks`}function $Q(e){switch(ZQ(e)){case`openrouter_credits`:return`Costs from OpenRouter USD-based credits.`;case`xai_cost_in_usd_ticks`:return`Costs from xAI usage.cost_in_usd_ticks.`;default:return``}}function e$(e){return String(e&&e.cache_type||``).trim().toLowerCase()}function t$(e){let t=e$(e);return t===`exact`||t===`semantic`}function n$(e){let t=e$(e);return t===`exact`?`Exact`:t===`semantic`?`Semantic`:`-`}function r$(e,t){let n=t?String(t):``;return t$(e)?n?`Saved by cache — not charged +`+n:`Saved by cache — not charged`:n}function i$(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function a$(e){return Number(e&&e.cached_input_tokens||0)>0}function o$(e){return a$(e)?(i$(e)*100).toFixed(1)+`%`:``}function s$(e){if(!a$(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[NL(t)+` cached / `+NL(i)+` input tokens`];return r>0&&a.push(NL(r)+` cache write`),a.join(` +`)}function c$(e){let t=[];if($Q(e)&&(t.push($Q(e)),t.push(``)),t.push(`Input: `+PL(e.input_cost)),t.push(`Output: `+PL(e.output_cost)),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):NL(r);t.push(e+`: `+i)}}return t.join(` +`)}function l$(e){return Array.isArray(e&&e.labels)?e.labels:[]}function u$(e,t,n){return(e||[]).length>0||t?!0:(n||[]).some(e=>l$(e).length>0)}function d$(e){return e&&typeof e.total_tokens==`number`?e.total_tokens:(e&&e.input_tokens||0)+(e&&e.output_tokens||0)}function f$(e,t){return t?e.total_cost||0:d$(e)}function p$(e,t){return[...e||[]].sort((e,n)=>t?(n.total_cost||0)-(e.total_cost||0):f$(n,t)-f$(e,t))}function m$(e){let t=Array.isArray(e)?e:[];if(t.length===0)return!1;if(t.length!==1)return!0;let n=String(t[0]&&t[0].user_path||``).trim();return n!==``&&n!==`/`}function h$(e){return(e||`chart`)===`chart`||e===`stacked`}function g$(e,t,n){let r=p$(e,n),i=e=>Number(e)||0,a=e=>n?Math.min(i(e.cached_input_cost),i(e.input_cost)):i(e.cached_input_tokens),o=e=>n?i(e.input_cost)-a(e):i(e.uncached_input_tokens)+i(e.cached_input_tokens)+i(e.cache_write_input_tokens)>0?i(e.uncached_input_tokens)+i(e.cache_write_input_tokens):i(e.input_tokens),s=e=>i(n?e.output_cost:e.output_tokens),c=e=>n?0:i(e.local_cached_input_tokens),l=e=>n?0:i(e.local_cached_output_tokens),u=r.slice(0,10),d=r.slice(10),f=u.map(t),p=u.map(o),m=u.map(s),h=u.map(a),g=u.map(c),_=u.map(l);if(d.length>0){f.push(`Other`);let e=e=>d.reduce((t,n)=>t+e(n),0);p.push(e(o)),m.push(e(s)),h.push(e(a)),g.push(e(c)),_.push(e(l))}return{labels:f,inputs:p,outputs:m,prompts:h,localIns:g,localOuts:_}}function _$(e){return Math.max(200,e*32+72)}var v$=new class{#e=A(`tokens`);get usageMode(){return I(this.#e)}set usageMode(e){j(this.#e,e,!0)}get usageFilterModel(){return NQ.usageFilterModel}set usageFilterModel(e){NQ.usageFilterModel=e}get usageFilterProvider(){return NQ.usageFilterProvider}set usageFilterProvider(e){NQ.usageFilterProvider=e}get usageFilterLabel(){return NQ.usageFilterLabel}set usageFilterLabel(e){NQ.usageFilterLabel=e}get usageFilterUserPath(){return NQ.usageFilterUserPath}set usageFilterUserPath(e){NQ.usageFilterUserPath=e}#t=A(M({models:[],providers:[],labels:[]}));get usageFacetOptions(){return I(this.#t)}set usageFacetOptions(e){j(this.#t,e,!0)}#n=A(M(FQ()));get usageSummary(){return I(this.#n)}set usageSummary(e){j(this.#n,e,!0)}#r=A(M(FQ()));get usageSummaryAll(){return I(this.#r)}set usageSummaryAll(e){j(this.#r,e,!0)}#i=A(M([]));get modelUsage(){return I(this.#i)}set modelUsage(e){j(this.#i,e,!0)}#a=A(M([]));get userPathUsage(){return I(this.#a)}set userPathUsage(e){j(this.#a,e,!0)}#o=A(M([]));get labelUsage(){return I(this.#o)}set labelUsage(e){j(this.#o,e,!0)}get usageLog(){return NQ.usageLog}set usageLog(e){NQ.usageLog=e}get usageLogSearch(){return NQ.usageLogSearch}set usageLogSearch(e){NQ.usageLogSearch=e}get usageLogHideCached(){return NQ.usageLogHideCached}set usageLogHideCached(e){NQ.usageLogHideCached=e}#s=A(`chart`);get modelUsageView(){return I(this.#s)}set modelUsageView(e){j(this.#s,e,!0)}#c=A(`chart`);get userPathUsageView(){return I(this.#c)}set userPathUsageView(e){j(this.#c,e,!0)}#l=A(`chart`);get labelUsageView(){return I(this.#l)}set labelUsageView(e){j(this.#l,e,!0)}#u=A(!1);get summaryLoading(){return I(this.#u)}set summaryLoading(e){j(this.#u,e,!0)}#d=A(!1);get modelUsageLoading(){return I(this.#d)}set modelUsageLoading(e){j(this.#d,e,!0)}#f=A(!1);get userPathUsageLoading(){return I(this.#f)}set userPathUsageLoading(e){j(this.#f,e,!0)}#p=A(!1);get labelUsageLoading(){return I(this.#p)}set labelUsageLoading(e){j(this.#p,e,!0)}#m=A(!1);get usageLogLoading(){return I(this.#m)}set usageLogLoading(e){j(this.#m,e,!0)}#h={};#g(e){this.#h[e]&&this.#h[e].abort();let t=new AbortController;return this.#h[e]=t,t}#_(e,t){this.#h[e]===t&&(this.#h[e]=null)}filterQueryStr(e){return LQ({model:this.usageFilterModel,provider:this.usageFilterProvider,label:this.usageFilterLabel,user_path:this.usageFilterUserPath},e)}onUsageFilterChanged(){this.fetchUsagePage()}toggleUsageLabelFilter(e){this.usageFilterLabel=this.usageFilterLabel===e?``:e,this.onUsageFilterChanged()}usageLabelChipTitle(e){return this.usageFilterLabel===e?`Clear label filter`:`Filter usage by "`+e+`"`}toggleUsageMode(e){this.usageMode=e,AI.navigate(`usage`,e===`costs`?`costs`:null)}toggleUsageChartView(e,t){e===`model`&&(this.modelUsageView=t),e===`userPath`&&(this.userPathUsageView=t),e===`label`&&(this.labelUsageView=t)}usageFilterModelOptions(){return zQ(this.usageFacetOptions.models,this.usageFilterModel)}usageFilterProviderOptions(){return zQ(this.usageFacetOptions.providers,this.usageFilterProvider)}usageFilterLabelOptions(){return zQ(this.usageFacetOptions.labels,this.usageFilterLabel)}async fetchUsagePage(){await QI.ensureLoaded();let e=[this.fetchUsagePageSummary(),this.fetchUsageFacetOptions(),this.fetchModelUsage(),this.fetchUserPathUsage(),this.fetchLabelUsage(),this.fetchUsageLog(!0)];ZL.cacheAnalyticsEnabled()&&e.push(ZL.fetchCacheOverview(this.filterQueryStr())),await Promise.all(e)}async fetchUsagePageSummary(){let e=this.#g(`summary`);this.summaryLoading=!0;try{let t=JL.queryStr()+this.filterQueryStr(),[n,r]=await Promise.all([JI(`/admin/usage/summary?`+t+`&cache_mode=uncached`,{label:`usage page summary`,signal:e.signal}),JI(`/admin/usage/summary?`+t+`&cache_mode=all`,{label:`usage page summary (all)`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.usageSummary=FQ(),this.usageSummaryAll=FQ();return}this.usageSummary=n.data&&typeof n.data==`object`?n.data:FQ(),this.usageSummaryAll=r.data&&typeof r.data==`object`?r.data:FQ()}catch(e){if(XI(e))return;console.error(`Failed to fetch usage page summary:`,e),this.usageSummary=FQ(),this.usageSummaryAll=FQ()}finally{this.#_(`summary`,e),this.#h.summary===null&&(this.summaryLoading=!1)}}async fetchUsageFacetOptions(){let e=this.#g(`facets`);try{let t=async(t,n)=>{let r=await JI(t+`?`+JL.queryStr()+this.filterQueryStr(n),{label:`usage facet options`,signal:e.signal});return r.stale?null:r.ok&&Array.isArray(r.data)?r.data:[]},n=t(`/admin/usage/models`,`model`),r=!this.usageFilterModel&&!this.usageFilterProvider,[i,a,o]=await Promise.all([n,r?n:t(`/admin/usage/models`,`provider`),t(`/admin/usage/labels`,`label`)]);if(e.signal.aborted||i===null||a===null||o===null)return;this.usageFacetOptions={models:i.map(e=>e&&e.model).filter(Boolean),providers:a.map(e=>UL(e)).filter(Boolean),labels:o.map(e=>e&&e.label).filter(Boolean)}}catch(e){if(XI(e))return;console.error(`Failed to fetch usage facet options:`,e),this.usageFacetOptions={models:[],providers:[],labels:[]}}finally{this.#_(`facets`,e)}}async#v(e,t,n,r,i){let a=this.#g(e);i(!0);try{let e=await JI(t+`?`+JL.queryStr()+this.filterQueryStr(),{label:n,signal:a.signal});if(e.stale||a.signal.aborted)return;if(!e.ok){r([]);return}r(Array.isArray(e.data)?e.data:[])}catch(e){if(XI(e))return;console.error(`Failed to fetch `+n+`:`,e),r([])}finally{this.#_(e,a),this.#h[e]===null&&i(!1)}}fetchModelUsage(){return this.#v(`modelUsage`,`/admin/usage/models`,`usage models`,e=>this.modelUsage=e,e=>this.modelUsageLoading=e)}fetchUserPathUsage(){return this.#v(`userPathUsage`,`/admin/usage/user-paths`,`usage user paths`,e=>this.userPathUsage=e,e=>this.userPathUsageLoading=e)}fetchLabelUsage(){return this.#v(`labelUsage`,`/admin/usage/labels`,`usage labels`,e=>this.labelUsage=e,e=>this.labelUsageLoading=e)}async fetchUsageLog(e){let t=this.#g(`usageLog`);this.usageLogLoading=!0;try{e&&(this.usageLog.offset=0);let n=JL.queryStr()+this.filterQueryStr();n+=RQ({limit:this.usageLog.limit,offset:this.usageLog.offset,hideCached:this.usageLogHideCached,search:this.usageLogSearch});let r=await JI(`/admin/usage/log?`+n,{label:`usage log`,signal:t.signal});if(r.stale||t.signal.aborted)return;if(!r.ok){this.usageLog=IQ();return}let i=r.data&&typeof r.data==`object`?r.data:IQ();i.entries||=[],this.usageLog=i}catch(e){if(XI(e))return;console.error(`Failed to fetch usage log:`,e),this.usageLog=IQ()}finally{this.#_(`usageLog`,t),this.#h.usageLog===null&&(this.usageLogLoading=!1)}}usageLogNextPage(){this.usageLog.offset+this.usageLog.limit0&&(this.usageLog.offset=Math.max(0,this.usageLog.offset-this.usageLog.limit),this.fetchUsageLog(!1))}};NQ.fetchUsage=()=>{AI.page===`usage`&&v$.fetchUsagePage()};var y$=R(`
        `);function b$(e,t){D(t,!0);let n=ma(t,`value`,15,``),r=ma(t,`placeholder`,3,``),i=ma(t,`label`,3,``),a=ma(t,`id`,3,void 0),o=ma(t,`oninput`,3,void 0),s=ma(t,`class`,3,``);var c=y$(),l=N(c);G(l,{name:`search`,class:`filter-input-icon`});var u=P(l,2);Zi(u),E(c),F(()=>{U(c,1,`filter-input-wrap ${s()??``}`,`svelte-30xz1k`),W(u,`id`,a()),W(u,`placeholder`,r()),W(u,`aria-label`,i())}),L(`input`,u,function(...e){o()?.apply(this,e)}),oa(u,n),z(e,c),O()}Hr([`input`]);function x$(e,t=300){let n=null,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)};return r.cancel=()=>{clearTimeout(n),n=null},r}var S$=R(``),C$=R(``),w$=R(`
        `);function T$(e,t){D(t,!0);let n=x$(()=>v$.onUsageFilterChanged());Mn(()=>n.cancel);var r=w$(),i=N(r),a=N(i);a.value=a.__value=``,H(P(a),16,()=>v$.usageFilterModelOptions(),e=>e,(e,t)=>{var n=S$(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(i);var o=P(i,2),s=N(o);s.value=s.__value=``,H(P(s),16,()=>v$.usageFilterProviderOptions(),e=>e,(e,t)=>{var n=S$(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(o);var c=P(o,2),l=e=>{var t=C$(),n=N(t);n.value=n.__value=``,H(P(n),16,()=>v$.usageFilterLabelOptions(),e=>e,(e,t)=>{var n=S$(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(t),L(`change`,t,()=>v$.onUsageFilterChanged()),Bi(t,()=>v$.usageFilterLabel,e=>v$.usageFilterLabel=e),z(e,t)},u=k(()=>v$.usageFilterLabelOptions().length>0);V(c,e=>{I(u)&&e(l)}),b$(P(c,2),{class:`usage-page-filters-user-path`,placeholder:`User path /team/alpha`,label:`Filter by user path`,get oninput(){return n},get value(){return v$.usageFilterUserPath},set value(e){v$.usageFilterUserPath=e}}),E(r),L(`change`,i,()=>v$.onUsageFilterChanged()),Bi(i,()=>v$.usageFilterModel,e=>v$.usageFilterModel=e),L(`change`,o,()=>v$.onUsageFilterChanged()),Bi(o,()=>v$.usageFilterProvider,e=>v$.usageFilterProvider=e),z(e,r),O()}Hr([`change`]);var E$=R(`
        Cache Saved
        Cache Hits
        `,1);function D$(e,t){D(t,!0);var n=Qr(),r=Sn(n),i=e=>{var t=E$(),n=Sn(t),r=P(N(n),2),i=N(r,!0);E(r),E(n);var a=P(n,2),o=P(N(a),2),s=N(o,!0);E(o),E(a),F((e,t)=>{B(i,e),B(s,t)},[()=>PL(ZL.cacheOverview.summary.total_saved_cost),()=>NL(ZL.cacheOverview.summary.total_hits)]),z(e,t)},a=k(()=>ZL.cacheAnalyticsEnabled());V(r,e=>{I(a)&&e(i)}),z(e,n),O()}var O$=R(` `),k$=R(`
        Pro Saved
        `),A$=R(`
        Total Requests
        Estimated Cost
        `);function j$(e,t){D(t,!0);let n=k(()=>GQ(v$.usageSummary)),r=k(()=>qQ(v$.usageSummary,v$.usageMode)),i=k(()=>YQ(v$.usageSummary,v$.usageMode));var a=A$(),o=N(a),s=P(N(o),2),c=N(s),l=e=>{AZ(e,{size:18,label:`Loading usage summary`})},u=e=>{var t=Zr();F(e=>B(t,e),[()=>NL(VQ(v$.usageSummary,v$.usageSummaryAll,v$.usageLogHideCached))]),z(e,t)};V(c,e=>{v$.summaryLoading?e(l):e(u,-1)}),E(s),E(o);var d=P(o,2),f=P(N(d),2),p=N(f),m=e=>{AZ(e,{size:18,label:`Loading usage summary`})},h=e=>{var t=Zr();F(e=>B(t,e),[()=>PL(v$.usageSummary.total_cost)]),z(e,t)};V(p,e=>{v$.summaryLoading?e(m):e(h,-1)}),E(f),E(d);var g=P(d,2),_=e=>{var t=k$(),n=P(N(t),2),a=N(n),o=N(a,!0);E(a);var s=P(a,2),c=e=>{var t=O$(),n=N(t,!0);E(t),F(()=>B(n,I(i))),z(e,t)};V(s,e=>{I(i)&&e(c)}),E(n),E(t),F(e=>{W(n,`title`,e),B(o,I(r))},[()=>XQ(v$.usageSummary,v$.usageMode)]),z(e,t)};V(g,e=>{I(n)&&e(_)}),D$(P(g,2),{}),E(a),F((e,t)=>{W(s,`title`,e),W(f,`title`,t)},[()=>HQ(v$.usageSummary,v$.usageSummaryAll,v$.usageLogHideCached),()=>UQ(v$.usageSummary)]),z(e,a),O()}function M$(e,t,n,r){let{stacked:i=!1,costs:a=!1,resolve:o=e=>e}=r||{},s=e=>a?`$`+Math.abs(e).toFixed(2):LL(Math.abs(e)),c=e=>a?`$`+Math.abs(e).toFixed(4):Math.abs(e).toLocaleString(),l=e=>e.map(e=>i?Math.abs(e):-Math.abs(e)),u=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:`transparent`,borderWidth:0,borderRadius:4,maxBarThickness:22}),d=e=>(e||[]).some(e=>Math.abs(e)>0),f=[u(a?`Input Cost`:`Input Tokens`,l(n.inputs),o(`var(--token-input)`)),u(a?`Output Cost`:`Output Tokens`,n.outputs,o(`var(--token-output)`))];return d(n.prompts)&&f.push(u(a?`Prompt Cached Cost`:`Prompt Cached`,l(n.prompts),o(`var(--token-prompt)`))),!a&&d(n.localIns)&&f.push(u(`Locally Cached (Input)`,l(n.localIns),o(`var(--token-local)`))),!a&&d(n.localOuts)&&f.push(u(`Locally Cached (Output)`,n.localOuts,o(`var(--token-local)`))),{type:`bar`,data:{labels:t,datasets:f},options:{indexAxis:`y`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:{top:8}},scales:{x:{stacked:!0,beginAtZero:!0,grid:i?{color:e.grid}:{color:t=>t.tick&&t.tick.value===0?e.text:e.grid},border:{display:!1},ticks:{color:e.text,font:JJ(),callback:e=>s(e)}},y:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:JJ(),autoSkip:!1}}},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:YJ(e,{label:e=>e.dataset.label+`: `+c(e.parsed.x),footer:e=>{let t=0;return e.forEach(e=>{t+=Math.abs(Number(e.parsed.x))||0}),`Total: `+c(t)}})}}}}var N$=R(`
        `),P$=R(`

        `),F$=R(`

        `,1),I$=R(`
        `),L$=R(`Model Provider`,1),R$=R(`User Path`),z$=R(`Label Requests`,1),B$=R(` `,1),V$=R(` `),H$=R(` `,1),U$=R(` `),W$=R(`
        Input TokensOutput TokensPrompt CachedLocal CachedTotal TokensInput CostOutput CostTotal Cost
        `),G$=R(`
        `),K$=R(`
        `);function q$(e,t){D(t,!0);let n=e=>{var n=N$(),r=N(n);let a;var o=P(r,2);let s;var l=P(o,2);let u;E(n),F(()=>{W(n,`aria-label`,I(i).group),a=U(r,1,`chart-view-btn svelte-1kee4g8`,null,a,{active:I(c)===`chart`}),W(r,`aria-pressed`,I(c)===`chart`),W(r,`aria-label`,`Show ${I(i).noun??``} chart`),s=U(o,1,`chart-view-btn svelte-1kee4g8`,null,s,{active:I(c)===`stacked`}),W(o,`aria-pressed`,I(c)===`stacked`),W(o,`aria-label`,`Show ${I(i).noun??``} stacked chart`),u=U(l,1,`chart-view-btn svelte-1kee4g8`,null,u,{active:I(c)===`table`}),W(l,`aria-pressed`,I(c)===`table`),W(l,`aria-label`,`Show ${I(i).noun??``} table`)}),L(`click`,r,()=>v$.toggleUsageChartView(t.kind,`chart`)),L(`click`,o,()=>v$.toggleUsageChartView(t.kind,`stacked`)),L(`click`,l,()=>v$.toggleUsageChartView(t.kind,`table`)),z(e,n)},r={model:{group:`Model usage view`,noun:`model usage`,tokensTitle:`Token Usage by Model`,costsTitle:`Cost by Model`},userPath:{group:`User path usage view`,noun:`user path usage`,tokensTitle:`Usage by User Path`,costsTitle:`Cost by User Path`},label:{group:`Label usage view`,noun:`label usage`,tokensTitle:`Usage by Label`,costsTitle:`Cost by Label`}},i=k(()=>r[t.kind]),a=k(()=>t.kind===`model`?e=>GL(e):t.kind===`userPath`?e=>e.user_path||`/`:e=>e.label);function o(e){return t.kind===`model`?(e.provider_name||e.provider||`-`)+`/`+e.model:t.kind===`userPath`?e.user_path||`/`:e.label}let s=k(()=>t.kind===`model`?v$.modelUsage:t.kind===`userPath`?v$.userPathUsage:v$.labelUsage),c=k(()=>t.kind===`model`?v$.modelUsageView:t.kind===`userPath`?v$.userPathUsageView:v$.labelUsageView),l=k(()=>t.kind===`model`?v$.modelUsageLoading:t.kind===`userPath`?v$.userPathUsageLoading:v$.labelUsageLoading),u=k(()=>v$.usageMode===`costs`),d=k(()=>t.kind===`userPath`?m$(I(s)):I(s).length>0),f=k(()=>I(u)?I(i).costsTitle:I(i).tokensTitle),p=k(()=>g$(I(s),I(a),I(u))),m=k(()=>p$(I(s),I(u)));function h(){return h$(I(c))?M$(qJ(),I(p).labels,I(p),{stacked:I(c)===`stacked`,costs:I(u),resolve:XJ}):null}var g=Qr(),_=Sn(g),v=e=>{var r=G$(),a=N(r),s=N(a),u=e=>{aQ(e,{copyId:`label-usage-help-copy`,label:`label usage help`,text:`One request can have multiple labels. Such a request counts once under each of its labels, so label rows can overlap and add up to more than the period totals.`,title:e=>{var t=P$(),n=N(t,!0);E(t),F(()=>B(n,I(f))),z(e,t)},extra:e=>{var t=Qr(),n=Sn(t),r=e=>{AZ(e,{size:14,get label(){return`Loading ${I(i).noun??``}`}})};V(n,e=>{I(l)&&e(r)}),z(e,t)},$$slots:{title:!0,extra:!0}})},d=e=>{var t=F$(),n=Sn(t),r=N(n,!0);E(n);var a=P(n,2),o=e=>{AZ(e,{size:14,get label(){return`Loading ${I(i).noun??``}`}})};V(a,e=>{I(l)&&e(o)}),F(()=>B(r,I(f))),z(e,t)};V(s,e=>{t.kind===`label`?e(u):e(d,-1)});var g=P(s,2);n(g),E(a);var _=P(a,2),v=e=>{var t=I$();let n;HJ(N(t),{build:h}),E(t),F(e=>n=Li(t,``,n,e),[()=>({height:`${_$(I(p).labels.length)??``}px`})]),z(e,t)},y=k(()=>h$(I(c))),b=e=>{var n=W$(),r=N(n),i=N(r),a=N(i),s=N(a),c=e=>{var t=L$();We(2),z(e,t)},l=e=>{z(e,R$())},u=e=>{var t=z$();We(2),z(e,t)};V(s,e=>{t.kind===`model`?e(c):t.kind===`userPath`?e(l,1):e(u,-1)}),We(8),E(a),E(i);var d=P(i);H(d,21,()=>I(m),e=>o(e),(e,n)=>{var r=U$(),i=N(r),a=e=>{var t=B$(),r=Sn(t),i=N(r,!0);E(r);var a=P(r,2),o=N(a),s=N(o,!0);E(o),E(a),F(e=>{B(i,I(n).model||`-`),B(s,e)},[()=>UL(I(n))||`-`]),z(e,t)},o=e=>{var t=V$(),r=N(t,!0);E(t),F(()=>B(r,I(n).user_path||`/`)),z(e,t)},s=e=>{var t=H$(),r=Sn(t),i=N(r);let a;var o=N(i,!0);E(i),E(r);var s=P(r,2),c=N(s,!0);E(s),F((e,t,r)=>{a=U(i,1,`usage-label-chip`,null,a,{active:v$.usageFilterLabel===I(n).label}),Li(i,`--label-color: ${e??``}`),W(i,`title`,t),B(o,I(n).label),B(c,r)},[()=>$J(I(n).label),()=>v$.usageLabelChipTitle(I(n).label),()=>NL(I(n).requests)]),L(`click`,i,()=>v$.toggleUsageLabelFilter(I(n).label)),z(e,t)};V(i,e=>{t.kind===`model`?e(a):t.kind===`userPath`?e(o,1):e(s,-1)});var c=P(i),l=N(c,!0);E(c);var u=P(c),d=N(u,!0);E(u);var f=P(u),p=N(f,!0);E(f);var m=P(f),h=N(m,!0);E(m);var g=P(m),_=N(g,!0);E(g);var v=P(g),y=N(v,!0);E(v);var b=P(v),x=N(b,!0);E(b);var S=P(b),C=N(S,!0);E(S),E(r),F((e,t,n,r,i,a,o,s,c,u,g)=>{B(l,e),B(d,t),W(f,`title`,n),B(p,r),W(m,`title`,`${i??``} input + ${a??``} output`),B(h,o),B(_,s),B(y,c),B(x,u),B(C,g)},[()=>NL(I(n).input_tokens),()=>NL(I(n).output_tokens),()=>I(n).cached_input_cost==null?``:`~`+PL(I(n).cached_input_cost)+` at current cached-input pricing`,()=>NL(I(n).cached_input_tokens||0),()=>NL(I(n).local_cached_input_tokens||0),()=>NL(I(n).local_cached_output_tokens||0),()=>NL((I(n).local_cached_input_tokens||0)+(I(n).local_cached_output_tokens||0)),()=>NL(d$(I(n))),()=>PL(I(n).input_cost),()=>PL(I(n).output_cost),()=>PL(I(n).total_cost)]),z(e,r)}),E(d),E(r),E(n),z(e,n)};V(_,e=>{I(y)?e(v):e(b,-1)}),E(r),z(e,r)},y=e=>{var t=K$();AZ(N(t),{size:20,get label(){return`Loading ${I(i).noun??``}`}}),E(t),z(e,t)};V(_,e=>{I(d)?e(v):I(l)&&e(y,1)}),z(e,g),O()}Hr([`click`]);var J$=R(``);function Y$(e,t){D(t,!0);let n=ma(t,`total`,3,0),r=ma(t,`offset`,3,0),i=ma(t,`limit`,3,25);var a=Qr(),o=Sn(a),s=e=>{var a=J$(),o=N(a),s=N(o);E(o);var c=P(o,2),l=N(c),u=P(l,2);E(c),E(a),F(e=>{B(s,`Showing ${r()+1}-${e??``} of ${n()??``}`),l.disabled=r()===0,u.disabled=r()+i()>=n()},[()=>Math.min(r()+i(),n())]),L(`click`,l,()=>t.onprev?.()),L(`click`,u,()=>t.onnext?.()),z(e,a)};V(o,e=>{n()>0&&e(s)}),z(e,a),O()}Hr([`click`]);var X$=(e,t=m)=>{var n=Qr(),r=Sn(n),i=e=>{var n=Q$();H(n,20,()=>l$(t()),e=>e,(e,t)=>{var n=Z$();let r;var i=N(n,!0);E(n),F((e,a)=>{r=U(n,1,`usage-label-chip`,null,r,{active:v$.usageFilterLabel===t}),Li(n,`--label-color: ${e??``}`),W(n,`title`,a),B(i,t)},[()=>$J(t),()=>v$.usageLabelChipTitle(t)]),L(`click`,n,()=>v$.toggleUsageLabelFilter(t)),z(e,n)}),E(n),z(e,n)},a=k(()=>l$(t()).length>0),o=e=>{z(e,$$())};V(r,e=>{I(a)?e(i):e(o,-1)}),z(e,n)},Z$=R(``),Q$=R(`
        `),$$=R(`-`),e1=R(`Labels`),t1=R(`Cost`),n1=R(``),r1=R(` `),i1=R(``),a1=R(` `),o1=R(` `),s1=R(`
        TimestampProviderModelUser PathCacheProvider Cache
        `),c1=R(`
        `),l1=R(`
        `),u1=R(`

        Request Log

        `);function d1(e,t){D(t,!0);let n=k(()=>v$.usageMode===`costs`),r=k(()=>u$(v$.labelUsage,v$.usageFilterLabel,v$.usageLog.entries)),i=x$(()=>v$.fetchUsageLog(!0));Mn(()=>i.cancel);var a=u1(),o=P(N(a),2),s=N(o);b$(N(s),{placeholder:`Search by request ID, model, provider...`,label:`Search by request ID, model, provider`,get oninput(){return i},get value(){return v$.usageLogSearch},set value(e){v$.usageLogSearch=e}}),E(s);var c=P(s,2),l=N(c),u=N(l);Zi(u),We(2),E(l),E(c),E(o);var d=P(o,2),f=e=>{var t=s1(),i=N(t),a=N(i),o=N(a),s=P(N(o),4),c=e=>{z(e,e1())};V(s,e=>{I(r)&&e(c)});var l=P(s,3),u=N(l,!0);E(l);var d=P(l),f=N(d,!0);E(d);var p=P(d),m=N(p,!0);E(p);var h=P(p),g=e=>{z(e,t1())};V(h,e=>{I(n)||e(g)}),E(o),E(a);var _=P(a);H(_,21,()=>v$.usageLog.entries,e=>e.id,(e,t)=>{var i=o1();let a;var o=N(i),s=N(o,!0);E(o);var c=P(o),l=N(c),u=N(l,!0);E(l),E(c);var d=P(c),f=N(d,!0);E(d);var p=P(d),m=N(p,!0);E(p);var h=P(p),g=e=>{var n=n1();X$(N(n),()=>I(t)),E(n),z(e,n)};V(h,e=>{I(r)&&e(g)});var _=P(h),v=N(_,!0);E(_);var y=P(_),b=N(y),x=e=>{var n=r1(),r=N(n,!0);E(n),F(e=>B(r,e),[()=>o$(I(t))]),z(e,n)},S=k(()=>a$(I(t))),C=e=>{z(e,$$())};V(b,e=>{I(S)?e(x):e(C,-1)}),E(y);var w=P(y),T=N(w,!0);E(w);var ee=P(w),te=N(ee,!0);E(ee);var ne=P(ee),re=N(ne),ie=N(re,!0);E(re);var ae=P(re,2),oe=e=>{{let n=k(()=>$Q(I(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return I(n)}})}},se=k(()=>I(n)&&QQ(I(t)));V(ae,e=>{I(se)&&e(oe)});var ce=P(ae,2),le=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},ue=k(()=>I(n)&&t$(I(t)));V(ce,e=>{I(ue)&&e(le)});var de=P(ce,2),fe=e=>{var n=i1();F(()=>W(n,`title`,I(t).costs_calculation_caveat)),z(e,n)};V(de,e=>{I(n)&&I(t).costs_calculation_caveat&&e(fe)}),E(ne);var pe=P(ne),me=e=>{var n=a1(),r=N(n),i=N(r,!0);E(r);var a=P(r,2),o=e=>{{let n=k(()=>$Q(I(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return I(n)}})}},s=k(()=>QQ(I(t)));V(a,e=>{I(s)&&e(o)});var c=P(a,2),l=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},u=k(()=>t$(I(t)));V(c,e=>{I(u)&&e(l)});var d=P(c,2),f=e=>{var n=i1();F(()=>W(n,`title`,I(t).costs_calculation_caveat)),z(e,n)};V(d,e=>{I(t).costs_calculation_caveat&&e(f)}),E(n),F((e,t)=>{W(n,`title`,e),B(i,t)},[()=>r$(I(t),c$(I(t))),()=>PL(I(t).total_cost)]),z(e,n)};V(pe,e=>{I(n)||e(me)}),E(i),F((e,n,r,c,l,d,p,h,g,_,b,x,S)=>{a=U(i,1,`svelte-hg4ill`,null,a,e),W(o,`title`,n),B(s,r),B(u,c),B(f,I(t).model),B(m,I(t).user_path||`-`),B(v,l),W(y,`title`,d),W(w,`title`,p),B(T,h),W(ee,`title`,g),B(te,_),W(ne,`title`,b),W(re,`title`,x),B(ie,S)},[()=>({"usage-log-row-cached":t$(I(t))}),()=>VL(I(t).timestamp),()=>HI.formatTimestamp(I(t).timestamp),()=>UL(I(t))||`-`,()=>n$(I(t)),()=>s$(I(t)),()=>I(n)?NL(I(t).input_tokens)+` tokens`:``,()=>I(n)?PL(I(t).input_cost):NL(I(t).input_tokens),()=>I(n)?NL(I(t).output_tokens)+` tokens`:``,()=>I(n)?PL(I(t).output_cost):NL(I(t).output_tokens),()=>I(n)?r$(I(t),``):``,()=>I(n)?r$(I(t),NL(I(t).total_tokens)+` tokens +`+c$(I(t))):``,()=>I(n)?PL(I(t).total_cost):NL(I(t).total_tokens)]),z(e,i)}),E(_),E(i),E(t),F(()=>{B(u,I(n)?`Input Cost`:`Input`),B(f,I(n)?`Output Cost`:`Output`),B(m,I(n)?`Total Cost`:`Total`)}),z(e,t)},p=e=>{var t=c1();AZ(N(t),{size:20,label:`Loading request log`}),E(t),z(e,t)},m=e=>{var t=l1();NZ(N(t),{}),E(t),z(e,t)};V(d,e=>{v$.usageLog.entries.length>0?e(f):v$.usageLogLoading?e(p,1):e(m,-1)}),Y$(P(d,2),{get total(){return v$.usageLog.total},get offset(){return v$.usageLog.offset},get limit(){return v$.usageLog.limit},onprev:()=>v$.usageLogPrevPage(),onnext:()=>v$.usageLogNextPage()}),E(a),L(`change`,u,()=>v$.fetchUsageLog(!0)),sa(u,()=>v$.usageLogHideCached,e=>v$.usageLogHideCached=e),z(e,a),O()}Hr([`click`,`change`]);var f1=R(`
        `);function p1(e,t){D(t,!0);let n=`usage`;Mn(()=>{K.refreshTick,AI.page===n&&(v$.fetchUsagePage(),NQ.ensureLiveLogs())}),Mn(()=>{AI.page===n&&(v$.usageMode=AI.sub===`costs`?`costs`:`tokens`)});var r=f1(),i=P(N(r),2),a=N(i);GJ(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return v$.usageMode},onchange:e=>v$.toggleUsageMode(e)}),mR(P(a,2),{onchange:()=>v$.fetchUsagePage()}),E(i);var o=P(i,2);T$(o,{});var s=P(o,2);j$(s,{});var c=P(s,2),l=N(c);q$(l,{kind:`model`});var u=P(l,2);q$(u,{kind:`userPath`}),q$(P(u,2),{kind:`label`}),E(c),d1(P(c,2),{}),E(r),z(e,r),O()}var m1=R(`
        `);function h1(e,t){let n=ma(t,`label`,3,`Loading...`),r=ma(t,`class`,3,``);var i=m1(),a=P(N(i),2),o=N(a,!0);E(a),E(i),F(()=>{U(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),B(o,n())}),z(e,i)}var g1=R(``);function _1(e,t){let n=ma(t,`label`,3,``),r=ma(t,`class`,3,``),i=ma(t,`disabled`,3,!1);var a=g1();hi(N(a),()=>t.children??m),E(a),F(()=>{U(a,1,`table-action-btn ${r()??``}`),W(a,`aria-label`,n()),W(a,`title`,n()),a.disabled=i()}),L(`click`,a,function(...e){t.onclick?.apply(this,e)}),z(e,a)}Hr([`click`]);function v1(){return{scope:`user_path`,subject:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function y1(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},label:{label:`Label`,chip:`label`,fieldLabel:`Label`,placeholder:`Mobile-App-iOS`}};return t[e]||t.user_path}function b1(){return[`user_path`,`label`].map(e=>({value:e,label:y1(e).label}))}function x1(e){return String(e&&e.scope||``).trim()||`user_path`}function S1(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function C1(e){return y1(x1(e)).chip}function w1(e){return x1(e)===`label`?`budget-label`:`budget-user-path`}function T1(e){return y1(String(e&&e.scope||``)).fieldLabel}function E1(e){return y1(String(e&&e.scope||``)).placeholder}function D1(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function O1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function k1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function A1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function j1(e){return x1(e)+`:`+S1(e)+`:`+String(e&&e.period_seconds||``)}function M1(e,t){if(!t||!Array.isArray(e))return null;let n=j1(t);return e.find(e=>j1(e)===n)||null}function N1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function P1(e){if(N1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function F1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function I1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function L1(e){let t=Number(e&&e.period_seconds||0);return[S1(e),C1(e),e0(e),A1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}var R1={user_path:0,label:1};function z1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`subject`);return n.sort((e,t)=>{let n=(R1[x1(e)]||0)-(R1[x1(t)]||0),i=S1(e).localeCompare(S1(t)),a=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?a||n||i:n||i||a}),n}function B1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return z1(i?r.filter(e=>L1(e).includes(i)):r.slice(),n)}function V1(e){let t=e||{},n=x1(t),r=String(t.subject||``).trim();if(n===`user_path`){let e=N1(r);if(e)return{payload:null,error:e}}else if(!r)return{payload:null,error:`Label is required.`};let i=Number(t.amount);if(!Number.isFinite(i)||i<=0)return{payload:null,error:`Amount must be greater than 0.`};let a=String(t.period||``).trim(),o=k1(a);return a===`custom`&&(o=Number(t.period_seconds)),!Number.isFinite(o)||o<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{scope:n,subject:n===`user_path`?P1(r):r,period_seconds:Math.trunc(o),amount:i,source:String(t.source||`manual`).trim()||`manual`},error:``}}function H1(e){return{scope:x1(e),subject:S1(e),budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function U1(e){return{scope:x1(e),subject:S1(e),budget_key:{period_seconds:e.period_seconds}}}function W1(e){return{scope:x1(e),subject:S1(e),period_seconds:e.period_seconds}}function G1(e){return PL(e)}function K1(e,t){let n=e||{},r=t||{};return`A budget for "`+((S1(n)||S1(r))+` `+e0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+G1(r.amount)+` limit with `+G1(n.amount)+`.`}function q1(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function J1(e,t){let n=q1(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function Y1(e){return q1(e&&e.usage_ratio)}function X1(e){return J1(Y1(e),!0)}function Z1(e){return J1(e&&e.period_ratio,!0)}function Q1(e){return J1(Y1(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function $1(e){return Z1(e).toFixed(1).replace(/\.0$/,``)+`%`}function e0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function t0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function n0(e){return t0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function r0(e){return t0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function i0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function a0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function o0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return a0(t)}}function s0(e){return String(e&&e.source||``).trim()||`manual`}function c0(e){let t=s0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function l0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?PL(Math.abs(t))+` over`:PL(t)+` remaining`:``}var J=new class{#e=A(M([]));get budgets(){return I(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return I(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return I(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`subject`);get sortBy(){return I(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return I(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return I(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return I(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return I(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return I(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(M(v1()));get form(){return I(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return I(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return I(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return I(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return I(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return I(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return I(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return QI.budgetsVisible()}filteredBudgets(){return B1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await QI.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await JI(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=I1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={scope:x1(e),subject:S1(e),period:A1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=v1();this.formOpen=!0}syncPeriodSeconds(){let e=k1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormSubject(e){this.form.subject=this.form.scope===`label`?String(e??``):F1(e)}syncScope(){D1(this.form)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=v1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=V1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=M1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await YI(`/admin/budgets`,`PUT`,H1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=WI(t,`Unable to save budget.`);return}this.closeForm(),q.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=j1(e);if(this.resettingKey===t)return;let n=S1(e)+` `+e0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await YI(`/admin/budgets/reset-one`,`POST`,W1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(WI(t,`Unable to reset budget.`));return}q.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),q.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=j1(e);if(this.deletingKey===t)return;let n=S1(e)+` `+e0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await YI(`/admin/budgets`,`DELETE`,U1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(WI(t,`Unable to delete budget.`));return}this.budgets=I1(t.data),q.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),q.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){dL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await YI(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){dL.error=`Unable to reset budgets.`;return}dL.close(),q.success(`Budgets reset.`),AI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),dL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},u0=R(` Edit`,1),d0=R(` `,1),f0=R(`
        Usage
        Period
        `),p0=R(`
        `);function m0(e,t){D(t,!0);let n=ma(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=HI.formatTimestamp(e);return!t||t===`-`?``:t+` `+HI.effectiveTimeZoneLabel()}var i=p0();H(i,21,n,e=>j1(e),(e,t)=>{var n=f0(),i=N(n),a=N(i),o=N(a),s=N(o),c=e=>{G(e,{name:`tag`,class:`budget-scope-icon`})},l=k(()=>x1(I(t))===`label`);V(s,e=>{I(l)&&e(c)});var u=P(s);E(o);var d=P(o,2),f=N(d),p=N(f);{let e=k(()=>i0(I(t)));G(p,{get name(){return I(e)},class:`budget-period-icon`})}var m=P(p,2),h=N(m,!0);E(m),E(f),E(d);var g=P(d,2),_=N(g),v=N(_),y=N(v,!0);E(v),E(_);var b=P(_,2),x=N(b);_1(x,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(I(t)),children:(e,t)=>{var n=u0();G(Sn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),z(e,n)},$$slots:{default:!0}});var S=P(x,2);{let e=k(()=>J.resettingKey===j1(I(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===j1(I(t)));_1(S,{get label(){return I(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(I(t)),get disabled(){return I(n)},children:(e,n)=>{var r=d0(),i=Sn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=P(i,2),o=N(a,!0);E(a),F(e=>B(o,e),[()=>J.resettingKey===j1(I(t))?`Resetting`:`Reset`]),z(e,r)},$$slots:{default:!0}})}var C=P(S,2);{let e=k(()=>J.deletingKey===j1(I(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===j1(I(t)));_1(C,{get label(){return I(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(I(t)),get disabled(){return I(n)},children:(e,n)=>{var r=d0(),i=Sn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=P(i,2),o=N(a,!0);E(a),F(e=>B(o,e),[()=>J.deletingKey===j1(I(t))?`Deleting`:`Delete`]),z(e,r)},$$slots:{default:!0}})}E(b),E(g),E(a);var w=P(a,2),T=N(w),ee=N(T),te=P(N(ee),2),ne=N(te,!0);E(te),E(ee);var re=P(ee,2),ie=N(re);let ae;var oe=P(ie,2),se=N(oe),ce=N(se,!0);E(se);var le=P(se,2),ue=N(le,!0);E(le),E(oe);var de=P(oe,2),fe=N(de),pe=N(fe,!0);E(fe);var me=P(fe,2),he=N(me,!0);E(me),E(de),E(re),E(T);var ge=P(T,2),_e=N(ge),ve=P(N(_e),2),ye=N(ve,!0);E(ve),E(_e);var be=P(_e,2),xe=N(be),Se=P(xe,2),Ce=N(Se),we=N(Ce,!0);E(Ce);var Te=P(Ce,2),Ee=N(Te,!0);E(Te);var De=P(Te,2),Oe=N(De,!0);E(De),E(Se);var ke=P(Se,2),Ae=N(ke),je=N(Ae,!0);E(Ae);var Me=P(Ae,2),Ne=N(Me,!0);E(Me);var Pe=P(Me,2),Fe=N(Pe,!0);E(Pe),E(ke),E(be),E(ge),E(w),E(i),E(n),F((e,t,n,r,i,a,s,c,l,d,p,m,g,_,b,x,S,C,w,T,ee,te,oe,se,le,de,fe,me,ge,_e)=>{U(o,1,`budget-scope-value ${e??``}`,`svelte-1jm56wo`),Li(o,t),W(o,`title`,n),B(u,` ${r??``}`),U(f,1,`budget-period-label ${i??``}`,`svelte-1jm56wo`),B(h,a),W(v,`title`,s),B(y,c),B(ne,l),W(re,`aria-valuenow`,d),W(re,`aria-label`,p),Li(re,`--budget-progress: ${m??``}%`),ae=U(ie,1,`budget-bar-fill budget-bar-fill-usage`,null,ae,g),B(ce,_),B(ue,b),B(pe,x),B(he,S),B(ye,C),U(be,1,`budget-bar-track ${w??``}`,`svelte-1jm56wo`),W(be,`aria-valuenow`,T),Li(be,`--budget-progress: ${ee??``}%`),U(xe,1,`budget-bar-fill budget-bar-fill-period ${te??``}`,`svelte-1jm56wo`),W(Ce,`title`,oe),B(we,se),B(Ee,le),W(De,`title`,de),B(Oe,fe),B(je,me),B(Ne,ge),B(Fe,_e)},[()=>w1(I(t)),()=>x1(I(t))===`label`?`--label-color: `+$J(S1(I(t))):void 0,()=>C1(I(t))+`: `+S1(I(t)),()=>S1(I(t)),()=>t0(I(t)),()=>e0(I(t)),()=>c0(I(t)),()=>s0(I(t)),()=>Q1(I(t)),()=>X1(I(t)),()=>`Budget usage: `+PL(I(t).spent)+` of `+PL(I(t).amount)+`, `+l0(I(t)),()=>X1(I(t)),()=>({"budget-bar-fill-danger":Y1(I(t))>=1}),()=>PL(I(t).spent)+` of `+PL(I(t).amount),()=>l0(I(t)),()=>PL(I(t).spent)+` of `+PL(I(t).amount),()=>l0(I(t)),()=>$1(I(t)),()=>r0(I(t)),()=>Z1(I(t)),()=>Z1(I(t)),()=>n0(I(t)),()=>r(I(t).period_start),()=>HI.formatTimestamp(I(t).period_start),()=>o0(I(t)),()=>r(I(t).period_end),()=>HI.formatTimestamp(I(t).period_end),()=>HI.formatTimestamp(I(t).period_start),()=>o0(I(t)),()=>HI.formatTimestamp(I(t).period_end)]),z(e,n)}),E(i),z(e,i),O()}var h0=R(``),g0=R(`
        `),_0=R(`

        Editing a budget updates its limit only. Use Reset to start a new + budget period.

        `),v0=R(``),y0=R(``),b0=R(``),x0=R(` `,1);function S0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!K.dialogOpen&&J.closeForm()}function r(e){J.setFormSubject(e.target.value),e.target.value=J.form.subject}var i=x0(),a=Sn(i);oL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=y0(),i=N(n),a=N(i),o=N(a),s=N(o),c=N(s,!0);E(s),E(o),iL(P(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=P(a,2),u=N(l),d=P(N(u),2);H(d,21,b1,e=>e.value,(e,t)=>{var n=h0(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(d),E(u);var f=P(u,2),p=N(f),m=N(p,!0);E(p);var h=P(p,2);Zi(h),E(f);var g=P(f,2),_=P(N(g),2);H(_,21,O1,e=>e.value,(e,t)=>{var n=h0(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(_),E(g);var v=P(g,2),y=e=>{var t=g0(),n=P(N(t),2);Zi(n),E(t),F(()=>n.disabled=J.editing),oa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),z(e,t)};V(v,e=>{J.form.period===`custom`&&e(y)});var b=P(v,2),x=P(N(b),2);Zi(x),E(b),E(l);var S=P(l,2),C=e=>{z(e,_0())};V(S,e=>{J.editing&&e(C)});var w=P(S,2),T=e=>{var t=v0(),n=N(t,!0);E(t),F(()=>B(n,J.formError)),z(e,t)};V(w,e=>{J.formError&&e(T)});var ee=P(w,2),te=N(ee),ne=P(te,2),re=N(ne);G(re,{name:`save`,class:`form-action-icon`});var ie=P(re,2),ae=N(ie,!0);E(ie),E(ne),E(ee),E(i),E(n),F((e,t)=>{B(c,J.editing?`Edit Budget`:`Create Budget`),d.disabled=J.editing,B(m,e),W(h,`placeholder`,t),Qi(h,J.form.subject),h.disabled=J.editing,W(h,`data-modal-autofocus`,!J.editing||void 0),_.disabled=J.editing,W(x,`data-modal-autofocus`,J.editing||void 0),ne.disabled=J.formSubmitting,B(ae,J.formSubmitting?`Saving...`:`Save Budget`)},[()=>T1(J.form),()=>E1(J.form)]),Vr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),L(`change`,d,()=>J.syncScope()),Bi(d,()=>J.form.scope,e=>J.form.scope=e),L(`input`,h,r),L(`change`,_,()=>J.syncPeriodSeconds()),Bi(_,()=>J.form.period,e=>J.form.period=e),oa(x,()=>J.form.amount,e=>J.form.amount=e),L(`click`,te,()=>J.closeForm()),z(e,n)},$$slots:{default:!0}}),oL(P(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=b0(),r=N(n);iL(P(N(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=P(r,2),a=N(i),o=N(a,!0);E(a);var s=P(a,2),c=N(s),l=P(c,2),u=N(l);G(u,{name:`save`,class:`form-action-icon`});var d=P(u,2),f=N(d,!0);E(d),E(l),E(s),E(i),E(n),F(e=>{B(o,e),l.disabled=J.formSubmitting,B(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>K1(J.overridePendingPayload,J.overrideExistingBudget)]),Vr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),L(`click`,c,()=>J.closeOverrideDialog()),z(e,n)},$$slots:{default:!0}}),z(e,i),O()}Hr([`change`,`input`,`click`]);var C0=R(`

        Budgets

        `),w0=R(``),T0=R(`
        Budget management is unavailable.
        `),E0=R(``),D0=R(`
        `),O0=R(`

        No budgets configured yet.

        `),k0=R(`

        No budgets match your filter.

        `),A0=R(`
        `);function j0(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=A0(),i=N(r),a=N(i);aQ(N(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{z(e,C0())},help:e=>{We(),z(e,Zr(`Budgets are evaluated from tracked usage cost records for each user + path subtree. Enforcement runs only when Budget is enabled for the + active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=P(a,2),s=N(o),c=e=>{var t=w0();G(N(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),F(()=>t.disabled=J.formSubmitting),L(`click`,t,()=>J.openForm()),z(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!K.authError);V(s,e=>{I(l)&&e(c)}),E(o),E(i);var u=P(i,2);jL(u,{});var d=P(u,2),f=e=>{z(e,T0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!K.authError);V(d,e=>{I(p)&&e(f)});var m=P(d,2),h=e=>{var t=E0(),n=N(t,!0);E(t),F(()=>B(n,J.error)),z(e,t)};V(m,e=>{J.error&&!K.authError&&e(h)});var g=P(m,2),_=e=>{h1(e,{label:`Loading budgets...`})};V(g,e=>{J.loading&&!K.authError&&e(_)});var v=P(g,2),y=e=>{var t=D0(),n=N(t);b$(N(n),{id:`budget-filter`,placeholder:`Filter by user path, label, or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=P(n,2),i=P(N(r),2),a=N(i);a.value=a.__value=`subject`;var o=P(a);o.value=o.__value=`period`,E(i),E(r),E(t),Bi(i,()=>J.sortBy,e=>J.sortBy=e),z(e,t)};V(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!K.authError&&!J.formOpen&&e(y)});var b=P(v,2);S0(b,{});var x=P(b,2),S=e=>{m0(e,{get budgets(){return I(n)}})};V(x,e=>{I(n).length>0&&J.budgetsAvailable&&!K.authError&&e(S)});var C=P(x,2),w=e=>{z(e,O0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());V(C,e=>{I(T)&&e(w)});var ee=P(C,2),te=e=>{z(e,k0())},ne=k(()=>J.budgets.length>0&&I(n).length===0&&J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());V(ee,e=>{I(ne)&&e(te)}),E(r),z(e,r),O()}Hr([`click`]);function M0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function N0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function P0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:N0(e).label}))}function F0(e){return String(e&&e.scope||``).trim()||`user_path`}function I0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function L0(e){return N0(F0(e)).chip}function R0(e){return N0(String(e&&e.scope||``)).fieldLabel}function z0(e){return N0(String(e&&e.scope||``)).placeholder}function B0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function V0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function H0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function U0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function W0(e){let t=String(e&&e.period||``).trim(),n=H0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function G0(e){return F0(e)+`:`+I0(e)+`:`+String(e&&e.period_seconds||`0`)}function K0(e){return Number(e&&e.period_seconds||0)===0}function q0(e){return String(e&&e.period_label||``).trim()||U0(Number(e&&e.period_seconds||0))}function J0(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function Y0(e){return String(e&&e.source||``)===`config`}function X0(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function Z0(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function Q0(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[F0(e)]||0)-(i[F0(t)]||0);if(n!==0)return n;let r=I0(e).localeCompare(I0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=I0(e).toLowerCase(),r=L0(e).toLowerCase(),i=q0(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function $0(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function e2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function t2(e,t){return e?e2(t.scope,t.subject,t.limit_key.period_seconds)!==e2(e.scope,e.subject,e.period_seconds):!1}function n2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:R0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function r2(e,t,n){if(F0(e)!==`model`)return!1;let r=String(I0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function i2(e,t){return F0(e)===`provider`&&String(I0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function a2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function o2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:a2(n),hint:``,items:r.filter(e=>r2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>i2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>F0(e)===`user_path`&&I0(e)===`/`)}),i}function s2(e){return K0(e)?Z0(e.in_flight,e.max_requests):Math.max(Z0(e.requests_used,e.max_requests),Z0(e.tokens_used,e.max_tokens))}function c2(e){return`--rate-limit-pressure: `+s2(e)+`%`}function l2(e){let t=s2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function u2(e){return(Array.isArray(e)?e:[]).some(e=>F0(e)===`user_path`&&I0(e)===`/`)}function d2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>r2(e,t,n))?`table-action-btn-active`:r.some(e=>i2(e,t))||u2(r)?`rate-limit-gauge-inherited`:``}function f2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>i2(e,t))?`table-action-btn-active`:u2(n)?`rate-limit-gauge-inherited`:``}function p2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function m2(e){if(K0(e))return X0(e.in_flight)+` of `+X0(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push(X0(e.requests_used)+`/`+X0(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push(X0(e.tokens_used)+`/`+X0(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(M([]));get rateLimits(){return I(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return I(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return I(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return I(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return I(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return I(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return I(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return I(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return I(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return I(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return I(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return I(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(M({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return I(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(M(M0()));get rateLimitForm(){return I(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return QI.rateLimitsVisible()}defaultRateLimitForm(){return M0()}rateLimitScopeMeta(e){return N0(e)}rateLimitScopeOptions(){return P0()}rateLimitScope(e){return F0(e)}rateLimitSubject(e){return I0(e)}rateLimitScopeLabel(e){return L0(e)}rateLimitSubjectFieldLabel(){return R0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return z0(this.rateLimitForm)}syncRateLimitScope(){B0(this.rateLimitForm)}rateLimitPeriodOptions(){return V0()}rateLimitPeriodSeconds(e){return H0(e)}rateLimitPeriodFromSeconds(e){return U0(e)}syncRateLimitPeriodSeconds(){W0(this.rateLimitForm)}rateLimitKey(e){return G0(e)}rateLimitIsConcurrent(e){return K0(e)}rateLimitPeriodLabel(e){return q0(e)}rateLimitSourceLabel(e){return J0(e)}rateLimitIsReadOnly(e){return Y0(e)}formatRateLimitNumber(e){return X0(e)}rateLimitUsagePercent(e,t){return Z0(e,t)}filteredRateLimits(){return Q0(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return $0(e)}async fetchRateLimitsPage(){if(await QI.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await JI(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=$0(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:F0(e),subject:I0(e),period_seconds:t},this.rateLimitForm={scope:F0(e),subject:I0(e),period:U0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=M0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=M0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return e2(e,t,n)}rateLimitIdentityMoved(e){return t2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return n2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await YI(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=WI(t,`Unable to save rate limit.`);return}if(this.rateLimits=$0(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),q.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await YI(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=$0(t.data),!0):(this.rateLimitFormError=WI(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=G0(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await YI(`/admin/rate-limits`,`DELETE`,{scope:F0(e),subject:I0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){q.error(WI(t,`Unable to delete rate limit.`));return}this.rateLimits=$0(t.data),q.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),q.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=G0(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await YI(`/admin/rate-limits/reset-one`,`POST`,{scope:F0(e),subject:I0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){q.error(WI(t,`Unable to reset rate limit.`));return}this.rateLimits=$0(t.data),q.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),q.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return r2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return i2(e,t)}rateLimitInspectorQualifiedModel(){return a2(this.rateLimitInspector)}rateLimitInspectorSections(){return o2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return s2(e)}rateLimitPressureStyle(e){return c2(e)}rateLimitPressureClass(e){return l2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>d2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>f2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>u2(e))}rateLimitGaugeTitle(e,t){return p2(e,t)}rateLimitInspectorSummary(e){return m2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},h2=R(``),g2=R(`
        `),_2=R(`
        `),v2=R(`

        Scope, subject, and period identify the rule: changing any of them + moves the rule to a new key and restarts its live counters.

        `),y2=R(``),b2=R(``);function x2(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitForm()}oL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=b2(),r=N(n),i=N(r),a=N(i),o=N(a),s=N(o,!0);E(o),E(a),iL(P(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=P(i,2),l=N(c),u=P(N(l),2);H(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=h2(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(u),E(l);var d=P(l,2),f=N(d),p=N(f,!0);E(f);var m=P(f,2);Zi(m),E(d);var h=P(d,2),g=P(N(h),2);H(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=h2(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(g),E(h);var _=P(h,2),v=e=>{var t=g2(),n=P(N(t),2);Zi(n),E(t),oa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),z(e,t)};V(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=P(_,2),b=N(y),x=N(b,!0);E(b);var S=P(b,2);Zi(S),E(y);var C=P(y,2),w=e=>{var t=_2(),n=P(N(t),2);Zi(n),E(t),oa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),z(e,t)};V(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=P(c,4),ee=e=>{z(e,v2())};V(T,e=>{Y.rateLimitEditing&&e(ee)});var te=P(T,2),ne=e=>{var t=y2(),n=N(t,!0);E(t),F(()=>B(n,Y.rateLimitFormError)),z(e,t)};V(te,e=>{Y.rateLimitFormError&&e(ne)});var re=P(te,2),ie=N(re),ae=P(ie,2),oe=N(ae);G(oe,{name:`save`,class:`form-action-icon`});var se=P(oe,2),ce=N(se,!0);E(se),E(ae),E(re),E(r),E(n),F((e,t)=>{B(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),B(p,e),W(m,`placeholder`,t),W(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),Qi(m,Y.rateLimitForm.subject),B(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),W(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,B(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Vr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),L(`change`,u,()=>Y.syncRateLimitScope()),Bi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),L(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),L(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Bi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),oa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),L(`click`,ie,()=>Y.closeRateLimitForm()),z(e,n)},$$slots:{default:!0}}),O()}Hr([`change`,`input`,`click`]);var S2=R(` `),C2=R(` Edit`,1),w2=R(` `,1),T2=R(`
        In-flight
        `),E2=R(`
        Requests
        `),D2=R(`
        Tokens
        `),O2=R(`
        `),k2=R(`
        `);function A2(e,t){D(t,!0);var n=k2();H(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=O2(),r=N(n),i=N(r),a=N(i),o=N(a,!0);E(a);var s=P(a,2),c=N(s),l=e=>{var n=S2(),r=N(n);{let e=k(()=>Y.rateLimitScope(I(t))===`provider`?`server`:`box`);G(r,{get name(){return I(e)},class:`budget-period-icon`})}var i=P(r,2),a=N(i,!0);E(i),E(n),F((e,t)=>{W(n,`title`,e),B(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(I(t)),()=>Y.rateLimitScopeLabel(I(t))]),z(e,n)},u=k(()=>Y.rateLimitScope(I(t))!==`user_path`);V(c,e=>{I(u)&&e(l)});var d=P(c,2),f=N(d);{let e=k(()=>Y.rateLimitIsConcurrent(I(t))?`activity`:`timer`);G(f,{get name(){return I(e)},class:`budget-period-icon`})}var p=P(f,2),m=N(p,!0);E(p),E(d),E(s);var h=P(s,2),g=N(h),_=N(g),v=N(_,!0);E(_),E(g);var y=P(g,2),b=N(y),x=e=>{_1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(I(t)),children:(e,t)=>{var n=C2();G(Sn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),z(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(I(t)));V(b,e=>{I(S)&&e(x)});var C=P(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(I(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(I(t)));_1(C,{get label(){return I(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(I(t)),get disabled(){return I(n)},children:(e,n)=>{var r=w2(),i=Sn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=P(i,2),o=N(a,!0);E(a),F(e=>B(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(I(t))?`Resetting`:`Reset`]),z(e,r)},$$slots:{default:!0}})}var w=P(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(I(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(I(t)));_1(e,{get label(){return I(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(I(t)),get disabled(){return I(r)},children:(e,n)=>{var r=w2(),i=Sn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=P(i,2),o=N(a,!0);E(a),F(e=>B(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(I(t))?`Deleting`:`Delete`]),z(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(I(t)));V(w,e=>{I(ee)&&e(T)}),E(y),E(h),E(i);var te=P(i,2),ne=N(te),re=e=>{var n=T2(),r=N(n),i=P(N(r),2),a=N(i,!0);E(i),E(r);var o=P(r,2),s=N(o);let c;var l=P(s,2),u=N(l),d=N(u,!0);E(u),E(l),E(o),E(n),F((e,t,n,r,i,l)=>{B(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Li(o,r),c=U(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),B(d,l)},[()=>Y.rateLimitUsagePercent(I(t).in_flight,I(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(I(t).in_flight,I(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(I(t).in_flight)+` of `+Y.formatRateLimitNumber(I(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(I(t).in_flight,I(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(I(t).in_flight,I(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(I(t).in_flight)+` of `+Y.formatRateLimitNumber(I(t).max_requests)+` in flight`]),z(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(I(t)));V(ne,e=>{I(ie)&&e(re)});var ae=P(ne,2),oe=e=>{var n=E2(),r=N(n),i=P(N(r),2),a=N(i,!0);E(i),E(r);var o=P(r,2),s=N(o);let c;var l=P(s,2),u=N(l),d=N(u,!0);E(u);var f=P(u,2),p=N(f,!0);E(f),E(l),E(o),E(n),F((e,t,n,r,i,l,u)=>{B(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Li(o,r),c=U(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),B(d,l),B(p,u)},[()=>Y.rateLimitUsagePercent(I(t).requests_used,I(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(I(t).requests_used,I(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(I(t).requests_used)+` of `+Y.formatRateLimitNumber(I(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(I(t).requests_used,I(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(I(t).requests_used,I(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(I(t).requests_used)+` of `+Y.formatRateLimitNumber(I(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(I(t).requests_remaining)+` left`]),z(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(I(t))&&I(t).max_requests);V(ae,e=>{I(se)&&e(oe)});var ce=P(ae,2),le=e=>{var n=D2(),r=N(n),i=P(N(r),2),a=N(i,!0);E(i),E(r);var o=P(r,2),s=N(o);let c;var l=P(s,2),u=N(l),d=N(u,!0);E(u);var f=P(u,2),p=N(f,!0);E(f),E(l),E(o),E(n),F((e,t,n,r,i,l,u)=>{B(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Li(o,r),c=U(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),B(d,l),B(p,u)},[()=>Y.rateLimitUsagePercent(I(t).tokens_used,I(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(I(t).tokens_used,I(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(I(t).tokens_used)+` of `+Y.formatRateLimitNumber(I(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(I(t).tokens_used,I(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(I(t).tokens_used,I(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(I(t).tokens_used)+` of `+Y.formatRateLimitNumber(I(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(I(t).tokens_remaining)+` left`]),z(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(I(t))&&I(t).max_tokens);V(ce,e=>{I(ue)&&e(le)}),E(te),E(r),E(n),F((e,t,n,r,i)=>{W(a,`title`,e),B(o,t),B(m,n),W(_,`title`,r),B(v,i)},[()=>Y.rateLimitScopeLabel(I(t))+`: `+Y.rateLimitSubject(I(t)),()=>Y.rateLimitSubject(I(t)),()=>Y.rateLimitPeriodLabel(I(t)),()=>Y.rateLimitIsReadOnly(I(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(I(t))]),z(e,n)}),E(n),z(e,n),O()}var j2=R(`

        Rate Limits

        `),M2=R(``),N2=R(`
        Rate limit management is unavailable.
        `),P2=R(``),F2=R(`
        `),I2=R(`

        No rate limits configured yet.

        `),L2=R(`

        No rate limits match your filter.

        `),R2=R(`
        `);function z2(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=R2(),i=N(r),a=N(i);aQ(N(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{z(e,j2())},$$slots:{title:!0}}),E(a);var o=P(a,2),s=N(o),c=e=>{var t=M2();G(N(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),F(()=>t.disabled=Y.rateLimitFormSubmitting),L(`click`,t,()=>Y.openRateLimitForm()),z(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!K.authError);V(s,e=>{I(l)&&e(c)}),E(o),E(i);var u=P(i,2);jL(u,{});var d=P(u,2),f=e=>{z(e,N2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!K.authError);V(d,e=>{I(p)&&e(f)});var m=P(d,2),h=e=>{var t=P2(),n=N(t,!0);E(t),F(()=>B(n,Y.rateLimitError)),z(e,t)};V(m,e=>{Y.rateLimitError&&!K.authError&&e(h)});var g=P(m,2),_=e=>{h1(e,{label:`Loading rate limits...`})};V(g,e=>{Y.rateLimitsLoading&&!K.authError&&e(_)});var v=P(g,2),y=e=>{var t=F2(),n=N(t);b$(N(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),z(e,t)};V(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!K.authError&&!Y.rateLimitFormOpen&&e(y)});var b=P(v,2);x2(b,{});var x=P(b,2),S=e=>{A2(e,{get rules(){return I(n)}})};V(x,e=>{I(n).length>0&&Y.rateLimitsAvailable&&!K.authError&&e(S)});var C=P(x,2),w=e=>{z(e,I2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());V(C,e=>{I(T)&&e(w)});var ee=P(C,2),te=e=>{z(e,L2())},ne=k(()=>Y.rateLimits.length>0&&I(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());V(ee,e=>{I(ne)&&e(te)}),E(r),z(e,r),O()}Hr([`click`]);function B2(e){return String(e||``).trim().toLowerCase()}function V2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function H2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function U2(e){return H2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function W2(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function G2(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function K2(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function q2(e,t){let n={model:e},r=K2(t);return r!==null&&(n.weight=r),n}function J2(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(q2(t,e&&e.weight))}return n}function Y2(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function X2(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,session_affinity:e.session_affinity!==!1,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function Z2(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push(X2(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function Q2(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+Y2(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function $2(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function e4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function t4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function n4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:t4(e.user_paths)?`is-restricted`:`is-enabled`}function r4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function i4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=B2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=V2(e),n=null;for(let t of U2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(B2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of W2(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:Q2(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:$2(e),alias_state_text:e4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function a4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function o4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function s4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function c4(e){let t=String(e||``).trim();return t?t+`/`:``}function l4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function u4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function d4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function f4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function p4(e,t,n,r){let i=c4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=u4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function m4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:o4(e,n),type_label:s4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=o4(o.provider_name,o.provider_type),o.type_label=s4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=p4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:r4(n),item_count_label:l4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:l4(i)}),o}function h4(e,t){let n=f4(t,`/`),r=d4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function g4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||V2(e):``}function _4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,$2(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function v4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function y4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function b4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function x4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function S4(e){return!!(e&&e.override)}function C4(e){return e?`table-action-btn-active`:``}function w4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function T4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,session_affinity:!0,user_paths:``,description:``,enabled:!0}}function E4(e){return String(e&&e.target_model||``).trim()!==``}function D4(e){return String(e&&e.target_model||``).trim()?!0:J2(e&&e.targets).length>0}function O4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function k4(e){return O4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function A4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function j4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:G2(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:G2(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function M4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function N4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=J2(e&&e.targets),o=D4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:M4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(q2(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n,e&&e.session_affinity===!1&&(l.session_affinity=!1)}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function P4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,e.session_affinity===!1&&(t.session_affinity=!1),t.targets=t.strategy===`cost`?n.map(e=>({model:G2(e)})):n.map(e=>q2(G2(e),e.weight))):n.length===1?t.target_model=G2(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function F4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function I4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:ii4({models:kL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:kL.activeCategory}));get displayModels(){return I(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>m4(this.displayModels,kL.models,this.modelOverrideViews));get displayModelGroups(){return I(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>a4(this.displayModels,kL.filter));get filteredDisplayModels(){return I(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!kL.filter&&t>=this.displayModels.length?this.displayModelGroups:m4(e.slice(0,t),kL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return I(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>h4(kL.models,this.modelOverrideViews));get globalScopeRow(){return I(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(kL.loading||this.modelsRendering)}modelLoadingText(){if(kL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=L4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=I4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await JI(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=Z2(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return V2(e)}findModelOverrideView(e){return f4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=B2(e);if(!t)return null;for(let e of this.aliases)if(B2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=B2(e);if(!t)return null;for(let e of kL.models)if(U2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&n4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(x4(e)){q.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=P4(t);try{let e=await YI(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:WI(e,`Failed to update alias state.`));return}q.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),q.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=g4(e);if(!t)return;let{method:n,payload:r,desired:i}=F4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await YI(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:WI(e,`Failed to update model access.`));return}}q.success(i?`Model enabled.`:`Model disabled.`),Promise.all([kL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),q.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await YI(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){q.error(t.status===401?`Authentication required.`:WI(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,q.success(e.notice),Promise.all([kL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),q.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){A4(this.vmForm)}vmFormHasPrimaryTarget(){return E4(this.vmForm)}vmFormShowStrategy(){return O4(this.vmForm)}vmFormShowWeights(){return k4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&t4(M4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=T4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=V2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=d4(kL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=j4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,session_affinity:e.session_affinity!==!1,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` +`),description:e.description||``,enabled:e.enabled!==!1}}openVirtualModelEditModel(e){if(!e||e.is_alias)return;let t=e.access||{},n=t.override||null,r=n&&Array.isArray(n.user_paths)?n.user_paths:Array.isArray(t.user_paths)?t.user_paths:[],i=g4(e);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!n,this.vmFormOriginalSource=i;let a=n?n.enabled!==!1:t.effective_enabled!==!1;this.vmFormDefaultEnabled=t.default_enabled!==!1,this.vmFormEffectiveEnabled=a,this.vmFormManaged=!!(n&&n.managed),this.vmFormDisplayName=e.access_display_name||e.display_name||i||``,this.vmForm={source:i,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:r.join(` +`),description:n&&n.description?n.description:``,enabled:a}}openGlobalModelOverrideEdit(){let e=this.findModelOverrideView(`/`),t=e&&Array.isArray(e.user_paths)?e.user_paths:[],n=d4(kL.models);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!e,this.vmFormOriginalSource=`/`,this.vmFormDefaultEnabled=n,this.vmFormEffectiveEnabled=e?e.enabled!==!1:n,this.vmFormManaged=!!(e&&e.managed),this.vmFormDisplayName=`All providers and models`,this.vmForm={source:`/`,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:t.join(` +`),description:e&&e.description?e.description:``,enabled:e?e.enabled!==!1:n}}openProviderOverrideEdit(e){!e||!e.access||!e.access.selector||this.openVirtualModelEditModel({display_name:e.display_name,access_display_name:`All models in `+e.display_name,provider_name:e.provider_name,provider_type:e.provider_type,access:e.access,override_selector:e.access.selector,is_alias:!1})}async submitVirtualModelForm(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be edited here.`;return}let{payload:e,source:t,isRedirect:n,isRename:r}=N4(this.vmForm,this.vmFormOriginalSource,this.vmFormMode);if(!t){this.vmFormError=`Source is required.`;return}if(this.vmFormError=``,this.vmFormMode!==`edit`){let e=this.findExistingAliasByName(t),r=e?null:this.findModelOverrideView(t);if(e||r){let n=e?`A virtual model named "`+e.name+`" already exists. Saving will update that virtual model. Continue?`:`An access policy for "`+t+`" already exists. Saving will update that virtual model. Continue?`;if(!window.confirm(n)){this.vmFormError=`Choose a different source or edit the existing virtual model.`;return}}else if(n){let e=this.findConcreteModelByName(t);if(e){let t=V2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Creating this alias will mask that model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}else if(r){let e=(this.aliases||[]).find(e=>e&&e.name===t)||null,r=e?null:this.findModelOverrideView(t);if(e||r){this.vmFormError=`A virtual model for "`+t+`" already exists. Choose a different source.`;return}if(n){let e=this.findConcreteModelByName(t);if(e){let t=V2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Renaming to that name will mask the model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}this.vmSubmitting=!0;try{let t=await YI(`/admin/virtual-models`,`PUT`,e,{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:WI(t,`Failed to save virtual model.`);return}let r=!n&&t.status===204;this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(n?`Alias saved.`:r?`Model access reset to inherited/default.`:`Model access saved.`),Promise.all([kL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to save virtual model:`,e),this.vmFormError=`Failed to save virtual model.`}finally{this.vmSubmitting=!1}}async deleteVirtualModel(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be removed here.`;return}let e=String(this.vmForm.source||this.vmFormOriginalSource||``).trim();if(!(!e||!this.vmFormHasExisting)&&window.confirm(`Remove the virtual model for "`+e+`"? This reverts to inherited/default behavior.`)){this.vmDeleting=!0,this.vmFormError=``;try{let t=await YI(`/admin/virtual-models`,`DELETE`,{source:e},{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:WI(t,`Failed to remove virtual model.`);return}}this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(`Virtual model removed.`),Promise.all([kL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to delete virtual model:`,e),this.vmFormError=`Failed to remove virtual model.`}finally{this.vmDeleting=!1}}}},z4=[{value:`input_per_mtok`,label:`Input $/MTok`,group:`Tokens`},{value:`output_per_mtok`,label:`Output $/MTok`,group:`Tokens`},{value:`cached_input_per_mtok`,label:`Cached input $/MTok`,group:`Tokens`},{value:`cache_write_per_mtok`,label:`Cache write $/MTok`,group:`Tokens`},{value:`reasoning_output_per_mtok`,label:`Reasoning output $/MTok`,group:`Tokens`},{value:`batch_input_per_mtok`,label:`Batch input $/MTok`,group:`Batch`},{value:`batch_output_per_mtok`,label:`Batch output $/MTok`,group:`Batch`},{value:`audio_input_per_mtok`,label:`Audio input $/MTok`,group:`Audio`},{value:`audio_output_per_mtok`,label:`Audio output $/MTok`,group:`Audio`},{value:`per_image`,label:`$/Image`,group:`Image`},{value:`input_per_image`,label:`Input $/Image`,group:`Image`},{value:`per_second_input`,label:`Input $/Second`,group:`Audio/Video`},{value:`per_second_output`,label:`Output $/Second`,group:`Video`},{value:`per_character_input`,label:`$/Character`,group:`Audio`},{value:`per_page`,label:`$/Page`,group:`Utility`},{value:`per_request`,label:`$/Request`,group:`Utility`}];function B4(e){let t=z4.find(t=>t.value===e);return t?t.label:String(e||``).replace(/_/g,` `)}function V4(e){return e&&typeof e==`object`?JSON.parse(JSON.stringify(e)):{}}function H4(e,t){let n=V4(e),r=t&&t.pricing?t.pricing:t;if(!r||typeof r!=`object`)return n;for(let e of z4)r[e.value]!==null&&r[e.value]!==void 0&&(n[e.value]=Number(r[e.value]));return Array.isArray(r.tiers)&&r.tiers.length>0&&(n.tiers=V4(r.tiers)),n}function U4(e){switch(String(e||``).trim()){case`config_yaml`:return`config.yaml`;case`model_registry`:return`Model registry`;default:return e?String(e):`Unknown`}}function W4(e){let t=e&&e.pricing?e.pricing:{},n=e&&e.pricing_sources&&typeof e.pricing_sources==`object`?e.pricing_sources:{},r={};for(let e of z4)t[e.value]!==null&&t[e.value]!==void 0&&(r[e.value]=U4(n[e.value]||`model_registry`));return r}function G4(e){let t=String(e&&e.selector||``).trim();return t?`Dashboard/API override (`+t+`)`:`Dashboard/API override`}function K4(e){let t=String(e||``).trim();return t?t+`/`:``}function q4(e){return String(e&&e.model&&e.model.id||``).trim()}function J4(e){let t=String(e&&e.provider_name||``).trim(),n=q4(e);return t&&n?t+`/`+n:n}function Y4(e){return q4(e)}function X4(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n&&n.selector||``).trim();e&&t.set(e,n)}return t}function Z4(e,t){let n=String(t||``).trim();return n&&X4(e).get(n)||null}function Q4(e,t,n){let r=X4(e),i=J4(t),a=Y4(t),o=K4(t&&t.provider_name),s=String(n||``).trim();for(let e of[i,a,o,`/`]){if(!e||e===s)continue;let t=r.get(e);if(t)return t}return null}function $4(e,t,n){let r=e&&e.model&&e.model.metadata?e.model.metadata:null,i=V4(r&&r.pricing),a=W4(r),o=Q4(t,e,n),s=o&&o.pricing?o.pricing:null;if(s){let e=G4(o);for(let t of z4)s[t.value]!==null&&s[t.value]!==void 0&&(i[t.value]=Number(s[t.value]),a[t.value]=e);Array.isArray(s.tiers)&&s.tiers.length>0&&(i.tiers=V4(s.tiers),a.tiers=e)}return{pricing:i,sources:a}}function e3(e,t){let n=e&&e.pricing?e.pricing:{},r=[];for(let e of z4)n[e.value]!==null&&n[e.value]!==void 0&&r.push({id:t(),field:e.value,value:String(n[e.value])});return r}function t3(e,t){let n=new Set;for(let r of Array.isArray(e)?e:[]){if(t&&r.id===t)continue;let e=String(r.field||``).trim();e&&n.add(e)}return n}function n3(e,t){let n=t3(e,t&&t.id);return z4.filter(e=>e.value===(t&&t.field)||!n.has(e.value))}function r3(e,t){let n={},r=new Set;for(let t of Array.isArray(e)?e:[]){let e=String(t.field||``).trim();if(!e)return{error:`Choose a price type for every row.`};if(r.has(e))return{error:`Each price type can only be used once.`};r.add(e);let i=String(t.value||``).trim();if(i===``)return{error:`Enter a value for `+B4(e)+`.`};let a=Number(i);if(!Number.isFinite(a)||a<0)return{error:`Pricing values must be numbers greater than or equal to 0.`};n[e]=a}let i=Array.isArray(t)?t:[];return i.length>0&&(n.tiers=V4(i)),Object.keys(n).length===0?{error:`Add at least one pricing field before saving.`}:{pricing:n}}function i3(e,t,n){let r=e||{},i=t||{},a=n||{},o=H4(r,a);return z4.map(e=>{let t=a[e.value]!==null&&a[e.value]!==void 0,n=r[e.value]!==null&&r[e.value]!==void 0;return{field:e.value,label:e.label,value:o[e.value],source:t?`Form/API value`:n?i[e.value]||`Model registry`:`Unset`}}).filter(e=>e.source!==`Unset`||e.value!==void 0)}var a3=new class{#e=A(!0);get modelPricingOverridesAvailable(){return I(this.#e)}set modelPricingOverridesAvailable(e){j(this.#e,e,!0)}#t=A(M([]));get modelPricingOverrideViews(){return I(this.#t)}set modelPricingOverrideViews(e){j(this.#t,e,!0)}#n=A(``);get modelPricingOverrideError(){return I(this.#n)}set modelPricingOverrideError(e){j(this.#n,e,!0)}#r=A(!1);get modelPricingOverrideFormOpen(){return I(this.#r)}set modelPricingOverrideFormOpen(e){j(this.#r,e,!0)}#i=A(!1);get modelPricingOverrideSubmitting(){return I(this.#i)}set modelPricingOverrideSubmitting(e){j(this.#i,e,!0)}#a=A(!1);get modelPricingOverrideFormHasExistingOverride(){return I(this.#a)}set modelPricingOverrideFormHasExistingOverride(e){j(this.#a,e,!0)}#o=A(``);get modelPricingOverrideFormDisplayName(){return I(this.#o)}set modelPricingOverrideFormDisplayName(e){j(this.#o,e,!0)}#s=A(``);get modelPricingOverrideFormScope(){return I(this.#s)}set modelPricingOverrideFormScope(e){j(this.#s,e,!0)}#c=A(M([]));get modelPricingOverrideFormScopeOptions(){return I(this.#c)}set modelPricingOverrideFormScopeOptions(e){j(this.#c,e,!0)}#l=A(null);get modelPricingOverrideFormRow(){return I(this.#l)}set modelPricingOverrideFormRow(e){j(this.#l,e,!0)}#u=A(null);get modelPricingOverrideFormBasePricing(){return I(this.#u)}set modelPricingOverrideFormBasePricing(e){j(this.#u,e,!0)}#d=A(null);get modelPricingOverrideFormBasePricingSources(){return I(this.#d)}set modelPricingOverrideFormBasePricingSources(e){j(this.#d,e,!0)}#f=A(M([]));get modelPricingOverrideFormPreservedTiers(){return I(this.#f)}set modelPricingOverrideFormPreservedTiers(e){j(this.#f,e,!0)}#p=A(M([]));get modelPricingOverrideRows(){return I(this.#p)}set modelPricingOverrideRows(e){j(this.#p,e,!0)}#m=A(M({selector:``}));get modelPricingOverrideForm(){return I(this.#m)}set modelPricingOverrideForm(e){j(this.#m,e,!0)}_modelPricingOverrideRowID=0;pricingFieldOptions(){return z4}pricingFieldLabel(e){return B4(e)}async fetchModelPricingOverrides(){this.modelPricingOverrideError=``;try{let e=await JI(`/admin/model-pricing-overrides`,{label:`model pricing overrides`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideViews=[];return}if(e.stale)return;if(this.modelPricingOverridesAvailable=!0,!e.ok){this.modelPricingOverrideViews=[];return}this.modelPricingOverrideViews=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch model pricing overrides:`,e),this.modelPricingOverrideViews=[],this.modelPricingOverrideError=`Unable to load model pricing overrides.`}}findModelPricingOverrideView(e){return Z4(this.modelPricingOverrideViews,e)}hasGlobalPricingOverride(){return!!this.findModelPricingOverrideView(`/`)}hasProviderPricingOverride(e){return!!this.findModelPricingOverrideView(K4(e&&e.provider_name))}hasModelPricingOverride(e){return!!this.findModelPricingOverrideView(J4(e))}modelPricingButtonClass(e){return e?`table-action-btn-active`:``}modelPricingButtonLabel(e,t){let n=`Edit `+String(e||`model pricing`);return t?n+` (override exists)`:n}modelRowPricing(e){return $4(e,this.modelPricingOverrideViews).pricing}openGlobalPricingOverrideEdit(){this.openModelPricingOverrideForm({displayName:`All providers and models`,selector:`/`,scope:`global`,scopeOptions:[{value:`global`,label:`All providers and models`,selector:`/`}],row:null})}openProviderPricingOverrideEdit(e){let t=K4(e&&e.provider_name);t&&this.openModelPricingOverrideForm({displayName:`All models in `+(e.display_name||e.provider_name||t),selector:t,scope:`provider`,scopeOptions:[{value:`provider`,label:`Provider`,selector:t}],row:null})}openModelPricingOverrideEdit(e){if(!e||e.is_alias)return;let t=J4(e),n=Y4(e),r=[{value:`exact`,label:`This provider and model`,selector:t}];n&&n!==t&&r.push({value:`model`,label:`This model across providers`,selector:n}),this.openModelPricingOverrideForm({displayName:e.display_name||t,selector:t,scope:`exact`,scopeOptions:r,row:e})}openModelPricingOverrideForm(e){let t=e||{};this.modelPricingOverrideFormOpen=!0,this.modelPricingOverrideError=``,this.modelPricingOverrideFormDisplayName=t.displayName||t.selector||`Pricing`,this.modelPricingOverrideFormScope=t.scope||``,this.modelPricingOverrideFormScopeOptions=Array.isArray(t.scopeOptions)?t.scopeOptions:[],this.modelPricingOverrideFormRow=t.row||null,this.modelPricingOverrideForm={selector:t.selector||``},this.loadModelPricingOverrideFormSelector(t.selector||``)}loadModelPricingOverrideFormSelector(e){e=String(e||``).trim();let t=this.findModelPricingOverrideView(e);this.modelPricingOverrideFormHasExistingOverride=!!t,this.modelPricingOverrideRows=e3(t,()=>this.nextModelPricingOverrideRowID()),this.modelPricingOverrideFormPreservedTiers=t&&t.pricing&&Array.isArray(t.pricing.tiers)?V4(t.pricing.tiers):[],this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow();let n=this.modelPricingOverrideFormRow,r=n?$4(n,this.modelPricingOverrideViews,e):{pricing:{},sources:{}};this.modelPricingOverrideFormBasePricing=r.pricing,this.modelPricingOverrideFormBasePricingSources=r.sources}setModelPricingOverrideScope(e){this.modelPricingOverrideFormScope=e;let t=this.modelPricingOverrideFormScopeOptions.find(t=>t.value===e);t&&(this.modelPricingOverrideForm.selector=t.selector,this.loadModelPricingOverrideFormSelector(t.selector))}nextModelPricingOverrideRowID(){return this._modelPricingOverrideRowID=(this._modelPricingOverrideRowID||0)+1,`pricing-row-`+this._modelPricingOverrideRowID}availablePricingFieldOptions(e){return n3(this.modelPricingOverrideRows,e)}addModelPricingOverrideRow(){let e=t3(this.modelPricingOverrideRows),t=z4.find(t=>!e.has(t.value))||z4[0];t&&this.modelPricingOverrideRows.push({id:this.nextModelPricingOverrideRowID(),field:t.value,value:``})}removeModelPricingOverrideRow(e){this.modelPricingOverrideRows=this.modelPricingOverrideRows.filter(t=>t.id!==e.id),this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow()}modelPricingOverridePayload(){return r3(this.modelPricingOverrideRows,this.modelPricingOverrideFormPreservedTiers)}modelPricingOverrideDraftPricing(){let e=this.modelPricingOverridePayload();return e&&e.pricing?e.pricing:{}}modelPricingEffectivePreviewRows(){return i3(this.modelPricingOverrideFormBasePricing,this.modelPricingOverrideFormBasePricingSources,this.modelPricingOverrideDraftPricing())}closeModelPricingOverrideForm(){this.modelPricingOverrideFormOpen=!1,this.modelPricingOverrideSubmitting=!1,this.modelPricingOverrideError=``,this.modelPricingOverrideFormHasExistingOverride=!1,this.modelPricingOverrideFormDisplayName=``,this.modelPricingOverrideFormScope=``,this.modelPricingOverrideFormScopeOptions=[],this.modelPricingOverrideFormRow=null,this.modelPricingOverrideFormBasePricing=null,this.modelPricingOverrideFormBasePricingSources=null,this.modelPricingOverrideFormPreservedTiers=[],this.modelPricingOverrideRows=[],this.modelPricingOverrideForm={selector:``}}async submitModelPricingOverrideForm(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!e){this.modelPricingOverrideError=`Model pricing selector is required.`;return}let t=this.modelPricingOverridePayload();if(t.error){this.modelPricingOverrideError=t.error;return}let n={selector:e,...t};this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let e=await YI(`/admin/model-pricing-overrides`,`PUT`,n,{label:`model pricing override`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(e.stale)return;if(!e.ok){this.modelPricingOverrideError=e.status===401?`Authentication required.`:WI(e,`Failed to save model pricing.`);return}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing saved.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to save model pricing override:`,e),this.modelPricingOverrideError=`Failed to save model pricing.`}finally{this.modelPricingOverrideSubmitting=!1}}async deleteModelPricingOverride(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!(!e||!this.modelPricingOverrideFormHasExistingOverride)&&window.confirm(`Remove the model pricing override for "`+e+`"?`)){this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let t=await YI(`/admin/model-pricing-overrides`,`DELETE`,{selector:e},{label:`model pricing override`});if(t.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.modelPricingOverrideError=t.status===401?`Authentication required.`:WI(t,`Failed to remove model pricing override.`);return}}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing override removed.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to delete model pricing override:`,e),this.modelPricingOverrideError=`Failed to remove model pricing override.`}finally{this.modelPricingOverrideSubmitting=!1}}}},o3=R(``);function s3(e,t){D(t,!0);var n=o3();let r;var i=P(N(n),2),a=N(i,!0);E(i),E(n),F((e,i,o)=>{r=U(n,1,`alias-toggle`,null,r,e),n.disabled=R4.rowTogglingKey===t.row.key||!R4.virtualModelsAvailable,W(n,`aria-label`,i),B(a,o)},[()=>({enabled:R4.rowToggleEnabled(t.row),restricted:R4.rowToggleRestricted(t.row)}),()=>R4.rowToggleAriaLabel(t.row),()=>R4.rowToggleLabel(t.row)]),L(`click`,n,()=>R4.toggleRowEnabled(t.row)),z(e,n),O()}Hr([`click`]);var c3=R(`
        `);function l3(e,t){D(t,!0);var n=c3(),r=N(n),i=e=>{s3(e,{get row(){return R4.globalScopeRow}})};V(r,e=>{R4.virtualModelsAvailable&&e(i)});var a=P(r,2),o=e=>{{let t=k(()=>a3.modelPricingButtonLabel(`global model pricing`,a3.hasGlobalPricingOverride())),n=k(()=>a3.modelPricingButtonClass(a3.hasGlobalPricingOverride()));_1(e,{get label(){return I(t)},get class(){return`table-icon-btn ${I(n)??``}`},onclick:()=>a3.openGlobalPricingOverrideEdit(),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(a,e=>{a3.modelPricingOverridesAvailable&&e(o)});var s=P(a,2),c=e=>{{let t=k(()=>w4(`global model access`,R4.hasGlobalModelOverride())),n=k(()=>C4(R4.hasGlobalModelOverride()));_1(e,{get label(){return I(t)},get class(){return`table-icon-btn ${I(n)??``}`},onclick:()=>R4.openGlobalModelOverrideEdit(),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(s,e=>{R4.virtualModelsAvailable&&e(c)}),E(n),z(e,n),O()}function u3(e){return String(e&&(e.primary_model||e.source)||``).trim()}function d3(e){return Array.isArray(e&&e.fallback_models)?e.fallback_models:Array.isArray(e&&e.targets)?e.targets:[]}function f3(e){return Array.isArray(e)?e.map(e=>({...e,source:u3(e),targets:d3(e)})):[]}function p3(e){let t=d3(e);return t.length===0?`-`:t.join(`, `)}function m3(e){return e&&e.enabled===!1?`Off`:e&&e.managed?`Config`:`On`}function h3(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>u3(e)===n)||null}function g3(e,t){if(!t||t.is_alias)return!1;let n=h3(e,V2(t));return!!(n&&n.enabled!==!1&&d3(n).length>0)}function _3(e,t){return g3(e,t)?`table-action-btn-failover-active`:``}function v3(e,t){let n=`Edit failover for `+(t&&t.display_name?t.display_name:`model`);return g3(e,t)?n+` (active)`:n}function y3(e){let t=[e&&e.target_model];return(Array.isArray(e&&e.targets)?e.targets:[]).forEach(e=>t.push(e&&e.model)),t.map(e=>String(e||``).trim()).filter(Boolean)}function b3(e){let t=Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(Boolean):[];return{target_model:t[0]||``,targets:t.slice(1).map(e=>({model:e}))}}function x3(e){return{primary_model:String(e&&e.source||``).trim(),fallback_models:y3(e),enabled:!(e&&e.enabled===!1)}}function S3(e){return u3(e)}function C3(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=S3(e);n&&(t[n]=!0)}),t}function w3(e,t){let n=S3(t);return!!(n&&e&&e[n])}function T3(e,t){return(Array.isArray(e)?e:[]).filter(e=>w3(t,e))}function E3(e,t){let n=Array.isArray(e)?e:[];return n.length>0&&T3(n,t).length===n.length}function D3(e){return[u3(e),d3(e).join(` `)].join(` `).toLowerCase()}function O3(e,t){let n=Array.isArray(e)?e:[],r=String(t||``).trim().toLowerCase();return r?n.filter(e=>D3(e).includes(r)):n}function k3(e){return{primary_model:u3(e),fallback_models:d3(e).map(e=>String(e||``).trim()).filter(Boolean),enabled:!!(e&&e.enabled!==!1)}}function A3(){return{source:``,target_model:``,targets:[],enabled:!0}}var X=new class{#e=A(!0);get failoverAvailable(){return I(this.#e)}set failoverAvailable(e){j(this.#e,e,!0)}#t=A(M([]));get failoverRules(){return I(this.#t)}set failoverRules(e){j(this.#t,e,!0)}#n=A(!1);get failoverLoading(){return I(this.#n)}set failoverLoading(e){j(this.#n,e,!0)}#r=A(!1);get failoverSaving(){return I(this.#r)}set failoverSaving(e){j(this.#r,e,!0)}#i=A(!1);get failoverGenerating(){return I(this.#i)}set failoverGenerating(e){j(this.#i,e,!0)}#a=A(``);get failoverError(){return I(this.#a)}set failoverError(e){j(this.#a,e,!0)}#o=A(M([]));get failoverGeneratedRules(){return I(this.#o)}set failoverGeneratedRules(e){j(this.#o,e,!0)}#s=A(!1);get failoverDraftsOpen(){return I(this.#s)}set failoverDraftsOpen(e){j(this.#s,e,!0)}#c=A(M({}));get failoverDraftSelections(){return I(this.#c)}set failoverDraftSelections(e){j(this.#c,e,!0)}#l=A(``);get failoverDraftFilter(){return I(this.#l)}set failoverDraftFilter(e){j(this.#l,e,!0)}#u=A(!1);get failoverDraftSaving(){return I(this.#u)}set failoverDraftSaving(e){j(this.#u,e,!0)}#d=A(!1);get failoverFormOpen(){return I(this.#d)}set failoverFormOpen(e){j(this.#d,e,!0)}#f=A(`create`);get failoverFormMode(){return I(this.#f)}set failoverFormMode(e){j(this.#f,e,!0)}#p=A(!1);get failoverFormManaged(){return I(this.#p)}set failoverFormManaged(e){j(this.#p,e,!0)}#m=A(M(A3()));get failoverForm(){return I(this.#m)}set failoverForm(e){j(this.#m,e,!0)}failoverEnabled(){return QI.booleanFlag(`FAILOVER_ENABLED`,!0)}async fetchFailoverRules(){if(!this.failoverEnabled()){this.failoverAvailable=!1,this.failoverRules=[],this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,this.failoverError=``,this.failoverLoading=!1;return}this.failoverLoading=!0,this.failoverError=``;try{let e=await JI(`/admin/failover`,{label:`failover mappings`});if(e.status===503){this.failoverAvailable=!1,this.failoverRules=[];return}if(e.stale)return;if(this.failoverAvailable=!0,!e.ok){this.failoverRules=[];return}this.failoverRules=f3(e.data)}catch(e){console.error(`Failed to fetch failover mappings:`,e),this.failoverRules=[],this.failoverError=`Unable to load failover mappings.`}finally{this.failoverLoading=!1}}resetFailoverForm(){this.failoverFormMode=`create`,this.failoverFormManaged=!1,this.failoverForm=A3()}openFailoverCreate(){this.resetFailoverForm(),this.failoverFormOpen=!0,this.focusFailoverEditor()}openFailoverEdit(e){if(!e)return;this.resetFailoverForm(),this.failoverFormMode=`edit`,this.failoverFormOpen=!0,this.failoverFormManaged=!!e.managed;let t=this.failoverPrimaryModel(e),n=this.failoverTargets(e);this.failoverForm={source:t,target_model:n[0]||``,targets:n.slice(1).map(e=>({model:e})),enabled:e.enabled!==!1},this.focusFailoverEditor()}openFailoverForModel(e){if(!e||e.is_alias)return;let t=this.qualifiedModelName(e),n=this.failoverRules.find(e=>this.failoverPrimaryModel(e)===t);if(n){this.openFailoverEdit(n);return}this.resetFailoverForm(),this.failoverFormMode=`create`,this.failoverFormOpen=!0,this.failoverForm.source=t,this.focusFailoverEditor()}closeFailoverForm(){this.failoverFormOpen=!1}closeFailoverDraftsModal(){this.failoverDraftSaving||(this.failoverDraftsOpen=!1)}failoverFormTargets(){return y3(this.failoverForm)}setFailoverFormTargets(e){let t=b3(e);this.failoverForm.target_model=t.target_model,this.failoverForm.targets=t.targets}addFailoverTarget(){Array.isArray(this.failoverForm.targets)||(this.failoverForm.targets=[]),this.failoverForm.targets.push({model:``}),this.focusFailoverEditor()}removeFailoverTarget(e){if(!Array.isArray(this.failoverForm.targets)){this.failoverForm.targets=[];return}this.failoverForm.targets.splice(e,1)}removePrimaryFailoverTarget(){let e=Array.isArray(this.failoverForm.targets)?this.failoverForm.targets:[];if(e.length>0){let t=e.shift();this.failoverForm.target_model=t&&t.model?t.model:``,this.failoverForm.targets=e;return}this.failoverForm.target_model=``}failoverRulePayload(){return x3(this.failoverForm)}async submitFailoverForm(){if(this.failoverSaving||this.failoverGenerating||this.failoverFormManaged)return;let e=this.failoverRulePayload();if(!e.primary_model){this.failoverError=`Primary model is required.`;return}if(e.enabled&&e.fallback_models.length===0){this.failoverError=`Add at least one failover target.`;return}this.failoverSaving=!0,this.failoverError=``;try{let t=await YI(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to save failover mapping.`;return}q.success(`Failover mapping saved.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to save failover mapping:`,e),this.failoverError=`Failed to save failover mapping.`}finally{this.failoverSaving=!1}}async deleteFailoverRule(e){let t=String(e&&this.failoverPrimaryModel(e)||this.failoverForm.source||``).trim();if(!(!t||this.failoverSaving||this.failoverGenerating)&&confirm(`Remove failover mapping for "`+t+`"?`)){this.failoverSaving=!0,this.failoverError=``;try{let e=await YI(`/admin/failover`,`DELETE`,{primary_model:t},{label:`failover mapping`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mapping.`;return}q.success(`Failover mapping removed.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to remove failover mapping:`,e),this.failoverError=`Failed to remove failover mapping.`}finally{this.failoverSaving=!1}}}async generateFailoverForForm(){if(this.failoverGenerating||this.failoverSaving||this.failoverFormManaged)return;let e=String(this.failoverForm.source||``).trim();if(!e){this.failoverError=`Primary model is required.`;return}this.failoverGenerating=!0,this.failoverError=``;try{let t=await YI(`/admin/failover/generate`,`POST`,{primary_model:e},{label:`failover generation`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to generate failover mapping.`;return}let n=f3(t.data),r=n.find(t=>this.failoverPrimaryModel(t)===e)||n[0]||null,i=this.failoverTargets(r);if(i.length===0){this.failoverError=`No failover suggestions were generated for this model.`;return}this.setFailoverFormTargets(i),q.success(`Generated `+i.length+` fallback model`+(i.length===1?`.`:`s.`)),this.focusFailoverEditor()}catch(e){console.error(`Failed to generate failover mapping:`,e),this.failoverError=`Failed to generate failover mapping.`}finally{this.failoverGenerating=!1}}openFailoverResetDialog(){dL.open({title:`Remove failover models`,titleId:`failoverResetDialogTitle`,inputId:`failover-reset-confirmation`,message:`Remove every dashboard-managed failover mapping. Configuration-managed mappings remain active.`,requiredText:`remove`,confirmLabel:`Remove Failover`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:async()=>{await this.resetFailoverRules(),this.failoverError&&(dL.error=this.failoverError)}})}async resetFailoverRules(){if(!this.failoverSaving){this.failoverSaving=!0,this.failoverError=``;try{let e=await YI(`/admin/failover/reset`,`POST`,void 0,{label:`failover removal`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mappings.`;return}this.failoverRules=f3(e.data),this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,q.success(`Dashboard-managed failover mappings removed.`),dL.close()}catch(e){console.error(`Failed to remove failover mappings:`,e),this.failoverError=`Failed to remove failover mappings.`}finally{this.failoverSaving=!1}}}async generateFailoverRules(){if(!(this.failoverGenerating||this.failoverDraftSaving)){this.failoverGenerating=!0,this.failoverError=``,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!0;try{let e=await YI(`/admin/failover/generate`,`POST`,void 0,{label:`failover generation`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to generate failover mappings.`;return}this.failoverGeneratedRules=f3(e.data),this.selectAllFailoverDrafts(this.failoverGeneratedRules)}catch(e){console.error(`Failed to generate failover mappings:`,e),this.failoverError=`Failed to generate failover mappings.`}finally{this.failoverGenerating=!1}}}failoverDraftKey(e){return S3(e)}selectAllFailoverDrafts(e){this.failoverDraftSelections=C3(e)}failoverDraftSelected(e){return w3(this.failoverDraftSelections,e)}setFailoverDraftSelected(e,t){let n=this.failoverDraftKey(e);n&&(this.failoverDraftSelections={...this.failoverDraftSelections,[n]:!!t})}selectedFailoverDrafts(){return T3(this.failoverGeneratedRules,this.failoverDraftSelections)}selectedFailoverDraftCount(){return this.selectedFailoverDrafts().length}failoverDraftCountLabel(){return this.selectedFailoverDraftCount()+` / `+this.failoverGeneratedRules.length+` selected`}allFailoverDraftsSelected(){return E3(this.failoverGeneratedRules,this.failoverDraftSelections)}toggleAllFailoverDrafts(){if(!(this.failoverDraftSaving||this.failoverGenerating||this.failoverGeneratedRules.length===0)){if(this.allFailoverDraftsSelected()){this.failoverDraftSelections={};return}this.selectAllFailoverDrafts(this.failoverGeneratedRules)}}failoverDraftSearchText(e){return D3(e)}filteredFailoverDrafts(){return O3(this.failoverGeneratedRules,this.failoverDraftFilter)}failoverDraftPayload(e){return k3(e)}async saveSelectedFailoverDrafts(){if(this.failoverDraftSaving||this.failoverGenerating)return;let e=this.selectedFailoverDrafts();if(e.length===0){this.failoverError=`Select at least one failover draft.`;return}this.failoverDraftSaving=!0,this.failoverError=``;try{for(let t of e){let e=this.failoverDraftPayload(t);if(!e.primary_model||e.fallback_models.length===0){this.failoverError=`Generated failover draft is missing model data.`;return}let n=await YI(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(n.stale)return;if(!n.ok){this.failoverError=`Failed to save failover mapping.`;return}}q.success(`Saved `+e.length+` failover mapping`+(e.length===1?`.`:`s.`)),this.failoverDraftsOpen=!1,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.fetchFailoverRules()}catch(e){console.error(`Failed to save generated failover mappings:`,e),this.failoverError=`Failed to save failover mappings.`}finally{this.failoverDraftSaving=!1}}focusFailoverEditor(){setTimeout(()=>{let e=document.querySelector(`[data-failover-editor]`),t=e&&e.querySelector?e.querySelector(`[data-modal-autofocus], input:not([disabled]), textarea:not([disabled]), button:not([disabled])`):null;t&&typeof t.focus==`function`&&t.focus({preventScroll:!0})},0)}failoverTargetLabel(e){return p3(e)}failoverPrimaryModel(e){return u3(e)}failoverTargets(e){return d3(e)}findFailoverMapping(e){return h3(this.failoverRules,e)}hasActiveFailoverMapping(e){return g3(this.failoverRules,e)}failoverButtonClass(e){return _3(this.failoverRules,e)}failoverButtonLabel(e){return v3(this.failoverRules,e)}normalizeFailoverRules(e){return f3(e)}failoverRuleStatus(e){return m3(e)}qualifiedModelName(e){return V2(e)}},j3=R(``),M3=R(``),N3=R(`Config`),P3=R(`
        Targets
        `),F3=R(``),I3=R(`
        Redirects to
        `),L3=R(` `),R3=R(`
        `),z3=R(`
        `),B3=R(`
        `);function V3(e,t){D(t,!0);let n=k(()=>a3.modelRowPricing(t.row));var r=B3(),i=N(r),a=N(i),o=N(a),s=N(o),c=N(s,!0);E(s);var l=P(s,2),u=e=>{z(e,j3())};V(l,e=>{t.row.is_alias&&e(u)});var d=P(l,2),f=e=>{z(e,M3())};V(d,e=>{!t.row.is_alias&&t.row.masking_alias&&e(f)});var p=P(d,2),m=e=>{z(e,N3())},h=k(()=>x4(t.row));V(p,e=>{I(h)&&e(m)}),E(o);var g=P(o,2),_=e=>{var n=P3(),r=P(N(n)),i=N(r,!0);E(r),E(n),F(()=>B(i,t.row.secondary_name)),z(e,n)};V(g,e=>{t.row.is_alias&&e(_)});var v=P(g,2),y=e=>{var n=I3(),r=P(N(n)),i=N(r,!0);E(r);var a=P(r,2),o=e=>{var n=F3();F(e=>{W(n,`aria-label`,R4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),W(n,`title`,R4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),n.disabled=e},[()=>!!R4.rowDeletingKey]),L(`click`,n,()=>R4.removeRedirectRow(t.row)),z(e,n)},s=k(()=>R4.virtualModelsAvailable&&y4(t.row));V(a,e=>{I(s)&&e(o)}),E(n),F(e=>B(i,e),[()=>Q2(t.row.masking_alias)]),z(e,n)};V(v,e=>{!t.row.is_alias&&t.row.masking_alias&&e(y)}),E(a),E(i);var b=P(i);H(b,17,()=>t.columns,ai,(e,r)=>{var i=L3(),a=N(i,!0);E(i),F(e=>{U(i,1,Ai(I(r).class),`svelte-1iynym`),B(a,e)},[()=>I(r).value(t.row,I(n))]),z(e,i)});var x=P(b),S=N(x),C=e=>{var n=R3(),r=N(n);s3(r,{get row(){return t.row}});var i=P(r,2),a=e=>{{let n=k(()=>R4.rowDeletingKey===t.row.key?`Removing alias `+t.row.alias.name:`Remove alias `+t.row.alias.name),r=k(()=>!!R4.rowDeletingKey);_1(e,{get label(){return I(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>R4.removeAliasRow(t.row),get disabled(){return I(r)},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})}},o=k(()=>R4.virtualModelsAvailable&&v4(t.row));V(i,e=>{I(o)&&e(a)});var s=P(i,2),c=e=>{{let n=k(()=>`Edit alias `+t.row.alias.name);_1(e,{get label(){return I(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>R4.openVirtualModelEditAlias(t.row.alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(s,e=>{R4.virtualModelsAvailable&&e(c)}),E(n),z(e,n)},w=e=>{var n=z3(),r=N(n);s3(r,{get row(){return t.row}});var i=P(r,2),a=e=>{{let n=k(()=>a3.modelPricingButtonLabel(`model pricing for `+t.row.display_name,a3.hasModelPricingOverride(t.row))),r=k(()=>a3.modelPricingButtonClass(a3.hasModelPricingOverride(t.row)));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>a3.openModelPricingOverrideEdit(t.row),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(i,e=>{a3.modelPricingOverridesAvailable&&e(a)});var o=P(i,2),s=e=>{{let n=k(()=>X.failoverButtonLabel(t.row)),r=k(()=>X.failoverButtonClass(t.row));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>X.openFailoverForModel(t.row),children:(e,t)=>{G(e,{name:`shuffle`,class:`table-icon-svg`})},$$slots:{default:!0}})}},c=k(()=>X.failoverAvailable&&X.failoverEnabled());V(o,e=>{I(c)&&e(s)});var l=P(o,2),u=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(t.row.display_name,Y.rateLimitGaugeClassForModel(t.row))),r=k(()=>Y.rateLimitGaugeClassForModel(t.row));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>Y.openRateLimitInspectorForModel(t.row),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},d=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitInspectorModelID(t.row));V(l,e=>{I(d)&&e(u)});var f=P(l,2),p=e=>{{let n=k(()=>`Edit redirect for `+t.row.display_name);_1(e,{get label(){return I(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>R4.openVirtualModelEditAlias(t.row.masking_alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(f,e=>{R4.virtualModelsAvailable&&t.row.masking_alias&&t.row.masking_alias.name&&e(p)});var m=P(f,2),h=e=>{{let n=k(()=>w4(`model access for `+t.row.display_name,S4(t.row.access))),r=k(()=>C4(S4(t.row.access)));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>R4.openVirtualModelEditModel(t.row),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(m,e=>{R4.virtualModelsAvailable&&!t.row.masking_alias&&e(h)}),E(n),z(e,n)};V(S,e=>{t.row.is_alias?e(C):e(w,-1)}),E(x),E(r),F((e,n)=>{W(r,`id`,e),U(r,1,n,`svelte-1iynym`),B(c,t.row.display_name)},[()=>b4(t.row)||void 0,()=>Ai(_4(t.row))]),z(e,r),O()}Hr([`click`]);var H3={headerLines:[`Modes`],value:e=>(e.model?.metadata?.modes??[]).join(`, `)||`-`};function U3(e,t){return{headerLines:e,class:`col-price`,value:t}}var W3=U3([`Input / Output ($/MTok)`],(e,t)=>FL(t?.input_per_mtok)+` / `+FL(t?.output_per_mtok)),G3={all:[H3,W3],text_generation:[H3,W3,U3([`Cached $/MTok`],(e,t)=>FL(t?.cached_input_per_mtok))],embedding:[U3([`Input`,`$/MTok`],(e,t)=>FL(t?.input_per_mtok))],image:[U3([`$/Image`],(e,t)=>IL(t?.per_image))],audio:[U3([`$/Second`],(e,t)=>IL(t?.per_second_input)),U3([`$/Character`],(e,t)=>IL(t?.per_character_input))],video:[U3([`$/Second (In)`],(e,t)=>IL(t?.per_second_input)),U3([`$/Second (Out)`],(e,t)=>IL(t?.per_second_output))],utility:[U3([`$/Page`],(e,t)=>IL(t?.per_page)),U3([`$/Request`],(e,t)=>IL(t?.per_request))]};function K3(e){return G3[e]||G3.all}function q3(e){return K3(e).length+2}var J3=R(`
        `),Y3=R(` `,1),X3=R(``),Z3=R(` `),Q3=R(` `),$3=R(`
        `),e6=R(`
        `),t6=R(`
        Model
        `);function n6(e,t){D(t,!0);let n=k(()=>kL.activeCategory||`all`),r=k(()=>K3(I(n))),i=k(()=>q3(I(n)));var a=t6(),o=N(a),s=N(o),c=N(s),l=P(N(c));H(l,17,()=>I(r),ai,(e,t)=>{var n=X3();H(n,21,()=>I(t).headerLines,ai,(e,t,n)=>{var r=Y3(),i=Sn(r),a=e=>{z(e,J3())};V(i,e=>{n>0&&e(a)});var o=P(i,1,!0);F(()=>B(o,I(t))),z(e,r)}),E(n),F(()=>U(n,1,Ai(I(t).class),`svelte-1911hy6`)),z(e,n)});var u=P(l);l3(N(u),{}),E(u),E(c),E(s),H(P(s),17,()=>R4.filteredDisplayModelGroups,e=>e.key,(e,t)=>{var n=e6(),a=N(n),o=N(a),s=N(o),c=N(s),l=N(c),u=N(l),d=N(u,!0);E(u);var f=P(u,2),p=e=>{var n=Z3(),r=N(n,!0);E(n),F(()=>B(r,`(`+I(t).type_label+`)`)),z(e,n)};V(f,e=>{I(t).type_label&&e(p)});var m=P(f,2),h=e=>{var n=Q3(),r=N(n,!0);E(n),F(()=>B(r,I(t).item_count_label)),z(e,n)};V(m,e=>{I(t).item_count_label&&e(h)}),E(l);var g=P(l,2),_=e=>{var n=$3(),r=N(n,!0);E(n),F(()=>B(r,I(t).access_summary)),z(e,n)};V(g,e=>{I(t).access_summary&&e(_)}),E(c);var v=P(c,2),y=N(v),b=e=>{s3(e,{get row(){return I(t)}})};V(y,e=>{I(t).access.selector&&e(b)});var x=P(y,2),S=e=>{{let n=k(()=>a3.modelPricingButtonLabel(`provider pricing for `+I(t).display_name,a3.hasProviderPricingOverride(I(t)))),r=k(()=>a3.modelPricingButtonClass(a3.hasProviderPricingOverride(I(t))));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>a3.openProviderPricingOverrideEdit(I(t)),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(x,e=>{a3.modelPricingOverridesAvailable&&I(t).provider_name&&e(S)});var C=P(x,2),w=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(`provider `+I(t).display_name,Y.rateLimitGaugeClassForProvider(I(t)))),r=k(()=>Y.rateLimitGaugeClassForProvider(I(t)));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>Y.openRateLimitInspectorForProvider(I(t)),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},T=k(()=>Y.rateLimitsEnabled()&&I(t).provider_name);V(C,e=>{I(T)&&e(w)});var ee=P(C,2),te=e=>{{let n=k(()=>w4(`provider access for `+I(t).display_name,S4(I(t).access))),r=k(()=>C4(S4(I(t).access)));_1(e,{get label(){return I(n)},get class(){return`table-icon-btn ${I(r)??``}`},onclick:()=>R4.openProviderOverrideEdit(I(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(ee,e=>{R4.virtualModelsAvailable&&I(t).access.selector&&e(te)}),E(v),E(s),E(o),E(a),H(P(a),17,()=>I(t).rows,e=>e.key,(e,t)=>{V3(e,{get row(){return I(t)},get columns(){return I(r)}})}),E(n),F(()=>{W(o,`colspan`,I(i)),B(d,I(t).display_name)}),z(e,n)}),E(o),E(a),z(e,a),O()}var r6=R(``),i6=R(`
        `);function a6(e,t){D(t,!0);let n=ma(t,`model`,15,``),r=ma(t,`weight`,15),i=ma(t,`id`,3,void 0),a=ma(t,`placeholder`,3,`openai/gpt-4o`),o=ma(t,`showRemove`,3,!0);var s=i6(),c=N(s);Zi(c);var l=P(c,2),u=e=>{var t=r6();Zi(t),F(()=>t.disabled=R4.vmFormManaged),oa(t,r),z(e,t)},d=k(()=>R4.vmFormShowWeights());V(l,e=>{I(d)&&e(u)});var f=P(l,2),p=e=>{_1(e,{label:`Remove target`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,get onclick(){return t.onremove},get disabled(){return R4.vmFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};V(f,e=>{o()&&e(p)}),E(s),F(()=>{W(c,`id`,i()),W(c,`placeholder`,a()),c.disabled=R4.vmFormManaged}),oa(c,n),z(e,s),O()}var o6=R(`

        `),s6=R(`Add one target to make this a redirect/alias, or two or more to load + balance across them, then pick a strategy: round_robin rotates across targets + (weight biases the share) and cost always routes to the cheapest available + target. Leave Targets empty to make it only an access policy on the Source selector. The selector uses / for all providers and + models, for one provider, or for one model. user_paths is + matched against the effective request user_path: the managed API key user_path when present, otherwise the configured user path request header.`,1),c6=R(`

        This virtual model is defined in configuration (config.yaml / VIRTUAL_MODELS) and is read-only here. Edit your configuration to change it.

        `),l6=R(``),u6=R(`
        `,1),d6=R(``),f6=R(`Use / to allow every user path. Use a team path to restrict to that + subtree, or an unused path to make the selector unavailable.`,1),p6=R(` `),m6=R(``),h6=R(``),g6=R(``),_6=R(``);function v6(e,t){D(t,!0);let n=R4;oL(e,{get open(){return n.vmFormOpen},onclose:()=>n.closeVirtualModelForm(),children:(e,t)=>{var r=_6(),i=N(r),a=N(i),o=N(a);aQ(o,{copyId:`virtual-model-help-copy`,label:`virtual model help`,get open(){return n.vmFormHelpOpen},set open(e){n.vmFormHelpOpen=e},title:e=>{var t=o6(),r=N(t,!0);E(t),F(()=>B(r,n.vmFormDisplayName||n.vmForm.source||`Virtual model`)),z(e,t)},help:e=>{We();var t=s6(),n=P(Sn(t),13);n.textContent=`{provider_name}/`;var r=P(n,2);r.textContent=`{provider_name}/{model}`,We(7),z(e,t)},$$slots:{title:!0,help:!0}}),iL(P(o,2),{label:`Close virtual model editor`,onclick:()=>n.closeVirtualModelForm()}),E(a);var s=P(a,2),c=e=>{z(e,c6())};V(s,e=>{n.vmFormManaged&&e(c)});var l=P(s,2),u=P(N(l),2);Zi(u),E(l);var d=P(l,2);H(d,21,()=>kL.models,e=>V2(e),(e,t)=>{var n=l6(),r=N(n,!0);E(n);var i={};F((e,t)=>{B(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>V2(I(t)),()=>V2(I(t))]),z(e,n)}),E(d);var f=P(d,2),p=P(N(f),2);{let e=k(()=>n.vmFormHasPrimaryTarget());a6(p,{id:`virtual-model-target`,get showRemove(){return I(e)},onremove:()=>n.removePrimaryTarget(),get model(){return n.vmForm.target_model},set model(e){n.vmForm.target_model=e},get weight(){return n.vmForm.target_weight},set weight(e){n.vmForm.target_weight=e}})}var m=P(p,2);H(m,17,()=>n.vmForm.targets,ai,(e,t,r)=>{a6(e,{placeholder:`groq/llama`,onremove:()=>n.removeVmTarget(r),get model(){return I(t).model},set model(e){I(t).model=e},get weight(){return I(t).weight},set weight(e){I(t).weight=e}})});var h=P(m,2),g=N(h);G(N(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h),E(f);var _=P(f,2),v=e=>{var t=u6(),r=Sn(t),i=P(N(r),2),a=N(i);a.value=a.__value=`round_robin`;var o=P(a);o.value=o.__value=`cost`,E(i),E(r);var s=P(r,2),c=N(s),l=N(c);Zi(l),We(2),E(c),E(s),F(()=>{i.disabled=n.vmFormManaged,l.disabled=n.vmFormManaged}),Bi(i,()=>n.vmForm.strategy,e=>n.vmForm.strategy=e),sa(l,()=>n.vmForm.session_affinity,e=>n.vmForm.session_affinity=e),z(e,t)},y=k(()=>n.vmFormShowStrategy());V(_,e=>{I(y)&&e(v)});var b=P(_,2),x=N(b);aQ(x,{copyId:`virtual-model-user-paths-help`,label:`user paths help`,get open(){return n.vmFormUserPathsHelpOpen},set open(e){n.vmFormUserPathsHelpOpen=e},title:e=>{z(e,d6())},help:e=>{We();var t=f6();We(2),z(e,t)},$$slots:{title:!0,help:!0}});var S=P(x,2);pt(S),W(S,`placeholder`,`/ +/team/alpha +/non-existing`),E(b);var C=P(b,2),w=P(N(C),2);pt(w),E(C);var T=P(C,2),ee=N(T),te=e=>{var t=p6(),r=N(t,!0);E(t),F(()=>B(r,`Default enabled: `+(n.vmFormDefaultEnabled?`yes`:`no`)+` · Effective now: `+(n.vmFormEffectiveEnabled?`yes`:`no`))),z(e,t)};V(ee,e=>{n.vmFormMode===`edit`&&e(te)});var ne=P(ee,2),re=N(ne);let ie;var ae=P(N(re),2),oe=N(ae,!0);E(ae),E(re),E(ne),E(T);var se=P(T,2),ce=e=>{var t=m6(),r=N(t,!0);E(t),F(()=>B(r,n.vmFormError)),z(e,t)};V(se,e=>{n.vmFormError&&e(ce)});var le=P(se,2),ue=N(le),de=P(ue,2),fe=e=>{var t=h6();F(()=>t.disabled=n.vmDeleting||n.vmSubmitting),L(`click`,t,()=>n.deleteVirtualModel()),z(e,t)};V(de,e=>{n.vmFormHasExisting&&!n.vmFormManaged&&e(fe)});var pe=P(de,2),me=e=>{var t=g6(),r=N(t),i=e=>{G(e,{name:`plus`,class:`form-action-icon`})},a=e=>{G(e,{name:`save`,class:`form-action-icon`})};V(r,e=>{n.vmFormMode===`edit`?e(a,-1):e(i)});var o=P(r,2),s=N(o,!0);E(o),E(t),F(()=>{t.disabled=n.vmSubmitting||n.vmDeleting,B(s,n.vmSubmitting?`Saving...`:n.vmFormMode===`edit`?`Save`:`Create`)}),z(e,t)};V(pe,e=>{n.vmFormManaged||e(me)}),E(le),E(i),E(r),F((e,t)=>{u.disabled=n.vmFormSourceLocked||n.vmFormManaged,g.disabled=n.vmFormManaged,S.disabled=n.vmFormManaged,w.disabled=n.vmFormManaged,ie=U(re,1,`alias-toggle`,null,ie,e),W(re,`aria-label`,(n.vmForm.enabled?`Disable`:`Enable`)+` virtual model`),re.disabled=n.vmFormManaged,B(oe,t)},[()=>({enabled:n.vmForm.enabled,restricted:n.vmFormToggleRestricted()}),()=>n.vmFormToggleLabel()]),Vr(`submit`,i,e=>{e.preventDefault(),n.submitVirtualModelForm()}),oa(u,()=>n.vmForm.source,e=>n.vmForm.source=e),L(`click`,g,()=>n.addVmTarget()),oa(S,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),oa(w,()=>n.vmForm.description,e=>n.vmForm.description=e),L(`click`,re,()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}),L(`click`,ue,()=>n.closeVirtualModelForm()),z(e,r)},$$slots:{default:!0}}),O()}Hr([`click`]);var y6=R(``),b6=R(`
        `),x6=R(`
        `),S6=R(`
        Tiered pricing exists for this override and will be preserved. Tier editing can be added + without a database migration.
        `),C6=R(`
        No pricing fields set.
        `),w6=R(`
        `),T6=R(``),E6=R(``),D6=R(``);function O6(e,t){D(t,!0);let n=a3;oL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=D6(),i=N(r),a=N(i),o=N(a),s=P(N(o),2),c=N(s,!0);E(s),E(o),iL(P(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=P(a,2),u=N(l),d=P(N(u),2);Zi(d),E(u);var f=P(u,2),p=e=>{var t=b6(),r=P(N(t),2);H(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=y6(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(r),E(t),L(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Bi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),z(e,t)};V(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=P(l,4);H(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=x6(),a=N(i),o=N(a),s=P(o,2);H(s,21,()=>n.availablePricingFieldOptions(I(t)),e=>e.value,(e,t)=>{var n=y6(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).group+` - `+I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(s),E(a);var c=P(a,2),l=N(c),u=P(l,2);Zi(u),E(c);var d=P(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(I(t).field));_1(d,{get label(){return I(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(I(t)),children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),F(()=>{W(o,`for`,`pricing-type-`+I(t).id),W(s,`id`,`pricing-type-`+I(t).id),W(l,`for`,`pricing-value-`+I(t).id),W(u,`id`,`pricing-value-`+I(t).id)}),Bi(s,()=>I(t).field,e=>I(t).field=e),oa(u,()=>I(t).value,e=>I(t).value=e),z(e,i)}),E(m);var h=P(m,2),g=N(h);G(N(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=P(h,2),v=e=>{z(e,S6())};V(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=P(_,2),b=P(N(y),2),x=e=>{z(e,C6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);V(b,e=>{I(S)&&e(x)}),H(P(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=w6(),r=N(n),i=N(r,!0);E(r);var a=P(r,2),o=N(a,!0);E(a);var s=P(a,2),c=N(s,!0);E(s),E(n),F(e=>{B(i,I(t).label),B(o,e),B(c,I(t).source)},[()=>I(t).value===null||I(t).value===void 0?`-`:IL(Number(I(t).value))]),z(e,n)}),E(y);var C=P(y,2),w=e=>{var t=T6(),r=N(t,!0);E(t),F(()=>B(r,n.modelPricingOverrideError)),z(e,t)};V(C,e=>{n.modelPricingOverrideError&&e(w)});var T=P(C,2),ee=N(T),te=P(ee,2),ne=e=>{var t=E6();F(()=>t.disabled=n.modelPricingOverrideSubmitting),L(`click`,t,()=>n.deleteModelPricingOverride()),z(e,t)};V(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=P(te,2),ie=N(re);G(ie,{name:`save`,class:`form-action-icon`});var ae=P(ie,2),oe=N(ae,!0);E(ae),E(re),E(T),E(i),E(r),F(()=>{B(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,B(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Vr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),oa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),L(`click`,g,()=>n.addModelPricingOverrideRow()),L(`click`,ee,()=>n.closeModelPricingOverrideForm()),z(e,r)},$$slots:{default:!0}}),O()}Hr([`change`,`click`]);var k6=R(`

        This failover mapping is defined in configuration and is read-only here.

        `),A6=R(``),j6=R(`
        `),M6=R(``),N6=R(``),P6=R(``),F6=R(``);function I6(e,t){D(t,!0),oL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=F6(),r=N(n),i=N(r),a=N(i),o=P(N(a),2),s=N(o,!0);E(o),E(a),iL(P(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=P(i,2),l=e=>{z(e,k6())};V(c,e=>{X.failoverFormManaged&&e(l)});var u=P(c,2);H(u,21,()=>kL.models,ai,(e,t)=>{var n=A6(),r=N(n,!0);E(n);var i={};F((e,t)=>{B(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>V2(I(t)),()=>V2(I(t))]),z(e,n)}),E(u);var d=P(u,2),f=P(N(d),2),p=N(f),m=N(p);Zi(m);var h=P(m,2),g=e=>{_1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};V(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),H(P(p,2),17,()=>X.failoverForm.targets,ai,(e,t,n)=>{var r=j6(),i=N(r);Zi(i),_1(P(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),F(()=>i.disabled=X.failoverFormManaged),oa(i,()=>I(t).model,e=>I(t).model=e),z(e,r)}),E(f);var _=P(f,2),v=N(_);G(N(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=P(v,2),b=N(y);G(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=P(b,2),S=N(x,!0);E(x),E(y),E(_),E(d);var C=P(d,2),w=N(C),T=N(w);let ee;var te=P(N(T),2),ne=N(te,!0);E(te),E(T),E(w),E(C);var re=P(C,2),ie=e=>{var t=M6(),n=N(t,!0);E(t),F(()=>B(n,X.failoverError)),z(e,t)};V(re,e=>{X.failoverError&&e(ie)});var ae=P(re,2),oe=N(ae),se=P(oe,2),ce=e=>{var t=N6();F(()=>t.disabled=X.failoverSaving||X.failoverGenerating),L(`click`,t,()=>X.deleteFailoverRule()),z(e,t)};V(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=P(se,2),ue=e=>{var t=P6(),n=N(t);G(n,{name:`save`,class:`form-action-icon`});var r=P(n,2),i=N(r,!0);E(r),E(t),F(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,B(i,X.failoverSaving?`Saving...`:`Save`)}),z(e,t)};V(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),F(e=>{B(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,B(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=U(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,W(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),B(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Vr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),oa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),L(`click`,v,()=>X.addFailoverTarget()),L(`click`,y,()=>X.generateFailoverForForm()),L(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),L(`click`,oe,()=>X.closeFailoverForm()),z(e,n)},$$slots:{default:!0}}),O()}Hr([`click`]);var L6=R(` `),R6=R(`
        `),z6=R(``),B6=R(`
        `),V6=R(`

        No failover suggestions were generated.

        `),H6=R(`

        No failover drafts match the filter.

        `),U6=R(``),W6=R(``);function G6(e,t){D(t,!0),oL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=W6(),r=N(n),i=P(N(r),2),a=N(i),o=e=>{var t=L6(),n=N(t,!0);E(t),F(e=>B(n,e),[()=>X.failoverDraftCountLabel()]),z(e,t)};V(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),iL(P(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=P(r,2),c=e=>{h1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};V(s,e=>{X.failoverGenerating&&e(c)});var l=P(s,2),u=e=>{var t=R6(),n=N(t);b$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=P(n,2),i=N(r);G(i,{name:`check`,class:`form-action-icon`});var a=P(i,2),o=N(a,!0);E(a),E(r),E(t),F(e=>{r.disabled=X.failoverDraftSaving,B(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),L(`click`,r,()=>X.toggleAllFailoverDrafts()),z(e,t)};V(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=P(l,2),f=e=>{var t=B6();H(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=z6(),r=N(n);Zi(r);var i=P(r,2),a=N(i),o=N(a,!0);E(a);var s=P(a,2),c=N(s,!0);E(s),E(i),E(n),F((e,t,n,i)=>{$i(r,e),r.disabled=X.failoverDraftSaving,W(r,`aria-label`,t),B(o,n),B(c,i)},[()=>X.failoverDraftSelected(I(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(I(t)),()=>X.failoverPrimaryModel(I(t)),()=>X.failoverTargetLabel(I(t))]),L(`change`,r,e=>X.setFailoverDraftSelected(I(t),e.currentTarget.checked)),z(e,n)}),E(t),z(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);V(d,e=>{I(p)&&e(f)});var m=P(d,2),h=e=>{z(e,V6())};V(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=P(m,2),_=e=>{z(e,H6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);V(g,e=>{I(v)&&e(_)});var y=P(g,2),b=e=>{var t=U6(),n=N(t,!0);E(t),F(()=>B(n,X.failoverError)),z(e,t)};V(y,e=>{X.failoverError&&e(b)});var x=P(y,2),S=N(x),C=P(S,2),w=N(C);G(w,{name:`save`,class:`form-action-icon`});var T=P(w,2),ee=N(T,!0);E(T),E(C),E(x),E(n),F(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,B(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),L(`click`,S,()=>X.closeFailoverDraftsModal()),L(`click`,C,()=>X.saveSelectedFailoverDrafts()),z(e,n)},$$slots:{default:!0}}),O()}Hr([`click`,`change`]);var K6=R(`
        Rate limit management is unavailable.
        `),q6=R(` Add`,1),J6=R(`

        `),Y6=R(`

        No rules.

        `),X6=R(` Edit`,1),Z6=R(`
        `),Q6=R(`
        `),$6=R(`

        `),e8=R(``),t8=R(``);function n8(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitInspector()}oL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=t8(),r=N(n),i=N(r),a=P(N(i),2),o=N(a),s=N(o,!0);E(o),E(a),E(i),iL(P(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=P(r,2),l=e=>{h1(e,{label:`Loading rate limits...`})},u=e=>{z(e,K6())},d=e=>{var t=Qr();H(Sn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=$6(),r=N(n),i=N(r),a=N(i,!0);E(i);var o=P(i,2);{let e=k(()=>`Add `+I(t).title.toLowerCase());_1(o,{get label(){return I(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(I(t).scope,I(t).subject),children:(e,t)=>{var n=q6();G(Sn(n),{name:`plus`,class:`table-icon-svg`}),We(2),z(e,n)},$$slots:{default:!0}})}E(r);var s=P(r,2),c=e=>{var n=J6(),r=N(n,!0);E(n),F(()=>B(r,I(t).hint)),z(e,n)};V(s,e=>{I(t).hint&&e(c)});var l=P(s,2),u=e=>{z(e,Y6())},d=e=>{var n=Q6();H(n,21,()=>I(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=Z6(),r=N(n),i=N(r),a=N(i),o=N(a,!0);E(a);var s=P(a,2),c=N(s),l=N(c);{let e=k(()=>Y.rateLimitIsConcurrent(I(t))?`activity`:`timer`);G(l,{get name(){return I(e)},class:`budget-period-icon`})}var u=P(l,2),d=N(u,!0);E(u),E(c),E(s);var f=P(s,2),p=N(f),m=N(p),h=N(m,!0);E(m);var g=P(m,2),_=N(g,!0);E(g),E(p);var v=P(p,2),y=N(v),b=e=>{_1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,I(t)),children:(e,t)=>{var n=X6();G(Sn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),z(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(I(t)));V(y,e=>{I(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),F((e,t,r,i,a,s,c,l)=>{U(n,1,`budget-row ${e??``}`),Li(n,t),W(n,`title`,r),B(o,i),B(d,a),B(h,s),W(g,`title`,c),B(_,l)},[()=>Y.rateLimitPressureClass(I(t)),()=>Y.rateLimitPressureStyle(I(t)),()=>Y.rateLimitPressurePercent(I(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(I(t)),()=>Y.rateLimitPeriodLabel(I(t)),()=>Y.rateLimitInspectorSummary(I(t)),()=>Y.rateLimitIsReadOnly(I(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(I(t))]),z(e,n)}),E(n),z(e,n)};V(l,e=>{I(t).items.length===0?e(u):e(d,-1)}),E(n),F(()=>B(a,I(t).title)),z(e,n)}),z(e,t)};V(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=P(c,2),p=N(f),m=P(p,2),h=e=>{var t=e8();L(`click`,t,()=>{Y.closeRateLimitInspector(),AI.navigate(`rate-limits`)}),z(e,t)},g=k(()=>Y.rateLimitsEnabled());V(m,e=>{I(g)&&e(h)}),E(f),E(n),F(()=>B(s,Y.rateLimitInspector.title)),L(`click`,p,()=>Y.closeRateLimitInspector()),z(e,n)},$$slots:{default:!0}}),O()}Hr([`click`]);var r8=R(`
        models
        `),i8=R(`
        Virtual models feature is unavailable.
        `),a8=R(`
        `),o8=R(``),s8=R(`
        `),c8=R(``),l8=R(`
        `),u8=R(`

        No models registered.

        `),d8=R(`

        No models in this category.

        `),f8=R(`

        No models match your filter.

        `),p8=R(`
        `);function m8(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`models`&&(R4.fetchVirtualModels(),a3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Mn(()=>{let e=R4.filteredDisplayModels.length;return Or(()=>R4.restartModelRendering(e)),()=>R4.stopModelRendering()});let n=k(()=>K.needsAuth);var r=p8(),i=N(r),a=P(N(i),2),o=e=>{var t=r8(),n=N(t),r=N(n,!0);E(n),We(),E(t),F(()=>B(r,kL.filter?R4.filteredDisplayModels.length+` / `+R4.displayModels.length:R4.displayModels.length)),z(e,t)};V(a,e=>{R4.displayModels.length>0&&e(o)}),E(i);var s=P(i,2);jL(s,{});var c=P(s,2),l=e=>{z(e,i8())};V(c,e=>{!R4.virtualModelsAvailable&&!I(n)&&e(l)});var u=P(c,2),d=e=>{var t=a8(),n=N(t,!0);E(t),F(()=>B(n,R4.aliasError)),z(e,t)};V(u,e=>{R4.aliasError&&!I(n)&&e(d)});var f=P(u,2),p=e=>{var t=a8(),n=N(t,!0);E(t),F(()=>B(n,a3.modelPricingOverrideError)),z(e,t)};V(f,e=>{a3.modelPricingOverrideError&&!I(n)&&!a3.modelPricingOverrideFormOpen&&e(p)});var m=P(f,2),h=e=>{var t=s8();H(t,21,()=>kL.categories,e=>e.category,(e,t)=>{var n=o8();let r;var i=N(n),a=N(i,!0);E(i);var o=P(i,2),s=N(o,!0);E(o),E(n),F(()=>{r=U(n,1,`category-tab svelte-scpjps`,null,r,{active:kL.activeCategory===I(t).category}),B(a,I(t).display_name),B(s,I(t).count)}),L(`click`,n,()=>kL.selectCategory(I(t).category)),z(e,n)}),E(t),z(e,t)};V(m,e=>{kL.categories.length>0&&e(h)});var g=P(m,2),_=e=>{var t=l8(),n=N(t);b$(N(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return kL.filter},set value(e){kL.filter=e}}),E(n);var r=P(n,2),i=N(r),a=e=>{var t=c8();G(N(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),L(`click`,t,()=>R4.openVirtualModelCreate()),z(e,t)};V(i,e=>{R4.virtualModelsAvailable&&e(a)}),E(r),E(t),z(e,t)};V(g,e=>{(R4.displayModels.length>0||kL.filter||R4.virtualModelsAvailable)&&e(_)});var v=P(g,2),y=e=>{{let t=k(()=>R4.modelLoadingText());h1(e,{get label(){return I(t)},class:`models-loading-state`})}},b=k(()=>R4.modelsBusy()&&!I(n));V(v,e=>{I(b)&&e(y)});var x=P(v,2);v6(x,{});var S=P(x,2);O6(S,{});var C=P(S,2),w=e=>{n6(e,{})};V(C,e=>{(R4.displayModels.length>0||kL.filter)&&e(w)});var T=P(C,2),ee=e=>{z(e,u8())};V(T,e=>{R4.displayModels.length===0&&!kL.loading&&!I(n)&&!kL.filter&&(kL.activeCategory===`all`||!kL.activeCategory)&&e(ee)});var te=P(T,2),ne=e=>{z(e,d8())};V(te,e=>{R4.displayModels.length===0&&!kL.loading&&!I(n)&&!kL.filter&&kL.activeCategory&&kL.activeCategory!==`all`&&e(ne)});var re=P(te,2),ie=e=>{z(e,f8())};V(re,e=>{R4.displayModels.length>0&&R4.filteredDisplayModels.length===0&&kL.filter&&e(ie)});var ae=P(re,2);n8(ae,{});var oe=P(ae,2);x2(oe,{});var se=P(oe,2);I6(se,{}),G6(P(se,2),{}),E(r),z(e,r),O()}Hr([`click`]);var h8=`draft-workflow-preview`;function g8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function _8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function v8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function y8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function b8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function x8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function S8(e){return{cache:!!b8(e,`cache`,!1),audit:!!b8(e,`audit`,!1),usage:!!b8(e,`usage`,!1),budget:b8(e,`budget`,!0)!==!1,guardrails:!!b8(e,`guardrails`,!1),failover:b8(e,`failover`,!0)!==!1}}function C8(e,t){let n=S8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function w8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...C8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:S8(n).failover}}function T8(e,t){return w8(e,t).failover?`On`:`Off`}function E8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:y8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function D8(e,t){return w8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function O8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function k8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function A8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=k8(e);t&&n.add(t)}),[...n].sort()}function j8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&k8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function M8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function N8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function P8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=N8(e);return n===`global`?`All models`:n}function F8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function I8(e){if(F8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function L8(e){let t=e||g8(),n=String(t.scope_provider||``).trim(),r=I8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function R8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=I8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function z8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=I8(e&&e.scope_user_path),i=R8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function B8(e,t){let n=t||_8(),r=O8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=I8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===I8(n.scope_user_path)}function V8(e,t,n){let r=L8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>B8(e,r))||null}function H8(e){return String(e&&e.scope_type||``).trim()!==`global`}function U8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function W8(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,O8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function G8(e,t){let n=e||g8(),r=L8(n),i=S8(n.features||{}),a=C8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?E8(n):[];return{id:h8,scope_type:R8(r),scope_display:z8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function K8({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||g8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=I8(a.scope_user_path),l=S8(a.features||{}),u=C8(l,t),d=V8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=x8(f,`failover`),m=p?b8(f,`failover`,!0)!==!1:null,h=i||_8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&I8(h.scope_user_path)===I8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:y8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function q8(e,{models:t=[],hydratedScope:n=null}={}){let r=n||_8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!A8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=j8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=F8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var J8=new class{#e=A(M([]));get workflows(){return I(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return I(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return I(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return I(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return I(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return I(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return I(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return I(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return I(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(M(_8()));get hydratedScope(){return I(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(M([]));get guardrailRefs(){return I(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(M(g8()));get form(){return I(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return QI.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:QI.cacheVisible(),audit:QI.auditVisible(),usage:QI.usageVisible(),budget:QI.budgetsVisible(),guardrails:QI.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return W8(this.workflows,this.filter)}providerOptions(){return A8(kL.models,this.hydratedScope)}modelOptions(e){return j8(kL.models,e,this.hydratedScope)}activeScopeMatch(){return V8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return G8(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=_8(),this.form=g8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:O8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?S8(e.workflow_payload.features):w8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:y8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):E8(e);this.form={scope_provider:O8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=_8(),this.form=g8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(v8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return K8({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await JI(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(XI(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=XI(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await JI(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([QI.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=q8(e,{models:kL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await YI(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=WI(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}q.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!H8(e))return;let n=P8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await YI(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=WI(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),q.error(t);return}q.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),q.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function Y8(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function X8({resetDelayMs:e=2e3,logPrefix:t}={}){let n=M({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await Y8(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var Z8=R(``);function Q8(e,t){D(t,!0);let n=ma(t,`workflowID`,3,``),r=X8({logPrefix:`Failed to copy workflow ID:`});Mn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?I(i)+` `+n():I(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=Z8();let c;var l=P(N(s),4),u=N(l,!0);E(l);var d=P(l,2);G(N(d),{name:`copy`}),E(d),E(s),F(()=>{c=U(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),W(s,`title`,I(i)),W(s,`aria-label`,I(a)),B(u,n())}),L(`click`,s,o),z(e,s),O()}Hr([`click`]);var $8=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=r5(),l=N(c),u=e=>{var t=e5();let r;G(N(t),{get name(){return n()}}),E(t),F(()=>r=U(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":I(i)===`workflow-node-endpoint`})),z(e,t)};V(l,e=>{n()&&e(u)});var d=P(l,2),f=N(d,!0);E(d);var p=P(d,2),m=e=>{var t=t5(),n=N(t,!0);E(t),F(()=>B(n,s())),z(e,t)};V(p,e=>{s()&&e(m)});var h=P(p,2),g=e=>{var t=n5(),n=N(t,!0);E(t),F(()=>B(n,o())),z(e,t)};V(h,e=>{o()&&e(g)}),E(c),F(()=>{U(c,1,`workflow-node ${I(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),B(f,r())}),z(e,c)},e5=R(`
        `),t5=R(` `),n5=R(` `),r5=R(`
        `),i5=R(`
        `,1),a5=R(`
        `,1),o5=R(`
        `),s5=R(`
        Async
        `),c5=R(`
        `);function l5(e,t){D(t,!0);let n=ma(t,`chart`,19,()=>({}));var r=c5();let i;var a=N(r),o=e=>{Q8(e,{get workflowID(){return n().workflowID}})};V(a,e=>{n().workflowID&&e(o)});var s=P(a,2),c=N(s);$8(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=P(c,4);$8(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=P(l,2),d=e=>{var t=i5(),r=Sn(t);$8(P(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),F(()=>U(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),z(e,t)};V(u,e=>{n().showCache&&e(d)});var f=P(u,2),p=e=>{var t=a5();$8(P(Sn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),z(e,t)};V(f,e=>{n().showBudget&&e(p)});var m=P(f,2),h=e=>{var t=a5();$8(P(Sn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),z(e,t)};V(m,e=>{n().showGuardrails&&e(h)});var g=P(m,2),_=P(g,2);$8(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=P(_,2),y=e=>{var t=i5(),r=Sn(t);$8(P(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),F(()=>U(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),z(e,t)};V(v,e=>{n().showFailover&&e(y)});var b=P(v,2);$8(P(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=P(s,2),S=e=>{var t=s5(),r=N(t),i=N(r),a=e=>{$8(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};V(i,e=>{n().showUsage&&e(a)});var o=P(i,2),s=e=>{z(e,o5())};V(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=P(o,2),l=e=>{$8(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};V(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),z(e,t)};V(x,e=>{n().showAsync&&e(S)}),E(r),F(()=>{i=U(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),U(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),U(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),z(e,r),O()}function u5(e){let t=E8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function d5(e,t){return t&&t.provider?t.provider:O8(e&&e.scope)||`AI`}function f5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function p5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function m5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:S8(t)}function h5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function g5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return g5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=g5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:g5(e.error,t+1)):``}function _5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||g5(t.response_body)}function v5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function y5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=h5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=v5(n);if(i)return i;let a=O8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function b5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=h5(e),o=y5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=_5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function x5(e){return!!(e&&e.cacheHit)}function S5(e){return!!(e&&e.failoverTarget)}function C5(e){return!!(e&&e.budgetExceeded)}function w5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function T5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function E5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function D5(e,t,n,r){return e?C5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function O5(e){return C5(e)?`Exceeded`:null}function k5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function A5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function j5(e){return e&&e.failoverTarget?`Redirected`:null}function M5(e){return e&&e.failoverTarget?e.failoverTarget:null}function N5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function P5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function F5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function I5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function L5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function R5(e){return!e||!e.authMethod?null:e.authMethod}function z5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function B5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function V5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function H5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function U5(e,t){return!e||!e._live||B5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function W5(e,t,n){return!e||!e._live?``:H5(e)?`usage`:U5(e,t)?`audit`:B5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function G5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?S8(i.features):w8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||C5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||S5(t),m=p5(e,i.entry),h=W5(i.entry,t,a),g=H5(i.entry),_=U5(i.entry,t),v=B5(i.entry,s),y=V5(i.entry,s);return{showBudget:c,budgetNodeClass:D5(c,t,s,h===`budget`),budgetStatusLabel:O5(t),showGuardrails:l,guardrailLabel:l?u5(e):``,showCache:!!i.forceCache||!!a.cache||x5(t),cacheNodeClass:w5(t,h===`cache`),cacheConnClass:T5(t),cacheStatusLabel:E5(t),showFailover:p,failoverNodeClass:p?k5(t):``,failoverConnClass:p?A5(t):``,failoverStatusLabel:p?j5(t):null,failoverTargetLabel:p?M5(t):null,aiLabel:d5(e,t),aiSublabel:f5(e,t),aiConnClass:N5(t),aiNodeClass:P5(t,h===`ai`),responseConnClass:N5(t),responseNodeClass:F5(t,h===`response`),responseNodeSublabel:I5(t),authNodeClass:L5(t,h===`auth`),authNodeSublabel:R5(t),usageNodeClass:z5(u,y,g),auditNodeClass:z5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function K5(e,t){return G5(e,null,{forceCache:!1},t)}function q5(e,t,n){return G5(t,b5(e,t),{entry:e,features:m5(e)||(t?w8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var J5=R(`

        `),Y5=R(`

        `),X5=R(`
        `),Z5=R(`
        `),Q5=R(`

        No guardrails configured for this workflow.

        `),$5=R(`

        Guardrails

        `),e7=R(``),t7=R(`

        `);function n7(e,t){D(t,!0);let n=ma(t,`preview`,3,!1),r=k(()=>J8.featureCaps()),i=k(()=>P8(t.workflow)),a=k(()=>D8(t.workflow,I(r))),o=k(()=>K5(t.workflow,I(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=t7();let l;var u=N(c),d=N(u),f=N(d),p=N(f,!0);E(f);var m=P(f,2),h=N(m,!0);E(m),E(d);var g=P(d,2),_=N(g),v=N(_,!0);E(_),E(g),E(u);var y=P(u,2),b=e=>{var n=J5(),r=N(n,!0);E(n),F(()=>B(r,t.workflow.description)),z(e,n)};V(y,e=>{t.workflow.description&&e(b)});var x=P(y,2),S=e=>{var n=Y5(),i=N(n);E(n),F(e=>B(i,`Failover: ${e??``}`),[()=>T8(t.workflow,I(r))]),z(e,n)},C=k(()=>J8.failoverVisible());V(x,e=>{I(C)&&e(S)});var w=P(x,2);l5(w,{get chart(){return I(o)}});var T=P(w,2),ee=e=>{var t=$5(),n=N(t),r=P(N(n),2),i=N(r,!0);E(r),E(n);var o=P(n,2),c=e=>{var t=Z5();H(t,23,()=>I(a),(e,t)=>I(s)+t,(e,t)=>{var n=X5(),r=N(n),i=N(r,!0);E(r);var a=P(r,2),o=N(a);E(a),E(n),F(()=>{B(i,I(t).ref),B(o,`step ${I(t).step??``}`)}),z(e,n)}),E(t),z(e,t)},l=e=>{z(e,Q5())};V(o,e=>{I(a).length>0?e(c):e(l,-1)}),E(t),F(()=>B(i,I(a).length?I(a).length+` steps`:`None`)),z(e,t)},te=k(()=>QI.guardrailsVisible());V(T,e=>{I(te)&&e(ee)});var ne=P(T,2),re=e=>{var n=e7(),r=N(n),a=N(r),o=N(a,!0);E(a);var s=P(a,2);{let e=k(()=>`Edit workflow `+I(i));_1(s,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>J8.openCreate(t.workflow),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=P(r,2),l=N(c),u=N(l);E(l);var d=P(l,2),f=N(d);E(d);var p=P(d,2),m=N(p);E(p),E(c),E(n),F((e,n,r,s)=>{a.disabled=e,W(a,`aria-label`,`Deactivate workflow `+I(i)),W(a,`title`,n),B(o,J8.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),B(u,`version: v${t.workflow.version??``}`),B(f,`created: ${r??``}`),B(m,`hash: ${s??``}`)},[()=>J8.deactivatingID===t.workflow.id||!H8(t.workflow),()=>H8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>HI.formatTimestamp(t.workflow.created_at),()=>U8(t.workflow.workflow_hash)]),L(`click`,a,()=>J8.deactivate(t.workflow)),z(e,n)};V(ne,e=>{n()||e(re)}),E(c),F((e,t)=>{l=U(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),B(p,e),B(h,I(i)),B(v,t)},[()=>M8(t.workflow),()=>N8(t.workflow)]),z(e,c),O()}Hr([`click`]);var r7=R(`

        `),i7=R(``),a7=R(``),o7=R(`
        `),s7=R(``),c7=R(``),l7=R(``),u7=R(``),d7=R(``),f7=R(``),p7=R(`
        No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
        `),m7=R(`
        `),h7=R(`
        `),g7=R(`

        No guardrail steps configured yet.

        `),_7=R(`

        Guardrail Steps

        Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

        `),v7=R(``);function y7(e,t){D(t,!0);function n(){K.dialogOpen||J8.closeForm()}function r(e){e.preventDefault(),J8.submitForm()}oL(e,{get open(){return J8.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=v7(),a=N(i),o=N(a),s=N(o);aQ(N(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=r7(),n=N(t,!0);E(t),F(e=>B(n,e),[()=>J8.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),z(e,t)},$$slots:{title:!0}}),E(s),iL(P(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=P(o,2),l=e=>{var t=i7(),n=N(t,!0);E(t),F(()=>B(n,J8.formError)),z(e,t)};V(c,e=>{J8.formError&&e(l)});var u=P(c,2),d=N(u),f=P(N(d),2),p=N(f);p.value=p.__value=``,H(P(p),16,()=>J8.providerOptions(),e=>e,(e,t)=>{var n=a7(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(f),E(d);var m=P(d,2),h=e=>{var t=o7(),n=P(N(t),2),r=N(n);r.value=r.__value=``,H(P(r),17,()=>J8.modelOptions(J8.form.scope_provider),e=>J8.form.scope_provider+`-`+e,(e,t)=>{var n=a7(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t)),i!==(i=I(t))&&(n.value=(n.__value=I(t))??``)}),z(e,n)}),E(n),E(t),Bi(n,()=>J8.form.scope_model,e=>J8.form.scope_model=e),z(e,t)};V(m,e=>{J8.form.scope_provider&&e(h)});var g=P(m,2),_=P(N(g),2);Zi(_),E(g);var v=P(g,2),y=P(N(v),2);Zi(y),E(v),E(u);var b=P(u,8),x=P(N(b),2);pt(x),E(b);var S=P(b,2),C=N(S),w=e=>{var t=s7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.cache,e=>J8.form.features.cache=e),z(e,t)},T=k(()=>QI.cacheVisible());V(C,e=>{I(T)&&e(w)});var ee=P(C,2),te=e=>{var t=c7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.audit,e=>J8.form.features.audit=e),z(e,t)},ne=k(()=>QI.auditVisible());V(ee,e=>{I(ne)&&e(te)});var re=P(ee,2),ie=e=>{var t=l7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.usage,e=>J8.form.features.usage=e),z(e,t)},ae=k(()=>QI.usageVisible());V(re,e=>{I(ae)&&e(ie)});var oe=P(re,2),se=e=>{var t=u7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.budget,e=>J8.form.features.budget=e),z(e,t)},ce=k(()=>QI.budgetsVisible());V(oe,e=>{I(ce)&&e(se)});var le=P(oe,2),ue=e=>{var t=d7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.guardrails,e=>J8.form.features.guardrails=e),z(e,t)},de=k(()=>QI.guardrailsVisible());V(le,e=>{I(de)&&e(ue)});var fe=P(le,2),pe=e=>{var t=f7(),n=N(t);Zi(n),We(2),E(t),sa(n,()=>J8.form.features.failover,e=>J8.form.features.failover=e),z(e,t)},me=k(()=>J8.failoverVisible());V(fe,e=>{I(me)&&e(pe)}),E(S);var he=P(S,2),ge=P(N(he),2);{let e=k(()=>J8.preview());n7(ge,{get workflow(){return I(e)},preview:!0})}E(he);var _e=P(he,2),ve=e=>{var t=_7(),n=N(t),r=P(N(n),2);E(n);var i=P(n,2),a=e=>{var t=p7(),n=P(N(t),2);E(t),L(`click`,n,()=>AI.navigate(`guardrails`)),z(e,t)};V(i,e=>{J8.guardrailRefs.length===0&&e(a)});var o=P(i,2),s=e=>{var t=h7();H(t,21,()=>J8.form.guardrails,ai,(e,t,n)=>{var r=m7(),i=N(r),a=N(i);W(a,`for`,`workflow-guardrail-ref-`+n);var o=P(a,2);Zi(o),W(o,`id`,`workflow-guardrail-ref-`+n),W(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=P(i,2),c=N(s);W(c,`for`,`workflow-guardrail-step-`+n);var l=P(c,2);Zi(l),W(l,`id`,`workflow-guardrail-step-`+n),W(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=P(s,2);E(r),oa(o,()=>I(t).ref,e=>I(t).ref=e),oa(l,()=>I(t).step,e=>I(t).step=e),L(`click`,u,()=>J8.removeGuardrailStep(n)),z(e,r)}),E(t),z(e,t)},c=e=>{z(e,g7())};V(o,e=>{J8.form.guardrails.length>0?e(s):e(c,-1)}),E(t),L(`click`,r,()=>J8.addGuardrailStep()),z(e,t)},ye=k(()=>J8.form.features.guardrails&&QI.guardrailsVisible());V(_e,e=>{I(ye)&&e(ve)});var be=P(_e,2),xe=N(be),Se=P(xe,2),Ce=N(Se),we=e=>{G(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>J8.submitMode()===`create`),Ee=e=>{G(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};V(Ce,e=>{I(Te)?e(we):e(Ee,-1)});var De=P(Ce,2),Oe=N(De,!0);E(De),E(Se),E(be),E(a),E(i),F(e=>{Se.disabled=J8.submitting,B(Oe,e)},[()=>J8.submitting?J8.submittingLabel():J8.submitLabel()]),Vr(`submit`,a,r),L(`change`,f,e=>J8.setProvider(e.currentTarget.value)),Bi(f,()=>J8.form.scope_provider,e=>J8.form.scope_provider=e),oa(_,()=>J8.form.name,e=>J8.form.name=e),oa(y,()=>J8.form.scope_user_path,e=>J8.form.scope_user_path=e),oa(x,()=>J8.form.description,e=>J8.form.description=e),L(`click`,xe,n),z(e,i)},$$slots:{default:!0}}),O()}Hr([`change`,`click`]);var b7=R(`

        Loading workflows...

        `),x7=R(`
        `),S7=R(`

        No active workflows found.

        `),C7=R(`

        No workflows match your filter.

        `),w7=R(`
        `);function T7(e,t){D(t,!0);var n=w7(),r=N(n),i=e=>{var t=b7();AZ(N(t),{size:16,label:`Loading workflows`}),We(),E(t),z(e,t)};V(r,e=>{J8.loading&&!K.authError&&e(i)});var a=P(r,2),o=e=>{var t=x7();H(t,21,()=>J8.filteredWorkflows,e=>e.id,(e,t)=>{n7(e,{get workflow(){return I(t)}})}),E(t),z(e,t)};V(a,e=>{J8.filteredWorkflows.length>0&&e(o)});var s=P(a,2),c=e=>{z(e,S7())};V(s,e=>{J8.workflows.length===0&&!J8.loading&&!K.authError&&J8.available&&e(c)});var l=P(s,2),u=e=>{z(e,C7())};V(l,e=>{J8.workflows.length>0&&J8.filteredWorkflows.length===0&&!J8.loading&&e(u)}),E(n),z(e,n),O()}var E7=R(``),D7=R(`
        Workflows feature is unavailable.
        `),O7=R(`
        `),kte=R(`
        `),Ate=R(``),jte=R(`
        `);function Mte(e,t){D(t,!0),Mn(()=>{K.refreshTick,J8.fetchPage()});var n=jte(),r=N(n),i=P(N(r),2),a=N(i),o=e=>{var t=E7();G(N(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),L(`click`,t,()=>J8.openCreate()),z(e,t)};V(a,e=>{J8.available&&e(o)}),E(i),E(r);var s=P(r,2),c=e=>{z(e,D7())};V(s,e=>{!J8.available&&!K.authError&&e(c)});var l=P(s,2),u=e=>{var t=O7(),n=N(t,!0);E(t),F(()=>B(n,J8.error)),z(e,t)};V(l,e=>{J8.error&&!K.authError&&e(u)});var d=P(l,2),f=e=>{var t=kte(),n=N(t);b$(N(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return J8.filter},set value(e){J8.filter=e}}),E(n);var r=P(n,2),i=N(r),a=N(i,!0);E(i),E(r),E(t),F(()=>B(a,J8.filteredWorkflows.length+` active scopes`)),z(e,t)};V(d,e=>{J8.available&&e(f)});var p=P(d,2);y7(p,{});var m=P(p,2);T7(m,{});var h=P(m,2);H(h,20,()=>J8.guardrailRefs,e=>e,(e,t)=>{var n=Ate(),r={};F(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(h),E(n),z(e,n),O()}Hr([`click`]);var k7=new class{#e=A(M({}));get workflowVersionsByID(){return I(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:QI.cacheVisible(),audit:QI.auditVisible(),usage:QI.usageVisible(),budget:QI.budgetsVisible(),guardrails:QI.guardrailsVisible(),failover:QI.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await JI(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function A7(e){try{return JSON.parse(e)}catch{return null}}function j7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=A7(n);return r==null?n:M7(r,t+1)||n}function Nte(e){return e==null?``:typeof e==`string`?j7(e,0):M7(e,0)}function M7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=A7(e.trim());return n==null?``:M7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||Fte(t&&t.response_body)}function Lte(e){let t=e&&e.data?e.data:null;return t?Nte(t.error_message)||(Ite(e,t)?M7(t.response_body,0):``):``}function N7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function Rte(e){let t=N7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function zte(e){let t=N7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function Bte(e){let t=N7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function Vte({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function Hte({sessionId:e,limit:t}){return`session_id=`+encodeURIComponent(e)+`&limit=`+(t||100)+`&offset=0`}function P7(e){return String(e&&e.session_id||``).trim()}function F7(e){let t=Number(e&&e.session_count);return Number.isFinite(t)&&t>1?t:1}function Ute(e){return!!P7(e)&&F7(e)>1}function Wte(e){return{entries:(Array.isArray(e&&e.sessions)?e.sessions:[]).filter(e=>e&&e.latest).map(e=>({...e.latest,session_id:P7(e.latest)||String(e.session_id||``).trim(),session_count:Number(e.count||1)})),total:Number(e&&e.total||0),limit:Number(e&&e.limit||25),offset:Number(e&&e.offset||0)}}function Gte(e,t){let n=new Set(R7(t));return(Array.isArray(e)?e:[]).filter(e=>!R7(e).some(e=>n.has(e)))}function Kte(e,t){let n=e||{};if(!t)return n;if(n[t]){let e={...n};return delete e[t],e}return{...n,[t]:!0}}function I7(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>P7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=n[e];return}a=!0}),a?i:n}function L7(e){return String(e&&e.id||``).trim()}function R7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function z7(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function qte(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function B7(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&qte(t)}function Jte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!B7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>z7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>R7(e))),s=[];return a.forEach(e=>{let t=R7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Yte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!B7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>z7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>R7(e))),s=new Map;i.forEach((e,t)=>{let n=P7(e);n&&!s.has(n)&&s.set(n,t)});let c=[],l=i;return a.forEach(e=>{let t=R7(e);if(t.length===0||t.some(e=>o.has(e)))return;let n=P7(e);if(n&&s.has(n)){let r=s.get(n);l===i&&(l=[...i]),l[r]={...e,session_count:Math.max(F7(l[r]),F7(e))},t.forEach(e=>o.add(e));return}t.forEach(e=>o.add(e)),c.push(e)}),r.entries=[...c,...l].slice(0,r.limit||25),r.total=Number(r.total||0)+c.length,r}function Xte(e,t){let n=L7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function Zte(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>L7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function Qte(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function V7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function H7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function U7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function W7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function G7(e){let t=W7(e);return t.length>1||t.some(e=>!(e&&e.success))}function $te(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function K7(e){return String(e&&e.kind||``).trim()||`attempt`}function ene(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function tne(e){return String(e&&e.model||``).trim()||`-`}function q7(e){let t=W7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function nne(e){return q7(e).length>0}function rne(e){return W7(e).length+`×`}function J7(e){let t=W7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function ine(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=K7(e);n&&n!==`attempt`&&t.push(n),t.push($te(e));let r=ene(e);r&&r!==`-`&&t.push(r);let i=tne(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function ane(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function one(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function sne(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function cne(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function lne(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=ane(e,t),a=sne(e,t),o=one(t),s=i!=null&&i!==``,c=K7(t),l=W7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:cne(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function Y7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function X7(e){return Y7(e).filter(e=>!(e&&e.no_change))}function une(e){return Y7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:t+`: no change`,title:t+` ran and forwarded the request unchanged`}})}function dne(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function fne(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=X7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:dne(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function Z7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function pne(e){let t=Z7(e);return Number(t&&t.cached_input_tokens||0)>0}function mne(e){let t=Z7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function hne(e){let t=Z7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?NL(r)+` cached`:mne(e).toFixed(1)+`% cached`}function gne(e){return pne(e)?hne(e):``}function _ne(e,t){let n=Z7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function Q7(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function vne(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&H7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:gne(e),promptCacheHighlight:_ne(e,t),noChangeSteps:une(e),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function yne(e){let t=e&&e.data?e.data:null,n=Lte(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&H7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&H7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function $7(e,t){let n=[{id:`request`,pane:vne(e,t)}];return X7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:fne(e,t)})}),G7(e)?W7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:lne(e,t)})}):n.push({id:`response`,pane:yne(e)}),n}function bne(e){if(!G7(e))return`response`;let t=W7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function xne(e,t){return e&&$7(t).some(t=>t.id===e)?e:bne(t)}function Sne(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}var Cne=100;function e9(){return{entries:[],total:0,limit:25,offset:0}}var t9=new class{#e=A(M({}));get auditExpandedEntries(){return I(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(M({}));get auditExpandedThreads(){return I(this.#t)}set auditExpandedThreads(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}auditFetchToken=0;get auditLog(){return NQ.auditLog}set auditLog(e){NQ.auditLog=e}get auditSearch(){return NQ.auditSearch}set auditSearch(e){NQ.auditSearch=e}get auditMethod(){return NQ.auditMethod}set auditMethod(e){NQ.auditMethod=e}get auditStatusCode(){return NQ.auditStatusCode}set auditStatusCode(e){NQ.auditStatusCode=e}get auditStream(){return NQ.auditStream}set auditStream(e){NQ.auditStream=e}get auditGroupSessions(){return NQ.auditGroupSessions}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:JL.customStartDate,customEndDate:JL.customEndDate}}toggleAuditGroupSessions(){NQ.auditGroupSessions=!NQ.auditGroupSessions,hI(`gomodel_audit_group_sessions`,NQ.auditGroupSessions),this.auditExpandedThreads={},NQ.auditThreadChildren={},this.fetchAuditLog(!0)}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=this.auditGroupSessions,r=Vte({dateQuery:JL.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),i=await JI((n?`/admin/audit/sessions?`:`/admin/audit/log?`)+r,{label:`audit log`});if(i.stale||t!==this.auditFetchToken)return;if(!i.ok){this.auditLog=e9();return}let a=n?Wte(i.data):i.data,o=(n?Yte:Jte)(a,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(o.entries)||(o.entries=[]),this.auditLog=o,this.auditExpandedThreads=I7(this.auditExpandedThreads,o.entries),NQ.auditThreadChildren=I7(NQ.auditThreadChildren,o.entries),this.auditExpandedEntries=Zte(this.auditExpandedEntries,[...o.entries,...this.loadedThreadChildren()]);try{await k7.prefetchAuditWorkflows([...this.auditLog.entries,...this.loadedThreadChildren()])}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=e9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}loadedThreadChildren(){let e=NQ.auditThreadChildren||{};return Object.keys(e).flatMap(t=>Array.isArray(e[t]&&e[t].entries)?e[t].entries:[])}isThreadExpanded(e){return!!(e&&this.auditExpandedThreads[e])}threadChildren(e){return e&&NQ.auditThreadChildren[e]||null}async toggleThread(e){let t=P7(e);if(!t)return;let n=!this.isThreadExpanded(t);this.auditExpandedThreads=Kte(this.auditExpandedThreads,t),n&&!NQ.auditThreadChildren[t]&&await this.fetchThreadEntries(e)}async fetchThreadEntries(e){let t=P7(e);if(t){NQ.auditThreadChildren={...NQ.auditThreadChildren,[t]:{loading:!0,entries:[],total:0}};try{let n=await JI(`/admin/audit/log?`+Hte({sessionId:t,limit:Cne}),{label:`audit session`});if(n.stale){let e={...NQ.auditThreadChildren};delete e[t],NQ.auditThreadChildren=e;return}if(!n.ok)throw Error(`audit session fetch failed`);NQ.auditThreadChildren={...NQ.auditThreadChildren,[t]:{loading:!1,entries:Gte(n.data.entries,e),total:Number(n.data.total||0)}}}catch(e){console.error(`Failed to fetch audit session entries:`,e);let n={...NQ.auditThreadChildren};delete n[t],NQ.auditThreadChildren=n}}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=L7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=Xte(this.auditExpandedEntries,e)}};NQ.fetchAuditLog=e=>t9.fetchAuditLog(e),NQ.isAuditEntryExpanded=e=>t9.isAuditEntryExpanded(e);var wne=R(`
        `);function Tne(e,t){D(t,!0);let n=x$(()=>t9.fetchAuditLog(!0));Mn(()=>n.cancel);var r=wne(),i=N(r);b$(N(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return t9.auditSearch},set value(e){t9.auditSearch=e}}),E(i);var a=P(i,2),o=N(a),s=N(o);s.value=s.__value=``;var c=P(s);c.value=c.__value=`GET`;var l=P(c);l.value=l.__value=`POST`;var u=P(l);u.value=u.__value=`PUT`;var d=P(u);d.value=d.__value=`PATCH`;var f=P(d);f.value=f.__value=`DELETE`,E(o);var p=P(o,2),m=N(p);m.value=m.__value=``;var h=P(m);h.value=h.__value=`200`;var g=P(h);g.value=g.__value=`201`;var _=P(g);_.value=_.__value=`400`;var v=P(_);v.value=v.__value=`401`;var y=P(v);y.value=y.__value=`403`;var b=P(y);b.value=b.__value=`404`;var x=P(b);x.value=x.__value=`429`;var S=P(x);S.value=S.__value=`500`;var C=P(S);C.value=C.__value=`502`;var w=P(C);w.value=w.__value=`503`;var T=P(w);T.value=T.__value=`504`,E(p);var ee=P(p,2),te=N(ee);te.value=te.__value=``;var ne=P(te);ne.value=ne.__value=`true`;var re=P(ne);re.value=re.__value=`false`,E(ee);var ie=P(ee,2),ae=N(ie);Zi(ae),We(2),E(ie);var oe=P(ie,2);G(N(oe),{name:`x`,class:`table-icon-svg`}),We(2),E(oe),E(a),E(r),F(()=>$i(ae,t9.auditGroupSessions)),L(`change`,o,()=>t9.fetchAuditLog(!0)),Bi(o,()=>t9.auditMethod,e=>t9.auditMethod=e),L(`change`,p,()=>t9.fetchAuditLog(!0)),Bi(p,()=>t9.auditStatusCode,e=>t9.auditStatusCode=e),L(`change`,ee,()=>t9.fetchAuditLog(!0)),Bi(ee,()=>t9.auditStream,e=>t9.auditStream=e),L(`change`,ae,()=>t9.toggleAuditGroupSessions()),L(`click`,oe,()=>t9.clearAuditFilters()),z(e,r),O()}Hr([`change`,`click`]);var Ene=R(` `),Dne=R(``);function One(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:UL(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+KL(t.entry),mono:!0},{key:`failover`,text:U7(t.entry)&&`failover: `+U7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=Dne(),i=P(N(r),2);H(i,21,()=>I(n),e=>e.key,(e,t)=>{var n=Ene();let r;var i=N(n,!0);E(n),F(()=>{r=U(n,1,`provider-badge ${(I(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:I(t).mono}),B(i,I(t).text)}),z(e,n)}),E(i),E(r),z(e,r),O()}var kne=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function n9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` +`).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function r9(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function Ane(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=n9(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=n9(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function jne(e){return!e||typeof e!=`object`?``:Array.isArray(e.content)?e.content.map(e=>e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` +`).trim():n9(e.content)}function Mne(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...r9(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||t.push(...r9(e.content))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{!e||typeof e!=`object`||(t.push(...r9(e.content)),typeof e.text==`string`&&t.push(e.text))}):e.input&&typeof e.input==`object`&&(t.push(...r9(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}function i9(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function a9(e,t){let n=String(e||``).trim();if(!n)return``;if(t>=4)return n;let r=i9(n);return!r||typeof r!=`object`?n:o9(r,t+1)||n9(r)||n}function o9(e,t=0){let n=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(!e||typeof e!=`object`||n.has(e))continue;if(n.add(e),Array.isArray(e)){for(let t=0;t!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function Fne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function Ine(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/chat/completions`||t===`/v1/chat/completions/`||t.startsWith(`/v1/chat/completions?`)||t.startsWith(`/v1/chat/completions/`)||t===`/v1/responses`||t===`/v1/responses/`||t.startsWith(`/v1/responses?`)||t.startsWith(`/v1/responses/`)}function Lne(e){if(e&&e.conversation_payload)return!0;let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||Pne(n.output));return!!(r||i)}function Rne(e){return!e||Fne(e.path)?!1:Ine(e.path)||Lne(e)}function s9(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function Vne(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function Hne(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
        `+c9(t)+``+c9(Wne(e[t]))+`
        `);return t.length?``:``}function Kne(e){let t=Une(e.content_type),n=c9(t+` · `+Hne(e.bytes)),r=Gne(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
        `+n+`
        `+r+`
        `}let i=e.too_large?`Audio too large to store.`:`Audio not logged. Set LOGGING_LOG_AUDIO_BODIES=true to capture playable audio.`;return`
        `+n+`
        `+c9(i)+`
        `+r+`
        `}function l9(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function qne(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function u9(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return c9(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+c9(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+c9(e.slice(r)):c9(e)}function Jne(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=qne(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return c9(o);if(!i(e))return o.split(` +`).map(e=>u9(e,a)).join(` +`);let s=o.split(` +`),c=[],l=0;for(;lu9(e,a)).join(` +`);c.push(``+o+``),l=r+1;continue}c.push(u9(e,a)),l++}return c.join(` +`)}function Yne(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Xne(e){let t=String(e||``).toLowerCase();return t===`system`||t===`developer`?{role:`system`,label:`System Prompt`,className:`role-system`}:t===`assistant`?{role:`assistant`,label:`Agent`,className:`role-assistant`}:t===`error`?{role:`error`,label:`Error`,className:`role-error`}:t===`function_call`?{role:`function_call`,label:`Function Call`,className:`role-function-call`}:t===`function_result`?{role:`function_result`,label:`Function Result`,className:`role-function-result`}:{role:`user`,label:`User`,className:`role-user`}}function d9(e,t,n,r,i,a,o,s){let c=Xne(e);return{uid:r+`-`+a,entryID:r,timestamp:n,text:t,role:c.role,roleLabel:c.label,roleClass:c.className,isAnchor:i,toolCalls:Array.isArray(o)&&o.length>0?o:null,functionName:s||``}}function f9(e){return Array.isArray(e)?e.map(e=>{if(!e)return null;let t=e.function||e;return{name:t.name||e.name||``,arguments:t.arguments||e.arguments||``}}).filter(Boolean):[]}function Zne(e,t,n){if(t&&Array.isArray(t.messages)&&t.messages.forEach(t=>{!t||!Array.isArray(t.tool_calls)||t.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}),t&&Array.isArray(t.input)&&t.input.forEach(t=>{if(!t||typeof t!=`object`||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)}),n&&Array.isArray(n.choices)){let t=n.choices[0];t&&t.message&&Array.isArray(t.message.tool_calls)&&t.message.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}n&&Array.isArray(n.output)&&n.output.forEach(t=>{if(!t||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)})}function Qne(e,t){if(!Array.isArray(e)||e.length===0)return[];let n=[...e].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),r={};n.forEach(e=>{let t=e.data&&e.data.request_body?e.data.request_body:null,n=e.data&&e.data.response_body?e.data.response_body:null;Zne(r,t,n)});let i=[],a=0;return n.forEach(e=>{let n=e.id===t,o=e.timestamp,s=e.data&&e.data.request_body?e.data.request_body:null,c=e.data&&e.data.response_body?e.data.response_body:null;if(s&&typeof s.instructions==`string`&&s.instructions.trim()&&i.push(d9(`system`,s.instructions,o,e.id,n,++a)),s&&Array.isArray(s.messages)&&s.messages.forEach(t=>{if(!t)return;let s=(t.role||`user`).toLowerCase();if(s===`tool`){let s=n9(t.content),c=t.name||r[t.tool_call_id]||``;s&&i.push(d9(`function_result`,s,o,e.id,n,++a,[],c));return}if(s===`assistant`){let r=n9(t.content),c=f9(t.tool_calls);(r||c.length>0)&&i.push(d9(s,r,o,e.id,n,++a,c));return}let c=n9(t.content);c&&i.push(d9(s,c,o,e.id,n,++a))}),s&&s.input!==void 0&&(Array.isArray(s.input)?s.input.forEach(t=>{if(!(!t||typeof t!=`object`)){if(t.type===`function_call_output`){let s=typeof t.output==`string`?t.output:n9(t.output);s&&i.push(d9(`function_result`,s,o,e.id,n,++a,[],r[t.call_id]||``))}else if(t.type===`function_call`)i.push(d9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));else if(t.role){let r=String(t.role).toLowerCase(),s=n9(t.content);s&&i.push(d9(r,s,o,e.id,n,++a))}}}):Ane(s.input).forEach(t=>{t.text&&i.push(d9(t.role,t.text,o,e.id,n,++a))})),c&&Array.isArray(c.choices)){let t=c.choices[0];if(t&&t.message){let r=(t.message.role||`assistant`).toLowerCase(),s=n9(t.message.content),c=f9(t.message.tool_calls);(s||c.length>0)&&i.push(d9(r,s,o,e.id,n,++a,c))}}c&&Array.isArray(c.output)&&c.output.forEach(t=>{if(!t)return;if(t.type===`function_call`){i.push(d9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));return}let r=(t.role||`assistant`).toLowerCase(),s=jne(t);s&&i.push(d9(r,s,o,e.id,n,++a))});let l=Nne(e);l&&i.push(d9(`error`,l,o,e.id,n,++a))}),i}function $ne(e){return e.role===`function_call`?(e.toolCalls||[]).map(function(e){let t=e.arguments||``;try{t=JSON.stringify(JSON.parse(t),null,2)}catch{}return e.name+`(`+t+`)`}).join(` + +`):e.text||``}var p9=new class{#e=A(!1);get conversationOpen(){return I(this.#e)}set conversationOpen(e){j(this.#e,e,!0)}#t=A(!1);get conversationLoading(){return I(this.#t)}set conversationLoading(e){j(this.#t,e,!0)}#n=A(``);get conversationError(){return I(this.#n)}set conversationError(e){j(this.#n,e,!0)}#r=A(``);get conversationAnchorID(){return I(this.#r)}set conversationAnchorID(e){j(this.#r,e,!0)}#i=A(M([]));get conversationEntries(){return I(this.#i)}set conversationEntries(e){j(this.#i,e,!0)}#a=A(M([]));get conversationMessages(){return I(this.#a)}set conversationMessages(e){j(this.#a,e,!0)}#o=A(``);get conversationLiveEntryId(){return I(this.#o)}set conversationLiveEntryId(e){j(this.#o,e,!0)}conversationRequestToken=0;conversationReturnFocusEl=null;bodyPointerStart=null;conversationDialogEl=null;conversationCloseBtnEl=null;canShowConversation(e){return Rne(e)}startBodyInteraction(e){this.bodyPointerStart={x:e.clientX,y:e.clientY}}_isBodyDrag(e){if(!this.bodyPointerStart)return!1;let t=Math.abs(e.clientX-this.bodyPointerStart.x),n=Math.abs(e.clientY-this.bodyPointerStart.y);return t>4||n>4}_hasActiveSelection(){let e=window.getSelection?window.getSelection():null;return!e||e.isCollapsed?!1:String(e.toString()||``).trim().length>0}handleBodyConversationClick(e,t){let n=this._isBodyDrag(e);if(this.bodyPointerStart=null,n||this._hasActiveSelection()||!this.canShowConversation(t))return;let r=e.target&&e.target.closest?e.target.closest(`[data-conversation-trigger="1"]`):null;r&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,r))}handleErrorConversationClick(e,t){let n=this._isBodyDrag(e);this.bodyPointerStart=null,!n&&(this._hasActiveSelection()||this.canShowConversation(t)&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,e.currentTarget)))}formatJSON(e){return Yne(e)}renderBodyWithConversationHighlights(e,t,n){return Jne(e,t,{formatJSON:e=>this.formatJSON(e),canShowConversation:e=>this.canShowConversation(e),promptCacheHighlight:n&&n.promptCacheHighlight})}async openConversation(e,t,n,r){if(!e||!e.id||!this.canShowConversation(e))return;n&&t&&!t.open&&(t.open=!0);let i=document.activeElement instanceof HTMLElement?document.activeElement:null;r instanceof HTMLElement?this.conversationReturnFocusEl=r:i&&i!==document.body&&(this.conversationReturnFocusEl=i);let a=++this.conversationRequestToken;if(this.conversationOpen=!0,this.conversationError=``,this.conversationAnchorID=e.id,this.conversationEntries=[],this.conversationMessages=[],document.body.classList.add(`conversation-drawer-open`),requestAnimationFrame(()=>this._focusConversationDrawer()),this._conversationEntryLivePending(e)){this.conversationLiveEntryId=String(e.id).trim(),this.conversationLoading=!1,this.applyLiveConversationEntry(e);return}this.conversationLiveEntryId=``,this.conversationLoading=!0,await this.fetchConversation(e.id,a)}_conversationEntryLivePending(e){return typeof NQ.auditEntryLiveDetailPending==`function`&&NQ.auditEntryLiveDetailPending(e)}applyLiveConversationEntry(e){this.conversationEntries=[e],this.conversationMessages=this.buildConversationMessages([e],e.id)}refreshLiveConversation(e){if(!this.conversationOpen||!this.conversationLiveEntryId||!e||String(e.id||``).trim()!==this.conversationLiveEntryId)return;let t=String(e._live_state||``).trim();if(t===`audit.flushed`||t===`audit.detail`){this.conversationLiveEntryId=``;let t=++this.conversationRequestToken;this.fetchConversation(e.id,t);return}this.applyLiveConversationEntry(e)}conversationLiveWaiting(){if(!this.conversationOpen||!this.conversationLiveEntryId)return!1;let e=(this.conversationEntries||[])[0];return!e||typeof NQ.liveAuditStateSettled!=`function`||!NQ.liveAuditStateSettled(e._live_state)}conversationLiveStatusText(){return(this.conversationMessages||[]).length>0?`Model is responding…`:`Waiting for request data…`}closeConversation(){this.conversationOpen=!1,this.conversationRequestToken++,this.conversationLiveEntryId=``,document.body.classList.remove(`conversation-drawer-open`);let e=this.conversationReturnFocusEl;this.conversationReturnFocusEl=null,e&&typeof e.focus==`function`&&document.contains(e)&&requestAnimationFrame(()=>e.focus())}_focusConversationDrawer(){if(!this.conversationOpen)return;let e=this.conversationCloseBtnEl;if(e&&typeof e.focus==`function`){e.focus();return}let t=this.conversationDialogEl;t&&typeof t.focus==`function`&&t.focus()}async fetchConversation(e,t){try{let n=await JI(`/admin/audit/conversation?`+(`log_id=`+encodeURIComponent(e)+`&limit=120`),{label:`audit conversation`});if(t!==this.conversationRequestToken||n.stale)return;if(!n.ok){this.conversationError=`Unable to load interactions.`,this.conversationEntries=[],this.conversationMessages=[];return}let r=n.data||{};this.conversationAnchorID=r.anchor_id||e,this.conversationEntries=Array.isArray(r.entries)?r.entries:[],this.conversationMessages=this.buildConversationMessages(this.conversationEntries,this.conversationAnchorID)}catch(e){if(t!==this.conversationRequestToken)return;console.error(`Failed to fetch audit conversation:`,e),this.conversationError=`Failed to load interactions.`,this.conversationEntries=[],this.conversationMessages=[]}finally{t===this.conversationRequestToken&&(this.conversationLoading=!1)}}buildConversationMessages(e,t){return Qne(e,t)}functionExpandedContent(e){return $ne(e)}};NQ.refreshLiveConversation=e=>p9.refreshLiveConversation(e);var ere=R(``),tre=R(` `),nre=R(``),rre=R(` `),ire=R(``),are=R(`
        `);function ore(e,t){D(t,!0);let n=ma(t,`thread`,3,null);function r(e){e.stopPropagation(),e.preventDefault(),n().ontoggle()}function i(e){e.stopPropagation(),e.preventDefault(),p9.openConversation(t.entry,e.currentTarget.closest(`details`),!0,e.currentTarget)}var a=are();let o;var s=N(a),c=N(s),l=e=>{var t=ere(),i=N(t);{let e=k(()=>n().expanded?`chevron-down`:`chevron-right`);G(i,{get name(){return I(e)},class:`audit-thread-expander-svg`})}var a=P(i,2),o=N(a,!0);E(a),E(t),F(()=>{W(t,`aria-expanded`,n().expanded),W(t,`title`,`Session with `+n().count+` requests`),W(t,`aria-label`,`Session with `+n().count+` requests, `+(n().expanded?`collapse`:`expand`)),B(o,n().count)}),L(`click`,t,r),z(e,t)};V(c,e=>{n()&&e(l)});var u=P(c,2),d=N(u,!0);E(u);var f=P(u,2),p=N(f,!0);E(f);var m=P(f,2),h=e=>{var n=tre(),r=N(n,!0);E(n),F(e=>B(r,e),[()=>qL(t.entry)]),z(e,n)};V(m,e=>{(t.entry.requested_model||t.entry.model)&&e(h)});var g=P(m,2),_=N(g,!0);E(g),E(s);var v=P(s,2),y=N(v),b=e=>{var n=rre(),r=N(n);H(r,21,()=>q7(t.entry),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=nre();let r;F(e=>{r=U(n,1,`audit-attempt-pip svelte-17mysgz`,null,r,{"audit-attempt-success":!!(I(t)&&I(t).success),"audit-attempt-error":!(I(t)&&I(t).success)}),W(n,`title`,e)},[()=>ine(I(t))]),z(e,n)}),E(r);var i=P(r,2),a=N(i,!0);E(i),E(n),F((e,t,r)=>{W(n,`title`,e),W(n,`aria-label`,t),B(a,r)},[()=>J7(t.entry),()=>J7(t.entry),()=>rne(t.entry)]),z(e,n)},x=k(()=>nne(t.entry));V(y,e=>{I(x)&&e(b)});var S=P(y,2),C=N(S,!0);E(S);var w=P(S,2),T=N(w,!0);E(w);var ee=P(w,2),te=e=>{var t=ire();L(`click`,t,i),z(e,t)},ne=k(()=>p9.canShowConversation(t.entry));V(ee,e=>{I(ne)&&e(te)}),E(v),E(a),F((e,n,r,i,s)=>{o=U(a,1,`audit-entry-summary svelte-17mysgz`,null,o,e),U(u,1,`audit-status-badge ${n??``}`,`svelte-17mysgz`),B(d,t.entry.status_code||`-`),B(p,t.entry.method||`-`),B(_,t.entry.path||`-`),W(S,`title`,r),B(C,i),B(T,s)},[()=>({"audit-entry-summary-live-in-progress":H7(t.entry)}),()=>V7(t.entry.status_code),()=>VL(t.entry.timestamp),()=>HI.formatTimestamp(t.entry.timestamp),()=>Qte(t.entry.duration_ns)]),z(e,a),O()}Hr([`click`]);var sre=R(``);function m9(e,t){D(t,!0);let n=ma(t,`label`,3,`Copy`),r=ma(t,`copiedLabel`,3,`Copied`),i=ma(t,`errorLabel`,3,``),a=ma(t,`class`,3,`btn`),o=k(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=sre();let c;var l=N(s),u=e=>{G(e,{name:`circle-check`,width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{G(e,{name:`copy`,width:`14`,height:`14`})};V(l,e=>{t.state.copied?e(u):e(d,-1)});var f=P(l,2),p=N(f,!0);E(f),E(s),F(()=>{c=U(s,1,`copy-feedback-btn ${a()??``}`,null,c,{"copy-feedback-btn-copied":t.state.copied}),B(p,I(o))}),L(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),z(e,s),O()}Hr([`click`]);var cre=R(`
        Error Message
         
        `),lre=R(`
         
        `),ure=R(` `),dre=R(` streaming`),fre=R(`
        Body
        `),pre=R(`

        `),mre=R(`

        `),hre=R(`

        `),gre=R(`
        `);function _re(e,t){D(t,!0);let n=X8({logPrefix:`Failed to copy audit payload:`}),r=X8({logPrefix:`Failed to copy audit payload:`}),i=k(()=>t.pane&&t.pane.showHeaders?Q7(t.pane.headers):``),a=k(()=>!t.pane||!t.pane.showBody?``:Vne(t.pane.body)?Kne(t.pane.body):p9.renderBodyWithConversationHighlights(t.pane.entry,t.pane.body,{promptCacheHighlight:t.pane.promptCacheHighlight})),o=k(()=>!!(t.pane&&p9.canShowConversation(t.pane.entry)));function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),p9.handleErrorConversationClick(e,t.pane.entry))}var c=gre();let l;var u=N(c),d=e=>{var n=cre(),r=P(N(n),2);let i;var a=N(r,!0);E(r),E(n),F(()=>{i=U(r,1,`audit-json audit-pane-error-message svelte-1h5puht`,null,i,{"audit-pane-clickable-preview":I(o)}),W(r,`role`,I(o)?`button`:null),W(r,`tabindex`,I(o)?0:null),B(a,t.pane.errorMessage)}),L(`mousedown`,r,e=>p9.startBodyInteraction(e)),L(`keydown`,r,s),L(`click`,r,e=>p9.handleErrorConversationClick(e,t.pane.entry)),z(e,n)};V(u,e=>{t.pane.showErrorMessage&&e(d)});var f=P(u,2),p=e=>{var n=lre(),a=N(n),o=N(a),s=N(o,!0);E(o),m9(P(o,2),{get state(){return r},label:`Copy Headers`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>r.copy(t.pane.copyHeaders,Q7)}),E(a);var c=P(a,2),l=N(c,!0);E(c),E(n),F(()=>{B(s,t.pane.headersTitle||`Headers`),B(l,I(i))}),z(e,n)};V(f,e=>{t.pane.showHeaders&&e(p)});var m=P(f,2),h=e=>{var r=fre(),i=N(r),o=N(i),s=P(N(o),2),c=e=>{var n=ure(),r=N(n,!0);E(n),F(()=>B(r,t.pane.bodyCacheRatioLabel)),z(e,n)};V(s,e=>{t.pane.bodyCacheRatioLabel&&e(c)});var l=P(s,2),u=e=>{z(e,dre())};V(l,e=>{t.pane.streaming&&e(u)}),E(o),m9(P(o,2),{get state(){return n},label:`Copy Body`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>n.copy(t.pane.copyBody,Q7)}),E(i);var d=P(i,2);mi(d,()=>I(a),!0),E(d),E(r),L(`mousedown`,d,e=>p9.startBodyInteraction(e)),L(`click`,d,e=>p9.handleBodyConversationClick(e,t.pane.entry)),z(e,r)};V(m,e=>{t.pane.showBody&&e(h)});var g=P(m,2),_=e=>{var n=pre(),r=N(n,!0);E(n),F(()=>B(r,t.pane.emptyMessage)),z(e,n)};V(g,e=>{t.pane.showEmpty&&e(_)});var v=P(g,2),y=e=>{var n=mre(),r=P(N(n),2),i=N(r,!0);E(r),E(n),F(()=>B(i,t.pane.pendingMessage)),z(e,n)};V(v,e=>{t.pane.showPending&&e(y)});var b=P(v,2),x=e=>{var n=hre(),r=N(n,!0);E(n),F(()=>B(r,t.pane.tooLargeMessage)),z(e,n)};V(b,e=>{t.pane.showTooLarge&&e(x)}),E(c),F(()=>l=U(c,1,`audit-pane svelte-1h5puht`,null,l,{"audit-pane-split":t.pane&&t.pane.layout===`split`,"audit-pane-split-single":t.pane&&t.pane.layout===`split`&&!(t.pane.showHeaders&&t.pane.showBody)})),z(e,c),O()}Hr([`mousedown`,`keydown`,`click`]);var vre=R(` `),h9=R(` `),yre=R(` `),bre=R(` `),xre=R(``),Sre=R(`
        `),Cre=R(`
        `);function wre(e,t){D(t,!0);let n=ma(t,`panes`,19,()=>[]),r=A(null),i=k(()=>xne(I(r),t.entry)),a=e=>`audit-tab-`+t.entry.id+`-`+e,o=e=>`audit-tabpanel-`+t.entry.id+`-`+e;function s(e,t){let i=n().map(e=>e.id),a=Sne(e.key,i,t);a!=null&&(e.preventDefault(),((e.currentTarget?.closest?.(`.audit-pane-tablist`))?.querySelectorAll(`.audit-pane-tab`)[i.indexOf(a)])?.focus?.(),j(r,a,!0))}var c=Cre(),l=N(c);H(l,21,n,e=>e.id,(e,t)=>{var n=xre();let c;var l=N(n),u=N(l),d=e=>{G(e,{name:`arrow-right`})},f=e=>{G(e,{name:`arrow-left`})};V(u,e=>{I(t).pane.direction===`request`?e(d):I(t).pane.direction===`response`&&e(f,1)}),E(l);var p=P(l,2),m=N(p,!0);E(p);var h=P(p,2),g=e=>{var n=vre(),r=N(n);E(n),F(()=>B(r,`#${I(t).pane.seq??``}`)),z(e,n)};V(h,e=>{I(t).pane.seq&&e(g)});var _=P(h,2),v=e=>{var n=h9(),r=N(n,!0);E(n),F(()=>{U(n,1,`provider-badge audit-pane-kind audit-pane-kind-${(I(t).pane.kind||``)??``}`,`svelte-1bc5vi5`),B(r,I(t).pane.kind)}),z(e,n)};V(_,e=>{I(t).pane.kind&&e(v)});var y=P(_,2);H(y,17,()=>I(t).pane.noChangeSteps||[],e=>e.id,(e,t)=>{var n=yre(),r=N(n,!0);E(n),F(()=>{W(n,`title`,I(t).title),B(r,I(t).label)}),z(e,n)});var b=P(y,2),x=e=>{var n=bre(),r=N(n,!0);E(n),F(()=>B(r,I(t).pane.savingsLabel)),z(e,n)};V(b,e=>{I(t).pane.savingsLabel&&e(x)});var S=P(b,2),C=e=>{var n=h9(),r=N(n,!0);E(n),F(e=>{U(n,1,`audit-status-badge ${e??``}`,`svelte-1bc5vi5`),B(r,I(t).pane.statusCode)},[()=>V7(I(t).pane.statusCode)]),z(e,n)};V(S,e=>{I(t).pane.statusCode&&e(C)}),E(n),F((e,r)=>{c=U(n,1,`audit-pane-tab svelte-1bc5vi5`,null,c,{"audit-pane-tab-active":I(i)===I(t).id}),W(n,`aria-selected`,I(i)===I(t).id),W(n,`id`,e),W(n,`aria-controls`,r),W(n,`tabindex`,I(i)===I(t).id?0:-1),U(l,1,`audit-pane-icon audit-pane-icon-${(I(t).pane.direction||``)??``}`,`svelte-1bc5vi5`),B(m,I(t).pane.title)},[()=>a(I(t).id),()=>o(I(t).id)]),L(`keydown`,n,e=>s(e,I(t).id)),L(`click`,n,()=>j(r,I(t).id,!0)),z(e,n)}),E(l),H(P(l,2),17,n,e=>e.id,(e,t)=>{var n=Sre();let r;_re(N(n),{get pane(){return I(t).pane}}),E(n),F((e,a)=>{W(n,`id`,e),W(n,`aria-labelledby`,a),r=Li(n,``,r,{display:I(i)===I(t).id?null:`none`})},[()=>o(I(t).id),()=>a(I(t).id)]),z(e,n)}),E(c),z(e,c),O()}Hr([`keydown`,`click`]);var Tre=R(`
        `),Ere=R(`
        `);function g9(e,t){D(t,!0);let n=ma(t,`thread`,3,null),r=k(()=>t9.isAuditEntryExpanded(t.entry)),i=k(()=>I(r)?$7(t.entry,Mne):[]),a=k(()=>I(r)?q5(t.entry,k7.auditEntryWorkflow(t.entry),k7.workflowFeatureCaps()):null);function o(e){let n=e&&e.currentTarget;!n||!n.open||(t9.markAuditEntryExpanded(t.entry),typeof NQ.fetchAuditEntryDetail==`function`&&NQ.fetchAuditEntryDetail(t.entry))}var s=Ere(),c=N(s);ore(c,{get entry(){return t.entry},get thread(){return n()}});var l=P(c,2),u=e=>{var n=Tre(),r=N(n),o=e=>{l5(e,{get chart(){return I(a)}})};V(r,e=>{I(a)&&e(o)});var s=P(r,2);wre(s,{get entry(){return t.entry},get panes(){return I(i)}}),One(P(s,2),{get entry(){return t.entry}}),E(n),z(e,n)};V(l,e=>{I(r)&&e(u)}),E(s),Vr(`toggle`,s,o),z(e,s),O()}var Dre=R(`
        `),Ore=R(`
        `),kre=R(`

        `),Are=R(`
        `),jre=R(`
        `);function Mre(e,t){D(t,!0);let n=k(()=>P7(t.entry)),r=k(()=>t9.isThreadExpanded(I(n))),i=k(()=>t9.threadChildren(I(n))),a=k(()=>I(i)&&!I(i).loading&&Number(I(i).total||0)>I(i).entries.length+1);var o=Qr(),s=Sn(o),c=e=>{g9(e,{get entry(){return t.entry}})},l=k(()=>!Ute(t.entry)),u=e=>{var n=jre(),o=N(n);{let e=k(()=>({count:F7(t.entry),expanded:I(r),ontoggle:()=>t9.toggleThread(t.entry)}));g9(o,{get entry(){return t.entry},get thread(){return I(e)}})}var s=P(o,2),c=e=>{var t=Are(),n=N(t),r=e=>{var t=Dre();AZ(N(t),{size:14,label:`Loading session requests`}),E(t),z(e,t)};V(n,e=>{I(i)&&I(i).loading&&e(r)});var o=P(n,2);H(o,17,()=>I(i)&&I(i).entries||[],e=>e.id,(e,t)=>{var n=Ore();g9(N(n),{get entry(){return I(t)}}),E(n),z(e,n)});var s=P(o,2),c=e=>{var t=kre(),n=N(t);E(t),F(()=>B(n,`Showing the latest ${I(i).entries.length+1} of ${I(i).total??``} + requests in this session.`)),z(e,t)};V(s,e=>{I(a)&&e(c)}),E(t),z(e,t)};V(s,e=>{I(r)&&e(c)}),E(n),z(e,n)};V(s,e=>{I(l)?e(c):e(u,-1)}),z(e,o),O()}var Nre=R(``),Pre=R(`
        `),Fre=R(`

        Loading interactions...

        `),Ire=R(`

        No interaction data available for this entry.

        `),Lre=R(`
         
        `),Rre=R(`
         
        `),zre=R(`
        `),Bre=R(`
        `),Vre=R(`
        `,1),Hre=R(`
        `),Ure=R(`
        `),Wre=R(`
        `),Gre=R(``),Kre=R(`

        Interactions

        `,1);function qre(e,t){D(t,!0);let n=p9;Mn(()=>{if(!n.conversationOpen)return;let e=Or(()=>vI.opened()),t=e=>{e.key===`Escape`&&vI.openCount<=1&&n.closeConversation()};return window.addEventListener(`keydown`,t),()=>{vI.closed(e),window.removeEventListener(`keydown`,t)}});function r(e){return[e.role===`function_call`||e.role===`function_result`?`chat-function-note`:`chat-message`,e.roleClass,e.isAnchor?`is-anchor`:``].filter(Boolean).join(` `)}function i(e){return e.role===`function_call`?(e.toolCalls||[]).map(e=>e.name+`()`).join(`, `):(e.functionName?e.functionName+`: `:``)+e.text}var a=Kre(),o=Sn(a),s=e=>{var t=Nre();L(`click`,t,()=>n.closeConversation()),z(e,t)};V(o,e=>{n.conversationOpen&&e(s)});var c=P(o,2);let l;var u=N(c);iL(P(N(u),2),{label:`Close interactions`,onclick:()=>n.closeConversation(),get el(){return n.conversationCloseBtnEl},set el(e){n.conversationCloseBtnEl=e}}),E(u);var d=P(u,2),f=N(d),p=e=>{var t=Pre(),r=N(t,!0);E(t),F(()=>B(r,n.conversationError)),z(e,t)};V(f,e=>{n.conversationError&&e(p)});var m=P(f,2),h=e=>{z(e,Fre())};V(m,e=>{n.conversationLoading&&e(h)});var g=P(m,2),_=e=>{z(e,Ire())},v=k(()=>!n.conversationLoading&&!n.conversationError&&n.conversationMessages.length===0&&!n.conversationLiveWaiting());V(g,e=>{I(v)&&e(_)});var y=P(g,2),b=e=>{var t=Ure();H(t,21,()=>n.conversationMessages,e=>e.uid,(e,t)=>{var a=Hre(),o=N(a),s=e=>{var r=Lre(),a=N(r),o=N(a),s=N(o,!0);E(o);var c=P(o,2),l=N(c,!0);E(c),E(a);var u=P(a,2),d=N(u,!0);E(u),E(r),F((e,n)=>{B(s,I(t).roleLabel),B(l,e),B(d,n)},[()=>i(I(t)),()=>n.functionExpandedContent(I(t))]),z(e,r)},c=e=>{var n=Vre(),r=Sn(n),i=N(r),a=N(i,!0);E(i);var o=P(i,2),s=N(o,!0);E(o),E(r);var c=P(r,2),l=e=>{var n=Rre(),r=N(n,!0);E(n),F(()=>B(r,I(t).text)),z(e,n)};V(c,e=>{I(t).text&&e(l)});var u=P(c,2),d=e=>{var n=Bre();H(n,23,()=>I(t).toolCalls,(e,t)=>e.name+`-`+t,(e,t)=>{var n=zre(),r=N(n),i=N(r,!0);E(r),E(n),F(()=>B(i,I(t).name+`()`)),z(e,n)}),E(n),z(e,n)};V(u,e=>{I(t).toolCalls&&e(d)}),F(e=>{B(a,I(t).roleLabel),B(s,e)},[()=>HI.formatTimestamp(I(t).timestamp)]),z(e,n)};V(o,e=>{I(t).role===`function_call`||I(t).role===`function_result`?e(s):e(c,-1)}),E(a),F(e=>U(a,1,e,`svelte-ssrzja`),[()=>Ai(r(I(t)))]),z(e,a)}),E(t),z(e,t)};V(y,e=>{n.conversationMessages.length>0&&e(b)});var x=P(y,2),S=e=>{var t=Wre(),r=P(N(t),2),i=N(r,!0);E(r),E(t),F(e=>B(i,e),[()=>n.conversationLiveStatusText()]),z(e,t)},C=k(()=>n.conversationLiveWaiting());V(x,e=>{I(C)&&e(S)}),E(d);var w=P(d,2),T=e=>{var t=Gre(),r=N(t),i=N(r,!0);E(r),E(t),F(()=>B(i,`Opened from log: `+n.conversationAnchorID)),z(e,t)};V(w,e=>{n.conversationAnchorID&&e(T)}),E(c),da(c,e=>n.conversationDialogEl=e,()=>n?.conversationDialogEl),F(()=>{l=U(c,1,`conversation-drawer`,null,l,{open:n.conversationOpen}),W(c,`aria-hidden`,!n.conversationOpen)}),z(e,a),O()}Hr([`click`]);var Jre=R(`

        .

        `),Yre=R(`
        Audit logging is off. Live entries are temporary and disappear after + refresh. Set LOGGING_ENABLED=true to persist them.
        `),Xre=R(`

        `),Zre=R(`
        `),Qre=R(`
        `),$re=R(`
        `),eie=R(`
        `);function tie(e,t){D(t,!0);let n=k(()=>QI.config&&QI.config.LOGGING_RETENTION_DAYS);Mn(()=>{if(K.refreshTick,AI.page===`audit-logs`)return Or(()=>r())});function r(){let e=!1;return(async()=>{try{await QI.ensureLoaded()}finally{await t9.fetchAuditLog(!0),!e&&QI.liveLogsVisible()&&NQ.ensureLiveLogs()}})(),()=>{e=!0,NQ.stopLiveLogs()}}var i=eie(),a=N(i),o=N(a),s=P(N(o),2),c=e=>{aQ(e,{copyId:`audit-retention-help-copy`,label:`retention help`,text:`If you want to change the retention period, set LOGGING_RETENTION_DAYS (env var) or logging.retention_days (config.yaml) and restart the gateway. Default is 30 days; 0 keeps audit logs forever.`,title:e=>{var t=Jre(),r=N(t,!0),i=P(r),a=N(i,!0);E(i),We(),E(t),F((e,t)=>{B(r,e),B(a,t)},[()=>zte(I(n)),()=>Bte(I(n))]),z(e,t)},$$slots:{title:!0}})},l=k(()=>Rte(I(n)));V(s,e=>{I(l)&&e(c)}),E(o),E(a);var u=P(a,2);mR(N(u),{onchange:()=>t9.fetchAuditLog(!0)}),E(u);var d=P(u,2);jL(d,{});var f=P(d,2),p=e=>{z(e,Yre())},m=k(()=>QI.loaded&&!QI.auditVisible()&&!K.needsAuth);V(f,e=>{I(m)&&e(p)});var h=P(f,2),g=N(h);Tne(g,{});var _=P(g,2),v=e=>{var t=Xre(),n=N(t);E(t),F(e=>B(n,`Showing ${t9.auditLog.offset+1}-${e??``} of ${t9.auditLog.total??``} + ${t9.auditGroupSessions?`sessions`:`logs`}`),[()=>Math.min(t9.auditLog.offset+t9.auditLog.limit,t9.auditLog.total)]),z(e,t)};V(_,e=>{t9.auditLog.total>0&&e(v)});var y=P(_,2),b=e=>{var t=Zre();AZ(N(t),{size:18,label:`Loading audit logs`}),E(t),z(e,t)},x=e=>{var t=Qre();H(t,21,()=>t9.auditLog.entries,e=>e.id,(e,t)=>{var n=Qr(),r=Sn(n),i=e=>{Mre(e,{get entry(){return I(t)}})},a=e=>{g9(e,{get entry(){return I(t)}})};V(r,e=>{t9.auditGroupSessions?e(i):e(a,-1)}),z(e,n)}),E(t),z(e,t)};V(y,e=>{t9.loading&&t9.auditLog.entries.length===0?e(b):t9.auditLog.entries.length>0&&e(x,1)});var S=P(y,2),C=e=>{var t=$re();NZ(N(t),{}),E(t),z(e,t)};V(S,e=>{t9.auditLog.entries.length===0&&!t9.loading&&!K.needsAuth&&e(C)}),Y$(P(S,2),{get total(){return t9.auditLog.total},get offset(){return t9.auditLog.offset},get limit(){return t9.auditLog.limit},onprev:()=>t9.auditLogPrevPage(),onnext:()=>t9.auditLogNextPage()}),E(h),qre(P(h,2),{}),E(i),z(e,i),O()}function _9(e){try{let t=JSON.parse(JSON.stringify(e||{}));return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}}function v9(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>e):e==null?[]:String(e).split(`,`).map(e=>e.trim()).filter(e=>e)}function y9(e,t){let n=String(t||``).trim();return(e||[]).find(e=>String(e&&e.type||``).trim()===n)||null}function b9(e){return Array.isArray(e)&&e.length>0&&String(e[0].type||``).trim()||`system_prompt`}function x9(e,t){let n=String(t||``).trim();return n&&y9(e,n)?n:b9(e)}function S9(e,t){let n=y9(e,t);return!n||!n.defaults?{}:_9(n.defaults)}function C9(e,t,n){return{...S9(e,n),..._9(t)}}function w9(e,t){let n=x9(e,t);return{name:``,type:n,description:``,user_path:``,config:S9(e,n)}}function nie(e,t){if(!t)return e||[];let n=String(t).toLowerCase();return(e||[]).filter(e=>[e.name,e.type,e.user_path,e.description,e.summary].some(e=>String(e||``).toLowerCase().includes(n)))}function rie(e,t){let n=y9(e,t);return n&&n.label?n.label:t||`Unknown`}function iie(e,t){let n=y9(e,t);return Array.isArray(n&&n.fields)?n.fields:[]}function T9(e,t){if(!t||!e)return t&&t.input===`checkboxes`?[]:``;let n=e[t.key];return n==null?t.input===`checkboxes`?[]:``:t.input===`checkboxes`?v9(n):n}function E9(e,t,n){if(!t)return e;let r=_9(e);if(t.input===`number`){let e=String(n||``).trim();if(e===``)delete r[t.key];else{let n=Number(e);r[t.key]=Number.isFinite(n)?n:e}}else t.input===`checkboxes`?r[t.key]=v9(n):r[t.key]=n;return r}function aie(e,t,n){return T9(e,t).includes(String(n||``).trim())}function oie(e,t,n,r){let i=v9(T9(e,t)),a=String(n||``).trim();return a?E9(e,t,r?Array.from(new Set([...i,a])):i.filter(e=>e!==a)):e}function sie(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),description:String(e&&e.description||``).trim()||void 0,user_path:String(e&&e.user_path||``).trim()||void 0,config:_9(e&&e.config)}}var D9=new class{#e=A(M([]));get guardrails(){return I(this.#e)}set guardrails(e){j(this.#e,e,!0)}#t=A(M([]));get types(){return I(this.#t)}set types(e){j(this.#t,e,!0)}#n=A(!0);get available(){return I(this.#n)}set available(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return I(this.#r)}set loading(e){j(this.#r,e,!0)}#i=A(!1);get typesLoading(){return I(this.#i)}set typesLoading(e){j(this.#i,e,!0)}#a=A(``);get error(){return I(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(``);get filter(){return I(this.#o)}set filter(e){j(this.#o,e,!0)}#s=A(!1);get formOpen(){return I(this.#s)}set formOpen(e){j(this.#s,e,!0)}#c=A(!1);get formSubmitting(){return I(this.#c)}set formSubmitting(e){j(this.#c,e,!0)}#l=A(``);get deletingName(){return I(this.#l)}set deletingName(e){j(this.#l,e,!0)}#u=A(`create`);get formMode(){return I(this.#u)}set formMode(e){j(this.#u,e,!0)}#d=A(``);get formOriginalName(){return I(this.#d)}set formOriginalName(e){j(this.#d,e,!0)}#f=A(M({name:``,type:``,description:``,user_path:``,config:{}}));get form(){return I(this.#f)}set form(e){j(this.#f,e,!0)}get filtered(){return nie(this.guardrails,this.filter)}typeLabel(e){return rie(this.types,e)}typeFields(e){return iie(this.types,e)}fieldValue(e){return T9(this.form&&this.form.config,e)}setFieldValue(e,t){this.form={...this.form,config:E9(this.form.config,e,t)}}arrayFieldSelected(e,t){return aie(this.form&&this.form.config,e,t)}toggleArrayFieldValue(e,t,n){this.form={...this.form,config:oie(this.form.config,e,t,n)}}openCreate(){this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=w9(this.types,b9(this.types)),this.formOpen=!0}openEdit(e){let t=x9(this.types,e&&e.type);this.formMode=`edit`,this.formOriginalName=String(e&&e.name||``).trim(),this.error=``,this.form={name:this.formOriginalName,type:t,description:String(e&&e.description||``).trim(),user_path:String(e&&e.user_path||``).trim(),config:C9(this.types,e&&e.config,t)},this.formOpen=!0}closeForm(){this.formOpen=!1,this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=w9(this.types,b9(this.types))}changeType(e){let t=x9(this.types,e);this.form={...this.form,type:t,config:S9(this.types,t)}}async fetchTypes(){this.typesLoading=!0;try{let e=await JI(`/admin/guardrails/types`,{label:`guardrail types`});if(e.status===503){this.available=!1,this.types=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.types=[];return}this.types=Array.isArray(e.data)?e.data:[];let t=x9(this.types,this.form.type);this.form={...this.form,type:t,config:C9(this.types,this.form.config,t)}}catch(e){console.error(`Failed to fetch guardrail types:`,e),this.types=[],this.error=`Unable to load guardrail types.`}finally{this.typesLoading=!1}}async fetchGuardrails(){this.loading=!0,this.error=``;try{let e=await JI(`/admin/guardrails`,{label:`guardrails`});if(e.status===503){this.available=!1,this.guardrails=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.guardrails=[];return}this.guardrails=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch guardrails:`,e),this.guardrails=[],this.error=`Unable to load guardrails.`}finally{this.loading=!1}}async fetchPage(){await Promise.all([this.fetchTypes(),this.fetchGuardrails()])}async submitForm(){let e=String(this.form.name||``).trim(),t=String(this.form.type||``).trim();if(!e){this.error=`Name is required.`;return}if(!t){this.error=`Type is required.`;return}this.error=``,this.formSubmitting=!0;let n=sie(this.form);try{let t=await YI(`/admin/guardrails`,`PUT`,n,{label:`save guardrail`});if(t.status===503){this.available=!1,this.error=`Guardrails feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=UI(t.data,`Failed to save guardrail.`),console.error(`Failed to save guardrail:`,t.status,this.error);return}q.success(`Guardrail "`+e+`" saved.`),this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to save guardrail:`,e),this.error=`Failed to save guardrail.`}finally{this.formSubmitting=!1}}async deleteGuardrail(e){let t=String(e&&e.name||``).trim();if(!(!t||this.deletingName)&&window.confirm(`Delete guardrail "`+t+`"? Workflows that still reference it must be updated first.`)){this.deletingName=t;try{let e=await YI(`/admin/guardrails`,`DELETE`,{name:t},{label:`delete guardrail`});if(e.status===503){this.available=!1,q.error(`Guardrails feature is unavailable.`);return}if(e.stale)return;if(!e.ok){if(e.status===401){q.error(`Authentication required.`);return}let t=UI(e.data,`Failed to delete guardrail.`);console.error(`Failed to delete guardrail:`,e.status,t),q.error(t);return}q.success(`Guardrail "`+t+`" deleted.`),this.formOpen&&this.formOriginalName===t&&this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to delete guardrail:`,e),q.error(`Failed to delete guardrail.`)}finally{this.deletingName=``}}}},cie=R(`
        `),lie=R(`

        Loading guardrails...

        `),uie=R(`
        `),die=R(`
        `),fie=R(`
        NameTypeUser PathSummaryActions
        `),pie=R(`

        No guardrails defined yet.

        `),mie=R(`

        Instances

        Each instance has a reusable name, a type, an optional user path for + future UI visibility scoping, and a JSON-backed config payload for + that type.

        `);function hie(e,t){D(t,!0);var n=mie(),r=N(n),i=P(N(r),2);G(N(i),{name:`plus`,class:`form-action-icon`}),We(2),E(i),E(r);var a=P(r,2),o=e=>{var t=cie(),n=N(t);b$(N(n),{id:`guardrail-filter`,placeholder:`Filter by name, type, user path, summary...`,label:`Guardrail filter`,get value(){return D9.filter},set value(e){D9.filter=e}}),E(n),E(t),z(e,t)};V(a,e=>{D9.available&&e(o)});var s=P(a,2),c=e=>{var t=lie();AZ(N(t),{size:16,label:`Loading guardrails`}),We(),E(t),z(e,t)};V(s,e=>{D9.loading&&D9.filtered.length===0&&e(c)});var l=P(s,2),u=e=>{var t=fie(),n=N(t),r=P(N(n));H(r,21,()=>D9.filtered,e=>e.name,(e,t)=>{var n=die(),r=N(n),i=N(r,!0);E(r);var a=P(r),o=N(a),s=N(o,!0);E(o),E(a);var c=P(a),l=N(c,!0);E(c);var u=P(c),d=N(u),f=N(d,!0);E(d);var p=P(d,2),m=e=>{var n=uie(),r=N(n,!0);E(n),F(()=>B(r,I(t).description)),z(e,n)};V(p,e=>{I(t).description&&e(m)}),E(u);var h=P(u),g=N(h),_=N(g);{let e=k(()=>`Edit guardrail `+I(t).name);_1(_,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>D9.openEdit(I(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var v=P(_,2);{let e=k(()=>(D9.deletingName===I(t).name?`Deleting guardrail `:`Delete guardrail `)+I(t).name),n=k(()=>D9.deletingName===I(t).name);_1(v,{get label(){return I(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>D9.deleteGuardrail(I(t)),get disabled(){return I(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(g),E(h),E(n),F(e=>{B(i,I(t).name),B(s,e),B(l,I(t).user_path||`—`),B(f,I(t).summary||I(t).description||`No summary yet.`)},[()=>D9.typeLabel(I(t).type)]),z(e,n)}),E(r),E(n),E(t),z(e,t)};V(l,e=>{D9.filtered.length>0&&e(u)});var d=P(l,2),f=e=>{z(e,pie())};V(d,e=>{D9.filtered.length===0&&!D9.loading&&D9.available&&!D9.error&&!K.authError&&e(f)}),E(n),F(()=>i.disabled=D9.typesLoading||D9.formSubmitting||!D9.available),L(`click`,i,()=>D9.openCreate()),z(e,n),O()}Hr([`click`]);var gie=R(``),O9=R(``),_ie=R(``),vie=R(``),yie=R(``),bie=R(``),xie=R(``),Sie=R(`
        `),Cie=R(``),wie=R(` `),Tie=R(`
        `),Eie=R(``);function Die(e,t){D(t,!0);let n=k(()=>D9.formMode===`edit`);function r(){K.dialogOpen||D9.closeForm()}oL(e,{get open(){return D9.formOpen},variant:`editor`,onclose:r,children:(e,t)=>{var r=Eie(),i=N(r),a=N(i),o=N(a),s=N(o),c=N(s,!0);E(s),We(2),E(o),iL(P(o,2),{label:`Close guardrail editor`,onclick:()=>D9.closeForm()}),E(a);var l=P(a,2),u=e=>{var t=gie(),n=N(t,!0);E(t),F(()=>B(n,D9.error)),z(e,t)};V(l,e=>{D9.error&&e(u)});var d=P(l,2),f=N(d),p=P(N(f),2);Zi(p),E(f);var m=P(f,2),h=P(N(m),2);H(h,21,()=>D9.types,e=>e.type,(e,t)=>{var n=O9(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).type)&&(n.value=(n.__value=I(t).type)??``)}),z(e,n)}),E(h);var g;zi(h),E(m);var _=P(m,2),v=P(N(_),2);Zi(v),E(_);var y=P(_,2),b=N(y);aQ(b,{copyId:`guardrail-user-path-help-copy`,label:`guardrail user path help`,text:`Only used for auxiliary rewrite (llm_based_altering) guardrails; ignored for other guardrail types.`,title:e=>{z(e,_ie())},$$slots:{title:!0}});var x=P(b,2);Zi(x),E(y),H(P(y,2),17,()=>D9.typeFields(D9.form.type),e=>e.key,(e,t)=>{var n=Qr(),r=Sn(n),i=e=>{var n=Sie(),r=N(n);{let e=e=>{var n=vie(),r=N(n,!0);E(n),F(()=>{W(n,`for`,`guardrail-field-`+I(t).key),B(r,I(t).label)}),z(e,n)},n=k(()=>`guardrail-field-help-`+I(t).key),i=k(()=>I(t).label+` help`),a=k(()=>I(t).help||``);aQ(r,{get copyId(){return I(n)},get label(){return I(i)},get text(){return I(a)},title:e,$$slots:{title:!0}})}var i=P(r,2),a=e=>{var n=yie();H(n,21,()=>I(t).options||[],e=>e.value,(e,t)=>{var n=O9(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(n);var r;zi(n),F(e=>{W(n,`id`,`guardrail-field-`+I(t).key),W(n,`aria-describedby`,I(t).help?`guardrail-field-help-`+I(t).key:void 0),r!==(r=e)&&(n.value=(n.__value=e)??``,Ri(n,e))},[()=>D9.fieldValue(I(t))]),L(`change`,n,e=>D9.setFieldValue(I(t),e.currentTarget.value)),z(e,n)},o=e=>{var n=bie();pt(n),F(e=>{W(n,`id`,`guardrail-field-`+I(t).key),W(n,`placeholder`,I(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,I(t).help?`guardrail-field-help-`+I(t).key:void 0)},[()=>D9.fieldValue(I(t))]),L(`input`,n,e=>D9.setFieldValue(I(t),e.currentTarget.value)),z(e,n)},s=e=>{var n=xie();Zi(n),F(e=>{W(n,`id`,`guardrail-field-`+I(t).key),W(n,`type`,I(t).input||`text`),W(n,`placeholder`,I(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,I(t).help?`guardrail-field-help-`+I(t).key:void 0)},[()=>D9.fieldValue(I(t))]),L(`input`,n,e=>D9.setFieldValue(I(t),e.currentTarget.value)),z(e,n)};V(i,e=>{I(t).input===`select`?e(a):I(t).input===`textarea`?e(o,1):e(s,-1)}),E(n),z(e,n)},a=e=>{var n=Tie(),r=N(n),i=N(r,!0);E(r);var a=P(r,2);H(a,21,()=>I(t).options||[],e=>I(t).key+`-`+e.value,(e,n)=>{var r=Cie(),i=N(r);Zi(i);var a=P(i,2),o=N(a,!0);E(a),E(r),F(e=>{$i(i,e),B(o,I(n).label)},[()=>D9.arrayFieldSelected(I(t),I(n).value)]),L(`change`,i,e=>D9.toggleArrayFieldValue(I(t),I(n).value,e.currentTarget.checked)),z(e,r)}),E(a);var o=P(a,2),s=e=>{var n=wie(),r=N(n,!0);E(n),F(()=>{W(n,`id`,`guardrail-field-help-`+I(t).key),B(r,I(t).help)}),z(e,n)};V(o,e=>{I(t).help&&e(s)}),E(n),F(()=>{W(n,`aria-describedby`,I(t).help?`guardrail-field-help-`+I(t).key:void 0),B(i,I(t).label)}),z(e,n)};V(r,e=>{I(t).input===`checkboxes`?e(a,-1):e(i)}),z(e,n)}),E(d);var S=P(d,2),C=N(S),w=P(C,2);G(N(w),{name:`save`,class:`form-action-icon`}),We(2),E(w),E(S),E(i),E(r),F(()=>{B(c,I(n)?`Edit Guardrail`:`Create Guardrail`),p.disabled=I(n),W(p,`data-modal-autofocus`,!I(n)||void 0),h.disabled=I(n),g!==(g=D9.form.type)&&(h.value=(h.__value=D9.form.type)??``,Ri(h,D9.form.type)),W(v,`data-modal-autofocus`,I(n)?!0:void 0),w.disabled=D9.formSubmitting}),Vr(`submit`,i,e=>{e.preventDefault(),D9.submitForm()}),oa(p,()=>D9.form.name,e=>D9.form.name=e),L(`change`,h,e=>D9.changeType(e.currentTarget.value)),oa(v,()=>D9.form.description,e=>D9.form.description=e),oa(x,()=>D9.form.user_path,e=>D9.form.user_path=e),L(`click`,C,()=>D9.closeForm()),z(e,r)},$$slots:{default:!0}}),O()}Hr([`change`,`input`,`click`]);var Oie=R(`

        Guardrails

        `),kie=R(`
        Runtime guardrail execution is currently off because GUARDRAILS_ENABLED is disabled. You can still manage + definitions here.
        `),Aie=R(`
        Guardrails feature is unavailable.
        `),jie=R(`
        `),Mie=R(`

        Reusable Policy Objects

        Guardrail Library

        Store guardrails in the database, keep them hot in memory, and attach + them to workflows by reference.

        Instances
        Types
        `);function Nie(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`guardrails`&&(QI.ensureLoaded(),D9.fetchPage())});var n=Mie(),r=N(n),i=N(r);aQ(N(i),{copyId:`guardrails-help-copy`,label:`guardrails help`,text:`Reusable policy objects stored in the database and kept hot in memory for workflow execution.`,title:e=>{z(e,Oie())},$$slots:{title:!0}}),E(i),E(r);var a=P(r,2),o=P(N(a),2),s=N(o),c=P(N(s),2),l=N(c,!0);E(c),E(s);var u=P(s,2),d=P(N(u),2),f=N(d,!0);E(d),E(u),E(o),E(a);var p=P(a,2);jL(p,{});var m=P(p,2),h=e=>{z(e,kie())},g=k(()=>!QI.guardrailsVisible());V(m,e=>{I(g)&&e(h)});var _=P(m,2),v=e=>{z(e,Aie())};V(_,e=>{!K.authError&&!D9.available&&e(v)});var y=P(_,2),b=e=>{var t=jie(),n=N(t,!0);E(t),F(()=>B(n,D9.error)),z(e,t)};V(y,e=>{!K.authError&&D9.error&&!D9.formOpen&&e(b)});var x=P(y,2);Die(x,{}),hie(P(x,2),{}),E(n),F((e,t)=>{B(l,e),B(f,t)},[()=>NL(D9.guardrails.length),()=>NL(D9.types.length)]),z(e,n),O()}var Z=new class{#e=A(M([]));get servers(){return I(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!0);get available(){return I(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return I(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return I(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return I(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return I(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return I(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get slugEdited(){return I(this.#c)}set slugEdited(e){j(this.#c,e,!0)}#l=A(!1);get advancedOpen(){return I(this.#l)}set advancedOpen(e){j(this.#l,e,!0)}#u=A(M(bX()));get form(){return I(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(``);get deletingName(){return I(this.#d)}set deletingName(e){j(this.#d,e,!0)}#f=A(``);get reconnectingName(){return I(this.#f)}set reconnectingName(e){j(this.#f,e,!0)}#p=A(!1);get catalogOpen(){return I(this.#p)}set catalogOpen(e){j(this.#p,e,!0)}#m=A(!1);get catalogLoading(){return I(this.#m)}set catalogLoading(e){j(this.#m,e,!0)}#h=A(``);get catalogError(){return I(this.#h)}set catalogError(e){j(this.#h,e,!0)}#g=A(M(xX()));get catalog(){return I(this.#g)}set catalog(e){j(this.#g,e,!0)}#_=k(()=>MX(this.servers,this.filter));get filtered(){return I(this.#_)}set filtered(e){j(this.#_,e)}async fetchServers(){if(await QI.ensureLoaded(),!QI.mcpVisible()){this.available=!1,this.servers=[],this.error=``,this.loading=!1;return}this.loading=!0,this.error=``;try{let e=await JI(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[],e.status!==401&&(this.error=UI(e.data,`Failed to load MCP servers.`));return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[],this.error=`Unable to load MCP servers.`}finally{this.loading=!1}}openCreate(){this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=bX(),this.formOpen=!0}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.slugEdited=!0,this.advancedOpen=!1,this.error=``,this.form=NX(e),this.formOpen=!0)}closeForm(){this.formOpen=!1,this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=bX()}syncSlugFromName(){this.formMode===`create`&&!this.slugEdited&&(this.form.slug=OX(this.form.name))}markSlugEdited(){this.formMode===`create`&&(this.slugEdited=!0)}addHeader(){this.form.headers.push({name:``,value:``})}removeHeader(e){this.form.headers.splice(e,1)}async submitForm(){let e=PX(this.form,this.formMode,this.servers);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await YI(`/admin/mcp-servers`,`PUT`,e.payload,{label:`save mcp server`});if(t.stale)return;if(t.status===503){this.available=!1,this.error=`MCP server management is unavailable.`;return}if(!t.ok){this.error=t.status===401?`Authentication required.`:UI(t.data,`Failed to save MCP server.`);return}q.success(`MCP server "`+e.payload.name+`" saved.`),this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to save MCP server:`,e),this.error=`Failed to save MCP server.`}finally{this.formSubmitting=!1}}async deleteServer(e){let t=String(e&&e.name||``).trim(),n=SX(e);if(!(!n||this.deletingName||e&&e.managed)&&confirm(`Delete MCP server "`+t+`"? Clients lose access to its tools immediately.`)){this.deletingName=n;try{let e=await YI(`/admin/mcp-servers/`+encodeURIComponent(n),`DELETE`,void 0,{label:`delete mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:UI(e.data,`Failed to delete MCP server.`));return}q.success(`MCP server "`+t+`" deleted.`),this.formOpen&&this.form.slug===n&&this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to delete MCP server:`,e),q.error(`Failed to delete MCP server.`)}finally{this.deletingName=``}}}async reconnectServer(e){let t=String(e&&e.name||``).trim(),n=SX(e);if(!(!n||this.reconnectingName)){this.reconnectingName=n;try{let e=await YI(`/admin/mcp-servers/`+encodeURIComponent(n)+`/reconnect`,`POST`,void 0,{label:`reconnect mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:UI(e.data,`Failed to reconnect MCP server.`));return}let r=e.data,i=CX(r);i===`connected`?q.success(`MCP server "`+t+`" reconnected.`):i===`disabled`?q.success(`MCP server "`+t+`" is disabled; no connection was attempted.`):q.error(`Reconnect attempted, but MCP server "`+t+`" is still `+i+`.`),r&&r.name?this.servers=(this.servers||[]).map(e=>SX(e)===SX(r)?r:e):this.fetchServers()}catch(e){console.error(`Failed to reconnect MCP server:`,e),q.error(`Failed to reconnect MCP server.`)}finally{this.reconnectingName=``}}}async openCatalog(e){let t=String(e&&e.name||``).trim(),n=SX(e);if(n){this.catalogOpen=!0,this.catalogLoading=!0,this.catalogError=``,this.catalog={...xX(),server:n,status:CX(e)};try{let e=await JI(`/admin/mcp-servers/`+encodeURIComponent(n)+`/catalog`,{label:`mcp server catalog`});if(e.stale)return;if(e.status===503){this.available=!1,this.catalogError=`MCP server management is unavailable.`;return}if(e.status===404){this.catalogError=`MCP server "`+t+`" was not found.`;return}if(!e.ok){this.catalogError=e.status===401?`Authentication required.`:UI(e.data,`Failed to load MCP server catalog.`);return}this.catalog=FX(n,e.data)}catch(e){console.error(`Failed to load MCP server catalog:`,e),this.catalogError=`Failed to load MCP server catalog.`}finally{this.catalogLoading=!1}}}closeCatalog(){this.catalogOpen=!1,this.catalogLoading=!1,this.catalogError=``,this.catalog=xX()}},Pie=R(``),Fie=R(`

        `),Iie=R(`
        `),Lie=R(`

        `),Rie=R(`
      • `),zie=R(`

          `),Bie=R(`

          No tools listed — the server may still be connecting or degraded.

          `),Vie=R(` `,1),Hie=R(``);function Uie(e,t){D(t,!0);let n=k(()=>LX(Z.catalog));oL(e,{get open(){return Z.catalogOpen},variant:`editor`,onclose:()=>Z.closeCatalog(),children:(e,t)=>{var r=Hie(),i=N(r),a=N(i),o=P(N(a),2),s=N(o),c=N(s,!0);E(s);var l=P(s,2),u=N(l,!0);E(l),E(o),E(a),iL(P(a,2),{label:`Close MCP server catalog`,onclick:()=>Z.closeCatalog()}),E(i);var d=P(i,2),f=e=>{h1(e,{label:`Loading catalog...`})},p=e=>{var t=Pie(),n=N(t,!0);E(t),F(()=>B(n,Z.catalogError)),z(e,t)},m=e=>{var t=Vie(),r=Sn(t),i=e=>{var t=Fie(),n=N(t,!0);E(t),F(()=>B(n,Z.catalog.instructions)),z(e,t)};V(r,e=>{Z.catalog.instructions&&e(i)});var a=P(r,2);H(a,17,()=>I(n),e=>e.key,(e,t)=>{var n=zie(),r=N(n),i=N(r,!0);E(r);var a=P(r,2);H(a,21,()=>I(t).items,e=>e.key,(e,t)=>{var n=Rie(),r=N(n),i=N(r,!0);E(r);var a=P(r,2),o=e=>{var n=Iie(),r=N(n,!0);E(n),F(()=>{W(n,`title`,`Exposed on the aggregated /mcp endpoint as `+I(t).aggregated),B(r,I(t).aggregated)}),z(e,n)};V(a,e=>{I(t).aggregated&&e(o)});var s=P(a,2),c=e=>{var n=Lie(),r=N(n,!0);E(n),F(()=>B(r,I(t).description)),z(e,n)};V(s,e=>{I(t).description&&e(c)}),E(n),F(()=>{W(r,`title`,I(t).aggregated||I(t).name),B(i,I(t).name)}),z(e,n)}),E(a),E(n),F(()=>B(i,I(t).title)),z(e,n)});var o=P(a,2),s=e=>{z(e,Bie())},c=k(()=>RX(Z.catalog));V(o,e=>{I(c)&&e(s)}),z(e,t)};V(d,e=>{Z.catalogLoading?e(f):Z.catalogError?e(p,1):e(m,-1)});var h=P(d,2),g=N(h);E(h),E(r),F((e,t)=>{B(c,Z.catalog.server),U(l,1,`audit-status-badge ${e??``}`,`svelte-1xqrzco`),B(u,t)},[()=>wX(Z.catalog),()=>CX(Z.catalog)]),L(`click`,g,()=>Z.closeCatalog()),z(e,r)},$$slots:{default:!0}}),O()}Hr([`click`]);var Wie=R(``),Gie=R(`Derived from the name. You may edit it before saving.`),Kie=R(`Immutable because it is used in URLs, scope headers, and aggregated tool names.`),qie=R(`
          `),Jie=R(``);function Yie(e,t){D(t,!0),oL(e,{get open(){return Z.formOpen},variant:`editor`,onclose:()=>Z.closeForm(),children:(e,t)=>{var n=Jie(),r=N(n),i=N(r),a=N(i),o=N(a),s=N(o,!0);E(o),We(2),E(a),iL(P(a,2),{label:`Close MCP server editor`,onclick:()=>Z.closeForm()}),E(i);var c=P(i,2),l=e=>{var t=Wie(),n=N(t,!0);E(t),F(()=>B(n,Z.error)),z(e,t)};V(c,e=>{Z.error&&e(l)});var u=P(c,2),d=P(N(u),2);Zi(d),We(2),E(u);var f=P(u,2),p=P(N(f),2);Zi(p);var m=P(p,2),h=e=>{z(e,Gie())},g=e=>{z(e,Kie())};V(m,e=>{Z.formMode===`create`?e(h):e(g,-1)}),E(f);var _=P(f,2),v=P(N(_),2),y=N(v);y.value=y.__value=`http`;var b=P(y);b.value=b.__value=`sse`,E(v),We(2),E(_);var x=P(_,2),S=P(N(x),2);Zi(S),E(x);var C=P(x,2),w=P(N(C),2);H(w,21,()=>Z.form.headers,ai,(e,t,n)=>{var r=qie(),i=N(r);Zi(i);var a=P(i,2);Zi(a),_1(P(a,2),{label:`Remove header`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Z.removeHeader(n),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),oa(i,()=>I(t).name,e=>I(t).name=e),oa(a,()=>I(t).value,e=>I(t).value=e),z(e,r)}),E(w);var T=P(w,2),ee=N(T);G(N(ee),{name:`plus`,class:`form-action-icon`}),We(2),E(ee),E(T),We(2),E(C);var te=P(C,2),ne=N(te),re=N(ne);let ie;var ae=P(N(re),2),oe=N(ae,!0);E(ae),E(re),E(ne),E(te);var se=P(te,2),ce=P(N(se),2),le=N(ce),ue=P(N(le),2);Zi(ue),E(le);var de=P(le,2),fe=P(N(de),2);Zi(fe),E(de);var pe=P(de,2),me=P(N(pe),2);Zi(me),E(pe);var he=P(pe,2),ge=P(N(he),2);pt(ge),W(ge,`placeholder`,`/ +/team/alpha`),E(he);var _e=P(he,2),ve=P(N(_e),2);Zi(ve),E(_e),E(ce),E(se);var ye=P(se,2),be=N(ye),xe=P(be,2),Se=N(xe);G(Se,{name:`save`,class:`form-action-icon`});var Ce=P(Se,2),we=N(Ce,!0);E(Ce),E(xe),E(ye),E(r),E(n),F(()=>{B(s,Z.formMode===`edit`?`Edit MCP Server`:`Add MCP Server`),p.disabled=Z.formMode===`edit`,ie=U(re,1,`alias-toggle`,null,ie,{enabled:Z.form.enabled}),W(re,`aria-label`,(Z.form.enabled?`Disable`:`Enable`)+` MCP server`),B(oe,Z.form.enabled?`Enabled`:`Disabled`),se.open=Z.advancedOpen,xe.disabled=Z.formSubmitting,B(we,Z.formSubmitting?`Saving...`:`Save`)}),Vr(`submit`,r,e=>{e.preventDefault(),Z.submitForm()}),L(`input`,d,()=>Z.syncSlugFromName()),oa(d,()=>Z.form.name,e=>Z.form.name=e),L(`input`,p,()=>Z.markSlugEdited()),oa(p,()=>Z.form.slug,e=>Z.form.slug=e),Bi(v,()=>Z.form.transport,e=>Z.form.transport=e),oa(S,()=>Z.form.url,e=>Z.form.url=e),L(`click`,ee,()=>Z.addHeader()),L(`click`,re,()=>Z.form.enabled=!Z.form.enabled),Vr(`toggle`,se,e=>Z.advancedOpen=e.currentTarget.open),oa(ue,()=>Z.form.description,e=>Z.form.description=e),oa(fe,()=>Z.form.allowed_tools,e=>Z.form.allowed_tools=e),oa(me,()=>Z.form.disallowed_tools,e=>Z.form.disallowed_tools=e),oa(ge,()=>Z.form.user_paths,e=>Z.form.user_paths=e),oa(ve,()=>Z.form.tool_timeout_seconds,e=>Z.form.tool_timeout_seconds=e),L(`click`,be,()=>Z.closeForm()),z(e,n)},$$slots:{default:!0}}),O()}Hr([`input`,`click`]);var Xie=R(`Config`),Zie=R(`
          `),Qie=R(`
          `),$ie=R(`
          NameTransportEndpointStatusToolsEnabledActions
          `);function eae(e,t){D(t,!0);function n(e){return TX(e,e=>HI.formatTimestamp(e))}var r=$ie(),i=N(r),a=P(N(i));H(a,21,()=>Z.filtered,e=>SX(e),(e,t)=>{var r=Qie(),i=N(r),a=N(i),o=N(a,!0);E(a);var s=P(a,2),c=e=>{z(e,Xie())};V(s,e=>{I(t).managed&&e(c)});var l=P(s,2),u=N(l,!0);E(l),E(i);var d=P(i),f=N(d),p=N(f,!0);E(f),E(d);var m=P(d),h=N(m,!0);E(m);var g=P(m),_=N(g),v=N(_,!0);E(_);var y=P(_,2),b=e=>{var n=Zie(),r=N(n,!0);E(n),F(()=>B(r,I(t).last_error)),z(e,n)},x=k(()=>CX(I(t))===`degraded`&&I(t).last_error);V(y,e=>{I(x)&&e(b)}),E(g);var S=P(g),C=N(S),w=N(C,!0);E(C);var T=P(C,2),ee=N(T,!0);E(T),E(S);var te=P(S),ne=N(te),re=N(ne,!0);E(ne),E(te);var ie=P(te),ae=N(ie),oe=N(ae),se=e=>{{let n=k(()=>`Edit MCP server `+I(t).name);_1(e,{get label(){return I(n)},class:`table-icon-btn`,onclick:()=>Z.openEdit(I(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(oe,e=>{I(t).managed||e(se)});var ce=P(oe,2);{let e=k(()=>`Inspect catalog of MCP server `+I(t).name);_1(ce,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>Z.openCatalog(I(t)),children:(e,t)=>{G(e,{name:`list`,class:`form-action-icon`})},$$slots:{default:!0}})}var le=P(ce,2);{let e=k(()=>(Z.reconnectingName===SX(I(t))?`Reconnecting MCP server `:`Reconnect MCP server `)+I(t).name),n=k(()=>Z.reconnectingName===SX(I(t)));_1(le,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>Z.reconnectServer(I(t)),get disabled(){return I(n)},children:(e,t)=>{G(e,{name:`refresh-cw`,class:`form-action-icon`})},$$slots:{default:!0}})}var ue=P(le,2),de=e=>{{let n=k(()=>(Z.deletingName===SX(I(t))?`Deleting MCP server `:`Delete MCP server `)+I(t).name),r=k(()=>Z.deletingName===SX(I(t)));_1(e,{get label(){return I(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Z.deleteServer(I(t)),get disabled(){return I(r)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}};V(ue,e=>{I(t).managed||e(de)}),E(ae),E(ie),E(r),F((e,n,r,i,a,s,c,l)=>{B(o,I(t).name),B(u,e),B(p,I(t).transport||`http`),W(m,`title`,n),B(h,r),U(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),W(_,`title`,a),B(v,s),B(w,c),B(ee,l),U(ne,1,`auth-key-status-badge ${I(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`}`),B(re,I(t).enabled?`Enabled`:`Disabled`)},[()=>SX(I(t)),()=>EX(I(t)),()=>EX(I(t)),()=>wX(I(t)),()=>n(I(t)),()=>CX(I(t)),()=>NL(I(t).tool_count||0),()=>DX(I(t))]),z(e,r)}),E(a),E(i),E(r),z(e,r),O()}var tae=R(`

          MCP Servers

          `),nae=R(``),rae=R(`
          MCP server management is unavailable.
          `),iae=R(``),aae=R(`
          `),oae=R(`

          No MCP servers yet. Add one here, or declare servers in config.yaml under mcp.servers.

          `),sae=R(`

          No MCP servers match your filter.

          `),cae=R(`
          `);function lae(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`mcp-servers`&&Z.fetchServers()});var n=cae(),r=N(n),i=N(r);aQ(N(i),{copyId:`mcp-servers-help-copy`,label:`MCP servers help`,text:`Upstream Model Context Protocol servers whose tools, prompts, and resources the gateway exposes to clients. Servers added here connect over HTTP or SSE; stdio servers and rows marked Config are declared in config.yaml under mcp.servers and are read-only in the dashboard. Saved header values are masked in API and dashboard responses.`,title:e=>{z(e,tae())},$$slots:{title:!0}}),E(i);var a=P(i,2),o=N(a),s=e=>{var t=nae();G(N(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),F(()=>t.disabled=Z.formSubmitting),L(`click`,t,()=>Z.openCreate()),z(e,t)};V(o,e=>{Z.available&&!K.authError&&e(s)}),E(a),E(r);var c=P(r,2),l=e=>{z(e,rae())};V(c,e=>{!Z.available&&!K.authError&&e(l)});var u=P(c,2),d=e=>{var t=iae(),n=N(t,!0);E(t),F(()=>B(n,Z.error)),z(e,t)};V(u,e=>{Z.error&&!K.authError&&!Z.formOpen&&e(d)});var f=P(u,2),p=e=>{h1(e,{label:`Loading MCP servers...`})};V(f,e=>{Z.loading&&!K.authError&&e(p)});var m=P(f,2),h=e=>{var t=aae(),n=N(t);b$(N(n),{id:`mcp-server-filter`,placeholder:`Filter by name, slug, URL, transport, or status...`,label:`Filter MCP servers by name, slug, URL, transport, or status`,get value(){return Z.filter},set value(e){Z.filter=e}}),E(n),E(t),z(e,t)};V(m,e=>{(Z.servers.length>0||Z.filter)&&Z.available&&!K.authError&&e(h)});var g=P(m,2);Yie(g,{});var _=P(g,2);Uie(_,{});var v=P(_,2),y=e=>{eae(e,{})};V(v,e=>{Z.filtered.length>0&&Z.available&&!K.authError&&e(y)});var b=P(v,2),x=e=>{z(e,oae())};V(b,e=>{Z.servers.length===0&&!Z.filter&&!Z.loading&&!K.authError&&!Z.error&&Z.available&&e(x)});var S=P(b,2),C=e=>{z(e,sae())};V(S,e=>{Z.servers.length>0&&Z.filtered.length===0&&Z.filter&&!Z.loading&&!K.authError&&Z.available&&e(C)}),E(n),z(e,n),O()}Hr([`click`]);var k9=`api_keys`,uae=`base_url`,A9=`service_account_json`,j9=`models`,M9={[k9]:{label:`API Keys`,control:`keys`,hint:`Multiple keys rotate round-robin. Saved values are shown as ***********; leave the asterisks unchanged to keep the stored key.`},[uae]:{label:`Base URL`,control:`text`},api_version:{label:`API Version`,control:`text`,placeholder:`e.g. 2024-10-01-preview`,hint:`Leave empty for the provider default. Realtime endpoints may need a newer version.`},backend:{label:`Backend`,control:`select`,hint:`Which Google surface to call. Vertex authenticates with Google credentials instead of an API key.`},auth_type:{label:`Auth Type`,control:`select`,hint:`How to obtain Google credentials. Leave on the default to use Application Default Credentials.`},api_mode:{label:`API Mode`,control:`select`,hint:`Which request shape to send upstream.`},vertex_project:{label:`Vertex Project`,control:`text`,placeholder:`my-gcp-project`},vertex_location:{label:`Vertex Location`,control:`text`,placeholder:`us-central1`},service_account_file:{label:`Service Account File`,control:`text`,placeholder:`/path/to/service-account.json`,hint:`Path readable by the gateway process.`},[A9]:{label:`Service Account JSON`,control:`textarea`,placeholder:`Paste service account JSON`,hint:`Saved values are shown as ***********; leave the asterisks unchanged to keep the stored value, or clear it to remove.`},service_account_json_base64:{label:`Service Account JSON (base64)`,control:`text`,hint:`Saved values are shown as ***********; leave the asterisks unchanged to keep the stored value.`},gcp_scope:{label:`GCP Scope`,control:`text`,placeholder:`https://www.googleapis.com/auth/cloud-platform`},[j9]:{label:`Models (comma-separated)`,control:`text`,placeholder:`gpt-4o, gpt-4o-mini`,hint:`Leave empty to auto-discover models from the provider's /models endpoint where supported.`}};function dae(e){return M9[e]||{label:String(e||``).split(`_`).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),control:`text`}}function N9(){return{name:``,type:``,api_keys:[],base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function fae(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function pae(e,t){let n=(Array.isArray(e)?e:[]).map(e=>String(e&&e.type||``).trim()).filter(Boolean),r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function mae(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>String(e&&e.type||``).trim()===n)||null}function P9(e,t){let n=e&&Array.isArray(e.fields)&&e.fields.length>0?e.fields:Object.keys(M9).map(e=>({name:e,advanced:e!==k9})),r=t||e&&e.default_base_url||``,i=[],a=[];for(let e of n){let t=String(e&&e.name||``).trim();if(!t)continue;let n={...dae(t),name:t,required:!!(e&&e.required),options:Array.isArray(e&&e.options)?e.options:[]};t===`base_url`&&r&&(n.placeholder=r,n.hint=`Defaults to `+r),n.options.length>0&&(n.control=`select`),(e&&e.advanced?a:i).push(n)}return{primary:i,advanced:a}}var hae=new Set([`name`,`type`,`enabled`]);function gae(e,t){let n=new Set([...t.primary||[],...t.advanced||[]].map(e=>e.name)),r=N9(),i={...e};for(let e of Object.keys(r))!hae.has(e)&&!n.has(e)&&(i[e]=r[e]);return i}function _ae(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?t+` key`+(t===1?``:`s`):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?`service account`:String(e&&e.vertex_project||``).trim()?`ADC`:`keyless`}function vae(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?`auto-discovered`:t.length+` model`+(t.length===1?``:`s`)}function yae(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function F9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function bae(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function xae(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:yae(e&&e.api_keys),base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function Sae(e){let t=String(e||``).trim();return t.length>=3&&/^\*+$/.test(t)}function Cae(e,t,n,r){let i={},a=String(e&&e.name||``).trim();String(e&&e.type||``).trim()||(i.type=`Select a provider type.`),a?a.includes(`/`)?i.name=`Name cannot contain '/' — it separates the provider from the model.`:t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===a)&&(i.name=`Provider "`+a+`" already exists.`):i.name=`Name is required.`;let{primary:o,advanced:s}=P9(r);for(let t of[...o,...s]){let n=wae(e,t);n&&(i[t.name]=n)}return i}function wae(e,t){if(t.name===`api_keys`){let n=F9(e&&e.api_keys);return t.required&&!n.some(e=>e.trim())?`At least one API key is required for this provider type.`:n.some(e=>!e.trim())?`Remove the empty row instead of leaving a key blank.`:``}let n=String(e&&e[t.name]||``).trim();if(t.required&&!n)return t.label+` is required for this provider type.`;if(!n)return``;if(t.name===`base_url`&&!n.includes(`://`)&&/[./]/.test(n))return`Include the scheme, e.g. https://`+n;if(t.name===`service_account_json`&&!Sae(n))try{JSON.parse(n)}catch{return`Paste the service account JSON file's contents — this is not valid JSON.`}return``}function Tae(e,t){let n={name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),enabled:!!(e&&e.enabled)},{primary:r,advanced:i}=P9(t),a=new Set;for(let t of[...r,...i])a.add(t.name),n[t.name]=I9(e,t.name);for(let t of Object.keys(M9)){if(a.has(t))continue;let r=I9(e,t);(Array.isArray(r)?r.length>0:String(r).trim()!==``)&&(n[t]=r)}return n}function I9(e,t){switch(t){case k9:return F9(e&&e.api_keys);case j9:return ML(e&&e.models);case A9:return e&&e.service_account_json||``;default:return String(e&&e[t]||``).trim()}}var Q=new class{#e=A(M([]));get rows(){return I(this.#e)}set rows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return I(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return I(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return I(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return I(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return I(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return I(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get advancedOpen(){return I(this.#c)}set advancedOpen(e){j(this.#c,e,!0)}#l=A(M(N9()));get form(){return I(this.#l)}set form(e){j(this.#l,e,!0)}#u=A(M({}));get fieldErrors(){return I(this.#u)}set fieldErrors(e){j(this.#u,e,!0)}#d=A(``);get focusField(){return I(this.#d)}set focusField(e){j(this.#d,e,!0)}#f=A(``);get deletingName(){return I(this.#f)}set deletingName(e){j(this.#f,e,!0)}#p=A(!1);get deleteSubmitting(){return I(this.#p)}set deleteSubmitting(e){j(this.#p,e,!0)}#m=A(M([]));get types(){return I(this.#m)}set types(e){j(this.#m,e,!0)}#h=A(!1);get typesLoaded(){return I(this.#h)}set typesLoaded(e){j(this.#h,e,!0)}#g=null;get filteredRows(){return fae(this.rows,this.filter)}get schema(){return mae(this.types,this.form.type)}get formFields(){if(!String(this.form.type||``).trim())return{primary:[],advanced:[]};let e=this.schema;return P9(e,e&&e.default_base_url)}async fetchTypes(){try{let e=await JI(`/admin/provider-credentials/types`,{label:`provider credential types`});if(e.stale||e.status===503||e.status===404||!e.ok)return;this.types=Array.isArray(e.data)?e.data:[],this.typesLoaded=!0}catch(e){console.error(`Failed to fetch provider credential types:`,e)}}async fetchPage(){this.#g&&this.#g.abort();let e=new AbortController;this.#g=e,this.loading=!0,this.error=``;try{let t=await JI(`/admin/provider-credentials`,{label:`provider credentials`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(t.status===503||t.status===404){this.available=!1,this.rows=[];return}if(this.available=!0,!t.ok){this.rows=[],t.status!==401&&(this.error=UI(t.data,`Failed to load provider credentials.`));return}this.rows=Array.isArray(t.data)?t.data:[],this.typesLoaded||await this.fetchTypes()}catch(e){if(XI(e))return;console.error(`Failed to fetch provider credentials:`,e),this.rows=[],this.error=`Unable to load provider credentials.`}finally{this.#g===e&&(this.#g=null,this.loading=!1)}}#_(e,t){this.formMode=e,this.form=t,this.advancedOpen=!1,this.error=``,this.fieldErrors={},this.focusField=``}openCreate(){this.#_(`create`,N9()),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.#_(`edit`,xae(e)),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.#_(`create`,N9())}selectType(){this.fieldErrors={};let e=this.formFields;this.formMode===`create`&&(this.form=gae(this.form,e));let t=e.primary.find(e=>e.name===`api_keys`);t&&t.required&&this.form.api_keys.length===0&&(this.form.api_keys=[{value:``}])}clearFieldError(e){if(this.fieldErrors[e]===void 0)return;let{[e]:t,...n}=this.fieldErrors;this.fieldErrors=n}addApiKeyRow(){this.form.api_keys.push({value:``}),this.clearFieldError(`api_keys`)}removeApiKeyRow(e){this.form.api_keys.splice(e,1),this.clearFieldError(`api_keys`)}#v(e){let t=UI(e,`Failed to save provider credential.`),n=String(e&&e.error&&typeof e.error==`object`&&e.error.param||``).trim();if(n&&this.#y(n)){this.fieldErrors={...this.fieldErrors,[n]:t},this.error=``,this.#b();return}this.error=t}#y(e){if(e===`name`||e===`type`)return!0;let{primary:t,advanced:n}=this.formFields;return[...t,...n].some(t=>t.name===e)}#b(){let e=Object.keys(this.fieldErrors);if(e.length===0)return;let{primary:t,advanced:n}=this.formFields;n.some(t=>e.includes(t.name))&&(this.advancedOpen=!0);let r=[`type`,`name`,...t.map(e=>e.name),...n.map(e=>e.name)];this.focusField=r.find(t=>e.includes(t))||e[0]}#x(){kL.fetchModels(),kL.fetchCategories()}async submitForm(){let e=this.schema,t=Cae(this.form,this.formMode,this.rows,e);if(Object.keys(t).length>0){this.fieldErrors=t,this.error=``,this.#b();return}let n=Tae(this.form,e);this.error=``,this.fieldErrors={},this.formSubmitting=!0;try{let e=await YI(`/admin/provider-credentials`,`PUT`,n,{label:`save provider credential`});if(e.stale)return;if(e.status===503){this.available=!1,this.error=`Provider credential management is unavailable.`;return}if(!e.ok){if(e.status===401){this.error=`Authentication required.`;return}this.#v(e.data);return}q.success(`Provider "`+n.name+`" saved.`),this.closeForm(),this.#x(),this.fetchPage()}catch(e){console.error(`Failed to save provider credential:`,e),this.error=`Failed to save provider credential.`}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await YI(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`});if(t.stale)return;if(t.status===503){this.available=!1,dL.error=`Provider credential management is unavailable.`;return}if(!t.ok){dL.error=t.status===401?`Authentication required.`:UI(t.data,`Failed to delete provider credential.`);return}q.success(`Provider "`+e+`" deleted.`),dL.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#x(),this.fetchPage()}catch(e){console.error(`Failed to delete provider credential:`,e),dL.error=`Failed to delete provider credential.`}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||dL.open({title:`Delete Provider`,titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:`Type "`+t+`" to permanently delete this provider credential. Requests routed to it will fail until it is reconfigured.`,requiredText:t,confirmLabel:`Delete Provider`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},Eae=R(`Config`),Dae=R(` `,1),Oae=R(`
          `),kae=R(`
          NameTypeBase URLAuthModelsEnabledUpdatedActions
          `);function Aae(e,t){D(t,!0);var n=kae(),r=N(n),i=P(N(r));H(i,21,()=>Q.filteredRows,e=>e.name,(e,t)=>{var n=Oae(),r=N(n),i=N(r),a=N(i,!0);E(i);var o=P(i,2),s=e=>{z(e,Eae())};V(o,e=>{I(t).managed&&e(s)}),E(r);var c=P(r),l=N(c),u=N(l,!0);E(l),E(c);var d=P(c),f=N(d,!0);E(d);var p=P(d),m=N(p,!0);E(p);var h=P(p),g=N(h,!0);E(h);var _=P(h),v=N(_);let y;var b=N(v,!0);E(v),E(_);var x=P(_),S=N(x,!0);E(x);var C=P(x),w=N(C),T=N(w),ee=e=>{var n=Dae(),r=Sn(n);{let e=k(()=>`Edit provider `+I(t).name);_1(r,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>Q.openEdit(I(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var i=P(r,2);{let e=k(()=>(Q.deletingName===I(t).name?`Deleting provider `:`Delete provider `)+I(t).name),n=k(()=>Q.deletingName===I(t).name);_1(i,{get label(){return I(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Q.requestDelete(I(t).name),get disabled(){return I(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}z(e,n)};V(T,e=>{I(t).managed||e(ee)}),E(w),E(C),E(n),F((e,n,r)=>{B(a,I(t).name),B(u,I(t).type),W(d,`title`,I(t).base_url||``),B(f,I(t).base_url||`—`),B(m,e),B(g,n),y=U(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":I(t).enabled,"auth-key-status-inactive":!I(t).enabled}),B(b,I(t).enabled?`Enabled`:`Disabled`),B(S,r)},[()=>_ae(I(t)),()=>vae(I(t)),()=>HI.formatTimestamp(I(t).updated_at)]),z(e,n)}),E(i),E(r),E(n),z(e,n),O()}var jae=R(``),Mae=R(`
          `),Nae=R(`
          `,1),Pae=R(``),Fae=R(``),Iae=R(``),Lae=R(``),Rae=R(` `),zae=R(` `),Bae=R(`
          `);function L9(e,t){D(t,!0);let n=k(()=>`provider-credential-`+t.field.name),r=k(()=>Q.fieldErrors[t.field.name]||``),i=k(()=>I(r)?I(n)+`-error`:t.field.hint?I(n)+`-hint`:void 0),a=k(()=>{let e=String(Q.form[t.field.name]||``).trim();return!e||t.field.options.includes(e)?t.field.options:[...t.field.options,e]});function o(){Q.clearFieldError(t.field.name)}var s=Bae(),c=N(s),l=N(c),u=P(l),d=e=>{z(e,jae())};V(u,e=>{t.field.required&&e(d)}),E(c);var f=P(c,2),p=e=>{var t=Nae(),a=Sn(t);H(a,21,()=>Q.form.api_keys,ai,(e,t,a)=>{var s=Mae(),c=N(s);Zi(c),W(c,`aria-label`,`API key `+(a+1)),_1(P(c,2),{label:`Remove API key `+(a+1),class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Q.removeApiKeyRow(a),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(s),F(()=>{W(c,`id`,a===0?I(n):I(n)+`-`+a),W(c,`aria-invalid`,I(r)?`true`:void 0),W(c,`aria-describedby`,a===0?I(i):void 0)}),L(`input`,c,o),oa(c,()=>I(t).value,e=>I(t).value=e),z(e,s)}),E(a);var s=P(a,2),c=N(s);G(N(c),{name:`plus`,class:`form-action-icon`}),We(2),E(c),E(s),F(()=>W(c,`id`,Q.form.api_keys.length===0?I(n):void 0)),L(`click`,c,()=>Q.addApiKeyRow()),z(e,t)},m=e=>{var s=Fae(),c=N(s);c.value=c.__value=``,H(P(c),16,()=>I(a),e=>e,(e,t)=>{var n=Pae(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(s),F(()=>{W(s,`id`,I(n)),W(s,`aria-invalid`,I(r)?`true`:void 0),W(s,`aria-describedby`,I(i))}),L(`change`,s,o),Bi(s,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),z(e,s)},h=e=>{var a=Iae();pt(a),F(()=>{W(a,`id`,I(n)),W(a,`placeholder`,t.field.placeholder||``),W(a,`aria-invalid`,I(r)?`true`:void 0),W(a,`aria-describedby`,I(i))}),L(`input`,a,o),oa(a,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),z(e,a)},g=e=>{var a=Lae();Zi(a),F(()=>{W(a,`id`,I(n)),W(a,`placeholder`,t.field.placeholder||``),W(a,`aria-invalid`,I(r)?`true`:void 0),W(a,`aria-describedby`,I(i))}),L(`input`,a,o),oa(a,()=>Q.form[t.field.name],e=>Q.form[t.field.name]=e),z(e,a)};V(f,e=>{t.field.control===`keys`?e(p):t.field.control===`select`?e(m,1):t.field.control===`textarea`?e(h,2):e(g,-1)});var _=P(f,2),v=e=>{var t=Rae(),i=N(t,!0);E(t),F(()=>{W(t,`id`,I(n)+`-error`),B(i,I(r))}),z(e,t)},y=e=>{var r=zae(),i=N(r,!0);E(r),F(()=>{W(r,`id`,I(n)+`-hint`),B(i,t.field.hint)}),z(e,r)};V(_,e=>{I(r)?e(v):t.field.hint&&e(y,1)}),E(s),F(()=>{W(c,`for`,I(n)),B(l,`${t.field.label??``} `)}),z(e,s),O()}Hr([`input`,`click`,`change`]);var Vae=R(``),Hae=R(``),Uae=R(` `),Wae=R(`Determines which fields the gateway uses to build requests.`),Gae=R(` `),Kae=R(`Suggested from the selected type; used to route requests to this provider instance and editable before saving.`),qae=R(`Immutable once created.`),Jae=R(`

          Pick a type to configure its credentials — each provider type asks for different settings.

          `),Yae=R(`
          Advanced settings
          `),Xae=R(``);function Zae(e,t){D(t,!0);let n=k(()=>pae(Q.types,Q.form.type)),r=k(()=>Q.formFields),i=k(()=>Q.fieldErrors.name||``),a=k(()=>Q.fieldErrors.type||``);function o(){Q.selectType(),Q.formMode===`create`&&(Q.form.name=bae(Q.rows,Q.form.type))}Mn(()=>{let e=Q.focusField;if(!e)return;Q.focusField=``;let t=document.getElementById(`provider-credential-`+e);t&&(t.scrollIntoView({block:`center`}),t.focus({preventScroll:!0}))}),oL(e,{get open(){return Q.formOpen},variant:`editor`,onclose:()=>Q.closeForm(),children:(e,t)=>{var s=Xae(),c=N(s),l=N(c),u=N(l),d=N(u),f=N(d,!0);E(d),We(2),E(u),iL(P(u,2),{label:`Close provider editor`,onclick:()=>Q.closeForm()}),E(l);var p=P(l,2),m=e=>{var t=Vae(),n=N(t,!0);E(t),F(()=>B(n,Q.error)),z(e,t)};V(p,e=>{Q.error&&e(m)});var h=P(p,2),g=P(N(h),2),_=N(g);_.value=_.__value=``,H(P(_),16,()=>I(n),e=>e,(e,t)=>{var n=Hae(),r=N(n,!0);E(n);var i={};F(()=>{B(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),z(e,n)}),E(g);var v=P(g,2),y=e=>{var t=Uae(),n=N(t,!0);E(t),F(()=>B(n,I(a))),z(e,t)},b=e=>{z(e,Wae())};V(v,e=>{I(a)?e(y):e(b,-1)}),E(h);var x=P(h,2),S=P(N(x),2);Zi(S);var C=P(S,2),w=e=>{var t=Gae(),n=N(t,!0);E(t),F(()=>B(n,I(i))),z(e,t)},T=e=>{z(e,Kae())},ee=e=>{z(e,qae())};V(C,e=>{I(i)?e(w):Q.formMode===`create`?e(T,1):e(ee,-1)}),E(x);var te=P(x,2),ne=e=>{z(e,Jae())};V(te,e=>{Q.form.type||e(ne)});var re=P(te,2);H(re,17,()=>I(r).primary,e=>e.name,(e,t)=>{L9(e,{get field(){return I(t)}})});var ie=P(re,2),ae=N(ie),oe=N(ae);let se;var ce=P(N(oe),2),le=N(ce,!0);E(ce),E(oe),E(ae),E(ie);var ue=P(ie,2),de=e=>{var t=Yae(),n=N(t),i=N(n),a=P(N(i),2),o=N(a,!0);E(a),E(i),E(n);var s=P(n,2);H(s,21,()=>I(r).advanced,e=>e.name,(e,t)=>{L9(e,{get field(){return I(t)}})}),E(s),E(t),F(e=>{t.open=Q.advancedOpen,B(o,e)},[()=>I(r).advanced.map(e=>e.label).join(`, `)]),Vr(`toggle`,t,e=>Q.advancedOpen=e.currentTarget.open),z(e,t)};V(ue,e=>{I(r).advanced.length>0&&e(de)});var fe=P(ue,2),pe=N(fe),me=P(pe,2),he=N(me);G(he,{name:`save`,class:`form-action-icon`});var ge=P(he,2),_e=N(ge,!0);E(ge),E(me),E(fe),E(c),E(s),F(()=>{B(f,Q.formMode===`edit`?`Edit Provider`:`Add Provider`),g.disabled=Q.formMode===`edit`,W(g,`aria-invalid`,I(a)?`true`:void 0),W(g,`aria-describedby`,I(a)?`provider-credential-type-error`:`provider-credential-type-hint`),S.disabled=Q.formMode===`edit`,W(S,`aria-invalid`,I(i)?`true`:void 0),W(S,`aria-describedby`,I(i)?`provider-credential-name-error`:`provider-credential-name-hint`),se=U(oe,1,`alias-toggle`,null,se,{enabled:Q.form.enabled}),W(oe,`aria-label`,(Q.form.enabled?`Disable`:`Enable`)+` provider`),B(le,Q.form.enabled?`Enabled`:`Disabled`),me.disabled=Q.formSubmitting,B(_e,Q.formSubmitting?`Saving...`:`Save`)}),Vr(`submit`,c,e=>{e.preventDefault(),Q.submitForm()}),L(`change`,g,o),Bi(g,()=>Q.form.type,e=>Q.form.type=e),L(`input`,S,()=>Q.clearFieldError(`name`)),oa(S,()=>Q.form.name,e=>Q.form.name=e),L(`click`,oe,()=>Q.form.enabled=!Q.form.enabled),L(`click`,pe,()=>Q.closeForm()),z(e,s)},$$slots:{default:!0}}),O()}Hr([`change`,`input`,`click`]);var Qae=R(`

          Providers

          `),$ae=R(``),eoe=R(`
          Provider credential management is unavailable.
          `),toe=R(``),noe=R(`
          `),roe=R(`

          No dashboard-managed providers yet. Add one here, or declare providers in config.yaml / environment variables.

          `),ioe=R(`

          No providers match your filter.

          `),aoe=R(`
          `);function ooe(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`providers-config`&&Q.fetchPage()});var n=aoe(),r=N(n),i=N(r);aQ(N(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{z(e,Qae())},help:e=>{We(),z(e,Zr(`Configure LLM provider credentials here instead of setting API keys as + environment variables. Providers declared in config.yaml or env vars + are read-only (Config badge) and cannot be edited or deleted from the + dashboard. Keys are masked after saving.`))},$$slots:{title:!0,help:!0}}),E(i);var a=P(i,2),o=N(a),s=e=>{var t=$ae();G(N(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),F(()=>t.disabled=Q.formSubmitting),L(`click`,t,()=>Q.openCreate()),z(e,t)};V(o,e=>{Q.available&&!K.needsAuth&&e(s)}),E(a),E(r);var c=P(r,2),l=e=>{z(e,eoe())};V(c,e=>{!Q.available&&!K.needsAuth&&e(l)});var u=P(c,2),d=e=>{var t=toe(),n=N(t,!0);E(t),F(()=>B(n,Q.error)),z(e,t)};V(u,e=>{Q.error&&!K.needsAuth&&!Q.formOpen&&e(d)});var f=P(u,2),p=e=>{h1(e,{label:`Loading providers...`})};V(f,e=>{Q.loading&&!K.needsAuth&&e(p)});var m=P(f,2),h=e=>{var t=noe(),n=N(t);b$(N(n),{id:`provider-credential-filter`,placeholder:`Filter by name, type, or base URL...`,label:`Filter providers by name, type, or base URL`,get value(){return Q.filter},set value(e){Q.filter=e}}),E(n),E(t),z(e,t)};V(m,e=>{(Q.rows.length>0||Q.filter)&&Q.available&&!K.needsAuth&&e(h)});var g=P(m,2);Zae(g,{});var _=P(g,2),v=e=>{Aae(e,{})};V(_,e=>{Q.filteredRows.length>0&&Q.available&&!K.needsAuth&&e(v)});var y=P(_,2),b=e=>{z(e,roe())};V(y,e=>{Q.rows.length===0&&!Q.filter&&!Q.loading&&!K.needsAuth&&!Q.error&&Q.available&&e(b)});var x=P(y,2),S=e=>{z(e,ioe())};V(x,e=>{Q.rows.length>0&&Q.filteredRows.length===0&&Q.filter&&!Q.loading&&!K.needsAuth&&Q.available&&e(S)}),E(n),z(e,n),O()}Hr([`click`]);function R9(){return{name:``,description:``,user_path:``,labels:``,dashboard_access:!1,expires_at:``}}function z9(e){let t=[];for(let n of String(e||``).split(`,`)){let e=n.trim();e&&!t.includes(e)&&t.push(e)}return t}function B9(e){let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t;for(let e of n.split(`/`)){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function soe(e){if(B9(e))return``;let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t,r=[];for(let e of n.split(`/`)){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function coe(e){let t=e||{},n=String(t.name||``).trim();if(!n)return{error:`Name is required.`};let r=B9(t.user_path);if(r)return{error:r};let i=soe(t.user_path),a=z9(t.labels),o={name:n,description:String(t.description||``).trim()||void 0,user_path:i||void 0,labels:a.length?a:void 0,dashboard_access:t.dashboard_access?!0:void 0};return t.expires_at&&(o.expires_at=t.expires_at+`T23:59:59Z`),{payload:o}}function V9(e,t=Date.now()){let n=e&&e.expires_at;if(!n)return!1;let r=Date.parse(n);return Number.isFinite(r)&&r<=t}function H9(e){return e?!!e.deactivated_at||e.enabled===!1:!1}function U9(e,t=Date.now()){return!e||e.active===!1||H9(e)?!1:!V9(e,t)}function loe(e){return[e.name,e.description,e.user_path,e.redacted_value,...e.labels||[]].filter(Boolean).join(` `).toLowerCase()}function uoe(e,t={}){let{query:n=``,showInactive:r=!1,now:i=Date.now()}=t,a=String(n||``).trim().toLowerCase();return(Array.isArray(e)?e:[]).filter(e=>!r&&!U9(e,i)?!1:!a||loe(e).includes(a))}function W9(e,t){return H9(e)?2:+!U9(e,t)}function G9(e){let t=e&&e.expires_at;if(!t)return 1/0;let n=Date.parse(t);return Number.isFinite(n)?n:1/0}function K9(e){let t=Date.parse(e&&e.deactivated_at||``);return Number.isFinite(t)?t:-1/0}function doe(e,t=Date.now()){return(Array.isArray(e)?e.slice():[]).sort((e,n)=>{let r=W9(e,t),i=W9(n,t);if(r!==i)return r-i;let[a,o]=r===2?[K9(e),K9(n)]:[G9(e),G9(n)];return a===o?String(e.name||``).localeCompare(String(n.name||``)):a>o?-1:1})}function foe(e,t=Date.now()){return(Array.isArray(e)?e:[]).reduce((e,n)=>e+ +!U9(n,t),0)}function q9(){return{open:!1,id:``,name:``,value:``,submitting:!1,error:``}}var $=new class{#e=A(M([]));get keys(){return I(this.#e)}set keys(e){j(this.#e,e,!0)}#t=A(!0);get available(){return I(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return I(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return I(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return I(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get showInactive(){return I(this.#a)}set showInactive(e){j(this.#a,e,!0)}#o=k(()=>doe(uoe(this.keys,{query:this.filter,showInactive:this.showInactive})));get visibleKeys(){return I(this.#o)}set visibleKeys(e){j(this.#o,e)}#s=k(()=>foe(this.keys));get inactiveCount(){return I(this.#s)}set inactiveCount(e){j(this.#s,e)}#c=A(!1);get formOpen(){return I(this.#c)}set formOpen(e){j(this.#c,e,!0)}#l=A(!1);get formSubmitting(){return I(this.#l)}set formSubmitting(e){j(this.#l,e,!0)}#u=A(``);get issuedValue(){return I(this.#u)}set issuedValue(e){j(this.#u,e,!0)}#d=A(``);get deactivatingID(){return I(this.#d)}set deactivatingID(e){j(this.#d,e,!0)}#f=A(``);get dashboardAccessID(){return I(this.#f)}set dashboardAccessID(e){j(this.#f,e,!0)}#p=A(M(R9()));get form(){return I(this.#p)}set form(e){j(this.#p,e,!0)}#m=A(M(q9()));get labelsEditor(){return I(this.#m)}set labelsEditor(e){j(this.#m,e,!0)}copyState=X8({logPrefix:`Failed to copy auth key:`});async fetchKeys(){this.loading=!0,this.error=``;try{let e=await JI(`/admin/auth-keys`,{label:`auth keys`});if(e.status===503){this.available=!1,this.keys=[];return}if(e.stale)return;if(this.available=!0,!e.ok){e.status!==401&&(this.error=UI(e.data,`Unable to load API keys.`));return}this.keys=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch auth keys:`,e),this.keys=[],this.error=`Unable to load API keys.`}finally{this.loading=!1}}openForm(){this.formSubmitting||this.formOpen||(this.formOpen=!0,this.error=``,this.issuedValue||(this.copyState.reset(),this.form=R9()))}closeForm(){this.formOpen&&(this.formOpen=!1,this.error=``,this.copyState.reset(),!this.formSubmitting&&!this.issuedValue&&(this.form=R9()))}copyIssuedValue(){return this.copyState.copy(this.issuedValue)}dismissIssuedKey(){this.issuedValue=``,this.copyState.reset(),this.form=R9()}async submitForm(){let e=coe(this.form);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await YI(`/admin/auth-keys`,`POST`,e.payload,{label:`create API key`});if(t.status===503){this.available=!1,this.error=`Auth keys feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=UI(t.data,`Failed to create API key.`),console.error(`Failed to create API key:`,t.status,this.error);return}let n=t.data||{};this.issuedValue=n.value||``,this.formOpen=!0,this.copyState.reset(),this.form=R9(),this.fetchKeys()}catch(e){console.error(`Failed to issue auth key:`,e),this.error=`Failed to create API key.`}finally{this.formSubmitting=!1}}openLabelsEditor(e){!e||this.labelsEditor.submitting||(this.labelsEditor={open:!0,id:e.id,name:e.name||``,value:(e.labels||[]).join(`, `),submitting:!1,error:``})}closeLabelsEditor(){!this.labelsEditor.open||this.labelsEditor.submitting||(this.labelsEditor=q9())}async submitLabelsEditor(){let e=this.labelsEditor;if(!e.open||e.submitting||!e.id)return;e.submitting=!0,e.error=``;let t={labels:z9(e.value)};try{let n=await YI(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/labels`,`PUT`,t,{label:`update API key labels`});if(n.status===503){this.available=!1,e.error=`Auth keys feature is unavailable.`;return}if(n.stale)return;if(!n.ok){if(n.status===401){e.error=`Authentication required.`;return}e.error=UI(n.data,`Failed to update labels.`),console.error(`Failed to update auth key labels:`,n.status,e.error);return}q.success(`Labels updated for key "`+e.name+`".`),e.submitting=!1,this.closeLabelsEditor(),this.fetchKeys()}catch(t){console.error(`Failed to update auth key labels:`,t),e.error=`Failed to update labels.`}finally{e.submitting=!1}}async toggleDashboardAccess(e){if(!e||!e.active||this.dashboardAccessID)return;let t=!e.dashboard_access;this.dashboardAccessID=e.id;try{let n=await YI(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/dashboard-access`,`PUT`,{dashboard_access:t},{label:`update API key dashboard access`});if(n.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(n.stale)return;if(!n.ok){if(n.status===401){q.error(`Authentication required.`);return}let e=UI(n.data,`Failed to update dashboard access.`);console.error(`Failed to update auth key dashboard access:`,n.status,e),q.error(e);return}q.success(`Dashboard access `+(t?`granted to`:`revoked for`)+` key "`+e.name+`".`),this.fetchKeys()}catch(e){console.error(`Failed to update auth key dashboard access:`,e),q.error(`Failed to update dashboard access.`)}finally{this.dashboardAccessID=``}}async deactivateKey(e){if(!(!e||!e.active)&&window.confirm(`Deactivate key "`+e.name+`"? This cannot be undone.`)){this.deactivatingID=e.id;try{let t=await YI(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/deactivate`,`POST`,void 0,{label:`deactivate API key`});if(t.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(t.stale)return;if(!t.ok){if(t.status===401){q.error(`Authentication required.`);return}let e=UI(t.data,`Failed to deactivate key.`);console.error(`Failed to deactivate auth key:`,t.status,e),q.error(e);return}q.success(`Key "`+e.name+`" deactivated.`),this.fetchKeys()}catch(e){console.error(`Failed to deactivate auth key:`,e),q.error(`Failed to deactivate key.`)}finally{this.deactivatingID=``}}}},poe=R(``),moe=R(`

          Store this key securely — it won’t be shown again.

          `),hoe=R(``),goe=R(``),_oe=R(``),voe=R(``),yoe=R(``),boe=R(`
          `),xoe=R(``);function Soe(e,t){D(t,!0);function n(){K.dialogOpen||$.closeForm()}function r(e){e.preventDefault(),$.submitForm()}oL(e,{get open(){return $.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=xoe(),i=N(n),a=N(i);iL(P(N(a),2),{label:`Close`,onclick:()=>$.closeForm()}),E(a);var o=P(a,2),s=e=>{var t=moe(),n=P(N(t),2),r=N(n),i=N(r,!0);E(r),m9(P(r,2),{get state(){return $.copyState},onclick:()=>$.copyIssuedValue()}),E(n);var a=P(n,2),o=e=>{z(e,poe())};V(a,e=>{$.copyState.error&&e(o)});var s=P(a,2),c=N(s);E(s),E(t),F(()=>B(i,$.issuedValue)),L(`click`,c,()=>$.dismissIssuedKey()),z(e,t)},c=e=>{var t=boe(),n=N(t),r=N(n),i=P(N(r),2);Zi(i),E(r);var a=P(r,2),o=P(N(a),2);Zi(o),E(a),E(n);var s=P(n,2),c=N(s);aQ(c,{copyId:`auth-key-user-path-help-copy`,label:`API key user path help`,title:e=>{z(e,hoe())},help:e=>{We(),z(e,Zr(`When set, this key overrides the configured user path request + header for audit logging and downstream request context.`))},$$slots:{title:!0,help:!0}});var l=P(c,2);Zi(l),E(s);var u=P(s,2),d=N(u);aQ(d,{copyId:`auth-key-labels-help-copy`,label:`API key labels help`,title:e=>{z(e,goe())},help:e=>{We(),z(e,Zr(`Every request authenticated with this key gets these labels, in + addition to any labels from tagging headers. Labels show up in + usage analytics, the request log, and audit logs.`))},$$slots:{title:!0,help:!0}});var f=P(d,2);Zi(f),E(u);var p=P(u,2),m=N(p);aQ(m,{copyId:`auth-key-dashboard-access-help-copy`,label:`API key dashboard access help`,title:e=>{z(e,_oe())},help:e=>{We(),z(e,Zr(`When off, this key is denied the dashboard and every /admin API + endpoint. Model endpoints and GET /v1/usage stay available to + the key. The master key always has dashboard access.`))},$$slots:{title:!0,help:!0}});var h=P(m,2),g=N(h);Zi(g),We(2),E(h),E(p);var _=P(p,2),v=P(N(_),2);pt(v),E(_);var y=P(_,2),b=e=>{var t=voe(),n=N(t,!0);E(t),F(()=>B(n,$.error)),z(e,t)};V(y,e=>{$.error&&e(b)});var x=P(y,2),S=N(x),C=N(S),w=e=>{var t=yoe();G(N(t),{name:`plus`,class:`table-icon-svg`}),E(t),z(e,t)};V(C,e=>{$.formSubmitting||e(w)});var T=P(C,2),ee=N(T,!0);E(T),E(S),E(x),E(t),F(()=>{S.disabled=$.formSubmitting,B(ee,$.formSubmitting?`Creating...`:`Create API Key`)}),oa(i,()=>$.form.name,e=>$.form.name=e),oa(o,()=>$.form.expires_at,e=>$.form.expires_at=e),oa(l,()=>$.form.user_path,e=>$.form.user_path=e),oa(f,()=>$.form.labels,e=>$.form.labels=e),sa(g,()=>$.form.dashboard_access,e=>$.form.dashboard_access=e),oa(v,()=>$.form.description,e=>$.form.description=e),z(e,t)};V(o,e=>{$.issuedValue?e(s):e(c,-1)}),E(i),E(n),Vr(`submit`,i,r),z(e,n)},$$slots:{default:!0}}),O()}Hr([`click`]);var Coe=R(``),woe=R(``);function Toe(e,t){D(t,!0);function n(e){e.preventDefault(),$.submitLabelsEditor()}oL(e,{get open(){return $.labelsEditor.open},variant:`editor`,onclose:()=>$.closeLabelsEditor(),children:(e,t)=>{var r=woe(),i=N(r),a=N(i),o=N(a),s=P(N(o),2),c=N(s,!0);E(s),E(o),iL(P(o,2),{label:`Close`,onclick:()=>$.closeLabelsEditor()}),E(a);var l=P(a,2),u=P(N(l),2);Zi(u),We(2),E(l);var d=P(l,2),f=e=>{var t=Coe(),n=N(t,!0);E(t),F(()=>B(n,$.labelsEditor.error)),z(e,t)};V(d,e=>{$.labelsEditor.error&&e(f)});var p=P(d,2),m=N(p),h=N(m,!0);E(m),E(p),E(i),E(r),F(()=>{B(c,$.labelsEditor.name),m.disabled=$.labelsEditor.submitting,B(h,$.labelsEditor.submitting?`Saving...`:`Save Labels`)}),Vr(`submit`,i,n),oa(u,()=>$.labelsEditor.value,e=>$.labelsEditor.value=e),z(e,r)},$$slots:{default:!0}}),O()}var Eoe=R(` `),Doe=R(`
          `),Ooe=R(``),koe=R(`Expired`),Aoe=R(` `),joe=R(` `,1),Moe=R(`Deactivated`),Noe=R(`
          `),Poe=R(`
          NameDescriptionUser PathLabelsTokenDashboard Access ExpiresCreated
          `);function Foe(e,t){D(t,!0);var n=Poe(),r=N(n),i=N(r),a=N(i),o=P(N(a),5),s=N(o);G(P(N(s)),{name:`info`,width:`13`,height:`13`}),E(s),E(o),We(3),E(a),E(i);var c=P(i);H(c,21,()=>$.visibleKeys,e=>e.id,(e,t)=>{var n=Noe();let r;var i=N(n),a=N(i,!0);E(i);var o=P(i),s=N(o,!0);E(o);var c=P(o),l=N(c,!0);E(c);var u=P(c),d=N(u),f=e=>{var n=Doe();H(n,20,()=>I(t).labels||[],e=>e,(e,t)=>{var n=Eoe(),r=N(n,!0);E(n),F(e=>{Li(n,e),B(r,t)},[()=>eY(t)]),z(e,n)}),E(n),z(e,n)},p=e=>{z(e,Ooe())};V(d,e=>{(I(t).labels||[]).length>0?e(f):e(p,-1)}),E(u);var m=P(u),h=N(m),g=N(h,!0);E(h),E(m);var _=P(m),v=N(_);let y;var b=N(v,!0);E(v),E(_);var x=P(_),S=N(x),C=e=>{var n=Aoe(),r=N(n),i=N(r,!0);E(r);var a=P(r,2),o=e=>{z(e,koe())},s=k(()=>V9(I(t)));V(a,e=>{I(s)&&e(o)}),E(n),F(e=>B(i,e),[()=>BL(I(t).expires_at)]),z(e,n)},w=e=>{z(e,Zr(`—`))};V(S,e=>{I(t).expires_at?e(C):e(w,-1)}),E(x);var T=P(x),ee=N(T,!0);E(T);var te=P(T),ne=N(te),re=N(ne),ie=e=>{var n=joe(),r=Sn(n);{let e=k(()=>(I(t).dashboard_access?`Revoke dashboard access for API key `:`Grant dashboard access to API key `)+I(t).name),n=k(()=>!!$.dashboardAccessID);_1(r,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>$.toggleDashboardAccess(I(t)),get disabled(){return I(n)},children:(e,n)=>{{let n=k(()=>I(t).dashboard_access?`shield-off`:`shield-check`);G(e,{get name(){return I(n)},class:`table-icon-svg`})}},$$slots:{default:!0}})}var i=P(r,2);{let e=k(()=>`Edit labels for API key `+I(t).name);_1(i,{get label(){return I(e)},class:`table-icon-btn`,onclick:()=>$.openLabelsEditor(I(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var a=P(i,2);{let e=k(()=>($.deactivatingID===I(t).id?`Deactivating API key `:`Deactivate API key `)+I(t).name),n=k(()=>$.deactivatingID===I(t).id);_1(a,{get label(){return I(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>$.deactivateKey(I(t)),get disabled(){return I(n)},children:(e,t)=>{G(e,{name:`power`,class:`table-icon-svg`})},$$slots:{default:!0}})}z(e,n)},ae=e=>{var n=Moe();F(e=>W(n,`title`,e),[()=>I(t).deactivated_at?`Deactivated on `+VL(I(t).deactivated_at):`Deactivated`]),z(e,n)},oe=k(()=>H9(I(t)));V(re,e=>{I(t).active?e(ie):I(oe)&&e(ae,1)}),E(ne),E(te),E(n),F((e,i,o)=>{r=U(n,1,`svelte-nf0ldb`,null,r,e),B(a,I(t).name),B(s,I(t).description||`—`),B(l,I(t).user_path||`—`),B(g,I(t).redacted_value),y=U(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":I(t).dashboard_access,"auth-key-status-inactive":!I(t).dashboard_access}),B(b,I(t).dashboard_access?`Allowed`:`Denied`),W(x,`title`,i),B(ee,o)},[()=>({"auth-key-row-deactivated":H9(I(t))}),()=>I(t).expires_at?VL(I(t).expires_at):``,()=>HI.formatTimestamp(I(t).created_at)]),z(e,n)}),E(c),E(r),E(n),z(e,n),O()}var Ioe=R(``),Loe=R(`
          API key management is unavailable.
          `),Roe=R(``),zoe=R(`

          Managed API keys authenticate requests to the gateway. Deactivation is + permanent — create a new key if access needs to be restored.

          `),Boe=R(`
          `),Voe=R(`
          `),Hoe=R(`

          `),Uoe=R(`

          No API keys yet. Issue a key to get started.

          `),Woe=R(`
          `);function Goe(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`auth-keys`&&$.fetchKeys()});var n=Woe(),r=N(n),i=P(N(r),2),a=N(i),o=e=>{var t=Ioe();G(N(t),{name:`plus`,class:`table-icon-svg`}),We(2),E(t),F(()=>t.disabled=$.formSubmitting),L(`click`,t,()=>{$.formSubmitting||$.openForm()}),z(e,t)};V(a,e=>{$.available&&!K.authError&&e(o)}),E(i),E(r);var s=P(r,2),c=e=>{z(e,Loe())};V(s,e=>{!$.available&&!K.authError&&e(c)});var l=P(s,2),u=e=>{var t=Roe(),n=N(t,!0);E(t),F(()=>B(n,$.error)),z(e,t)};V(l,e=>{$.error&&!K.authError&&!$.formOpen&&e(u)});var d=P(l,2),f=e=>{z(e,zoe())};V(d,e=>{$.available&&!K.authError&&e(f)});var p=P(d,2);Soe(p,{});var m=P(p,2);Toe(m,{});var h=P(m,2),g=e=>{var t=Boe();AZ(N(t),{size:18,label:`Loading API keys`}),E(t),z(e,t)};V(h,e=>{$.loading&&$.keys.length===0&&e(g)});var _=P(h,2),v=e=>{var t=Voe(),n=N(t);b$(N(n),{placeholder:`Filter by name, description, user path, label, or token...`,label:`Filter API keys by name, description, user path, label, or token`,get value(){return $.filter},set value(e){$.filter=e}}),E(n);var r=P(n,2),i=N(r),a=N(i);Zi(a);var o=P(a,2),s=P(N(o)),c=e=>{var t=Zr();F(()=>B(t,`(${$.inactiveCount??``})`)),z(e,t)};V(s,e=>{$.inactiveCount>0&&e(c)}),E(o),E(i),E(r),E(t),sa(a,()=>$.showInactive,e=>$.showInactive=e),z(e,t)};V(_,e=>{$.keys.length>0&&$.available&&e(v)});var y=P(_,2),b=e=>{Foe(e,{})};V(y,e=>{$.visibleKeys.length>0&&$.available&&e(b)});var x=P(y,2),S=e=>{var t=Hoe(),n=N(t);E(t),F(()=>B(n,`No API keys match the current filter.${$.inactiveCount>0&&!$.showInactive?` `+$.inactiveCount+` inactive `+($.inactiveCount===1?`key is`:`keys are`)+` hidden.`:``}`)),z(e,t)};V(x,e=>{$.keys.length>0&&$.visibleKeys.length===0&&$.available&&e(S)});var C=P(x,2),w=e=>{z(e,Uoe())};V(C,e=>{$.keys.length===0&&!$.loading&&!K.authError&&!$.error&&$.available&&e(w)}),E(n),z(e,n),O()}Hr([`click`]);var Koe=R(`

          Timezone

          `),qoe=R(``),Joe=R(``),Yoe=R(`
          `,1);function Xoe(e,t){D(t,!0);function n(){HI.saveOverride(),K.refresh()}function r(){HI.clearOverride(),K.refresh()}var i=Yoe(),a=Sn(i);aQ(N(a),{copyId:`timezone-help-copy`,label:`timezone help`,text:`Day-based analytics, charts, and date filters use your effective timezone. Usage and audit logs keep UTC in the hover title while rendering row timestamps in your effective timezone.`,title:e=>{z(e,Koe())},$$slots:{title:!0}}),E(a);var o=P(a,2),s=N(o),c=P(N(s),2),l=N(c),u=N(l);E(l),l.value=l.__value=``,H(P(l),17,()=>HI.options,e=>e.value,(e,t)=>{var n=qoe(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(c),E(s),E(o);var d=P(o,2),f=N(d),p=e=>{var t=Joe();L(`click`,t,r),z(e,t)};V(f,e=>{HI.override&&e(p)}),E(d),F(e=>B(u,`Automatic (${e??``})`),[()=>HI.detectedTimeZoneLabel()]),Vr(`focus`,c,()=>HI.ensureOptions()),L(`change`,c,n),Bi(c,()=>HI.override,e=>HI.override=e),z(e,i),O()}Hr([`change`,`click`]);var Zoe=R(``),Qoe=R(`

          Failover

          `,1);function $oe(e,t){D(t,!0);let n=k(()=>X.failoverSaving||X.failoverGenerating||X.failoverDraftSaving||!X.failoverAvailable||!X.failoverEnabled());var r=Qoe(),i=Sn(r),a=P(N(i),2),o=N(a),s=N(o);G(s,{name:`wand-sparkles`,class:`form-action-icon`});var c=P(s,2),l=N(c,!0);E(c),E(o);var u=P(o,2);G(N(u),{name:`trash-2`,class:`form-action-icon`}),We(2),E(u),E(a),E(i);var d=P(i,2),f=N(d),p=e=>{var t=Zoe(),n=N(t,!0);E(t),F(()=>B(n,X.failoverError)),z(e,t)};V(f,e=>{X.failoverError&&e(p)}),E(d),G6(P(d,2),{}),F(()=>{o.disabled=I(n),B(l,X.failoverGenerating?`Generating...`:`Generate failover models automatically`),u.disabled=I(n)}),L(`click`,o,()=>X.generateFailoverRules()),L(`click`,u,()=>X.openFailoverResetDialog()),z(e,r),O()}Hr([`click`]);function ese(){return{daily_reset_hour:0,daily_reset_minute:0,weekly_reset_weekday:1,weekly_reset_hour:0,weekly_reset_minute:0,monthly_reset_day:1,monthly_reset_hour:0,monthly_reset_minute:0}}function J9(e,t){let n=t||{},r=(e,t)=>{if(e===``)return t;let n=Number(e);return Number.isFinite(n)&&Number.isInteger(n)?Math.trunc(n):t},i=(e,t)=>r(n[e],t),a=(t,n)=>e?r(e[t],n):n;return{daily_reset_hour:a(`daily_reset_hour`,i(`daily_reset_hour`,0)),daily_reset_minute:a(`daily_reset_minute`,i(`daily_reset_minute`,0)),weekly_reset_weekday:a(`weekly_reset_weekday`,i(`weekly_reset_weekday`,1)),weekly_reset_hour:a(`weekly_reset_hour`,i(`weekly_reset_hour`,0)),weekly_reset_minute:a(`weekly_reset_minute`,i(`weekly_reset_minute`,0)),monthly_reset_day:a(`monthly_reset_day`,i(`monthly_reset_day`,1)),monthly_reset_hour:a(`monthly_reset_hour`,i(`monthly_reset_hour`,0)),monthly_reset_minute:a(`monthly_reset_minute`,i(`monthly_reset_minute`,0))}}function tse(){return[{value:0,label:`Sunday`},{value:1,label:`Monday`},{value:2,label:`Tuesday`},{value:3,label:`Wednesday`},{value:4,label:`Thursday`},{value:5,label:`Friday`},{value:6,label:`Saturday`}]}var nse=R(`

          Budget Resets

          `),rse=R(``),ise=R(`

          If the selected day does not exist in a month, the reset runs on + the last day of that month.

          `),Y9=R(``),ase=R(``),ose=R(`
          Monthly
          Weekly
          Daily
          `,1);function sse(e,t){D(t,!0);let n=A(M(ese())),r=A(!1),i=A(!1),a=A(``),o=A(!1),s=k(()=>QI.budgetsVisible());async function c(){if(await QI.ensureLoaded(),!QI.budgetsVisible()){j(a,``);return}j(r,!0),j(a,``);try{let e=await JI(`/admin/budgets/settings`,{label:`budget settings`});if(e.stale)return;if(!e.ok){j(a,`Unable to load budget settings.`);return}j(n,J9(e.data,I(n)),!0)}catch(e){console.error(`Failed to fetch budget settings:`,e),j(a,`Unable to load budget settings.`)}finally{j(r,!1)}}async function l(){if(!I(i)){j(i,!0);try{let e=await YI(`/admin/budgets/settings`,`PUT`,J9(I(n),I(n)),{label:`budget settings`});if(e.stale)return;if(!e.ok){q.error(`Unable to save budget settings.`);return}j(n,J9(e.data,I(n)),!0),j(a,``),q.success(`Budget settings saved.`)}catch(e){console.error(`Failed to save budget settings:`,e),q.error(`Unable to save budget settings.`)}finally{j(i,!1)}}}Mn(()=>{K.refreshTick,c()});var u=Qr(),d=Sn(u),f=e=>{var t=ose(),s=Sn(t),c=N(s);aQ(c,{copyId:`budget-settings-help-copy`,label:`budget help`,text:`Budget reset anchors are stored in the database and evaluated in UTC. Hourly budgets reset at the top of each hour.`,title:e=>{z(e,nse())},$$slots:{title:!0}});var u=P(c,2),d=N(u),f=P(N(d),2),p=N(f);aQ(p,{copyId:`budget-monthly-day-help-copy`,label:`day of month help`,external:!0,get open(){return I(o)},set open(e){j(o,e,!0)},title:e=>{z(e,rse())},$$slots:{title:!0}});var m=P(p,2);Zi(m),E(f);var h=P(f,2),g=P(N(h),2);Zi(g),E(h);var _=P(h,2),v=P(N(_),2);Zi(v),E(_);var y=P(_,2),b=N(y),x=e=>{z(e,ise())};V(b,e=>{I(o)&&e(x)}),E(y),E(d);var S=P(d,2),C=P(N(S),2),w=P(N(C),2);H(w,21,tse,e=>e.value,(e,t)=>{var n=Y9(),r=N(n,!0);E(n);var i={};F(()=>{B(r,I(t).label),i!==(i=I(t).value)&&(n.value=(n.__value=I(t).value)??``)}),z(e,n)}),E(w),E(C);var T=P(C,2),ee=P(N(T),2);Zi(ee),E(T);var te=P(T,2),ne=P(N(te),2);Zi(ne),E(te),We(2),E(S);var re=P(S,2),ie=P(N(re),4),ae=P(N(ie),2);Zi(ae),E(ie);var oe=P(ie,2),se=P(N(oe),2);Zi(se),E(oe),We(2),E(re),E(u);var ce=P(u,2),le=N(ce);G(N(le),{name:`save`,class:`form-action-icon`}),We(2),E(le);var ue=P(le,2),de=e=>{AZ(e,{size:16,label:`Loading budget settings`})};V(ue,e=>{I(r)&&e(de)}),E(ce),E(s);var fe=P(s,2),pe=N(fe),me=e=>{var t=ase(),n=N(t,!0);E(t),F(()=>B(n,I(a))),z(e,t)};V(pe,e=>{I(a)&&e(me)}),E(fe),F(()=>{le.disabled=I(i)||I(r),W(le,`aria-busy`,I(i)?`true`:`false`)}),oa(m,()=>I(n).monthly_reset_day,e=>I(n).monthly_reset_day=e),oa(g,()=>I(n).monthly_reset_hour,e=>I(n).monthly_reset_hour=e),oa(v,()=>I(n).monthly_reset_minute,e=>I(n).monthly_reset_minute=e),Bi(w,()=>I(n).weekly_reset_weekday,e=>I(n).weekly_reset_weekday=e),oa(ee,()=>I(n).weekly_reset_hour,e=>I(n).weekly_reset_hour=e),oa(ne,()=>I(n).weekly_reset_minute,e=>I(n).weekly_reset_minute=e),oa(ae,()=>I(n).daily_reset_hour,e=>I(n).daily_reset_hour=e),oa(se,()=>I(n).daily_reset_minute,e=>I(n).daily_reset_minute=e),L(`click`,le,l),z(e,t)};V(d,e=>{I(s)&&e(f)}),z(e,u),O()}Hr([`click`]);var cse=R(`

          Reset All Budgets

          Start new budget periods for every configured budget without changing + the limits.

          `);function lse(e,t){D(t,!0);var n=Qr(),r=Sn(n),i=e=>{var t=cse(),n=P(N(t),2),r=N(n);G(N(r),{name:`rotate-ccw`,class:`form-action-icon`}),We(2),E(r),E(n),E(t),F(()=>r.disabled=J.resetAllLoading),L(`click`,r,()=>J.openResetDialog()),z(e,t)},a=k(()=>QI.budgetsVisible());V(r,e=>{I(a)&&e(i)}),z(e,n),O()}Hr([`click`]);function use(){return{header:``,prefix:``,do_not_pass:!1,delimiter:``,managed:!1}}function X9(e){return(e&&Array.isArray(e.headers)?e.headers:[]).map(e=>({header:typeof e.header==`string`?e.header:``,prefix:typeof e.prefix==`string`?e.prefix:``,do_not_pass:e.do_not_pass===!0,delimiter:typeof e.delimiter==`string`&&e.delimiter!==`,`?e.delimiter:``,managed:e.managed===!0}))}function dse(e){return{headers:(Array.isArray(e)?e:[]).filter(e=>!e.managed&&e.header.trim()!==``).map(e=>({header:e.header.trim(),prefix:e.prefix,do_not_pass:e.do_not_pass,delimiter:e.delimiter}))}}function fse(e){return e&&e.error&&e.error.message?e.error.message:``}var pse=R(`

          Tagging based on headers

          `),mse=R(`config`),hse=R(``),gse=R(`
          `),_se=R(`

          No tagging headers configured. Requests are not labelled.

          `),vse=R(``),yse=R(`
          `,1);function bse(e,t){D(t,!0);let n=A(M([])),r=A(!0),i=A(!1),a=A(!1),o=A(``);function s(){I(n).push(use())}function c(e){let t=I(n)[e];!t||t.managed||I(n).splice(e,1)}async function l(){j(i,!0),j(o,``);try{let e=await JI(`/admin/tagging/settings`,{label:`tagging settings`});if(e.stale)return;if(!e.ok){j(o,`Unable to load tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0)}catch(e){console.error(`Failed to fetch tagging settings:`,e),j(o,`Unable to load tagging settings.`)}finally{j(i,!1)}}async function u(){if(!(I(a)||!I(r))){j(a,!0);try{let e=await YI(`/admin/tagging/settings`,`PUT`,dse(I(n)),{label:`tagging settings`});if(e.stale)return;if(!e.ok){q.error(e.status!==401&&fse(e.data)||`Unable to save tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0),j(o,``),q.success(`Tagging settings saved.`)}catch(e){console.error(`Failed to save tagging settings:`,e),q.error(`Unable to save tagging settings.`)}finally{j(a,!1)}}}Mn(()=>{K.refreshTick,l()});var d=yse(),f=Sn(d),p=N(f);aQ(p,{copyId:`tagging-settings-help-copy`,label:`tagging help`,text:`Each request is labelled from the listed headers; labels land in usage tracking and audit logs. A header value can carry several labels split by the delimiter (default: comma). The prefix is trimmed from each label only — the header itself is forwarded unchanged unless 'Do not pass' is checked. Rows marked CONFIG come from config.yaml or TAGGING_HEADER_* env vars and are read-only here.`,title:e=>{z(e,pse())},$$slots:{title:!0}});var m=P(p,2),h=N(m);H(h,17,()=>I(n),ai,(e,t,n)=>{var i=gse(),a=N(i),o=N(a);W(o,`for`,`tagging-header-`+n);var s=P(o,2);Zi(s),W(s,`id`,`tagging-header-`+n),E(a);var l=P(a,2),u=N(l);W(u,`for`,`tagging-prefix-`+n);var d=P(u,2);Zi(d),W(d,`id`,`tagging-prefix-`+n),E(l);var f=P(l,2),p=N(f);W(p,`for`,`tagging-delimiter-`+n);var m=P(p,2);Zi(m),W(m,`id`,`tagging-delimiter-`+n),E(f);var h=P(f,2),g=N(h);Zi(g),We(2),E(h);var _=P(h,2),v=N(_),y=e=>{z(e,mse())},b=e=>{var i=hse();F(()=>{i.disabled=!I(r),W(i,`aria-label`,`Remove tagging header `+(I(t).header||n+1))}),L(`click`,i,()=>c(n)),z(e,i)};V(v,e=>{I(t).managed?e(y):e(b,-1)}),E(_),E(i),F(()=>{s.disabled=I(t).managed||!I(r),d.disabled=I(t).managed||!I(r),m.disabled=I(t).managed||!I(r),g.disabled=I(t).managed||!I(r)}),oa(s,()=>I(t).header,e=>I(t).header=e),oa(d,()=>I(t).prefix,e=>I(t).prefix=e),oa(m,()=>I(t).delimiter,e=>I(t).delimiter=e),sa(g,()=>I(t).do_not_pass,e=>I(t).do_not_pass=e),z(e,i)});var g=P(h,2),_=e=>{AZ(e,{size:16,label:`Loading tagging settings`})};V(g,e=>{I(i)&&e(_)});var v=P(g,2),y=e=>{z(e,_se())};V(v,e=>{!I(i)&&I(n).length===0&&e(y)}),E(m);var b=P(m,2),x=N(b);G(N(x),{name:`plus`,class:`form-action-icon`}),We(2),E(x);var S=P(x,2);G(N(S),{name:`save`,class:`form-action-icon`}),We(2),E(S),E(b),E(f);var C=P(f,2),w=N(C),T=e=>{var t=vse(),n=N(t,!0);E(t),F(()=>B(n,I(o))),z(e,t)};V(w,e=>{I(o)&&e(T)}),E(C),F(()=>{x.disabled=!I(r)||I(a)||I(i),S.disabled=!I(r)||I(a)||I(i),W(S,`aria-busy`,I(a)?`true`:`false`)}),L(`click`,x,s),L(`click`,S,u),z(e,d),O()}Hr([`click`]);function xse(e){let t=e||{};if(t.selectedPreset)return{days:parseInt(t.selectedPreset,10)||30};let n=t.customStartDate?zL(t.customStartDate):``,r=t.customEndDate||t.today||null;return{start_date:n,end_date:r?zL(r):``}}function Sse(e,t,n,r){return{...xse(e),user_path:String(t||``).trim(),selector:String(n||``).trim(),confirmation:r}}function Cse(e){let t=Number(e&&e.matched||0),n=Number(e&&e.recalculated||0),r=Number(e&&e.without_pricing||0),i=`Pricing recalculated for `+n+` of `+t+` usage record`+(t===1?``:`s`)+`.`;return r>0&&(i+=` `+r+` usage record`+(r===1?` still lacks`:`s still lack`)+` pricing metadata.`),i}var wse=R(`

          Usage Pricing Recalculation

          `),Tse=R(`
          `);function Ese(e,t){D(t,!0);let n=A(``),r=A(``),i=A(!1),a=k(()=>QI.booleanFlag(`USAGE_PRICING_RECALCULATION_ENABLED`,!1));function o(){if(!I(a)){q.error(`Usage pricing recalculation is unavailable.`);return}I(i)||dL.open({title:`Recalculate Pricing`,titleId:`pricingRecalculateDialogTitle`,inputId:`pricing-recalculate-confirmation`,requiredText:`recalculate`,confirmLabel:`Recalculate Pricing`,icon:`calculator`,dialogClass:`pricing-recalculate-dialog`,message:`Stored usage cost fields matching the selected filters will be overwritten.`,onConfirm:()=>s()})}async function s(){if(!I(a)){q.error(`Usage pricing recalculation is unavailable.`);return}if(!I(i)){j(i,!0);try{let e=await YI(`/admin/usage/recalculate-pricing`,`POST`,Sse({selectedPreset:JL.selectedPreset,customStartDate:JL.customStartDate,customEndDate:JL.customEndDate,today:HI.todayDate()},I(n),I(r),`recalculate`),{label:`pricing recalculation`});if(e.stale)return;if(!e.ok){dL.error=`Unable to recalculate pricing.`;return}dL.close(),q.success(Cse(e.data)),ZL.fetchUsage()}catch(e){console.error(`Failed to recalculate pricing:`,e),dL.error=`Unable to recalculate pricing.`}finally{j(i,!1)}}}var c=Qr(),l=Sn(c),u=e=>{var t=Tse(),s=N(t);aQ(s,{copyId:`pricing-recalculate-help-copy`,label:`pricing recalculation help`,text:`Recalculate stored usage costs from the current model pricing metadata. Filters are applied to the selected date range, user path subtree, and provider/model selector or alias.`,title:e=>{z(e,wse())},$$slots:{title:!0}});var c=P(s,2),l=N(c),u=P(N(l),2);mR(N(u),{}),E(u),E(l);var d=P(l,2),f=P(N(d),2);Zi(f),E(d);var p=P(d,2),m=P(N(p),2);Zi(m),E(p),E(c);var h=P(c,2),g=N(h);G(N(g),{name:`calculator`,class:`form-action-icon`}),We(2),E(g),E(h),E(t),F(()=>{g.disabled=I(i)||!I(a),W(g,`aria-busy`,I(i)?`true`:`false`)}),oa(f,()=>I(n),e=>j(n,e)),oa(m,()=>I(r),e=>j(r,e)),L(`click`,g,o),z(e,t)};V(l,e=>{I(a)&&e(u)}),z(e,c),O()}Hr([`click`]);function Z9(e){return String(e&&e.status||`ok`).toLowerCase()}function Q9(e){if(!e||typeof e!=`object`)return`Runtime refresh completed.`;let t=Number(e.model_count||0),n=Number(e.provider_count||0),r=Z9(e);return(r===`ok`?`Runtime refreshed.`:r===`partial`?`Runtime refresh completed with warnings.`:`Runtime refresh failed.`)+` `+t+` model`+(t===1?``:`s`)+` across `+n+` provider`+(n===1?``:`s`)+`.`}function Dse(e){return!!e&&Z9(e)===`ok`}function $9(e){let t=e&&e.steps;return Array.isArray(t)?t:[]}function Ose(e){let t=String(e&&e.name||``).replace(/_/g,` `),n=String(e&&e.status||``).trim(),r=String(e&&(e.error||e.message)||``).trim();return t?r?t+`: `+n+` - `+r:t+`: `+n:r||n||``}var kse=R(`

          Runtime Refresh

          `),Ase=R(`
        • `),jse=R(`
            `),Mse=R(`
            `,1);function Nse(e,t){D(t,!0);let n=A(!1),r=A(null);async function i(){if(!I(n)){j(n,!0),j(r,null);try{let e=await YI(`/admin/runtime/refresh`,`POST`,void 0,{label:`runtime refresh`});if(e.stale)return;if(!e.ok){q.error(`Runtime refresh failed.`);return}j(r,e.data&&typeof e.data==`object`?e.data:null,!0),Dse(I(r))?q.success(Q9(I(r))):q.error(Q9(I(r))),K.refresh()}catch(e){console.error(`Failed to refresh runtime:`,e),q.error(`Runtime refresh failed.`)}finally{j(n,!1)}}}var a=Mse(),o=Sn(a),s=N(o);aQ(s,{copyId:`runtime-refresh-help-copy`,label:`runtime refresh help`,text:`Pull the latest model metadata, provider inventory, API keys, aliases, model access rules, guardrails, and workflows.`,title:e=>{z(e,kse())},$$slots:{title:!0}});var c=P(s,2),l=N(c);let u;G(N(l),{name:`refresh-cw`,class:`settings-refresh-icon`}),We(2),E(l),E(c),E(o);var d=P(o,2),f=N(d),p=e=>{var t=jse();H(t,21,()=>$9(I(r)),e=>e.name,(e,t)=>{var n=Ase(),r=N(n,!0);E(n),F(e=>{U(n,1,`runtime-refresh-step is-`+I(t).status,`svelte-yeq2mp`),B(r,e)},[()=>Ose(I(t))]),z(e,n)}),E(t),z(e,t)},m=k(()=>$9(I(r)).length>0);V(f,e=>{I(m)&&e(p)}),E(d),F(()=>{u=U(l,1,`btn btn-primary btn-with-icon settings-refresh-btn`,null,u,{"is-refreshing":I(n)}),l.disabled=I(n),W(l,`aria-busy`,I(n)?`true`:`false`)}),L(`click`,l,i),z(e,a),O()}Hr([`click`]);var Pse=R(`
            `);function Fse(e,t){D(t,!0),Mn(()=>{K.refreshTick,AI.page===`settings`&&(HI.ensureOptions(),QI.ensureLoaded())});var n=Pse(),r=P(N(n),2),i=N(r);Xoe(i,{});var a=P(i,2);$oe(a,{});var o=P(a,2);sse(o,{});var s=P(o,2);lse(s,{});var c=P(s,2);bse(c,{});var l=P(c,2);Ese(l,{}),Nse(P(l,2),{}),E(r);var u=P(r,2),d=N(u,!0);E(u),E(n),F(e=>B(d,e),[()=>TI()]),z(e,n),O()}var Ise=R(`
            `);function Lse(e,t){D(t,!0);let n={overview:DQ,usage:p1,budgets:j0,"rate-limits":z2,models:m8,workflows:Mte,"audit-logs":tie,guardrails:Nie,"mcp-servers":lae,"providers-config":ooe,"auth-keys":Goe,settings:Fse};HI.init(),K.init(),gI.init(),_I.init(),AI.init(),Mn(()=>{K.refreshTick,QI.fetch(),kL.fetchModels(),kL.fetchCategories()}),Mn(()=>{document.body.classList.toggle(`dashboard-modal-open`,vI.anyOpen)});let r=k(()=>n[AI.page]||DQ);var i=Ise(),a=N(i);nL(a,{});var o=P(a,2),s=N(o);OL(s,{}),gi(P(s,2),()=>I(r),(e,t)=>{t(e,{})}),E(o);var c=P(o,2);lL(c,{});var l=P(c,2);hL(l,{}),EL(P(l,2),{}),E(i),z(e,i),O()}ei(Lse,{target:document.getElementById(`app`)}); \ No newline at end of file diff --git a/internal/admin/dashboard/static/dist/index.html b/internal/admin/dashboard/static/dist/index.html index b50ea995b..70b141571 100644 --- a/internal/admin/dashboard/static/dist/index.html +++ b/internal/admin/dashboard/static/dist/index.html @@ -7,8 +7,8 @@ GoModel Dashboard - - + +
            diff --git a/internal/admin/handler.go b/internal/admin/handler.go index e176f3b75..3021b0950 100644 --- a/internal/admin/handler.go +++ b/internal/admin/handler.go @@ -151,6 +151,21 @@ type auditLogListResponse struct { Offset int `json:"offset"` } +type auditSessionResponse struct { + SessionID string `json:"session_id,omitempty"` + Count int `json:"count"` + FirstTimestamp time.Time `json:"first_timestamp"` + LastTimestamp time.Time `json:"last_timestamp"` + Latest auditLogEntryResponse `json:"latest"` +} + +type auditSessionsListResponse struct { + Sessions []auditSessionResponse `json:"sessions"` + Total int `json:"total"` + Limit int `json:"limit"` + Offset int `json:"offset"` +} + const ( RuntimeRefreshStatusOK = "ok" RuntimeRefreshStatusPartial = "partial" diff --git a/internal/admin/handler_audit.go b/internal/admin/handler_audit.go index 158394aef..32d29c98a 100644 --- a/internal/admin/handler_audit.go +++ b/internal/admin/handler_audit.go @@ -49,10 +49,11 @@ const conversationBuildTimeout = 10 * time.Second // @Param method query string false "Filter by HTTP method" // @Param path query string false "Filter by request path" // @Param user_path query string false "Filter by tracked user path subtree" +// @Param session_id query string false "Filter by exact session id" // @Param error_type query string false "Filter by error type" // @Param status_code query int false "Filter by status code" // @Param stream query bool false "Filter by stream mode (true/false)" -// @Param search query string false "Search across request_id/requested_model/provider/method/path/error_type/error_message" +// @Param search query string false "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message" // @Param limit query int false "Page size (default 25, max 100)" // @Param offset query int false "Offset for pagination" // @Success 200 {object} auditLogListResponse @@ -63,30 +64,92 @@ func (h *Handler) AuditLog(c *echo.Context) error { // Validate request shape before the disabled-reader fast path so callers // always get a 400 for malformed inputs, regardless of whether audit // logging is configured. - dateRange, err := parseDateRangeParams(c) + params, err := parseAuditLogQueryParams(c) if err != nil { return handleError(c, err) } - userPath, err := normalizeUserPathQueryParam("user_path", c.QueryParam("user_path")) + + if h.auditReader == nil { + // Echo the effective pagination so the response matches the enabled-reader + // contract. Returning limit:0 here would make the client send limit=0 on + // its next request, which fails validation above with a 400. + limit := params.Limit + if limit <= 0 { + limit = defaultAuditLogLimit + } + return c.JSON(http.StatusOK, auditLogListResponse{ + Entries: []auditLogEntryResponse{}, + Limit: limit, + Offset: params.Offset, + }) + } + + result, err := h.auditReader.GetLogs(c.Request().Context(), params) + if err != nil { + return handleError(c, err) + } + if result == nil { + result = &auditlog.LogListResult{Entries: []auditlog.LogEntry{}} + } + if result.Entries == nil { + result.Entries = []auditlog.LogEntry{} + } + + response, err := h.auditLogResponse(c.Request().Context(), result) if err != nil { return handleError(c, err) } + // The list ships scalar metadata only; full payloads stay behind + // /admin/audit/detail (see slimAuditListEntry). + for i := range response.Entries { + slimAuditListEntry(&response.Entries[i]) + } + return c.JSON(http.StatusOK, response) +} + +// parseAuditLogQueryParams parses and validates the shared audit log filter, +// search, and pagination query parameters. +// +// A session_id filter without explicit date parameters queries the whole +// session rather than the default trailing window: the thread view must show +// every request of a session regardless of the date range the list was +// browsed with, and the result set is already bounded by the session id. +func parseAuditLogQueryParams(c *echo.Context) (auditlog.LogQueryParams, error) { + var params auditlog.LogQueryParams + + sessionID := strings.TrimSpace(c.QueryParam("session_id")) + explicitDates := c.QueryParam("days") != "" || + strings.TrimSpace(c.QueryParam("start_date")) != "" || + strings.TrimSpace(c.QueryParam("end_date")) != "" + var dates auditlog.QueryParams + if sessionID == "" || explicitDates { + dateRange, err := parseDateRangeParams(c) + if err != nil { + return params, err + } + dates = auditlog.QueryParams{ + StartDate: dateRange.StartDate, + EndDate: dateRange.EndDate, + } + } + userPath, err := normalizeUserPathQueryParam("user_path", c.QueryParam("user_path")) + if err != nil { + return params, err + } requestedModel := c.QueryParam("requested_model") if requestedModel == "" { requestedModel = c.QueryParam("model") } - params := auditlog.LogQueryParams{ - QueryParams: auditlog.QueryParams{ - StartDate: dateRange.StartDate, - EndDate: dateRange.EndDate, - }, + params = auditlog.LogQueryParams{ + QueryParams: dates, RequestedModel: requestedModel, Provider: c.QueryParam("provider"), Method: strings.ToUpper(c.QueryParam("method")), Path: c.QueryParam("path"), UserPath: userPath, + SessionID: sessionID, ErrorType: c.QueryParam("error_type"), Search: c.QueryParam("search"), } @@ -94,7 +157,7 @@ func (h *Handler) AuditLog(c *echo.Context) error { if sc := c.QueryParam("status_code"); sc != "" { parsed, err := strconv.Atoi(sc) if err != nil { - return handleError(c, core.NewInvalidRequestError("invalid status_code, expected integer", nil)) + return params, core.NewInvalidRequestError("invalid status_code, expected integer", nil) } params.StatusCode = &parsed } @@ -102,7 +165,7 @@ func (h *Handler) AuditLog(c *echo.Context) error { if stream := c.QueryParam("stream"); stream != "" { parsed, err := strconv.ParseBool(stream) if err != nil { - return handleError(c, core.NewInvalidRequestError("invalid stream value, expected true or false", nil)) + return params, core.NewInvalidRequestError("invalid stream value, expected true or false", nil) } params.Stream = &parsed } @@ -110,55 +173,105 @@ func (h *Handler) AuditLog(c *echo.Context) error { if l := c.QueryParam("limit"); l != "" { parsed, err := strconv.Atoi(l) if err != nil || parsed <= 0 { - return handleError(c, core.NewInvalidRequestError("invalid limit, expected positive integer", nil)) + return params, core.NewInvalidRequestError("invalid limit, expected positive integer", nil) } if parsed > maxAuditLogLimit { - return handleError(c, core.NewInvalidRequestError("invalid limit parameter: limit must be between 1 and 100", nil)) + return params, core.NewInvalidRequestError("invalid limit parameter: limit must be between 1 and 100", nil) } params.Limit = parsed } if o := c.QueryParam("offset"); o != "" { parsed, err := strconv.Atoi(o) if err != nil || parsed < 0 { - return handleError(c, core.NewInvalidRequestError("invalid offset, expected non-negative integer", nil)) + return params, core.NewInvalidRequestError("invalid offset, expected non-negative integer", nil) } params.Offset = parsed } + return params, nil +} + +// AuditSessions handles GET /admin/audit/sessions +// +// @Summary Get paginated audit sessions (threads) +// @Description Groups audit log entries by session id into threads and returns +// @Description one summary per thread — its latest entry, entry count, and time +// @Description span — ordered by latest activity. Entries without a session id +// @Description appear as single-entry threads. Filters apply to entries before +// @Description grouping. +// @Tags admin +// @Produce json +// @Security BearerAuth +// @Param days query int false "Number of days (default 30)" +// @Param start_date query string false "Start date (YYYY-MM-DD)" +// @Param end_date query string false "End date (YYYY-MM-DD)" +// @Param requested_model query string false "Filter by requested model selector" +// @Param provider query string false "Filter by provider name or provider type" +// @Param method query string false "Filter by HTTP method" +// @Param path query string false "Filter by request path" +// @Param user_path query string false "Filter by tracked user path subtree" +// @Param error_type query string false "Filter by error type" +// @Param status_code query int false "Filter by status code" +// @Param stream query bool false "Filter by stream mode (true/false)" +// @Param search query string false "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message" +// @Param limit query int false "Page size in threads (default 25, max 100)" +// @Param offset query int false "Offset for pagination" +// @Success 200 {object} auditSessionsListResponse +// @Failure 400 {object} core.GatewayError +// @Failure 401 {object} core.GatewayError +// @Router /admin/audit/sessions [get] +func (h *Handler) AuditSessions(c *echo.Context) error { + params, err := parseAuditLogQueryParams(c) + if err != nil { + return handleError(c, err) + } if h.auditReader == nil { - // Echo the effective pagination so the response matches the enabled-reader - // contract. Returning limit:0 here would make the client send limit=0 on - // its next request, which fails validation above with a 400. limit := params.Limit if limit <= 0 { limit = defaultAuditLogLimit } - return c.JSON(http.StatusOK, auditLogListResponse{ - Entries: []auditLogEntryResponse{}, - Limit: limit, - Offset: params.Offset, + return c.JSON(http.StatusOK, auditSessionsListResponse{ + Sessions: []auditSessionResponse{}, + Limit: limit, + Offset: params.Offset, }) } - result, err := h.auditReader.GetLogs(c.Request().Context(), params) + result, err := h.auditReader.GetSessions(c.Request().Context(), params) if err != nil { return handleError(c, err) } if result == nil { - result = &auditlog.LogListResult{Entries: []auditlog.LogEntry{}} - } - if result.Entries == nil { - result.Entries = []auditlog.LogEntry{} + result = &auditlog.SessionListResult{} } - response, err := h.auditLogResponse(c.Request().Context(), result) + // Reuse the entry response builder for usage enrichment of the latest entries. + latest := make([]auditlog.LogEntry, len(result.Sessions)) + for i := range result.Sessions { + latest[i] = result.Sessions[i].Latest + } + enriched, err := h.auditLogResponse(c.Request().Context(), &auditlog.LogListResult{Entries: latest}) if err != nil { return handleError(c, err) } - // The list ships scalar metadata only; full payloads stay behind - // /admin/audit/detail (see slimAuditListEntry). - for i := range response.Entries { - slimAuditListEntry(&response.Entries[i]) + + response := auditSessionsListResponse{ + Sessions: make([]auditSessionResponse, len(result.Sessions)), + Total: result.Total, + Limit: result.Limit, + Offset: result.Offset, + } + for i, session := range result.Sessions { + // Session heads are list rows too. Keep the default grouped view on the + // same slim payload contract as /admin/audit/log. + slimAuditListEntry(&enriched.Entries[i]) + response.Sessions[i] = auditSessionResponse{ + SessionID: session.SessionID, + Count: session.Count, + FirstTimestamp: session.FirstTimestamp, + LastTimestamp: session.LastTimestamp, + Latest: enriched.Entries[i], + } } return c.JSON(http.StatusOK, response) } diff --git a/internal/admin/handler_audit_sessions_test.go b/internal/admin/handler_audit_sessions_test.go new file mode 100644 index 000000000..3de2dd675 --- /dev/null +++ b/internal/admin/handler_audit_sessions_test.go @@ -0,0 +1,189 @@ +package admin + +import ( + "encoding/json" + "net/http" + "testing" + "time" + + "github.com/enterpilot/gomodel/internal/auditlog" +) + +func TestAuditSessions_NilReader(t *testing.T) { + h := NewHandler(nil, nil) + c, rec := newHandlerContext("/admin/audit/sessions") + + if err := h.AuditSessions(c); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if rec.Code != http.StatusOK { + t.Fatalf("expected 200, got %d", rec.Code) + } + + var result auditlog.SessionListResult + if err := json.Unmarshal(rec.Body.Bytes(), &result); err != nil { + t.Fatalf("failed to unmarshal: %v", err) + } + if len(result.Sessions) != 0 { + t.Errorf("expected 0 sessions, got %d", len(result.Sessions)) + } + if result.Limit != 25 { + t.Errorf("expected default echoed limit 25, got %d", result.Limit) + } +} + +func TestAuditSessions_Success(t *testing.T) { + now := time.Now().UTC() + reader := &mockAuditReader{ + sessionsResult: &auditlog.SessionListResult{ + Sessions: []auditlog.SessionSummary{ + { + SessionID: "sess-a", + Count: 3, + FirstTimestamp: now.Add(-time.Minute), + LastTimestamp: now, + Latest: auditlog.LogEntry{ + ID: "log-3", + Timestamp: now, + SessionID: "sess-a", + Provider: "openai", + RequestID: "req-3", + }, + }, + { + Count: 1, + FirstTimestamp: now.Add(-time.Hour), + LastTimestamp: now.Add(-time.Hour), + Latest: auditlog.LogEntry{ + ID: "log-1", + Timestamp: now.Add(-time.Hour), + Provider: "openai", + RequestID: "req-1", + }, + }, + }, + Total: 2, + Limit: 25, + Offset: 0, + }, + } + + h := NewHandler(nil, nil, WithAuditReader(reader)) + c, rec := newHandlerContext("/admin/audit/sessions?days=7&user_path=/team") + + if err := h.AuditSessions(c); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if rec.Code != http.StatusOK { + t.Fatalf("expected 200, got %d: %s", rec.Code, rec.Body.String()) + } + if reader.lastQuery.UserPath != "/team" { + t.Errorf("user_path filter not forwarded: %q", reader.lastQuery.UserPath) + } + + var result struct { + Sessions []struct { + SessionID string `json:"session_id"` + Count int `json:"count"` + Latest *auditlog.LogEntry `json:"latest"` + } `json:"sessions"` + Total int `json:"total"` + } + if err := json.Unmarshal(rec.Body.Bytes(), &result); err != nil { + t.Fatalf("failed to unmarshal: %v", err) + } + if result.Total != 2 || len(result.Sessions) != 2 { + t.Fatalf("total=%d sessions=%d, want 2/2", result.Total, len(result.Sessions)) + } + if result.Sessions[0].SessionID != "sess-a" || result.Sessions[0].Count != 3 { + t.Errorf("first session = %+v", result.Sessions[0]) + } + if result.Sessions[0].Latest == nil || result.Sessions[0].Latest.ID != "log-3" { + t.Errorf("latest entry not embedded: %+v", result.Sessions[0].Latest) + } + if result.Sessions[1].SessionID != "" || result.Sessions[1].Count != 1 { + t.Errorf("singleton thread = %+v", result.Sessions[1]) + } +} + +func TestAuditSessions_SlimsLatestEntries(t *testing.T) { + entry := fullAuditEntry("log-1") + entry.SessionID = "sess-a" + reader := &mockAuditReader{ + sessionsResult: &auditlog.SessionListResult{ + Sessions: []auditlog.SessionSummary{{ + SessionID: "sess-a", + Count: 2, + FirstTimestamp: entry.Timestamp.Add(-time.Minute), + LastTimestamp: entry.Timestamp, + Latest: entry, + }}, + Total: 1, + Limit: 25, + }, + } + h := NewHandler(nil, nil, WithAuditReader(reader)) + c, rec := newHandlerContext("/admin/audit/sessions") + + if err := h.AuditSessions(c); err != nil { + t.Fatalf("AuditSessions() error = %v", err) + } + var result struct { + Sessions []struct { + Latest struct { + auditlog.LogEntry + BodiesOmitted bool `json:"bodies_omitted"` + } `json:"latest"` + } `json:"sessions"` + } + if err := json.Unmarshal(rec.Body.Bytes(), &result); err != nil { + t.Fatalf("failed to unmarshal: %v", err) + } + latest := result.Sessions[0].Latest + if latest.SessionID != "sess-a" { + t.Fatalf("session id = %q, want sess-a", latest.SessionID) + } + if latest.Data == nil || latest.Data.RequestBody != nil || latest.Data.ResponseBody != nil { + t.Fatal("session head must use the slim list payload") + } + if !latest.BodiesOmitted { + t.Fatal("session head with stripped bodies must set bodies_omitted") + } +} + +func TestAuditLog_SessionIDFilterForwarded(t *testing.T) { + reader := &mockAuditReader{logResult: &auditlog.LogListResult{}} + h := NewHandler(nil, nil, WithAuditReader(reader)) + c, _ := newHandlerContext("/admin/audit/log?session_id=sess-a") + + if err := h.AuditLog(c); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if reader.lastQuery.SessionID != "sess-a" { + t.Errorf("session_id filter not forwarded: %q", reader.lastQuery.SessionID) + } +} + +// A session_id filter without explicit date parameters queries the whole +// session; explicit dates still apply so the two can be combined. +func TestAuditLog_SessionIDSkipsDefaultDateWindow(t *testing.T) { + reader := &mockAuditReader{logResult: &auditlog.LogListResult{}} + h := NewHandler(nil, nil, WithAuditReader(reader)) + + c, _ := newHandlerContext("/admin/audit/log?session_id=sess-a") + if err := h.AuditLog(c); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !reader.lastQuery.StartDate.IsZero() || !reader.lastQuery.EndDate.IsZero() { + t.Fatalf("session-only query must be unbounded, got %v..%v", + reader.lastQuery.StartDate, reader.lastQuery.EndDate) + } + + c, _ = newHandlerContext("/admin/audit/log?session_id=sess-a&days=7") + if err := h.AuditLog(c); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if reader.lastQuery.StartDate.IsZero() || reader.lastQuery.EndDate.IsZero() { + t.Fatal("explicit days must still bound a session query") + } +} diff --git a/internal/admin/handler_test.go b/internal/admin/handler_test.go index b7928290b..bfad1d96b 100644 --- a/internal/admin/handler_test.go +++ b/internal/admin/handler_test.go @@ -62,6 +62,8 @@ type mockAuditReader struct { statsResult *auditlog.RequestStats statsErr error lastStatsParams auditlog.RequestStatsParams + sessionsResult *auditlog.SessionListResult + sessionsErr error } type mockRuntimeRefresher struct { @@ -152,6 +154,14 @@ func (m *mockAuditReader) GetLogs(_ context.Context, params auditlog.LogQueryPar return m.logResult, nil } +func (m *mockAuditReader) GetSessions(_ context.Context, params auditlog.LogQueryParams) (*auditlog.SessionListResult, error) { + m.lastQuery = params + if m.sessionsErr != nil { + return nil, m.sessionsErr + } + return m.sessionsResult, nil +} + func (m *mockAuditReader) GetLogByID(_ context.Context, _ string) (*auditlog.LogEntry, error) { if m.logByIDErr != nil { return nil, m.logByIDErr diff --git a/internal/admin/handler_virtualmodels.go b/internal/admin/handler_virtualmodels.go index 33d7c02fe..7a6a9ac29 100644 --- a/internal/admin/handler_virtualmodels.go +++ b/internal/admin/handler_virtualmodels.go @@ -21,9 +21,12 @@ type upsertVirtualModelRequest struct { TargetModel string `json:"target_model,omitempty"` Targets []virtualModelTargetRequest `json:"targets,omitempty"` Strategy string `json:"strategy,omitempty"` - UserPaths []string `json:"user_paths,omitempty"` - Description string `json:"description,omitempty"` - Enabled *bool `json:"enabled,omitempty"` + // SessionAffinity keeps a detected session on the target that served it + // before. Omitted means enabled; false restores stateless balancing. + SessionAffinity *bool `json:"session_affinity,omitempty"` + UserPaths []string `json:"user_paths,omitempty"` + Description string `json:"description,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } // virtualModelTargetRequest is one load-balancing destination. Model may be a @@ -154,11 +157,12 @@ func (h *Handler) DeleteVirtualModel(c *echo.Context) error { // defaults to true, preserving the existing value when omitted. func (h *Handler) buildVirtualModelUpsert(source string, req upsertVirtualModelRequest) (virtualmodels.VirtualModel, error) { vm := virtualmodels.VirtualModel{ - Source: source, - Strategy: strings.TrimSpace(req.Strategy), - UserPaths: req.UserPaths, - Description: strings.TrimSpace(req.Description), - Enabled: h.virtualModels.ResolveUpsertEnabled(source, req.OldSource, req.Enabled), + Source: source, + Strategy: strings.TrimSpace(req.Strategy), + SessionAffinity: req.SessionAffinity, + UserPaths: req.UserPaths, + Description: strings.TrimSpace(req.Description), + Enabled: h.virtualModels.ResolveUpsertEnabled(source, req.OldSource, req.Enabled), } targets, err := buildVirtualModelTargets(req) diff --git a/internal/admin/routes.go b/internal/admin/routes.go index 1230bbc1b..55fb59d0c 100644 --- a/internal/admin/routes.go +++ b/internal/admin/routes.go @@ -30,6 +30,7 @@ func (h *Handler) RegisterRoutes(g RouteRegistrar) { g.POST("/usage/recalculate-pricing", h.RecalculateUsagePricing) g.GET("/audit/log", h.AuditLog) + g.GET("/audit/sessions", h.AuditSessions) g.GET("/audit/stats", h.AuditStats) g.GET("/audit/detail", h.AuditLogDetail) g.GET("/audit/conversation", h.AuditConversation) diff --git a/internal/admin/routes_test.go b/internal/admin/routes_test.go index b662b114c..4f8a4fd2f 100644 --- a/internal/admin/routes_test.go +++ b/internal/admin/routes_test.go @@ -45,6 +45,7 @@ func TestRegisterRoutes_RegistersExpectedPaths(t *testing.T) { "POST /admin/usage/recalculate-pricing", "GET /admin/audit/log", + "GET /admin/audit/sessions", "GET /admin/audit/stats", "GET /admin/audit/detail", "GET /admin/audit/conversation", diff --git a/internal/app/app.go b/internal/app/app.go index 57fe02633..56c93cea8 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -40,6 +40,7 @@ import ( "github.com/enterpilot/gomodel/internal/responsestore" "github.com/enterpilot/gomodel/internal/server" "github.com/enterpilot/gomodel/internal/storage" + "github.com/enterpilot/gomodel/internal/session" "github.com/enterpilot/gomodel/internal/tagging" "github.com/enterpilot/gomodel/internal/usage" "github.com/enterpilot/gomodel/internal/virtualmodels" @@ -543,6 +544,7 @@ func New(ctx context.Context, cfg Config) (*App, error) { UserPathHeader: appCfg.Server.UserPathHeader, SwaggerEnabled: swaggerEnabled, Tagging: taggingResult.Service, + SessionDetector: session.NewDetectorFromConfig(appCfg.Session), MCPEnabled: appCfg.MCP.Enabled, } if mcpResult != nil { diff --git a/internal/auditlog/auditlog.go b/internal/auditlog/auditlog.go index 5d9398380..6f4680861 100644 --- a/internal/auditlog/auditlog.go +++ b/internal/auditlog/auditlog.go @@ -105,6 +105,7 @@ type LogEntry struct { Method string `json:"method,omitempty" bson:"method,omitempty"` Path string `json:"path,omitempty" bson:"path,omitempty"` UserPath string `json:"user_path,omitempty" bson:"user_path,omitempty"` + SessionID string `json:"session_id,omitempty" bson:"session_id,omitempty"` Stream bool `json:"stream,omitempty" bson:"stream,omitempty"` ErrorType string `json:"error_type,omitempty" bson:"error_type,omitempty"` diff --git a/internal/auditlog/auditlog_test.go b/internal/auditlog/auditlog_test.go index 9b7dcb956..c3dedb985 100644 --- a/internal/auditlog/auditlog_test.go +++ b/internal/auditlog/auditlog_test.go @@ -1401,7 +1401,7 @@ func TestNewStreamLogObserverNilInputs(t *testing.T) { func TestCreateStreamEntry(t *testing.T) { // Test nil input - result := CreateStreamEntry(nil) + result := CreateStreamEntry(context.Background(), nil) if result != nil { t.Error("expected nil for nil input") } @@ -1445,7 +1445,7 @@ func TestCreateStreamEntry(t *testing.T) { }, } - streamEntry := CreateStreamEntry(baseEntry) + streamEntry := CreateStreamEntry(context.Background(), baseEntry) if streamEntry == nil { t.Fatal("expected non-nil stream entry") return diff --git a/internal/auditlog/middleware.go b/internal/auditlog/middleware.go index abdd3b24a..1767cca29 100644 --- a/internal/auditlog/middleware.go +++ b/internal/auditlog/middleware.go @@ -210,6 +210,11 @@ func applyAuthentication(entry *LogEntry, ctx context.Context) { if userPath := strings.TrimSpace(core.UserPathFromContext(ctx)); userPath != "" { entry.UserPath = userPath } + // Session detection runs after authentication (deeper in the chain than + // this middleware), so the id only exists on the post-handler context. + if sessionID := core.SessionIDFromContext(ctx); sessionID != "" { + entry.SessionID = sessionID + } // The entry snapshots labels before authentication runs, so auth-key // labels merged into the context during auth are re-read here. if entry.Data != nil { diff --git a/internal/auditlog/reader.go b/internal/auditlog/reader.go index f1acbfd23..990b9fc9a 100644 --- a/internal/auditlog/reader.go +++ b/internal/auditlog/reader.go @@ -19,6 +19,7 @@ type LogQueryParams struct { Method string Path string UserPath string + SessionID string // exact-match session id filter ErrorType string Search string StatusCode *int @@ -35,6 +36,26 @@ type LogListResult struct { Offset int `json:"offset"` } +// SessionSummary describes one session (thread) of audit log entries: its +// latest entry plus aggregate span and count. Entries without a session id +// form singleton threads whose SessionID is empty. +type SessionSummary struct { + SessionID string `json:"session_id,omitempty"` + Count int `json:"count"` + FirstTimestamp time.Time `json:"first_timestamp"` + LastTimestamp time.Time `json:"last_timestamp"` + Latest LogEntry `json:"latest"` +} + +// SessionListResult holds a paginated list of session summaries ordered by +// latest activity. +type SessionListResult struct { + Sessions []SessionSummary `json:"sessions"` + Total int `json:"total"` + Limit int `json:"limit"` + Offset int `json:"offset"` +} + // ConversationResult holds a linear conversation thread centered around an anchor log. type ConversationResult struct { AnchorID string `json:"anchor_id"` @@ -51,6 +72,12 @@ type Reader interface { // GetLogs returns a paginated list of audit log entries with optional filtering. GetLogs(ctx context.Context, params LogQueryParams) (*LogListResult, error) + // GetSessions returns a paginated list of audit sessions (threads): one + // summary per distinct session id, plus singleton threads for entries + // without one, ordered by latest activity. Filters apply to entries before + // grouping, so a thread's Latest and Count reflect the matching entries. + GetSessions(ctx context.Context, params LogQueryParams) (*SessionListResult, error) + // GetLogByID returns a single audit log entry by ID. // Returns (nil, nil) when no entry exists for the given ID. GetLogByID(ctx context.Context, id string) (*LogEntry, error) diff --git a/internal/auditlog/reader_mongodb.go b/internal/auditlog/reader_mongodb.go index d2126ff1a..7faa9bc3d 100644 --- a/internal/auditlog/reader_mongodb.go +++ b/internal/auditlog/reader_mongodb.go @@ -38,6 +38,7 @@ type mongoLogRow struct { Method string `bson:"method"` Path string `bson:"path"` UserPath string `bson:"user_path"` + SessionID string `bson:"session_id"` Stream bool `bson:"stream"` ErrorType string `bson:"error_type"` Data *LogData `bson:"data"` @@ -63,6 +64,7 @@ func (r mongoLogRow) toLogEntry() *LogEntry { Method: r.Method, Path: r.Path, UserPath: r.UserPath, + SessionID: r.SessionID, Stream: r.Stream, ErrorType: r.ErrorType, Data: sanitizeLogData(r.Data), @@ -112,6 +114,74 @@ func mongoUserPathMatchFilter(userPath string) bson.E { func (r *MongoDBReader) GetLogs(ctx context.Context, params LogQueryParams) (*LogListResult, error) { limit, offset := clampLimitOffset(params.Limit, params.Offset) + matchFilters, err := mongoLogMatchFilters(params) + if err != nil { + return nil, err + } + + pipeline := bson.A{} + if len(matchFilters) > 0 { + pipeline = append(pipeline, bson.D{{Key: "$match", Value: matchFilters}}) + } + + pipeline = append(pipeline, bson.D{{Key: "$facet", Value: bson.D{ + {Key: "data", Value: bson.A{ + bson.D{{Key: "$sort", Value: bson.D{{Key: "timestamp", Value: -1}}}}, + bson.D{{Key: "$skip", Value: offset}}, + bson.D{{Key: "$limit", Value: limit}}, + }}, + {Key: "total", Value: bson.A{ + bson.D{{Key: "$count", Value: "count"}}, + }}, + }}}) + + cursor, err := r.collection.Aggregate(ctx, pipeline) + if err != nil { + return nil, fmt.Errorf("failed to aggregate audit logs: %w", err) + } + defer cursor.Close(ctx) + + var facetResult struct { + Data []mongoLogRow `bson:"data"` + Total []struct { + Count int `bson:"count"` + } `bson:"total"` + } + + if cursor.Next(ctx) { + if err := cursor.Decode(&facetResult); err != nil { + return nil, fmt.Errorf("failed to decode audit log facet result: %w", err) + } + } + + if err := cursor.Err(); err != nil { + return nil, fmt.Errorf("error iterating audit log cursor: %w", err) + } + + total := 0 + if len(facetResult.Total) > 0 { + total = facetResult.Total[0].Count + } + + entries := make([]LogEntry, 0, len(facetResult.Data)) + for _, row := range facetResult.Data { + entry := row.toLogEntry() + if entry != nil { + entries = append(entries, *entry) + } + } + + return &LogListResult{ + Entries: entries, + Total: total, + Limit: limit, + Offset: offset, + }, nil +} + +// mongoLogMatchFilters builds the $match document for a log query, shared by +// the paginated list and the sessions aggregation. +func mongoLogMatchFilters(params LogQueryParams) (bson.D, error) { matchFilters := bson.D{} if tsFilter := mongoDateRangeFilter(params.QueryParams); tsFilter != nil { @@ -168,6 +238,9 @@ func (r *MongoDBReader) GetLogs(ctx context.Context, params LogQueryParams) (*Lo }, }) } + if params.SessionID != "" { + matchFilters = append(matchFilters, bson.E{Key: "session_id", Value: params.SessionID}) + } if params.StatusCode != nil { matchFilters = append(matchFilters, bson.E{Key: "status_code", Value: *params.StatusCode}) } @@ -187,69 +260,13 @@ func (r *MongoDBReader) GetLogs(ctx context.Context, params LogQueryParams) (*Lo bson.D{{Key: "method", Value: regex}}, bson.D{{Key: "path", Value: regex}}, bson.D{{Key: "user_path", Value: regex}}, + bson.D{{Key: "session_id", Value: regex}}, bson.D{{Key: "error_type", Value: regex}}, bson.D{{Key: "data.error_message", Value: regex}}, }}) } - pipeline := bson.A{} - if len(matchFilters) > 0 { - pipeline = append(pipeline, bson.D{{Key: "$match", Value: matchFilters}}) - } - - pipeline = append(pipeline, bson.D{{Key: "$facet", Value: bson.D{ - {Key: "data", Value: bson.A{ - bson.D{{Key: "$sort", Value: bson.D{{Key: "timestamp", Value: -1}}}}, - bson.D{{Key: "$skip", Value: offset}}, - bson.D{{Key: "$limit", Value: limit}}, - }}, - {Key: "total", Value: bson.A{ - bson.D{{Key: "$count", Value: "count"}}, - }}, - }}}) - - cursor, err := r.collection.Aggregate(ctx, pipeline) - if err != nil { - return nil, fmt.Errorf("failed to aggregate audit logs: %w", err) - } - defer cursor.Close(ctx) - - var facetResult struct { - Data []mongoLogRow `bson:"data"` - Total []struct { - Count int `bson:"count"` - } `bson:"total"` - } - - if cursor.Next(ctx) { - if err := cursor.Decode(&facetResult); err != nil { - return nil, fmt.Errorf("failed to decode audit log facet result: %w", err) - } - } - - if err := cursor.Err(); err != nil { - return nil, fmt.Errorf("error iterating audit log cursor: %w", err) - } - - total := 0 - if len(facetResult.Total) > 0 { - total = facetResult.Total[0].Count - } - - entries := make([]LogEntry, 0, len(facetResult.Data)) - for _, row := range facetResult.Data { - entry := row.toLogEntry() - if entry != nil { - entries = append(entries, *entry) - } - } - - return &LogListResult{ - Entries: entries, - Total: total, - Limit: limit, - Offset: offset, - }, nil + return matchFilters, nil } func firstNonEmpty(values ...string) string { diff --git a/internal/auditlog/reader_sessions_mongodb.go b/internal/auditlog/reader_sessions_mongodb.go new file mode 100644 index 000000000..a024e7dae --- /dev/null +++ b/internal/auditlog/reader_sessions_mongodb.go @@ -0,0 +1,106 @@ +package auditlog + +import ( + "context" + "fmt" + "time" + + "go.mongodb.org/mongo-driver/v2/bson" +) + +// mongoThreadKeyExpr groups entries into threads: the session id when present, +// otherwise the entry's own id (singleton threads for sessionless entries). +var mongoThreadKeyExpr = bson.D{{Key: "$cond", Value: bson.A{ + bson.D{{Key: "$eq", Value: bson.A{ + bson.D{{Key: "$ifNull", Value: bson.A{"$session_id", ""}}}, + "", + }}}, + "$_id", + "$session_id", +}}} + +// GetSessions returns a paginated list of audit sessions ordered by latest +// activity, mirroring the SQL reader's window-function query with a $group +// aggregation. +func (r *MongoDBReader) GetSessions(ctx context.Context, params LogQueryParams) (*SessionListResult, error) { + limit, offset := clampLimitOffset(params.Limit, params.Offset) + + matchFilters, err := mongoLogMatchFilters(params) + if err != nil { + return nil, err + } + + pipeline := bson.A{} + if len(matchFilters) > 0 { + pipeline = append(pipeline, bson.D{{Key: "$match", Value: matchFilters}}) + } + pipeline = append(pipeline, + bson.D{{Key: "$addFields", Value: bson.D{{Key: "thread_key", Value: mongoThreadKeyExpr}}}}, + // Sort before $group so $first picks each thread's newest entry. + bson.D{{Key: "$sort", Value: bson.D{{Key: "timestamp", Value: -1}, {Key: "_id", Value: -1}}}}, + bson.D{{Key: "$group", Value: bson.D{ + {Key: "_id", Value: "$thread_key"}, + {Key: "latest", Value: bson.D{{Key: "$first", Value: "$$ROOT"}}}, + {Key: "count", Value: bson.D{{Key: "$sum", Value: 1}}}, + {Key: "first_ts", Value: bson.D{{Key: "$min", Value: "$timestamp"}}}, + {Key: "last_ts", Value: bson.D{{Key: "$max", Value: "$timestamp"}}}, + }}}, + bson.D{{Key: "$sort", Value: bson.D{{Key: "last_ts", Value: -1}, {Key: "_id", Value: -1}}}}, + bson.D{{Key: "$facet", Value: bson.D{ + {Key: "data", Value: bson.A{ + bson.D{{Key: "$skip", Value: offset}}, + bson.D{{Key: "$limit", Value: limit}}, + }}, + {Key: "total", Value: bson.A{ + bson.D{{Key: "$count", Value: "count"}}, + }}, + }}}, + ) + + cursor, err := r.collection.Aggregate(ctx, pipeline) + if err != nil { + return nil, fmt.Errorf("failed to aggregate audit sessions: %w", err) + } + defer cursor.Close(ctx) + + var facetResult struct { + Data []struct { + Latest mongoLogRow `bson:"latest"` + Count int `bson:"count"` + FirstTS time.Time `bson:"first_ts"` + LastTS time.Time `bson:"last_ts"` + } `bson:"data"` + Total []struct { + Count int `bson:"count"` + } `bson:"total"` + } + if cursor.Next(ctx) { + if err := cursor.Decode(&facetResult); err != nil { + return nil, fmt.Errorf("failed to decode audit session facet result: %w", err) + } + } + if err := cursor.Err(); err != nil { + return nil, fmt.Errorf("error iterating audit session cursor: %w", err) + } + + total := 0 + if len(facetResult.Total) > 0 { + total = facetResult.Total[0].Count + } + + sessions := make([]SessionSummary, 0, len(facetResult.Data)) + for _, row := range facetResult.Data { + entry := row.Latest.toLogEntry() + if entry == nil { + continue + } + sessions = append(sessions, SessionSummary{ + SessionID: entry.SessionID, + Count: row.Count, + FirstTimestamp: row.FirstTS, + LastTimestamp: row.LastTS, + Latest: *entry, + }) + } + return &SessionListResult{Sessions: sessions, Total: total, Limit: limit, Offset: offset}, nil +} diff --git a/internal/auditlog/reader_sessions_mongodb_test.go b/internal/auditlog/reader_sessions_mongodb_test.go new file mode 100644 index 000000000..ebd8888ab --- /dev/null +++ b/internal/auditlog/reader_sessions_mongodb_test.go @@ -0,0 +1,63 @@ +package auditlog + +import ( + "context" + "testing" + "time" + + "go.mongodb.org/mongo-driver/v2/mongo" + + "github.com/enterpilot/gomodel/internal/storage/mongotest" +) + +// Mirrors TestSQLReader_GetSessions so the hand-written MongoDB aggregation +// cannot drift from the SQL behaviour. Skips without MONGO_TEST_DSN. +func TestMongoDBReader_GetSessions(t *testing.T) { + mongotest.Run(t, func(t *testing.T, db *mongo.Database) { + ctx := context.Background() + store, err := NewMongoDBStore(db, 0) + if err != nil { + t.Fatalf("failed to create store: %v", err) + } + defer store.Close() + + base := time.Date(2026, 7, 27, 10, 0, 0, 0, time.UTC) + entries := []*LogEntry{ + {ID: "a-1", Timestamp: base, Provider: "openai", SessionID: "sess-a", StatusCode: 200}, + {ID: "a-2", Timestamp: base.Add(2 * time.Minute), Provider: "openai", SessionID: "sess-a", StatusCode: 200}, + {ID: "b-1", Timestamp: base.Add(time.Minute), Provider: "anthropic", SessionID: "sess-b", StatusCode: 500}, + {ID: "solo", Timestamp: base.Add(3 * time.Minute), Provider: "openai", StatusCode: 200}, + } + if err := store.WriteBatch(ctx, entries); err != nil { + t.Fatalf("WriteBatch failed: %v", err) + } + + reader, err := NewMongoDBReader(db) + if err != nil { + t.Fatalf("failed to create reader: %v", err) + } + + result, err := reader.GetSessions(ctx, LogQueryParams{Limit: 10}) + if err != nil { + t.Fatalf("GetSessions failed: %v", err) + } + if result.Total != 3 || len(result.Sessions) != 3 { + t.Fatalf("total=%d sessions=%d, want 3/3", result.Total, len(result.Sessions)) + } + if got := result.Sessions[0].Latest.ID; got != "solo" { + t.Fatalf("sessions[0].Latest.ID = %q, want solo", got) + } + threadA := result.Sessions[1] + if threadA.SessionID != "sess-a" || threadA.Count != 2 || threadA.Latest.ID != "a-2" { + t.Fatalf("sess-a summary = %+v", threadA) + } + if !threadA.FirstTimestamp.Equal(base) || !threadA.LastTimestamp.Equal(base.Add(2*time.Minute)) { + t.Fatalf("sess-a span = %v..%v", threadA.FirstTimestamp, threadA.LastTimestamp) + } + if result.Sessions[2].SessionID != "sess-b" { + t.Fatalf("sessions[2] = %+v", result.Sessions[2]) + } + + assertGetSessionsFilters(t, reader) + }) +} diff --git a/internal/auditlog/reader_sessions_sql.go b/internal/auditlog/reader_sessions_sql.go new file mode 100644 index 000000000..85ea7209a --- /dev/null +++ b/internal/auditlog/reader_sessions_sql.go @@ -0,0 +1,98 @@ +package auditlog + +import ( + "context" + "fmt" + + "github.com/enterpilot/gomodel/internal/storage/sqlutil" + "github.com/enterpilot/gomodel/internal/storage/sqlx" +) + +// auditThreadKey groups entries into threads: the session id when present, +// otherwise the entry's own id, which makes sessionless entries singleton +// threads in the same page. +const auditThreadKey = `COALESCE(NULLIF(session_id, ''), id)` + +// GetSessions returns a paginated list of audit sessions ordered by latest +// activity. One window-function pass ranks each thread's entries by recency +// and aggregates its count and time span; the outer query keeps each thread's +// newest entry. Works identically on SQLite and PostgreSQL. +func (r *SQLReader) GetSessions(ctx context.Context, params LogQueryParams) (*SessionListResult, error) { + limit, offset := clampLimitOffset(params.Limit, params.Offset) + + conditions, args, err := r.logFilters(params) + if err != nil { + return nil, err + } + where := sqlutil.BuildWhereClause(conditions) + + var total int + if err := r.db.QueryRow(ctx, + "SELECT COUNT(DISTINCT "+auditThreadKey+") FROM audit_logs"+where, args..., + ).Scan(&total); err != nil { + return nil, fmt.Errorf("failed to count audit sessions: %w", err) + } + + query := `WITH ranked AS ( + SELECT ` + logColumns + `, + ROW_NUMBER() OVER (PARTITION BY ` + auditThreadKey + ` ORDER BY timestamp DESC, id DESC) AS rn, + COUNT(*) OVER (PARTITION BY ` + auditThreadKey + `) AS entry_count, + MIN(timestamp) OVER (PARTITION BY ` + auditThreadKey + `) AS first_ts, + MAX(timestamp) OVER (PARTITION BY ` + auditThreadKey + `) AS last_ts + FROM audit_logs` + where + ` + ) + SELECT ` + logColumns + `, entry_count, first_ts, last_ts + FROM ranked WHERE rn = 1 + ORDER BY last_ts DESC, id DESC LIMIT ? OFFSET ?` + + rows, err := r.db.Query(ctx, query, append(append([]any(nil), args...), limit, offset)...) + if err != nil { + return nil, fmt.Errorf("failed to query audit sessions: %w", err) + } + defer rows.Close() + + sessions := make([]SessionSummary, 0) + for rows.Next() { + summary, err := scanSQLSessionSummary(rows) + if err != nil { + return nil, err + } + sessions = append(sessions, *summary) + } + if err := rows.Err(); err != nil { + return nil, fmt.Errorf("error iterating audit session rows: %w", err) + } + return &SessionListResult{Sessions: sessions, Total: total, Limit: limit, Offset: offset}, nil +} + +// sessionSummaryScanner adapts a session row to the log-entry scanner: the +// leading columns are exactly a log entry, followed by the three aggregates. +type sessionSummaryScanner struct { + row sqlx.Row + count *int + firstTS *sqlx.Timestamp + lastTS *sqlx.Timestamp +} + +func (s sessionSummaryScanner) Scan(dest ...any) error { + return s.row.Scan(append(dest, s.count, s.firstTS, s.lastTS)...) +} + +func scanSQLSessionSummary(row sqlx.Row) (*SessionSummary, error) { + var summary SessionSummary + var firstTS, lastTS sqlx.Timestamp + entry, err := scanSQLLogEntry(sessionSummaryScanner{ + row: row, + count: &summary.Count, + firstTS: &firstTS, + lastTS: &lastTS, + }) + if err != nil { + return nil, fmt.Errorf("failed to scan audit session row: %w", err) + } + summary.SessionID = entry.SessionID + summary.FirstTimestamp = firstTS.Time + summary.LastTimestamp = lastTS.Time + summary.Latest = *entry + return &summary, nil +} diff --git a/internal/auditlog/reader_sql.go b/internal/auditlog/reader_sql.go index ab81529f8..e54887fb8 100644 --- a/internal/auditlog/reader_sql.go +++ b/internal/auditlog/reader_sql.go @@ -87,10 +87,12 @@ func readerDialectFor(dialect sqlx.Dialect) readerDialect { const sqliteTimestampBoundaryLayout = "2006-01-02T15:04:05" -const selectLogColumns = `SELECT id, timestamp, duration_ns, requested_model, resolved_model, +const logColumns = `id, timestamp, duration_ns, requested_model, resolved_model, provider, provider_name, alias_used, workflow_version_id, cache_type, status_code, - request_id, auth_key_id, auth_method, client_ip, method, path, user_path, stream, - error_type, data + request_id, auth_key_id, auth_method, client_ip, method, path, user_path, session_id, + stream, error_type, data` + +const selectLogColumns = `SELECT ` + logColumns + ` FROM audit_logs` // GetLogs returns a paginated list of audit log entries. @@ -179,6 +181,9 @@ func (r *SQLReader) logFilters(params LogQueryParams) ([]string, []any, error) { if params.ErrorType != "" { add(r.likeClause("error_type"), contains(params.ErrorType)) } + if params.SessionID != "" { + add("session_id = ?", params.SessionID) + } if params.StatusCode != nil { add("status_code = ?", *params.StatusCode) } @@ -188,7 +193,7 @@ func (r *SQLReader) logFilters(params LogQueryParams) ([]string, []any, error) { if params.Search != "" { searchColumns := []string{ "request_id", "auth_key_id", "requested_model", "provider", "provider_name", - "method", "path", "user_path", "error_type", r.dialect.errorMessage, + "method", "path", "user_path", "session_id", "error_type", r.dialect.errorMessage, } clauses := make([]string, 0, len(searchColumns)) values := make([]any, 0, len(searchColumns)) @@ -318,6 +323,7 @@ func scanSQLLogEntry(scanner sqlx.Row) (*LogEntry, error) { authKeyID *string authMethod *string userPath *string + sessionID *string errorType *string dataJSON *string ) @@ -326,7 +332,7 @@ func scanSQLLogEntry(scanner sqlx.Row) (*LogEntry, error) { &entry.ID, ×tamp, &entry.DurationNs, &entry.RequestedModel, &entry.ResolvedModel, &entry.Provider, &providerName, &entry.AliasUsed, &workflowVersionID, &cacheType, &entry.StatusCode, &entry.RequestID, &authKeyID, &authMethod, &entry.ClientIP, - &entry.Method, &entry.Path, &userPath, &entry.Stream, &errorType, &dataJSON, + &entry.Method, &entry.Path, &userPath, &sessionID, &entry.Stream, &errorType, &dataJSON, ); err != nil { return nil, fmt.Errorf("failed to scan audit log row: %w", err) } @@ -339,6 +345,7 @@ func scanSQLLogEntry(scanner sqlx.Row) (*LogEntry, error) { entry.AuthKeyID = derefString(authKeyID) entry.AuthMethod = derefString(authMethod) entry.UserPath = derefString(userPath) + entry.SessionID = derefString(sessionID) entry.ErrorType = derefString(errorType) entry.CacheType = normalizeCacheType(derefString(cacheType)) entry.ProviderName = displayAuditProviderName(derefString(providerName), entry.Provider) diff --git a/internal/auditlog/session_id_test.go b/internal/auditlog/session_id_test.go new file mode 100644 index 000000000..beeefcdf1 --- /dev/null +++ b/internal/auditlog/session_id_test.go @@ -0,0 +1,224 @@ +package auditlog + +import ( + "context" + "testing" + "time" + + "github.com/enterpilot/gomodel/internal/core" + "github.com/enterpilot/gomodel/internal/storage/sqlx" + "github.com/enterpilot/gomodel/internal/storage/sqlx/sqlxtest" +) + +func TestSQLStore_SessionIDRoundtripAndFilter(t *testing.T) { + sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { + store, err := newSQLStoreForTest(t, db, 0) + if err != nil { + t.Fatalf("failed to create store: %v", err) + } + defer store.Close() + + ctx := context.Background() + base := time.Now().UTC() + entries := []*LogEntry{ + {ID: "s-1", Timestamp: base, Provider: "openai", SessionID: "sess-a"}, + {ID: "s-2", Timestamp: base.Add(time.Second), Provider: "openai", SessionID: "sess-a"}, + {ID: "s-3", Timestamp: base.Add(2 * time.Second), Provider: "openai", SessionID: "sess-b"}, + {ID: "s-4", Timestamp: base.Add(3 * time.Second), Provider: "openai"}, + } + if err := store.WriteBatch(ctx, entries); err != nil { + t.Fatalf("WriteBatch failed: %v", err) + } + + reader, err := NewSQLReader(db) + if err != nil { + t.Fatalf("failed to create reader: %v", err) + } + + all, err := reader.GetLogs(ctx, LogQueryParams{Limit: 10}) + if err != nil { + t.Fatalf("GetLogs failed: %v", err) + } + bySession := make(map[string]string, len(all.Entries)) + for _, entry := range all.Entries { + bySession[entry.ID] = entry.SessionID + } + if bySession["s-1"] != "sess-a" || bySession["s-3"] != "sess-b" || bySession["s-4"] != "" { + t.Fatalf("session ids not round-tripped: %#v", bySession) + } + + filtered, err := reader.GetLogs(ctx, LogQueryParams{SessionID: "sess-a", Limit: 10}) + if err != nil { + t.Fatalf("GetLogs with session filter failed: %v", err) + } + if filtered.Total != 2 || len(filtered.Entries) != 2 { + t.Fatalf("session filter: total=%d entries=%d, want 2/2", filtered.Total, len(filtered.Entries)) + } + for _, entry := range filtered.Entries { + if entry.SessionID != "sess-a" { + t.Fatalf("filter leaked entry %q with session %q", entry.ID, entry.SessionID) + } + } + }) +} + +func TestSQLReader_GetSessions(t *testing.T) { + sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { + store, err := newSQLStoreForTest(t, db, 0) + if err != nil { + t.Fatalf("failed to create store: %v", err) + } + defer store.Close() + + ctx := context.Background() + base := time.Date(2026, 7, 27, 10, 0, 0, 0, time.UTC) + entries := []*LogEntry{ + {ID: "a-1", Timestamp: base, Provider: "openai", SessionID: "sess-a", StatusCode: 200}, + {ID: "a-2", Timestamp: base.Add(2 * time.Minute), Provider: "openai", SessionID: "sess-a", StatusCode: 200}, + {ID: "b-1", Timestamp: base.Add(time.Minute), Provider: "anthropic", SessionID: "sess-b", StatusCode: 500}, + {ID: "solo", Timestamp: base.Add(3 * time.Minute), Provider: "openai", StatusCode: 200}, + } + if err := store.WriteBatch(ctx, entries); err != nil { + t.Fatalf("WriteBatch failed: %v", err) + } + + reader, err := NewSQLReader(db) + if err != nil { + t.Fatalf("failed to create reader: %v", err) + } + + result, err := reader.GetSessions(ctx, LogQueryParams{Limit: 10}) + if err != nil { + t.Fatalf("GetSessions failed: %v", err) + } + if result.Total != 3 || len(result.Sessions) != 3 { + t.Fatalf("total=%d sessions=%d, want 3/3", result.Total, len(result.Sessions)) + } + + // Ordered by latest activity: solo (10:03), sess-a (10:02), sess-b (10:01). + if got := result.Sessions[0].Latest.ID; got != "solo" { + t.Fatalf("sessions[0].Latest.ID = %q, want solo", got) + } + if result.Sessions[0].SessionID != "" || result.Sessions[0].Count != 1 { + t.Fatalf("singleton thread = %+v", result.Sessions[0]) + } + + threadA := result.Sessions[1] + if threadA.SessionID != "sess-a" || threadA.Count != 2 { + t.Fatalf("sess-a summary = %+v", threadA) + } + if threadA.Latest.ID != "a-2" { + t.Fatalf("sess-a latest = %q, want a-2", threadA.Latest.ID) + } + if !threadA.FirstTimestamp.Equal(base) || !threadA.LastTimestamp.Equal(base.Add(2*time.Minute)) { + t.Fatalf("sess-a span = %v..%v", threadA.FirstTimestamp, threadA.LastTimestamp) + } + + if result.Sessions[2].SessionID != "sess-b" { + t.Fatalf("sessions[2] = %+v", result.Sessions[2]) + } + + // Filters apply to entries before grouping. + assertGetSessionsFilters(t, reader) + }) +} + +// assertGetSessionsFilters runs the shared filtered-grouping cases against a +// reader, so both backends prove filters apply to entries before grouping. +func assertGetSessionsFilters(t *testing.T, reader Reader) { + t.Helper() + status := 500 + tests := []struct { + name string + params LogQueryParams + wantSessionID string + wantCount int + wantLatestID string + }{ + { + name: "status filter keeps only the thread with a 500", + params: LogQueryParams{StatusCode: &status, Limit: 10}, + wantSessionID: "sess-b", + wantCount: 1, + wantLatestID: "b-1", + }, + { + name: "session filter narrows the grouped view to one thread", + params: LogQueryParams{SessionID: "sess-a", Limit: 10}, + wantSessionID: "sess-a", + wantCount: 2, + wantLatestID: "a-2", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result, err := reader.GetSessions(context.Background(), tt.params) + if err != nil { + t.Fatalf("GetSessions() error = %v", err) + } + if result.Total != 1 || len(result.Sessions) != 1 { + t.Fatalf("result = %+v, want exactly one thread", result) + } + got := result.Sessions[0] + if got.SessionID != tt.wantSessionID || got.Count != tt.wantCount || got.Latest.ID != tt.wantLatestID { + t.Fatalf("thread = %+v, want session %q count %d latest %q", + got, tt.wantSessionID, tt.wantCount, tt.wantLatestID) + } + }) + } +} + +func TestCreateStreamEntryPreservesSessionID(t *testing.T) { + base := &LogEntry{ + ID: "entry-1", + Path: "/v1/chat/completions", + SessionID: "sess-42", + } + streamEntry := CreateStreamEntry(context.Background(), base) + if streamEntry == nil { + t.Fatal("expected a stream entry") + } + if streamEntry.SessionID != "sess-42" { + t.Fatalf("SessionID = %q, want %q (lost in the whitelist copy)", streamEntry.SessionID, "sess-42") + } +} + +// The stream copy is created mid-handler, before the audit middleware's +// post-handler enrichment stamps the session id onto the base entry — so +// CreateStreamEntry must capture it from the request context itself, or every +// streamed request loses its session id. +func TestCreateStreamEntryCapturesSessionIDFromContext(t *testing.T) { + ctx := core.WithSessionID(context.Background(), "sess-ctx") + streamEntry := CreateStreamEntry(ctx, &LogEntry{ID: "entry-1", Path: "/v1/chat/completions"}) + if streamEntry == nil { + t.Fatal("expected a stream entry") + } + if streamEntry.SessionID != "sess-ctx" { + t.Fatalf("SessionID = %q, want context-derived %q", streamEntry.SessionID, "sess-ctx") + } +} + +// The stream copy must finalize every context-derived identity field the +// audit middleware would apply post-handler — not only the session id. +// Managed-key labels merge into the context during authentication, after the +// base entry snapshotted its pre-auth labels. +func TestCreateStreamEntryFinalizesContextIdentity(t *testing.T) { + ctx := core.WithSessionID(context.Background(), "sess-ctx") + ctx = core.WithAuthKeyID(ctx, "key-1") + ctx = core.WithRequestLabels(ctx, []string{"team-a", "billing"}) + + streamEntry := CreateStreamEntry(ctx, &LogEntry{ + ID: "entry-1", + Path: "/v1/chat/completions", + Data: &LogData{Labels: []string{"pre-auth"}}, + }) + if streamEntry == nil || streamEntry.Data == nil { + t.Fatal("expected a stream entry with data") + } + if streamEntry.SessionID != "sess-ctx" || streamEntry.AuthKeyID != "key-1" { + t.Fatalf("identity not finalized: session=%q auth=%q", streamEntry.SessionID, streamEntry.AuthKeyID) + } + if len(streamEntry.Data.Labels) != 2 || streamEntry.Data.Labels[0] != "team-a" { + t.Fatalf("managed-key labels lost on the stream copy: %#v", streamEntry.Data.Labels) + } +} diff --git a/internal/auditlog/store_mongodb.go b/internal/auditlog/store_mongodb.go index aea788b97..751af50e7 100644 --- a/internal/auditlog/store_mongodb.go +++ b/internal/auditlog/store_mongodb.go @@ -94,6 +94,9 @@ func NewMongoDBStore(database *mongo.Database, retentionDays int) (*MongoDBStore { Keys: bson.D{{Key: "user_path", Value: 1}}, }, + { + Keys: bson.D{{Key: "session_id", Value: 1}, {Key: "timestamp", Value: -1}}, + }, { Keys: bson.D{{Key: "error_type", Value: 1}}, }, diff --git a/internal/auditlog/store_sql.go b/internal/auditlog/store_sql.go index 6b1c4e128..4942df2fb 100644 --- a/internal/auditlog/store_sql.go +++ b/internal/auditlog/store_sql.go @@ -13,12 +13,12 @@ import ( ) // SQLite allows 999 bindable parameters per statement -// (SQLITE_MAX_VARIABLE_NUMBER). At 21 columns per entry that is 47 entries, +// (SQLITE_MAX_VARIABLE_NUMBER). At 22 columns per entry that is 45 entries, // so larger batches are chunked. PostgreSQL's limit is far higher, but one // chunk size keeps the write path identical on both. const ( maxSQLParams = 999 - columnsPerEntry = 21 + columnsPerEntry = 22 maxEntriesPerBatch = maxSQLParams / columnsPerEntry ) @@ -52,6 +52,7 @@ var sqlTables = []string{ method TEXT, path TEXT, user_path TEXT, + session_id TEXT, stream ` + sqlx.TypeBool + ` DEFAULT FALSE, error_type TEXT, data ` + sqlx.TypeJSON + ` @@ -89,6 +90,7 @@ var sqlMigrations = []string{ "ALTER TABLE audit_logs ADD COLUMN auth_key_id TEXT", "ALTER TABLE audit_logs ADD COLUMN auth_method TEXT", "ALTER TABLE audit_logs ADD COLUMN user_path TEXT", + "ALTER TABLE audit_logs ADD COLUMN session_id TEXT", "ALTER TABLE audit_log_attempts ADD COLUMN response_body TEXT", "ALTER TABLE audit_log_attempts ADD COLUMN response_headers TEXT", } @@ -108,6 +110,12 @@ var sqlIndexes = []string{ "CREATE INDEX IF NOT EXISTS idx_audit_client_ip ON audit_logs(client_ip)", "CREATE INDEX IF NOT EXISTS idx_audit_path ON audit_logs(path)", "CREATE INDEX IF NOT EXISTS idx_audit_user_path ON audit_logs(user_path)", + // Composite: serves both the session_id equality filter and its per-thread + // timestamp ordering (thread detail and the sessions grouping query). The + // drop retires the single-column predecessor, which IF NOT EXISTS would + // otherwise leave in place on databases that created it. + "DROP INDEX IF EXISTS idx_audit_session_id", + "CREATE INDEX IF NOT EXISTS idx_audit_session_timestamp ON audit_logs(session_id, timestamp)", "CREATE INDEX IF NOT EXISTS idx_audit_error_type ON audit_logs(error_type)", "CREATE INDEX IF NOT EXISTS idx_audit_attempts_log_seq ON audit_log_attempts(audit_log_id, seq)", "CREATE INDEX IF NOT EXISTS idx_audit_attempts_provider ON audit_log_attempts(provider_type)", @@ -118,7 +126,7 @@ const insertAuditLogPrefix = `INSERT INTO audit_logs ( id, timestamp, duration_ns, requested_model, resolved_model, provider, provider_name, alias_used, workflow_version_id, cache_type, status_code, request_id, auth_key_id, auth_method, client_ip, method, path, user_path, - stream, error_type, data + session_id, stream, error_type, data ) VALUES ` const insertAttemptSQL = ` @@ -208,7 +216,7 @@ func (s *SQLStore) WriteBatch(ctx context.Context, entries []*LogEntry) error { placeholders := make([]string, len(chunk)) values := make([]any, 0, len(chunk)*columnsPerEntry) for j, e := range chunk { - placeholders[j] = "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" + placeholders[j] = "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" values = append(values, auditLogValues(dialect, e)...) } @@ -257,6 +265,7 @@ func auditLogValues(dialect sqlx.Dialect, e *LogEntry) []any { e.Method, e.Path, userPathValue, + e.SessionID, e.Stream, e.ErrorType, dataValue, diff --git a/internal/auditlog/stream_entry_request_fields_test.go b/internal/auditlog/stream_entry_request_fields_test.go index e546b5a34..4be5fcb1c 100644 --- a/internal/auditlog/stream_entry_request_fields_test.go +++ b/internal/auditlog/stream_entry_request_fields_test.go @@ -1,6 +1,7 @@ package auditlog import ( + "context" "reflect" "testing" ) @@ -39,7 +40,7 @@ func TestCreateStreamEntryPreservesRequestRevisions(t *testing.T) { }, } - streamEntry := CreateStreamEntry(base) + streamEntry := CreateStreamEntry(context.Background(), base) if streamEntry == nil || streamEntry.Data == nil { t.Fatal("expected a stream entry with data") } @@ -72,7 +73,7 @@ func TestCreateStreamEntryPreservesRequestRevisions(t *testing.T) { // carry no rewriter — and it must stay nil rather than becoming an empty slice, // so a streamed entry without rewrites serializes the same as it always did. func TestCreateStreamEntryLeavesAbsentRequestRevisionsNil(t *testing.T) { - streamEntry := CreateStreamEntry(&LogEntry{ID: "entry-1", Data: &LogData{UserAgent: "curl/8"}}) + streamEntry := CreateStreamEntry(context.Background(), &LogEntry{ID: "entry-1", Data: &LogData{UserAgent: "curl/8"}}) if streamEntry == nil || streamEntry.Data == nil { t.Fatal("expected a stream entry with data") } @@ -104,7 +105,7 @@ func TestCreateStreamEntryCopiesEveryRequestSideField(t *testing.T) { } } - streamEntry := CreateStreamEntry(&LogEntry{ID: "entry-1", Data: populated}) + streamEntry := CreateStreamEntry(context.Background(), &LogEntry{ID: "entry-1", Data: populated}) if streamEntry == nil || streamEntry.Data == nil { t.Fatal("expected a stream entry with data") } diff --git a/internal/auditlog/stream_wrapper.go b/internal/auditlog/stream_wrapper.go index 9108a0355..0f1771716 100644 --- a/internal/auditlog/stream_wrapper.go +++ b/internal/auditlog/stream_wrapper.go @@ -1,6 +1,7 @@ package auditlog import ( + "context" "maps" "slices" "sort" @@ -205,10 +206,20 @@ func (b *streamResponseBuilder) buildResponsesAPIResponse() map[string]any { // CreateStreamEntry creates a new log entry for a streaming request. // This should be called before starting the stream. -func CreateStreamEntry(baseEntry *LogEntry) *LogEntry { +// +// ctx is the request context at stream start: the copy is what the stream +// observer persists (the base entry never reaches the terminal write), and it +// is taken before the audit middleware's post-handler enrichment runs — so +// every context-derived field the middleware would apply later (auth key id, +// effective user path, managed-key labels, session id) must be finalized on +// the base entry here, through the same helper the middleware uses. +func CreateStreamEntry(ctx context.Context, baseEntry *LogEntry) *LogEntry { if baseEntry == nil { return nil } + if ctx != nil { + EnrichLogEntryWithRequestContext(baseEntry, ctx) + } // Create a copy of the entry for the stream. // The stream observer will complete and write it when the stream closes. @@ -232,6 +243,7 @@ func CreateStreamEntry(baseEntry *LogEntry) *LogEntry { Method: baseEntry.Method, Path: baseEntry.Path, UserPath: baseEntry.UserPath, + SessionID: baseEntry.SessionID, Stream: true, // Mark as streaming } diff --git a/internal/core/context.go b/internal/core/context.go index 402762e63..dc7cc62a7 100644 --- a/internal/core/context.go +++ b/internal/core/context.go @@ -27,6 +27,8 @@ const ( // requestLabelsKey stores labels extracted from configured tagging headers. requestLabelsKey contextKey = "request-labels" + // sessionIDKey stores the client session id detected for the request. + sessionIDKey contextKey = "session-id" // taggingStripHeadersKey stores canonical tagging header names that must not // be forwarded to upstream providers. taggingStripHeadersKey contextKey = "tagging-strip-headers" @@ -131,6 +133,25 @@ func GetWorkflow(ctx context.Context) *Workflow { return nil } +// WithSessionID returns a new context with the detected client session id attached. +func WithSessionID(ctx context.Context, sessionID string) context.Context { + if sessionID == "" { + return ctx + } + return context.WithValue(ctx, sessionIDKey, sessionID) +} + +// SessionIDFromContext retrieves the detected client session id, or "" when +// the request carries no session signal. +func SessionIDFromContext(ctx context.Context) string { + if v := ctx.Value(sessionIDKey); v != nil { + if id, ok := v.(string); ok { + return id + } + } + return "" +} + // WithAuthKeyID returns a new context with the authenticated managed auth key id attached. func WithAuthKeyID(ctx context.Context, id string) context.Context { return context.WithValue(ctx, authKeyIDKey, id) diff --git a/internal/live/broker.go b/internal/live/broker.go index caae76647..931daa1f7 100644 --- a/internal/live/broker.go +++ b/internal/live/broker.go @@ -585,6 +585,7 @@ type auditPreview struct { Method string `json:"method,omitempty"` Path string `json:"path,omitempty"` UserPath string `json:"user_path,omitempty"` + SessionID string `json:"session_id,omitempty"` Stream bool `json:"stream,omitempty"` ErrorType string `json:"error_type,omitempty"` ErrorMessage string `json:"error_message,omitempty"` @@ -642,6 +643,7 @@ func auditPreviewFromEntry(eventType string, entry *auditlog.LogEntry) auditPrev Method: entry.Method, Path: entry.Path, UserPath: entry.UserPath, + SessionID: entry.SessionID, Stream: entry.Stream, ErrorType: entry.ErrorType, LiveState: eventType, diff --git a/internal/server/http.go b/internal/server/http.go index a77fa7109..818427fd1 100644 --- a/internal/server/http.go +++ b/internal/server/http.go @@ -28,6 +28,7 @@ import ( "github.com/enterpilot/gomodel/internal/mcpgateway" "github.com/enterpilot/gomodel/internal/responsecache" "github.com/enterpilot/gomodel/internal/responsestore" + "github.com/enterpilot/gomodel/internal/session" "github.com/enterpilot/gomodel/internal/tagging" "github.com/enterpilot/gomodel/internal/usage" ) @@ -112,6 +113,7 @@ type Config struct { ExtraRoutes []func(*echo.Echo) // Optional: extension route registration callbacks invoked after core routes ExtraAuthSkipPaths []string // Optional: extension paths appended to the auth skip list ("/*" suffix matches a prefix) Tagging *tagging.Service // Optional: request labelling based on configured tagging headers + SessionDetector *session.Detector // Optional: client session identification for sticky routing and audit grouping } // ReadinessProbe verifies that a dependency the gateway owns is reachable. @@ -349,6 +351,16 @@ func New(provider core.RoutableProvider, cfg *Config) *Server { e.Use(AuthMiddlewareWithAuthenticator(cfg.MasterKey, cfg.Authenticator, authSkipPaths, userPathHeaderName)) } + // Session identification runs after auth so session ids are scoped by the + // EFFECTIVE user path (a managed key's bound path, not the ingress header) + // and before workflow resolution, which consumes the id for sticky + // virtual-model routing. The audit middleware re-reads the id after the + // handler returns, so persisted entries carry it even though they are + // created earlier in the chain. + if cfg != nil && cfg.SessionDetector != nil { + e.Use(SessionCapture(cfg.SessionDetector)) + } + // Request rewriters run post-auth (rewriters only see authenticated // traffic) and pre-workflow-resolution (body rewrites, including "model", // affect routing, failover, guardrails, budgets, and caching). Not diff --git a/internal/server/internal_chat_completion_executor.go b/internal/server/internal_chat_completion_executor.go index 2cee1cbff..8da58f4d9 100644 --- a/internal/server/internal_chat_completion_executor.go +++ b/internal/server/internal_chat_completion_executor.go @@ -212,6 +212,7 @@ func (e *InternalChatCompletionExecutor) newAuditEntry( Method: http.MethodPost, Path: "/v1/chat/completions", UserPath: userPath, + SessionID: core.SessionIDFromContext(ctx), Data: &auditlog.LogData{Labels: core.RequestLabelsFromContext(ctx)}, } if requestedModel := requested.RequestedQualifiedModel(); requestedModel != "" { diff --git a/internal/server/passthrough_support.go b/internal/server/passthrough_support.go index b5eaed0c0..06714bba1 100644 --- a/internal/server/passthrough_support.go +++ b/internal/server/passthrough_support.go @@ -268,7 +268,7 @@ func (s *passthroughService) proxyPassthroughResponse(c *echo.Context, providerT if auditEnabled && entry != nil { auditlog.PopulateRequestData(entry, c.Request(), s.logger.Config()) } - streamEntry := auditlog.CreateStreamEntry(entry) + streamEntry := auditlog.CreateStreamEntry(c.Request().Context(), entry) if streamEntry != nil { streamEntry.StatusCode = resp.StatusCode } diff --git a/internal/server/session.go b/internal/server/session.go new file mode 100644 index 000000000..930560a97 --- /dev/null +++ b/internal/server/session.go @@ -0,0 +1,116 @@ +package server + +import ( + "bytes" + "io" + + "github.com/labstack/echo/v5" + + "github.com/enterpilot/gomodel/internal/auditlog" + "github.com/enterpilot/gomodel/internal/core" + "github.com/enterpilot/gomodel/internal/session" +) + +// SessionCapture detects the client session id for model interaction requests +// and attaches it to the request context. It runs after RequestSnapshotCapture +// (detection reads the captured headers and body) and after authentication so +// client-provided and auto-detected ids are scoped by the effective user path, +// including a managed key's bound path. Audit entries pick the id up in the +// post-handler re-read. +func SessionCapture(detector *session.Detector) echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c *echo.Context) error { + if detector == nil { + return next(c) + } + snapshot := core.GetRequestSnapshot(c.Request().Context()) + if snapshot == nil || !core.IsModelInteractionPath(snapshot.Path) { + return next(c) + } + detectAndStamp := func(snapshot *core.RequestSnapshot) bool { + req := c.Request() + id := detector.Detect(snapshot, core.UserPathFromContext(req.Context())) + if id == "" { + return false + } + c.SetRequest(req.WithContext(core.WithSessionID(req.Context(), id))) + return true + } + + // A captured body lets the detector resolve every rule in one pass. + if snapshot.CapturedBodyView() != nil { + detectAndStamp(snapshot) + return next(c) + } + + // Header rules do not need the body. Resolve them first so an + // explicit session header keeps large/chunked requests on the + // zero-copy path. + if detectAndStamp(snapshot) { + return next(c) + } + + var err error + snapshot, err = sessionDetectionSnapshot(c, snapshot) + if err != nil { + return handleError(c, core.NewInvalidRequestError("failed to read request body", err)) + } + detectAndStamp(snapshot) + return next(c) + } + } +} + +// sessionDetectionSnapshot returns a snapshot whose complete body is available +// for session detection, up to MaxBodyCapture. It never reads a known-oversized +// body and peeks only limit+1 bytes from an unknown-length body. Oversized +// bodies are replayed intact for the handler and fall back to header signals. +func sessionDetectionSnapshot(c *echo.Context, snapshot *core.RequestSnapshot) (*core.RequestSnapshot, error) { + switch core.DescribeEndpoint(snapshot.Method, snapshot.Path).BodyMode { + case core.BodyModeJSON, core.BodyModeOpaque: + default: + return snapshot, nil + } + req := c.Request() + if req.Body == nil { + return snapshot, nil + } + if req.ContentLength > auditlog.MaxBodyCapture { + return markSessionBodyNotCaptured(c, snapshot), nil + } + + originalBody := req.Body + body, err := io.ReadAll(io.LimitReader(originalBody, auditlog.MaxBodyCapture+1)) + if err != nil { + // Preserve the bytes already consumed even though this request will be + // rejected, keeping the helper's ownership contract explicit. + req.Body = &combinedReadCloser{ + Reader: io.MultiReader(bytes.NewReader(body), originalBody), + rc: originalBody, + } + return snapshot, err + } + if int64(len(body)) > auditlog.MaxBodyCapture { + req.Body = &combinedReadCloser{ + Reader: io.MultiReader(bytes.NewReader(body), originalBody), + rc: originalBody, + } + return markSessionBodyNotCaptured(c, snapshot), nil + } + + // The full body fit. Cache it on the shared snapshot and replay the same + // bytes to downstream code without another read or allocation. + req.Body = &combinedReadCloser{Reader: bytes.NewReader(body), rc: originalBody} + storeRequestBodySnapshot(c, body) + if refreshed := core.GetRequestSnapshot(c.Request().Context()); refreshed != nil { + return refreshed, nil + } + return snapshot, nil +} + +func markSessionBodyNotCaptured(c *echo.Context, snapshot *core.RequestSnapshot) *core.RequestSnapshot { + updated := snapshot.WithOwnedCapturedBody(nil, true) + req := c.Request() + c.SetRequest(req.WithContext(core.WithRequestSnapshot(req.Context(), updated))) + return updated +} diff --git a/internal/server/session_test.go b/internal/server/session_test.go new file mode 100644 index 000000000..a77665341 --- /dev/null +++ b/internal/server/session_test.go @@ -0,0 +1,288 @@ +package server + +import ( + "errors" + "io" + "net/http" + "net/http/httptest" + "strings" + "testing" + + "github.com/labstack/echo/v5" + + "github.com/enterpilot/gomodel/internal/auditlog" + "github.com/enterpilot/gomodel/internal/core" + "github.com/enterpilot/gomodel/internal/session" +) + +type partialErrorReadCloser struct { + data []byte + read bool +} + +func (r *partialErrorReadCloser) Read(p []byte) (int, error) { + if r.read { + return 0, errors.New("injected request body failure") + } + r.read = true + n := copy(p, r.data) + return n, errors.New("injected request body failure") +} + +func (r *partialErrorReadCloser) Close() error { + return nil +} + +func sessionTestContext(t *testing.T, path string, headers map[string]string) *echo.Context { + t.Helper() + e := echo.New() + req := httptest.NewRequest(http.MethodPost, path, nil) + for name, value := range headers { + req.Header.Set(name, value) + } + rec := httptest.NewRecorder() + c := e.NewContext(req, rec) + snapshot := core.NewRequestSnapshot( + http.MethodPost, path, nil, nil, req.Header, "application/json", nil, false, "req-1", nil, + ) + c.SetRequest(req.WithContext(core.WithRequestSnapshot(req.Context(), snapshot))) + return c +} + +func sessionBodyTestContext( + t *testing.T, + path string, + body io.ReadCloser, + contentLength int64, + bodyNotCaptured bool, +) (*echo.Context, *httptest.ResponseRecorder) { + t.Helper() + e := echo.New() + req := httptest.NewRequest(http.MethodPost, path, nil) + req.Body = body + req.ContentLength = contentLength + req.Header.Set("Content-Type", "application/json") + rec := httptest.NewRecorder() + c := e.NewContext(req, rec) + snapshot := core.NewRequestSnapshot( + http.MethodPost, path, nil, nil, req.Header, + "application/json", nil, bodyNotCaptured, "req-1", nil, + ) + c.SetRequest(req.WithContext(core.WithRequestSnapshot(req.Context(), snapshot))) + return c, rec +} + +func TestSessionCaptureStampsContext(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + c := sessionTestContext(t, "/v1/chat/completions", map[string]string{ + "X-Session-Id": "11111111-2222-3333-4444-555555555555", + }) + + var got string + handler := SessionCapture(detector)(func(c *echo.Context) error { + got = core.SessionIDFromContext(c.Request().Context()) + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } + if got != "11111111-2222-3333-4444-555555555555" { + t.Fatalf("session id = %q, want header value", got) + } +} + +func TestSessionCaptureSkipsNonModelPaths(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + c := sessionTestContext(t, "/health", map[string]string{ + "X-Session-Id": "11111111-2222-3333-4444-555555555555", + }) + + handler := SessionCapture(detector)(func(c *echo.Context) error { + if id := core.SessionIDFromContext(c.Request().Context()); id != "" { + t.Fatalf("session id = %q, want empty on non-model path", id) + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } +} + +func TestSessionCaptureNilDetectorIsNoOp(t *testing.T) { + c := sessionTestContext(t, "/v1/chat/completions", map[string]string{ + "X-Session-Id": "11111111-2222-3333-4444-555555555555", + }) + + called := false + handler := SessionCapture(nil)(func(c *echo.Context) error { + called = true + if id := core.SessionIDFromContext(c.Request().Context()); id != "" { + t.Fatalf("session id = %q, want empty with nil detector", id) + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } + if !called { + t.Fatal("next handler not called") + } +} + +// Bodies over the 64 KiB ingress capture limit (or chunked requests) are not +// on the snapshot when SessionCapture runs; chat/responses requests must +// materialize the body so body signals and content detection still work. +func TestSessionCaptureMaterializesLargeBodies(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + + padding := strings.Repeat("x", 80*1024) + body := `{"model":"gpt-4o","session_id":"big-body-session","messages":[{"role":"user","content":"` + padding + `"}]}` + + // Ingress declined the body (over the inline capture limit). + c, _ := sessionBodyTestContext( + t, + "/v1/chat/completions", + io.NopCloser(strings.NewReader(body)), + int64(len(body)), + true, + ) + + var got string + handler := SessionCapture(detector)(func(c *echo.Context) error { + got = core.SessionIDFromContext(c.Request().Context()) + // The handler must still be able to read the full body afterwards. + remaining, err := io.ReadAll(c.Request().Body) + if err != nil { + t.Fatalf("body read after capture: %v", err) + } + if len(remaining) != len(body) { + t.Fatalf("body truncated after capture: %d != %d", len(remaining), len(body)) + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } + if got != "big-body-session" { + t.Fatalf("session id = %q, want body signal from a large body", got) + } +} + +func TestSessionCaptureMaterializesChunkedBody(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + body := `{"model":"gpt-4o","session_id":"chunked-session","messages":[{"role":"user","content":"hi"}]}` + + c, _ := sessionBodyTestContext( + t, + "/v1/chat/completions", + io.NopCloser(strings.NewReader(body)), + -1, + false, + ) + + var got string + handler := SessionCapture(detector)(func(c *echo.Context) error { + got = core.SessionIDFromContext(c.Request().Context()) + remaining, err := io.ReadAll(c.Request().Body) + if err != nil { + t.Fatalf("body read after capture: %v", err) + } + if string(remaining) != body { + t.Fatalf("replayed body = %q, want original", remaining) + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } + if got != "chunked-session" { + t.Fatalf("session id = %q, want chunked body signal", got) + } +} + +func TestSessionCaptureDoesNotPreReadKnownOversizedBody(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + bodyText := strings.Repeat("x", int(auditlog.MaxBodyCapture)+1) + body := &countingReadCloser{reader: strings.NewReader(bodyText)} + + c, _ := sessionBodyTestContext( + t, + "/v1/chat/completions", + body, + int64(len(bodyText)), + true, + ) + + handler := SessionCapture(detector)(func(c *echo.Context) error { + if body.read != 0 { + t.Fatalf("oversized body read before handler: %d bytes", body.read) + } + remaining, err := io.ReadAll(c.Request().Body) + if err != nil { + t.Fatalf("handler body read: %v", err) + } + if len(remaining) != len(bodyText) { + t.Fatalf("handler body length = %d, want %d", len(remaining), len(bodyText)) + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } +} + +func TestSessionCaptureBoundsUnknownOversizedBodyAndReplaysIt(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + bodyText := strings.Repeat("x", int(auditlog.MaxBodyCapture)+128) + body := &countingReadCloser{reader: strings.NewReader(bodyText)} + + c, _ := sessionBodyTestContext( + t, + "/v1/chat/completions", + body, + -1, + false, + ) + + handler := SessionCapture(detector)(func(c *echo.Context) error { + if body.read != auditlog.MaxBodyCapture+1 { + t.Fatalf("session detection read = %d, want bounded %d", body.read, auditlog.MaxBodyCapture+1) + } + remaining, err := io.ReadAll(c.Request().Body) + if err != nil { + t.Fatalf("handler body read: %v", err) + } + if string(remaining) != bodyText { + t.Fatal("bounded session peek did not replay the complete body") + } + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } +} + +func TestSessionCaptureRejectsBodyReadFailure(t *testing.T) { + detector := session.NewDetector(session.BuiltinRules(), true) + body := &partialErrorReadCloser{data: []byte(`{"model":"gpt-4o"}`)} + + c, rec := sessionBodyTestContext(t, "/v1/chat/completions", body, -1, false) + + called := false + handler := SessionCapture(detector)(func(c *echo.Context) error { + called = true + return nil + }) + if err := handler(c); err != nil { + t.Fatalf("handler error = %v", err) + } + if called { + t.Fatal("downstream handler called after request body read failure") + } + if rec.Code != http.StatusBadRequest { + t.Fatalf("status = %d, want %d", rec.Code, http.StatusBadRequest) + } + if !strings.Contains(rec.Body.String(), "failed to read request body") { + t.Fatalf("response = %q, want body read failure", rec.Body.String()) + } +} diff --git a/internal/server/translated_inference_service.go b/internal/server/translated_inference_service.go index cf1226eb4..bb5948264 100644 --- a/internal/server/translated_inference_service.go +++ b/internal/server/translated_inference_service.go @@ -543,7 +543,7 @@ func (s *translatedInferenceService) handleStreamingReadCloser( if auditEnabled && entry != nil { auditlog.PopulateRequestData(entry, c.Request(), s.logger.Config()) } - streamEntry := auditlog.CreateStreamEntry(entry) + streamEntry := auditlog.CreateStreamEntry(c.Request().Context(), entry) if streamEntry != nil { streamEntry.StatusCode = http.StatusOK } diff --git a/internal/session/detect.go b/internal/session/detect.go new file mode 100644 index 000000000..9182d3f2c --- /dev/null +++ b/internal/session/detect.go @@ -0,0 +1,189 @@ +package session + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "strings" + + "github.com/tidwall/gjson" + + "github.com/enterpilot/gomodel/internal/core" +) + +// Detector resolves the session id for a request. Explicit header rules win +// over body rules, which win over content-based auto-detection. +type Detector struct { + headerRules []Rule + bodyRules []Rule + autoDetect bool +} + +// NewDetector builds a Detector from an ordered rule list. Rules keep their +// relative order within each source; header rules are always evaluated first. +func NewDetector(rules []Rule, autoDetect bool) *Detector { + d := &Detector{autoDetect: autoDetect} + for _, rule := range rules { + switch rule.Source { + case SourceHeader: + if rule.Header != "" { + d.headerRules = append(d.headerRules, rule) + } + case SourceBody: + if rule.BodyPath != "" { + d.bodyRules = append(d.bodyRules, rule) + } + } + } + return d +} + +// Detect returns the stable session id for the captured request, or "" when +// the request carries no session signal. Explicit client-provided ids are +// scoped by user path so no caller-controlled value can collide across +// tenants. +func (d *Detector) Detect(snapshot *core.RequestSnapshot, userPath string) string { + if d == nil || snapshot == nil { + return "" + } + if id := d.detectFromHeaders(snapshot); id != "" { + return scopeSessionID(id, userPath) + } + body := snapshot.CapturedBodyView() + if snapshot.BodyNotCaptured || len(body) == 0 || !gjson.ValidBytes(body) { + return "" + } + if id := d.detectFromBody(body); id != "" { + return scopeSessionID(id, userPath) + } + if d.autoDetect { + return contentSessionID(snapshot, body, userPath) + } + return "" +} + +func (d *Detector) detectFromHeaders(snapshot *core.RequestSnapshot) string { + headers := snapshot.HeadersView() + if len(headers) == 0 { + return "" + } + for _, rule := range d.headerRules { + for key, values := range headers { + if !strings.EqualFold(key, rule.Header) { + continue + } + for _, value := range values { + if id := cleanSessionID(applyTransform(strings.TrimSpace(value), rule.Transform)); id != "" { + return id + } + } + } + } + return "" +} + +func (d *Detector) detectFromBody(body []byte) string { + for _, rule := range d.bodyRules { + result := gjson.GetBytes(body, rule.BodyPath) + if result.Type != gjson.String { + continue + } + if id := cleanSessionID(applyTransform(strings.TrimSpace(result.Str), rule.Transform)); id != "" { + return id + } + } + return "" +} + +// scopeSessionID namespaces every client-provided id by user path. UUID syntax +// does not prove uniqueness because the value is still caller-controlled. +// The id and path are hashed as distinct values — plain concatenation would be +// ambiguous, since both parts are client-influenced. +func scopeSessionID(id, userPath string) string { + if userPath == "" { + return id + } + sum := sha256.Sum256([]byte(userPath + "\x00" + id)) + return "scoped-" + hex.EncodeToString(sum[:16]) +} + +// contentAnchor is the stable prefix of a conversation used to derive a +// session id when the client sends no explicit signal: the model, the system +// context, and the leading messages through the first user turn. Follow-up +// requests in the same conversation resend this prefix unchanged, so they +// hash to the same id — including the very first request, which carries no +// later turns yet. +type contentAnchor struct { + UserPath string `json:"user_path,omitempty"` + Model json.RawMessage `json:"model,omitempty"` + System json.RawMessage `json:"system,omitempty"` + Instructions json.RawMessage `json:"instructions,omitempty"` + Opening []json.RawMessage `json:"opening,omitempty"` + Tools json.RawMessage `json:"tools,omitempty"` +} + +// contentSessionID derives a session id from the conversation prefix of chat +// and responses requests (precedent: the xAI provider's generated Grok +// conversation id). Other operations return "". +func contentSessionID(snapshot *core.RequestSnapshot, body []byte, userPath string) string { + switch core.DescribeEndpoint(snapshot.Method, snapshot.Path).Operation { + case core.OperationChatCompletions, core.OperationResponses: + default: + return "" + } + root := gjson.ParseBytes(body) + anchor := contentAnchor{ + UserPath: userPath, + Model: rawSegment(root.Get("model")), + System: rawSegment(root.Get("system")), + Instructions: rawSegment(root.Get("instructions")), + Tools: rawSegment(root.Get("tools")), + } + messages := root.Get("messages") + if !messages.Exists() { + messages = root.Get("input") + } + if messages.Type == gjson.String { + anchor.Opening = []json.RawMessage{rawSegment(messages)} + } else { + anchor.Opening = openingMessages(messages) + } + if len(anchor.Opening) == 0 { + return "" + } + payload, err := json.Marshal(anchor) + if err != nil { + return "" + } + sum := sha256.Sum256(payload) + return "auto-" + hex.EncodeToString(sum[:16]) +} + +// maxOpeningMessages bounds the anchor when a conversation opens with an +// unusually long non-user preamble. +const maxOpeningMessages = 8 + +// openingMessages collects the leading messages through the first user turn. +// That prefix is identical on every request of a conversation regardless of +// how many later turns it has accumulated, while two conversations with the +// same system prompt still diverge on their first user message. +func openingMessages(messages gjson.Result) []json.RawMessage { + var opening []json.RawMessage + messages.ForEach(func(_, message gjson.Result) bool { + opening = append(opening, rawSegment(message)) + if message.Get("role").Str == "user" || len(opening) >= maxOpeningMessages { + return false + } + return true + }) + return opening +} + +// rawSegment clones a gjson result's raw JSON. gjson results alias the parsed +// body, so the copy keeps the anchor independent of the request buffer. +func rawSegment(result gjson.Result) json.RawMessage { + if !result.Exists() { + return nil + } + return json.RawMessage(strings.Clone(result.Raw)) +} diff --git a/internal/session/detect_test.go b/internal/session/detect_test.go new file mode 100644 index 000000000..ec5450a03 --- /dev/null +++ b/internal/session/detect_test.go @@ -0,0 +1,268 @@ +package session + +import ( + "strings" + "testing" + + "github.com/enterpilot/gomodel/internal/core" +) + +func chatSnapshot(headers map[string][]string, body string) *core.RequestSnapshot { + return core.NewRequestSnapshot( + "POST", "/v1/chat/completions", nil, nil, headers, + "application/json", []byte(body), false, "req-1", nil, + ) +} + +func newBuiltinDetector(autoDetect bool) *Detector { + return NewDetector(BuiltinRules(), autoDetect) +} + +func TestDetectPrecedence(t *testing.T) { + body := `{"model":"gpt-4o","session_id":"body-session","messages":[{"role":"user","content":"hi"}]}` + tests := []struct { + name string + headers map[string][]string + body string + want string + }{ + { + name: "header beats body field", + headers: map[string][]string{"X-Session-Id": {"11111111-2222-3333-4444-555555555555"}}, + body: body, + want: "11111111-2222-3333-4444-555555555555", + }, + { + name: "claude code session header", + headers: map[string][]string{ + "X-Claude-Code-Session-Id": {"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"}, + }, + body: body, + want: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + }, + { + name: "codex session-id header", + headers: map[string][]string{ + "Session-Id": {"99999999-8888-7777-6666-555555555555"}, + }, + body: body, + want: "99999999-8888-7777-6666-555555555555", + }, + { + name: "body field beats auto detection", + body: body, + want: "body-session", + }, + { + name: "header value with control characters falls through to body", + headers: map[string][]string{ + "X-Session-Id": {"bad\r\nvalue"}, + }, + body: body, + want: "body-session", + }, + { + name: "oversized header value falls through to body", + headers: map[string][]string{ + "X-Session-Id": {strings.Repeat("x", 300)}, + }, + body: body, + want: "body-session", + }, + } + detector := newBuiltinDetector(true) + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := detector.Detect(chatSnapshot(tt.headers, tt.body), "") + if got != tt.want { + t.Fatalf("Detect() = %q, want %q", got, tt.want) + } + }) + } +} + +func TestDetectBodySignals(t *testing.T) { + tests := []struct { + name string + body string + want string + }{ + { + name: "anthropic metadata user_id json object format", + body: `{"model":"claude-sonnet-5","messages":[{"role":"user","content":"hi"}],"metadata":{"user_id":"{\"device_id\":\"abc\",\"session_id\":\"12345678-1234-1234-1234-123456789012\"}"}}`, + want: "12345678-1234-1234-1234-123456789012", + }, + { + name: "anthropic metadata user_id legacy format", + body: `{"model":"claude-sonnet-5","messages":[{"role":"user","content":"hi"}],"metadata":{"user_id":"user_deadbeef_account_x_session_87654321-4321-4321-4321-210987654321"}}`, + want: "87654321-4321-4321-4321-210987654321", + }, + { + name: "litellm session id body field", + body: `{"model":"gpt-4o","litellm_session_id":"lls-1","messages":[{"role":"user","content":"hi"}]}`, + want: "lls-1", + }, + { + name: "prompt cache key", + body: `{"model":"gpt-4o","prompt_cache_key":"thread-42","messages":[{"role":"user","content":"hi"}]}`, + want: "thread-42", + }, + { + name: "responses conversation string", + body: `{"model":"gpt-4o","conversation":"conv_123","input":"hi"}`, + want: "conv_123", + }, + { + name: "responses conversation object", + body: `{"model":"gpt-4o","conversation":{"id":"conv_456"},"input":"hi"}`, + want: "conv_456", + }, + } + detector := newBuiltinDetector(false) + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := detector.Detect(chatSnapshot(nil, tt.body), "") + if got != tt.want { + t.Fatalf("Detect() = %q, want %q", got, tt.want) + } + }) + } +} + +func TestDetectMetadataWithoutSessionFallsThrough(t *testing.T) { + // A metadata.user_id with no embedded session uuid must not become a + // session id itself (it is a per-install value). + body := `{"model":"claude-sonnet-5","messages":[{"role":"user","content":"hi"}],"metadata":{"user_id":"user_deadbeef"}}` + if got := newBuiltinDetector(false).Detect(chatSnapshot(nil, body), ""); got != "" { + t.Fatalf("Detect() = %q, want empty", got) + } +} + +func TestDetectUserPathScoping(t *testing.T) { + detector := newBuiltinDetector(true) + + uuidHeaders := map[string][]string{"X-Session-Id": {"11111111-2222-3333-4444-555555555555"}} + scopedUUID := detector.Detect(chatSnapshot(uuidHeaders, `{}`), "team/app") + if !strings.HasPrefix(scopedUUID, "scoped-") { + t.Fatalf("uuid-shaped client id must be user-path scoped, got %q", scopedUUID) + } + if other := detector.Detect(chatSnapshot(uuidHeaders, `{}`), "team/other"); other == scopedUUID { + t.Fatal("same UUID-shaped id under different user paths must not collide") + } + + weakHeaders := map[string][]string{"Agent-Session-Id": {"20260727_3"}} + scoped := detector.Detect(chatSnapshot(weakHeaders, `{}`), "team/app") + if !strings.HasPrefix(scoped, "scoped-") { + t.Fatalf("weak id must be user-path scoped, got %q", scoped) + } + if again := detector.Detect(chatSnapshot(weakHeaders, `{}`), "team/app"); again != scoped { + t.Fatalf("scoping must be deterministic: %q vs %q", scoped, again) + } + // Hash scoping (with the \x00 separator plus cleanSessionID's control-char + // rejection) is unambiguous: no path/id split can forge another tenant's + // id the way plain "path|id" concatenation could. + if other := detector.Detect(chatSnapshot(weakHeaders, `{}`), "team/other"); other == scoped { + t.Fatal("same weak id under different user paths must not collide") + } + if got := detector.Detect(chatSnapshot(weakHeaders, `{}`), ""); got != "20260727_3" { + t.Fatalf("weak id without user path stays raw, got %q", got) + } + if got := detector.Detect(chatSnapshot(uuidHeaders, `{}`), ""); got != "11111111-2222-3333-4444-555555555555" { + t.Fatalf("UUID-shaped id without user path stays raw, got %q", got) + } +} + +func TestDetectAutoStability(t *testing.T) { + detector := newBuiltinDetector(true) + first := `{"model":"gpt-4o","messages":[{"role":"user","content":"open the pod bay doors"}]}` + second := `{"model":"gpt-4o","messages":[{"role":"user","content":"open the pod bay doors"},{"role":"assistant","content":"no"},{"role":"user","content":"please"}]}` + other := `{"model":"gpt-4o","messages":[{"role":"user","content":"different opener"}]}` + + idFirst := detector.Detect(chatSnapshot(nil, first), "") + idSecond := detector.Detect(chatSnapshot(nil, second), "") + idOther := detector.Detect(chatSnapshot(nil, other), "") + + if idFirst == "" || !strings.HasPrefix(idFirst, "auto-") { + t.Fatalf("auto id = %q, want auto- prefix", idFirst) + } + if idFirst != idSecond { + t.Fatalf("appending a turn changed the id: %q vs %q", idFirst, idSecond) + } + if idFirst == idOther { + t.Fatal("different conversations must get different auto ids") + } + if scoped := detector.Detect(chatSnapshot(nil, first), "team"); scoped == idFirst { + t.Fatal("auto id must fold in the user path") + } +} + +func TestDetectAutoSystemPromptShape(t *testing.T) { + detector := newBuiltinDetector(true) + first := `{"model":"gpt-4o","messages":[{"role":"system","content":"be brief"},{"role":"user","content":"opener A"}]}` + followUp := `{"model":"gpt-4o","messages":[{"role":"system","content":"be brief"},{"role":"user","content":"opener A"},{"role":"assistant","content":"ok"},{"role":"user","content":"more"}]}` + sibling := `{"model":"gpt-4o","messages":[{"role":"system","content":"be brief"},{"role":"user","content":"opener B"}]}` + + idFirst := detector.Detect(chatSnapshot(nil, first), "") + if idFirst != detector.Detect(chatSnapshot(nil, followUp), "") { + t.Fatal("follow-up with appended turns must keep the id") + } + if idFirst == detector.Detect(chatSnapshot(nil, sibling), "") { + t.Fatal("same system prompt with a different first user message must get a new id") + } +} + +func TestDetectAutoResponsesStringInput(t *testing.T) { + snapshot := core.NewRequestSnapshot( + "POST", "/v1/responses", nil, nil, nil, + "application/json", []byte(`{"model":"gpt-4o","input":"hello"}`), false, "req-1", nil, + ) + if got := newBuiltinDetector(true).Detect(snapshot, ""); !strings.HasPrefix(got, "auto-") { + t.Fatalf("Detect() = %q, want auto- prefix", got) + } +} + +func TestDetectAutoSkipsNonConversationEndpoints(t *testing.T) { + snapshot := core.NewRequestSnapshot( + "POST", "/v1/embeddings", nil, nil, nil, + "application/json", []byte(`{"model":"text-embedding-3-small","input":"hi"}`), false, "req-1", nil, + ) + if got := newBuiltinDetector(true).Detect(snapshot, ""); got != "" { + t.Fatalf("Detect() = %q, want empty", got) + } +} + +func TestDetectBodyNotCaptured(t *testing.T) { + snapshot := core.NewRequestSnapshot( + "POST", "/v1/chat/completions", nil, nil, + map[string][]string{"X-Session-Id": {"header-wins"}}, + "application/json", nil, true, "req-1", nil, + ) + detector := newBuiltinDetector(true) + if got := detector.Detect(snapshot, ""); got != "header-wins" { + t.Fatalf("header detection must survive uncaptured bodies, got %q", got) + } + snapshot = core.NewRequestSnapshot( + "POST", "/v1/chat/completions", nil, nil, nil, + "application/json", nil, true, "req-1", nil, + ) + if got := detector.Detect(snapshot, ""); got != "" { + t.Fatalf("Detect() = %q, want empty for uncaptured body", got) + } +} + +func TestDetectAutoDisabled(t *testing.T) { + body := `{"model":"gpt-4o","messages":[{"role":"user","content":"hi"}]}` + if got := newBuiltinDetector(false).Detect(chatSnapshot(nil, body), ""); got != "" { + t.Fatalf("Detect() = %q, want empty with auto detection off", got) + } +} + +func TestDetectNilReceiverAndSnapshot(t *testing.T) { + var detector *Detector + if got := detector.Detect(chatSnapshot(nil, `{}`), ""); got != "" { + t.Fatalf("nil detector Detect() = %q, want empty", got) + } + if got := newBuiltinDetector(true).Detect(nil, ""); got != "" { + t.Fatalf("nil snapshot Detect() = %q, want empty", got) + } +} diff --git a/internal/session/factory.go b/internal/session/factory.go new file mode 100644 index 000000000..da04ec6aa --- /dev/null +++ b/internal/session/factory.go @@ -0,0 +1,50 @@ +package session + +import ( + "strings" + + "github.com/enterpilot/gomodel/config" +) + +// NewDetectorFromConfig builds the request session detector from application +// config. Returns nil when session keeping is disabled, which downstream +// consumers treat as "no session". +func NewDetectorFromConfig(cfg config.SessionConfig) *Detector { + if !cfg.Enabled { + return nil + } + var rules []Rule + if cfg.BuiltinRules { + rules = BuiltinRules() + } + configured := make([]Rule, 0, len(cfg.Headers)) + for _, header := range cfg.Headers { + configured = append(configured, Rule{ + Source: SourceHeader, + Header: header.Header, + Transform: header.Transform, + }) + } + return NewDetector(mergeHeaderRules(rules, configured), cfg.AutoDetect) +} + +// mergeHeaderRules overlays configured header rules onto the base registry: a +// configured header replaces the built-in rule with the same name in place, +// new headers are appended. +func mergeHeaderRules(base, configured []Rule) []Rule { + merged := base + for _, rule := range configured { + replaced := false + for i := range merged { + if merged[i].Source == SourceHeader && strings.EqualFold(merged[i].Header, rule.Header) { + merged[i] = rule + replaced = true + break + } + } + if !replaced { + merged = append(merged, rule) + } + } + return merged +} diff --git a/internal/session/factory_test.go b/internal/session/factory_test.go new file mode 100644 index 000000000..ad513de08 --- /dev/null +++ b/internal/session/factory_test.go @@ -0,0 +1,54 @@ +package session + +import ( + "testing" + + "github.com/enterpilot/gomodel/config" +) + +func TestNewDetectorFromConfigDisabled(t *testing.T) { + if d := NewDetectorFromConfig(config.SessionConfig{Enabled: false}); d != nil { + t.Fatal("disabled config must yield a nil detector") + } +} + +func TestNewDetectorFromConfigOverridesBuiltinHeader(t *testing.T) { + detector := NewDetectorFromConfig(config.SessionConfig{ + Enabled: true, + BuiltinRules: true, + Headers: []config.SessionHeaderConfig{ + {Header: "X-Session-Id", Transform: TransformSessionUUID}, + {Header: "X-My-Conversation"}, + }, + }) + + // The overridden builtin now requires the transform to match. + plain := chatSnapshot(map[string][]string{"X-Session-Id": {"plain-value"}}, `{}`) + if got := detector.Detect(plain, ""); got != "" { + t.Fatalf("overridden rule must apply the transform, got %q", got) + } + embedded := chatSnapshot(map[string][]string{"X-Session-Id": {"user_x_session_12345678-1234-1234-1234-123456789012"}}, `{}`) + if got := detector.Detect(embedded, ""); got != "12345678-1234-1234-1234-123456789012" { + t.Fatalf("Detect() = %q, want extracted uuid", got) + } + + custom := chatSnapshot(map[string][]string{"X-My-Conversation": {"conv-9"}}, `{}`) + if got := detector.Detect(custom, ""); got != "conv-9" { + t.Fatalf("Detect() = %q, want custom header value", got) + } +} + +func TestNewDetectorFromConfigWithoutBuiltins(t *testing.T) { + detector := NewDetectorFromConfig(config.SessionConfig{ + Enabled: true, + Headers: []config.SessionHeaderConfig{{Header: "X-My-Session"}}, + }) + builtin := chatSnapshot(map[string][]string{"X-Session-Id": {"ignored"}}, `{}`) + if got := detector.Detect(builtin, ""); got != "" { + t.Fatalf("builtin rules disabled, got %q", got) + } + custom := chatSnapshot(map[string][]string{"X-My-Session": {"mine"}}, `{}`) + if got := detector.Detect(custom, ""); got != "mine" { + t.Fatalf("Detect() = %q, want configured header value", got) + } +} diff --git a/internal/session/session.go b/internal/session/session.go new file mode 100644 index 000000000..1df88cc72 --- /dev/null +++ b/internal/session/session.go @@ -0,0 +1,114 @@ +// Package session identifies the client session a request belongs to, so the +// gateway can route one conversation consistently and group its audit entries. +package session + +import ( + "encoding/json" + "regexp" + "strings" +) + +// Rule identifies where a client session id lives in a request. +type Rule struct { + // Source is SourceHeader or SourceBody. + Source string + // Header is the HTTP header name to read (Source == SourceHeader). + Header string + // BodyPath is the gjson path into the JSON request body (Source == SourceBody). + BodyPath string + // Transform optionally post-processes the raw value; an empty result means + // the rule did not match. Empty string uses the value as-is. + Transform string +} + +const ( + SourceHeader = "header" + SourceBody = "body" + + // TransformSessionUUID extracts a session UUID from Anthropic + // metadata.user_id values. Claude Code sends either a JSON object string + // with a "session_id" field or the legacy "user__…_session_" + // form; both embed the session UUID this transform returns. + TransformSessionUUID = "session-uuid" +) + +// builtinRules is the default registry of session signals known coding tools +// and gateway conventions send, evaluated in order (headers before body +// fields). Sources: Claude Code documents x-claude-code-session-id for +// gateways; Codex CLI sends session-id (older releases session_id, which Roo +// Code also uses on Responses API providers); OpenCode and Kilo Code send +// x-session-id; Goose sends agent-session-id; x-litellm-session-id and +// helicone-session-id are gateway conventions. Body fields: metadata.user_id +// (Claude Code via /v1/messages), session_id (OpenRouter convention), +// litellm_session_id (LiteLLM), prompt_cache_key (Zed and other OpenAI +// clients reusing the cache key per conversation), and /v1/responses +// conversation references. +var builtinRules = []Rule{ + {Source: SourceHeader, Header: "X-Session-Id"}, + {Source: SourceHeader, Header: "X-Claude-Code-Session-Id"}, + {Source: SourceHeader, Header: "Session-Id"}, + {Source: SourceHeader, Header: "Session_id"}, + {Source: SourceHeader, Header: "X-Litellm-Session-Id"}, + {Source: SourceHeader, Header: "Helicone-Session-Id"}, + {Source: SourceHeader, Header: "Agent-Session-Id"}, + {Source: SourceBody, BodyPath: "metadata.user_id", Transform: TransformSessionUUID}, + {Source: SourceBody, BodyPath: "session_id"}, + {Source: SourceBody, BodyPath: "litellm_session_id"}, + {Source: SourceBody, BodyPath: "prompt_cache_key"}, + {Source: SourceBody, BodyPath: "conversation"}, + {Source: SourceBody, BodyPath: "conversation.id"}, +} + +// BuiltinRules returns a copy of the default registry. +func BuiltinRules() []Rule { + rules := make([]Rule, len(builtinRules)) + copy(rules, builtinRules) + return rules +} + +const maxSessionIDLength = 200 + +var sessionUUIDRegex = regexp.MustCompile(`session_([0-9a-fA-F-]{36})`) + +// cleanSessionID trims a candidate session id and rejects values that are +// empty, oversized, or carry control characters. +func cleanSessionID(value string) string { + value = strings.TrimSpace(value) + if value == "" || len(value) > maxSessionIDLength { + return "" + } + if strings.ContainsFunc(value, func(r rune) bool { return r < 0x20 || r == 0x7f }) { + return "" + } + return value +} + +// applyTransform post-processes a raw rule value. An empty result means the +// rule yielded no session id and the next rule should be tried. +func applyTransform(value, transform string) string { + switch transform { + case TransformSessionUUID: + return extractSessionUUID(value) + default: + return value + } +} + +// extractSessionUUID pulls the session UUID out of an Anthropic +// metadata.user_id value in either of its known shapes. +func extractSessionUUID(value string) string { + if strings.HasPrefix(value, "{") { + var payload struct { + SessionID string `json:"session_id"` + } + if err := json.Unmarshal([]byte(value), &payload); err == nil { + if id := strings.TrimSpace(payload.SessionID); id != "" { + return id + } + } + } + if m := sessionUUIDRegex.FindStringSubmatch(value); m != nil { + return m[1] + } + return "" +} diff --git a/internal/virtualmodels/balancer.go b/internal/virtualmodels/balancer.go index 9f3d128bf..39159410e 100644 --- a/internal/virtualmodels/balancer.go +++ b/internal/virtualmodels/balancer.go @@ -39,8 +39,11 @@ func (r *roundRobin) prune(active map[string]redirectEntry) { // balancedResolution chooses one concrete target for a request through entry, // applying its load-balancing strategy across the targets the catalog currently -// supports. It reports false when no target is available. -func (s *Service) balancedResolution(entry redirectEntry) (core.ModelSelector, bool) { +// supports. When the request carries a session id and the redirect keeps +// session affinity (the default), the target that served the session before is +// preferred while it stays viable; otherwise the strategy picks and the choice +// is re-pinned. It reports false when no target is available. +func (s *Service) balancedResolution(entry redirectEntry, sessionID string) (core.ModelSelector, bool) { supported := entry.supportedTargets(s.catalog) if len(supported) == 0 { return core.ModelSelector{}, false @@ -51,22 +54,66 @@ func (s *Service) balancedResolution(entry redirectEntry) (core.ModelSelector, b // failover) instead of the all-targets-down error path. pool := s.targetsWithCapacity(supported) if len(pool) == 0 { - pool = supported[:1] + // This target is selected only to reach admission and produce the 429. + // Do not run affinity resolution: a transient capacity burst must not + // discard or replace the target that actually served the session. + return supported[0].selector, true } - if len(pool) == 1 { - // A single viable target needs no strategy and must not advance - // round-robin state, so an alias and a one-target-available redirect - // behave identically. - return pool[0].selector, true + + // pick applies the redirect's strategy to the viable pool. A single viable + // target needs no strategy and must not advance round-robin state, so an + // alias and a one-target-available redirect behave identically. + pick := func() resolvedTarget { + if len(pool) == 1 { + return pool[0] + } + switch normalizeStrategy(entry.strategy) { + case StrategyCost: + return s.cheapestTarget(pool) + default: // StrategyRoundRobin + return pool[weightedIndex(pool, s.balancer.next(entry.vm.Source))] + } + } + // Affinity is keyed to the redirect's CONFIGURED shape, not the targets + // currently available: with only one target momentarily supported (provider + // outage, startup) the session must still pin its serving target, or the + // strategy could move an active conversation once the others come back. + affinity := sessionID != "" && entry.sessionAffinity() && len(entry.targets) > 1 + if affinity { + viable := func(candidate string) bool { + _, ok := poolTarget(pool, candidate) + return ok + } + if qualified, ok := s.sticky.lookup(entry.vm.Source, sessionID, viable); ok { + if target, found := poolTarget(pool, qualified); found { + return target.selector, true + } + } + + // Strategy selection may read the model catalog, so keep it outside the + // sticky lock. resolve rechecks the pin atomically in case another first + // request selected and pinned a target concurrently. + choice := pick() + qualified := s.sticky.resolve(entry.vm.Source, sessionID, + viable, + choice.qualified, + ) + if target, ok := poolTarget(pool, qualified); ok { + return target.selector, true + } + return choice.selector, true } + return pick().selector, true +} - switch normalizeStrategy(entry.strategy) { - case StrategyCost: - return s.cheapestTarget(pool).selector, true - default: // StrategyRoundRobin - index := weightedIndex(pool, s.balancer.next(entry.vm.Source)) - return pool[index].selector, true +// poolTarget finds a qualified model among the viable targets. +func poolTarget(pool []resolvedTarget, qualified string) (resolvedTarget, bool) { + for _, target := range pool { + if target.qualified == qualified { + return target, true + } } + return resolvedTarget{}, false } // targetsWithCapacity filters targets through the optional rate-limit capacity diff --git a/internal/virtualmodels/config.go b/internal/virtualmodels/config.go index 3fc28fe0f..baa85231c 100644 --- a/internal/virtualmodels/config.go +++ b/internal/virtualmodels/config.go @@ -26,13 +26,14 @@ func configModel(entry config.VirtualModelConfig) VirtualModel { enabled = *entry.Enabled } return VirtualModel{ - Source: entry.Source, - Strategy: entry.Strategy, - Targets: configTargets(entry), - UserPaths: entry.UserPaths, - Description: entry.Description, - Enabled: enabled, - Managed: true, + Source: entry.Source, + Strategy: entry.Strategy, + SessionAffinity: entry.SessionAffinity, + Targets: configTargets(entry), + UserPaths: entry.UserPaths, + Description: entry.Description, + Enabled: enabled, + Managed: true, } } diff --git a/internal/virtualmodels/resolve.go b/internal/virtualmodels/resolve.go index 21bfe2ab1..2f0c5d22b 100644 --- a/internal/virtualmodels/resolve.go +++ b/internal/virtualmodels/resolve.go @@ -10,10 +10,10 @@ import ( // Resolve resolves raw model/provider inputs through the redirect table. func (s *Service) Resolve(model, provider string) (Resolution, bool, error) { - return s.resolveRequested(core.NewRequestedModelSelector(model, provider), "", false) + return s.resolveRequested(core.NewRequestedModelSelector(model, provider), "", false, "") } -func (s *Service) resolveRequested(requested core.RequestedModelSelector, userPath string, enforceUserPaths bool) (Resolution, bool, error) { +func (s *Service) resolveRequested(requested core.RequestedModelSelector, userPath string, enforceUserPaths bool, sessionID string) (Resolution, bool, error) { selector, err := requested.Normalize() if err != nil { return Resolution{}, false, err @@ -22,7 +22,7 @@ func (s *Service) resolveRequested(requested core.RequestedModelSelector, userPa return Resolution{Requested: selector, Resolved: selector}, false, nil } if entry, ok := s.snapshot().findRedirect(requested.Model, userPath, enforceUserPaths); ok { - if resolved, ok := s.balancedResolution(entry); ok { + if resolved, ok := s.balancedResolution(entry, sessionID); ok { return Resolution{Requested: selector, Resolved: resolved, Source: entry.vm.Source}, true, nil } } @@ -33,7 +33,7 @@ func (s *Service) resolveRequested(requested core.RequestedModelSelector, userPa // chosen for execution. It does not consult user_paths; scoped redirects are // applied by ResolveModelForUserPath on the request path. func (s *Service) ResolveModel(requested core.RequestedModelSelector) (core.ModelSelector, bool, error) { - resolution, changed, err := s.resolveRequested(requested, "", false) + resolution, changed, err := s.resolveRequested(requested, "", false, "") if err != nil { return core.ModelSelector{}, false, err } @@ -44,7 +44,7 @@ func (s *Service) ResolveModel(requested core.RequestedModelSelector) (core.Mode // user_paths against the effective request user path. A redirect scoped to // user_paths the caller does not match falls through to the literal model name. func (s *Service) ResolveModelForUserPath(ctx context.Context, requested core.RequestedModelSelector) (core.ModelSelector, bool, error) { - resolution, changed, err := s.resolveRequested(requested, core.UserPathFromContext(ctx), true) + resolution, changed, err := s.resolveRequested(requested, core.UserPathFromContext(ctx), true, core.SessionIDFromContext(ctx)) if err != nil { return core.ModelSelector{}, false, err } diff --git a/internal/virtualmodels/service.go b/internal/virtualmodels/service.go index 70566e930..336f5f05a 100644 --- a/internal/virtualmodels/service.go +++ b/internal/virtualmodels/service.go @@ -34,6 +34,7 @@ type Service struct { targetCapacity func(qualifiedModel string) bool balancer roundRobin + sticky stickySessions current atomic.Value // snapshot refreshMu sync.Mutex } @@ -91,6 +92,7 @@ func (s *Service) refreshLocked(ctx context.Context) error { } s.current.Store(next) s.balancer.prune(next.redirects) + s.sticky.prune(next.redirects) return nil } @@ -223,10 +225,11 @@ func (s *Service) ListViews() []View { views := make([]View, 0, len(rows)) for _, vm := range rows { view := View{ - Source: vm.Source, - Kind: vm.Kind(), - Targets: vm.Targets, - Strategy: vm.Strategy, + Source: vm.Source, + Kind: vm.Kind(), + Targets: vm.Targets, + Strategy: vm.Strategy, + SessionAffinity: vm.SessionAffinity, ProviderName: vm.ProviderName, Model: vm.Model, UserPaths: vm.UserPaths, diff --git a/internal/virtualmodels/snapshot.go b/internal/virtualmodels/snapshot.go index 44129e3ed..564c3fb13 100644 --- a/internal/virtualmodels/snapshot.go +++ b/internal/virtualmodels/snapshot.go @@ -25,6 +25,12 @@ type redirectEntry struct { strategy string } +// sessionAffinity reports whether this redirect keeps sessions pinned to the +// target that served them. Enabled unless explicitly disabled. +func (e redirectEntry) sessionAffinity() bool { + return e.vm.SessionAffinity == nil || *e.vm.SessionAffinity +} + // representative returns the first declared target, used where a redirect needs // a stable stand-in independent of catalog availability or load-balancing state. func (e redirectEntry) representative() (resolvedTarget, bool) { diff --git a/internal/virtualmodels/sticky.go b/internal/virtualmodels/sticky.go new file mode 100644 index 000000000..e40e44a73 --- /dev/null +++ b/internal/virtualmodels/sticky.go @@ -0,0 +1,137 @@ +package virtualmodels + +import ( + "sync" + "time" +) + +const ( + // stickySessionTTL bounds how long an idle session keeps its pinned target. + stickySessionTTL = 6 * time.Hour + // maxStickySessions caps the pin map; at capacity the entry expiring + // soonest is evicted. + maxStickySessions = 10000 +) + +type stickyKey struct { + source string + session string +} + +type stickyPin struct { + qualified string + expires time.Time +} + +// stickySessions remembers which target served a session per redirect source, +// so session-affine load balancing routes a conversation consistently. Like +// the round-robin counters it is per-instance state: after a restart (or on +// another replica) the first request of a session simply re-pins. +type stickySessions struct { + mu sync.Mutex + entries map[stickyKey]stickyPin + now func() time.Time // injectable for tests; nil means time.Now +} + +func (s *stickySessions) clock() time.Time { + if s.now != nil { + return s.now() + } + return time.Now() +} + +// lookup returns and refreshes a viable existing pin. It lets callers avoid +// running their selection strategy for requests that are already pinned. +func (s *stickySessions) lookup(source, session string, viable func(string) bool) (string, bool) { + s.mu.Lock() + defer s.mu.Unlock() + key := stickyKey{source: source, session: session} + now := s.clock() + existing, ok := s.entries[key] + if !ok { + return "", false + } + if !existing.expires.After(now) { + delete(s.entries, key) + return "", false + } + if !viable(existing.qualified) { + return "", false + } + existing.expires = now.Add(stickySessionTTL) + s.entries[key] = existing + return existing.qualified, true +} + +// resolve returns the target serving a session: the existing pin when it is +// still viable (refreshing its TTL), otherwise candidate, which it pins. It +// rechecks after strategy selection so concurrent first requests agree on the +// first pinned target. +func (s *stickySessions) resolve(source, session string, viable func(string) bool, candidate string) string { + s.mu.Lock() + defer s.mu.Unlock() + key := stickyKey{source: source, session: session} + now := s.clock() + if existing, ok := s.entries[key]; ok { + if existing.expires.After(now) && viable(existing.qualified) { + existing.expires = now.Add(stickySessionTTL) + s.entries[key] = existing + return existing.qualified + } + // Expired, or the pinned target is gone/saturated: re-pin the candidate. + delete(s.entries, key) + } + if candidate != "" { + if s.entries == nil { + s.entries = make(map[stickyKey]stickyPin) + } + s.pruneLocked(now) + if len(s.entries) >= maxStickySessions { + s.evictSoonestLocked() + } + s.entries[key] = stickyPin{ + qualified: candidate, + expires: now.Add(stickySessionTTL), + } + } + return candidate +} + +// prune drops expired pins and pins for redirect sources no longer present in +// the latest snapshot, mirroring roundRobin.prune. +func (s *stickySessions) prune(active map[string]redirectEntry) { + s.mu.Lock() + defer s.mu.Unlock() + now := s.clock() + for key, pin := range s.entries { + if !pin.expires.After(now) { + delete(s.entries, key) + continue + } + if _, exists := active[key.source]; !exists { + delete(s.entries, key) + } + } +} + +func (s *stickySessions) pruneLocked(now time.Time) { + for key, pin := range s.entries { + if !pin.expires.After(now) { + delete(s.entries, key) + } + } +} + +func (s *stickySessions) evictSoonestLocked() { + var soonestKey stickyKey + var soonest time.Time + first := true + for key, pin := range s.entries { + if first || pin.expires.Before(soonest) { + soonestKey, soonest, first = key, pin.expires, false + } + } + if !first { + delete(s.entries, soonestKey) + } +} diff --git a/internal/virtualmodels/sticky_test.go b/internal/virtualmodels/sticky_test.go new file mode 100644 index 000000000..69e4731df --- /dev/null +++ b/internal/virtualmodels/sticky_test.go @@ -0,0 +1,340 @@ +package virtualmodels + +import ( + "context" + "strconv" + "sync" + "testing" + "time" + + "github.com/enterpilot/gomodel/internal/core" +) + +func upsertBalancedVM(t *testing.T, svc *Service, strategy string, affinity *bool) { + t.Helper() + if err := svc.Upsert(context.Background(), VirtualModel{ + Source: "smart", + Strategy: strategy, + SessionAffinity: affinity, + Targets: []Target{ + {Provider: "openai", Model: "gpt-4o"}, + {Provider: "anthropic", Model: "claude"}, + {Provider: "groq", Model: "llama"}, + }, + Enabled: true, + }); err != nil { + t.Fatalf("Upsert() error = %v", err) + } +} + +// resolveSession resolves source once with a session id and returns the chosen target. +func resolveSession(t *testing.T, svc *Service, source, sessionID string) string { + t.Helper() + resolution, _, err := svc.resolveRequested(core.NewRequestedModelSelector(source, ""), "", false, sessionID) + if err != nil { + t.Fatalf("resolveRequested() error = %v", err) + } + return resolution.Resolved.QualifiedModel() +} + +func TestSticky_SameSessionSameTarget(t *testing.T) { + t.Parallel() + for _, strategy := range []string{StrategyRoundRobin, StrategyCost} { + t.Run(strategy, func(t *testing.T) { + svc := newBalancingService(t) + upsertBalancedVM(t, svc, strategy, nil) + + first := resolveSession(t, svc, "smart", "sess-a") + for i := range 5 { + if got := resolveSession(t, svc, "smart", "sess-a"); got != first { + t.Fatalf("resolution %d = %q, want pinned %q", i, got, first) + } + } + }) + } +} + +func TestSticky_SessionsDistributeAcrossTargets(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + // Distinct sessions land on rotating targets; each stays pinned. + a := resolveSession(t, svc, "smart", "sess-a") + b := resolveSession(t, svc, "smart", "sess-b") + if a == b { + t.Fatalf("two fresh sessions landed on the same target %q, want rotation", a) + } + if got := resolveSession(t, svc, "smart", "sess-a"); got != a { + t.Fatalf("sess-a moved from %q to %q", a, got) + } + if got := resolveSession(t, svc, "smart", "sess-b"); got != b { + t.Fatalf("sess-b moved from %q to %q", b, got) + } +} + +func TestSticky_AffinityDisabledRestoresRotation(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + off := false + upsertBalancedVM(t, svc, StrategyRoundRobin, &off) + + seen := make(map[string]bool) + for range 3 { + seen[resolveSession(t, svc, "smart", "sess-a")] = true + } + if len(seen) != 3 { + t.Fatalf("with affinity off, one session saw %d targets, want 3 (rotation)", len(seen)) + } +} + +func TestSticky_EmptySessionDoesNotPin(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + resolveSession(t, svc, "smart", "") + if got := len(svc.sticky.entries); got != 0 { + t.Fatalf("sticky entries = %d after sessionless resolution, want 0", got) + } +} + +func TestSticky_RepinsWhenPinnedTargetLosesCapacity(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + saturated := map[string]bool{} + svc.SetTargetCapacity(func(qualified string) bool { return !saturated[qualified] }) + + pinned := resolveSession(t, svc, "smart", "sess-a") + saturated[pinned] = true + + repinned := resolveSession(t, svc, "smart", "sess-a") + if repinned == pinned { + t.Fatalf("session stayed on saturated target %q", pinned) + } + // The new pin holds even after the original target regains capacity. + saturated[pinned] = false + if got := resolveSession(t, svc, "smart", "sess-a"); got != repinned { + t.Fatalf("session moved from re-pinned %q to %q", repinned, got) + } +} + +func TestSticky_SaturatedFallbackDoesNotPin(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + svc.SetTargetCapacity(func(string) bool { return false }) + + // Every target saturated: the first declared target serves the honest-429 + // path and must not become the session's pin. + if got := resolveSession(t, svc, "smart", "sess-a"); got != "openai/gpt-4o" { + t.Fatalf("saturated fallback = %q, want first declared target", got) + } + if got := len(svc.sticky.entries); got != 0 { + t.Fatalf("sticky entries = %d after saturated fallback, want 0", got) + } +} + +func TestSticky_SaturatedFallbackPreservesExistingPin(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + saturated := map[string]bool{} + svc.SetTargetCapacity(func(qualified string) bool { return !saturated[qualified] }) + + resolveSession(t, svc, "smart", "sess-a") // consume the first round-robin target + pinned := resolveSession(t, svc, "smart", "sess-b") + if pinned != "anthropic/claude" { + t.Fatalf("initial pin = %q, want anthropic/claude", pinned) + } + + for _, target := range []string{"openai/gpt-4o", "anthropic/claude", "groq/llama"} { + saturated[target] = true + } + if got := resolveSession(t, svc, "smart", "sess-b"); got != "openai/gpt-4o" { + t.Fatalf("saturated fallback = %q, want first declared target", got) + } + + clear(saturated) + if got := resolveSession(t, svc, "smart", "sess-b"); got != pinned { + t.Fatalf("session moved from %q to %q after capacity recovered", pinned, got) + } +} + +func TestSticky_TTLExpiry(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + current := time.Date(2026, 7, 27, 12, 0, 0, 0, time.UTC) + svc.sticky.now = func() time.Time { return current } + + pinned := resolveSession(t, svc, "smart", "sess-a") + current = current.Add(stickySessionTTL + time.Minute) + + // The expired pin is dropped: the strategy picks fresh (round robin has + // advanced once, so the next pick differs from the original). + if got := resolveSession(t, svc, "smart", "sess-a"); got == pinned { + t.Fatalf("expired session still pinned to %q", pinned) + } +} + +// stickyProbe resolves without picking: it reports the existing viable pin or +// "" and never assigns, so tests can inspect state through the public seam. +func stickyProbe(sticky *stickySessions, source, session string) string { + qualified, _ := sticky.lookup(source, session, func(string) bool { return true }) + return qualified +} + +// stickyAssign resolves with a fixed choice, pinning it. +func stickyAssign(sticky *stickySessions, source, session, qualified string) string { + return sticky.resolve(source, session, + func(string) bool { return true }, + qualified, + ) +} + +func TestSticky_ResolveRefreshesTTL(t *testing.T) { + t.Parallel() + sticky := &stickySessions{} + current := time.Date(2026, 7, 27, 12, 0, 0, 0, time.UTC) + sticky.now = func() time.Time { return current } + + stickyAssign(sticky, "smart", "sess-a", "openai/gpt-4o") + // Touch the pin just before expiry, then advance past the original TTL. + current = current.Add(stickySessionTTL - time.Minute) + if got := stickyProbe(sticky, "smart", "sess-a"); got == "" { + t.Fatal("pin expired early") + } + current = current.Add(stickySessionTTL - time.Minute) + if got := stickyProbe(sticky, "smart", "sess-a"); got == "" { + t.Fatal("refreshed pin expired: resolve must extend the TTL") + } +} + +// Concurrent first requests of one session must agree on a single target even +// though strategy choice happens before the atomic pin lookup and assignment. +func TestSticky_ConcurrentFirstRequestsAgree(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + const workers = 16 + results := make([]string, workers) + errs := make([]error, workers) + var wg sync.WaitGroup + for i := range workers { + wg.Go(func() { + resolution, _, err := svc.resolveRequested( + core.NewRequestedModelSelector("smart", ""), "", false, "sess-a") + if err != nil { + errs[i] = err + return + } + results[i] = resolution.Resolved.QualifiedModel() + }) + } + wg.Wait() + + for i := range workers { + if errs[i] != nil { + t.Fatalf("resolveRequested() error = %v", errs[i]) + } + if results[i] != results[0] { + t.Fatalf("concurrent resolutions disagree: %q vs %q", results[i], results[0]) + } + } +} + +func TestSticky_PinnedRequestsDoNotAdvanceRoundRobin(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + if got := resolveSession(t, svc, "smart", "sess-a"); got != "openai/gpt-4o" { + t.Fatalf("first session target = %q, want openai/gpt-4o", got) + } + for range 2 { + resolveSession(t, svc, "smart", "sess-a") + } + if got := resolveSession(t, svc, "smart", "sess-b"); got != "anthropic/claude" { + t.Fatalf("second session target = %q, want anthropic/claude", got) + } +} + +func TestSticky_PruneDropsDeletedSources(t *testing.T) { + t.Parallel() + svc := newBalancingService(t) + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + resolveSession(t, svc, "smart", "sess-a") + if len(svc.sticky.entries) != 1 { + t.Fatalf("sticky entries = %d, want 1", len(svc.sticky.entries)) + } + if err := svc.Delete(context.Background(), "smart"); err != nil { + t.Fatalf("Delete() error = %v", err) + } + if got := len(svc.sticky.entries); got != 0 { + t.Fatalf("sticky entries = %d after source deletion, want 0", got) + } +} + +func TestSticky_EvictsSoonestAtCapacity(t *testing.T) { + t.Parallel() + sticky := &stickySessions{} + current := time.Date(2026, 7, 27, 12, 0, 0, 0, time.UTC) + sticky.now = func() time.Time { return current } + + for i := range maxStickySessions { + stickyAssign(sticky, "smart", "sess-"+strconv.Itoa(i), "openai/gpt-4o") + current = current.Add(time.Millisecond) + } + if len(sticky.entries) != maxStickySessions { + t.Fatalf("entries = %d, want %d", len(sticky.entries), maxStickySessions) + } + stickyAssign(sticky, "smart", "one-more", "openai/gpt-4o") + if len(sticky.entries) != maxStickySessions { + t.Fatalf("entries = %d after eviction, want %d", len(sticky.entries), maxStickySessions) + } + // The oldest pin was evicted; the newest survives. + if got := stickyProbe(sticky, "smart", "one-more"); got == "" { + t.Fatal("newest pin missing after eviction") + } + if got := stickyProbe(sticky, "smart", "sess-0"); got != "" { + t.Fatal("soonest-expiring pin survived eviction") + } +} + +// A multi-target redirect with only one target momentarily available must +// still pin: otherwise a target coming back online would let the strategy +// move an active session mid-conversation. +func TestSticky_PinsWhenOnlyOneTargetSupported(t *testing.T) { + t.Parallel() + catalog := balancingCatalog() + catalog.stale = map[string]bool{"anthropic/claude": true, "groq/llama": true} + svc, err := NewService(newSQLVMStore(t), catalog, true) + if err != nil { + t.Fatalf("NewService() error = %v", err) + } + upsertBalancedVM(t, svc, StrategyRoundRobin, nil) + + if got := resolveSession(t, svc, "smart", "sess-a"); got != "openai/gpt-4o" { + t.Fatalf("sole supported target = %q, want openai/gpt-4o", got) + } + if got := len(svc.sticky.entries); got != 1 { + t.Fatalf("sticky entries = %d, want the sole viable target pinned", got) + } + + // The other targets recover (the service shares the stale map): the + // session stays where it was served. + delete(catalog.stale, "anthropic/claude") + delete(catalog.stale, "groq/llama") + for i := range 4 { + if got := resolveSession(t, svc, "smart", "sess-a"); got != "openai/gpt-4o" { + t.Fatalf("resolution %d = %q, session moved after targets recovered", i, got) + } + } +} diff --git a/internal/virtualmodels/store_sql.go b/internal/virtualmodels/store_sql.go index 944573629..c93d3ad79 100644 --- a/internal/virtualmodels/store_sql.go +++ b/internal/virtualmodels/store_sql.go @@ -20,6 +20,7 @@ var sqlSchema = []string{ source TEXT PRIMARY KEY, targets TEXT NOT NULL DEFAULT '[]', strategy TEXT NOT NULL DEFAULT '', + session_affinity TEXT NOT NULL DEFAULT '', provider_name TEXT NOT NULL DEFAULT '', model TEXT NOT NULL DEFAULT '', user_paths TEXT NOT NULL DEFAULT '[]', @@ -34,20 +35,26 @@ var sqlSchema = []string{ `CREATE INDEX IF NOT EXISTS idx_virtual_models_updated_at ON virtual_models(updated_at DESC)`, } +// virtualModelMigrations backfill columns added after the table's first release. +var virtualModelMigrations = []string{ + "ALTER TABLE virtual_models ADD COLUMN session_affinity TEXT NOT NULL DEFAULT ''", +} + const selectVirtualModelColumns = ` - SELECT source, targets, strategy, provider_name, model, user_paths, + SELECT source, targets, strategy, session_affinity, provider_name, model, user_paths, description, enabled, created_at, updated_at FROM virtual_models ` const upsertVirtualModelSQL = ` INSERT INTO virtual_models ( - source, targets, strategy, provider_name, model, user_paths, description, enabled, created_at, updated_at + source, targets, strategy, session_affinity, provider_name, model, user_paths, description, enabled, created_at, updated_at ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source) DO UPDATE SET targets = excluded.targets, strategy = excluded.strategy, + session_affinity = excluded.session_affinity, provider_name = excluded.provider_name, model = excluded.model, user_paths = excluded.user_paths, @@ -64,6 +71,9 @@ func NewSQLStore(ctx context.Context, db sqlx.DB) (*SQLStore, error) { if err := db.Schema(ctx, sqlSchema...); err != nil { return nil, fmt.Errorf("failed to create virtual_models table: %w", err) } + if err := sqlx.AddColumns(ctx, db, virtualModelMigrations...); err != nil { + return nil, err + } return &SQLStore{db: db}, nil } @@ -156,6 +166,7 @@ func virtualModelUpsertArgs(vm VirtualModel) ([]any, error) { strings.TrimSpace(vm.Source), targetsJSON, vm.Strategy, + encodeTriStateBool(vm.SessionAffinity), vm.ProviderName, vm.Model, pathsJSON, @@ -169,11 +180,13 @@ func virtualModelUpsertArgs(vm VirtualModel) ([]any, error) { func scanSQLVirtualModel(scanner sqlx.Row) (VirtualModel, error) { var vm VirtualModel var targets, userPaths []byte + var sessionAffinity string var createdAt, updatedAt int64 if err := scanner.Scan( &vm.Source, &targets, &vm.Strategy, + &sessionAffinity, &vm.ProviderName, &vm.Model, &userPaths, @@ -191,7 +204,33 @@ func scanSQLVirtualModel(scanner sqlx.Row) (VirtualModel, error) { if vm.UserPaths, err = decodeUserPaths(userPaths); err != nil { return VirtualModel{}, err } + vm.SessionAffinity = decodeTriStateBool(sessionAffinity) vm.CreatedAt = time.Unix(createdAt, 0).UTC() vm.UpdatedAt = time.Unix(updatedAt, 0).UTC() return vm, nil } + +// encodeTriStateBool stores a *bool as "", "true", or "false" so the unset +// (default) state survives a roundtrip on both SQL engines. +func encodeTriStateBool(value *bool) string { + if value == nil { + return "" + } + if *value { + return "true" + } + return "false" +} + +func decodeTriStateBool(value string) *bool { + switch value { + case "true": + result := true + return &result + case "false": + result := false + return &result + default: + return nil + } +} diff --git a/internal/virtualmodels/types.go b/internal/virtualmodels/types.go index 08bcec01c..159d2a883 100644 --- a/internal/virtualmodels/types.go +++ b/internal/virtualmodels/types.go @@ -48,8 +48,14 @@ type VirtualModel struct { UserPaths []string `json:"user_paths,omitempty" bson:"user_paths,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` Enabled bool `json:"enabled" bson:"enabled"` - CreatedAt time.Time `json:"created_at" bson:"created_at"` - UpdatedAt time.Time `json:"updated_at" bson:"updated_at"` + + // SessionAffinity keeps requests of one detected session on the target that + // served it before, while that target stays available. Tri-state: nil means + // enabled (the default); explicit false restores stateless balancing. + SessionAffinity *bool `json:"session_affinity,omitempty" bson:"session_affinity,omitempty"` + + CreatedAt time.Time `json:"created_at" bson:"created_at"` + UpdatedAt time.Time `json:"updated_at" bson:"updated_at"` // Managed marks a virtual model supplied declaratively through config.yaml or // the VIRTUAL_MODELS env var rather than the admin store. It is an in-memory @@ -108,6 +114,10 @@ func (v VirtualModel) clone() VirtualModel { if len(v.UserPaths) > 0 { v.UserPaths = append([]string(nil), v.UserPaths...) } + if v.SessionAffinity != nil { + affinity := *v.SessionAffinity + v.SessionAffinity = &affinity + } return v } @@ -121,8 +131,9 @@ const ( type View struct { Source string `json:"source"` Kind string `json:"kind"` - Targets []Target `json:"targets,omitempty"` - Strategy string `json:"strategy,omitempty"` + Targets []Target `json:"targets,omitempty"` + Strategy string `json:"strategy,omitempty"` + SessionAffinity *bool `json:"session_affinity,omitempty"` ProviderName string `json:"provider_name,omitempty"` Model string `json:"model,omitempty"` UserPaths []string `json:"user_paths,omitempty"` diff --git a/web/dashboard/src/pages/audit-logs/AuditEntryRow.svelte b/web/dashboard/src/pages/audit-logs/AuditEntryRow.svelte index a75c7e027..6f36d184e 100644 --- a/web/dashboard/src/pages/audit-logs/AuditEntryRow.svelte +++ b/web/dashboard/src/pages/audit-logs/AuditEntryRow.svelte @@ -12,7 +12,9 @@ import { extractRequestPromptTextSegments } from "./conversation-helpers.js"; import { auditPanes } from "./audit-logic.js"; - let { entry } = $props(); + // `thread` is set on session-thread head rows (grouped mode): the summary + // then renders the expander + count badge. { count, expanded, ontoggle }. + let { entry, thread = null } = $props(); const expanded = $derived(auditList.isAuditEntryExpanded(entry)); const panes = $derived( @@ -42,7 +44,7 @@
            - + {#if expanded}
            {#if workflowChart} diff --git a/web/dashboard/src/pages/audit-logs/AuditEntrySummary.svelte b/web/dashboard/src/pages/audit-logs/AuditEntrySummary.svelte index 391bc0d78..5bac2b1e4 100644 --- a/web/dashboard/src/pages/audit-logs/AuditEntrySummary.svelte +++ b/web/dashboard/src/pages/audit-logs/AuditEntrySummary.svelte @@ -1,6 +1,7 @@ + +{#if !auditIsThreadHead(entry)} + +{:else} +
            + auditList.toggleThread(entry), + }} + /> + {#if expanded} +
            + {#if children && children.loading} +
            + +
            + {/if} + {#each (children && children.entries) || [] as child (child.id)} +
            + +
            + {/each} + {#if truncated} +

            + Showing the latest {children.entries.length + 1} of {children.total} + requests in this session. +

            + {/if} +
            + {/if} +
            +{/if} + + diff --git a/web/dashboard/src/pages/audit-logs/audit-logic.js b/web/dashboard/src/pages/audit-logs/audit-logic.js index f56cd12c7..95baf48b9 100644 --- a/web/dashboard/src/pages/audit-logs/audit-logic.js +++ b/web/dashboard/src/pages/audit-logs/audit-logic.js @@ -196,6 +196,101 @@ export function buildAuditLogQuery({ return qs; } +// buildAuditSessionQuery renders the thread-children fetch for one session: +// GET /admin/audit/log?session_id=… Deliberately no date window, so an +// expanded thread shows the whole session even when older requests fall +// outside the date picker's range. +export function buildAuditSessionQuery({ sessionId, limit }) { + return ( + "session_id=" + + encodeURIComponent(sessionId) + + "&limit=" + + (limit || 100) + + "&offset=0" + ); +} + +// --- Session grouping ------------------------------------------------------- +// Grouped mode reuses the flat list shape: entries hold thread HEADS (each a +// normal audit entry plus `session_count`), total counts threads. + +export function auditSessionId(entry) { + return String((entry && entry.session_id) || "").trim(); +} + +export function auditSessionCount(entry) { + const count = Number(entry && entry.session_count); + return Number.isFinite(count) && count > 1 ? count : 1; +} + +// auditIsThreadHead reports whether a row gets the expander: it belongs to a +// session with more entries than itself. +export function auditIsThreadHead(entry) { + return !!auditSessionId(entry) && auditSessionCount(entry) > 1; +} + +// auditLogFromSessions maps the GET /admin/audit/sessions payload into the +// shared list shape: one head entry per thread, newest-activity first. +export function auditLogFromSessions(payload) { + const sessions = Array.isArray(payload && payload.sessions) + ? payload.sessions + : []; + return { + entries: sessions + .filter((session) => session && session.latest) + .map((session) => ({ + ...session.latest, + session_id: auditSessionId(session.latest) || String(session.session_id || "").trim(), + session_count: Number(session.count || 1), + })), + total: Number((payload && payload.total) || 0), + limit: Number((payload && payload.limit) || 25), + offset: Number((payload && payload.offset) || 0), + }; +} + +// auditThreadChildEntries drops the head row from a session_id page so the +// unfolded children list holds only the older requests. +export function auditThreadChildEntries(entries, head) { + const headKeys = new Set(auditEntryIdentityKeys(head)); + return (Array.isArray(entries) ? entries : []).filter((entry) => { + return !auditEntryIdentityKeys(entry).some((key) => headKeys.has(key)); + }); +} + +export function toggleExpandedThread(expanded, sessionId) { + const current = expanded || {}; + if (!sessionId) return current; + if (current[sessionId]) { + const next = { ...current }; + delete next[sessionId]; + return next; + } + return { ...current, [sessionId]: true }; +} + +// pruneThreadMap keeps only keys whose session still appears among the current +// head entries, so open threads survive refetches of the same page but stale +// state is dropped once a thread leaves the page. +export function pruneThreadMap(map, entries) { + const current = map || {}; + const active = new Set( + (Array.isArray(entries) ? entries : []) + .map((entry) => auditSessionId(entry)) + .filter(Boolean), + ); + const next = {}; + let changed = false; + Object.keys(current).forEach((key) => { + if (active.has(key)) { + next[key] = current[key]; + return; + } + changed = true; + }); + return changed ? next : current; +} + // --- Live-entry merge ------------------------------------------------------- // `filters` carries the current consolidated filters plus the custom date // range: { search, method, statusCode, stream, customStartDate, customEndDate }. @@ -283,6 +378,65 @@ export function auditLogWithLiveEntries(payload, currentEntries, filters) { return next; } +// auditGroupedLogWithLiveEntries is auditLogWithLiveEntries for grouped mode: +// a still-pending live preview folds into its session's fetched head (keeping +// the larger count) instead of duplicating the thread; previews without an +// on-screen thread prepend as singleton heads. +export function auditGroupedLogWithLiveEntries(payload, currentEntries, filters) { + const next = + payload && typeof payload === "object" + ? { ...payload } + : { entries: [], total: 0, limit: 25, offset: 0 }; + const entries = Array.isArray(next.entries) ? next.entries : []; + next.entries = entries; + if (!auditLogAllowsLiveEntries(next, filters)) return next; + + const liveEntries = (Array.isArray(currentEntries) ? currentEntries : []).filter( + (entry) => auditEntryLivePreviewPending(entry), + ); + if (liveEntries.length === 0) return next; + + const persistedKeys = new Set( + entries.flatMap((entry) => auditEntryIdentityKeys(entry)), + ); + const headBySession = new Map(); + entries.forEach((entry, index) => { + const sid = auditSessionId(entry); + if (sid && !headBySession.has(sid)) headBySession.set(sid, index); + }); + + const prepend = []; + let merged = entries; + liveEntries.forEach((entry) => { + const keys = auditEntryIdentityKeys(entry); + if (keys.length === 0) return; + // The persisted page already carries this request (as a head): keep it. + if (keys.some((key) => persistedKeys.has(key))) return; + const sid = auditSessionId(entry); + if (sid && headBySession.has(sid)) { + // Fold into the fetched thread: the pending preview is newer than the + // persisted head, so it becomes the head and keeps the thread's count. + const index = headBySession.get(sid); + if (merged === entries) merged = [...entries]; + merged[index] = { + ...entry, + session_count: Math.max( + auditSessionCount(merged[index]), + auditSessionCount(entry), + ), + }; + keys.forEach((key) => persistedKeys.add(key)); + return; + } + keys.forEach((key) => persistedKeys.add(key)); + prepend.push(entry); + }); + + next.entries = [...prepend, ...merged].slice(0, next.limit || 25); + next.total = Number(next.total || 0) + prepend.length; + return next; +} + // --- Expanded-entry map ----------------------------------------------------- export function markExpandedEntry(expanded, entry) { diff --git a/web/dashboard/src/pages/audit-logs/auditList.svelte.js b/web/dashboard/src/pages/audit-logs/auditList.svelte.js index ef558e2e8..9739378c5 100644 --- a/web/dashboard/src/pages/audit-logs/auditList.svelte.js +++ b/web/dashboard/src/pages/audit-logs/auditList.svelte.js @@ -1,5 +1,5 @@ // Audit-log list state: filters, pagination, fetch-token protected loading, -// and the expanded-entry map. +// the expanded-entry map, and session-thread grouping. // // The live-logs singleton owns the shared list + filter state (it merges live // entries into `liveLogs.auditLog` and gates inserts on the filter fields). @@ -7,25 +7,43 @@ // fetch/pagination/expansion logic on top, and registers the duck-typed // cross-module hooks (`fetchAuditLog` for stream resets, // `isAuditEntryExpanded` for detail refetches of expanded rows). +// +// Grouped mode ("Group by session", on by default) fetches thread heads from +// /admin/audit/sessions into the same list shape (entries carry +// `session_count`); a thread's older entries are fetched lazily into +// `liveLogs.auditThreadChildren` when the user unfolds it. import { getJSON } from "$lib/api/client.js"; +import { writeStored } from "$lib/utils/storage.js"; import { dateRange } from "$lib/stores/dateRange.svelte.js"; import { liveLogs } from "./liveLogs.svelte.js"; import { auditWorkflows } from "./audit-workflows.svelte.js"; import { auditEntryKey, + auditGroupedLogWithLiveEntries, + auditLogFromSessions, auditLogWithLiveEntries, + auditSessionId, + auditThreadChildEntries, buildAuditLogQuery, + buildAuditSessionQuery, markExpandedEntry, pruneExpandedEntries, + pruneThreadMap, + toggleExpandedThread, } from "./audit-logic.js"; +// A session_id page is capped server-side at 100 entries; bigger threads show +// a "latest 100 of N" note. +const THREAD_CHILDREN_LIMIT = 100; + function emptyAuditLog() { return { entries: [], total: 0, limit: 25, offset: 0 }; } class AuditListStore { auditExpandedEntries = $state({}); + auditExpandedThreads = $state({}); loading = $state(false); // Fetch-token race protection: a stale response must never clobber the // results of a newer request. @@ -62,6 +80,9 @@ class AuditListStore { set auditStream(value) { liveLogs.auditStream = value; } + get auditGroupSessions() { + return liveLogs.auditGroupSessions; + } // liveFilters snapshots the consolidated filters + custom date range in the // shape the pure live-merge helpers expect. @@ -76,11 +97,22 @@ class AuditListStore { }; } + // toggleAuditGroupSessions flips the persisted view preference. It is a view + // preference, not a filter: clearAuditFilters leaves it alone. + toggleAuditGroupSessions() { + liveLogs.auditGroupSessions = !liveLogs.auditGroupSessions; + writeStored("gomodel_audit_group_sessions", liveLogs.auditGroupSessions); + this.auditExpandedThreads = {}; + liveLogs.auditThreadChildren = {}; + this.fetchAuditLog(true); + } + async fetchAuditLog(resetOffset) { const requestToken = ++this.auditFetchToken; this.loading = true; try { if (resetOffset) this.auditLog.offset = 0; + const grouped = this.auditGroupSessions; const qs = buildAuditLogQuery({ dateQuery: dateRange.queryStr(), limit: this.auditLog.limit, @@ -91,7 +123,8 @@ class AuditListStore { stream: this.auditStream, }); - const result = await getJSON("/admin/audit/log?" + qs, { + const path = grouped ? "/admin/audit/sessions?" : "/admin/audit/log?"; + const result = await getJSON(path + qs, { label: "audit log", }); if (result.stale) return; @@ -101,21 +134,38 @@ class AuditListStore { return; } - const next = auditLogWithLiveEntries( - result.data, + const payload = grouped ? auditLogFromSessions(result.data) : result.data; + const merge = grouped + ? auditGroupedLogWithLiveEntries + : auditLogWithLiveEntries; + const next = merge( + payload, this.auditLog && this.auditLog.entries, this.liveFilters(), ); if (!Array.isArray(next.entries)) next.entries = []; this.auditLog = next; + this.auditExpandedThreads = pruneThreadMap( + this.auditExpandedThreads, + next.entries, + ); + liveLogs.auditThreadChildren = pruneThreadMap( + liveLogs.auditThreadChildren, + next.entries, + ); + // Expanded child rows must survive a heads refetch, so prune against + // heads plus every loaded child. this.auditExpandedEntries = pruneExpandedEntries( this.auditExpandedEntries, - next.entries, + [...next.entries, ...this.loadedThreadChildren()], ); // Resolve workflow versions for the page so expanded entries can render // the pipeline chart; a prefetch failure must not clobber the payload. try { - await auditWorkflows.prefetchAuditWorkflows(this.auditLog.entries); + await auditWorkflows.prefetchAuditWorkflows([ + ...this.auditLog.entries, + ...this.loadedThreadChildren(), + ]); } catch (e) { console.error("Failed to prefetch audit workflows:", e); } @@ -128,6 +178,77 @@ class AuditListStore { } } + loadedThreadChildren() { + const children = liveLogs.auditThreadChildren || {}; + return Object.keys(children).flatMap((key) => + Array.isArray(children[key] && children[key].entries) + ? children[key].entries + : [], + ); + } + + isThreadExpanded(sessionId) { + return !!(sessionId && this.auditExpandedThreads[sessionId]); + } + + threadChildren(sessionId) { + return (sessionId && liveLogs.auditThreadChildren[sessionId]) || null; + } + + async toggleThread(entry) { + const sessionId = auditSessionId(entry); + if (!sessionId) return; + const expandedNow = !this.isThreadExpanded(sessionId); + this.auditExpandedThreads = toggleExpandedThread( + this.auditExpandedThreads, + sessionId, + ); + if (expandedNow && !liveLogs.auditThreadChildren[sessionId]) { + await this.fetchThreadEntries(entry); + } + } + + async fetchThreadEntries(head) { + const sessionId = auditSessionId(head); + if (!sessionId) return; + liveLogs.auditThreadChildren = { + ...liveLogs.auditThreadChildren, + [sessionId]: { loading: true, entries: [], total: 0 }, + }; + try { + const qs = buildAuditSessionQuery({ + sessionId, + limit: THREAD_CHILDREN_LIMIT, + }); + const result = await getJSON("/admin/audit/log?" + qs, { + label: "audit session", + }); + if (result.stale) { + // Silently drop the loading placeholder so the next toggle retries + // (leaving it would render a spinner forever). + const next = { ...liveLogs.auditThreadChildren }; + delete next[sessionId]; + liveLogs.auditThreadChildren = next; + return; + } + if (!result.ok) throw new Error("audit session fetch failed"); + liveLogs.auditThreadChildren = { + ...liveLogs.auditThreadChildren, + [sessionId]: { + loading: false, + entries: auditThreadChildEntries(result.data.entries, head), + total: Number(result.data.total || 0), + }, + }; + } catch (e) { + console.error("Failed to fetch audit session entries:", e); + // Drop the placeholder so the next toggle retries the fetch. + const next = { ...liveLogs.auditThreadChildren }; + delete next[sessionId]; + liveLogs.auditThreadChildren = next; + } + } + clearAuditFilters() { this.auditSearch = ""; this.auditMethod = ""; diff --git a/web/dashboard/src/pages/audit-logs/live-logs-logic.js b/web/dashboard/src/pages/audit-logs/live-logs-logic.js index d414b7a9d..82dc048b9 100644 --- a/web/dashboard/src/pages/audit-logs/live-logs-logic.js +++ b/web/dashboard/src/pages/audit-logs/live-logs-logic.js @@ -4,7 +4,8 @@ // singleton (liveLogs.svelte.js) and the node:test suite share the identical // implementation. The host (`this`) must provide: // - state: auditLog {entries,total,limit,offset}, usageLog {…}, -// skippedLiveUsageByRequestId, liveLogsLastSeq +// skippedLiveUsageByRequestId, liveLogsLastSeq, auditGroupSessions, +// auditThreadChildren ({ [session_id]: {loading, entries, total} }) // - insert-gate fields: auditSearch, auditMethod, auditStatusCode, // auditStream, customStartDate, customEndDate, usageLogSearch, // usageFilterModel, usageFilterProvider, usageFilterLabel, @@ -17,6 +18,11 @@ const LIVE_LOGS_STREAM_PATH = "/admin/live/logs?types=audit,usage"; +function matchesLiveAuditKey(entry, id, requestID) { + return (!!id && String(entry && entry.id || '').trim() === id) || + (!!requestID && String(entry && entry.request_id || '').trim() === requestID); +} + // liveLogsStreamPath builds the stream path with the replay cursor: // '/admin/live/logs?types=audit,usage[&cursor=N]'. export function liveLogsStreamPath(lastSeq) { @@ -122,11 +128,9 @@ export function liveLogsMethods() { if (!incoming || typeof incoming !== 'object') return; const key = String(incoming.id || incoming.request_id || '').trim(); if (!key) return; + const requestID = String(incoming.request_id || '').trim(); const currentEntries = (this.auditLog && Array.isArray(this.auditLog.entries)) ? this.auditLog.entries : []; - const index = currentEntries.findIndex((entry) => { - return String(entry.id || '').trim() === key || - (incoming.request_id && String(entry.request_id || '').trim() === String(incoming.request_id).trim()); - }); + const index = currentEntries.findIndex((entry) => matchesLiveAuditKey(entry, key, requestID)); const previous = index >= 0 ? currentEntries[index] || {} : {}; if (eventType === 'audit.detail') { // The detail entry carries the full payload, so the slim-list @@ -136,9 +140,17 @@ export function liveLogsMethods() { const merged = this.mergeLiveAuditPatch(previous, patch); currentEntries.splice(index, 1, merged); this.auditLog.entries = [...currentEntries]; + // Regrouping may demote this row to a thread child; the + // conversation hook still targets the updated row itself. + this.regroupLiveAuditHead(merged); this.notifyLiveConversation(merged); return merged; } + const child = this.mergeLiveAuditChild(incoming, patch); + if (child) { + this.notifyLiveConversation(child); + return child; + } if (!this.auditLiveInsertAllowed()) return; this.auditLog.entries = [this.mergeLiveAuditUsagePatch(patch), ...currentEntries].slice(0, this.auditLog.limit || 25); this.auditLog.total = Number(this.auditLog.total || 0) + 1; @@ -165,11 +177,28 @@ export function liveLogsMethods() { const merged = this.mergeLiveAuditPatch(previous, patch); currentEntries.splice(index, 1, merged); this.auditLog.entries = [...currentEntries]; + // Regrouping may demote this row to a thread child; the detail + // and conversation hooks still target the updated row itself. + this.regroupLiveAuditHead(merged); this.fetchExpandedAuditDetailIfReady(merged); this.notifyLiveConversation(merged); return merged; } + const child = this.mergeLiveAuditChild(incoming, patch); + if (child) { + this.fetchExpandedAuditDetailIfReady(child); + this.notifyLiveConversation(child); + return child; + } if (!this.auditLiveInsertAllowed()) return; + if (this.auditGroupSessions) { + const folded = this.foldLiveAuditIntoThread(patch); + if (folded) { + this.fetchExpandedAuditDetailIfReady(folded); + this.notifyLiveConversation(folded); + return folded; + } + } this.auditLog.entries = [this.mergeLiveAuditUsagePatch(patch), ...currentEntries].slice(0, this.auditLog.limit || 25); this.auditLog.total = Number(this.auditLog.total || 0) + 1; const inserted = this.auditLog.entries[0]; @@ -178,6 +207,143 @@ export function liveLogsMethods() { return inserted; }, + // --- Session-thread grouping --------------------------------------- + // With "Group by session" on, list entries are thread heads (carrying + // session_count) and each unfolded thread keeps its older entries in + // auditThreadChildren[session_id]. + + // mergeLiveAuditChild merges a live patch into an entry living in a + // loaded thread-children list (a request that was displaced from head + // position, or an expanded child whose detail arrived). + mergeLiveAuditChild(incoming, patch) { + const lists = this.auditThreadChildren; + if (!lists || typeof lists !== 'object') return null; + const id = String(incoming.id || '').trim(); + const requestID = String(incoming.request_id || '').trim(); + const sessionIds = Object.keys(lists); + for (let i = 0; i < sessionIds.length; i++) { + const list = lists[sessionIds[i]]; + const entries = list && Array.isArray(list.entries) ? list.entries : []; + const index = entries.findIndex((entry) => matchesLiveAuditKey(entry, id, requestID)); + if (index < 0) continue; + const merged = this.mergeLiveAuditPatch(entries[index] || {}, patch); + const nextEntries = [...entries]; + nextEntries.splice(index, 1, merged); + this.auditThreadChildren = { ...lists, [sessionIds[i]]: { ...list, entries: nextEntries } }; + return merged; + } + return null; + }, + + // regroupLiveAuditHead folds a list row into another on-screen head of + // the same session after an in-place merge. This is how a live row + // inserted sessionless (audit.started fires before session detection + // stamps the context) joins its thread once a later event delivers the + // session id: the NEWEST of the two rows becomes the thread head — the + // event that happens to complete last is not necessarily the newest + // request — the other moves into the loaded children, and the two rows + // collapse into one thread (total shrinks by one). + regroupLiveAuditHead(entry) { + if (!this.auditGroupSessions) return null; + const sessionId = String((entry && entry.session_id) || '').trim(); + if (!sessionId) return null; + const entries = (this.auditLog && Array.isArray(this.auditLog.entries)) ? this.auditLog.entries : []; + const id = String(entry.id || '').trim(); + const myIndex = entries.findIndex((candidate) => String(candidate.id || '').trim() === id); + if (myIndex < 0) return null; + const otherIndex = entries.findIndex((candidate, index) => { + return index !== myIndex && String(candidate.session_id || '').trim() === sessionId; + }); + if (otherIndex < 0) return null; + const other = entries[otherIndex]; + const otherTime = Date.parse(other && other.timestamp); + const entryTime = Date.parse(entry && entry.timestamp); + const otherIsNewer = + Number.isFinite(otherTime) && Number.isFinite(entryTime) && otherTime > entryTime; + const head = otherIsNewer ? other : entry; + const child = otherIsNewer ? entry : other; + const merged = { + ...head, + session_count: + Math.max(1, Number(other.session_count || 1)) + + Math.max(1, Number(entry.session_count || 1)) + }; + const next = entries.filter((_, index) => index !== myIndex && index !== otherIndex); + next.unshift(merged); + this.auditLog.entries = next; + this.auditLog.total = Math.max(0, Number(this.auditLog.total || 0) - 1); + this.prependLiveAuditThreadChild(sessionId, child); + return merged; + }, + + // foldLiveAuditIntoThread makes a fresh live request the new head of + // its on-screen thread: the old head moves into the loaded children + // list (or waits for the lazy fetch) and the thread bubbles to the + // top with its count bumped. Total is unchanged (same thread count). + foldLiveAuditIntoThread(patch) { + const sessionId = String((patch && patch.session_id) || '').trim(); + if (!sessionId) return null; + const entries = (this.auditLog && Array.isArray(this.auditLog.entries)) ? this.auditLog.entries : []; + const headIndex = entries.findIndex((entry) => String(entry.session_id || '').trim() === sessionId); + if (headIndex < 0) return null; + const oldHead = entries[headIndex]; + const oldCount = Number(oldHead.session_count); + const newHead = this.mergeLiveAuditUsagePatch({ + ...patch, + session_count: (Number.isFinite(oldCount) && oldCount > 0 ? oldCount : 1) + 1 + }); + const next = [...entries]; + next.splice(headIndex, 1); + next.unshift(newHead); + this.auditLog.entries = next; + this.prependLiveAuditThreadChild(sessionId, oldHead); + return newHead; + }, + + prependLiveAuditThreadChild(sessionId, entry) { + const lists = this.auditThreadChildren; + const list = lists && lists[sessionId]; + // Not loaded yet: the lazy children fetch will include this entry. + if (!list || !Array.isArray(list.entries)) return; + const child = { ...entry }; + delete child.session_count; + this.auditThreadChildren = { + ...lists, + [sessionId]: { + ...list, + entries: [child, ...list.entries], + total: Number(list.total || list.entries.length) + 1 + } + }; + }, + + removeLiveAuditThreadChild(id, requestID) { + const lists = this.auditThreadChildren; + if (!lists || typeof lists !== 'object') return; + Object.keys(lists).forEach((sessionId) => { + const list = lists[sessionId]; + const entries = list && Array.isArray(list.entries) ? list.entries : []; + const next = entries.filter((entry) => !matchesLiveAuditKey(entry, id, requestID)); + const removed = entries.length - next.length; + if (removed === 0) return; + this.auditThreadChildren = { + ...this.auditThreadChildren, + [sessionId]: { ...list, entries: next, total: Math.max(0, Number(list.total || entries.length) - removed) } + }; + this.decrementLiveAuditThreadCount(sessionId, removed); + }); + }, + + decrementLiveAuditThreadCount(sessionId, count) { + const entries = (this.auditLog && Array.isArray(this.auditLog.entries)) ? this.auditLog.entries : []; + const index = entries.findIndex((entry) => String(entry.session_id || '').trim() === sessionId); + if (index < 0) return; + const head = entries[index]; + const next = [...entries]; + next.splice(index, 1, { ...head, session_count: Math.max(1, Number(head.session_count || 1) - count) }); + this.auditLog.entries = next; + }, + mergeLiveAuditPatch(previous, patch) { const merged = { ...previous, ...patch }; if (patch.data === undefined && previous.data !== undefined) { @@ -268,15 +434,54 @@ export function liveLogsMethods() { const id = String(incoming.id || '').trim(); const requestID = String(incoming.request_id || '').trim(); if (!id && !requestID) return; - const next = this.auditLog.entries.filter((entry) => { - if (id && String(entry.id || '').trim() === id) return false; - if (requestID && String(entry.request_id || '').trim() === requestID) return false; - return true; + const current = this.auditLog.entries; + const next = []; + let removedCount = 0; + let preservedThreads = 0; + let reloadGroupedList = false; + current.forEach((entry) => { + if (!matchesLiveAuditKey(entry, id, requestID)) { + next.push(entry); + return; + } + removedCount++; + const sessionId = String(entry.session_id || '').trim(); + const sessionCount = Math.max(1, Number(entry.session_count || 1)); + if (!this.auditGroupSessions || !sessionId || sessionCount <= 1) return; + + // Removing a live thread head does not remove the persisted + // session behind it. Promote the newest loaded child; if the + // thread was never expanded, refetch the grouped source. + preservedThreads++; + const list = this.auditThreadChildren && this.auditThreadChildren[sessionId]; + const children = list && Array.isArray(list.entries) + ? list.entries.filter((child) => !matchesLiveAuditKey(child, id, requestID)) + : []; + if (children.length === 0) { + reloadGroupedList = true; + return; + } + const promoted = { ...children[0], session_id: sessionId, session_count: sessionCount - 1 }; + next.push(promoted); + this.auditThreadChildren = { + ...this.auditThreadChildren, + [sessionId]: { + ...list, + entries: children.slice(1), + total: Math.max(0, Number(list.total || sessionCount) - 1) + } + }; }); - const removedCount = this.auditLog.entries.length - next.length; if (removedCount > 0) { this.auditLog.entries = next; - this.auditLog.total = Math.max(0, Number(this.auditLog.total || 0) - removedCount); + this.auditLog.total = Math.max( + 0, + Number(this.auditLog.total || 0) - removedCount + preservedThreads + ); + } + this.removeLiveAuditThreadChild(id, requestID); + if (reloadGroupedList && typeof this.fetchAuditLog === 'function') { + this.fetchAuditLog(true); } }, @@ -415,10 +620,33 @@ export function liveLogsMethods() { const requestID = String(usageEntry && usageEntry.request_id || '').trim(); if (!requestID || !this.auditLog || !Array.isArray(this.auditLog.entries)) return; const index = this.auditLog.entries.findIndex((entry) => String(entry.request_id || '').trim() === requestID); - if (index < 0) return; - const entry = this.auditLog.entries[index]; - this.auditLog.entries.splice(index, 1, this.auditEntryWithLiveUsage(entry, usageEntry)); - this.auditLog.entries = [...this.auditLog.entries]; + if (index >= 0) { + const entry = this.auditLog.entries[index]; + this.auditLog.entries.splice(index, 1, this.auditEntryWithLiveUsage(entry, usageEntry)); + this.auditLog.entries = [...this.auditLog.entries]; + } + + const lists = this.auditThreadChildren; + if (!lists || typeof lists !== 'object') return; + let nextLists = lists; + let changed = false; + Object.keys(lists).forEach((sessionId) => { + const list = nextLists[sessionId]; + const entries = list && Array.isArray(list.entries) ? list.entries : []; + const childIndex = entries.findIndex((entry) => String(entry.request_id || '').trim() === requestID); + if (childIndex < 0) return; + const nextEntries = [...entries]; + nextEntries.splice( + childIndex, + 1, + this.auditEntryWithLiveUsage(entries[childIndex], usageEntry) + ); + nextLists = { ...nextLists, [sessionId]: { ...list, entries: nextEntries } }; + changed = true; + }); + if (changed) { + this.auditThreadChildren = nextLists; + } }, auditEntryWithLiveUsage(entry, usageEntry) { diff --git a/web/dashboard/src/pages/audit-logs/liveLogs.svelte.js b/web/dashboard/src/pages/audit-logs/liveLogs.svelte.js index 76d0db195..e60eb737f 100644 --- a/web/dashboard/src/pages/audit-logs/liveLogs.svelte.js +++ b/web/dashboard/src/pages/audit-logs/liveLogs.svelte.js @@ -22,6 +22,7 @@ import { untrack } from "svelte"; import { apiFetch, getJSON, isAbortError } from "$lib/api/client.js"; +import { readStored } from "$lib/utils/storage.js"; import { auth } from "$lib/stores/auth.svelte.js"; import { runtimeConfig } from "$lib/stores/runtimeConfig.svelte.js"; import { router } from "$lib/stores/router.svelte.js"; @@ -41,6 +42,15 @@ class LiveLogsStore { auditMethod = $state(""); auditStatusCode = $state(""); auditStream = $state(""); + + // Session grouping view preference (default ON) and the lazily-fetched + // per-thread children lists ({ [session_id]: {loading, entries, total} }). + // Both live here so the live merge engine can fold displaced heads into a + // thread's children. + auditGroupSessions = $state( + readStored("gomodel_audit_group_sessions", "true") !== "false", + ); + auditThreadChildren = $state({}); usageLogSearch = $state(""); usageFilterModel = $state(""); usageFilterProvider = $state(""); diff --git a/web/dashboard/src/pages/models/VirtualModelEditor.svelte b/web/dashboard/src/pages/models/VirtualModelEditor.svelte index 72fc41e57..eae2ea046 100644 --- a/web/dashboard/src/pages/models/VirtualModelEditor.svelte +++ b/web/dashboard/src/pages/models/VirtualModelEditor.svelte @@ -120,6 +120,16 @@
            +
            + +
            {/if}
            @@ -222,3 +232,20 @@
            + + diff --git a/web/dashboard/src/pages/models/virtualModels.svelte.js b/web/dashboard/src/pages/models/virtualModels.svelte.js index b4efb5d54..c25e52e53 100644 --- a/web/dashboard/src/pages/models/virtualModels.svelte.js +++ b/web/dashboard/src/pages/models/virtualModels.svelte.js @@ -587,6 +587,7 @@ class VirtualModelsStore { target_weight: primaryWeight, targets: extraTargets, strategy: alias.strategy || "round_robin", + session_affinity: alias.session_affinity !== false, user_paths: (Array.isArray(alias.user_paths) ? alias.user_paths : []).join("\n"), description: alias.description || "", enabled: alias.enabled !== false, diff --git a/web/dashboard/src/pages/models/virtualModelsLogic.js b/web/dashboard/src/pages/models/virtualModelsLogic.js index 03c6566a7..81e639efa 100644 --- a/web/dashboard/src/pages/models/virtualModelsLogic.js +++ b/web/dashboard/src/pages/models/virtualModelsLogic.js @@ -184,6 +184,8 @@ export function mapRedirectView(view) { target_model: target.model || "", targets, strategy: view.strategy || "", + // Tri-state on the wire; only explicit false disables session affinity. + session_affinity: view.session_affinity !== false, description: view.description || "", enabled: view.enabled !== false, managed: Boolean(view.managed), @@ -698,6 +700,7 @@ export function defaultVirtualModelForm() { target_weight: 1, targets: [], strategy: "round_robin", + session_affinity: true, user_paths: "", description: "", enabled: true, @@ -811,6 +814,10 @@ export function buildVirtualModelSavePayload(form, originalSource, mode) { payload.targets = strategy === "cost" ? targets.map((target) => ({ model: target.model })) : targets; payload.strategy = strategy; + // Affinity defaults to on server-side; only an explicit opt-out is sent. + if (form && form.session_affinity === false) { + payload.session_affinity = false; + } } else { // A single target stays a plain alias on the back-compat field. payload.target_model = targets[0].model; @@ -832,6 +839,9 @@ export function buildAliasTogglePayload(alias) { const lbTargets = Array.isArray(alias.targets) ? alias.targets : []; if (lbTargets.length > 1) { payload.strategy = alias.strategy || "round_robin"; + if (alias.session_affinity === false) { + payload.session_affinity = false; + } // Weight only biases round-robin, so cost balancers persist weight-less // targets — same contract as the editor save path. payload.targets = diff --git a/web/dashboard/tests/audit-list.test.js b/web/dashboard/tests/audit-list.test.js index 14c41cc63..4f5496ad3 100644 --- a/web/dashboard/tests/audit-list.test.js +++ b/web/dashboard/tests/audit-list.test.js @@ -26,8 +26,17 @@ import { auditRetentionPrefix, auditRetentionText, auditRevisionPercentLabel, + auditGroupedLogWithLiveEntries, + auditIsThreadHead, + auditLogFromSessions, + auditSessionCount, + auditSessionId, auditTabKeydownTarget, + auditThreadChildEntries, buildAuditLogQuery, + buildAuditSessionQuery, + pruneThreadMap, + toggleExpandedThread, formatDurationNs, formatJSON, markExpandedEntry, @@ -689,3 +698,138 @@ test("formatJSON pretty-prints JSON strings and objects, passing other text thro assert.equal(formatJSON("plain text"), "plain text"); assert.equal(formatJSON({ a: 1 }), '{\n "a": 1\n}'); }); + +// --- Session grouping helpers ------------------------------------------------ + +test("buildAuditSessionQuery encodes the session id and omits the date window", () => { + const qs = buildAuditSessionQuery({ sessionId: "team/app|s 1", limit: 100 }); + assert.equal(qs, "session_id=team%2Fapp%7Cs%201&limit=100&offset=0"); +}); + +test("session head helpers handle missing ids and counts", () => { + assert.equal(auditSessionId({ session_id: " s-1 " }), "s-1"); + assert.equal(auditSessionId({}), ""); + assert.equal(auditSessionCount({ session_count: 5 }), 5); + assert.equal(auditSessionCount({ session_count: 0 }), 1); + assert.equal(auditSessionCount({}), 1); + assert.equal(auditIsThreadHead({ session_id: "s-1", session_count: 2 }), true); + assert.equal(auditIsThreadHead({ session_id: "s-1", session_count: 1 }), false); + assert.equal(auditIsThreadHead({ session_count: 3 }), false); +}); + +test("auditLogFromSessions maps thread summaries into head entries", () => { + const payload = { + sessions: [ + { + session_id: "s-1", + count: 3, + latest: { id: "log-3", session_id: "s-1", status_code: 200 }, + }, + { count: 1, latest: { id: "solo", status_code: 200 } }, + { count: 2 }, // no latest: dropped + ], + total: 12, + limit: 25, + offset: 25, + }; + const mapped = auditLogFromSessions(payload); + assert.equal(mapped.entries.length, 2); + assert.equal(mapped.entries[0].id, "log-3"); + assert.equal(mapped.entries[0].session_count, 3); + assert.equal(mapped.entries[1].id, "solo"); + assert.equal(mapped.entries[1].session_count, 1); + assert.equal(mapped.total, 12); + assert.equal(mapped.offset, 25); +}); + +test("auditThreadChildEntries drops the head by id and request_id", () => { + const head = { id: "log-3", request_id: "req-3" }; + const children = auditThreadChildEntries( + [ + { id: "log-3", request_id: "req-3" }, + { id: "log-2", request_id: "req-2" }, + { id: "other", request_id: "req-3" }, + { id: "log-1" }, + ], + head, + ); + assert.deepEqual( + children.map((entry) => entry.id), + ["log-2", "log-1"], + ); +}); + +test("toggleExpandedThread flips per-session and pruneThreadMap drops off-page threads", () => { + let map = toggleExpandedThread({}, "s-1"); + assert.deepEqual(map, { "s-1": true }); + map = toggleExpandedThread(map, "s-2"); + map = toggleExpandedThread(map, "s-1"); + assert.deepEqual(map, { "s-2": true }); + assert.equal(toggleExpandedThread(map, ""), map); + + const pruned = pruneThreadMap( + { "s-2": true, gone: true }, + [{ session_id: "s-2" }, { id: "solo" }], + ); + assert.deepEqual(pruned, { "s-2": true }); + // No change returns the same instance (reactivity-friendly). + const same = { "s-2": true }; + assert.equal(pruneThreadMap(same, [{ session_id: "s-2" }]), same); +}); + +test("auditGroupedLogWithLiveEntries folds pending previews into fetched heads", () => { + const payload = { + entries: [ + { id: "head-a", session_id: "s-a", session_count: 3 }, + { id: "solo", session_id: "" }, + ], + total: 2, + limit: 25, + offset: 0, + }; + const pendingSameSession = { + id: "live-1", + session_id: "s-a", + session_count: 4, + _live: true, + _live_pending: true, + }; + const pendingNewSession = { + id: "live-2", + session_id: "s-b", + _live: true, + _live_pending: true, + }; + const next = auditGroupedLogWithLiveEntries( + payload, + [pendingSameSession, pendingNewSession], + {}, + ); + // s-b preview prepends as a new singleton thread; s-a preview replaces its head. + assert.deepEqual( + next.entries.map((entry) => entry.id), + ["live-2", "live-1", "solo"], + ); + assert.equal(next.entries[1].session_count, 4); + assert.equal(next.total, 3); +}); + +test("auditGroupedLogWithLiveEntries keeps persisted rows over matching previews", () => { + const payload = { + entries: [{ id: "head-a", request_id: "req-1", session_id: "s-a", session_count: 2 }], + total: 1, + limit: 25, + offset: 0, + }; + const pending = { + id: "head-a", + request_id: "req-1", + session_id: "s-a", + _live: true, + _live_pending: true, + }; + const next = auditGroupedLogWithLiveEntries(payload, [pending], {}); + assert.deepEqual(next.entries.map((entry) => entry.id), ["head-a"]); + assert.equal(next.entries[0].session_count, 2); + assert.equal(next.total, 1); +}); diff --git a/web/dashboard/tests/live-logs.test.js b/web/dashboard/tests/live-logs.test.js index 909a682b0..5fe7f13e8 100644 --- a/web/dashboard/tests/live-logs.test.js +++ b/web/dashboard/tests/live-logs.test.js @@ -28,6 +28,8 @@ function createLiveLogsApp(overrides = {}) { usageFilterLabel: "", usageFilterUserPath: "", usageLogHideCached: false, + auditGroupSessions: false, + auditThreadChildren: {}, customStartDate: null, customEndDate: null, page: "audit-logs", @@ -759,3 +761,289 @@ test("audit detail fetch gating: skips captured data, waits for live flush", () data: { workflow_features: { cache: true } }, }), true); }); + +// --- Session-thread grouping ------------------------------------------------- + +test("grouped mode folds a new live entry into its on-screen thread", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [ + { id: "head-a", request_id: "req-1", session_id: "s-a", session_count: 2 }, + { id: "other", session_id: "s-b", session_count: 1 }, + ]; + app.auditLog.total = 2; + app.auditThreadChildren = { + "s-a": { loading: false, entries: [{ id: "old-child" }], total: 2 }, + }; + + app.mergeLiveAuditEntry( + { id: "live-3", request_id: "req-3", session_id: "s-a", path: "/v1/chat/completions" }, + "audit.started", + ); + + // Thread bubbles to the top with the new entry as head and count bumped. + assert.deepEqual( + app.auditLog.entries.map((entry) => entry.id), + ["live-3", "other"], + ); + assert.equal(app.auditLog.entries[0].session_count, 3); + assert.equal(app.auditLog.entries[0]._live_pending, true); + // Total is unchanged: same number of threads. + assert.equal(app.auditLog.total, 2); + // The displaced head moved into the loaded children list, count-free. + const children = app.auditThreadChildren["s-a"]; + assert.deepEqual(children.entries.map((entry) => entry.id), ["head-a", "old-child"]); + assert.equal(children.entries[0].session_count, undefined); + assert.equal(children.total, 3); +}); + +test("grouped fold leaves unloaded children lists alone", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [ + { id: "head-a", session_id: "s-a", session_count: 2 }, + ]; + app.auditLog.total = 1; + + app.mergeLiveAuditEntry({ id: "live-2", session_id: "s-a" }, "audit.started"); + + assert.equal(app.auditLog.entries[0].id, "live-2"); + assert.equal(app.auditLog.entries[0].session_count, 3); + assert.deepEqual(app.auditThreadChildren, {}); +}); + +test("grouped mode without a matching thread prepends a singleton head", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head-a", session_id: "s-a", session_count: 2 }]; + app.auditLog.total = 1; + + app.mergeLiveAuditEntry({ id: "live-9", session_id: "s-new" }, "audit.started"); + + assert.deepEqual( + app.auditLog.entries.map((entry) => entry.id), + ["live-9", "head-a"], + ); + assert.equal(app.auditLog.total, 2); +}); + +test("flat mode never folds by session", () => { + const app = createLiveLogsApp({ auditGroupSessions: false }); + app.auditLog.entries = [{ id: "row-1", session_id: "s-a" }]; + app.auditLog.total = 1; + + app.mergeLiveAuditEntry({ id: "row-2", session_id: "s-a" }, "audit.started"); + + assert.deepEqual( + app.auditLog.entries.map((entry) => entry.id), + ["row-2", "row-1"], + ); + assert.equal(app.auditLog.total, 2); +}); + +test("grouped fold respects the live insert gate", () => { + const app = createLiveLogsApp({ auditGroupSessions: true, auditSearch: "x" }); + app.auditLog.entries = [{ id: "head-a", session_id: "s-a", session_count: 2 }]; + app.auditLog.total = 1; + + app.mergeLiveAuditEntry({ id: "live-3", session_id: "s-a" }, "audit.started"); + + assert.deepEqual(app.auditLog.entries.map((entry) => entry.id), ["head-a"]); + assert.equal(app.auditLog.entries[0].session_count, 2); +}); + +test("live updates merge into displaced entries living in children lists", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head", session_id: "s-a", session_count: 2 }]; + app.auditThreadChildren = { + "s-a": { + loading: false, + entries: [{ id: "child-1", request_id: "req-c1", status_code: null }], + total: 2, + }, + }; + + app.mergeLiveAuditEntry( + { id: "child-1", request_id: "req-c1", status_code: 200 }, + "audit.flushed", + ); + + const child = app.auditThreadChildren["s-a"].entries[0]; + assert.equal(child.status_code, 200); + assert.equal(child._audit_flushed, true); + // The head list is untouched. + assert.deepEqual(app.auditLog.entries.map((entry) => entry.id), ["head"]); +}); + +test("late usage updates enrich displaced entries living in children lists", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head", request_id: "req-head", session_id: "s-a", session_count: 2 }]; + app.auditThreadChildren = { + "s-a": { + loading: false, + entries: [{ id: "child-1", request_id: "req-c1" }], + total: 2, + }, + }; + + app.mergeLiveUsageEntry( + { id: "usage-1", request_id: "req-c1", input_tokens: 10, output_tokens: 4 }, + "usage.completed", + ); + + const child = app.auditThreadChildren["s-a"].entries[0]; + assert.equal(child.usage.input_tokens, 10); + assert.equal(child.usage.output_tokens, 4); + assert.equal(child.usage.total_tokens, 14); + assert.equal(app.auditLog.entries[0].usage, undefined); +}); + +test("audit.detail events hydrate children-list entries", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditThreadChildren = { + "s-a": { loading: false, entries: [{ id: "child-1" }], total: 2 }, + }; + + const merged = app.mergeLiveAuditEntry( + { id: "child-1", data: { request_body: { model: "gpt-4o" } } }, + "audit.detail", + ); + + assert.equal(merged._detail_loaded, true); + assert.deepEqual( + app.auditThreadChildren["s-a"].entries[0].data.request_body, + { model: "gpt-4o" }, + ); +}); + +test("audit.removed cleans children lists and decrements the head count", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head", session_id: "s-a", session_count: 3 }]; + app.auditLog.total = 1; + app.auditThreadChildren = { + "s-a": { + loading: false, + entries: [{ id: "child-1" }, { id: "child-2" }], + total: 3, + }, + }; + + app.removeLiveAuditEntry({ id: "child-1" }); + + assert.deepEqual( + app.auditThreadChildren["s-a"].entries.map((entry) => entry.id), + ["child-2"], + ); + assert.equal(app.auditThreadChildren["s-a"].total, 2); + assert.equal(app.auditLog.entries[0].session_count, 2); + // Head list itself is untouched by a child removal. + assert.equal(app.auditLog.total, 1); +}); + +test("audit.removed promotes a loaded child when a grouped head disappears", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head", session_id: "s-a", session_count: 3 }]; + app.auditLog.total = 1; + app.auditThreadChildren = { + "s-a": { + loading: false, + entries: [ + { id: "child-2", session_id: "s-a" }, + { id: "child-1", session_id: "s-a" }, + ], + total: 3, + }, + }; + + app.removeLiveAuditEntry({ id: "head" }); + + assert.deepEqual(app.auditLog.entries.map((entry) => entry.id), ["child-2"]); + assert.equal(app.auditLog.entries[0].session_count, 2); + assert.equal(app.auditLog.total, 1); + assert.deepEqual( + app.auditThreadChildren["s-a"].entries.map((entry) => entry.id), + ["child-1"], + ); + assert.equal(app.auditThreadChildren["s-a"].total, 2); +}); + +test("audit.removed reloads an unexpanded grouped thread when its head disappears", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head", session_id: "s-a", session_count: 3 }]; + app.auditLog.total = 1; + + app.removeLiveAuditEntry({ id: "head" }); + + assert.deepEqual(app.auditLog.entries, []); + assert.equal(app.auditLog.total, 1); + assert.equal(app.fetchAuditCalls, 1); +}); + +test("a sessionless live row re-folds into its thread once a later event adds the session id", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + app.auditLog.entries = [{ id: "head-a", session_id: "s-a", session_count: 2 }]; + app.auditLog.total = 1; + app.auditThreadChildren = { + "s-a": { loading: false, entries: [{ id: "old-child" }], total: 2 }, + }; + + // audit.started fires before session detection: the row arrives sessionless + // and prepends as its own singleton thread. + app.mergeLiveAuditEntry({ id: "live-1", request_id: "req-1" }, "audit.started"); + assert.equal(app.auditLog.entries.length, 2); + assert.equal(app.auditLog.total, 2); + + // The terminal event delivers the session id: the row folds into its thread. + app.mergeLiveAuditEntry( + { id: "live-1", request_id: "req-1", session_id: "s-a", status_code: 200 }, + "audit.flushed", + ); + + assert.deepEqual(app.auditLog.entries.map((entry) => entry.id), ["live-1"]); + assert.equal(app.auditLog.entries[0].session_count, 3); + assert.equal(app.auditLog.total, 1); + // The displaced head moved into the loaded children. + assert.deepEqual( + app.auditThreadChildren["s-a"].entries.map((entry) => entry.id), + ["head-a", "old-child"], + ); +}); + +test("re-fold leaves rows alone in flat mode and without a matching head", () => { + const flat = createLiveLogsApp({ auditGroupSessions: false }); + flat.auditLog.entries = [{ id: "row-a", session_id: "s-a" }]; + flat.auditLog.total = 1; + flat.mergeLiveAuditEntry({ id: "row-a", session_id: "s-a", status_code: 200 }, "audit.flushed"); + assert.equal(flat.auditLog.entries.length, 1); + + const grouped = createLiveLogsApp({ auditGroupSessions: true }); + grouped.auditLog.entries = [{ id: "solo", session_id: "s-new" }]; + grouped.auditLog.total = 1; + grouped.mergeLiveAuditEntry({ id: "solo", session_id: "s-new", status_code: 200 }, "audit.flushed"); + assert.deepEqual(grouped.auditLog.entries.map((entry) => entry.id), ["solo"]); + assert.equal(grouped.auditLog.total, 1); +}); + +test("re-fold keeps the newest request as head when completions arrive out of order", () => { + const app = createLiveLogsApp({ auditGroupSessions: true }); + // A starts first, B starts later; both sessionless. + app.mergeLiveAuditEntry( + { id: "req-a", timestamp: "2026-07-27T10:00:00Z" }, + "audit.started", + ); + app.mergeLiveAuditEntry( + { id: "req-b", timestamp: "2026-07-27T10:00:05Z" }, + "audit.started", + ); + // B completes first and gains the session id (no other head yet: stays put). + app.mergeLiveAuditEntry( + { id: "req-b", timestamp: "2026-07-27T10:00:05Z", session_id: "s-a", status_code: 200 }, + "audit.flushed", + ); + // A completes last: it must fold UNDER B, which is the newer request. + app.mergeLiveAuditEntry( + { id: "req-a", timestamp: "2026-07-27T10:00:00Z", session_id: "s-a", status_code: 200 }, + "audit.flushed", + ); + + assert.deepEqual(app.auditLog.entries.map((entry) => entry.id), ["req-b"]); + assert.equal(app.auditLog.entries[0].session_count, 2); + assert.equal(app.auditLog.total, 1); +});