From 5b3bb2635a7a155a35ce71c28e44818a617e207f Mon Sep 17 00:00:00 2001 From: yoruuuchan <1587761204@qq.com> Date: Thu, 29 Oct 2026 13:04:11 +0900 Subject: [PATCH 01/11] =?UTF-8?q?feat(providers):=20add=20CodeArts=20(?= =?UTF-8?q?=E7=A0=81=E9=81=93)=20adapter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 +- README_EN.md | 11 +- changelog/unreleased/codearts-provider.md | 7 + docs/ARCHITECTURE_SUMMARY.md | 5 +- frontend/src/components/AddAccountModal.tsx | 16 +- frontend/src/i18n/messages.ts | 8 +- frontend/src/lib/provider.ts | 8 + internal/app/app.go | 2 + internal/providers/codearts/NOTICE | 26 + internal/providers/codearts/catalog.go | 460 +++++++++++++++++ internal/providers/codearts/chat.go | 296 +++++++++++ internal/providers/codearts/checkin.go | 222 ++++++++ internal/providers/codearts/client.go | 485 ++++++++++++++++++ internal/providers/codearts/codearts_test.go | 387 ++++++++++++++ internal/providers/codearts/constants.go | 83 +++ internal/providers/codearts/credential.go | 300 +++++++++++ internal/providers/codearts/doc.go | 73 +++ internal/providers/codearts/dpop.go | 123 +++++ internal/providers/codearts/errors.go | 128 +++++ internal/providers/codearts/import.go | 23 + internal/providers/codearts/oauth.go | 374 ++++++++++++++ internal/providers/codearts/payload.go | 305 +++++++++++ internal/providers/codearts/quota.go | 246 +++++++++ .../providers/codearts/s04_interfaces_test.go | 60 +++ internal/providers/codearts/signer.go | 120 +++++ internal/providers/codearts/sse.go | 458 +++++++++++++++++ internal/providers/registry.go | 31 +- ...hart-B-HmzR8M.js => AreaChart-C0mk2RpN.js} | 2 +- .../static/assets/CartesianChart-C36ZX62E.js | 21 + .../static/assets/CartesianChart-D9Qz51Q6.js | 21 - ...hart-B2R12QhR.js => CostChart-DBx6RL9U.js} | 2 +- ...-BKHIKlZl.js => LiveSparkline-D4Z7e4mF.js} | 2 +- ...t-C_J3rzAT.js => TrafficChart-BU-PbGSj.js} | 2 +- .../webui/static/assets/XAxis-CcjVCtOa.js | 33 -- .../webui/static/assets/XAxis-hz2I6mvW.js | 33 ++ .../webui/static/assets/index-C-bfWHJD.css | 2 + .../webui/static/assets/index-C5LslQI9.js | 96 ---- .../webui/static/assets/index-CfDkOa9Q.css | 2 - .../webui/static/assets/index-DksXuUH8.js | 96 ++++ internal/webui/static/index.html | 4 +- 40 files changed, 4404 insertions(+), 180 deletions(-) create mode 100644 changelog/unreleased/codearts-provider.md create mode 100644 internal/providers/codearts/NOTICE create mode 100644 internal/providers/codearts/catalog.go create mode 100644 internal/providers/codearts/chat.go create mode 100644 internal/providers/codearts/checkin.go create mode 100644 internal/providers/codearts/client.go create mode 100644 internal/providers/codearts/codearts_test.go create mode 100644 internal/providers/codearts/constants.go create mode 100644 internal/providers/codearts/credential.go create mode 100644 internal/providers/codearts/doc.go create mode 100644 internal/providers/codearts/dpop.go create mode 100644 internal/providers/codearts/errors.go create mode 100644 internal/providers/codearts/import.go create mode 100644 internal/providers/codearts/oauth.go create mode 100644 internal/providers/codearts/payload.go create mode 100644 internal/providers/codearts/quota.go create mode 100644 internal/providers/codearts/s04_interfaces_test.go create mode 100644 internal/providers/codearts/signer.go create mode 100644 internal/providers/codearts/sse.go rename internal/webui/static/assets/{AreaChart-B-HmzR8M.js => AreaChart-C0mk2RpN.js} (60%) create mode 100644 internal/webui/static/assets/CartesianChart-C36ZX62E.js delete mode 100644 internal/webui/static/assets/CartesianChart-D9Qz51Q6.js rename internal/webui/static/assets/{CostChart-B2R12QhR.js => CostChart-DBx6RL9U.js} (93%) rename internal/webui/static/assets/{LiveSparkline-BKHIKlZl.js => LiveSparkline-D4Z7e4mF.js} (73%) rename internal/webui/static/assets/{TrafficChart-C_J3rzAT.js => TrafficChart-BU-PbGSj.js} (73%) delete mode 100644 internal/webui/static/assets/XAxis-CcjVCtOa.js create mode 100644 internal/webui/static/assets/XAxis-hz2I6mvW.js create mode 100644 internal/webui/static/assets/index-C-bfWHJD.css delete mode 100644 internal/webui/static/assets/index-C5LslQI9.js delete mode 100644 internal/webui/static/assets/index-CfDkOa9Q.css create mode 100644 internal/webui/static/assets/index-DksXuUH8.js diff --git a/README.md b/README.md index 70130faf..4f79840d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **把你自己的登录态,变成一个本机 OpenAI 兼容 API** -接入 **Qoder(国际版 / 国内版)**、**WorkBuddy(国际版 / 国内版)**、**Trae 国内版 Work**,以及实验性的 **Devin** 和 **Command Code**。 +接入 **Qoder(国际版 / 国内版)**、**WorkBuddy(国际版 / 国内版)**、**Trae 国内版 Work**,以及实验性的 **Devin**、**Command Code** 和 **华为云码道 CodeArts**。 用 Docker 部署,在 Web 控制台管理账号,再通过兼容 API 接入客户端。 @@ -26,9 +26,10 @@ - **兼容接口**:Chat Completions、Responses、Anthropic Messages 和模型列表,支持流式回复与函数工具调用。 - **多账号调度**:轮询、加权轮询、顺序填满,以及可选的同供应商最早到期优先(FEFO);保留自动选号、会话粘性、并发限制、冷却与故障切换。 - **统一控制台**:管理账号、模型、客户端密钥、代理设置,查看额度和请求日志。 +- **华为云码道(实验性)**:OAuth PKCE 登录后直连 snap-access 的 OpenAI 兼容接口,支持流式与工具调用,并读取套餐积分 / token 计量。 - **Docker 运维**:持久化账号数据;可选安装宿主机更新器,在控制台下载更新、确认升级和回滚。 -Qoder 国内版、WorkBuddy、Trae 的适配代码已实现,真账号验收仍未完成;Devin 与 Command Code 为实验性接入,不承诺生产可用。托管更新的真实升级 / 回滚验收也尚未完成。Kimi Code(中国区)已完成单账号端到端验收:设备码登录、模型发现、三种接口的对话 / 流式 / 工具调用 / 视觉,以及额度读取;多账号行为只有自动化测试覆盖。 +Qoder 国内版、WorkBuddy、Trae 的适配代码已实现,真账号验收仍未完成;Devin、Command Code 与华为云码道 CodeArts 为实验性接入,不承诺生产可用。托管更新的真实升级 / 回滚验收也尚未完成。Kimi Code(中国区)已完成单账号端到端验收:设备码登录、模型发现、三种接口的对话 / 流式 / 工具调用 / 视觉,以及额度读取;多账号行为只有自动化测试覆盖。码道 CodeArts 的 OAuth 登录、模型发现、对话与签到按上游协议实现,但真实账号端到端验收和签到验收仍待完成。 ## 快速开始 @@ -63,7 +64,7 @@ API Key: <在 API keys 页面创建的客户端密钥> CLI2API 架构:OpenAI 客户端经 Go 控制面路由到每账号独立运行时,再连接各 provider 上游

-Go 网关统一鉴权、调度和记录请求。Qoder 每个账号使用独立 Node 进程与 HOME;WorkBuddy、Trae、Devin、Command Code 使用 Go 进程内适配器,不为每次请求启动完整 CLI。 +Go 网关统一鉴权、调度和记录请求。Qoder 每个账号使用独立 Node 进程与 HOME;WorkBuddy、Trae、Devin、Command Code 使用 Go 进程内适配器,不为每次请求启动完整 CLI;码道 CodeArts 也走进程内适配器,直连华为云 snap-access 的 OpenAI 兼容网关,不拉起码道 CLI 或 IDE。 ## 控制台 @@ -82,13 +83,13 @@ Go 网关统一鉴权、调度和记录请求。Qoder 每个账号使用独立 N - **只在同一供应商内排序**:先按供应商分组,再比较本组账号最近的积分包到期日;Qoder、WorkBuddy 等互不影响,跨供应商仍按原有轮询选择。 - **只认实际可消费的积分包到期**:跳过余额为零、已过期或到期未知的包;同一 UTC+8 自然日到期的账号公平轮询。未知到期不猜测,作为该供应商的兜底候选,只有已知到期账号都不可用时才参与。 - **额度与故障切换照旧**:额度耗尽、限流冷却、并发占满或被显式排除的账号先退出候选,恢复后自动回到排序。响应或流结束后异步刷新该账号额度并重新排序;缓存中的包自然过期也会触发额度探测。不会把订阅重置、令牌有效期或签到奖励当成积分包到期。 -- **数据缺口**:目前只有 WorkBuddy 个人账号的 `get-user-resource` 返回逐包 `CycleEndTime`。Qoder 的 `quota/usage` 只有订阅月度边界(`expiresAt`),Trae、Devin、Command Code、Codex 也只有重置窗口或总额度,因此这些供应商的账号在 FEFO 下按未知日期处理。WorkBuddy 企业/共享身份,以及结果达到 100 条的未确认列表,也不会获得 FEFO 优先级。升级后尚未刷新额度的旧缓存同样按未知日期处理,启动探测或手动刷新后才会带上包元数据。 +- **数据缺口**:目前只有 WorkBuddy 个人账号的 `get-user-resource` 返回逐包 `CycleEndTime`。Qoder 的 `quota/usage` 只有订阅月度边界(`expiresAt`),Trae、Devin、Command Code、Codex 也只有重置窗口或总额度,因此这些供应商的账号在 FEFO 下按未知日期处理。码道 CodeArts 的统计接口提供套餐积分与 token 计量,但不提供逐包到期日,同样按未知日期兜底,不伪造到期。WorkBuddy 企业/共享身份,以及结果达到 100 条的未确认列表,也不会获得 FEFO 优先级。升级后尚未刷新额度的旧缓存同样按未知日期处理,启动探测或手动刷新后才会带上包元数据。 ## 使用限制 - 只连接你自己的账号,不提供账号、额度或官方 API 服务。 - 兼容接口不等于完整复刻官方 API。Messages / Responses 为无状态适配,不保存服务端会话,也不执行上游专属工具。 -- 图片能力取决于上游和模型,网关把上游声明的图片输入逐模型透出为 `supports_images`(`/v1/models` 与 `/api/models`)。WorkBuddy 的 DeepSeek V4 / V4.1、GLM、Kimi 等模型支持图片;Trae、Command、Zhipu 未声明图片输入。具体范围见 [部署说明](deploy/README.md)。 +- 图片能力取决于上游和模型,网关把上游声明的图片输入逐模型透出为 `supports_images`(`/v1/models` 与 `/api/models`)。WorkBuddy 的 DeepSeek V4 / V4.1、GLM、Kimi 等模型支持图片;Trae、Command、Zhipu 与码道 CodeArts 未声明图片输入。具体范围见 [部署说明](deploy/README.md)。 - 跨上游同名模型调度受系统开关、账号权限和地域约束;不是任意账号之间都能切换。 - 上游协议变化可能影响兼容性;请求日志默认不保存提示词或回复正文。 diff --git a/README_EN.md b/README_EN.md index 293d3e97..37be2bb6 100644 --- a/README_EN.md +++ b/README_EN.md @@ -4,7 +4,7 @@ **Turn your own logins into a local OpenAI-compatible API** -Connect **Qoder (Global / CN)**, **WorkBuddy (Global / CN)**, **Trae CN Work**, and experimental **Devin** and **Command Code** accounts. +Connect **Qoder (Global / CN)**, **WorkBuddy (Global / CN)**, **Trae CN Work**, and experimental **Devin**, **Command Code**, and **Huawei Cloud CodeArts (码道)** accounts. Deploy with Docker, manage accounts in the web console, and connect clients through compatible APIs. @@ -26,9 +26,10 @@ Deploy with Docker, manage accounts in the web console, and connect clients thro - **Compatible APIs**: Chat Completions, Responses, Anthropic Messages, and model listing, with streaming and function tools. - **Multi-account routing**: round-robin, weighted round-robin, fill-first, and opt-in same-provider earliest-expiry-first (FEFO), with automatic selection, session affinity, concurrency limits, cooldowns, and failover. - **Web console**: manage accounts, models, client keys, and proxies; view quotas and request logs. +- **Huawei Cloud CodeArts (experimental)**: OAuth PKCE sign-in followed by direct OpenAI-compatible calls to snap-access, with streaming, tools, and package-credit / token meters. - **Docker operations**: persistent account data; an optional host updater lets you download, confirm, and roll back updates from the console. -Qoder CN, WorkBuddy, and Trae adapters are implemented, but live-account acceptance is still pending. Devin and Command Code are experimental, not production-ready. Live upgrade and rollback acceptance is also pending. The Kimi Code CN adapter has single-account end-to-end acceptance: device-code sign-in, model discovery, chat/streaming/tools/vision on all three APIs, and quota readout; multi-account behavior is covered by automated tests only. +Qoder CN, WorkBuddy, and Trae adapters are implemented, but live-account acceptance is still pending. Devin, Command Code, and Huawei Cloud CodeArts are experimental, not production-ready. Live upgrade and rollback acceptance is also pending. The Kimi Code CN adapter has single-account end-to-end acceptance: device-code sign-in, model discovery, chat/streaming/tools/vision on all three APIs, and quota readout; multi-account behavior is covered by automated tests only. CodeArts OAuth sign-in, model discovery, chat, and check-in are implemented against the upstream protocol, but live-account end-to-end and check-in acceptance are still pending. ## Quick start @@ -63,7 +64,7 @@ Get a model ID from **Access** or `/v1/models`. Routing is automatic and prefers CLI2API architecture: OpenAI clients are routed by the Go control plane to one isolated runtime per account, then to the provider upstream

-The Go gateway handles authentication, routing, and request logging. Each Qoder account has its own Node process and HOME; WorkBuddy, Trae, Devin, and Command Code use Go in-process adapters. No full CLI is started per request. +The Go gateway handles authentication, routing, and request logging. Each Qoder account has its own Node process and HOME; WorkBuddy, Trae, Devin, Command Code, and CodeArts use Go in-process adapters. No full CLI is started per request. ## Console @@ -82,13 +83,13 @@ Select **Earliest expiry first (FEFO)** under **System → Account routing strat - **Rank only inside one provider.** Accounts are grouped by provider family before their nearest credit-package expiry is compared. Qoder, WorkBuddy, and other providers never compete with each other, and cross-provider selection keeps its existing rotation. - **Use only spendable package dates.** Depleted, expired, and undated packages are skipped. Accounts expiring on the same UTC+8 calendar day rotate fairly. Missing dates are never guessed: they form that provider's fallback cohort and participate only after every dated account is unavailable. - **Keep quota and failover semantics.** Exhausted, cooling, concurrency-saturated, or explicitly excluded accounts leave the candidate set and return to the ranking once they recover. Finishing a response or stream refreshes that account's quota asynchronously; a cached package expiring naturally also triggers a probe. Subscription resets, token lifetimes, and check-in rewards are never treated as package expiry. -- **Data gaps.** Only WorkBuddy personal accounts currently return per-package `CycleEndTime` from `get-user-resource`. Qoder's `quota/usage` exposes only the subscription cycle boundary (`expiresAt`), while Trae, Devin, Command Code, and Codex expose reset windows or totals only, so their accounts remain in the unknown-date cohort under FEFO. WorkBuddy enterprise/shared identities and unconfirmed result sets capped at 100 also receive no FEFO priority. Cached quota snapshots written before this version remain undated until the boot probe or a manual refresh repopulates the package metadata. +- **Data gaps.** Only WorkBuddy personal accounts currently return per-package `CycleEndTime` from `get-user-resource`. Qoder's `quota/usage` exposes only the subscription cycle boundary (`expiresAt`), while Trae, Devin, Command Code, and Codex expose reset windows or totals only, so their accounts remain in the unknown-date cohort under FEFO. CodeArts reports package credits and token meters but no per-package expiry, so it is treated as unknown rather than given a fabricated date. WorkBuddy enterprise/shared identities and unconfirmed result sets capped at 100 also receive no FEFO priority. Cached quota snapshots written before this version remain undated until the boot probe or a manual refresh repopulates the package metadata. ## Limitations - Bring your own accounts. CLI2API does not supply accounts, quotas, or an official API service. - Compatibility is not full API parity. Messages / Responses are stateless adapters, without server-side conversations or upstream-specific tool execution. -- Image support depends on the upstream and model. The gateway surfaces each model's declared image input as `supports_images` on `/v1/models` and `/api/models`. WorkBuddy's DeepSeek V4 / V4.1, GLM, and Kimi models accept images; Trae, Command, and Zhipu do not declare image input. See the [deployment guide](deploy/README.md) for details. +- Image support depends on the upstream and model. The gateway surfaces each model's declared image input as `supports_images` on `/v1/models` and `/api/models`. WorkBuddy's DeepSeek V4 / V4.1, GLM, and Kimi models accept images; Trae, Command, Zhipu, and CodeArts do not declare image input. See the [deployment guide](deploy/README.md) for details. - Cross-provider routing for shared model IDs follows system settings, key grants, and region constraints; failover is not unrestricted. - Upstream changes can break compatibility. Request logs do not store prompt or completion bodies by default. diff --git a/changelog/unreleased/codearts-provider.md b/changelog/unreleased/codearts-provider.md new file mode 100644 index 00000000..e44b4619 --- /dev/null +++ b/changelog/unreleased/codearts-provider.md @@ -0,0 +1,7 @@ +### English + +- Add the experimental Huawei Cloud CodeArts Agent (码道) provider: OAuth PKCE sign-in, direct OpenAI-compatible chat and SSE, catalog discovery, quota meters, and daily/new-user credit check-in. Live-account acceptance is still pending. + +### 中文 + +- 新增实验性的华为云码道 CodeArts 供应商:OAuth PKCE 登录、直连 OpenAI 兼容对话与 SSE、模型目录、额度计量,以及每日 / 新用户积分签到。真实账号验收仍待完成。 diff --git a/docs/ARCHITECTURE_SUMMARY.md b/docs/ARCHITECTURE_SUMMARY.md index ef434cf2..a6e691f0 100644 --- a/docs/ARCHITECTURE_SUMMARY.md +++ b/docs/ARCHITECTURE_SUMMARY.md @@ -6,7 +6,7 @@ status: canonical read-when: 需要快速理解后端分层、请求路径、运行时和 provider 扩展边界时 summary: 面向贡献者和 AI 的精简架构摘要;详细协议、里程碑和本地运维资料不在本文维护。 related: [AGENTS.md, CONTRIBUTING.md, docs/DESIGN.md, docs/REFACTORING.md, docs/NATIVE_PROTOCOL_REQUESTS.md] -last-updated: 2026-09-24 +last-updated: 2026-10-29 --- # CLI2API 架构摘要 @@ -20,7 +20,7 @@ CLI2API 是一个面向个人部署的 Go + Node 网关: - 对外提供 OpenAI Chat Completions、Anthropic Messages、OpenAI Responses 和 Models 兼容接口。 - 管理多个上游账号,并按 provider、region、model、pin、会话粘性和冷却状态选号。 -- Qoder 登录、目录和配额仍使用每账号隔离的 Node child process;Qoder 聊天在 Go 进程内签名直连网关。WorkBuddy、Trae CN Work 和 Devin 使用 Go 进程内 adapter。 +- Qoder 登录、目录和配额仍使用每账号隔离的 Node child process;Qoder 聊天在 Go 进程内签名直连网关。WorkBuddy、Trae CN Work、Devin 和 CodeArts 使用 Go 进程内 adapter;CodeArts 直连华为云 snap-access 的 OpenAI 兼容网关,不启动 CLI。 - 控制台负责账号、密钥、设置、目录、日志、登录、导入和更新操作。 - 这是个人网关,不实现计费、Redis 槽位、多租户商业网关或公开暴露的管理端口。 @@ -75,6 +75,7 @@ cmd/server - Qoder 的 CLI / worker 兼容性版本固定在 `worker/src/compat.mjs`,不兼容时应明确失败。 - Qoder 聊天改为在 Go 进程内使用 COSY 客户端签名直连网关([`internal/providers/qoder/cosy.go`](../internal/providers/qoder/cosy.go))。COSY 协议版本固定在 [`COSYVersion = "1.1.32"`](cosy.go:23),支持中国区(`gateway.qoder.com.cn`)和全球区(`api1.qoder.sh`)双端点。 - WorkBuddy、Trae CN Work、Devin 使用进程内 adapter,不复制 Qoder worker 生命周期。 +- CodeArts 使用进程内 adapter:OAuth PKCE 只用于换取短期 STS 凭据,聊天直连 `snap-access.cn-north-4.myhuaweicloud.com` 的 OpenAI 兼容端点;不得改为每请求启动码道 CLI。 - provider 负责上游事实映射;executor 负责是否切号、冷却多久和是否 failover。 - Provider 能力、模型目录和 reasoning level 必须以实际 catalog 声明为准,不凭空增加模型能力。 diff --git a/frontend/src/components/AddAccountModal.tsx b/frontend/src/components/AddAccountModal.tsx index cc11577b..70e9ee0d 100644 --- a/frontend/src/components/AddAccountModal.tsx +++ b/frontend/src/components/AddAccountModal.tsx @@ -67,6 +67,7 @@ const labelKeys: Record = { 'qwenwork-global': 'accountTypeQwenworkGlobal', 'qwenwork-cn': 'accountTypeQwenworkCN', 'kimi-cn': 'accountTypeKimiCN', + 'codearts-cn-north-4': 'accountTypeCodeArtsCN', 'meta-global': 'accountTypeMetaGlobal', } @@ -83,6 +84,7 @@ const hintKeys: Record = { 'qwenwork-global': 'accountTypeQwenworkGlobalHint', 'qwenwork-cn': 'accountTypeQwenworkCNHint', 'kimi-cn': 'accountTypeKimiCNHint', + 'codearts-cn-north-4': 'accountTypeCodeArtsCNHint', 'meta-global': 'accountTypeMetaGlobalHint', } @@ -200,7 +202,7 @@ export function AddAccountModal({ isOpen, onClose, onAdded }: Props) { // so the wizard opens on the PAT tab instead of the browser tab. const hasBrowserLogin = activeOption?.descriptor.capabilities?.browser_login !== false const showDropSystem = activeOption?.provider === 'workbuddy' || activeOption?.provider === 'trae' - const showCallbackPaste = activeOption?.provider === 'trae' || activeOption?.provider === 'devin' || activeOption?.provider === 'codex' + const showCallbackPaste = activeOption?.provider === 'trae' || activeOption?.provider === 'devin' || activeOption?.provider === 'codex' || activeOption?.provider === 'codearts' const busy = phase === 'busy' || phase === 'polling' const settingsLocked = Boolean(createdId.current) || busy const isDone = phase === 'done' @@ -234,11 +236,11 @@ export function AddAccountModal({ isOpen, onClose, onAdded }: Props) { max_inflight: parsedMaxInFlight(), priority: parsedPriority(), // WorkBuddy exposes the switch because upstream content screening rejects - // third-party system prompts. Trae and Kimi keep caller system prompts: - // clients such as MiMo Code put JSON instructions there, and those - // families have no equivalent screening. Every other provider keeps the - // historical drop=true default. - drop_system_prompt: showDropSystem ? dropSystemPrompt : activeOption?.provider !== 'kimi', + // third-party system prompts. Trae, Kimi and CodeArts keep caller system + // prompts: clients such as MiMo Code put JSON instructions there, and + // those families have no equivalent screening. Every other provider keeps + // the historical drop=true default. + drop_system_prompt: showDropSystem ? dropSystemPrompt : activeOption?.provider !== 'kimi' && activeOption?.provider !== 'codearts', proxy_url: proxyUrl.trim(), } } @@ -320,7 +322,7 @@ export function AddAccountModal({ isOpen, onClose, onAdded }: Props) { const option = providerOptions.find((item) => item.id === next) setAccountType(next) setTab(option?.provider === 'zhipu' ? 'pat' : 'browser') - setDropSystemPrompt(option?.provider !== 'trae' && option?.provider !== 'kimi') + setDropSystemPrompt(option?.provider !== 'trae' && option?.provider !== 'kimi' && option?.provider !== 'codearts') setMessage('') setStep('login') } diff --git a/frontend/src/i18n/messages.ts b/frontend/src/i18n/messages.ts index 4cde3740..8c882938 100644 --- a/frontend/src/i18n/messages.ts +++ b/frontend/src/i18n/messages.ts @@ -13,7 +13,7 @@ export const messages: Record = { routesHint: 'OpenAI / Anthropic-compatible routes', clientConfig: 'Client configuration', clientConfigHint: 'Use the same console key as Bearer token', - providerPrefixHint: 'Pin a provider with a qoder/, workbuddy/, trae/, devin/, command/, codex/, zhipu/, qwenwork/, kimi/, or meta/ model prefix. A named API key can also limit which providers are listed and routed. Bare IDs follow the cross-provider pool setting on System.', + providerPrefixHint: 'Pin a provider with a qoder/, workbuddy/, trae/, devin/, command/, codex/, zhipu/, qwenwork/, kimi/, codearts/, or meta/ model prefix. A named API key can also limit which providers are listed and routed. Bare IDs follow the cross-provider pool setting on System.', authentication: 'Authentication', curlExample: 'curl example', quickTestHint: 'Send a real request through the selected account', @@ -773,6 +773,8 @@ export const messages: Record = { accountTypeQwenworkCNHint: '千问办公 China (qwenwork.cn) via browser OAuth or imported credential. The authorization link is single-use: open it directly in a browser already signed in to the target account, and do not send it through chat tools. The CN region has not yet been verified with a real account.', accountTypeKimiCN: 'Kimi Code CN', accountTypeKimiCNHint: 'Kimi Code China subscription via device-code sign-in against auth.kimi.com. Uses the same OAuth client as the official CLI, so the login you already completed with Kimi Code can be pasted in as its credential JSON.', + accountTypeCodeArtsCN: 'CodeArts (码道)', + accountTypeCodeArtsCNHint: 'Huawei Cloud CodeArts Agent via OAuth PKCE against codearts.huaweicloud.com. The console opens the authorization page; a pasted 127.0.0.1 callback URL also completes the login when the browser cannot reach this host.', accountTypeMetaGlobal: 'Muse (Meta)', accountTypeMetaGlobalHint: 'Meta Muse Code subscription via device-code sign-in against auth.meta.com. After approval the console mints an LLM API key at api.meta.ai. You can also paste a Meta Model API key on the PAT tab.', providerGroupSubscriptions: 'Subscriptions', @@ -932,7 +934,7 @@ export const messages: Record = { routesHint: 'OpenAI / Anthropic 兼容端点', clientConfig: '客户端配置', clientConfigHint: '使用与控制台相同的密钥作为 Bearer Token', - providerPrefixHint: '用 qoder/、workbuddy/、trae/、devin/、command/、codex/、zhipu/、qwenwork/、kimi/ 或 meta/ 前缀指定供应商。客户端 API 密钥也可以限制可见和可调度的供应商。不带前缀时是否跨供应商,由系统设置里的模型池决定。', + providerPrefixHint: '用 qoder/、workbuddy/、trae/、devin/、command/、codex/、zhipu/、qwenwork/、kimi/、codearts/ 或 meta/ 前缀指定供应商。客户端 API 密钥也可以限制可见和可调度的供应商。不带前缀时是否跨供应商,由系统设置里的模型池决定。', authentication: '认证方式', curlExample: 'curl 示例', quickTestHint: '通过所选账号发送一条真实请求', @@ -1692,6 +1694,8 @@ export const messages: Record = { accountTypeQwenworkCNHint: '千问办公国内版(qwenwork.cn),浏览器授权或导入凭证。授权链接只能使用一次:请在已登录目标账号的浏览器窗口里直接打开,不要经聊天工具发送。国内版尚未经真实账号验收。', accountTypeKimiCN: 'Kimi Code 国内版', accountTypeKimiCNHint: 'Kimi Code 中国区订阅,走 auth.kimi.com 的设备码授权,与官方 CLI 使用同一个 OAuth 客户端。已在本机登录 Kimi Code 的,可直接粘贴它的凭证 JSON 导入。', + accountTypeCodeArtsCN: 'CodeArts(码道)', + accountTypeCodeArtsCNHint: '华为云码道,走 codearts.huaweicloud.com 的 OAuth PKCE 授权。控制台打开授权页;浏览器回不到本机时,也可以粘贴 127.0.0.1 回调地址完成登录。', accountTypeMetaGlobal: 'Muse (Meta)', accountTypeMetaGlobalHint: 'Meta Muse Code 订阅,走 auth.meta.com 的设备码授权;批准后控制台会在 api.meta.ai 兑换 LLM API Key。也可在 PAT 页粘贴 Meta Model API Key。', providerGroupSubscriptions: '稳定订阅', diff --git a/frontend/src/lib/provider.ts b/frontend/src/lib/provider.ts index d20903ea..09ece430 100644 --- a/frontend/src/lib/provider.ts +++ b/frontend/src/lib/provider.ts @@ -31,6 +31,10 @@ export function isKimiProvider(provider?: string) { return String(provider || '').toLowerCase() === 'kimi' } +export function isCodeArtsProvider(provider?: string) { + return String(provider || '').toLowerCase() === 'codearts' +} + export function isMetaProvider(provider?: string) { const value = String(provider || '').toLowerCase() return value === 'meta' || value === 'muse' @@ -48,6 +52,7 @@ export function accountProviderFamilyLabel( if (isZhipuProvider(providerID)) return 'Zhipu GLM' if (isQwenworkProvider(providerID)) return 'QwenWork' if (isKimiProvider(providerID)) return 'Kimi Code' + if (isCodeArtsProvider(providerID)) return 'CodeArts' if (isMetaProvider(providerID)) return 'Muse (Meta)' if (isQoderProvider(providerID)) return 'Qoder' return provider || t('account') @@ -81,6 +86,9 @@ export function accountProviderLabel( if (isKimiProvider(providerID)) { return t('accountTypeKimiCN') } + if (isCodeArtsProvider(providerID)) { + return t('accountTypeCodeArtsCN') + } if (isMetaProvider(providerID)) { return t('accountTypeMetaGlobal') } diff --git a/internal/app/app.go b/internal/app/app.go index d4888dd6..1eed9bf1 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -22,6 +22,7 @@ import ( apigateway "github.com/caigee-cmd/cli2api/internal/gateway" applogs "github.com/caigee-cmd/cli2api/internal/logs" "github.com/caigee-cmd/cli2api/internal/providers" + "github.com/caigee-cmd/cli2api/internal/providers/codearts" "github.com/caigee-cmd/cli2api/internal/providers/codex" "github.com/caigee-cmd/cli2api/internal/providers/command" "github.com/caigee-cmd/cli2api/internal/providers/devin" @@ -123,6 +124,7 @@ func New(cfg config.Config) *App { providerReg.Register(zhipu.NewClient(store).Adapter()) providerReg.Register(qwenwork.NewClient(store).Adapter()) providerReg.Register(kimi.NewClient(store).Adapter()) + providerReg.Register(codearts.NewClient(store).Adapter()) providerReg.Register(meta.NewClient(store).Adapter()) qoderClient := qoder.NewClient() qoderClient.Bind(manager.AccountURL, manager.ProxyAPIKey) diff --git a/internal/providers/codearts/NOTICE b/internal/providers/codearts/NOTICE new file mode 100644 index 00000000..57333db7 --- /dev/null +++ b/internal/providers/codearts/NOTICE @@ -0,0 +1,26 @@ +This package adapts protocol facts and portions of the request/SSE mapping from +codearts2api (https://github.com/HITZY2002/codearts2api), commit +8d1e43d6f31279ac20cf94b92eff20bdba784b76, which is licensed under the MIT +License: + +MIT License + +Copyright (c) 2026 HITZY2002 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/internal/providers/codearts/catalog.go b/internal/providers/codearts/catalog.go new file mode 100644 index 00000000..2191a9e2 --- /dev/null +++ b/internal/providers/codearts/catalog.go @@ -0,0 +1,460 @@ +package codearts + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "sort" + "strings" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// modelRecord is one upstream model declaration. ContextWindow and MaxTokens +// are the only capability numbers the catalog publishes. +type modelRecord struct { + ID string + Name string + Description string + ContextWindow int64 + MaxTokens int64 + Benefit bool +} + +// fetchModels merges the three official sources for one account. A source that +// fails is skipped; only an empty merge is an error. +func (c *Client) fetchModels(ctx context.Context, accountID string) ([]providers.ModelInfo, map[string]bool, error) { + credential, err := c.credential(ctx, accountID) + if err != nil { + return nil, nil, err + } + merged := map[string]modelRecord{} + benefit := map[string]bool{} + if records, fetchErr := c.fetchAgentModels(ctx, accountID, credential); fetchErr == nil { + mergeRecords(merged, records) + } + if records, fetchErr := c.fetchBuiltinModels(ctx, accountID, credential); fetchErr == nil { + mergeRecords(merged, records) + } + if records, fetchErr := c.fetchBenefitModels(ctx, accountID, credential); fetchErr == nil { + for _, record := range records { + record.Benefit = true + benefit[strings.ToLower(record.ID)] = true + mergeRecords(merged, []modelRecord{record}) + } + } + if len(merged) == 0 { + return nil, nil, fmt.Errorf("codearts model discovery returned no models") + } + records := make([]modelRecord, 0, len(merged)) + for _, record := range merged { + records = append(records, record) + } + sort.Slice(records, func(i, j int) bool { + left, right := strings.ToLower(records[i].ID), strings.ToLower(records[j].ID) + if left != right { + return left < right + } + return records[i].ID < records[j].ID + }) + models := make([]providers.ModelInfo, 0, len(records)) + for _, record := range records { + models = append(models, toModelInfo(record)) + } + return models, benefit, nil +} + +func mergeRecords(target map[string]modelRecord, records []modelRecord) { + for _, record := range records { + id := strings.TrimSpace(record.ID) + if id == "" { + continue + } + key := strings.ToLower(id) + if current, ok := target[key]; ok { + if current.ContextWindow == 0 { + current.ContextWindow = record.ContextWindow + } + if current.MaxTokens == 0 { + current.MaxTokens = record.MaxTokens + } + if current.Name == "" { + current.Name = record.Name + } + if current.Description == "" { + current.Description = record.Description + } + current.Benefit = current.Benefit || record.Benefit + target[key] = current + continue + } + target[key] = record + } +} + +// toModelInfo declares only what the upstream catalog publishes. Tools are a +// provider-level capability (the chat endpoint accepts them natively); images +// are not declared because the request mapper is text-only. +func toModelInfo(record modelRecord) providers.ModelInfo { + maxOutput := record.MaxTokens + if maxOutput > 65536 { + // The upstream rejects max_tokens above 65536 with + // InferHub.001001005 even when the catalog advertises more. + maxOutput = 65536 + } + caps := providers.ModelCapabilities{ + ContextWindow: int(record.ContextWindow), + ContextWindowMax: int(record.ContextWindow), + MaxOutput: int(maxOutput), + Tools: true, + Reasoning: true, + } + return providers.ModelInfo{ + NativeModel: record.ID, + PublicModel: record.ID, + DisplayName: firstNonEmpty(record.Name, record.ID), + Capabilities: caps, + } +} + +// Models implements providers.ModelCatalogProvider. +func (c *Client) Models(ctx context.Context, accountID string) ([]providers.ModelInfo, error) { + if models, _, ok := c.cachedCatalog(accountID); ok { + return models, nil + } + models, benefit, err := c.fetchModels(ctx, accountID) + if err != nil { + return nil, err + } + c.rememberCatalog(accountID, models, benefit) + return cloneModels(models), nil +} + +func (c *Client) cachedCatalog(accountID string) ([]providers.ModelInfo, map[string]bool, bool) { + c.mu.Lock() + defer c.mu.Unlock() + entry, ok := c.catalogs[accountID] + if !ok || len(entry.models) == 0 || c.now().Sub(entry.at) > catalogTTL { + return nil, nil, false + } + return cloneModels(entry.models), cloneBoolMap(entry.benefit), true +} + +func (c *Client) rememberCatalog(accountID string, models []providers.ModelInfo, benefit map[string]bool) { + c.mu.Lock() + defer c.mu.Unlock() + if c.catalogs == nil { + c.catalogs = map[string]catalogCache{} + } + c.catalogs[accountID] = catalogCache{models: cloneModels(models), benefit: cloneBoolMap(benefit), at: c.now()} +} + +func cloneModels(in []providers.ModelInfo) []providers.ModelInfo { + if len(in) == 0 { + return nil + } + out := make([]providers.ModelInfo, len(in)) + for i, model := range in { + out[i] = model + if len(model.Capabilities.ReasoningOptions) > 0 { + out[i].Capabilities.ReasoningOptions = append([]string(nil), model.Capabilities.ReasoningOptions...) + } + } + return out +} + +func cloneBoolMap(in map[string]bool) map[string]bool { + if len(in) == 0 { + return nil + } + out := make(map[string]bool, len(in)) + for key, value := range in { + out[key] = value + } + return out +} + +// canonicalModel returns the exact catalog spelling for a client-supplied id. +func (c *Client) canonicalModel(accountID, model string) string { + want := strings.ToLower(strings.TrimSpace(model)) + if want == "" { + return "" + } + models, _, ok := c.cachedCatalog(accountID) + if !ok { + return model + } + for _, info := range models { + if strings.ToLower(info.NativeModel) == want || strings.ToLower(info.PublicModel) == want { + return info.NativeModel + } + } + return model +} + +// isBenefitModel reports whether the account's catalog routes this model +// through the limited-benefit gateway. +func (c *Client) isBenefitModel(accountID, model string) bool { + _, benefit, ok := c.cachedCatalog(accountID) + if !ok { + return false + } + return benefit[strings.ToLower(strings.TrimSpace(model))] +} + +// fetchAgentModels reads the CodeAgent detail's gpts.models. +func (c *Client) fetchAgentModels(ctx context.Context, accountID string, credential Credential) ([]modelRecord, error) { + agentID, err := c.defaultAgentID(ctx, accountID, credential) + if err != nil || agentID == "" { + return nil, err + } + query := url.Values{} + query.Set("agent_id", agentID) + raw, err := c.signedGet(ctx, accountID, c.apiBase(credential)+agentDetailPath+"?"+query.Encode(), credential, true) + if err != nil { + return nil, err + } + var detail struct { + Gpts struct { + Models []struct { + ModelAlias string `json:"model_alias"` + ModelName string `json:"model_name"` + ModelID string `json:"model_id"` + Params struct { + ContextWindow int64 `json:"context_window"` + MaxTokens int64 `json:"max_tokens"` + ModelID string `json:"model_id"` + ModelDesc string `json:"model_desc"` + } `json:"model_parameters"` + } `json:"models"` + } `json:"gpts"` + } + if err := json.Unmarshal(raw, &detail); err != nil { + return nil, fmt.Errorf("parse codearts agent models: %w", err) + } + out := make([]modelRecord, 0, len(detail.Gpts.Models)) + for _, model := range detail.Gpts.Models { + id := firstNonEmpty(model.ModelName, model.ModelID, model.ModelAlias, model.Params.ModelID) + if id == "" { + continue + } + out = append(out, modelRecord{ + ID: id, Name: id, Description: model.Params.ModelDesc, + ContextWindow: model.Params.ContextWindow, MaxTokens: model.Params.MaxTokens, + }) + } + return out, nil +} + +func (c *Client) defaultAgentID(ctx context.Context, accountID string, credential Credential) (string, error) { + raw, err := c.signedGet(ctx, accountID, c.apiBase(credential)+agentListPath+"?offset=0&limit=100&is_primary_agent=true", credential, true) + if err != nil { + return "", err + } + var out struct { + Agents []struct { + AgentID string `json:"agent_id"` + AgentName string `json:"agent_name"` + Primary bool `json:"is_primary_agent"` + ShowInIDE bool `json:"show_in_ide"` + Alias struct { + ZhCN string `json:"alias_zh_cn"` + } `json:"alias"` + } `json:"agents"` + } + if err := json.Unmarshal(raw, &out); err != nil { + return "", fmt.Errorf("parse codearts agents: %w", err) + } + for _, agent := range out.Agents { + if agent.AgentName == "CodeAgent" && agent.Alias.ZhCN == "智能体" && agent.ShowInIDE { + return agent.AgentID, nil + } + } + for _, agent := range out.Agents { + if agent.Primary { + return agent.AgentID, nil + } + } + if len(out.Agents) > 0 { + return out.Agents[0].AgentID, nil + } + return "", nil +} + +// fetchBuiltinModels reads GET /v1/model/builtin. +func (c *Client) fetchBuiltinModels(ctx context.Context, accountID string, credential Credential) ([]modelRecord, error) { + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodGet, c.apiBase(credential)+modelBuiltinPath, nil) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("Agent-Type", "PromptCenter") + req.Header.Set("X-Language", Language) + signRequest(req, nil, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 4<<20)) + if resp.StatusCode >= 400 { + return nil, newProviderError(resp.StatusCode, string(raw)) + } + var out struct { + BuiltinModels []struct { + ModelID string `json:"model_id"` + ModelName string `json:"model_name"` + ModelDesc string `json:"model_desc"` + ContextWindow int64 `json:"context_window"` + MaxTokens int64 `json:"max_tokens"` + } `json:"builtinModels"` + } + if err := json.Unmarshal(raw, &out); err != nil { + return nil, fmt.Errorf("parse codearts builtin models: %w", err) + } + records := make([]modelRecord, 0, len(out.BuiltinModels)) + for _, model := range out.BuiltinModels { + id := firstNonEmpty(model.ModelID, model.ModelName) + if id == "" { + continue + } + records = append(records, modelRecord{ + ID: id, Name: id, Description: model.ModelDesc, + ContextWindow: model.ContextWindow, MaxTokens: model.MaxTokens, + }) + } + return records, nil +} + +// fetchBenefitModels reads the limited-benefit gateway config and, matching the +// official client opening the model menu, claims the benefit idempotently. +func (c *Client) fetchBenefitModels(ctx context.Context, accountID string, credential Credential) ([]modelRecord, error) { + if err := c.claimBenefit(ctx, accountID, credential); err != nil { + // A claim failure must not hide the rest of the catalog; a later chat + // will surface benefit-not-found as model_not_available. + _ = err + } + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodGet, c.benefitBase+benefitConfig, nil) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("X-Language", Language) + signRequest(req, nil, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 4<<20)) + if resp.StatusCode >= 400 { + return nil, newProviderError(resp.StatusCode, string(raw)) + } + var out struct { + ErrorCode string `json:"error_code"` + Result struct { + Models []struct { + ModelID string `json:"model_id"` + ModelName string `json:"model_name"` + ModelDesc string `json:"model_desc"` + ContextWindow int64 `json:"context_window"` + MaxTokens int64 `json:"max_tokens"` + } `json:"models"` + } `json:"result"` + } + if err := json.Unmarshal(raw, &out); err != nil { + return nil, fmt.Errorf("parse codearts benefit config: %w", err) + } + if out.ErrorCode != "" && out.ErrorCode != "0000" { + return nil, fmt.Errorf("codearts benefit config error %s", out.ErrorCode) + } + records := make([]modelRecord, 0, len(out.Result.Models)) + for _, model := range out.Result.Models { + id := firstNonEmpty(model.ModelID, model.ModelName) + if id == "" { + continue + } + records = append(records, modelRecord{ + ID: id, Name: id, Description: model.ModelDesc, + ContextWindow: model.ContextWindow, MaxTokens: model.MaxTokens, Benefit: true, + }) + } + return records, nil +} + +func (c *Client) claimBenefit(ctx context.Context, accountID string, credential Credential) error { + body := []byte("{}") + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodPost, c.benefitBase+benefitClaim, bytes.NewReader(body)) + if err != nil { + return err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("X-Language", Language) + signRequest(req, body, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return err + } + resp, err := client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + if resp.StatusCode >= 400 { + return newProviderError(resp.StatusCode, string(raw)) + } + return nil +} + +// signedGet sends a signed GET and returns the body. +func (c *Client) signedGet(ctx context.Context, accountID, endpoint string, credential Credential, agentCenter bool) ([]byte, error) { + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodGet, endpoint, nil) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("X-Language", Language) + if agentCenter { + req.Header.Set("Agent-Type", "AgentCenter") + } + signRequest(req, nil, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 4<<20)) + if resp.StatusCode >= 400 { + return nil, newProviderError(resp.StatusCode, string(raw)) + } + return raw, nil +} diff --git a/internal/providers/codearts/chat.go b/internal/providers/codearts/chat.go new file mode 100644 index 00000000..9f6548d7 --- /dev/null +++ b/internal/providers/codearts/chat.go @@ -0,0 +1,296 @@ +package codearts + +import ( + "bytes" + "context" + "encoding/json" + "io" + "net/http" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" + "github.com/caigee-cmd/cli2api/internal/translate" +) + +// ChatStream posts the mapped request and returns a normalized +// chat-completions SSE body. The upstream is OpenAI-shaped, but the adapter +// normalizes event names and appends a final usage chunk. +func (c *Client) ChatStream(ctx context.Context, accountID string, req translate.ChatRequest) (*http.Response, providers.ResolvedChat, error) { + upstream, level, err := c.doChat(ctx, accountID, req) + if err != nil { + return nil, providers.ResolvedChat{}, err + } + reader, err := preflightWithTimeout(upstream) + if err != nil { + return nil, providers.ResolvedChat{}, err + } + pr, pw := io.Pipe() + model := c.canonicalModel(accountID, req.Model) + go func() { + defer upstream.Body.Close() + defer pw.Close() + if err := streamCapture(pw, reader, model); err != nil { + _ = pw.CloseWithError(err) + } + }() + return &http.Response{ + StatusCode: http.StatusOK, + Status: "200 OK", + Header: http.Header{"Content-Type": []string{"text/event-stream"}, "Cache-Control": []string{"no-cache"}}, + Body: pr, + Request: upstream.Request, + }, providers.ResolvedChat{ReasoningLevel: level}, nil +} + +// ChatNonStream forces a stream and aggregates it, keeping usage, reasoning and +// tool-call assembly on the same parser as the streaming path. +func (c *Client) ChatNonStream(ctx context.Context, accountID string, req translate.ChatRequest) (providers.ChatOutcome, error) { + upstream, level, err := c.doChat(ctx, accountID, req) + if err != nil { + return providers.ChatOutcome{}, err + } + defer upstream.Body.Close() + completion, err := aggregateRaw(upstream.Body) + if err != nil { + return providers.ChatOutcome{}, err + } + outcome := providers.ChatOutcome{ + Model: c.canonicalModel(accountID, req.Model), + Content: completion.Content, + Reasoning: completion.Reasoning, + FinishReason: completion.Finish, + UsageSource: "upstream", + ReasoningLevel: level, + } + if len(completion.ToolCalls) > 0 { + outcome.FinishReason = "tool_calls" + raw, err := json.Marshal(completion.ToolCalls) + if err != nil { + return providers.ChatOutcome{}, err + } + outcome.ToolCalls = raw + } + if completion.Usage != nil { + outcome.PromptTokens = int(numberFrom(completion.Usage, "prompt_tokens")) + outcome.CompletionTokens = int(numberFrom(completion.Usage, "completion_tokens")) + if details, ok := completion.Usage["prompt_tokens_details"].(map[string]any); ok { + if cached := numberFrom(details, "cached_tokens"); cached > 0 { + value := int(cached) + outcome.CacheReadTokens = &value + } + } + } else { + outcome.UsageSource = "" + } + if outcome.FinishReason == "" { + outcome.FinishReason = "stop" + } + return outcome, nil +} + +func (c *Client) doChat(ctx context.Context, accountID string, req translate.ChatRequest) (*http.Response, string, error) { + credential, err := c.credential(ctx, accountID) + if err != nil { + return nil, "", err + } + if _, _, ok := c.cachedCatalog(accountID); !ok { + // The benefit header and exact model spelling depend on the account + // catalog. A failed discovery is not fatal: chat still carries the + // client's model id and the upstream will answer with a clear error. + _, _ = c.Models(ctx, accountID) + } + model := strings.TrimSpace(req.Model) + model = strings.TrimPrefix(model, "codearts/") + if model == "" || model == "auto" { + return nil, "", &providers.Error{ + Kind: accounts.KindInvalidRequest, + Status: http.StatusBadRequest, + Message: "codearts model is required", + } + } + model = c.canonicalModel(accountID, model) + level := c.resolveLevel(ctx, accountID, model, requestedLevel(req)) + body, err := buildChatBody(req, model, level, c.isBenefitModel(accountID, model)) + if err != nil { + return nil, "", err + } + raw, err := json.Marshal(body) + if err != nil { + return nil, "", err + } + resp, err := c.sendChat(ctx, accountID, credential, raw, model, c.isBenefitModel(accountID, model)) + if err != nil { + return nil, "", err + } + if resp.StatusCode == http.StatusUnauthorized || resp.StatusCode == http.StatusForbidden { + payload, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + resp.Body.Close() + if Classify(resp.StatusCode, string(payload)).Kind == accounts.KindModelNotAvailable { + return nil, "", newProviderError(resp.StatusCode, string(payload)) + } + refreshed, refreshErr := c.forceRefresh(ctx, accountID) + if refreshErr != nil { + return nil, "", refreshErr + } + resp, err = c.sendChat(ctx, accountID, refreshed, raw, model, c.isBenefitModel(accountID, model)) + if err != nil { + return nil, "", err + } + } + if resp.StatusCode >= 300 { + payload, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + resp.Body.Close() + return nil, "", newProviderError(resp.StatusCode, string(payload)) + } + return resp, level, nil +} + +// sendChat performs the signed request and enforces the TTFB deadline. +func (c *Client) sendChat(ctx context.Context, accountID string, credential Credential, body []byte, model string, benefit bool) (*http.Response, error) { + base := c.apiBase(credential) + requestCtx, cancel := context.WithCancel(ctx) + req, err := http.NewRequestWithContext(requestCtx, http.MethodPost, base+chatPath, bytes.NewReader(body)) + if err != nil { + cancel() + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "text/event-stream") + req.Header.Set("x-auth-token", credential.SecurityToken) + req.Header.Set("x-snap-traceid", randomHex(16)) + req.Header.Set("X-Language", Language) + req.Header.Set("app-id", AppID) + req.Header.Set("is_confidential", "false") + if benefit { + req.Header.Set(HeaderMaasType, MaasBenefit) + } + signRequest(req, body, credential.Sign()) + if id, ok := payloadChatID(body); ok && id != "" { + req.Header.Set("Chat-Id", id) + req.Header.Set("Session-Id", id) + } + client, err := c.httpClient(ctx, accountID) + if err != nil { + cancel() + return nil, err + } + type result struct { + resp *http.Response + err error + } + done := make(chan result, 1) + go func() { + resp, err := client.Do(req) + done <- result{resp: resp, err: err} + }() + select { + case <-ctx.Done(): + cancel() + return nil, ctx.Err() + case <-time.After(firstByteTimeout): + cancel() + return nil, providers.ErrFirstByteTimeout + case outcome := <-done: + if outcome.err != nil { + cancel() + return nil, outcome.err + } + outcome.resp.Body = &cancelReadCloser{ReadCloser: outcome.resp.Body, cancel: cancel} + return outcome.resp, nil + } +} + +type cancelReadCloser struct { + io.ReadCloser + cancel context.CancelFunc +} + +func (c *cancelReadCloser) Close() error { + err := c.ReadCloser.Close() + c.cancel() + return err +} + +func payloadChatID(body []byte) (string, bool) { + var probe struct { + ChatID string `json:"chat_id"` + } + if err := json.Unmarshal(body, &probe); err != nil { + return "", false + } + return probe.ChatID, probe.ChatID != "" +} + +// resolveLevel applies the catalog clamp. CodeArts does not publish a per-model +// effort list, so a model with no options sends no reasoning_effort and relies +// on the upstream default. +func (c *Client) resolveLevel(ctx context.Context, accountID, model, requested string) string { + caps := providers.ModelCapabilities{} + if models, _, ok := c.cachedCatalog(accountID); ok { + for _, info := range models { + if strings.EqualFold(info.NativeModel, model) || strings.EqualFold(info.PublicModel, model) { + caps = info.Capabilities + break + } + } + } + level := requested + if level == "" { + level = c.storedReasoning(ctx, model) + } + return providers.ResolveReasoningLevel(level, caps) +} + +func requestedLevel(req translate.ChatRequest) string { + if len(req.ReasoningEffort) == 0 { + return "" + } + var value any + if json.Unmarshal(req.ReasoningEffort, &value) != nil { + return "" + } + switch typed := value.(type) { + case string: + return providers.NormalizeReasoningLevel(typed) + case map[string]any: + for _, key := range []string{"effort", "level", "type"} { + if text, ok := typed[key].(string); ok { + return providers.NormalizeReasoningLevel(text) + } + } + } + return "" +} + +// ModelSettingReader is optional. Missing it means the console reasoning +// default is skipped and the catalog default is used. +type ModelSettingReader interface { + GetProviderModelSetting(context.Context, string, string) (accounts.ProviderModelSetting, error) +} + +func (c *Client) storedReasoning(ctx context.Context, model string) string { + reader, ok := c.store.(ModelSettingReader) + if !ok { + return "" + } + stored, err := reader.GetProviderModelSetting(ctx, ProviderID, accounts.CanonicalModelID(model)) + if err != nil { + return "" + } + return strings.TrimSpace(stored.ReasoningEffort) +} + +func numberFrom(values map[string]any, key string) float64 { + switch value := values[key].(type) { + case float64: + return value + case json.Number: + parsed, _ := value.Float64() + return parsed + case int: + return float64(value) + } + return 0 +} diff --git a/internal/providers/codearts/checkin.go b/internal/providers/codearts/checkin.go new file mode 100644 index 00000000..56daa74e --- /dev/null +++ b/internal/providers/codearts/checkin.go @@ -0,0 +1,222 @@ +package codearts + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" +) + +const creditChannel = "IDE" + +type creditCampaign struct { + ID int `json:"campaignId"` + Title string `json:"title"` + Status string `json:"status"` + Claimable bool `json:"claimable"` + BenefitUnit string `json:"benefitUnit"` + BenefitAmount float64 `json:"benefitAmount"` + PendingTotalAmount float64 `json:"pendingTotalAmount"` + Extra struct { + StartTime string `json:"startTime"` + EndTime string `json:"endTime"` + } `json:"extra"` +} + +type creditClaim struct { + CampaignID int + Title string + OK bool + Status string + Credits float64 + Message string +} + +// Checkin claims the daily check-in (campaign 1) and the new-user campaign +// (campaign 4). The upstream decides eligibility and the daily reset; already +// claimed campaigns only get their missing confirmation. +func (c *Client) Checkin(ctx context.Context, accountID string) (providers.CheckinResult, error) { + credential, err := c.credential(ctx, accountID) + if err != nil { + return providers.CheckinResult{}, err + } + campaigns, err := c.fetchCampaigns(ctx, accountID, credential) + if err != nil { + return providers.CheckinResult{}, err + } + var claims []creditClaim + total := 0.0 + allOK := true + for _, campaign := range campaigns { + if campaign.ID != 1 && campaign.ID != 4 { + continue + } + if campaign.BenefitUnit != "" && campaign.BenefitUnit != "CREDIT" { + continue + } + claim := c.claimCampaign(ctx, accountID, credential, campaign) + claims = append(claims, claim) + allOK = allOK && claim.OK + total += claim.Credits + } + if len(claims) == 0 { + return providers.CheckinResult{Status: "skipped", Message: "no check-in or new-user campaign"}, nil + } + status := "success" + if !allOK { + status = "skipped" + } else { + already := true + for _, claim := range claims { + if claim.Credits > 0 { + already = false + } + } + if already { + status = "already" + } + } + parts := make([]string, 0, len(claims)) + for _, claim := range claims { + parts = append(parts, claim.Title+": "+claim.Message) + } + return providers.CheckinResult{ + Status: status, + Message: strings.Join(parts, "; "), + RewardCredits: total, + }, nil +} + +func (c *Client) claimCampaign(ctx context.Context, accountID string, credential Credential, campaign creditCampaign) creditClaim { + claim := creditClaim{CampaignID: campaign.ID, Title: campaign.Title, Status: campaign.Status, OK: true} + if claim.Title == "" { + claim.Title = fmt.Sprintf("credit campaign %d", campaign.ID) + } + now := c.now() + if end, err := time.Parse(time.RFC3339Nano, campaign.Extra.EndTime); err == nil && !now.Before(end) { + claim.Message = "campaign ended" + return claim + } + if start, err := time.Parse(time.RFC3339Nano, campaign.Extra.StartTime); err == nil && now.Before(start) { + claim.Message = "campaign has not started" + return claim + } + switch campaign.Status { + case "CONFIRMED", "CONSUMED": + claim.Message = "already claimed" + return claim + case "CLAIMED": + // Already delivered; only the confirm step may be missing. + case "ELIGIBLE": + if !campaign.Claimable { + claim.OK = false + claim.Message = "not claimable yet" + return claim + } + if _, err := c.creditRequest(ctx, accountID, credential, http.MethodPost, creditClaimPath, map[string]any{ + "campaignId": campaign.ID, "channel": creditChannel, + "idempotentKey": fmt.Sprintf("claim_%d_%d", campaign.ID, now.UnixMilli()), + }); err != nil { + claim.OK = false + claim.Message = err.Error() + return claim + } + claim.Status = "CLAIMED" + claim.Credits = campaign.PendingTotalAmount + if claim.Credits <= 0 { + claim.Credits = campaign.BenefitAmount + } + case "": + claim.Message = "not eligible" + return claim + default: + claim.OK = false + claim.Message = "unknown campaign status: " + campaign.Status + return claim + } + if _, err := c.creditRequest(ctx, accountID, credential, http.MethodPost, creditConfirmPath, map[string]any{"campaignId": campaign.ID}); err != nil { + claim.OK = false + claim.Message = "claimed but confirmation failed: " + err.Error() + return claim + } + claim.Status = "CONFIRMED" + claim.Message = "confirmed" + if claim.Credits > 0 { + claim.Message = fmt.Sprintf("claimed %g credits", claim.Credits) + } + return claim +} + +func (c *Client) fetchCampaigns(ctx context.Context, accountID string, credential Credential) ([]creditCampaign, error) { + raw, err := c.creditRequest(ctx, accountID, credential, http.MethodGet, creditDeliveryPath+"?channel="+creditChannel, nil) + if err != nil { + return nil, err + } + var data struct { + Items *[]creditCampaign `json:"items"` + } + if err := json.Unmarshal(raw, &data); err != nil { + return nil, fmt.Errorf("parse codearts credit campaigns: %w", err) + } + if data.Items == nil { + return nil, fmt.Errorf("codearts credit response missing data.items") + } + return *data.Items, nil +} + +func (c *Client) creditRequest(ctx context.Context, accountID string, credential Credential, method, path string, body any) (json.RawMessage, error) { + var raw []byte + var err error + if body != nil { + raw, err = json.Marshal(body) + if err != nil { + return nil, err + } + } + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, method, c.apiBase(credential)+path, bytes.NewReader(raw)) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("Agent-Type", "PromptCenter") + req.Header.Set("X-Language", Language) + signRequest(req, raw, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + response, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + if resp.StatusCode >= 400 { + return nil, newProviderError(resp.StatusCode, string(response)) + } + var envelope struct { + Code *int `json:"code"` + Message string `json:"message"` + Data json.RawMessage `json:"data"` + } + if err := json.Unmarshal(response, &envelope); err != nil { + return nil, fmt.Errorf("parse codearts credit response: %w", err) + } + if envelope.Code == nil { + return nil, fmt.Errorf("codearts credit response missing business code") + } + if *envelope.Code != 0 { + return nil, &providers.Error{Kind: accounts.KindInvalidRequest, Status: http.StatusBadRequest, Message: envelope.Message} + } + return envelope.Data, nil +} diff --git a/internal/providers/codearts/client.go b/internal/providers/codearts/client.go new file mode 100644 index 00000000..38ea4b14 --- /dev/null +++ b/internal/providers/codearts/client.go @@ -0,0 +1,485 @@ +package codearts + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + "sync" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" + proxyutil "github.com/caigee-cmd/cli2api/internal/proxy" +) + +// Store is the persistence surface this adapter needs. It never imports +// internal/store. +type Store interface { + Get(ctx context.Context, id string) (accounts.Account, error) + LoadCredentialPayload(ctx context.Context, accountID string) (string, []byte, error) + SaveCredentialPayload(ctx context.Context, accountID, format string, payload []byte) error + Observe(ctx context.Context, id, remoteUID, status, lastError, lastKind string) error +} + +// SecretReader is optional. Missing it means no global proxy. +type SecretReader interface { + GetSecret(context.Context, string) (string, bool, error) +} + +type catalogCache struct { + models []providers.ModelInfo + benefit map[string]bool + at time.Time +} + +// Client is the in-process CodeArts adapter. One client serves every account; +// credentials, catalogs and login rounds stay keyed by account id. +type Client struct { + store Store + http *http.Client + + transports proxyutil.TransportCache + nowFn func() time.Time + + baseURL string + stsHost string + portalHost string + benefitBase string + + mu sync.Mutex + catalogs map[string]catalogCache + locks map[string]*sync.Mutex + logins map[string]*loginState +} + +func NewClient(store Store) *Client { + transport := &http.Transport{ + MaxIdleConns: 20, + MaxIdleConnsPerHost: 4, + IdleConnTimeout: 90 * time.Second, + } + return &Client{ + store: store, + http: &http.Client{ + Transport: transport, + CheckRedirect: func(*http.Request, []*http.Request) error { + return http.ErrUseLastResponse + }, + }, + baseURL: CNBaseURL, + stsHost: CNSTSHost, + portalHost: CNPortalHost, + benefitBase: BenefitHost, + catalogs: map[string]catalogCache{}, + locks: map[string]*sync.Mutex{}, + logins: map[string]*loginState{}, + nowFn: time.Now, + } +} + +func (c *Client) now() time.Time { + if c.nowFn != nil { + return c.nowFn() + } + return time.Now() +} + +func (c *Client) apiBase(credential Credential) string { + if base := credential.AuthBase(); base != "" { + return base + } + if c.baseURL != "" { + return c.baseURL + } + return CNBaseURL +} + +func (c *Client) globalProxy(ctx context.Context) (string, error) { + store, ok := c.store.(SecretReader) + if !ok { + return "", nil + } + value, found, err := store.GetSecret(ctx, "proxy_url") + if err != nil { + return "", fmt.Errorf("load global proxy setting: %w", err) + } + if !found { + return "", nil + } + return strings.TrimSpace(value), nil +} + +func (c *Client) effectiveProxy(ctx context.Context, accountID string) (string, error) { + if strings.TrimSpace(accountID) == "" { + return c.globalProxy(ctx) + } + account, err := c.store.Get(ctx, accountID) + if err != nil { + return "", err + } + if value := strings.TrimSpace(account.ProxyURL); value != "" { + return value, nil + } + return c.globalProxy(ctx) +} + +func (c *Client) httpClient(ctx context.Context, accountID string) (*http.Client, error) { + rawProxy, err := c.effectiveProxy(ctx, accountID) + if err != nil { + return nil, err + } + client := *c.http + transport, err := c.transports.Get(rawProxy) + if err != nil { + return nil, err + } + if transport != nil { + client.Transport = transport + } + return &client, nil +} + +// accountLock serializes refresh per account so a burst cannot burn the +// single-use refresh token more than once. +func (c *Client) accountLock(accountID string) *sync.Mutex { + c.mu.Lock() + defer c.mu.Unlock() + if c.locks == nil { + c.locks = map[string]*sync.Mutex{} + } + lock, ok := c.locks[accountID] + if !ok { + lock = &sync.Mutex{} + c.locks[accountID] = lock + } + return lock +} + +func (c *Client) loadCredential(ctx context.Context, accountID string) (Credential, error) { + _, payload, err := c.store.LoadCredentialPayload(ctx, accountID) + if err != nil { + return Credential{}, err + } + return DecodeCredential(payload) +} + +func (c *Client) saveCredential(ctx context.Context, accountID string, credential Credential) error { + encoded, err := credential.Encode() + if err != nil { + return err + } + return c.store.SaveCredentialPayload(ctx, accountID, CredentialFormat, encoded) +} + +// credential returns a credential that can sign a request now, refreshing and +// persisting a rotated STS trio when the stored one is near expiry. +func (c *Client) credential(ctx context.Context, accountID string) (Credential, error) { + credential, err := c.loadCredential(ctx, accountID) + if err != nil { + return Credential{}, err + } + if !credential.Ready() && !credential.CanRefresh() { + return credential, &providers.Error{ + Kind: accounts.KindAuth, + Status: http.StatusUnauthorized, + Message: "codearts account has no STS credential; sign in again", + } + } + if !credential.NeedsRefresh(c.now()) { + return credential, nil + } + lock := c.accountLock(accountID) + lock.Lock() + defer lock.Unlock() + current, err := c.loadCredential(ctx, accountID) + if err != nil { + return Credential{}, err + } + if !current.NeedsRefresh(c.now()) { + return current, nil + } + refreshed, err := c.refreshCredential(ctx, current) + if err != nil { + return Credential{}, err + } + if err := c.persistRefreshed(ctx, accountID, refreshed); err != nil { + return Credential{}, err + } + return refreshed, nil +} + +// persistRefreshed stores a rotated credential. The refresh token is +// single-use, so a failed write must fail the request instead of continuing +// with a credential only this process knows about. +func (c *Client) persistRefreshed(ctx context.Context, accountID string, credential Credential) error { + var err error + for attempt := 0; attempt < 2; attempt++ { + if err = c.saveCredential(ctx, accountID, credential); err == nil { + return nil + } + } + return &providers.Error{ + Kind: accounts.KindUnavailable, + Status: http.StatusBadGateway, + Message: "codearts credential refresh succeeded but could not be saved: " + err.Error(), + } +} + +func (c *Client) forceRefresh(ctx context.Context, accountID string) (Credential, error) { + lock := c.accountLock(accountID) + lock.Lock() + defer lock.Unlock() + current, err := c.loadCredential(ctx, accountID) + if err != nil { + return Credential{}, err + } + refreshed, err := c.refreshCredential(ctx, current) + if err != nil { + return Credential{}, err + } + if err := c.persistRefreshed(ctx, accountID, refreshed); err != nil { + return Credential{}, err + } + return refreshed, nil +} + +// Probe verifies the current credential against the signed identity endpoint. +func (c *Client) Probe(ctx context.Context, accountID string) (providers.AccountHealth, error) { + credential, err := c.credential(ctx, accountID) + if err != nil { + health := providers.AccountHealth{LastError: err.Error()} + if providerErr, ok := err.(*providers.Error); ok { + health.LastError = providerErr.Message + } + return health, nil + } + uid, name, domain, err := c.currentUser(ctx, credential) + if err != nil { + health := providers.AccountHealth{LastError: err.Error()} + if providerErr, ok := err.(*providers.Error); ok { + health.LastError = providerErr.Message + } + return health, nil + } + changed := false + if uid != "" && credential.UserID != uid { + credential.UserID = uid + changed = true + } + if name != "" && credential.UserName != name { + credential.UserName = name + changed = true + } + if domain != "" && credential.DomainID != domain { + credential.DomainID = domain + changed = true + } + if changed { + _ = c.saveCredential(ctx, accountID, credential) + } + _ = c.store.Observe(ctx, accountID, uid, "ready", "", "") + return providers.AccountHealth{Ready: true, Hot: true, UID: uid}, nil +} + +// Adapter wires the capability surface. +func (c *Client) Adapter() providers.Adapter { + return providers.Adapter{ + ID: ProviderID, + Credential: credentialCodec{}, + Login: c, + Chat: c, + Models: c, + Classifier: classifier{}, + ImportExport: importer{}, + Prober: c, + Checkin: c, + } +} + +type credentialCodec struct{} + +func (credentialCodec) Validate(payload []byte) error { return ValidateCredential(payload) } + +// tokenResponse is the STS oauth2/tokens response. +type tokenResponse struct { + UserID string `json:"user_id"` + UserName string `json:"user_name"` + DomainID string `json:"domain_id"` + RefreshToken string `json:"refresh_token"` + Credentials credentials `json:"credentials"` + Credential legacyCred `json:"credential"` + Error string `json:"error"` + ErrorCode string `json:"error_code"` + ErrorMessage string `json:"error_msg"` +} + +type credentials struct { + AccessKeyID string `json:"access_key_id"` + SecretAccessKey string `json:"secret_access_key"` + SecurityToken string `json:"security_token"` + Expiration string `json:"expiration"` +} + +type legacyCred struct { + Access string `json:"access"` + Secret string `json:"secret"` + SecurityToken string `json:"securitytoken"` + ExpiresAt string `json:"expires_at"` +} + +// refreshExpiredError marks a terminal refresh rejection; retrying cannot help. +type refreshExpiredError struct { + status int + message string +} + +func (e *refreshExpiredError) Error() string { return e.message } + +// requestToken posts a form to the STS token endpoint with a DPoP proof. +func (c *Client) requestToken(ctx context.Context, form map[string][]string, cred Credential) (*tokenResponse, error) { + endpoint := c.stsHost + oauthTokensPath + kp, err := dpopKeyPairFor(cred.DPoPPrivateKey) + if err != nil { + return nil, err + } + proof, err := signDPoPProof(kp, endpoint) + if err != nil { + return nil, fmt.Errorf("dpop proof: %w", err) + } + values := make(map[string]string, len(form)) + for k, v := range form { + if len(v) > 0 { + values[k] = v[0] + } + } + // Drop members that were not part of the grant instead of sending empty + // values; STS rejects an empty code or redirect_uri on refresh. + cleaned := url.Values{} + for _, key := range []string{"client_id", "code", "code_verifier", "grant_type", "redirect_uri", "refresh_token"} { + if value := strings.TrimSpace(values[key]); value != "" { + cleaned.Set(key, value) + } + } + req, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint, strings.NewReader(cleaned.Encode())) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + req.Header.Set("DPoP", proof) + client, err := c.httpClient(ctx, "") + if err != nil { + return nil, err + } + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 4<<20)) + if resp.StatusCode >= 400 { + var tokenErr tokenResponse + _ = json.Unmarshal(raw, &tokenErr) + grantType := "" + if values := form["grant_type"]; len(values) > 0 { + grantType = values[0] + } + if grantType == "refresh_token" { + code := tokenErr.ErrorCode + message := strings.ToLower(tokenErr.ErrorMessage) + if tokenErr.Error == "invalid_grant" || strings.Contains(code, "ExpiredRefreshToken") || + strings.Contains(code, "InvalidDPoPHeader") || strings.Contains(code, "invalid client id") || + strings.Contains(message, "has been used") { + return nil, &refreshExpiredError{ + status: resp.StatusCode, + message: fmt.Sprintf("codearts refresh token rejected: http=%d code=%s msg=%s", + resp.StatusCode, code, truncate(tokenErr.ErrorMessage, 160)), + } + } + } + return nil, newProviderError(resp.StatusCode, string(raw)) + } + var out tokenResponse + if err := json.Unmarshal(raw, &out); err != nil { + return nil, fmt.Errorf("parse codearts token response: %w", err) + } + if out.Credentials.SecurityToken == "" && out.Credential.SecurityToken != "" { + out.Credentials = credentials{ + AccessKeyID: out.Credential.Access, + SecretAccessKey: out.Credential.Secret, + SecurityToken: out.Credential.SecurityToken, + Expiration: out.Credential.ExpiresAt, + } + } + if out.Credentials.SecurityToken == "" { + return nil, fmt.Errorf("codearts token response missing credentials") + } + return &out, nil +} + +// refreshCredential rotates the STS trio with the stored refresh token, PKCE +// verifier and DPoP key. +func (c *Client) refreshCredential(ctx context.Context, credential Credential) (Credential, error) { + if !credential.CanRefresh() { + return Credential{}, &providers.Error{ + Kind: accounts.KindAuth, + Status: http.StatusUnauthorized, + Message: "codearts credential is expired and cannot be refreshed; sign in again", + } + } + clientID := credential.ClientID + if clientID == "" { + clientID = ClientID + } + token, err := c.requestToken(ctx, map[string][]string{ + "client_id": {clientID}, + "code_verifier": {credential.CodeVerifier}, + "grant_type": {"refresh_token"}, + "refresh_token": {credential.RefreshToken}, + }, credential) + if err != nil { + if expired, ok := err.(*refreshExpiredError); ok { + return Credential{}, &providers.Error{ + Kind: accounts.KindAuth, + Status: http.StatusUnauthorized, + Message: expired.message, + } + } + return Credential{}, err + } + return applyToken(credential, token), nil +} + +func applyToken(credential Credential, token *tokenResponse) Credential { + credential.Format = CredentialFormat + credential.AccessKeyID = token.Credentials.AccessKeyID + credential.SecretAccessKey = token.Credentials.SecretAccessKey + credential.SecurityToken = token.Credentials.SecurityToken + if token.Credentials.Expiration != "" { + credential.ExpiresAt = token.Credentials.Expiration + } + if token.UserID != "" { + credential.UserID = token.UserID + } + if token.UserName != "" { + credential.UserName = token.UserName + } + if token.DomainID != "" { + credential.DomainID = token.DomainID + } + if token.RefreshToken != "" { + credential.RefreshToken = token.RefreshToken + } + return credential +} + +func truncate(s string, n int) string { + s = strings.TrimSpace(s) + if len(s) > n { + return s[:n] + } + return s +} diff --git a/internal/providers/codearts/codearts_test.go b/internal/providers/codearts/codearts_test.go new file mode 100644 index 00000000..c021b68c --- /dev/null +++ b/internal/providers/codearts/codearts_test.go @@ -0,0 +1,387 @@ +package codearts + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/http/httptest" + "net/url" + "strings" + "sync" + "testing" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" + "github.com/caigee-cmd/cli2api/internal/translate" +) + +func writeSSE(t *testing.T, w io.Writer, payload any) { + t.Helper() + raw, err := json.Marshal(payload) + if err != nil { + t.Fatal(err) + } + if _, err := fmt.Fprintf(w, "data: %s\n\n", raw); err != nil { + t.Fatal(err) + } +} + +type memoryStore struct { + mu sync.Mutex + payload []byte + account accounts.Account + saved []byte +} + +func (s *memoryStore) Get(context.Context, string) (accounts.Account, error) { + return s.account, nil +} + +func (s *memoryStore) LoadCredentialPayload(context.Context, string) (string, []byte, error) { + s.mu.Lock() + defer s.mu.Unlock() + return CredentialFormat, append([]byte(nil), s.payload...), nil +} + +func (s *memoryStore) SaveCredentialPayload(_ context.Context, _ string, _ string, payload []byte) error { + s.mu.Lock() + defer s.mu.Unlock() + s.payload = append([]byte(nil), payload...) + s.saved = append([]byte(nil), payload...) + return nil +} + +func (s *memoryStore) Observe(context.Context, string, string, string, string, string) error { + return nil +} + +func testCredential() Credential { + return Credential{ + Format: CredentialFormat, + AccessKeyID: "AK", + SecretAccessKey: "SK", + SecurityToken: "STS", + ExpiresAt: time.Now().Add(24 * time.Hour).Format(time.RFC3339Nano), + UserID: "user-1", + UserName: "tester", + DomainID: "domain-1", + } +} + +func newTestClient(t *testing.T, server *httptest.Server) (*Client, *memoryStore) { + t.Helper() + credential := testCredential() + payload, err := credential.Encode() + if err != nil { + t.Fatal(err) + } + store := &memoryStore{ + payload: payload, + account: accounts.Account{ID: "acct-1", Provider: ProviderID, ProviderRegion: "cn-north-4", ProxyURL: ""}, + } + client := NewClient(store) + client.baseURL = server.URL + client.benefitBase = server.URL + client.stsHost = server.URL + client.portalHost = server.URL + client.nowFn = func() time.Time { return time.Now() } + return client, store +} + +func TestValidateCredential(t *testing.T) { + valid, _ := testCredential().Encode() + if err := ValidateCredential(valid); err != nil { + t.Fatalf("valid credential rejected: %v", err) + } + if err := ValidateCredential([]byte(`{"access_key_id":"AK"}`)); err == nil { + t.Fatal("credential without secrets accepted") + } + if err := ValidateCredential([]byte(`{"refresh_token":"r","code_verifier":"v"}`)); err != nil { + t.Fatalf("refresh-only credential rejected: %v", err) + } +} + +func TestChatNonStreamAndToolMapping(t *testing.T) { + var gotBody map[string]any + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case chatPath: + raw, _ := io.ReadAll(r.Body) + _ = json.Unmarshal(raw, &gotBody) + if r.Header.Get("x-auth-token") != "STS" || r.Header.Get("Authorization") == "" { + t.Errorf("missing auth headers: %+v", r.Header) + } + w.Header().Set("Content-Type", "text/event-stream") + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"role": "assistant"}}}}) + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"reasoning_content": "think"}}}}) + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"content": "hello"}}}}) + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"tool_calls": []any{map[string]any{ + "index": 0, "id": "call_1", "type": "function", + "function": map[string]any{"name": "lookup", "arguments": `{"q":"x"}`}, + }}}}}}) + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{}, "finish_reason": "tool_calls"}}}) + writeSSE(t, w, map[string]any{"choices": []any{}, "usage": map[string]any{"prompt_tokens": 5, "completion_tokens": 3, "total_tokens": 8}}) + _, _ = io.WriteString(w, "data: [DONE]\n\n") + default: + http.NotFound(w, r) + } + })) + defer server.Close() + client, _ := newTestClient(t, server) + + tools := json.RawMessage(`[{"type":"function","function":{"name":"lookup","description":"look up","parameters":{"type":"object","properties":{"q":{"type":"string"}}}}}]`) + req := translate.ChatRequest{ + Model: "GLM-5.2", + Messages: []translate.ChatMessage{{Role: "user", Content: "hi"}}, + Tools: tools, + ToolChoice: json.RawMessage(`{"type":"function","function":{"name":"lookup"}}`), + } + outcome, err := client.ChatNonStream(context.Background(), "acct-1", req) + if err != nil { + t.Fatalf("ChatNonStream: %v", err) + } + if outcome.Content != "hello" || outcome.Reasoning != "think" { + t.Fatalf("content/reasoning = %q/%q", outcome.Content, outcome.Reasoning) + } + if outcome.FinishReason != "tool_calls" || len(outcome.ToolCalls) == 0 { + t.Fatalf("tool outcome = %+v", outcome) + } + if outcome.PromptTokens != 5 || outcome.CompletionTokens != 3 { + t.Fatalf("usage = %d/%d", outcome.PromptTokens, outcome.CompletionTokens) + } + if gotBody["tool_choice"] != "required" { + t.Fatalf("tool_choice = %v", gotBody["tool_choice"]) + } + if gotBody["model"] != "GLM-5.2" { + t.Fatalf("model = %v", gotBody["model"]) + } +} + +func TestChatStreamEmitsDeltasAndDone(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != chatPath { + http.NotFound(w, r) + return + } + w.Header().Set("Content-Type", "text/event-stream") + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"content": "one"}}}}) + writeSSE(t, w, map[string]any{"choices": []any{map[string]any{"index": 0, "delta": map[string]any{"content": " two"}, "finish_reason": "stop"}}}) + writeSSE(t, w, map[string]any{"choices": []any{}, "usage": map[string]any{"prompt_tokens": 1, "completion_tokens": 2}}) + _, _ = io.WriteString(w, "data: [DONE]\n\n") + })) + defer server.Close() + client, _ := newTestClient(t, server) + resp, resolved, err := client.ChatStream(context.Background(), "acct-1", translate.ChatRequest{ + Model: "GLM-5.2", + Messages: []translate.ChatMessage{{Role: "user", Content: "hi"}}, + }) + if err != nil { + t.Fatalf("ChatStream: %v", err) + } + defer resp.Body.Close() + raw, _ := io.ReadAll(resp.Body) + body := string(raw) + if !strings.Contains(body, `"content":"one"`) || !strings.Contains(body, `"content":" two"`) { + t.Fatalf("stream body missing content: %s", body) + } + if !strings.Contains(body, `"usage":{`) || !strings.Contains(body, "data: [DONE]") { + t.Fatalf("stream body missing usage/done: %s", body) + } + if resolved.ReasoningLevel != "" { + t.Fatalf("unexpected reasoning level %q", resolved.ReasoningLevel) + } +} + +func TestModelsAndQuota(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case "/v1/model/builtin": + _, _ = io.WriteString(w, `{"builtinModels":[{"model_id":"GLM-5.2","model_name":"GLM-5.2","context_window":200000,"max_tokens":131072}]}`) + case "/v1/agent-center/agents/useragents": + http.NotFound(w, r) + case "/api/v1/benefit/claim": + _, _ = io.WriteString(w, `{"error_code":"0000"}`) + case "/api/v1/gateway/config": + _, _ = io.WriteString(w, `{"error_code":"0000","result":{"models":[{"model_id":"glm-5.3-flash","context_window":1048576,"max_tokens":393216}]}}`) + case statisticsPath: + _, _ = io.WriteString(w, `{"end_date":"2026-12-31","package":{"spec_code":"free","package_name_en":"Free"},"metrics":[{"name":"usageTotalPackageCredit","show":true,"package_credit_amount":500,"package_credit_used":100,"package_credit_remain":400,"value":20},{"name":"usageTokenChatMessages","show":true,"usage_token_num":1000,"package_token_amount":10000,"value":10}]}`) + default: + http.NotFound(w, r) + } + })) + defer server.Close() + client, _ := newTestClient(t, server) + + models, err := client.Models(context.Background(), "acct-1") + if err != nil { + t.Fatalf("Models: %v", err) + } + if len(models) != 2 { + t.Fatalf("models = %+v", models) + } + found := false + for _, model := range models { + if model.NativeModel == "GLM-5.2" { + found = true + if model.Capabilities.ContextWindow != 200000 || model.Capabilities.MaxOutput != 65536 { + t.Fatalf("capabilities = %+v", model.Capabilities) + } + } + } + if !found { + t.Fatal("GLM-5.2 missing") + } + if !client.isBenefitModel("acct-1", "glm-5.3-flash") { + t.Fatal("benefit model not marked") + } + quota, err := client.Quota(context.Background(), "acct-1") + if err != nil { + t.Fatalf("Quota: %v", err) + } + if quota.Total != 500 || quota.Remaining != 400 || quota.Unit != "积分" { + t.Fatalf("quota = %+v", quota) + } + if len(quota.Windows) != 2 { + t.Fatalf("windows = %+v", quota.Windows) + } +} + +func TestLoginCallbackAndRefresh(t *testing.T) { + var refreshed bool + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case oauthTokensPath: + if err := r.ParseForm(); err != nil { + t.Errorf("parse token form: %v", err) + } + if r.Form.Get("grant_type") == "refresh_token" { + refreshed = true + } + if r.Header.Get("DPoP") == "" { + t.Error("token request missing DPoP proof") + } + _, _ = io.WriteString(w, `{"user_id":"user-2","user_name":"login-user","domain_id":"domain-2","refresh_token":"refresh-2","credentials":{"access_key_id":"AK2","secret_access_key":"SK2","security_token":"STS2","expiration":"`+time.Now().Add(24*time.Hour).Format(time.RFC3339Nano)+`"}}`) + default: + http.NotFound(w, r) + } + })) + defer server.Close() + client, store := newTestClient(t, server) + client.stsHost = server.URL + client.portalHost = server.URL + + session, err := client.StartLogin(context.Background(), "acct-1") + if err != nil { + t.Fatalf("StartLogin: %v", err) + } + parsed, err := url.Parse(session.AuthURL) + if err != nil { + t.Fatal(err) + } + port := parsed.Query().Get("port") + if port == "" { + t.Fatalf("auth URL has no port: %s", session.AuthURL) + } + response, err := http.Get("http://127.0.0.1:" + port + OAuthRedirect + "?code=test-code") + if err != nil { + t.Fatalf("callback: %v", err) + } + _ = response.Body.Close() + done, message, err := client.PollLogin(context.Background(), "acct-1") + if err != nil || !done { + t.Fatalf("PollLogin = %v, %q, %v", done, message, err) + } + credential, err := DecodeCredential(store.payload) + if err != nil { + t.Fatal(err) + } + if credential.UserID != "user-2" || credential.SecurityToken != "STS2" || !credential.CanRefresh() { + t.Fatalf("saved credential = %+v", credential) + } + + expired := credential + expired.ExpiresAt = time.Now().Add(-time.Hour).Format(time.RFC3339Nano) + payload, _ := expired.Encode() + store.payload = payload + rotated, err := client.credential(context.Background(), "acct-1") + if err != nil { + t.Fatalf("refresh: %v", err) + } + if !refreshed || rotated.SecurityToken != "STS2" || rotated.RefreshToken != "refresh-2" { + t.Fatalf("rotated = %+v refreshed=%v", rotated, refreshed) + } +} + +func TestProbeAndCheckin(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case currentUserPath: + _, _ = io.WriteString(w, `{"user_id":"probe-user","user_name":"probe","domain_id":"probe-domain"}`) + case creditDeliveryPath: + _, _ = io.WriteString(w, `{"code":0,"data":{"items":[{"campaignId":1,"title":"Daily","status":"ELIGIBLE","claimable":true,"benefitUnit":"CREDIT","benefitAmount":100,"pendingTotalAmount":100,"extra":{"startTime":"2026-01-01T00:00:00Z","endTime":"2027-01-01T00:00:00Z"}}]}}`) + case creditClaimPath, creditConfirmPath: + _, _ = io.WriteString(w, `{"code":0,"data":{}}`) + default: + http.NotFound(w, r) + } + })) + defer server.Close() + client, _ := newTestClient(t, server) + + health, err := client.Probe(context.Background(), "acct-1") + if err != nil { + t.Fatalf("Probe: %v", err) + } + if !health.Ready || health.UID != "probe-user" { + t.Fatalf("health = %+v", health) + } + result, err := client.Checkin(context.Background(), "acct-1") + if err != nil { + t.Fatalf("Checkin: %v", err) + } + if result.Status != "success" || result.RewardCredits != 100 { + t.Fatalf("checkin = %+v", result) + } +} + +func TestImporterAndClassifier(t *testing.T) { + credential, _ := testCredential().Encode() + imported, err := PrepareImport(credential) + if err != nil || !imported.Ready { + t.Fatalf("PrepareImport = %+v, %v", imported, err) + } + if _, err := PrepareImport([]byte(`{"access_key_id":"AK"}`)); err == nil { + t.Fatal("incomplete import accepted") + } + if got := Classify(401, `{"error_msg":"x-auth-token not found"}`); got.Kind != accounts.KindAuth { + t.Fatalf("401 kind = %q", got.Kind) + } + if got := Classify(400, `InferHub.002002009.404 model is not registered`); got.Kind != accounts.KindModelNotAvailable { + t.Fatalf("model kind = %q", got.Kind) + } + if got := Classify(429, `InferHub.4001.429 TPM limit`); got.Kind != accounts.KindRateLimit { + t.Fatalf("rate kind = %q", got.Kind) + } + if got := Classify(400, `InferHub.001001005 request param is invalid`); got.Kind != accounts.KindInvalidRequest { + t.Fatalf("param kind = %q", got.Kind) + } +} + +func TestAdapterSurface(t *testing.T) { + credential, _ := testCredential().Encode() + store := &memoryStore{payload: credential} + client := NewClient(store) + adapter := client.Adapter() + for _, capability := range []string{"credential", "login", "chat", "models", "classifier", "import_export", "prober", "checkin"} { + if !adapter.Supports(capability) { + t.Fatalf("adapter missing %s", capability) + } + } + var _ providers.CredentialImporter = importer{} + var _ providers.ModelCatalogProvider = client + var _ providers.ProviderChat = client + var _ providers.AccountProber = client +} diff --git a/internal/providers/codearts/constants.go b/internal/providers/codearts/constants.go new file mode 100644 index 00000000..db908905 --- /dev/null +++ b/internal/providers/codearts/constants.go @@ -0,0 +1,83 @@ +package codearts + +import "time" + +// ProviderID is the provider family id registered in the control plane. +const ProviderID = "codearts" + +// CredentialFormat is the canonical stored credential format. +const CredentialFormat = "codearts-oauth-v1" + +// ClientID is the OAuth client used by the official CodeArts Agent extension. +// The refresh token is bound to this value; refreshing with a different id is +// rejected by STS. +const ClientID = "codearts-agent" + +// Endpoints. The chat gateway and the token service are different hosts: +// chat is the snap-access regional gateway, while OAuth token exchange and +// refresh go through the regional STS endpoint. +const ( + CNBaseURL = "https://snap-access.cn-north-4.myhuaweicloud.com" + CNSTSHost = "https://sts.cn-north-4.myhuaweicloud.com" + CNPortalHost = "https://codearts.huaweicloud.com/portal" + BenefitHost = "https://opengw.developer.huaweicloud.com" +) + +// API paths. Paths are relative to CNBaseURL unless noted. +const ( + chatPath = "/api/v2/chat/completions" + loginTicketPath = "/snap-manager/v1/login/ticket" + currentUserPath = "/snap-manager/v1/current/user" + statisticsPath = "/snap-manager/v1/statistics/plugin" + modelBuiltinPath = "/v1/model/builtin" + agentListPath = "/v1/agent-center/agents/useragents" + agentDetailPath = "/v1/agent-center/agents/detail" + creditDeliveryPath = "/v1/ops/delivery" + creditClaimPath = "/v1/ops/claim" + creditConfirmPath = "/v1/ops/confirm" +) + +// OAuth and benefit paths. +const ( + oauthTokensPath = "/v1/oauth2/tokens" + benefitConfig = "/api/v1/gateway/config" + benefitClaim = "/api/v1/benefit/claim" + benefitBalance = "/api/v1/user/tokens/balance" +) + +// Client identity reported to the OAuth portal and gateway. +const ( + PluginName = "snap_AIIDE" + PluginVersion = "5.2.0" + OAuthRedirect = "/oauth/callback" + Language = "zh-cn" + AppID = "CodeAgent3.0" +) + +// Timing knobs. +const ( + // refreshLead refreshes the STS credential this long before expiry so a + // long stream never starts on a credential that dies mid-response. + refreshLead = 15 * time.Minute + // metadataTimeout bounds model / statistics / identity calls. + metadataTimeout = 30 * time.Second + // chatTimeout bounds one streaming HTTP request when the caller does not + // set a shorter context. + chatTimeout = 10 * time.Minute + // firstByteTimeout is the maximum wait for response headers plus the first + // SSE event. It is returned as providers.ErrFirstByteTimeout, never as a + // context deadline, so the executor can fail over. + firstByteTimeout = 90 * time.Second + // catalogTTL caps how long a discovered model list is reused. + catalogTTL = 30 * time.Minute + // loginTTL bounds one browser login round. + loginTTL = 15 * time.Minute + // maxBodyBytes caps upstream error bodies retained for classification. + maxBodyBytes = 1 << 20 +) + +// HeaderMaasType routes a request to the limited-benefit model gateway. +const ( + HeaderMaasType = "maas_type" + MaasBenefit = "benefit" +) diff --git a/internal/providers/codearts/credential.go b/internal/providers/codearts/credential.go new file mode 100644 index 00000000..c2ec6f15 --- /dev/null +++ b/internal/providers/codearts/credential.go @@ -0,0 +1,300 @@ +package codearts + +import ( + "encoding/json" + "errors" + "fmt" + "net/url" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// Credential is the canonical storage payload. The field names match the +// upstream OAuth response and the credential files written by the official +// CodeArts integrations, so an exported auth file can be pasted directly. +type Credential struct { + Format string `json:"format"` + AccessKeyID string `json:"access_key_id"` + SecretAccessKey string `json:"secret_access_key"` + SecurityToken string `json:"security_token,omitempty"` + ExpiresAt string `json:"expires_at,omitempty"` + DomainID string `json:"domain_id,omitempty"` + UserID string `json:"user_id,omitempty"` + UserName string `json:"user_name,omitempty"` + RefreshToken string `json:"refresh_token,omitempty"` + CodeVerifier string `json:"code_verifier,omitempty"` + ClientID string `json:"client_id,omitempty"` + DPoPPrivateKey map[string]string `json:"dpop_private_key,omitempty"` + Plan string `json:"plan,omitempty"` + BaseURL string `json:"base_url,omitempty"` +} + +// wireCredential accepts the aliases seen in exported credential files: the +// STS trio may be nested under credentials/credential, security_token may be +// cloud_dragon_token, and expiry may be expiration/expires_at. +type wireCredential struct { + Format string `json:"format"` + AccessKeyID string `json:"access_key_id"` + SecretAccessKey string `json:"secret_access_key"` + SecurityToken string `json:"security_token"` + CloudDragonTok string `json:"cloud_dragon_token"` + ExpiresAt string `json:"expires_at"` + Expiration string `json:"expiration"` + DomainID string `json:"domain_id"` + AccountID string `json:"account_id"` + UserID string `json:"user_id"` + UserName string `json:"user_name"` + RefreshToken string `json:"refresh_token"` + CodeVerifier string `json:"code_verifier"` + ClientID string `json:"client_id"` + DPoPPrivateKey map[string]string `json:"dpop_private_key"` + Plan string `json:"plan"` + BaseURL string `json:"base_url"` + Credentials struct { + AccessKeyID string `json:"access_key_id"` + SecretAccessKey string `json:"secret_access_key"` + SecurityToken string `json:"security_token"` + Expiration string `json:"expiration"` + } `json:"credentials"` + Credential struct { + Access string `json:"access"` + Secret string `json:"secret"` + SecurityToken string `json:"securitytoken"` + ExpiresAt string `json:"expires_at"` + } `json:"credential"` + OAuthContext struct { + PKCEPair struct { + CodeVerifier string `json:"code_verifier"` + } `json:"pkce_pair"` + DPoPKeyPair struct { + PrivateKeyJWK map[string]string `json:"private_key_jwk"` + } `json:"dpop_key_pair"` + } `json:"oauth_context"` +} + +// DecodeCredential accepts the canonical shape plus the aliases above. +func DecodeCredential(payload []byte) (Credential, error) { + var wrapper map[string]json.RawMessage + if json.Unmarshal(payload, &wrapper) == nil { + if nested, ok := wrapper["codearts_provider_credential"]; ok { + return DecodeCredential(nested) + } + } + var wire wireCredential + if err := json.Unmarshal(payload, &wire); err != nil { + return Credential{}, fmt.Errorf("codearts credential is not valid json") + } + credential := Credential{ + Format: firstNonEmpty(wire.Format, CredentialFormat), + AccessKeyID: strings.TrimSpace(wire.AccessKeyID), + SecretAccessKey: strings.TrimSpace(wire.SecretAccessKey), + SecurityToken: strings.TrimSpace(firstNonEmpty(wire.SecurityToken, wire.CloudDragonTok)), + ExpiresAt: strings.TrimSpace(firstNonEmpty(wire.ExpiresAt, wire.Expiration)), + DomainID: strings.TrimSpace(firstNonEmpty(wire.DomainID, wire.AccountID)), + UserID: strings.TrimSpace(wire.UserID), + UserName: strings.TrimSpace(wire.UserName), + RefreshToken: strings.TrimSpace(wire.RefreshToken), + CodeVerifier: strings.TrimSpace(wire.CodeVerifier), + ClientID: strings.TrimSpace(wire.ClientID), + DPoPPrivateKey: cloneStringMap(wire.DPoPPrivateKey), + Plan: strings.TrimSpace(wire.Plan), + BaseURL: normalizeBase(wire.BaseURL), + } + if credential.AccessKeyID == "" { + credential.AccessKeyID = strings.TrimSpace(wire.Credentials.AccessKeyID) + } + if credential.SecretAccessKey == "" { + credential.SecretAccessKey = strings.TrimSpace(wire.Credentials.SecretAccessKey) + } + if credential.SecurityToken == "" { + credential.SecurityToken = strings.TrimSpace(wire.Credentials.SecurityToken) + } + if credential.ExpiresAt == "" { + credential.ExpiresAt = strings.TrimSpace(wire.Credentials.Expiration) + } + if credential.AccessKeyID == "" { + credential.AccessKeyID = strings.TrimSpace(wire.Credential.Access) + } + if credential.SecretAccessKey == "" { + credential.SecretAccessKey = strings.TrimSpace(wire.Credential.Secret) + } + if credential.SecurityToken == "" { + credential.SecurityToken = strings.TrimSpace(wire.Credential.SecurityToken) + } + if credential.ExpiresAt == "" { + credential.ExpiresAt = strings.TrimSpace(wire.Credential.ExpiresAt) + } + if credential.CodeVerifier == "" { + credential.CodeVerifier = strings.TrimSpace(wire.OAuthContext.PKCEPair.CodeVerifier) + } + if len(credential.DPoPPrivateKey) == 0 { + credential.DPoPPrivateKey = cloneStringMap(wire.OAuthContext.DPoPKeyPair.PrivateKeyJWK) + } + return credential, nil +} + +// Encode writes the canonical payload. +func (c Credential) Encode() ([]byte, error) { + c.Format = CredentialFormat + c.AccessKeyID = strings.TrimSpace(c.AccessKeyID) + c.SecretAccessKey = strings.TrimSpace(c.SecretAccessKey) + c.SecurityToken = strings.TrimSpace(c.SecurityToken) + c.ExpiresAt = strings.TrimSpace(c.ExpiresAt) + c.RefreshToken = strings.TrimSpace(c.RefreshToken) + c.CodeVerifier = strings.TrimSpace(c.CodeVerifier) + c.ClientID = strings.TrimSpace(c.ClientID) + c.BaseURL = normalizeBase(c.BaseURL) + return json.Marshal(c) +} + +// Ready reports whether the credential can authenticate a chat request now. +// A credential with only a refresh token is not ready until refresh succeeds. +func (c Credential) Ready() bool { + return strings.TrimSpace(c.AccessKeyID) != "" && + strings.TrimSpace(c.SecretAccessKey) != "" && + strings.TrimSpace(c.SecurityToken) != "" +} + +// Valid reports whether the signing material exists. Unlike Ready it does not +// require the STS token, so an expired credential can still be refreshed. +func (c Credential) Valid() bool { + return strings.TrimSpace(c.AccessKeyID) != "" && strings.TrimSpace(c.SecretAccessKey) != "" +} + +// CanRefresh reports whether the long-lived half needed for refresh is present. +func (c Credential) CanRefresh() bool { + return strings.TrimSpace(c.RefreshToken) != "" && strings.TrimSpace(c.CodeVerifier) != "" +} + +// NeedsRefresh reports whether the STS credential should be rotated before use. +// An empty or unparseable expiry is treated as stale (not fresh), because a bad +// timestamp would otherwise hide an expired credential forever. +func (c Credential) NeedsRefresh(now time.Time) bool { + if !c.Ready() { + return c.CanRefresh() + } + raw := strings.TrimSpace(c.ExpiresAt) + if raw == "" { + return false + } + expiry, err := time.Parse(time.RFC3339Nano, raw) + if err != nil { + return true + } + return !now.Add(refreshLead).Before(expiry) +} + +// Expiry returns the parsed expiry, or the zero time. +func (c Credential) Expiry() time.Time { + expiry, err := time.Parse(time.RFC3339Nano, strings.TrimSpace(c.ExpiresAt)) + if err != nil { + return time.Time{} + } + return expiry +} + +// Sign returns the AK/SK material used for request signing. +func (c Credential) Sign() SignCredential { + return SignCredential{ + AccessKeyID: c.AccessKeyID, + SecretAccessKey: c.SecretAccessKey, + SecurityToken: c.SecurityToken, + } +} + +// AuthBase returns the optional per-credential gateway override (tests only). +func (c Credential) AuthBase() string { return normalizeBase(c.BaseURL) } + +// ValidateCredential is the CredentialCodec entry point. +func ValidateCredential(payload []byte) error { + credential, err := DecodeCredential(payload) + if err != nil { + return err + } + if !credential.Ready() && !credential.CanRefresh() { + return errors.New("codearts credential requires STS access keys or a refresh token") + } + if credential.BaseURL != "" { + if err := validateBaseURL(credential.BaseURL); err != nil { + return err + } + } + return nil +} + +// validateBaseURL rejects non-https or malformed overrides. Production never +// sets a base URL; it exists so package tests can drive an httptest origin. +func validateBaseURL(raw string) error { + parsed, err := url.Parse(raw) + if err != nil || parsed.Host == "" { + return fmt.Errorf("codearts endpoint must be an absolute URL") + } + if parsed.User != nil || parsed.RawQuery != "" || parsed.Fragment != "" { + return fmt.Errorf("codearts endpoint must not carry credentials, a query, or a fragment") + } + if !strings.EqualFold(parsed.Scheme, "https") && !acceptTestEndpoint { + return fmt.Errorf("codearts endpoint must be an https URL") + } + if !acceptTestEndpoint { + host := strings.ToLower(parsed.Hostname()) + if host != "myhuaweicloud.com" && !strings.HasSuffix(host, ".myhuaweicloud.com") && + host != "huaweicloud.com" && !strings.HasSuffix(host, ".huaweicloud.com") { + return fmt.Errorf("codearts endpoint must be a Huawei Cloud host") + } + } + return nil +} + +// acceptTestEndpoint lets package tests drive the adapter against httptest. +var acceptTestEndpoint = false + +func normalizeBase(raw string) string { + return strings.TrimRight(strings.TrimSpace(raw), "/") +} + +func cloneStringMap(in map[string]string) map[string]string { + if len(in) == 0 { + return nil + } + out := make(map[string]string, len(in)) + for k, v := range in { + out[k] = v + } + return out +} + +func firstNonEmpty(values ...string) string { + for _, value := range values { + if strings.TrimSpace(value) != "" { + return strings.TrimSpace(value) + } + } + return "" +} + +// importFormat is the credential format accepted by the importer. +func importFormat() string { return CredentialFormat } + +// PrepareImport validates and normalizes a pasted credential. The Ready flag is +// true when the credential can either chat now or refresh itself. +func PrepareImport(payload []byte) (providers.CredentialImport, error) { + credential, err := DecodeCredential(payload) + if err != nil { + return providers.CredentialImport{}, err + } + if !credential.Ready() && !credential.CanRefresh() { + return providers.CredentialImport{}, errors.New("codearts credential requires STS access keys or a refresh token") + } + if credential.BaseURL != "" { + if err := validateBaseURL(credential.BaseURL); err != nil { + return providers.CredentialImport{}, err + } + } + encoded, err := credential.Encode() + if err != nil { + return providers.CredentialImport{}, err + } + return providers.CredentialImport{Payload: encoded, Ready: true}, nil +} diff --git a/internal/providers/codearts/doc.go b/internal/providers/codearts/doc.go new file mode 100644 index 00000000..4cf7ab63 --- /dev/null +++ b/internal/providers/codearts/doc.go @@ -0,0 +1,73 @@ +// Package codearts implements the Huawei Cloud CodeArts Agent (码道) in-process +// provider. +// +// CodeArts has four client forms (IDE, IDE extension, JetBrains plugin, CLI). +// This adapter implements the cloud-facing protocol they all share, not the +// CLI's local agent server. The protocol facts below were verified against +// codearts2api (MIT, commit 8d1e43d) and re-checked against the locally +// installed CodeArts Agent kernel; see NOTICE. +// +// # Login +// +// Huawei's public docs describe AK/SK for the CLI, but the personal-account +// OAuth flow is narrower and is what the official extension and the CLI use for +// chat: the portal at codearts.huaweicloud.com/portal issues an authorization +// code (PKCE S256, client_id codearts-agent, local callback +// 127.0.0.1:/oauth/callback), and the code is exchanged at +// sts.cn-north-4.myhuaweicloud.com/v1/oauth2/tokens for a short-lived STS trio +// (access_key_id, secret_access_key, security_token). The refresh token is +// bound to the PKCE verifier and the DPoP P-256 key used for the first +// exchange, so both are stored with the credential. A rejected refresh +// surfaces as an auth failure and asks for a new login; a successful rotation +// is persisted before the request continues. +// +// Import is supported; export is not. A credential contains the STS keys and +// the refresh token, so handing it back out of the console would hand out the +// account. The descriptor advertises ImportExport because that capability +// covers the import side; the console export action reports unsupported. +// +// # Chat +// +// Chat is a direct HTTP/SSE OpenAI-compatible call to +// snap-access.cn-north-4.myhuaweicloud.com/api/v2/chat/completions. The request +// carries x-auth-token (the STS security token) and is signed with Huawei's +// SDK-HMAC-SHA256 AK/SK scheme. The body uses the native OpenAI shape; tools, +// tool_choice, reasoning_effort, max_tokens, temperature and top_p all pass +// through. tool_choice accepts only the string forms, so a named function +// choice is sent as "required" with the tools list narrowed to that function. +// Assistant tool calls and tool results are forwarded only when they form a +// complete pair; CodeArts rejects orphaned tool history with a 400 and then +// keeps failing every later turn. +// +// Streams are CodeArts/OpenAI SSE events. The adapter normalizes the event +// names and emits standard chat-completions deltas, a final usage chunk when +// the upstream supplies usage, and a single [DONE]. The non-stream path +// aggregates the same stream, so usage, reasoning and tool-call assembly share +// one parser. +// +// # Catalog and quota +// +// The catalog is per account and merges three upstream sources: the CodeAgent +// detail's gpts.models, GET /v1/model/builtin (Agent-Type: PromptCenter), and +// the limited-benefit gateway config. Each record declares its exact model id +// plus context/output limits; those declarations are the only capability +// source. The adapter declares tools because the chat endpoint natively +// accepts them, and does not declare image input because the request mapper +// sends text only. Benefits models are marked and routed with maas_type: +// benefit; the adapter claims the benefit idempotently while discovering the +// catalog, mirroring the official client opening its model menu. +// +// GET /snap-manager/v1/statistics/plugin supplies the package meters +// (usageTotalPackageCredit, usageTokenChatMessages, ...). The adapter maps the +// visible meters into quota windows; the package has no per-meter expiry, so +// the FEFO layer treats it as unknown rather than inventing an end date. +// codearts stats is only a local session ledger and is not used. +// +// # Check-in +// +// The daily check-in and new-user credits are two credit campaigns delivered by +// the ops endpoints (/v1/ops/delivery, /v1/ops/claim, /v1/ops/confirm), not by +// the CLI. Claiming is idempotent and the confirm step is retried separately; +// the adapter reports the claimed amount and never presents it as the account +// balance. +package codearts diff --git a/internal/providers/codearts/dpop.go b/internal/providers/codearts/dpop.go new file mode 100644 index 00000000..8040dee0 --- /dev/null +++ b/internal/providers/codearts/dpop.go @@ -0,0 +1,123 @@ +package codearts + +import ( + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/sha256" + "encoding/base64" + "encoding/json" + "fmt" + "math/big" + "time" +) + +// dpopKeyPair is the ES256 key pair used in the DPoP proof sent to STS. +type dpopKeyPair struct { + PrivateKey *ecdsa.PrivateKey + PublicJWK map[string]string +} + +// newDPoPPrivateJWK generates a persistable P-256 private key. STS binds the +// refresh token to the public half, so the same JWK must be reused on refresh. +func newDPoPPrivateJWK() (map[string]string, error) { + key, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) + if err != nil { + return nil, err + } + return map[string]string{ + "kty": "EC", + "crv": "P-256", + "x": base64.RawURLEncoding.EncodeToString(padded(key.PublicKey.X, 32)), + "y": base64.RawURLEncoding.EncodeToString(padded(key.PublicKey.Y, 32)), + "d": base64.RawURLEncoding.EncodeToString(padded(key.D, 32)), + }, nil +} + +func dpopKeyPairFor(jwk map[string]string) (*dpopKeyPair, error) { + if len(jwk) == 0 || jwk["d"] == "" { + generated, err := newDPoPPrivateJWK() + if err != nil { + return nil, err + } + jwk = generated + } + if jwk["kty"] != "EC" || jwk["crv"] != "P-256" { + return nil, fmt.Errorf("invalid DPoP JWK curve") + } + decode := func(field string) ([]byte, error) { + raw, err := base64.RawURLEncoding.DecodeString(jwk[field]) + if err != nil || len(raw) != 32 { + return nil, fmt.Errorf("invalid DPoP JWK %s", field) + } + return raw, nil + } + xRaw, err := decode("x") + if err != nil { + return nil, err + } + yRaw, err := decode("y") + if err != nil { + return nil, err + } + dRaw, err := decode("d") + if err != nil { + return nil, err + } + curve := elliptic.P256() + x, y, d := new(big.Int).SetBytes(xRaw), new(big.Int).SetBytes(yRaw), new(big.Int).SetBytes(dRaw) + if d.Sign() <= 0 || d.Cmp(curve.Params().N) >= 0 || !curve.IsOnCurve(x, y) { + return nil, fmt.Errorf("invalid DPoP JWK key material") + } + wantX, wantY := curve.ScalarBaseMult(dRaw) + if wantX.Cmp(x) != 0 || wantY.Cmp(y) != 0 { + return nil, fmt.Errorf("DPoP JWK public/private key mismatch") + } + return &dpopKeyPair{ + PrivateKey: &ecdsa.PrivateKey{PublicKey: ecdsa.PublicKey{Curve: curve, X: x, Y: y}, D: d}, + PublicJWK: map[string]string{"kty": "EC", "crv": "P-256", "x": jwk["x"], "y": jwk["y"]}, + }, nil +} + +// signDPoPProof builds the RFC 9449 proof for the token endpoint. +func signDPoPProof(kp *dpopKeyPair, htu string) (string, error) { + header, _ := json.Marshal(map[string]any{ + "alg": "ES256", + "typ": "dpop+jwt", + "jwk": kp.PublicJWK, + }) + payload, _ := json.Marshal(map[string]any{ + "htm": "POST", + "htu": htu, + "iat": time.Now().Unix(), + "jti": randomHex(32), + }) + input := base64.RawURLEncoding.EncodeToString(header) + "." + base64.RawURLEncoding.EncodeToString(payload) + digest := sha256.Sum256([]byte(input)) + r, s, err := ecdsa.Sign(rand.Reader, kp.PrivateKey, digest[:]) + if err != nil { + return "", err + } + n := elliptic.P256().Params().N + halfN := new(big.Int).Rsh(n, 1) + if s.Cmp(halfN) > 0 { + s.Sub(n, s) + } + sig := append(padded(r, 32), padded(s, 32)...) + return input + "." + base64.RawURLEncoding.EncodeToString(sig), nil +} + +func padded(b *big.Int, size int) []byte { + out := make([]byte, size) + raw := b.Bytes() + copy(out[size-len(raw):], raw) + return out +} + +func randomHex(n int) string { + b := make([]byte, n) + if _, err := rand.Read(b); err != nil { + return fmt.Sprintf("%x", time.Now().UnixNano()) + } + return fmt.Sprintf("%x", b) +} diff --git a/internal/providers/codearts/errors.go b/internal/providers/codearts/errors.go new file mode 100644 index 00000000..bdc2f28a --- /dev/null +++ b/internal/providers/codearts/errors.go @@ -0,0 +1,128 @@ +package codearts + +import ( + "net/http" + "regexp" + "strings" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" +) + +var secretPatterns = []*regexp.Regexp{ + regexp.MustCompile(`(?i)(x-auth-token|x-security-token|authorization)\s*[:=]\s*\S+`), + regexp.MustCompile(`(?i)Access=[^,\s]+`), + regexp.MustCompile(`(?i)Signature=[0-9a-f]+`), + regexp.MustCompile(`(?i)bearer\s+\S+`), +} + +func redactSecrets(text string) string { + safe := text + for _, pattern := range secretPatterns { + safe = pattern.ReplaceAllString(safe, "[redacted]") + } + return safe +} + +var modelUnavailableMarkers = []string{ + "inferhub.002002009", + "not registered", + "4004.200", + "benefit not found", + "model is not available", + "model not found", + "does not have access", +} + +var invalidRequestMarkers = []string{ + "inferhub.001001005", + "request param is invalid", + "invalid request", + "tool_choice", +} + +var quotaMarkers = []string{ + "insufficient quota", + "quota exceeded", + "quota exhausted", + "insufficient balance", + "余额不足", + "积分不足", +} + +var rateLimitMarkers = []string{ + "tm.00001041", + "too many requests", + "rate limit", + "concurrent session", + "并发会话", + "tpm", + "queue", +} + +// Classify maps CodeArts error bodies onto the executor taxonomy. A model the +// account cannot use is model_not_available and keeps the account ready; an +// expired STS token is auth and asks for a refresh/login. +func Classify(status int, body string) providers.ClassifiedError { + safe := redactSecrets(strings.TrimSpace(body)) + lower := strings.ToLower(safe) + message := firstNonEmpty(safe, "codearts upstream error") + switch { + case containsAny(lower, modelUnavailableMarkers): + return providers.ClassifiedError{Kind: accounts.KindModelNotAvailable, Status: http.StatusNotFound, Message: message} + case containsAny(lower, quotaMarkers) || status == http.StatusPaymentRequired: + return providers.ClassifiedError{Kind: accounts.KindQuota, Status: http.StatusPaymentRequired, Message: message} + case status == http.StatusUnauthorized || status == http.StatusForbidden || + strings.Contains(lower, "apig.0301") || strings.Contains(lower, "x-auth-token") || + strings.Contains(lower, "token expired") || strings.Contains(lower, "invalid token"): + return providers.ClassifiedError{Kind: accounts.KindAuth, Status: http.StatusUnauthorized, Message: message} + case containsAny(lower, rateLimitMarkers) || status == http.StatusTooManyRequests: + return providers.ClassifiedError{Kind: accounts.KindRateLimit, Status: http.StatusTooManyRequests, Message: message} + case containsAny(lower, invalidRequestMarkers) || status == http.StatusBadRequest || status == http.StatusUnprocessableEntity: + return providers.ClassifiedError{Kind: accounts.KindInvalidRequest, Status: http.StatusBadRequest, Message: message} + case status == http.StatusNotFound: + return providers.ClassifiedError{Kind: accounts.KindModelNotAvailable, Status: http.StatusNotFound, Message: message} + case status == 499 || strings.Contains(lower, "canceled") || strings.Contains(lower, "cancelled"): + return providers.ClassifiedError{Kind: accounts.KindCanceled, Status: 499, Message: message} + case status >= 500 || status == 0: + return providers.ClassifiedError{Kind: accounts.KindUnavailable, Status: http.StatusBadGateway, Message: message} + } + if status >= 400 { + return providers.ClassifiedError{Kind: accounts.KindUnavailable, Status: status, Message: message} + } + return providers.ClassifiedError{} +} + +func containsAny(text string, markers []string) bool { + for _, marker := range markers { + if strings.Contains(text, marker) { + return true + } + } + return false +} + +// newProviderError turns an HTTP status/body into the provider error the +// executor classifies. The message is always redacted. +func newProviderError(status int, body string) *providers.Error { + classified := Classify(status, body) + kind := classified.Kind + if kind == "" { + kind = accounts.KindUnavailable + } + code := http.StatusBadGateway + if classified.Status != 0 { + code = classified.Status + } + message := classified.Message + if message == "" { + message = "codearts upstream error" + } + return &providers.Error{Kind: kind, Status: code, Message: message} +} + +type classifier struct{} + +func (classifier) Classify(status int, body string) providers.ClassifiedError { + return Classify(status, body) +} diff --git a/internal/providers/codearts/import.go b/internal/providers/codearts/import.go new file mode 100644 index 00000000..b492f371 --- /dev/null +++ b/internal/providers/codearts/import.go @@ -0,0 +1,23 @@ +package codearts + +import ( + "context" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +type importer struct{} + +func (importer) Format() string { return CredentialFormat } + +func (importer) ValidateImport(payload []byte) error { return ValidateCredential(payload) } + +func (importer) PrepareImport(payload []byte) (providers.CredentialImport, error) { + return PrepareImport(payload) +} + +// Export is intentionally unsupported. A CodeArts credential contains the STS +// keys and the refresh token; exporting it would hand out the account. +func (importer) Export(context.Context, string) (map[string]any, error) { + return nil, providers.ErrUnsupported +} diff --git a/internal/providers/codearts/oauth.go b/internal/providers/codearts/oauth.go new file mode 100644 index 00000000..adf04b95 --- /dev/null +++ b/internal/providers/codearts/oauth.go @@ -0,0 +1,374 @@ +package codearts + +import ( + "context" + "crypto/rand" + "crypto/sha256" + "encoding/base64" + "encoding/json" + "fmt" + "io" + "net" + "net/http" + "net/url" + "strings" + "sync" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/auth" + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// loginState is one in-flight browser authorization. The local callback +// listener receives the authorization code; the ticket polling fallback is +// still attempted when the portal answers with a secret instead. +type loginState struct { + authURL string + ticketID string + secret string + verifier string + dpop map[string]string + port int + expiresAt time.Time + listener net.Listener + + mu sync.Mutex + done bool + err error + completed chan struct{} +} + +func (s *loginState) finish(err error) { + s.mu.Lock() + if s.done { + s.mu.Unlock() + return + } + s.done = true + s.err = err + s.mu.Unlock() + close(s.completed) +} + +func (s *loginState) result() (bool, error) { + s.mu.Lock() + defer s.mu.Unlock() + return s.done, s.err +} + +// StartLogin builds the portal URL and starts the loopback listener. The +// console shows the URL; PollLogin waits for the callback to finish. +func (c *Client) StartLogin(ctx context.Context, accountID string) (providers.LoginSession, error) { + c.cleanupLogins() + ticketID := randomHex(16) + verifier, challenge, err := pkcePair() + if err != nil { + return providers.LoginSession{}, err + } + dpop, err := newDPoPPrivateJWK() + if err != nil { + return providers.LoginSession{}, err + } + listener, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + return providers.LoginSession{}, fmt.Errorf("codearts login listener: %w", err) + } + port := listener.Addr().(*net.TCPAddr).Port + authURL := c.buildAuthorizeURL(ticketID, challenge, port) + state := &loginState{ + authURL: authURL, + ticketID: ticketID, + verifier: verifier, + dpop: dpop, + port: port, + expiresAt: c.now().Add(loginTTL), + listener: listener, + completed: make(chan struct{}), + } + auth.ServeLoopback(listener, OAuthRedirect, "CodeArts", func(callbackCtx context.Context, rawURL string) error { + return c.handleCallback(callbackCtx, accountID, state, rawURL) + }) + c.mu.Lock() + if c.logins == nil { + c.logins = map[string]*loginState{} + } + if previous := c.logins[accountID]; previous != nil { + previous.finish(fmt.Errorf("superseded by a new login round")) + _ = previous.listener.Close() + } + c.logins[accountID] = state + c.mu.Unlock() + return providers.LoginSession{AuthURL: authURL, State: ticketID}, nil +} + +// PollLogin advances one login round. It returns done=true only after the +// credential has been persisted. +func (c *Client) PollLogin(ctx context.Context, accountID string) (bool, string, error) { + c.mu.Lock() + state := c.logins[accountID] + c.mu.Unlock() + if state == nil { + return false, "", fmt.Errorf("login not started for account %s", accountID) + } + select { + case <-state.completed: + done, err := state.result() + if err != nil { + c.clearLogin(accountID) + return false, "", err + } + if done { + c.clearLogin(accountID) + return true, "login complete", nil + } + case <-time.After(time.Second): + } + if c.now().After(state.expiresAt) { + c.clearLogin(accountID) + return false, "", fmt.Errorf("codearts login timed out; start again") + } + state.mu.Lock() + secret := state.secret + state.mu.Unlock() + if secret != "" { + if done, message, err := c.pollTicket(ctx, accountID, state, secret); err != nil { + return false, "", err + } else if done { + return true, message, nil + } + } + return false, "waiting for browser authorization", nil +} + +// CompleteLogin accepts a callback URL pasted by the operator when the +// browser cannot reach the proxy host. +func (c *Client) CompleteLogin(ctx context.Context, accountID, callbackURL string) error { + c.mu.Lock() + state := c.logins[accountID] + c.mu.Unlock() + if state == nil { + return fmt.Errorf("login not started for account %s", accountID) + } + parsed, err := url.Parse(strings.TrimSpace(callbackURL)) + if err != nil || parsed.Scheme != "http" || parsed.User != nil || parsed.Path != OAuthRedirect { + return fmt.Errorf("callback URL must be the CodeArts http://127.0.0.1 callback") + } + host := parsed.Hostname() + if host != "127.0.0.1" && host != "localhost" && host != "::1" { + return fmt.Errorf("callback URL must point at a loopback host") + } + if parsed.Port() != fmt.Sprint(state.port) { + return fmt.Errorf("callback port does not match this login round") + } + code := parsed.Query().Get("code") + if code == "" { + return fmt.Errorf("callback URL has no authorization code") + } + if err := c.completeCode(ctx, accountID, state, code); err != nil { + return err + } + return nil +} + +func (c *Client) handleCallback(ctx context.Context, accountID string, state *loginState, rawURL string) error { + parsed, err := url.Parse(rawURL) + if err != nil { + return err + } + query := parsed.Query() + if code := query.Get("code"); code != "" { + return c.completeCode(ctx, accountID, state, code) + } + if secret := query.Get("secret"); secret != "" { + state.mu.Lock() + state.secret = secret + state.mu.Unlock() + return nil + } + return fmt.Errorf("callback is missing code or secret") +} + +func (c *Client) completeCode(ctx context.Context, accountID string, state *loginState, code string) error { + credential := Credential{ + Format: CredentialFormat, + ClientID: ClientID, + CodeVerifier: state.verifier, + DPoPPrivateKey: state.dpop, + } + token, err := c.exchangeCode(ctx, credential, code, state.port) + if err != nil { + state.finish(err) + return err + } + credential = applyToken(credential, token) + if credential.UserID == "" || credential.UserName == "" { + if uid, name, domain, userErr := c.currentUser(ctx, credential); userErr == nil { + credential.UserID = firstNonEmpty(credential.UserID, uid) + credential.UserName = firstNonEmpty(credential.UserName, name) + credential.DomainID = firstNonEmpty(credential.DomainID, domain) + } + } + if err := c.saveCredential(ctx, accountID, credential); err != nil { + state.finish(err) + return err + } + _ = c.store.Observe(ctx, accountID, credential.UserID, "ready", "", "") + state.finish(nil) + return nil +} + +func (c *Client) exchangeCode(ctx context.Context, credential Credential, code string, port int) (*tokenResponse, error) { + redirect := fmt.Sprintf("http://127.0.0.1:%d%s", port, OAuthRedirect) + token, err := c.requestToken(ctx, map[string][]string{ + "client_id": {ClientID}, + "code": {code}, + "code_verifier": {credential.CodeVerifier}, + "grant_type": {"authorization_code"}, + "redirect_uri": {redirect}, + }, credential) + if err != nil { + if providerErr, ok := err.(*providers.Error); ok && providerErr.Kind == accounts.KindAuth { + return nil, err + } + return nil, err + } + return token, nil +} + +func (c *Client) buildAuthorizeURL(ticketID, challenge string, port int) string { + values := url.Values{} + values.Set("theme", "2") + values.Set("locale", Language) + values.Set("uri_scheme", ClientID) + values.Set("client_id", ClientID) + values.Set("port", fmt.Sprint(port)) + values.Set("code_challenge", challenge) + values.Set("code_challenge_method", "SHA-256") + values.Set("ticket_id", ticketID) + values.Set("plugin-name", PluginName) + values.Set("plugin-version", PluginVersion) + return c.portalHost + "/authorize?" + values.Encode() +} + +// pollTicket is the legacy fallback: the portal calls back with a secret, and +// the ticket endpoint returns credentials. It is only used when no code ever +// arrives. +func (c *Client) pollTicket(ctx context.Context, accountID string, state *loginState, secret string) (bool, string, error) { + values := url.Values{} + values.Set("ticket_id", state.ticketID) + values.Set("secret", secret) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.apiBase(Credential{})+loginTicketPath+"?"+values.Encode(), nil) + if err != nil { + return false, "", err + } + req.Header.Set("plugin-name", PluginName) + req.Header.Set("plugin-version", PluginVersion) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return false, "", err + } + resp, err := client.Do(req) + if err != nil { + return false, "", err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + if resp.StatusCode >= 400 { + return false, "", nil + } + var token tokenResponse + if err := json.Unmarshal(raw, &token); err != nil { + return false, "", nil + } + if token.Credentials.SecurityToken == "" && token.Credential.SecurityToken != "" { + token.Credentials = credentials{ + AccessKeyID: token.Credential.Access, + SecretAccessKey: token.Credential.Secret, + SecurityToken: token.Credential.SecurityToken, + Expiration: token.Credential.ExpiresAt, + } + } + if token.Credentials.SecurityToken == "" { + return false, "", nil + } + credential := applyToken(Credential{Format: CredentialFormat, ClientID: ClientID}, &token) + if err := c.saveCredential(ctx, accountID, credential); err != nil { + return false, "", err + } + state.finish(nil) + c.clearLogin(accountID) + return true, "login complete", nil +} + +// currentUser performs a signed identity lookup. It exercises the same STS +// material chat uses, so Probe can treat success as readiness. +func (c *Client) currentUser(ctx context.Context, credential Credential) (uid, name, domain string, err error) { + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodGet, c.apiBase(credential)+currentUserPath, nil) + if err != nil { + return "", "", "", err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + req.Header.Set("X-Language", Language) + signRequest(req, nil, credential.Sign()) + client, err := c.httpClient(ctx, "") + if err != nil { + return "", "", "", err + } + resp, err := client.Do(req) + if err != nil { + return "", "", "", err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) + if resp.StatusCode >= 400 { + return "", "", "", newProviderError(resp.StatusCode, string(raw)) + } + var out struct { + UserID string `json:"user_id"` + UserName string `json:"user_name"` + DomainID string `json:"domain_id"` + } + if err := json.Unmarshal(raw, &out); err != nil { + return "", "", "", fmt.Errorf("parse codearts current user: %w", err) + } + return out.UserID, out.UserName, out.DomainID, nil +} + +func (c *Client) cleanupLogins() { + c.mu.Lock() + defer c.mu.Unlock() + now := c.now() + for accountID, state := range c.logins { + if now.After(state.expiresAt) { + state.finish(fmt.Errorf("login expired")) + if state.listener != nil { + _ = state.listener.Close() + } + delete(c.logins, accountID) + } + } +} + +func (c *Client) clearLogin(accountID string) { + c.mu.Lock() + state := c.logins[accountID] + delete(c.logins, accountID) + c.mu.Unlock() + if state != nil && state.listener != nil { + _ = state.listener.Close() + } +} + +func pkcePair() (verifier, challenge string, err error) { + raw := make([]byte, 64) + if _, err := rand.Read(raw); err != nil { + return "", "", err + } + verifier = base64.RawURLEncoding.EncodeToString(raw) + sum := sha256.Sum256([]byte(verifier)) + return verifier, base64.RawURLEncoding.EncodeToString(sum[:]), nil +} diff --git a/internal/providers/codearts/payload.go b/internal/providers/codearts/payload.go new file mode 100644 index 00000000..0f21ef1b --- /dev/null +++ b/internal/providers/codearts/payload.go @@ -0,0 +1,305 @@ +package codearts + +import ( + "bytes" + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "strings" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" + "github.com/caigee-cmd/cli2api/internal/translate" +) + +// buildChatBody maps the internal request to the native CodeArts +// chat-completions shape. The upstream accepts the OpenAI wire format, with two +// deviations: tool_choice must be a string, and max_tokens is the only cap. +func buildChatBody(req translate.ChatRequest, model, level string, benefit bool) (map[string]any, error) { + tools, choice, err := nativeTools(req.Tools, req.ToolChoice) + if err != nil { + return nil, err + } + messages := upstreamMessages(req.Messages) + if len(messages) == 0 { + return nil, fmt.Errorf("codearts request has no messages") + } + body := map[string]any{ + "model": model, + "stream": true, + "messages": messages, + "tool_stream": true, + "prompt_cache_key": chatIDFor(req.Messages), + } + if chatID := chatIDFor(req.Messages); chatID != "" { + body["chat_id"] = chatID + } + if level != "" && level != "none" { + body["reasoning_effort"] = level + } + if value := rawNumber(req.MaxTokens); value != nil { + body["max_tokens"] = value + } + if req.MaxCompletionTokens != nil { + if value := rawNumber(req.MaxCompletionTokens); value != nil { + body["max_tokens"] = value + } + } + if value := rawNumber(req.Temperature); value != nil { + body["temperature"] = value + } + if value := rawNumber(req.TopP); value != nil { + body["top_p"] = value + } + if len(tools) > 0 { + body["tools"] = tools + if choice != "" { + body["tool_choice"] = choice + } + } + _ = benefit // benefit routing is a header, not a body field + return body, nil +} + +// chatIDFor derives a stable upstream chat id from the first user message. The +// V2 endpoint does not keep semantic context (the full message list is replayed +// on every turn); the id only drives prompt-cache affinity. +func chatIDFor(messages []translate.ChatMessage) string { + for _, message := range messages { + if !strings.EqualFold(strings.TrimSpace(message.Role), "user") { + continue + } + text := strings.TrimSpace(translate.ContentToString(message.Content)) + if text == "" { + continue + } + sum := sha256.Sum256([]byte("codearts:" + text)) + return hex.EncodeToString(sum[:16]) + } + return "" +} + +// upstreamMessages maps roles and content, dropping incomplete tool pairs. +func upstreamMessages(messages []translate.ChatMessage) []map[string]any { + keepCalls, keepResults := pairedToolMessages(messages) + out := make([]map[string]any, 0, len(messages)) + for index, message := range messages { + role := strings.ToLower(strings.TrimSpace(message.Role)) + if role == "developer" { + role = "system" + } + switch role { + case "system", "user": + content := translate.ContentToString(message.Content) + if strings.TrimSpace(content) == "" { + continue + } + out = append(out, map[string]any{"role": role, "content": content}) + case "assistant": + wire := map[string]any{"role": "assistant", "content": translate.ContentToString(message.Content)} + if strings.TrimSpace(message.ReasoningContent) != "" { + wire["reasoning_content"] = message.ReasoningContent + } + if keepCalls[index] && len(message.ToolCalls) > 0 { + if calls := decodeToolCalls(message.ToolCalls); len(calls) > 0 { + wire["tool_calls"] = calls + if strings.TrimSpace(translate.ContentToString(message.Content)) == "" { + wire["content"] = nil + } + } + } + out = append(out, wire) + case "tool": + if !keepResults[index] { + continue + } + content := translate.ContentToString(message.Content) + if strings.TrimSpace(content) == "" { + content = "(no output)" + } + wire := map[string]any{"role": "tool", "content": content, "tool_call_id": message.ToolCallID} + if strings.TrimSpace(message.Name) != "" { + wire["name"] = message.Name + } + out = append(out, wire) + } + } + return out +} + +// pairedToolMessages keeps an assistant tool_calls block only when every call +// has a matching tool result. CodeArts rejects orphaned tool history with a 400. +func pairedToolMessages(messages []translate.ChatMessage) (map[int]bool, map[int]bool) { + resultIndex := map[string]int{} + for index, message := range messages { + if strings.EqualFold(strings.TrimSpace(message.Role), "tool") && message.ToolCallID != "" { + resultIndex[message.ToolCallID] = index + } + } + keepCalls := map[int]bool{} + keepResults := map[int]bool{} + for index, message := range messages { + if !strings.EqualFold(strings.TrimSpace(message.Role), "assistant") || len(message.ToolCalls) == 0 { + continue + } + calls := decodeToolCalls(message.ToolCalls) + if len(calls) == 0 { + continue + } + complete := true + for _, call := range calls { + id, _ := call["id"].(string) + if id == "" { + complete = false + break + } + if _, ok := resultIndex[id]; !ok { + complete = false + break + } + } + if !complete { + continue + } + keepCalls[index] = true + for _, call := range calls { + id, _ := call["id"].(string) + keepResults[resultIndex[id]] = true + } + } + return keepCalls, keepResults +} + +// decodeToolCalls normalizes arguments to the string form OpenAI clients send. +func decodeToolCalls(raw json.RawMessage) []map[string]any { + if len(raw) == 0 || string(raw) == "null" { + return nil + } + var calls []map[string]any + if err := json.Unmarshal(raw, &calls); err != nil { + return nil + } + out := make([]map[string]any, 0, len(calls)) + for _, call := range calls { + id, _ := call["id"].(string) + callType, _ := call["type"].(string) + if callType == "" { + callType = "function" + } + fn, _ := call["function"].(map[string]any) + name, _ := fn["name"].(string) + if name == "" { + continue + } + arguments := fn["arguments"] + wire := map[string]any{ + "id": id, + "type": callType, + "function": map[string]any{ + "name": name, + "arguments": rawArguments(arguments), + }, + } + out = append(out, wire) + } + return out +} + +func rawArguments(value any) string { + switch typed := value.(type) { + case string: + return typed + case nil: + return "{}" + default: + if raw, err := json.Marshal(typed); err == nil { + return string(raw) + } + return "{}" + } +} + +// nativeTools narrows a named function choice to that one tool and converts the +// choice to the string form CodeArts accepts. +func nativeTools(raw json.RawMessage, choiceRaw json.RawMessage) ([]map[string]any, string, error) { + var tools []map[string]any + if len(raw) > 0 && string(raw) != "null" { + if err := json.Unmarshal(raw, &tools); err != nil { + return nil, "", &providers.Error{Kind: accounts.KindInvalidRequest, Status: 400, Message: "codearts tools must be an array"} + } + } + mode, function := parseToolChoice(choiceRaw) + if mode == "" { + mode = "auto" + } + if mode == "function" { + var selected map[string]any + for _, tool := range tools { + fn, _ := tool["function"].(map[string]any) + if name, _ := fn["name"].(string); name == function { + if selected != nil { + return nil, "", fmt.Errorf("tool_choice function %q is defined more than once", function) + } + selected = tool + } + } + if selected == nil { + return nil, "", fmt.Errorf("tool_choice function %q is not defined in tools", function) + } + tools = []map[string]any{selected} + mode = "required" + } + if len(tools) == 0 { + return nil, "", nil + } + switch mode { + case "none", "required", "auto": + return tools, mode, nil + default: + return tools, "auto", nil + } +} + +func parseToolChoice(raw json.RawMessage) (mode, function string) { + if len(raw) == 0 || string(raw) == "null" { + return "", "" + } + var text string + if json.Unmarshal(raw, &text) == nil { + switch strings.ToLower(strings.TrimSpace(text)) { + case "none", "required", "auto": + return strings.ToLower(strings.TrimSpace(text)), "" + } + return "auto", "" + } + var object struct { + Type string `json:"type"` + Function struct { + Name string `json:"name"` + } `json:"function"` + } + if json.Unmarshal(raw, &object) == nil && object.Function.Name != "" { + return "function", object.Function.Name + } + return "auto", "" +} + +// rawNumber decodes an optional numeric JSON field without losing precision. +func rawNumber(raw json.RawMessage) any { + if len(raw) == 0 || string(raw) == "null" { + return nil + } + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.UseNumber() + var value any + if err := decoder.Decode(&value); err != nil { + return nil + } + switch value.(type) { + case json.Number: + return value + default: + return nil + } +} diff --git a/internal/providers/codearts/quota.go b/internal/providers/codearts/quota.go new file mode 100644 index 00000000..a5044e27 --- /dev/null +++ b/internal/providers/codearts/quota.go @@ -0,0 +1,246 @@ +package codearts + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// quotaMeter is one row of the official subscription statistics document. +type quotaMeter struct { + Name string + Label string + UsedTokens int64 + Allowance int64 + CreditTotal float64 + CreditUsed float64 + CreditRemain float64 + Percent float64 + HasPercent bool +} + +// statistics is the parsed /snap-manager/v1/statistics/plugin response. +type statistics struct { + ResetDate string + Plan string + PlanName string + Meters []quotaMeter +} + +func (s statistics) empty() bool { return len(s.Meters) == 0 } + +func (m quotaMeter) unit() string { + if m.CreditTotal > 0 || m.CreditUsed > 0 || m.CreditRemain > 0 { + return "积分" + } + if m.UsedTokens > 0 || m.Allowance > 0 { + return "tokens" + } + return "" +} + +func (m quotaMeter) used() float64 { + if m.CreditTotal > 0 || m.CreditUsed > 0 || m.CreditRemain > 0 { + return m.CreditUsed + } + return float64(m.UsedTokens) +} + +func (m quotaMeter) total() float64 { + if m.CreditTotal > 0 { + return m.CreditTotal + } + return float64(m.Allowance) +} + +func (m quotaMeter) remaining() float64 { + if m.CreditRemain > 0 || m.CreditTotal > 0 { + if m.CreditRemain > 0 { + return m.CreditRemain + } + return m.CreditTotal - m.CreditUsed + } + if m.Allowance > 0 { + return float64(m.Allowance - m.UsedTokens) + } + return 0 +} + +func (m quotaMeter) percentage() float64 { + if m.HasPercent { + return m.Percent + } + total := m.total() + if total <= 0 { + return 0 + } + return m.used() / total * 100 +} + +// Quota reads the package meters. The activity/benefit balance is intentionally +// not merged: it is a different accounting pool and mixing it would report a +// fake total. +func (c *Client) Quota(ctx context.Context, accountID string) (*providers.QuotaInfo, error) { + credential, err := c.credential(ctx, accountID) + if err != nil { + return nil, err + } + stats, err := c.fetchStatistics(ctx, accountID, credential) + if err != nil { + return nil, err + } + if stats.empty() { + return nil, fmt.Errorf("codearts statistics returned no visible quota meters") + } + info := &providers.QuotaInfo{ + ProviderID: ProviderID, + Plan: stats.PlanName, + FetchedAt: c.now().Format(time.RFC3339), + } + for _, meter := range stats.Meters { + window := providers.QuotaWindow{ + ID: meter.Name, + Label: meter.Label, + Used: meter.used(), + Total: meter.total(), + Remaining: meter.remaining(), + Percentage: meter.percentage(), + Unit: meter.unit(), + ResetAt: stats.ResetDate, + Exceeded: meter.remaining() <= 0 && meter.total() > 0, + } + info.Windows = append(info.Windows, window) + } + // The package-credit meter is the plan-level number; fall back to the first + // visible meter when a plan does not expose it. + primary := info.Windows[0] + for _, window := range info.Windows { + if window.ID == "usageTotalPackageCredit" { + primary = window + break + } + } + info.Used = primary.Used + info.Total = primary.Total + info.Remaining = primary.Remaining + info.Percentage = primary.Percentage + info.Unit = primary.Unit + info.Exceeded = primary.Exceeded + return info, nil +} + +func (c *Client) fetchStatistics(ctx context.Context, accountID string, credential Credential) (statistics, error) { + requestCtx, cancel := context.WithTimeout(ctx, metadataTimeout) + defer cancel() + req, err := http.NewRequestWithContext(requestCtx, http.MethodGet, c.apiBase(credential)+statisticsPath, nil) + if err != nil { + return statistics{}, err + } + // The statistics endpoint signs this exact header set; do not add + // Content-Type or Agent-Type, which would change the signature. + req.Header.Set("Accept", "application/json") + req.Header.Set("X-Language", Language) + req.Header.Set("plugin-name", PluginName) + req.Header.Set("plugin-version", PluginVersion) + signRequest(req, nil, credential.Sign()) + client, err := c.httpClient(ctx, accountID) + if err != nil { + return statistics{}, err + } + resp, err := client.Do(req) + if err != nil { + return statistics{}, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(io.LimitReader(resp.Body, 2<<20)) + if resp.StatusCode >= 400 { + return statistics{}, newProviderError(resp.StatusCode, string(raw)) + } + return parseStatistics(raw) +} + +func parseStatistics(raw []byte) (statistics, error) { + var parsed struct { + EndDate string `json:"end_date"` + Metrics []struct { + Name string `json:"name"` + Show bool `json:"show"` + UsedTokens int64 `json:"usage_token_num"` + Allowance int64 `json:"package_token_amount"` + CreditTotal float64 `json:"package_credit_amount"` + CreditUsed float64 `json:"package_credit_used"` + CreditRemain float64 `json:"package_credit_remain"` + Value *float64 `json:"value"` + } `json:"metrics"` + Package *struct { + SpecCode string `json:"spec_code"` + PackageNameEN string `json:"package_name_en"` + PackageNameCN string `json:"package_name_cn"` + } `json:"package"` + } + if err := json.Unmarshal(raw, &parsed); err != nil { + return statistics{}, fmt.Errorf("parse codearts statistics: %w", err) + } + out := statistics{ResetDate: strings.TrimSpace(parsed.EndDate)} + if parsed.Package != nil { + out.Plan = strings.TrimSpace(parsed.Package.SpecCode) + out.PlanName = firstNonEmpty(parsed.Package.PackageNameEN, parsed.Package.PackageNameCN) + } + for _, metric := range parsed.Metrics { + name := strings.TrimSpace(metric.Name) + if name == "" || !metric.Show { + continue + } + meter := quotaMeter{ + Name: name, + Label: quotaMeterLabel(name), + UsedTokens: metric.UsedTokens, + Allowance: metric.Allowance, + CreditTotal: metric.CreditTotal, + CreditUsed: metric.CreditUsed, + CreditRemain: metric.CreditRemain, + } + if metric.Value != nil && *metric.Value >= 0 { + meter.Percent = *metric.Value + meter.HasPercent = true + } + if meter.Label == "" { + meter.Label = name + } + if meter.UsedTokens == 0 && meter.Allowance == 0 && + meter.CreditTotal == 0 && meter.CreditUsed == 0 && meter.CreditRemain == 0 && !meter.HasPercent { + continue + } + out.Meters = append(out.Meters, meter) + } + return out, nil +} + +// quotaMeterLabel is copied from the verified upstream names; unknown names +// keep their raw id rather than being hidden. +func quotaMeterLabel(name string) string { + switch name { + case "usageDataCodeCompletions": + return "代码补全额度" + case "usageDataChatMessages": + return "对话消息额度" + case "usageTokenChatMessages": + return "对话 token 额度" + case "usageTotalPackageCredit": + return "套餐积分" + case "usageBasicPackageCredit": + return "基础包积分" + case "usageOnDemandPackageCredit": + return "按需付费积分" + case "usageBonusPackageCredit": + return "赠送积分" + default: + return "" + } +} diff --git a/internal/providers/codearts/s04_interfaces_test.go b/internal/providers/codearts/s04_interfaces_test.go new file mode 100644 index 00000000..3b40f6b1 --- /dev/null +++ b/internal/providers/codearts/s04_interfaces_test.go @@ -0,0 +1,60 @@ +package codearts + +import ( + "context" + "testing" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// requiredStore is the minimum store surface every in-process adapter needs. +type requiredStore struct{} + +func (requiredStore) Get(context.Context, string) (accounts.Account, error) { + return accounts.Account{}, nil +} +func (requiredStore) LoadCredentialPayload(context.Context, string) (string, []byte, error) { + return "", nil, accounts.ErrAccountNotFound +} +func (requiredStore) SaveCredentialPayload(context.Context, string, string, []byte) error { + return nil +} +func (requiredStore) Observe(context.Context, string, string, string, string, string) error { + return nil +} + +func TestS04InterfaceContract(t *testing.T) { + client := NewClient(requiredStore{}) + var _ providers.CredentialCodec = credentialCodec{} + var _ providers.LoginSessionProvider = client + var _ providers.LoginCompleter = client + var _ providers.ProviderChat = client + var _ providers.ModelCatalogProvider = client + var _ providers.AccountProber = client + var _ providers.ErrorClassifier = classifier{} + var _ providers.CredentialImporter = importer{} + var _ providers.ImportExporter = importer{} + var _ providers.AccountCheckiner = client + + adapter := client.Adapter() + if adapter.ID != ProviderID { + t.Fatalf("adapter id = %q", adapter.ID) + } + for _, capability := range []string{"credential", "login", "chat", "models", "classifier", "import_export", "prober", "checkin"} { + if !adapter.Supports(capability) { + t.Fatalf("adapter missing capability %q", capability) + } + } +} + +func TestMissingSecretReaderSkipsGlobalProxy(t *testing.T) { + client := NewClient(requiredStore{}) + got, err := client.globalProxy(context.Background()) + if err != nil { + t.Fatalf("missing SecretReader must skip, not fail: %v", err) + } + if got != "" { + t.Fatalf("missing SecretReader returned %q", got) + } +} diff --git a/internal/providers/codearts/signer.go b/internal/providers/codearts/signer.go new file mode 100644 index 00000000..0ece20eb --- /dev/null +++ b/internal/providers/codearts/signer.go @@ -0,0 +1,120 @@ +package codearts + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "net/http" + "net/url" + "sort" + "strings" + "time" +) + +const signingAlgorithm = "SDK-HMAC-SHA256" + +// SignCredential is the short-lived STS trio used to sign every gateway call. +type SignCredential struct { + AccessKeyID string + SecretAccessKey string + SecurityToken string +} + +// signRequest adds the Huawei Cloud SDK-HMAC-SHA256 headers. The upstream +// verifies the exact header set, so this must stay byte-for-byte compatible +// with the official signer. +func signRequest(req *http.Request, body []byte, cred SignCredential) { + xDate := time.Now().UTC().Format("20060102T150405Z") + req.Header.Set("X-Sdk-Date", xDate) + req.Header.Set("Host", req.URL.Host) + if cred.SecurityToken != "" { + req.Header.Set("X-Security-Token", cred.SecurityToken) + } + payloadHash := sha256Hex(body) + req.Header.Set("X-Sdk-Content-Sha256", payloadHash) + + canonicalHeaders, signedHeaders := canonicalHeaders(req) + canonicalRequest := strings.Join([]string{ + req.Method, + canonicalURI(req.URL.EscapedPath()), + canonicalQuery(req.URL.RawQuery), + canonicalHeaders, + signedHeaders, + payloadHash, + }, "\n") + stringToSign := strings.Join([]string{ + signingAlgorithm, + xDate, + sha256Hex([]byte(canonicalRequest)), + }, "\n") + signature := hmacHex(cred.SecretAccessKey, stringToSign) + req.Header.Set("Authorization", signingAlgorithm+ + " Access="+cred.AccessKeyID+ + ", SignedHeaders="+signedHeaders+ + ", Signature="+signature) +} + +// canonicalHeaders signs every request header (lower-case keys, sorted), as the +// official Java/JS SDKs do. +func canonicalHeaders(req *http.Request) (headers, signed string) { + keys := make([]string, 0, len(req.Header)) + for k := range req.Header { + keys = append(keys, strings.ToLower(k)) + } + sort.Strings(keys) + var sb strings.Builder + for _, k := range keys { + v := req.Header.Get(k) + sb.WriteString(k + ":" + strings.TrimSpace(v) + "\n") + } + return sb.String(), strings.Join(keys, ";") +} + +// canonicalURI percent-encodes each segment and appends a trailing slash. +func canonicalURI(path string) string { + segments := strings.Split(path, "/") + for i, seg := range segments { + segments[i] = url.PathEscape(seg) + } + out := strings.Join(segments, "/") + if !strings.HasSuffix(out, "/") { + out += "/" + } + return out +} + +// canonicalQuery sorts keys and values. +func canonicalQuery(raw string) string { + if raw == "" { + return "" + } + vals, err := url.ParseQuery(raw) + if err != nil { + return raw + } + keys := make([]string, 0, len(vals)) + for k := range vals { + keys = append(keys, k) + } + sort.Strings(keys) + parts := make([]string, 0, len(keys)) + for _, k := range keys { + vs := vals[k] + sort.Strings(vs) + for _, v := range vs { + parts = append(parts, url.QueryEscape(k)+"="+url.QueryEscape(v)) + } + } + return strings.Join(parts, "&") +} + +func sha256Hex(b []byte) string { + sum := sha256.Sum256(b) + return hex.EncodeToString(sum[:]) +} + +func hmacHex(key, msg string) string { + mac := hmac.New(sha256.New, []byte(key)) + _, _ = mac.Write([]byte(msg)) + return hex.EncodeToString(mac.Sum(nil)) +} diff --git a/internal/providers/codearts/sse.go b/internal/providers/codearts/sse.go new file mode 100644 index 00000000..222a4f38 --- /dev/null +++ b/internal/providers/codearts/sse.go @@ -0,0 +1,458 @@ +package codearts + +import ( + "bufio" + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "sort" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// upstreamError is a business error embedded in an HTTP 200 SSE frame. +type upstreamError struct { + Code string + Msg string +} + +func (e *upstreamError) Error() string { + if e.Code != "" { + return fmt.Sprintf("codearts error code=%s msg=%s", e.Code, e.Msg) + } + return "codearts error: " + e.Msg +} + +// rawCompletion is the aggregated non-stream result. +type rawCompletion struct { + Content string + Reasoning string + Finish string + ToolCalls []map[string]any + Usage map[string]any +} + +// scanLine parses one SSE line. CodeArts usually sends one data: line per +// event without a blank separator; both that and the standard form are +// accepted. +func scanLine(line string, pendingEvent *string) (event, data string, ok bool) { + line = strings.TrimRight(line, "\r") + switch { + case strings.HasPrefix(line, "event:"): + *pendingEvent = strings.TrimSpace(strings.TrimPrefix(line, "event:")) + return "", "", false + case strings.HasPrefix(line, "data:"): + value := strings.TrimSpace(strings.TrimPrefix(line, "data:")) + if value == "" { + return "", "", false + } + event = *pendingEvent + *pendingEvent = "" + return event, value, true + case strings.HasPrefix(line, ":"), line == "": + *pendingEvent = "" + return "", "", false + } + return "", "", false +} + +// deltaFromChunk extracts a standard OpenAI delta. +func deltaFromChunk(payload map[string]any) (delta map[string]any, finishReason string) { + if direct, ok := payload["delta"].(map[string]any); ok { + return direct, "" + } + choices, ok := payload["choices"].([]any) + if !ok || len(choices) == 0 { + return nil, "" + } + return choiceDelta(choices[0]) +} + +func choiceDelta(raw any) (map[string]any, string) { + choice, ok := raw.(map[string]any) + if !ok { + return nil, "" + } + finish, _ := choice["finish_reason"].(string) + delta, _ := choice["delta"].(map[string]any) + return delta, finish +} + +// applyToolCallDeltas merges streamed tool-call fragments by index. +func applyToolCallDeltas(delta map[string]any, calls map[int]map[string]any) { + rawCalls, ok := delta["tool_calls"].([]any) + if !ok { + return + } + for position, raw := range rawCalls { + entry, ok := raw.(map[string]any) + if !ok { + continue + } + index := position + switch value := entry["index"].(type) { + case float64: + index = int(value) + case json.Number: + if parsed, err := value.Int64(); err == nil { + index = int(parsed) + } + } + call := calls[index] + if call == nil { + call = map[string]any{"index": index, "type": "function"} + calls[index] = call + } + if id, ok := entry["id"].(string); ok && id != "" { + call["id"] = id + } + if typ, ok := entry["type"].(string); ok && typ != "" { + call["type"] = typ + } + if fn, ok := entry["function"].(map[string]any); ok { + current, _ := call["function"].(map[string]any) + if current == nil { + current = map[string]any{"name": "", "arguments": ""} + call["function"] = current + } + if name, ok := fn["name"].(string); ok { + current["name"] = current["name"].(string) + name + } + if arguments, ok := fn["arguments"].(string); ok { + current["arguments"] = current["arguments"].(string) + arguments + } + } + } +} + +func sortedToolCalls(calls map[int]map[string]any) []map[string]any { + indexes := make([]int, 0, len(calls)) + for index := range calls { + indexes = append(indexes, index) + } + sort.Ints(indexes) + out := make([]map[string]any, 0, len(indexes)) + for _, index := range indexes { + out = append(out, calls[index]) + } + return out +} + +// applyEvent updates the aggregate from one SSE frame. +func applyEvent(content, reasoning *strings.Builder, finish *string, upErr *error, event, data string) { + event = strings.ToLower(strings.TrimSpace(event)) + var payload map[string]any + if strings.TrimSpace(data) != "" { + _ = json.Unmarshal([]byte(data), &payload) + } + text := func(keys ...string) string { + for _, key := range keys { + if value, ok := payload[key].(string); ok { + return value + } + } + return "" + } + code := text("error_code", "code") + if code != "" && code != "0" && code != "0000" { + *upErr = &upstreamError{Code: code, Msg: firstNonEmpty(text("error_msg", "message", "msg"), "request failed")} + return + } + switch event { + case "", "data", "onanswer", "answer", "delta", "message", "content": + if strings.TrimSpace(data) == "[DONE]" { + if *finish == "" { + *finish = "stop" + } + return + } + delta, finishReason := deltaFromChunk(payload) + if finishReason != "" { + *finish = finishReason + } + if delta != nil { + if value, ok := delta["content"].(string); ok && value != "" { + content.WriteString(value) + } + if value, ok := delta["reasoning_content"].(string); ok && value != "" { + reasoning.WriteString(value) + } + return + } + if t := text("text", "content", "delta"); t != "" { + if strings.EqualFold(t, "done") || t == "[DONE]" { + *finish = "stop" + return + } + // CodeArts' text field is a full snapshot, not a delta. + content.Reset() + content.WriteString(t) + return + } + if out, ok := payload["output"].([]any); ok && len(out) > 0 { + var sb strings.Builder + for _, item := range out { + if object, ok := item.(map[string]any); ok && object["type"] == "output_text" { + if value, ok := object["text"].(string); ok { + sb.WriteString(value) + } + } + } + if sb.Len() > 0 { + content.Reset() + content.WriteString(sb.String()) + } + } + case "reasoning", "thinking", "onreasoning", "onthinking": + if value := text("text", "reasoning", "content", "thinking"); value != "" { + reasoning.WriteString(value) + } + case "done", "end", "finish": + if value := text("finish_reason", "finish", "reason"); value != "" { + *finish = value + } else if *finish == "" { + *finish = "stop" + } + } +} + +// aggregateRaw reads a complete SSE stream and returns text, reasoning, tool +// calls and usage. It is the non-stream path. +func aggregateRaw(reader io.Reader) (*rawCompletion, error) { + buffered := bufio.NewReaderSize(reader, 64*1024) + content := &strings.Builder{} + reasoning := &strings.Builder{} + finish := "stop" + calls := map[int]map[string]any{} + var usage map[string]any + var streamErr error + var pendingEvent string + for { + line, err := buffered.ReadString('\n') + if err != nil && err != io.EOF { + return nil, err + } + if event, data, ok := scanLine(strings.TrimRight(line, "\r\n"), &pendingEvent); ok { + var payload map[string]any + if json.Unmarshal([]byte(data), &payload) == nil { + if value, ok := payload["usage"].(map[string]any); ok { + usage = value + } + delta, _ := deltaFromChunk(payload) + applyToolCallDeltas(delta, calls) + } + applyEvent(content, reasoning, &finish, &streamErr, event, data) + } + if err == io.EOF { + break + } + } + if streamErr != nil { + return nil, streamErr + } + return &rawCompletion{ + Content: content.String(), + Reasoning: reasoning.String(), + Finish: finish, + ToolCalls: sortedToolCalls(calls), + Usage: usage, + }, nil +} + +// streamCapture rewrites upstream SSE to standard chat-completions chunks. +func streamCapture(writer io.Writer, reader io.Reader, model string) error { + buffered := bufio.NewReaderSize(reader, 64*1024) + id := fmt.Sprintf("chatcmpl-%d", time.Now().UnixNano()) + content := &strings.Builder{} + reasoning := &strings.Builder{} + finish := "stop" + calls := map[int]map[string]any{} + var usage map[string]any + var pendingEvent string + sawDone := false + var streamErr error + + write := func(payload map[string]any) error { + raw, _ := json.Marshal(payload) + if _, err := io.WriteString(writer, "data: "+string(raw)+"\n\n"); err != nil { + return err + } + return nil + } + writeChunk := func(delta map[string]any, finishReason string) error { + choice := map[string]any{"index": 0, "delta": delta} + if finishReason != "" { + choice["finish_reason"] = finishReason + } + return write(map[string]any{ + "id": id, "object": "chat.completion.chunk", "created": time.Now().Unix(), + "model": model, "choices": []any{choice}, + }) + } + writeDONE := func() error { + if usage != nil { + if err := write(map[string]any{ + "id": id, "object": "chat.completion.chunk", "created": time.Now().Unix(), + "model": model, "choices": []any{}, "usage": usage, + }); err != nil { + return err + } + } + _, err := io.WriteString(writer, "data: [DONE]\n\n") + return err + } + writeError := func(message string) error { + raw, _ := json.Marshal(map[string]any{"error": map[string]any{ + "message": message, "type": "upstream_error", "code": "CODEARTS_STREAM_ERROR", + }}) + _, err := io.WriteString(writer, "event: error\ndata: "+string(raw)+"\n\n") + return err + } + + for { + line, err := buffered.ReadString('\n') + if err != nil && err != io.EOF { + streamErr = err + break + } + if event, data, ok := scanLine(strings.TrimRight(line, "\r\n"), &pendingEvent); ok { + if strings.TrimSpace(data) == "[DONE]" { + if !sawDone { + if err := writeDONE(); err != nil { + streamErr = err + break + } + sawDone = true + } + break + } + var payload map[string]any + _ = json.Unmarshal([]byte(data), &payload) + if value, ok := payload["usage"].(map[string]any); ok { + usage = value + } + nativeDelta, nativeFinish := deltaFromChunk(payload) + applyToolCallDeltas(nativeDelta, calls) + beforeContent, beforeReason := content.Len(), reasoning.Len() + var upErr error + applyEvent(content, reasoning, &finish, &upErr, event, data) + if upErr != nil { + if err := writeError(upErr.Error()); err != nil { + streamErr = err + break + } + _ = writeDONE() + sawDone = true + streamErr = upErr + break + } + delta := map[string]any{} + if role, ok := nativeDelta["role"].(string); ok && role != "" { + delta["role"] = role + } + if content.Len() > beforeContent { + delta["content"] = content.String()[beforeContent:] + } + if reasoning.Len() > beforeReason { + delta["reasoning_content"] = reasoning.String()[beforeReason:] + } + if toolCalls, ok := nativeDelta["tool_calls"]; ok { + delta["tool_calls"] = toolCalls + } + if len(delta) > 0 || nativeFinish != "" { + if err := writeChunk(delta, nativeFinish); err != nil { + streamErr = err + break + } + } + if strings.EqualFold(event, "done") || strings.EqualFold(event, "end") || strings.EqualFold(event, "finish") { + if nativeFinish == "" { + if err := writeChunk(map[string]any{}, finish); err != nil { + streamErr = err + break + } + } + if err := writeDONE(); err != nil { + streamErr = err + break + } + sawDone = true + } + } + if sawDone { + break + } + if err == io.EOF { + break + } + } + if streamErr == nil && !sawDone { + streamErr = writeDONE() + } + return streamErr +} + +// preflightWithTimeout bounds the wait for the first SSE frame. A stuck +// upstream must surface as ErrFirstByteTimeout, not as a context deadline, so +// the executor fails over instead of treating it as a client cancellation. +func preflightWithTimeout(resp *http.Response) (io.ReadCloser, error) { + type result struct { + reader io.ReadCloser + err error + } + done := make(chan result, 1) + go func() { + reader, err := preflightSSE(resp.Body) + done <- result{reader: reader, err: err} + }() + select { + case outcome := <-done: + return outcome.reader, outcome.err + case <-time.After(firstByteTimeout): + _ = resp.Body.Close() + return nil, providers.ErrFirstByteTimeout + } +} + +// preflightSSE waits for the first data frame so a 200 with an embedded +// business error is returned as a provider error before the gateway commits a +// 200 response. It also gives ChatStream a place to enforce TTFB. +func preflightSSE(body io.ReadCloser) (io.ReadCloser, error) { + buffered := bufio.NewReaderSize(body, 1<<20) + var prefix bytes.Buffer + for prefix.Len() < 2<<20 { + line, err := buffered.ReadString('\n') + prefix.WriteString(line) + trimmed := strings.TrimSpace(line) + if strings.HasPrefix(trimmed, "data:") { + data := strings.TrimSpace(strings.TrimPrefix(trimmed, "data:")) + if data != "" && data != "[DONE]" { + var payload map[string]any + if json.Unmarshal([]byte(data), &payload) == nil { + if code, _ := payload["error_code"].(string); code != "" && code != "0" && code != "0000" { + _ = body.Close() + return nil, newProviderError(http.StatusBadGateway, data) + } + } + } + return &replayReadCloser{Reader: io.MultiReader(bytes.NewReader(prefix.Bytes()), buffered), Closer: body}, nil + } + if err != nil { + if err != io.EOF { + _ = body.Close() + return nil, err + } + return &replayReadCloser{Reader: bytes.NewReader(prefix.Bytes()), Closer: body}, nil + } + } + return &replayReadCloser{Reader: io.MultiReader(bytes.NewReader(prefix.Bytes()), buffered), Closer: body}, nil +} + +type replayReadCloser struct { + io.Reader + io.Closer +} diff --git a/internal/providers/registry.go b/internal/providers/registry.go index 480b3139..affc38fd 100644 --- a/internal/providers/registry.go +++ b/internal/providers/registry.go @@ -323,6 +323,34 @@ var Kimi = ProviderDescriptor{ DefaultRegion: "cn", } +// CodeArts descriptor. Protocol constants stay in internal/providers/codearts. +// CN-only in-process adapter for Huawei Cloud CodeArts Agent (码道): OAuth PKCE +// against the CodeArts portal mints a short-lived STS trio, and chat goes +// directly to the snap-access OpenAI-compatible gateway. The AK/SK in the +// credential are the STS material, not the account-level IAM keys. +var CodeArts = ProviderDescriptor{ + ID: "codearts", + Label: "CodeArts", + Runtime: RuntimeInProcess, + AuthTypes: []AuthType{AuthOAuth}, + CredentialFormats: []string{"codearts-oauth-v1"}, + Capabilities: ProviderCapabilities{ + Chat: true, Stream: true, Tools: true, Images: false, Reasoning: true, + ModelCatalog: true, Usage: true, Login: true, BrowserLogin: true, + PATLogin: false, ImportExport: true, + }, + Regions: []RegionDescriptor{ + { + ID: "cn-north-4", Label: "CN", + ChatBase: "https://snap-access.cn-north-4.myhuaweicloud.com", + BillingBase: "https://snap-access.cn-north-4.myhuaweicloud.com", + AuthBase: "https://codearts.huaweicloud.com", + DefaultDomain: "huaweicloud.com", + Checkin: &CheckinPolicy{Timezone: "Asia/Shanghai"}, + }, + }, + DefaultRegion: "cn-north-4", +} // Meta descriptor. Protocol constants stay in internal/providers/meta. // Global-only Muse (Meta) adapter: RFC 8628 device grant against auth.meta.com, @@ -359,6 +387,7 @@ var registry = map[string]ProviderDescriptor{ Zhipu.ID: Zhipu, QwenWork.ID: QwenWork, Kimi.ID: Kimi, + CodeArts.ID: CodeArts, Meta.ID: Meta, } @@ -372,7 +401,7 @@ func Get(id string) (ProviderDescriptor, bool) { } func List() []ProviderDescriptor { - return []ProviderDescriptor{Qoder, WorkBuddy, Trae, Devin, Command, Codex, Zhipu, QwenWork, Kimi, Meta} + return []ProviderDescriptor{Qoder, WorkBuddy, Trae, Devin, Command, Codex, Zhipu, QwenWork, Kimi, CodeArts, Meta} } // Resolve validates a provider/region pair. Empty values fall back to the diff --git a/internal/webui/static/assets/AreaChart-B-HmzR8M.js b/internal/webui/static/assets/AreaChart-C0mk2RpN.js similarity index 60% rename from internal/webui/static/assets/AreaChart-B-HmzR8M.js rename to internal/webui/static/assets/AreaChart-C0mk2RpN.js index c85b29b9..a1df21bf 100644 --- a/internal/webui/static/assets/AreaChart-B-HmzR8M.js +++ b/internal/webui/static/assets/AreaChart-C0mk2RpN.js @@ -1 +1 @@ -import{f as e,h as t}from"./index-C5LslQI9.js";import{L as n,t as r}from"./CartesianChart-D9Qz51Q6.js";var i=t(e()),a=[`axis`],o=(0,i.forwardRef)((e,t)=>i.createElement(r,{chartName:`AreaChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:a,tooltipPayloadSearcher:n,categoricalChartProps:e,ref:t}));export{o as t}; \ No newline at end of file +import{f as e,h as t}from"./index-DksXuUH8.js";import{L as n,t as r}from"./CartesianChart-C36ZX62E.js";var i=t(e()),a=[`axis`],o=(0,i.forwardRef)((e,t)=>i.createElement(r,{chartName:`AreaChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:a,tooltipPayloadSearcher:n,categoricalChartProps:e,ref:t}));export{o as t}; \ No newline at end of file diff --git a/internal/webui/static/assets/CartesianChart-C36ZX62E.js b/internal/webui/static/assets/CartesianChart-C36ZX62E.js new file mode 100644 index 00000000..f5c622bf --- /dev/null +++ b/internal/webui/static/assets/CartesianChart-C36ZX62E.js @@ -0,0 +1,21 @@ +import{c as e,d as t,f as n,h as r,m as i,p as a,u as o}from"./index-DksXuUH8.js";var s=r(n()),c=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function l(e){return typeof e==`string`&&c.includes(e)}var u=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function d(e){return typeof e==`string`&&u.has(e)}function f(e){return typeof e==`string`&&e.startsWith(`data-`)}function p(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(d(n)||f(n))&&(t[n]=e[n]);return t}function m(e){if(e==null)return null;if((0,s.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return p(t)}return typeof e==`object`&&!Array.isArray(e)?p(e):null}function h(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(d(n)||f(n)||l(n))&&(t[n]=e[n]);return t}function g(e){return e==null?null:(0,s.isValidElement)(e)?h(e.props):typeof e==`object`&&!Array.isArray(e)?h(e):null}var _=r(t()),v=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,i=e.height,a=e.viewBox,c=e.className,l=e.style,u=e.title,d=e.desc,f=b(e,v),p=a||{width:r,height:i,x:0,y:0},m=o(`recharts-surface`,c);return s.createElement(`svg`,y({},h(f),{className:m,width:r,height:i,style:l,viewBox:`${p.x} ${p.y} ${p.width} ${p.height}`,ref:t}),s.createElement(`title`,null,u),s.createElement(`desc`,null,d),n)}),C=[`children`,`className`];function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,i=T(e,C),a=o(`recharts-layer`,r);return s.createElement(`g`,w({className:a},h(i),{ref:t}),n)});function O(e){return e===`__proto__`}var k=Object.prototype.hasOwnProperty;function A(e,t){return k.call(e,t)}var j=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function M(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:j.test(e);default:return!1}}function N(e){var t;return typeof e==`string`||typeof e==`symbol`?e:Object.is(e==null||(t=e.valueOf)==null?void 0:t.call(e),-0)?`-0`:String(e)}function ee(e){return typeof e==`symbol`||e instanceof Symbol}function te(e){if(typeof e==`string`)return e;if(Array.isArray(e)){let t=``;for(let n=0;n0&&(t+=`,`),t+=te(e[n]);return t}if(ee(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function ne(e){return e==null?``:te(e)}function re(e){if(Array.isArray(e))return e.map(N);if(typeof e==`symbol`)return[e];e=ne(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r1&&arguments[1]!==void 0?arguments[1]:oe),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function ce(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+se(i)+n},``)}var le=e=>e===0?0:e>0?1:-1,ue=e=>typeof e==`number`&&e!=+e,de=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,P=e=>(typeof e==`number`||e instanceof Number)&&!ue(e),fe=e=>P(e)||typeof e==`string`,pe=0,me=e=>{var t=++pe;return`${e||``}${t}`},he=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!P(e)&&typeof e!=`string`)return n;var i;if(de(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return ue(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},ge=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;re&&(typeof t==`function`?t(e):ie(e,t))===n)}var F=e=>e==null,ye=e=>F(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function be(e){return e!=null}function xe(){}function Se(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function Ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function we(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=Se(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?we({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?we({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?we({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?we({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?we({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?we({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?we({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?we({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(P(n.x)||de(n.x))&&(P(n.y)||de(n.y))?we({x:c+he(n.x,g),y:l+he(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):we({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},ke=[`top`,`left`,`right`,`bottom`];function Ae(e){return e==null?!1:typeof e==`object`||ke.includes(e)}var je=(0,s.createContext)(null);function I(e){return function(){return e}}var Me=Math.PI,Ne=2*Me,Pe=1e-6,Fe=Ne-Pe;function Ie(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ie;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tPe){if(!(Math.abs(u*s-c*l)>Pe)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Me-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Pe&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Pe||Math.abs(this._y1-l)>Pe)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Ne+Ne),d>Fe?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Pe&&this._append`A${n},${n},0,${+(d>=Me)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Re.prototype;function ze(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Re(t)}Array.prototype.slice;function Be(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Ve(e){this._context=e}Ve.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function He(e){return new Ve(e)}function Ue(e){return e[0]}function We(e){return e[1]}function Ge(e,t){var n=I(!0),r=null,i=He,a=null,o=ze(s);e=typeof e==`function`?e:e===void 0?Ue:I(e),t=typeof t==`function`?t:t===void 0?We:I(t);function s(s){var c,l=(s=Be(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Ge().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:I(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:I(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:I(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:I(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:I(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:I(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:I(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var qe=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function Je(e){return new qe(e,!0)}function Ye(e){return new qe(e,!1)}function Xe(){}function Ze(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Qe(e){this._context=e}Qe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ze(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $e(e){return new Qe(e)}function et(e){this._context=e}et.prototype={areaStart:Xe,areaEnd:Xe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tt(e){return new et(e)}function nt(e){this._context=e}nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rt(e){return new nt(e)}function it(e){this._context=e}it.prototype={areaStart:Xe,areaEnd:Xe,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function at(e){return new it(e)}function ot(e){return e<0?-1:1}function st(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(ot(a)+ot(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function ct(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function lt(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function ut(e){this._context=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:lt(this,this._t0,ct(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,lt(this,ct(this,n=st(this,e,t)),n);break;default:lt(this,this._t0,n=st(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function dt(e){this._context=new ft(e)}(dt.prototype=Object.create(ut.prototype)).point=function(e,t){ut.prototype.point.call(this,t,e)};function ft(e){this._context=e}ft.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function pt(e){return new ut(e)}function mt(e){return new dt(e)}function ht(e){this._context=e}ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=gt(e),i=gt(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function yt(e){return new vt(e,.5)}function bt(e){return new vt(e,0)}function xt(e){return new vt(e,1)}function St(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function wt(e,t){return e[t]}function Tt(e){let t=[];return t.key=e,t}function Et(){var e=I([]),t=Ct,n=St,r=wt;function i(i){var a=Array.from(e.apply(this,arguments),Tt),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0&&(a=(i=e[t[0]]).length)>0){for(var n=0,r=1,i,a,o;r`radius`in e&&`startAngle`in e&&`endAngle`in e,jt=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,s.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{l(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},Mt=(e,t,n)=>r=>(e(t,n,r),null),Nt=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];l(i)&&typeof a==`function`&&(r||={},r[i]=Mt(a,t,n))}),r};function Pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function Bt(e){return Number.isSafeInteger(e)&&e>=0}function Vt(e){return e!=null&&typeof e!=`function`&&Bt(e.length)}function Ht(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var Ut=`[object RegExp]`,Wt=`[object String]`,Gt=`[object Number]`,Kt=`[object Boolean]`,qt=`[object Arguments]`,Jt=`[object Symbol]`,Yt=`[object Date]`,Xt=`[object Map]`,Zt=`[object Set]`,Qt=`[object Array]`,$t=`[object Function]`,en=`[object ArrayBuffer]`,tn=`[object Object]`,nn=`[object Error]`,rn=`[object DataView]`,an=`[object Uint8Array]`,on=`[object Uint8ClampedArray]`,sn=`[object Uint16Array]`,cn=`[object Uint32Array]`,ln=`[object BigUint64Array]`,un=`[object Int8Array]`,dn=`[object Int16Array]`,fn=`[object Int32Array]`,pn=`[object BigInt64Array]`,mn=`[object Float32Array]`,hn=`[object Float64Array]`;function gn(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function _n(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}function vn(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var yn=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function bn(e){return yn.Buffer!==void 0&&yn.Buffer.isBuffer(e)}var xn=/^(?:0|[1-9]\d*)$/;function Sn(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{var r=n(),i=e();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),wn=a(((e,t)=>{t.exports=Cn()}))(),Tn=(0,s.createContext)(null),En=e=>e,L=()=>{var e=(0,s.useContext)(Tn);return e?e.store.dispatch:En},Dn=()=>{},On=()=>Dn,kn=(e,t)=>e===t;function R(e){var t=(0,s.useContext)(Tn),n=(0,s.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:Dn,[t,e]);return(0,wn.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:On,t?t.store.getState:Dn,t?t.store.getState:Dn,n,kn)}function An(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function jn(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var Mn=e=>Array.isArray(e)?e:[e];function Nn(e){let t=Array.isArray(e[0])?e[0]:e;return jn(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Pn(e,t){let n=[],{length:r}=e;for(let i=0;i`u`?Fn:WeakRef,Ln=0,Rn=1;function zn(){return{s:Ln,v:void 0,o:null,p:null}}function Bn(e){return e instanceof In?e.deref():e}function Vn(e,t={}){let n=zn(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=zn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function Hn(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),An(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=Vn,argsMemoizeOptions:u=[]}={...n,...a},d=Mn(c),f=Mn(u),p=Nn(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=Pn(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var z=Hn(Vn);function Un(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a{if(e!==t){let r=Kn(e),i=Kn(t);if(r===i&&r===0){if(et)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},Jn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Yn=/^\w*$/;function Xn(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||ee(e)?!0:typeof e==`string`&&(Yn.test(e)||!Jn.test(e))||t!=null&&A(t,e)}function Zn(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=Vt(e)?Array.from(e):Gn(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?A(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||Xn(e)?e:{key:e,path:re(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;re.original)}function Qn(e,...t){let n=t.length;return n>1&&Wn(e,t[0],t[1])?t=[]:n>2&&Wn(t[0],t[1],t[2])&&(t=[t[0]]),Zn(e,Un(t),[`asc`])}var $n=e=>e.legend.settings,er=e=>e.legend.size;z([e=>e.legend.payload,$n],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Qn(r,n):r});function tr(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var nr=typeof Symbol==`function`&&Symbol.observable||`@@observable`,rr=()=>Math.random().toString(36).substring(7).split(``).join(`.`),ir={INIT:`@@redux/INIT${rr()}`,REPLACE:`@@redux/REPLACE${rr()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${rr()}`};function ar(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function or(e,t,n){if(typeof e!=`function`)throw Error(tr(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(tr(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(tr(1));return n(or)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(tr(3));return i}function d(e){if(typeof e!=`function`)throw Error(tr(4));if(c)throw Error(tr(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(tr(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!ar(e))throw Error(tr(7));if(e.type===void 0)throw Error(tr(8));if(typeof e.type!=`string`)throw Error(tr(17));if(c)throw Error(tr(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(tr(10));r=e,f({type:ir.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(tr(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[nr](){return this}}}return f({type:ir.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[nr]:m}}function sr(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:ir.INIT})===void 0)throw Error(tr(12));if(n(void 0,{type:ir.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(tr(13))})}function cr(e){let t=Object.keys(e),n={};for(let r=0;re:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function ur(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(tr(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=lr(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function dr(e){return ar(e)&&`type`in e&&typeof e.type==`string`}var fr=Symbol.for(`immer-nothing`),pr=Symbol.for(`immer-draftable`),mr=Symbol.for(`immer-state`);function hr(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var gr=Object,_r=gr.getPrototypeOf,vr=`constructor`,yr=`prototype`,br=`configurable`,xr=`enumerable`,Sr=`writable`,Cr=`value`,wr=e=>!!e&&!!e[mr];function Tr(e){return e?Or(e)||Fr(e)||!!e[pr]||!!e[vr]?.[pr]||Ir(e)||Lr(e):!1}var Er=gr[yr][vr].toString(),Dr=new WeakMap;function Or(e){if(!e||!Rr(e))return!1;let t=_r(e);if(t===null||t===gr[yr])return!0;let n=gr.hasOwnProperty.call(t,vr)&&t[vr];if(n===Object)return!0;if(!zr(n))return!1;let r=Dr.get(n);return r===void 0&&(r=Function.toString.call(n),Dr.set(n,r)),r===Er}function kr(e,t,n=!0){Ar(e)===0?(n?Reflect.ownKeys(e):gr.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ar(e){let t=e[mr];return t?t.type_:Fr(e)?1:Ir(e)?2:Lr(e)?3:0}var jr=(e,t,n=Ar(e))=>n===2?e.has(t):gr[yr].hasOwnProperty.call(e,t),Mr=(e,t,n=Ar(e))=>n===2?e.get(t):e[t],Nr=(e,t,n,r=Ar(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Pr(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Fr=Array.isArray,Ir=e=>e instanceof Map,Lr=e=>e instanceof Set,Rr=e=>typeof e==`object`,zr=e=>typeof e==`function`,Br=e=>typeof e==`boolean`;function Vr(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Hr=e=>e.copy_||e.base_,Ur=e=>e.modified_?e.copy_:e.base_;function Wr(e,t){if(Ir(e))return new Map(e);if(Lr(e))return new Set(e);if(Fr(e))return Array[yr].slice.call(e);let n=Or(e);if(t===!0||t===`class_only`&&!n){let t=gr.getOwnPropertyDescriptors(e);delete t[mr];let n=Reflect.ownKeys(t);for(let r=0;r1&&gr.defineProperties(e,{set:qr,add:qr,clear:qr,delete:qr}),gr.freeze(e),t&&kr(e,(e,t)=>{Gr(t,!0)},!1)),e}function Kr(){hr(2)}var qr={[Cr]:Kr};function Jr(e){return e===null||!Rr(e)||gr.isFrozen(e)}var Yr=`MapSet`,Xr=`Patches`,Zr=`ArrayMethods`,Qr={};function $r(e){let t=Qr[e];return t||hr(0,e),t}var ei=e=>!!Qr[e],ti,ni=()=>ti,ri=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ei(Yr)?$r(Yr):void 0,arrayMethodsPlugin_:ei(Zr)?$r(Zr):void 0});function ii(e,t){t&&(e.patchPlugin_=$r(Xr),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ai(e){oi(e),e.drafts_.forEach(ci),e.drafts_=null}function oi(e){e===ti&&(ti=e.parent_)}var si=e=>ti=ri(ti,e);function ci(e){let t=e[mr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function li(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[mr].modified_&&(ai(t),hr(4)),Tr(e)&&(e=ui(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[mr].base_,e,t)}else e=ui(t,n);return di(t,e,!0),ai(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===fr?void 0:e}function ui(e,t){if(Jr(t))return t;let n=t[mr];if(!n)return yi(t,e.handledSet_,e);if(!pi(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);_i(n,e)}return n.copy_}function di(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Gr(t,n)}function fi(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var pi=(e,t)=>e.scope_===t,mi=[];function hi(e,t,n,r){let i=Hr(e),a=e.type_;if(r!==void 0&&Mr(i,r,a)===t){Nr(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;kr(i,(e,n)=>{if(wr(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??mi;for(let e of o)Nr(i,e,n,a)}function gi(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!pi(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ur(i);hi(e,i.draft_??i,a,n),_i(i,r)})}function _i(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}fi(e)}}function vi(e,t,n){let{scope_:r}=e;if(wr(n)){let i=n[mr];pi(i,r)&&i.callbacks_.push(function(){Oi(e),hi(e,n,Ur(i),t)})}else Tr(n)&&e.callbacks_.push(function(){let i=Hr(e);e.type_===3?i.has(n)&&yi(n,r.handledSet_,r):Mr(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&yi(Mr(e.copy_,t,e.type_),r.handledSet_,r)})}function yi(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||wr(e)||t.has(e)||!Tr(e)||Jr(e)||(t.add(e),kr(e,(r,i)=>{if(wr(i)){let t=i[mr];pi(t,n)&&(Nr(e,r,Ur(t),e.type_),fi(t))}else Tr(i)&&yi(i,t,n)})),e}function bi(e,t){let n=Fr(e),r={type_:+!!n,scope_:t?t.scope_:ni(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=xi;n&&(i=[r],a=Si);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var xi={get(e,t){if(t===mr)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Hr(e);if(!jr(i,t,e.type_))return Ti(e,i,t);let a=i[t];if(e.finalized_||!Tr(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Vr(t))return a;if(a===Ci(e.base_,t)||wi(e,t,a)){Oi(e);let n=e.type_===1?+t:t,r=Ai(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Hr(e)},ownKeys(e){return Reflect.ownKeys(Hr(e))},set(e,t,n){let r=Ei(Hr(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=Ci(Hr(e),t),i=r?.[mr];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(Pr(n,r)&&(n!==void 0||jr(e.base_,t,e.type_)))return!0;Oi(e),Di(e)}return e.copy_[t]===n&&(n!==void 0||jr(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),vi(e,t,n)),!0},deleteProperty(e,t){return Oi(e),Ci(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Di(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Hr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Sr]:!0,[br]:e.type_!==1||t!==`length`,[xr]:r[xr],[Cr]:n[t]}},defineProperty(){hr(11)},getPrototypeOf(e){return _r(e.base_)},setPrototypeOf(){hr(12)}},Si={};for(let e in xi){let t=xi[e];Si[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Si.deleteProperty=function(e,t){return Si.set.call(this,e,t,void 0)},Si.set=function(e,t,n){return xi.set.call(this,e[0],t,n,e[0])};function Ci(e,t){let n=e[mr];return(n?Hr(n):e)[t]}function wi(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!Tr(n)||n[mr]?!1:e.baseRefs_.has(n)}function Ti(e,t,n){let r=Ei(t,n);return r?Cr in r?r[Cr]:r.get?.call(e.draft_):void 0}function Ei(e,t){if(!(t in e))return;let n=_r(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=_r(n)}}function Di(e){e.modified_||(e.modified_=!0,e.parent_&&Di(e.parent_))}function Oi(e){e.copy_||=(e.assigned_=new Map,Wr(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var ki=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(zr(e)&&!zr(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}zr(t)||hr(6),n!==void 0&&!zr(n)&&hr(7);let r;if(Tr(e)){let i=si(this),a=Ai(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?ai(i):oi(i)}return ii(i,n),li(r,i)}if(!e||!Rr(e)){if(r=t(e),r===void 0&&(r=e),r===fr&&(r=void 0),this.autoFreeze_&&Gr(r,!0),n){let t=[],i=[];$r(Xr).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}hr(1,e)},this.produceWithPatches=(e,t)=>{if(zr(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Br(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Br(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Br(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Tr(e)||hr(8),wr(e)&&(e=ji(e));let t=si(this),n=Ai(t,e,void 0);return n[mr].isManual_=!0,oi(t),n}finishDraft(e,t){let n=e&&e[mr];n&&n.isManual_||hr(9);let{scope_:r}=n;return ii(r,t),li(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=$r(Xr).applyPatches_;return wr(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ai(e,t,n,r){let[i,a]=Ir(t)?$r(Yr).proxyMap_(t,n):Lr(t)?$r(Yr).proxySet_(t,n):bi(t,n);return(n?.scope_??ni()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?gi(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function ji(e){return wr(e)||hr(10,e),Mi(e)}function Mi(e){if(!Tr(e)||Jr(e))return e;let t=e[mr],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Wr(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Wr(e,!0);let i=n;return Lr(n)&&(n=new Set),kr(i,(e,t)=>{Nr(n,e,Mi(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var Ni=new ki().produce,B=e=>e;function Pi(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var Fi=Pi(),Ii=Pi,Li=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?lr:lr.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function Ri(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(Ka(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>dr(t)&&t.type===e,n}var zi=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function Bi(e){return Tr(e)?Ni(e,()=>{}):e}function Vi(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function Hi(e){return typeof e==`boolean`}var Ui=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new zi;return t&&(Hi(t)?a.push(Fi):a.push(Ii(t.extraArgument))),a},Wi=`RTK_autoBatch`,V=()=>e=>({payload:e,meta:{[Wi]:!0}}),Gi=e=>t=>{setTimeout(t,e)},Ki=(e,t)=>n=>{let r=!1,i,a,o=()=>{r||(r=!0,cancelAnimationFrame(i),clearTimeout(a),n())};i=e(o),a=setTimeout(o,t)},qi=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?Ki(window.requestAnimationFrame,100):Gi(10):e.type===`callback`?e.queueNotification:Gi(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Wi],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Ji=e=>function(t){let{autoBatch:n=!0}=t??{},r=new zi(e);return n&&r.push(qi(typeof n==`object`?n:void 0)),r};function Yi(e){let t=Ui(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(ar(n))c=cr(n);else throw Error(Ka(1));let l;l=typeof r==`function`?r(t):t();let u=lr;i&&(u=Li({trace:!1,...typeof i==`object`&&i}));let d=Ji(ur(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return or(c,o,p)}function Xi(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(Ka(28));if(r in t)throw Error(Ka(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function Zi(e){return typeof e==`function`}function Qi(e,t){let[n,r,i]=Xi(t),a;if(Zi(e))a=()=>Bi(e());else{let t=Bi(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(wr(e)){let r=n(e,t);return r===void 0?e:r}if(Tr(e))return Ni(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(Ka(9))}return r}}return e},e)}return o.getInitialState=a,o}var $i=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,ea=(e=21)=>{let t=``,n=e;for(;n--;)t+=$i[Math.random()*64|0];return t},ta=Symbol.for(`rtk-slice-createasyncthunk`);function na(e,t){return`${e}/${t}`}function ra({creators:e}={}){let t=e?.asyncThunk?.[ta];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(Ka(11));let i=(typeof e.reducers==`function`?e.reducers(oa()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(Ka(12));if(n in o.sliceCaseReducersByType)throw Error(Ka(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:na(n,r),createNotation:typeof e.reducers==`function`};ca(a)?ua(o,a,s,t):sa(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?Xi(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return Qi(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=Vi(d,r,m)),i}function i(t=l){return Vi(Vi(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=ia(a,t,()=>Vi(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function ia(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var aa=ra();function oa(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function sa({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!la(r))throw Error(Ka(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?Ri(e,o):Ri(e))}function ca(e){return e._reducerDefinitionType===`asyncThunk`}function la(e){return e._reducerDefinitionType===`reducerWithPrepare`}function ua({type:e,reducerName:t},n,r,i){if(!i)throw Error(Ka(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||da,pending:s||da,rejected:c||da,settled:l||da})}function da(){}var fa=`task`,pa=`listener`,ma=`completed`,ha=`cancelled`,ga=`task-${ha}`,_a=`task-${ma}`,va=`${pa}-${ha}`,ya=`${pa}-${ma}`,ba=class{code;name=`TaskAbortError`;message;constructor(e){this.code=e,this.message=`${fa} ${ha} (reason: ${e})`}},xa=(e,t)=>{if(typeof e!=`function`)throw TypeError(Ka(32))},Sa=()=>{},Ca=(e,t=Sa)=>(e.catch(t),e),wa=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),Ta=e=>{if(e.aborted)throw new ba(e.reason)};function Ea(e,t){let n=Sa;return new Promise((r,i)=>{let a=()=>i(new ba(e.reason));e.aborted?a():(n=wa(e,a),t.finally(()=>n()).then(r,i))}).finally(()=>{n=Sa})}var Da=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof ba?`cancelled`:`rejected`,error:e}}finally{t?.()}},Oa=e=>t=>Ca(Ea(e,t).then(t=>(Ta(e),t))),ka=e=>{let t=Oa(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:Aa}=Object,ja={},Ma=`listenerMiddleware`,Na=(e,t)=>{let n=t=>wa(e,()=>t.abort(e.reason));return(r,i)=>{xa(r,`taskExecutor`);let a=new AbortController;n(a);let o=Da(async()=>{Ta(e),Ta(a.signal);let t=await r({pause:Oa(a.signal),delay:ka(a.signal),signal:a.signal});return Ta(a.signal),t},()=>a.abort(_a));return i?.autoJoin&&t.push(o.catch(Sa)),{result:Oa(e)(o),cancel(){a.abort(ga)}}}},Pa=(e,t)=>{let n=async(n,r)=>{Ta(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await Ea(t,Promise.race(a));return Ta(t),e}finally{i()}};return((e,t)=>Ca(n(e,t)))},Fa=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=Ri(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(Ka(21));return xa(a,`options.listener`),{predicate:i,type:t,effect:a}},Ia=Aa(e=>{let{type:t,predicate:n,effect:r}=Fa(e);return{id:ea(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(Ka(22))}}},{withTypes:()=>Ia}),La=(e,t)=>{let{type:n,effect:r,predicate:i}=Fa(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},Ra=e=>{e.pending.forEach(e=>{e.abort(va)})},za=(e,t)=>()=>{for(let e of t.keys())Ra(e);e.clear()},Ba=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},Va=Aa(Ri(`${Ma}/add`),{withTypes:()=>Va}),Ha=Ri(`${Ma}/removeAll`),Ua=Aa(Ri(`${Ma}/remove`),{withTypes:()=>Ua}),Wa=(...e)=>{console.error(`${Ma}/error`,...e)},Ga=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=Wa}=e;xa(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&Ra(e)}),c=(e=>{let n=La(t,e)??Ia(e);return s(n)});Aa(c,{withTypes:()=>c});let l=e=>{let n=La(t,e);return n&&(n.unsubscribe(),e.cancelActive&&Ra(n)),!!n};Aa(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=Pa(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,Aa({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:ka(u.signal),pause:Oa(u.signal),extra:a,signal:u.signal,fork:Na(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(va),n.delete(e))})},cancel:()=>{u.abort(va),e.pending.delete(u)},throwIfCancelled:()=>{Ta(u.signal)}})))}catch(e){e instanceof ba||Ba(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(ya),i(e),e.pending.delete(u)}},d=za(t,n);return{middleware:e=>n=>r=>{if(!dr(r))return n(r);if(Va.match(r))return c(r.payload);if(Ha.match(r)){d();return}if(Ua.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===ja)throw Error(Ka(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,Ba(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=ja}return s},startListening:c,stopListening:l,clearListeners:d}};function Ka(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var qa=aa({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),Ja=qa.actions,Ya=Ja.setMargin,Xa=Ja.setLayout,Za=Ja.setChartSize,Qa=Ja.setScale,$a=qa.reducer;function eo(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function H(e){return Number.isFinite(e)}function to(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function no(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ro(e){for(var t=1;t{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(Ae(c)){if(c===`top`&&P(e.top))return ro(ro({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&P(e.bottom))return ro(ro({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&P(e.left))return ro(ro({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&P(e.right))return ro(ro({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&P(e[a]))return ro(ro({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&P(e[o]))return ro(ro({},e),{},{[o]:e[o]+(i||0)})}return e},co=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,lo=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},uo=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?le(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return H(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(be):c&&l?l.map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(be):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(be):o.domain().map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(be)},fo={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:Dt,none:St,silhouette:Ot,wiggle:kt,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},po=(e,t,n)=>{var r=fo[n]??St,i=Et().keys(t).value((e,t)=>Number(U(e,t,0))).order(Ct).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=U(e[i],t[r],0);Array.isArray(a)&&a.length===2&&P(a[0])&&P(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function mo(e){return e==null?void 0:String(e)}function ho(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!F(i[t.dataKey])){var s=ve(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=U(i,F(o)?t.dataKey:o),l=t.scale.map(c);return P(l)?l:null}var go=e=>{var t=e.flat(2).filter(P);return[Math.min(...t),Math.max(...t)]},_o=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],vo=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return _o(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=go(eo(r,t,n));return!H(i[0])||!H(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},yo=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,bo=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xo=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Qn(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;su&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function So(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return ro(ro({},t),{},{dataKey:n,payload:r,value:i,name:a})}function Co(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var wo=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},To=(e,t)=>t===`centric`?e.angle:e.radius,Eo=e=>e.layout.width,Do=e=>e.layout.height,Oo=e=>e.layout.scale,ko=e=>e.layout.margin,Ao=z(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),jo=z(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Mo=`data-recharts-item-index`;function No(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Po(e){for(var t=1;te.brush.height;function zo(e){return jo(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Bo(e){return jo(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Vo(e){return Ao(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function Ho(e){return Ao(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var Uo=z([Eo,Do,ko,Ro,zo,Bo,Vo,Ho,$n,er],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=Po(Po({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=so(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return Po(Po({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Wo=z(Uo,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Go=z(Eo,Do,(e,t)=>({x:0,y:0,width:e,height:t})),Ko=(0,s.createContext)(null),qo=()=>(0,s.useContext)(Ko)!=null,Jo=e=>e.brush,Yo=z([Jo,Uo,ko],(e,t,n)=>({height:e.height,x:P(e.x)?e.x:t.left,y:P(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:P(e.width)?e.width:t.width}));function Xo(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function Zo(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=Xo(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function Qo(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return Zo(e,t,{leading:r,maxWait:t,trailing:i})}var $o=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},es={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},ts=(e,t,n)=>{var r=n.width,i=r===void 0?es.width:r,a=n.height,o=a===void 0?es.height:a,s=n.aspect,c=n.maxHeight,l=de(i)?e:Number(i),u=de(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},ns={width:0,height:0,overflow:`visible`},rs={width:0,overflowX:`visible`},is={height:0,overflowY:`visible`},as={},os=e=>{var t=e.width,n=e.height,r=de(t),i=de(n);return r&&i?ns:r?rs:i?is:as};function ss(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=es.width,a=es.height):i===void 0?i=r&&r>0?void 0:es.width:a===void 0&&(a=r&&r>0?void 0:es.height),{width:i,height:a}}var cs=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function ls(){return ls=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({width:n,height:r}),[n,r]);return ws(i)?s.createElement(Cs.Provider,{value:i},t):null}var Es=()=>(0,s.useContext)(Cs),Ds=(0,s.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?es.initialDimension:r,a=e.width,c=e.height,l=e.minWidth,u=l===void 0?es.minWidth:l,d=e.minHeight,f=e.maxHeight,p=e.children,m=e.debounce,h=m===void 0?es.debounce:m,g=e.id,_=e.className,v=e.onResize,y=e.style,b=y===void 0?{}:y,x=xs(e,cs),S=(0,s.useRef)(null),C=(0,s.useRef)();C.current=v,(0,s.useImperativeHandle)(t,()=>S.current);var w=hs((0,s.useState)({containerWidth:i.width,containerHeight:i.height}),2),T=w[0],E=w[1],D=(0,s.useCallback)((e,t)=>{E(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,s.useEffect)(()=>{if(S.current==null||typeof ResizeObserver>`u`)return xe;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;D(i,a),(t=C.current)==null||t.call(C,i,a)}};h>0&&(e=Qo(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),()=>{t.disconnect()}},[D,h]);var O=T.containerWidth,k=T.containerHeight;$o(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var A=ts(O,k,{width:a,height:c,aspect:n,maxHeight:f}),j=A.calculatedWidth,M=A.calculatedHeight;return $o(O<0||k<0||j!=null&&j>0||M!=null&&M>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,j,M,a,c,u,d,n),s.createElement(`div`,ls({id:g?`${g}`:void 0,className:o(`recharts-responsive-container`,_),style:ds(ds({},b),{},{width:a,height:c,minWidth:u,minHeight:d,maxHeight:f}),ref:S},x),s.createElement(`div`,{style:os({width:a,height:c})},s.createElement(Ts,{width:j,height:M},p)))}),Os=(0,s.forwardRef)((e,t)=>{var n=Es();if(to(n.width)&&to(n.height))return e.children;var r=ss({width:e.width,height:e.height,aspect:e.aspect}),i=r.width,a=r.height,o=ts(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),c=o.calculatedWidth,l=o.calculatedHeight;return P(c)&&P(l)?s.createElement(Ts,{width:c,height:l},e.children):s.createElement(Ds,ls({},e,{width:i,height:a,ref:t}))}),ks=()=>{var e=qo(),t=R(Wo),n=R(Yo),r=R(Jo)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},As={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},js=()=>R(Uo)??As,Ms=()=>R(Eo),Ns=()=>R(Do),W=e=>e.layout.layoutType,Ps=()=>R(W),Fs=()=>{var e=Ps();if(e===`horizontal`||e===`vertical`)return e},Is=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},Ls=()=>Ps()!==void 0,Rs=e=>{var t=L(),n=qo(),r=e.width,i=e.height,a=Es(),o=r,c=i;return a&&(o=a.width>0?a.width:r,c=a.height>0?a.height:i),(0,s.useEffect)(()=>{!n&&to(o)&&to(c)&&t(Za({width:o,height:c}))},[t,n,o,c]),null},zs=aa({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`bottom`,itemSorter:`value`,position:void 0,offset:0},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(B(t.payload))},prepare:V()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ji(e).payload.indexOf(B(r));a>-1&&(e.payload[a]=B(i))},prepare:V()},removeLegendPayload:{reducer(e,t){var n=ji(e).payload.indexOf(B(t.payload));n>-1&&e.payload.splice(n,1)},prepare:V()}}}),Bs=zs.actions;Bs.setLegendSize,Bs.setLegendSettings;var Vs=Bs.addLegendPayload,Hs=Bs.replaceLegendPayload,Us=Bs.removeLegendPayload,Ws=zs.reducer,Gs=a((e=>{var t=n();t.useSyncExternalStore,t.useRef,t.useEffect,t.useMemo,t.useDebugValue}));a(((e,t)=>{t.exports=Gs()}))();function Ks(e){e()}function qs(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Ks(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){r&&e!==null&&(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Js={notify(){},get:()=>[]};function Ys(e,t){let n,r=Js,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=qs())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Js)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var Xs=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,Zs=typeof navigator<`u`&&navigator.product===`ReactNative`,Qs=Xs||Zs?s.useLayoutEffect:s.useEffect;function $s(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function ec(e,t){if($s(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r{let e=Ys(i);return{store:i,subscription:e,getServerState:r==null?void 0:()=>r}},[i,r]),o=s.useMemo(()=>i.getState(),[i]);Qs(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let c=n||ic;return s.createElement(c.Provider,{value:a},t)}var oc=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function sc(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function cc(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(oc.has(n)){if(e[n]==null&&t[n]==null)continue;if(!ec(e[n],t[n]))return!1}else if(!sc(e[n],t[n]))return!1;return!0}var lc={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function uc(e,t){return hc(e)||mc(e,t)||fc(e,t)||dc()}function dc(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fc(e,t){if(e){if(typeof e==`string`)return pc(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pc(e,t):void 0}}function pc(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nlc.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,s.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}var _c=()=>R(e=>e.rootProps.accessibilityLayer)??!0;function vc(){return vc=Object.assign?Object.assign.bind():function(e){for(var t=1;tH(e.x)&&H(e.y),Ec=e=>e.base!=null&&Tc(e.base)&&Tc(e),Dc=e=>e.x,Oc=e=>e.y,kc=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${ye(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=wc[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return wc[n]||He},Ac={connectNulls:!1,type:`linear`},jc=e=>{var t=e.type,n=t===void 0?Ac.type:t,r=e.points,i=r===void 0?[]:r,a=e.baseLine,o=e.layout,s=e.connectNulls,c=s===void 0?Ac.connectNulls:s,l=kc(n,o),u=c?i.filter(Tc):i;if(Array.isArray(a)){var d,f=i.map((e,t)=>bc(bc({},e),{},{base:a[t]}));return d=o===`vertical`?Ke().y(Oc).x1(Dc).x0(e=>e.base.x):Ke().x(Dc).y1(Oc).y0(e=>e.base.y),d.defined(Ec).curve(l)(c?f.filter(Ec):f)}return(o===`vertical`&&P(a)?Ke().y(Oc).x1(Dc).x0(a):P(a)?Ke().x(Dc).y1(Oc).y0(a):Ge().x(Dc).y(Oc)).defined(Tc).curve(l)(u)},Mc=e=>{var t=e.className,n=e.points,r=e.path,i=e.pathRef,a=Ps();if((!n||!n.length)&&!r)return null;var c={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},l=n&&n.length?jc(c):r;return s.createElement(`path`,vc({},p(e),jt(e),{className:o(`recharts-curve`,t),d:l===null?void 0:l,ref:i}))},Nc=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],Pc=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),Fc=(e,t)=>n=>Pc(Nc(e,t),n),Ic=(e,t)=>n=>Pc([...Nc(e,t).map((e,t)=>e*t).slice(1),0],n),Lc=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},Rc=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=Lc(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},zc=(e,t,n,r)=>{var i=Fc(e,n),a=Fc(t,r),o=Ic(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},Bc=function(){return zc(...Rc(...arguments))},Vc=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?16.67:a,s=1,c=[0],l=0,u=0,d=1e4,f=0;f{if(e<=0)return 0;if(e>=1)return s;var t=e*h,n=Math.floor(t),r=t-n;return(c[n]??0)+((c[n+1]??0)-(c[n]??0))*r}},Hc=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return Bc(e);case`spring`:return Vc();default:if(e.split(`(`)[0]===`cubic-bezier`)return Bc(e)}return typeof e==`function`?e:null},Uc=(0,s.createContext)((e,t,n)=>{var r,i=a=>{var o=t.tick(a);if(t.getState()===`active`){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(i,o)}else r=e.setTimeout(i,o)};return r=e.setTimeout(i,0),()=>r?.()});Uc.Provider;function Wc(e){var t=(0,s.useContext)(Uc);return(0,s.useMemo)(()=>e??t,[e,t])}function Gc(e,t,n){return(t=Kc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kc(e){var t=qc(e,`string`);return typeof t==`symbol`?t:t+``}function qc(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Jc=`init`,Yc=`pending`,Xc=`active`,Zc=`completed`;function Qc(e){return Math.max(0,e)}var $c=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var t;Gc(this,`state`,Jc),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=Qc(e.animationDuration),this.animationBegin=Qc(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(t=e.onAnimationStart)==null||t.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Jc)return this.state=Yc,this.beginStartedTime=e,this.animationBegin;if(this.getState()===Yc){if(this.beginStartedTime==null)throw Error();var t=e-this.beginStartedTime;return t>=this.animationBegin?(this.state=Xc,this.animationStartedTime=e,this.nextAnimationUpdate(0)):Qc(this.animationBegin-t)}if(this.getState()===Xc){if(this.animationStartedTime==null)throw Error();var n=e-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state===`active`){var e;(e=this.onAnimationEnd)==null||e.call(this)}this.state=Zc}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},el=class extends $c{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(_e(this.getFrom(),this.getTo(),this.getProgress()))}},tl=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function nl(e,t){return sl(e)||ol(e,t)||il(e,t)||rl()}function rl(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function il(e,t){if(e){if(typeof e==`string`)return al(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?al(e,t):void 0}}function al(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{},onAnimationStart:()=>{}},ll=0,ul=1;function dl(e){var t=zt(e,cl),n=t.animationId,r=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,c=t.begin,l=t.onAnimationEnd,u=t.onAnimationStart,d=t.children,f=gc(),p=r===`auto`?!lc.isSsr&&!f:r,m=Wc(t.animationController),h=nl((0,s.useState)(p?ll:ul),2),g=h[0],_=h[1];return(0,s.useEffect)(()=>{p||_(ul)},[p]),(0,s.useEffect)(()=>{var e=Hc(o);return!p||!i||e==null?xe:m(new tl,new el({animationId:n,easing:e,animationDuration:a,animationBegin:c,onAnimationStart:u,onAnimationEnd:l,from:ll,to:ul}),_)},[m,n,p,i,a,o,c,u,l]),d(Number(g))}function fl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,s.useRef)(me(t)),r=(0,s.useRef)(e);return r.current!==e&&(n.current=me(t),r.current=e),n.current}function pl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ml(e){for(var t=1;te*180/Math.PI,bl=(e,t,n,r)=>({x:e+Math.cos(-vl*r)*n,y:t+Math.sin(-vl*r)*n}),xl=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},Sl=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return Math.sqrt((n-i)**2+(r-a)**2)},Cl=(e,t)=>{var n=e.x,r=e.y,i=t.cx,a=t.cy,o=Sl({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:yl(c),angleInRadian:c}},wl=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},Tl=(e,t)=>{var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},El=(e,t)=>{var n=e.relativeX,r=e.relativeY,i=Cl({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac||a===0)return null;var l=wl(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?ml(ml({},t),{},{radius:a,angle:Tl(f,t)}):null};function Dl(e){return ee(e)?NaN:Number(e)}function Ol(e){return e?(e=Dl(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function kl(e,t,n){n&&typeof n!=`number`&&Wn(e,t,n)&&(t=n=void 0),e=Ol(e),t===void 0?(t=e,e=0):t=Ol(t),n=n===void 0?ee.chartData,jl=z([Al],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Ml=(e,t,n,r)=>r?jl(e):Al(e),Nl=(e,t,n)=>n?jl(e):Al(e),Pl=z([Ml],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});z([jl],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});var Fl=z([Al],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});function Il(e,t){return Vl(e)||Bl(e,t)||Rl(e,t)||Ll()}function Ll(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rl(e,t){if(e){if(typeof e==`string`)return zl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zl(e,t):void 0}}function zl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i)t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;else{if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i)}if((i=e[r=`LN10`])!==void 0){if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i)}return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(n)}))());function Kl(e){return e===0?1:Math.floor(new G.default(e).abs().log(10).toNumber())+1}function ql(e,t,n){for(var r=new G.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}function Jl(e,t){return $l(e)||Ql(e,t)||Xl(e,t)||Yl()}function Yl(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xl(e,t){if(e){if(typeof e==`string`)return Zl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zl(e,t):void 0}}function Zl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=Jl(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]},tu=(e,t,n)=>{if(e.lte(0))return new G.default(0);var r=Kl(e.toNumber()),i=new G.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new G.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new G.default(s.toNumber()):new G.default(Math.ceil(s.toNumber()))},nu=(e,t,n)=>{if(e.lte(0))return new G.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new G.default(i).abs().log(10).toNumber()),o=new G.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new G.default(10).pow(l))}var u=r[c]??1,d=new G.default(u).mul(o);return t?d:new G.default(Math.ceil(d.toNumber()))},ru=(e,t,n)=>{var r=new G.default(1),i=new G.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new G.default(10).pow(Kl(e)-1),i=new G.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new G.default(Math.floor(e)))}else e===0?i=new G.default(Math.floor((t-1)/2)):n||(i=new G.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:tu;if(!Number.isFinite((t-e)/(n-1)))return{step:new G.default(0),tickMin:new G.default(0),tickMax:new G.default(0)};var o=a(new G.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new G.default(0):(s=new G.default(e).add(t).div(2),s=s.sub(new G.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new G.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?iu(e,t,n,r,i+1,a):(u0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new G.default(c).mul(o)),tickMax:s.add(new G.default(l).mul(o))})},au=function(e){var t=Jl(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Math.max(i,2),c=Jl(eu([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var d=u===1/0?[l,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),u];return n>r?d.reverse():d}if(l===u)return ru(l,i,a);var f=iu(l,u,s,a,0,o===`snap125`?nu:tu),p=f.step,m=f.tickMin,h=f.tickMax,g=ql(m,h.add(new G.default(.1).mul(p)),p);return n>r?g.reverse():g},ou=function(e,t){var n=Jl(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Jl(eu([r,i]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0)return[r,i];if(c===l)return[c];var u=o===`snap125`?nu:tu,d=Math.max(t,2),f=u(new G.default(l).sub(c).div(d-1),a,0),p=[...ql(new G.default(c),new G.default(l),f),l];if(a===!1){p=p.map(e=>Math.round(e));var m=p.length-1;m>0&&p[m]===p[m-1]&&(p=p.slice(0,m))}return r>i?p.reverse():p},su=e=>e.rootProps.barCategoryGap,cu=e=>e.rootProps.stackOffset,lu=e=>e.rootProps.reverseStackOrder,uu=e=>e.options.chartName,du=e=>e.rootProps.syncId,fu=e=>e.rootProps.syncMethod,pu=e=>e.options.eventEmitter,mu=e=>e.rootProps.baseValue,hu={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},gu={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:hu.axis},_u={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:hu.axis},vu=(e,t)=>{if(e&&t)return e!=null&&e.reversed?[t[1],t[0]]:t};function yu(e,t,n){if(n!==`auto`)return n;if(e!=null)return co(e,t)?`category`:`number`}function bu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xu(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Is],(e,t)=>{if(e!=null)return e;var n=yu(t,`angleAxis`,Tu.type)??`category`;return xu(xu({},Tu),{},{type:n})}),Ou=z([(e,t)=>e.polarAxis.radiusAxis[t],Is],(e,t)=>{if(e!=null)return e;var n=yu(t,`radiusAxis`,Eu.type)??`category`;return xu(xu({},Eu),{},{type:n})}),ku=e=>e.polarOptions,Au=z([Eo,Do,Uo],xl),ju=z([ku,Au],(e,t)=>{if(e!=null)return he(e.innerRadius,t,0)}),Mu=z([ku,Au],(e,t)=>{if(e!=null)return he(e.outerRadius,t,t*.8)}),Nu=z([ku],e=>e==null?[0,0]:[e.startAngle,e.endAngle]);z([Du,Nu],vu);var Pu=z([Au,ju,Mu],(e,t,n)=>{if(e!=null&&t!=null&&n!=null)return[t,n]});z([Ou,Pu],vu);var Fu=z([W,ku,ju,Mu,Eo,Do],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var o=t.cx,s=t.cy,c=t.startAngle,l=t.endAngle;return{cx:he(o,i,i/2),cy:he(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),K=(e,t)=>t,Iu=(e,t,n)=>n;function Lu(e){return e?.id}function Ru(e,t,n){var r=t.chartData,i=r===void 0?[]:r,a=n.allowDuplicatedCategory,o=n.dataKey,s=new Map;return e.forEach(e=>{var t=e.data??i;if(t!=null&&t.length!==0){var n=Lu(e);t.forEach((t,r)=>{var i=o==null||a?r:String(U(t,o,null)),c=U(t,e.dataKey,0),l=s.has(i)?s.get(i):{};Object.assign(l,{[n]:c}),s.set(i,l)})}}),Array.from(s.values())}function zu(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var Bu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Vu(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function Hu(e,t){if(e.length===t.length){for(var n=0;n{var t=W(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},Uu=e=>e.tooltip.settings.axisId;function Wu(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i}}return r}}}}}var Gu=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!Hl(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function Ku(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function qu(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Ju(e){let t,n,r;e.length===2?(t=e===Ku||e===qu?e:Yu,n=e,r=e):(t=Ku,n=(t,n)=>Ku(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Yu(){return 0}function Xu(e){return e===null?NaN:+e}function*Zu(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var Qu=Ju(Ku),$u=Qu.right;Qu.left,Ju(Xu).center;var ed=class extends Map{constructor(e,t=id){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(td(this,e))}has(e){return super.has(td(this,e))}set(e,t){return super.set(nd(this,e),t)}delete(e){return super.delete(rd(this,e))}};function td({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function nd({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function rd({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function id(e){return typeof e==`object`&&e?e.valueOf():e}function ad(e=Ku){if(e===Ku)return od;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function od(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var sd=Math.sqrt(50),cd=Math.sqrt(10),ld=Math.sqrt(2);function ud(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=sd?10:a>=cd?5:a>=ld?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function hd(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function gd(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?od:ad(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));gd(e,t,u,d,i)}let a=e[t],o=n,s=r;for(_d(e,n,t),i(e[r],a)>0&&_d(e,n,r);o0;)--s}i(e[n],a)===0?_d(e,n,s):(++s,_d(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function _d(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function vd(e,t,n){if(e=Float64Array.from(Zu(e,n)),(r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return hd(e);if(t>=1)return md(e);var r,i=(r-1)*t,a=Math.floor(i),o=md(gd(e,a).subarray(0,a+1));return o+(hd(e.subarray(a+1))-o)*(i-a)}}function yd(e,t,n=Xu){if((r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function bd(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Ld.exec(e))?new $d(t[1],t[2],t[3],1):(t=Rd.exec(e))?new $d(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=zd.exec(e))?Xd(t[1],t[2],t[3],t[4]):(t=Bd.exec(e))?Xd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Vd.exec(e))?sf(t[1],t[2]/100,t[3]/100,1):(t=Hd.exec(e))?sf(t[1],t[2]/100,t[3]/100,t[4]):Ud.hasOwnProperty(e)?Yd(Ud[e]):e===`transparent`?new $d(NaN,NaN,NaN,0):null}function Yd(e){return new $d(e>>16&255,e>>8&255,e&255,1)}function Xd(e,t,n,r){return r<=0&&(e=t=n=NaN),new $d(e,t,n,r)}function Zd(e){return e instanceof Ad||(e=Jd(e)),e?(e=e.rgb(),new $d(e.r,e.g,e.b,e.opacity)):new $d}function Qd(e,t,n,r){return arguments.length===1?Zd(e):new $d(e,t,n,r??1)}function $d(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Od($d,Qd,kd(Ad,{brighter(e){return e=e==null?Md:Md**+e,new $d(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jd:jd**+e,new $d(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $d(af(this.r),af(this.g),af(this.b),rf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ef,formatHex:ef,formatHex8:tf,formatRgb:nf,toString:nf}));function ef(){return`#${of(this.r)}${of(this.g)}${of(this.b)}`}function tf(){return`#${of(this.r)}${of(this.g)}${of(this.b)}${of((isNaN(this.opacity)?1:this.opacity)*255)}`}function nf(){let e=rf(this.opacity);return`${e===1?`rgb(`:`rgba(`}${af(this.r)}, ${af(this.g)}, ${af(this.b)}${e===1?`)`:`, ${e})`}`}function rf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function af(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function of(e){return e=af(e),(e<16?`0`:``)+e.toString(16)}function sf(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new uf(e,t,n,r)}function cf(e){if(e instanceof uf)return new uf(e.h,e.s,e.l,e.opacity);if(e instanceof Ad||(e=Jd(e)),!e)return new uf;if(e instanceof uf)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new uf(o,s,c,e.opacity)}function lf(e,t,n,r){return arguments.length===1?cf(e):new uf(e,t,n,r??1)}function uf(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Od(uf,lf,kd(Ad,{brighter(e){return e=e==null?Md:Md**+e,new uf(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jd:jd**+e,new uf(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new $d(pf(e>=240?e-240:e+120,i,r),pf(e,i,r),pf(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new uf(df(this.h),ff(this.s),ff(this.l),rf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=rf(this.opacity);return`${e===1?`hsl(`:`hsla(`}${df(this.h)}, ${ff(this.s)*100}%, ${ff(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function df(e){return e=(e||0)%360,e<0?e+360:e}function ff(e){return Math.max(0,Math.min(1,e||0))}function pf(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var mf=e=>()=>e;function hf(e,t){return function(n){return e+n*t}}function gf(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function _f(e){return(e=+e)==1?vf:function(t,n){return n-t?gf(t,n,e):mf(isNaN(t)?n:t)}}function vf(e,t){var n=t-e;return n?hf(e,n):mf(isNaN(e)?t:e)}var yf=(function e(t){var n=_f(t);function r(e,t){var r=n((e=Qd(e)).r,(t=Qd(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=vf(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function bf(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:wf(r,i)})),n=Df.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Bf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?Vf:Bf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),wf))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Ff),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Mf,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Lf,u()):o!==Lf},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function Wf(){return Uf()(Lf,Lf)}function Gf(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Kf(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function qf(e){return e=Kf(Math.abs(e)),e?e[1]:NaN}function Jf(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Yf(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Xf=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Zf(e){if(!(t=Xf.exec(e)))throw Error(`invalid format: `+e);var t;return new Qf({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Zf.prototype=Qf.prototype;function Qf(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Qf.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function $f(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var ep;function tp(e,t){var n=Kf(e,t);if(!n)return ep=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(ep=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Kf(e,Math.max(0,t+a-1))[0]}function np(e,t){var n=Kf(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var rp={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Gf,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>np(e*100,t),r:np,s:tp,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ip(e){return e}var ap=Array.prototype.map,op=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function sp(e){var t=e.grouping===void 0||e.thousands===void 0?ip:Jf(ap.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?ip:Yf(ap.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Zf(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):rp[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=rp[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=$f(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&ep!==void 0?op[8+ep/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(qf(t)/3)))*3,r=10**-n,i=l((e=Zf(e),e.type=`f`,e),{suffix:op[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var cp,lp,up;dp({thousands:`,`,grouping:[3],currency:[`$`,``]});function dp(e){return cp=sp(e),lp=cp.format,up=cp.formatPrefix,cp}function fp(e){return Math.max(0,-qf(Math.abs(e)))}function pp(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(qf(t)/3)))*3-qf(Math.abs(e)))}function mp(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,qf(t)-qf(e))+1}function hp(e,t,n,r){var i=pd(e,t,n),a;switch(r=Zf(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=pp(i,o))&&(r.precision=a),up(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=mp(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=fp(i))&&(r.precision=a-(r.type===`%`)*2)}return lp(r)}function gp(e){var t=e.domain;return e.ticks=function(e){var n=t();return dd(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return hp(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=fd(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function _p(){var e=Wf();return e.copy=function(){return Hf(e,_p())},xd.apply(e,arguments),gp(e)}function vp(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Ff),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return vp(e).unknown(t)},e=arguments.length?Array.from(e,Ff):[0,1],gp(n)}function yp(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function Ep(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Dp(e){return(t,n)=>-e(-t,n)}function Op(e){let t=e(bp,xp),n=t.domain,r=10,i,a;function o(){return i=Ep(r),a=Tp(r),n()[0]<0?(i=Dp(i),a=Dp(a),e(Sp,Cp)):e(bp,xp),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Zf(n)).precision==null&&(n.trim=!0),n=lp(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(yp(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function kp(){let e=Op(Uf()).domain([1,10]);return e.copy=()=>Hf(e,kp()).base(e.base()),xd.apply(e,arguments),e}function Ap(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function jp(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Mp(e){var t=1,n=e(Ap(t),jp(t));return n.constant=function(n){return arguments.length?e(Ap(t=+n),jp(t)):t},gp(n)}function Np(){var e=Mp(Uf());return e.copy=function(){return Hf(e,Np()).constant(e.constant())},xd.apply(e,arguments)}function Pp(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Fp(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Ip(e){return e<0?-e*e:e*e}function Lp(e){var t=e(Lf,Lf),n=1;function r(){return n===1?e(Lf,Lf):n===.5?e(Fp,Ip):e(Pp(n),Pp(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},gp(t)}function Rp(){var e=Lp(Uf());return e.copy=function(){return Hf(e,Rp()).exponent(e.exponent())},xd.apply(e,arguments),e}function zp(){return Rp.apply(null,arguments).exponent(.5)}function Bp(e){return Math.sign(e)*e*e}function Vp(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Hp(){var e=Wf(),t=[0,1],n=!1,r;function i(t){var i=Vp(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(Bp(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,Ff)).map(Bp)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return Hp(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},xd.apply(i,arguments),gp(i)}function Up(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Wp().domain([e,t]).range(i).unknown(a)},xd.apply(gp(o),arguments)}function Gp(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[$u(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Gp().domain(e).range(t).unknown(n)},xd.apply(i,arguments)}var Kp=new Date,qp=new Date;function J(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sJ(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Kp.setTime(+t),qp.setTime(+r),e(Kp),e(qp),Math.floor(n(Kp,qp))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Jp=J(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Jp.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?J(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Jp),Jp.range;var Yp=1e3,Xp=Yp*60,Zp=Xp*60,Qp=Zp*24,$p=Qp*7,em=Qp*30,tm=Qp*365,nm=J(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Yp)},(e,t)=>(t-e)/Yp,e=>e.getUTCSeconds());nm.range;var rm=J(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Yp)},(e,t)=>{e.setTime(+e+t*Xp)},(e,t)=>(t-e)/Xp,e=>e.getMinutes());rm.range;var im=J(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Xp)},(e,t)=>(t-e)/Xp,e=>e.getUTCMinutes());im.range;var am=J(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Yp-e.getMinutes()*Xp)},(e,t)=>{e.setTime(+e+t*Zp)},(e,t)=>(t-e)/Zp,e=>e.getHours());am.range;var om=J(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zp)},(e,t)=>(t-e)/Zp,e=>e.getUTCHours());om.range;var sm=J(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xp)/Qp,e=>e.getDate()-1);sm.range;var cm=J(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Qp,e=>e.getUTCDate()-1);cm.range;var lm=J(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Qp,e=>Math.floor(e/Qp));lm.range;function um(e){return J(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xp)/$p)}var dm=um(0),fm=um(1),pm=um(2),mm=um(3),hm=um(4),gm=um(5),_m=um(6);dm.range,fm.range,pm.range,mm.range,hm.range,gm.range,_m.range;function vm(e){return J(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/$p)}var ym=vm(0),bm=vm(1),xm=vm(2),Sm=vm(3),Cm=vm(4),wm=vm(5),Tm=vm(6);ym.range,bm.range,xm.range,Sm.range,Cm.range,wm.range,Tm.range;var Em=J(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Em.range;var Dm=J(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Dm.range;var Om=J(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Om.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:J(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Om.range;var km=J(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());km.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:J(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),km.range;function Am(e,t,n,r,i,a){let o=[[nm,1,Yp],[nm,5,5*Yp],[nm,15,15*Yp],[nm,30,30*Yp],[a,1,Xp],[a,5,5*Xp],[a,15,15*Xp],[a,30,30*Xp],[i,1,Zp],[i,3,3*Zp],[i,6,6*Zp],[i,12,12*Zp],[r,1,Qp],[r,2,2*Qp],[n,1,$p],[t,1,em],[t,3,3*em],[e,1,tm]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every(pd(t/tm,n/tm,r));if(a===0)return Jp.every(Math.max(pd(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=Im(Lm(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?bm.ceil(a):bm(a),a=cm.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Fm(Lm(r.y,0,1)),o=a.getDay(),a=o>4||o===0?fm.ceil(a):fm(a),a=sm.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?Im(Lm(r.y,0,1)).getUTCDay():Fm(Lm(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,Im(r)):Fm(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in zm?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function ee(e){return a[e.getDay()]}function te(e){return c[e.getMonth()]}function ne(e){return s[e.getMonth()]}function re(e){return i[+(e.getHours()>=12)]}function ie(e){return 1+~~(e.getMonth()/3)}function ae(e){return o[e.getUTCDay()]}function oe(e){return a[e.getUTCDay()]}function se(e){return c[e.getUTCMonth()]}function ce(e){return s[e.getUTCMonth()]}function le(e){return i[+(e.getUTCHours()>=12)]}function ue(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var zm={"-":``,_:` `,0:`0`},Y=/^\s*\d+/,Bm=/^%/,Vm=/[\\^$*+?|[\]().{}]/g;function X(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function Gm(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Km(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function qm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Jm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Ym(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Xm(e,t,n){var r=Y.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Zm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Qm(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function $m(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function eh(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function th(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function nh(e,t,n){var r=Y.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function rh(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function ih(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function ah(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function oh(e,t,n){var r=Y.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function sh(e,t,n){var r=Y.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ch(e,t,n){var r=Bm.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function lh(e,t,n){var r=Y.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function uh(e,t,n){var r=Y.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function dh(e,t){return X(e.getDate(),t,2)}function fh(e,t){return X(e.getHours(),t,2)}function ph(e,t){return X(e.getHours()%12||12,t,2)}function mh(e,t){return X(1+sm.count(Om(e),e),t,3)}function hh(e,t){return X(e.getMilliseconds(),t,3)}function gh(e,t){return hh(e,t)+`000`}function _h(e,t){return X(e.getMonth()+1,t,2)}function vh(e,t){return X(e.getMinutes(),t,2)}function yh(e,t){return X(e.getSeconds(),t,2)}function bh(e){var t=e.getDay();return t===0?7:t}function xh(e,t){return X(dm.count(Om(e)-1,e),t,2)}function Sh(e){var t=e.getDay();return t>=4||t===0?hm(e):hm.ceil(e)}function Ch(e,t){return e=Sh(e),X(hm.count(Om(e),e)+(Om(e).getDay()===4),t,2)}function wh(e){return e.getDay()}function Th(e,t){return X(fm.count(Om(e)-1,e),t,2)}function Eh(e,t){return X(e.getFullYear()%100,t,2)}function Dh(e,t){return e=Sh(e),X(e.getFullYear()%100,t,2)}function Oh(e,t){return X(e.getFullYear()%1e4,t,4)}function kh(e,t){var n=e.getDay();return e=n>=4||n===0?hm(e):hm.ceil(e),X(e.getFullYear()%1e4,t,4)}function Ah(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+X(t/60|0,`0`,2)+X(t%60,`0`,2)}function jh(e,t){return X(e.getUTCDate(),t,2)}function Mh(e,t){return X(e.getUTCHours(),t,2)}function Nh(e,t){return X(e.getUTCHours()%12||12,t,2)}function Ph(e,t){return X(1+cm.count(km(e),e),t,3)}function Fh(e,t){return X(e.getUTCMilliseconds(),t,3)}function Ih(e,t){return Fh(e,t)+`000`}function Lh(e,t){return X(e.getUTCMonth()+1,t,2)}function Rh(e,t){return X(e.getUTCMinutes(),t,2)}function zh(e,t){return X(e.getUTCSeconds(),t,2)}function Bh(e){var t=e.getUTCDay();return t===0?7:t}function Vh(e,t){return X(ym.count(km(e)-1,e),t,2)}function Hh(e){var t=e.getUTCDay();return t>=4||t===0?Cm(e):Cm.ceil(e)}function Uh(e,t){return e=Hh(e),X(Cm.count(km(e),e)+(km(e).getUTCDay()===4),t,2)}function Wh(e){return e.getUTCDay()}function Gh(e,t){return X(bm.count(km(e)-1,e),t,2)}function Kh(e,t){return X(e.getUTCFullYear()%100,t,2)}function qh(e,t){return e=Hh(e),X(e.getUTCFullYear()%100,t,2)}function Jh(e,t){return X(e.getUTCFullYear()%1e4,t,4)}function Yh(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Cm(e):Cm.ceil(e),X(e.getUTCFullYear()%1e4,t,4)}function Xh(){return`+0000`}function Zh(){return`%`}function Qh(e){return+e}function $h(e){return Math.floor(e/1e3)}var eg,tg,ng;rg({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function rg(e){return eg=Rm(e),tg=eg.format,eg.parse,ng=eg.utcFormat,eg.utcParse,eg}function ig(e){return new Date(e)}function ag(e){return e instanceof Date?+e:+new Date(+e)}function og(e,t,n,r,i,a,o,s,c,l){var u=Wf(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>vd(e,r/t))},n.copy=function(){return gg(t).domain(e)},Sd.apply(n,arguments)}function _g(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Lf,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*eTd,scaleDiverging:()=>vg,scaleDivergingLog:()=>yg,scaleDivergingPow:()=>xg,scaleDivergingSqrt:()=>Sg,scaleDivergingSymlog:()=>bg,scaleIdentity:()=>vp,scaleImplicit:()=>Cd,scaleLinear:()=>_p,scaleLog:()=>kp,scaleOrdinal:()=>wd,scalePoint:()=>Dd,scalePow:()=>Rp,scaleQuantile:()=>Up,scaleQuantize:()=>Wp,scaleRadial:()=>Hp,scaleSequential:()=>dg,scaleSequentialLog:()=>fg,scaleSequentialPow:()=>mg,scaleSequentialQuantile:()=>gg,scaleSequentialSqrt:()=>hg,scaleSequentialSymlog:()=>pg,scaleSqrt:()=>zp,scaleSymlog:()=>Np,scaleThreshold:()=>Gp,scaleTime:()=>sg,scaleUtc:()=>cg,tickFormat:()=>hp});function wg(e){var t=Cg;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${ye(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function Tg(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=wg(e);if(r!=null)return r.domain(t).range(n),r}}function Eg(e,t,n,r){if(n!=null&&r!=null)return typeof e.scale==`function`?Tg(e.scale,n,r):Tg(t,n,r)}function Dg(e){return`scale${ye(e)}`}function Og(e){return Dg(e)in Cg}var kg=(e,t,n)=>{if(e!=null){var r=e.scale,i=e.type;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return Og(r)?r:`point`}};function Ag(e,t){for(var n=0,r=e.length,i=e[0]t)?n=a+1:r=a}return n}function jg(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=Ag(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function Mg(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):jg(e,void 0)}function Ng(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Pg(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],qg=(e,t)=>Kg(e,t)??Gg,Z={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:Wg,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},Jg=(e,t)=>e.cartesianAxis.yAxis[t],Yg=(e,t)=>Jg(e,t)??Z,Xg={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},Zg=(e,t)=>e.cartesianAxis.zAxis[t]??Xg,Qg=(e,t,n)=>{switch(t){case`xAxis`:return qg(e,n);case`yAxis`:return Yg(e,n);case`zAxis`:return Zg(e,n);case`angleAxis`:return Du(e,n);case`radiusAxis`:return Ou(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},$g=(e,t,n)=>{switch(t){case`xAxis`:return qg(e,n);case`yAxis`:return Yg(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},e_=(e,t,n)=>{switch(t){case`xAxis`:return qg(e,n);case`yAxis`:return Yg(e,n);case`angleAxis`:return Du(e,n);case`radiusAxis`:return Ou(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},t_=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function n_(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var r_=e=>e.graphicalItems.cartesianItems,i_=z([K,Iu],n_),a_=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0||!e.hide),o_=z([r_,Qg,i_],a_,{memoizeOptions:{resultEqualityCheck:Vu}}),s_=z([o_],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(zu)),c_=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),l_=z([o_],c_),u_=e=>e.map(e=>e.data).filter(Boolean).flat(1),d_=z([o_],e=>e.some(e=>!e.data)),f_=z([o_],u_,{memoizeOptions:{resultEqualityCheck:Vu}}),p_=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:r.slice(i,a+1)},m_=z([f_,Ml],p_),h_=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:U(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:U(e,t.dataKey)})),g_=(e,t,n,r,i,a)=>{var o=r.chartData,s=o===void 0?[]:o,c=r.dataStartIndex,l=r.dataEndIndex,u=h_(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...s.slice(c,l+1).map(e=>({value:U(e,t.dataKey)})).filter(e=>e.value!=null),...u]:u},__=z([m_,Qg,o_,Ml,d_,f_],g_);function v_(e){if(fe(e)||e instanceof Date){var t=Number(e);if(H(t))return t}}function y_(e){if(Array.isArray(e)){var t=[v_(e[0]),v_(e[1])];return Hl(t)?t:void 0}var n=v_(e);if(n!=null)return[n,n]}function b_(e){return e.map(v_).filter(be)}function x_(e,t){var n=v_(e),r=v_(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var S_=z([__],e=>e?.map(e=>e.value).sort(x_));function C_(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function w_(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!ue(t))r=t;else if(Array.isArray(t)){var i=b_(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:b_(n.flatMap(t=>{var n=U(e,t.dataKey),i,a;if(Array.isArray(n)){var o=Rg(n,2);i=o[0],a=o[1]}else i=a=n;if(H(i)&&H(a))return[r-i,r+a]}))}var Q=e=>e_(e,q(e),Uu(e)),T_=z([Q],e=>e?.dataKey),E_=z([s_,Ml,Q],Ru),D_=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var i=Rg(t,2),a=i[0],o=i[1],s=r?[...o].reverse():o;return[a,{stackedData:po(e,s.map(Lu),n),graphicalItems:s}]}))},O_=z([E_,s_,cu,lu],D_),k_=(e,t,n,r)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(r==null&&n!==`zAxis`)return vo(e,i,a)},A_=z([Qg],e=>e.allowDataOverflow),j_=e=>{if(e==null||!(`domain`in e))return Wg;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=b_(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??Wg},M_=z([Qg],j_),N_=z([M_,A_],Wl),P_=z([O_,Al,K,N_],k_,{memoizeOptions:{resultEqualityCheck:Bu}}),F_=e=>e.errorBars,I_=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>C_(n,e)),L_=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},R_=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>C_(i,e));n.forEach(n=>{var r=U(n,t.dataKey??e.dataKey),i=w_(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||as)&&(s=l)}var u=y_(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=y_(U(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),H(o)&&H(s))return[o,s]},z_=z([m_,Qg,l_,F_,K,Pl],R_,{memoizeOptions:{resultEqualityCheck:Bu}});function B_(e){var t=e.value;if(fe(t)||t instanceof Date)return t}var V_=(e,t,n)=>{var r=e.map(B_).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&ge(r))?kl(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},H_=e=>e.referenceElements.dots,U_=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),W_=z([H_,K,Iu],U_),G_=e=>e.referenceElements.areas,K_=z([G_,K,Iu],U_),q_=e=>e.referenceElements.lines,J_=z([q_,K,Iu],U_),Y_=(e,t)=>{if(e!=null){var n=b_(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},X_=z(W_,K,Y_),Z_=(e,t)=>{if(e!=null){var n=b_(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Q_=z([K_,K],Z_);function $_(e){if(e.x!=null)return b_([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:b_(t)}function ev(e){if(e.y!=null)return b_([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:b_(t)}var tv=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?$_(e):ev(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},nv=z(X_,z([J_,K],tv),Q_,(e,t,n)=>L_(e,n,t)),rv=(e,t,n,r,i,a,o,s,c)=>{if(n!=null)return n;var l=o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?L_(r,a,i):L_(a,i),u=Gl(t,l,e.allowDataOverflow);return u==null&&e.allowDataOverflow&&l==null&&c!=null?c:u},iv=z([Qg,M_,N_,P_,z_,nv,W,K,z([Qg],e=>{if(e!=null&&e.type===`number`&&`ticks`in e&&e.ticks!=null){var t=b_(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},{memoizeOptions:{resultEqualityCheck:Bu}})],rv,{memoizeOptions:{resultEqualityCheck:Bu}}),av=[0,1],ov=(e,t,n,r,i,a,o)=>{if(e!=null&&n!=null&&n.length!==0||o!==void 0){var s=e.dataKey,c=e.type,l=co(t,a);return l&&s==null?kl(0,n?.length??0):c===`category`?V_(r,e,l):i===`expand`&&!l?av:o}},sv=z([Qg,W,m_,__,cu,K,iv],ov),cv=z([Qg,t_,uu],kg),lv=(e,t,n)=>{var r=t.niceTicks;if(r!==`none`){var i=j_(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&Hl(e)){if(a)return au(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return ou(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&Hl(e))return au(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&Hl(e))return ou(e,t.tickCount,t.allowDecimals,`adaptive`)}}},uv=z([sv,e_,cv],lv),dv=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&Hl(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},fv=z([Qg,sv,uv,K],dv),pv=z(z(__,Qg,(e,t)=>{if(t&&t.type===`number`){var n=1/0,r=Array.from(b_(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;si,(e,t,n,r,i)=>{if(!H(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=he(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),mv=(e,t,n)=>{var r=qg(e,t);return r==null||typeof r.padding!=`string`?0:pv(e,`xAxis`,t,n,r.padding)},hv=(e,t,n)=>{var r=Yg(e,t);return r==null||typeof r.padding!=`string`?0:pv(e,`yAxis`,t,n,r.padding)},gv=z(qg,mv,(e,t)=>{if(e==null)return{left:0,right:0};var n=e.padding;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),_v=z(Yg,hv,(e,t)=>{if(e==null)return{top:0,bottom:0};var n=e.padding;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),vv=z([Uo,gv,Yo,Jo,(e,t,n)=>n],(e,t,n,r,i)=>{var a=r.padding;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),yv=z([Uo,W,_v,Yo,Jo,(e,t,n)=>n],(e,t,n,r,i,a)=>{var o=i.padding;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),bv=(e,t,n,r)=>{switch(t){case`xAxis`:return vv(e,n,r);case`yAxis`:return yv(e,n,r);case`zAxis`:return Zg(e,n)?.range;case`angleAxis`:return Nu(e);case`radiusAxis`:return Pu(e,n);default:return}},xv=z([Qg,bv],vu),Sv=z([Qg,cv,z([cv,fv],Gu),xv],Eg),Cv=(e,t,n,r)=>{if(n!=null&&n.dataKey!=null){var i=n.type,a=n.scale;if(co(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},wv=z([W,__,e_,K],Cv),Tv=z([Sv],Wu);z([Sv],Mg),z([Sv,S_],jg),z([o_,F_,K],I_);function Ev(e,t){return e.idt.id)}var Dv=(e,t)=>t,Ov=(e,t,n)=>n,kv=z(Ao,Dv,Ov,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(Ev)),Av=z(jo,Dv,Ov,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(Ev)),jv=(e,t)=>{var n=typeof t.height==`number`?t.height:30;return{width:e.width,height:n}},Mv=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}),Nv=z(Uo,qg,jv),Pv=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},Fv=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},Iv=z(Do,Uo,kv,Dv,Ov,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=jv(t,n);o??=Pv(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),Lv=z(Eo,Uo,Av,Dv,Ov,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=Mv(t,n);o??=Fv(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a}),Rv=z([Uo,qg,(e,t)=>{var n=qg(e,t);if(n!=null)return Iv(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),zv=z([Uo,Yg,(e,t)=>{var n=Yg(e,t);if(n!=null)return Lv(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),Bv=z(Uo,Yg,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height})),Vv=(e,t,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,a=n.type,o=n.dataKey,s=co(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&ge(l))return c}},Hv=z([W,__,Qg,K],Vv),Uv=z([W,$g,cv,Tv,Hv,wv,bv,uv,K],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=co(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),Wv=z([W,e_,cv,Tv,uv,bv,Hv,wv,K],(e,t,n,r,i,a,o,s,c)=>{if(t!=null&&r!=null){var l=co(e,c),u=t.type,d=t.ticks,f=t.tickCount,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?le(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return H(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(be):l&&s?s.map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(be):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(be):r.domain().map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(be)}}),Gv=z([W,e_,Tv,bv,Hv,wv,K],(e,t,n,r,i,a,o)=>{if(t!=null&&n!=null&&r!=null&&r[0]!==r[1]){var s=co(e,o),c=t.tickCount,l=0;return l=o===`angleAxis`&&r?.length>=2?le(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(be):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(be):n.domain().map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(be)}}),Kv=z(Qg,Tv,(e,t)=>{if(e!=null&&t!=null)return Pg(Pg({},e),{},{scale:t})});z((e,t,n)=>Zg(e,n),z([z([Qg,cv,sv,xv],Eg)],Wu),(e,t)=>{if(e!=null&&t!=null)return Pg(Pg({},e),{},{scale:t})});var qv=z([W,Ao,jo],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});z([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(e&&e.length!==0)return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);ae.options.defaultTooltipEventType,Yv=e=>e.options.validateTooltipEventTypes;function Xv(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function Zv(e,t){return Xv(t,Jv(e),Yv(e))}function Qv(e){return R(t=>Zv(t,e))}var $v=(e,t)=>{var n,r=Number(t);if(!(ue(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},ey=e=>e.tooltip.settings,ty={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},ny=aa({name:`tooltip`,initialState:{itemInteraction:{click:ty,hover:ty},axisInteraction:{click:ty,hover:ty},keyboardInteraction:ty,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(B(t.payload))},prepare:V()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ji(e).tooltipItemPayloads.indexOf(B(r));a>-1&&(e.tooltipItemPayloads[a]=B(i))},prepare:V()},removeTooltipEntrySettings:{reducer(e,t){var n=ji(e).tooltipItemPayloads.indexOf(B(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:V()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),ry=ny.actions,iy=ry.addTooltipEntrySettings,ay=ry.replaceTooltipEntrySettings,oy=ry.removeTooltipEntrySettings,sy=ry.setTooltipSettingsState,cy=ry.setActiveMouseOverItemIndex;ry.mouseLeaveItem;var ly=ry.mouseLeaveChart;ry.setActiveClickItemIndex;var uy=ry.setMouseOverAxisIndex,dy=ry.setMouseClickAxisIndex,fy=ry.setSyncInteraction,py=ry.setKeyboardInteraction,my=ny.reducer;function hy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gy(e){for(var t=1;t{if(t==null)return ty;var i=by(e,t,n);if(i==null)return ty;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(xy(i)){if(a)return gy(gy({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return gy(gy({},ty),{},{coordinate:i.coordinate})};function Cy(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function wy(e,t){var n=Cy(e),r=t[0],i=t[1];return n!==void 0&&n>=Math.min(r,i)&&n<=Math.max(r,i)}function Ty(e,t,n){if(n==null||t==null)return!0;var r=U(e,t);return r==null||!Hl(n)||wy(r,n)}var Ey=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!H(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||Ty(l,n,r)?String(c):null},Dy=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},Oy=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},ky=e=>e.options.tooltipPayloadSearcher,Ay=e=>e.tooltip;function jy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function My(e){for(var t=1;te(t)}function zy(e){if(typeof e==`string`)return e}function By(e){if(typeof e==`object`&&e)return{name:`name`in e?Iy(e.name):void 0,unit:`unit`in e?Ly(e.unit):void 0,dataKey:`dataKey`in e?Ry(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?zy(e.color):void 0,fill:`fill`in e?zy(e.fill):void 0}}function Vy(e,t){return e??t}var Hy=(e,t,n,r,i,a,o)=>{if(t!=null&&a!=null){var s=n.chartData,c=n.computedData,l=n.dataStartIndex,u=n.dataEndIndex;return e.reduce((e,n)=>{var d=n.dataDefinedOnItem,f=n.settings,p=Vy(d,s),m=Array.isArray(p)?eo(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_;return r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?(_=ve(m,r,i),_??=a(m,t,c,g)):_=a(m,t,c,g),Array.isArray(_)?_.forEach(t=>{var n=By(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=My(My({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(So({tooltipEntrySettings:o,dataKey:i,payload:a,value:U(a,i),name:r==null?void 0:String(r)}))}):e.push(So({tooltipEntrySettings:f,dataKey:h,payload:_,value:U(_,h),name:U(_,g)??f?.name})),e},[])}},Uy=z([Q,t_,uu],kg),Wy=z([z([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),Q,z([q,Uu],n_)],a_,{memoizeOptions:{resultEqualityCheck:Vu}}),Gy=z([Wy],e=>e.filter(zu)),Ky=z([Wy],u_,{memoizeOptions:{resultEqualityCheck:Vu}}),qy=z([Wy],e=>e.some(e=>!e.data)),Jy=z([Ky,Al],p_),Yy=z([Gy,Al,Q],Ru),Xy=z([Jy,Q,Wy,Al,qy,Ky],g_),Zy=z([Q],j_),Qy=z([Zy,z([Q],e=>e.allowDataOverflow)],Wl),$y=z([z([Yy,z([Wy],e=>e.filter(zu)),cu,lu],D_),Al,q,Qy],k_),eb=z([Jy,Q,z([Wy],c_),F_,q,Fl],R_,{memoizeOptions:{resultEqualityCheck:Bu}}),tb=z([z([H_,q,Uu],U_),q],Y_),nb=z([z([G_,q,Uu],U_),q],Z_),rb=z([Q,W,Jy,Xy,cu,q,z([Q,Zy,Qy,$y,eb,z([tb,z([z([q_,q,Uu],U_),q],tv),nb],L_),W,q],rv)],ov),ib=z([Q,rb,z([rb,Q,Uy],lv),q],dv),ab=e=>bv(e,q(e),Uu(e),!1),ob=z([Q,ab],vu),sb=z([z([Q,Uy,ib,ob],Eg)],Wu),cb=z([W,Q,Uy,sb,ab,z([W,Xy,Q,q],Vv),z([W,Xy,Q,q],Cv),q],(e,t,n,r,i,a,o,s)=>{if(t){var c=t.type,l=co(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?le(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(be):r.domain().map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(be)}}}),lb=z([Jv,Yv,ey],(e,t,n)=>Xv(n.shared,e,t)),ub=e=>e.tooltip.settings.trigger,db=e=>e.tooltip.settings.defaultIndex,fb=z([Ay,lb,ub,db],Sy),pb=z([fb,Jy,T_,rb],Ey),mb=z([cb,pb],$v),hb=z([fb],e=>{if(e)return e.dataKey}),gb=z([fb],e=>{if(e)return e.graphicalItemId}),_b=z([Ay,lb,ub,db],Oy),vb=z([fb,z([Eo,Do,W,Uo,cb,db,_b],Dy)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),yb=z([fb],e=>e?.active??!1),bb=z([z([_b,pb,Al,T_,mb,ky,lb],Hy)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function xb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sb(e){for(var t=1;t{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},Db=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,o=r.radius;return Sb(Sb(Sb({},r),bl(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return Sb(Sb(Sb({},r),bl(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function Ob(e,t){var n=e.relativeX,r=e.relativeY;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var kb=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=i[1]-i[0],s=(t,n,r)=>[e,e+o,e-o].some(e=>(r?e>=t:e>t)&&e<=n),c=0;c0?n[c-1]?.coordinate:n[a-1]?.coordinate,u=n[c]?.coordinate,d=c>=a-1?n[0]?.coordinate:n[c+1]?.coordinate,f=void 0;if(l!=null&&u!=null&&d!=null){if(le(u-l)!==le(d-u)){var p=[];if(le(d-u)===le(i[1]-i[0])){f=d;var m=u+i[1]-i[0];p[0]=Math.min(m,(m+l)/2),p[1]=Math.max(m,(m+l)/2)}else{f=l;var h=d+i[1]-i[0];p[0]=Math.min(u,(h+u)/2),p[1]=Math.max(u,(h+u)/2)}var g=[Math.min(u,(f+u)/2),Math.max(u,(f+u)/2)];if(s(g[0],g[1],!1)||s(p[0],p[1],!0))return n[c]?.index}else{var _=Math.min(l,d),v=Math.max(l,d);if(s((_+u)/2,(v+u)/2,!1))return n[c]?.index}}}else if(t)for(var y=0;y(b.coordinate+S.coordinate)/2||y>0&&y(b.coordinate+S.coordinate)/2&&e<=(b.coordinate+x.coordinate)/2)return b.index}}return-1},Ab=()=>R(uu),jb=(e,t)=>t,Mb=(e,t,n)=>n,Nb=(e,t,n,r)=>r,Pb=z(cb,e=>Qn(e,e=>e.coordinate)),Fb=z([Ay,jb,Mb,Nb],Sy),Ib=z([Fb,Jy,T_,rb],Ey),Lb=(e,t,n)=>{if(t!=null){var r=Ay(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},Rb=z([Ay,jb,Mb,Nb],Oy),zb=z([Eo,Do,W,Uo,cb,Nb,Rb],Dy),Bb=z([Fb,zb],(e,t)=>e.coordinate??t),Vb=z([cb,Ib],$v),Hb=z([Rb,Ib,Al,T_,Vb,ky,jb],Hy),Ub=z([Fb,Ib],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),Wb=(e,t,n,r,i,a,o)=>{if(e&&n&&r&&i&&Ob(e,o)){var s=kb(wo(e,t),a,i,n,r),c=Eb(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},Gb=(e,t,n,r,i,a,o)=>{if(e&&r&&i&&a&&n){var s=El(e,n);if(s){var c=kb(To(s,t),o,a,r,i),l=Db(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},Kb=(e,t,n,r,i,a,o,s)=>{if(e&&t&&r&&i&&a)return t===`horizontal`||t===`vertical`?Wb(e,t,r,i,a,o,s):Gb(e,t,n,r,i,a,o)},qb=z(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),Jb=z(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(hu));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:Hu}});function Yb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Xb(e){for(var t=1;tXb(Xb({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},tx=new Set(Object.values(hu));function nx(e){return tx.has(e)}var rx=aa({name:`zIndex`,initialState:ex,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:V()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!nx(n)&&delete e.zIndexMap[n])},prepare:V()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,i=n.element,a=n.isPanorama;e.zIndexMap[r]?a?e.zIndexMap[r].panoramaElement=B(i):e.zIndexMap[r].element=B(i):e.zIndexMap[r]={consumers:0,element:a?void 0:B(i),panoramaElement:a?B(i):void 0}},prepare:V()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:V()}}}),ix=rx.actions,ax=ix.registerZIndexPortal,ox=ix.unregisterZIndexPortal,sx=ix.registerZIndexPortalElement,cx=ix.unregisterZIndexPortalElement,lx=rx.reducer;function ux(e){var t=e.zIndex,n=e.children,r=Ls()&&t!==void 0&&t!==0,i=qo(),a=(0,s.useRef)(void 0),o=(0,s.useRef)(new Set),c=L(),l=R(e=>qb(e,t,i));if((0,s.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{c(ox({zIndex:e}))}),e.clear(),a.current=void 0}else if(o.current.has(t)||(c(ax({zIndex:t})),o.current.add(t)),l){a.current=l;var n=o.current;n.forEach(e=>{e!==t&&(c(ox({zIndex:e})),n.delete(e))})}},[c,t,r,l]),(0,s.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{c(ox({zIndex:e}))}),e.clear()}},[c]),!r)return n;var u=l??a.current;return u?(0,_.createPortal)(n,u):null}var dx=(0,s.createContext)(null),fx=()=>(0,s.useContext)(dx),px=r(a(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!ue(n))return e[n]}},vx=aa({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),yx=vx.reducer,bx=vx.actions.createEventEmitter;function xx(e){return e.tooltip.syncInteraction}var Sx=aa({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){e.chartData=B(t.payload),t.payload==null?(e.dataStartIndex=0,e.dataEndIndex=0):t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var n=t.payload,r=n.startIndex,i=n.endIndex;r!=null&&(e.dataStartIndex=r),i!=null&&(e.dataEndIndex=i)}}}),Cx=Sx.actions,wx=Cx.setChartData,Tx=Cx.setDataStartEndIndexes;Cx.setComputedData;var Ex=Sx.reducer,Dx=[`x`,`y`];function Ox(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kx(e){for(var t=1;te.rootProps.className);(0,s.useEffect)(()=>{if(e==null)return xe;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1)n(fy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));else if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,f=d.x,p=d.y,m=Nx(d,Dx),h=c.payload.sourceViewBox,g=h.x,_=h.y,v=h.width,y=h.height,b=kx(kx({},m),{},{x:o.x+(v?(f-g)/v:0)*o.width,y:o.y+(y?(p-_)/y:0)*o.height});n(kx(kx({},c),{},{payload:kx(kx({},c.payload),{},{coordinate:b})}))}else n(c)}else if(i!=null){var x;typeof r==`function`?x=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(x=i.find(e=>String(e.value)===c.payload.label));var S=c.payload.coordinate;if(S==null||o==null)n(fy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));else if(x==null)n(fy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));else{var C=S.x,w=S.y,T=Math.min(C,o.x+o.width),E=Math.min(w,o.y+o.height),D={x:a===`horizontal`?x.coordinate:T,y:a===`horizontal`?E:x.coordinate};n(fy({active:c.payload.active,coordinate:D,dataKey:c.payload.dataKey,index:String(x.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}}};return mx.on(hx,s),()=>{mx.off(hx,s)}},[c,n,t,e,r,i,a,o])}function Ix(){var e=R(du),t=R(pu),n=L();(0,s.useEffect)(()=>{if(e==null)return xe;var r=(r,i,a)=>{t!==a&&e===r&&n(Tx(i))};return mx.on(gx,r),()=>{mx.off(gx,r)}},[n,t,e])}function Lx(){var e=L();(0,s.useEffect)(()=>{e(bx())},[e]),Fx(),Ix()}function Rx(e,t,n,r,i,a){var o=R(n=>Lb(n,e,t)),c=R(gb),l=R(pu),u=R(du),d=R(fu),f=R(xx)?.sourceViewBox!=null,p=ks();(0,s.useEffect)(()=>{if(!f&&u!=null&&l!=null){var e=fy({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:p,graphicalItemId:c});mx.emit(hx,u,e,l)}},[f,n,o,c,i,r,l,u,d,a,p])}function zx(e,t,n){return(t=Bx(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bx(e){var t=Vx(e,`string`);return typeof t==`symbol`?t:t+``}function Vx(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Hx=class{constructor(e){zx(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function Ux(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Wx(e){for(var t=1;t{try{var n=document.getElementById(Zx);n||(n=document.createElement(`span`),n.setAttribute(`id`,Zx),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,Xx,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},eS=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||lc.isSsr)return{width:0,height:0};if(!Jx.enableCache)return $x(e,t);var n=Qx(e,t),r=Yx.get(n);if(r)return r;var i=$x(e,t);return Yx.set(n,i),i},tS;function nS(e,t){return sS(e)||oS(e,t)||iS(e,t)||rS()}function rS(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iS(e,t){if(e){if(typeof e==`string`)return aS(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?aS(e,t):void 0}}function aS(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=e.breakAll,r=e.style;try{var i=[];return F(t)||(i=n?t.toString().split(``):t.toString().split(RS)),{wordsWithComputedWidth:i.map(e=>({word:e,width:eS(e,r).width})),spaceWidth:n?0:eS(`\xA0`,r).width}}catch{return null}};function BS(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function VS(e){return F(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var HS=(e,t,n,r)=>e.reduce((e,i)=>{var a=i.word,o=i.width,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+ne.reduce((e,t)=>e.width>t.width?e:t),WS=`…`,GS=(e,t,n,r,i,a,o,s)=>{var c=zS({breakAll:n,style:r,children:e.slice(0,t)+WS});if(!c)return[!1,[]];var l=HS(c.wordsWithComputedWidth,a,o,s);return[l.length>i||US(l).width>Number(a),l]},KS=(e,t,n,r,i)=>{var a=e.maxLines,o=e.children,s=e.style,c=e.breakAll,l=P(a),u=String(o),d=HS(t,r,n,i);if(!l||i||!(d.length>a||US(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),_=MS(GS(u,g-1,c,s,a,r,n,i),2),v=_[0],y=_[1],b=MS(GS(u,g,c,s,a,r,n,i),1)[0];if(!v&&!b&&(f=g+1),v&&b&&(p=g-1),!v&&b){h=y;break}m++}return h||d},qS=e=>[{words:F(e)?[]:e.toString().split(RS),width:void 0}],JS=e=>{var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!lc.isSsr){var s,c,l=zS({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return qS(r);return KS({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return qS(r)},YS=`#808080`,XS={angle:0,breakAll:!1,capHeight:`0.71em`,fill:YS,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},ZS=(0,s.forwardRef)((e,t)=>{var n=zt(e,XS),r=n.x,i=n.y,a=n.lineHeight,c=n.capHeight,l=n.fill,u=n.scaleToFit,d=n.textAnchor,f=n.verticalAnchor,p=AS(n,DS),m=(0,s.useMemo)(()=>JS({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:u,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,u,p.style,p.width]),g=p.dx,_=p.dy,v=p.angle,y=p.className,b=p.breakAll,x=AS(p,OS);if(!fe(r)||!fe(i)||m.length===0)return null;var S=Number(r)+(P(g)?g:0),C=Number(i)+(P(_)?_:0);if(!H(S)||!H(C))return null;var w;switch(f){case`start`:w=ES(`calc(${c})`);break;case`middle`:w=ES(`calc(${(m.length-1)/2} * -${a} + (${c} / 2))`);break;default:w=ES(`calc(${m.length-1} * -${a})`)}var T=[],E=m[0];if(u&&E!=null){var D=E.width,O=p.width;T.push(`scale(${P(O)&&P(D)?O/D:1})`)}return v&&T.push(`rotate(${v}, ${S}, ${C})`),T.length&&(x.transform=T.join(` `)),s.createElement(`text`,kS({},h(x),{ref:t,x:S,y:C,className:o(`recharts-text`,y),textAnchor:d,fill:l.includes(`url`)?YS:l}),m.map((e,t)=>{var n=e.words.join(b?``:` `);return s.createElement(`tspan`,{x:S,dy:t===0?w:a,key:`${n}-${t}`},n)}))});ZS.displayName=`Text`;var QS=[`labelRef`],$S=[`content`];function eC(e,t){if(e==null)return{};var n,r,i=tC(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,c=e.children,l=(0,s.useMemo)(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return s.createElement(cC.Provider,{value:l},c)},uC=()=>{var e=(0,s.useContext)(cC),t=ks();return e||(t?Se(t):void 0)},dC=(0,s.createContext)(null),fC=()=>{var e=(0,s.useContext)(dC),t=R(Fu);return e||t},pC=e=>{var t=e.value,n=e.formatter,r=F(e.children)?t:e.children;return typeof n==`function`?n(r):r},mC=e=>e!=null&&typeof e==`function`,hC=(e,t)=>le(t-e)*Math.min(Math.abs(t-e),360),gC=(e,t,n,r,i)=>{var a=e.offset,c=e.className,l=i.cx,u=i.cy,d=i.innerRadius,f=i.outerRadius,p=i.startAngle,m=i.endAngle,h=i.clockWise,g=(d+f)/2,_=hC(p,m),v=_>=0?1:-1,y,b;switch(t){case`insideStart`:y=p+v*a,b=h;break;case`insideEnd`:y=m-v*a,b=!h;break;case`end`:y=m+v*a,b=h;break;default:throw Error(`Unsupported position ${t}`)}b=_<=0?b:!b;var x=bl(l,u,g,y),S=bl(l,u,g,y+(b?1:-1)*359),C=`M${x.x},${x.y} + A${g},${g},0,1,${+!b}, + ${S.x},${S.y}`,w=F(e.id)?me(`recharts-radial-line-`):e.id;return s.createElement(`text`,sC({},r,{dominantBaseline:`central`,className:o(`recharts-radial-bar-label`,c)}),s.createElement(`defs`,null,s.createElement(`path`,{id:w,d:C})),s.createElement(`textPath`,{xlinkHref:`#${w}`},n))},_C=(e,t,n)=>{var r=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,s=(e.startAngle+e.endAngle)/2;if(n===`outside`){var c=bl(r,i,o+t,s),l=c.x;return{x:l,y:c.y,textAnchor:l>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var u=bl(r,i,(a+o)/2,s);return{x:u.x,y:u.y,textAnchor:`middle`,verticalAnchor:`middle`}},vC=e=>e!=null&&`cx`in e&&P(e.cx),yC={angle:0,offset:5,zIndex:hu.label,position:`middle`,textBreakAll:!1};function bC(e){if(!vC(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function xC(e){var t=zt(e,yC),n=t.viewBox,r=t.parentViewBox,i=t.position,a=t.value,c=t.children,l=t.content,u=t.className,d=u===void 0?``:u,f=t.textBreakAll,p=t.labelRef,m=fC(),g=uC(),_=n==null?i===`center`?g:m??g:vC(n)?n:Se(n),v,y,b=bC(_);if(!_||F(a)&&F(c)&&!(0,s.isValidElement)(l)&&typeof l!=`function`)return null;var x=vC(_)&&(i===`insideStart`||i===`insideEnd`||i===`end`);if(vC(_))x||(y=_C(_,t.offset,t.position));else if(b){var S=Oe({viewBox:b,position:i,offset:t.offset,parentViewBox:vC(r)?void 0:r,clamp:!0});y=rC(rC({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width===void 0?{}:{width:S.width}),S.height===void 0?{}:{height:S.height})}var C=rC(rC(rC(rC({},y?.x===void 0?{}:{x:y.x}),y?.y===void 0?{}:{y:y.y}),t),{},{viewBox:_});if((0,s.isValidElement)(l)){C.labelRef;var w=eC(C,QS);return(0,s.cloneElement)(l,w)}if(typeof l==`function`){C.content;var T=eC(C,$S);if(v=(0,s.createElement)(l,T),(0,s.isValidElement)(v))return v}else v=pC(t);var E=h(t);return x&&vC(_)?gC(t,i,v,E,_):y==null?null:s.createElement(ux,{zIndex:t.zIndex},s.createElement(ZS,sC({ref:p,className:o(`recharts-label`,d)},E,y,{textAnchor:BS(E.textAnchor)?E.textAnchor:y.textAnchor,breakAll:f}),v))}xC.displayName=`Label`;var SC=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?s.createElement(xC,sC({key:`label-implicit`},r)):fe(e)?s.createElement(xC,sC({key:`label-implicit`,value:e},r)):(0,s.isValidElement)(e)?e.type===xC?(0,s.cloneElement)(e,rC({key:`label-implicit`},r)):s.createElement(xC,sC({key:`label-implicit`,content:e},r)):mC(e)?s.createElement(xC,sC({key:`label-implicit`,content:e},r)):e&&typeof e==`object`?s.createElement(xC,sC({},e,{key:`label-implicit`},r)):null};function CC(e){var t=e.label,n=e.labelRef;return SC(t,uC(),n)||null}var wC=[`valueAccessor`],TC=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function EC(){return EC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(VS(t))return t},AC=(0,s.createContext)(void 0),jC=AC.Provider,MC=(0,s.createContext)(void 0);MC.Provider;function NC(){return(0,s.useContext)(AC)}function PC(){return(0,s.useContext)(MC)}function FC(e){var t=e.valueAccessor,n=t===void 0?kC:t,r=DC(e,wC),i=r.dataKey;r.clockWise;var a=r.id,o=r.textBreakAll,c=r.zIndex,l=DC(r,TC),u=NC(),d=PC(),f=u||d;return!f||!f.length?null:s.createElement(ux,{zIndex:c??hu.label},s.createElement(D,{className:`recharts-label-list`},f.map((e,t)=>{var c=F(i)?n(e,t):U(e.payload,i),u=F(a)?{}:{id:`${a}-${t}`};return s.createElement(xC,EC({key:`label-${t}`},h(e),l,u,{fill:r.fill??e.fill,parentViewBox:e.parentViewBox,value:c,textBreakAll:o,viewBox:e.viewBox,index:t,zIndex:0}))})))}FC.displayName=`LabelList`;function IC(e){var t=e.label;return t?t===!0?s.createElement(FC,{key:`labelList-implicit`}):s.isValidElement(t)||mC(t)?s.createElement(FC,{key:`labelList-implicit`,content:t}):typeof t==`object`?s.createElement(FC,EC({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}function LC(){return LC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,i=e.className,a=o(`recharts-dot`,i);return P(t)&&P(n)&&P(r)?s.createElement(`circle`,LC({},p(e),jt(e),{className:a,cx:t,cy:n,r})):null},zC=aa({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=B(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=B(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),BC=zC.actions;BC.addRadiusAxis,BC.removeRadiusAxis,BC.addAngleAxis,BC.removeAngleAxis;var VC=zC.reducer;function HC(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}var UC=e=>e&&typeof e==`object`&&`clipDot`in e?!!e.clipDot:!0;function WC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function GC(e){for(var t=1;t{r||(i.current===null?n(iy(t)):i.current!==t&&n(ay({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(oy(i.current)),null)},[n]),null}function nw(e){var t=e.legendPayload,n=L(),r=qo(),i=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{r||(i.current===null?n(Vs(t)):i.current!==t&&n(Hs({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(Us(i.current)),null)},[n]),null}function rw(e,t){return cw(e)||sw(e,t)||aw(e,t)||iw()}function iw(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aw(e,t){if(e){if(typeof e==`string`)return ow(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ow(e,t):void 0}}function ow(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:`removed`,prev:i});for(var a=0;ae[Math.floor(r*n)]),t)}function fw(e,t){return uw(t.map((t,n)=>e[n]),t)}function pw(e,t){for(var n=new Map,r=0;r{var a=n(e,t);if(a!=null){var o=r.get(a);if(o!==void 0)return i.add(a),o}}),o=[];for(var s of r){var c=rw(s,2),l=c[0],u=c[1];i.has(l)||o.push(u)}return uw(a,t,o)}function hw(e,t,n){return t==null?null:e==null?t.map(e=>({status:`added`,next:e})):n===`index`?dw(e,t):n===`append`?fw(e,t):mw(e,t,n)}function gw(e,t){var n=(0,s.useRef)(e),r=(0,s.useRef)(t.current),i=(0,s.useRef)(!0);n.current!==e&&(n.current=e,r.current=t.current,i.current=!1);var a=(0,s.useCallback)(function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;n===0?i.current=!0:(n===1&&(r.current=e),n>0&&i.current&&a&&(t.current=e))},[t]);return{startValue:r.current,syncStepValue:a}}function _w(e,t){return Sw(e)||xw(e,t)||yw(e,t)||vw()}function vw(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yw(e,t){if(e){if(typeof e==`string`)return bw(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bw(e,t):void 0}}function bw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e==`function`&&e(),i(!0)},[e]),handleAnimationEnd:(0,s.useCallback)(()=>{typeof t==`function`&&t(),i(!1)},[t])}}function ww(e){var t=e.animationInput,n=e.animationIdPrefix,r=e.items,i=e.previousItemsRef,a=e.isAnimationActive,o=e.animationBegin,c=e.animationDuration,l=e.animationEasing,u=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,h=e.children,g=e.layout,_=fl(t,n),v=gw(_,i),y=v.startValue??null,b=hw(y,r,p??lw);return s.createElement(dl,{animationId:_,begin:o,duration:c,isActive:a,easing:l,onAnimationEnd:d,onAnimationStart:u,key:_},e=>{var t=y==null,n=r==null?r:f(b,e,g),i=m?m(e):e>0;return v.syncStepValue(n,e,i),n==null?null:h(n,e,t)})}function Tw(e,t){return Aw(e)||kw(e,t)||Dw(e,t)||Ew()}function Ew(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dw(e,t){if(e){if(typeof e==`string`)return Ow(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ow(e,t):void 0}}function Ow(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nTw(s.useState(()=>me(`uid-`)),1)[0]);function Mw(e,t){var n=jw();return t||(e?`${e}-${n}`:n)}var Nw=(0,s.createContext)(void 0),Pw=e=>{var t=e.id,n=e.type,r=e.children,i=Mw(`recharts-${n}`,t);return s.createElement(Nw.Provider,{value:i},r(i))},Fw=aa({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(B(t.payload))},prepare:V()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ji(e).cartesianItems.indexOf(B(r));a>-1&&(e.cartesianItems[a]=B(i))},prepare:V()},removeCartesianGraphicalItem:{reducer(e,t){var n=ji(e).cartesianItems.indexOf(B(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:V()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(B(t.payload))},prepare:V()},removePolarGraphicalItem:{reducer(e,t){var n=ji(e).polarItems.indexOf(B(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:V()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ji(e).polarItems.indexOf(B(r));a>-1&&(e.polarItems[a]=B(i))},prepare:V()}}}),Iw=Fw.actions,Lw=Iw.addCartesianGraphicalItem,Rw=Iw.replaceCartesianGraphicalItem,zw=Iw.removeCartesianGraphicalItem;Iw.addPolarGraphicalItem,Iw.removePolarGraphicalItem,Iw.replacePolarGraphicalItem;var Bw=Fw.reducer,Vw=(0,s.memo)(e=>{var t=L(),n=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{n.current===null?t(Lw(e)):n.current!==e&&t(Rw({prev:n.current,next:e})),n.current=e},[t,e]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(zw(n.current)),null)},[t]),null}),Hw=[`points`];function Uw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ww(e){for(var t=1;t{var c=Ww(Ww(Ww({r:3},o),p),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return s.createElement(Zw,{key:`dot-${r}`,option:n,dotProps:c,className:i})}),h={};return c&&l!=null&&(h.clipPath=`url(#clipPath-${f?``:`dots-`}${l})`),s.createElement(ux,{zIndex:d},s.createElement(D,Jw({className:r},h),m))}function eT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tT(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Eo,Do],(e,t,n)=>{if(e&&t!=null&&n!=null)return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),_T=()=>R(gT),vT=()=>R(bb);function yT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bT(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var c=bT(bT(bT({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),m(i)),jt(i)),l=(0,s.isValidElement)(i)?(0,s.cloneElement)(i,c):typeof i==`function`?i(c):s.createElement(RC,c);return s.createElement(D,{className:`recharts-active-dot`,clipPath:o},l)};function TT(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,c=o===void 0?hu.activeDot:o,l=R(pb),u=vT();if(t==null||u==null)return null;var d=t.find(e=>u.includes(e.payload));return F(d)?null:s.createElement(ux,{zIndex:c},s.createElement(wT,{point:d,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var ET=e=>{var t=e.chartData,n=L(),r=qo();return(0,s.useEffect)(()=>r?()=>{}:(n(wx(t)),()=>{n(wx(void 0))}),[t,n,r]),null},DT={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},OT=aa({name:`brush`,initialState:DT,reducers:{setBrushSettings(e,t){return t.payload==null?DT:t.payload}}});OT.actions.setBrushSettings;var kT=OT.reducer,AT=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}};function jT(e){return(e%180+180)%180}var MT=function(e){var t=e.width,n=e.height,r=jT(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=ji(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=ji(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(B(t.payload))},removeLine:(e,t)=>{var n=ji(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),PT=NT.actions;PT.addDot,PT.removeDot;var FT=PT.addArea,IT=PT.removeArea;PT.addLine,PT.removeLine;var LT=NT.reducer;function RT(e,t){return UT(e)||HT(e,t)||BT(e,t)||zT()}function zT(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function BT(e,t){if(e){if(typeof e==`string`)return VT(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?VT(e,t):void 0}}function VT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=RT((0,s.useState)(`${me(`recharts`)}-clip`),1)[0],r=_T();if(r==null)return null;var i=r.x,a=r.y,o=r.width,c=r.height;return s.createElement(WT.Provider,{value:n},s.createElement(`defs`,null,s.createElement(`clipPath`,{id:n},s.createElement(`rect`,{x:i,y:a,height:c,width:o}))),t)},KT=()=>(0,s.useContext)(WT);function qT(){}function JT(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:Object.prototype.toString.call(e)===`[object Object]`}function YT(e,t,n){return XT(e,t,void 0,void 0,void 0,void 0,n)}function XT(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return ZT(e,t,a,o)}return ZT(e,t,a,o)}function ZT(e,t,n,r){if(Object.is(e,t))return!0;let i=Ht(e),a=Ht(t);if(i===`[object Arguments]`&&(i=tn),a===`[object Arguments]`&&(a=tn),i!==a)return!1;switch(i){case Wt:return e.toString()===t.toString();case Gt:return gn(e.valueOf(),t.valueOf());case Kt:case Yt:case Jt:return Object.is(e.valueOf(),t.valueOf());case Ut:return e.source===t.source&&e.flags===t.flags;case $t:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case Xt:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!XT(a,t.get(i),i,e,t,n,r))return!1;return!0;case Zt:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;oXT(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case Qt:case an:case on:case sn:case cn:case ln:case un:case dn:case fn:case pn:case mn:case hn:if(bn(e)!==bn(t)||e.length!==t.length)return!1;for(let i=0;ie*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function rE(e,t){return $T(e,t+1)}function iE(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:$T(r,l)};var a=c,d,f=()=>(d===void 0&&(d=n(t,a)),d),p=t.coordinate,m=c===0||nE(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function aE(e,t,n,r,i){var a=(r||[]).slice().length;if(a===0)return[];for(var o=t.start,s=t.end,c=1;c<=a;c++){for(var l=(a-1)%c,u=o,d=!0,f=function(){var t=r[m];if(t==null)return 0;var a=m,o,c=()=>(o===void 0&&(o=n(t,a)),o),f=t.coordinate,p=m===l||nE(e,f,c,u,s);if(!p)return d=!1,1;p&&(u=f+e*(c()/2+i))},p,m=l;m(u===void 0&&(u=n(r,t)),u);if(t===o-1){var f=e*(l.coordinate+e*d()/2-c);a[t]=l=sE(sE({},l),{},{tickCoord:f>0?l.coordinate-f*e:l.coordinate})}else a[t]=l=sE(sE({},l),{},{tickCoord:l.coordinate});l.tickCoord!=null&&nE(e,l.tickCoord,d,s,c)&&(c=l.tickCoord-e*(d()/2+i),a[t]=sE(sE({},l),{},{isShow:!0}))},u=o-1;u>=0;u--)if(l(u))continue;return a}function fE(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1];if(u!=null){var d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=sE(sE({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),u.tickCoord!=null&&nE(e,u.tickCoord,()=>d,c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=sE(sE({},u),{},{isShow:!0}))}}for(var p=a?s-1:s,m=function(t){var r=o[t];if(r==null)return 1;var a=r,s,u=()=>(s===void 0&&(s=n(r,t)),s);if(t===0){var d=e*(a.coordinate-e*u()/2-c);o[t]=a=sE(sE({},a),{},{tickCoord:d<0?a.coordinate-d*e:a.coordinate})}else o[t]=a=sE(sE({},a),{},{tickCoord:a.coordinate});a.tickCoord!=null&&nE(e,a.tickCoord,u,c,l)&&(c=a.tickCoord+e*(u()/2+i),o[t]=sE(sE({},a),{},{isShow:!0}))},h=0;h{var i=typeof l==`function`?l(e.value,r):e.value;return p===`width`?eE(eS(i,{fontSize:t,letterSpacing:n}),m,d):eS(i,{fontSize:t,letterSpacing:n})[p]},g=i[0],_=i[1],v=i.length>=2&&g!=null&&_!=null?le(_.coordinate-g.coordinate):1,y=tE(a,v,p);return c===`equidistantPreserveStart`?iE(v,y,h,i,o):c===`equidistantPreserveEnd`?aE(v,y,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?fE(v,y,h,i,o,c===`preserveStartEnd`):dE(v,y,h,i,o),f.filter(e=>e.isShow))}var mE=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var u=n?n.getBoundingClientRect().width:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},hE=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.height>l&&(l=t.height)}});var u=n?n.getBoundingClientRect().height:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},gE=aa({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId,a=n.ticks;e[r][i]=B(a)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId;delete e[r][i]}}}),_E=gE.actions,vE=_E.setRenderedTicks,yE=_E.removeRenderedTicks,bE=gE.reducer,xE=[`axisLine`,`width`,`height`,`className`,`hide`,`ticks`,`axisType`,`axisId`];function SE(e,t){return DE(e)||EE(e,t)||wE(e,t)||CE()}function CE(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wE(e,t){if(e){if(typeof e==`string`)return TE(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?TE(e,t):void 0}}function TE(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&QT(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(vE({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,s.useEffect)(()=>r==null||n==null?xe:()=>{i(yE({axisId:r,axisType:n}))},[i,r,n]),null}var HE=(0,s.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,c=e.stroke,l=e.tickFormatter,u=e.unit,d=e.padding,f=e.tickTextProps,h=e.orientation,g=e.mirror,_=e.x,v=e.y,y=e.width,b=e.height,x=e.tickSize,S=e.tickMargin,C=e.fontSize,w=e.letterSpacing,T=e.getTicksConfig,E=e.events,O=e.axisType,k=e.axisId,A=pE($($({},T),{},{ticks:r}),C,w),j=p(T),M=m(i),N=BS(j.textAnchor)?j.textAnchor:RE(h,g),ee=zE(h,g),te={};typeof a==`object`&&(te=a);var ne=$($({},j),{},{fill:`none`},te),re=A.map(e=>$({entry:e},LE(e,_,v,y,b,h,x,g,S))),ae=re.map(e=>{var t=e.entry,n=e.line;return s.createElement(D,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&s.createElement(`line`,AE({},ne,n,{className:o(`recharts-cartesian-axis-tick-line`,ie(a,`className`))})))}),oe=re.map((e,t)=>{var n=e.entry,r=e.tick,a=$($({},$($($($({verticalAnchor:ee},j),{},{textAnchor:N,stroke:`none`,fill:c},r),{},{index:t,payload:n,visibleTicksCount:A.length,tickFormatter:l,padding:d},f),{},{angle:f?.angle??j.angle??0})),M);return s.createElement(D,AE({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},Nt(E,n,t)),i&&s.createElement(BE,{option:i,tickProps:a,value:`${typeof l==`function`?l(n.value,t):n.value}${u||``}`}))});return s.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${O}-ticks`},s.createElement(VE,{ticks:A,axisId:k,axisType:O}),oe.length>0&&s.createElement(ux,{zIndex:hu.label},s.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${O}-tick-labels`,ref:t},oe)),ae.length>0&&s.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${O}-tick-lines`},ae))}),UE=(0,s.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,c=e.hide,l=e.ticks,u=e.axisType,d=e.axisId,f=OE(e,xE),m=SE((0,s.useState)(``),2),h=m[0],g=m[1],_=SE((0,s.useState)(``),2),v=_[0],y=_[1],b=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>mE({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>hE({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var x=(0,s.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);b.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==h||a!==v)&&(g(i),y(a))}}},[h,v]);return c||r!=null&&r<=0||i!=null&&i<=0?null:s.createElement(ux,{zIndex:e.zIndex},s.createElement(D,{className:o(`recharts-cartesian-axis`,a)},s.createElement(IE,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:p(e)}),s.createElement(HE,{ref:x,axisType:u,events:f,fontSize:h,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),s.createElement(lC,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},s.createElement(CC,{label:e.label,labelRef:e.labelRef}),e.children)))}),WE=s.forwardRef((e,t)=>{var n=zt(e,FE);return s.createElement(UE,AE({},n,{ref:t}))});WE.displayName=`CartesianAxis`;var GE=aa({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),KE=GE.actions;KE.addErrorBar,KE.replaceErrorBar,KE.removeErrorBar;var qE=GE.reducer;function JE(e,t){var n=R(t=>qg(t,e)),r=R(e=>Yg(e,t)),i=n?.allowDataOverflow??Gg.allowDataOverflow,a=r?.allowDataOverflow??Z.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function YE(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=_T(),a=JE(t,n),o=a.needClipX,c=a.needClipY,l=a.needClip,u=R(e=>vv(e,t,!1)),d=R(e=>yv(e,n,!1));if(!l||!i)return null;var f=i.x,p=i.y,m=i.width,h=i.height,g=o&&u?Math.min(u[0],u[1]):f-m/2,_=c&&d?Math.min(d[0],d[1]):p-h/2,v=o&&u?Math.abs(u[1]-u[0]):m*2,y=c&&d?Math.abs(d[1]-d[0]):h*2;return s.createElement(`clipPath`,{id:`clipPath-${r}`},s.createElement(`rect`,{x:g,y:_,width:v,height:y}))}function XE(e){var t=m(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}function ZE(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function QE(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var $E=(e,t,n)=>Kv(e,`xAxis`,ZE(e,t),n),eD=(e,t,n)=>Gv(e,`xAxis`,ZE(e,t),n),tD=(e,t,n)=>Kv(e,`yAxis`,QE(e,t),n),nD=(e,t,n)=>Gv(e,`yAxis`,QE(e,t),n),rD=z([W,$E,tD,eD,nD],(e,t,n,r,i)=>co(e,`xAxis`)?xo(t,r,!1):xo(n,i,!1)),iD=z([r_,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`area`).find(e=>e.id===t)),aD=e=>co(W(e),`xAxis`)?`yAxis`:`xAxis`,oD=(e,t)=>aD(e)===`yAxis`?QE(e,t):ZE(e,t),sD=(e,t,n)=>O_(e,aD(e),oD(e,t),n),cD=z([W,$E,tD,eD,nD,z([iD,sD],(e,t)=>{if(e!=null&&t!=null){var n=e.stackId,r=Lu(e);if(n!=null&&r!=null){var i=(t[n]?.stackedData)?.find(e=>e.key===r);if(i!=null)return i.map(e=>[e[0],e[1]])}}}),Nl,rD,iD,mu,z([iD,sD],(e,t)=>{if(e!=null&&e.stackId!=null&&t!=null){var n=t[e.stackId];if(n!=null)return n.graphicalItems.map(e=>e.dataKey).filter(be)}})],(e,t,n,r,i,a,o,s,c,l,u)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(c==null||e!==`horizontal`&&e!==`vertical`||t==null||n==null||r==null||i==null||r.length===0||i.length===0||s==null)){var m=c.data,h=m&&m.length>0?m:d?.slice(f,p+1);if(h!=null)return VD({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:a,displayedData:h,chartBaseValue:l,bandSize:s,stackDataKeys:u})}}),lD=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`layout`,`isRange`,`stroke`,`connectNulls`],uD=[`id`,`baseLine`];function dD(){return dD=Object.assign?Object.assign.bind():function(e){for(var t=1;te.y||0));return P(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.y||0),l)),P(l)?s.createElement(`rect`,{x:ae.x||0));return P(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.x||0),l)),P(l)?s.createElement(`rect`,{x:0,y:ae==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>e.status===`matched`?[wD(wD({},e.next),{},{x:_e(e.prev.x,e.next.x,t),y:_e(e.prev.y,e.next.y,t)})]:e.status===`added`?[e.next]:[]),connectNulls:!1,dot:!1,fill:`#3182bd`,fillOpacity:.6,hide:!1,isAnimationActive:`auto`,legendType:`line`,stroke:`#3182bd`,strokeWidth:1,type:`linear`,label:!1,shape:_D,xAxisId:0,yAxisId:0,zIndex:hu.area};function kD(e,t){return e&&e!==`none`?e:t}var AD=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.fill,a=e.legendType;return[{inactive:e.hide,dataKey:t,type:a,color:kD(r,i),value:Co(n,t),payload:e}]},jD=s.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,c=e.hide,l=e.unit,u=e.formatter,d=e.tooltipType,f=e.id,p={dataDefinedOnItem:n,getPosition:xe,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:Co(o,t),hide:c,type:d,color:kD(r,a),unit:l,formatter:u,graphicalItemId:f}};return s.createElement(tw,{tooltipEntrySettings:p})});function MD(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.needClip,a=r.dot,o=r.dataKey,c=p(r);return s.createElement($w,{points:n,dot:a,className:`recharts-area-dots`,dotClassName:`recharts-area-dot`,dataKey:o,baseProps:c,needClip:i,clipPathId:t})}function ND(e){var t=e.showLabels,n=e.children,r=e.points.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return wD(wD({},t),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:t,fill:void 0})});return s.createElement(jC,{value:t?r:void 0},n)}function PD(e){var t=e.points,n=e.baseLine,r=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,c=e.isAnimating,l=e.isEntrance,u=a.layout,d=a.type,f=a.stroke,p=a.connectNulls,m=a.isRange,g=a.shape,_=a.id,v=xD(a,vD),y=wD(wD({},h(v)),{},{id:_,points:t,connectNulls:p,type:d,baseLine:n,layout:u,stroke:f,isRange:m,animationElapsedTime:o,isAnimating:c,isEntrance:l});return s.createElement(s.Fragment,null,t?.length>1&&s.createElement(D,{clipPath:r?`url(#clipPath-${i})`:void 0},s.createElement(ew,{option:g,DefaultShape:OD.shape,shapeProps:y})),s.createElement(MD,{points:t,props:v,clipPathId:i}))}function FD(e,t,n){return P(e)?_e(P(t)?t:void 0,e,n):F(e)||ue(e)?_e(P(t)?t:void 0,0,n):e}function ID(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=r.points,c=r.baseLine,l=r.isAnimationActive,u=r.animationBegin,d=r.animationDuration,f=r.animationEasing,p=r.animationMatchBy,m=r.animationInterpolateFn,h=(0,s.useMemo)(()=>({points:o,baseLine:c}),[o,c]),g=gw(h,a),_=Fs(),v=Cw(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(_==null)return null;var C=Array.isArray(c)&&Array.isArray(S)?hw(S,c,p):Array.isArray(c)?hw(null,c,p):null;return s.createElement(ww,{animationInput:h,animationIdPrefix:`recharts-area-`,items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:u,animationDuration:d,animationEasing:f,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:m,animationMatchBy:p,layout:_},(e,i,a)=>{var l=i===1?c:Array.isArray(c)?m(C,i,_):a?c:FD(c,S,i);return g.syncStepValue(l,i),s.createElement(ND,{showLabels:!y,points:o},r.children,s.createElement(PD,{points:e,baseLine:l,needClip:t,clipPathId:n,props:r,animationElapsedTime:i,isAnimating:y||i<1,isEntrance:a}),s.createElement(IC,{label:r.label}))})}function LD(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=(0,s.useRef)(null),a=(0,s.useRef)();return s.createElement(ID,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}var RD=class extends s.PureComponent{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.top,c=e.left,l=e.needClip,u=e.xAxisId,d=e.yAxisId,f=e.width,p=e.height,m=e.id,h=e.baseLine,g=e.zIndex;if(t)return null;var _=o(`recharts-area`,i),v=m,y=XE(n),b=y.r,x=y.strokeWidth,S=UC(n),C=b*2+x,w=l?`url(#clipPath-${S?``:`dots-`}${v})`:void 0;return s.createElement(ux,{zIndex:g},s.createElement(D,{className:_},l&&s.createElement(`defs`,null,s.createElement(YE,{clipPathId:v,xAxisId:u,yAxisId:d}),!S&&s.createElement(`clipPath`,{id:`clipPath-dots-${v}`},s.createElement(`rect`,{x:c-C/2,y:a-C/2,width:f+C,height:p+C}))),s.createElement(LD,{needClip:l,clipPathId:v,props:this.props})),s.createElement(TT,{points:r,mainColor:kD(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(h)&&s.createElement(TT,{points:h,mainColor:kD(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}};function zD(e){var t=e.activeDot,n=e.animationBegin,r=e.animationDuration,i=e.animationEasing,a=e.connectNulls,o=e.dot,c=e.fill,l=e.fillOpacity,u=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,h=e.yAxisId,g=xD(e,yD),_=Ps(),v=Ab(),y=JE(m,h).needClip,b=qo(),x=R(t=>cD(t,e.id,b))??{},S=x.points,C=x.isRange,w=x.baseLine,T=_T();if(_!==`horizontal`&&_!==`vertical`||T==null||v!==`AreaChart`&&v!==`ComposedChart`)return null;var E=T.height,D=T.width,O=T.x,k=T.y;return!S||!S.length?null:s.createElement(RD,bD({},g,{activeDot:t,animationBegin:n,animationDuration:r,animationEasing:i,baseLine:w,connectNulls:a,dot:o,fill:c,fillOpacity:l,height:E,hide:u,layout:_,isAnimationActive:d,isRange:C,legendType:f,needClip:y,points:S,stroke:p,width:D,left:O,top:k,xAxisId:m,yAxisId:h}))}var BD=(e,t,n,r,i)=>{var a=n??t;if(P(a))return a;var o=e===`horizontal`?i:r,s=o.scale.domain();if(o.type===`number`){var c=Math.max(s[0],s[1]),l=Math.min(s[0],s[1]);return a===`dataMin`?l:a===`dataMax`||c<0?c:Math.max(Math.min(s[0],s[1]),0)}return a===`dataMin`?s[0]:a===`dataMax`?s[1]:s[0]};function VD(e){var t=e.areaSettings,n=t.connectNulls,r=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,s=e.chartBaseValue,c=e.xAxis,l=e.yAxis,u=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,h=e.stackDataKeys,g=a&&a.length,_=BD(o,s,r,c,l),v=o===`horizontal`,y=!1,b=u.map((e,t)=>{var r;if(g)r=a[d+t];else{var o=U(e,i);Array.isArray(o)?(r=o,y=!0):r=[_,o]}var s=r?.[1]??null,u=U(e,i),b=g&&u==null&&h!=null&&h.length>0&&h.every(t=>U(e,t)==null),x=s==null||g&&!n&&u==null||b;return v?{x:ho({axis:c,ticks:f,bandSize:m,entry:e,index:t}),y:x?null:l.scale.map(s)??null,value:r,payload:e}:{x:x?null:c.scale.map(s)??null,y:ho({axis:l,ticks:p,bandSize:m,entry:e,index:t}),value:r,payload:e}});return{points:b,baseLine:(g||y?b.map(e=>{var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:t!=null&&e.y!=null?l.scale.map(t)??null:null,payload:e.payload}:{x:t==null?null:c.scale.map(t)??null,y:e.y,payload:e.payload}}):v?l.scale.map(_):c.scale.map(_))??0,isRange:y}}function HD(e){var t=zt(e,OD),n=qo();return s.createElement(Pw,{id:t.id,type:`area`},e=>s.createElement(s.Fragment,null,s.createElement(nw,{legendPayload:AD(t)}),s.createElement(jD,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),s.createElement(Vw,{type:`area`,id:e,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:mo(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),s.createElement(zD,bD({},t,{id:e}))))}var UD=s.memo(HD,cc);UD.displayName=`Area`;var WD=[`domain`,`range`],GD=[`domain`,`range`];function KD(e,t){if(e==null)return{};var n,r,i=qD(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(o!=null)return tO(tO({},a),{},{type:o})},[o,a]);return(0,s.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(uT(c)):n.current!==c&&t(dT({prev:n.current,next:c})),n.current=c)},[c,t]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(fT(n.current)),null)},[t]),null}function cO(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,s.useRef)(null),c=(0,s.useRef)(null),l=R(Go),u=qo(),d=L(),f=`yAxis`,p=R(e=>Bv(e,t)),m=R(e=>zv(e,t)),h=R(e=>Wv(e,f,t,u)),g=R(e=>Jg(e,t));if((0,s.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||mC(i)||(0,s.isValidElement)(i)||g==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(p.width)!==Math.round(n)&&d(pT({id:t,width:n}))}}},[h,p,d,i,t,r,g]),p==null||m==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=aO(e,ZD);g.id,g.scale;var v=aO(g,QD);return s.createElement(WE,$D({},_,v,{ref:a,labelRef:c,x:m.x,y:m.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:p.width,height:p.height,className:o(`recharts-${f} ${f}`,n),viewBox:l,ticks:h,axisType:f,axisId:t}))}var lO={allowDataOverflow:Z.allowDataOverflow,allowDecimals:Z.allowDecimals,allowDuplicatedCategory:Z.allowDuplicatedCategory,angle:Z.angle,axisLine:FE.axisLine,hide:!1,includeHidden:Z.includeHidden,interval:Z.interval,label:!1,minTickGap:Z.minTickGap,mirror:Z.mirror,orientation:Z.orientation,padding:Z.padding,reversed:Z.reversed,scale:Z.scale,tick:Z.tick,tickCount:Z.tickCount,tickLine:FE.tickLine,tickSize:FE.tickSize,type:Z.type,niceTicks:Z.niceTicks,width:Z.width,yAxisId:0},uO=s.memo(e=>{var t=zt(e,lO);return s.createElement(s.Fragment,null,s.createElement(sO,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),s.createElement(cO,t))},YD);uO.displayName=`YAxis`;var dO=z([(e,t)=>t,W,Fu,q,ob,cb,Pb,Uo],Kb);function fO(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function pO(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(fO(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var mO=Ri(`mouseClick`),hO=Ga();hO.startListening({actionCreator:mO,effect:(e,t)=>{var n=e.payload,r=dO(t.getState(),pO(n));r?.activeIndex!=null&&t.dispatch(dy({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var gO=Ri(`mouseMove`),_O=Ga(),vO=null,yO=null,bO=null;_O.startListening({actionCreator:gO,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);vO!==null&&(cancelAnimationFrame(vO),vO=null),yO===null||typeof i==`number`&&o||(clearTimeout(yO),yO=null),bO=pO(n);var s=()=>{var e=t.getState(),n=Zv(e,e.tooltip.settings.shared);if(!bO)vO=null,yO=null;else{if(n===`axis`){var r=dO(e,bO);r?.activeIndex==null?t.dispatch(ly()):t.dispatch(uy({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}vO=null,yO=null}};o?i===`raf`?vO=requestAnimationFrame(s):typeof i==`number`&&yO===null&&(yO=setTimeout(s,i)):s()}});function xO(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<>`:t}var SO={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},CO=aa({name:`rootProps`,initialState:SO,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??SO.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),wO=CO.reducer,TO=CO.actions.updateOptions,EO=aa({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});EO.actions.updatePolarOptions;var DO=EO.reducer,OO=Ri(`keyDown`),kO=Ri(`focus`),AO=Ri(`blur`),jO=Ga(),MO=null,NO=null,PO=null;jO.startListening({actionCreator:OO,effect:(e,t)=>{PO=e.payload,MO!==null&&(cancelAnimationFrame(MO),MO=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);NO===null||typeof r==`number`&&a||(clearTimeout(NO),NO=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=PO;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=Ey(n,Jy(e),T_(e),rb(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=cb(e),c=Jy(e),l=Zv(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=zb(e,l,`hover`,String(n.index));t.dispatch(py({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=qv(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=T_(e),h=rb(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v=0;y--)if(Ey(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=zb(e,l,`hover`,String(p));t.dispatch(py({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{MO=null,NO=null}};a?r===`raf`?MO=requestAnimationFrame(o):typeof r==`number`&&NO===null&&(o(),PO=null,NO=setTimeout(()=>{PO?o():(NO=null,MO=null)},r)):o()}}),jO.startListening({actionCreator:kO,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=zb(n,Zv(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(py({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),jO.startListening({actionCreator:AO,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(py({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function FO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var IO=Ri(`externalEvent`),LO=Ga(),RO=new Map,zO=new Map,BO=new Map;LO.startListening({actionCreator:IO,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=FO(i);BO.set(a,{handler:r,reactEvent:o});var s=RO.get(a);s!==void 0&&(cancelAnimationFrame(s),RO.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=zO.get(a);f===void 0||typeof l==`number`&&d||(clearTimeout(f),zO.delete(a));var p=()=>{var e=BO.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:vb(i),activeDataKey:hb(i),activeIndex:pb(i),activeLabel:mb(i),activeTooltipIndex:pb(i),isTooltipActive:yb(i)};n&&n(o,r)}finally{RO.delete(a),zO.delete(a),BO.delete(a)}};if(!d)p();else if(l===`raf`){var m=requestAnimationFrame(p);RO.set(a,m)}else if(typeof l==`number`){if(!zO.has(a)){p();var h=setTimeout(p,l);zO.set(a,h)}}else p()}}});var VO=z([z([Ay],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),HO=Ri(`touchMove`),UO=Ga(),WO=null,GO=null,KO=null,qO=null;UO.startListening({actionCreator:HO,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){qO=FO(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);WO!==null&&(cancelAnimationFrame(WO),WO=null),GO===null||typeof i==`number`&&o||(clearTimeout(GO),GO=null),KO=Array.from(n.touches).map(e=>pO({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(qO!=null){var e=t.getState(),n=Zv(e,e.tooltip.settings.shared);if(n===`axis`){var r=KO?.[0];if(r==null){WO=null,GO=null;return}var i=dO(e,r);i?.activeIndex!=null&&t.dispatch(uy({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=qO.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(Mo),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=Wy(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=VO(e,s,c);t.dispatch(cy({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}WO=null,GO=null}};o?i===`raf`?WO=requestAnimationFrame(s):typeof i==`number`&&GO===null&&(s(),qO=null,GO=setTimeout(()=>{qO?s():(GO=null,WO=null)},i)):s()}}});var JO={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},YO=aa({name:`eventSettings`,initialState:JO,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=B(t.payload.throttledEvents))}}}),XO=YO.actions.setEventSettings,ZO=YO.reducer,QO=cr({brush:kT,cartesianAxis:hT,chartData:Ex,errorBars:qE,eventSettings:ZO,graphicalItems:Bw,layout:$a,legend:Ws,options:yx,polarAxis:VC,polarOptions:DO,referenceElements:LT,renderedTicks:bE,rootProps:wO,tooltip:my,zIndex:lx}),$O=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return Yi({reducer:QO,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([hO.middleware,_O.middleware,jO.middleware,LO.middleware,UO.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(qi({type:`raf`}))},devTools:lc.devToolsEnabled&&{serialize:{replacer:xO},name:`recharts-${t}`}})};function ek(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=qo(),a=(0,s.useRef)(null);if(i)return n;a.current??=$O(t,r);var o=Tn;return s.createElement(ac,{context:o,store:a.current},n)}function tk(e){var t=e.layout,n=e.margin,r=L(),i=qo();return(0,s.useEffect)(()=>{i||(r(Xa(t)),r(Ya(n)))},[r,i,t,n]),null}var nk=(0,s.memo)(tk,cc);function rk(e){var t=L();return(0,s.useEffect)(()=>{t(TO(e))},[t,e]),null}var ik=(0,s.memo)(e=>{var t=L();return(0,s.useEffect)(()=>{t(XO(e))},[t,e]),null},cc);function ak(e){var t=e.zIndex,n=e.isPanorama,r=(0,s.useRef)(null),i=L();return(0,s.useLayoutEffect)(()=>(r.current&&i(sx({zIndex:t,element:r.current,isPanorama:n})),()=>{i(cx({zIndex:t,isPanorama:n}))}),[i,t,n]),s.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function ok(e){var t=e.children,n=e.isPanorama,r=R(Jb);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return s.createElement(s.Fragment,null,i.map(e=>s.createElement(ak,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>s.createElement(ak,{key:e,zIndex:e,isPanorama:n})))}var sk=[`children`];function ck(e,t){if(e==null)return{};var n,r,i=lk(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=Ms(),r=Ns(),i=_c();if(!to(n)||!to(r))return null;var a=e.children,o=e.otherAttributes,c=e.title,l=e.desc,u,d;return o!=null&&(u=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,d=typeof o.role==`string`?o.role:i?`application`:void 0),s.createElement(S,uk({},o,{title:c,desc:l,role:d,tabIndex:u,width:n,height:r,style:dk,ref:t}),a)}),pk=e=>{var t=e.children,n=R(Yo);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return s.createElement(S,{width:r,height:i,x:o,y:a},t)},mk=(0,s.forwardRef)((e,t)=>{var n=e.children,r=ck(e,sk);return qo()?s.createElement(pk,null,s.createElement(ok,{isPanorama:!0},n)):s.createElement(fk,uk({ref:t},r),s.createElement(ok,{isPanorama:!1},n))});function hk(e,t){return bk(e)||yk(e,t)||_k(e,t)||gk()}function gk(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _k(e,t){if(e){if(typeof e==`string`)return vk(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vk(e,t):void 0}}function vk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;H(t)&&t!==i&&e(Qa(t))}},[n,e,i]),r}function Sk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ck(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(Lx(),null);function Fk(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Ik=(0,s.forwardRef)((e,t)=>{var n=(0,s.useRef)(null),r=Ok((0,s.useState)({containerWidth:Fk(e.style?.width),containerHeight:Fk(e.style?.height)}),2),i=r[0],a=r[1],o=(0,s.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,s.useEffect)(()=>()=>{n.current?.disconnect()},[o]),s.createElement(s.Fragment,null,s.createElement(Rs,{width:i.containerWidth,height:i.containerHeight}),s.createElement(`div`,Dk({ref:c},e)))}),Lk=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=Ok((0,s.useState)({containerWidth:Fk(n),containerHeight:Fk(r)}),2),a=i[0],o=i[1],c=(0,s.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),l=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;c(r,i)}},[t,c]);return s.createElement(s.Fragment,null,s.createElement(Rs,{width:a.containerWidth,height:a.containerHeight}),s.createElement(`div`,Dk({ref:l},e)))}),Rk=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return s.createElement(s.Fragment,null,s.createElement(Rs,{width:n,height:r}),s.createElement(`div`,Dk({ref:t},e)))}),zk=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?s.createElement(Lk,Dk({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?s.createElement(Rk,Dk({},e,{width:n,height:r,ref:t})):s.createElement(s.Fragment,null,s.createElement(Rs,{width:n,height:r}),s.createElement(`div`,Dk({ref:t},e)))});function Bk(e){return e?Ik:zk}var Vk=(0,s.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,c=e.onContextMenu,l=e.onDoubleClick,u=e.onMouseDown,d=e.onMouseEnter,f=e.onMouseLeave,p=e.onMouseMove,m=e.onMouseUp,h=e.onTouchEnd,g=e.onTouchMove,_=e.onTouchStart,v=e.style,y=e.width,b=e.responsive,x=e.dispatchTouchEvents,S=x===void 0||x,C=(0,s.useRef)(null),w=L(),T=Ok((0,s.useState)(null),2),E=T[0],D=T[1],O=Ok((0,s.useState)(null),2),k=O[0],A=O[1],j=xk(),M=Es(),N=M?.width>0?M.width:y,ee=M?.height>0?M.height:i,te=(0,s.useCallback)(e=>{j(e),typeof t==`function`&&t(e),D(e),A(e),e!=null&&(C.current=e)},[j,t,D,A]),ne=(0,s.useCallback)(e=>{w(mO(e)),w(IO({handler:a,reactEvent:e}))},[w,a]),re=(0,s.useCallback)(e=>{w(gO(e)),w(IO({handler:d,reactEvent:e}))},[w,d]),ie=(0,s.useCallback)(e=>{w(ly()),w(IO({handler:f,reactEvent:e}))},[w,f]),ae=(0,s.useCallback)(e=>{w(gO(e)),w(IO({handler:p,reactEvent:e}))},[w,p]),oe=(0,s.useCallback)(()=>{w(kO())},[w]),se=(0,s.useCallback)(()=>{w(AO())},[w]),ce=(0,s.useCallback)(e=>{w(OO(e.key))},[w]),le=(0,s.useCallback)(e=>{w(IO({handler:c,reactEvent:e}))},[w,c]),ue=(0,s.useCallback)(e=>{w(IO({handler:l,reactEvent:e}))},[w,l]),de=(0,s.useCallback)(e=>{w(IO({handler:u,reactEvent:e}))},[w,u]),P=(0,s.useCallback)(e=>{w(IO({handler:m,reactEvent:e}))},[w,m]),fe=(0,s.useCallback)(e=>{w(IO({handler:_,reactEvent:e}))},[w,_]),pe=(0,s.useCallback)(e=>{S&&w(HO(e)),w(IO({handler:g,reactEvent:e}))},[w,S,g]),me=(0,s.useCallback)(e=>{w(IO({handler:h,reactEvent:e}))},[w,h]),he=Bk(b);return s.createElement(dx.Provider,{value:E},s.createElement(je.Provider,{value:k},s.createElement(he,{width:N??v?.width,height:ee??v?.height,className:o(`recharts-wrapper`,r),style:Ck({position:`relative`,cursor:`default`,width:N,height:ee},v),onClick:ne,onContextMenu:le,onDoubleClick:ue,onFocus:oe,onBlur:se,onKeyDown:ce,onMouseDown:de,onMouseEnter:re,onMouseLeave:ie,onMouseMove:ae,onMouseUp:P,onTouchEnd:me,onTouchMove:pe,onTouchStart:fe,ref:te},s.createElement(Pk,null),n)))}),Hk=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Uk(e,t){if(e==null)return{};var n,r,i=Wk(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,c=e.style,l=e.compact,u=e.title,d=e.desc,f=p(Uk(e,Hk));return l?s.createElement(s.Fragment,null,s.createElement(Rs,{width:n,height:r}),s.createElement(mk,{otherAttributes:f,title:u,desc:d},a)):s.createElement(Vk,{className:o,style:c,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},s.createElement(mk,{otherAttributes:f,title:u,desc:d,ref:t},s.createElement(GT,null,a)))});function Kk(){return Kk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,i=e.height,a=e.viewBox,c=e.className,l=e.style,u=e.title,d=e.desc,f=b(e,v),p=a||{width:r,height:i,x:0,y:0},m=o(`recharts-surface`,c);return s.createElement(`svg`,y({},h(f),{className:m,width:r,height:i,style:l,viewBox:`${p.x} ${p.y} ${p.width} ${p.height}`,ref:t}),s.createElement(`title`,null,u),s.createElement(`desc`,null,d),n)}),C=[`children`,`className`];function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,i=T(e,C),a=o(`recharts-layer`,r);return s.createElement(`g`,w({className:a},h(i),{ref:t}),n)});function O(e){return e===`__proto__`}var k=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function A(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:k.test(e);default:return!1}}function j(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function M(e){return typeof e==`symbol`||e instanceof Symbol}function N(e){return e==null?``:ee(e)}function ee(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(ee).join(`,`);if(M(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function te(e){if(Array.isArray(e))return e.map(j);if(typeof e==`symbol`)return[e];e=N(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r1&&arguments[1]!==void 0?arguments[1]:ie),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function oe(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+ae(i)+n},``)}var se=e=>e===0?0:e>0?1:-1,ce=e=>typeof e==`number`&&e!=+e,le=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,P=e=>(typeof e==`number`||e instanceof Number)&&!ce(e),ue=e=>P(e)||typeof e==`string`,de=0,fe=e=>{var t=++de;return`${e||``}${t}`},pe=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!P(e)&&typeof e!=`string`)return n;var i;if(le(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return ce(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},me=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;re&&(typeof t==`function`?t(e):ne(e,t))===n)}var _e=e=>e==null,ve=e=>_e(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function ye(e){return e!=null}function be(){}function xe(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ce(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=xe(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?Ce({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?Ce({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?Ce({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?Ce({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?Ce({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?Ce({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?Ce({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?Ce({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(P(n.x)||le(n.x))&&(P(n.y)||le(n.y))?Ce({x:c+pe(n.x,g),y:l+pe(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):Ce({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},Oe=[`top`,`left`,`right`,`bottom`];function ke(e){return e==null?!1:typeof e==`object`||Oe.includes(e)}var Ae=(0,s.createContext)(null);function F(e){return function(){return e}}var je=Math.PI,Me=2*je,Ne=1e-6,Pe=Me-Ne;function Fe(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return Fe;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tNe){if(!(Math.abs(u*s-c*l)>Ne)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((je-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Ne&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Ne||Math.abs(this._y1-l)>Ne)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Me+Me),d>Pe?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Ne&&this._append`A${n},${n},0,${+(d>=je)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Le.prototype;function Re(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Le(t)}Array.prototype.slice;function ze(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Be(e){this._context=e}Be.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function Ve(e){return new Be(e)}function He(e){return e[0]}function Ue(e){return e[1]}function We(e,t){var n=F(!0),r=null,i=Ve,a=null,o=Re(s);e=typeof e==`function`?e:e===void 0?He:F(e),t=typeof t==`function`?t:t===void 0?Ue:F(t);function s(s){var c,l=(s=ze(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return We().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:F(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:F(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:F(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:F(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:F(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:F(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:F(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Ke=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function qe(e){return new Ke(e,!0)}function Je(e){return new Ke(e,!1)}function Ye(){}function Xe(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Ze(e){this._context=e}Ze.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Xe(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Xe(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Qe(e){return new Ze(e)}function $e(e){this._context=e}$e.prototype={areaStart:Ye,areaEnd:Ye,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Xe(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function et(e){return new $e(e)}function tt(e){this._context=e}tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Xe(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function nt(e){return new tt(e)}function rt(e){this._context=e}rt.prototype={areaStart:Ye,areaEnd:Ye,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function it(e){return new rt(e)}function at(e){return e<0?-1:1}function ot(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(at(a)+at(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function st(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ct(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function lt(e){this._context=e}lt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ct(this,this._t0,st(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ct(this,st(this,n=ot(this,e,t)),n);break;default:ct(this,this._t0,n=ot(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function ut(e){this._context=new dt(e)}(ut.prototype=Object.create(lt.prototype)).point=function(e,t){lt.prototype.point.call(this,t,e)};function dt(e){this._context=e}dt.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function ft(e){return new lt(e)}function pt(e){return new ut(e)}function mt(e){this._context=e}mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=ht(e),i=ht(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function vt(e){return new _t(e,.5)}function yt(e){return new _t(e,0)}function bt(e){return new _t(e,1)}function xt(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function Ct(e,t){return e[t]}function wt(e){let t=[];return t.key=e,t}function Tt(){var e=F([]),t=St,n=xt,r=Ct;function i(i){var a=Array.from(e.apply(this,arguments),wt),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r`radius`in e&&`startAngle`in e&&`endAngle`in e,At=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,s.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{l(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},jt=(e,t,n)=>r=>(e(t,n,r),null),Mt=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];l(i)&&typeof a==`function`&&(r||={},r[i]=jt(a,t,n))}),r};function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Pt(e){for(var t=1;t(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function zt(e){return Number.isSafeInteger(e)&&e>=0}function Bt(e){return e!=null&&typeof e!=`function`&&zt(e.length)}function Vt(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function Ht(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var Ut=`[object RegExp]`,Wt=`[object String]`,Gt=`[object Number]`,Kt=`[object Boolean]`,qt=`[object Arguments]`,Jt=`[object Symbol]`,Yt=`[object Date]`,Xt=`[object Map]`,Zt=`[object Set]`,Qt=`[object Array]`,$t=`[object Function]`,en=`[object ArrayBuffer]`,tn=`[object Object]`,nn=`[object Error]`,rn=`[object DataView]`,an=`[object Uint8Array]`,on=`[object Uint8ClampedArray]`,sn=`[object Uint16Array]`,cn=`[object Uint32Array]`,ln=`[object BigUint64Array]`,un=`[object Int8Array]`,dn=`[object Int16Array]`,fn=`[object Int32Array]`,pn=`[object BigInt64Array]`,mn=`[object Float32Array]`,hn=`[object Float64Array]`,gn=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function _n(e){return gn.Buffer!==void 0&&gn.Buffer.isBuffer(e)}function vn(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function yn(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}var bn=/^(?:0|[1-9]\d*)$/;function xn(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{var r=n(),i=e();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),Cn=a(((e,t)=>{t.exports=Sn()}))(),wn=(0,s.createContext)(null),Tn=e=>e,I=()=>{var e=(0,s.useContext)(wn);return e?e.store.dispatch:Tn},En=()=>{},Dn=()=>En,On=(e,t)=>e===t;function L(e){var t=(0,s.useContext)(wn),n=(0,s.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:En,[t,e]);return(0,Cn.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:Dn,t?t.store.getState:En,t?t.store.getState:En,n,On)}function kn(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function An(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var jn=e=>Array.isArray(e)?e:[e];function Mn(e){let t=Array.isArray(e[0])?e[0]:e;return An(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Nn(e,t){let n=[],{length:r}=e;for(let i=0;i`u`?Pn:WeakRef,In=0,Ln=1;function Rn(){return{s:In,v:void 0,o:null,p:null}}function zn(e){return e instanceof Fn?e.deref():e}function Bn(e,t={}){let n=Rn(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=Rn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function Vn(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),kn(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=Bn,argsMemoizeOptions:u=[]}={...n,...a},d=jn(c),f=jn(u),p=Mn(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=Nn(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var R=Vn(Bn);function Hn(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a{if(e!==t){let r=Wn(e),i=Wn(t);if(r===i&&r===0){if(et)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},Kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qn=/^\w*$/;function Jn(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||M(e)?!0:typeof e==`string`&&(qn.test(e)||!Kn.test(e))||t!=null&&Object.hasOwn(t,e)}function Yn(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=Bt(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||Jn(e)?e:{key:e,path:te(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;re.original)}function Xn(e,...t){let n=t.length;return n>1&&Un(e,t[0],t[1])?t=[]:n>2&&Un(t[0],t[1],t[2])&&(t=[t[0]]),Yn(e,Hn(t),[`asc`])}var Zn=e=>e.legend.settings,Qn=e=>e.legend.size;R([e=>e.legend.payload,Zn],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Xn(r,n):r});function z(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var $n=typeof Symbol==`function`&&Symbol.observable||`@@observable`,er=()=>Math.random().toString(36).substring(7).split(``).join(`.`),tr={INIT:`@@redux/INIT${er()}`,REPLACE:`@@redux/REPLACE${er()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${er()}`};function nr(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function rr(e,t,n){if(typeof e!=`function`)throw Error(z(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(z(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(z(1));return n(rr)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(z(3));return i}function d(e){if(typeof e!=`function`)throw Error(z(4));if(c)throw Error(z(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(z(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!nr(e))throw Error(z(7));if(e.type===void 0)throw Error(z(8));if(typeof e.type!=`string`)throw Error(z(17));if(c)throw Error(z(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(z(10));r=e,f({type:tr.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(z(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[$n](){return this}}}return f({type:tr.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[$n]:m}}function ir(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:tr.INIT})===void 0)throw Error(z(12));if(n(void 0,{type:tr.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(z(13))})}function ar(e){let t=Object.keys(e),n={};for(let r=0;re:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function sr(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(z(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=or(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function cr(e){return nr(e)&&`type`in e&&typeof e.type==`string`}var lr=Symbol.for(`immer-nothing`),ur=Symbol.for(`immer-draftable`),dr=Symbol.for(`immer-state`);function fr(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var pr=Object,mr=pr.getPrototypeOf,hr=`constructor`,gr=`prototype`,_r=`configurable`,vr=`enumerable`,yr=`writable`,br=`value`,xr=e=>!!e&&!!e[dr];function Sr(e){return e?Tr(e)||Mr(e)||!!e[ur]||!!e[hr]?.[ur]||Nr(e)||Pr(e):!1}var Cr=pr[gr][hr].toString(),wr=new WeakMap;function Tr(e){if(!e||!Fr(e))return!1;let t=mr(e);if(t===null||t===pr[gr])return!0;let n=pr.hasOwnProperty.call(t,hr)&&t[hr];if(n===Object)return!0;if(!Ir(n))return!1;let r=wr.get(n);return r===void 0&&(r=Function.toString.call(n),wr.set(n,r)),r===Cr}function Er(e,t,n=!0){Dr(e)===0?(n?Reflect.ownKeys(e):pr.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Dr(e){let t=e[dr];return t?t.type_:Mr(e)?1:Nr(e)?2:Pr(e)?3:0}var Or=(e,t,n=Dr(e))=>n===2?e.has(t):pr[gr].hasOwnProperty.call(e,t),kr=(e,t,n=Dr(e))=>n===2?e.get(t):e[t],Ar=(e,t,n,r=Dr(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function jr(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Mr=Array.isArray,Nr=e=>e instanceof Map,Pr=e=>e instanceof Set,Fr=e=>typeof e==`object`,Ir=e=>typeof e==`function`,Lr=e=>typeof e==`boolean`;function Rr(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var zr=e=>e.copy_||e.base_,Br=e=>e.modified_?e.copy_:e.base_;function Vr(e,t){if(Nr(e))return new Map(e);if(Pr(e))return new Set(e);if(Mr(e))return Array[gr].slice.call(e);let n=Tr(e);if(t===!0||t===`class_only`&&!n){let t=pr.getOwnPropertyDescriptors(e);delete t[dr];let n=Reflect.ownKeys(t);for(let r=0;r1&&pr.defineProperties(e,{set:Wr,add:Wr,clear:Wr,delete:Wr}),pr.freeze(e),t&&Er(e,(e,t)=>{Hr(t,!0)},!1),e)}function Ur(){fr(2)}var Wr={[br]:Ur};function Gr(e){return e===null||!Fr(e)||pr.isFrozen(e)}var Kr=`MapSet`,qr=`Patches`,Jr=`ArrayMethods`,Yr={};function Xr(e){let t=Yr[e];return t||fr(0,e),t}var Zr=e=>!!Yr[e],Qr,$r=()=>Qr,ei=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Zr(Kr)?Xr(Kr):void 0,arrayMethodsPlugin_:Zr(Jr)?Xr(Jr):void 0});function ti(e,t){t&&(e.patchPlugin_=Xr(qr),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ni(e){ri(e),e.drafts_.forEach(ai),e.drafts_=null}function ri(e){e===Qr&&(Qr=e.parent_)}var ii=e=>Qr=ei(Qr,e);function ai(e){let t=e[dr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function oi(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[dr].modified_&&(ni(t),fr(4)),Sr(e)&&(e=si(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[dr].base_,e,t)}else e=si(t,n);return ci(t,e,!0),ni(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===lr?void 0:e}function si(e,t){if(Gr(t))return t;let n=t[dr];if(!n)return gi(t,e.handledSet_,e);if(!ui(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);mi(n,e)}return n.copy_}function ci(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Hr(t,n)}function li(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ui=(e,t)=>e.scope_===t,di=[];function fi(e,t,n,r){let i=zr(e),a=e.type_;if(r!==void 0&&kr(i,r,a)===t){Ar(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Er(i,(e,n)=>{if(xr(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??di;for(let e of o)Ar(i,e,n,a)}function pi(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!ui(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Br(i);fi(e,i.draft_??i,a,n),mi(i,r)})}function mi(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}li(e)}}function hi(e,t,n){let{scope_:r}=e;if(xr(n)){let i=n[dr];ui(i,r)&&i.callbacks_.push(function(){Ti(e),fi(e,n,Br(i),t)})}else Sr(n)&&e.callbacks_.push(function(){let i=zr(e);e.type_===3?i.has(n)&&gi(n,r.handledSet_,r):kr(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&gi(kr(e.copy_,t,e.type_),r.handledSet_,r)})}function gi(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||xr(e)||t.has(e)||!Sr(e)||Gr(e)?e:(t.add(e),Er(e,(r,i)=>{if(xr(i)){let t=i[dr];ui(t,n)&&(Ar(e,r,Br(t),e.type_),li(t))}else Sr(i)&&gi(i,t,n)}),e)}function _i(e,t){let n=Mr(e),r={type_:+!!n,scope_:t?t.scope_:$r(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=vi;n&&(i=[r],a=yi);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var vi={get(e,t){if(t===dr)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=zr(e);if(!Or(i,t,e.type_))return Si(e,i,t);let a=i[t];if(e.finalized_||!Sr(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Rr(t))return a;if(a===bi(e.base_,t)||xi(e,t,a)){Ti(e);let n=e.type_===1?+t:t,r=Di(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in zr(e)},ownKeys(e){return Reflect.ownKeys(zr(e))},set(e,t,n){let r=Ci(zr(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=bi(zr(e),t),i=r?.[dr];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(jr(n,r)&&(n!==void 0||Or(e.base_,t,e.type_)))return!0;Ti(e),wi(e)}return e.copy_[t]===n&&(n!==void 0||Or(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),hi(e,t,n),!0)},deleteProperty(e,t){return Ti(e),bi(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),wi(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=zr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[yr]:!0,[_r]:e.type_!==1||t!==`length`,[vr]:r[vr],[br]:n[t]}},defineProperty(){fr(11)},getPrototypeOf(e){return mr(e.base_)},setPrototypeOf(){fr(12)}},yi={};for(let e in vi){let t=vi[e];yi[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}yi.deleteProperty=function(e,t){return yi.set.call(this,e,t,void 0)},yi.set=function(e,t,n){return vi.set.call(this,e[0],t,n,e[0])};function bi(e,t){let n=e[dr];return(n?zr(n):e)[t]}function xi(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!Sr(n)||n[dr]?!1:e.baseRefs_.has(n)}function Si(e,t,n){let r=Ci(t,n);return r?br in r?r[br]:r.get?.call(e.draft_):void 0}function Ci(e,t){if(!(t in e))return;let n=mr(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=mr(n)}}function wi(e){e.modified_||(e.modified_=!0,e.parent_&&wi(e.parent_))}function Ti(e){e.copy_||=(e.assigned_=new Map,Vr(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Ei=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Ir(e)&&!Ir(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Ir(t)||fr(6),n!==void 0&&!Ir(n)&&fr(7);let r;if(Sr(e)){let i=ii(this),a=Di(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?ni(i):ri(i)}return ti(i,n),oi(r,i)}if(!e||!Fr(e)){if(r=t(e),r===void 0&&(r=e),r===lr&&(r=void 0),this.autoFreeze_&&Hr(r,!0),n){let t=[],i=[];Xr(qr).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}fr(1,e)},this.produceWithPatches=(e,t)=>{if(Ir(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Lr(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Lr(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Lr(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Sr(e)||fr(8),xr(e)&&(e=Oi(e));let t=ii(this),n=Di(t,e,void 0);return n[dr].isManual_=!0,ri(t),n}finishDraft(e,t){let n=e&&e[dr];(!n||!n.isManual_)&&fr(9);let{scope_:r}=n;return ti(r,t),oi(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Xr(qr).applyPatches_;return xr(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Di(e,t,n,r){let[i,a]=Nr(t)?Xr(Kr).proxyMap_(t,n):Pr(t)?Xr(Kr).proxySet_(t,n):_i(t,n);return(n?.scope_??$r()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?pi(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Oi(e){return xr(e)||fr(10,e),ki(e)}function ki(e){if(!Sr(e)||Gr(e))return e;let t=e[dr],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Vr(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Vr(e,!0);return Er(n,(e,t)=>{Ar(n,e,ki(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var Ai=new Ei().produce,B=e=>e;function ji(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var Mi=ji(),Ni=ji,Pi=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?or:or.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function Fi(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(Ua(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>cr(t)&&t.type===e,n}var Ii=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function Li(e){return Sr(e)?Ai(e,()=>{}):e}function Ri(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function zi(e){return typeof e==`boolean`}var Bi=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new Ii;return t&&(zi(t)?a.push(Mi):a.push(Ni(t.extraArgument))),a},Vi=`RTK_autoBatch`,V=()=>e=>({payload:e,meta:{[Vi]:!0}}),Hi=e=>t=>{setTimeout(t,e)},Ui=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},Wi=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?Ui(window.requestAnimationFrame,100):Hi(10):e.type===`callback`?e.queueNotification:Hi(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Vi],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Gi=e=>function(t){let{autoBatch:n=!0}=t??{},r=new Ii(e);return n&&r.push(Wi(typeof n==`object`?n:void 0)),r};function Ki(e){let t=Bi(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(nr(n))c=ar(n);else throw Error(Ua(1));let l;l=typeof r==`function`?r(t):t();let u=or;i&&(u=Pi({trace:!1,...typeof i==`object`&&i}));let d=Gi(sr(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return rr(c,o,p)}function qi(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(Ua(28));if(r in t)throw Error(Ua(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function Ji(e){return typeof e==`function`}function Yi(e,t){let[n,r,i]=qi(t),a;if(Ji(e))a=()=>Li(e());else{let t=Li(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(xr(e)){let r=n(e,t);return r===void 0?e:r}if(Sr(e))return Ai(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}}return e},e)}return o.getInitialState=a,o}var Xi=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Zi=(e=21)=>{let t=``,n=e;for(;n--;)t+=Xi[Math.random()*64|0];return t},Qi=Symbol.for(`rtk-slice-createasyncthunk`);function $i(e,t){return`${e}/${t}`}function ea({creators:e}={}){let t=e?.asyncThunk?.[Qi];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(Ua(11));let i=(typeof e.reducers==`function`?e.reducers(ra()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(Ua(12));if(n in o.sliceCaseReducersByType)throw Error(Ua(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:$i(n,r),createNotation:typeof e.reducers==`function`};aa(a)?sa(o,a,s,t):ia(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?qi(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return Yi(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=Ri(d,r,m)),i}function i(t=l){return Ri(Ri(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=ta(a,t,()=>Ri(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function ta(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var na=ea();function ra(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function ia({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!oa(r))throw Error(Ua(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?Fi(e,o):Fi(e))}function aa(e){return e._reducerDefinitionType===`asyncThunk`}function oa(e){return e._reducerDefinitionType===`reducerWithPrepare`}function sa({type:e,reducerName:t},n,r,i){if(!i)throw Error(Ua(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||ca,pending:s||ca,rejected:c||ca,settled:l||ca})}function ca(){}var la=`task`,ua=`listener`,da=`completed`,fa=`cancelled`,pa=`task-${fa}`,ma=`task-${da}`,ha=`${ua}-${fa}`,ga=`${ua}-${da}`,_a=class{constructor(e){this.code=e,this.message=`${la} ${fa} (reason: ${e})`}code;name=`TaskAbortError`;message},va=(e,t)=>{if(typeof e!=`function`)throw TypeError(Ua(32))},ya=()=>{},ba=(e,t=ya)=>(e.catch(t),e),xa=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),Sa=e=>{if(e.aborted)throw new _a(e.reason)};function Ca(e,t){let n=ya;return new Promise((r,i)=>{let a=()=>i(new _a(e.reason));if(e.aborted){a();return}n=xa(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=ya})}var wa=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof _a?`cancelled`:`rejected`,error:e}}finally{t?.()}},Ta=e=>t=>ba(Ca(e,t).then(t=>(Sa(e),t))),Ea=e=>{let t=Ta(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:Da}=Object,Oa={},ka=`listenerMiddleware`,Aa=(e,t)=>{let n=t=>xa(e,()=>t.abort(e.reason));return(r,i)=>{va(r,`taskExecutor`);let a=new AbortController;n(a);let o=wa(async()=>{Sa(e),Sa(a.signal);let t=await r({pause:Ta(a.signal),delay:Ea(a.signal),signal:a.signal});return Sa(a.signal),t},()=>a.abort(ma));return i?.autoJoin&&t.push(o.catch(ya)),{result:Ta(e)(o),cancel(){a.abort(pa)}}}},ja=(e,t)=>{let n=async(n,r)=>{Sa(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await Ca(t,Promise.race(a));return Sa(t),e}finally{i()}};return((e,t)=>ba(n(e,t)))},Ma=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=Fi(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(Ua(21));return va(a,`options.listener`),{predicate:i,type:t,effect:a}},Na=Da(e=>{let{type:t,predicate:n,effect:r}=Ma(e);return{id:Zi(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(Ua(22))}}},{withTypes:()=>Na}),Pa=(e,t)=>{let{type:n,effect:r,predicate:i}=Ma(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},Fa=e=>{e.pending.forEach(e=>{e.abort(ha)})},Ia=(e,t)=>()=>{for(let e of t.keys())Fa(e);e.clear()},La=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},Ra=Da(Fi(`${ka}/add`),{withTypes:()=>Ra}),za=Fi(`${ka}/removeAll`),Ba=Da(Fi(`${ka}/remove`),{withTypes:()=>Ba}),Va=(...e)=>{console.error(`${ka}/error`,...e)},Ha=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=Va}=e;va(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&Fa(e)}),c=(e=>{let n=Pa(t,e)??Na(e);return s(n)});Da(c,{withTypes:()=>c});let l=e=>{let n=Pa(t,e);return n&&(n.unsubscribe(),e.cancelActive&&Fa(n)),!!n};Da(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=ja(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,Da({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:Ea(u.signal),pause:Ta(u.signal),extra:a,signal:u.signal,fork:Aa(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(ha),n.delete(e))})},cancel:()=>{u.abort(ha),e.pending.delete(u)},throwIfCancelled:()=>{Sa(u.signal)}})))}catch(e){e instanceof _a||La(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(ga),i(e),e.pending.delete(u)}},d=Ia(t,n);return{middleware:e=>n=>r=>{if(!cr(r))return n(r);if(Ra.match(r))return c(r.payload);if(za.match(r)){d();return}if(Ba.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===Oa)throw Error(Ua(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,La(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=Oa}return s},startListening:c,stopListening:l,clearListeners:d}};function Ua(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Wa=na({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),Ga=Wa.actions,Ka=Ga.setMargin,qa=Ga.setLayout,Ja=Ga.setChartSize,Ya=Ga.setScale,Xa=Wa.reducer;function Za(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function H(e){return Number.isFinite(e)}function Qa(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function $a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eo(e){for(var t=1;t{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(ke(c)){if(c===`top`&&P(e.top))return eo(eo({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&P(e.bottom))return eo(eo({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&P(e.left))return eo(eo({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&P(e.right))return eo(eo({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&P(e[a]))return eo(eo({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&P(e[o]))return eo(eo({},e),{},{[o]:e[o]+(i||0)})}return e},ao=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,oo=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},so=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?se(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return H(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(ye):c&&l?l.map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(ye):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(ye):o.domain().map((e,t)=>{var n=o.map(e);return H(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(ye)},co={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:Et,none:xt,silhouette:Dt,wiggle:Ot,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},lo=(e,t,n)=>{var r=co[n]??xt,i=Tt().keys(t).value((e,t)=>Number(U(e,t,0))).order(St).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=U(e[i],t[r],0);Array.isArray(a)&&a.length===2&&P(a[0])&&P(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function uo(e){return e==null?void 0:String(e)}function fo(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!_e(i[t.dataKey])){var s=ge(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=U(i,_e(o)?t.dataKey:o),l=t.scale.map(c);return P(l)?l:null}var po=e=>{var t=e.flat(2).filter(P);return[Math.min(...t),Math.max(...t)]},mo=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],ho=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return mo(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=po(Za(r,t,n));return!H(i[0])||!H(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},go=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_o=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,vo=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Xn(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;su&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function yo(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return eo(eo({},t),{},{dataKey:n,payload:r,value:i,name:a})}function bo(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var xo=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},So=(e,t)=>t===`centric`?e.angle:e.radius,Co=e=>e.layout.width,wo=e=>e.layout.height,To=e=>e.layout.scale,Eo=e=>e.layout.margin,Do=R(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Oo=R(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),ko=`data-recharts-item-index`;function Ao(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jo(e){for(var t=1;te.brush.height;function Io(e){return Oo(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Lo(e){return Oo(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Ro(e){return Do(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function zo(e){return Do(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var Bo=R([Co,wo,Eo,Fo,Io,Lo,Ro,zo,Zn,Qn],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=jo(jo({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=io(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return jo(jo({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Vo=R(Bo,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Ho=R(Co,wo,(e,t)=>({x:0,y:0,width:e,height:t})),Uo=(0,s.createContext)(null),Wo=()=>(0,s.useContext)(Uo)!=null,Go=e=>e.brush,Ko=R([Go,Bo,Eo],(e,t,n)=>({height:e.height,x:P(e.x)?e.x:t.left,y:P(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:P(e.width)?e.width:t.width}));function qo(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function Jo(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=qo(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function Yo(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return Jo(e,t,{leading:r,maxWait:t,trailing:i})}var Xo=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},Zo={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Qo=(e,t,n)=>{var r=n.width,i=r===void 0?Zo.width:r,a=n.height,o=a===void 0?Zo.height:a,s=n.aspect,c=n.maxHeight,l=le(i)?e:Number(i),u=le(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},$o={width:0,height:0,overflow:`visible`},es={width:0,overflowX:`visible`},ts={height:0,overflowY:`visible`},ns={},rs=e=>{var t=e.width,n=e.height,r=le(t),i=le(n);return r&&i?$o:r?es:i?ts:ns};function is(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=Zo.width,a=Zo.height):i===void 0?i=r&&r>0?void 0:Zo.width:a===void 0&&(a=r&&r>0?void 0:Zo.height),{width:i,height:a}}var as=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function os(){return os=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({width:n,height:r}),[n,r]);return xs(i)?s.createElement(bs.Provider,{value:i},t):null}var Cs=()=>(0,s.useContext)(bs),ws=(0,s.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?Zo.initialDimension:r,a=e.width,c=e.height,l=e.minWidth,u=l===void 0?Zo.minWidth:l,d=e.minHeight,f=e.maxHeight,p=e.children,m=e.debounce,h=m===void 0?Zo.debounce:m,g=e.id,_=e.className,v=e.onResize,y=e.style,b=y===void 0?{}:y,x=vs(e,as),S=(0,s.useRef)(null),C=(0,s.useRef)();C.current=v,(0,s.useImperativeHandle)(t,()=>S.current);var w=fs((0,s.useState)({containerWidth:i.width,containerHeight:i.height}),2),T=w[0],E=w[1],D=(0,s.useCallback)((e,t)=>{E(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,s.useEffect)(()=>{if(S.current==null||typeof ResizeObserver>`u`)return be;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;D(i,a),(t=C.current)==null||t.call(C,i,a)}};h>0&&(e=Yo(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),()=>{t.disconnect()}},[D,h]);var O=T.containerWidth,k=T.containerHeight;Xo(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var A=Qo(O,k,{width:a,height:c,aspect:n,maxHeight:f}),j=A.calculatedWidth,M=A.calculatedHeight;return Xo(O<0||k<0||j!=null&&j>0||M!=null&&M>0,`The width(%s) and height(%s) of chart should be greater than 0, - please check the style of container, or the props width(%s) and height(%s), - or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,j,M,a,c,u,d,n),s.createElement(`div`,os({id:g?`${g}`:void 0,className:o(`recharts-responsive-container`,_),style:cs(cs({},b),{},{width:a,height:c,minWidth:u,minHeight:d,maxHeight:f}),ref:S},x),s.createElement(`div`,{style:rs({width:a,height:c})},s.createElement(Ss,{width:j,height:M},p)))}),Ts=(0,s.forwardRef)((e,t)=>{var n=Cs();if(Qa(n.width)&&Qa(n.height))return e.children;var r=is({width:e.width,height:e.height,aspect:e.aspect}),i=r.width,a=r.height,o=Qo(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),c=o.calculatedWidth,l=o.calculatedHeight;return P(c)&&P(l)?s.createElement(Ss,{width:c,height:l},e.children):s.createElement(ws,os({},e,{width:i,height:a,ref:t}))}),Es=()=>{var e=Wo(),t=L(Vo),n=L(Ko),r=L(Go)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},Ds={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},Os=()=>L(Bo)??Ds,ks=()=>L(Co),As=()=>L(wo),W=e=>e.layout.layoutType,js=()=>L(W),Ms=()=>{var e=js();if(e===`horizontal`||e===`vertical`)return e},Ns=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},Ps=()=>js()!==void 0,Fs=e=>{var t=I(),n=Wo(),r=e.width,i=e.height,a=Cs(),o=r,c=i;return a&&(o=a.width>0?a.width:r,c=a.height>0?a.height:i),(0,s.useEffect)(()=>{!n&&Qa(o)&&Qa(c)&&t(Ja({width:o,height:c}))},[t,n,o,c]),null},Is=na({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`bottom`,itemSorter:`value`,position:void 0,offset:0},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(B(t.payload))},prepare:V()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=Oi(e).payload.indexOf(B(r));a>-1&&(e.payload[a]=B(i))},prepare:V()},removeLegendPayload:{reducer(e,t){var n=Oi(e).payload.indexOf(B(t.payload));n>-1&&e.payload.splice(n,1)},prepare:V()}}}),Ls=Is.actions;Ls.setLegendSize,Ls.setLegendSettings;var Rs=Ls.addLegendPayload,zs=Ls.replaceLegendPayload,Bs=Ls.removeLegendPayload,Vs=Is.reducer,Hs=a((e=>{var t=n();t.useSyncExternalStore,t.useRef,t.useEffect,t.useMemo,t.useDebugValue}));a(((e,t)=>{t.exports=Hs()}))();function Us(e){e()}function Ws(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Us(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Gs={notify(){},get:()=>[]};function Ks(e,t){let n,r=Gs,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=Ws())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Gs)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var qs=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,Js=typeof navigator<`u`&&navigator.product===`ReactNative`,Ys=qs||Js?s.useLayoutEffect:s.useEffect;function Xs(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function Zs(e,t){if(Xs(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r{let e=Ks(i);return{store:i,subscription:e,getServerState:r?()=>r:void 0}},[i,r]),o=s.useMemo(()=>i.getState(),[i]);Ys(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let c=n||tc;return s.createElement(c.Provider,{value:a},t)}var rc=nc,ic=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function ac(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function oc(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(ic.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Zs(e[n],t[n]))return!1}else if(!ac(e[n],t[n]))return!1;return!0}var sc={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function cc(e,t){return pc(e)||fc(e,t)||uc(e,t)||lc()}function lc(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uc(e,t){if(e){if(typeof e==`string`)return dc(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dc(e,t):void 0}}function dc(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nsc.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,s.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}var hc=()=>L(e=>e.rootProps.accessibilityLayer)??!0;function gc(){return gc=Object.assign?Object.assign.bind():function(e){for(var t=1;tH(e.x)&&H(e.y),wc=e=>e.base!=null&&Cc(e.base)&&Cc(e),Tc=e=>e.x,Ec=e=>e.y,Dc=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${ve(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=Sc[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return Sc[n]||Ve},Oc={connectNulls:!1,type:`linear`},kc=e=>{var t=e.type,n=t===void 0?Oc.type:t,r=e.points,i=r===void 0?[]:r,a=e.baseLine,o=e.layout,s=e.connectNulls,c=s===void 0?Oc.connectNulls:s,l=Dc(n,o),u=c?i.filter(Cc):i;if(Array.isArray(a)){var d,f=i.map((e,t)=>vc(vc({},e),{},{base:a[t]}));return d=o===`vertical`?Ge().y(Ec).x1(Tc).x0(e=>e.base.x):Ge().x(Tc).y1(Ec).y0(e=>e.base.y),d.defined(wc).curve(l)(c?f.filter(wc):f)}return(o===`vertical`&&P(a)?Ge().y(Ec).x1(Tc).x0(a):P(a)?Ge().x(Tc).y1(Ec).y0(a):We().x(Tc).y(Ec)).defined(Cc).curve(l)(u)},Ac=e=>{var t=e.className,n=e.points,r=e.path,i=e.pathRef,a=js();if((!n||!n.length)&&!r)return null;var c={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},l=n&&n.length?kc(c):r;return s.createElement(`path`,gc({},p(e),At(e),{className:o(`recharts-curve`,t),d:l===null?void 0:l,ref:i}))},jc=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],Mc=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),Nc=(e,t)=>n=>Mc(jc(e,t),n),Pc=(e,t)=>n=>Mc([...jc(e,t).map((e,t)=>e*t).slice(1),0],n),Fc=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},Ic=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=Fc(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},Lc=(e,t,n,r)=>{var i=Nc(e,n),a=Nc(t,r),o=Pc(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},Rc=function(){return Lc(...Ic(...arguments))},zc=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?16.67:a,s=1,c=[0],l=0,u=0,d=1e4,f=0;f{if(e<=0)return 0;if(e>=1)return s;var t=e*h,n=Math.floor(t),r=t-n;return(c[n]??0)+((c[n+1]??0)-(c[n]??0))*r}},Bc=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return Rc(e);case`spring`:return zc();default:if(e.split(`(`)[0]===`cubic-bezier`)return Rc(e)}return typeof e==`function`?e:null},Vc=(0,s.createContext)((e,t,n)=>{var r,i=a=>{var o=t.tick(a);if(t.getState()===`active`){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(i,o);return}r=e.setTimeout(i,o)};return r=e.setTimeout(i,0),()=>r?.()});Vc.Provider;function Hc(e){var t=(0,s.useContext)(Vc);return(0,s.useMemo)(()=>e??t,[e,t])}function Uc(e,t,n){return(t=Wc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wc(e){var t=Gc(e,`string`);return typeof t==`symbol`?t:t+``}function Gc(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Kc=`init`,qc=`pending`,Jc=`active`,Yc=`completed`;function Xc(e){return Math.max(0,e)}var Zc=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var t;Uc(this,`state`,Kc),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=Xc(e.animationDuration),this.animationBegin=Xc(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(t=e.onAnimationStart)==null||t.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Kc)return this.state=qc,this.beginStartedTime=e,this.animationBegin;if(this.getState()===qc){if(this.beginStartedTime==null)throw Error();var t=e-this.beginStartedTime;return t>=this.animationBegin?(this.state=Jc,this.animationStartedTime=e,this.nextAnimationUpdate(0)):Xc(this.animationBegin-t)}if(this.getState()===Jc){if(this.animationStartedTime==null)throw Error();var n=e-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state===`active`){var e;(e=this.onAnimationEnd)==null||e.call(this)}this.state=Yc}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},Qc=class extends Zc{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(he(this.getFrom(),this.getTo(),this.getProgress()))}},$c=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function el(e,t){return al(e)||il(e,t)||nl(e,t)||tl()}function tl(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nl(e,t){if(e){if(typeof e==`string`)return rl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rl(e,t):void 0}}function rl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{},onAnimationStart:()=>{}},sl=0,cl=1;function ll(e){var t=Rt(e,ol),n=t.animationId,r=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,c=t.begin,l=t.onAnimationEnd,u=t.onAnimationStart,d=t.children,f=mc(),p=r===`auto`?!sc.isSsr&&!f:r,m=Hc(t.animationController),h=el((0,s.useState)(p?sl:cl),2),g=h[0],_=h[1];return(0,s.useEffect)(()=>{p||_(cl)},[p]),(0,s.useEffect)(()=>{var e=Bc(o);return!p||!i||e==null?be:m(new $c,new Qc({animationId:n,easing:e,animationDuration:a,animationBegin:c,onAnimationStart:u,onAnimationEnd:l,from:sl,to:cl}),_)},[m,n,p,i,a,o,c,u,l]),d(Number(g))}function ul(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,s.useRef)(fe(t)),r=(0,s.useRef)(e);return r.current!==e&&(n.current=fe(t),r.current=e),n.current}function dl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fl(e){for(var t=1;te*180/Math.PI,vl=(e,t,n,r)=>({x:e+Math.cos(-gl*r)*n,y:t+Math.sin(-gl*r)*n}),yl=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},bl=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return Math.sqrt((n-i)**2+(r-a)**2)},xl=(e,t)=>{var n=e.x,r=e.y,i=t.cx,a=t.cy,o=bl({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:_l(c),angleInRadian:c}},Sl=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},Cl=(e,t)=>{var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},wl=(e,t)=>{var n=e.relativeX,r=e.relativeY,i=xl({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac||a===0)return null;var l=Sl(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?fl(fl({},t),{},{radius:a,angle:Cl(f,t)}):null};function Tl(e){return M(e)?NaN:Number(e)}function El(e){return e?(e=Tl(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function Dl(e,t,n){n&&typeof n!=`number`&&Un(e,t,n)&&(t=n=void 0),e=El(e),t===void 0?(t=e,e=0):t=El(t),n=n===void 0?ee.chartData,kl=R([Ol],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Al=(e,t,n,r)=>r?kl(e):Ol(e),jl=(e,t,n)=>n?kl(e):Ol(e),Ml=R([Al],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});R([kl],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});var Nl=R([Ol],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});function Pl(e,t){return zl(e)||Rl(e,t)||Il(e,t)||Fl()}function Fl(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Il(e,t){if(e){if(typeof e==`string`)return Ll(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ll(e,t):void 0}}function Ll(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i)}if((i=e[r=`LN10`])!==void 0){if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i)}return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}))());function Wl(e){return e===0?1:Math.floor(new G.default(e).abs().log(10).toNumber())+1}function Gl(e,t,n){for(var r=new G.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}function Kl(e,t){return Zl(e)||Xl(e,t)||Jl(e,t)||ql()}function ql(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jl(e,t){if(e){if(typeof e==`string`)return Yl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yl(e,t):void 0}}function Yl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=Kl(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]},$l=(e,t,n)=>{if(e.lte(0))return new G.default(0);var r=Wl(e.toNumber()),i=new G.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new G.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new G.default(s.toNumber()):new G.default(Math.ceil(s.toNumber()))},eu=(e,t,n)=>{if(e.lte(0))return new G.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new G.default(i).abs().log(10).toNumber()),o=new G.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new G.default(10).pow(l))}var u=r[c]??1,d=new G.default(u).mul(o);return t?d:new G.default(Math.ceil(d.toNumber()))},tu=(e,t,n)=>{var r=new G.default(1),i=new G.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new G.default(10).pow(Wl(e)-1),i=new G.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new G.default(Math.floor(e)))}else e===0?i=new G.default(Math.floor((t-1)/2)):n||(i=new G.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:$l;if(!Number.isFinite((t-e)/(n-1)))return{step:new G.default(0),tickMin:new G.default(0),tickMax:new G.default(0)};var o=a(new G.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new G.default(0):(s=new G.default(e).add(t).div(2),s=s.sub(new G.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new G.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?nu(e,t,n,r,i+1,a):(u0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new G.default(c).mul(o)),tickMax:s.add(new G.default(l).mul(o))})},ru=function(e){var t=Kl(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Math.max(i,2),c=Kl(Ql([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var d=u===1/0?[l,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),u];return n>r?d.reverse():d}if(l===u)return tu(l,i,a);var f=nu(l,u,s,a,0,o===`snap125`?eu:$l),p=f.step,m=f.tickMin,h=f.tickMax,g=Gl(m,h.add(new G.default(.1).mul(p)),p);return n>r?g.reverse():g},iu=function(e,t){var n=Kl(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Kl(Ql([r,i]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0)return[r,i];if(c===l)return[c];var u=o===`snap125`?eu:$l,d=Math.max(t,2),f=u(new G.default(l).sub(c).div(d-1),a,0),p=[...Gl(new G.default(c),new G.default(l),f),l];if(a===!1){p=p.map(e=>Math.round(e));var m=p.length-1;m>0&&p[m]===p[m-1]&&(p=p.slice(0,m))}return r>i?p.reverse():p},au=e=>e.rootProps.barCategoryGap,ou=e=>e.rootProps.stackOffset,su=e=>e.rootProps.reverseStackOrder,cu=e=>e.options.chartName,lu=e=>e.rootProps.syncId,uu=e=>e.rootProps.syncMethod,du=e=>e.options.eventEmitter,fu=e=>e.rootProps.baseValue,pu={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},mu={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:pu.axis},hu={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:pu.axis},gu=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function _u(e,t,n){if(n!==`auto`)return n;if(e!=null)return ao(e,t)?`category`:`number`}function vu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yu(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Ns],(e,t)=>{if(e!=null)return e;var n=_u(t,`angleAxis`,Cu.type)??`category`;return yu(yu({},Cu),{},{type:n})}),Eu=R([(e,t)=>e.polarAxis.radiusAxis[t],Ns],(e,t)=>{if(e!=null)return e;var n=_u(t,`radiusAxis`,wu.type)??`category`;return yu(yu({},wu),{},{type:n})}),Du=e=>e.polarOptions,Ou=R([Co,wo,Bo],yl),ku=R([Du,Ou],(e,t)=>{if(e!=null)return pe(e.innerRadius,t,0)}),Au=R([Du,Ou],(e,t)=>{if(e!=null)return pe(e.outerRadius,t,t*.8)}),ju=R([Du],e=>e==null?[0,0]:[e.startAngle,e.endAngle]);R([Tu,ju],gu);var Mu=R([Ou,ku,Au],(e,t,n)=>{if(e!=null&&t!=null&&n!=null)return[t,n]});R([Eu,Mu],gu);var Nu=R([W,Du,ku,Au,Co,wo],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var o=t.cx,s=t.cy,c=t.startAngle,l=t.endAngle;return{cx:pe(o,i,i/2),cy:pe(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),K=(e,t)=>t,Pu=(e,t,n)=>n;function Fu(e){return e?.id}function Iu(e,t,n){var r=t.chartData,i=r===void 0?[]:r,a=n.allowDuplicatedCategory,o=n.dataKey,s=new Map;return e.forEach(e=>{var t=e.data??i;if(t!=null&&t.length!==0){var n=Fu(e);t.forEach((t,r)=>{var i=o==null||a?r:String(U(t,o,null)),c=U(t,e.dataKey,0),l=s.has(i)?s.get(i):{};Object.assign(l,{[n]:c}),s.set(i,l)})}}),Array.from(s.values())}function Lu(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var Ru=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function zu(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function Bu(e,t){if(e.length===t.length){for(var n=0;n{var t=W(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},Vu=e=>e.tooltip.settings.axisId;function Hu(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i}}return r}}}}}var Uu=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!Bl(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function Wu(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Gu(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Ku(e){let t,n,r;e.length===2?(t=e===Wu||e===Gu?e:qu,n=e,r=e):(t=Wu,n=(t,n)=>Wu(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function qu(){return 0}function Ju(e){return e===null?NaN:+e}function*Yu(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var Xu=Ku(Wu),Zu=Xu.right;Xu.left,Ku(Ju).center;var Qu=class extends Map{constructor(e,t=nd){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get($u(this,e))}has(e){return super.has($u(this,e))}set(e,t){return super.set(ed(this,e),t)}delete(e){return super.delete(td(this,e))}};function $u({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function ed({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function td({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function nd(e){return typeof e==`object`&&e?e.valueOf():e}function rd(e=Wu){if(e===Wu)return id;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function id(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var ad=Math.sqrt(50),od=Math.sqrt(10),sd=Math.sqrt(2);function cd(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=ad?10:a>=od?5:a>=sd?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function pd(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function md(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?id:rd(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));md(e,t,u,d,i)}let a=e[t],o=n,s=r;for(hd(e,n,t),i(e[r],a)>0&&hd(e,n,r);o0;)--s}i(e[n],a)===0?hd(e,n,s):(++s,hd(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function hd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function gd(e,t,n){if(e=Float64Array.from(Yu(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return pd(e);if(t>=1)return fd(e);var r,i=(r-1)*t,a=Math.floor(i),o=fd(md(e,a).subarray(0,a+1));return o+(pd(e.subarray(a+1))-o)*(i-a)}}function _d(e,t,n=Ju){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function vd(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Jd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Jd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Fd.exec(e))?new Zd(t[1],t[2],t[3],1):(t=Id.exec(e))?new Zd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ld.exec(e))?Jd(t[1],t[2],t[3],t[4]):(t=Rd.exec(e))?Jd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zd.exec(e))?af(t[1],t[2]/100,t[3]/100,1):(t=Bd.exec(e))?af(t[1],t[2]/100,t[3]/100,t[4]):Vd.hasOwnProperty(e)?qd(Vd[e]):e===`transparent`?new Zd(NaN,NaN,NaN,0):null}function qd(e){return new Zd(e>>16&255,e>>8&255,e&255,1)}function Jd(e,t,n,r){return r<=0&&(e=t=n=NaN),new Zd(e,t,n,r)}function Yd(e){return e instanceof Od||(e=Kd(e)),e?(e=e.rgb(),new Zd(e.r,e.g,e.b,e.opacity)):new Zd}function Xd(e,t,n,r){return arguments.length===1?Yd(e):new Zd(e,t,n,r??1)}function Zd(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ed(Zd,Xd,Dd(Od,{brighter(e){return e=e==null?Ad:Ad**+e,new Zd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kd:kd**+e,new Zd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Zd(nf(this.r),nf(this.g),nf(this.b),tf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Qd,formatHex:Qd,formatHex8:$d,formatRgb:ef,toString:ef}));function Qd(){return`#${rf(this.r)}${rf(this.g)}${rf(this.b)}`}function $d(){return`#${rf(this.r)}${rf(this.g)}${rf(this.b)}${rf((isNaN(this.opacity)?1:this.opacity)*255)}`}function ef(){let e=tf(this.opacity);return`${e===1?`rgb(`:`rgba(`}${nf(this.r)}, ${nf(this.g)}, ${nf(this.b)}${e===1?`)`:`, ${e})`}`}function tf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nf(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function rf(e){return e=nf(e),(e<16?`0`:``)+e.toString(16)}function af(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new cf(e,t,n,r)}function of(e){if(e instanceof cf)return new cf(e.h,e.s,e.l,e.opacity);if(e instanceof Od||(e=Kd(e)),!e)return new cf;if(e instanceof cf)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new cf(o,s,c,e.opacity)}function sf(e,t,n,r){return arguments.length===1?of(e):new cf(e,t,n,r??1)}function cf(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ed(cf,sf,Dd(Od,{brighter(e){return e=e==null?Ad:Ad**+e,new cf(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kd:kd**+e,new cf(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Zd(df(e>=240?e-240:e+120,i,r),df(e,i,r),df(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new cf(lf(this.h),uf(this.s),uf(this.l),tf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=tf(this.opacity);return`${e===1?`hsl(`:`hsla(`}${lf(this.h)}, ${uf(this.s)*100}%, ${uf(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function lf(e){return e=(e||0)%360,e<0?e+360:e}function uf(e){return Math.max(0,Math.min(1,e||0))}function df(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var ff=e=>()=>e;function pf(e,t){return function(n){return e+n*t}}function mf(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function hf(e){return(e=+e)==1?gf:function(t,n){return n-t?mf(t,n,e):ff(isNaN(t)?n:t)}}function gf(e,t){var n=t-e;return n?pf(e,n):ff(isNaN(e)?t:e)}var _f=(function e(t){var n=hf(t);function r(e,t){var r=n((e=Xd(e)).r,(t=Xd(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=gf(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function vf(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Sf(r,i)})),n=Tf.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Rf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?zf:Rf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Sf))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Nf),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Af,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Ff,u()):o!==Ff},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function Hf(){return Vf()(Ff,Ff)}function Uf(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Wf(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Gf(e){return e=Wf(Math.abs(e)),e?e[1]:NaN}function Kf(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function qf(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Jf=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Yf(e){if(!(t=Jf.exec(e)))throw Error(`invalid format: `+e);var t;return new Xf({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Yf.prototype=Xf.prototype;function Xf(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Xf.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Zf(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Qf;function $f(e,t){var n=Wf(e,t);if(!n)return Qf=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Qf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Wf(e,Math.max(0,t+a-1))[0]}function ep(e,t){var n=Wf(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var tp={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Uf,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ep(e*100,t),r:ep,s:$f,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function np(e){return e}var rp=Array.prototype.map,ip=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function ap(e){var t=e.grouping===void 0||e.thousands===void 0?np:Kf(rp.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?np:qf(rp.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Yf(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):tp[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=tp[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Zf(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Qf!==void 0?ip[8+Qf/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Gf(t)/3)))*3,r=10**-n,i=l((e=Yf(e),e.type=`f`,e),{suffix:ip[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var op,sp,cp;lp({thousands:`,`,grouping:[3],currency:[`$`,``]});function lp(e){return op=ap(e),sp=op.format,cp=op.formatPrefix,op}function up(e){return Math.max(0,-Gf(Math.abs(e)))}function dp(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Gf(t)/3)))*3-Gf(Math.abs(e)))}function fp(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Gf(t)-Gf(e))+1}function pp(e,t,n,r){var i=dd(e,t,n),a;switch(r=Yf(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=dp(i,o))&&(r.precision=a),cp(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=fp(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=up(i))&&(r.precision=a-(r.type===`%`)*2)}return sp(r)}function mp(e){var t=e.domain;return e.ticks=function(e){var n=t();return ld(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return pp(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=ud(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function hp(){var e=Hf();return e.copy=function(){return Bf(e,hp())},yd.apply(e,arguments),mp(e)}function gp(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Nf),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return gp(e).unknown(t)},e=arguments.length?Array.from(e,Nf):[0,1],mp(n)}function _p(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function wp(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Tp(e){return(t,n)=>-e(-t,n)}function Ep(e){let t=e(vp,yp),n=t.domain,r=10,i,a;function o(){return i=wp(r),a=Cp(r),n()[0]<0?(i=Tp(i),a=Tp(a),e(bp,xp)):e(vp,yp),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Yf(n)).precision==null&&(n.trim=!0),n=sp(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(_p(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Dp(){let e=Ep(Vf()).domain([1,10]);return e.copy=()=>Bf(e,Dp()).base(e.base()),yd.apply(e,arguments),e}function Op(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function kp(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Ap(e){var t=1,n=e(Op(t),kp(t));return n.constant=function(n){return arguments.length?e(Op(t=+n),kp(t)):t},mp(n)}function jp(){var e=Ap(Vf());return e.copy=function(){return Bf(e,jp()).constant(e.constant())},yd.apply(e,arguments)}function Mp(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Np(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Pp(e){return e<0?-e*e:e*e}function Fp(e){var t=e(Ff,Ff),n=1;function r(){return n===1?e(Ff,Ff):n===.5?e(Np,Pp):e(Mp(n),Mp(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},mp(t)}function Ip(){var e=Fp(Vf());return e.copy=function(){return Bf(e,Ip()).exponent(e.exponent())},yd.apply(e,arguments),e}function Lp(){return Ip.apply(null,arguments).exponent(.5)}function Rp(e){return Math.sign(e)*e*e}function zp(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Bp(){var e=Hf(),t=[0,1],n=!1,r;function i(t){var i=zp(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(Rp(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,Nf)).map(Rp)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return Bp(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},yd.apply(i,arguments),mp(i)}function Vp(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Hp().domain([e,t]).range(i).unknown(a)},yd.apply(mp(o),arguments)}function Up(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Zu(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Up().domain(e).range(t).unknown(n)},yd.apply(i,arguments)}var Wp=new Date,Gp=new Date;function J(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sJ(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Wp.setTime(+t),Gp.setTime(+r),e(Wp),e(Gp),Math.floor(n(Wp,Gp))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Kp=J(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Kp.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?J(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Kp),Kp.range;var qp=1e3,Jp=qp*60,Yp=Jp*60,Xp=Yp*24,Zp=Xp*7,Qp=Xp*30,$p=Xp*365,em=J(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*qp)},(e,t)=>(t-e)/qp,e=>e.getUTCSeconds());em.range;var tm=J(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qp)},(e,t)=>{e.setTime(+e+t*Jp)},(e,t)=>(t-e)/Jp,e=>e.getMinutes());tm.range;var nm=J(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Jp)},(e,t)=>(t-e)/Jp,e=>e.getUTCMinutes());nm.range;var rm=J(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qp-e.getMinutes()*Jp)},(e,t)=>{e.setTime(+e+t*Yp)},(e,t)=>(t-e)/Yp,e=>e.getHours());rm.range;var im=J(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Yp)},(e,t)=>(t-e)/Yp,e=>e.getUTCHours());im.range;var am=J(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Jp)/Xp,e=>e.getDate()-1);am.range;var om=J(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Xp,e=>e.getUTCDate()-1);om.range;var sm=J(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Xp,e=>Math.floor(e/Xp));sm.range;function cm(e){return J(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Jp)/Zp)}var lm=cm(0),um=cm(1),dm=cm(2),fm=cm(3),pm=cm(4),mm=cm(5),hm=cm(6);lm.range,um.range,dm.range,fm.range,pm.range,mm.range,hm.range;function gm(e){return J(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Zp)}var _m=gm(0),vm=gm(1),ym=gm(2),bm=gm(3),xm=gm(4),Sm=gm(5),Cm=gm(6);_m.range,vm.range,ym.range,bm.range,xm.range,Sm.range,Cm.range;var wm=J(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());wm.range;var Tm=J(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Tm.range;var Em=J(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Em.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:J(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Em.range;var Dm=J(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Dm.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:J(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),Dm.range;function Om(e,t,n,r,i,a){let o=[[em,1,qp],[em,5,5*qp],[em,15,15*qp],[em,30,30*qp],[a,1,Jp],[a,5,5*Jp],[a,15,15*Jp],[a,30,30*Jp],[i,1,Yp],[i,3,3*Yp],[i,6,6*Yp],[i,12,12*Yp],[r,1,Xp],[r,2,2*Xp],[n,1,Zp],[t,1,Qp],[t,3,3*Qp],[e,1,$p]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every(dd(t/$p,n/$p,r));if(a===0)return Kp.every(Math.max(dd(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=Pm(Fm(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?vm.ceil(a):vm(a),a=om.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Nm(Fm(r.y,0,1)),o=a.getDay(),a=o>4||o===0?um.ceil(a):um(a),a=am.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?Pm(Fm(r.y,0,1)).getUTCDay():Nm(Fm(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,Pm(r)):Nm(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in Lm?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function ee(e){return a[e.getDay()]}function te(e){return c[e.getMonth()]}function ne(e){return s[e.getMonth()]}function re(e){return i[+(e.getHours()>=12)]}function ie(e){return 1+~~(e.getMonth()/3)}function ae(e){return o[e.getUTCDay()]}function oe(e){return a[e.getUTCDay()]}function se(e){return c[e.getUTCMonth()]}function ce(e){return s[e.getUTCMonth()]}function le(e){return i[+(e.getUTCHours()>=12)]}function P(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var Lm={"-":``,_:` `,0:`0`},Y=/^\s*\d+/,Rm=/^%/,zm=/[\\^$*+?|[\]().{}]/g;function X(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function Um(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Wm(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Gm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Km(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function qm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Jm(e,t,n){var r=Y.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Ym(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Xm(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Zm(e,t,n){var r=Y.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Qm(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function $m(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function eh(e,t,n){var r=Y.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function th(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function nh(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function rh(e,t,n){var r=Y.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function ih(e,t,n){var r=Y.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ah(e,t,n){var r=Y.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function oh(e,t,n){var r=Rm.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function sh(e,t,n){var r=Y.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function ch(e,t,n){var r=Y.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function lh(e,t){return X(e.getDate(),t,2)}function uh(e,t){return X(e.getHours(),t,2)}function dh(e,t){return X(e.getHours()%12||12,t,2)}function fh(e,t){return X(1+am.count(Em(e),e),t,3)}function ph(e,t){return X(e.getMilliseconds(),t,3)}function mh(e,t){return ph(e,t)+`000`}function hh(e,t){return X(e.getMonth()+1,t,2)}function gh(e,t){return X(e.getMinutes(),t,2)}function _h(e,t){return X(e.getSeconds(),t,2)}function vh(e){var t=e.getDay();return t===0?7:t}function yh(e,t){return X(lm.count(Em(e)-1,e),t,2)}function bh(e){var t=e.getDay();return t>=4||t===0?pm(e):pm.ceil(e)}function xh(e,t){return e=bh(e),X(pm.count(Em(e),e)+(Em(e).getDay()===4),t,2)}function Sh(e){return e.getDay()}function Ch(e,t){return X(um.count(Em(e)-1,e),t,2)}function wh(e,t){return X(e.getFullYear()%100,t,2)}function Th(e,t){return e=bh(e),X(e.getFullYear()%100,t,2)}function Eh(e,t){return X(e.getFullYear()%1e4,t,4)}function Dh(e,t){var n=e.getDay();return e=n>=4||n===0?pm(e):pm.ceil(e),X(e.getFullYear()%1e4,t,4)}function Oh(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+X(t/60|0,`0`,2)+X(t%60,`0`,2)}function kh(e,t){return X(e.getUTCDate(),t,2)}function Ah(e,t){return X(e.getUTCHours(),t,2)}function jh(e,t){return X(e.getUTCHours()%12||12,t,2)}function Mh(e,t){return X(1+om.count(Dm(e),e),t,3)}function Nh(e,t){return X(e.getUTCMilliseconds(),t,3)}function Ph(e,t){return Nh(e,t)+`000`}function Fh(e,t){return X(e.getUTCMonth()+1,t,2)}function Ih(e,t){return X(e.getUTCMinutes(),t,2)}function Lh(e,t){return X(e.getUTCSeconds(),t,2)}function Rh(e){var t=e.getUTCDay();return t===0?7:t}function zh(e,t){return X(_m.count(Dm(e)-1,e),t,2)}function Bh(e){var t=e.getUTCDay();return t>=4||t===0?xm(e):xm.ceil(e)}function Vh(e,t){return e=Bh(e),X(xm.count(Dm(e),e)+(Dm(e).getUTCDay()===4),t,2)}function Hh(e){return e.getUTCDay()}function Uh(e,t){return X(vm.count(Dm(e)-1,e),t,2)}function Wh(e,t){return X(e.getUTCFullYear()%100,t,2)}function Gh(e,t){return e=Bh(e),X(e.getUTCFullYear()%100,t,2)}function Kh(e,t){return X(e.getUTCFullYear()%1e4,t,4)}function qh(e,t){var n=e.getUTCDay();return e=n>=4||n===0?xm(e):xm.ceil(e),X(e.getUTCFullYear()%1e4,t,4)}function Jh(){return`+0000`}function Yh(){return`%`}function Xh(e){return+e}function Zh(e){return Math.floor(e/1e3)}var Qh,$h,eg;tg({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function tg(e){return Qh=Im(e),$h=Qh.format,Qh.parse,eg=Qh.utcFormat,Qh.utcParse,Qh}function ng(e){return new Date(e)}function rg(e){return e instanceof Date?+e:+new Date(+e)}function ig(e,t,n,r,i,a,o,s,c,l){var u=Hf(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>gd(e,r/t))},n.copy=function(){return mg(t).domain(e)},bd.apply(n,arguments)}function hg(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Ff,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*eCd,scaleDiverging:()=>gg,scaleDivergingLog:()=>_g,scaleDivergingPow:()=>yg,scaleDivergingSqrt:()=>bg,scaleDivergingSymlog:()=>vg,scaleIdentity:()=>gp,scaleImplicit:()=>xd,scaleLinear:()=>hp,scaleLog:()=>Dp,scaleOrdinal:()=>Sd,scalePoint:()=>Td,scalePow:()=>Ip,scaleQuantile:()=>Vp,scaleQuantize:()=>Hp,scaleRadial:()=>Bp,scaleSequential:()=>lg,scaleSequentialLog:()=>ug,scaleSequentialPow:()=>fg,scaleSequentialQuantile:()=>mg,scaleSequentialSqrt:()=>pg,scaleSequentialSymlog:()=>dg,scaleSqrt:()=>Lp,scaleSymlog:()=>jp,scaleThreshold:()=>Up,scaleTime:()=>ag,scaleUtc:()=>og,tickFormat:()=>pp});function Sg(e){var t=xg;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${ve(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function Cg(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=Sg(e);if(r!=null)return r.domain(t).range(n),r}}function wg(e,t,n,r){if(n!=null&&r!=null)return typeof e.scale==`function`?Cg(e.scale,n,r):Cg(t,n,r)}function Tg(e){return`scale${ve(e)}`}function Eg(e){return Tg(e)in xg}var Dg=(e,t,n)=>{if(e!=null){var r=e.scale,i=e.type;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return Eg(r)?r:`point`}};function Og(e,t){for(var n=0,r=e.length,i=e[0]t)?n=a+1:r=a}return n}function kg(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=Og(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function Ag(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):kg(e,void 0)}function jg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Mg(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],Gg=(e,t)=>Wg(e,t)??Ug,Z={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:Hg,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},Kg=(e,t)=>e.cartesianAxis.yAxis[t],qg=(e,t)=>Kg(e,t)??Z,Jg={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},Yg=(e,t)=>e.cartesianAxis.zAxis[t]??Jg,Xg=(e,t,n)=>{switch(t){case`xAxis`:return Gg(e,n);case`yAxis`:return qg(e,n);case`zAxis`:return Yg(e,n);case`angleAxis`:return Tu(e,n);case`radiusAxis`:return Eu(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},Zg=(e,t,n)=>{switch(t){case`xAxis`:return Gg(e,n);case`yAxis`:return qg(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},Qg=(e,t,n)=>{switch(t){case`xAxis`:return Gg(e,n);case`yAxis`:return qg(e,n);case`angleAxis`:return Tu(e,n);case`radiusAxis`:return Eu(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},$g=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function e_(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var t_=e=>e.graphicalItems.cartesianItems,n_=R([K,Pu],e_),r_=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0||!e.hide),i_=R([t_,Xg,n_],r_,{memoizeOptions:{resultEqualityCheck:zu}}),a_=R([i_],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(Lu)),o_=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),s_=R([i_],o_),c_=e=>e.map(e=>e.data).filter(Boolean).flat(1),l_=R([i_],e=>e.some(e=>!e.data)),u_=R([i_],c_,{memoizeOptions:{resultEqualityCheck:zu}}),d_=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:r.slice(i,a+1)},f_=R([u_,Al],d_),p_=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:U(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:U(e,t.dataKey)})),m_=(e,t,n,r,i,a)=>{var o=r.chartData,s=o===void 0?[]:o,c=r.dataStartIndex,l=r.dataEndIndex,u=p_(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...s.slice(c,l+1).map(e=>({value:U(e,t.dataKey)})).filter(e=>e.value!=null),...u]:u},h_=R([f_,Xg,i_,Al,l_,u_],m_);function g_(e){if(ue(e)||e instanceof Date){var t=Number(e);if(H(t))return t}}function __(e){if(Array.isArray(e)){var t=[g_(e[0]),g_(e[1])];return Bl(t)?t:void 0}var n=g_(e);if(n!=null)return[n,n]}function v_(e){return e.map(g_).filter(ye)}function y_(e,t){var n=g_(e),r=g_(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var b_=R([h_],e=>e?.map(e=>e.value).sort(y_));function x_(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function S_(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!ce(t))r=t;else if(Array.isArray(t)){var i=v_(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:v_(n.flatMap(t=>{var n=U(e,t.dataKey),i,a;if(Array.isArray(n)){var o=Ig(n,2);i=o[0],a=o[1]}else i=a=n;if(!(!H(i)||!H(a)))return[r-i,r+a]}))}var Q=e=>Qg(e,q(e),Vu(e)),C_=R([Q],e=>e?.dataKey),w_=R([a_,Al,Q],Iu),T_=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var i=Ig(t,2),a=i[0],o=i[1],s=r?[...o].reverse():o;return[a,{stackedData:lo(e,s.map(Fu),n),graphicalItems:s}]}))},E_=R([w_,a_,ou,su],T_),D_=(e,t,n,r)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(r==null&&n!==`zAxis`)return ho(e,i,a)},O_=R([Xg],e=>e.allowDataOverflow),k_=e=>{if(e==null||!(`domain`in e))return Hg;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=v_(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??Hg},A_=R([Xg],k_),j_=R([A_,O_],Hl),M_=R([E_,Ol,K,j_],D_,{memoizeOptions:{resultEqualityCheck:Ru}}),N_=e=>e.errorBars,P_=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>x_(n,e)),F_=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},I_=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>x_(i,e));n.forEach(n=>{var r=U(n,t.dataKey??e.dataKey),i=S_(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||as)&&(s=l)}var u=__(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=__(U(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),H(o)&&H(s))return[o,s]},L_=R([f_,Xg,s_,N_,K,Ml],I_,{memoizeOptions:{resultEqualityCheck:Ru}});function R_(e){var t=e.value;if(ue(t)||t instanceof Date)return t}var z_=(e,t,n)=>{var r=e.map(R_).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&me(r))?Dl(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},B_=e=>e.referenceElements.dots,V_=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),H_=R([B_,K,Pu],V_),U_=e=>e.referenceElements.areas,W_=R([U_,K,Pu],V_),G_=e=>e.referenceElements.lines,K_=R([G_,K,Pu],V_),q_=(e,t)=>{if(e!=null){var n=v_(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},J_=R(H_,K,q_),Y_=(e,t)=>{if(e!=null){var n=v_(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},X_=R([W_,K],Y_);function Z_(e){if(e.x!=null)return v_([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:v_(t)}function Q_(e){if(e.y!=null)return v_([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:v_(t)}var $_=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?Z_(e):Q_(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},ev=R(J_,R([K_,K],$_),X_,(e,t,n)=>F_(e,n,t)),tv=(e,t,n,r,i,a,o,s,c)=>{if(n!=null)return n;var l=o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?F_(r,a,i):F_(a,i),u=Ul(t,l,e.allowDataOverflow);return u==null&&e.allowDataOverflow&&l==null&&c!=null?c:u},nv=R([Xg,A_,j_,M_,L_,ev,W,K,R([Xg],e=>{if(!(e==null||e.type!==`number`||!(`ticks`in e)||e.ticks==null)){var t=v_(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},{memoizeOptions:{resultEqualityCheck:Ru}})],tv,{memoizeOptions:{resultEqualityCheck:Ru}}),rv=[0,1],iv=(e,t,n,r,i,a,o)=>{if(e!=null&&n!=null&&n.length!==0||o!==void 0){var s=e.dataKey,c=e.type,l=ao(t,a);return l&&s==null?Dl(0,n?.length??0):c===`category`?z_(r,e,l):i===`expand`&&!l?rv:o}},av=R([Xg,W,f_,h_,ou,K,nv],iv),ov=R([Xg,$g,cu],Dg),sv=(e,t,n)=>{var r=t.niceTicks;if(r!==`none`){var i=k_(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&Bl(e)){if(a)return ru(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return iu(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&Bl(e))return ru(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&Bl(e))return iu(e,t.tickCount,t.allowDecimals,`adaptive`)}}},cv=R([av,Qg,ov],sv),lv=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&Bl(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},uv=R([Xg,av,cv,K],lv),dv=R(R(h_,Xg,(e,t)=>{if(!(!t||t.type!==`number`)){var n=1/0,r=Array.from(v_(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;si,(e,t,n,r,i)=>{if(!H(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=pe(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),fv=(e,t,n)=>{var r=Gg(e,t);return r==null||typeof r.padding!=`string`?0:dv(e,`xAxis`,t,n,r.padding)},pv=(e,t,n)=>{var r=qg(e,t);return r==null||typeof r.padding!=`string`?0:dv(e,`yAxis`,t,n,r.padding)},mv=R(Gg,fv,(e,t)=>{if(e==null)return{left:0,right:0};var n=e.padding;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),hv=R(qg,pv,(e,t)=>{if(e==null)return{top:0,bottom:0};var n=e.padding;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),gv=R([Bo,mv,Ko,Go,(e,t,n)=>n],(e,t,n,r,i)=>{var a=r.padding;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),_v=R([Bo,W,hv,Ko,Go,(e,t,n)=>n],(e,t,n,r,i,a)=>{var o=i.padding;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),vv=(e,t,n,r)=>{switch(t){case`xAxis`:return gv(e,n,r);case`yAxis`:return _v(e,n,r);case`zAxis`:return Yg(e,n)?.range;case`angleAxis`:return ju(e);case`radiusAxis`:return Mu(e,n);default:return}},yv=R([Xg,vv],gu),bv=R([Xg,ov,R([ov,uv],Uu),yv],wg),xv=(e,t,n,r)=>{if(n!=null&&n.dataKey!=null){var i=n.type,a=n.scale;if(ao(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},Sv=R([W,h_,Qg,K],xv),Cv=R([bv],Hu);R([bv],Ag),R([bv,b_],kg),R([i_,N_,K],P_);function wv(e,t){return e.idt.id)}var Tv=(e,t)=>t,Ev=(e,t,n)=>n,Dv=R(Do,Tv,Ev,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(wv)),Ov=R(Oo,Tv,Ev,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(wv)),kv=(e,t)=>{var n=typeof t.height==`number`?t.height:30;return{width:e.width,height:n}},Av=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}),jv=R(Bo,Gg,kv),Mv=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},Nv=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},Pv=R(wo,Bo,Dv,Tv,Ev,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=kv(t,n);o??=Mv(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),Fv=R(Co,Bo,Ov,Tv,Ev,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=Av(t,n);o??=Nv(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a}),Iv=R([Bo,Gg,(e,t)=>{var n=Gg(e,t);if(n!=null)return Pv(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),Lv=R([Bo,qg,(e,t)=>{var n=qg(e,t);if(n!=null)return Fv(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),Rv=R(Bo,qg,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height})),zv=(e,t,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,a=n.type,o=n.dataKey,s=ao(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&me(l))return c}},Bv=R([W,h_,Xg,K],zv),Vv=R([W,Zg,ov,Cv,Bv,Sv,vv,cv,K],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=ao(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),Hv=R([W,Qg,ov,Cv,cv,vv,Bv,Sv,K],(e,t,n,r,i,a,o,s,c)=>{if(t!=null&&r!=null){var l=ao(e,c),u=t.type,d=t.ticks,f=t.tickCount,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?se(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return H(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(ye):l&&s?s.map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(ye):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(ye):r.domain().map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(ye)}}),Uv=R([W,Qg,Cv,vv,Bv,Sv,K],(e,t,n,r,i,a,o)=>{if(t!=null&&n!=null&&r!=null&&r[0]!==r[1]){var s=ao(e,o),c=t.tickCount,l=0;return l=o===`angleAxis`&&r?.length>=2?se(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(ye):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(ye):n.domain().map((e,t)=>{var r=n.map(e);return H(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(ye)}}),Wv=R(Xg,Cv,(e,t)=>{if(e!=null&&t!=null)return Mg(Mg({},e),{},{scale:t})});R((e,t,n)=>Yg(e,n),R([R([Xg,ov,av,yv],wg)],Hu),(e,t)=>{if(e!=null&&t!=null)return Mg(Mg({},e),{},{scale:t})});var Gv=R([W,Do,Oo],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});R([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(!(!e||e.length===0))return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);ae.options.defaultTooltipEventType,qv=e=>e.options.validateTooltipEventTypes;function Jv(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function Yv(e,t){return Jv(t,Kv(e),qv(e))}function Xv(e){return L(t=>Yv(t,e))}var Zv=(e,t)=>{var n,r=Number(t);if(!(ce(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},Qv=e=>e.tooltip.settings,$v={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},ey=na({name:`tooltip`,initialState:{itemInteraction:{click:$v,hover:$v},axisInteraction:{click:$v,hover:$v},keyboardInteraction:$v,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(B(t.payload))},prepare:V()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=Oi(e).tooltipItemPayloads.indexOf(B(r));a>-1&&(e.tooltipItemPayloads[a]=B(i))},prepare:V()},removeTooltipEntrySettings:{reducer(e,t){var n=Oi(e).tooltipItemPayloads.indexOf(B(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:V()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),ty=ey.actions,ny=ty.addTooltipEntrySettings,ry=ty.replaceTooltipEntrySettings,iy=ty.removeTooltipEntrySettings,ay=ty.setTooltipSettingsState,oy=ty.setActiveMouseOverItemIndex;ty.mouseLeaveItem;var sy=ty.mouseLeaveChart;ty.setActiveClickItemIndex;var cy=ty.setMouseOverAxisIndex,ly=ty.setMouseClickAxisIndex,uy=ty.setSyncInteraction,dy=ty.setKeyboardInteraction,fy=ey.reducer;function py(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function my(e){for(var t=1;t{if(t==null)return $v;var i=vy(e,t,n);if(i==null)return $v;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(yy(i)){if(a)return my(my({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return my(my({},$v),{},{coordinate:i.coordinate})};function xy(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function Sy(e,t){var n=xy(e),r=t[0],i=t[1];return n!==void 0&&n>=Math.min(r,i)&&n<=Math.max(r,i)}function Cy(e,t,n){if(n==null||t==null)return!0;var r=U(e,t);return r==null||!Bl(n)||Sy(r,n)}var wy=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!H(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||Cy(l,n,r)?String(c):null},Ty=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},Ey=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},Dy=e=>e.options.tooltipPayloadSearcher,Oy=e=>e.tooltip;function ky(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ay(e){for(var t=1;te(t)}function Ly(e){if(typeof e==`string`)return e}function Ry(e){if(!(typeof e!=`object`||!e))return{name:`name`in e?Py(e.name):void 0,unit:`unit`in e?Fy(e.unit):void 0,dataKey:`dataKey`in e?Iy(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?Ly(e.color):void 0,fill:`fill`in e?Ly(e.fill):void 0}}function zy(e,t){return e??t}var By=(e,t,n,r,i,a,o)=>{if(t!=null&&a!=null){var s=n.chartData,c=n.computedData,l=n.dataStartIndex,u=n.dataEndIndex;return e.reduce((e,n)=>{var d=n.dataDefinedOnItem,f=n.settings,p=zy(d,s),m=Array.isArray(p)?Za(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_;return r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?(_=ge(m,r,i),_??=a(m,t,c,g)):_=a(m,t,c,g),Array.isArray(_)?_.forEach(t=>{var n=Ry(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=Ay(Ay({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(yo({tooltipEntrySettings:o,dataKey:i,payload:a,value:U(a,i),name:r==null?void 0:String(r)}))}):e.push(yo({tooltipEntrySettings:f,dataKey:h,payload:_,value:U(_,h),name:U(_,g)??f?.name})),e},[])}},Vy=R([Q,$g,cu],Dg),Hy=R([R([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),Q,R([q,Vu],e_)],r_,{memoizeOptions:{resultEqualityCheck:zu}}),Uy=R([Hy],e=>e.filter(Lu)),Wy=R([Hy],c_,{memoizeOptions:{resultEqualityCheck:zu}}),Gy=R([Hy],e=>e.some(e=>!e.data)),Ky=R([Wy,Ol],d_),qy=R([Uy,Ol,Q],Iu),Jy=R([Ky,Q,Hy,Ol,Gy,Wy],m_),Yy=R([Q],k_),Xy=R([Yy,R([Q],e=>e.allowDataOverflow)],Hl),Zy=R([R([qy,R([Hy],e=>e.filter(Lu)),ou,su],T_),Ol,q,Xy],D_),Qy=R([Ky,Q,R([Hy],o_),N_,q,Nl],I_,{memoizeOptions:{resultEqualityCheck:Ru}}),$y=R([R([B_,q,Vu],V_),q],q_),eb=R([R([U_,q,Vu],V_),q],Y_),tb=R([Q,W,Ky,Jy,ou,q,R([Q,Yy,Xy,Zy,Qy,R([$y,R([R([G_,q,Vu],V_),q],$_),eb],F_),W,q],tv)],iv),nb=R([Q,tb,R([tb,Q,Vy],sv),q],lv),rb=e=>vv(e,q(e),Vu(e),!1),ib=R([Q,rb],gu),ab=R([R([Q,Vy,nb,ib],wg)],Hu),ob=R([W,Q,Vy,ab,rb,R([W,Jy,Q,q],zv),R([W,Jy,Q,q],xv),q],(e,t,n,r,i,a,o,s)=>{if(t){var c=t.type,l=ao(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?se(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(ye):r.domain().map((e,t)=>{var n=r.map(e);return H(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(ye)}}}),sb=R([Kv,qv,Qv],(e,t,n)=>Jv(n.shared,e,t)),cb=e=>e.tooltip.settings.trigger,lb=e=>e.tooltip.settings.defaultIndex,ub=R([Oy,sb,cb,lb],by),db=R([ub,Ky,C_,tb],wy),fb=R([ob,db],Zv),pb=R([ub],e=>{if(e)return e.dataKey}),mb=R([ub],e=>{if(e)return e.graphicalItemId}),hb=R([Oy,sb,cb,lb],Ey),gb=R([ub,R([Co,wo,W,Bo,ob,lb,hb],Ty)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),_b=R([ub],e=>e?.active??!1),vb=R([R([hb,db,Ol,C_,fb,Dy,sb],By)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function yb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bb(e){for(var t=1;t{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},Tb=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,o=r.radius;return bb(bb(bb({},r),vl(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return bb(bb(bb({},r),vl(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function Eb(e,t){var n=e.relativeX,r=e.relativeY;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var Db=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=i[1]-i[0],s=(t,n,r)=>[e,e+o,e-o].some(e=>(r?e>=t:e>t)&&e<=n),c=0;c0?n[c-1]?.coordinate:n[a-1]?.coordinate,u=n[c]?.coordinate,d=c>=a-1?n[0]?.coordinate:n[c+1]?.coordinate,f=void 0;if(l!=null&&u!=null&&d!=null){if(se(u-l)!==se(d-u)){var p=[];if(se(d-u)===se(i[1]-i[0])){f=d;var m=u+i[1]-i[0];p[0]=Math.min(m,(m+l)/2),p[1]=Math.max(m,(m+l)/2)}else{f=l;var h=d+i[1]-i[0];p[0]=Math.min(u,(h+u)/2),p[1]=Math.max(u,(h+u)/2)}var g=[Math.min(u,(f+u)/2),Math.max(u,(f+u)/2)];if(s(g[0],g[1],!1)||s(p[0],p[1],!0))return n[c]?.index}else{var _=Math.min(l,d),v=Math.max(l,d);if(s((_+u)/2,(v+u)/2,!1))return n[c]?.index}}}else if(t)for(var y=0;y(b.coordinate+S.coordinate)/2||y>0&&y(b.coordinate+S.coordinate)/2&&e<=(b.coordinate+x.coordinate)/2)return b.index}}return-1},Ob=()=>L(cu),kb=(e,t)=>t,Ab=(e,t,n)=>n,jb=(e,t,n,r)=>r,Mb=R(ob,e=>Xn(e,e=>e.coordinate)),Nb=R([Oy,kb,Ab,jb],by),Pb=R([Nb,Ky,C_,tb],wy),Fb=(e,t,n)=>{if(t!=null){var r=Oy(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},Ib=R([Oy,kb,Ab,jb],Ey),Lb=R([Co,wo,W,Bo,ob,jb,Ib],Ty),Rb=R([Nb,Lb],(e,t)=>e.coordinate??t),zb=R([ob,Pb],Zv),Bb=R([Ib,Pb,Ol,C_,zb,Dy,kb],By),Vb=R([Nb,Pb],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),Hb=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&Eb(e,o)){var s=Db(xo(e,t),a,i,n,r),c=wb(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},Ub=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var s=wl(e,n);if(s){var c=Db(So(s,t),o,a,r,i),l=Tb(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},Wb=(e,t,n,r,i,a,o,s)=>{if(!(!e||!t||!r||!i||!a))return t===`horizontal`||t===`vertical`?Hb(e,t,r,i,a,o,s):Ub(e,t,n,r,i,a,o)},Gb=R(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),Kb=R(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(pu));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:Bu}});function qb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Jb(e){for(var t=1;tJb(Jb({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},$b=new Set(Object.values(pu));function ex(e){return $b.has(e)}var tx=na({name:`zIndex`,initialState:Qb,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:V()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!ex(n)&&delete e.zIndexMap[n])},prepare:V()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,i=n.element,a=n.isPanorama;e.zIndexMap[r]?a?e.zIndexMap[r].panoramaElement=B(i):e.zIndexMap[r].element=B(i):e.zIndexMap[r]={consumers:0,element:a?void 0:B(i),panoramaElement:a?B(i):void 0}},prepare:V()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:V()}}}),nx=tx.actions,rx=nx.registerZIndexPortal,ix=nx.unregisterZIndexPortal,ax=nx.registerZIndexPortalElement,ox=nx.unregisterZIndexPortalElement,sx=tx.reducer;function cx(e){var t=e.zIndex,n=e.children,r=Ps()&&t!==void 0&&t!==0,i=Wo(),a=(0,s.useRef)(void 0),o=(0,s.useRef)(new Set),c=I(),l=L(e=>Gb(e,t,i));if((0,s.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{c(ix({zIndex:e}))}),e.clear(),a.current=void 0;return}if(o.current.has(t)||(c(rx({zIndex:t})),o.current.add(t)),l){a.current=l;var n=o.current;n.forEach(e=>{e!==t&&(c(ix({zIndex:e})),n.delete(e))})}},[c,t,r,l]),(0,s.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{c(ix({zIndex:e}))}),e.clear()}},[c]),!r)return n;var u=l??a.current;return u?(0,_.createPortal)(n,u):null}var lx=(0,s.createContext)(null),ux=()=>(0,s.useContext)(lx),dx=r(a(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!ce(n))return e[n]}},gx=na({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),_x=gx.reducer,vx=gx.actions.createEventEmitter;function yx(e){return e.tooltip.syncInteraction}var bx=na({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=B(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var n=t.payload,r=n.startIndex,i=n.endIndex;r!=null&&(e.dataStartIndex=r),i!=null&&(e.dataEndIndex=i)}}}),xx=bx.actions,Sx=xx.setChartData,Cx=xx.setDataStartEndIndexes;xx.setComputedData;var wx=bx.reducer,Tx=[`x`,`y`];function Ex(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Dx(e){for(var t=1;te.rootProps.className);(0,s.useEffect)(()=>{if(e==null)return be;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1){n(uy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,f=d.x,p=d.y,m=jx(d,Tx),h=c.payload.sourceViewBox,g=h.x,_=h.y,v=h.width,y=h.height,b=Dx(Dx({},m),{},{x:o.x+(v?(f-g)/v:0)*o.width,y:o.y+(y?(p-_)/y:0)*o.height});n(Dx(Dx({},c),{},{payload:Dx(Dx({},c.payload),{},{coordinate:b})}))}else n(c);return}if(i!=null){var x;typeof r==`function`?x=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(x=i.find(e=>String(e.value)===c.payload.label));var S=c.payload.coordinate;if(S==null||o==null){n(uy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(x==null){n(uy({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var C=S.x,w=S.y,T=Math.min(C,o.x+o.width),E=Math.min(w,o.y+o.height),D={x:a===`horizontal`?x.coordinate:T,y:a===`horizontal`?E:x.coordinate};n(uy({active:c.payload.active,coordinate:D,dataKey:c.payload.dataKey,index:String(x.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}};return fx.on(px,s),()=>{fx.off(px,s)}},[c,n,t,e,r,i,a,o])}function Px(){var e=L(lu),t=L(du),n=I();(0,s.useEffect)(()=>{if(e==null)return be;var r=(r,i,a)=>{t!==a&&e===r&&n(Cx(i))};return fx.on(mx,r),()=>{fx.off(mx,r)}},[n,t,e])}function Fx(){var e=I();(0,s.useEffect)(()=>{e(vx())},[e]),Nx(),Px()}function Ix(e,t,n,r,i,a){var o=L(n=>Fb(n,e,t)),c=L(mb),l=L(du),u=L(lu),d=L(uu),f=L(yx)?.sourceViewBox!=null,p=Es();(0,s.useEffect)(()=>{if(!f&&u!=null&&l!=null){var e=uy({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:p,graphicalItemId:c});fx.emit(px,u,e,l)}},[f,n,o,c,i,r,l,u,d,a,p])}function Lx(e,t,n){return(t=Rx(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rx(e){var t=zx(e,`string`);return typeof t==`symbol`?t:t+``}function zx(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Bx=class{constructor(e){Lx(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function Vx(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Hx(e){for(var t=1;t{try{var n=document.getElementById(Yx);n||(n=document.createElement(`span`),n.setAttribute(`id`,Yx),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,Jx,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},Qx=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||sc.isSsr)return{width:0,height:0};if(!Kx.enableCache)return Zx(e,t);var n=Xx(e,t),r=qx.get(n);if(r)return r;var i=Zx(e,t);return qx.set(n,i),i},$x;function eS(e,t){return aS(e)||iS(e,t)||nS(e,t)||tS()}function tS(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nS(e,t){if(e){if(typeof e==`string`)return rS(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rS(e,t):void 0}}function rS(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=e.breakAll,r=e.style;try{var i=[];return _e(t)||(i=n?t.toString().split(``):t.toString().split(IS)),{wordsWithComputedWidth:i.map(e=>({word:e,width:Qx(e,r).width})),spaceWidth:n?0:Qx(`\xA0`,r).width}}catch{return null}};function RS(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function zS(e){return _e(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var BS=(e,t,n,r)=>e.reduce((e,i)=>{var a=i.word,o=i.width,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+ne.reduce((e,t)=>e.width>t.width?e:t),HS=`…`,US=(e,t,n,r,i,a,o,s)=>{var c=LS({breakAll:n,style:r,children:e.slice(0,t)+HS});if(!c)return[!1,[]];var l=BS(c.wordsWithComputedWidth,a,o,s);return[l.length>i||VS(l).width>Number(a),l]},WS=(e,t,n,r,i)=>{var a=e.maxLines,o=e.children,s=e.style,c=e.breakAll,l=P(a),u=String(o),d=BS(t,r,n,i);if(!l||i||!(d.length>a||VS(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),_=AS(US(u,g-1,c,s,a,r,n,i),2),v=_[0],y=_[1],b=AS(US(u,g,c,s,a,r,n,i),1)[0];if(!v&&!b&&(f=g+1),v&&b&&(p=g-1),!v&&b){h=y;break}m++}return h||d},GS=e=>[{words:_e(e)?[]:e.toString().split(IS),width:void 0}],KS=e=>{var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!sc.isSsr){var s,c,l=LS({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return GS(r);return WS({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return GS(r)},qS=`#808080`,JS={angle:0,breakAll:!1,capHeight:`0.71em`,fill:qS,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},YS=(0,s.forwardRef)((e,t)=>{var n=Rt(e,JS),r=n.x,i=n.y,a=n.lineHeight,c=n.capHeight,l=n.fill,u=n.scaleToFit,d=n.textAnchor,f=n.verticalAnchor,p=OS(n,TS),m=(0,s.useMemo)(()=>KS({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:u,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,u,p.style,p.width]),g=p.dx,_=p.dy,v=p.angle,y=p.className,b=p.breakAll,x=OS(p,ES);if(!ue(r)||!ue(i)||m.length===0)return null;var S=Number(r)+(P(g)?g:0),C=Number(i)+(P(_)?_:0);if(!H(S)||!H(C))return null;var w;switch(f){case`start`:w=wS(`calc(${c})`);break;case`middle`:w=wS(`calc(${(m.length-1)/2} * -${a} + (${c} / 2))`);break;default:w=wS(`calc(${m.length-1} * -${a})`)}var T=[],E=m[0];if(u&&E!=null){var D=E.width,O=p.width;T.push(`scale(${P(O)&&P(D)?O/D:1})`)}return v&&T.push(`rotate(${v}, ${S}, ${C})`),T.length&&(x.transform=T.join(` `)),s.createElement(`text`,DS({},h(x),{ref:t,x:S,y:C,className:o(`recharts-text`,y),textAnchor:d,fill:l.includes(`url`)?qS:l}),m.map((e,t)=>{var n=e.words.join(b?``:` `);return s.createElement(`tspan`,{x:S,dy:t===0?w:a,key:`${n}-${t}`},n)}))});YS.displayName=`Text`;var XS=[`labelRef`],ZS=[`content`];function QS(e,t){if(e==null)return{};var n,r,i=$S(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,c=e.children,l=(0,s.useMemo)(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return s.createElement(oC.Provider,{value:l},c)},cC=()=>{var e=(0,s.useContext)(oC),t=Es();return e||(t?xe(t):void 0)},lC=(0,s.createContext)(null),uC=()=>{var e=(0,s.useContext)(lC),t=L(Nu);return e||t},dC=e=>{var t=e.value,n=e.formatter,r=_e(e.children)?t:e.children;return typeof n==`function`?n(r):r},fC=e=>e!=null&&typeof e==`function`,pC=(e,t)=>se(t-e)*Math.min(Math.abs(t-e),360),mC=(e,t,n,r,i)=>{var a=e.offset,c=e.className,l=i.cx,u=i.cy,d=i.innerRadius,f=i.outerRadius,p=i.startAngle,m=i.endAngle,h=i.clockWise,g=(d+f)/2,_=pC(p,m),v=_>=0?1:-1,y,b;switch(t){case`insideStart`:y=p+v*a,b=h;break;case`insideEnd`:y=m-v*a,b=!h;break;case`end`:y=m+v*a,b=h;break;default:throw Error(`Unsupported position ${t}`)}b=_<=0?b:!b;var x=vl(l,u,g,y),S=vl(l,u,g,y+(b?1:-1)*359),C=`M${x.x},${x.y} - A${g},${g},0,1,${+!b}, - ${S.x},${S.y}`,w=_e(e.id)?fe(`recharts-radial-line-`):e.id;return s.createElement(`text`,aC({},r,{dominantBaseline:`central`,className:o(`recharts-radial-bar-label`,c)}),s.createElement(`defs`,null,s.createElement(`path`,{id:w,d:C})),s.createElement(`textPath`,{xlinkHref:`#${w}`},n))},hC=(e,t,n)=>{var r=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,s=(e.startAngle+e.endAngle)/2;if(n===`outside`){var c=vl(r,i,o+t,s),l=c.x;return{x:l,y:c.y,textAnchor:l>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var u=vl(r,i,(a+o)/2,s);return{x:u.x,y:u.y,textAnchor:`middle`,verticalAnchor:`middle`}},gC=e=>e!=null&&`cx`in e&&P(e.cx),_C={angle:0,offset:5,zIndex:pu.label,position:`middle`,textBreakAll:!1};function vC(e){if(!gC(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function yC(e){var t=Rt(e,_C),n=t.viewBox,r=t.parentViewBox,i=t.position,a=t.value,c=t.children,l=t.content,u=t.className,d=u===void 0?``:u,f=t.textBreakAll,p=t.labelRef,m=uC(),g=cC(),_=n==null?i===`center`?g:m??g:gC(n)?n:xe(n),v,y,b=vC(_);if(!_||_e(a)&&_e(c)&&!(0,s.isValidElement)(l)&&typeof l!=`function`)return null;var x=gC(_)&&(i===`insideStart`||i===`insideEnd`||i===`end`);if(gC(_))x||(y=hC(_,t.offset,t.position));else if(b){var S=De({viewBox:b,position:i,offset:t.offset,parentViewBox:gC(r)?void 0:r,clamp:!0});y=tC(tC({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width===void 0?{}:{width:S.width}),S.height===void 0?{}:{height:S.height})}var C=tC(tC(tC(tC({},y?.x===void 0?{}:{x:y.x}),y?.y===void 0?{}:{y:y.y}),t),{},{viewBox:_});if((0,s.isValidElement)(l)){C.labelRef;var w=QS(C,XS);return(0,s.cloneElement)(l,w)}if(typeof l==`function`){C.content;var T=QS(C,ZS);if(v=(0,s.createElement)(l,T),(0,s.isValidElement)(v))return v}else v=dC(t);var E=h(t);return x&&gC(_)?mC(t,i,v,E,_):y==null?null:s.createElement(cx,{zIndex:t.zIndex},s.createElement(YS,aC({ref:p,className:o(`recharts-label`,d)},E,y,{textAnchor:RS(E.textAnchor)?E.textAnchor:y.textAnchor,breakAll:f}),v))}yC.displayName=`Label`;var bC=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?s.createElement(yC,aC({key:`label-implicit`},r)):ue(e)?s.createElement(yC,aC({key:`label-implicit`,value:e},r)):(0,s.isValidElement)(e)?e.type===yC?(0,s.cloneElement)(e,tC({key:`label-implicit`},r)):s.createElement(yC,aC({key:`label-implicit`,content:e},r)):fC(e)?s.createElement(yC,aC({key:`label-implicit`,content:e},r)):e&&typeof e==`object`?s.createElement(yC,aC({},e,{key:`label-implicit`},r)):null};function xC(e){var t=e.label,n=e.labelRef;return bC(t,cC(),n)||null}var SC=[`valueAccessor`],CC=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function wC(){return wC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(zS(t))return t},OC=(0,s.createContext)(void 0),kC=OC.Provider,AC=(0,s.createContext)(void 0);AC.Provider;function jC(){return(0,s.useContext)(OC)}function MC(){return(0,s.useContext)(AC)}function NC(e){var t=e.valueAccessor,n=t===void 0?DC:t,r=TC(e,SC),i=r.dataKey;r.clockWise;var a=r.id,o=r.textBreakAll,c=r.zIndex,l=TC(r,CC),u=jC(),d=MC(),f=u||d;return!f||!f.length?null:s.createElement(cx,{zIndex:c??pu.label},s.createElement(D,{className:`recharts-label-list`},f.map((e,t)=>{var c=_e(i)?n(e,t):U(e.payload,i),u=_e(a)?{}:{id:`${a}-${t}`};return s.createElement(yC,wC({key:`label-${t}`},h(e),l,u,{fill:r.fill??e.fill,parentViewBox:e.parentViewBox,value:c,textBreakAll:o,viewBox:e.viewBox,index:t,zIndex:0}))})))}NC.displayName=`LabelList`;function PC(e){var t=e.label;return t?t===!0?s.createElement(NC,{key:`labelList-implicit`}):s.isValidElement(t)||fC(t)?s.createElement(NC,{key:`labelList-implicit`,content:t}):typeof t==`object`?s.createElement(NC,wC({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}function FC(){return FC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,i=e.className,a=o(`recharts-dot`,i);return P(t)&&P(n)&&P(r)?s.createElement(`circle`,FC({},p(e),At(e),{className:a,cx:t,cy:n,r})):null},LC=na({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=B(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=B(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),RC=LC.actions;RC.addRadiusAxis,RC.removeRadiusAxis,RC.addAngleAxis,RC.removeAngleAxis;var zC=LC.reducer;function BC(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}var VC=a((e=>{typeof Symbol==`function`&&Symbol.for}));a(((e,t)=>{t.exports=VC()}))();var HC=e=>e&&typeof e==`object`&&`clipDot`in e?!!e.clipDot:!0;function UC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function WC(e){for(var t=1;t{r||(i.current===null?n(ny(t)):i.current!==t&&n(ry({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(iy(i.current)),null)},[n]),null}function tw(e){var t=e.legendPayload,n=I(),r=Wo(),i=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{r||(i.current===null?n(Rs(t)):i.current!==t&&n(zs({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(Bs(i.current)),null)},[n]),null}function nw(e,t){return sw(e)||ow(e,t)||iw(e,t)||rw()}function rw(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iw(e,t){if(e){if(typeof e==`string`)return aw(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?aw(e,t):void 0}}function aw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:`removed`,prev:i});for(var a=0;ae[Math.floor(r*n)]),t)}function dw(e,t){return lw(t.map((t,n)=>e[n]),t)}function fw(e,t){for(var n=new Map,r=0;r{var a=n(e,t);if(a!=null){var o=r.get(a);if(o!==void 0)return i.add(a),o}}),o=[];for(var s of r){var c=nw(s,2),l=c[0],u=c[1];i.has(l)||o.push(u)}return lw(a,t,o)}function mw(e,t,n){return t==null?null:e==null?t.map(e=>({status:`added`,next:e})):n===`index`?uw(e,t):n===`append`?dw(e,t):pw(e,t,n)}function hw(e,t){var n=(0,s.useRef)(e),r=(0,s.useRef)(t.current),i=(0,s.useRef)(!0);n.current!==e&&(n.current=e,r.current=t.current,i.current=!1);var a=(0,s.useCallback)(function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(n===0){i.current=!0;return}n===1&&(r.current=e),n>0&&i.current&&a&&(t.current=e)},[t]);return{startValue:r.current,syncStepValue:a}}function gw(e,t){return xw(e)||bw(e,t)||vw(e,t)||_w()}function _w(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vw(e,t){if(e){if(typeof e==`string`)return yw(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yw(e,t):void 0}}function yw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e==`function`&&e(),i(!0)},[e]),handleAnimationEnd:(0,s.useCallback)(()=>{typeof t==`function`&&t(),i(!1)},[t])}}function Cw(e){var t=e.animationInput,n=e.animationIdPrefix,r=e.items,i=e.previousItemsRef,a=e.isAnimationActive,o=e.animationBegin,c=e.animationDuration,l=e.animationEasing,u=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,h=e.children,g=e.layout,_=ul(t,n),v=hw(_,i),y=v.startValue??null,b=mw(y,r,p??cw);return s.createElement(ll,{animationId:_,begin:o,duration:c,isActive:a,easing:l,onAnimationEnd:d,onAnimationStart:u,key:_},e=>{var t=y==null,n=r==null?r:f(b,e,g),i=m?m(e):e>0;return v.syncStepValue(n,e,i),n==null?null:h(n,e,t)})}function ww(e,t){return kw(e)||Ow(e,t)||Ew(e,t)||Tw()}function Tw(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ew(e,t){if(e){if(typeof e==`string`)return Dw(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dw(e,t):void 0}}function Dw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nww(s.useState(()=>fe(`uid-`)),1)[0]);function jw(e,t){var n=Aw();return t||(e?`${e}-${n}`:n)}var Mw=(0,s.createContext)(void 0),Nw=e=>{var t=e.id,n=e.type,r=e.children,i=jw(`recharts-${n}`,t);return s.createElement(Mw.Provider,{value:i},r(i))},Pw=na({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(B(t.payload))},prepare:V()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=Oi(e).cartesianItems.indexOf(B(r));a>-1&&(e.cartesianItems[a]=B(i))},prepare:V()},removeCartesianGraphicalItem:{reducer(e,t){var n=Oi(e).cartesianItems.indexOf(B(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:V()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(B(t.payload))},prepare:V()},removePolarGraphicalItem:{reducer(e,t){var n=Oi(e).polarItems.indexOf(B(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:V()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=Oi(e).polarItems.indexOf(B(r));a>-1&&(e.polarItems[a]=B(i))},prepare:V()}}}),Fw=Pw.actions,Iw=Fw.addCartesianGraphicalItem,Lw=Fw.replaceCartesianGraphicalItem,Rw=Fw.removeCartesianGraphicalItem;Fw.addPolarGraphicalItem,Fw.removePolarGraphicalItem,Fw.replacePolarGraphicalItem;var zw=Pw.reducer,Bw=(0,s.memo)(e=>{var t=I(),n=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{n.current===null?t(Iw(e)):n.current!==e&&t(Lw({prev:n.current,next:e})),n.current=e},[t,e]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(Rw(n.current)),null)},[t]),null}),Vw=[`points`];function Hw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Uw(e){for(var t=1;t{var c=Uw(Uw(Uw({r:3},o),p),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return s.createElement(Xw,{key:`dot-${r}`,option:n,dotProps:c,className:i})}),h={};return c&&l!=null&&(h.clipPath=`url(#clipPath-${f?``:`dots-`}${l})`),s.createElement(cx,{zIndex:d},s.createElement(D,qw({className:r},h),m))}function $w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eT(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Co,wo],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),gT=()=>L(hT),_T=()=>L(vb);function vT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yT(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var c=yT(yT(yT({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),m(i)),At(i)),l=(0,s.isValidElement)(i)?(0,s.cloneElement)(i,c):typeof i==`function`?i(c):s.createElement(IC,c);return s.createElement(D,{className:`recharts-active-dot`,clipPath:o},l)};function wT(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,c=o===void 0?pu.activeDot:o,l=L(db),u=_T();if(t==null||u==null)return null;var d=t.find(e=>u.includes(e.payload));return _e(d)?null:s.createElement(cx,{zIndex:c},s.createElement(CT,{point:d,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var TT=e=>{var t=e.chartData,n=I(),r=Wo();return(0,s.useEffect)(()=>r?()=>{}:(n(Sx(t)),()=>{n(Sx(void 0))}),[t,n,r]),null},ET={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},DT=na({name:`brush`,initialState:ET,reducers:{setBrushSettings(e,t){return t.payload==null?ET:t.payload}}});DT.actions.setBrushSettings;var OT=DT.reducer,kT=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}};function AT(e){return(e%180+180)%180}var jT=function(e){var t=e.width,n=e.height,r=AT(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=Oi(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=Oi(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(B(t.payload))},removeLine:(e,t)=>{var n=Oi(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),NT=MT.actions;NT.addDot,NT.removeDot;var PT=NT.addArea,FT=NT.removeArea;NT.addLine,NT.removeLine;var IT=MT.reducer;function LT(e,t){return HT(e)||VT(e,t)||zT(e,t)||RT()}function RT(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zT(e,t){if(e){if(typeof e==`string`)return BT(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?BT(e,t):void 0}}function BT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=LT((0,s.useState)(`${fe(`recharts`)}-clip`),1)[0],r=gT();if(r==null)return null;var i=r.x,a=r.y,o=r.width,c=r.height;return s.createElement(UT.Provider,{value:n},s.createElement(`defs`,null,s.createElement(`clipPath`,{id:n},s.createElement(`rect`,{x:i,y:a,height:c,width:o}))),t)},GT=()=>(0,s.useContext)(UT);function KT(){}function qT(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:Object.prototype.toString.call(e)===`[object Object]`}function JT(e,t,n){return YT(e,t,void 0,void 0,void 0,void 0,n)}function YT(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return XT(e,t,a,o)}return XT(e,t,a,o)}function XT(e,t,n,r){if(Object.is(e,t))return!0;let i=Ht(e),a=Ht(t);if(i===`[object Arguments]`&&(i=tn),a===`[object Arguments]`&&(a=tn),i!==a)return!1;switch(i){case Wt:return e.toString()===t.toString();case Gt:return vn(e.valueOf(),t.valueOf());case Kt:case Yt:case Jt:return Object.is(e.valueOf(),t.valueOf());case Ut:return e.source===t.source&&e.flags===t.flags;case $t:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case Xt:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!YT(a,t.get(i),i,e,t,n,r))return!1;return!0;case Zt:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;oYT(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case Qt:case an:case on:case sn:case cn:case ln:case un:case dn:case fn:case pn:case mn:case hn:if(_n(e)!==_n(t)||e.length!==t.length)return!1;for(let i=0;ie*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function nE(e,t){return QT(e,t+1)}function rE(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:QT(r,l)};var a=c,d,f=()=>(d===void 0&&(d=n(t,a)),d),p=t.coordinate,m=c===0||tE(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function iE(e,t,n,r,i){var a=(r||[]).slice().length;if(a===0)return[];for(var o=t.start,s=t.end,c=1;c<=a;c++){for(var l=(a-1)%c,u=o,d=!0,f=function(){var t=r[m];if(t==null)return 0;var a=m,o,c=()=>(o===void 0&&(o=n(t,a)),o),f=t.coordinate,p=m===l||tE(e,f,c,u,s);if(!p)return d=!1,1;p&&(u=f+e*(c()/2+i))},p,m=l;m(u===void 0&&(u=n(r,t)),u);if(t===o-1){var f=e*(l.coordinate+e*d()/2-c);a[t]=l=oE(oE({},l),{},{tickCoord:f>0?l.coordinate-f*e:l.coordinate})}else a[t]=l=oE(oE({},l),{},{tickCoord:l.coordinate});l.tickCoord!=null&&tE(e,l.tickCoord,d,s,c)&&(c=l.tickCoord-e*(d()/2+i),a[t]=oE(oE({},l),{},{isShow:!0}))},u=o-1;u>=0;u--)if(l(u))continue;return a}function dE(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1];if(u!=null){var d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=oE(oE({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),u.tickCoord!=null&&tE(e,u.tickCoord,()=>d,c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=oE(oE({},u),{},{isShow:!0}))}}for(var p=a?s-1:s,m=function(t){var r=o[t];if(r==null)return 1;var a=r,s,u=()=>(s===void 0&&(s=n(r,t)),s);if(t===0){var d=e*(a.coordinate-e*u()/2-c);o[t]=a=oE(oE({},a),{},{tickCoord:d<0?a.coordinate-d*e:a.coordinate})}else o[t]=a=oE(oE({},a),{},{tickCoord:a.coordinate});a.tickCoord!=null&&tE(e,a.tickCoord,u,c,l)&&(c=a.tickCoord+e*(u()/2+i),o[t]=oE(oE({},a),{},{isShow:!0}))},h=0;h{var i=typeof l==`function`?l(e.value,r):e.value;return p===`width`?$T(Qx(i,{fontSize:t,letterSpacing:n}),m,d):Qx(i,{fontSize:t,letterSpacing:n})[p]},g=i[0],_=i[1],v=i.length>=2&&g!=null&&_!=null?se(_.coordinate-g.coordinate):1,y=eE(a,v,p);return c===`equidistantPreserveStart`?rE(v,y,h,i,o):c===`equidistantPreserveEnd`?iE(v,y,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?dE(v,y,h,i,o,c===`preserveStartEnd`):uE(v,y,h,i,o),f.filter(e=>e.isShow))}var pE=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var u=n?n.getBoundingClientRect().width:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},mE=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.height>l&&(l=t.height)}});var u=n?n.getBoundingClientRect().height:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},hE=na({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId,a=n.ticks;e[r][i]=B(a)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId;delete e[r][i]}}}),gE=hE.actions,_E=gE.setRenderedTicks,vE=gE.removeRenderedTicks,yE=hE.reducer,bE=[`axisLine`,`width`,`height`,`className`,`hide`,`ticks`,`axisType`,`axisId`];function xE(e,t){return EE(e)||TE(e,t)||CE(e,t)||SE()}function SE(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CE(e,t){if(e){if(typeof e==`string`)return wE(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wE(e,t):void 0}}function wE(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&ZT(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(_E({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,s.useEffect)(()=>r==null||n==null?be:()=>{i(vE({axisId:r,axisType:n}))},[i,r,n]),null}var VE=(0,s.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,c=e.stroke,l=e.tickFormatter,u=e.unit,d=e.padding,f=e.tickTextProps,h=e.orientation,g=e.mirror,_=e.x,v=e.y,y=e.width,b=e.height,x=e.tickSize,S=e.tickMargin,C=e.fontSize,w=e.letterSpacing,T=e.getTicksConfig,E=e.events,O=e.axisType,k=e.axisId,A=fE($($({},T),{},{ticks:r}),C,w),j=p(T),M=m(i),N=RS(j.textAnchor)?j.textAnchor:LE(h,g),ee=RE(h,g),te={};typeof a==`object`&&(te=a);var re=$($({},j),{},{fill:`none`},te),ie=A.map(e=>$({entry:e},IE(e,_,v,y,b,h,x,g,S))),ae=ie.map(e=>{var t=e.entry,n=e.line;return s.createElement(D,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&s.createElement(`line`,kE({},re,n,{className:o(`recharts-cartesian-axis-tick-line`,ne(a,`className`))})))}),oe=ie.map((e,t)=>{var n=e.entry,r=e.tick,a=$($({},$($($($({verticalAnchor:ee},j),{},{textAnchor:N,stroke:`none`,fill:c},r),{},{index:t,payload:n,visibleTicksCount:A.length,tickFormatter:l,padding:d},f),{},{angle:f?.angle??j.angle??0})),M);return s.createElement(D,kE({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},Mt(E,n,t)),i&&s.createElement(zE,{option:i,tickProps:a,value:`${typeof l==`function`?l(n.value,t):n.value}${u||``}`}))});return s.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${O}-ticks`},s.createElement(BE,{ticks:A,axisId:k,axisType:O}),oe.length>0&&s.createElement(cx,{zIndex:pu.label},s.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${O}-tick-labels`,ref:t},oe)),ae.length>0&&s.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${O}-tick-lines`},ae))}),HE=(0,s.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,c=e.hide,l=e.ticks,u=e.axisType,d=e.axisId,f=DE(e,bE),m=xE((0,s.useState)(``),2),h=m[0],g=m[1],_=xE((0,s.useState)(``),2),v=_[0],y=_[1],b=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>pE({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>mE({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var x=(0,s.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);b.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==h||a!==v)&&(g(i),y(a))}}},[h,v]);return c||r!=null&&r<=0||i!=null&&i<=0?null:s.createElement(cx,{zIndex:e.zIndex},s.createElement(D,{className:o(`recharts-cartesian-axis`,a)},s.createElement(FE,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:p(e)}),s.createElement(VE,{ref:x,axisType:u,events:f,fontSize:h,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),s.createElement(sC,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},s.createElement(xC,{label:e.label,labelRef:e.labelRef}),e.children)))}),UE=s.forwardRef((e,t)=>{var n=Rt(e,PE);return s.createElement(HE,kE({},n,{ref:t}))});UE.displayName=`CartesianAxis`;var WE=na({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),GE=WE.actions;GE.addErrorBar,GE.replaceErrorBar,GE.removeErrorBar;var KE=WE.reducer;function qE(e,t){var n=L(t=>Gg(t,e)),r=L(e=>qg(e,t)),i=n?.allowDataOverflow??Ug.allowDataOverflow,a=r?.allowDataOverflow??Z.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function JE(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=gT(),a=qE(t,n),o=a.needClipX,c=a.needClipY,l=a.needClip,u=L(e=>gv(e,t,!1)),d=L(e=>_v(e,n,!1));if(!l||!i)return null;var f=i.x,p=i.y,m=i.width,h=i.height,g=o&&u?Math.min(u[0],u[1]):f-m/2,_=c&&d?Math.min(d[0],d[1]):p-h/2,v=o&&u?Math.abs(u[1]-u[0]):m*2,y=c&&d?Math.abs(d[1]-d[0]):h*2;return s.createElement(`clipPath`,{id:`clipPath-${r}`},s.createElement(`rect`,{x:g,y:_,width:v,height:y}))}function YE(e){var t=m(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}function XE(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function ZE(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var QE=(e,t,n)=>Wv(e,`xAxis`,XE(e,t),n),$E=(e,t,n)=>Uv(e,`xAxis`,XE(e,t),n),eD=(e,t,n)=>Wv(e,`yAxis`,ZE(e,t),n),tD=(e,t,n)=>Uv(e,`yAxis`,ZE(e,t),n),nD=R([W,QE,eD,$E,tD],(e,t,n,r,i)=>ao(e,`xAxis`)?vo(t,r,!1):vo(n,i,!1)),rD=R([t_,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`area`).find(e=>e.id===t)),iD=e=>ao(W(e),`xAxis`)?`yAxis`:`xAxis`,aD=(e,t)=>iD(e)===`yAxis`?ZE(e,t):XE(e,t),oD=(e,t,n)=>E_(e,iD(e),aD(e,t),n),sD=R([W,QE,eD,$E,tD,R([rD,oD],(e,t)=>{if(e!=null&&t!=null){var n=e.stackId,r=Fu(e);if(n!=null&&r!=null){var i=(t[n]?.stackedData)?.find(e=>e.key===r);if(i!=null)return i.map(e=>[e[0],e[1]])}}}),jl,nD,rD,fu,R([rD,oD],(e,t)=>{if(e!=null&&e.stackId!=null&&t!=null){var n=t[e.stackId];if(n!=null)return n.graphicalItems.map(e=>e.dataKey).filter(ye)}})],(e,t,n,r,i,a,o,s,c,l,u)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(c==null||e!==`horizontal`&&e!==`vertical`||t==null||n==null||r==null||i==null||r.length===0||i.length===0||s==null)){var m=c.data,h=m&&m.length>0?m:d?.slice(f,p+1);if(h!=null)return BD({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:a,displayedData:h,chartBaseValue:l,bandSize:s,stackDataKeys:u})}}),cD=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`layout`,`isRange`,`stroke`,`connectNulls`],lD=[`id`,`baseLine`];function uD(){return uD=Object.assign?Object.assign.bind():function(e){for(var t=1;te.y||0));return P(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.y||0),l)),P(l)?s.createElement(`rect`,{x:ae.x||0));return P(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.x||0),l)),P(l)?s.createElement(`rect`,{x:0,y:ae==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>e.status===`matched`?[CD(CD({},e.next),{},{x:he(e.prev.x,e.next.x,t),y:he(e.prev.y,e.next.y,t)})]:e.status===`added`?[e.next]:[]),connectNulls:!1,dot:!1,fill:`#3182bd`,fillOpacity:.6,hide:!1,isAnimationActive:`auto`,legendType:`line`,stroke:`#3182bd`,strokeWidth:1,type:`linear`,label:!1,shape:gD,xAxisId:0,yAxisId:0,zIndex:pu.area};function OD(e,t){return e&&e!==`none`?e:t}var kD=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.fill,a=e.legendType;return[{inactive:e.hide,dataKey:t,type:a,color:OD(r,i),value:bo(n,t),payload:e}]},AD=s.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,c=e.hide,l=e.unit,u=e.formatter,d=e.tooltipType,f=e.id,p={dataDefinedOnItem:n,getPosition:be,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:bo(o,t),hide:c,type:d,color:OD(r,a),unit:l,formatter:u,graphicalItemId:f}};return s.createElement(ew,{tooltipEntrySettings:p})});function jD(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.needClip,a=r.dot,o=r.dataKey,c=p(r);return s.createElement(Qw,{points:n,dot:a,className:`recharts-area-dots`,dotClassName:`recharts-area-dot`,dataKey:o,baseProps:c,needClip:i,clipPathId:t})}function MD(e){var t=e.showLabels,n=e.children,r=e.points.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return CD(CD({},t),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:t,fill:void 0})});return s.createElement(kC,{value:t?r:void 0},n)}function ND(e){var t=e.points,n=e.baseLine,r=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,c=e.isAnimating,l=e.isEntrance,u=a.layout,d=a.type,f=a.stroke,p=a.connectNulls,m=a.isRange,g=a.shape,_=a.id,v=bD(a,_D),y=CD(CD({},h(v)),{},{id:_,points:t,connectNulls:p,type:d,baseLine:n,layout:u,stroke:f,isRange:m,animationElapsedTime:o,isAnimating:c,isEntrance:l});return s.createElement(s.Fragment,null,t?.length>1&&s.createElement(D,{clipPath:r?`url(#clipPath-${i})`:void 0},s.createElement($C,{option:g,DefaultShape:DD.shape,shapeProps:y})),s.createElement(jD,{points:t,props:v,clipPathId:i}))}function PD(e,t,n){return P(e)?he(P(t)?t:void 0,e,n):_e(e)||ce(e)?he(P(t)?t:void 0,0,n):e}function FD(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=r.points,c=r.baseLine,l=r.isAnimationActive,u=r.animationBegin,d=r.animationDuration,f=r.animationEasing,p=r.animationMatchBy,m=r.animationInterpolateFn,h=(0,s.useMemo)(()=>({points:o,baseLine:c}),[o,c]),g=hw(h,a),_=Ms(),v=Sw(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(_==null)return null;var C=Array.isArray(c)&&Array.isArray(S)?mw(S,c,p):Array.isArray(c)?mw(null,c,p):null;return s.createElement(Cw,{animationInput:h,animationIdPrefix:`recharts-area-`,items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:u,animationDuration:d,animationEasing:f,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:m,animationMatchBy:p,layout:_},(e,i,a)=>{var l=i===1?c:Array.isArray(c)?m(C,i,_):a?c:PD(c,S,i);return g.syncStepValue(l,i),s.createElement(MD,{showLabels:!y,points:o},r.children,s.createElement(ND,{points:e,baseLine:l,needClip:t,clipPathId:n,props:r,animationElapsedTime:i,isAnimating:y||i<1,isEntrance:a}),s.createElement(PC,{label:r.label}))})}function ID(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=(0,s.useRef)(null),a=(0,s.useRef)();return s.createElement(FD,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}var LD=class extends s.PureComponent{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.top,c=e.left,l=e.needClip,u=e.xAxisId,d=e.yAxisId,f=e.width,p=e.height,m=e.id,h=e.baseLine,g=e.zIndex;if(t)return null;var _=o(`recharts-area`,i),v=m,y=YE(n),b=y.r,x=y.strokeWidth,S=HC(n),C=b*2+x,w=l?`url(#clipPath-${S?``:`dots-`}${v})`:void 0;return s.createElement(cx,{zIndex:g},s.createElement(D,{className:_},l&&s.createElement(`defs`,null,s.createElement(JE,{clipPathId:v,xAxisId:u,yAxisId:d}),!S&&s.createElement(`clipPath`,{id:`clipPath-dots-${v}`},s.createElement(`rect`,{x:c-C/2,y:a-C/2,width:f+C,height:p+C}))),s.createElement(ID,{needClip:l,clipPathId:v,props:this.props})),s.createElement(wT,{points:r,mainColor:OD(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(h)&&s.createElement(wT,{points:h,mainColor:OD(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}};function RD(e){var t=e.activeDot,n=e.animationBegin,r=e.animationDuration,i=e.animationEasing,a=e.connectNulls,o=e.dot,c=e.fill,l=e.fillOpacity,u=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,h=e.yAxisId,g=bD(e,vD),_=js(),v=Ob(),y=qE(m,h).needClip,b=Wo(),x=L(t=>sD(t,e.id,b))??{},S=x.points,C=x.isRange,w=x.baseLine,T=gT();if(_!==`horizontal`&&_!==`vertical`||T==null||v!==`AreaChart`&&v!==`ComposedChart`)return null;var E=T.height,D=T.width,O=T.x,k=T.y;return!S||!S.length?null:s.createElement(LD,yD({},g,{activeDot:t,animationBegin:n,animationDuration:r,animationEasing:i,baseLine:w,connectNulls:a,dot:o,fill:c,fillOpacity:l,height:E,hide:u,layout:_,isAnimationActive:d,isRange:C,legendType:f,needClip:y,points:S,stroke:p,width:D,left:O,top:k,xAxisId:m,yAxisId:h}))}var zD=(e,t,n,r,i)=>{var a=n??t;if(P(a))return a;var o=e===`horizontal`?i:r,s=o.scale.domain();if(o.type===`number`){var c=Math.max(s[0],s[1]),l=Math.min(s[0],s[1]);return a===`dataMin`?l:a===`dataMax`||c<0?c:Math.max(Math.min(s[0],s[1]),0)}return a===`dataMin`?s[0]:a===`dataMax`?s[1]:s[0]};function BD(e){var t=e.areaSettings,n=t.connectNulls,r=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,s=e.chartBaseValue,c=e.xAxis,l=e.yAxis,u=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,h=e.stackDataKeys,g=a&&a.length,_=zD(o,s,r,c,l),v=o===`horizontal`,y=!1,b=u.map((e,t)=>{var r;if(g)r=a[d+t];else{var o=U(e,i);Array.isArray(o)?(r=o,y=!0):r=[_,o]}var s=r?.[1]??null,u=U(e,i),b=g&&u==null&&h!=null&&h.length>0&&h.every(t=>U(e,t)==null),x=s==null||g&&!n&&u==null||b;return v?{x:fo({axis:c,ticks:f,bandSize:m,entry:e,index:t}),y:x?null:l.scale.map(s)??null,value:r,payload:e}:{x:x?null:c.scale.map(s)??null,y:fo({axis:l,ticks:p,bandSize:m,entry:e,index:t}),value:r,payload:e}});return{points:b,baseLine:(g||y?b.map(e=>{var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:t!=null&&e.y!=null?l.scale.map(t)??null:null,payload:e.payload}:{x:t==null?null:c.scale.map(t)??null,y:e.y,payload:e.payload}}):v?l.scale.map(_):c.scale.map(_))??0,isRange:y}}function VD(e){var t=Rt(e,DD),n=Wo();return s.createElement(Nw,{id:t.id,type:`area`},e=>s.createElement(s.Fragment,null,s.createElement(tw,{legendPayload:kD(t)}),s.createElement(AD,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),s.createElement(Bw,{type:`area`,id:e,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:uo(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),s.createElement(RD,yD({},t,{id:e}))))}var HD=s.memo(VD,oc);HD.displayName=`Area`;var UD=[`domain`,`range`],WD=[`domain`,`range`];function GD(e,t){if(e==null)return{};var n,r,i=KD(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(o!=null)return eO(eO({},a),{},{type:o})},[o,a]);return(0,s.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(lT(c)):n.current!==c&&t(uT({prev:n.current,next:c})),n.current=c)},[c,t]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(dT(n.current)),null)},[t]),null}function sO(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,s.useRef)(null),c=(0,s.useRef)(null),l=L(Ho),u=Wo(),d=I(),f=`yAxis`,p=L(e=>Rv(e,t)),m=L(e=>Lv(e,t)),h=L(e=>Hv(e,f,t,u)),g=L(e=>Kg(e,t));if((0,s.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||fC(i)||(0,s.isValidElement)(i)||g==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(p.width)!==Math.round(n)&&d(fT({id:t,width:n}))}}},[h,p,d,i,t,r,g]),p==null||m==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=iO(e,XD);g.id,g.scale;var v=iO(g,ZD);return s.createElement(UE,QD({},_,v,{ref:a,labelRef:c,x:m.x,y:m.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:p.width,height:p.height,className:o(`recharts-${f} ${f}`,n),viewBox:l,ticks:h,axisType:f,axisId:t}))}var cO={allowDataOverflow:Z.allowDataOverflow,allowDecimals:Z.allowDecimals,allowDuplicatedCategory:Z.allowDuplicatedCategory,angle:Z.angle,axisLine:PE.axisLine,hide:!1,includeHidden:Z.includeHidden,interval:Z.interval,label:!1,minTickGap:Z.minTickGap,mirror:Z.mirror,orientation:Z.orientation,padding:Z.padding,reversed:Z.reversed,scale:Z.scale,tick:Z.tick,tickCount:Z.tickCount,tickLine:PE.tickLine,tickSize:PE.tickSize,type:Z.type,niceTicks:Z.niceTicks,width:Z.width,yAxisId:0},lO=s.memo(e=>{var t=Rt(e,cO);return s.createElement(s.Fragment,null,s.createElement(oO,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),s.createElement(sO,t))},JD);lO.displayName=`YAxis`;var uO=R([(e,t)=>t,W,Nu,q,ib,ob,Mb,Bo],Wb);function dO(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function fO(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(dO(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var pO=Fi(`mouseClick`),mO=Ha();mO.startListening({actionCreator:pO,effect:(e,t)=>{var n=e.payload,r=uO(t.getState(),fO(n));r?.activeIndex!=null&&t.dispatch(ly({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var hO=Fi(`mouseMove`),gO=Ha(),_O=null,vO=null,yO=null;gO.startListening({actionCreator:hO,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);_O!==null&&(cancelAnimationFrame(_O),_O=null),vO!==null&&(typeof i!=`number`||!o)&&(clearTimeout(vO),vO=null),yO=fO(n);var s=()=>{var e=t.getState(),n=Yv(e,e.tooltip.settings.shared);if(!yO){_O=null,vO=null;return}if(n===`axis`){var r=uO(e,yO);r?.activeIndex==null?t.dispatch(sy()):t.dispatch(cy({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}_O=null,vO=null};if(!o){s();return}i===`raf`?_O=requestAnimationFrame(s):typeof i==`number`&&vO===null&&(vO=setTimeout(s,i))}});function bO(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<>`:t}var xO={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},SO=na({name:`rootProps`,initialState:xO,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??xO.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),CO=SO.reducer,wO=SO.actions.updateOptions,TO=na({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});TO.actions.updatePolarOptions;var EO=TO.reducer,DO=Fi(`keyDown`),OO=Fi(`focus`),kO=Fi(`blur`),AO=Ha(),jO=null,MO=null,NO=null;AO.startListening({actionCreator:DO,effect:(e,t)=>{NO=e.payload,jO!==null&&(cancelAnimationFrame(jO),jO=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);MO!==null&&(typeof r!=`number`||!a)&&(clearTimeout(MO),MO=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=NO;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=wy(n,Ky(e),C_(e),tb(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=ob(e),c=Ky(e),l=Yv(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=Lb(e,l,`hover`,String(n.index));t.dispatch(dy({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=Gv(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=C_(e),h=tb(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v=0;y--)if(wy(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=Lb(e,l,`hover`,String(p));t.dispatch(dy({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{jO=null,MO=null}};if(!a){o();return}r===`raf`?jO=requestAnimationFrame(o):typeof r==`number`&&MO===null&&(o(),NO=null,MO=setTimeout(()=>{NO?o():(MO=null,jO=null)},r))}}),AO.startListening({actionCreator:OO,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=Lb(n,Yv(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(dy({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),AO.startListening({actionCreator:kO,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(dy({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function PO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var FO=Fi(`externalEvent`),IO=Ha(),LO=new Map,RO=new Map,zO=new Map;IO.startListening({actionCreator:FO,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=PO(i);zO.set(a,{handler:r,reactEvent:o});var s=LO.get(a);s!==void 0&&(cancelAnimationFrame(s),LO.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=RO.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),RO.delete(a));var p=()=>{var e=zO.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:gb(i),activeDataKey:pb(i),activeIndex:db(i),activeLabel:fb(i),activeTooltipIndex:db(i),isTooltipActive:_b(i)};n&&n(o,r)}finally{LO.delete(a),RO.delete(a),zO.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);LO.set(a,m)}else if(typeof l==`number`){if(!RO.has(a)){p();var h=setTimeout(p,l);RO.set(a,h)}}else p()}}});var BO=R([R([Oy],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),VO=Fi(`touchMove`),HO=Ha(),UO=null,WO=null,GO=null,KO=null;HO.startListening({actionCreator:VO,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){KO=PO(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);UO!==null&&(cancelAnimationFrame(UO),UO=null),WO!==null&&(typeof i!=`number`||!o)&&(clearTimeout(WO),WO=null),GO=Array.from(n.touches).map(e=>fO({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(KO!=null){var e=t.getState(),n=Yv(e,e.tooltip.settings.shared);if(n===`axis`){var r=GO?.[0];if(r==null){UO=null,WO=null;return}var i=uO(e,r);i?.activeIndex!=null&&t.dispatch(cy({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=KO.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(ko),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=Hy(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=BO(e,s,c);t.dispatch(oy({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}UO=null,WO=null}};if(!o){s();return}i===`raf`?UO=requestAnimationFrame(s):typeof i==`number`&&WO===null&&(s(),KO=null,WO=setTimeout(()=>{KO?s():(WO=null,UO=null)},i))}}});var qO={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},JO=na({name:`eventSettings`,initialState:qO,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=B(t.payload.throttledEvents))}}}),YO=JO.actions.setEventSettings,XO=JO.reducer,ZO=ar({brush:OT,cartesianAxis:mT,chartData:wx,errorBars:KE,eventSettings:XO,graphicalItems:zw,layout:Xa,legend:Vs,options:_x,polarAxis:zC,polarOptions:EO,referenceElements:IT,renderedTicks:yE,rootProps:CO,tooltip:fy,zIndex:sx}),QO=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return Ki({reducer:ZO,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([mO.middleware,gO.middleware,AO.middleware,IO.middleware,HO.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(Wi({type:`raf`}))},devTools:sc.devToolsEnabled&&{serialize:{replacer:bO},name:`recharts-${t}`}})};function $O(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=Wo(),a=(0,s.useRef)(null);if(i)return n;a.current??=QO(t,r);var o=wn;return s.createElement(rc,{context:o,store:a.current},n)}function ek(e){var t=e.layout,n=e.margin,r=I(),i=Wo();return(0,s.useEffect)(()=>{i||(r(qa(t)),r(Ka(n)))},[r,i,t,n]),null}var tk=(0,s.memo)(ek,oc);function nk(e){var t=I();return(0,s.useEffect)(()=>{t(wO(e))},[t,e]),null}var rk=(0,s.memo)(e=>{var t=I();return(0,s.useEffect)(()=>{t(YO(e))},[t,e]),null},oc);function ik(e){var t=e.zIndex,n=e.isPanorama,r=(0,s.useRef)(null),i=I();return(0,s.useLayoutEffect)(()=>(r.current&&i(ax({zIndex:t,element:r.current,isPanorama:n})),()=>{i(ox({zIndex:t,isPanorama:n}))}),[i,t,n]),s.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function ak(e){var t=e.children,n=e.isPanorama,r=L(Kb);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return s.createElement(s.Fragment,null,i.map(e=>s.createElement(ik,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>s.createElement(ik,{key:e,zIndex:e,isPanorama:n})))}var ok=[`children`];function sk(e,t){if(e==null)return{};var n,r,i=ck(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=ks(),r=As(),i=hc();if(!Qa(n)||!Qa(r))return null;var a=e.children,o=e.otherAttributes,c=e.title,l=e.desc,u,d;return o!=null&&(u=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,d=typeof o.role==`string`?o.role:i?`application`:void 0),s.createElement(S,lk({},o,{title:c,desc:l,role:d,tabIndex:u,width:n,height:r,style:uk,ref:t}),a)}),fk=e=>{var t=e.children,n=L(Ko);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return s.createElement(S,{width:r,height:i,x:o,y:a},t)},pk=(0,s.forwardRef)((e,t)=>{var n=e.children,r=sk(e,ok);return Wo()?s.createElement(fk,null,s.createElement(ak,{isPanorama:!0},n)):s.createElement(dk,lk({ref:t},r),s.createElement(ak,{isPanorama:!1},n))});function mk(e,t){return yk(e)||vk(e,t)||gk(e,t)||hk()}function hk(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gk(e,t){if(e){if(typeof e==`string`)return _k(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_k(e,t):void 0}}function _k(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;H(t)&&t!==i&&e(Ya(t))}},[n,e,i]),r}function xk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sk(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(Fx(),null);function Pk(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Fk=(0,s.forwardRef)((e,t)=>{var n=(0,s.useRef)(null),r=Dk((0,s.useState)({containerWidth:Pk(e.style?.width),containerHeight:Pk(e.style?.height)}),2),i=r[0],a=r[1],o=(0,s.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,s.useEffect)(()=>()=>{n.current?.disconnect()},[o]),s.createElement(s.Fragment,null,s.createElement(Fs,{width:i.containerWidth,height:i.containerHeight}),s.createElement(`div`,Ek({ref:c},e)))}),Ik=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=Dk((0,s.useState)({containerWidth:Pk(n),containerHeight:Pk(r)}),2),a=i[0],o=i[1],c=(0,s.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),l=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;c(r,i)}},[t,c]);return s.createElement(s.Fragment,null,s.createElement(Fs,{width:a.containerWidth,height:a.containerHeight}),s.createElement(`div`,Ek({ref:l},e)))}),Lk=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return s.createElement(s.Fragment,null,s.createElement(Fs,{width:n,height:r}),s.createElement(`div`,Ek({ref:t},e)))}),Rk=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?s.createElement(Ik,Ek({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?s.createElement(Lk,Ek({},e,{width:n,height:r,ref:t})):s.createElement(s.Fragment,null,s.createElement(Fs,{width:n,height:r}),s.createElement(`div`,Ek({ref:t},e)))});function zk(e){return e?Fk:Rk}var Bk=(0,s.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,c=e.onContextMenu,l=e.onDoubleClick,u=e.onMouseDown,d=e.onMouseEnter,f=e.onMouseLeave,p=e.onMouseMove,m=e.onMouseUp,h=e.onTouchEnd,g=e.onTouchMove,_=e.onTouchStart,v=e.style,y=e.width,b=e.responsive,x=e.dispatchTouchEvents,S=x===void 0||x,C=(0,s.useRef)(null),w=I(),T=Dk((0,s.useState)(null),2),E=T[0],D=T[1],O=Dk((0,s.useState)(null),2),k=O[0],A=O[1],j=bk(),M=Cs(),N=M?.width>0?M.width:y,ee=M?.height>0?M.height:i,te=(0,s.useCallback)(e=>{j(e),typeof t==`function`&&t(e),D(e),A(e),e!=null&&(C.current=e)},[j,t,D,A]),ne=(0,s.useCallback)(e=>{w(pO(e)),w(FO({handler:a,reactEvent:e}))},[w,a]),re=(0,s.useCallback)(e=>{w(hO(e)),w(FO({handler:d,reactEvent:e}))},[w,d]),ie=(0,s.useCallback)(e=>{w(sy()),w(FO({handler:f,reactEvent:e}))},[w,f]),ae=(0,s.useCallback)(e=>{w(hO(e)),w(FO({handler:p,reactEvent:e}))},[w,p]),oe=(0,s.useCallback)(()=>{w(OO())},[w]),se=(0,s.useCallback)(()=>{w(kO())},[w]),ce=(0,s.useCallback)(e=>{w(DO(e.key))},[w]),le=(0,s.useCallback)(e=>{w(FO({handler:c,reactEvent:e}))},[w,c]),P=(0,s.useCallback)(e=>{w(FO({handler:l,reactEvent:e}))},[w,l]),ue=(0,s.useCallback)(e=>{w(FO({handler:u,reactEvent:e}))},[w,u]),de=(0,s.useCallback)(e=>{w(FO({handler:m,reactEvent:e}))},[w,m]),fe=(0,s.useCallback)(e=>{w(FO({handler:_,reactEvent:e}))},[w,_]),pe=(0,s.useCallback)(e=>{S&&w(VO(e)),w(FO({handler:g,reactEvent:e}))},[w,S,g]),me=(0,s.useCallback)(e=>{w(FO({handler:h,reactEvent:e}))},[w,h]),he=zk(b);return s.createElement(lx.Provider,{value:E},s.createElement(Ae.Provider,{value:k},s.createElement(he,{width:N??v?.width,height:ee??v?.height,className:o(`recharts-wrapper`,r),style:Sk({position:`relative`,cursor:`default`,width:N,height:ee},v),onClick:ne,onContextMenu:le,onDoubleClick:P,onFocus:oe,onBlur:se,onKeyDown:ce,onMouseDown:ue,onMouseEnter:re,onMouseLeave:ie,onMouseMove:ae,onMouseUp:de,onTouchEnd:me,onTouchMove:pe,onTouchStart:fe,ref:te},s.createElement(Nk,null),n)))}),Vk=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Hk(e,t){if(e==null)return{};var n,r,i=Uk(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,c=e.style,l=e.compact,u=e.title,d=e.desc,f=p(Hk(e,Vk));return l?s.createElement(s.Fragment,null,s.createElement(Fs,{width:n,height:r}),s.createElement(pk,{otherAttributes:f,title:u,desc:d},a)):s.createElement(Bk,{className:o,style:c,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},s.createElement(pk,{otherAttributes:f,title:u,desc:d,ref:t},s.createElement(WT,null,a)))});function Gk(){return Gk=Object.assign?Object.assign.bind():function(e){for(var t=1;t=10?Math.round(t):Number(t.toFixed(1))}`:n===`tokens`?r(t):e(t)}function b({active:e,payload:t,label:n,daily:r,lang:i,models:a,totalLabel:o,metric:s}){if(!e||!t?.length)return null;let c=new Map(a.map(e=>[e.id,e.label])),l=t.filter(e=>(e.value??0)>0).sort((e,t)=>t.value-e.value),u=t.reduce((e,t)=>e+(t.value??0),0);return(0,m.jsxs)(`div`,{className:`rounded-xl bg-overlay px-3 py-2 text-caption text-overlay-foreground shadow-overlay`,children:[(0,m.jsx)(`div`,{className:`mono text-muted`,children:g(String(n),r,i)}),(0,m.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[l.map(e=>(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:h[a.findIndex(t=>t.id===e.dataKey)%h.length]}}),c.get(e.dataKey)||e.dataKey]}),(0,m.jsx)(`span`,{className:`mono font-medium`,children:v(e.value,s)})]},e.dataKey)),(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-6 border-t border-separator pt-1`,children:[(0,m.jsx)(`span`,{className:`text-muted`,children:o}),(0,m.jsx)(`span`,{className:`mono font-medium`,children:v(u,s)})]})]})]})}function x({series:e,models:t,lang:n,emptyLabel:r,totalLabel:i,metric:a=`credits`}){let v=(0,p.useMemo)(()=>t.map(e=>e.id),[t]),x=(0,p.useMemo)(()=>e.map(e=>{let t=_(e,a),n={at:e.at};for(let e of v){let r=Number(t[e]??0);n[e]=a===`tokens`?r:Number(r.toFixed(4))}return n}),[e,v,a]),S=Math.max(0,...x.map(e=>v.reduce((t,n)=>t+Number(e[n]??0),0)))>0,C=(x.length>1?Date.parse(x[x.length-1].at)-Date.parse(x[0].at):0)>1728e5;return!e.length||!S?(0,m.jsx)(`div`,{className:`grid min-h-56 place-items-center px-6 py-12 text-center text-sm text-muted`,children:r}):(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`h-72 w-full`,children:(0,m.jsx)(c,{width:`100%`,height:`100%`,children:(0,m.jsxs)(f,{data:x,margin:{top:8,right:8,bottom:0,left:0},children:[(0,m.jsx)(`defs`,{children:v.map((e,t)=>(0,m.jsxs)(`linearGradient`,{id:`cost-${a}-${e}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:h[t%h.length],stopOpacity:.32}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:h[t%h.length],stopOpacity:.04})]},e))}),(0,m.jsx)(l,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,m.jsx)(d,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>g(e,C,n)}),(0,m.jsx)(s,{width:52,tickLine:!1,axisLine:!1,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>y(e,a)}),(0,m.jsx)(u,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,m.jsx)(b,{daily:C,lang:n,models:t,totalLabel:i,metric:a})}),v.map((e,t)=>(0,m.jsx)(o,{type:`monotone`,dataKey:e,stackId:`usage`,stroke:h[t%h.length],strokeWidth:1.5,fill:`url(#cost-${a}-${e})`,isAnimationActive:!1,dot:!1,activeDot:{r:3,strokeWidth:1.2}},e))]})})}),(0,m.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-[10px] text-muted`,children:t.map((e,t)=>(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:h[t%h.length]}}),e.label]},e.id))})]})}export{x as CostChart}; \ No newline at end of file +import{a as e,f as t,h as n,i as r,l as i,r as a}from"./index-DksXuUH8.js";import{i as o,n as s,wt as c}from"./CartesianChart-C36ZX62E.js";import{n as l,r as u,t as d}from"./XAxis-hz2I6mvW.js";import{t as f}from"./AreaChart-C0mk2RpN.js";var p=n(t(),1),m=i(),h=[`var(--accent)`,`var(--muted)`,`var(--success)`,`var(--warning)`];function g(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function _(e,t){return t===`credits`?e.per_model_credits??{}:t===`tokens`?e.per_model_tokens??{}:e.per_model??{}}function v(t,n){return n===`cost`?a(t):n===`tokens`?r(t):e(t)}function y(t,n){return n===`cost`?`¥${t>=10?Math.round(t):Number(t.toFixed(1))}`:n===`tokens`?r(t):e(t)}function b({active:e,payload:t,label:n,daily:r,lang:i,models:a,totalLabel:o,metric:s}){if(!e||!t?.length)return null;let c=new Map(a.map(e=>[e.id,e.label])),l=t.filter(e=>(e.value??0)>0).sort((e,t)=>t.value-e.value),u=t.reduce((e,t)=>e+(t.value??0),0);return(0,m.jsxs)(`div`,{className:`rounded-xl bg-overlay px-3 py-2 text-caption text-overlay-foreground shadow-overlay`,children:[(0,m.jsx)(`div`,{className:`mono text-muted`,children:g(String(n),r,i)}),(0,m.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[l.map(e=>(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:h[a.findIndex(t=>t.id===e.dataKey)%h.length]}}),c.get(e.dataKey)||e.dataKey]}),(0,m.jsx)(`span`,{className:`mono font-medium`,children:v(e.value,s)})]},e.dataKey)),(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-6 border-t border-separator pt-1`,children:[(0,m.jsx)(`span`,{className:`text-muted`,children:o}),(0,m.jsx)(`span`,{className:`mono font-medium`,children:v(u,s)})]})]})]})}function x({series:e,models:t,lang:n,emptyLabel:r,totalLabel:i,metric:a=`credits`}){let v=(0,p.useMemo)(()=>t.map(e=>e.id),[t]),x=(0,p.useMemo)(()=>e.map(e=>{let t=_(e,a),n={at:e.at};for(let e of v){let r=Number(t[e]??0);n[e]=a===`tokens`?r:Number(r.toFixed(4))}return n}),[e,v,a]),S=Math.max(0,...x.map(e=>v.reduce((t,n)=>t+Number(e[n]??0),0)))>0,C=(x.length>1?Date.parse(x[x.length-1].at)-Date.parse(x[0].at):0)>1728e5;return!e.length||!S?(0,m.jsx)(`div`,{className:`grid min-h-56 place-items-center px-6 py-12 text-center text-sm text-muted`,children:r}):(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`h-72 w-full`,children:(0,m.jsx)(c,{width:`100%`,height:`100%`,children:(0,m.jsxs)(f,{data:x,margin:{top:8,right:8,bottom:0,left:0},children:[(0,m.jsx)(`defs`,{children:v.map((e,t)=>(0,m.jsxs)(`linearGradient`,{id:`cost-${a}-${e}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:h[t%h.length],stopOpacity:.32}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:h[t%h.length],stopOpacity:.04})]},e))}),(0,m.jsx)(l,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,m.jsx)(d,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>g(e,C,n)}),(0,m.jsx)(s,{width:52,tickLine:!1,axisLine:!1,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>y(e,a)}),(0,m.jsx)(u,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,m.jsx)(b,{daily:C,lang:n,models:t,totalLabel:i,metric:a})}),v.map((e,t)=>(0,m.jsx)(o,{type:`monotone`,dataKey:e,stackId:`usage`,stroke:h[t%h.length],strokeWidth:1.5,fill:`url(#cost-${a}-${e})`,isAnimationActive:!1,dot:!1,activeDot:{r:3,strokeWidth:1.2}},e))]})})}),(0,m.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-[10px] text-muted`,children:t.map((e,t)=>(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:h[t%h.length]}}),e.label]},e.id))})]})}export{x as CostChart}; \ No newline at end of file diff --git a/internal/webui/static/assets/LiveSparkline-BKHIKlZl.js b/internal/webui/static/assets/LiveSparkline-D4Z7e4mF.js similarity index 73% rename from internal/webui/static/assets/LiveSparkline-BKHIKlZl.js rename to internal/webui/static/assets/LiveSparkline-D4Z7e4mF.js index f7045785..e7b9271b 100644 --- a/internal/webui/static/assets/LiveSparkline-BKHIKlZl.js +++ b/internal/webui/static/assets/LiveSparkline-D4Z7e4mF.js @@ -1 +1 @@ -import{l as e}from"./index-C5LslQI9.js";import{i as t,n,wt as r}from"./CartesianChart-D9Qz51Q6.js";import{t as i}from"./AreaChart-B-HmzR8M.js";var a=e();function o({samples:e,capacity:o,label:s}){let c=e.length?e:[{at:0,value:0}],l=Math.max(1,o,...c.map(e=>e.value));return(0,a.jsx)(`div`,{className:`h-6 w-[120px] shrink-0`,role:`img`,"aria-label":s,children:(0,a.jsx)(r,{width:`100%`,height:`100%`,children:(0,a.jsxs)(i,{data:c,margin:{top:1,right:0,bottom:1,left:0},children:[(0,a.jsx)(n,{hide:!0,domain:[0,l]}),(0,a.jsx)(t,{type:`monotone`,dataKey:`value`,stroke:`var(--foreground)`,strokeOpacity:.7,strokeWidth:1.25,fill:`var(--foreground)`,fillOpacity:.08,isAnimationActive:!1,dot:!1})]})})})}export{o as LiveSparkline}; \ No newline at end of file +import{l as e}from"./index-DksXuUH8.js";import{i as t,n,wt as r}from"./CartesianChart-C36ZX62E.js";import{t as i}from"./AreaChart-C0mk2RpN.js";var a=e();function o({samples:e,capacity:o,label:s}){let c=e.length?e:[{at:0,value:0}],l=Math.max(1,o,...c.map(e=>e.value));return(0,a.jsx)(`div`,{className:`h-6 w-[120px] shrink-0`,role:`img`,"aria-label":s,children:(0,a.jsx)(r,{width:`100%`,height:`100%`,children:(0,a.jsxs)(i,{data:c,margin:{top:1,right:0,bottom:1,left:0},children:[(0,a.jsx)(n,{hide:!0,domain:[0,l]}),(0,a.jsx)(t,{type:`monotone`,dataKey:`value`,stroke:`var(--foreground)`,strokeOpacity:.7,strokeWidth:1.25,fill:`var(--foreground)`,fillOpacity:.08,isAnimationActive:!1,dot:!1})]})})})}export{o as LiveSparkline}; \ No newline at end of file diff --git a/internal/webui/static/assets/TrafficChart-C_J3rzAT.js b/internal/webui/static/assets/TrafficChart-BU-PbGSj.js similarity index 73% rename from internal/webui/static/assets/TrafficChart-C_J3rzAT.js rename to internal/webui/static/assets/TrafficChart-BU-PbGSj.js index ad9e64d2..7b65b917 100644 --- a/internal/webui/static/assets/TrafficChart-C_J3rzAT.js +++ b/internal/webui/static/assets/TrafficChart-BU-PbGSj.js @@ -1 +1 @@ -import{f as e,h as t,i as n,l as r,n as i,o as a,s as o,t as s,u as c}from"./index-C5LslQI9.js";import{A as l,An as u,C as d,Cn as f,D as p,E as m,Et as h,L as g,Lt as _,M as v,Mn as y,Mt as b,N as x,Nt as S,O as C,Ot as w,P as T,Pt as E,Q as D,Rt as O,S as k,T as A,Z as j,_t as M,a as N,bn as P,bt as ee,ct as te,d as F,et as ne,f as re,g as ie,gt as ae,h as oe,hn as I,i as se,j as ce,jn as L,k as le,kt as R,m as ue,n as de,nt as fe,o as pe,p as me,pt as he,s as ge,st as z,t as _e,vn as B,w as ve,wn as ye,wt as be,x as xe,yn as V,z as H,zt as U}from"./CartesianChart-D9Qz51Q6.js";import{i as Se,n as Ce,r as we,t as Te}from"./XAxis-CcjVCtOa.js";var Ee=class{constructor(e){var t=e.x,n=e.y;this.xAxisScale=t,this.yAxisScale=n}map(e,t){var n=t.position;return{x:this.xAxisScale.map(e.x,{position:n})??0,y:this.yAxisScale.map(e.y,{position:n})??0}}mapWithFallback(e,t){var n=t.position,r=t.fallback,i=r===`rangeMin`?this.yAxisScale.rangeMin():r===`rangeMax`?this.yAxisScale.rangeMax():0,a=r===`rangeMin`?this.xAxisScale.rangeMin():r===`rangeMax`?this.xAxisScale.rangeMax():0;return{x:this.xAxisScale.map(e.x,{position:n})??a,y:this.yAxisScale.map(e.y,{position:n})??i}}isInRange(e){var t=e.x,n=e.y,r=t==null||this.xAxisScale.isInRange(t),i=n==null||this.yAxisScale.isInRange(n);return r&&i}},W=t(e());function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K(e){for(var t=1;t{var s=o.x1,c=o.x2,l=o.y1,u=o.y2;if(i==null||a==null)return null;var d=new Ee({x:i,y:a}),f={x:e?i.map(s,{position:`start`})??null:i.rangeMin(),y:n?a.map(l,{position:`start`})??null:a.rangeMin()},p={x:t?i.map(c,{position:`end`})??null:i.rangeMax(),y:r?a.map(u,{position:`end`})??null:a.rangeMax()};return o.ifOverflow===`discard`&&(!d.isInRange(f)||!d.isInRange(p))?null:ue(f,p)},je=(e,t)=>W.isValidElement(e)?W.cloneElement(e,t):typeof e==`function`?e(t):W.createElement(Se,q({},t,{className:`recharts-reference-area-rect`}));function Me(e){var t=O();return(0,W.useEffect)(()=>(t(re(e)),()=>{t(me(e))})),null}function Ne(e){var t=e.x1,n=e.x2,r=e.y1,i=e.y2,a=e.className,o=e.shape,s=e.xAxisId,l=e.yAxisId,d=F(),f=h(),p=U(e=>j(e,`xAxis`,s,f)),m=U(e=>j(e,`yAxis`,l,f));if(p==null||m==null)return null;var g=P(t),_=P(n),v=P(r),y=P(i);if(!g&&!_&&!v&&!y&&!o)return null;var b=Ae(g,_,v,y,p,m,e);if(!b&&!o)return null;var S=e.ifOverflow===`hidden`?`url(#${d})`:void 0;return W.createElement(H,{zIndex:e.zIndex},W.createElement(u,{className:c(`recharts-reference-area`,a)},je(o,K(K({clipPath:S},L(e)),b)),b!=null&&W.createElement(x,q({},b,{lowerWidth:b.width,upperWidth:b.width}),W.createElement(T,{label:e.label}),e.children)))}var Pe={ifOverflow:`discard`,xAxisId:0,yAxisId:0,radius:0,fill:`#ccc`,label:!1,fillOpacity:.5,stroke:`none`,strokeWidth:1,zIndex:z.area};function Fe(e){var t=I(e,Pe);return W.createElement(W.Fragment,null,W.createElement(Me,{yAxisId:t.yAxisId,xAxisId:t.xAxisId,ifOverflow:t.ifOverflow,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}),W.createElement(Ne,t))}Fe.displayName=`ReferenceArea`;var Ie=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;te+t,0);if(!i)return Be(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;co){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...He(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function We(e,t,n){return e?Ue(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):Be(t,n)}function Ge(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=Le(e,Ie),a=r??!1,o;if(t!=null){var s=i.pathRef;o=We(n,ze(s?.current??null),t)}else n!=null&&(o=String(n));return W.createElement(he,J({},i,{connectNulls:a,strokeDasharray:o}))}function Ke(e){var t=(0,W.useRef)(0),n=(0,W.useRef)(0),r=(0,W.useRef)(!1),i=(0,W.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,W.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(ye(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var qe=[`children`];function Je(e,t){if(e==null)return{};var n,r,i=Ye(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0});function Ze(e){var t=e.children,n=Je(e,qe);return W.createElement(Xe.Provider,{value:n},t)}var Qe=(e,t,n,r)=>D(e,`xAxis`,t,r),$e=(e,t,n,r)=>ne(e,`xAxis`,t,r),et=(e,t,n,r)=>D(e,`yAxis`,n,r),tt=(e,t,n,r)=>ne(e,`yAxis`,n,r),nt=_([M,Qe,et,$e,tt],(e,t,n,r,i)=>E(e,`xAxis`)?w(t,r,!1):w(n,i,!1)),rt=(e,t,n,r,i)=>i;function it(e){return e.type===`line`}var at=_([fe,rt],(e,t)=>e.filter(it).find(e=>e.id===t)),ot=_([M,Qe,et,$e,tt,at,nt,te],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return Dt({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}}),st=[`id`],ct=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],lt=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var Q={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=gt(e),r=[];for(var i of e)if(i.status===`matched`)r.push(Z(Z({},i.next),{},{x:B(i.prev.x,i.next.x,t),y:B(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(Z(Z({},i.next),{},{x:B(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(Z(Z({},i.prev),{},{x:B(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:m,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:Ge,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:z.line,type:`linear`},_t=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:b(n,t),payload:e}]},vt=W.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,p={dataDefinedOnItem:n,getPosition:f,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:b(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:d}};return W.createElement(C,{tooltipEntrySettings:p})});function yt(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=X(r,st),c=y(s);return W.createElement(xe,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:c,needClip:o,clipPathId:t})}function bt(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,W.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return Z(Z({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return W.createElement(ce,{value:t?i:void 0},n)}function xt(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,p=i.shape,m=i.strokeDasharray,h=X(i,ct),g=Z(Z({},L(h)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:m??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return W.createElement(W.Fragment,null,r?.length>1&&W.createElement(le,{option:p,DefaultShape:Q.shape,shapeProps:g}),W.createElement(yt,{points:r,clipPathId:t,props:i}))}function St(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,p=ht(r.current),m=A(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,g=m.handleAnimationStart,_=m.handleAnimationEnd,y=!h,b=Ke(a),x=(0,W.useCallback)(e=>e>0&&p>0,[p]);return W.createElement(bt,{points:a,showLabels:y},n.children,W.createElement(ve,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:g,onAnimationEnd:_,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:x,layout:f},(e,i,a)=>{var o=h||i<1,s=o?b(i,p):null;return W.createElement(xt,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),W.createElement(v,{label:n.label}))}function Ct(e){var t=e.clipPathId,n=e.props,r=(0,W.useRef)(null),i=(0,W.useRef)(null);return W.createElement(St,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var wt=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:S(e.payload,t)}),Tt=class extends W.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.top,d=e.left,f=e.width,p=e.height,m=e.id,h=e.needClip,g=e.zIndex;if(t)return null;var _=c(`recharts-line`,i),v=m,y=N(n),b=y.r,x=y.strokeWidth,S=l(n),C=b*2+x,w=h?`url(#clipPath-${S?``:`dots-`}${v})`:void 0;return W.createElement(H,{zIndex:g},W.createElement(u,{className:_},h&&W.createElement(`defs`,null,W.createElement(pe,{clipPathId:v,xAxisId:a,yAxisId:o}),!S&&W.createElement(`clipPath`,{id:`clipPath-dots-${v}`},W.createElement(`rect`,{x:d-C/2,y:s-C/2,width:f+C,height:p+C}))),W.createElement(Ze,{xAxisId:a,yAxisId:o,data:r,dataPointFormatter:wt,errorBarOffset:0},W.createElement(Ct,{props:this.props,clipPathId:v}))),W.createElement(oe,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Et(e){var t=I(e,Q),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,_=X(t,lt),v=ge(p,m).needClip,y=ie(),b=ee(),x=h(),S=U(e=>ot(e,p,m,x,g));if(b!==`horizontal`&&b!==`vertical`||S==null||y==null)return null;var C=y.height,w=y.width,T=y.x,E=y.y;return W.createElement(Tt,Y({},_,{id:g,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:p,yAxisId:m,points:S,layout:b,height:C,width:w,left:T,top:E,needClip:v}))}function Dt(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=S(e,o);if(t===`horizontal`)return{x:R({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(V(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=V(l)?null:n.scale.map(l),d=R({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function Ot(e){var t=I(e,Q),n=h();return W.createElement(d,{id:t.id,type:`line`},e=>W.createElement(W.Fragment,null,W.createElement(p,{legendPayload:_t(t)}),W.createElement(vt,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),W.createElement(k,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),W.createElement(Et,Y({},t,{id:e}))))}var kt=W.memo(Ot,ae);kt.displayName=`Line`;var At=[`axis`],jt=(0,W.forwardRef)((e,t)=>W.createElement(_e,{chartName:`ComposedChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:At,tooltipPayloadSearcher:g,categoricalChartProps:e,ref:t})),Mt={metric:24,title:18,section:15,body:13,xs:12,caption:12},$=r();function Nt(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function Pt(e){if(e<=1)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=1?1:n<=2?2:n<=5?5:10)*t}function Ft(e){let t=Math.max(0,e.ok??e.requests-e.error),n=Math.min(Math.max(0,e.requests-t),Math.max(0,e.requests));return{...e,okCount:t,errorCount:n,inputTokens:e.prompt_tokens??0,outputTokens:e.completion_tokens??0,cacheTokens:e.cache_read_tokens??0,p50:e.latency_p50_ms??null,p95:e.latency_p95_ms??null}}function It({active:e,payload:t,daily:n,lang:r,specs:i,format:a,totalLabel:o,total:s}){if(!e||!t?.[0])return null;let c=t[0].payload;return(0,$.jsxs)(`div`,{className:`rounded-xl bg-overlay px-3 py-2 text-caption text-overlay-foreground shadow-overlay`,children:[(0,$.jsx)(`div`,{className:`mono text-muted`,children:Nt(c.at,n,r)}),(0,$.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[i.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:e.color}}),e.label]}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:a(c[e.key])})]},String(e.key))),s&&o?(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6 pt-1`,children:[(0,$.jsx)(`span`,{className:`text-muted`,children:o}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:a(s(c))})]}):null]})]})}function Lt({series:e,lang:t,emptyLabel:r,okLabel:c,errorLabel:l,onSelectRange:u,selectHint:d,labels:f,initialMetric:p=`requests`}){let[m,h]=(0,W.useState)(p),[g,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),b=(0,W.useRef)(!1),x=(0,W.useRef)(null),S=(0,W.useMemo)(()=>e.map(Ft),[e]),C=S[0],w=S[S.length-1],T=(C&&w?Date.parse(w.at)-Date.parse(C.at):0)>1728e5,E=f??{requests:`Requests`,tokens:`Tokens`,latency:`p95 latency`,input:`input`,output:`output`,cacheRead:`cache read`,p50:`p50`,p95:`p95`,total:`total`},D=m===`tokens`?[{key:`inputTokens`,label:E.input,color:`var(--foreground)`,area:!0,width:1.5,opacity:.75},{key:`outputTokens`,label:E.output,color:`var(--success)`,area:!0,width:1.5},{key:`cacheTokens`,label:E.cacheRead,color:`var(--muted)`,width:1.25,opacity:.8}]:m===`latency`?[{key:`p95`,label:E.p95,color:`var(--warning)`,area:!0,width:1.75},{key:`p50`,label:E.p50,color:`var(--muted)`,width:1.25,opacity:.85}]:[{key:`okCount`,label:c,color:`var(--success)`,area:!0,width:1.75},{key:`errorCount`,label:l,color:`var(--danger)`,area:!0,width:1.25,opacity:.7}],O=e=>e==null?`—`:m===`latency`?a(e):n(e),k=m===`requests`?e=>e.requests:m===`tokens`?e=>e.inputTokens+e.outputTokens:void 0,A=S.flatMap(e=>D.map(t=>Number(e[t.key]??0))),j=m===`requests`?Math.max(0,...S.map(e=>e.requests)):Math.max(0,...A),M=Pt(j),N=S.some(e=>e.requests>0),P=S.map(e=>`${e.at}:${e.requests}:${e.error}`).join(`|`);(0,W.useLayoutEffect)(()=>{let e=x.current;if(!e||!N||b.current)return;let t=!1,n=null,r=o.context(()=>{let r=o.matchMedia(),i=()=>{let t=o.utils.toArray(`.recharts-area-area`,e),n=o.utils.toArray(`.recharts-line-curve`,e);return!t.length&&!n.length?!1:(r.add(`(prefers-reduced-motion: reduce)`,()=>{o.set(n,{clearProps:`strokeDashoffset,strokeDasharray`}),o.set(t,{clearProps:`autoAlpha`})}),r.add(`(prefers-reduced-motion: no-preference)`,()=>{o.fromTo(t,{autoAlpha:0},{autoAlpha:1,duration:.45,ease:`power2.out`,stagger:.05}),n.forEach((e,t)=>{let n=e.getTotalLength();o.fromTo(e,{strokeDasharray:n,strokeDashoffset:n},{strokeDashoffset:0,duration:.7,delay:t*.05,ease:`power2.out`})})}),!0)};if(i()){t=!0,b.current=!0;return}n=new MutationObserver(()=>{t||i()&&(t=!0,b.current=!0,n?.disconnect())}),n.observe(e,{childList:!0,subtree:!0})},e);return()=>{n?.disconnect(),r.revert()}},[N,P]);let ee=S.length>1?Date.parse(S[1].at)-Date.parse(S[0].at):36e5,te=()=>{if(g&&v&&u){let e=Date.parse(g),t=Date.parse(v);if(Number.isFinite(e)&&Number.isFinite(t)){let n=Math.min(e,t),r=Math.max(e,t)+ee;u(new Date(n).toISOString(),new Date(r).toISOString())}}_(null),y(null)},F=e=>{let t=e?.activeLabel;return t==null?null:String(t)};return!e.length||!N?(0,$.jsx)(i,{emptyLabel:r}):(0,$.jsxs)(`div`,{ref:x,className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`mb-3 flex justify-end`,children:(0,$.jsx)(s,{value:m,onChange:e=>h(e),ariaLabel:E.requests,options:[{id:`requests`,label:E.requests},{id:`tokens`,label:E.tokens},{id:`latency`,label:E.latency}]})}),(0,$.jsx)(`div`,{className:`h-56 w-full`,children:(0,$.jsx)(be,{width:`100%`,height:`100%`,children:(0,$.jsxs)(jt,{data:S,margin:{top:8,right:8,bottom:0,left:0},style:u?{cursor:`crosshair`,userSelect:`none`}:void 0,onMouseDown:u?e=>{let t=F(e);t&&(_(t),y(t))}:void 0,onMouseMove:u?e=>{if(!g)return;let t=F(e);t&&y(t)}:void 0,onMouseUp:u?te:void 0,onMouseLeave:u?()=>{_(null),y(null)}:void 0,children:[(0,$.jsx)(`defs`,{children:D.filter(e=>e.area).map(e=>(0,$.jsxs)(`linearGradient`,{id:`traffic-fill-${String(e.key)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:e.color,stopOpacity:.22}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:e.color,stopOpacity:.02})]},String(e.key)))}),(0,$.jsx)(Ce,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,$.jsx)(Te,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:Mt.caption,fontFamily:`var(--font-mono)`},tickFormatter:e=>Nt(e,T,t)}),(0,$.jsx)(de,{width:m===`latency`?44:36,domain:[0,M],tickLine:!1,axisLine:!1,allowDecimals:!1,tick:{fill:`var(--muted)`,fontSize:Mt.caption,fontFamily:`var(--font-mono)`},tickFormatter:e=>m===`latency`?a(e):n(e)}),(0,$.jsx)(we,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,$.jsx)(It,{daily:T,lang:t,specs:D,format:O,totalLabel:E.total,total:k})}),D.filter(e=>e.area).map(e=>(0,$.jsx)(se,{type:`monotone`,dataKey:e.key,stroke:`none`,fill:`url(#traffic-fill-${String(e.key)})`,isAnimationActive:!1,activeDot:!1,dot:!1,connectNulls:!0},`area-${String(e.key)}`)),D.map(e=>(0,$.jsx)(kt,{type:`monotone`,dataKey:e.key,stroke:e.color,strokeWidth:e.width??1.5,strokeOpacity:e.opacity??1,dot:!1,isAnimationActive:!1,connectNulls:!0,activeDot:{r:4,fill:`var(--surface)`,stroke:e.color,strokeWidth:1.5}},`line-${String(e.key)}`)),g&&v?(0,$.jsx)(Fe,{x1:g,x2:v,fill:`var(--foreground)`,fillOpacity:.06,stroke:`none`,ifOverflow:`visible`}):null]})})}),(0,$.jsxs)(`div`,{className:`mt-2 flex min-h-5 items-center justify-between gap-3 text-caption text-muted`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-3`,children:D.map(e=>(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:e.color}}),e.label]},String(e.key)))}),(0,$.jsxs)(`span`,{className:`flex items-center gap-3`,children:[u&&d?(0,$.jsx)(`span`,{children:d}):null,(0,$.jsxs)(`span`,{className:`mono`,children:[O(j),` peak`]})]})]})]})}export{Lt as TrafficChart}; \ No newline at end of file +import{f as e,h as t,i as n,l as r,n as i,o as a,s as o,t as s,u as c}from"./index-DksXuUH8.js";import{A as l,C as u,Cn as d,D as f,E as p,Et as m,L as h,Lt as g,M as _,Mn as v,Mt as y,N as b,Nn as x,Nt as S,O as C,Ot as w,P as T,Pt as E,Q as D,Rt as O,S as k,T as A,Z as j,_t as M,a as N,bn as P,bt as ee,ct as te,d as F,et as ne,f as re,g as ie,gt as ae,h as oe,hn as I,i as se,j as ce,jn as L,k as le,kt as R,m as ue,n as de,nt as fe,o as pe,p as me,pt as he,s as ge,st as z,t as _e,vn as B,w as ve,wn as ye,wt as be,x as xe,yn as V,z as H,zt as U}from"./CartesianChart-C36ZX62E.js";import{i as Se,n as Ce,r as we,t as Te}from"./XAxis-hz2I6mvW.js";var Ee=class{constructor(e){var t=e.x,n=e.y;this.xAxisScale=t,this.yAxisScale=n}map(e,t){var n=t.position;return{x:this.xAxisScale.map(e.x,{position:n})??0,y:this.yAxisScale.map(e.y,{position:n})??0}}mapWithFallback(e,t){var n=t.position,r=t.fallback,i=r===`rangeMin`?this.yAxisScale.rangeMin():r===`rangeMax`?this.yAxisScale.rangeMax():0,a=r===`rangeMin`?this.xAxisScale.rangeMin():r===`rangeMax`?this.xAxisScale.rangeMax():0;return{x:this.xAxisScale.map(e.x,{position:n})??a,y:this.yAxisScale.map(e.y,{position:n})??i}}isInRange(e){var t=e.x,n=e.y,r=t==null||this.xAxisScale.isInRange(t),i=n==null||this.yAxisScale.isInRange(n);return r&&i}},W=t(e());function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K(e){for(var t=1;t{var s=o.x1,c=o.x2,l=o.y1,u=o.y2;if(i==null||a==null)return null;var d=new Ee({x:i,y:a}),f={x:e?i.map(s,{position:`start`})??null:i.rangeMin(),y:n?a.map(l,{position:`start`})??null:a.rangeMin()},p={x:t?i.map(c,{position:`end`})??null:i.rangeMax(),y:r?a.map(u,{position:`end`})??null:a.rangeMax()};return o.ifOverflow===`discard`&&(!d.isInRange(f)||!d.isInRange(p))?null:ue(f,p)},je=(e,t)=>W.isValidElement(e)?W.cloneElement(e,t):typeof e==`function`?e(t):W.createElement(Se,q({},t,{className:`recharts-reference-area-rect`}));function Me(e){var t=O();return(0,W.useEffect)(()=>(t(re(e)),()=>{t(me(e))})),null}function Ne(e){var t=e.x1,n=e.x2,r=e.y1,i=e.y2,a=e.className,o=e.shape,s=e.xAxisId,l=e.yAxisId,u=F(),d=m(),f=U(e=>j(e,`xAxis`,s,d)),p=U(e=>j(e,`yAxis`,l,d));if(f==null||p==null)return null;var h=P(t),g=P(n),_=P(r),y=P(i);if(!h&&!g&&!_&&!y&&!o)return null;var x=Ae(h,g,_,y,f,p,e);if(!x&&!o)return null;var S=e.ifOverflow===`hidden`?`url(#${u})`:void 0;return W.createElement(H,{zIndex:e.zIndex},W.createElement(L,{className:c(`recharts-reference-area`,a)},je(o,K(K({clipPath:S},v(e)),x)),x!=null&&W.createElement(b,q({},x,{lowerWidth:x.width,upperWidth:x.width}),W.createElement(T,{label:e.label}),e.children)))}var Pe={ifOverflow:`discard`,xAxisId:0,yAxisId:0,radius:0,fill:`#ccc`,label:!1,fillOpacity:.5,stroke:`none`,strokeWidth:1,zIndex:z.area};function Fe(e){var t=I(e,Pe);return W.createElement(W.Fragment,null,W.createElement(Me,{yAxisId:t.yAxisId,xAxisId:t.xAxisId,ifOverflow:t.ifOverflow,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}),W.createElement(Ne,t))}Fe.displayName=`ReferenceArea`;var Ie=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;te+t,0);if(!i)return Be(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;co){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...He(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function We(e,t,n){return e?Ue(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):Be(t,n)}function Ge(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=Le(e,Ie),a=r??!1,o;if(t!=null){var s=i.pathRef;o=We(n,ze(s?.current??null),t)}else n!=null&&(o=String(n));return W.createElement(he,J({},i,{connectNulls:a,strokeDasharray:o}))}function Ke(e){var t=(0,W.useRef)(0),n=(0,W.useRef)(0),r=(0,W.useRef)(!1),i=(0,W.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,W.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(ye(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var qe=[`children`];function Je(e,t){if(e==null)return{};var n,r,i=Ye(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0});function Ze(e){var t=e.children,n=Je(e,qe);return W.createElement(Xe.Provider,{value:n},t)}var Qe=(e,t,n,r)=>D(e,`xAxis`,t,r),$e=(e,t,n,r)=>ne(e,`xAxis`,t,r),et=(e,t,n,r)=>D(e,`yAxis`,n,r),tt=(e,t,n,r)=>ne(e,`yAxis`,n,r),nt=g([M,Qe,et,$e,tt],(e,t,n,r,i)=>E(e,`xAxis`)?w(t,r,!1):w(n,i,!1)),rt=(e,t,n,r,i)=>i;function it(e){return e.type===`line`}var at=g([fe,rt],(e,t)=>e.filter(it).find(e=>e.id===t)),ot=g([M,Qe,et,$e,tt,at,nt,te],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return Dt({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}}),st=[`id`],ct=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],lt=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var Q={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=gt(e),r=[];for(var i of e)if(i.status===`matched`)r.push(Z(Z({},i.next),{},{x:B(i.prev.x,i.next.x,t),y:B(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(Z(Z({},i.next),{},{x:B(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(Z(Z({},i.prev),{},{x:B(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:p,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:Ge,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:z.line,type:`linear`},_t=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:y(n,t),payload:e}]},vt=W.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,f=e.id,p={dataDefinedOnItem:n,getPosition:d,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:y(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:f}};return W.createElement(C,{tooltipEntrySettings:p})});function yt(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=X(r,st),c=x(s);return W.createElement(xe,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:c,needClip:o,clipPathId:t})}function bt(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,W.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return Z(Z({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return W.createElement(ce,{value:t?i:void 0},n)}function xt(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,p=i.shape,m=i.strokeDasharray,h=X(i,ct),g=Z(Z({},v(h)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:m??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return W.createElement(W.Fragment,null,r?.length>1&&W.createElement(le,{option:p,DefaultShape:Q.shape,shapeProps:g}),W.createElement(yt,{points:r,clipPathId:t,props:i}))}function St(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,p=ht(r.current),m=A(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,g=m.handleAnimationStart,v=m.handleAnimationEnd,y=!h,b=Ke(a),x=(0,W.useCallback)(e=>e>0&&p>0,[p]);return W.createElement(bt,{points:a,showLabels:y},n.children,W.createElement(ve,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:g,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:x,layout:f},(e,i,a)=>{var o=h||i<1,s=o?b(i,p):null;return W.createElement(xt,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),W.createElement(_,{label:n.label}))}function Ct(e){var t=e.clipPathId,n=e.props,r=(0,W.useRef)(null),i=(0,W.useRef)(null);return W.createElement(St,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var wt=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:S(e.payload,t)}),Tt=class extends W.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.top,u=e.left,d=e.width,f=e.height,p=e.id,m=e.needClip,h=e.zIndex;if(t)return null;var g=c(`recharts-line`,i),_=p,v=N(n),y=v.r,b=v.strokeWidth,x=l(n),S=y*2+b,C=m?`url(#clipPath-${x?``:`dots-`}${_})`:void 0;return W.createElement(H,{zIndex:h},W.createElement(L,{className:g},m&&W.createElement(`defs`,null,W.createElement(pe,{clipPathId:_,xAxisId:a,yAxisId:o}),!x&&W.createElement(`clipPath`,{id:`clipPath-dots-${_}`},W.createElement(`rect`,{x:u-S/2,y:s-S/2,width:d+S,height:f+S}))),W.createElement(Ze,{xAxisId:a,yAxisId:o,data:r,dataPointFormatter:wt,errorBarOffset:0},W.createElement(Ct,{props:this.props,clipPathId:_}))),W.createElement(oe,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:C}))}};function Et(e){var t=I(e,Q),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,h=t.yAxisId,g=t.id,_=X(t,lt),v=ge(p,h).needClip,y=ie(),b=ee(),x=m(),S=U(e=>ot(e,p,h,x,g));if(b!==`horizontal`&&b!==`vertical`||S==null||y==null)return null;var C=y.height,w=y.width,T=y.x,E=y.y;return W.createElement(Tt,Y({},_,{id:g,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:p,yAxisId:h,points:S,layout:b,height:C,width:w,left:T,top:E,needClip:v}))}function Dt(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=S(e,o);if(t===`horizontal`)return{x:R({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(V(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=V(l)?null:n.scale.map(l),d=R({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function Ot(e){var t=I(e,Q),n=m();return W.createElement(u,{id:t.id,type:`line`},e=>W.createElement(W.Fragment,null,W.createElement(f,{legendPayload:_t(t)}),W.createElement(vt,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),W.createElement(k,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),W.createElement(Et,Y({},t,{id:e}))))}var kt=W.memo(Ot,ae);kt.displayName=`Line`;var At=[`axis`],jt=(0,W.forwardRef)((e,t)=>W.createElement(_e,{chartName:`ComposedChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:At,tooltipPayloadSearcher:h,categoricalChartProps:e,ref:t})),Mt={metric:24,title:18,section:15,body:13,xs:12,caption:12},$=r();function Nt(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function Pt(e){if(e<=1)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=1?1:n<=2?2:n<=5?5:10)*t}function Ft(e){let t=Math.max(0,e.ok??e.requests-e.error),n=Math.min(Math.max(0,e.requests-t),Math.max(0,e.requests));return{...e,okCount:t,errorCount:n,inputTokens:e.prompt_tokens??0,outputTokens:e.completion_tokens??0,cacheTokens:e.cache_read_tokens??0,p50:e.latency_p50_ms??null,p95:e.latency_p95_ms??null}}function It({active:e,payload:t,daily:n,lang:r,specs:i,format:a,totalLabel:o,total:s}){if(!e||!t?.[0])return null;let c=t[0].payload;return(0,$.jsxs)(`div`,{className:`rounded-xl bg-overlay px-3 py-2 text-caption text-overlay-foreground shadow-overlay`,children:[(0,$.jsx)(`div`,{className:`mono text-muted`,children:Nt(c.at,n,r)}),(0,$.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[i.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:e.color}}),e.label]}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:a(c[e.key])})]},String(e.key))),s&&o?(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6 pt-1`,children:[(0,$.jsx)(`span`,{className:`text-muted`,children:o}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:a(s(c))})]}):null]})]})}function Lt({series:e,lang:t,emptyLabel:r,okLabel:c,errorLabel:l,onSelectRange:u,selectHint:d,labels:f,initialMetric:p=`requests`}){let[m,h]=(0,W.useState)(p),[g,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),b=(0,W.useRef)(!1),x=(0,W.useRef)(null),S=(0,W.useMemo)(()=>e.map(Ft),[e]),C=S[0],w=S[S.length-1],T=(C&&w?Date.parse(w.at)-Date.parse(C.at):0)>1728e5,E=f??{requests:`Requests`,tokens:`Tokens`,latency:`p95 latency`,input:`input`,output:`output`,cacheRead:`cache read`,p50:`p50`,p95:`p95`,total:`total`},D=m===`tokens`?[{key:`inputTokens`,label:E.input,color:`var(--foreground)`,area:!0,width:1.5,opacity:.75},{key:`outputTokens`,label:E.output,color:`var(--success)`,area:!0,width:1.5},{key:`cacheTokens`,label:E.cacheRead,color:`var(--muted)`,width:1.25,opacity:.8}]:m===`latency`?[{key:`p95`,label:E.p95,color:`var(--warning)`,area:!0,width:1.75},{key:`p50`,label:E.p50,color:`var(--muted)`,width:1.25,opacity:.85}]:[{key:`okCount`,label:c,color:`var(--success)`,area:!0,width:1.75},{key:`errorCount`,label:l,color:`var(--danger)`,area:!0,width:1.25,opacity:.7}],O=e=>e==null?`—`:m===`latency`?a(e):n(e),k=m===`requests`?e=>e.requests:m===`tokens`?e=>e.inputTokens+e.outputTokens:void 0,A=S.flatMap(e=>D.map(t=>Number(e[t.key]??0))),j=m===`requests`?Math.max(0,...S.map(e=>e.requests)):Math.max(0,...A),M=Pt(j),N=S.some(e=>e.requests>0),P=S.map(e=>`${e.at}:${e.requests}:${e.error}`).join(`|`);(0,W.useLayoutEffect)(()=>{let e=x.current;if(!e||!N||b.current)return;let t=!1,n=null,r=o.context(()=>{let r=o.matchMedia(),i=()=>{let t=o.utils.toArray(`.recharts-area-area`,e),n=o.utils.toArray(`.recharts-line-curve`,e);return!t.length&&!n.length?!1:(r.add(`(prefers-reduced-motion: reduce)`,()=>{o.set(n,{clearProps:`strokeDashoffset,strokeDasharray`}),o.set(t,{clearProps:`autoAlpha`})}),r.add(`(prefers-reduced-motion: no-preference)`,()=>{o.fromTo(t,{autoAlpha:0},{autoAlpha:1,duration:.45,ease:`power2.out`,stagger:.05}),n.forEach((e,t)=>{let n=e.getTotalLength();o.fromTo(e,{strokeDasharray:n,strokeDashoffset:n},{strokeDashoffset:0,duration:.7,delay:t*.05,ease:`power2.out`})})}),!0)};i()?(t=!0,b.current=!0):(n=new MutationObserver(()=>{t||i()&&(t=!0,b.current=!0,n?.disconnect())}),n.observe(e,{childList:!0,subtree:!0}))},e);return()=>{n?.disconnect(),r.revert()}},[N,P]);let ee=S.length>1?Date.parse(S[1].at)-Date.parse(S[0].at):36e5,te=()=>{if(g&&v&&u){let e=Date.parse(g),t=Date.parse(v);if(Number.isFinite(e)&&Number.isFinite(t)){let n=Math.min(e,t),r=Math.max(e,t)+ee;u(new Date(n).toISOString(),new Date(r).toISOString())}}_(null),y(null)},F=e=>{let t=e?.activeLabel;return t==null?null:String(t)};return!e.length||!N?(0,$.jsx)(i,{emptyLabel:r}):(0,$.jsxs)(`div`,{ref:x,className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`mb-3 flex justify-end`,children:(0,$.jsx)(s,{value:m,onChange:e=>h(e),ariaLabel:E.requests,options:[{id:`requests`,label:E.requests},{id:`tokens`,label:E.tokens},{id:`latency`,label:E.latency}]})}),(0,$.jsx)(`div`,{className:`h-56 w-full`,children:(0,$.jsx)(be,{width:`100%`,height:`100%`,children:(0,$.jsxs)(jt,{data:S,margin:{top:8,right:8,bottom:0,left:0},style:u?{cursor:`crosshair`,userSelect:`none`}:void 0,onMouseDown:u?e=>{let t=F(e);t&&(_(t),y(t))}:void 0,onMouseMove:u?e=>{if(!g)return;let t=F(e);t&&y(t)}:void 0,onMouseUp:u?te:void 0,onMouseLeave:u?()=>{_(null),y(null)}:void 0,children:[(0,$.jsx)(`defs`,{children:D.filter(e=>e.area).map(e=>(0,$.jsxs)(`linearGradient`,{id:`traffic-fill-${String(e.key)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:e.color,stopOpacity:.22}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:e.color,stopOpacity:.02})]},String(e.key)))}),(0,$.jsx)(Ce,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,$.jsx)(Te,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:Mt.caption,fontFamily:`var(--font-mono)`},tickFormatter:e=>Nt(e,T,t)}),(0,$.jsx)(de,{width:m===`latency`?44:36,domain:[0,M],tickLine:!1,axisLine:!1,allowDecimals:!1,tick:{fill:`var(--muted)`,fontSize:Mt.caption,fontFamily:`var(--font-mono)`},tickFormatter:e=>m===`latency`?a(e):n(e)}),(0,$.jsx)(we,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,$.jsx)(It,{daily:T,lang:t,specs:D,format:O,totalLabel:E.total,total:k})}),D.filter(e=>e.area).map(e=>(0,$.jsx)(se,{type:`monotone`,dataKey:e.key,stroke:`none`,fill:`url(#traffic-fill-${String(e.key)})`,isAnimationActive:!1,activeDot:!1,dot:!1,connectNulls:!0},`area-${String(e.key)}`)),D.map(e=>(0,$.jsx)(kt,{type:`monotone`,dataKey:e.key,stroke:e.color,strokeWidth:e.width??1.5,strokeOpacity:e.opacity??1,dot:!1,isAnimationActive:!1,connectNulls:!0,activeDot:{r:4,fill:`var(--surface)`,stroke:e.color,strokeWidth:1.5}},`line-${String(e.key)}`)),g&&v?(0,$.jsx)(Fe,{x1:g,x2:v,fill:`var(--foreground)`,fillOpacity:.06,stroke:`none`,ifOverflow:`visible`}):null]})})}),(0,$.jsxs)(`div`,{className:`mt-2 flex min-h-5 items-center justify-between gap-3 text-caption text-muted`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-3`,children:D.map(e=>(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:e.color}}),e.label]},String(e.key)))}),(0,$.jsxs)(`span`,{className:`flex items-center gap-3`,children:[u&&d?(0,$.jsx)(`span`,{children:d}):null,(0,$.jsxs)(`span`,{className:`mono`,children:[O(j),` peak`]})]})]})]})}export{Lt as TrafficChart}; \ No newline at end of file diff --git a/internal/webui/static/assets/XAxis-CcjVCtOa.js b/internal/webui/static/assets/XAxis-CcjVCtOa.js deleted file mode 100644 index 3ddae3fc..00000000 --- a/internal/webui/static/assets/XAxis-CcjVCtOa.js +++ /dev/null @@ -1,33 +0,0 @@ -import{d as e,f as t,h as n,u as r}from"./index-C5LslQI9.js";import{$ as i,$t as a,At as o,B as s,Bt as c,Ct as l,Dn as u,Dt as d,En as f,Et as p,F as m,Ft as h,G as g,Gt as _,H as v,Ht as y,I as b,It as x,J as S,Jt as C,K as w,Kt as T,Mn as E,Nn as D,On as O,Ot as k,Qt as A,R as ee,Rt as j,Sn as M,St as N,Tn as P,Tt as te,U as ne,Ut as re,V as ie,Vt as ae,W as oe,Wt as se,X as F,Xt as ce,Y as I,Yt as le,Zt as ue,_ as de,_n as L,an as fe,at as pe,b as me,bn as he,bt as ge,c as _e,cn as ve,dn as ye,dt as be,en as xe,fn as Se,ft as Ce,gn as we,hn as R,ht as Te,in as Ee,it as De,jn as Oe,jt as ke,kn as Ae,l as z,ln as je,lt as Me,mn as Ne,mt as Pe,nn as Fe,on as Ie,ot as Le,pn as Re,pt as ze,q as Be,qt as Ve,r as He,rn as Ue,rt as We,sn as Ge,st as B,tn as Ke,tt as qe,u as Je,un as Ye,ut as V,v as Xe,vn as Ze,vt as Qe,wn as H,xn as U,xt as $e,y as et,yn as tt,yt as nt,z as rt,zt as W}from"./CartesianChart-D9Qz51Q6.js";function it(e,t){let n=new Map;for(let r=0;rvoid 0)}function mt(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return ht(e,t,n,r,i);case`function`:return Object.keys(t).length>0?mt(e,{...t},n,r,i):y(e,t);default:return ae(e)&&i?typeof t!=`string`||t===``:y(e,t)}}function ht(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return _t(e,t,n,r);if(t instanceof Map)return gt(e,t,n,r);if(t instanceof Set)return vt(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)ct(e)&&(e=Object(e));else{let t=Se(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;ivoid 0)}function bt(e){return e=ft(e),t=>yt(t,e)}function xt(e,t){return ut(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(Se(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),K(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case Fe:case Ie:case Ve:{let t=new e.constructor(e?.valueOf());return K(t,e),t}case se:{let t={};return K(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function St(e){return xt(e)}function Ct(e){return typeof e==`object`&&!!e&&Se(e)===`[object Arguments]`}function wt(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&Ae(t)&&!(t in Object(e))?u(t):[t],n.length===0)return!1;let r=e;for(let e=0;ee.length)&&(t=e.length);for(var n=0,r=Array(t);nLt||Math.abs(e.left-t.left)>Lt||Math.abs(e.top-t.top)>Lt||Math.abs(e.width-t.width)>Lt}function zt(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bt(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=jt((0,q.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,q.useRef)(null),a=(0,q.useRef)(n);a.current=n;var o=(0,q.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=zt(e);if(Rt(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=zt(e);Rt(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,q.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,o]}function Vt(){return Vt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.separator,n=t===void 0?J.separator:t,i=e.contentStyle,a=e.itemStyle,o=e.labelStyle,s=o===void 0?J.labelStyle:o,c=e.payload,l=e.formatter,u=e.itemSorter,d=e.wrapperClassName,f=e.labelClassName,p=e.label,m=e.labelFormatter,h=e.accessibilityLayer,g=h===void 0?J.accessibilityLayer:h,_=()=>{if(c&&c.length){var e={padding:0,margin:0},t=en(c,u).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||l||$t,i=e.value,o=e.name,s=i,u=o;if(r){var d=r(i,o,e,t,c);if(Array.isArray(d)){var f=qt(d,2);s=f[0],u=f[1]}else if(d!=null)s=d;else return null}var p=Ut(Ut({},J.itemStyle),{},{color:e.color||J.itemStyle.color},a);return q.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:p},he(u)?q.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,he(u)?q.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,q.createElement(`span`,{className:`recharts-tooltip-item-value`},s),q.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return q.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},v=Ut(Ut({},J.contentStyle),i),y=Ut({margin:0},s),b=!tt(p),x=b?p:``,S=r(`recharts-default-tooltip`,d),C=r(`recharts-tooltip-label`,f);b&&m&&c!=null&&(x=m(p,c));var w=g?{role:`status`,"aria-live":`assertive`}:{};return q.createElement(`div`,Vt({className:S,style:v},w),q.createElement(`p`,{className:C,style:y},q.isValidElement(x)?x:`${x}`),_())},nn=`recharts-tooltip-wrapper`,rn={visibility:`hidden`};function an(e){var t=e.coordinate,n=e.translateX,i=e.translateY;return r(nn,{[`${nn}-right`]:U(n)&&t&&U(t.x)&&n>=t.x,[`${nn}-left`]:U(n)&&t&&U(t.x)&&n=t.y,[`${nn}-top`]:U(i)&&t&&U(t.y)&&i0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(uf+l?Math.max(u,f):Math.max(d,f)}function sn(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function cn(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=on({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=on({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=sn({translateX:d,translateY:f,useTranslate3d:c})):u=rn,{cssProperties:u,cssClasses:an({translateX:d,translateY:f,coordinate:n})}}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];q.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(Y(Y({},r),{},{dismissed:!1}));var a=cn({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,s=a.cssProperties,c=Y(Y({},e.hasPortalFromProps?{}:Y(Y({transition:yn({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},s),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return q.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:c,ref:e.innerRef},e.children)}var xn=q.memo(bn),Sn=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function Cn(){return Cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t`M${e},${i}v${r}M${a},${t}h${n}`,Mn=e=>{var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,o=e.top,s=o===void 0?0:o,c=e.left,l=c===void 0?0:c,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,m=e.className,h=kn(e,Sn),g=Tn({x:n,y:a,top:s,left:l,width:d,height:p},h);return!U(n)||!U(a)||!U(d)||!U(p)||!U(s)||!U(l)?null:q.createElement(`path`,Cn({},Oe(g),{className:r(`recharts-cross`,m),d:jn(n,a,d,p,s,l)}))};function Nn(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}var Pn=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),Fn=(e,t,n)=>e.map(e=>`${Pn(e)} ${t}ms ${n}`).join(`,`),In=[`radius`],Ln=[`radius`],Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn;function Jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Yn(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var a=H(n),o=H(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;ps?s:h}d=P(Rn||=X([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=P(zn||=X([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=P(Bn||=X([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=P(Vn||=X([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=P(Hn||=X([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=P(Un||=X([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=P(Wn||=X([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=P(Gn||=X([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=P(Kn||=X(`M .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=P(qn||=X([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},lr={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},ur=e=>{var t=R(e,lr),n=(0,q.useRef)(null),i=nr((0,q.useState)(-1),2),a=i[0],o=i[1];(0,q.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&o(e)}catch{}},[]);var s=t.x,c=t.y,l=t.width,u=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,h=t.animationBegin,g=t.isAnimationActive,_=t.isUpdateAnimationActive,v=(0,q.useRef)(l),y=(0,q.useRef)(u),b=(0,q.useRef)(s),x=(0,q.useRef)(c),S=(0,q.useMemo)(()=>({x:s,y:c,width:l,height:u,radius:d}),[s,c,l,u,d]),C=be(S,`rectangle-`);if(s!==+s||c!==+c||l!==+l||u!==+u||l===0||u===0)return null;var w=r(`recharts-rectangle`,f);if(!_){var T=Oe(t);T.radius;var E=er(T,In);return q.createElement(`path`,$n({},E,{x:H(s),y:H(c),width:H(l),height:H(u),radius:typeof d==`number`?d:void 0,className:w,d:cr(s,c,l,u,d)}))}var D=v.current,O=y.current,k=b.current,A=x.current,ee=`0px ${a===-1?1:a}px`,j=`${a}px ${a}px`,M=Fn([`strokeDasharray`],m,typeof p==`string`?p:lr.animationEasing);return q.createElement(Ce,{animationId:C,key:C,canBegin:a>0,duration:m,easing:p,isActive:_,begin:h},e=>{var r=Ze(D,l,e),i=Ze(O,u,e),a=Ze(k,s,e),o=Ze(A,c,e);n.current&&(v.current=r,y.current=i,b.current=a,x.current=o);var f=g?e>0?{transition:M,strokeDasharray:j}:{strokeDasharray:ee}:{strokeDasharray:j},p=Oe(t);p.radius;var m=er(p,Ln);return q.createElement(`path`,$n({},m,{radius:typeof d==`number`?d:void 0,className:w,d:cr(a,o,r,i,d),ref:n,style:Yn(Yn({},f),t.style)}))})};function dr(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[V(t,n,r,i),V(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var fr,pr,mr,hr,gr,_r,vr;function yr(){return yr=Object.assign?Object.assign.bind():function(e){for(var t=1;tM(t-e)*Math.min(Math.abs(t-e),359.999),xr=e=>{var t=e.cx,n=e.cy,r=e.radius,i=e.angle,a=e.sign,o=e.isExternal,s=e.cornerRadius,c=e.cornerIsExternal,l=s*(o?1:-1)+r,u=Math.asin(s/l)/Me,d=c?i:i+a*u,f=V(t,n,l,d),p=V(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:V(t,n,l*Math.cos(u*Me),m),theta:u}},Sr=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,s=br(a,o),c=a+s,l=V(t,n,i,a),u=V(t,n,i,c),d=P(fr||=Z([`M `,`,`,` - A `,`,`,`,0, - `,`,`,`, - `,`,`,` - `]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=V(t,n,r,a),p=V(t,n,r,c);d+=P(pr||=Z([`L `,`,`,` - A `,`,`,`,0, - `,`,`,`, - `,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=P(mr||=Z([`L `,`,`,` Z`]),t,n);return d},Cr=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=M(l-c),d=xr({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=xr({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?P(hr||=Z([`M `,`,`,` - a`,`,`,`,0,0,1,`,`,0 - a`,`,`,`,0,0,1,`,`,0 - `]),p.x,p.y,a,a,a*2,a,a,-a*2):Sr({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=P(gr||=Z([`M `,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - A`,`,`,`,0,`,`,`,`,`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - `]),p.x,p.y,a,a,+(u<0),f.x,f.y,i,i,+(y>180),+(u<0),g.x,g.y,a,a,+(u<0),_.x,_.y);if(r>0){var x=xr({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=xr({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=P(_r||=Z([`L`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - A`,`,`,`,0,`,`,`,`,`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,`Z`]),D.x,D.y,a,a,+(u<0),E.x,E.y,r,r,+(k>180),+(u>0),S.x,S.y,a,a,+(u<0),C.x,C.y)}else b+=P(vr||=Z([`L`,`,`,`Z`]),t,n);return b},wr={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Tr=e=>{var t=R(e,wr),n=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.cornerRadius,c=t.forceCornerRadius,l=t.cornerIsExternal,u=t.startAngle,d=t.endAngle,f=t.className;if(o0&&Math.abs(u-d)<360?Cr({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(h,m/2),forceCornerRadius:c,cornerIsExternal:l,startAngle:u,endAngle:d}):Sr({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:u,endAngle:d});return q.createElement(`path`,yr({},Oe(t),{className:p,d:g}))};function Er(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(we(t)){if(e===`centric`){var r=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.angle,c=V(r,i,a,s),l=V(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return dr(t)}}function Dr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Or(e){for(var t=1;tW(qe),Nr=()=>{var e=Mr(),t=W(w),n=W(g);return k(!e||!n?void 0:Or(Or({},e),{},{scale:n}),t)};function Pr(){return Pr=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{E(Be({shared:y,trigger:x,axisId:T,active:n,defaultIndex:D}))},[E,y,x,T,n,D]);var O=l(),k=Pe(),A=S(y),M=W(e=>v(e,A,x,D))??{},N=M.activeIndex,P=M.isActive,te=W(e=>ne(e,A,x,D)),re=W(e=>ie(e,A,x,D)),ae=W(e=>s(e,A,x,D)),oe=te,se=ee(),F=n??P??!1,ce=Jr(Bt([oe,F]),2),I=ce[0],le=ce[1],ue=A===`axis`?re:void 0;b(A,x,ae,ue,N,F);var de=w??se;if(de==null||O==null||A==null)return null;var L=oe??ni;F||(L=ni),c&&L.length&&(L=At(L.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),f,ei));var fe=L.length>0,pe=Wr(Wr({},t),{},{payload:L,label:ue,active:F,activeIndex:N,coordinate:ae,accessibilityLayer:k}),me=q.createElement(xn,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:u,active:F,coordinate:ae,hasPayload:fe,offset:d,position:p,reverseDirection:m,useTranslate3d:h,viewBox:O,wrapperStyle:g,lastBoundingBox:I,innerRef:le,hasPortalFromProps:!!w},ti(o,pe));return q.createElement(q.Fragment,null,(0,kt.createPortal)(me,de),F&&q.createElement(Hr,{cursor:_,tooltipEventType:A,coordinate:ae,payload:L,index:N}))}var ai=(0,q.createContext)({grid:{stroke:`#ccc`,fill:`none`}});ai.Provider;var oi=()=>(0,q.useContext)(ai),si=[`x1`,`y1`,`x2`,`y2`,`key`],ci=[`offset`],li=[`xAxisId`,`yAxisId`],ui=[`xAxisId`,`yAxisId`];function di(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return q.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function vi(e){var t=e.option,n=e.lineItemProps,r;if(q.isValidElement(t))r=q.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,l=hi(n,si),u=E(l)??{};u.offset;var d=hi(u,ci),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=q.createElement(`line`,$({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function yi(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=hi(e,li),s=a.map((e,r)=>{var a=Q(Q({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return q.createElement(vi,{key:`line-${r}`,option:i,lineItemProps:a})});return q.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function bi(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=hi(e,ui),s=a.map((e,r)=>{var a=Q(Q({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return q.createElement(vi,{option:i,lineItemProps:a,key:`line-${r}`})});return q.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function xi(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var l=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==l[0]&&l.unshift(0);var u=l.map((e,s)=>{var c=l[s+1],u=c==null?i+o-e:c-e;if(u<=0)return null;var d=s%t.length;return q.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:u,width:a,stroke:`none`,fill:t[d],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return q.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},u)}function Si(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var u=l.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==u[0]&&u.unshift(0);var d=u.map((e,t)=>{var n=u[t+1],l=n==null?a+s-e:n-e;if(l<=0)return null;var d=t%r.length;return q.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:l,height:c,stroke:`none`,fill:r[d],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return q.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},d)}var Ci=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return o(Je(Q(Q(Q({},z),n),{},{ticks:ke(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},wi=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return o(Je(Q(Q(Q({},z),n),{},{ticks:ke(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},Ti={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:B.grid};function Ei(e){var t=$e(),n=nt(),r=N(),i=Q(Q({},R(e,Ti)),{},{x:U(e.x)?e.x:r.left,y:U(e.y)?e.y:r.top,width:U(e.width)?e.width:r.width,height:U(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,l=i.width,u=i.height,d=i.syncWithTicks,f=i.horizontalValues,m=i.verticalValues,g=p(),_=W(e=>F(e,`xAxis`,a,g)),v=W(e=>F(e,`yAxis`,o,g)),y=oi(),b={stroke:i.stroke??y.grid.stroke,strokeWidth:i.strokeWidth??y.grid.strokeWidth,strokeOpacity:i.strokeOpacity??y.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??y.grid.strokeDasharray};if(!h(l)||!h(u)||!U(s)||!U(c))return null;var x=i.verticalCoordinatesGenerator||Ci,S=i.horizontalCoordinatesGenerator||wi,C=i.horizontalPoints,w=i.verticalPoints;if((!C||!C.length)&&typeof S==`function`){var T=f&&f.length,E=S({yAxis:v?Q(Q({},v),{},{ticks:T?f:v.ticks}):void 0,width:t??l,height:n??u,offset:r},T?!0:d);te(Array.isArray(E),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof E}]`),Array.isArray(E)&&(C=E)}if((!w||!w.length)&&typeof x==`function`){var D=m&&m.length,O=x({xAxis:_?Q(Q({},_),{},{ticks:D?m:_.ticks}):void 0,width:t??l,height:n??u,offset:r},D?!0:d);te(Array.isArray(O),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof O}]`),Array.isArray(O)&&(w=O)}return q.createElement(rt,{zIndex:i.zIndex},q.createElement(`g`,{className:`recharts-cartesian-grid`},q.createElement(_i,{fill:i.fill??y.grid.fill,fillOpacity:i.fillOpacity??y.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),q.createElement(xi,$({},i,{horizontalPoints:C})),q.createElement(Si,$({},i,{verticalPoints:w})),q.createElement(yi,$({},i,b,{offset:r,horizontalPoints:C,xAxis:_,yAxis:v})),q.createElement(bi,$({},i,b,{offset:r,verticalPoints:w,xAxis:_,yAxis:v}))))}Ei.displayName=`CartesianGrid`;var Di=[`type`],Oi=[`dangerouslySetInnerHTML`,`ticks`,`scale`],ki=[`id`,`scale`];function Ai(){return Ai=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return Mi(Mi({},a),{},{type:o})},[a,o]);return(0,q.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(de(s)):n.current!==s&&t(et({prev:n.current,next:s})),n.current=s)},[s,t]),(0,q.useLayoutEffect)(()=>()=>{n.current&&=(t(Xe(n.current)),null)},[t]),null}var zi=e=>{var t=e.xAxisId,n=e.className,a=e.height,o=e.label,s=(0,q.useRef)(null),c=(0,q.useRef)(null),l=W(d),u=p(),f=j(),h=`xAxis`,g=W(e=>i(e,h,t,u)),_=W(e=>pe(e,t)),v=W(e=>We(e,t)),y=W(e=>De(e,t));if((0,q.useLayoutEffect)(()=>{if(!(a!==`auto`||!_||m(o)||(0,q.isValidElement)(o)||y==null)){var e=s.current;if(e){var n=e.getCalculatedHeight();Math.round(_.height)!==Math.round(n)&&f(me({id:t,height:n}))}}},[g,_,f,o,t,a,y]),_==null||v==null||y==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var b=Ii(e,Oi);y.id,y.scale;var x=Ii(y,ki);return q.createElement(_e,Ai({},b,x,{ref:s,labelRef:c,x:v.x,y:v.y,width:_.width,height:_.height,className:r(`recharts-${h} ${h}`,n),viewBox:l,ticks:g,axisType:h,axisId:t}))},Bi={allowDataOverflow:I.allowDataOverflow,allowDecimals:I.allowDecimals,allowDuplicatedCategory:I.allowDuplicatedCategory,angle:I.angle,axisLine:z.axisLine,height:I.height,hide:!1,includeHidden:I.includeHidden,interval:I.interval,label:!1,minTickGap:I.minTickGap,mirror:I.mirror,orientation:I.orientation,padding:I.padding,reversed:I.reversed,scale:I.scale,tick:I.tick,tickCount:I.tickCount,tickLine:z.tickLine,tickSize:z.tickSize,type:I.type,niceTicks:I.niceTicks,xAxisId:0},Vi=q.memo(e=>{var t=R(e,Bi);return q.createElement(q.Fragment,null,q.createElement(Ri,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),q.createElement(zi,t))},He);Vi.displayName=`XAxis`;export{ur as i,Ei as n,ii as r,Vi as t}; \ No newline at end of file diff --git a/internal/webui/static/assets/XAxis-hz2I6mvW.js b/internal/webui/static/assets/XAxis-hz2I6mvW.js new file mode 100644 index 00000000..48241e84 --- /dev/null +++ b/internal/webui/static/assets/XAxis-hz2I6mvW.js @@ -0,0 +1,33 @@ +import{d as e,f as t,h as n,u as r}from"./index-DksXuUH8.js";import{$ as i,$t as a,An as o,At as s,B as c,Bt as l,Ct as u,Dn as d,Dt as f,En as p,Et as m,F as h,Ft as g,G as _,Gt as v,H as y,Ht as b,I as x,It as S,J as C,Jt as w,K as T,Kt as E,Mn as D,Nn as O,On as k,Ot as A,Pn as ee,Qt as j,R as te,Rt as ne,Sn as re,St as ie,Tn as M,Tt as N,U as ae,Ut as oe,V as se,Vt as ce,W as P,Wt as le,X as ue,Xt as de,Y as F,Yt as fe,Zt as I,_ as pe,_n as me,an as he,at as ge,b as _e,bn as ve,bt as ye,c as be,cn as xe,dn as Se,dt as Ce,en as we,fn as Te,ft as Ee,gn as De,hn as L,ht as Oe,in as ke,it as Ae,jt as je,kn as Me,l as R,ln as Ne,lt as Pe,mn as Fe,mt as Ie,nn as Le,on as Re,ot as ze,pn as Be,pt as Ve,q as He,qt as Ue,r as We,rn as Ge,rt as Ke,sn as qe,st as Je,tn as Ye,tt as Xe,u as Ze,un as Qe,ut as z,v as $e,vn as et,vt as tt,wn as B,xn as V,xt as nt,y as rt,yn as it,yt as at,z as ot,zt as H}from"./CartesianChart-C36ZX62E.js";function st(e,t){let n=new Map;for(let r=0;rvoid 0)}function pt(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return mt(e,t,n,r,i);case`function`:return Object.keys(t).length>0?pt(e,Object.assign({},t),n,r,i):le(e,t);default:return oe(e)&&i?typeof t!=`string`||t===``:le(e,t)}}function mt(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return gt(e,t,n,r);if(t instanceof Map)return ht(e,t,n,r);if(t instanceof Set)return _t(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)dt(e)&&(e=Object(e));else{if(Be(t)===`[object Error]`)return Be(e)===`[object Error]`&&e.name===t.name&&e.message===t.message;let n=Be(e);if(n!==`[object Object]`&&n!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;ivoid 0)}function yt(e){return ce(e)}function bt(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function xt(e){return bt(e)}function St(e,t){return U(e,void 0,e,new Map,t)}function U(e,t,n,r,i){if(i!=null){let a=i(e,t,n,r);if(a!==void 0)return a}if(dt(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a{t.set(a,U(e,a,n,r,i))}),t}if(e instanceof Set){let t=new Set;return r.set(e,t),e.forEach(e=>{t.add(U(e,void 0,n,r,i))}),t}if(yt(e))return e.subarray();if(xt(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;avt(t,e)}function Et(e){return typeof e==`object`&&!!e&&Be(e)===`[object Arguments]`}function Dt(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&Me(t)&&!(t in Object(e))?d(t):[t],n.length===0)return!1;let r=e;for(let e=0;ee.length)&&(t=e.length);for(var n=0,r=Array(t);nBt||Math.abs(e.left-t.left)>Bt||Math.abs(e.top-t.top)>Bt||Math.abs(e.width-t.width)>Bt}function Ht(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Ut(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=Pt((0,G.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,G.useRef)(null),a=(0,G.useRef)(n);a.current=n;var o=(0,G.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=Ht(e);if(Vt(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=Ht(e);Vt(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,G.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,o]}function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.separator,n=t===void 0?q.separator:t,i=e.contentStyle,a=e.itemStyle,o=e.labelStyle,s=o===void 0?q.labelStyle:o,c=e.payload,l=e.formatter,u=e.itemSorter,d=e.wrapperClassName,f=e.labelClassName,p=e.label,m=e.labelFormatter,h=e.accessibilityLayer,g=h===void 0?q.accessibilityLayer:h,_=()=>{if(c&&c.length){var e={padding:0,margin:0},t=nn(c,u).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||l||tn,i=e.value,o=e.name,s=i,u=o;if(r){var d=r(i,o,e,t,c);if(Array.isArray(d)){var f=Yt(d,2);s=f[0],u=f[1]}else if(d!=null)s=d;else return null}var p=K(K({},q.itemStyle),{},{color:e.color||q.itemStyle.color},a);return G.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:p},ve(u)?G.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,ve(u)?G.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,G.createElement(`span`,{className:`recharts-tooltip-item-value`},s),G.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return G.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},v=K(K({},q.contentStyle),i),y=K({margin:0},s),b=!it(p),x=b?p:``,S=r(`recharts-default-tooltip`,d),C=r(`recharts-tooltip-label`,f);b&&m&&c!=null&&(x=m(p,c));var w=g?{role:`status`,"aria-live":`assertive`}:{};return G.createElement(`div`,Wt({className:S,style:v},w),G.createElement(`p`,{className:C,style:y},G.isValidElement(x)?x:`${x}`),_())},J=`recharts-tooltip-wrapper`,an={visibility:`hidden`};function on(e){var t=e.coordinate,n=e.translateX,i=e.translateY;return r(J,{[`${J}-right`]:V(n)&&t&&V(t.x)&&n>=t.x,[`${J}-left`]:V(n)&&t&&V(t.x)&&n=t.y,[`${J}-top`]:V(i)&&t&&V(t.y)&&i0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(uf+l?Math.max(u,f):Math.max(d,f)}function cn(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function ln(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=sn({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=sn({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=cn({translateX:d,translateY:f,useTranslate3d:c})):u=an,{cssProperties:u,cssClasses:on({translateX:d,translateY:f,coordinate:n})}}function un(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];G.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(Y(Y({},r),{},{dismissed:!1}));var a=ln({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,s=a.cssProperties,c=Y(Y({},e.hasPortalFromProps?{}:Y(Y({transition:bn({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},s),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return G.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:c,ref:e.innerRef},e.children)}var Sn=G.memo(xn),Cn=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function wn(){return wn=Object.assign?Object.assign.bind():function(e){for(var t=1;t`M${e},${i}v${r}M${a},${t}h${n}`,Nn=e=>{var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,o=e.top,s=o===void 0?0:o,c=e.left,l=c===void 0?0:c,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,m=e.className,h=An(e,Cn),g=En({x:n,y:a,top:s,left:l,width:d,height:p},h);return!V(n)||!V(a)||!V(d)||!V(p)||!V(s)||!V(l)?null:G.createElement(`path`,wn({},D(g),{className:r(`recharts-cross`,m),d:Mn(n,a,d,p,s,l)}))};function Pn(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}var Fn=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),In=(e,t,n)=>e.map(e=>`${Fn(e)} ${t}ms ${n}`).join(`,`),Ln=[`radius`],Rn=[`radius`],zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn;function Yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Xn(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var a=B(n),o=B(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;ps?s:h}d=M(zn||=X([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=M(Bn||=X([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=M(Vn||=X([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=M(Hn||=X([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=M(Un||=X([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=M(Wn||=X([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=M(Gn||=X([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=M(Kn||=X([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=M(qn||=X(`M .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=M(Jn||=X([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},ur={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},dr=e=>{var t=L(e,ur),n=(0,G.useRef)(null),i=rr((0,G.useState)(-1),2),a=i[0],o=i[1];(0,G.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&o(e)}catch{}},[]);var s=t.x,c=t.y,l=t.width,u=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,h=t.animationBegin,g=t.isAnimationActive,_=t.isUpdateAnimationActive,v=(0,G.useRef)(l),y=(0,G.useRef)(u),b=(0,G.useRef)(s),x=(0,G.useRef)(c),S=(0,G.useMemo)(()=>({x:s,y:c,width:l,height:u,radius:d}),[s,c,l,u,d]),C=Ce(S,`rectangle-`);if(s!==+s||c!==+c||l!==+l||u!==+u||l===0||u===0)return null;var w=r(`recharts-rectangle`,f);if(!_){var T=D(t);T.radius;var E=tr(T,Ln);return G.createElement(`path`,er({},E,{x:B(s),y:B(c),width:B(l),height:B(u),radius:typeof d==`number`?d:void 0,className:w,d:lr(s,c,l,u,d)}))}var O=v.current,k=y.current,A=b.current,ee=x.current,j=`0px ${a===-1?1:a}px`,te=`${a}px ${a}px`,ne=In([`strokeDasharray`],m,typeof p==`string`?p:ur.animationEasing);return G.createElement(Ee,{animationId:C,key:C,canBegin:a>0,duration:m,easing:p,isActive:_,begin:h},e=>{var r=et(O,l,e),i=et(k,u,e),a=et(A,s,e),o=et(ee,c,e);n.current&&(v.current=r,y.current=i,b.current=a,x.current=o);var f=g?e>0?{transition:ne,strokeDasharray:te}:{strokeDasharray:j}:{strokeDasharray:te},p=D(t);p.radius;var m=tr(p,Rn);return G.createElement(`path`,er({},m,{radius:typeof d==`number`?d:void 0,className:w,d:lr(a,o,r,i,d),ref:n,style:Xn(Xn({},f),t.style)}))})};function fr(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[z(t,n,r,i),z(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var pr,mr,hr,gr,_r,vr,yr;function br(){return br=Object.assign?Object.assign.bind():function(e){for(var t=1;tre(t-e)*Math.min(Math.abs(t-e),359.999),Sr=e=>{var t=e.cx,n=e.cy,r=e.radius,i=e.angle,a=e.sign,o=e.isExternal,s=e.cornerRadius,c=e.cornerIsExternal,l=s*(o?1:-1)+r,u=Math.asin(s/l)/Pe,d=c?i:i+a*u,f=z(t,n,l,d),p=z(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:z(t,n,l*Math.cos(u*Pe),m),theta:u}},Cr=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,s=xr(a,o),c=a+s,l=z(t,n,i,a),u=z(t,n,i,c),d=M(pr||=Z([`M `,`,`,` + A `,`,`,`,0, + `,`,`,`, + `,`,`,` + `]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=z(t,n,r,a),p=z(t,n,r,c);d+=M(mr||=Z([`L `,`,`,` + A `,`,`,`,0, + `,`,`,`, + `,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=M(hr||=Z([`L `,`,`,` Z`]),t,n);return d},wr=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=re(l-c),d=Sr({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=Sr({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?M(gr||=Z([`M `,`,`,` + a`,`,`,`,0,0,1,`,`,0 + a`,`,`,`,0,0,1,`,`,0 + `]),p.x,p.y,a,a,a*2,a,a,-a*2):Cr({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=M(_r||=Z([`M `,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + A`,`,`,`,0,`,`,`,`,`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + `]),p.x,p.y,a,a,+(u<0),f.x,f.y,i,i,+(y>180),+(u<0),g.x,g.y,a,a,+(u<0),_.x,_.y);if(r>0){var x=Sr({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=Sr({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=M(vr||=Z([`L`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + A`,`,`,`,0,`,`,`,`,`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,`Z`]),D.x,D.y,a,a,+(u<0),E.x,E.y,r,r,+(k>180),+(u>0),S.x,S.y,a,a,+(u<0),C.x,C.y)}else b+=M(yr||=Z([`L`,`,`,`Z`]),t,n);return b},Tr={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Er=e=>{var t=L(e,Tr),n=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.cornerRadius,c=t.forceCornerRadius,l=t.cornerIsExternal,u=t.startAngle,d=t.endAngle,f=t.className;if(o0&&Math.abs(u-d)<360?wr({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(h,m/2),forceCornerRadius:c,cornerIsExternal:l,startAngle:u,endAngle:d}):Cr({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:u,endAngle:d});return G.createElement(`path`,br({},D(t),{className:p,d:g}))};function Dr(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(De(t)){if(e===`centric`){var r=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.angle,c=z(r,i,a,s),l=z(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return fr(t)}}function Or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kr(e){for(var t=1;tH(Xe),Pr=()=>{var e=Nr(),t=H(T),n=H(_);return A(!e||!n?void 0:kr(kr({},e),{},{scale:n}),t)};function Fr(){return Fr=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{E(He({shared:v,trigger:b,axisId:T,active:n,defaultIndex:D}))},[E,v,b,T,n,D]);var O=u(),k=Ie(),A=C(v),ee=H(e=>y(e,A,b,D))??{},j=ee.activeIndex,re=ee.isActive,ie=H(e=>ae(e,A,b,D)),M=H(e=>se(e,A,b,D)),N=H(e=>c(e,A,b,D)),oe=ie,ce=te(),P=n??re??!1,le=Yr(Ut([oe,P]),2),ue=le[0],de=le[1],F=A===`axis`?M:void 0;x(A,b,N,F,j,P);var fe=w??ce;if(fe==null||O==null||A==null)return null;var I=oe??ri;P||(I=ri),s&&I.length&&(I=Nt(I.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),f,ti));var pe=I.length>0,me=Gr(Gr({},t),{},{payload:I,label:F,active:P,activeIndex:j,coordinate:N,accessibilityLayer:k}),he=G.createElement(Sn,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:l,active:P,coordinate:N,hasPayload:pe,offset:d,position:p,reverseDirection:m,useTranslate3d:h,viewBox:O,wrapperStyle:g,lastBoundingBox:ue,innerRef:de,hasPortalFromProps:!!w},ni(o,me));return G.createElement(G.Fragment,null,(0,Mt.createPortal)(he,fe),P&&G.createElement(Ur,{cursor:_,tooltipEventType:A,coordinate:N,payload:I,index:j}))}var oi=(0,G.createContext)({grid:{stroke:`#ccc`,fill:`none`}});oi.Provider;var si=()=>(0,G.useContext)(oi),ci=[`x1`,`y1`,`x2`,`y2`,`key`],li=[`offset`],ui=[`xAxisId`,`yAxisId`],di=[`xAxisId`,`yAxisId`];function fi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return G.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function yi(e){var t=e.option,n=e.lineItemProps,r;if(G.isValidElement(t))r=G.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,l=gi(n,ci),u=O(l)??{};u.offset;var d=gi(u,li),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=G.createElement(`line`,$({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function bi(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=gi(e,ui),s=a.map((e,r)=>{var a=Q(Q({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return G.createElement(yi,{key:`line-${r}`,option:i,lineItemProps:a})});return G.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function xi(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=gi(e,di),s=a.map((e,r)=>{var a=Q(Q({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return G.createElement(yi,{option:i,lineItemProps:a,key:`line-${r}`})});return G.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function Si(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var l=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==l[0]&&l.unshift(0);var u=l.map((e,s)=>{var c=l[s+1],u=c==null?i+o-e:c-e;if(u<=0)return null;var d=s%t.length;return G.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:u,width:a,stroke:`none`,fill:t[d],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return G.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},u)}function Ci(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var u=l.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==u[0]&&u.unshift(0);var d=u.map((e,t)=>{var n=u[t+1],l=n==null?a+s-e:n-e;if(l<=0)return null;var d=t%r.length;return G.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:l,height:c,stroke:`none`,fill:r[d],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return G.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},d)}var wi=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return s(Ze(Q(Q(Q({},R),n),{},{ticks:je(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},Ti=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return s(Ze(Q(Q(Q({},R),n),{},{ticks:je(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},Ei={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Je.grid};function Di(e){var t=nt(),n=at(),r=ie(),i=Q(Q({},L(e,Ei)),{},{x:V(e.x)?e.x:r.left,y:V(e.y)?e.y:r.top,width:V(e.width)?e.width:r.width,height:V(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,l=i.width,u=i.height,d=i.syncWithTicks,f=i.horizontalValues,p=i.verticalValues,h=m(),_=H(e=>ue(e,`xAxis`,a,h)),v=H(e=>ue(e,`yAxis`,o,h)),y=si(),b={stroke:i.stroke??y.grid.stroke,strokeWidth:i.strokeWidth??y.grid.strokeWidth,strokeOpacity:i.strokeOpacity??y.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??y.grid.strokeDasharray};if(!g(l)||!g(u)||!V(s)||!V(c))return null;var x=i.verticalCoordinatesGenerator||wi,S=i.horizontalCoordinatesGenerator||Ti,C=i.horizontalPoints,w=i.verticalPoints;if((!C||!C.length)&&typeof S==`function`){var T=f&&f.length,E=S({yAxis:v?Q(Q({},v),{},{ticks:T?f:v.ticks}):void 0,width:t??l,height:n??u,offset:r},T?!0:d);N(Array.isArray(E),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof E}]`),Array.isArray(E)&&(C=E)}if((!w||!w.length)&&typeof x==`function`){var D=p&&p.length,O=x({xAxis:_?Q(Q({},_),{},{ticks:D?p:_.ticks}):void 0,width:t??l,height:n??u,offset:r},D?!0:d);N(Array.isArray(O),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof O}]`),Array.isArray(O)&&(w=O)}return G.createElement(ot,{zIndex:i.zIndex},G.createElement(`g`,{className:`recharts-cartesian-grid`},G.createElement(vi,{fill:i.fill??y.grid.fill,fillOpacity:i.fillOpacity??y.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),G.createElement(Si,$({},i,{horizontalPoints:C})),G.createElement(Ci,$({},i,{verticalPoints:w})),G.createElement(bi,$({},i,b,{offset:r,horizontalPoints:C,xAxis:_,yAxis:v})),G.createElement(xi,$({},i,b,{offset:r,verticalPoints:w,xAxis:_,yAxis:v}))))}Di.displayName=`CartesianGrid`;var Oi=[`type`],ki=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Ai=[`id`,`scale`];function ji(){return ji=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return Ni(Ni({},a),{},{type:o})},[a,o]);return(0,G.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(pe(s)):n.current!==s&&t(rt({prev:n.current,next:s})),n.current=s)},[s,t]),(0,G.useLayoutEffect)(()=>()=>{n.current&&=(t($e(n.current)),null)},[t]),null}var Bi=e=>{var t=e.xAxisId,n=e.className,a=e.height,o=e.label,s=(0,G.useRef)(null),c=(0,G.useRef)(null),l=H(f),u=m(),d=ne(),p=`xAxis`,g=H(e=>i(e,p,t,u)),_=H(e=>ge(e,t)),v=H(e=>Ke(e,t)),y=H(e=>Ae(e,t));if((0,G.useLayoutEffect)(()=>{if(!(a!==`auto`||!_||h(o)||(0,G.isValidElement)(o)||y==null)){var e=s.current;if(e){var n=e.getCalculatedHeight();Math.round(_.height)!==Math.round(n)&&d(_e({id:t,height:n}))}}},[g,_,d,o,t,a,y]),_==null||v==null||y==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var b=Li(e,ki);y.id,y.scale;var x=Li(y,Ai);return G.createElement(be,ji({},b,x,{ref:s,labelRef:c,x:v.x,y:v.y,width:_.width,height:_.height,className:r(`recharts-${p} ${p}`,n),viewBox:l,ticks:g,axisType:p,axisId:t}))},Vi={allowDataOverflow:F.allowDataOverflow,allowDecimals:F.allowDecimals,allowDuplicatedCategory:F.allowDuplicatedCategory,angle:F.angle,axisLine:R.axisLine,height:F.height,hide:!1,includeHidden:F.includeHidden,interval:F.interval,label:!1,minTickGap:F.minTickGap,mirror:F.mirror,orientation:F.orientation,padding:F.padding,reversed:F.reversed,scale:F.scale,tick:F.tick,tickCount:F.tickCount,tickLine:R.tickLine,tickSize:R.tickSize,type:F.type,niceTicks:F.niceTicks,xAxisId:0},Hi=G.memo(e=>{var t=L(e,Vi);return G.createElement(G.Fragment,null,G.createElement(zi,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),G.createElement(Bi,t))},We);Hi.displayName=`XAxis`;export{dr as i,Di as n,ai as r,Hi as t}; \ No newline at end of file diff --git a/internal/webui/static/assets/index-C-bfWHJD.css b/internal/webui/static/assets/index-C-bfWHJD.css new file mode 100644 index 00000000..44ca8f31 --- /dev/null +++ b/internal/webui/static/assets/index-C-bfWHJD.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-content:"";--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:var(--text-caption);--text-xs--line-height:1rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) * .5);--radius-xl:calc(var(--radius) * 1.5);--radius-2xl:calc(var(--radius) * 2);--radius-3xl:calc(var(--radius) * 3);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-field:var(--field-background,var(--default));--color-field-hover:var(--field-hover);--radius-field:var(--field-radius,calc(var(--radius) * 1.5));--border-width-field:var(--field-border-width,var(--border-width));--ease-smooth:ease;--ease-out-quad:cubic-bezier(.25, .46, .45, .94);--ease-out-quart:cubic-bezier(.165, .84, .44, 1);--ease-out-fluid:cubic-bezier(.32, .72, 0, 1);--ease-linear:linear;--text-metric:1.5rem;--text-metric--line-height:2rem;--text-metric--font-weight:500;--text-title:1.125rem;--text-title--line-height:1.75rem;--text-title--font-weight:600;--text-section:.9375rem;--text-section--line-height:1.375rem;--text-section--font-weight:600;--text-nav:.875rem;--text-nav--line-height:1.25rem;--text-body:.8125rem;--text-body--line-height:1.25rem;--text-caption:.75rem;--text-caption--line-height:1rem}@layer theme{@layer base{:root,:host{--white:oklch(100% 0 0);--black:oklch(0% 0 0);--snow:oklch(99.11% 0 0);--eclipse:oklch(21.03% .0059 285.89);--spacing:.25rem;--border-width:1px;--field-border-width:0px;--disabled-opacity:.5;--ring-offset-width:2px;--cursor-interactive:pointer;--cursor-disabled:not-allowed;--radius:.5rem;--field-radius:calc(var(--radius) * 1.5);--accent:oklch(62.04% .195 253.83);--accent-foreground:var(--snow);--success:oklch(73.29% .1935 150.81);--success-foreground:var(--eclipse);--field-border:transparent;--skeleton-animation:shimmer;--tooltip-delay:1.5s;--tooltip-close-delay:.5s}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:oklch(97.02% 0 0);--foreground:var(--eclipse);--surface:var(--white);--surface-foreground:var(--foreground);--surface-secondary:oklch(95.24% .0013 286.37);--surface-secondary-foreground:var(--foreground);--surface-tertiary:oklch(93.73% .0013 286.37);--surface-tertiary-foreground:var(--foreground);--overlay:var(--white);--overlay-foreground:var(--foreground);--muted:oklch(55.17% .0138 285.94);--scrollbar:var(--scrollbar-thumb);--scrollbar-thumb:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--scrollbar-thumb:color-mix(in oklch, var(--foreground) 15%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--scrollbar-track:transparent;--scrollbar-gutter:auto;--scrollbar-width:thin;--scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);--default:oklch(94% .001 286.375);--default-foreground:var(--eclipse);--field-background:var(--white);--field-foreground:oklch(21.03% .0059 285.89);--field-placeholder:var(--muted);--warning:oklch(78.19% .1585 72.33);--warning-foreground:var(--eclipse);--danger:oklch(65.32% .2328 25.74);--danger-foreground:var(--snow);--segment:var(--white);--segment-foreground:var(--eclipse);--border:oklch(90% .004 286.32);--separator:oklch(92% .004 286.32);--focus:var(--accent);--link:var(--foreground);--backdrop:#00000080;--surface-hover:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--surface-hover:color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--background-secondary:var(--background)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--background-secondary:color-mix(in oklab, var(--background) 96%, var(--foreground) 4%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--background-tertiary:var(--background)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--background-tertiary:color-mix(in oklab, var(--background) 92%, var(--foreground) 8%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--background-inverse:var(--foreground);--default-hover:var(--default)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--default-hover:color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-hover:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-hover:color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-hover:var(--success)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-hover:color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-hover:var(--warning)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-hover:color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-hover:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-hover:color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-hover:var(--field-background,var(--default))}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-hover:color-mix(in oklab, var(--field-background,var(--default)) 90%, var(--field-foreground,var(--foreground)) 2%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-focus:var(--field-background,var(--default));--field-border-hover:var(--field-border,var(--border))}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-border-hover:color-mix(in oklab, var(--field-border,var(--border)) 88%, var(--field-foreground,var(--foreground)) 10%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-border-focus:var(--field-border,var(--border))}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--field-border-focus:color-mix(in oklab, var(--field-border,var(--border)) 74%, var(--field-foreground,var(--foreground)) 22%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--default-soft:var(--default)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--default-soft:color-mix(in oklab, var(--default) 50%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--default-soft-foreground:var(--default-foreground);--default-soft-hover:var(--default)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--default-soft-hover:color-mix(in oklab, var(--default) 60%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft:color-mix(in oklab, var(--accent) 15%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft-foreground:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft-foreground:color-mix(in oklab, var(--accent) 70%, var(--foreground) 30%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft-hover:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--accent-soft-hover:color-mix(in oklab, var(--accent) 20%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft:color-mix(in oklab, var(--danger) 15%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft-foreground:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft-foreground:color-mix(in oklab, var(--danger) 70%, var(--foreground) 40%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft-hover:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--danger-soft-hover:color-mix(in oklab, var(--danger) 20%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft:var(--warning)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft:color-mix(in oklab, var(--warning) 15%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft-foreground:var(--warning)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft-foreground:color-mix(in oklab, var(--warning) 80%, var(--foreground) 70%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft-hover:var(--warning)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--warning-soft-hover:color-mix(in oklab, var(--warning) 20%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft:var(--success)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft:color-mix(in oklab, var(--success) 15%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft-foreground:var(--success)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft-foreground:color-mix(in oklab, var(--success) 80%, var(--foreground) 60%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft-hover:var(--success)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--success-soft-hover:color-mix(in oklab, var(--success) 20%, transparent)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--separator-secondary:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--separator-secondary:color-mix(in oklab, var(--surface) 85%, var(--surface-foreground) 15%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--separator-tertiary:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--separator-tertiary:color-mix(in oklab, var(--surface) 81%, var(--surface-foreground) 19%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--border-secondary:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--border-secondary:color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--border-tertiary:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--border-tertiary:color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%)}}:root,.light,.default,[data-theme=light],[data-theme=default],:host(.light),:host(.default),:host([data-theme=light]),:host([data-theme=default]){--surface-shadow:0 2px 4px 0 #0000000a, 0 1px 2px 0 #0000000f, 0 0 1px 0 #0000000f;--overlay-shadow:0 2px 8px 0 #0000000f, 0 -6px 12px 0 #00000008, 0 14px 28px 0 #00000014;--field-shadow:0 2px 4px 0 #0000000a, 0 1px 2px 0 #0000000f, 0 0 1px 0 #0000000f}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:oklch(12% .005 285.823);--foreground:var(--snow);--surface:oklch(21.03% .0059 285.89);--surface-foreground:var(--foreground);--surface-secondary:oklch(25.7% .0037 286.14);--surface-secondary-foreground:var(--foreground);--surface-tertiary:oklch(27.21% .0024 247.91);--surface-tertiary-foreground:var(--foreground);--overlay:oklch(21.03% .0059 285.89);--overlay-foreground:var(--foreground);--muted:oklch(70.5% .015 286.067);--scrollbar:var(--scrollbar-thumb);--scrollbar-thumb:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--scrollbar-thumb:color-mix(in oklch, var(--foreground) 15%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--scrollbar-track:transparent;--scrollbar-gutter:auto;--scrollbar-width:thin;--scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);--default:oklch(27.4% .006 286.033);--default-foreground:var(--snow);--field-background:oklch(21.03% .0059 285.89);--field-foreground:var(--foreground);--field-placeholder:var(--muted);--warning:oklch(82.03% .1388 76.34);--warning-foreground:var(--eclipse);--danger:oklch(59.4% .1967 24.63);--danger-foreground:var(--snow);--segment:oklch(39.64% .01 285.93);--segment-foreground:var(--foreground);--border:oklch(28% .006 286.033);--separator:oklch(25% .006 286.033);--focus:var(--accent);--link:var(--foreground);--backdrop:#0009;--surface-shadow:0 0 0 0 transparent inset;--overlay-shadow:0 0 1px 0 #ffffff4d inset;--field-shadow:0 0 0 0 transparent inset;--surface-hover:var(--surface)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--surface-hover:color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--background-secondary:var(--background)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--background-secondary:color-mix(in oklab, var(--background) 96%, var(--foreground) 4%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--background-tertiary:var(--background)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--background-tertiary:color-mix(in oklab, var(--background) 92%, var(--foreground) 8%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--background-inverse:var(--foreground);--default-hover:var(--default)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--default-hover:color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-hover:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-hover:color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-hover:var(--success)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-hover:color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-hover:var(--warning)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-hover:color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-hover:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-hover:color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-hover:var(--field-background,var(--default))}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-hover:color-mix(in oklab, var(--field-background,var(--default)) 90%, var(--field-foreground,var(--foreground)) 2%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-focus:var(--field-background,var(--default));--field-border-hover:var(--field-border,var(--border))}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-border-hover:color-mix(in oklab, var(--field-border,var(--border)) 88%, var(--field-foreground,var(--foreground)) 10%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-border-focus:var(--field-border,var(--border))}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--field-border-focus:color-mix(in oklab, var(--field-border,var(--border)) 74%, var(--field-foreground,var(--foreground)) 22%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--default-soft:var(--default)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--default-soft:color-mix(in oklab, var(--default) 50%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--default-soft-foreground:var(--default-foreground);--default-soft-hover:var(--default)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--default-soft-hover:color-mix(in oklab, var(--default) 60%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft:color-mix(in oklab, var(--accent) 12%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft-foreground:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft-foreground:color-mix(in oklab, var(--accent) 80%, var(--foreground) 30%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft-hover:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--accent-soft-hover:color-mix(in oklab, var(--accent) 16%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft:color-mix(in oklab, var(--danger) 15%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft-foreground:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft-foreground:color-mix(in oklab, var(--danger) 80%, var(--foreground) 30%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft-hover:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--danger-soft-hover:color-mix(in oklab, var(--danger) 20%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft:var(--warning)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft:color-mix(in oklab, var(--warning) 12%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft-foreground:var(--warning)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft-foreground:color-mix(in oklab, var(--warning) 80%, var(--foreground) 30%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft-hover:var(--warning)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--warning-soft-hover:color-mix(in oklab, var(--warning) 16%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft:var(--success)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft:color-mix(in oklab, var(--success) 12%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft-foreground:var(--success)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft-foreground:color-mix(in oklab, var(--success) 80%, var(--foreground) 30%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft-hover:var(--success)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--success-soft-hover:color-mix(in oklab, var(--success) 16%, transparent)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--separator-secondary:var(--surface)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--separator-secondary:color-mix(in oklab, var(--surface) 85%, var(--surface-foreground) 15%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--separator-tertiary:var(--surface)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--separator-tertiary:color-mix(in oklab, var(--surface) 81%, var(--surface-foreground) 19%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--border-secondary:var(--surface)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--border-secondary:color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%)}}.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--border-tertiary:var(--surface)}@supports (color:color-mix(in lab, red, red)){.dark,[data-theme=dark],:host(.dark),:host([data-theme=dark]){--border-tertiary:color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%)}}[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--accent-soft-foreground:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--accent-soft-foreground:color-mix(in oklab, var(--accent) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--danger-soft-foreground:var(--danger)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--danger-soft-foreground:color-mix(in oklab, var(--danger) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--warning-soft-foreground:var(--warning)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--warning-soft-foreground:color-mix(in oklab, var(--warning) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--success-soft-foreground:var(--success)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true]:not(.dark):not([data-theme=dark]){--success-soft-foreground:color-mix(in oklab, var(--success) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--accent-soft-foreground:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--accent-soft-foreground:color-mix(in oklab, var(--accent) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--danger-soft-foreground:var(--danger)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--danger-soft-foreground:color-mix(in oklab, var(--danger) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--warning-soft-foreground:var(--warning)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--warning-soft-foreground:color-mix(in oklab, var(--warning) 92%, var(--foreground) 8%)}}[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--success-soft-foreground:var(--success)}@supports (color:color-mix(in lab, red, red)){[data-vibrant-palette=true].dark,[data-vibrant-palette=true][data-theme=dark]{--success-soft-foreground:color-mix(in oklab, var(--success) 92%, var(--foreground) 8%)}}}}@layer components;}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@keyframes heroui-overlay-fade-in{0%{opacity:0}}@keyframes heroui-overlay-fade-out{to{opacity:0}}@keyframes heroui-overlay-exit{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(0)scale(.95)}}@keyframes heroui-overlay-enter-90{0%{opacity:0;transform:translate(0)scale(.9)}}@keyframes heroui-overlay-enter-90-y{0%{opacity:0;transform:translateY(.25rem)scale(.9)}}@keyframes heroui-overlay-enter-90-ny{0%{opacity:0;transform:translateY(-.25rem)scale(.9)}}@keyframes heroui-overlay-enter-90-x{0%{opacity:0;transform:translate(.25rem)scale(.9)}}@keyframes heroui-overlay-enter-90-nx{0%{opacity:0;transform:translate(-.25rem)scale(.9)}}@keyframes heroui-overlay-enter-95{0%{opacity:0;transform:translate(0)scale(.95)}}@keyframes heroui-overlay-enter-95-y{0%{opacity:0;transform:translateY(.25rem)scale(.95)}}@keyframes heroui-overlay-enter-95-ny{0%{opacity:0;transform:translateY(-.25rem)scale(.95)}}@keyframes heroui-overlay-enter-95-x{0%{opacity:0;transform:translate(.25rem)scale(.95)}}@keyframes heroui-overlay-enter-95-nx{0%{opacity:0;transform:translate(-.25rem)scale(.95)}}@keyframes heroui-overlay-enter-105{0%{opacity:0;transform:translate(0)scale(1.05)}}@keyframes heroui-overlay-enter-105-y{0%{opacity:0;transform:translateY(.25rem)scale(1.05)}}@keyframes heroui-overlay-enter-105-ny{0%{opacity:0;transform:translateY(-.25rem)scale(1.05)}}@keyframes heroui-overlay-enter-100-y{0%{opacity:0;transform:translateY(.25rem)scale(1)}}@keyframes heroui-overlay-enter-100-ny{0%{opacity:0;transform:translateY(-.25rem)scale(1)}}@keyframes heroui-overlay-enter-100{0%{opacity:0;transform:translate(0)scale(1)}}*,:after,:before,::backdrop{border-color:var(--border,currentColor)}::file-selector-button{border-color:var(--border,currentColor)}:root{view-transition-name:none;--z-index-overlay:100000;--z-index-toast:calc(var(--z-index-overlay) + 1)}::view-transition{pointer-events:none}[data-scrollbar=thin]{--scrollbar-width:thin;--scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);--scrollbar-gutter:auto}[data-scrollbar=default]{--scrollbar-width:auto;--scrollbar-color:auto;--scrollbar-gutter:auto}[data-scrollbar=none]{--scrollbar-width:none;--scrollbar-color:auto;--scrollbar-gutter:auto}}@layer components{.close-button{isolation:isolate;height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);transform-origin:50%;border-radius:calc(var(--radius) * 1.5);padding:var(--spacing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);transition:transform .25s var(--ease-out-quart), color .15s var(--ease-out), background-color .1s var(--ease-out), box-shadow .15s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.close-button:focus-visible:not([data-focused]),.close-button[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.close-button:disabled,.close-button[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.close-button[data-pending=true]{pointer-events:none}.close-button svg{pointer-events:none;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);margin-inline:calc(var(--spacing) * -.5);margin-block:calc(var(--spacing) * .5);flex-shrink:0;align-self:center}.close-button--default{background-color:var(--default);color:var(--muted)}@media (hover:hover){.close-button--default:hover,.close-button--default[data-hovered=true]{background-color:var(--default-hover)}}.close-button--default:active,.close-button--default[data-pressed=true]{transform:scale(.93)}.description{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));text-wrap:wrap;overflow-wrap:break-word;color:var(--muted)}.error-message{height:auto;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow-wrap:break-word;color:var(--danger);transition:opacity .15s var(--ease-out), height .35s var(--ease-smooth)}.error-message:is([data-reduce-motion=true],[data-reduce-motion=true] *),.error-message:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.error-message:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.error-message:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.error-message:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.error-message:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.field-error{height:0;padding-inline:var(--spacing);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow-wrap:break-word;color:var(--danger);opacity:0}.field-error[data-visible]{opacity:1;height:auto}.field-error{transition:opacity .15s var(--ease-out), height .35s var(--ease-smooth)}.field-error:is([data-reduce-motion=true],[data-reduce-motion=true] *),.field-error:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.field-error:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.field-error:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.field-error:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.field-error:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.checkbox>.field-error,.checkbox>[data-slot=field-error],.switch>.field-error,.switch>[data-slot=field-error],.radio>.field-error,.radio>[data-slot=field-error]{height:auto;min-height:0;color:var(--muted);opacity:1;margin:0;padding:0;transition:none}.label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}:is(.label--required,[data-required=true]:not([role=group]):not([role=radiogroup]):not([role=checkboxgroup])>.label,[data-required=true]:not([data-slot=radio]):not([data-slot=checkbox])>.label):after{color:var(--danger);--tw-content:"*";content:var(--tw-content);margin-inline-start:calc(var(--spacing) * .5)}.label--disabled,[data-disabled=true] .label{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.label--invalid,[data-invalid=true] .label,[aria-invalid=true] .label{color:var(--danger)}.accordion{contain:layout style;width:100%}.accordion__body{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.accordion__body-inner{padding-inline:calc(var(--spacing) * 4);padding-top:0;padding-bottom:calc(var(--spacing) * 4);color:var(--muted)}.accordion__heading{display:flex}.accordion__indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;flex-shrink:0;margin-inline-start:auto;transition-duration:.25s}.accordion__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.accordion__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.accordion__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.accordion__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.accordion__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.accordion__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.accordion__indicator[data-expanded=true]{rotate:-180deg}.accordion__item{--tw-border-style:none;border-style:none;position:relative}.accordion__item:after{content:"";border-radius:calc(var(--radius) * .25);background-color:var(--separator);inset-inline-start:calc(var(--spacing) * 0);width:100%;height:1px;position:absolute;bottom:0}.accordion__item:last-child:after{content:none}.accordion__item[data-hide-separator=true]:after{display:none}.accordion__trigger{cursor:var(--cursor-interactive);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);-webkit-tap-highlight-color:transparent;transition:opacity .15s var(--ease-out), box-shadow .15s var(--ease-out);flex:1;justify-content:space-between;align-items:center;display:flex}.accordion__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.accordion__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.accordion__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.accordion__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.accordion__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.accordion__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.accordion__trigger:hover:not([aria-expanded=true]){background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.accordion__trigger:hover:not([aria-expanded=true]){background-color:color-mix(in oklab, var(--foreground) 3%, transparent 90%)}}}.accordion__trigger:focus-visible:not([data-focused]),.accordion__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.accordion__trigger:disabled,.accordion__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.accordion__panel{opacity:0;height:var(--disclosure-panel-height);transition:height .2s var(--ease-out-quad), opacity .2s var(--ease-out);overflow:clip}.accordion__panel:is([data-reduce-motion=true],[data-reduce-motion=true] *),.accordion__panel:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.accordion__panel:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.accordion__panel:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.accordion__panel:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.accordion__panel:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.accordion__panel[data-expanded=true]{will-change:height, opacity;opacity:1}.accordion--surface{background-color:var(--surface);border-radius:min(32px, var(--radius-3xl))}@media (hover:hover){.accordion--surface .accordion__trigger:hover:not([aria-expanded=true]){background-color:var(--default)}}.accordion--surface .accordion__item:after{background-color:var(--surface-foreground)}@supports (color:color-mix(in lab, red, red)){.accordion--surface .accordion__item:after{background-color:color-mix(in oklab, var(--surface-foreground) 6%, transparent)}}.accordion--surface .accordion__item:after{width:94%;inset-inline-start:3%}.accordion--surface .accordion__item:first-child [data-slot=accordion-trigger]{border-start-start-radius:min(32px, var(--radius-3xl));border-start-end-radius:min(32px, var(--radius-3xl))}.accordion--surface .accordion__item:last-child:not(:has([data-slot=accordion-trigger][aria-expanded=true])) [data-slot=accordion-trigger]{border-end-end-radius:min(32px, var(--radius-3xl));border-end-start-radius:min(32px, var(--radius-3xl))}.breadcrumbs{align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.breadcrumbs .breadcrumbs__link{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted);opacity:1;text-decoration-line:none;position:relative}.breadcrumbs .breadcrumbs__link:hover,.breadcrumbs .breadcrumbs__link[data-hovered=true]{text-decoration-line:underline}.breadcrumbs .breadcrumbs__link[data-current=true]{color:var(--link);opacity:1}.breadcrumbs .breadcrumbs__item{justify-content:center;align-items:center;gap:var(--spacing);flex-shrink:0;display:flex}.breadcrumbs .breadcrumbs__separator{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);color:var(--muted)}.breadcrumbs .breadcrumbs__separator:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.disclosure-group{contain:layout style;width:100%}.disclosure{position:relative}.disclosure__trigger{cursor:var(--cursor-interactive);-webkit-tap-highlight-color:transparent;display:inline-block}.disclosure__trigger:focus-visible:not([data-focused]),.disclosure__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.disclosure__trigger:disabled,.disclosure__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.disclosure__indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:inherit;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;flex-shrink:0;margin-inline-start:auto;transition-duration:.25s}.disclosure__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.disclosure__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.disclosure__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.disclosure__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.disclosure__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.disclosure__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.disclosure__indicator[data-expanded=true]{rotate:-180deg}.disclosure__content{opacity:0;height:var(--disclosure-panel-height);transition:height .2s var(--ease-out-quad), opacity .2s var(--ease-out);overflow:clip}.disclosure__content:is([data-reduce-motion=true],[data-reduce-motion=true] *),.disclosure__content:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.disclosure__content:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.disclosure__content:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.disclosure__content:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.disclosure__content:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.disclosure__content[data-expanded=true]{will-change:height, opacity;opacity:1}.disclosure__body{padding:calc(var(--spacing) * 2)}.link{border-radius:calc(var(--radius) * 1.5);--tw-font-weight:var(--font-weight-medium);width:fit-content;height:fit-content;font-weight:var(--font-weight-medium);color:var(--link);text-decoration-line:none;-webkit-text-decoration-color:var(--separator-tertiary);-webkit-text-decoration-color:var(--separator-tertiary);-webkit-text-decoration-color:var(--separator-tertiary);text-decoration-color:var(--separator-tertiary);text-underline-offset:4px;-webkit-tap-highlight-color:transparent;transition:color .1s var(--ease-smooth), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out), opacity .1s var(--ease-out);align-items:center;text-decoration-thickness:1.5px;display:inline-flex;position:relative}.link:is([data-reduce-motion=true],[data-reduce-motion=true] *),.link:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.link:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.link{cursor:var(--cursor-interactive)}@media (hover:hover){.link:hover,.link[data-hovered=true]{text-decoration-line:underline;-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.link:hover,.link[data-hovered=true]{-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent)}}:is(.link:hover,.link[data-hovered=true]) .link__icon{opacity:1}}.link:active,.link[data-pressed=true]{text-decoration-line:underline;-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}:is(.link:active,.link[data-pressed=true]) .link__icon{opacity:1}.link:focus-visible:not([data-focused]),.link[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}:is(.link:focus-visible:not([data-focused]),.link[data-focus-visible=true]) .link__icon{opacity:1}.link[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.link .link__icon{pointer-events:none;color:currentColor;opacity:.6;width:.75em;height:.75em;transition:opacity .15s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.link .link__icon:is([data-reduce-motion=true],[data-reduce-motion=true] *),.link .link__icon:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.link .link__icon:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.link .link__icon:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.link .link__icon:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.link .link__icon:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.link .link__icon svg{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.link .link__icon[data-default-icon=true]{padding-bottom:calc(var(--spacing) * 1.5);margin-inline-start:var(--spacing)}.link.button{gap:0;text-decoration-line:none}.pagination{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);flex-direction:column;width:100%;display:flex}@media (width>=40rem){.pagination{flex-direction:row}}.pagination__summary{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted);align-self:flex-start;display:flex}@media (width>=40rem){.pagination__summary{align-self:center}}.pagination__content{align-items:center;gap:var(--spacing);align-self:flex-start;display:flex}@media (width>=40rem){.pagination__content{align-self:center}}.pagination__item{display:inline-flex}.pagination__link{isolation:isolate;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transform-origin:50%;border-radius:calc(var(--radius) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (width>=48rem){.pagination__link{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}}.pagination__link{cursor:var(--cursor-interactive);transition:transform .25s var(--ease-smooth), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.pagination__link:is([data-reduce-motion=true],[data-reduce-motion=true] *),.pagination__link:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.pagination__link:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.pagination__link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.pagination__link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.pagination__link:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.pagination__link{--pagination-link-bg:transparent;--pagination-link-bg-hover:var(--default-hover);--pagination-link-bg-pressed:var(--default-hover);--pagination-link-fg:var(--default-foreground);background-color:var(--pagination-link-bg);color:var(--pagination-link-fg)}.pagination__link:focus-visible,.pagination__link[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.pagination__link:disabled,.pagination__link[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}@media (hover:hover){.pagination__link:hover,.pagination__link[data-hovered=true]{background-color:var(--pagination-link-bg-hover)}}.pagination__link:active,.pagination__link[data-pressed=true]{background-color:var(--pagination-link-bg-pressed);transform:scale(.97)}.pagination__link[data-active=true]{--pagination-link-bg:var(--default);--pagination-link-bg-hover:var(--default-hover);--pagination-link-bg-pressed:var(--default-hover)}.pagination__ellipsis{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}@media (width>=48rem){.pagination__ellipsis{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}}.pagination__link--nav{gap:calc(var(--spacing) * 1.5);width:auto;padding-inline:calc(var(--spacing) * 2.5)}:is(.pagination__link--nav [data-slot=pagination-previous-icon],.pagination__link--nav [data-slot=pagination-next-icon]):where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.pagination--sm .pagination__link{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}@media (width>=48rem){.pagination--sm .pagination__link{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}}.pagination--sm .pagination__link:active,.pagination--sm .pagination__link[data-pressed=true]{transform:scale(.98)}.pagination--sm .pagination__link--nav{width:auto;padding-inline:calc(var(--spacing) * 2)}.pagination--sm .pagination__ellipsis{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}@media (width>=48rem){.pagination--sm .pagination__ellipsis{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}}.pagination--sm .pagination__summary{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.pagination--lg .pagination__link{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (width>=48rem){.pagination--lg .pagination__link{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}}.pagination--lg .pagination__link:active,.pagination--lg .pagination__link[data-pressed=true]{transform:scale(.96)}.pagination--lg .pagination__link--nav{width:auto;padding-inline:calc(var(--spacing) * 3)}.pagination--lg .pagination__ellipsis{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (width>=48rem){.pagination--lg .pagination__ellipsis{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}}.pagination--lg .pagination__summary{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.tabs{gap:calc(var(--spacing) * 2);display:flex}.tabs[data-orientation=horizontal]{flex-direction:column}.tabs[data-orientation=vertical]{flex-direction:row}.tabs__list-container{background-color:var(--default);border-radius:calc(var(--radius) * 2.5);position:relative}.tabs__list-container>.tabs__list-container__scroller[data-orientation=vertical]{height:100%}.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next{z-index:2;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);cursor:var(--cursor-interactive);border-style:var(--tw-border-style);color:var(--foreground);--tw-outline-style:none;transition:opacity .15s var(--ease-smooth);background-color:#0000;border-width:0;border-radius:2147483647px;outline-style:none;justify-content:center;align-items:center;padding:0;display:none;position:absolute}:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):hover{opacity:.7}}:is(.tabs__list-container>.tabs__list-container__scroll-prev,.tabs__list-container>.tabs__list-container__scroll-next):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.tabs__list-container:has([data-orientation=horizontal])>.tabs__list-container__scroll-prev{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);inset-inline-start:calc(var(--spacing) * 1);top:50%}.tabs__list-container:has([data-orientation=horizontal])>.tabs__list-container__scroll-next{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);inset-inline-end:calc(var(--spacing) * 1);top:50%}:is(.tabs__list-container:has([data-orientation=horizontal])>.tabs__list-container__scroll-prev,.tabs__list-container:has([data-orientation=horizontal])>.tabs__list-container__scroll-next):where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.tabs__list-container:has([data-orientation=vertical])>.tabs__list-container__scroll-prev{top:var(--spacing);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);left:50%}.tabs__list-container:has([data-orientation=vertical])>.tabs__list-container__scroll-next{bottom:var(--spacing);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);left:50%}:is(.tabs__list-container:has(>:is([data-left-scroll=true],[data-left-right-scroll=true],[data-top-scroll=true],[data-top-bottom-scroll=true]))>.tabs__list-container__scroll-prev,.tabs__list-container:has(>:is([data-right-scroll=true],[data-left-right-scroll=true],[data-bottom-scroll=true],[data-top-bottom-scroll=true]))>.tabs__list-container__scroll-next){display:inline-flex}.tabs__list{padding:var(--spacing);display:inline-flex}.tabs__list[data-orientation=horizontal]{flex-direction:row;width:max-content;min-width:100%}.tabs__list[data-orientation=vertical]{gap:var(--spacing);flex-direction:column}.tabs__list[data-orientation=vertical] .tabs__tab{min-width:calc(var(--spacing) * 20)}.tabs__tab{height:calc(var(--spacing) * 8);border-radius:calc(var(--radius) * 3);width:100%;padding-inline:calc(var(--spacing) * 4);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;z-index:1;cursor:var(--cursor-interactive);transition:color .15s var(--ease-smooth), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out), opacity .15s var(--ease-smooth);outline-style:none;justify-content:center;align-items:center;display:flex;position:relative}.tabs__tab:is([data-reduce-motion=true],[data-reduce-motion=true] *),.tabs__tab:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.tabs__tab:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.tabs__tab:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.tabs__tab:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.tabs__tab:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.tabs__tab[data-selected=true] .tabs__separator,.tabs__tab[data-selected=true]+.tabs__tab .tabs__separator{opacity:0}.tabs__tab:disabled,.tabs__tab[data-disabled=true],.tabs__tab[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}@media (hover:hover){.tabs__tab:not([data-selected=true]):not([data-disabled=true]):hover,.tabs__tab[data-hovered=true]:not([data-selected=true]):not([data-disabled=true]){opacity:.7}}.tabs__tab:focus-visible:not([data-focused]),.tabs__tab[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.tabs--align-start>:is(.tabs__list-container,.tabs__list) .tabs__tab{text-align:start;justify-content:flex-start}.tabs--align-end>:is(.tabs__list-container,.tabs__list) .tabs__tab{text-align:end;justify-content:flex-end}.tabs__separator{pointer-events:none;border-radius:calc(var(--radius) * .5);background-color:var(--muted);position:absolute}@supports (color:color-mix(in lab, red, red)){.tabs__separator{background-color:color-mix(in oklab, var(--muted) 25%, transparent)}}.tabs__separator{transition:opacity .15s var(--ease-smooth)}.tabs__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.tabs__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.tabs__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.tabs__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.tabs__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.tabs__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.tabs__list[data-orientation=horizontal] .tabs__separator{inset-inline-start:calc(var(--spacing) * 0);width:1px;height:50%;top:25%}.tabs__list[data-orientation=vertical] .tabs__separator{inset-inline-start:5%;width:90%;height:1px;top:0}.tabs__panel{width:100%;padding:calc(var(--spacing) * 2);--tw-outline-style:none;outline-style:none}.tabs__panel[data-exiting=true]{inset-inline-start:calc(var(--spacing) * 0);width:100%;position:absolute;top:0}.tabs__panel[data-orientation=horizontal]{margin-top:calc(var(--spacing) * 4)}.tabs__panel[data-orientation=vertical]{margin-inline-start:calc(var(--spacing) * 4)}.tabs__indicator{border-radius:calc(var(--radius) * 3);background-color:var(--segment);--tw-shadow:var(--surface-shadow);width:100%;height:100%;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);z-index:-1;transition-property:translate,width,height;transition-duration:.25s;transition-timing-function:var(--ease-out-fluid);inset-inline-start:calc(var(--spacing) * 0);position:absolute;top:0}.tabs__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.tabs__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.tabs__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.tabs__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.tabs__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.tabs__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.tabs__indicator[data-animation-ready=false]{transition-property:none}.tabs--secondary>.tabs__list-container{background-color:#0000;border-radius:0}.tabs--secondary>.tabs__list-container .tabs__list{padding:0}.tabs--secondary>.tabs__list-container .tabs__separator{display:none}.tabs--secondary>.tabs__list-container .tabs__tab{border-radius:0}.tabs--secondary>.tabs__list-container .tabs__tab[data-selected=true]{color:var(--foreground)}.tabs--secondary>.tabs__list-container .tabs__indicator{background-color:var(--accent);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:0}.tabs--secondary[data-orientation=horizontal]>.tabs__list-container{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border)}.tabs--secondary[data-orientation=horizontal]>.tabs__list-container .tabs__indicator{height:calc(var(--spacing) * .5);top:auto;bottom:0}.tabs--secondary[data-orientation=vertical]>.tabs__list-container{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--border)}.tabs--secondary[data-orientation=vertical]>.tabs__list-container .tabs__indicator{height:100%;width:calc(var(--spacing) * .5);inset-inline-start:calc(var(--spacing) * 0);top:0}.button{isolation:isolate;height:calc(var(--spacing) * 10);transform-origin:50%;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:calc(var(--radius) * 3);width:fit-content;padding-inline:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}@media (width>=48rem){.button{height:calc(var(--spacing) * 9)}}.button{transition:transform .25s var(--ease-smooth), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.button{cursor:var(--cursor-interactive);--button-bg:transparent;--button-bg-hover:var(--button-bg);--button-bg-pressed:var(--button-bg-hover);--button-fg:currentColor;background-color:var(--button-bg);color:var(--button-fg)}.button:focus-visible:not([data-focused]),.button[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.button:disabled,.button[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.button[data-pending=true]{pointer-events:none}.button:active,.button[data-pressed=true]{will-change:transform;background-color:var(--button-bg-pressed);transform:scale(.97)}@media (hover:hover){.button:hover,.button[data-hovered=true]{background-color:var(--button-bg-hover)}}.button svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){pointer-events:none;margin-inline:calc(var(--spacing) * -.5);margin-block:calc(var(--spacing) * .5);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);flex-shrink:0;align-self:center}@media (width>=40rem){.button svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){margin-block:var(--spacing);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.button--sm{height:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 3)}@media (width>=48rem){.button--sm{height:calc(var(--spacing) * 8)}}.button--sm svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.button--sm:active,.button--sm[data-pressed=true]{transform:scale(.98)}.button--lg{height:calc(var(--spacing) * 11);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (width>=48rem){.button--lg{height:calc(var(--spacing) * 10)}}.button--lg:active,.button--lg[data-pressed=true]{transform:scale(.96)}.button--primary{--button-bg:var(--accent);--button-bg-hover:var(--accent-hover);--button-bg-pressed:var(--accent-hover);--button-fg:var(--accent-foreground)}.button--secondary{--button-bg:var(--default);--button-bg-hover:var(--default-hover);--button-bg-pressed:var(--default-hover);--button-fg:var(--accent-soft-foreground)}.button--tertiary{--button-bg:var(--default);--button-bg-hover:var(--default-hover);--button-bg-pressed:var(--default-hover)}.button--ghost,.button--outline{--button-bg:transparent;--button-bg-hover:var(--default);--button-bg-pressed:var(--default);--button-fg:var(--default-foreground)}.button--outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);--button-bg-hover:var(--default)}@supports (color:color-mix(in lab, red, red)){.button--outline{--button-bg-hover:color-mix(in srgb, var(--default) 60%, transparent)}}.button--danger{--button-bg:var(--danger);--button-bg-hover:var(--danger-hover);--button-bg-pressed:var(--danger-hover);--button-fg:var(--danger-foreground)}.button--danger-soft{--button-bg:var(--danger-soft);--button-bg-hover:var(--danger-soft-hover);--button-bg-pressed:var(--danger-soft-hover);--button-fg:var(--danger-soft-foreground)}.button--icon-only{width:calc(var(--spacing) * 10);padding:0}@media (width>=48rem){.button--icon-only{width:calc(var(--spacing) * 9)}}.button--icon-only.button--sm{width:calc(var(--spacing) * 9)}@media (width>=48rem){.button--icon-only.button--sm{width:calc(var(--spacing) * 8)}}.button--icon-only.button--lg{width:calc(var(--spacing) * 11)}@media (width>=48rem){.button--icon-only.button--lg{width:calc(var(--spacing) * 10)}}.button--full-width{width:100%}.button-group{justify-content:center;align-items:center;gap:0;height:auto;display:inline-flex}.button-group--horizontal{flex-direction:row}.button-group--vertical{flex-direction:column}.button-group .button{border-radius:0}.button-group--horizontal .button:first-child{border-start-start-radius:calc(var(--radius) * 3);border-end-start-radius:calc(var(--radius) * 3)}.button-group--horizontal .button:last-child{border-start-end-radius:calc(var(--radius) * 3);border-end-end-radius:calc(var(--radius) * 3)}.button-group--horizontal .button:first-child:last-child{border-radius:calc(var(--radius) * 3)}.button-group--vertical .button:first-child{border-top-left-radius:calc(var(--radius) * 3);border-top-right-radius:calc(var(--radius) * 3)}.button-group--vertical .button:last-child{border-bottom-right-radius:calc(var(--radius) * 3);border-bottom-left-radius:calc(var(--radius) * 3)}.button-group--vertical .button:first-child:last-child{border-radius:calc(var(--radius) * 3)}.button-group .button:active,.button-group .button[data-pressed=true]{transform:none}.button-group .button:focus-visible:not([data-focused]),.button-group .button[data-focus-visible=true]{z-index:10}.button-group__separator{border-radius:calc(var(--radius) * .5);opacity:.15;pointer-events:none;transition:opacity .15s var(--ease-smooth);background-color:currentColor;position:absolute}.button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.button-group--horizontal .button-group__separator{inset-inline-start:-1px;width:1px;height:50%;top:25%}.button-group--vertical .button-group__separator{inset-inline-start:25%;width:50%;height:1px;top:-1px}.button-group--horizontal .button--outline:first-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.button-group--horizontal .button--outline:last-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.button-group--horizontal .button--outline:not(:first-child):not(:last-child){border-inline-style:var(--tw-border-style);border-inline-width:0}.button-group--vertical .button--outline:first-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.button-group--vertical .button--outline:last-child{border-top-style:var(--tw-border-style);border-top-width:0}.button-group--vertical .button--outline:not(:first-child):not(:last-child){border-block-style:var(--tw-border-style);border-block-width:0}.button-group--full-width{width:100%}.toggle-button{isolation:isolate;height:calc(var(--spacing) * 10);transform-origin:50%;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:calc(var(--radius) * 3);width:fit-content;padding-inline:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}@media (width>=48rem){.toggle-button{height:calc(var(--spacing) * 9)}}.toggle-button{transition:transform .25s var(--ease-smooth), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.toggle-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.toggle-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toggle-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.toggle-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toggle-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toggle-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.toggle-button{cursor:var(--cursor-interactive);--toggle-button-bg:var(--default);--toggle-button-bg-hover:var(--default-hover);--toggle-button-bg-pressed:var(--default-hover);--toggle-button-fg:currentColor;--toggle-button-bg-selected:var(--accent-soft);--toggle-button-bg-selected-hover:var(--accent-soft-hover);--toggle-button-bg-selected-pressed:var(--accent-soft-hover);--toggle-button-fg-selected:var(--accent-soft-foreground);background-color:var(--toggle-button-bg);color:var(--toggle-button-fg)}.toggle-button:focus-visible:not([data-focused]),.toggle-button[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.toggle-button:disabled,.toggle-button[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}@media (hover:hover){.toggle-button:hover,.toggle-button[data-hovered=true]{background-color:var(--toggle-button-bg-hover)}}.toggle-button:active,.toggle-button[data-pressed=true]{background-color:var(--toggle-button-bg-pressed);transform:scale(.97)}.toggle-button[data-selected=true]{background-color:var(--toggle-button-bg-selected);color:var(--toggle-button-fg-selected)}@media (hover:hover){.toggle-button[data-selected=true]:hover,.toggle-button[data-selected=true][data-hovered=true]{background-color:var(--toggle-button-bg-selected-hover)}}.toggle-button[data-selected=true]:active,.toggle-button[data-selected=true][data-pressed=true]{background-color:var(--toggle-button-bg-selected-pressed)}.toggle-button svg{pointer-events:none;margin-inline:calc(var(--spacing) * -.5);margin-block:calc(var(--spacing) * .5);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);flex-shrink:0;align-self:center}@media (width>=40rem){.toggle-button svg{margin-block:var(--spacing);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.toggle-button--sm{height:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 3)}@media (width>=48rem){.toggle-button--sm{height:calc(var(--spacing) * 8)}}.toggle-button--sm svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.toggle-button--sm:active,.toggle-button--sm[data-pressed=true]{transform:scale(.98)}.toggle-button--lg{height:calc(var(--spacing) * 11);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (width>=48rem){.toggle-button--lg{height:calc(var(--spacing) * 10)}}.toggle-button--lg:active,.toggle-button--lg[data-pressed=true]{transform:scale(.96)}.toggle-button--default{--toggle-button-bg:var(--default);--toggle-button-bg-hover:var(--default-hover);--toggle-button-bg-pressed:var(--default-hover)}.toggle-button--ghost{--toggle-button-bg:transparent;--toggle-button-bg-hover:var(--default);--toggle-button-bg-pressed:var(--default);--toggle-button-fg:var(--default-foreground)}.toggle-button--icon-only{width:calc(var(--spacing) * 10);padding:0}@media (width>=48rem){.toggle-button--icon-only{width:calc(var(--spacing) * 9)}}.toggle-button--icon-only.toggle-button--sm{width:calc(var(--spacing) * 9)}@media (width>=48rem){.toggle-button--icon-only.toggle-button--sm{width:calc(var(--spacing) * 8)}}.toggle-button--icon-only.toggle-button--lg{width:calc(var(--spacing) * 11)}@media (width>=48rem){.toggle-button--icon-only.toggle-button--lg{width:calc(var(--spacing) * 10)}}.toggle-button-group{justify-content:center;align-items:center;gap:0;width:fit-content;height:auto;display:inline-flex}.toggle-button-group--horizontal{flex-direction:row}.toggle-button-group--vertical{flex-direction:column}.toggle-button-group--full-width{width:100%}.toggle-button-group .toggle-button{border-radius:0}.toggle-button-group--horizontal .toggle-button:first-child{border-start-start-radius:calc(var(--radius) * 3);border-end-start-radius:calc(var(--radius) * 3)}.toggle-button-group--horizontal .toggle-button:last-child{border-start-end-radius:calc(var(--radius) * 3);border-end-end-radius:calc(var(--radius) * 3)}.toggle-button-group--horizontal .toggle-button:first-child:last-child{border-radius:calc(var(--radius) * 3)}.toggle-button-group--vertical .toggle-button:first-child{border-top-left-radius:calc(var(--radius) * 3);border-top-right-radius:calc(var(--radius) * 3)}.toggle-button-group--vertical .toggle-button:last-child{border-bottom-right-radius:calc(var(--radius) * 3);border-bottom-left-radius:calc(var(--radius) * 3)}.toggle-button-group--vertical .toggle-button:first-child:last-child{border-radius:calc(var(--radius) * 3)}.toggle-button-group .toggle-button:active,.toggle-button-group .toggle-button[data-pressed=true]{transform:none}.toggle-button-group .toggle-button:focus-visible:not([data-focused]),.toggle-button-group .toggle-button[data-focus-visible=true]{--tw-ring-offset-width:0px;--tw-ring-inset:inset}.toggle-button-group--full-width .toggle-button{flex:1}.toggle-button-group__separator{border-radius:calc(var(--radius) * .5);opacity:.15;pointer-events:none;transition:opacity .15s var(--ease-smooth);background-color:currentColor;position:absolute}.toggle-button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.toggle-button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toggle-button-group__separator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.toggle-button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toggle-button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toggle-button-group__separator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.toggle-button-group--horizontal .toggle-button-group__separator{inset-inline-start:-1px;width:1px;height:50%;top:25%}.toggle-button-group--vertical .toggle-button-group__separator{inset-inline-start:25%;width:50%;height:1px;top:-1px}.toggle-button-group--detached{gap:var(--spacing)}.toggle-button-group--detached .toggle-button{border-radius:calc(var(--radius) * 3)}.toggle-button-group--detached .toggle-button-group__separator{display:none}.toolbar{align-items:center;gap:calc(var(--spacing) * 2);grid-auto-flow:column;width:fit-content;display:grid}.toolbar .separator--vertical{align-self:center;height:50%}.toolbar .separator--horizontal{justify-content:center;justify-self:center;width:50%}.toolbar--vertical{grid-auto-flow:row;justify-content:flex-start;align-items:flex-start}.toolbar--vertical .button-group{justify-content:flex-start}.toolbar--attached{border-radius:calc(var(--radius) * 3);background-color:var(--surface);padding:var(--spacing);--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dropdown{gap:var(--spacing);flex-direction:column;display:flex}.dropdown__trigger{--tw-outline-style:none;transition:transform .25s var(--ease-out-quart), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);outline-style:none;display:inline-block}.dropdown__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.dropdown__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.dropdown__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.dropdown__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.dropdown__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.dropdown__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.dropdown__trigger{cursor:var(--cursor-interactive)}.dropdown__trigger:focus-visible:not([data-focused]),.dropdown__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.dropdown__trigger:disabled,.dropdown__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.dropdown__trigger[data-pending=true]{pointer-events:none}.dropdown__trigger:active,.dropdown__trigger[data-pressed=true]{transform:scale(.97)}.dropdown__popover{transform-origin:var(--trigger-anchor-point);scroll-padding-block:var(--spacing);scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overscroll-behavior:contain;background-color:var(--overlay);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));min-width:min(calc(var(--spacing) * 55), 100%, calc(100svw - 2rem));border-radius:min(32px, calc(var(--radius-2xl) + var(--spacing) * 1.5));max-width:min(100%,100svw - 2rem);box-shadow:var(--overlay-shadow);padding:0;overflow-y:auto}.dropdown__popover:focus-visible:not([data-focused]),.dropdown__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.dropdown__popover[data-entering=true]{animation:heroui-overlay-enter-90 .15s var(--ease-smooth)}.dropdown__popover[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-90-y}.dropdown__popover[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-90-ny}.dropdown__popover[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-90-x}.dropdown__popover[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-90-nx}.dropdown__popover[data-exiting=true],.dropdown__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}@media (hover:none) and (pointer:coarse){.dropdown__popover[data-placement]:not([data-exiting=true]){opacity:1!important;clip:auto!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}}.dropdown__popover [data-slot=popover-overlay-arrow]{fill:var(--overlay)}.dropdown__popover[data-placement=bottom] [data-slot=popover-overlay-arrow]{rotate:180deg}.dropdown__popover[data-placement=left] [data-slot=popover-overlay-arrow]{rotate:-90deg}.dropdown__popover[data-placement=right] [data-slot=popover-overlay-arrow]{rotate:90deg}.dropdown__popover [data-slot=dropdown-menu]{padding:calc(var(--spacing) * 1.5);--tw-outline-style:none;outline-style:none}.dropdown__popover [data-slot=menu-item]{padding-inline:calc(var(--spacing) * 2.5)}.dropdown__menu{gap:calc(var(--spacing) * .5);width:100%;padding:var(--spacing);flex-direction:column;display:flex;position:relative;overflow:clip}.dropdown__menu [data-slot=separator]{width:94%;margin-inline-start:3%}.list-box-item{min-height:calc(var(--spacing) * 9);justify-content:flex-start;align-items:center;gap:calc(var(--spacing) * 3);border-radius:calc(var(--radius) * 2);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease-out-quart), box-shadow .15s var(--ease-out);outline-style:none;display:flex;position:relative}.list-box-item:is([data-reduce-motion=true],[data-reduce-motion=true] *),.list-box-item:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.list-box-item:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.list-box-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.list-box-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.list-box-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.list-box-item{cursor:var(--cursor-interactive)}.list-box-item [data-slot=label]{pointer-events:none;-webkit-user-select:none;user-select:none;width:fit-content}.list-box-item [data-slot=description]{pointer-events:none;text-wrap:wrap;-webkit-user-select:none;user-select:none}.list-box-item:has(.list-box-item__indicator){padding-inline-end:calc(var(--spacing) * 7)}.list-box-item:focus-visible:not([data-focused]),.list-box-item[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.list-box-item:active,.list-box-item[data-pressed=true]{transform:scale(.98)}@media (hover:hover){.list-box-item:hover,.list-box-item[data-hovered=true]{background-color:var(--default)}}.list-box-item[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.list-box-item__indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);color:var(--default-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;inset-inline-end:calc(var(--spacing) * 2);flex-shrink:0;justify-content:center;align-items:center;transition-duration:.25s;display:flex;position:absolute;top:50%}.list-box-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.list-box-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.list-box-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.list-box-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.list-box-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.list-box-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *),.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.list-box-item__indicator [data-slot=list-box-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]{transition:stroke-dashoffset .25s linear}:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.list-box-item__indicator .list-box-item[aria-selected=true] [data-slot=list-box-item-indicator--checkmark],.list-box-item__indicator .list-box-item[data-selected=true] [data-slot=list-box-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.list-box-item--danger .list-box-item__indicator,.list-box-item--danger [data-slot=label]{color:var(--danger)}.list-box-section{flex-direction:column;align-items:flex-start;gap:0;display:flex}.list-box{width:100%;padding:var(--spacing);position:relative;overflow:clip}.list-box>*+*{margin-top:var(--spacing)}.list-box [data-slot=separator][data-orientation=horizontal]{width:94%;margin-inline-start:3%}.menu-item{min-height:calc(var(--spacing) * 9);justify-content:flex-start;align-items:center;gap:calc(var(--spacing) * 3);border-radius:calc(var(--radius) * 2);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease-out-quart), box-shadow .15s var(--ease-out);outline-style:none;display:flex;position:relative}.menu-item:is([data-reduce-motion=true],[data-reduce-motion=true] *),.menu-item:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.menu-item:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.menu-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.menu-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.menu-item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.menu-item{cursor:var(--cursor-interactive)}.menu-item [data-slot=label]{pointer-events:none;-webkit-user-select:none;user-select:none;width:fit-content}.menu-item [data-slot=description]{pointer-events:none;text-wrap:wrap;-webkit-user-select:none;user-select:none}.menu-item [data-slot=submenu-indicator] svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.menu-item:has(.menu-item__indicator:not(.menu-item__indicator--submenu)){padding-inline-start:calc(var(--spacing) * 7)}.menu-item[data-has-submenu=true]:has(.menu-item__indicator--submenu){padding-inline-end:calc(var(--spacing) * 7)}.menu-item:focus-visible:not([data-focused]),.menu-item[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.menu-item:active,.menu-item[data-pressed=true]{will-change:transform;transform:scale(.98)}@media (hover:hover){.menu-item:hover,.menu-item[data-hovered=true]{background-color:var(--default)}}:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]{transition:stroke-dashoffset .1s linear}:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}:is(.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item[data-selected=true]) [data-slot=menu-item-indicator--dot]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.menu-item[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.menu-item__indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;inset-inline-start:calc(var(--spacing) * 2);flex-shrink:0;justify-content:center;align-items:center;transition-duration:.25s;display:flex;position:absolute;top:50%}.menu-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.menu-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.menu-item__indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.menu-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.menu-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.menu-item__indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.menu-item__indicator [data-slot=menu-item-indicator--checkmark]{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]){transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--checkmark]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.menu-item__indicator [data-slot=menu-item-indicator--dot]{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]){transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;transition-duration:.25s}.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.menu-item[data-selection-mode=multiple] :is(.menu-item__indicator [data-slot=menu-item-indicator--dot]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.menu-item__indicator [data-slot=menu-item-indicator--dot]{--tw-scale-x:70%;--tw-scale-y:70%;--tw-scale-z:70%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0}.menu-item__indicator--submenu{color:var(--muted)}.menu-item[data-has-submenu=true] .menu-item__indicator--submenu{inset-inline-start:auto;inset-inline-end:calc(var(--spacing) * 2)}.menu-item__indicator--submenu svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.menu-item--danger .menu-item__indicator,.menu-item--danger [data-slot=label]{color:var(--danger)}.menu-section{flex-direction:column;align-items:flex-start;gap:0;display:flex}.menu{gap:var(--spacing);width:100%;padding:var(--spacing);flex-direction:column;display:flex;position:relative;overflow:clip}.menu [data-slot=separator]{width:94%;margin-inline-start:3%}.tag-group{gap:var(--spacing);flex-direction:column;display:flex;position:relative}.tag-group__list{gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;display:flex;position:relative}.tag-group [slot=description],.tag-group [data-slot=description],.tag-group [slot=errorMessage],.tag-group [data-slot=error-message]{padding:var(--spacing)}.tag{--optical-offset:.031em;align-items:center;gap:var(--spacing);border-radius:calc(var(--radius) * 1.5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding-inline:calc(var(--spacing) * 2);padding-block:var(--spacing);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));transition:color .1s var(--ease-smooth), scale .1s var(--ease-smooth), opacity .1s var(--ease-smooth), background-color .1s var(--ease-smooth), box-shadow .1s var(--ease-out);transform-origin:50%;transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);display:inline-flex;position:relative}.tag:is([data-reduce-motion=true],[data-reduce-motion=true] *),.tag:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.tag:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.tag:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.tag:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.tag:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.tag{cursor:var(--cursor-interactive)}.tag svg{pointer-events:none;width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);color:currentColor;flex-shrink:0;align-self:center}.tag:is([data-disabled=true],[aria-disabled=true]){opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.tag:is(:focus-visible,[data-focus-visible]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.tag:is([data-selected=true],[aria-selected=true]){background-color:var(--accent-soft);color:var(--accent-soft-foreground)}@media (hover:hover){.tag:is([data-selected=true],[aria-selected=true]):is(:hover,[data-hovered=true]){background-color:var(--accent-soft-hover)}}.tag--sm{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.tag--lg{border-radius:calc(var(--radius) * 2);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.tag--default{background-color:var(--default);color:var(--default-foreground)}@media (hover:hover){.tag--default:is(:hover,[data-hovered=true]):not([data-selected=true]):not([data-disabled=true]){background-color:var(--default-hover)}}.tag--surface{background-color:var(--surface);color:var(--surface-foreground)}@media (hover:hover){.tag--surface:is(:hover,[data-hovered=true]):not([data-selected=true]):not([data-disabled=true]){background-color:var(--surface-hover)}}.tag__remove-button:after{content:"";width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);position:absolute;top:50%;left:50%}.tag__remove-button{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);color:inherit}.tag__remove-button svg{width:inherit;height:inherit;color:currentColor;flex-shrink:0;align-self:center}.color-area{width:100%;max-width:calc(var(--spacing) * 56);border-radius:calc(var(--radius) * 2);-webkit-tap-highlight-color:transparent;aspect-ratio:1;background:var(--color-area-background);flex-shrink:0;position:relative;box-shadow:inset 0 0 0 1px #0000001a}.color-area[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.color-area--show-dots:after{content:"";pointer-events:none;border-radius:inherit;background-image:radial-gradient(circle,#fff3 1px,#0000 1px);background-size:8px 8px;position:absolute;inset:0}.color-area__thumb{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1.5);will-change:width,height;background-color:var(--color-area-thumb-color);transition:width .15s var(--ease-out), height .15s var(--ease-out);border:3px solid #fff;box-shadow:0 0 0 1px #0000001a,inset 0 0 0 1px #0000001a}.color-area__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-area__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-area__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-area__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-area__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-area__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.color-area__thumb[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.color-area__thumb[data-dragging=true]{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.color-area__thumb[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.color-picker{display:inline-flex}.color-picker__trigger{align-items:center;gap:calc(var(--spacing) * 3);border-radius:calc(var(--radius) * .5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);transition:background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-flex}.color-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.color-picker__trigger [data-slot=label]{cursor:var(--cursor-interactive)}.color-picker__trigger:focus-visible:not([data-focused]),.color-picker__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.color-picker__trigger:disabled,.color-picker__trigger[data-disabled=true],.color-picker__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.color-picker__popover{min-width:calc(var(--spacing) * 62);transform-origin:var(--trigger-anchor-point);scrollbar-color:auto;scrollbar-gutter:auto;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior:contain;background-color:var(--overlay);padding-inline:calc(var(--spacing) * 2);padding-top:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 3);box-shadow:var(--overlay-shadow);border-radius:min(32px, calc(var(--radius) * 2.5));gap:calc(var(--spacing) * 3);flex-direction:column;display:flex;overflow:hidden auto}.color-picker__popover:focus-visible:not([data-focused]),.color-picker__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.color-picker__popover[data-entering=true]{animation:heroui-overlay-enter-95 .15s var(--ease-smooth)}.color-picker__popover[data-entering=true][data-placement^=top]{animation-name:heroui-overlay-enter-95-y}.color-picker__popover[data-entering=true][data-placement^=bottom]{animation-name:heroui-overlay-enter-95-ny}.color-picker__popover[data-entering=true][data-placement^=left]{animation-name:heroui-overlay-enter-95-x}.color-picker__popover[data-entering=true][data-placement^=right]{animation-name:heroui-overlay-enter-95-nx}.color-picker__popover[data-exiting=true],.color-picker__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.color-slider{gap:var(--spacing);grid-template:"label output""track track"/1fr auto;width:100%;display:grid}.color-slider:not(:has([data-slot=label])):not(:has(.color-slider__output)){grid-template:"track"/1fr;gap:0}.color-slider:has([data-slot=label]):not(:has(.color-slider__output)){grid-template-columns:1fr;grid-template-areas:"label""track"}.color-slider:not(:has([data-slot=label])):has(.color-slider__output){grid-template-columns:1fr;grid-template-areas:"output""track"}.color-slider:not(:has([data-slot=label])):has(.color-slider__output) .color-slider__output{justify-self:end}.color-slider [data-slot=label]{width:fit-content;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);grid-area:label}.color-slider .color-slider__output{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);grid-area:output}.color-slider .color-slider__track{border-radius:calc(var(--radius) * 2);grid-area:track;position:relative}.color-slider .color-slider__track:before,.color-slider .color-slider__track:after{content:"";z-index:0;pointer-events:none;position:absolute}.color-slider .color-slider__thumb{cursor:grab;border-radius:calc(var(--radius) * 2);-webkit-tap-highlight-color:transparent;border-style:var(--tw-border-style);border-width:3px;border-color:var(--color-white);--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);z-index:1;transition:transform .25s var(--ease-out), box-shadow .15s var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute}.color-slider .color-slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-slider .color-slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-slider .color-slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-slider .color-slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-slider .color-slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-slider .color-slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.color-slider .color-slider__thumb[data-dragging=true]{cursor:grabbing}.color-slider .color-slider__thumb[data-focus-visible=true]{z-index:10;--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.color-slider .color-slider__thumb[data-disabled=true]{cursor:default;background-color:var(--default)}.color-slider:disabled,.color-slider[data-disabled=true],.color-slider[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.color-slider:disabled,.color-slider[data-disabled=true],.color-slider[aria-disabled=true]) [data-slot=label]{opacity:1}.color-slider[data-orientation=horizontal]{flex-direction:column}.color-slider[data-orientation=horizontal] .color-slider__track{height:calc(var(--spacing) * 5);border-radius:0;justify-self:center;width:calc(100% - 1.25rem);box-shadow:inset 0 1px #0000001a,inset 0 -1px #0000001a}.color-slider[data-orientation=horizontal] .color-slider__track:before,.color-slider[data-orientation=horizontal] .color-slider__track:after{width:.625rem;height:100%;top:0}.color-slider[data-orientation=horizontal] .color-slider__track:before{background:linear-gradient(var(--track-start-color,transparent)), repeating-conic-gradient(#efefef 0% 25%, #f7f7f7 0% 50%) 50% / 16px 16px;border-start-start-radius:calc(var(--radius) * 2);border-end-start-radius:calc(var(--radius) * 2);inset-inline-start:-.625rem;box-shadow:inset 1px 0 #0000001a,inset 0 1px #0000001a,inset 0 -1px #0000001a}.color-slider[data-orientation=horizontal] .color-slider__track:after{background-color:var(--track-end-color,transparent);border-start-end-radius:calc(var(--radius) * 2);border-end-end-radius:calc(var(--radius) * 2);inset-inline-end:-.625rem;box-shadow:inset -1px 0 #0000001a,inset 0 1px #0000001a,inset 0 -1px #0000001a}.color-slider[data-orientation=horizontal] .color-slider__thumb{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);top:50%}.color-slider[data-orientation=vertical]{gap:calc(var(--spacing) * 2);flex-direction:row;grid-template:"output""track"1fr"label"/1fr;place-items:center;height:100%}.color-slider[data-orientation=vertical]:not(:has([data-slot=label])):not(:has(.color-slider__output)){grid-template-rows:1fr;grid-template-areas:"track";gap:0}.color-slider[data-orientation=vertical]:has([data-slot=label]):not(:has(.color-slider__output)){grid-template-rows:1fr auto;grid-template-areas:"track""label"}.color-slider[data-orientation=vertical]:not(:has([data-slot=label])):has(.color-slider__output){grid-template-rows:auto 1fr;grid-template-areas:"output""track"}.color-slider[data-orientation=vertical] .color-slider__output,.color-slider[data-orientation=vertical] [data-slot=label]{text-align:center}.color-slider[data-orientation=vertical] .color-slider__track{width:calc(var(--spacing) * 5);border-radius:0;justify-self:center;height:calc(100% - 1.25rem);box-shadow:inset 1px 0 #0000001a,inset -1px 0 #0000001a}.color-slider[data-orientation=vertical] .color-slider__track:before,.color-slider[data-orientation=vertical] .color-slider__track:after{width:100%;height:.625rem;inset-inline-start:calc(var(--spacing) * 0)}.color-slider[data-orientation=vertical] .color-slider__track:before{background:linear-gradient(var(--track-start-color,transparent)), repeating-conic-gradient(#efefef 0% 25%, #f7f7f7 0% 50%) 50% / 16px 16px;border-end-end-radius:999px;border-end-start-radius:999px;bottom:-.625rem;box-shadow:inset 1px 0 #0000001a,inset -1px 0 #0000001a,inset 0 -1px #0000001a}.color-slider[data-orientation=vertical] .color-slider__track:after{background-color:var(--track-end-color,transparent);border-start-start-radius:999px;border-start-end-radius:999px;top:-.625rem;box-shadow:inset 1px 0 #0000001a,inset -1px 0 #0000001a,inset 0 1px #0000001a}.color-slider[data-orientation=vertical] .color-slider__thumb{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);left:50%}.color-swatch{box-sizing:border-box;width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);background:linear-gradient(var(--color-swatch-current), var(--color-swatch-current)), repeating-conic-gradient(#efefef 0% 25%, #f7f7f7 0% 50%) 50% / 16px 16px;flex-shrink:0;position:relative;box-shadow:inset 0 0 0 1px #0000001a}.color-swatch--circle{border-radius:calc(var(--radius) * 2)}.color-swatch--square{border-radius:calc(var(--radius) * .75)}.color-swatch--xs{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.color-swatch--xs.color-swatch--circle{border-radius:calc(var(--radius) * 1)}.color-swatch--sm{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.color-swatch--sm.color-swatch--circle{border-radius:calc(var(--radius) * 1.5)}.color-swatch--lg{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.color-swatch--lg.color-swatch--circle{border-radius:calc(var(--radius) * 3)}.color-swatch--xl{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.color-swatch--xl.color-swatch--circle{border-radius:calc(var(--radius) * 3)}.color-swatch-picker{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.color-swatch-picker__item{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:calc(var(--radius) * 2);border-style:var(--tw-border-style);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);transition:border-color .1s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);border-width:2px;border-color:#0000;outline-style:none;justify-content:center;align-items:center;display:flex;position:relative}.color-swatch-picker__item:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-swatch-picker__item:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-swatch-picker__item:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-swatch-picker__item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-swatch-picker__item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-swatch-picker__item:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.color-swatch-picker__item:focus-visible,.color-swatch-picker__item[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.color-swatch-picker__item[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.color-swatch-picker__item[data-selected=true]{border-color:var(--color-swatch-current);box-shadow:var(--field-shadow)}.color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{transform:scale(.77)}.color-swatch-picker__swatch{border-radius:inherit;width:100%;height:100%;transition:transform .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);display:block}.color-swatch-picker__swatch:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-swatch-picker__swatch:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-swatch-picker__swatch:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-swatch-picker__swatch:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-swatch-picker__swatch:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-swatch-picker__swatch:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.color-swatch-picker__swatch:hover{transform:scale(1.1)}}.color-swatch-picker__indicator{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.color-swatch-picker__indicator>*{width:33.3333%;height:33.3333%;color:var(--color-white);transition:transform .15s var(--ease-out);transform:scale(0)translateZ(0)}.color-swatch-picker__indicator>:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-swatch-picker__indicator>:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-swatch-picker__indicator>:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-swatch-picker__indicator>:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-swatch-picker__indicator>:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-swatch-picker__indicator>:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.color-swatch-picker__indicator[data-light-color=true] .color-swatch-picker__indicator>*{color:var(--color-black)}.color-swatch-picker__item[data-selected=true] .color-swatch-picker__indicator>*{transform:scale(1)translateZ(0)}.color-swatch-picker--stack{flex-direction:column}.color-swatch-picker--xs .color-swatch-picker__item{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1);border-style:var(--tw-border-style);border-width:1px}.color-swatch-picker--sm .color-swatch-picker__item{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);border-radius:calc(var(--radius) * 1.5);border-style:var(--tw-border-style);border-width:2px}.color-swatch-picker--lg .color-swatch-picker__item{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:calc(var(--radius) * 3);border-style:var(--tw-border-style);border-width:3px}.color-swatch-picker--xl .color-swatch-picker__item{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:calc(var(--radius) * 3);border-style:var(--tw-border-style);border-width:3px}.color-swatch-picker--square .color-swatch-picker__item{border-radius:calc(var(--radius) * 1.5)}.color-swatch-picker--square .color-swatch-picker__item .color-swatch-picker__swatch,.color-swatch-picker--square .color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{border-radius:calc(var(--radius) * 1)}.color-swatch-picker--square.color-swatch-picker--xs .color-swatch-picker__item,.color-swatch-picker--square.color-swatch-picker--xs .color-swatch-picker__item .color-swatch-picker__swatch,.color-swatch-picker--square.color-swatch-picker--xs .color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{border-radius:calc(var(--radius) * .75)}.color-swatch-picker--square.color-swatch-picker--sm .color-swatch-picker__item,.color-swatch-picker--square.color-swatch-picker--sm .color-swatch-picker__item .color-swatch-picker__swatch{border-radius:calc(var(--radius) * 1)}.color-swatch-picker--square.color-swatch-picker--sm .color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{border-radius:calc(var(--radius) * .75)}.color-swatch-picker--square.color-swatch-picker--lg .color-swatch-picker__item{border-radius:calc(var(--radius) * 1.5)}.color-swatch-picker--square.color-swatch-picker--lg .color-swatch-picker__item .color-swatch-picker__swatch,.color-swatch-picker--square.color-swatch-picker--lg .color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{border-radius:calc(var(--radius) * 1)}.color-swatch-picker--square.color-swatch-picker--xl .color-swatch-picker__item{border-radius:calc(var(--radius) * 1.5)}.color-swatch-picker--square.color-swatch-picker--xl .color-swatch-picker__item .color-swatch-picker__swatch,.color-swatch-picker--square.color-swatch-picker--xl .color-swatch-picker__item[data-selected=true] .color-swatch-picker__swatch{border-radius:calc(var(--radius) * 1)}.color-input-group{height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);--color-input-group-bg:var(--color-field);--color-input-group-bg-hover:var(--color-field-hover);--color-input-group-bg-focus:var(--field-focus);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);outline-style:none;align-items:center;display:inline-flex;overflow:hidden}.color-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *),.color-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.color-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.color-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.color-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.color-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.color-input-group:hover:not(:focus-within),.color-input-group[data-hovered=true]:not([data-focus-within=true]){background-color:var(--field-hover);--color-input-group-bg:var(--color-input-group-bg-hover);border-color:var(--field-border-hover)}}.color-input-group[data-focus-within=true],.color-input-group:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.color-input-group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.color-input-group[data-invalid=true]:focus,.color-input-group[data-invalid=true]:focus-visible,.color-input-group[data-invalid=true][data-focused=true],.color-input-group[data-invalid=true][data-focus-visible=true],.color-input-group[data-invalid=true]:focus-within,.color-input-group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.color-input-group[data-invalid=true]{--color-input-group-bg:var(--color-input-group-bg-focus);background-color:var(--color-input-group-bg);border-color:var(--color-field-border-invalid)}.color-input-group[data-disabled=true],.color-input-group[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.color-input-group__input{cursor:text;border-style:var(--tw-border-style);height:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;background-color:#0000;border-width:0;border-radius:0;outline-style:none;flex:1;align-items:center;display:flex}@media (width>=40rem){.color-input-group__input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.color-input-group__input::placeholder{color:var(--field-placeholder,var(--muted))}.color-input-group:has([data-slot=color-input-group-prefix]) .color-input-group__input{border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:calc(var(--spacing) * 2)}.color-input-group:has([data-slot=color-input-group-suffix]) .color-input-group__input{border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:calc(var(--spacing) * 2)}.color-input-group__input:focus,.color-input-group__input:focus-visible{--tw-outline-style:none;outline-style:none}.color-input-group__input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:-webkit-autofill{transition:background-color 9999s ease-in-out}}.color-input-group__input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.color-input-group__input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.color-input-group__input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.color-input-group__input:autofill{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:autofill{transition:background-color 9999s ease-in-out}}.color-input-group__input:autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:autofill:hover{transition:background-color 9999s ease-in-out}}.color-input-group__input:autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:autofill:focus{transition:background-color 9999s ease-in-out}}.color-input-group__input:autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;box-shadow:0 0 0 1000px var(--color-input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.color-input-group__input:autofill:active{transition:background-color 9999s ease-in-out}}.color-input-group__prefix{color:var(--field-placeholder,var(--muted));flex-shrink:0;align-items:center;margin-inline-start:calc(var(--spacing) * 3);margin-inline-end:0;display:flex}.color-input-group__suffix{color:var(--field-placeholder,var(--muted));flex-shrink:0;align-items:center;margin-inline-end:calc(var(--spacing) * 3);display:flex}.color-input-group--secondary{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--color-input-group-bg);--color-input-group-bg:var(--default);--color-input-group-bg-hover:var(--default-hover);--color-input-group-bg-focus:var(--default)}@media (hover:hover){.color-input-group--secondary:hover:not(:focus-within),.color-input-group--secondary[data-hovered=true]:not([data-focus-within=true]){--color-input-group-bg:var(--color-input-group-bg-hover);background-color:var(--color-input-group-bg)}}.color-input-group--secondary:focus-within,.color-input-group--secondary[data-focus-within=true]{--color-input-group-bg:var(--color-input-group-bg-focus);background-color:var(--color-input-group-bg)}.color-input-group--secondary[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.color-input-group--secondary[data-invalid=true]:focus,.color-input-group--secondary[data-invalid=true]:focus-visible,.color-input-group--secondary[data-invalid=true][data-focused=true],.color-input-group--secondary[data-invalid=true][data-focus-visible=true],.color-input-group--secondary[data-invalid=true]:focus-within,.color-input-group--secondary[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.color-input-group--secondary[data-invalid=true]{border-color:var(--color-field-border-invalid);--color-input-group-bg:var(--color-input-group-bg-focus);background-color:var(--color-input-group-bg)}.color-input-group--secondary [data-slot=color-input-group-input]{background-color:#0000}.color-input-group--full-width{width:100%}.color-field{gap:var(--spacing);flex-direction:column;display:flex}:is(.color-field[data-invalid=true],.color-field[aria-invalid=true]) [data-slot=description]{display:none}.color-field [data-slot=label]{width:fit-content}.color-field--full-width{width:100%}.slider{gap:var(--spacing);grid-template-columns:1fr auto;grid-template-areas:"label output""track track";width:100%;display:grid}.slider [data-slot=label]{width:fit-content;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);grid-area:label}.slider .slider__output{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);grid-area:output}.slider .slider__track{border-radius:calc(var(--radius) * 1.5);background-color:var(--default);grid-area:track;position:relative}.slider .slider__fill{pointer-events:none;background-color:var(--accent);position:absolute}.slider .slider__steps{pointer-events:none;z-index:1;position:absolute;inset:0}.slider .slider__step{background-color:var(--muted);border-radius:2147483647px;width:3px;height:3px;position:absolute}@supports (color:color-mix(in lab, red, red)){.slider .slider__step{background-color:color-mix(in oklab, var(--muted) 25%, transparent)}}.slider .slider__step[data-filled=true]{background-color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.slider .slider__step[data-filled=true]{background-color:color-mix(in oklab, var(--accent-foreground) 25%, transparent)}}.slider .slider__marks{grid-area:marks;grid-template-columns:minmax(0,1fr);display:grid}.slider .slider__mark{width:max-content;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);transition:color .2s var(--ease-smooth);grid-area:1/1;justify-self:start;position:relative}.slider .slider__mark:is([data-reduce-motion=true],[data-reduce-motion=true] *),.slider .slider__mark:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.slider .slider__mark:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.slider .slider__mark:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.slider .slider__mark:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.slider .slider__mark:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.slider .slider__mark[data-filled=true]{color:var(--foreground)}.slider .slider__thumb{z-index:2;cursor:grab;border-radius:calc(var(--radius) * 1.5);background-color:var(--accent);-webkit-tap-highlight-color:transparent;transition:background-color .25s var(--ease-smooth), transform .25s var(--ease-out), box-shadow .15s var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute}.slider .slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *),.slider .slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.slider .slider__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.slider .slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.slider .slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.slider .slider__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.slider .slider__thumb:after{z-index:10;border-radius:calc(var(--radius) * 1);background-color:var(--accent-foreground);color:var(--color-black);--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);content:"";transform-origin:50%;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}.slider .slider__thumb:after:is(){transition-property:none}@media (prefers-reduced-motion:reduce){.slider .slider__thumb:after:not(:is()){transition-property:none}}.slider .slider__thumb[data-dragging=true]{cursor:grabbing}.slider .slider__thumb[data-dragging=true]:after{scale:.9}.slider .slider__thumb[data-dragging=true]:after:is(){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (prefers-reduced-motion:reduce){.slider .slider__thumb[data-dragging=true]:after:not(:is()){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.slider .slider__thumb[data-focus-visible=true]{z-index:10;--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.slider .slider__thumb[data-disabled=true]{cursor:default}.slider:disabled,.slider[data-disabled=true],.slider[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.slider:disabled,.slider[data-disabled=true],.slider[aria-disabled=true]) [data-slot=label]{opacity:1}.slider[data-orientation=horizontal]{flex-direction:column}.slider[data-orientation=horizontal]:has(>.slider__marks){grid-template-areas:"label output""track track""marks marks"}.slider[data-orientation=horizontal] .slider__steps .slider__step{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%}.slider[data-orientation=horizontal] .slider__marks{margin-inline:calc(var(--spacing) * 3)}.slider[data-orientation=horizontal] .slider__mark{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.slider[data-orientation=horizontal] .slider__steps[data-direction=rtl] .slider__step,.slider[data-orientation=horizontal] .slider__marks[data-direction=rtl] .slider__mark{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.slider[data-orientation=horizontal] .slider__track{height:calc(var(--spacing) * 5);border-inline-style:var(--tw-border-style);border-inline-width:.75rem;border-inline-color:#0000;width:100%}.slider[data-orientation=horizontal] .slider__track[data-fill-start=true]{border-inline-start-color:var(--accent)}.slider[data-orientation=horizontal] .slider__track[data-fill-end=true]{border-inline-end-color:var(--accent)}.slider[data-orientation=horizontal] .slider__fill,.slider[data-orientation=horizontal] .slider__thumb{height:100%}.slider[data-orientation=horizontal] .slider__thumb{width:1.75rem;top:50%}.slider[data-orientation=horizontal] .slider__thumb:after{width:1.5rem;height:1rem}.slider[data-orientation=vertical]{gap:calc(var(--spacing) * 2);flex-direction:row;grid-template:"output""track"1fr"label"/1fr;height:100%}.slider[data-orientation=vertical]:has(>.slider__marks){grid-template-columns:auto auto;grid-template-areas:"output output""track marks""label label";justify-content:center}.slider[data-orientation=vertical] .slider__steps .slider__step{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);--tw-translate-y:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y);left:50%}.slider[data-orientation=vertical] .slider__marks{margin-block:calc(var(--spacing) * 3);grid-template-rows:minmax(0,1fr);grid-template-columns:max-content}.slider[data-orientation=vertical] .slider__mark{--tw-translate-y:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y);align-self:end}.slider[data-orientation=vertical] .slider__output,.slider[data-orientation=vertical] [data-slot=label]{text-align:center}.slider[data-orientation=vertical] .slider__track{height:100%;width:calc(var(--spacing) * 5);border-block-style:var(--tw-border-style);border-block-width:.75rem;border-block-color:#0000;justify-self:center}.slider[data-orientation=vertical] .slider__track[data-fill-start=true]{border-bottom-color:var(--accent)}.slider[data-orientation=vertical] .slider__track[data-fill-end=true]{border-top-color:var(--accent)}.slider[data-orientation=vertical] .slider__fill,.slider[data-orientation=vertical] .slider__thumb{width:100%}.slider[data-orientation=vertical] .slider__thumb{height:1.75rem;left:50%}.slider[data-orientation=vertical] .slider__thumb:after{width:1rem;height:1.5rem}.switch{align-items:flex-start;gap:var(--spacing);-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);--switch-control-bg:var(--default);--switch-control-bg-hover:var(--switch-control-bg);flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.switch{--switch-control-bg-hover:color-mix(in oklab, var(--switch-control-bg), transparent 20%)}}.switch{--switch-control-bg-pressed:var(--switch-control-bg-hover);--switch-control-bg-checked:var(--accent);--switch-control-bg-checked-hover:var(--accent-hover)}.switch[data-disabled=true],.switch[data-disabled=true] [data-slot=description],.switch[data-disabled=true] [data-slot=field-error]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.switch[data-disabled=true] .switch__thumb{background-color:var(--default-foreground)}@supports (color:color-mix(in lab, red, red)){.switch[data-disabled=true] .switch__thumb{background-color:color-mix(in oklab, var(--default-foreground) 20%, transparent)}}.switch>[data-slot=description]{width:100%;min-width:0;padding-inline-start:3.25rem}.switch>[data-slot=field-error]{width:100%;min-width:0;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted);padding-inline-start:3.25rem}.switch.switch--sm>[data-slot=description],.switch.switch--sm>[data-slot=field-error]{padding-inline-start:2.75rem}.switch.switch--lg>[data-slot=description],.switch.switch--lg>[data-slot=field-error]{padding-inline-start:3.75rem}:is(.switch:disabled[aria-checked=true],.switch:disabled[data-selected=true],.switch[data-disabled=true][aria-checked=true],.switch[data-disabled=true][data-selected=true],.switch[aria-disabled=true][aria-checked=true],.switch[aria-disabled=true][data-selected=true]) .switch__thumb{opacity:.4}.switch__control{border-radius:calc(var(--radius) * 1.5);background-color:var(--switch-control-bg);width:2.5rem;height:1.25rem;transition:background-color .25s var(--ease-smooth), box-shadow .15s var(--ease-out);flex-shrink:0;align-items:center;display:flex;position:relative;overflow:hidden}.switch__control:is([data-reduce-motion=true],[data-reduce-motion=true] *),.switch__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.switch__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.switch__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.switch__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.switch__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.switch:focus-visible .switch__control,.switch [data-slot=switch-content][data-focus-visible=true] .switch__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.switch:has([data-slot=switch-content][data-focus-visible=true]) .switch__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.switch:hover .switch__control,.switch [data-slot=switch-content][data-hovered=true] .switch__control{background-color:var(--switch-control-bg-hover)}.switch:has([data-slot=switch-content][data-hovered=true]) .switch__control{background-color:var(--switch-control-bg-hover)}.switch:active .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control{background-color:var(--switch-control-bg-pressed)}.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control{background-color:var(--switch-control-bg-pressed)}:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transform:none}@media (prefers-reduced-motion:reduce){:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.switch:active .switch__control,.switch:has([data-slot=switch-content][data-pressed=true]) .switch__control,.switch [data-slot=switch-content][data-pressed=true] .switch__control):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transform:none}}.switch[aria-checked=true] .switch__control,.switch[data-selected=true] .switch__control{background-color:var(--switch-control-bg-checked)}.switch[aria-checked=true]:hover .switch__control,.switch[data-selected=true]:hover .switch__control,.switch[aria-checked=true][data-hovered=true] .switch__control,.switch[data-selected=true][data-hovered=true] .switch__control,.switch[aria-checked=true]:active .switch__control,.switch[data-selected=true]:active .switch__control,.switch[aria-checked=true][data-pressed=true] .switch__control,.switch[data-selected=true][data-pressed=true] .switch__control{background-color:var(--switch-control-bg-checked-hover)}.switch:has([data-slot=switch-content][data-hovered=true])[data-selected=true] .switch__control{background-color:var(--switch-control-bg-checked-hover)}.switch:has([data-slot=switch-content][data-pressed=true])[data-selected=true] .switch__control{background-color:var(--switch-control-bg-checked-hover)}.switch__content{cursor:inherit;align-items:center;gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}.switch--sm .switch__control{border-radius:calc(var(--radius) * 1);width:2rem;height:1rem}.switch--lg .switch__control{width:3rem;height:1.5rem}.switch__thumb{transform-origin:50%;transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);border-radius:calc(var(--radius) * 1);background-color:var(--color-white);color:var(--color-black);--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--switch-thumb-offset:calc(100% - 1.375rem - var(--spacing));width:1.375rem;height:1rem;transition:inset-inline-start .3s var(--ease-out-fluid), background-color .2s var(--ease-out);margin-inline-start:calc(var(--spacing) * .5);display:flex;position:relative;inset-inline-start:0}.switch__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *),.switch__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.switch__thumb:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.switch__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.switch__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.switch__thumb:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.switch[aria-checked=true] .switch__thumb,.switch[data-selected=true] .switch__thumb{background-color:var(--accent-foreground);color:var(--accent);inset-inline-start:var(--switch-thumb-offset);box-shadow:0 0 5px #00000005,0 2px 10px #0000000f,0 0 1px #0000004d}.switch--sm .switch__thumb{border-radius:calc(var(--radius) * .75);--switch-thumb-offset:calc(100% - 1.03125rem - var(--spacing));width:1.03125rem;height:.75rem}.switch--lg .switch__thumb{border-radius:calc(var(--radius) * 1.5);--switch-thumb-offset:calc(100% - 1.71875rem - var(--spacing));width:1.71875rem;height:1.25rem}.switch__thumb>*{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.switch [data-slot=label]{-webkit-user-select:none;user-select:none}.switch__content [data-slot=label]{cursor:var(--cursor-interactive)}.switch [data-slot=description]{cursor:default;-webkit-user-select:none;user-select:none}.switch-group{gap:calc(var(--spacing) * 6);flex-direction:column;display:flex}.switch-group__items{gap:calc(var(--spacing) * 4);display:flex}.switch-group--horizontal .switch-group__items{flex-direction:row}.switch-group--vertical .switch-group__items{flex-direction:column}.badge{justify-content:center;align-items:center;gap:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);min-height:calc(var(--spacing) * 7);min-width:calc(var(--spacing) * 7);border-radius:calc(var(--radius) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1.34;--badge-bg:var(--default);--badge-fg:var(--default-foreground);--badge-border:var(--background);background-color:var(--badge-bg);color:var(--badge-fg);border:1px solid var(--badge-border);background-clip:padding-box;flex-shrink:0;line-height:1.34;display:inline-flex}.badge__label{padding-inline:calc(var(--spacing) * .5)}.badge-anchor{flex-shrink:0;display:inline-flex;position:relative}.badge--lg{min-height:calc(var(--spacing) * 8);min-width:calc(var(--spacing) * 8);border-radius:calc(var(--radius) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.43;line-height:1.43}.badge--sm{min-height:calc(var(--spacing) * 4);min-width:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1.5);--tw-leading:1.34;font-size:10px;line-height:1.34}.badge--accent{--badge-fg:var(--accent-soft-foreground)}.badge--default{--badge-fg:var(--default-foreground)}.badge--success{--badge-fg:var(--success-soft-foreground)}.badge--warning{--badge-fg:var(--warning-soft-foreground)}.badge--danger{--badge-fg:var(--danger-soft-foreground)}.badge--top-right{position:absolute;top:0;right:0;transform:translate(25%,-25%)}.badge--top-left{position:absolute;top:0;left:0;transform:translate(-25%,-25%)}.badge--bottom-right{position:absolute;bottom:0;right:0;transform:translate(25%,25%)}.badge--bottom-left{position:absolute;bottom:0;left:0;transform:translate(-25%,25%)}.badge--primary.badge--accent{--badge-bg:var(--accent);--badge-fg:var(--accent-foreground)}.badge--primary.badge--default{--badge-bg:var(--default);--badge-fg:var(--default-foreground)}.badge--primary.badge--success{--badge-bg:var(--success);--badge-fg:var(--success-foreground)}.badge--primary.badge--warning{--badge-bg:var(--warning);--badge-fg:var(--warning-foreground)}.badge--primary.badge--danger{--badge-bg:var(--danger);--badge-fg:var(--danger-foreground)}.badge--soft.badge--accent{--badge-bg:var(--accent-soft);--badge-fg:var(--accent-soft-foreground)}.badge--soft.badge--default{--badge-bg:var(--default-soft);--badge-fg:var(--default-soft-foreground)}.badge--soft.badge--success{--badge-bg:var(--success-soft);--badge-fg:var(--success-soft-foreground)}.badge--soft.badge--warning{--badge-bg:var(--warning-soft);--badge-fg:var(--warning-soft-foreground)}.badge--soft.badge--danger{--badge-bg:var(--danger-soft);--badge-fg:var(--danger-soft-foreground)}.chip{align-items:center;gap:calc(var(--spacing) * .5);border-radius:calc(var(--radius) * 2);width:fit-content;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--chip-bg:var(--default);--chip-fg:currentColor;background-color:var(--chip-bg);color:var(--chip-fg);flex-shrink:0;display:inline-flex}.chip__label{padding-inline:calc(var(--spacing) * .5)}.chip--accent{--chip-fg:var(--accent-soft-foreground)}.chip--danger{--chip-fg:var(--danger-soft-foreground)}.chip--default{--chip-fg:var(--default-foreground)}.chip--success{--chip-fg:var(--success-soft-foreground)}.chip--warning{--chip-fg:var(--warning-soft-foreground)}.chip--tertiary{--chip-bg:transparent}.chip--sm{padding-inline:var(--spacing);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:0}.chip--lg{padding-inline:calc(var(--spacing) * 3);padding-block:var(--spacing);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.chip--primary.chip--accent{--chip-bg:var(--accent);--chip-fg:var(--accent-foreground)}.chip--primary.chip--success{--chip-bg:var(--success);--chip-fg:var(--success-foreground)}.chip--primary.chip--warning{--chip-bg:var(--warning);--chip-fg:var(--warning-foreground)}.chip--primary.chip--danger{--chip-bg:var(--danger);--chip-fg:var(--danger-foreground)}.chip--accent.chip--soft{--chip-bg:var(--accent-soft);--chip-fg:var(--accent-soft-foreground)}.chip--success.chip--soft{--chip-bg:var(--success-soft);--chip-fg:var(--success-soft-foreground)}.chip--warning.chip--soft{--chip-bg:var(--warning-soft);--chip-fg:var(--warning-soft-foreground)}.chip--danger.chip--soft{--chip-bg:var(--danger-soft);--chip-fg:var(--danger-soft-foreground)}.chip--default.chip--soft{--chip-bg:var(--default-soft);--chip-fg:var(--default-soft-foreground)}.table-root{grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:clip}.table__scroll-container{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);scrollbar-gutter:auto;overflow-x:auto}.table-root--primary{background-color:var(--surface-secondary);padding-inline:var(--spacing);padding-bottom:var(--spacing);border-radius:min(32px, calc(var(--radius) * 2.5))}.table-root--secondary .table__header{border-bottom-style:var(--tw-border-style);background-color:#0000;border-bottom-width:0}.table-root--secondary .table__column{background-color:var(--surface-secondary)}.table-root--secondary :is(th.table__column:first-child,[role=row]>[role=presentation]:first-of-type>.table__column){border-start-start-radius:min(32px, var(--radius-2xl));border-end-start-radius:min(32px, var(--radius-2xl))}.table-root--secondary :is(th.table__column:last-child,[role=row]>[role=presentation]:last-of-type>.table__column){border-start-end-radius:min(32px, var(--radius-2xl));border-end-end-radius:min(32px, var(--radius-2xl))}.table-root--secondary .table__body{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.table-root--secondary .table__body tr:first-child td:first-child,.table-root--secondary .table__body tr:first-child td:last-child,.table-root--secondary .table__body tr:last-child td:first-child,.table-root--secondary .table__body tr:last-child td:last-child{border-radius:0}.table-root--secondary .table__body:not(tbody){border-radius:0;overflow:visible}.table-root--secondary .table__row .table__cell{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--separator-tertiary)}@supports (color:color-mix(in lab, red, red)){.table-root--secondary .table__row .table__cell{border-color:color-mix(in oklab, var(--separator-tertiary) 50%, transparent)}}.table-root--secondary .table__row .table__cell{background-color:#0000}@media (hover:hover){.table-root--secondary .table__row:hover .table__cell,.table-root--secondary .table__row[data-hovered=true] .table__cell{background-color:var(--default)}@supports (color:color-mix(in lab, red, red)){.table-root--secondary .table__row:hover .table__cell,.table-root--secondary .table__row[data-hovered=true] .table__cell{background-color:color-mix(in oklab, var(--default) 50%, transparent)}}}.table__content{border-collapse:separate;--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.table-root--primary .table__content{overflow:clip}.table__header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--separator)}@supports (color:color-mix(in lab, red, red)){.table__header{border-color:color-mix(in oklab, var(--separator) 50%, transparent)}}.table__header{background-color:var(--surface-secondary)}.table__column{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);text-align:start;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted);position:relative}.table__column:after{content:"";pointer-events:none;height:calc(var(--spacing) * 4);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);width:1px;translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:calc(var(--radius) * .5);background-color:var(--separator);inset-inline-end:calc(var(--spacing) * 0);position:absolute;top:50%}.table__column:last-child:not(:only-child):after{content:none}.table__column[data-allows-sorting=true]{cursor:var(--cursor-interactive)}@media (hover:hover){.table__column[data-allows-sorting=true]:hover,.table__column[data-allows-sorting=true][data-hovered=true]{color:var(--foreground)}}.table__column:focus-visible,.table__column[data-focus-visible=true]{border-radius:calc(var(--radius) * 1);--tw-outline-style:none;box-shadow:inset 0 0 0 2px var(--focus);outline-style:none}[role=row]>[role=presentation]:last-of-type:not(:only-of-type)>.table__column:after{content:none}.table__sortable-column-header{justify-content:space-between;align-items:center;display:flex}.table__sortable-column-indicator{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.1s;--tw-ease:var(--ease-out);transition-duration:.1s;transition-timing-function:var(--ease-out);place-content:center;display:inline-grid}.table__sortable-column-indicator[data-direction=descending]{rotate:180deg}.table__body tr:first-child td:first-child{border-start-start-radius:min(32px, var(--radius-2xl))}.table__body tr:first-child td:last-child{border-start-end-radius:min(32px, var(--radius-2xl))}.table__body tr:last-child td:first-child{border-end-start-radius:min(32px, var(--radius-2xl))}.table__body tr:last-child td:last-child{border-end-end-radius:min(32px, var(--radius-2xl))}.table__body:not(tbody){border-radius:min(32px, var(--radius-2xl));height:100%;position:relative;overflow:clip}.table__row{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--separator);height:100%;position:relative}@supports (color:color-mix(in lab, red, red)){.table__row{border-color:color-mix(in oklab, var(--separator) 50%, transparent)}}.table__row:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.table__row:hover .table__cell,.table__row[data-hovered=true] .table__cell{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.table__row:hover .table__cell,.table__row[data-hovered=true] .table__cell{background-color:color-mix(in oklab, var(--surface) 40%, transparent)}}}.table__row[data-selected=true] .table__cell{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.table__row[data-selected=true] .table__cell{background-color:color-mix(in oklab, var(--surface) 10%, transparent)}}.table__row[aria-disabled=true],.table__row[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.table__row:focus-visible,.table__row[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.table__row[data-dragging=true]{opacity:.5}.table__row[data-drop-target=true] .table__cell{background-color:var(--accent-soft)}.table__cell{background-color:var(--surface);height:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);vertical-align:middle;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--separator-tertiary)}@supports (color:color-mix(in lab, red, red)){.table__cell{border-color:color-mix(in oklab, var(--separator-tertiary) 50%, transparent)}}.table__cell:focus-visible,.table__cell[data-focus-visible=true]{border-radius:calc(var(--radius) * 1);--tw-outline-style:none;box-shadow:inset 0 0 0 2px var(--focus);outline-style:none}.table__row:is(:focus-visible,[data-focus-visible=true]) :is(.table__cell,.table__column){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.table__row:is(:focus-visible,[data-focus-visible=true])>:is(.table__cell,.table__column):only-child,.table__row:is(:focus-visible,[data-focus-visible=true])>:only-child :is(.table__cell,.table__column){border-radius:calc(var(--radius) * 1);--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,var(--focus));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;outline-style:none}.table__row:is(:focus-visible,[data-focus-visible=true])>:is(.table__cell,.table__column):first-child:not(:only-child),.table__row:is(:focus-visible,[data-focus-visible=true])>:first-child:not(:only-child) :is(.table__cell,.table__column){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,var(--focus)), inset 0 2px 0 0 var(--tw-shadow-color,var(--focus)), inset 0 -2px 0 0 var(--tw-shadow-color,var(--focus));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-start-start-radius:calc(var(--radius) * 1);border-end-start-radius:calc(var(--radius) * 1);outline-style:none}.table__row:is(:focus-visible,[data-focus-visible=true])>:is(.table__cell,.table__column):last-child:not(:only-child),.table__row:is(:focus-visible,[data-focus-visible=true])>:last-child:not(:only-child) :is(.table__cell,.table__column){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,var(--focus)), inset 0 2px 0 0 var(--tw-shadow-color,var(--focus)), inset 0 -2px 0 0 var(--tw-shadow-color,var(--focus));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-start-end-radius:calc(var(--radius) * 1);border-end-end-radius:calc(var(--radius) * 1);outline-style:none}.table__row:is(:focus-visible,[data-focus-visible=true])>:is(.table__cell,.table__column):not(:first-child):not(:last-child):not(:only-child),.table__row:is(:focus-visible,[data-focus-visible=true])>:not(:first-child):not(:last-child):not(:only-child) :is(.table__cell,.table__column){--tw-shadow:inset 0 2px 0 0 var(--tw-shadow-color,var(--focus)), inset 0 -2px 0 0 var(--tw-shadow-color,var(--focus));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;outline-style:none}.table__cell[data-tree-column]{padding-inline-start:calc(1rem * var(--table-row-level,1))}.table__footer{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);align-items:center;display:flex}.table__resizable-container{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);scrollbar-gutter:auto;position:relative;overflow:auto}.table__column-resizer{height:calc(var(--spacing) * 4);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);border-radius:calc(var(--radius) * .5);background-color:var(--separator);box-sizing:content-box;--tw-translate-x:calc(1 / 2 * 100%);width:1px;translate:var(--tw-translate-x) var(--tw-translate-y);cursor:col-resize;touch-action:none;padding-inline:calc(var(--spacing) * 2);--tw-border-style:none;--tw-outline-style:none;inset-inline-end:calc(var(--spacing) * 0);background-clip:content-box;border-style:none;outline-style:none;position:absolute;top:50%}.table__column-resizer[data-hovered=true],.table__column-resizer:hover,.table__column-resizer[data-resizing=true]{height:100%;width:calc(var(--spacing) * .5);background-color:var(--accent)}.table__column-resizer[data-focus-visible=true],.table__column-resizer:focus-visible{height:100%;width:calc(var(--spacing) * .5);background-color:var(--focus)}.table__column:has(.table__column-resizer):after{content:none}.table__load-more td,.table__load-more [role=rowheader]{padding-block:calc(var(--spacing) * 3);text-align:center}:is(.table__load-more td,.table__load-more [role=rowheader])>*{margin-inline:auto}.table__load-more-content{justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 2);display:flex}.alert{justify-content:flex-start;align-items:flex-start;gap:calc(var(--spacing) * 4);background-color:var(--surface);width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);--tw-shadow:var(--surface-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:min(32px, var(--radius-3xl));flex-direction:row;display:flex}.alert__content{flex-direction:column;flex-grow:1;align-items:flex-start;height:100%;display:flex}.alert__indicator{padding:var(--spacing);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.alert__indicator [data-slot=alert-default-icon]{box-sizing:content-box;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.alert__title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.alert__description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.alert--default .alert__indicator,.alert--default .alert__title{color:var(--foreground)}.alert--accent .alert__indicator,.alert--accent .alert__title{color:var(--accent-soft-foreground)}.alert--success .alert__indicator,.alert--success .alert__title{color:var(--success-soft-foreground)}.alert--warning .alert__indicator,.alert--warning .alert__title{color:var(--warning-soft-foreground)}.alert--danger .alert__indicator,.alert--danger .alert__title{color:var(--danger-soft-foreground)}.empty-state{padding:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.skeleton{pointer-events:none;border-radius:calc(var(--radius) * .5);background-color:var(--surface-tertiary);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.skeleton{background-color:color-mix(in oklab, var(--surface-tertiary) 70%, transparent)}}.skeleton--shimmer:after{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y);--tw-gradient-position:to right;animation:2s linear infinite skeleton;position:absolute;inset:0}@supports (background-image:linear-gradient(in lab, red, red)){.skeleton--shimmer:after{--tw-gradient-position:to right in oklab}}.skeleton--shimmer:after{background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:transparent;--tw-gradient-via:var(--surface-tertiary);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));--tw-gradient-to:transparent;--tw-content:"";content:var(--tw-content)}.skeleton--shimmer:has(.skeleton):after{content:none}.skeleton--shimmer:has(.skeleton):before{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y);--tw-content:"";content:var(--tw-content);z-index:10;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(90deg,#0000 0%,#ffffff80 50%,#0000 100%);animation:2s linear infinite skeleton;position:absolute;inset:0}.skeleton--shimmer:has(.skeleton) .skeleton:after{content:none}.skeleton--pulse{animation:var(--animate-pulse)}.meter{gap:var(--spacing);--meter-fill:var(--accent);grid-template-columns:1fr auto;grid-template-areas:"label output""track track";width:100%;display:grid}.meter [data-slot=label]{width:fit-content;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);grid-area:label}.meter .meter__output{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);grid-area:output}.meter .meter__track{border-radius:calc(var(--radius) * .5);background-color:var(--default);height:calc(var(--spacing) * 2);grid-area:track;position:relative;overflow:hidden}.meter .meter__fill{border-radius:calc(var(--radius) * .5);background-color:var(--meter-fill);height:100%;transition:width .3s var(--ease-out);inset-inline-start:calc(var(--spacing) * 0);position:absolute;top:0}.meter .meter__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *),.meter .meter__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.meter .meter__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.meter .meter__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.meter .meter__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.meter .meter__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.meter:disabled,.meter[data-disabled=true],.meter[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.meter:disabled,.meter[data-disabled=true],.meter[aria-disabled=true]) [data-slot=label]{opacity:1}.meter--sm .meter__track{height:var(--spacing);border-radius:calc(var(--radius) * .25)}.meter--sm .meter__fill{border-radius:calc(var(--radius) * .25)}.meter--lg .meter__track{height:calc(var(--spacing) * 3);border-radius:calc(var(--radius) * .75)}.meter--lg .meter__fill{border-radius:calc(var(--radius) * .75)}.meter--default{--meter-fill:var(--default-foreground)}.meter--accent{--meter-fill:var(--accent)}.meter--success{--meter-fill:var(--success)}.meter--warning{--meter-fill:var(--warning)}.meter--danger{--meter-fill:var(--danger)}.progress-bar{gap:var(--spacing);--progress-bar-fill:var(--accent);grid-template-columns:1fr auto;grid-template-areas:"label output""track track";width:100%;display:grid}.progress-bar [data-slot=label]{width:fit-content;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);grid-area:label}.progress-bar .progress-bar__output{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);grid-area:output}.progress-bar .progress-bar__track{border-radius:calc(var(--radius) * .5);background-color:var(--default);height:calc(var(--spacing) * 2);grid-area:track;position:relative;overflow:hidden}.progress-bar .progress-bar__fill{border-radius:calc(var(--radius) * .5);background-color:var(--progress-bar-fill);height:100%;transition:width .3s var(--ease-out);inset-inline-start:calc(var(--spacing) * 0);position:absolute;top:0}.progress-bar .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *),.progress-bar .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.progress-bar .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.progress-bar .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.progress-bar .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.progress-bar .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.progress-bar:not([aria-valuenow]) .progress-bar__fill{width:40%;animation:1.5s cubic-bezier(.65,0,.35,1) infinite progress-bar-indeterminate}.progress-bar:not([aria-valuenow]) .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *),.progress-bar:not([aria-valuenow]) .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.progress-bar:not([aria-valuenow]) .progress-bar__fill:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.progress-bar:not([aria-valuenow]) .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.progress-bar:not([aria-valuenow]) .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.progress-bar:not([aria-valuenow]) .progress-bar__fill:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.progress-bar:disabled,.progress-bar[data-disabled=true],.progress-bar[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.progress-bar:disabled,.progress-bar[data-disabled=true],.progress-bar[aria-disabled=true]) [data-slot=label]{opacity:1}@keyframes progress-bar-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.progress-bar--sm .progress-bar__track{height:var(--spacing);border-radius:calc(var(--radius) * .25)}.progress-bar--sm .progress-bar__fill{border-radius:calc(var(--radius) * .25)}.progress-bar--lg .progress-bar__track{height:calc(var(--spacing) * 3);border-radius:calc(var(--radius) * .75)}.progress-bar--lg .progress-bar__fill{border-radius:calc(var(--radius) * .75)}.progress-bar--default{--progress-bar-fill:var(--default-foreground)}.progress-bar--accent{--progress-bar-fill:var(--accent)}.progress-bar--success{--progress-bar-fill:var(--success)}.progress-bar--warning{--progress-bar-fill:var(--warning)}.progress-bar--danger{--progress-bar-fill:var(--danger)}.progress-circle{--progress-circle-stroke:var(--accent);--progress-circle-track-stroke:var(--default);justify-content:center;align-items:center;display:inline-flex}.progress-circle .progress-circle__track{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.progress-circle .progress-circle__track-circle{stroke:var(--progress-circle-track-stroke)}.progress-circle .progress-circle__fill-circle{stroke:var(--progress-circle-stroke);transition:stroke-dashoffset .3s var(--ease-out)}.progress-circle .progress-circle__fill-circle:is([data-reduce-motion=true],[data-reduce-motion=true] *),.progress-circle .progress-circle__fill-circle:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.progress-circle .progress-circle__fill-circle:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.progress-circle .progress-circle__fill-circle:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.progress-circle .progress-circle__fill-circle:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.progress-circle .progress-circle__fill-circle:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.progress-circle:not([aria-valuenow]) .progress-circle__track{animation:1s linear infinite progress-circle-spin}.progress-circle:not([aria-valuenow]) .progress-circle__track:is([data-reduce-motion=true],[data-reduce-motion=true] *),.progress-circle:not([aria-valuenow]) .progress-circle__track:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.progress-circle:not([aria-valuenow]) .progress-circle__track:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.progress-circle:not([aria-valuenow]) .progress-circle__track:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.progress-circle:not([aria-valuenow]) .progress-circle__track:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.progress-circle:not([aria-valuenow]) .progress-circle__track:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.progress-circle:disabled,.progress-circle[data-disabled=true],.progress-circle[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}@keyframes progress-circle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-circle--sm .progress-circle__track{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.progress-circle--lg .progress-circle__track{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.progress-circle--default{--progress-circle-stroke:var(--default-foreground)}.progress-circle--accent{--progress-circle-stroke:var(--accent)}.progress-circle--success{--progress-circle-stroke:var(--success)}.progress-circle--warning{--progress-circle-stroke:var(--warning)}.progress-circle--danger{--progress-circle-stroke:var(--danger)}.spinner{pointer-events:none;width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);flex-shrink:0;animation:.75s linear infinite spin;display:inline-flex}.spinner:is([data-reduce-motion=true],[data-reduce-motion=true] *),.spinner:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.spinner:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.spinner:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.spinner:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.spinner:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.spinner--sm{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.spinner--lg{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.spinner--xl{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.spinner--current{color:inherit}.spinner--accent{color:var(--accent)}.spinner--danger{color:var(--danger)}.spinner--success{color:var(--success)}.spinner--warning{color:var(--warning)}.toast-region{pointer-events:none;z-index:var(--z-index-toast);--tw-outline-style:none;outline-style:none;width:calc(100vw - 2rem);position:fixed}@media (width>=40rem){.toast-region{width:auto;min-width:var(--toast-width)}}.toast-region{display:block}.toast-region--bottom{bottom:calc(var(--spacing) * 4);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);left:50%}.toast-region--bottom-start{inset-inline-start:calc(var(--spacing) * 4);bottom:calc(var(--spacing) * 4)}.toast-region--bottom-end{inset-inline-end:calc(var(--spacing) * 4);bottom:calc(var(--spacing) * 4)}.toast-region--top{top:calc(var(--spacing) * 4);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);left:50%}.toast-region--top-start{inset-inline-start:calc(var(--spacing) * 4);top:calc(var(--spacing) * 4)}.toast-region--top-end{inset-inline-end:calc(var(--spacing) * 4);top:calc(var(--spacing) * 4)}.toast-region:focus-visible,.toast-region[data-focus-visible=true]{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--focus)}.toast{border-radius:min(32px, var(--radius-3xl));--toast-y:var(--offset-collapsed,0px);--toast-enter:0%;--toast-scale:var(--scale-collapsed,1);transform:translateY(calc(var(--dir,1) * (var(--toast-y) + var(--toast-enter)))) scale(var(--toast-scale));height:var(--toast-height,auto);pointer-events:auto;justify-content:flex-start;align-items:flex-start;column-gap:calc(var(--spacing) * 1.5);row-gap:calc(var(--spacing) * 2);background-color:var(--surface);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);grid-template-columns:auto minmax(0,1fr);display:grid;position:absolute;inset-inline:0}@media (width>=40rem){.toast{grid-template-columns:auto minmax(0,1fr) auto;row-gap:0}}.toast{--toast-ease:var(--ease-out-fluid);--toast-enter-duration:.35s;--toast-exit-duration:.25s;--toast-translate-duration:var(--toast-enter-duration);--toast-height-duration:var(--toast-enter-duration);--toast-opacity-duration:.15s;transition:transform var(--toast-translate-duration) var(--toast-ease), height var(--toast-height-duration) var(--toast-ease), opacity var(--toast-opacity-duration) var(--toast-ease)}.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *),.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *),.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toast:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toast:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.toast[data-entering=true]{--toast-enter:-100%}.toast--bottom,.toast--bottom-start,.toast--bottom-end{--dir:-1;transform-origin:bottom;bottom:0}:is(.toast--bottom,.toast--bottom-start,.toast--bottom-end)[data-expanded=true]:after{top:calc(-1 * var(--gap,12px) - 1px);bottom:0}.toast--top,.toast--top-start,.toast--top-end{--dir:1;transform-origin:top;top:0}:is(.toast--top,.toast--top-start,.toast--top-end)[data-expanded=true]:after{top:0;bottom:calc(-1 * var(--gap,12px) - 1px)}.toast>:not([data-slot=toast-close]){transition:opacity .2s var(--toast-ease)}.toast>:not([data-slot=toast-close]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.toast>:not([data-slot=toast-close]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toast>:not([data-slot=toast-close]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.toast>:not([data-slot=toast-close]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toast>:not([data-slot=toast-close]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toast>:not([data-slot=toast-close]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.toast:not([data-frontmost=true]):not([data-expanded=true]){--toast-y:var(--offset-collapsed,0px);height:var(--front-height,0px);overflow:hidden}.toast:not([data-frontmost=true]):not([data-expanded=true])>:not([data-slot=toast-close]){opacity:0}.toast:not([data-frontmost=true]):not([data-expanded=true]) .toast__close-button{pointer-events:none;opacity:0;outline:none}.toast[data-expanded=true]{--toast-y:var(--offset-expanded,0px);--toast-scale:1;height:var(--toast-height,auto)}.toast[data-expanded=true]:after{content:"";z-index:-1;position:absolute;inset-inline:0}.toast[data-exiting=true]{opacity:0}.toast[data-exiting=true][data-frontmost=true]{--toast-translate-duration:var(--toast-exit-duration);--toast-opacity-duration:.15s;--toast-enter:-100%;--toast-scale:1}.toast[data-exiting=true][data-expanded=true]:not([data-frontmost=true]){--toast-translate-duration:.2s;--toast-opacity-duration:.15s;--toast-scale:.96}.toast[data-exiting=true]:not([data-expanded=true]):not([data-frontmost=true]){--toast-translate-duration:.2s;--toast-opacity-duration:.15s;--toast-scale:calc(var(--scale-collapsed,1) * .96)}.toast[data-hidden=true]{pointer-events:none;opacity:0;display:grid}.toast:focus-visible,.toast[data-focus-visible=true]{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--focus)}.toast__content{flex-direction:column;grid-row-start:1;grid-column-start:2;align-self:center;align-items:flex-start;min-width:0;display:flex}.toast__indicator{padding:var(--spacing);color:var(--overlay-foreground);-webkit-user-select:none;user-select:none;flex-shrink:0;grid-row-start:1;grid-column-start:1;justify-content:center;align-items:center;display:flex}.toast__indicator [data-slot=toast-default-icon]{box-sizing:content-box;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.toast__indicator [data-slot=spinner],.toast__indicator [data-slot=spinner-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.toast__indicator[data-swapped=true]>:not([data-slot=spinner]){animation:toast-indicator-fade .15s var(--toast-ease), toast-indicator-scale .2s var(--toast-ease)}.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toast__indicator[data-swapped=true]>:not([data-slot=spinner]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.toast__title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--overlay-foreground)}.toast__description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.toast__close-button{pointer-events:none;inset-inline-end:calc(var(--spacing) * -1);top:calc(var(--spacing) * -1);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);border-color:var(--border);background-color:var(--default);opacity:0;position:absolute}@media (width>=40rem){.toast__close-button{border-style:var(--tw-border-style);background-color:var(--overlay);border-width:1px}}.toast__close-button{transition:opacity .15s var(--ease-smooth)}.toast__close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.toast__close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.toast__close-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.toast__close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.toast__close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.toast__close-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.toast__close-button [data-slot=close-button-icon]{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}@media (width>=40rem){.toast__close-button [data-slot=close-button-icon]{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}@media (hover:hover){.toast__close-button:hover,.toast__close-button[data-hovered=true]{background-color:var(--default)}}.toast[data-frontmost=true]:hover .toast__close-button,.toast[data-expanded=true]:hover .toast__close-button,.toast[data-frontmost=true][data-hovered=true] .toast__close-button,.toast[data-expanded=true][data-hovered=true] .toast__close-button{pointer-events:auto;opacity:1}.toast[data-exiting=true] .toast__close-button{pointer-events:none;opacity:0}.toast__action{grid-row-start:2;grid-column-start:2;justify-self:flex-start}@media (width>=40rem){.toast__action{grid-row-start:1;grid-column-start:3}}.toast:not(:has(.toast__indicator)){grid-template-columns:repeat(1,minmax(0,1fr))}@media (width>=40rem){.toast:not(:has(.toast__indicator)){grid-template-columns:minmax(0,1fr) auto}}:is(.toast:not(:has(.toast__indicator)) .toast__content,.toast:not(:has(.toast__indicator)) .toast__action){grid-column-start:1}@media (width>=40rem){.toast:not(:has(.toast__indicator)) .toast__action{grid-column-start:2}}.toast--accent .toast__title{color:var(--accent-soft-foreground)}.toast--success .toast__title,.toast--success .toast__indicator{color:var(--success-soft-foreground)}.toast--warning .toast__title,.toast--warning .toast__indicator{color:var(--warning-soft-foreground)}.toast--danger .toast__title,.toast--danger .toast__indicator{color:var(--danger-soft-foreground)}@keyframes toast-indicator-fade{0%{opacity:0}}@keyframes toast-indicator-scale{0%{scale:.92}}@supports (-webkit-touch-callout:none){.toast-region.toast-region--bottom,.toast-region.toast-region--bottom-start,.toast-region.toast-region--bottom-end{width:0;min-width:0}.toast-region--bottom .toast{width:min(var(--toast-width), calc(100vw - 2rem));--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);inset-inline-end:auto}.toast-region--bottom .toast:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.toast-region--bottom-start .toast,.toast-region--bottom-end .toast{width:min(var(--toast-width), calc(100vw - 2rem))}.toast-region--bottom-start .toast{inset-inline-end:auto}.toast-region--bottom-end .toast{inset-inline-start:auto}.toast-region--bottom:focus-visible,.toast-region--bottom[data-focus-visible=true],.toast-region--bottom-start:focus-visible,.toast-region--bottom-start[data-focus-visible=true],.toast-region--bottom-end:focus-visible,.toast-region--bottom-end[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.toast-region--bottom:focus-visible .toast[data-frontmost=true],.toast-region--bottom[data-focus-visible=true] .toast[data-frontmost=true],.toast-region--bottom-start:focus-visible .toast[data-frontmost=true],.toast-region--bottom-start[data-focus-visible=true] .toast[data-frontmost=true],.toast-region--bottom-end:focus-visible .toast[data-frontmost=true],.toast-region--bottom-end[data-focus-visible=true] .toast[data-frontmost=true]{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--focus)}}.checkbox-group{flex-direction:column;display:flex}.checkbox-group [data-slot=checkbox]{margin-top:calc(var(--spacing) * 4)}.checkbox{align-items:flex-start;gap:var(--spacing);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);outline-style:none;flex-direction:column;display:flex}.checkbox>[data-slot=description],.checkbox>[data-slot=field-error]{cursor:default;width:100%;min-width:0;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));text-wrap:wrap;overflow-wrap:break-word;color:var(--muted);-webkit-user-select:none;user-select:none;padding-inline-start:calc(var(--spacing) * 7)}.checkbox [data-slot=label]{-webkit-user-select:none;user-select:none}.checkbox .checkbox__content [data-slot=label]{cursor:var(--cursor-interactive)}.checkbox[data-disabled=true],.checkbox[data-disabled=true] [data-slot=description],.checkbox[data-disabled=true] [data-slot=field-error]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.checkbox[data-selected=true],.checkbox[data-indeterminate=true]) .checkbox__indicator{border-color:var(--accent-foreground)}.checkbox [data-slot=checkbox-default-indicator--checkmark]{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5);stroke-width:2.5px;color:var(--accent-foreground);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.checkbox [data-slot=checkbox-default-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *),.checkbox [data-slot=checkbox-default-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.checkbox [data-slot=checkbox-default-indicator--checkmark]:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.checkbox [data-slot=checkbox-default-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.checkbox [data-slot=checkbox-default-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.checkbox [data-slot=checkbox-default-indicator--checkmark]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.checkbox[data-selected=true] [data-slot=checkbox-default-indicator--checkmark]{transition:stroke-dashoffset .15s linear 15ms}.checkbox[data-invalid=true][data-selected=true] [data-slot=checkbox-default-indicator--checkmark],.checkbox[data-invalid=true][aria-checked=true] [data-slot=checkbox-default-indicator--checkmark],.checkbox[aria-invalid=true][data-selected=true] [data-slot=checkbox-default-indicator--checkmark],.checkbox[aria-invalid=true][aria-checked=true] [data-slot=checkbox-default-indicator--checkmark]{color:var(--danger-foreground)}.checkbox[data-indeterminate=true] [data-slot=checkbox-default-indicator--indeterminate]{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);position:absolute}.checkbox[data-indeterminate=true][data-invalid=true] [data-slot=checkbox-default-indicator--indeterminate],.checkbox[data-indeterminate=true][aria-invalid=true] [data-slot=checkbox-default-indicator--indeterminate]{color:var(--danger-foreground)}.checkbox__control{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * .75);border-style:var(--tw-border-style);border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border,var(--border));background-color:var(--field-background,var(--default));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out), transform .1s var(--ease-out);outline-style:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.checkbox__control:is([data-reduce-motion=true],[data-reduce-motion=true] *),.checkbox__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.checkbox__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.checkbox__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.checkbox__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.checkbox__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.checkbox__control{cursor:var(--cursor-interactive)}.checkbox__control:before{pointer-events:none;z-index:0;transform-origin:50%;--tw-scale-x:70%;--tw-scale-y:70%;--tw-scale-z:70%;scale:var(--tw-scale-x) var(--tw-scale-y);border-radius:calc(var(--radius) * .75);background-color:var(--accent);opacity:0;--tw-content:"";content:var(--tw-content);transition:scale .1s var(--ease-linear), opacity .2s var(--ease-linear), background-color .2s var(--ease-out);position:absolute;inset:0}.checkbox__control:before:is(){transition-property:none}@media (prefers-reduced-motion:reduce){.checkbox__control:before:not(:is()){transition-property:none}}.checkbox:focus-visible .checkbox__control,.checkbox [data-slot=checkbox-content][data-focus-visible=true] .checkbox__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.checkbox:has([data-slot=checkbox-content][data-focus-visible=true]) .checkbox__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.checkbox:hover .checkbox__control,.checkbox [data-slot=checkbox-content][data-hovered=true] .checkbox__control{border-color:var(--field-border-hover)}.checkbox:has([data-slot=checkbox-content][data-hovered=true]) .checkbox__control{border-color:var(--field-border-hover)}:is(.checkbox:hover .checkbox__control,.checkbox:has([data-slot=checkbox-content][data-hovered=true]) .checkbox__control,.checkbox [data-slot=checkbox-content][data-hovered=true] .checkbox__control):before{background-color:var(--accent-hover)}.checkbox[aria-checked=true] .checkbox__control,.checkbox[data-selected=true] .checkbox__control{color:var(--accent-foreground);border-color:#0000}:is(.checkbox[aria-checked=true] .checkbox__control,.checkbox[data-selected=true] .checkbox__control):before{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.checkbox[data-indeterminate=true] .checkbox__control{background-color:var(--accent);color:var(--accent-foreground)}.checkbox:active[data-indeterminate=true] .checkbox__control,.checkbox[data-pressed=true][data-indeterminate=true] .checkbox__control{background-color:var(--accent-hover)}.checkbox:has([data-slot=checkbox-content][data-pressed=true])[data-indeterminate=true] .checkbox__control{background-color:var(--accent-hover)}.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control):focus,:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control):focus-visible,:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control)[data-focused=true],:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control)[data-focus-visible=true],:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control):focus-within,:is(.checkbox[data-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control,.checkbox[aria-invalid=true]:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control)[data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.checkbox[data-invalid=true][aria-checked=true] .checkbox__control,.checkbox[data-invalid=true][data-selected=true] .checkbox__control,.checkbox[aria-invalid=true][aria-checked=true] .checkbox__control,.checkbox[aria-invalid=true][data-selected=true] .checkbox__control{background-color:var(--danger);color:var(--danger-foreground);border-color:#0000}:is(.checkbox[data-invalid=true][aria-checked=true] .checkbox__control,.checkbox[data-invalid=true][data-selected=true] .checkbox__control,.checkbox[aria-invalid=true][aria-checked=true] .checkbox__control,.checkbox[aria-invalid=true][data-selected=true] .checkbox__control):before{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);background-color:var(--danger);opacity:1}.checkbox[data-indeterminate=true][aria-invalid=true] .checkbox__control,.checkbox[data-indeterminate=true][data-invalid=true] .checkbox__control{background-color:var(--danger);color:var(--danger-foreground)}.checkbox__indicator{z-index:10;width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);justify-content:center;align-items:center;display:flex;position:relative}.checkbox__indicator svg{width:100%;height:100%;transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.checkbox--secondary .checkbox__control{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--checkbox-control-bg);--checkbox-control-bg:var(--default)}.checkbox:hover :is(.checkbox--secondary .checkbox__control),.checkbox [data-slot=checkbox-content][data-hovered=true] :is(.checkbox--secondary .checkbox__control){border-color:var(--field-border-hover)}.checkbox:has([data-slot=checkbox-content][data-hovered=true]) :is(.checkbox--secondary .checkbox__control){border-color:var(--field-border-hover)}.checkbox__content{cursor:inherit;align-items:center;gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}.checkbox--secondary:not([aria-checked=true]):not([data-selected=true]):not([data-indeterminate=true]) .checkbox__control{background-color:var(--checkbox-control-bg)}:is(.checkbox--secondary[aria-checked=true] .checkbox__control,.checkbox--secondary[data-selected=true] .checkbox__control):before,.checkbox--secondary[data-indeterminate=true] .checkbox__control,.checkbox--secondary[data-indeterminate=true] .checkbox__control:before{background-color:var(--accent)}.fieldset{gap:calc(var(--spacing) * 6);flex-direction:column;flex:1 1 0;display:flex}.fieldset__legend{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.fieldset__field-group{width:100%}:where(.fieldset__field-group>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.fieldset__actions{align-items:center;gap:calc(var(--spacing) * 2);padding-top:var(--spacing);display:flex}.input-otp{align-items:center;gap:calc(var(--spacing) * 2);width:100%;display:flex;position:relative}.input-otp[data-disabled=true]{cursor:not-allowed;opacity:.5}.input-otp__group{align-items:center;gap:calc(var(--spacing) * 2);min-width:0;display:flex}.input-otp__slot{height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 9.5);border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));min-width:0;color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:var(--field-radius,calc(var(--radius) * 1.5));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);outline-style:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.input-otp__slot:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input-otp__slot:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input-otp__slot:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.input-otp__slot:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input-otp__slot:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input-otp__slot:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.input-otp__slot:hover,.input-otp__slot[data-hovered=true]{background-color:var(--field-hover);border-color:var(--field-border-hover)}}.input-otp__slot[data-active=true]{z-index:10;background-color:var(--field-focus);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.input-otp__slot[data-filled=true]{background-color:var(--field-focus)}.input-otp__slot[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.input-otp__slot[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.input-otp__slot[data-invalid=true]:focus,.input-otp__slot[data-invalid=true]:focus-visible,.input-otp__slot[data-invalid=true][data-focused=true],.input-otp__slot[data-invalid=true][data-focus-visible=true],.input-otp__slot[data-invalid=true]:focus-within,.input-otp__slot[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.input-otp__slot[data-invalid=true]{background-color:var(--field-focus)}.input-otp__slot-value{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-tracking:-.27px;letter-spacing:-.27px;animation:slot-value-in .25s var(--ease-smooth) both;transform-origin:bottom}.input-otp__slot-value:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input-otp__slot-value:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input-otp__slot-value:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.input-otp__slot-value:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input-otp__slot-value:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input-otp__slot-value:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.input-otp__caret{height:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * .5);background-color:var(--field-placeholder,var(--muted));width:2px;animation:1.2s ease-out infinite caret-blink;position:absolute}.input-otp__separator{border-radius:calc(var(--radius) * .5);background-color:var(--separator);flex-shrink:0;width:6px;height:2px}.input-otp--secondary .input-otp__slot{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--input-otp-slot-bg);--input-otp-slot-bg:var(--default);--input-otp-slot-bg-hover:var(--default-hover);--input-otp-slot-bg-focus:var(--default)}@media (hover:hover){.input-otp--secondary .input-otp__slot:hover,.input-otp--secondary .input-otp__slot[data-hovered=true]{background-color:var(--input-otp-slot-bg-hover)}}.input-otp--secondary .input-otp__slot[data-active=true],.input-otp--secondary .input-otp__slot[data-filled=true]{background-color:var(--input-otp-slot-bg-focus)}@keyframes slot-value-in{0%{opacity:0;transform:translateY(8px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.input{border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;outline-style:none}.input::placeholder{color:var(--field-placeholder,var(--muted))}@media (width>=40rem){.input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.input{border-width:var(--border-width-field);border-color:var(--field-border);--input-bg:var(--color-field);--input-bg-hover:var(--color-field-hover);--input-bg-focus:var(--field-focus);--input-autofill-shadow:0 0 0 1000px var(--input-bg) inset, var(--tw-inset-shadow,0 0 #0000), var(--tw-inset-ring-shadow,0 0 #0000), var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow,0 0 #0000);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out)}.input:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.input:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.input:hover:not(:focus):not(:focus-visible),.input[data-hovered=true]:not([data-focused=true]):not([data-focus-visible=true]){background-color:var(--field-hover);--input-bg:var(--input-bg-hover);border-color:var(--field-border-hover)}}.input:focus,.input[data-focused=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;border-color:var(--field-border-focus);--input-bg:var(--input-bg-focus);background-color:var(--input-bg);outline-style:none}.input[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.input[data-invalid=true]:focus,.input[data-invalid=true]:focus-visible,.input[data-invalid=true][data-focused=true],.input[data-invalid=true][data-focus-visible=true],.input[data-invalid=true]:focus-within,.input[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.input[data-invalid=true]{--input-bg:var(--input-bg-focus);background-color:var(--input-bg)}.input:disabled,.input[data-disabled=true],.input[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.input:-webkit-autofill{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:-webkit-autofill{transition:background-color 9999s ease-in-out}}.input:-webkit-autofill:hover{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.input:-webkit-autofill:focus{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.input:-webkit-autofill:active{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.input:autofill{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:autofill{transition:background-color 9999s ease-in-out}}.input:autofill:hover{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:autofill:hover{transition:background-color 9999s ease-in-out}}.input:autofill:focus{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:autofill:focus{transition:background-color 9999s ease-in-out}}.input:autofill:active{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.input:autofill:active{transition:background-color 9999s ease-in-out}}.input--secondary{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--input-bg);--input-bg:var(--default);--input-bg-hover:var(--default-hover);--input-bg-focus:var(--default)}@media (hover:hover){.input--secondary:hover:not(:focus):not(:focus-visible),.input--secondary[data-hovered=true]:not([data-focus-visible=true]):not([data-focused=true]){--input-bg:var(--input-bg-hover);background-color:var(--input-bg)}}.input--secondary:focus,.input--secondary[data-focused=true]{--input-bg:var(--input-bg-focus);background-color:var(--input-bg)}.input--secondary[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.input--secondary[data-invalid=true]:focus,.input--secondary[data-invalid=true]:focus-visible,.input--secondary[data-invalid=true][data-focused=true],.input--secondary[data-invalid=true][data-focus-visible=true],.input--secondary[data-invalid=true]:focus-within,.input--secondary[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.input--secondary[data-invalid=true]{--input-bg:var(--input-bg-focus);background-color:var(--input-bg)}.input--full-width{width:100%}.input-group{min-height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);--input-group-bg:var(--color-field);--input-group-bg-hover:var(--color-field-hover);--input-group-bg-focus:var(--field-focus);outline-style:none;align-items:center;display:inline-flex}.input-group:has([data-slot=input-group-textarea]){align-items:flex-start;height:auto}.input-group{transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out)}.input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.input-group:hover:not(:focus-within),.input-group[data-hovered=true]:not([data-focus-within=true]){background-color:var(--field-hover);--input-group-bg:var(--input-group-bg-hover);border-color:var(--field-border-hover)}}:is(.input-group:has([data-slot=input-group-input]:focus),.input-group:has([data-slot=input-group-textarea]:focus)){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;border-color:var(--field-border-focus);--input-group-bg:var(--input-group-bg-focus);background-color:var(--input-group-bg);outline-style:none}.input-group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.input-group[data-invalid=true]:focus,.input-group[data-invalid=true]:focus-visible,.input-group[data-invalid=true][data-focused=true],.input-group[data-invalid=true][data-focus-visible=true],.input-group[data-invalid=true]:focus-within,.input-group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.input-group[data-invalid=true]{--input-group-bg:var(--input-group-bg-focus);background-color:var(--input-group-bg);border-color:var(--color-field-border-invalid)}.input-group[data-disabled=true],.input-group[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.input-group__input{border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none;flex:1}.input-group__input::placeholder{color:var(--field-placeholder,var(--muted))}@media (width>=40rem){.input-group__input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.input-group:has([data-slot=input-group-prefix]) .input-group__input{border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:0}.input-group:has([data-slot=input-group-suffix]) .input-group__input{border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:0}.input-group__input:focus,.input-group__input:focus-visible{--tw-outline-style:none;outline-style:none}.input-group__input:-webkit-autofill{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:-webkit-autofill{transition:background-color 9999s ease-in-out}}.input-group__input:-webkit-autofill:hover{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.input-group__input:-webkit-autofill:focus{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.input-group__input:-webkit-autofill:active{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.input-group__input:autofill{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:autofill{transition:background-color 9999s ease-in-out}}.input-group__input:autofill:hover{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:autofill:hover{transition:background-color 9999s ease-in-out}}.input-group__input:autofill:focus{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:autofill:focus{transition:background-color 9999s ease-in-out}}.input-group__input:autofill:active{appearance:none;clip-path:inset(0 round var(--radius-field));-webkit-box-shadow:0 0 0 1000px var(--input-group-bg) inset;box-shadow:0 0 0 1000px var(--input-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group__input:autofill:active{transition:background-color 9999s ease-in-out}}.input-group__input[data-slot=input-group-textarea]{resize:vertical;min-height:38px}.input-group__prefix{height:100%;padding-inline:calc(var(--spacing) * 3);color:var(--field-placeholder,var(--muted));border-width:var(--border-width-field);border-color:var(--field-border);border-style:solid;border-inline-end-color:var(--field-border);border-inline-start:none;background-color:#0000;border-top:none;border-bottom:none;border-start-start-radius:var(--field-radius,calc(var(--radius) * 1.5));border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--field-radius,calc(var(--radius) * 1.5));justify-content:center;align-items:center;display:flex}.input-group:has([data-slot=input-group-textarea]) .input-group__prefix{align-items:flex-start;padding-top:.5rem}.input-group__prefix{transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth)}.input-group__prefix:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input-group__prefix:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input-group__prefix:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.input-group__prefix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input-group__prefix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input-group__prefix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.input-group__suffix{height:100%;padding-inline:calc(var(--spacing) * 3);color:var(--field-placeholder,var(--muted));border-width:var(--border-width-field);border-color:var(--field-border);border-style:solid;border-inline-start-color:var(--field-border);border-inline-end:none;background-color:#0000;border-top:none;border-bottom:none;border-start-start-radius:0;border-start-end-radius:var(--field-radius,calc(var(--radius) * 1.5));border-end-end-radius:var(--field-radius,calc(var(--radius) * 1.5));border-end-start-radius:0;justify-content:center;align-items:center;display:flex}.input-group:has([data-slot=input-group-textarea]) .input-group__suffix{align-items:flex-start;padding-top:.5rem}.input-group__suffix{transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth)}.input-group__suffix:is([data-reduce-motion=true],[data-reduce-motion=true] *),.input-group__suffix:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.input-group__suffix:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.input-group__suffix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.input-group__suffix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.input-group__suffix:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.input-group--secondary{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--input-group-bg);--input-group-bg:var(--default);--input-group-bg-hover:var(--default-hover);--input-group-bg-focus:var(--default)}@media (hover:hover){.input-group--secondary:hover:not(:focus-within),.input-group--secondary[data-hovered=true]:not([data-focus-within=true]){--input-group-bg:var(--input-group-bg-hover);background-color:var(--input-group-bg)}}:is(.input-group--secondary:has([data-slot=input-group-input]:focus),.input-group--secondary:has([data-slot=input-group-textarea]:focus)){--input-group-bg:var(--input-group-bg-focus);background-color:var(--input-group-bg)}.input-group--secondary[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.input-group--secondary[data-invalid=true]:focus,.input-group--secondary[data-invalid=true]:focus-visible,.input-group--secondary[data-invalid=true][data-focused=true],.input-group--secondary[data-invalid=true][data-focus-visible=true],.input-group--secondary[data-invalid=true]:focus-within,.input-group--secondary[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.input-group--secondary[data-invalid=true]{border-color:var(--color-field-border-invalid);--input-group-bg:var(--input-group-bg-focus);background-color:var(--input-group-bg)}.input-group--secondary [data-slot=input-group-input],.input-group--secondary [data-slot=input-group-textarea]{background-color:#0000}.input-group--full-width{width:100%}.number-field{gap:var(--spacing);flex-direction:column;display:flex}:is(.number-field[data-invalid=true],.number-field[aria-invalid=true]) [data-slot=description]{display:none}.number-field [data-slot=label]{width:fit-content}.number-field__group{height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);--number-field-group-bg:var(--color-field);--number-field-group-bg-hover:var(--color-field-hover);--number-field-group-bg-focus:var(--field-focus);outline-style:none;grid-template-columns:1fr;align-items:center;display:grid;overflow:hidden}.number-field__group:has([slot=decrement]){grid-template-columns:40px 1fr}.number-field__group:has([slot=increment]){grid-template-columns:1fr 40px}.number-field__group:has([slot=decrement]):has([slot=increment]){grid-template-columns:40px 1fr 40px}.number-field__group{transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out)}.number-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *),.number-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.number-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.number-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.number-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.number-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.number-field__group:hover:not(:focus-within),.number-field__group[data-hovered=true]:not([data-focus-within=true]){background-color:var(--field-hover);--number-field-group-bg:var(--number-field-group-bg-hover);border-color:var(--field-border-hover)}}.number-field__group[data-focus-within=true],.number-field__group:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;border-color:var(--field-border-focus);--number-field-group-bg:var(--number-field-group-bg-focus);background-color:var(--number-field-group-bg);outline-style:none}.number-field__group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.number-field__group[data-invalid=true]:focus,.number-field__group[data-invalid=true]:focus-visible,.number-field__group[data-invalid=true][data-focused=true],.number-field__group[data-invalid=true][data-focus-visible=true],.number-field__group[data-invalid=true]:focus-within,.number-field__group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.number-field__group[data-invalid=true]{--number-field-group-bg:var(--number-field-group-bg-focus);background-color:var(--number-field-group-bg);border-color:var(--color-field-border-invalid)}.number-field__group[data-disabled=true],.number-field__group[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.number-field__input{border-style:var(--tw-border-style);min-width:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;background-color:#0000;border-width:0;border-radius:0;outline-style:none}@media (width>=40rem){.number-field__input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.number-field__group:has([slot=decrement]) .number-field__input{border-start-start-radius:0;border-end-start-radius:0}.number-field__group:has([slot=increment]) .number-field__input{border-start-end-radius:0;border-end-end-radius:0}.number-field__input:focus,.number-field__input:focus-visible{--tw-outline-style:none;outline-style:none}.number-field__input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:-webkit-autofill{transition:background-color 9999s ease-in-out}}.number-field__input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.number-field__input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.number-field__input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.number-field__input:autofill{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:autofill{transition:background-color 9999s ease-in-out}}.number-field__input:autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:autofill:hover{transition:background-color 9999s ease-in-out}}.number-field__input:autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:autofill:focus{transition:background-color 9999s ease-in-out}}.number-field__input:autofill:active{-webkit-box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;box-shadow:0 0 0 1000px var(--number-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.number-field__input:autofill:active{transition:background-color 9999s ease-in-out}}.number-field__increment-button,.number-field__decrement-button{height:100%;width:calc(var(--spacing) * 10);color:var(--field-foreground,var(--foreground));--tw-outline-style:none;border-width:var(--border-width-field);border-color:var(--field-border);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth);background-color:#0000;border-style:solid;border-radius:0;outline-style:none;justify-content:center;align-items:center;display:flex}:is(.number-field__increment-button,.number-field__decrement-button):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.number-field__increment-button,.number-field__decrement-button):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.number-field__increment-button,.number-field__decrement-button):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.number-field__increment-button,.number-field__decrement-button):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.number-field__increment-button,.number-field__decrement-button):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.number-field__increment-button,.number-field__decrement-button):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.number-field__increment-button,.number-field__decrement-button{cursor:var(--cursor-interactive)}:is(.number-field__increment-button,.number-field__decrement-button):active,:is(.number-field__increment-button,.number-field__decrement-button)[data-pressed=true]{background-color:var(--field-foreground,var(--foreground))}@supports (color:color-mix(in lab, red, red)){:is(.number-field__increment-button,.number-field__decrement-button):active,:is(.number-field__increment-button,.number-field__decrement-button)[data-pressed=true]{background-color:color-mix(in oklab, var(--field-foreground,var(--foreground)) 10%, transparent)}}:is(.number-field__increment-button,.number-field__decrement-button):active,:is(.number-field__increment-button,.number-field__decrement-button)[data-pressed=true]{transform:scale(.97)}:is(.number-field__increment-button,.number-field__decrement-button):disabled,:is(.number-field__increment-button,.number-field__decrement-button)[data-disabled=true],:is(.number-field__increment-button,.number-field__decrement-button)[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}:is(.number-field__increment-button,.number-field__decrement-button) [data-slot=number-field-increment-button-icon],:is(.number-field__increment-button,.number-field__decrement-button) [data-slot=number-field-decrement-button-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.number-field__increment-button{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--field-placeholder,var(--muted));border-start-start-radius:0;border-start-end-radius:var(--field-radius,calc(var(--radius) * 1.5));border-end-end-radius:var(--field-radius,calc(var(--radius) * 1.5));border-end-start-radius:0}@supports (color:color-mix(in lab, red, red)){.number-field__increment-button{border-color:color-mix(in oklab, var(--field-placeholder,var(--muted)) 15%, transparent)}}.number-field__decrement-button{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:var(--field-placeholder,var(--muted));border-start-start-radius:var(--field-radius,calc(var(--radius) * 1.5));border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--field-radius,calc(var(--radius) * 1.5))}@supports (color:color-mix(in lab, red, red)){.number-field__decrement-button{border-color:color-mix(in oklab, var(--field-placeholder,var(--muted)) 15%, transparent)}}.number-field--secondary .number-field__group{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--number-field-group-bg);--number-field-group-bg:var(--default);--number-field-group-bg-hover:var(--default-hover);--number-field-group-bg-focus:var(--default)}@media (hover:hover){.number-field--secondary .number-field__group:hover:not(:focus-within),.number-field--secondary .number-field__group[data-hovered=true]:not([data-focus-within=true]){--number-field-group-bg:var(--number-field-group-bg-hover);background-color:var(--number-field-group-bg)}}.number-field--secondary .number-field__group:focus-within,.number-field--secondary .number-field__group[data-focus-within=true]{--number-field-group-bg:var(--number-field-group-bg-focus);background-color:var(--number-field-group-bg)}.number-field--secondary .number-field__group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.number-field--secondary .number-field__group[data-invalid=true]:focus,.number-field--secondary .number-field__group[data-invalid=true]:focus-visible,.number-field--secondary .number-field__group[data-invalid=true][data-focused=true],.number-field--secondary .number-field__group[data-invalid=true][data-focus-visible=true],.number-field--secondary .number-field__group[data-invalid=true]:focus-within,.number-field--secondary .number-field__group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.number-field--secondary .number-field__group[data-invalid=true]{border-color:var(--color-field-border-invalid);--number-field-group-bg:var(--number-field-group-bg-focus);background-color:var(--number-field-group-bg)}.number-field--secondary .number-field__group [data-slot=number-field-input]{background-color:#0000}.number-field--full-width,.number-field__group--full-width{width:100%}.radio-group{flex-direction:column;display:flex}.radio-group[data-orientation=vertical] [data-slot=radio]{margin-top:calc(var(--spacing) * 4)}.radio-group[data-orientation=horizontal]{gap:calc(var(--spacing) * 4);flex-flow:wrap}.radio-group--secondary .radio__control{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--radio-control-bg);--radio-control-bg:var(--default);--radio-control-bg-hover:var(--default-hover)}.radio [data-slot=radio-content][data-hovered=true] :is(.radio-group--secondary .radio__control){border-color:var(--field-border-hover)}.radio:has([data-slot=radio-content][data-hovered=true]) :is(.radio-group--secondary .radio__control){border-color:var(--field-border-hover)}.radio:not([data-selected]):not(:has(input:checked)) :is(.radio-group--secondary .radio__control) .radio__indicator:empty:before{background-color:var(--radio-control-bg)}.radio:has([data-slot=radio-content][data-hovered=true]):not([data-selected]):not(:has(input:checked)) :is(.radio-group--secondary .radio__control) .radio__indicator:empty:before{background-color:var(--radio-control-bg-hover)}.radio{align-items:flex-start;gap:var(--spacing);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);outline-style:none;flex-direction:column;display:flex}.radio [data-slot=label]{-webkit-user-select:none;user-select:none}.radio .radio__content [data-slot=label]{cursor:var(--cursor-interactive)}.radio>[data-slot=description],.radio>[data-slot=field-error]{cursor:default;width:100%;min-width:0;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));text-wrap:wrap;overflow-wrap:break-word;color:var(--muted);-webkit-user-select:none;user-select:none;padding-inline-start:calc(var(--spacing) * 7)}.radio:disabled,.radio[data-disabled=true],.radio[aria-disabled=true],:is(.radio:disabled,.radio[data-disabled=true],.radio[aria-disabled=true]) [data-slot=description],:is(.radio:disabled,.radio[data-disabled=true],.radio[aria-disabled=true]) [data-slot=field-error]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.radio__content{cursor:inherit;align-items:center;gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}.radio__control{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1);border-style:var(--tw-border-style);border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border,var(--border));background-color:var(--field-background,var(--default));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out), transform .1s var(--ease-out);outline-style:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.radio__control:is([data-reduce-motion=true],[data-reduce-motion=true] *),.radio__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.radio__control:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.radio__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.radio__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.radio__control:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.radio__control{cursor:var(--cursor-interactive)}.radio [data-slot=radio-content]:focus-visible .radio__control,.radio [data-slot=radio-content][data-focus-visible=true] .radio__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.radio:has([data-slot=radio-content]:focus-visible) .radio__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.radio:has([data-slot=radio-content][data-focus-visible=true]) .radio__control{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}@media (hover:hover){.radio [data-slot=radio-content]:hover .radio__control,.radio [data-slot=radio-content][data-hovered=true] .radio__control{border-color:var(--field-border-hover)}.radio:has([data-slot=radio-content]:hover) .radio__control{border-color:var(--field-border-hover)}.radio:has([data-slot=radio-content][data-hovered=true]) .radio__control{border-color:var(--field-border-hover)}:is(.radio:has([data-slot=radio-content]:hover):not([data-selected]):not(:has(input:checked)) .radio__control,.radio:has([data-slot=radio-content][data-hovered=true]):not([data-selected]):not(:has(input:checked)) .radio__control) .radio__indicator:empty:before{background-color:var(--field-hover)}}.radio [data-slot=radio-content]:active .radio__control,.radio [data-slot=radio-content][data-pressed=true] .radio__control{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.radio:has([data-slot=radio-content]:active) .radio__control{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.radio:has([data-slot=radio-content][data-pressed=true]) .radio__control{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.radio[data-selected] .radio__control{background-color:var(--accent);border-color:#0000}.radio:has([data-slot=radio-content][aria-checked=true]) .radio__control{background-color:var(--accent);border-color:#0000}.radio:has(input:checked) .radio__control{background-color:var(--accent);border-color:#0000}.radio[data-selected]:has([data-slot=radio-content]:active) .radio__control{background-color:var(--accent-hover)}.radio:has(input:checked):has([data-slot=radio-content]:active) .radio__control{background-color:var(--accent-hover)}.radio[data-selected]:has([data-slot=radio-content][data-pressed=true]) .radio__control{background-color:var(--accent-hover)}.radio:has([data-slot=radio-content][data-pressed=true][aria-checked=true]) .radio__control{background-color:var(--accent-hover)}.radio:has(input:checked):has([data-slot=radio-content][data-pressed=true]) .radio__control{background-color:var(--accent-hover)}.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control):focus,:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control):focus-visible,:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control)[data-focused=true],:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control)[data-focus-visible=true],:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control):focus-within,:is(.radio[data-invalid=true] .radio__control,.radio[aria-invalid=true] .radio__control)[data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.radio[data-invalid=true]:has(input:checked) .radio__control{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.radio[aria-invalid=true]:has(input:checked) .radio__control{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control):focus,:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control):focus-visible,:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control)[data-focused=true],:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control)[data-focus-visible=true],:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control):focus-within,:is(.radio[data-invalid=true][data-selected] .radio__control,.radio[aria-invalid=true][data-selected] .radio__control,.radio[data-invalid=true]:has(input:checked) .radio__control,.radio[aria-invalid=true]:has(input:checked) .radio__control)[data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.radio__indicator{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.radio__indicator:empty:before{content:"";border-radius:calc(var(--radius) * 1);background-color:var(--field-background,var(--default));width:100%;height:100%;transition:scale .2s var(--ease-out), background-color .2s var(--ease-out);scale:1}.radio__indicator:empty:before:is(){transition-property:none}@media (prefers-reduced-motion:reduce){.radio__indicator:empty:before:not(:is()){transition-property:none}}.radio[data-selected] .radio__indicator:empty:before{background-color:var(--accent-foreground);scale:.4286}.radio:has([data-slot=radio-content][aria-checked=true]) .radio__indicator:empty:before{background-color:var(--accent-foreground);scale:.4286}.radio:has(input:checked) .radio__indicator:empty:before{background-color:var(--accent-foreground);scale:.4286}.radio[data-selected]:has([data-slot=radio-content]:active) .radio__indicator:empty:before{scale:.5714}.radio:has(input:checked):has([data-slot=radio-content]:active) .radio__indicator:empty:before{scale:.5714}.radio[data-selected]:has([data-slot=radio-content][data-pressed=true]) .radio__indicator:empty:before{scale:.5714}.radio:has([data-slot=radio-content][data-pressed=true][aria-checked=true]) .radio__indicator:empty:before{scale:.5714}.radio:has(input:checked):has([data-slot=radio-content][data-pressed=true]) .radio__indicator:empty:before{scale:.5714}.textfield{gap:var(--spacing);flex-direction:column;display:flex}:is(.textfield[data-invalid=true],.textfield[aria-invalid=true]) [data-slot=description]{display:none}.textfield--full-width,.textfield--full-width [data-slot=input],.textfield--full-width [data-slot=textarea]{width:100%}.search-field{gap:var(--spacing);flex-direction:column;display:flex}:is(.search-field[data-invalid=true],.search-field[aria-invalid=true]) [data-slot=description]{display:none}.search-field [data-slot=label]{width:fit-content}.search-field[data-empty=true] [data-slot=search-field-clear-button]{pointer-events:none;opacity:0}.search-field__group{height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);--search-field-group-bg:var(--color-field);--search-field-group-bg-hover:var(--color-field-hover);--search-field-group-bg-focus:var(--field-focus);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);outline-style:none;align-items:center;display:inline-flex;position:relative;overflow:hidden}.search-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *),.search-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.search-field__group:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.search-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.search-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.search-field__group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.search-field__group:hover:not(:focus-within),.search-field__group[data-hovered=true]:not([data-focus-within=true]){background-color:var(--field-hover);--search-field-group-bg:var(--search-field-group-bg-hover);border-color:var(--field-border-hover)}}.search-field__group[data-focus-within=true],.search-field__group:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.search-field__group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.search-field__group[data-invalid=true]:focus,.search-field__group[data-invalid=true]:focus-visible,.search-field__group[data-invalid=true][data-focused=true],.search-field__group[data-invalid=true][data-focus-visible=true],.search-field__group[data-invalid=true]:focus-within,.search-field__group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.search-field__group[data-invalid=true]{--search-field-group-bg:var(--search-field-group-bg-focus);background-color:var(--search-field-group-bg);border-color:var(--color-field-border-invalid)}.search-field__group[data-disabled=true],.search-field__group[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.search-field__input{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;background-color:#0000;border-width:0;border-radius:0;outline-style:none;flex:1}@media (width>=40rem){.search-field__input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.search-field__input::-webkit-search-cancel-button{appearance:none}.search-field__input::-webkit-search-decoration{appearance:none}.search-field__group:has([data-slot=search-field-search-icon]) .search-field__input{border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:calc(var(--spacing) * 2)}.search-field__group:has([slot=clear]) .search-field__input{border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:calc(var(--spacing) * 2)}.search-field__input:focus,.search-field__input:focus-visible{--tw-outline-style:none;outline-style:none}.search-field__input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:-webkit-autofill{transition:background-color 9999s ease-in-out}}.search-field__input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.search-field__input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.search-field__input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.search-field__input:autofill{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:autofill{transition:background-color 9999s ease-in-out}}.search-field__input:autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:autofill:hover{transition:background-color 9999s ease-in-out}}.search-field__input:autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:autofill:focus{transition:background-color 9999s ease-in-out}}.search-field__input:autofill:active{-webkit-box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;box-shadow:0 0 0 1000px var(--search-field-group-bg) inset;-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out}@media (prefers-reduced-motion:reduce){.search-field__input:autofill:active{transition:background-color 9999s ease-in-out}}.search-field__search-icon{pointer-events:none;color:var(--field-placeholder,var(--muted));width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);flex-shrink:0;margin-inline-start:calc(var(--spacing) * 3);margin-inline-end:0}.search-field__clear-button{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);flex-shrink:0;margin-inline-end:calc(var(--spacing) * 2)}.search-field__clear-button [data-slot=close-button-icon]{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.search-field--secondary .search-field__group{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--search-field-group-bg);--search-field-group-bg:var(--default);--search-field-group-bg-hover:var(--default-hover);--search-field-group-bg-focus:var(--default)}@media (hover:hover){.search-field--secondary .search-field__group:hover:not(:focus-within),.search-field--secondary .search-field__group[data-hovered=true]:not([data-focus-within=true]){--search-field-group-bg:var(--search-field-group-bg-hover);background-color:var(--search-field-group-bg)}}.search-field--secondary .search-field__group:focus-within,.search-field--secondary .search-field__group[data-focus-within=true]{--search-field-group-bg:var(--search-field-group-bg-focus);background-color:var(--search-field-group-bg)}.search-field--secondary .search-field__group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.search-field--secondary .search-field__group[data-invalid=true]:focus,.search-field--secondary .search-field__group[data-invalid=true]:focus-visible,.search-field--secondary .search-field__group[data-invalid=true][data-focused=true],.search-field--secondary .search-field__group[data-invalid=true][data-focus-visible=true],.search-field--secondary .search-field__group[data-invalid=true]:focus-within,.search-field--secondary .search-field__group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.search-field--secondary .search-field__group[data-invalid=true]{border-color:var(--color-field-border-invalid);--search-field-group-bg:var(--search-field-group-bg-focus);background-color:var(--search-field-group-bg)}.search-field--secondary .search-field__group [data-slot=search-field-input]{background-color:#0000}.search-field--full-width,.search-field__group--full-width{width:100%}.textarea{border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;outline-style:none}.textarea::placeholder{color:var(--field-placeholder,var(--muted))}@media (width>=40rem){.textarea{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.textarea{border-width:var(--border-width-field);border-color:var(--field-border);--textarea-bg:var(--color-field);--textarea-bg-hover:var(--color-field-hover);--textarea-bg-focus:var(--field-focus);--textarea-autofill-shadow:0 0 0 1000px var(--textarea-bg) inset, var(--tw-inset-shadow,0 0 #0000), var(--tw-inset-ring-shadow,0 0 #0000), var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow,0 0 #0000);min-height:38px;transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out)}.textarea:is([data-reduce-motion=true],[data-reduce-motion=true] *),.textarea:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.textarea:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.textarea:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.textarea:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.textarea:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.textarea:hover:not(:focus):not(:focus-visible),.textarea[data-hovered=true]:not([data-focused=true]):not([data-focus-visible=true]){background-color:var(--field-hover);--textarea-bg:var(--textarea-bg-hover);border-color:var(--field-border-hover)}}.textarea:focus,.textarea[data-focused=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;border-color:var(--field-border-focus);--textarea-bg:var(--textarea-bg-focus);background-color:var(--textarea-bg);outline-style:none}.textarea[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.textarea[data-invalid=true]:focus,.textarea[data-invalid=true]:focus-visible,.textarea[data-invalid=true][data-focused=true],.textarea[data-invalid=true][data-focus-visible=true],.textarea[data-invalid=true]:focus-within,.textarea[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.textarea[data-invalid=true]{--textarea-bg:var(--textarea-bg-focus);background-color:var(--textarea-bg)}.textarea:disabled,.textarea[data-disabled=true],.textarea[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.textarea:-webkit-autofill{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:-webkit-autofill{transition:background-color 9999s ease-in-out}}.textarea:-webkit-autofill:hover{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.textarea:-webkit-autofill:focus{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.textarea:-webkit-autofill:active{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.textarea:autofill{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:autofill{transition:background-color 9999s ease-in-out}}.textarea:autofill:hover{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:autofill:hover{transition:background-color 9999s ease-in-out}}.textarea:autofill:focus{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:autofill:focus{transition:background-color 9999s ease-in-out}}.textarea:autofill:active{background-color:var(--textarea-bg);box-shadow:var(--textarea-autofill-shadow);-webkit-box-shadow:var(--textarea-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.textarea:autofill:active{transition:background-color 9999s ease-in-out}}.textarea--secondary{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--textarea-bg);--textarea-bg:var(--default);--textarea-bg-hover:var(--default-hover);--textarea-bg-focus:var(--default)}@media (hover:hover){.textarea--secondary:hover:not(:focus):not(:focus-visible),.textarea--secondary[data-hovered=true]:not([data-focused=true]):not([data-focus-visible=true]){--textarea-bg:var(--textarea-bg-hover);background-color:var(--textarea-bg)}}.textarea--secondary:focus,.textarea--secondary[data-focused=true]{--textarea-bg:var(--textarea-bg-focus);background-color:var(--textarea-bg)}.textarea--secondary[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.textarea--secondary[data-invalid=true]:focus,.textarea--secondary[data-invalid=true]:focus-visible,.textarea--secondary[data-invalid=true][data-focused=true],.textarea--secondary[data-invalid=true][data-focus-visible=true],.textarea--secondary[data-invalid=true]:focus-within,.textarea--secondary[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.textarea--secondary[data-invalid=true]{--textarea-bg:var(--textarea-bg-focus);background-color:var(--textarea-bg)}.textarea--full-width{width:100%}.calendar{width:calc(var(--spacing) * 63);max-width:calc(var(--spacing) * 63);container-type:inline-size}.calendar--week-view .calendar__cell,.calendar--day-view .calendar__cell{aspect-ratio:1;place-self:center;width:100%;height:auto}.calendar--day-view .calendar__grid{flex-direction:column;display:flex}.calendar--day-view .calendar__grid-header{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.calendar--day-view .calendar__grid-header>tr{display:contents}.calendar--day-view .calendar__grid-body{margin-top:var(--spacing);grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.calendar--day-view .calendar__grid-body>tr{display:contents}.calendar--day-view .calendar__grid-body>tr:first-child>td{margin-top:0}.calendar__header{padding-inline:calc(var(--spacing) * .5);padding-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.calendar__header:has(.calendar-year-picker__trigger[data-open=true]) .calendar__nav-button{pointer-events:none;opacity:0}.calendar__heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);flex:1}.calendar__nav-button{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);border-radius:calc(var(--radius) * 2);color:var(--accent-soft-foreground);will-change:scale;transition:transform .25s var(--ease-out), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out), opacity .15s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);justify-content:center;align-items:center;display:flex}.calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar__nav-button{cursor:var(--cursor-interactive)}@media (hover:hover){.calendar__nav-button:hover,.calendar__nav-button[data-hovered=true]{background-color:var(--default);color:var(--accent-soft-foreground)}}.calendar__nav-button:active,.calendar__nav-button[data-pressed=true]{transform:scale(.95)}.calendar__nav-button:focus-visible,.calendar__nav-button[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.calendar__nav-button:disabled,.calendar__nav-button[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.calendar__nav-button-icon{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.calendar__nav-button-icon:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.calendar__grid[aria-readonly=true] .calendar__cell{pointer-events:none}.calendar__grid-header,.calendar__grid-header>tr,.calendar__grid-body,.calendar__grid-body>tr{display:contents}.calendar__grid-body>tr:first-child>td{margin-top:var(--spacing)}.calendar__grid-row{display:contents}.calendar__header-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-bottom:calc(var(--spacing) * 2);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted);display:block;overflow:hidden}.calendar__cell{aspect-ratio:1;border-radius:calc(var(--radius) * 3);text-align:center;width:100%;height:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;will-change:scale;transition:transform .25s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);outline-style:none;justify-content:center;align-items:center;display:flex;position:relative}.calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar__cell{cursor:var(--cursor-interactive)}.calendar__cell:focus-visible:not([data-focused]),.calendar__cell[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.calendar__cell[data-today=true]{background-color:var(--accent-soft);color:var(--accent-soft-foreground)}@media (hover:hover){.calendar__cell[data-today=true]:hover:not([data-selected=true]),.calendar__cell[data-today=true][data-hovered=true]:not([data-selected=true]){background-color:var(--accent-soft-hover)}}.calendar__cell[data-selected=true]{background-color:var(--accent);color:var(--accent-foreground)}.calendar__cell:active,.calendar__cell[data-pressed=true]{background-color:var(--default);transform:scale(.95)}:is(.calendar__cell:active,.calendar__cell[data-pressed=true])[data-selected=true]{background-color:var(--accent-hover)}@media (hover:hover){.calendar__cell:hover:not([data-selected=true]),.calendar__cell[data-hovered=true]:not([data-selected=true]){background-color:var(--default)}}.calendar__cell[data-outside-month=true]{color:var(--muted);opacity:.5}.calendar__cell[data-selected=true][data-outside-month=true]{background-color:var(--default)}.calendar__cell[data-unavailable=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.calendar__cell:disabled:not([data-outside-month=true]),.calendar__cell[data-disabled=true]:not([data-outside-month=true]){opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none;text-decoration:line-through}.calendar__cell-indicator{bottom:var(--spacing);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:3px;height:3px;translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:calc(var(--radius) * .25);background-color:var(--muted);position:absolute;left:50%}[data-selected=true]>.calendar__cell-indicator{background-color:var(--accent-foreground)}.range-calendar{width:calc(var(--spacing) * 63);max-width:calc(var(--spacing) * 63);container-type:inline-size}.range-calendar--week-view .range-calendar__cell,.range-calendar--day-view .range-calendar__cell{aspect-ratio:1;place-self:center;width:100%;height:auto}.range-calendar--day-view .range-calendar__grid{flex-direction:column;display:flex}.range-calendar--day-view .range-calendar__grid-header{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.range-calendar--day-view .range-calendar__grid-header>tr{display:contents}.range-calendar--day-view .range-calendar__grid-body{margin-top:var(--spacing);grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.range-calendar--day-view .range-calendar__grid-body>tr{display:contents}.range-calendar--day-view .range-calendar__grid-body>tr:first-child>td{margin-top:0}.range-calendar__header{padding-inline:calc(var(--spacing) * .5);padding-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.range-calendar__header:has(.calendar-year-picker__trigger[data-open=true]) .range-calendar__nav-button{pointer-events:none;opacity:0}.range-calendar__heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);flex:1}.range-calendar__nav-button{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);border-radius:calc(var(--radius) * 1.5);color:var(--accent-soft-foreground);will-change:scale;transition:transform .25s var(--ease-out), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out), opacity .15s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);justify-content:center;align-items:center;display:flex}.range-calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.range-calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.range-calendar__nav-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.range-calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.range-calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.range-calendar__nav-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.range-calendar__nav-button{cursor:var(--cursor-interactive)}@media (hover:hover){.range-calendar__nav-button:hover,.range-calendar__nav-button[data-hovered=true]{background-color:var(--default);color:var(--accent-soft-foreground)}}.range-calendar__nav-button:active,.range-calendar__nav-button[data-pressed=true]{transform:scale(.95)}.range-calendar__nav-button:focus-visible,.range-calendar__nav-button[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.range-calendar__nav-button:disabled,.range-calendar__nav-button[data-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.range-calendar__nav-button-icon{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.range-calendar__nav-button-icon:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}.range-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.range-calendar__grid[aria-readonly=true] .range-calendar__cell{pointer-events:none}.range-calendar__grid-header,.range-calendar__grid-header>tr,.range-calendar__grid-body,.range-calendar__grid-body>tr{display:contents}.range-calendar__grid-body>tr:first-child>td{margin-top:var(--spacing)}.range-calendar__grid-row{display:contents}.range-calendar__header-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-bottom:calc(var(--spacing) * 2);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted);display:block;overflow:hidden}.range-calendar__cell{z-index:1;border-radius:calc(var(--radius) * 3);--tw-outline-style:none;cursor:var(--cursor-interactive);will-change:background-color, border-color;transition:box-shadow .1s var(--ease-out), border-color .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);outline-style:none;margin-block:2px;margin-inline:0;padding:0;position:relative}.range-calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *),.range-calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.range-calendar__cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.range-calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.range-calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.range-calendar__cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.range-calendar__cell .range-calendar__cell-button{aspect-ratio:1;border-radius:calc(var(--radius) * 3);width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);-webkit-tap-highlight-color:transparent;will-change:scale;transition:scale .2s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);justify-content:center;align-items:center;display:flex}.range-calendar__cell .range-calendar__cell-button:is([data-reduce-motion=true],[data-reduce-motion=true] *),.range-calendar__cell .range-calendar__cell-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.range-calendar__cell .range-calendar__cell-button:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.range-calendar__cell .range-calendar__cell-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.range-calendar__cell .range-calendar__cell-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.range-calendar__cell .range-calendar__cell-button:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.range-calendar__cell:focus-visible:not([data-focused]),.range-calendar__cell[data-focus-visible=true]{z-index:2}:is(.range-calendar__cell:focus-visible:not([data-focused]),.range-calendar__cell[data-focus-visible=true]) .range-calendar__cell-button{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.range-calendar__cell[data-today=true] .range-calendar__cell-button{background-color:var(--accent-soft);color:var(--accent-soft-foreground)}@media (hover:hover){:is(.range-calendar__cell[data-today=true]:hover:not([data-selected=true]),.range-calendar__cell[data-today=true][data-hovered=true]:not([data-selected=true])) .range-calendar__cell-button{background-color:var(--accent-soft-hover)}}.range-calendar__cell[data-selected=true]:not([data-outside-month=true]){background-color:var(--accent-soft);border-radius:0}.range-calendar__cell[data-selected=true]:is(td:first-child>*,[aria-disabled]+td>*){border-start-start-radius:calc(var(--radius) * 1);border-end-start-radius:calc(var(--radius) * 1)}.range-calendar__cell[data-selected=true]:is(td:first-child>*,[aria-disabled]+td>*)[data-selection-start=true]{border-start-start-radius:calc(var(--radius) * 3);border-end-start-radius:calc(var(--radius) * 3)}.range-calendar__cell[data-selected=true]:is(td:last-child>*,td:has(+[aria-disabled])>*){border-start-end-radius:calc(var(--radius) * 1);border-end-end-radius:calc(var(--radius) * 1)}.range-calendar__cell[data-selected=true]:is(td:last-child>*,td:has(+[aria-disabled])>*)[data-selection-end=true]{border-start-end-radius:calc(var(--radius) * 3);border-end-end-radius:calc(var(--radius) * 3)}.range-calendar__cell[data-selection-start=true]:not([data-outside-month=true]),.range-calendar__cell[data-selection-end=true]:not([data-outside-month=true]){z-index:2}:is(.range-calendar__cell[data-selection-start=true]:not([data-outside-month=true]),.range-calendar__cell[data-selection-end=true]:not([data-outside-month=true])) .range-calendar__cell-button{background-color:var(--accent);color:var(--accent-foreground)}.range-calendar__cell[data-selection-start=true]:not([data-outside-month=true]){border-start-start-radius:calc(var(--radius) * 3);border-end-start-radius:calc(var(--radius) * 3)}.range-calendar__cell[data-selection-end=true]:not([data-outside-month=true]){border-start-end-radius:calc(var(--radius) * 3);border-end-end-radius:calc(var(--radius) * 3)}:is(.range-calendar__cell:active,.range-calendar__cell[data-pressed=true]) .range-calendar__cell-button{scale:.9}:is(:is(.range-calendar__cell:active,.range-calendar__cell[data-pressed=true])[data-selection-start=true],:is(.range-calendar__cell:active,.range-calendar__cell[data-pressed=true])[data-selection-end=true]) .range-calendar__cell-button{background-color:var(--accent-hover)}@media (hover:hover){:is(.range-calendar__cell:hover:not([data-selected=true]),.range-calendar__cell[data-hovered=true]:not([data-selected=true])) .range-calendar__cell-button{background-color:var(--default)}}.range-calendar__cell[data-outside-month=true]{color:var(--muted);opacity:.5}.range-calendar__cell[data-selected=true][data-outside-month=true]:not([data-selection-start=true],[data-selection-end=true]){background-color:var(--default)}@supports (color:color-mix(in lab, red, red)){.range-calendar__cell[data-selected=true][data-outside-month=true]:not([data-selection-start=true],[data-selection-end=true]){background-color:color-mix(in oklab, var(--default) 20%, transparent)}}.range-calendar__cell[data-unavailable=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.range-calendar__cell:disabled:not([data-outside-month=true]),.range-calendar__cell[data-disabled=true]:not([data-outside-month=true]){opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none;text-decoration:line-through}.range-calendar__grid-body td:has(>.range-calendar__cell[data-outside-month=true])+td>.range-calendar__cell[data-selected=true]{border-start-start-radius:calc(var(--radius) * 1);border-end-start-radius:calc(var(--radius) * 1)}:is(.range-calendar__grid-body td:has(>.range-calendar__cell[data-outside-month=true])+td>.range-calendar__cell[data-selected=true][data-outside-month=true],.range-calendar__grid-body td:has(>.range-calendar__cell[data-outside-month=true])+td>.range-calendar__cell[data-selected=true][data-selection-start=true]){border-start-start-radius:calc(var(--radius) * 3);border-end-start-radius:calc(var(--radius) * 3)}.range-calendar__grid-body td:has(>.range-calendar__cell[data-selected=true]):has(+td>.range-calendar__cell[data-outside-month=true])>.range-calendar__cell[data-selected=true]{border-start-end-radius:calc(var(--radius) * 1);border-end-end-radius:calc(var(--radius) * 1)}:is(.range-calendar__grid-body td:has(>.range-calendar__cell[data-selected=true]):has(+td>.range-calendar__cell[data-outside-month=true])>.range-calendar__cell[data-selected=true][data-outside-month=true],.range-calendar__grid-body td:has(>.range-calendar__cell[data-selected=true]):has(+td>.range-calendar__cell[data-outside-month=true])>.range-calendar__cell[data-selected=true][data-selection-end=true]){border-start-end-radius:calc(var(--radius) * 3);border-end-end-radius:calc(var(--radius) * 3)}.range-calendar__cell-indicator{bottom:var(--spacing);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:3px;height:3px;translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:calc(var(--radius) * .25);background-color:var(--muted);position:absolute;left:50%}[data-selected=true]>.range-calendar__cell-indicator{background-color:var(--accent-foreground)}:is(.calendar:has(.calendar-year-picker__year-grid),.range-calendar:has(.calendar-year-picker__year-grid)){position:relative}:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]){will-change:opacity;transition:opacity .15s var(--ease-out), visibility 0s linear}:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.calendar:has(.calendar-year-picker__year-grid)>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid)>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]){pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s var(--ease-out), visibility 0s linear .15s}:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=calendar-grid],.range-calendar:has(.calendar-year-picker__year-grid[data-open=true])>[data-slot=range-calendar-grid]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar-year-picker__trigger{justify-content:flex-start;align-items:center;gap:var(--spacing);border-radius:calc(var(--radius) * 1);--tw-outline-style:none;cursor:var(--cursor-interactive);touch-action:manipulation;outline-style:none;flex:1;display:flex}.calendar-year-picker__trigger:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.calendar-year-picker__trigger-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition:color .15s var(--ease-out)}.calendar-year-picker__trigger-heading:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar-year-picker__trigger-heading:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar-year-picker__trigger-heading:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar-year-picker__trigger-heading:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar-year-picker__trigger-heading:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar-year-picker__trigger-heading:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar-year-picker__trigger-indicator{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--accent-soft-foreground)}.calendar-year-picker__trigger-indicator:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){transform:rotate(180deg)}.calendar-year-picker__trigger-indicator{transition:transform .15s var(--ease-out)}.calendar-year-picker__trigger-indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar-year-picker__trigger-indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar-year-picker__trigger-indicator:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar-year-picker__trigger-indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar-year-picker__trigger-indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar-year-picker__trigger-indicator:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar-year-picker__trigger[data-open=true] .calendar-year-picker__trigger-indicator{transform:rotate(90deg)}.calendar-year-picker__trigger[data-open=true] .calendar-year-picker__trigger-heading{color:var(--accent-soft-foreground)}.calendar-year-picker__year-grid{pointer-events:none;scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);align-content:flex-start;gap:var(--spacing);padding:var(--spacing);opacity:0;will-change:opacity;grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset-inline-start:calc(var(--spacing) * 0);inset-inline-end:calc(var(--spacing) * 0);overflow-y:auto}.calendar-year-picker__year-grid[data-open=true]{pointer-events:auto;opacity:1;transition:opacity .2s var(--ease-out) 50ms}.calendar-year-picker__year-grid[data-open=true]:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar-year-picker__year-grid[data-open=true]:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar-year-picker__year-grid[data-open=true]:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar-year-picker__year-grid[data-open=true]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar-year-picker__year-grid[data-open=true]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar-year-picker__year-grid[data-open=true]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar-year-picker__year-cell{height:calc(var(--spacing) * 8);border-radius:calc(var(--radius) * 3);padding-inline:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .1s var(--ease-smooth), scale .1s var(--ease-smooth), opacity .1s var(--ease-smooth), background-color .1s var(--ease-smooth), box-shadow .1s var(--ease-out);transform-origin:50%;transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);outline-style:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.calendar-year-picker__year-cell:is([data-reduce-motion=true],[data-reduce-motion=true] *),.calendar-year-picker__year-cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.calendar-year-picker__year-cell:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.calendar-year-picker__year-cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.calendar-year-picker__year-cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.calendar-year-picker__year-cell:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.calendar-year-picker__year-cell{cursor:var(--cursor-interactive)}@media (hover:hover) and (pointer:fine){.calendar-year-picker__year-cell:is(:hover,[data-hovered=true]):not([data-selected=true]){background-color:var(--default);color:var(--default-foreground)}}.calendar-year-picker__year-cell[data-selected=true],.calendar-year-picker__year-cell[aria-selected=true]{background-color:var(--accent);color:var(--accent-foreground)}@media (hover:hover) and (pointer:fine){:is(.calendar-year-picker__year-cell[data-selected=true],.calendar-year-picker__year-cell[aria-selected=true]):is(:hover,[data-hovered=true]){background-color:var(--accent-hover)}}.calendar-year-picker__year-cell:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.date-field{gap:var(--spacing);flex-direction:column;display:flex}:is(.date-field[data-invalid=true],.date-field[aria-invalid=true]) [data-slot=description]{display:none}.date-field [data-slot=label]{width:fit-content}.date-field--full-width{width:100%}.time-field{gap:var(--spacing);flex-direction:column;display:flex}:is(.time-field[data-invalid=true],.time-field[aria-invalid=true]) [data-slot=description]{display:none}.time-field [data-slot=label]{width:fit-content}.time-field--full-width{width:100%}.date-input-group{height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-width:1px;border-width:var(--border-width-field);border-color:var(--field-border);transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);outline-style:none;align-items:center;display:inline-flex;overflow:hidden}.date-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *),.date-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.date-input-group:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.date-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.date-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.date-input-group:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}@media (hover:hover){.date-input-group:hover:not(:focus-within),.date-input-group[data-hovered=true]:not([data-focus-within=true]){background-color:var(--field-hover);border-color:var(--field-border-hover)}}:is(.date-input-group[data-focus-within=true]:not(:has([data-slot=date-picker-trigger]:focus,[data-slot=date-picker-trigger][data-focused=true],[data-slot=date-range-picker-trigger]:focus,[data-slot=date-range-picker-trigger][data-focused=true])),.date-input-group:focus-within:not(:has([data-slot=date-picker-trigger]:focus,[data-slot=date-picker-trigger][data-focused=true],[data-slot=date-range-picker-trigger]:focus,[data-slot=date-range-picker-trigger][data-focused=true]))){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.date-input-group[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.date-input-group[data-invalid=true]:focus,.date-input-group[data-invalid=true]:focus-visible,.date-input-group[data-invalid=true][data-focused=true],.date-input-group[data-invalid=true][data-focus-visible=true],.date-input-group[data-invalid=true]:focus-within,.date-input-group[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.date-input-group[data-invalid=true]{background-color:var(--field-focus);border-color:var(--color-field-border-invalid)}.date-input-group[data-disabled=true],.date-input-group[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.date-input-group__input{cursor:text;border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;background-color:#0000;border-width:0;border-radius:0;outline-style:none;flex:1;align-items:center;gap:1px;display:flex}@media (width>=40rem){.date-input-group__input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.date-input-group:has([data-slot=date-input-group-prefix]) .date-input-group__input{border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:calc(var(--spacing) * 2)}.date-input-group:has([data-slot=date-input-group-suffix]) .date-input-group__input{border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:calc(var(--spacing) * 2)}.date-input-group:has(.date-range-picker__range-separator) .date-input-group__input[slot=start]{flex:none;padding-inline-end:0}.date-input-group:has(.date-range-picker__range-separator) .date-input-group__input[slot=end]{padding-inline-start:0}.date-input-group__input:focus,.date-input-group__input:focus-visible{--tw-outline-style:none;outline-style:none}.date-input-group__input-container{scrollbar-color:auto;scrollbar-gutter:auto;-ms-overflow-style:none;scrollbar-width:none;flex:1;align-items:center;width:fit-content;display:flex;overflow:auto clip}.date-input-group__segment{border-radius:calc(var(--radius) * .75);padding-inline:calc(var(--spacing) * .5);text-align:end;text-wrap:nowrap;--tw-outline-style:none;outline-style:none;display:inline-block}.date-input-group__segment[data-type=literal]{color:var(--muted);padding:0}.date-input-group__segment[data-placeholder=true]{color:var(--field-placeholder,var(--muted))}.date-input-group__segment:focus,.date-input-group__segment[data-focused=true]{background-color:var(--accent-soft);color:var(--accent-soft-foreground)}.date-input-group__segment[data-disabled=true]{opacity:.5}.date-input-group__segment[data-invalid=true]{color:var(--danger)}.date-input-group__segment[data-invalid=true]:focus,.date-input-group__segment[data-invalid=true][data-focused=true]{background-color:var(--danger-soft);color:var(--danger-soft-foreground)}.date-input-group__prefix{pointer-events:none;color:var(--field-placeholder,var(--muted));flex-shrink:0;align-items:center;margin-inline-start:calc(var(--spacing) * 3);margin-inline-end:0;display:flex}.date-input-group__suffix{pointer-events:none;color:var(--field-placeholder,var(--muted));flex-shrink:0;align-items:center;margin-inline-end:calc(var(--spacing) * 3);display:flex}.date-input-group--secondary{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--date-input-group-bg);--date-input-group-bg:var(--default);--date-input-group-bg-hover:var(--default-hover);--date-input-group-bg-focus:var(--default)}@media (hover:hover){.date-input-group--secondary:hover:not(:focus-within),.date-input-group--secondary[data-hovered=true]:not([data-focus-within=true]){background-color:var(--date-input-group-bg-hover)}}.date-input-group--secondary:focus-within,.date-input-group--secondary[data-focus-within=true]{background-color:var(--date-input-group-bg-focus)}.date-input-group--secondary[data-invalid=true]{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}.date-input-group--secondary[data-invalid=true]:focus,.date-input-group--secondary[data-invalid=true]:focus-visible,.date-input-group--secondary[data-invalid=true][data-focused=true],.date-input-group--secondary[data-invalid=true][data-focus-visible=true],.date-input-group--secondary[data-invalid=true]:focus-within,.date-input-group--secondary[data-invalid=true][data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.date-input-group--secondary[data-invalid=true]{border-color:var(--color-field-border-invalid);background-color:var(--date-input-group-bg-focus)}.date-input-group--secondary [data-slot=date-input-group-input]{background-color:#0000}.date-input-group--full-width{width:100%}.date-picker{gap:var(--spacing);flex-direction:column;display:inline-flex}.date-picker .date-input-group__suffix,.date-picker .date-input-group__prefix{pointer-events:auto}.date-picker__trigger{border-radius:var(--field-radius,calc(var(--radius) * 1.5));width:100%;padding:var(--spacing);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);transition:box-shadow .15s var(--ease-out);align-items:center;display:inline-flex}.date-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.date-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.date-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.date-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.date-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.date-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.date-picker__trigger:focus-visible:not([data-focused]),.date-picker__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.date-picker__trigger:disabled,.date-picker__trigger[data-disabled=true],.date-picker__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.date-picker__trigger-indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:var(--field-placeholder,var(--muted));justify-content:center;align-items:center;display:inline-flex}.date-picker__popover{width:fit-content;transform-origin:var(--trigger-anchor-point);scrollbar-color:auto;scrollbar-gutter:auto;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior:contain;background-color:var(--overlay);padding:calc(var(--spacing) * 3);overflow-y:auto}.date-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *),.date-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.date-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.date-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.date-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.date-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.date-picker__popover{box-shadow:var(--overlay-shadow);border-radius:min(32px, calc(var(--radius) * 2.5))}.date-picker__popover:focus-visible:not([data-focused]),.date-picker__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.date-picker__popover[data-entering=true]{animation:heroui-overlay-enter-95 .15s var(--ease-smooth)}.date-picker__popover[data-entering=true][data-placement^=top]{animation-name:heroui-overlay-enter-95-y}.date-picker__popover[data-entering=true][data-placement^=bottom]{animation-name:heroui-overlay-enter-95-ny}.date-picker__popover[data-entering=true][data-placement^=left]{animation-name:heroui-overlay-enter-95-x}.date-picker__popover[data-entering=true][data-placement^=right]{animation-name:heroui-overlay-enter-95-nx}.date-picker__popover[data-exiting=true],.date-picker__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.date-picker__popover .calendar__nav-button-icon,.date-picker__popover .range-calendar__nav-button-icon{rotate:0deg}.date-range-picker{gap:var(--spacing);flex-direction:column;display:inline-flex}.date-range-picker .date-input-group__suffix,.date-range-picker .date-input-group__prefix{pointer-events:auto}.date-range-picker__trigger{border-radius:var(--field-radius,calc(var(--radius) * 1.5));width:100%;padding:var(--spacing);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);transition:box-shadow .15s var(--ease-out);align-items:center;display:inline-flex}.date-range-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.date-range-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.date-range-picker__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.date-range-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.date-range-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.date-range-picker__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.date-range-picker__trigger:focus-visible:not([data-focused]),.date-range-picker__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.date-range-picker__trigger:disabled,.date-range-picker__trigger[data-disabled=true],.date-range-picker__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.date-range-picker__trigger-indicator{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:var(--field-placeholder,var(--muted));justify-content:center;align-items:center;display:inline-flex}.date-range-picker__range-separator{padding-inline:var(--spacing);color:var(--field-placeholder,var(--muted));-webkit-user-select:none;user-select:none}.date-range-picker__popover{width:fit-content;transform-origin:var(--trigger-anchor-point);scrollbar-color:auto;scrollbar-gutter:auto;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior:contain;background-color:var(--overlay);padding:calc(var(--spacing) * 3);overflow-y:auto}.date-range-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *),.date-range-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.date-range-picker__popover:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.date-range-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.date-range-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.date-range-picker__popover:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.date-range-picker__popover{box-shadow:var(--overlay-shadow);border-radius:min(32px, calc(var(--radius) * 2.5))}.date-range-picker__popover:focus-visible:not([data-focused]),.date-range-picker__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.date-range-picker__popover[data-entering=true]{animation:heroui-overlay-enter-95 .15s var(--ease-smooth)}.date-range-picker__popover[data-entering=true][data-placement^=top]{animation-name:heroui-overlay-enter-95-y}.date-range-picker__popover[data-entering=true][data-placement^=bottom]{animation-name:heroui-overlay-enter-95-ny}.date-range-picker__popover[data-entering=true][data-placement^=left]{animation-name:heroui-overlay-enter-95-x}.date-range-picker__popover[data-entering=true][data-placement^=right]{animation-name:heroui-overlay-enter-95-nx}.date-range-picker__popover[data-exiting=true],.date-range-picker__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.date-range-picker__popover .range-calendar__nav-button-icon,.date-range-picker__popover .calendar__nav-button-icon{rotate:0deg}.card{gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4);--tw-shadow:var(--surface-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:min(32px, var(--radius-3xl));flex-direction:column;display:flex;position:relative;overflow:visible}.card__header{flex-direction:column;display:flex}.card__title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.card__description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--muted)}.card__content{gap:var(--spacing);flex-direction:column;flex:1;display:flex}.card__footer{flex-direction:row;align-items:center;display:flex}.card--transparent{--tw-border-style:none;--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#0000;border-style:none}.card--default{background-color:var(--surface)}.card--secondary{background-color:var(--surface-secondary)}.card--tertiary{background-color:var(--surface-tertiary)}.header{width:100%;padding-inline:calc(var(--spacing) * 2);padding-top:calc(var(--spacing) * 1.5);padding-bottom:var(--spacing);text-align:start;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted)}.separator{border-radius:calc(var(--radius) * .5);border-top-style:var(--tw-border-style);border-top-width:0;border-bottom-style:var(--tw-border-style);background-color:var(--separator);border-bottom-width:0;flex-shrink:0;width:100%;height:1px}.separator--horizontal{width:100%;height:1px}.separator--vertical{height:auto;min-height:calc(var(--spacing) * 2);align-self:stretch;width:1px}.separator--default{background-color:var(--separator)}.separator--secondary{background-color:var(--separator-secondary)}.separator--tertiary{background-color:var(--separator-tertiary)}.surface{color:var(--foreground);position:relative}.surface--transparent{background-color:#0000}.surface--default{background-color:var(--surface);color:var(--surface-foreground)}.surface--secondary{background-color:var(--surface-secondary);color:var(--surface-secondary-foreground)}.surface--tertiary{background-color:var(--surface-tertiary);color:var(--surface-tertiary-foreground)}.avatar{--avatar-size:2.5rem;--avatar-radius:calc(var(--radius) * 3);width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);background-color:var(--default);border-radius:var(--avatar-radius);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar__fallback{background-color:var(--default);width:100%;height:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);justify-content:center;align-items:center;display:flex}.avatar__image{aspect-ratio:1;width:100%;height:100%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;transition-duration:.25s;position:absolute;inset:0}.avatar__image:is([data-reduce-motion=true],[data-reduce-motion=true] *),.avatar__image:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.avatar__image:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.avatar__image:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.avatar__image:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.avatar__image:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.avatar--sm{--avatar-size:2rem;--avatar-radius:calc(var(--radius) * 2);width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.avatar--sm .avatar__fallback{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.avatar--lg{--avatar-size:3rem;width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.avatar--lg .avatar__fallback{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.avatar__fallback--accent{color:var(--accent-soft-foreground)}.avatar__fallback--default{color:var(--default-soft-foreground)}.avatar__fallback--success{color:var(--success-soft-foreground)}.avatar__fallback--warning{color:var(--warning-soft-foreground)}.avatar__fallback--danger{color:var(--danger-soft-foreground)}.avatar--soft{background-color:#0000}.avatar--soft .avatar__fallback--accent{background-color:var(--accent-soft);color:var(--accent-soft-foreground)}.avatar--soft .avatar__fallback--success{background-color:var(--success-soft);color:var(--success-soft-foreground)}.avatar--soft .avatar__fallback--warning{background-color:var(--warning-soft);color:var(--warning-soft-foreground)}.avatar--soft .avatar__fallback--default{background-color:var(--default-soft);color:var(--default-soft-foreground)}.avatar--soft .avatar__fallback--danger{background-color:var(--danger-soft);color:var(--danger-soft-foreground)}.avatar-group{--avatar-group-overlap:.5rem;--avatar-group-seam:2px;align-items:center;display:inline-flex}.avatar-group--grid{gap:calc(var(--spacing) * 3);flex-wrap:wrap}.avatar-group:not(.avatar-group--grid)>.avatar+.avatar,.avatar-group:not(.avatar-group--grid)>.avatar+.avatar-group__count{margin-inline-start:calc(-1 * var(--avatar-group-overlap,.5rem))}.avatar-group__count{flex-shrink:0}.avatar-group--ring:not(.avatar-group--grid)>.avatar,.avatar-group--ring:not(.avatar-group--grid)>.avatar-group__count{box-shadow:0 0 0 var(--avatar-group-seam,2px) var(--background);position:relative}.avatar-group--clip:not(.avatar-group--grid)>.avatar:not(:last-child){--avatar-group-cut-size:calc(var(--avatar-size,2.5rem) + 2 * var(--avatar-group-seam,2px));--avatar-group-cut-radius:calc(min(var(--avatar-radius,calc(var(--avatar-size,2.5rem) / 2)), calc(var(--avatar-size,2.5rem) / 2)) + var(--avatar-group-seam,2px));--avatar-group-cut-diameter:calc(2 * var(--avatar-group-cut-radius));--avatar-group-cut-span:calc(var(--avatar-group-cut-size) - var(--avatar-group-cut-diameter));--avatar-group-cut-x:calc(var(--avatar-size,2.5rem) - var(--avatar-group-overlap,.5rem) - var(--avatar-group-seam,2px));--avatar-group-cut-y:calc(-1 * var(--avatar-group-seam,2px));--avatar-group-cut-x2:calc(var(--avatar-group-cut-x) + var(--avatar-group-cut-span));--avatar-group-cut-y2:calc(var(--avatar-group-cut-y) + var(--avatar-group-cut-span));--avatar-group-cut-fill:linear-gradient(#000 0 0);--avatar-group-cut-arc:radial-gradient(circle closest-side, #000 99%, #0000);-webkit-mask:var(--avatar-group-cut-fill) 0 0 / 100% 100% no-repeat exclude, var(--avatar-group-cut-fill) calc(var(--avatar-group-cut-x) + var(--avatar-group-cut-radius)) var(--avatar-group-cut-y) / var(--avatar-group-cut-span) var(--avatar-group-cut-size) no-repeat add, var(--avatar-group-cut-fill) var(--avatar-group-cut-x) calc(var(--avatar-group-cut-y) + var(--avatar-group-cut-radius)) / var(--avatar-group-cut-size) var(--avatar-group-cut-span) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add;-webkit-mask:var(--avatar-group-cut-fill) 0 0 / 100% 100% no-repeat exclude, var(--avatar-group-cut-fill) calc(var(--avatar-group-cut-x) + var(--avatar-group-cut-radius)) var(--avatar-group-cut-y) / var(--avatar-group-cut-span) var(--avatar-group-cut-size) no-repeat add, var(--avatar-group-cut-fill) var(--avatar-group-cut-x) calc(var(--avatar-group-cut-y) + var(--avatar-group-cut-radius)) / var(--avatar-group-cut-size) var(--avatar-group-cut-span) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add;-webkit-mask:var(--avatar-group-cut-fill) 0 0 / 100% 100% no-repeat exclude, var(--avatar-group-cut-fill) calc(var(--avatar-group-cut-x) + var(--avatar-group-cut-radius)) var(--avatar-group-cut-y) / var(--avatar-group-cut-span) var(--avatar-group-cut-size) no-repeat add, var(--avatar-group-cut-fill) var(--avatar-group-cut-x) calc(var(--avatar-group-cut-y) + var(--avatar-group-cut-radius)) / var(--avatar-group-cut-size) var(--avatar-group-cut-span) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add;mask:var(--avatar-group-cut-fill) 0 0 / 100% 100% no-repeat exclude, var(--avatar-group-cut-fill) calc(var(--avatar-group-cut-x) + var(--avatar-group-cut-radius)) var(--avatar-group-cut-y) / var(--avatar-group-cut-span) var(--avatar-group-cut-size) no-repeat add, var(--avatar-group-cut-fill) var(--avatar-group-cut-x) calc(var(--avatar-group-cut-y) + var(--avatar-group-cut-radius)) / var(--avatar-group-cut-size) var(--avatar-group-cut-span) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add, var(--avatar-group-cut-arc) var(--avatar-group-cut-x2) var(--avatar-group-cut-y2) / var(--avatar-group-cut-diameter) var(--avatar-group-cut-diameter) no-repeat add}:is(.avatar-group--clip:not(.avatar-group--grid):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))>.avatar:not(:last-child),:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .avatar-group--clip:not(.avatar-group--grid)>.avatar:not(:last-child)){--avatar-group-cut-x:calc(var(--avatar-group-overlap,.5rem) - var(--avatar-size,2.5rem) - var(--avatar-group-seam,2px))}.avatar-group--clip:not(.avatar-group--grid)>.avatar:not(:last-child) .avatar__fallback{box-sizing:border-box;padding-inline-end:calc(var(--avatar-group-overlap,.5rem) * .35)}.alert-dialog__trigger{cursor:var(--cursor-interactive);transition:transform .25s var(--ease-out-quart), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-block}.alert-dialog__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.alert-dialog__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.alert-dialog__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.alert-dialog__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.alert-dialog__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.alert-dialog__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.alert-dialog__trigger:focus-visible:not([data-focused]),.alert-dialog__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.alert-dialog__trigger:disabled,.alert-dialog__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.alert-dialog__trigger:active,.alert-dialog__trigger[data-pressed=true]{transform:scale(.97)}.alert-dialog__backdrop{z-index:var(--z-index-overlay);height:var(--visual-viewport-height);flex-direction:row;justify-content:center;align-items:center;width:100%;display:flex;position:fixed;inset:0}.alert-dialog__backdrop[data-entering=true]{animation:heroui-overlay-fade-in .15s var(--ease-out)}.alert-dialog__backdrop[data-exiting=true]{animation:heroui-overlay-fade-out .1s var(--ease-out)}:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.alert-dialog__backdrop[data-exiting=true],.alert-dialog__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.alert-dialog__backdrop--transparent{background-color:#0000}.alert-dialog__backdrop--opaque{background-color:var(--backdrop)}.alert-dialog__backdrop--blur{background-color:var(--backdrop);--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}@media (hover:none) and (pointer:coarse){.alert-dialog__backdrop--blur{-webkit-backdrop-filter:none;backdrop-filter:none}}.alert-dialog__container{height:var(--visual-viewport-height);width:100%;min-width:0;padding:calc(var(--spacing) * 4);flex-direction:column;flex:1;align-items:center;display:flex}@media (width>=40rem){.alert-dialog__container{width:fit-content;padding:calc(var(--spacing) * 10)}}.alert-dialog__container{pointer-events:none}.alert-dialog__container[data-entering=true]{animation:heroui-overlay-enter-105 .25s var(--ease-out-quad)}.alert-dialog__container[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-105-y}@media (width>=40rem){.alert-dialog__container[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-105}}.alert-dialog__container[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-105-ny}.alert-dialog__container[data-entering=true][data-placement=center]{animation-name:heroui-overlay-enter-105}.alert-dialog__container[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-105-y}.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-out-quad)}:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.alert-dialog__container[data-exiting=true],.alert-dialog__container[data-exiting=true][data-placement],.alert-dialog__container[data-entering=true],.alert-dialog__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.alert-dialog__dialog{background-color:var(--overlay);--tw-shadow:var(--overlay-shadow);width:100%;min-height:0;max-height:100%;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-radius:min(32px, var(--radius-3xl));padding:calc(var(--spacing) * 6);pointer-events:auto;outline-style:none;flex-direction:column;display:flex;position:relative;overflow:clip}.alert-dialog__dialog[data-placement=auto]{margin-top:auto}@media (width>=40rem){.alert-dialog__dialog[data-placement=auto]{margin-block:auto}}.alert-dialog__dialog[data-placement=center]{margin-block:auto}.alert-dialog__dialog[data-placement=bottom]{margin-top:auto}.alert-dialog__dialog[data-placement=top]{margin-top:0}.alert-dialog__dialog--xs{max-width:var(--container-xs)}.alert-dialog__dialog--sm{max-width:var(--container-sm)}.alert-dialog__dialog--md{max-width:var(--container-md)}.alert-dialog__dialog--lg{max-width:var(--container-lg)}.alert-dialog__dialog--cover{width:100%;height:100%;min-height:100%}.alert-dialog__header{gap:calc(var(--spacing) * 3);flex-direction:column;margin-bottom:0;display:flex}.alert-dialog__header>.modal__icon{margin-bottom:0}.alert-dialog__heading{vertical-align:middle;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.alert-dialog__icon{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:calc(var(--radius) * 3);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.alert-dialog__icon [data-slot=alert-dialog-default-icon]{box-sizing:content-box;width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.alert-dialog__icon--default{background-color:var(--default);color:var(--foreground)}.alert-dialog__icon--accent{background-color:var(--accent-soft);color:var(--accent-soft-foreground)}.alert-dialog__icon--success{background-color:var(--success-soft);color:var(--success-soft-foreground)}.alert-dialog__icon--warning{background-color:var(--warning-soft);color:var(--warning-soft-foreground)}.alert-dialog__icon--danger{background-color:var(--danger-soft);color:var(--danger-soft-foreground)}.alert-dialog__body{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);min-height:0;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.43;color:var(--muted);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:-3px;flex:1;margin-block:0;padding:3px;line-height:1.43;overflow-y:auto}.alert-dialog__footer{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);flex-direction:row;margin-top:0;display:flex}.alert-dialog__close-trigger{inset-inline-end:calc(var(--spacing) * 4);top:calc(var(--spacing) * 4);position:absolute}.alert-dialog__header+.alert-dialog__body{margin-top:calc(var(--spacing) * 2)}.alert-dialog__header+.alert-dialog__footer,.alert-dialog__body+.alert-dialog__footer{margin-top:calc(var(--spacing) * 5)}.drawer__trigger{cursor:var(--cursor-interactive);transition:transform .25s var(--ease-out-quart), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-block}.drawer__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.drawer__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.drawer__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.drawer__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.drawer__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.drawer__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.drawer__trigger:focus-visible:not([data-focused]),.drawer__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.drawer__trigger:disabled,.drawer__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.drawer__trigger:active,.drawer__trigger[data-pressed=true]{transform:scale(.97)}.drawer__backdrop{z-index:var(--z-index-overlay);height:var(--visual-viewport-height);opacity:1;width:100%;transition:opacity .25s cubic-bezier(.32,.72,0,1);position:fixed;inset:0}.drawer__backdrop[data-entering=true]{opacity:0}.drawer__backdrop[data-exiting=true]{opacity:0;transition-duration:.2s;transition-timing-function:cubic-bezier(.32,.72,0,1)}.drawer__backdrop[data-exiting=true],.drawer__backdrop[data-entering=true]{will-change:opacity}@media (prefers-reduced-motion:reduce){.drawer__backdrop{transition:none}}.drawer__backdrop--transparent{background-color:#0000}.drawer__backdrop--opaque{background-color:var(--backdrop)}.drawer__backdrop--blur{background-color:var(--backdrop);--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}@media (hover:none) and (pointer:coarse){.drawer__backdrop--blur{-webkit-backdrop-filter:none;backdrop-filter:none}}.drawer__content{pointer-events:none;z-index:var(--z-index-overlay);height:var(--visual-viewport-height);--drawer-enter-duration:.25s;--drawer-exit-duration:.2s;--drawer-enter-ease:cubic-bezier(.32, .72, 0, 1);--drawer-exit-ease:cubic-bezier(.32, .72, 0, 1);width:100%;min-width:0;display:flex;position:fixed;inset:0}.drawer__content--bottom{align-items:flex-end}.drawer__content--top{align-items:flex-start}.drawer__content--left{justify-content:flex-start}.drawer__content--right{justify-content:flex-end}.drawer__content--bottom[data-entering=true]{animation:heroui-drawer-enter-bottom var(--drawer-enter-duration) var(--drawer-enter-ease)}.drawer__content--top[data-entering=true]{animation:heroui-drawer-enter-top var(--drawer-enter-duration) var(--drawer-enter-ease)}.drawer__content--left[data-entering=true]{animation:heroui-drawer-enter-left var(--drawer-enter-duration) var(--drawer-enter-ease)}.drawer__content--right[data-entering=true]{animation:heroui-drawer-enter-right var(--drawer-enter-duration) var(--drawer-enter-ease)}@media (prefers-reduced-motion:reduce){.drawer__content[data-entering=true]{animation:none}}@keyframes heroui-drawer-enter-bottom{0%{translate:0 100%}}@keyframes heroui-drawer-enter-top{0%{translate:0 -100%}}@keyframes heroui-drawer-enter-left{0%{translate:-100%}}@keyframes heroui-drawer-enter-right{0%{translate:100%}}.drawer__dialog{background-color:var(--overlay);--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;padding:calc(var(--spacing) * 6);pointer-events:auto;will-change:translate;transition:translate var(--drawer-enter-duration) var(--drawer-enter-ease);outline-style:none;flex-direction:column;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.drawer__dialog{transition:none}}.drawer__dialog[data-placement=bottom]{border-start-start-radius:min(32px, var(--radius-2xl));border-start-end-radius:min(32px, var(--radius-2xl));width:100%;max-height:85vh}.drawer__dialog[data-placement=top]{border-end-end-radius:min(32px, var(--radius-2xl));border-end-start-radius:min(32px, var(--radius-2xl));width:100%;max-height:85vh}.drawer__dialog[data-placement=left]{height:100%;width:calc(var(--spacing) * 80);border-radius:0;max-width:85vw}@media (width>=40rem){.drawer__dialog[data-placement=left]{width:calc(var(--spacing) * 96)}}.drawer__dialog[data-placement=right]{height:100%;width:calc(var(--spacing) * 80);border-radius:0;max-width:85vw}@media (width>=40rem){.drawer__dialog[data-placement=right]{width:calc(var(--spacing) * 96)}}[data-exiting=true] .drawer__dialog{transition-duration:var(--drawer-exit-duration);transition-timing-function:var(--drawer-exit-ease)}.drawer__content--left .drawer__dialog,.drawer__content--right .drawer__dialog,.drawer__content--top .drawer__dialog,.drawer__content--bottom .drawer__dialog{translate:0}.drawer__content--left[data-exiting=true] .drawer__dialog{translate:-100%}.drawer__content--right[data-exiting=true] .drawer__dialog{translate:100%}.drawer__content--top[data-exiting=true] .drawer__dialog{translate:0 -100%}.drawer__content--bottom[data-exiting=true] .drawer__dialog{translate:0 100%}.drawer__dialog--top{padding-bottom:calc(var(--spacing) * 2)}.drawer__dialog--top .drawer__handle{padding-bottom:0}.drawer__header{gap:calc(var(--spacing) * 3);flex-direction:column;margin-bottom:0;display:flex}.drawer__heading{vertical-align:middle;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.drawer__body{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);min-height:0;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.43;color:var(--muted);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:-3px;flex:1;margin-block:0;padding:3px;line-height:1.43;overflow-y:auto}.drawer__footer{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);flex-direction:row;margin-top:0;display:flex}.drawer__handle{padding-bottom:calc(var(--spacing) * 2);justify-content:center;align-items:center;display:flex}.drawer__handle>[data-slot=drawer-handle-bar]{height:var(--spacing);width:calc(var(--spacing) * 9);border-radius:calc(var(--radius) * .25);background-color:var(--separator)}.drawer__close-trigger{inset-inline-end:calc(var(--spacing) * 4);top:calc(var(--spacing) * 4);position:absolute}.drawer__header+.drawer__body{margin-top:calc(var(--spacing) * 2)}.drawer__header+.drawer__footer,.drawer__body+.drawer__footer{margin-top:calc(var(--spacing) * 5)}.drawer__handle+.drawer__header,.drawer__handle+.drawer__body{margin-top:0}@keyframes heroui-sheet-backdrop{0%{opacity:0}to{opacity:1}}@keyframes heroui-sheet-scale-back{to{transform:translateZ(-120px)}}.sheet__overlay{z-index:50}.sheet__overlay[data-closed]{pointer-events:none}.sheet__backdrop{background-color:#0000}.sheet__backdrop[data-stack-index="0"].sheet__backdrop--opaque{background-color:var(--backdrop)}.sheet__backdrop[data-stack-index="0"].sheet__backdrop--blur{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.sheet__backdrop[data-stack-index="0"].sheet__backdrop--blur{background-color:color-mix(in oklab, var(--background) 1%, transparent)}}.sheet__backdrop[data-stack-index="0"].sheet__backdrop--blur{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.sheet__backdrop--transparent{background-color:#0000}.sheet__content{z-index:1;box-sizing:content-box;--tw-outline-style:none;outline-style:none;overflow:clip}.sheet__content[data-has-descendants]{will-change:transform;transform:perspective(1000px)}.sheet__content--bottom,.sheet__content--top{width:100%;max-height:calc(100% - 2rem)}.sheet__content--bottom{border-top-left-radius:calc(var(--radius) * 2);border-top-right-radius:calc(var(--radius) * 2)}.sheet__content--top{border-bottom-right-radius:calc(var(--radius) * 2);border-bottom-left-radius:calc(var(--radius) * 2)}.sheet__content--left,.sheet__content--right{width:min(24rem,96vw);height:100%;max-height:none}.sheet__content--left{border-top-right-radius:calc(var(--radius) * 2);border-bottom-right-radius:calc(var(--radius) * 2)}.sheet__content--right{border-top-left-radius:calc(var(--radius) * 2);border-bottom-left-radius:calc(var(--radius) * 2)}.sheet__content[data-detached]{margin:calc(var(--spacing) * 2);border-radius:calc(var(--radius) * 2);max-height:calc(100% - 1rem)}.sheet__content--bottom[data-detached],.sheet__content--top[data-detached]{width:calc(100% - 1rem)}.sheet__content--left[data-detached],.sheet__content--right[data-detached]{height:calc(100% - 1rem)}.sheet__content--bottom[data-snap-points],.sheet__content--top[data-snap-points]{height:100%;max-height:none}.sheet__content--left[data-snap-points],.sheet__content--right[data-snap-points]{width:100%;max-width:none}.sheet__content--bottom[data-detached][data-snap-points],.sheet__content--top[data-detached][data-snap-points]{height:calc(100% - 1rem)}.sheet__content--left[data-detached][data-snap-points],.sheet__content--right[data-detached][data-snap-points]{width:calc(100% - 1rem)}.sheet__dialog{background-color:var(--overlay);min-height:0;color:var(--overlay-foreground);--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;outline-style:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet__content[data-detached] .sheet__dialog{border-radius:calc(var(--radius) * 2)}.sheet__dialog--bottom{border-top-left-radius:calc(var(--radius) * 2);border-top-right-radius:calc(var(--radius) * 2)}.sheet__dialog--top{border-bottom-right-radius:calc(var(--radius) * 2);border-bottom-left-radius:calc(var(--radius) * 2)}.sheet__dialog--left{border-top-right-radius:calc(var(--radius) * 2);border-bottom-right-radius:calc(var(--radius) * 2)}.sheet__dialog--right{border-top-left-radius:calc(var(--radius) * 2);border-bottom-left-radius:calc(var(--radius) * 2)}.sheet__header{gap:var(--spacing);padding-inline:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 4);padding-bottom:calc(var(--spacing) * 2);flex-direction:column;flex-shrink:0;display:flex}.sheet__heading{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.sheet__body{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);min-height:0;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);flex:auto;overflow:hidden}.sheet__content[data-expanded] .sheet__body{-webkit-overflow-scrolling:touch;overflow-y:auto}.sheet__footer{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 4);flex-shrink:0;display:flex}.sheet__handle{cursor:grab;touch-action:none;padding-block:calc(var(--spacing) * 3);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.sheet__handle[data-dragging]{cursor:grabbing}[data-sheet-scroll][data-handle-dragging]{scroll-snap-type:none!important}.sheet__handle-bar{height:.3rem;width:calc(var(--spacing) * 8);background-color:var(--default);border-radius:2147483647px;display:block}.sheet__close-trigger{top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 3);z-index:10;cursor:var(--cursor-interactive);color:var(--muted);--tw-outline-style:none;-webkit-tap-highlight-color:transparent;outline-style:none;position:absolute}.sheet__close-trigger:focus-visible:not([data-focused]),.sheet__close-trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.sheet__close-trigger:disabled,.sheet__close-trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}@media (hover:hover){.sheet__close-trigger:hover,.sheet__close-trigger[data-hovered=true]{color:var(--foreground)}}@media (prefers-reduced-motion:reduce){.sheet__backdrop,.sheet__content{animation-duration:1ms}}.modal__trigger{cursor:var(--cursor-interactive);transition:transform .25s var(--ease-out-quart), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-block}.modal__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.modal__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.modal__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.modal__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.modal__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.modal__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.modal__trigger:focus-visible:not([data-focused]),.modal__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.modal__trigger:disabled,.modal__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.modal__trigger:active,.modal__trigger[data-pressed=true]{transform:scale(.97)}.modal__backdrop{z-index:var(--z-index-overlay);height:var(--visual-viewport-height);flex-direction:row;justify-content:center;align-items:center;width:100%;display:flex;position:fixed;inset:0}.modal__backdrop[data-entering=true]{animation:heroui-overlay-fade-in .15s var(--ease-out)}.modal__backdrop[data-exiting=true]{animation:heroui-overlay-fade-out .1s var(--ease-out)}:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.modal__backdrop[data-exiting=true],.modal__backdrop[data-entering=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.modal__backdrop--transparent{background-color:#0000}.modal__backdrop--opaque{background-color:var(--backdrop)}.modal__backdrop--blur{background-color:var(--backdrop);--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}@media (hover:none) and (pointer:coarse){.modal__backdrop--blur{-webkit-backdrop-filter:none;backdrop-filter:none}}.modal__container{height:var(--visual-viewport-height);width:100%;min-width:0;padding:calc(var(--spacing) * 4);flex-direction:column;flex:1;align-items:center;display:flex}@media (width>=40rem){.modal__container{width:fit-content;padding:calc(var(--spacing) * 10)}}.modal__container{pointer-events:none}.modal__container[data-entering=true]{animation:heroui-overlay-enter-105 .25s var(--ease-out-quad)}.modal__container[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-105-y}@media (width>=40rem){.modal__container[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-105}}.modal__container[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-105-ny}.modal__container[data-entering=true][data-placement=center]{animation-name:heroui-overlay-enter-105}.modal__container[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-105-y}.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-out-quad)}:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.modal__container[data-exiting=true],.modal__container[data-exiting=true][data-placement],.modal__container[data-entering=true],.modal__container[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.modal__container--scroll-outside{height:auto;min-height:var(--visual-viewport-height);overflow-y:visible}.modal__backdrop:has(.modal__container--scroll-outside){scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);-webkit-overflow-scrolling:touch;align-items:flex-start;overflow-y:auto}.modal__container--full{padding:0}@media (width>=40rem){.modal__container--full{padding:0}}.modal__container--full[data-entering=true]{animation-name:heroui-overlay-enter-100}.modal__container--full[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-100-y}@media (width>=40rem){.modal__container--full[data-entering=true][data-placement=auto]{animation-name:heroui-overlay-enter-100}}.modal__container--full[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-100-ny}.modal__container--full[data-entering=true][data-placement=center]{animation-name:heroui-overlay-enter-100}.modal__container--full[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-100-y}.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement]{animation-name:heroui-overlay-fade-out}:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *),:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,:is(.modal__container--full[data-exiting=true],.modal__container--full[data-exiting=true][data-placement],.modal__container--full[data-entering=true],.modal__container--full[data-entering=true][data-placement]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.modal__dialog{background-color:var(--overlay);--tw-shadow:var(--overlay-shadow);width:100%;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-radius:min(32px, var(--radius-3xl));padding:calc(var(--spacing) * 6);pointer-events:auto;outline-style:none;flex-direction:column;display:flex;position:relative}.modal__dialog[data-placement=auto]{margin-top:auto}@media (width>=40rem){.modal__dialog[data-placement=auto]{margin-block:auto}}.modal__dialog[data-placement=center]{margin-block:auto}.modal__dialog[data-placement=bottom]{margin-top:auto}.modal__dialog[data-placement=top]{margin-top:0}.modal__dialog--scroll-inside{min-height:0;max-height:100%;overflow:clip}.modal__dialog--scroll-outside{flex-shrink:0;height:auto;min-height:0}.modal__dialog--xs{max-width:var(--container-xs)}.modal__dialog--sm{max-width:var(--container-sm)}.modal__dialog--md{max-width:var(--container-md)}.modal__dialog--lg{max-width:var(--container-lg)}.modal__dialog--cover{width:100%;height:100%;min-height:100%}.modal__dialog--full{--tw-shadow:0 0 #0000;width:100%;height:100%;min-height:100%;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:0}.modal__header{gap:calc(var(--spacing) * 3);flex-direction:column;margin-bottom:0;display:flex}.modal__header>.modal__icon{margin-bottom:0}.modal__heading{vertical-align:middle;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.modal__icon{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:calc(var(--radius) * 3);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__body{min-height:0;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.43;color:var(--muted);margin:-3px;flex:1;margin-block:0;padding:3px;line-height:1.43;overflow:visible}.modal__body--scroll-inside{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal__body--scroll-outside{overflow-y:visible}.modal__footer{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);flex-direction:row;margin-top:0;display:flex}.modal__close-trigger{inset-inline-end:calc(var(--spacing) * 4);top:calc(var(--spacing) * 4);position:absolute}.modal__header+.modal__body{margin-top:calc(var(--spacing) * 2)}.modal__header+.modal__footer,.modal__body+.modal__footer{margin-top:calc(var(--spacing) * 5)}.popover{transform-origin:var(--trigger-anchor-point);background-color:var(--overlay);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-radius:min(32px, var(--radius-3xl));box-shadow:var(--overlay-shadow);padding:0}.popover[data-entering=true]{animation:heroui-overlay-enter-90 .15s var(--ease-smooth)}.popover[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-90-y}.popover[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-90-ny}.popover[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-90-x}.popover[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-90-nx}.popover[data-exiting=true],.popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.popover [data-slot=popover-overlay-arrow]{fill:var(--overlay)}.popover[data-placement=bottom] [data-slot=popover-overlay-arrow]{rotate:180deg}.popover[data-placement=left] [data-slot=popover-overlay-arrow]{rotate:-90deg}.popover[data-placement=right] [data-slot=popover-overlay-arrow]{rotate:90deg}.popover__dialog{padding:calc(var(--spacing) * 4);--tw-outline-style:none;outline-style:none}.popover__heading{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.popover__trigger{transition:color .15s var(--ease-smooth), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-block}.popover__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.popover__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.popover__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.popover__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.popover__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.popover__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.popover__trigger{cursor:var(--cursor-interactive)}.popover__trigger:focus-visible:not([data-focused]),.popover__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.popover__trigger:disabled,.popover__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.tooltip{max-width:var(--container-xs);transform-origin:var(--trigger-anchor-point);background-color:var(--overlay);padding:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));word-break:break-all;border-radius:min(32px, var(--radius-xl));box-shadow:var(--overlay-shadow)}.tooltip[data-entering=true]{animation:heroui-overlay-enter-90 .15s var(--ease-smooth)}.tooltip[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-90-y}.tooltip[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-90-ny}.tooltip[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-90-x}.tooltip[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-90-nx}.tooltip[data-exiting=true],.tooltip[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.tooltip [data-slot=overlay-arrow]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.tooltip [data-slot=overlay-arrow]{stroke:color-mix(in oklab, var(--border) 40%, transparent)}}.tooltip [data-slot=overlay-arrow]{fill:var(--overlay)}.tooltip[data-placement=bottom] [data-slot=overlay-arrow]{rotate:180deg}.tooltip[data-placement=left] [data-slot=overlay-arrow]{rotate:-90deg}.tooltip[data-placement=right] [data-slot=overlay-arrow]{rotate:90deg}.tooltip__trigger{transition:color .15s var(--ease-smooth), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);display:inline-block}.tooltip__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.tooltip__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.tooltip__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.tooltip__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.tooltip__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.tooltip__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.tooltip__trigger:focus-visible:not([data-focused]),.tooltip__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.combo-box{gap:var(--spacing);flex-direction:column;display:flex}:is(.combo-box[data-invalid=true],.combo-box[aria-invalid=true]) [data-slot=description]{display:none}.combo-box [data-slot=label]{width:fit-content}.combo-box [data-slot=input]{flex:1;min-width:0}.combo-box [data-slot=input]:has(+.combo-box__trigger){padding-inline-end:calc(var(--spacing) * 7)}.combo-box [data-slot=input]:focus,.combo-box [data-slot=input][data-focus]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;border-color:var(--field-border-focus);--input-bg:var(--input-bg-focus);background-color:var(--input-bg);outline-style:none}.combo-box [data-slot=input]:-webkit-autofill{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:-webkit-autofill{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:-webkit-autofill:hover{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:-webkit-autofill:hover{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:-webkit-autofill:focus{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:-webkit-autofill:focus{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:-webkit-autofill:active{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:-webkit-autofill:active{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:autofill{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:autofill{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:autofill:hover{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:autofill:hover{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:autofill:focus{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:autofill:focus{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:autofill:active{background-color:var(--input-bg);box-shadow:var(--input-autofill-shadow);-webkit-box-shadow:var(--input-autofill-shadow);-webkit-text-fill-color:var(--field-foreground);caret-color:var(--field-foreground);transition:background-color 9999s ease-in-out 0s, border-color .15s var(--ease-smooth)}@media (prefers-reduced-motion:reduce){.combo-box [data-slot=input]:autofill:active{transition:background-color 9999s ease-in-out}}.combo-box [data-slot=input]:disabled,.combo-box [data-slot=input][data-disabled],.combo-box [data-slot=input][aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.combo-box__input-group{isolation:isolate;align-items:center;display:inline-flex;position:relative}.combo-box__value{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-wrap:break-word;color:var(--field-foreground,var(--foreground))}.combo-box__value:empty{display:none}.combo-box__value[data-placeholder=true]{color:var(--field-placeholder,var(--muted))}.combo-box__value [data-slot=list-box-item-indicator]{display:none}.combo-box__trigger{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);height:100%;translate:var(--tw-translate-x) var(--tw-translate-y);cursor:pointer;color:var(--field-placeholder,var(--muted));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;-webkit-tap-highlight-color:transparent;--tw-border-style:none;--tw-outline-style:none;inset-inline-end:calc(var(--spacing) * 0);background-color:#0000;border-style:none;outline-style:none;flex-shrink:0;justify-content:center;align-items:center;padding-inline-end:calc(var(--spacing) * 2);transition-duration:.15s;display:flex;position:absolute;top:50%}@media (hover:hover){.combo-box__trigger:hover,.combo-box__trigger[data-hovered=true]{color:var(--field-foreground,var(--foreground))}}.combo-box__trigger:focus-visible:not([data-focused]),.combo-box__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;border-radius:.25rem;outline-style:none}.combo-box__trigger[data-pressed=true]{opacity:.7}.combo-box__trigger:disabled,.combo-box__trigger[data-disabled],.combo-box__trigger[aria-disabled=true]{cursor:not-allowed;opacity:.5}.combo-box__trigger [data-slot=combo-box-trigger-default-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s}.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:is([data-reduce-motion=true],[data-reduce-motion=true] *),.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.combo-box__trigger [data-slot=combo-box-trigger-default-icon]:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.combo-box__trigger[data-open=true] [data-slot=combo-box-trigger-default-icon]{rotate:180deg}.combo-box__popover{min-width:var(--trigger-width);transform-origin:var(--trigger-anchor-point);background-color:var(--overlay);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-radius:min(32px, calc(var(--radius-2xl) + var(--spacing) * 1.5));box-shadow:var(--overlay-shadow);flex-direction:column;padding:0;display:flex;overflow:hidden}.combo-box__popover:focus-visible:not([data-focused]),.combo-box__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.combo-box__popover[data-entering=true]{animation:heroui-overlay-enter-95 .15s var(--ease-smooth)}.combo-box__popover[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-95-y}.combo-box__popover[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-95-ny}.combo-box__popover[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-95-x}.combo-box__popover[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-95-nx}.combo-box__popover[data-exiting=true],.combo-box__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.combo-box__popover [data-slot=popover-overlay-arrow]{fill:var(--overlay)}.combo-box__popover[data-placement=bottom] [data-slot=popover-overlay-arrow]{rotate:180deg}.combo-box__popover[data-placement=left] [data-slot=popover-overlay-arrow]{rotate:-90deg}.combo-box__popover[data-placement=right] [data-slot=popover-overlay-arrow]{rotate:90deg}.combo-box__popover [data-slot=list-box]{min-height:0;scroll-padding-block:var(--spacing);scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overscroll-behavior:contain;padding:calc(var(--spacing) * 1.5);--tw-outline-style:none;outline-style:none;overflow-y:auto}.combo-box__popover [data-slot=list-box-item]{padding-inline:calc(var(--spacing) * 2.5)}.combo-box__popover [data-slot=list-box-item]:has(.list-box-item__indicator){padding-inline-end:calc(var(--spacing) * 7)}.combo-box__popover [data-slot=list-box-item] [data-slot=list-box-item-indicator--checkmark]{transition-property:none}.combo-box--full-width,.combo-box__input-group--full-width{width:100%}.select{gap:var(--spacing);flex-direction:column;display:flex}:is(.select[data-invalid=true],.select[aria-invalid=true]) [data-slot=description]{display:none}.select [data-slot=label]{width:fit-content}.select__trigger{isolation:isolate;min-height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);border-width:1px;outline-style:none;display:inline-flex;position:relative}.select__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.select__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.select__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.select__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.select__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.select__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.select__trigger{cursor:var(--cursor-interactive);border-width:var(--border-width-field);border-color:var(--field-border)}.select__trigger:has(.select__indicator){padding-inline-end:calc(var(--spacing) * 7)}@media (hover:hover){:is(.select__trigger:hover:not(:has(.select__clear-button:hover)),.select__trigger[data-hovered=true]:not(:has(.select__clear-button:hover))){background-color:var(--field-hover);border-color:var(--field-border-hover)}}.select__trigger:focus-visible:not([data-focused]),.select__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;border-color:var(--field-border-focus);background-color:var(--field-focus);outline-style:none}.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger):focus,:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger):focus-visible,:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger)[data-focused=true],:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger)[data-focus-visible=true],:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger):focus-within,:is(.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger)[data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.select[data-invalid=true] .select__trigger,.select[aria-invalid=true] .select__trigger{background-color:var(--field-focus)}.select__trigger:disabled,.select__trigger[data-disabled=true],.select__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.select--secondary .select__trigger{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--select-trigger-bg);--select-trigger-bg:var(--default);--select-trigger-bg-hover:var(--default-hover);--select-trigger-bg-focus:var(--default)}@media (hover:hover){:is(.select--secondary .select__trigger:hover:not(:has(.select__clear-button:hover)),.select--secondary .select__trigger[data-hovered=true]:not(:has(.select__clear-button:hover))){background-color:var(--select-trigger-bg-hover)}}.select--secondary .select__trigger:focus-visible:not([data-focused]),.select--secondary .select__trigger[data-focus-visible=true],.select[data-invalid=true] :is(.select--secondary .select__trigger),.select[aria-invalid=true] :is(.select--secondary .select__trigger){background-color:var(--select-trigger-bg-focus)}.select__value{text-align:start;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));overflow-wrap:break-word;color:currentColor;flex:1}@media (width>=40rem){.select__value{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.select__value[data-placeholder=true]{color:var(--field-placeholder,var(--muted))}.select__value [data-slot=list-box-item-indicator]{display:none}.select__clear-button{isolation:isolate;width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);transform-origin:50%;transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);border-radius:calc(var(--radius) * 1.5);padding:var(--spacing);color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:var(--cursor-interactive);background-color:#0000;flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:inline-flex;position:relative}.select__clear-button:after{inset:calc(var(--spacing) * -.5);content:"";position:absolute}.select__clear-button:not([data-empty=true]){transition:opacity .15s var(--ease-smooth)}.select__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.select__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.select__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.select__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.select__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.select__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.select__clear-button[data-empty=true]{pointer-events:none;opacity:0}.select__clear-button [data-slot=select-clear-button-icon]{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}@media (hover:hover){.select__clear-button:hover,.select__clear-button[data-hovered=true]{background-color:var(--default-hover)}}.select__clear-button:active,.select__clear-button[data-pressed=true]{transform:scale(.93)}.select__indicator{color:var(--field-placeholder,var(--muted));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;flex-shrink:0;justify-content:center;align-items:center;margin-block:auto;transition-duration:.15s;display:flex;position:absolute;inset-block:0;inset-inline-end:calc(var(--spacing) * 2)}.select__indicator[data-open=true]{rotate:180deg}.select__indicator[data-slot=select-default-indicator]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.select__popover{min-width:var(--trigger-width);transform-origin:var(--trigger-anchor-point);scroll-padding-block:var(--spacing);scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overscroll-behavior:contain;background-color:var(--overlay);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-radius:min(32px, calc(var(--radius-2xl) + var(--spacing) * 1.5));box-shadow:var(--overlay-shadow);padding:0;overflow-y:auto}.select__popover:focus-visible:not([data-focused]),.select__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.select__popover[data-entering=true]{animation:heroui-overlay-enter-95 .15s var(--ease-smooth)}.select__popover[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-95-y}.select__popover[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-95-ny}.select__popover[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-95-x}.select__popover[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-95-nx}.select__popover[data-exiting=true],.select__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-smooth);pointer-events:none}.select__popover [data-slot=popover-overlay-arrow]{fill:var(--overlay)}.select__popover[data-placement=bottom] [data-slot=popover-overlay-arrow]{rotate:180deg}.select__popover[data-placement=left] [data-slot=popover-overlay-arrow]{rotate:-90deg}.select__popover[data-placement=right] [data-slot=popover-overlay-arrow]{rotate:90deg}.select__popover [data-slot=list-box]{padding:calc(var(--spacing) * 1.5);--tw-outline-style:none;outline-style:none}.select__popover [data-slot=list-box-item]{padding-inline:calc(var(--spacing) * 2.5)}.select__popover [data-slot=list-box-item]:has(.list-box-item__indicator){padding-inline-end:calc(var(--spacing) * 7)}.select__popover [data-slot=list-box]:not([aria-multiselectable=true]) [data-slot=list-box-item-indicator],.select__popover [data-slot=list-box]:not([aria-multiselectable=true]) [data-slot=list-box-item-indicator] [data-slot=list-box-item-indicator--checkmark]{transition-property:none}.select--full-width,.select__trigger--full-width{width:100%}.autocomplete{gap:var(--spacing);flex-direction:column;display:flex}.autocomplete__trigger{isolation:isolate;min-height:calc(var(--spacing) * 9);border-radius:var(--field-radius,calc(var(--radius) * 1.5));border-style:var(--tw-border-style);background-color:var(--field-background,var(--default));padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--field-foreground,var(--foreground));--tw-shadow:var(--field-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out);border-width:1px;outline-style:none;display:inline-flex;position:relative}.autocomplete__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *),.autocomplete__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.autocomplete__trigger:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.autocomplete__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.autocomplete__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.autocomplete__trigger:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.autocomplete__trigger{cursor:var(--cursor-interactive);border-width:var(--border-width-field);border-color:var(--field-border)}.autocomplete__trigger:has(.autocomplete__indicator){padding-inline-end:calc(var(--spacing) * 7)}@media (hover:hover){:is(.autocomplete__trigger:hover:not(:has(.autocomplete__clear-button:hover)),.autocomplete__trigger[data-hovered=true]:not(:has(.autocomplete__clear-button:hover))){background-color:var(--field-hover);border-color:var(--field-border-hover)}}.autocomplete__trigger:focus-visible:not([data-focused]),.autocomplete__trigger[data-focus-visible=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--focus);--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;border-color:var(--field-border-focus);background-color:var(--field-focus);outline-style:none}.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger{outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--danger);--tw-outline-style:solid;--tw-ring-offset-width:3px;outline-style:solid}:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger):focus,:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger):focus-visible,:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger)[data-focused=true],:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger)[data-focus-visible=true],:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger):focus-within,:is(.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger)[data-focus-within=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--danger);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.autocomplete[data-invalid=true] .autocomplete__trigger,.autocomplete[aria-invalid=true] .autocomplete__trigger{background-color:var(--field-focus)}.autocomplete__trigger:disabled,.autocomplete__trigger[data-disabled=true],.autocomplete__trigger[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.autocomplete--secondary .autocomplete__trigger{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:var(--autocomplete-trigger-bg);--autocomplete-trigger-bg:var(--default);--autocomplete-trigger-bg-hover:var(--default-hover);--autocomplete-trigger-bg-focus:var(--default)}@media (hover:hover){:is(.autocomplete--secondary .autocomplete__trigger:hover:not(:has(.autocomplete__clear-button:hover)),.autocomplete--secondary .autocomplete__trigger[data-hovered=true]:not(:has(.autocomplete__clear-button:hover))){background-color:var(--autocomplete-trigger-bg-hover)}}.autocomplete--secondary .autocomplete__trigger:focus-visible:not([data-focused]),.autocomplete--secondary .autocomplete__trigger[data-focus-visible=true],.autocomplete[data-invalid=true] :is(.autocomplete--secondary .autocomplete__trigger),.autocomplete[aria-invalid=true] :is(.autocomplete--secondary .autocomplete__trigger){background-color:var(--autocomplete-trigger-bg-focus)}.autocomplete__value{text-align:start;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));overflow-wrap:break-word;color:currentColor;flex:1}@media (width>=40rem){.autocomplete__value{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.autocomplete__value[data-placeholder=true]{color:var(--field-placeholder,var(--muted))}.autocomplete__value [data-slot=list-box-item-indicator]{display:none}.autocomplete__indicator{color:var(--field-placeholder,var(--muted));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;cursor:var(--cursor-interactive);flex-shrink:0;justify-content:center;align-items:center;margin-block:auto;transition-duration:.15s;display:flex;position:absolute;inset-block:0;inset-inline-end:calc(var(--spacing) * 2)}.autocomplete__indicator[data-open=true]{rotate:180deg}.autocomplete__indicator[data-slot=autocomplete-default-indicator]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.autocomplete__popover{width:var(--trigger-width);max-width:var(--trigger-width);transform-origin:var(--trigger-anchor-point);scroll-padding-block:var(--spacing);overscroll-behavior:contain;background-color:var(--overlay);padding:0;padding-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;border-radius:min(32px, calc(var(--radius-2xl) + var(--spacing) * 1.5));box-shadow:var(--overlay-shadow);outline-style:none;flex-direction:column;display:flex;overflow:hidden}.autocomplete__popover:focus,.autocomplete__popover:focus-visible:not([data-focused]),.autocomplete__popover[data-focus-visible=true]{--tw-outline-style:none;outline-style:none}.autocomplete__popover[data-entering=true]{animation:heroui-overlay-enter-95 .25s var(--ease-out-fluid)}.autocomplete__popover[data-entering=true][data-placement=top]{animation-name:heroui-overlay-enter-95-y}.autocomplete__popover[data-entering=true][data-placement=bottom]{animation-name:heroui-overlay-enter-95-ny}.autocomplete__popover[data-entering=true][data-placement=left]{animation-name:heroui-overlay-enter-95-x}.autocomplete__popover[data-entering=true][data-placement=right]{animation-name:heroui-overlay-enter-95-nx}.autocomplete__popover[data-exiting=true],.autocomplete__popover[data-exiting=true][data-placement]{animation:heroui-overlay-exit .1s var(--ease-out-quad);pointer-events:none}.autocomplete__popover [data-slot=popover-overlay-arrow]{fill:var(--overlay)}.autocomplete__popover[data-placement=bottom] [data-slot=popover-overlay-arrow]{rotate:180deg}.autocomplete__popover[data-placement=left] [data-slot=popover-overlay-arrow]{rotate:-90deg}.autocomplete__popover[data-placement=right] [data-slot=popover-overlay-arrow]{rotate:90deg}.autocomplete__popover [data-slot=list-box]{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);min-height:0;max-height:320px;padding:calc(var(--spacing) * 1.5);--tw-outline-style:none;outline-style:none;overflow-y:auto}.autocomplete__popover [data-slot=list-box-item]{padding-inline:calc(var(--spacing) * 2.5)}.autocomplete__popover [data-slot=list-box-item]:has(.list-box-item__indicator){padding-inline-end:calc(var(--spacing) * 7)}.autocomplete__popover [role=presentation]>[data-slot=list-box-item]{width:calc(100% - var(--spacing) * 3)}.autocomplete__popover [data-slot=list-box]:not([aria-multiselectable=true]) [data-slot=list-box-item-indicator],.autocomplete__popover [data-slot=list-box]:not([aria-multiselectable=true]) [data-slot=list-box-item-indicator] [data-slot=list-box-item-indicator--checkmark]{transition-property:none}.autocomplete__popover [data-slot=search-field]{padding-inline:calc(var(--spacing) * 3);padding-block:var(--spacing);--tw-outline-style:none;outline-style:none;flex-shrink:0}.autocomplete__popover [data-slot=empty-state]{text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--overlay-foreground)}@supports (color:color-mix(in lab, red, red)){.autocomplete__popover [data-slot=empty-state]{color:color-mix(in oklab, var(--overlay-foreground) 60%, transparent)}}.autocomplete--full-width,.autocomplete__trigger--full-width{width:100%}.autocomplete__clear-button{isolation:isolate;height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);transform-origin:50%;border-radius:calc(var(--radius) * 1.5);padding:var(--spacing);color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);cursor:var(--cursor-interactive);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);background-color:#0000;flex-shrink:0;justify-content:center;align-self:center;align-items:center;margin-inline-end:0;display:inline-flex;position:relative}.autocomplete__clear-button:not([data-empty=true]){transition:opacity .15s var(--ease-smooth)}.autocomplete__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *),.autocomplete__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.autocomplete__clear-button:not([data-empty=true]):is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.autocomplete__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.autocomplete__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.autocomplete__clear-button:not([data-empty=true]):not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.autocomplete__clear-button[data-empty=true]{pointer-events:none;opacity:0}.autocomplete__clear-button [data-slot=autocomplete-clear-button-icon]{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}@media (hover:hover){.autocomplete__clear-button:hover,.autocomplete__clear-button[data-hovered=true]{background-color:var(--default-hover)}}.autocomplete__clear-button:active,.autocomplete__clear-button[data-pressed=true]{transform:scale(.93)}.kbd{height:calc(var(--spacing) * 6);align-items:center;display:inline-flex}:where(.kbd>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * .5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-x-reverse)))}.kbd{border-radius:calc(var(--radius) * 1);background-color:var(--default);padding-inline:calc(var(--spacing) * 2);text-align:center;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--muted)}:where(.kbd:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}.kbd{word-spacing:-.25rem}.kbd__abbr{justify-content:center;align-items:center;width:100%;height:100%;text-decoration:none;display:flex}.kbd__content{justify-content:center;align-items:center;display:flex}.kbd--light{background-color:#0000}.typography,.typography-prose{color:var(--foreground)}.typography-prose h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose h3{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose h4{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose h5{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose h6{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography-prose p{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.typography-prose code{border-radius:calc(var(--radius) * .75);background-color:var(--default);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.typography-prose a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--link);text-underline-offset:4px;text-decoration-line:underline}.typography-prose blockquote{margin-top:calc(var(--spacing) * 4);border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px;border-color:var(--border);color:var(--muted);padding-inline-start:calc(var(--spacing) * 4);font-style:italic}.typography-prose ul{margin-block:calc(var(--spacing) * 4);list-style-type:disc}:where(.typography-prose ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.typography-prose ul{padding-inline-start:calc(var(--spacing) * 6)}.typography-prose ol{margin-block:calc(var(--spacing) * 4);list-style-type:decimal}:where(.typography-prose ol>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.typography-prose ol{padding-inline-start:calc(var(--spacing) * 6)}.typography-prose li{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.typography-prose hr{margin-block:calc(var(--spacing) * 8);border-color:var(--separator)}.typography-prose pre{margin-block:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1.5);background-color:var(--default);padding:calc(var(--spacing) * 4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);overflow-x:auto}.typography-prose strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.typography-prose em{font-style:italic}.typography-prose img{margin-block:calc(var(--spacing) * 4);border-radius:calc(var(--radius) * 1.5)}.typography--h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--h3{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--h4{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--h5{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--h6{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.typography--body{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.typography--body-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.typography--body-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.typography--code{border-radius:calc(var(--radius) * .75);background-color:var(--default);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.typography--align-start{text-align:start}.typography--align-center{text-align:center}.typography--align-end{text-align:end}.typography--align-justify{text-align:justify}.typography--color-default{color:var(--foreground)}.typography--color-muted{color:var(--muted)}.typography--truncate{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.typography--weight-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.typography--weight-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.typography--weight-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.typography--weight-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.scroll-shadow{--scroll-shadow-size:40px;--scroll-shadow-scrollbar-size:10px;--scroll-shadow-offset:0px;position:relative}@property --scroll-shadow-start-fade{syntax:"";inherits:false;initial-value:0}@property --scroll-shadow-end-fade{syntax:"";inherits:false;initial-value:0}@keyframes scroll-shadow-start-fade{0%{--scroll-shadow-start-fade:0px}to{--scroll-shadow-start-fade:var(--scroll-shadow-size)}}@keyframes scroll-shadow-end-fade{0%{--scroll-shadow-end-fade:var(--scroll-shadow-size)}to{--scroll-shadow-end-fade:0px}}.scroll-shadow--vertical{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overflow-y:auto}.scroll-shadow--horizontal{scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-color);scrollbar-gutter:var(--scrollbar-gutter);overflow-x:auto}.scroll-shadow--fade.scroll-shadow--vertical:where([data-top-scroll=true],[data-bottom-scroll=true],[data-top-bottom-scroll=true],[data-scroll-shadow-mode=auto]){-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-position:0 0,100% 0;mask-position:0 0,100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%, var(--scroll-shadow-scrollbar-size) 100%;-webkit-mask-size:100% 100%, var(--scroll-shadow-scrollbar-size) 100%;-webkit-mask-size:100% 100%, var(--scroll-shadow-scrollbar-size) 100%;mask-size:100% 100%, var(--scroll-shadow-scrollbar-size) 100%;-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-position:0 0,100% 0;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%, var(--scroll-shadow-scrollbar-size) 100%}.scroll-shadow--fade.scroll-shadow--vertical[data-top-scroll=true]{--scroll-linear-gradient:0deg, #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--vertical[data-bottom-scroll=true]{--scroll-linear-gradient:180deg, #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--vertical[data-top-bottom-scroll=true]{--scroll-linear-gradient:#000, #000, transparent 0, #000 var(--scroll-shadow-size), #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--horizontal:where([data-left-scroll=true],[data-right-scroll=true],[data-left-right-scroll=true],[data-scroll-shadow-mode=auto]){-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-position:0 0,0 100%;mask-position:0 0,0 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%, 100% var(--scroll-shadow-scrollbar-size);-webkit-mask-size:100% 100%, 100% var(--scroll-shadow-scrollbar-size);-webkit-mask-size:100% 100%, 100% var(--scroll-shadow-scrollbar-size);mask-size:100% 100%, 100% var(--scroll-shadow-scrollbar-size);-webkit-mask-image:linear-gradient(var(--scroll-linear-gradient)), linear-gradient(#000, #000);-webkit-mask-position:0 0,0 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%, 100% var(--scroll-shadow-scrollbar-size)}.scroll-shadow--fade.scroll-shadow--horizontal[data-left-scroll=true]{--scroll-linear-gradient:270deg, #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--horizontal[data-left-scroll=true]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),.scroll-shadow--fade.scroll-shadow--horizontal[data-right-scroll=true]{--scroll-linear-gradient:90deg, #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--horizontal[data-right-scroll=true]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){--scroll-linear-gradient:270deg, #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--fade.scroll-shadow--horizontal[data-left-right-scroll=true]{--scroll-linear-gradient:to right, #000, #000, transparent 0, #000 var(--scroll-shadow-size), #000 calc(100% - var(--scroll-shadow-size)), transparent}.scroll-shadow--hide-scrollbar{scrollbar-color:auto;scrollbar-gutter:auto;-ms-overflow-style:none;scrollbar-width:none;--scroll-shadow-scrollbar-size:0px}@supports (animation-timeline:scroll(self)){.scroll-shadow.scroll-shadow--fade[data-scroll-shadow-mode=auto]{animation:linear both scroll-shadow-start-fade,linear both scroll-shadow-end-fade;animation-range:var(--scroll-shadow-offset) calc(var(--scroll-shadow-offset) + var(--scroll-shadow-size)), calc(100% - var(--scroll-shadow-size) - var(--scroll-shadow-offset)) calc(100% - var(--scroll-shadow-offset))}.scroll-shadow.scroll-shadow--fade.scroll-shadow--vertical[data-scroll-shadow-mode=auto]{--scroll-linear-gradient:180deg, transparent 0, #000 var(--scroll-shadow-start-fade), #000 calc(100% - var(--scroll-shadow-end-fade)), transparent 100%;animation-timeline:scroll(self),scroll(self)}.scroll-shadow.scroll-shadow--fade.scroll-shadow--horizontal[data-scroll-shadow-mode=auto]{--scroll-linear-gradient:90deg, transparent 0, #000 var(--scroll-shadow-start-fade), #000 calc(100% - var(--scroll-shadow-end-fade)), transparent 100%;animation-timeline:scroll(self inline),scroll(self inline)}.scroll-shadow.scroll-shadow--fade.scroll-shadow--horizontal[data-scroll-shadow-mode=auto]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){--scroll-linear-gradient:270deg, transparent 0, #000 var(--scroll-shadow-start-fade), #000 calc(100% - var(--scroll-shadow-end-fade)), transparent 100%}}.card{border-radius:calc(var(--radius) + 4px);box-shadow:inset 0 1px 0 var(--surface-rim), inset 0 0 0 1px var(--surface-edge), var(--surface-contact), var(--surface-lift);border:0}.card .card{box-shadow:none;background:var(--surface-secondary)}.button,.toggle-button{border-radius:calc(var(--radius) - 2px)}.button--sm,.toggle-button--sm{height:1.75rem;font-size:var(--text-body);padding-inline:.625rem}.button--icon-only.button--sm{width:1.75rem;padding:0}.button--md{height:2rem}.button--outline{box-shadow:0 0 0 1px var(--border), var(--field-shadow)}.button--secondary{box-shadow:var(--surface-shadow);background:var(--surface);color:var(--foreground)}.toggle-button-group{border-radius:calc(var(--radius) - 1px);background:var(--default);gap:0;padding:2px}.toggle-button-group .toggle-button,.toggle-button-group--horizontal .toggle-button:first-child,.toggle-button-group--horizontal .toggle-button:last-child,.toggle-button-group--horizontal .toggle-button:first-child:last-child{border-radius:calc(var(--radius) - 3px)}.toggle-button-group .toggle-button{color:var(--muted);background:0 0}.toggle-button-group .toggle-button[data-selected=true]{color:var(--foreground);background:var(--segment);box-shadow:0 0 0 1px var(--hairline), var(--surface-shadow)}.filter-toggle{border-radius:calc(var(--radius) - 1px);background:var(--default);padding:2px}.filter-toggle .toggle-button-group{background:0 0;padding:0}.filter-toggle .toggle-button-group .toggle-button[data-selected=true]{box-shadow:none;background:0 0}.toggle-button-group__separator{display:none}.tabs__list-container{border-radius:calc(var(--radius) - 1px);background:var(--default)}.tabs__tab{border-radius:calc(var(--radius) - 3px);height:1.75rem;font-size:var(--text-body)}.tabs__tab[data-selected=true]{color:var(--foreground)}.tabs__indicator{border-radius:calc(var(--radius) - 3px);background:var(--segment);box-shadow:0 0 0 1px var(--hairline), var(--surface-shadow)}.chip{font-size:var(--text-xs);border-radius:999px;padding-inline:.5rem;line-height:1.25rem}.popover,.tooltip{box-shadow:0 0 0 1px var(--hairline), var(--overlay-shadow)}.modal__dialog{border-radius:calc(var(--radius) + 4px);box-shadow:inset 0 1px 0 var(--surface-rim), inset 0 0 0 1px var(--surface-edge), var(--surface-contact), var(--surface-lift);border:0}.toolbar--attached{border-radius:calc(var(--radius) - 1px);background:var(--surface);box-shadow:0 0 0 1px var(--border), var(--field-shadow);gap:0;padding:2px}.table-root--primary{background:0 0;border-radius:0;padding:0}.table__header{background:var(--surface-secondary)}.table__column{padding-block:.5rem;font-weight:500}.table__column:after{content:none}.table__body tr td{border-bottom:1px solid var(--separator);border-radius:0!important}@supports (color:color-mix(in lab, red, red)){.table__body tr td{border-bottom:1px solid color-mix(in oklab, var(--separator) 70%, transparent)}}.table__body tr td{background:var(--surface)}.table__body tr:last-child td{border-bottom:0}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-full{left:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-48{height:calc(var(--spacing) * 48)}.h-56{height:calc(var(--spacing) * 56)}.h-72{height:calc(var(--spacing) * 72)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[18px\]{height:18px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(38rem\,60vh\)\]{max-height:min(38rem,60vh)}.min-h-0{min-height:0}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-44{min-height:calc(var(--spacing) * 44)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-52{min-height:calc(var(--spacing) * 52)}.min-h-56{min-height:calc(var(--spacing) * 56)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-\[52vh\]{min-height:52vh}.min-h-\[440px\]{min-height:440px}.min-h-\[620px\]{min-height:620px}.min-h-\[640px\]{min-height:640px}.min-h-dvh{min-height:100dvh}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[7\.5rem\]{width:7.5rem}.w-\[13rem\]{width:13rem}.w-\[20\.5rem\]{width:20.5rem}.w-\[64\%\]{width:64%}.w-\[68\%\]{width:68%}.w-\[72\%\]{width:72%}.w-\[74px\]{width:74px}.w-\[76px\]{width:76px}.w-\[86\%\]{width:86%}.w-\[88\%\]{width:88%}.w-\[92\%\]{width:92%}.w-\[120px\]{width:120px}.w-\[260px\]{width:260px}.w-\[min\(100\%\,24rem\)\]{width:min(100%,24rem)}.w-\[min\(100\%\,42rem\)\]{width:min(100%,42rem)}.w-\[min\(360px\,calc\(100vw-2rem\)\)\]{width:min(360px,100vw - 2rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[7\.5rem\]{max-width:7.5rem}.max-w-\[8\.5rem\]{max-width:8.5rem}.max-w-\[10\.5rem\]{max-width:10.5rem}.max-w-\[11rem\]{max-width:11rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[48\%\]{max-width:48%}.max-w-\[70vw\]{max-width:70vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[96\%\]{max-width:96%}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[1480px\]{max-width:1480px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(100\%\,24rem\)\]{max-width:min(100%,24rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[32rem\]{min-width:32rem}.min-w-\[48rem\]{min-width:48rem}.min-w-\[68rem\]{min-width:68rem}.min-w-\[80px\]{min-width:80px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-48{flex-basis:calc(var(--spacing) * 48)}.origin-left{transform-origin:0}.translate-y-\[-1px\]{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-x-0{--tw-scale-x:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.auto-rows-\[minmax\(280px\,auto\)\]{grid-auto-rows:minmax(280px,auto)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-separator>:not(:last-child)){border-color:var(--separator)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:calc(var(--radius) * 2)}.rounded-3xl{border-radius:calc(var(--radius) * 3)}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[10px\]{border-radius:10px}.rounded-\[22\%\]{border-radius:22%}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:calc(var(--radius) * 1)}.rounded-md{border-radius:calc(var(--radius) * .75)}.rounded-xl{border-radius:calc(var(--radius) * 1.5)}.rounded-br-md{border-bottom-right-radius:calc(var(--radius) * .75)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-separator,.border-separator\/40{border-color:var(--separator)}@supports (color:color-mix(in lab, red, red)){.border-separator\/40{border-color:color-mix(in oklab, var(--separator) 40%, transparent)}}.bg-\[\#0a84ff\]{background-color:#0a84ff}.bg-\[\#1a1a1a\]{background-color:#1a1a1a}.bg-\[\#18181B\]{background-color:#18181b}.bg-\[var\(--field-background\)\]{background-color:var(--field-background)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-danger,.bg-danger\/20{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.bg-danger\/20{background-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.bg-foreground,.bg-foreground\/50{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/50{background-color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.bg-foreground\/60{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/60{background-color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-overlay{background-color:var(--overlay)}.bg-separator{background-color:var(--separator)}.bg-success{background-color:var(--success)}.bg-surface{background-color:var(--surface)}.bg-surface-secondary,.bg-surface-secondary\/40{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-surface-secondary\/40{background-color:color-mix(in oklab, var(--surface-secondary) 40%, transparent)}}.bg-surface-secondary\/45{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-surface-secondary\/45{background-color:color-mix(in oklab, var(--surface-secondary) 45%, transparent)}}.bg-surface-secondary\/55{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-surface-secondary\/55{background-color:color-mix(in oklab, var(--surface-secondary) 55%, transparent)}}.bg-surface-secondary\/70{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-surface-secondary\/70{background-color:color-mix(in oklab, var(--surface-secondary) 70%, transparent)}}.bg-surface-secondary\/80{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-surface-secondary\/80{background-color:color-mix(in oklab, var(--surface-secondary) 80%, transparent)}}.bg-surface-tertiary{background-color:var(--surface-tertiary)}.bg-surface\/70{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.bg-surface\/70{background-color:color-mix(in oklab, var(--surface) 70%, transparent)}}.bg-surface\/80{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.bg-surface\/80{background-color:color-mix(in oklab, var(--surface) 80%, transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--warning)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-12{padding-inline:calc(var(--spacing) * 12)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[7\.75rem\]{padding-left:7.75rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-metric{font-size:var(--text-metric);line-height:var(--tw-leading,var(--text-metric--line-height));font-weight:var(--tw-font-weight,var(--text-metric--font-weight))}.text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height));font-weight:var(--tw-font-weight,var(--text-section--font-weight))}.text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height));font-weight:var(--tw-font-weight,var(--text-title--font-weight))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-nav{font-size:var(--text-nav);line-height:var(--tw-leading,var(--text-nav--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[clamp\(2\.25rem\,4vw\,3\.6rem\)\]{font-size:clamp(2.25rem,4vw,3.6rem)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[-0\.045em\]{--tw-tracking:-.045em;letter-spacing:-.045em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--accent)}.text-background{color:var(--background)}.text-border{color:var(--border)}.text-danger{color:var(--danger)}.text-foreground,.text-foreground\/55{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/55{color:color-mix(in oklab, var(--foreground) 55%, transparent)}}.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-foreground\/65{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/65{color:color-mix(in oklab, var(--foreground) 65%, transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.text-foreground\/75{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/75{color:color-mix(in oklab, var(--foreground) 75%, transparent)}}.text-muted,.text-muted\/65{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.text-muted\/65{color:color-mix(in oklab, var(--muted) 65%, transparent)}}.text-muted\/70{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.text-muted\/70{color:color-mix(in oklab, var(--muted) 70%, transparent)}}.text-muted\/80{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.text-muted\/80{color:color-mix(in oklab, var(--muted) 80%, transparent)}}.text-overlay-foreground{color:var(--overlay-foreground)}.text-separator{color:var(--separator)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[inset_0_0_0_1px_color-mix\(in_oklab\,var\(--field-border\)_78\%\,var\(--foreground\)\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--field-border))}@supports (color:color-mix(in lab, red, red)){.shadow-\[inset_0_0_0_1px_color-mix\(in_oklab\,var\(--field-border\)_78\%\,var\(--foreground\)\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,color-mix(in oklab,var(--field-border) 78%,var(--foreground)))}}.shadow-\[inset_0_0_0_1px_color-mix\(in_oklab\,var\(--field-border\)_78\%\,var\(--foreground\)\)\]{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-overlay{--tw-shadow:var(--overlay-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-surface{--tw-shadow:var(--surface-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[opacity\,max-height\]{transition-property:opacity,max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\,background-color\]{transition-property:transform,opacity,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.2\,0\.7\,0\.2\,1\)\]{--tw-ease:cubic-bezier(.2,.7,.2,1);transition-timing-function:cubic-bezier(.2,.7,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.group-hover\/access-msg\:max-h-5:is(:where(.group\/access-msg):hover *){max-height:calc(var(--spacing) * 5)}.group-hover\/access-msg\:opacity-100:is(:where(.group\/access-msg):hover *){opacity:1}.group-hover\/navitem\:visible:is(:where(.group\/navitem):hover *){visibility:visible}.group-hover\/navitem\:opacity-100:is(:where(.group\/navitem):hover *){opacity:1}}.first\:border-0:first-child,.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\:max-h-5:focus-within{max-height:calc(var(--spacing) * 5)}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:bg-\[var\(--sidebar-hover\)\]:hover{background-color:var(--sidebar-hover)}.hover\:bg-default:hover{background-color:var(--default)}.hover\:bg-surface-secondary:hover,.hover\:bg-surface-secondary\/55:hover{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-secondary\/55:hover{background-color:color-mix(in oklab, var(--surface-secondary) 55%, transparent)}}.hover\:bg-surface-secondary\/70:hover{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-secondary\/70:hover{background-color:color-mix(in oklab, var(--surface-secondary) 70%, transparent)}}.hover\:bg-surface-secondary\/80:hover{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-secondary\/80:hover{background-color:color-mix(in oklab, var(--surface-secondary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:var(--accent)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:active\:translate-y-0:disabled:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-selected\:border-accent[data-selected]{border-color:var(--accent)}.data-selected\:bg-accent-soft[data-selected]{background-color:var(--accent-soft)}.data-\[focus-visible\=true\]\:bg-surface-secondary\/80[data-focus-visible=true]{background-color:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[focus-visible\=true\]\:bg-surface-secondary\/80[data-focus-visible=true]{background-color:color-mix(in oklab, var(--surface-secondary) 80%, transparent)}}.motion-reduce\:animate-none:is([data-reduce-motion=true],[data-reduce-motion=true] *),.motion-reduce\:animate-none:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.motion-reduce\:animate-none:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{animation:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.motion-reduce\:animate-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.motion-reduce\:animate-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{animation:none}}.motion-reduce\:transition-none:is([data-reduce-motion=true],[data-reduce-motion=true] *),.motion-reduce\:transition-none:is([data-reduce-motion=true],[data-reduce-motion=true] *):before,.motion-reduce\:transition-none:is([data-reduce-motion=true],[data-reduce-motion=true] *):after{transition-property:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)),.motion-reduce\:transition-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):before,.motion-reduce\:transition-none:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):after{transition-property:none}}.motion-reduce\:active\:translate-y-0:is([data-reduce-motion=true],[data-reduce-motion=true] *):active,:is():active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}@media (prefers-reduced-motion:reduce){.motion-reduce\:active\:translate-y-0:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):active,:is():active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}}.motion-reduce\:active\:scale-100:is([data-reduce-motion=true],[data-reduce-motion=true] *):active,:is():active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (prefers-reduced-motion:reduce){.motion-reduce\:active\:scale-100:not(:is([data-reduce-motion=true],[data-reduce-motion=true] *)):active,:is():active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-0{margin-inline:0}.sm\:mt-0{margin-top:0}.sm\:mt-1{margin-top:var(--spacing)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-11{height:calc(var(--spacing) * 11)}.sm\:min-h-\[36rem\]{min-height:36rem}.sm\:w-12{width:calc(var(--spacing) * 12)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:w-56{width:calc(var(--spacing) * 56)}.sm\:w-60{width:calc(var(--spacing) * 60)}.sm\:w-72{width:calc(var(--spacing) * 72)}.sm\:w-\[36rem\]{width:36rem}.sm\:w-\[42rem\]{width:42rem}.sm\:w-auto{width:auto}.sm\:max-w-\[78\%\]{max-width:78%}.sm\:max-w-\[88\%\]{max-width:88%}.sm\:max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.sm\:min-w-\[32rem\]{min-width:32rem}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.sm\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.sm\:grid-cols-\[48px_minmax\(0\,1fr\)_auto\]{grid-template-columns:48px minmax(0,1fr) auto}.sm\:grid-cols-\[52px_minmax\(0\,1fr\)_auto\]{grid-template-columns:52px minmax(0,1fr) auto}.sm\:grid-cols-\[150px_72px_minmax\(0\,1fr\)\]{grid-template-columns:150px 72px minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}:where(.sm\:space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.sm\:gap-x-6{column-gap:calc(var(--spacing) * 6)}.sm\:gap-y-0{row-gap:0}.sm\:gap-y-1{row-gap:var(--spacing)}.sm\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.sm\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.sm\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-0{padding-block:0}.sm\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:pt-3{padding-top:calc(var(--spacing) * 3)}.sm\:pt-5{padding-top:calc(var(--spacing) * 5)}.sm\:pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.sm\:pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\:pb-5{padding-bottom:calc(var(--spacing) * 5)}.sm\:pl-0{padding-left:0}.sm\:text-right{text-align:right}.sm\:text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height));font-weight:var(--tw-font-weight,var(--text-title--font-weight))}.sm\:font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.sm\:first\:border-0:first-child{border-style:var(--tw-border-style);border-width:0}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:min-h-\[72vh\]{min-height:72vh}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (width>=64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-dvh{min-height:100dvh}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(480px\,45\%\)\]{grid-template-columns:minmax(0,1fr) minmax(480px,45%)}.lg\:items-end{align-items:flex-end}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:px-14{padding-inline:calc(var(--spacing) * 14)}.lg\:py-10{padding-block:calc(var(--spacing) * 10)}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}.lg\:pt-6{padding-top:calc(var(--spacing) * 6)}.lg\:pb-16{padding-bottom:calc(var(--spacing) * 16)}}@media (width>=80rem){.xl\:block{display:block}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(0\,\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.xl\:grid-cols-\[minmax\(0\,1\.18fr\)_minmax\(360px\,\.82fr\)\]{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.xl\:grid-cols-\[minmax\(420px\,\.92fr\)_minmax\(0\,1\.08fr\)\]{grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr)}.xl\:grid-cols-\[minmax\(440px\,\.92fr\)_minmax\(0\,1\.08fr\)\]{grid-template-columns:minmax(440px,.92fr) minmax(0,1.08fr)}.xl\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.xl\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.xl\:border-\[color-mix\(in_oklab\,var\(--foreground\)_6\%\,transparent\)\]{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.xl\:border-\[color-mix\(in_oklab\,var\(--foreground\)_6\%\,transparent\)\]{border-color:color-mix(in oklab,var(--foreground) 6%,transparent)}}.xl\:px-16{padding-inline:calc(var(--spacing) * 16)}.xl\:px-20{padding-inline:calc(var(--spacing) * 20)}}@media (width>=96rem){.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&_\[data-slot\=input\]\]\:w-full [data-slot=input],.\[\&_\[data-slot\=textarea\]\]\:w-full [data-slot=textarea]{width:100%}.\[\&_svg\]\:size-\[18px\] svg{width:18px;height:18px}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,.light,.default,[data-theme=light],[data-theme=default]{--radius:.625rem;--field-radius:.5rem;--background:oklch(98.5% 0 0);--foreground:oklch(14.5% 0 0);--surface:oklch(100% 0 0);--surface-foreground:var(--foreground);--surface-secondary:oklch(97.5% 0 0);--surface-tertiary:oklch(96% 0 0);--overlay:oklch(100% 0 0);--overlay-foreground:var(--foreground);--muted:oklch(55.6% 0 0);--default:oklch(97% 0 0);--default-foreground:oklch(20.5% 0 0);--segment:oklch(100% 0 0);--segment-foreground:oklch(14.5% 0 0);--border:oklch(92.2% 0 0);--separator:oklch(92.2% 0 0);--link:var(--foreground);--accent:oklch(20.5% 0 0);--accent-foreground:oklch(98.5% 0 0);--focus:oklch(70.8% 0 0);--accent-soft:oklch(97% 0 0);--accent-soft-hover:oklch(94% 0 0);--accent-soft-foreground:oklch(20.5% 0 0);--field-background:oklch(100% 0 0);--field-border-width:1px;--field-border:oklch(92.2% 0 0);--field-border-hover:oklch(85% 0 0);--field-border-focus:oklch(70.8% 0 0);--hairline:oklch(14.5% 0 0/.1);--surface-shadow:0 1px 2px 0 #0000000d;--overlay-shadow:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--field-shadow:0 1px 2px 0 #0000000a;--chart-1:oklch(62% .17 255);--chart-2:oklch(64% .15 150);--chart-3:oklch(72% .15 70);--chart-4:oklch(62% .19 25);--chart-5:oklch(60% .17 300);--chart-6:oklch(66% .12 195);--chart-7:oklch(64% .18 340);--chart-8:oklch(58% .12 120);--surface-rim:oklch(100% 0 0/.85);--surface-edge:oklch(14.5% 0 0/.04);--surface-contact:0 1px 1px 0 #00000009;--surface-lift:0 6px 16px -8px #00000014;--tile-rim:oklch(100% 0 0/.7);--tile-under:oklch(14.5% 0 0/.05)}.dark,[data-theme=dark]{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--surface:oklch(20.5% 0 0);--surface-foreground:var(--foreground);--surface-secondary:oklch(17.5% 0 0);--surface-tertiary:oklch(26.9% 0 0);--overlay:oklch(20.5% 0 0);--overlay-foreground:var(--foreground);--muted:oklch(70.8% 0 0);--default:oklch(26.9% 0 0);--default-foreground:oklch(98.5% 0 0);--segment:oklch(32% 0 0);--segment-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--separator:oklch(100% 0 0/.1);--accent:oklch(92.2% 0 0);--accent-foreground:oklch(20.5% 0 0);--focus:oklch(55.6% 0 0);--accent-soft:oklch(26.9% 0 0);--accent-soft-hover:oklch(31% 0 0);--accent-soft-foreground:oklch(98.5% 0 0);--field-background:oklch(100% 0 0/.045);--field-border-width:1px;--field-border:oklch(100% 0 0/.15);--field-border-hover:oklch(100% 0 0/.22);--field-border-focus:oklch(55.6% 0 0);--hairline:oklch(100% 0 0/.1);--surface-shadow:0 1px 2px 0 #0000004d;--overlay-shadow:0 8px 24px -6px #00000080;--field-shadow:none;--chart-1:oklch(70% .15 255);--chart-2:oklch(72% .14 150);--chart-3:oklch(78% .14 70);--chart-4:oklch(70% .17 25);--chart-5:oklch(68% .16 300);--chart-6:oklch(74% .11 195);--chart-7:oklch(72% .16 340);--chart-8:oklch(66% .12 120);--surface-rim:oklch(100% 0 0/.06);--surface-edge:oklch(100% 0 0/.03);--surface-contact:0 1px 1px 0 #00000059;--surface-lift:0 10px 24px -10px #0000008c;--tile-rim:oklch(100% 0 0/.07);--tile-under:oklch(0% 0 0/.25)}html,body,#root{min-height:100%}html{background:var(--background)}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}*{box-sizing:border-box}::selection{background:var(--accent-soft);color:var(--foreground)}.pagination__link[data-active=true]{--pagination-link-bg:var(--accent-soft);--pagination-link-bg-hover:var(--accent-soft-hover);--pagination-link-bg-pressed:var(--accent-soft-hover);--pagination-link-fg:var(--accent-soft-foreground)}.skeleton{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.skeleton{background:color-mix(in oklab, var(--foreground) 10%, var(--surface))}}.brand-mark--loading .brand-mark__scan{stroke-dasharray:14 86;animation:1.35s linear infinite brand-mark-scan}@keyframes access-thinking-shimmer{0%,to{opacity:.55}50%{opacity:1}}.access-thinking-shimmer{animation:1.6s ease-in-out infinite access-thinking-shimmer}@media (prefers-reduced-motion:reduce){.access-thinking-shimmer{opacity:1;animation:none}}@keyframes access-stream-seg{0%{opacity:.35}to{opacity:1}}.access-stream-seg{animation:.28s ease-out both access-stream-seg}@media (prefers-reduced-motion:reduce){.access-stream-seg{animation:none}}.access-chat-shell{box-shadow:none;background:0 0}.access-chat-stage{background:0 0}.access-hist-rail{background:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.access-hist-rail{background:color-mix(in oklab, var(--surface-secondary) 33%, transparent)}}.access-hist-rail{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.access-hist-rail{border-color:color-mix(in oklab, var(--foreground) 7%, transparent)}}.access-hist-item{transition:background-color .2s cubic-bezier(.2,.7,.2,1),color .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s cubic-bezier(.2,.7,.2,1)}.access-hist-item:hover:not([data-active=true]){background:var(--sidebar-hover);color:var(--foreground)}.access-hist-item[data-active=true]{background:var(--sidebar-active);color:var(--foreground);box-shadow:inset 0 0 0 1px var(--sidebar-active-rim), 0 1px 2px 0 #0000000a}.access-composer{border-top:1px solid var(--foreground);background:0 0}@supports (color:color-mix(in lab, red, red)){.access-composer{border-top:1px solid color-mix(in oklab, var(--foreground) 4%, transparent)}}.access-composer-well{background:var(--field-background);border:1px solid var(--field-border)}@supports (color:color-mix(in lab, red, red)){.access-composer-well{border:1px solid color-mix(in oklab, var(--field-border) 78%, var(--foreground))}}.access-composer-well{box-shadow:none}.access-raw-panel{background:var(--surface);box-shadow:0 0 0 1px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.access-raw-panel{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 7%, transparent)}}.access-raw-panel__inspector{background:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.access-raw-panel__inspector{background:color-mix(in oklab, var(--surface-secondary) 33%, transparent)}}.access-bubble--user{background:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.access-bubble--user{background:color-mix(in oklab, var(--surface-secondary) 90%, var(--foreground))}}.access-bubble--user{box-shadow:inset 0 0 0 1px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.access-bubble--user{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--foreground) 4.5%, transparent)}}.access-bubble--user{color:var(--foreground)}.access-bubble--assistant{background:0 0}.access-msg-foot{transition:opacity .2s cubic-bezier(.2,.7,.2,1)}.access-latency-inline{letter-spacing:-.01em}.access-format-chips.filter-toggle{border-radius:10px;padding:1px}.access-format-chips .toggle-button-group .toggle-button{height:1.75rem;min-height:1.75rem;font-size:var(--text-caption);border-radius:9px;padding-inline:.625rem}.access-format-chips .filter-toggle__pill{border-radius:9px}.access-stream-seg{animation-timing-function:cubic-bezier(.2,.7,.2,1)}@keyframes brand-mark-scan{to{stroke-dashoffset:-100px}}@media (prefers-reduced-motion:reduce){.brand-mark--loading .brand-mark__scan{opacity:0;animation:none}}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.status-dot{background:var(--muted);border-radius:999px;width:.5rem;height:.5rem;display:inline-block}.status-dot[data-state=ok]{background:var(--success);animation:2.4s ease-out infinite status-dot-pulse}@keyframes status-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--success) 40%, transparent)}70%,to{box-shadow:0 0 0 5px #0000}}.status-dot[data-state=danger],.status-dot[data-state=warn]{animation:none}@media (prefers-reduced-motion:reduce){.status-dot[data-state=ok]{animation:none}}.status-dot[data-state=warn]{background:var(--warning)}.status-dot[data-state=danger]{background:var(--danger)}.account-card .status-dot{width:.375rem;height:.375rem}.account-meter{grid-template-columns:minmax(0,1fr);grid-template-areas:"output""track";gap:.4rem;width:100%;min-width:0;display:grid}.account-meter .meter__output,.account-meter .meter__track{width:100%;min-width:0}.account-meter .meter__track{background:var(--separator);border-radius:999px;height:.5rem;overflow:hidden}.account-meter .meter__fill{border-radius:999px}.account-meter--window{gap:.3rem}.account-meter--window .meter__track{height:.5rem}.account-quota-windows .tooltip__trigger{width:100%;min-width:0;display:block}.runtime-meter{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:.15rem;height:.5rem;display:grid}.runtime-meter__seg{background:var(--separator);transform-origin:bottom;opacity:.45;border-radius:1px;height:100%;display:block;transform:scaleY(.32)}.runtime-meter__seg[data-on=true]{opacity:1;transform:scaleY(1)}.runtime-meter__seg[data-tone=ok]{background:var(--success)}.runtime-meter__seg[data-tone=warn]{background:var(--warning)}.runtime-meter__seg[data-tone=danger]{background:var(--danger)}.runtime-meter__seg[data-tone=muted]{background:var(--muted)}.release-notes-panel{border-radius:var(--radius-xl);background:var(--surface-secondary);padding:.75rem 1rem .85rem}.release-notes-box{overscroll-behavior:contain;max-height:min(22rem,52vh);margin-top:.5rem;padding-right:.15rem;overflow:hidden auto}.release-notes-box--compact{max-height:10rem;margin-top:0}.release-notes{color:var(--foreground);font-size:var(--text-xs);overflow-wrap:anywhere;line-height:1.55}.release-notes h3,.release-notes h4{color:var(--muted);font-size:var(--text-caption);letter-spacing:.01em;margin:0 0 .45rem;font-weight:600}.release-notes h3+ul,.release-notes h4+ul,.release-notes h3+p,.release-notes h4+p{margin-top:0}.release-notes ul{gap:.45rem;margin:0;padding-left:1.05rem;display:grid}.release-notes li{overflow-wrap:anywhere}.release-notes li::marker{color:var(--muted)}.release-notes p{color:var(--muted);margin:0 0 .5rem}.release-notes p:last-child,.release-notes ul:last-child{margin-bottom:0}.release-notes code{font-family:var(--font-mono);font-size:var(--text-caption);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground);padding:.05rem .28rem}.release-notes a{color:var(--link);text-underline-offset:2px;text-decoration:underline}.release-notes strong{font-weight:600}.release-notes__empty{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tabular,.mono,.card .text-metric{font-variant-numeric:tabular-nums}.filter-toggle__pill{border-radius:calc(var(--radius) - 3px);background:var(--segment);box-shadow:0 0 0 1px var(--hairline), var(--surface-shadow)}.trend-chip{height:1.25rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--accent);color:var(--accent-foreground);border-radius:999px;align-items:center;gap:.25rem;padding:0 .5rem;font-weight:500;display:inline-flex}.trend-chip[data-tone=down]{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.trend-chip[data-tone=down]{background:color-mix(in oklab, var(--danger) 12%, transparent)}}.trend-chip[data-tone=down]{color:var(--danger)}.trend-chip[data-tone=flat]{background:var(--default);color:var(--muted)}.rank-row{transition:background-color .12s}.rank-row:hover{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.rank-row:hover{background:color-mix(in oklch, var(--foreground) 3%, transparent)}}.rank-row:focus-visible{background:var(--foreground);outline:none}@supports (color:color-mix(in lab, red, red)){.rank-row:focus-visible{background:color-mix(in oklch, var(--foreground) 5%, transparent)}}.data-toolbar{border-radius:calc(var(--radius) + 2px);background:var(--surface-secondary);padding:.5rem}body{font-size:var(--text-body);line-height:var(--text-body--line-height);font-weight:400}h1,h2,h3{letter-spacing:-.015em;font-weight:600}.table__column,.label,.field-label{font-weight:500}.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-surface:focus,.recharts-surface:focus-visible{outline:none}:root,.light,[data-theme=light]{--sidebar-hover:oklch(14.5% 0 0/.035);--sidebar-active:oklch(100% 0 0);--sidebar-active-rim:oklch(14.5% 0 0/.04)}.dark,[data-theme=dark]{--sidebar-hover:oklch(100% 0 0/.045);--sidebar-active:oklch(100% 0 0/.08);--sidebar-active-rim:oklch(100% 0 0/.05)}[data-sidebar-item]:hover{background:var(--sidebar-hover)}[data-sidebar-item].sidebar-item-active,[data-sidebar-item].sidebar-item-active:hover{background:var(--sidebar-active);box-shadow:inset 0 0 0 1px var(--sidebar-active-rim), 0 1px 2px 0 #0000000a}.sidebar-status{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.sidebar-status{background:color-mix(in oklch, var(--surface) 70%, transparent)}}.sidebar-status{box-shadow:inset 0 1px 0 var(--surface-rim)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-border-spacing-x{syntax:"";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes skeleton{to{transform:translate(200%)}} diff --git a/internal/webui/static/assets/index-C5LslQI9.js b/internal/webui/static/assets/index-C5LslQI9.js deleted file mode 100644 index 38fb6153..00000000 --- a/internal/webui/static/assets/index-C5LslQI9.js +++ /dev/null @@ -1,96 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LiveSparkline-BKHIKlZl.js","assets/CartesianChart-D9Qz51Q6.js","assets/AreaChart-B-HmzR8M.js","assets/TrafficChart-C_J3rzAT.js","assets/XAxis-CcjVCtOa.js","assets/CostChart-B2R12QhR.js"])))=>i.map(i=>d[i]); -var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=p(),n=d(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1z||(e.current=ee[z],ee[z]=null,z--)}function ne(e,t){z++,ee[z]=e.current,e.current=t}var re=te(null),ie=te(null),ae=te(null),oe=te(null);function se(e,t){switch(ne(ae,t),ne(ie,e),ne(re,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Yd(t),e=Xd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}B(re),ne(re,e)}function ce(){B(re),B(ie),B(ae)}function le(e){e.memoizedState!==null&&ne(oe,e);var t=re.current,n=Xd(t,e.type);t!==n&&(ne(ie,e),ne(re,n))}function ue(e){ie.current===e&&(B(re),B(ie)),oe.current===e&&(B(oe),ap._currentValue=R)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` -Error generating stack: `+e.message+` -`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,Te=t.unstable_ImmediatePriority,Ee=t.unstable_UserBlockingPriority,De=t.unstable_NormalPriority,Oe=t.unstable_LowPriority,ke=t.unstable_IdlePriority,Ae=t.log,je=t.unstable_setDisableYieldValue,Me=null,Ne=null;function Pe(e){if(typeof Ae==`function`&&je(e),Ne&&typeof Ne.setStrictMode==`function`)try{Ne.setStrictMode(Me,e)}catch{}}var Fe=Math.clz32?Math.clz32:Re,Ie=Math.log,Le=Math.LN2;function Re(e){return e>>>=0,e===0?32:31-(Ie(e)/Le|0)|0}var ze=256,Be=262144,Ve=4194304;function He(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ue(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=He(n))):i=He(o):i=He(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=He(n))):i=He(o)):i=He(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ke(){var e=Ve;return Ve<<=1,!(Ve&62914560)&&(Ve=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ye(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),cn=!1;if(sn)try{var ln={};Object.defineProperty(ln,"passive",{get:function(){cn=!0}}),window.addEventListener(`test`,ln,ln),window.removeEventListener(`test`,ln,ln)}catch{cn=!1}var un=null,dn=null,fn=null;function pn(){if(fn)return fn;var e,t=dn,n=t.length,r,i=`value`in un?un.value:un.textContent,a=i.length;for(e=0;e=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=pn(),fn=dn=un=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Sr(n)}}function wr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function Er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Dr=sn&&`documentMode`in document&&11>=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==Pt(r)||(r=Or,`selectionStart`in r&&Er(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&xr(Ar,r)||(Ar=r,r=Nd(kr,`onSelect`),0>=o,i-=o,wi=1<<32-Fe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ni&&Ei(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Ni&&Ei(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ni&&Ei(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Ni&&Ei(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Da(l)===r.type){n(e,r.sibling),c=a(r,o.props),Pa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=di(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ui(o.type,o.key,o.props,null,e.mode,c),Pa(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=mi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Da(o),b(e,r,o,c)}if(F(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Na(o),c);if(o.$$typeof===C)return b(e,r,ta(e,o),c);Fa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=fi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ma=0;var i=b(e,t,n,r);return ja=null,i}catch(t){if(t===xa||t===Ca)throw t;var a=oi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var La=Ia(!0),Ra=Ia(!1),za=!1;function Ba(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Va(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ha(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ua(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ri(e),ni(e,null,n),t}return $r(e,r,t,n),ri(e)}function Wa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}function Ga(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ka=!1;function qa(){if(Ka){var e=fa;if(e!==null)throw e}}function Ja(e,t,n,r){Ka=!1;var i=e.updateQueue;za=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Hl&f)===f:(r&f)===f){f!==0&&f===da&&(Ka=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:za=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Ya(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Xa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=I.T,s={};I.T=s,Ps(e,!1,t,n);try{var c=i(),l=I.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ns(e,t,ha(c,r),vu(e)):Ns(e,t,r,vu(e))}catch(n){Ns(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{L.p=a,o!==null&&s.types!==null&&(o.types=s.types),I.T=o}}function ws(){}function Ts(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Es(e).queue;H(e,a,t,R,n===null?ws:function(){return Ds(e),n(r)})}function Es(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:R},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ds(e){var t=Es(e);t.next===null&&(t=e.alternate.memoizedState),Ns(e,t.next.queue,{},vu())}function Os(){return ea(ap)}function ks(){return No().memoizedState}function U(){return No().memoizedState}function As(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=Ha(n);var r=Ua(t,e,n);r!==null&&(bu(r,t,n),Wa(r,t,n)),t={cache:sa()},e.payload=t;return}t=t.return}}function js(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)?Is(t,n):(n=ei(e,t,n,r),n!==null&&(bu(n,e,r),Ls(n,t,r)))}function Ms(e,t,n){Ns(e,t,n,vu())}function Ns(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))Is(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,br(s,o))return $r(e,t,i,0),Bl===null&&Qr(),!1}catch{}if(n=ei(e,t,i,r),n!==null)return bu(n,e,r),Ls(n,t,r),!0}return!1}function Ps(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(i(479))}else t=ei(e,n,r,2),t!==null&&bu(t,e,2)}function Fs(e){var t=e.alternate;return e===po||t!==null&&t===po}function Is(e,t){_o=go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ls(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}var Rs={readContext:ea,use:Io,useCallback:Co,useContext:Co,useEffect:Co,useImperativeHandle:Co,useLayoutEffect:Co,useInsertionEffect:Co,useMemo:Co,useReducer:Co,useRef:Co,useState:Co,useDebugValue:Co,useDeferredValue:Co,useTransition:Co,useSyncExternalStore:Co,useId:Co,useHostTransitionStatus:Co,useFormState:Co,useActionState:Co,useOptimistic:Co,useMemoCache:Co,useCacheRefresh:Co};Rs.useEffectEvent=Co;var zs={readContext:ea,use:Io,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:ea,useEffect:fs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),us(4194308,4,_s.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){us(4,2,e,t)},useMemo:function(e,t){var n=Mo();t=t===void 0?null:t;var r=e();if(vo){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Mo();if(n!==void 0){var i=n(t);if(vo){Pe(!0);try{n(t)}finally{Pe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=js.bind(null,po,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Ms.bind(null,po,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ys,useDeferredValue:function(e,t){return Ss(Mo(),e,t)},useTransition:function(){var e=Jo(!1);return e=H.bind(null,po,e.queue,!0,!1),Mo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=po,a=Mo();if(Ni){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Bl===null)throw Error(i(349));Hl&127||Uo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,fs(Go.bind(null,r,o,e),[e]),r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=Mo(),t=Bl.identifierPrefix;if(Ni){var n=Ti,r=wi;n=(r&~(1<<32-Fe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=yo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[it]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Nc(t)}}return Ic(t),W(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Nc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ae.current,Bi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=ji,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[it]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Li(t,!0)}else e=Jd(e).createTextNode(r),e[it]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Bi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[it]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Hi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(co(t),t):(co(t),null);if(t.flags&128)throw Error(i(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Bi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[it]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),a=!1}else a=Hi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(co(t),t):(co(t),null)}return co(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Fc(t,t.updateQueue),Ic(t),null);case 4:return ce(),e===null&&kd(t.stateNode.containerInfo),Ic(t),null;case 10:return Ji(t.type),Ic(t),null;case 19:if(B(lo),r=t.memoizedState,r===null)return Ic(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)G(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=uo(e),o!==null){for(t.flags|=128,G(r,!1),e=o.updateQueue,t.updateQueue=e,Fc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)li(n,e),n=n.sibling;return ne(lo,lo.current&1|2),Ni&&Ei(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>ou&&(t.flags|=128,a=!0,G(r,!1),t.lanes=4194304)}}else{if(!a){if(e=uo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Fc(t,e),G(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ni)return Ic(t),null}else 2*Ce()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,a=!0,G(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=lo.current,ne(lo,a?n&1|2:n&1),Ni&&Ei(t,r.treeForkCount),e);case 22:case 23:return co(t),to(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Fc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&B(_a),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ji(oa),Ic(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Rc(e,t){switch(ki(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ji(oa),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(co(t),t.alternate===null)throw Error(i(340));Vi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(co(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Vi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(lo),null;case 4:return ce(),null;case 10:return Ji(t.type),null;case 22:case 23:return co(t),to(),e!==null&&B(_a),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ji(oa),null;case 25:return null;default:return null}}function zc(e,t){switch(ki(t),t.tag){case 3:Ji(oa),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&co(t);break;case 13:co(t);break;case 19:B(lo);break;case 10:Ji(t.type);break;case 22:case 23:co(t),to(),e!==null&&B(_a);break;case 24:Ji(oa)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Xu(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Xu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Xu(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Xa(t,n)}catch(t){Xu(e,e.return,t)}}}function Uc(e,t,n){n.props=Ks(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Xu(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Xu(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Xu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Xu(e,t,n)}else n.current=null}}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Xu(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[at]=t}catch(t){Xu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&of(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[it]=e,t[at]=n}catch(t){Xu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Kd=mp,e=Tr(e),Er(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},mp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Hd(o,r,n),o[it]=e,_t(o),r=o;break a;case`link`:var s=Jf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Cr(s,h),v=Cr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,I.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(i(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ud(0,!1),Ne&&typeof Ne.onPostCommitFiberRoot==`function`)try{Ne.onPostCommitFiberRoot(Me,o)}catch{}return!0}finally{L.p=a,I.T=r,Ku(e,t)}}function Yu(e,t,n){t=gi(n,t),t=Qs(e.stateNode,t,2),e=Ua(e,t,2),e!==null&&(Je(e,2),ld(e))}function Xu(e,t,n){if(e.tag===3)Yu(e,e,n);else for(;t!==null;){if(t.tag===3){Yu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=gi(n,e),n=$s(2),r=Ua(t,n,2),r!==null&&(ec(n,r,t,e),Je(r,2),ld(r));break}}t=t.return}}function Zu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Qu.bind(null,e,t,n),t.then(e,e))}function Qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>Ce()-iu?!(zl&2)&&Du(e,0):Ql|=n,eu===Hl&&(eu=0)),ld(e)}function $u(e,t){t===0&&(t=Ke()),e=ti(e,t),e!==null&&(Je(e,t),ld(e))}function ed(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$u(e,n)}function td(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),$u(e,n)}function nd(e,t){return ye(e,t)}var rd=null,id=null,ad=!1,od=!1,sd=!1,cd=0;function ld(e){e!==id&&e.next===null&&(id===null?rd=id=e:id=id.next=e),od=!0,ad||(ad=!0,gd())}function ud(e,t){if(!sd&&od){sd=!0;do for(var n=!1,r=rd;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Fe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Hl,a=Ue(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,hd(r,a))}r=r.next}while(n);sd=!1}}function dd(){fd()}function fd(){od=ad=!1;var e=0;cd!==0&&$d()&&(e=cd);for(var t=Ce(),n=null,r=rd;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?rd=i:n.next=i,i===null&&(id=n)):(n=r,(e!==0||a&3)&&(od=!0)),r=i}lu!==0&&lu!==5||ud(e,!1),cd!==0&&(cd=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Wd(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function kf(e,t,n){var r=Of;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Cf.has(i)||(Cf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Af(e){Tf.D(e),kf(`dns-prefetch`,e,null)}function jf(e,t){Tf.C(e,t),kf(`preconnect`,e,t)}function Mf(e,t,n){Tf.L(e,t,n);var r=Of;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=Rf(e);break;case`script`:a=Vf(e)}Sf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Sf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(zf(a))||t===`script`&&r.querySelector(Hf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Nf(e,t){Tf.m(e,t);var n=Of;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Vf(e)}if(!Sf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),Sf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Hf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),_t(r),n.head.appendChild(r)}}}function Pf(e,t,n){Tf.S(e,t,n);var r=Of;if(r&&e){var i=gt(r).hoistableStyles,a=Rf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(zf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Sf.get(a))&&Gf(e,n);var c=o=r.createElement(`link`);_t(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Wf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Ff(e,t){Tf.X(e,t);var n=Of;if(n&&e){var r=gt(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=m({src:e,async:!0},t),(t=Sf.get(i))&&Kf(e,t),a=n.createElement(`script`),_t(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t){Tf.M(e,t);var n=Of;if(n&&e){var r=gt(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=Sf.get(i))&&Kf(e,t),a=n.createElement(`script`),_t(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Lf(e,t,n,r){var a=(a=ae.current)?wf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Rf(n.href),n=gt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Rf(n.href);var o=gt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(zf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Sf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Sf.set(e,n),o||K(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Vf(n),n=gt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Rf(e){return`href="`+It(e)+`"`}function zf(e){return`link[rel="stylesheet"][`+e+`]`}function Bf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function K(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),_t(t),e.head.appendChild(t))}function Vf(e){return`[src="`+It(e)+`"]`}function Hf(e){return`script[async]`+e}function Uf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,_t(r),r;var a=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),_t(r),Hd(r,`style`,a),Wf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Rf(n.href);var o=e.querySelector(zf(a));if(o)return t.state.loading|=4,t.instance=o,_t(o),o;r=Bf(n),(a=Sf.get(a))&&Gf(r,a),o=(e.ownerDocument||e).createElement(`link`),_t(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Wf(o,n.precedence,e),t.instance=o;case`script`:return o=Vf(n.src),(a=e.querySelector(Hf(o)))?(t.instance=a,_t(a),a):(r=n,(a=Sf.get(o))&&(r=m({},n),Kf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),_t(a),Hd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Wf(r,n.precedence,e));return t.instance}function Wf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Rf(r.href),a=t.querySelector(zf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_t(a);return}a=t.ownerDocument||t,r=Bf(r),(i=Sf.get(i))&&Gf(r,i),a=a.createElement(`link`),_t(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=l(d(),1),y=_(),b=`modulepreload`,x=function(e){return`/`+e},S={},C=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=x(t,n),t=s(t),t in S)return;S[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:b,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},w=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,T=/^[\\/]{2}/;function E(e,t){return t+e.replace(/\\/g,`/`)}var D=`popstate`;function O(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function k(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return P(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:F(t)}return L(t,n,null,e)}function A(e,t){if(e===!1||e==null)throw Error(t)}function j(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function M(){return Math.random().toString(36).substring(2,10)}function N(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function P(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?I(t):t,state:n,key:t&&t.key||r||M(),mask:i}}function F({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function I(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function L(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=O(e)?e:P(h.location,e,t);n&&n(r,e),l=u()+1;let d=N(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=O(e)?e:P(h.location,e,t);n&&n(r,e),l=u();let i=N(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return R(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(D,d),c=e,()=>{i.removeEventListener(D,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function R(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),A(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:F(t);return i=i.replace(/ $/,`%20`),!n&&T.test(i)&&(i=r+i),new URL(i,r)}function ee(e,t,n=`/`){return z(e,t,n,!1)}function z(e,t,n,r,i){let a=ve((typeof t==`string`?I(t):t).pathname||`/`,n);if(a==null)return null;let o=i??te(e),s=null,c=_e(a);for(let e=0;s==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;A(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ee([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(A(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),B(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:de(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=ge(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ne(e.path))a(e,t,!0,n)}),t}function ne(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ne(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function re(e){e.sort((e,t)=>e.score===t.score?fe(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ie=/^:[\w-]+$/,ae=3,oe=2,se=1,ce=10,le=-2,ue=e=>e===`*`;function de(e,t){let n=e.split(`/`),r=n.length;return n.some(ue)&&(r+=le),t&&(r+=oe),n.filter(e=>!ue(e)).reduce((e,t)=>e+(ie.test(t)?ae:t===``?se:ce),r)}function fe(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function pe(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function ge(e,t=!1,n=!0){j(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function _e(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return j(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ve(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function ye(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?I(e):e,a;return n?(n=Te(n),a=n.startsWith(`/`)?be(n.substring(1),`/`):be(n,t)):a=t,{pathname:a,search:ke(r),hash:Ae(i)}}function be(e,t){let n=De(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function xe(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Se(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Ce(e){let t=Se(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function we(e,t,n,r=!1){let i;typeof e==`string`?i=I(e):(i={...e},A(!i.pathname||!i.pathname.includes(`?`),xe(`?`,`pathname`,`search`,i)),A(!i.pathname||!i.pathname.includes(`#`),xe(`#`,`pathname`,`hash`,i)),A(!i.search||!i.search.includes(`#`),xe(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ye(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Te=e=>e.replace(/[\\/]{2,}/g,`/`),Ee=e=>Te(e.join(`/`)),De=e=>e.replace(/\/+$/,``),Oe=e=>De(e).replace(/^\/*/,`/`),ke=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ae=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,je=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Me(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Ne(e){return Ee(e.map(e=>e.route.path).filter(Boolean))||`/`}var Pe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Fe(e,t){let n=e;if(typeof n!=`string`||!w.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Pe)try{let e=new URL(window.location.href),r=T.test(n)?new URL(E(n,e.protocol)):new URL(n),a=ve(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{j(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Ie=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Ie);var Le=[`GET`,...Ie];new Set(Le);var Re=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function ze(e){try{return Re.includes(new URL(e).protocol)}catch{return!1}}var Be=v.createContext(null);Be.displayName=`DataRouter`;var Ve=v.createContext(null);Ve.displayName=`DataRouterState`;var He=v.createContext(!1);function Ue(){return v.useContext(He)}var We=v.createContext({isTransitioning:!1});We.displayName=`ViewTransition`;var Ge=v.createContext(new Map);Ge.displayName=`Fetchers`;var Ke=v.createContext(null);Ke.displayName=`Await`;var qe=v.createContext(null);qe.displayName=`Navigation`;var Je=v.createContext(null);Je.displayName=`Location`;var Ye=v.createContext({outlet:null,matches:[],isDataRoute:!1});Ye.displayName=`Route`;var Xe=v.createContext(null);Xe.displayName=`RouteError`;var Ze=`REACT_ROUTER_ERROR`,Qe=`REDIRECT`,$e=`ROUTE_ERROR_RESPONSE`;function et(e){if(e.startsWith(`${Ze}:${Qe}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function tt(e){if(e.startsWith(`${Ze}:${$e}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new je(t.status,t.statusText,t.data)}catch{}}function nt(e,{relative:t}={}){A(rt(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=v.useContext(qe),{hash:i,pathname:a,search:o}=dt(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ee([n,a])),r.createHref({pathname:s,search:o,hash:i})}function rt(){return v.useContext(Je)!=null}function it(){return A(rt(),`useLocation() may be used only in the context of a component.`),v.useContext(Je).location}var at=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function ot(e){v.useContext(qe).static||v.useLayoutEffect(e)}function st(){let{isDataRoute:e}=v.useContext(Ye);return e?Ot():ct()}function ct(){A(rt(),`useNavigate() may be used only in the context of a component.`);let e=v.useContext(Be),{basename:t,navigator:n}=v.useContext(qe),{matches:r}=v.useContext(Ye),{pathname:i}=it(),a=JSON.stringify(Ce(r)),o=v.useRef(!1);return ot(()=>{o.current=!0}),v.useCallback((r,s={})=>{if(j(o.current,at),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=we(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ee([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var lt=v.createContext(null);function ut(e){let t=v.useContext(Ye).outlet;return v.useMemo(()=>t&&v.createElement(lt.Provider,{value:e},t),[t,e])}function dt(e,{relative:t}={}){let{matches:n}=v.useContext(Ye),{pathname:r}=it(),i=JSON.stringify(Ce(n));return v.useMemo(()=>we(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function ft(e,t){return pt(e,t)}function pt(e,t,n){A(rt(),`useRoutes() may be used only in the context of a component.`);let{navigator:r}=v.useContext(qe),{matches:i}=v.useContext(Ye),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;At(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${s}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let u=it(),d;if(t){let e=typeof t==`string`?I(t):t;A(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):ee(e,{pathname:p});j(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),j(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let h=bt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Ee([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Ee([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?v.createElement(Je.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function mt(){let e=Dt(),t=Me(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=v.createElement(v.Fragment,null,v.createElement(`p`,null,`💿 Hey developer 👋`),v.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,v.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,v.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),v.createElement(v.Fragment,null,v.createElement(`h2`,null,`Unexpected Application Error!`),v.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?v.createElement(`pre`,{style:i},n):null,o)}var ht=v.createElement(mt,null),gt=class extends v.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=tt(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:v.createElement(Ye.Provider,{value:this.props.routeContext},v.createElement(Xe.Provider,{value:e,children:this.props.component}));return this.context?v.createElement(vt,{error:e},t):t}};gt.contextType=He;var _t=new WeakMap;function vt({children:e,error:t}){let{basename:n}=v.useContext(qe);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=et(t.digest);if(e){let r=_t.get(t);if(r)throw r;let i=Fe(e.location,n),a=i.absoluteURL||i.to;if(ze(a))throw Error(`Invalid redirect location`);if(Pe&&!_t.get(t)){if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw _t.set(t,n),n}}return v.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function yt({routeContext:e,match:t,children:n}){let r=v.useContext(Be);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),v.createElement(Ye.Provider,{value:e},n)}function bt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);A(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Ne(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||ht,o&&(s<0&&c===0?(At(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?v.createElement(n.route.Component,null):n.route.element?n.route.element:e,v.createElement(yt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?v.createElement(gt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function xt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function St(e){let t=v.useContext(Be);return A(t,xt(e)),t}function Ct(e){let t=v.useContext(Ve);return A(t,xt(e)),t}function wt(e){let t=v.useContext(Ye);return A(t,xt(e)),t}function Tt(e){let t=wt(e),n=t.matches[t.matches.length-1];return A(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Et(){return Tt(`useRouteId`)}function Dt(){let e=v.useContext(Xe),t=Ct(`useRouteError`),n=Tt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Ot(){let{router:e}=St(`useNavigate`),t=Tt(`useNavigate`),n=v.useRef(!1);return ot(()=>{n.current=!0}),v.useCallback(async(r,i={})=>{j(n.current,at),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var kt={};function At(e,t,n){!t&&!kt[e]&&(kt[e]=!0,j(!1,n))}v.memo(jt);function jt({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return pt(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Mt({to:e,replace:t,state:n,relative:r}){A(rt(),` may be used only in the context of a component.`);let{static:i}=v.useContext(qe);j(!i,` must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.`);let{matches:a}=v.useContext(Ye),{pathname:o}=it(),s=st(),c=we(e,Ce(a),o,r===`path`),l=JSON.stringify(c);return v.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function Nt(e){return ut(e.context)}function Pt(e){A(!1,`A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`)}function Ft({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){A(!rt(),`You cannot render a inside another . You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=v.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=I(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=v.useMemo(()=>{let e=ve(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return j(h!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),h==null?null:v.createElement(qe.Provider,{value:c},v.createElement(Je.Provider,{children:t,value:h}))}function It({children:e,location:t}){return ft(Lt(e),t)}v.Component;function Lt(e,t=[]){let n=[];return v.Children.forEach(e,(e,r)=>{if(!v.isValidElement(e))return;let i=[...t,r];if(e.type===v.Fragment){n.push.apply(n,Lt(e.props.children,i));return}A(e.type===Pt,`[${typeof e.type==`string`?e.type:e.type.name}] is not a component. All component children of must be a or `),A(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Lt(e.props.children,i)),n.push(a)}),n}var Rt=`get`,zt=`application/x-www-form-urlencoded`;function Bt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Vt(e){return Bt(e)&&e.tagName.toLowerCase()===`button`}function Ht(e){return Bt(e)&&e.tagName.toLowerCase()===`form`}function Ut(e){return Bt(e)&&e.tagName.toLowerCase()===`input`}function Wt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Gt(e,t){return e.button===0&&(!t||t===`_self`)&&!Wt(e)}function Kt(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function qt(e,t){let n=Kt(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Jt=null;function Yt(){if(Jt===null)try{new FormData(document.createElement(`form`),0),Jt=!1}catch{Jt=!0}return Jt}var Xt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Zt(e){return e!=null&&!Xt.has(e)?(j(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${zt}"`),null):e}function Qt(e,t){let n,r,i,a,o;if(Ht(e)){let o=e.getAttribute(`action`);r=o?ve(o,t):null,n=e.getAttribute(`method`)||Rt,i=Zt(e.getAttribute(`enctype`))||zt,a=new FormData(e)}else if(Vt(e)||Ut(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a