diff --git a/.gitignore b/.gitignore index a19f004..6e6a227 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,24 @@ -# ---> Vue -# gitignore template for Vue.js projects -# -# Recommended template: Node.gitignore +# .NET +**/bin/ +**/obj/ +*.user +*.suo +*.cache +*.dll +*.pdb +!**/wwwroot/**/*.dll -# TODO: where does this rule come from? -docs/_book +# MiGu.Server 运行时数据(含敏感 token) +MiGu.Server/data/*.json +MiGu.Server/data/.internal-token -# TODO: where does this rule come from? -test/ +# 可选:若希望 wwwroot 仅 CI 产出、不入库,取消下行注释 +# MiGu.Server/wwwroot/assets/ +# MiGu.Server/wwwroot/index.html +# IDE / OS +.vs/ +.idea/ +*.swp +Thumbs.db +Desktop.ini diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..b4531da --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,1946 @@ +# SimpleLite 三端系统架构设计 + +> **Migu2.0 仓库说明**:平台后端已拆至本仓库,工程名为 **`MiGu.Server`**(原 `Platform.Server`)。SimpleLite 与前端源码仍在兄弟仓库 `Simple`。下文中的 `MiGu.Server` 即指本仓库 `MiGu.Server/` 目录。 + +> 文档版本:v1.7.0 +> 更新日期:2026-05-20 +> 范围:SimpleLite(主程序 / 设计端 / 调度引擎宿主 / 进程编排器)+ Platform(业务平台 · 同时承载管理员前端 platform-vue 与运营前端 rcsmonitor-vue · 共用一套 WebAPI · **主入口为 MiGu.Server,登录后拉起 SimpleLite**) + +> v1.7.0 变更(多主题色板 · 工业紫默认): +> - **6 套可切换主题**:`themes.ts` 定义色板(工业紫、深邃蓝、翡翠绿、熔铁赤、石墨钢、琥珀金);默认 **工业紫色** `#6a1b9a`(比 v1.6.2 的 `#641393` 更深更饱和,解决登录后内容区配色过淡)。 +> - **运行时注入**:`applyThemeVars()` 向 `:root` 写入 `--mg-*`;`ui` store 的 `themeId` 持久化到 `localStorage`(键 `simple.ui.state`)。 +> - **ThemeSwitcher**:`AppShell` 顶栏下拉切换;`main.ts` 启动时 `applyCurrentTheme()`。 +> - **壳层变量化**:`AppShell` 侧栏/顶栏/光晕/菜单由硬编码紫改为 `var(--mg-*)`;登录页 `BlankLayout` / `LoginView` 光球与 hero 同步走变量(待办见 §18)。 +> - 详见 §17.7、§18「实现进度与待办」。 + +> v1.6.2 变更(全站统一玻璃风): +> - **品牌主色回归 v1.6 的 `#641393`**:与登录页 hero 一致;保留 FRLD logo 仍在侧栏左上角;侧栏 / 顶导 / 内容卡片采用统一玻璃设计令牌(`--mg-glass-*`、`--mg-radius` 14/20px)。 +> - **整站背景深紫渐变**:`body` 固定 `radial-gradient + linear-gradient(135deg,#1a0930 → #2d1456 → #0f0420)`;AppShell 内悬浮三颗低亮度光球(drift 动画 22s)增加层次感。 +> - **登录页玻璃 hero 还原**:双栏 hero · 「迷」徽标 · 18 颗 twinkle 星 · 三色 drift 光球 · `mg-glass-lg` 主卡(白色 8% 半透明 + 28px blur + 双层 inset 边框)。 +> - **AppShell 玻璃化**:侧栏 `rgba(22,4,31,0.85→0.88)` 深紫渐变 + 18px backdrop blur + 菜单 active 状态紫色渐变背景 + 3px inset 紫光;顶导 `rgba(22,4,31,0.6)` 玻璃;底栏 `rgba(22,4,31,0.25)` 玻璃;用户头像 / 标签 / dropdown 全部玻璃化。 +> - **内容区卡片自动玻璃化**:`` 容器内所有 `el-card / el-statistic / el-table / el-descriptions / el-input / el-tag / el-progress / el-collapse / el-radio-button / el-input-number / el-switch / el-pagination` 均沿用紫黑半透明 + 14px 圆角 + hover 上浮(translateY -2px)+ shadow 升级;KPI 行 `class="kpi-row"` 内 `el-statistic` 自动玻璃卡。 +> - **路由切换微动效**:`` 包裹 fade-up(250ms cubic-bezier .25,.8,.25,1),轻盈不花哨。 +> - 详见 §17「视觉规范」。 + +> v1.6.1 变更(视觉对齐 FRLD · 已在 v1.6.2 中部分回退): +> - **侧边栏左上角加 FRLD(法睿兰达 FAIRYLAND)logo**:`public/FRLD-logo-white.png` 展开态 36px 高、`public/FRLD-logo-white-no_title.png` 折叠态 26px 高 + 缩写「迷毂」。Logo 来源 `E:\ddms\frontend\public`。**v1.6.2 保留 FRLD logo,但取消 #7c3aed 主色与 ddms 风格菜单态,全部回到 v1.6 玻璃风。** + +> v1.6 变更(品牌 & 视觉规范): +> - **产品品牌命名定为「迷毂」**:Vue 外壳产品代号、登录窗 / 侧边栏 logo、``、用户可见文案、`favicon` 全部统一为「迷毂」;后端工程标识 `MiGu.Server` / 前端工程目录 `simple-platform-vue` 不变(避免影响 csproj/pnpm 包名)。 +> - **品牌主色紫色系(v1.6 初版 #641393,v1.6.1 调整为 #7c3aed)**:全站统一紫色调;Element Plus 通过 CSS 变量覆盖(`--el-color-primary` 与 `--el-color-primary-rgb` 双重保险);状态色保持系统默认。 +> - **登录窗背景**:使用品牌图片资源 `frontends/apps/simple-platform-vue/public/login-bg.jpg`(原始素材 `wall_Beach.jpg`,1.8 MB)+ 紫色径向 + 线性渐变叠加。 +> - 详见 §17「视觉规范」。 + +> v1.5 变更: +> - **持久层多 Provider 支持**:抽象层基于 EF Core,新增对 **MySQL / PostgreSQL / SQL Server** 的原生支持;SQLite 仍为默认/边缘单机首选。 +> - **高可用方案按 DB 矩阵化**:除 ROSE HA(SQLite 块级镜像)外,新增 **MySQL InnoDB Cluster / MGR**、**PostgreSQL Patroni / 流复制**、**SQL Server Always On AG** 三种企业级 HA 路径;现场可根据已有 IT 基础设施挑选。 +> - 新增 §7.4–§7.7 四类 DB 部署形态详述、选型矩阵、连接串与配置示例、迁移注意事项。 + +> v1.4 变更(保留): +> - **明确进程编排归属**:Platform 后端进程 `MiGu.Server.exe` 不再被视为"独立的业务平台服务",而是 SimpleLite 内置 `SystemMission`(`StartPlatformMission`)拉起、被 SimpleLite Bootstrapper 守护的**受控子进程**;RCSMonitor 不存在独立后端进程,复用 MiGu.Server。 +> - **整体定位章节重写**:明确"两类后端可执行文件 + 一个进程编排者"的关系,避免读者误以为 Platform 是用 Windows Service / systemd 独立部署的服务。 + +> v1.3 变更(保留): +> 1. **取消 RCSMonitor.Server**:`rcsmonitor-vue` 不再有独立后端进程,直接连 MiGu.Server;由 JWT 中的 `scope=RCSMonitor` + 角色权限码 + `WidgetGrant` 三层限制可见控件与可调用 API。 +> 2. **3D 渲染基座定为 webVRender**:复用 SimpleLite WebTerminal 已经提供的 webVRender,以 Web Component / iframe 嵌入到 platform-vue 与 rcsmonitor-vue,两端共享同一份 Workspace 协议(PutModel / PutPointCloud / SetCamera 等 DTO)。 +> 3. **反向代理选定 YARP**:MiGu.Server 内置 [YARP](https://microsoft.github.io/reverse-proxy/) 做 `/api/sl/*` → SimpleLite WebAPI 的反代;带鉴权与审计中间件。 +> 4. **运行模式持久化到 `simple.json`**:登录窗"记住模式"勾选后写入 `simple.json.runMode`;下次启动直接进入。 +> 5. **Web-Enabled 下严禁同时本地操作**:CycleGUI 主窗只剩"服务状态窗",所有业务面板硬性隐藏;不提供"临时启用本地 UI"开关。 +> 6. **共享前端组件库**:使用 pnpm workspace + `frontends/packages/sl-controls`,封装 Workspace3D / 地图 / 任务 / CAD 等可复用 Vue 组件。 + +--- + +## 目录 + +1. [总体目标与拆分原则](#1-总体目标与拆分原则) +2. [顶层系统架构(C4 - 容器视图)](#2-顶层系统架构c4---容器视图) +3. [启动登录与运行模式](#3-启动登录与运行模式) +4. [进程拓扑与生命周期](#4-进程拓扑与生命周期) +5. [三端职责矩阵](#5-三端职责矩阵) +6. [共享内核分层](#6-共享内核分层) +7. [数据库与高可用(多 Provider)](#7-数据库与高可用多-provider) +8. [用户 / 权限模型(含控件级权限)](#8-用户--权限模型含控件级权限) +9. [平台配置中心](#9-平台配置中心) +10. [关键交互序列](#10-关键交互序列) +11. [通信协议矩阵](#11-通信协议矩阵) +12. [部署拓扑](#12-部署拓扑) +13. [仓库与解决方案规划](#13-仓库与解决方案规划) +14. [落地路线图](#14-落地路线图) +15. [已确认决策](#15-已确认决策) +16. [现有代码影响面](#16-现有代码影响面) +17. [视觉规范(v1.6 新增)](#17-视觉规范v16-新增) +18. [实现进度与待办(对照代码库)](#18-实现进度与待办对照代码库) + +--- + +## 1. 总体目标与拆分原则 + +### 1.1 整体定位 + +一套为 AGV/AMR 现场打造的「**设计 → 调度 → 运营监控**」三端协同系统。 + +**三个"端"对应三套用户体验,但只有两类后端可执行文件,且都由 SimpleLite 统一编排:** + +| 端 | 前端载体 | 后端可执行文件 | **启动者** | 角色 | 写权限 | +|----|----------|----------------|------------|------|--------| +| **SimpleLite 桌面端** | CycleGUI 客户端 | `SimpleLite.exe` 自身 | 用户双击 / 服务管理器 | 主程序 + 调度引擎宿主 + 全功能 WebAPI 提供者 + **进程编排器(Bootstrapper + SystemMission)** | **全功能** | +| **Platform 管理端** | `platform-vue` (Vue 3 SPA) | `MiGu.Server.exe` | **SimpleLite 内置 `SystemMission.StartPlatformMission` 拉起**(Web-Enabled 时自动 spawn;崩溃由 SimpleLite Watchdog 重启) | **SimpleLite 全能力套壳**:管理员侧 Vue 前端复刻所有设计/调度控件 + 业务平台特有能力(配置中心 / 外部对接 / 库位 / 账号) | **全功能**(等价 SimpleLite) | +| **RCSMonitor 运营端** | `rcsmonitor-vue` (Vue 3 SPA) | **共用 `MiGu.Server.exe`**(无独立后端进程) | 随 MiGu.Server 一起被 SimpleLite 拉起 | 运营监控前端:按 `scope=RCSMonitor` + 角色权限 + WidgetGrant 三层裁剪 UI;可对任务/车辆执行白名单运维动作 | **受限**(仅运维白名单) | + +**关键澄清(v1.4 重点):** + +- **后端可执行文件只有 2 个**:`SimpleLite.exe`、`MiGu.Server.exe`。 +- **进程启动只有 1 个真正的入口**:用户/服务管理器只启动 `SimpleLite.exe`,MiGu.Server 由 SimpleLite 自己拉起,**不需要也不允许独立安装为 Windows Service**。 +- **进程编排归属 SimpleLite**:`SystemMission` 是 SimpleLite 自带的 Mission 体系扩展(与业务 Mission 区分开),专门负责拉起/守护/优雅停止 MiGu.Server。Bootstrapper 监听心跳、按指数退避重启、统一记录 OpsAuditLog。 +- **Vue 两份产物,同一进程托管**:MiGu.Server 在 `/admin/*` 路径下托管 `platform-vue`,在 `/monitor/*` 路径下托管 `rcsmonitor-vue`。 +- **鉴权与限权完全在 MiGu.Server 完成**:RCSMonitor 不持有任何独立后端代码(没有 `RCSMonitor.Server.exe`、没有独立库)。 +- **Desktop-Only 模式下,SystemMission 不触发**:MiGu.Server 根本不会启动,Vue 端无法访问。 + +> 一句话:**用户点 SimpleLite.exe,由 SimpleLite 通过 Mission 把 Platform 后端拉起来;Platform 后端再把两套 Vue 端服好。** + +### 1.2 核心拆分原则 + +1. **Crash-Isolation(搞不崩主服务)** + Platform / RCSMonitor 对**地图/任务/车辆等写操作**都通过 SimpleLite 的 `/api/*` 网关;主服务侧做白名单 + 幂等校验 + 频次限流 + 审计。Platform-Vue 走完整 API 集,RCSMonitor-Vue 仅限运维白名单 `/api/ops/*`。 + +2. **共享数据模型,独立运行时** + 地图、车辆、任务三端共用 `SimpleCore` 的 DTO;调度引擎只在 SimpleLite 里跑,Platform 只持有"投影"。 + +3. **库分离 + Provider 抽象**(详见 §7) + - `simple_main` 由 SimpleLite 持有;`platform` 由 Platform 持有(含 RCSMonitor 审计/标注);不再有独立的 `rcsmonitor_local`。 + - 持久层基于 **EF Core**,**通过 Provider 切换底层数据库**:默认 **SQLite**(边缘单机,配 ROSE HA);可选 **MySQL / PostgreSQL / SQL Server**,匹配现场已有 IT 基础设施与企业级 HA 能力(详见 §7.4–§7.7)。 + - 高可用方案随 Provider 不同:SQLite 用 ROSE HA;MySQL 用 InnoDB Cluster;PostgreSQL 用 Patroni;SQL Server 用 Always On AG。 + +4. **统一协议层** + 所有进程间调用统一 **WebAPI(REST/JSON)+ WebSocket 事件流**;Vue 端直接对接 Platform 后端的 REST + WS;Platform 后端用 **YARP** 反代 SimpleLite 的设计/调度 API。 + +5. **统一身份** + `SimpleShared.Auth` 提供 JWT + RBAC;Platform 是主权限源(在线时),SimpleLite 在 Desktop-Only 下用本地用户表降级。 + +6. **运行模式互斥(强约束)** + - **Desktop-Only**:CycleGUI 客户端独占;WebAPI / Platform **不启动**。 + - **Web-Enabled**:WebAPI 启动;Platform 子进程启动;CycleGUI 客户端**所有业务面板硬性隐藏**,仅保留"服务状态窗";**不允许"临时启用本地 UI"开关**——任何本地操作必须重启进设计模式。 + - 模式由**启动登录界面**选择并持久化到 **`simple.json.runMode`**;下次启动可勾选"记住选择"直接进入。 + +7. **控件级权限** + Platform / RCSMonitor 登录后向 `SimpleShared.Auth` 拉取 `EffectivePermissions { allowedOps[], visibleWidgets[] }`;Vue 渲染器按集合裁剪面板、按钮、菜单、右键项。 + +--- + +## 2. 顶层系统架构(C4 - 容器视图) + +```mermaid +flowchart TB + subgraph Users["使用方"] + U1["现场工程师 (CycleGUI 桌面)"] + U2["管理员 (浏览器)"] + U3["运营 / 班组长 (浏览器)"] + U4["第三方 MES / WMS / RCS"] + end + + subgraph Host["主控宿主机 / 边缘服务器"] + subgraph SL["SimpleLite 主进程 (CycleGUI + ASP.NET Core 8)"] + direction TB + SL_Login["启动登录窗<br/>(模式选择 Desktop / Web)"] + SL_UI["CycleGUI 客户端<br/>(Desktop-Only: 全功能<br/>Web-Enabled: 仅状态窗)"] + SL_Boot["Bootstrapper<br/>(进程守护 + 心跳)"] + SL_Sched["SimpleScheduler 调度引擎"] + SL_Domain["领域服务<br/>(SimpleCore + 命令总线)"] + SL_API["全功能 WebAPI + WS Hub<br/>(Kestrel)<br/>(仅 Web-Enabled 启动)"] + SL_WV["webVRender Web Terminal<br/>(已有 :8223)<br/>(Vue 端嵌入)"] + SL_DB[("SQLite: simple_main.db<br/>WAL")] + end + + subgraph PL["Platform 后端 (ASP.NET Core 8 WebAPI)"] + direction TB + PL_Static["静态资源<br/>/admin/* → platform-vue dist<br/>/monitor/* → rcsmonitor-vue dist"] + PL_API["Platform WebAPI<br/>(配置中心 / 外部对接 / 库位 / 账号)"] + PL_YARP["YARP 反代<br/>/api/sl/* → SimpleLite WebAPI<br/>+ Auth/审计中间件"] + PL_Auth["SimpleAuth<br/>(JWT 签发 + Scope 校验)"] + PL_Adp["外部系统适配器<br/>(MES / WMS / RCS)"] + PL_DB[("SQLite: platform.db<br/>WAL")] + end + end + + subgraph Vues["两份 Vue 编译产物 (同一进程托管)"] + AdminVue["platform-vue<br/>(管理员全功能)"] + MonVue["rcsmonitor-vue<br/>(运营按权限)"] + end + + subgraph External["外部"] + Veh["AGV 车端"] + TPS["第三方设备<br/>(电梯 / 充电桩 / IO)"] + end + + U1 --> SL_Login + SL_Login --> SL_UI + U2 -- "https://host:8080/admin" --> PL_Static + U3 -- "https://host:8080/monitor" --> PL_Static + U4 -- "REST / OPC-UA" --> PL_API + PL_Static --> AdminVue + PL_Static --> MonVue + + AdminVue -- "REST + WSS" --> PL_API + MonVue -- "REST + WSS (scope=RCSMonitor)" --> PL_API + AdminVue -. "iframe / WebComponent" .-> SL_WV + MonVue -. "iframe / WebComponent (read-only)" .-> SL_WV + + PL_API --> PL_Auth + PL_API --> PL_YARP + PL_YARP -- "WebAPI + WS<br/>(Web-Enabled 时)" --> SL_API + PL_API --> PL_DB + PL_API --> PL_Adp + + SL_Boot == "SystemMission.StartPlatformMission<br/>spawn + heartbeat + watchdog" ==> PL + + SL_API <--> SL_Sched + SL_API <--> SL_Domain + SL_Domain --> SL_DB + + SL_Sched -- "TCP / WS / OPC-UA" --> Veh + PL_API --> TPS +``` + +**要点:** + +- **只有两个后端可执行文件**:`SimpleLite.exe` 与 `MiGu.Server.exe`;RCSMonitor 不再有独立后端。 +- **`MiGu.Server.exe` 由 SimpleLite 的 SystemMission 拉起**:用户只启动 SimpleLite;Web-Enabled 时 `StartPlatformMission` 自动 spawn MiGu.Server,子进程心跳异常由 Bootstrapper 重启。 +- **`PL_Static` 同一进程双 SPA 托管**:浏览器访问路径决定加载哪份 dist,登录时也按路径决定 `scope` 参数。 +- **`PL_YARP` 把 `/api/sl/*` 反代到 SimpleLite**:YARP 在请求转发前后挂中间件做 JWT 校验、权限码二次确认、写操作审计、`Idempotency-Key` 透传、Scope 检查(RCSMonitor 的请求仅允许命中 `/api/ops/*` 这一前缀)。 +- **3D 由 SimpleLite 的 webVRender 提供**:Vue 端通过 iframe 或 Web Component 嵌入 webVRender 的页面,业务交互(选择、点击坐标等)通过 `postMessage` 与 Vue 桥接。 +- **Desktop-Only 模式**:`SL_API`、`PL` 都不启动;Vue 无法访问;CycleGUI 是唯一入口。 +- **Web-Enabled 模式**:CycleGUI 退化为状态窗;所有业务操作通过 Vue 完成;硬性不允许同时本地操作。 + +--- + +## 3. 启动登录与运行模式 + +### 3.1 启动流程 + +```mermaid +flowchart TB + Start([SimpleLite.exe 启动]) --> CheckPrev{simple.json 中<br/>runMode 已记忆?} + CheckPrev -- 否 --> Login[弹出登录窗<br/>SimpleLite Boot Login] + CheckPrev -- 是 --> AutoLogin[自动按记忆模式登录<br/>仍需鉴权身份] + Login --> Form + AutoLogin --> ModeSwitch + + subgraph Form[登录窗内容] + F1[用户名 / 密码] + F2[运行模式 RadioButtons] + F2a[Desktop-Only] + F2b[Web-Enabled] + F3[记住选择 CheckBox<br/>勾选后写 simple.json.runMode] + F4[登录按钮] + end + + Form --> Auth[本地用户表认证<br/>SimpleShared.Auth] + Auth -- 失败 --> Login + Auth -- 成功 --> Persist{勾选了<br/>记住选择?} + Persist -- 是 --> WriteCfg[写 simple.json<br/>runMode + rememberRunMode=true] + Persist -- 否 --> ModeSwitch + WriteCfg --> ModeSwitch + + ModeSwitch{运行模式?} + ModeSwitch -- Desktop-Only --> Path1 + ModeSwitch -- Web-Enabled --> Path2 + + subgraph Path1[Desktop-Only 路径] + D1[启动 CycleGUI 全功能 UI] + D2[启动调度引擎] + D3[加载场景 / 插件] + D4["不启动 WebAPI / Platform"] + end + + subgraph Path2[Web-Enabled 路径] + W1[启动 Kestrel + WebAPI] + W2[启动调度引擎] + W3[加载场景 / 插件] + W4[启动 WebTerminal] + W5[启动 MiGu.Server.exe] + W6[CycleGUI 仅渲染服务状态窗<br/>所有业务面板硬性隐藏] + W7[等待 Vue 端登录] + end +``` + +### 3.2 登录界面(CycleGUI Panel) + +字段与控件: + +| 元素 | 控件 | 说明 | +|------|------|------| +| 标题 | Label | "SimpleLite · 启动登录" | +| 用户名 | TextInput | 默认上次登录用户 | +| 密码 | TextInput (password) | — | +| 运行模式 | RadioButtons | `Desktop-Only` / `Web-Enabled` | +| 记住选择 | CheckBox | 勾选后写入 `simple.json.runMode` 与 `simple.json.rememberRunMode=true` | +| 监听地址(Web-Enabled 显示) | TextInput | 默认 `0.0.0.0` | +| WebAPI 端口(Web-Enabled) | NumberInput | 默认 `7001` | +| Platform 端口(Web-Enabled) | NumberInput | 默认 `8080`(同时承载 admin/monitor 两份 SPA) | +| 高级(Web-Enabled 折叠) | Collapsing | webVRender 端口 / Swagger 是否启用 / CORS 白名单 | +| 登录按钮 | Button | 通过后销毁登录窗,进入选定模式 | +| 退出按钮 | Button | 不进入主程序,退出进程 | + +> 实现位置:新增 `SimpleLite/UI/BootLoginPanel.cs`,由 `Program.Main` 在 `Enssentials.Load` 之后、`Startup.EntryPoint` 之前调用 `GUI.PromptAndWaitPanel(BootLoginPanel.Build())`(阻塞式模态)。 + +#### simple.json 增量字段 + +```json +{ + "runMode": "WebEnabled", // "DesktopOnly" | "WebEnabled" + "rememberRunMode": true, + "webApi": { + "host": "0.0.0.0", + "port": 7001, + "wsPort": 7002, + "enableSwagger": false + }, + "platform": { + "port": 8080, + "wsPort": 8081 + }, + "webVRender": { + "port": 8223 + } +} +``` + +### 3.3 模式切换与互斥保证(强约束) + +| 场景 | 行为 | +|------|------| +| Desktop-Only 运行中 | Kestrel 不监听任何端口;MiGu.Server 不 spawn;尝试连接 7001/8080 直接 ECONNREFUSED | +| Desktop-Only → Web-Enabled | **必须退出 SimpleLite 重新登录**;不支持热切(避免半启动状态) | +| Web-Enabled 运行中 | CycleGUI 主窗只显示状态窗(运行时长 / 在线用户 / 端口 / 主备状态)+「停止」按钮 | +| Web-Enabled 下用户尝试本地控件 | **所有业务面板硬性不渲染**;Workspace 视口也不显示;用户无法通过任何方式重新启用 | +| Web-Enabled 异常退出 | Watchdog 重新拉起,恢复到 Web-Enabled;不强迫用户重选 | +| 想取消"记住模式" | 启动时按住 `Shift` 或运行 `SimpleLite.exe --re-login` 强制弹出登录窗 | +| 远程开关模式 | Platform 管理员可以发 `POST /api/sl/runmode/reset` 把 `rememberRunMode` 置为 `false`,**仅在下次重启时生效** | + +### 3.4 服务状态窗(Web-Enabled 唯一可见的 CycleGUI 面板) + +```text +┌──────────────────────────────────────────┐ +│ SimpleLite Service Status │ +├──────────────────────────────────────────┤ +│ 模式: Web-Enabled │ +│ 启动时间: 2026-05-18 09:00:00 │ +│ 运行时长: 00:23:15 │ +│ WebAPI: http://0.0.0.0:7001 [OK] │ +│ WebSocket: ws://0.0.0.0:7002 [OK] │ +│ webVRender: http://0.0.0.0:8223 [OK] │ +│ Platform: :8080 [Running, pid=12345] │ +│ 节点角色: Active (ROSE) │ +│ 在线 Vue 客户端: 7 (admin=3, monitor=4) │ +│ 调度循环: 50Hz | 任务: 14 / 32 │ +│ │ +│ [Open Logs] [Restart Web] [Shutdown] │ +└──────────────────────────────────────────┘ +``` + +> 状态窗**不包含**"启用本地 UI"按钮——切回设计模式必须重启进程并选择 Desktop-Only。 + +--- + +## 4. 进程拓扑与生命周期 + +### 4.1 进程关系图 + +```mermaid +flowchart LR + A["SimpleLite.exe<br/>启动 + 登录"] --> Mode{运行模式} + + Mode -- Desktop-Only --> D[CycleGUI 全功能 UI] + D --> SchedD[调度引擎] + D --> DB1D[(simple_main.db)] + + Mode -- Web-Enabled --> WHost[Kestrel + WebAPI :7001/7002] + WHost --> SchedW[调度引擎] + WHost --> DB1W[(simple_main.db)] + WHost --> WV[WebTerminal :8223<br/>webVRender] + WHost --> StatusPanel[CycleGUI 状态窗] + + subgraph SysMis["SimpleLite SystemMission 体系"] + E["StartPlatformMission<br/>(SystemMission 子类)"] + SM_Reg["SystemMissionRegistry"] + SM_Hb["HeartbeatChannel<br/>(named pipe)"] + end + WHost --> SysMis + E ==> P["MiGu.Server.exe<br/>(ASP.NET Core WebAPI + YARP)<br/>:8080/8081"] + P --> PStatic["静态托管 2 份 dist:<br/>/admin → platform-vue<br/>/monitor → rcsmonitor-vue"] + P --> PDB[(platform.db)] + P <-. JSON heartbeat .-> SM_Hb + + subgraph 守护 + W["ProcessWatchdog<br/>(指数退避重启 + 优雅停止)"] + end + SysMis --- W + W -. monitor .- P +``` + +### 4.2 SystemMission 体系(v1.4 新增章节) + +SimpleLite 现有 `Mission` 是业务任务(运送/搬运),新增 **`SystemMission`** 作为同一基类的"系统级 Mission",用于拉起并守护进程级服务。它**不参与调度引擎的 DispatchLoop**,由 Bootstrapper 直接驱动。 + +**关键类:** + +| 类型 | 类型 / 命名空间 | 职责 | +|------|------------------|------| +| `SystemMission`(抽象) | `SimpleLite.RCS.SystemMissions` | 继承自现有 `Mission`,新增 `Spawn() / Stop() / Heartbeat()` 等抽象方法 | +| `StartPlatformMission` | `SimpleLite.RCS.SystemMissions` | 拉起 `MiGu.Server.exe`;通过命名管道 `\\.\pipe\simple-bootstrap` 接收心跳 | +| `SystemMissionRegistry` | `SimpleLite.Bootstrap` | 单例,注册所有 SystemMission;Web-Enabled 启动时遍历 `Spawn()`;进程退出时遍历 `Stop()` | +| `ProcessHost` | `SimpleLite.Bootstrap` | 封装 `System.Diagnostics.Process` + 重定向标准输出到日志 + 退出码捕获 | +| `HeartbeatChannel` | `SimpleLite.Bootstrap` | 命名管道服务端;JSON 协议 `{ "ts", "rss", "queueDepth", "status" }`;3 个周期未达 → 标记不健康 | +| `ProcessWatchdog` | `SimpleLite.Bootstrap` | 不健康时 `Stop() + Spawn()`;指数退避 1s → 2s → 4s → 8s → 30s(上限) | +| `RunMode`(枚举) | `SimpleLite.Bootstrap` | `DesktopOnly` / `WebEnabled` | + +**生命周期:** + +```text +SimpleLite 启动 (Web-Enabled) + ├─ Kestrel Up :7001/7002 + ├─ WebTerminal Up :8223 + ├─ SchedulerRuntime.Start() + └─ SystemMissionRegistry.SpawnAll() + └─ StartPlatformMission.Spawn() + ├─ ProcessHost.Start("MiGu.Server.exe", args) + ├─ HeartbeatChannel.Listen(pipeName) + └─ Watchdog.Track(pid) + +每 5s: + HeartbeatChannel ← MiGu.Server (JSON tick) + +异常: + Watchdog 触发 → ProcessHost.Kill() → 退避等待 → Spawn() 重试 + 连续 5 次失败 → 状态窗高亮 "Platform Down",停止重试,需人工介入 + +SimpleLite 优雅停机: + SystemMissionRegistry.StopAll() + └─ StartPlatformMission.Stop() + ├─ 发送 SIGTERM 等价(命名管道 "shutdown" 消息) + ├─ 等待 MiGu.Server 完成 IHostedService.StopAsync (≤ 30s) + └─ 超时则 ProcessHost.Kill() +``` + +**实现要点:** + +- **位置**:新建 `SimpleLite/Bootstrap/` 与 `SimpleLite/RCS/SystemMissions/`。 +- **不写入主库 Missions 表**:SystemMission 是进程级配置,不参与项目序列化;存储在 `simple_main.db.SystemMissionConfig`(或直接读 `simple.json`)。 +- **崩溃隔离**:Platform 异常不影响 SimpleLite 调度循环;MiGu.Server 也实现 `IHostedService.StopAsync` 做 WAL Checkpoint + WS 排空 → 给 ROSE 释放磁盘。 +- **多实例预防**:通过命名互斥体 + `simple.json.allowMultiple=false`(已有)确保 SimpleLite 唯一;MiGu.Server 启动时校验"父进程是否为 SimpleLite",否则拒绝启动(防止有人手动双击 `MiGu.Server.exe`)。 +- **静态资源**:MiGu.Server 用 `MapWhen + UseStaticFiles + UseSpa` 各挂一份 `index.html`。 + +--- + +## 5. 三端职责矩阵 + +| 维度 | SimpleLite 桌面端 | **Platform 管理端(platform-vue)** | **RCSMonitor 运营端(rcsmonitor-vue)** | +|------|---------------------|------------------------------------------|------------------------------------------| +| 地图(站点/轨道/区域)编辑 | **读写**(Desktop-Only) | **全功能读写**(Vue 地图控件内嵌SimpleLite地图) | 只读投影,不可编辑 | +| 任务编排(Mission/Recipe) | **读写** | **全功能读写**(含 Demand / Recipe) | 基础动作:暂停/取消/重派/优先级 | +| 车辆配置(参数 / 维护策略) | **读写** | **全功能读写** | 基础动作:暂停/继续/结束任务/上线/离线/手动充电等 | +| CAD 工具 | **可用** | **可用**(Vue 调用 `/api/sl/cad/*`) | 不可用 | +| 自定义字段 / 图层 | **可用** | **可用** | 只读 | +| 调度引擎(DispatchLoop) | 进程内拥有 | 远程订阅状态 + 全 API 操作 | 远程订阅状态 + 受限 API | +| 车端通信 | 拥有 | 不直连,只看投影 | 不直连,只看投影 | +| 3D 视口 | 本地 OpenGL(CycleGUI 原生) | **嵌入 SimpleLite webVRender**(全功能交互) | **嵌入 SimpleLite webVRender**(只读 + 圈选) | +| 系统级配置 | 局部(Desktop-Only) | **全局编辑 + 下发** | 不可编辑 | +| 外部对接(MES/WMS/RCS) | 不涉及 | **唯一入口** | 不涉及 | +| 路径规划/交通/充电策略 | 算法 + 调试 | **可视化编辑 + 下发** | 只读 | +| 权限/角色管理 | 本地用户表(启动登录用) | **统一管理(主源)** | 仅查看自身权限 | +| 库位 / 出入库 | 地图层(库位几何) | **业务主体 + 库存** | 监控视图(按权限) | +| 调度回放 / 日志 | 短期内存 | **长期归档 + 检索** | 故障快照 + 备注 | +| 自定义控件管理 | 本地配置 | **设计 + 发布** | 接收推送 + 按权限渲染 | + +> 两个前端共用同一个 MiGu.Server 后端,区别在登录时申请的 `scope`(`Platform` vs `RCSMonitor`)与对应角色绑定的权限码 / WidgetGrant。 + +### 5.1 RCSMonitor 基础动作白名单(初版) + +| 操作 | 权限码 | 影响范围 | 二次确认 | +|------|--------|----------|---------| +| 暂停车辆 | `ops.car.pause` | 单车 | 否 | +| 恢复车辆 | `ops.car.resume` | 单车 | 否 | +| 回原点 | `ops.car.gohome` | 单车 | 是 | +| 重置车辆会话 | `ops.car.resetSession` | 单车 | 是 | +| 手动充电 | `ops.car.manualCharge` | 单车 | 否 | +| 暂停任务 | `ops.task.pause` | 单任务 | 否 | +| 取消任务 | `ops.task.cancel` | 单任务 | 是 | +| 重派任务 | `ops.task.reassign` | 单任务 | 是 | +| 提升优先级 | `ops.task.boostPriority` | 单任务 | 否 | +| 写运营备注 | `monitor.note.write` | 标注层(写 platform.db) | 否 | + +> **限权双保险**:① 浏览器侧按 `allowedOps` 隐藏按钮;② MiGu.Server YARP 中间件在转发前再次校验。`scope=RCSMonitor` 的请求路径必须落在 `/api/sl/ops/*` 白名单前缀内,否则 403。 + +### 5.2 Platform 管理端设计权限示例(全功能套壳) + +| 操作 | 权限码 | 控件位置(platform-vue) | +|------|--------|---------------------------| +| 创建/编辑站点 | `map.site.write` | 地图设计页 · 工具栏 | +| 创建/编辑轨道(含曲线) | `map.track.write` | 地图设计页 · 工具栏 | +| 编辑车辆参数 | `vehicle.config.write` | 车辆配置页 | +| 创建/编辑 Mission | `mission.write` | 任务编排页 | +| 加载/保存项目 | `project.write` | 顶栏 | +| 触发 CAD 工具 | `cad.tool.run` | CAD 工具栏 | +| 配置中心编辑 | `config.<section>.write` | 配置中心各分页 | +| 用户/角色管理 | `auth.user.write` / `auth.role.write` | 系统管理页 | +| 切换运行模式(远程) | `system.runmode.reset` | 系统管理页 → 危险操作 | + +### 5.3 Platform 平台能力补充(设备统一接入与管理) + +Platform 内置通用设备管理模块(`DeviceHub`),作为所有外围设备的统一接入层与运维入口,覆盖注册、配置、状态监控、告警与审计。 + +**内置接入设备类型:** + +- 电梯、卷帘门、安全门 +- 充电桩(自动对接协议) +- 无线 AP、网络交换机 +- 视频摄像头、读码器、PLC + +**架构原则(一次适配,后续复用):** + +- **驱动式插件架构**:设备能力抽象为 `IDeviceDriver` + `IDeviceAdapter`,每类设备只需完成一次驱动适配。 +- **协议标准化**:统一抽象 Modbus-TCP、OPC-UA、HTTP/REST、MQTT、ONVIF、私有 TCP 等协议。 +- **配置驱动上线**:新增同类设备无需改代码,只需在平台配置中心新增设备实例配置并绑定已有驱动。 +- **可观测性统一**:设备状态统一汇总到 `DeviceRuntimeStatus`(在线/离线、延迟、错误码、最近心跳、告警级别)。 +- **故障隔离**:单设备驱动异常不影响其他设备与调度主链路,驱动实例按租户/站点隔离。 + +### 5.4 Platform 平台能力补充(机器人群组与车队全生命周期管理) + +Platform 提供车队级运维能力,支持 AGV 分区域、跨楼层、多车协作调度。 + +**核心能力:** + +- **群组维度管理**:车队按楼层/区域/业务线分组,支持跨组协同任务。 +- **硬件健康监控**:主控、驱动器、传感器、电池、定位模块的实时状态与趋势。 +- **网络连通诊断**:链路质量、丢包、时延、断连重连次数、AP 切换质量。 +- **OTA 升级**:远程固件/软件灰度发布、分批升级、回滚策略与版本基线管理。 +- **批量操作**:休眠、唤醒、上线、下线、急停复位、一键任务清空/重派。 +- **全生命周期闭环**:入网注册 → 运行监控 → 故障工单 → 维护保养 → 退役归档。 + +### 5.5 Platform 平台能力补充(业务场景模板化与可扩展机制) + +Platform 将典型业务场景抽象为标准模板,支持开箱即用和后续扩展。 + +**内置模板(首批):** + +- SPS 物料配送场景 +- 电池 Pack 自动化产线场景 +- 环线运行场景 +- 点对点柔性搬运场景 + +**模板内容固化:** + +- 调试参数(设备、车辆、节拍、阈值) +- 路径策略(寻路算法、权重、区域限制) +- 交通管制规则(路口互斥、让行策略) +- 任务流(任务编排、优先级、异常分支) + +**扩展机制:** + +- **配置扩展**:通过模板 DSL / JSON 配置新增场景,无需代码发布。 +- **低代码扩展**:通过可视化编排器拼接任务流与策略块。 +- **模板版本化**:模板支持版本、灰度、回滚、租户差异化覆盖。 +- **模板市场化**:支持插件包导入导出(模板 + 设备驱动 + 参数基线)。 + +--- + +## 6. 共享内核分层 + +```mermaid +flowchart TB + subgraph 顶层["顶层(按端隔离)"] + L1A["SimpleLite (CycleGUI + WebAPI Host)"] + L1B["MiGu.Server (ASP.NET Core + YARP)"] + L1B2["platform-vue (SPA, 管理员)"] + L1B3["rcsmonitor-vue (SPA, 运营)"] + end + + subgraph 共享["共享业务层 (新增)"] + L2A["SimpleShared.Contracts<br/>(REST DTO + Swagger + WS 事件)"] + L2B["SimpleShared.Auth<br/>(JWT + RBAC + 权限码表)"] + L2C["SimpleShared.Config<br/>(配置模型 + 校验 + 下发协议)"] + L2D["SimpleShared.Persistence<br/>(EF Core + SQLite + 迁移)"] + L2E["SimpleShared.OpsCommand<br/>(运维命令白名单 + 审计 + 幂等)"] + L2F["SimpleShared.WebApiHost<br/>(Kestrel + Auth + Swagger 公共启动器)"] + end + + subgraph 引擎["引擎与领域 (现有)"] + L3A["SimpleScheduler<br/>(DispatchLoop / Constraint / Recipe)"] + L3B["SimpleCore<br/>(站点 / 轨道 / Prop / Mission)"] + L3C["HttpClientHelper"] + L3D["Plugins (插件 DLL)"] + end + + L1B2 -- "/admin/* + REST + WSS" --> L1B + L1B3 -- "/monitor/* + REST + WSS<br/>(scope=RCSMonitor)" --> L1B + + L1A --> L2A + L1B --> L2A + L1A --> L2B + L1B --> L2B + L1A --> L2C + L1B --> L2C + L1A --> L2D + L1B --> L2D + L1A --> L2E + L1B --> L2E + L1A --> L2F + L1B --> L2F + + L2C --> L2D + L2B --> L2D + + L1A --> L3A + L1A --> L3B + L1A --> L3D + L1B --> L3B + L1B --> L3C + L3A --> L3B +``` + +### 新工程建议 + +| 工程 | 类型 | 关键职责 | +|------|------|----------| +| `SimpleShared.Contracts` | netstandard2.1 | REST DTO(POCO + DataAnnotations)+ OpenAPI/Swagger + WS 事件结构 + webVRender 桥接消息 | +| `SimpleShared.Auth` | net8.0 | IUserStore / IRoleStore / JwtIssuer / IPermissionEvaluator / 权限码表 / WidgetGrant | +| `SimpleShared.Config` | net8.0 | 强类型配置树 + 版本号 + Diff/校验 + 下发器 | +| `SimpleShared.Persistence` | net8.0 | EF Core 8 多 Provider 抽象(**SQLite / MySQL / PostgreSQL / SQL Server**)+ 迁移 + `DbProviderOptions` + 连接串构建器 + `WalSqliteOptions`(仅 SQLite) | +| `SimpleShared.OpsCommand` | net8.0 | 运维白名单命令、审计、幂等键、频次限流 | +| `SimpleShared.WebApiHost` | net8.0 | Kestrel 公共启动器:JWT 中间件 / Swagger / CORS / 健康检查 / 请求审计 | +| `MiGu.Server` | net8.0 ASP.NET Core | 业务 BFF + **YARP 反代 SimpleLite** + 静态托管两份 Vue dist;**启动时校验父进程为 SimpleLite,否则拒绝运行**(防误用) | +| `platform-vue` | Vue 3 + Vite + Pinia | 全功能套壳:复刻 SimpleLite 所有控件 | +| `rcsmonitor-vue` | Vue 3 + Vite + Pinia | 运营监控:按权限渲染,运维动作面板 | +| `packages/sl-controls`(pnpm workspace) | Vue 3 组件库 | Workspace3D(嵌 webVRender)/ 地图列表 / 任务表 / CAD 工具栏等共享组件 | + +### 6.1 Platform Vue 控件复刻清单(与 SimpleLite CycleGUI 对照) + +| SimpleLite CycleGUI 面板 | Vue 组件(位于 `sl-controls`) | 备注 | +|--------------------------|--------------------------------|------| +| 主菜单栏 / 工具栏 | `<AppShell>` 顶栏 + 侧栏 | platform-vue 全功能;rcsmonitor-vue 仅显示运营菜单 | +| Workspace 3D 视口 | `<Workspace3D>` | **iframe / Web Component 嵌入 SimpleLite webVRender**;交互事件用 `postMessage` 桥接 | +| 地图面板(Sites / Tracks) | `<MapEditor>` + `<TrackTable>` | 表格 + 拓扑视图 | +| Car 面板 | `<CarPanel>` | 表格 + 表单 | +| Mission 面板 | `<MissionEditor>` | 任务流图 + 表单 | +| CAD 工具栏 | `<CadToolbar>` | 工具按钮组(按 `cad.tool.run` 显隐) | +| 字段编辑 / 图层 | `<FieldsLayers>` | 表单 + 树 | +| 状态 / 诊断 | `<StatesDashboard>` | ECharts 实时图 | +| 文件对话框 | `<ProjectFileDialog>` | 文件浏览器 + REST 上传/下载 | +| 运维动作面板 | `<OpsActionPanel>` | RCSMonitor 主战场,按 §5.1 白名单生成按钮 | + +> 复刻策略:**先 1:1 对齐功能**,UI 风格交给前端工程师二次设计;接口协议统一在 `SimpleShared.Contracts` 内。 + +### 6.2 webVRender 嵌入方案 + +CycleGUI 的 `WebTerminal.Use(port, ico)` 已经原地提供: +- WebSocket 路由(驱动 Workspace 同步) +- 嵌入式 webVRender 页面(HTML + JS + WASM) + +Vue 端集成方式(推荐 iframe,最简单稳定): + +```vue +<!-- packages/sl-controls/src/Workspace3D.vue (简化示意) --> +<template> + <iframe + ref="frame" + :src="vrUrl" + class="workspace-3d" + @load="onReady" /> +</template> + +<script setup lang="ts"> +import { computed, ref } from 'vue'; +const props = defineProps<{ + host: string; // e.g. host:8223 + scope: 'Platform' | 'RCSMonitor'; + token: string; // 透传 JWT + readOnly?: boolean; +}>(); +const emit = defineEmits<{ + (e: 'pick', wp: { x: number; y: number }): void; + (e: 'select', names: string[]): void; +}>(); +const frame = ref<HTMLIFrameElement>(); +const vrUrl = computed(() => + `http://${props.host}/?scope=${props.scope}&token=${encodeURIComponent(props.token)}&ro=${props.readOnly ? 1 : 0}`); +function onReady() { + window.addEventListener('message', (ev) => { + if (ev.source !== frame.value?.contentWindow) return; + const msg = ev.data; + if (msg.type === 'workspace.pick') emit('pick', msg.payload); + else if (msg.type === 'workspace.select') emit('select', msg.payload); + }); +} +</script> +``` + +`SimpleLite/Rendering/SimpleSceneRenderer.cs` 端按 `scope` 和 `ro` 控制: +- `scope=RCSMonitor` 或 `ro=1` → 禁用编辑工具(不响应 `SelectObject`/`GetPosition` 中的拖动) +- 通过 `postMessage` 向 iframe 父页面回传选择/点击事件 + +如未来需要更深的双向集成(如自定义 Vue 弹层叠在 3D 视口上),可升级到 Web Component(`<sl-workspace3d>`),但 iframe 已能覆盖 95% 场景。 + +### 6.3 YARP 反向代理配置(示例) + +```csharp +// MiGu.Server / Program.cs +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddReverseProxy() + .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy")) + .AddTransforms(ctx => + { + // 透传当前 JWT 的 userId / scope 给 SimpleLite + ctx.AddRequestTransform(async tc => + { + var ident = tc.HttpContext.User; + tc.ProxyRequest.Headers.Add("X-On-Behalf-Of", ident.FindFirst("sub")?.Value ?? ""); + tc.ProxyRequest.Headers.Add("X-Scope", ident.FindFirst("scope")?.Value ?? ""); + tc.ProxyRequest.Headers.Add("X-Svc-Token", SvcTokenIssuer.Current()); + }); + }); + +builder.Services + .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddJwtBearer(opt => opt.TokenValidationParameters = JwtTokenOptions.Default); + +var app = builder.Build(); +app.UseAuthentication(); +app.UseAuthorization(); + +// 关键:scope=RCSMonitor 的请求只能命中 /api/sl/ops/* 白名单 +app.MapReverseProxy(pipe => pipe.Use(async (ctx, next) => +{ + var scope = ctx.User.FindFirst("scope")?.Value; + var path = ctx.Request.Path.Value ?? ""; + if (scope == "RCSMonitor" && !path.StartsWith("/api/sl/ops/")) + { + ctx.Response.StatusCode = StatusCodes.Status403Forbidden; + await ctx.Response.WriteAsync("Scope RCSMonitor cannot access this endpoint"); + return; + } + await next(); +})); + +app.UseStaticFiles(); +app.MapWhen(c => c.Request.Path.StartsWithSegments("/admin"), + sub => sub.UseStaticFiles().UseSpa(s => s.Options.SourcePath = "frontends/platform-vue/dist")); +app.MapWhen(c => c.Request.Path.StartsWithSegments("/monitor"), + sub => sub.UseStaticFiles().UseSpa(s => s.Options.SourcePath = "frontends/rcsmonitor-vue/dist")); + +app.Run(); +``` + +`appsettings.json` 中的 YARP 路由: + +```json +{ + "ReverseProxy": { + "Routes": { + "sl-route": { + "ClusterId": "sl-cluster", + "Match": { "Path": "/api/sl/{**catch-all}" }, + "Transforms": [ + { "PathRemovePrefix": "/api/sl" }, + { "RequestHeader": "Host", "Set": "" } + ] + } + }, + "Clusters": { + "sl-cluster": { + "Destinations": { + "sl1": { "Address": "http://127.0.0.1:7001/" } + } + } + } + } +} +``` + +--- + +## 7. 数据库与高可用(多 Provider) + +只剩两个逻辑库(`simple_main` / `platform`);持久层基于 **EF Core**,**通过 Provider 切换底层数据库**。**SQLite 是默认与边缘单机首选**,企业级或已有 IT 基础设施现场可平滑切到 **MySQL / PostgreSQL / SQL Server**;高可用方案随 Provider 不同。 + +### 7.1 持久层抽象(EF Core Provider 矩阵) + +```mermaid +flowchart TB + subgraph App["应用代码 (SimpleLite / MiGu.Server)"] + DOM["领域服务 / Repository"] + EFC["EF Core 8 DbContext"] + OPT["DbProviderOptions<br/>{ provider, conn, ha }"] + end + + subgraph SharedLayer["SimpleShared.Persistence"] + BLD["ConnectionStringBuilder"] + MIG["Migrations<br/>(SQLite/MySQL/Pg/MSSQL 各一套)"] + DI["AddSimplePersistence(...)<br/>(Provider 注入)"] + end + + subgraph Providers["EF Core Provider"] + P1["Microsoft.EntityFrameworkCore.Sqlite"] + P2["Pomelo.EntityFrameworkCore.MySql"] + P3["Npgsql.EntityFrameworkCore.PostgreSQL"] + P4["Microsoft.EntityFrameworkCore.SqlServer"] + end + + DOM --> EFC + EFC --> OPT + OPT --> DI + DI --> P1 + DI --> P2 + DI --> P3 + DI --> P4 + DI --> MIG + DI --> BLD + + P1 -. file .-> S1[(SQLite 文件<br/>+ WAL)] + P2 -. tcp .-> S2[(MySQL 8.x)] + P3 -. tcp .-> S3[(PostgreSQL 14+)] + P4 -. tcp .-> S4[(SQL Server 2019+)] +``` + +**抽象核心:** + +- 所有 `DbContext`(如 `MainDbContext` / `PlatformDbContext`)**不感知 Provider**,使用通用 LINQ + 注解;少量数据库特性(如 `JSON` 列、`uuid` 主键)由 `IDbProviderSpecifics` 抽象出三套实现。 +- **迁移按 Provider 独立维护**:`Migrations/Sqlite`、`Migrations/MySql`、`Migrations/Npgsql`、`Migrations/SqlServer`;CI 跑全部矩阵保证不偏漂。 +- **运行期切换**:仅启动期生效,通过 `simple.json` / `Platform.appsettings.json` 的 `database.provider` 字段决定加载哪一个;不支持热切。 +- **测试矩阵**:CI 用 Testcontainers 起对应 DB 跑端到端集成测试。 + +### 7.2 各库存储内容(与 Provider 无关) + +| 逻辑库 | 拥有进程 | 主要表/数据 | +|--------|----------|-------------| +| **simple_main** | SimpleLite | Maps, Sites, Tracks, SpecialProps, Missions, Cars, Plugins, DesignAuditLog, OpsAuditLog, LocalUsers, RunModeHistory | +| **platform** | Platform | Users, Roles, RolePermissions, WidgetGrants, SystemConfig, ExternalAdapters, RoutingPolicies, VehicleMaintenancePolicies, ChargePolicies, TaskAllocationPolicies, TrafficRules, Locations, Inventory, OpsLogs(含 RCSMonitor 来源), Annotations, Snapshots, Versions, CustomWidgets | + +> 原 v1.2 中的 `rcsmonitor_local` 取消;其表(OpsLogs / Annotations / Snapshots / WidgetLayoutCache)合并到 `platform`,加 `source='RCSMonitor'` 字段区分。 +> Provider 不同时,逻辑表名一致;物理实现差异(`uuid` vs `binary(16)`、`json` vs `nvarchar(max)`、自增策略等)由迁移文件适配。 + +### 7.3 SQLite + ROSE HA(默认 / 边缘单机) + +```mermaid +flowchart TB + subgraph A["主节点 NODE-A (Active)"] + SL_A["SimpleLite.exe"] + PL_A["MiGu.Server.exe"] + D_A[("受 ROSE 保护盘 R:\<br/>simple_main.db<br/>platform.db<br/>(WAL)")] + end + subgraph B["备节点 NODE-B (Standby)"] + SL_B["SimpleLite.exe (suspended)"] + PL_B["MiGu.Server.exe (suspended)"] + D_B[("ROSE 镜像盘 R:\")] + end + VIP(("浮动 IP / VIP")) + Client["客户端"] + Client --> VIP --> SL_A + A <-- "ROSE 块级镜像 + 心跳" --> B + A -. 故障切换 .-> B +``` + +**适用场景**:边缘工控机 / 单机现场 / IT 基础设施薄弱 / 初装版本。 + +**关键约束:** + +| 约束 | 落地做法 | +|------|----------| +| **数据文件必须放 ROSE 受保护盘** | 两端 `Configuration` 中数据库路径统一指向 `%SIMPLE_DATA_ROOT%`(默认 `R:\SimpleData\`) | +| **同一时刻只能一个节点写库** | ROSE 切换前后保证只有 Active 节点起服务;备节点服务进程**默认禁用自启** | +| **关闭跨进程共享缓存** | 连接串 `Cache=Private; Mode=ReadWriteCreate; Pooling=true; Default Timeout=30` | +| **支持优雅停机** | 实现 `IHostedService.StopAsync`,等 WS 排空 + Checkpoint(WAL) | +| **客户端通过 VIP 访问** | Vue 与车端均连浮动 IP;WS 自动重连 < 5s | +| **Web-Enabled 与 ROSE 强绑定** | 双机热备只在 Web-Enabled 模式下有意义 | +| **切换演练** | `tools/ha/failover-drill.ps1` | + +**ROSE 资源建议命名:** + +| 资源 | 类型 | 依赖 | +|------|------|------| +| `RES_DISK_R` | Mirror Disk | — | +| `RES_VIP_LAN` | Virtual IP | RES_DISK_R | +| `RES_SVC_SL` | Service: SimpleLite (Web-Enabled) | RES_DISK_R, RES_VIP_LAN | +| `RES_SVC_PL` | Service: MiGu.Server | RES_DISK_R, RES_VIP_LAN, RES_SVC_SL | +| `RES_SCRIPT_CHK` | 数据库健康检查脚本 | RES_DISK_R | + +**RTO / RPO**:RTO < 60s,RPO ≈ 0(块级镜像)。 + +### 7.4 MySQL + InnoDB Cluster / MGR + +```mermaid +flowchart TB + subgraph App["应用层 (VIP + 重试)"] + SL["SimpleLite.exe"] + PL["MiGu.Server.exe"] + end + subgraph Router["MySQL Router (或 ProxySQL)"] + R1["VIP :6446 (RW)"] + R2["VIP :6447 (RO)"] + end + subgraph Cluster["InnoDB Cluster (MGR, group_replication)"] + M1[("Primary<br/>node1")] + M2[("Secondary<br/>node2")] + M3[("Secondary<br/>node3")] + M1 <-- "Group Replication" --> M2 + M2 <-- "Group Replication" --> M3 + M1 <-- "Group Replication" --> M3 + end + SL --> R1 + PL --> R1 + R1 --> M1 + R2 --> M2 + R2 --> M3 +``` + +**适用场景**:现场已有 MySQL DBA / 中等规模 / Linux 优先 / 多读副本需求。 + +**关键说明:** + +- **EF Core Provider**:`Pomelo.EntityFrameworkCore.MySql`(对 MySQL 8.x / MariaDB 10.x 兼容性最好)。 +- **HA 形态**:推荐 **InnoDB Cluster(基于 MySQL Group Replication + MySQL Router)** 三节点,单点故障自动重选主;老版本 MySQL 可降级用 **MHA / Orchestrator + 半同步复制**。 +- **连接配置**:应用连 MySQL Router 的 RW 端口(`:6446`),由 Router 自动路由到当前 Primary;只读分析查询可走 RO 端口(`:6447`)。 +- **字符集**:统一 `utf8mb4` + `utf8mb4_0900_ai_ci`;EF Core 配 `CharSet.Utf8Mb4`。 +- **写入隔离级别**:`READ COMMITTED`(避免 RR 下的间隙锁导致死锁);MGR 要求 InnoDB 引擎、主键必填。 +- **审计/慢日志**:开 `general_log` + `slow_query_log`;MiGu.Server 启动期校验。 +- **备份**:每天 `mysqldump --single-transaction` 或 XtraBackup 到 NAS;保留 30 天 + Binlog。 +- **RTO / RPO**:RTO ≈ 10–30s(MGR 自动选主);RPO ≈ 0(半同步 / Group Replication 强一致)。 + +### 7.5 PostgreSQL + Patroni / 流复制 + +```mermaid +flowchart TB + subgraph App["应用层"] + SL["SimpleLite.exe"] + PL["MiGu.Server.exe"] + end + subgraph LB["HAProxy / PgBouncer"] + H1["VIP :5432 (RW → leader)"] + H2["VIP :5433 (RO → replicas)"] + end + subgraph Cluster["Patroni 集群"] + P1[("Leader<br/>pg1")] + P2[("Replica<br/>pg2")] + P3[("Replica<br/>pg3")] + DCS[("DCS<br/>etcd / Consul / ZooKeeper")] + P1 -- "流复制" --> P2 + P1 -- "流复制" --> P3 + P1 <-- "leader lease" --> DCS + P2 <-- "heartbeat" --> DCS + P3 <-- "heartbeat" --> DCS + end + SL --> H1 + PL --> H1 + H1 --> P1 + H2 --> P2 + H2 --> P3 +``` + +**适用场景**:复杂查询 / GIS(PostGIS)/ JSON 重场景 / 已有 Postgres DBA / 长期数据归档与分析。 + +**关键说明:** + +- **EF Core Provider**:`Npgsql.EntityFrameworkCore.PostgreSQL`;可直接使用 `uuid` / `jsonb` / `tstzrange` 等原生类型。 +- **HA 形态**:推荐 **Patroni + etcd(或 Consul)+ 流复制**;HAProxy / PgBouncer 提供单一 RW VIP。 +- **同步策略**:`synchronous_commit = remote_apply` + `synchronous_standby_names = 'ANY 1 (pg2,pg3)'`,写至少一个备机确认,兼顾性能与 RPO≈0。 +- **PgBouncer**:建议事务级(`pool_mode=transaction`),MiGu.Server 并发连接通过 PgBouncer 复用;注意 EF Core 显式事务跨多个语句时不要踩 transaction 模式陷阱。 +- **JSONB 利用**:`SystemConfig` / `CustomWidget.SchemaJson` 等列直接用 `jsonb` + GIN 索引,比 SQLite 的 TEXT/JSON 检索强很多。 +- **备份**:`pg_basebackup` + WAL 归档(`archive_command` → NAS / S3 / pgBackRest)。 +- **RTO / RPO**:RTO ≈ 10–30s(Patroni 自动 failover);RPO ≈ 0(同步流复制)。 + +### 7.6 SQL Server + Always On Availability Groups + +```mermaid +flowchart TB + subgraph App["应用层"] + SL["SimpleLite.exe"] + PL["MiGu.Server.exe"] + end + subgraph Listener["AG Listener (DNS + VIP)"] + L1["VIP :1433 (RW)"] + L2["ReadOnly Routing"] + end + subgraph Cluster["WSFC + Always On AG"] + AG1[("Primary<br/>sql1")] + AG2[("Secondary<br/>sql2 同步提交")] + AG3[("Secondary<br/>sql3 异步提交/可读")] + AG1 -- "同步提交" --> AG2 + AG1 -- "异步提交" --> AG3 + WSFC[/"Windows Server Failover<br/>Cluster (Quorum)"/] + AG1 --- WSFC + AG2 --- WSFC + AG3 --- WSFC + end + SL --> L1 + PL --> L1 + L2 --> AG3 +``` + +**适用场景**:Windows 工控/服务器场景 / 已有 SQL Server 许可与 DBA / 与企业 AD/SSO 集成。 + +**关键说明:** + +- **EF Core Provider**:`Microsoft.EntityFrameworkCore.SqlServer`;支持 SQL Server 2019+(建议 Enterprise 版以启用同步提交副本数 ≥3 + Read-Only Routing)。Standard 版可降级为 2 副本基本可用性组。 +- **HA 形态**:**WSFC(Windows Server Failover Cluster)+ Always On Availability Groups**;通过 **AG Listener** 暴露统一虚拟名/VIP,客户端连 Listener 名即可。 +- **同步策略**:核心库(`platform` / `simple_main`)配 1 个同步提交副本(RPO=0),1–N 个异步副本(可读分析)。 +- **认证**:建议混合身份认证;MiGu.Server 用 SQL Login,SimpleLite 桌面端可走 Windows 集成认证。 +- **TempDB**:每节点分摊;MultipleActiveResultSets(MARS)建议关闭,EF Core 已能避免。 +- **备份**:`BACKUP DATABASE ... WITH COMPRESSION` + 事务日志备份每 15min;保留策略与公司 IT 一致。 +- **RTO / RPO**:RTO ≈ 10–30s(AG 自动 failover);RPO ≈ 0(同步提交副本)。 + +### 7.7 选型矩阵 + +| 维度 | SQLite + ROSE | MySQL InnoDB Cluster | PostgreSQL Patroni | SQL Server Always On | +|------|---------------|----------------------|---------------------|----------------------| +| **典型现场** | 边缘工控机 / 单机 | 中型现场 / Linux 优先 / 已有 MySQL DBA | 复杂分析 / GIS / 已有 PG DBA | Windows 企业环境 / 已有 SQL Server | +| **并发写吞吐** | 低(千级 TPS) | 高(万级) | 高(万级) | 高(万级) | +| **节点数** | 2(主备) | 3+(推荐 3) | 3+ | 2–3(含见证或共享磁盘见证) | +| **复制粒度** | 块级磁盘镜像(ROSE) | Group Replication 行级 | WAL 流复制 | 同步/异步提交 | +| **RTO** | < 60s | 10–30s | 10–30s | 10–30s | +| **RPO** | ≈0(块级实时) | ≈0(强一致) | ≈0(同步) | ≈0(同步提交副本) | +| **运维复杂度** | 低(ROSE 包办) | 中(要会 MGR)| 中–高(要会 Patroni + DCS) | 中(要熟 WSFC) | +| **跨机房 / 多活** | 不支持 | 支持(多组复制 + 路由) | 支持(流复制多机房) | 支持(分布式 AG) | +| **额外依赖** | ROSE HA 软件 | MySQL Router / ProxySQL | etcd/Consul + HAProxy/PgBouncer | Windows Server + WSFC + AD | +| **License 成本** | 仅 ROSE 授权 | 开源(社区版) / 商业支持可选 | 开源 | SQL Server License(Enterprise 较贵) | +| **JSON / 复杂查询** | 弱(TEXT/JSON1)| 中(5.7+ JSON) | **强(jsonb + GIN)** | 中(NVARCHAR + JSON_VALUE) | +| **GIS** | 弱(SpatiaLite) | 中 | **强(PostGIS)** | 强(Spatial) | + +> **现场决策建议**:默认提供 SQLite 版本(开箱即用 + ROSE 双机)。客户已有数据库基础设施时,按团队最熟悉的栈选 MySQL / PostgreSQL / SQL Server;产品仅维护 4 套迁移与一份连接配置规范。 + +### 7.8 配置示例(`simple.json` / `appsettings.json`) + +#### 7.8.1 SQLite(默认) + +```json +{ + "database": { + "provider": "Sqlite", + "simple_main": { + "dataSource": "%SIMPLE_DATA_ROOT%/simple_main.db", + "extra": "Cache=Private;Mode=ReadWriteCreate;Pooling=true;Default Timeout=30" + }, + "platform": { + "dataSource": "%SIMPLE_DATA_ROOT%/platform.db", + "extra": "Cache=Private;Mode=ReadWriteCreate;Pooling=true;Default Timeout=30" + }, + "ha": { "mode": "ROSE", "protectedDisk": "R:\\SimpleData" } + } +} +``` + +#### 7.8.2 MySQL + +```json +{ + "database": { + "provider": "MySql", + "simple_main": { + "host": "rcs-mysql.lan", + "port": 6446, + "database": "simple_main", + "user": "simple_app", + "password": "${SECRET_MYSQL_PWD}", + "extra": "SslMode=Required;CharSet=utf8mb4;DefaultCommandTimeout=30" + }, + "platform": { + "host": "rcs-mysql.lan", + "port": 6446, + "database": "simple_platform", + "user": "simple_app", + "password": "${SECRET_MYSQL_PWD}" + }, + "ha": { "mode": "InnoDBCluster", "router": "rcs-mysql.lan:6446" } + } +} +``` + +#### 7.8.3 PostgreSQL + +```json +{ + "database": { + "provider": "Npgsql", + "simple_main": { + "host": "rcs-pg.lan", + "port": 5432, + "database": "simple_main", + "user": "simple_app", + "password": "${SECRET_PG_PWD}", + "extra": "Ssl Mode=Require;Pooling=true;Maximum Pool Size=80;Command Timeout=30" + }, + "platform": { + "host": "rcs-pg.lan", + "port": 5432, + "database": "simple_platform", + "user": "simple_app", + "password": "${SECRET_PG_PWD}" + }, + "ha": { "mode": "Patroni", "vip": "rcs-pg.lan", "readReplicaPort": 5433 } + } +} +``` + +#### 7.8.4 SQL Server + +```json +{ + "database": { + "provider": "SqlServer", + "simple_main": { + "server": "tcp:rcs-ag.lan,1433", + "database": "simple_main", + "user": "simple_app", + "password": "${SECRET_MSSQL_PWD}", + "extra": "Encrypt=True;TrustServerCertificate=False;MultiSubnetFailover=True;Application Name=SimpleLite" + }, + "platform": { + "server": "tcp:rcs-ag.lan,1433", + "database": "simple_platform", + "user": "simple_app", + "password": "${SECRET_MSSQL_PWD}", + "extra": "Encrypt=True;TrustServerCertificate=False;MultiSubnetFailover=True" + }, + "ha": { "mode": "AlwaysOnAG", "listener": "rcs-ag.lan" } + } +} +``` + +> **密码注入**:`${SECRET_*}` 由 `IConfiguration` 的环境变量 / Azure Key Vault / DPAPI 加密文件提供;明文绝不入仓库。 + +### 7.9 跨 Provider 迁移与数据搬迁 + +- **首次部署切换**:通过 `tools/db/migrate.ps1 --from=Sqlite --to=Npgsql` 一键导出/导入;底层使用 EF Core `IModel` 反序列化每张表后批量写入目标。 +- **滚动升级**:不支持热切;停服窗口内执行迁移;保留旧 SQLite 文件作回退包。 +- **CI 守护**:每个迁移 PR 必须通过四套 Provider 的迁移 + 端到端测试(Testcontainers)。 +- **数据类型差异**:UUID(SQLite TEXT / MySQL CHAR(36) / Pg uuid / MSSQL UNIQUEIDENTIFIER)、JSON(SQLite TEXT JSON1 / MySQL JSON / Pg jsonb / MSSQL NVARCHAR JSON)由 `IDbProviderSpecifics` 抽出三套配置;应用层无感知。 + +--- + +## 8. 用户 / 权限模型(含控件级权限) + +```mermaid +classDiagram + class User { + +Guid Id + +string Username + +string PasswordHash + +string Email + +bool Enabled + +DateTime LastLogin + } + class Role { + +Guid Id + +string Name + +string Scope + } + class Permission { + +string Code + +string Resource + } + class WidgetGrant { + +string WidgetId + +string Visibility + } + class Tenant { + +Guid Id + +string Name + } + User "1" --> "*" Role : assigned + Role "1" --> "*" Permission : grants + Role "1" --> "*" WidgetGrant : grants + Tenant "1" --> "*" User + User -- LoginSession + LoginSession : +string JwtId + LoginSession : +DateTime IssuedAt + LoginSession : +string ClientApp + LoginSession : +string Scope +``` + +**落地四件套:** + +1. **认证**:`SimpleShared.Auth` 提供 `JwtIssuer`;Web-Enabled 时 MiGu.Server 签发;Desktop-Only 时 SimpleLite 本地签发短期 Token(24h)。 +2. **授权**:所有 WebAPI + WS 调用走 `IPermissionEvaluator`;权限码 `<area>.<action>`。 +3. **范围(Scope)**:`Lite` / `Platform` / `RCSMonitor` / `*`;同一用户在不同端可用集合不同。Vue 端登录时由前端代码根据访问路径自动带入 `scope`(`/admin/*` → `Platform`,`/monitor/*` → `RCSMonitor`)。 +4. **控件级权限**:除 `Permission` 外,角色还可关联 `WidgetGrant`,每个 `WidgetId` 三档可见性: + - `hidden`:根本不渲染 + - `readonly`:渲染但禁用交互 + - `interactive`:完全可交互(仍受操作权限码二次校验) + +### 8.1 RCSMonitor 登录与权限拉取 + +```mermaid +sequenceDiagram + participant U as 运营用户 + participant RV as rcsmonitor-vue + participant P as MiGu.Server + participant L as SimpleLite (YARP 后侧) + participant DBp as platform.db + + U->>RV: 访问 https://host:8080/monitor + RV->>P: GET /monitor/index.html (静态) + P-->>RV: 200 OK + U->>RV: 输入账号密码 + RV->>P: POST /api/auth/login {scope=RCSMonitor} + P->>P: 校验账号 + 计算 EffectivePermissions + P->>DBp: 写 LoginSession + P-->>RV: { token, user, effectivePermissions } + RV->>RV: 按 visibleWidgets / allowedOps 裁剪 UI + RV->>P: GET /api/sl/projection/map (token, scope=RCSMonitor) + P->>P: YARP 中间件: scope 合法? path 在 /ops/* 之外? 投影类不拦截 + P->>L: GET /api/projection/map (X-On-Behalf-Of, X-Scope, X-Svc-Token) + L-->>P: 投影 + P-->>RV: 投影 + RV->>P: WS /ws/events (token) + P->>L: WS /ws/events (svc identity) + L-->>P: 推送 + P-->>RV: 转发 +``` + +--- + +## 9. 平台配置中心 + +覆盖以下维度: + +| 配置维度 | 说明 | +|----------|------| +| 系统级配置 | 运行参数、日志策略、安全策略 | +| 外部系统对接 | MES/WMS/RCS 等标准接口配置 | +| 路径规划策略 | 算法选择、权重、避障规则、区域限速 | +| 车辆维护策略 | 电量阈值、故障上报、自动报修 | +| 充电逻辑 | 充电优先级、空闲充电、任务中断充电 | +| 任务分配机制 | 负载均衡、就近分配、优先级调度 | +| 交通管制规则 | 路口策略、区域互斥、动态让行 | +| 权限与角色管理 | 多用户、功能权限控制、控件授权 | +| 第三方设备统一接入与管理 | 电梯/门禁/充电桩/AP/交换机/摄像头/读码器/PLC 统一注册、配置、监控、告警与审计 | +| 机器人群组与车队全生命周期管理 | 分区域/跨楼层/多车协作;硬件监控、网络诊断、OTA、批量操作、维护闭环 | +| 业务场景模板化与扩展机制 | SPS、Pack 产线、环线、点对点模板;参数/路径/交管/任务流固化;配置/低代码扩展 | +| 库位管理 | 出入库管理、库存管理、库位可视化 | +| 运营维护 | 调度回放、日志管理、版本维护 | +| 自定义控件管理 | 呼叫/展示界面可自由定义(platform-vue + rcsmonitor-vue 双渲染器) | + +```mermaid +flowchart LR + subgraph PlatformVue["platform-vue 配置中心"] + UI1[系统级] + UI2[外部对接] + UI3[路径规划] + UI4[车辆维护] + UI5[充电] + UI6[任务分配] + UI7[交通管制] + UI8[权限/角色/控件] + UI9[库位/库存] + UI10[运营/回放] + UI11[自定义控件] + end + + subgraph CC["ConfigCenter (MiGu.Server)"] + Sch[Schema 注册表] + Ver[版本/审计] + Val[校验器] + Pub[发布器] + end + + UI1 --> Sch + UI2 --> Sch + UI3 --> Sch + UI4 --> Sch + UI5 --> Sch + UI6 --> Sch + UI7 --> Sch + UI8 --> Sch + UI9 --> Sch + UI10 --> Sch + UI11 --> Sch + Sch --> Val --> Ver --> Pub + + Pub -- "REST PUT /api/sl/config/{section} (via YARP)" --> SL["SimpleLite (主服务)"] + Pub -- "WS broadcast: config.updated" --> RMVue["rcsmonitor-vue"] + Pub -- "WS broadcast: config.updated" --> AdminVue["其他在线 platform-vue"] +``` + +### 配置强类型骨架(C# 示例) + +```csharp +public record SystemConfig(int DispatchLoopHz, LogPolicy Log, SecurityPolicy Security); + +public record ExternalIntegrations(List<MesEndpoint> Mes, List<WmsEndpoint> Wms, List<RcsEndpoint> Rcs); + +public record RoutingPolicy( + string Algorithm, + Dictionary<string, double> Weights, + List<AvoidanceRule> Avoidance, + List<ZoneSpeedLimit> ZoneSpeedLimits); + +public record VehicleMaintenancePolicy( + double LowBatteryThreshold, + double CriticalBatteryThreshold, + FaultReportPolicy FaultReport, + AutoRepairPolicy AutoRepair); + +public record ChargePolicy(bool AllowMidTaskCharge, double IdleChargeAfterSec, List<ChargePriorityRule> Priority); + +public record TaskAllocationPolicy(AllocationMode Mode, bool LoadBalance, int MaxQueuePerCar); + +public record TrafficRule(List<IntersectionPolicy> Intersections, List<ZoneMutex> Mutex, List<DynamicYield> Yields); + +public record DeviceManagementConfig( + List<DeviceDriverBinding> Drivers, + List<DeviceInstance> Devices, + DeviceHealthPolicy HealthPolicy, + AlarmPolicy AlarmPolicy); + +public record FleetLifecycleConfig( + List<FleetGroup> Groups, + OtaPolicy Ota, + BatchOpsPolicy BatchOps, + NetworkDiagPolicy NetworkDiag); + +public record ScenarioTemplateConfig( + List<ScenarioTemplate> Templates, + TemplateDslPolicy DslPolicy, + LowCodePolicy LowCode, + TemplateVersionPolicy VersionPolicy); + +public record LocationManagement(List<Location> Locations, List<InventoryRule> InventoryRules); + +public record OpsConfig(PlaybackPolicy Playback, LogRetention LogRetention, VersionPolicy Version); + +public record CustomWidget(string Id, string Name, string SchemaJson, string LayoutJson, List<string> BindToScopes); + +public record EffectivePermissions( + string UserId, + int Version, + List<string> AllowedOps, + List<WidgetGrantDto> VisibleWidgets); +``` + +**发布机制:** Schema → 校验 → 版本 → 灰度 → 全量;MiGu.Server 通过 YARP `PUT /api/sl/config/{section}` 推到 SimpleLite,主服务原子切换 + ack;失败自动回滚,WS `config.rollback` 广播。 + +--- + +## 10. 关键交互序列 + +### 10.1 启动登录 + Web-Enabled 三端建链 + +```mermaid +sequenceDiagram + participant U as 用户 + participant L as SimpleLite (CycleGUI) + participant BL as BootLoginPanel + participant K as Kestrel (WebAPI) + participant P as MiGu.Server (YARP) + participant V as platform-vue + participant RV as rcsmonitor-vue + + U->>L: 启动 SimpleLite.exe + L->>L: 读取 simple.json + alt rememberRunMode = true + L->>L: 直接采用 runMode (仍鉴权) + else + L->>BL: 弹出登录窗 + U->>BL: 输入凭据 + 选 Web-Enabled (+记住选择) + BL->>L: 写 simple.json (runMode, rememberRunMode) + end + L->>L: 切换 CycleGUI 到"服务状态窗" + L->>K: 启动 Kestrel :7001/7002 + WebTerminal :8223 + L->>L: SchedulerRuntime.Start() + L->>P: spawn MiGu.Server.exe + P->>P: Kestrel :8080/8081 Up + P->>P: YARP 加载路由 + P->>K: POST /api/internal/handshake (svcToken) + + Note over U,RV: 管理员登录 + U->>V: 访问 https://host:8080/admin + V->>P: POST /api/auth/login {scope=Platform} + P-->>V: { token, effectivePermissions } + V->>P: GET /api/sl/projection/map + P->>K: GET /api/projection/map (YARP 转发 + X-On-Behalf-Of) + K-->>P: 投影 + P-->>V: 投影 + V-->>V: Workspace3D iframe 加载 http://host:8223?scope=Platform&token=... + + Note over U,RV: 运营人员登录 + U->>RV: 访问 https://host:8080/monitor + RV->>P: POST /api/auth/login {scope=RCSMonitor} + P-->>RV: { token, effectivePermissions (受限) } + RV->>RV: 按 allowedOps/visibleWidgets 渲染 +``` + +### 10.2 Desktop-Only 启动(对比) + +```mermaid +sequenceDiagram + participant U as 用户 + participant L as SimpleLite + participant BL as BootLoginPanel + + U->>L: 启动 SimpleLite.exe + L->>L: 读 simple.json (无记忆 或 选项=DesktopOnly) + L->>BL: 必要时弹出登录窗 + U->>BL: 输入凭据 + 选 Desktop-Only + BL->>L: 验证通过 + L->>L: 启动 CycleGUI 全功能 UI + L->>L: SchedulerRuntime.Start() + Note over L: 不启动 Kestrel<br/>不启动 WebTerminal<br/>不 spawn Platform + L-->>U: 进入设计端主界面 +``` + +### 10.3 platform-vue 编辑地图站点 → SimpleLite 落库 + +```mermaid +sequenceDiagram + participant V as platform-vue + participant P as MiGu.Server (YARP) + participant L as SimpleLite (WebAPI) + participant DBl as simple_main.db + participant RV as rcsmonitor-vue (订阅) + + V->>P: POST /api/sl/map/site {x, y, name} + P->>P: JWT + 鉴权 (map.site.write, scope=Platform) + P->>L: POST /api/map/site (YARP 转发 + X-On-Behalf-Of) + L->>L: 校验 + SimpleLib.SetSite() + L->>DBl: 写入 + DesignAuditLog + L-->>P: 201 Created { siteId } + P-->>V: 201 + siteId + L->>L: WS broadcast { type: "map.site.created", payload } + L-->>P: WS event + P-->>V: WS event (前端 Workspace3D iframe 收到 SimpleLite 推送的 PutModelObject 同步) + P-->>RV: WS event (RCSMonitor 接收并按权限展示) +``` + +### 10.4 平台编辑路径规划策略 → 主服务热加载 + +```mermaid +sequenceDiagram + participant V as platform-vue + participant P as Platform + participant L as SimpleLite + participant E as DispatchLoop + participant RV as rcsmonitor-vue + + V->>P: PUT /api/config/routing (payload, ifMatch=vPrev) + P->>P: 校验 schema + 权限 (config.routing.write) + P->>P: 写 platform.db (version+1, status=staged) + P->>L: PUT /api/sl/config/routing (YARP) + L->>L: ConfigSnapshot.AtomicSwap(vN) + L->>E: OnConfigChanged(routing) + E-->>L: ack + L-->>P: 200 OK { version: vN } + P->>P: status=active + P-->>V: 200 OK + 当前版本 + P-->>RV: WS broadcast { type: "config.updated", section: "routing", version: vN } +``` + +### 10.5 rcsmonitor-vue 发「取消任务」运维命令 + +```mermaid +sequenceDiagram + participant U as 运营人员 + participant RV as rcsmonitor-vue + participant P as MiGu.Server (YARP) + participant L as SimpleLite (Ops 网关) + participant E as DispatchLoop + participant DBp as platform.db + participant DBl as simple_main.db + + U->>RV: 选中 Demand → 点击「取消」 + RV->>RV: 客户端权限校验 (ops.task.cancel ∈ allowedOps?) + RV->>U: 二次确认 + U->>RV: 确认 + RV->>P: POST /api/sl/ops/task/cancel<br/>{demandId, idempotencyKey, reason} + P->>P: JWT + scope=RCSMonitor + 路径前缀 /api/sl/ops/* 命中白名单 + P->>L: POST /api/ops/task/cancel (YARP + X-On-Behalf-Of + svcToken) + L->>L: 服务端鉴权 (ops.task.cancel) + 白名单 + 限流 + 幂等 + L->>E: Pool.CancelDemand(id) + E-->>L: result + L->>DBl: 写 OpsAuditLog + L-->>P: 200 OK { status, auditId } + P->>DBp: 写 OpsLogs(source=RCSMonitor, auditId) + P-->>RV: 200 OK + RV-->>U: 提示成功 +``` + +### 10.6 ROSE 主备切换序列 + +```mermaid +sequenceDiagram + participant CLI as 客户端 (Vue/车端) + participant VIP as 浮动 IP + participant NA as NODE-A (Active) + participant ROSE as ROSE HA Engine + participant NB as NODE-B (Standby) + + CLI->>VIP: REST / WS 请求 + VIP->>NA: 路由到 Active + Note over NA: 节点故障 + ROSE->>NA: 心跳超时 → 触发切换 + ROSE->>NA: 强制停止 SimpleLite / Platform + ROSE->>NA: 卸载 R: 卷 + ROSE->>NB: 挂载 R: 卷 + ROSE->>NB: 启动 SimpleLite (WAL 重放 + 主库自检) + ROSE->>NB: 启动 MiGu.Server + ROSE->>VIP: 浮动 IP 漂移到 NODE-B + CLI--xVIP: 短暂中断 + CLI->>VIP: 重连 (WS auto-reconnect) + VIP->>NB: 路由到 NODE-B (新 Active) + NB-->>CLI: 恢复服务 + Note over CLI,NB: RTO 目标 < 60s,RPO ≈ 0 +``` + +--- + +## 11. 通信协议矩阵 + +| 通道 | 协议 | 编码 | 端点 | 用途 | +|------|------|------|------|------| +| MiGu.Server (YARP) ↔ SimpleLite | REST / WebSocket | JSON | `:7001` / `:7002` | 全功能 API 反代 + 事件订阅 | +| platform-vue ↔ MiGu.Server | REST / WebSocket | JSON | `:8080` / `:8081` (路径前缀 `/admin`) | UI 操作、事件推送 | +| rcsmonitor-vue ↔ MiGu.Server | REST / WebSocket | JSON | `:8080` / `:8081` (路径前缀 `/monitor`,`scope=RCSMonitor`) | UI 操作、事件推送(受限) | +| Vue Workspace3D ↔ SimpleLite WebTerminal | WSS(webVRender 协议) | webVRender 自有 | `:8223` | 3D 视口同步(嵌入 iframe) | +| 子进程心跳 | Named Pipe | JSON | `\\.\pipe\simple-bootstrap` | 守护 / 重启 | +| Vehicle ↔ SimpleLite | TCP / WS / OPC-UA | 业务私有 | `:8222` | 车端协议 | +| ROSE 心跳 | 专用网卡 + 串口 | ROSE 私有 | — | 节点健康监测 | +| ROSE 镜像复制 | 专用网卡 | ROSE 私有 | — | 块级实时数据同步 | + +**WebAPI 约定:** + +- 资源路径:`/api/{domain}/{resource}`,例:`/api/ops/task/cancel`、`/api/projection/map`、`/api/config/routing`;Platform 反代前缀 `/api/sl/*` +- 鉴权:`Authorization: Bearer <JWT>`;服务间互调附 `X-Svc-Token` + `X-On-Behalf-Of: <userId>` + `X-Scope: <scope>` +- 幂等:写操作支持 `Idempotency-Key` 请求头 +- 版本化:配置类资源使用 `ETag` / `If-Match` 做乐观锁 +- Swagger:Platform / SimpleLite 都暴露 `/swagger`(生产可关) +- **YARP Scope 白名单**:`scope=RCSMonitor` 时仅允许 `/api/sl/ops/*` 与 `/api/sl/projection/*` 命中;其他路径直接 403 + +--- + +## 12. 部署拓扑 + +```mermaid +flowchart TB + subgraph Cluster["双机 ROSE HA 集群 (Web-Enabled)"] + subgraph NA["NODE-A (Active)"] + SL_A["SimpleLite.exe<br/>Kestrel :7001/7002<br/>WebTerminal :8223"] + PL_A["MiGu.Server.exe<br/>:8080/8081<br/>(YARP + 双 Vue dist)"] + R_A["ROSE 受保护盘 R:\<br/>两库 (WAL)"] + end + subgraph NB["NODE-B (Standby)"] + SL_B["SimpleLite.exe (suspended)"] + PL_B["MiGu.Server.exe (suspended)"] + R_B["ROSE 镜像盘 R:\<br/>(实时同步)"] + end + NA <-- "ROSE 块级镜像 + 心跳" --> NB + VIP(("浮动 IP / VIP")) + VIP --> NA + end + + subgraph Clients["客户端"] + Op["管理员浏览器<br/>https://vip:8080/admin"] + Run["运营浏览器<br/>https://vip:8080/monitor"] + Veh["AGV 车端"] + end + + subgraph Cold["冷备 / 归档"] + NAS["NAS / 对象存储<br/>(夜间快照 + WAL 归档)"] + end + + Op -- "HTTPS :8080" --> VIP + Run -- "HTTPS :8080" --> VIP + Veh -- "TCP :8222" --> VIP + + NA -. "夜间 sqlite_backup + WAL 归档" .-> NAS +``` + +**端口规划(单逻辑节点):** + +| 端口 | 服务 | 启用条件 | +|------|------|----------| +| 7001 | SimpleLite WebAPI | Web-Enabled | +| 7002 | SimpleLite WebSocket | Web-Enabled | +| 8080 | Platform WebAPI + platform-vue 静态(/admin)+ rcsmonitor-vue 静态(/monitor) | Web-Enabled | +| 8081 | Platform WebSocket | Web-Enabled | +| 8222 | SimpleLite 车端 / API(现有) | 所有模式 | +| 8223 | SimpleLite WebTerminal(webVRender,Vue 嵌入用) | Web-Enabled | + +> Desktop-Only 模式下:7001 / 7002 / 8080 / 8081 / 8223 全部**不监听**。 + +--- + +## 13. 仓库与解决方案规划 + +```mermaid +flowchart LR + subgraph repo["Simple-FR 仓库"] + sln["Simple.sln"] + + subgraph kernel["内核 (现有)"] + SC["SimpleCore"] + SS["SimpleScheduler"] + HC["HttpClientHelper"] + end + subgraph shared["共享 (新增)"] + SHC["SimpleShared.Contracts"] + SHA["SimpleShared.Auth"] + SHF["SimpleShared.Config"] + SHP["SimpleShared.Persistence"] + SHO["SimpleShared.OpsCommand"] + SHH["SimpleShared.WebApiHost"] + end + subgraph apps["两端后端"] + SL["SimpleLite (CycleGUI + WebAPI)"] + PSrv["MiGu.Server (WebAPI + YARP)"] + end + subgraph frontends["前端 (pnpm workspace)"] + ShComp["packages/sl-controls<br/>(共享 Vue 组件库, 含 Workspace3D)"] + PVue["platform-vue (Vue 3 + Vite)"] + RVue["rcsmonitor-vue (Vue 3 + Vite)"] + end + subgraph plugins["插件"] + PG["Plugins / Sample / 第三方"] + end + subgraph ops["运维脚本"] + HA["tools/ha/<br/>(ROSE 资源脚本 + 切换演练)"] + end + end + + SL --> SC + SL --> SS + SL --> HC + SL --> SHC + SL --> SHA + SL --> SHF + SL --> SHP + SL --> SHO + SL --> SHH + + PSrv --> SC + PSrv --> SHC + PSrv --> SHA + PSrv --> SHF + PSrv --> SHP + PSrv --> SHO + PSrv --> SHH + + PG -. 反射加载 .-> SL + ShComp --> PVue + ShComp --> RVue + PVue -- vite build --> PSrv + RVue -- vite build --> PSrv +``` + +### 13.1 pnpm workspace 配置示例 + +`frontends/pnpm-workspace.yaml`: + +```yaml +packages: + - packages/* + - apps/* +``` + +`frontends/` 目录结构: + +```text +frontends/ +├── pnpm-workspace.yaml +├── package.json +├── packages/ +│ └── sl-controls/ # 共享组件库(Workspace3D / MapEditor / CarPanel / MissionEditor / CadToolbar / OpsActionPanel / FieldsLayers ...) +│ ├── package.json +│ ├── src/ +│ │ ├── Workspace3D.vue # 嵌入 webVRender iframe +│ │ ├── MapEditor.vue +│ │ ├── ... +│ │ └── index.ts +│ └── tsconfig.json +└── apps/ + ├── platform-vue/ # 管理员前端 + │ ├── package.json # depends on "@simple/sl-controls" + │ └── src/ + └── rcsmonitor-vue/ # 运营前端 + ├── package.json # depends on "@simple/sl-controls" + └── src/ +``` + +`packages/sl-controls/package.json`(节选): + +```json +{ + "name": "@simple/sl-controls", + "version": "0.1.0", + "main": "src/index.ts", + "peerDependencies": { + "vue": "^3.4.0" + } +} +``` + +`apps/platform-vue/package.json`(节选): + +```json +{ + "dependencies": { + "@simple/sl-controls": "workspace:*", + "vue": "^3.4.0", + "pinia": "^2.1.0", + "vue-router": "^4.2.0", + "element-plus": "^2.5.0", + "echarts": "^5.5.0" + } +} +``` + +构建 + 部署: + +```bash +cd frontends +pnpm install +pnpm --filter platform-vue build # 产出 apps/platform-vue/dist +pnpm --filter rcsmonitor-vue build # 产出 apps/rcsmonitor-vue/dist +# MiGu.Server 的发布脚本将这两个 dist 复制到 MiGu.Server/wwwroot/{admin,monitor} +``` + +--- + +## 14. 落地路线图 + +| 里程碑 | 周期估计 | 交付内容 | +|--------|----------|----------| +| **M0 - 内核下沉** | 1 周 | 新建 SimpleShared.* 6 个工程;Configuration → IConfigSnapshotProvider;EF Core + SQLite + 迁移 | +| **M1 - 启动登录 + 运行模式** | 1 周 | `BootLoginPanel`;`RunMode` 枚举;CycleGUI 状态窗;`simple.json.runMode` 持久化;Web-Enabled 业务面板硬隐藏 | +| **M2 - WebAPI 协议层** | 1.5 周 | SimpleLite 集成 Kestrel;定义 `/api/projection/*`、`/api/ops/*`、`/api/config/*`、`/api/map/*` 等;WS Hub;JWT | +| **M3 - 共享前端组件库** | 1.5 周 | `frontends/packages/sl-controls`:Workspace3D(嵌入 webVRender)+ 地图列表 + 任务表 + CAD 工具栏 + OpsActionPanel 等 | +| **M4 - Platform 后端 + YARP** | 2 周 | MiGu.Server(WebAPI + Swagger + YARP `/api/sl/*` + Scope 中间件 + 静态托管双 Vue dist)+ 配置中心 11 个 schema + 用户/角色/控件权限 | +| **M5 - platform-vue (管理员)** | 2.5 周 | 全功能套壳:登录、地图设计、车辆/任务、CAD、字段/图层、配置中心、库位、自定义控件、回放、设备管理、车队生命周期、场景模板 | +| **M6 - rcsmonitor-vue (运营)** | 1.5 周 | 按权限渲染;嵌入 webVRender(read-only);运维白名单动作面板;标注 | +| **M7 - Bootstrapper** | 1 周 | SystemMission 启动 Platform + 心跳 + Watchdog | +| **M8 - 高可用方案落地** | 2 周 | 默认路径 SQLite + ROSE(数据盘 / 启停脚本 / VIP / 切换演练,RTO < 60s 验收);另出 MySQL InnoDB Cluster / PostgreSQL Patroni / SQL Server Always On AG 三份部署指南与 CI 流水线 | +| **M9 - 自定义控件 + 控件级权限** | 2 周 | 控件 schema → platform-vue + rcsmonitor-vue 双渲染器;按 `WidgetGrant` 三档可见性裁剪 | + +--- + +## 15. 已确认决策 + +| # | 议题 | 决策 | +|---|------|------| +| 1 | 运行模式持久化 | **写入 `simple.json.runMode` / `rememberRunMode`**(不使用 %APPDATA%) | +| 2 | Web-Enabled 下是否允许同时本地操作 | **不允许**;CycleGUI 仅状态窗;不提供"临时启用本地 UI"开关 | +| 3 | 3D 引擎 | **复用 SimpleLite WebTerminal 的 webVRender**,Vue 通过 iframe / Web Component 嵌入 | +| 4 | 反向代理 | **YARP**(MiGu.Server 用 YARP 反代 `/api/sl/*`) | +| 5 | RCSMonitor 是否需要独立后端 | **否**,完全依赖 MiGu.Server;通过 `scope=RCSMonitor` + 角色 + WidgetGrant 限权 | +| 6 | 共享前端组件库 | **pnpm workspace + `frontends/packages/sl-controls`** | +| 7 | 运营白名单 | 采纳 §5.1 列表(10 条,后续可扩) | +| 8 | ROSE 复制粒度 | 块级镜像盘(RPO≈0)首选;视现场版本兜底文件级 | +| 9 | 车端连接策略 | 走 VIP,统一切换;车端实现 WS 自动重连 | +| 10 | **Platform / RCSMonitor 启动归属(v1.4)** | **由 SimpleLite 内置 `SystemMission.StartPlatformMission` 拉起并守护**;不允许独立安装 MiGu.Server.exe 为 Windows Service;MiGu.Server 启动时校验父进程必须是 SimpleLite | +| 11 | **持久层多 Provider(v1.5)** | EF Core 抽象,**默认 SQLite + ROSE HA**;可选 **MySQL InnoDB Cluster / PostgreSQL Patroni / SQL Server Always On AG**;每 Provider 一套 EF Migrations,CI 全矩阵跑通;运行期由 `simple.json.database.provider` 决定 | +| 12 | **跨 Provider 切换策略** | 不支持热切;切换走停服窗口 + `tools/db/migrate.ps1`;旧文件作为回退包保留 | + +--- + +## 16. 现有代码影响面 + +| 现有文件 | 改动方向 | +|----------|----------| +| `SimpleLite/Program.cs` | 在 `Enssentials.Load` 之后插入 `BootLoginPanel.RunModal()`;根据返回的 `RunMode` 决定后续路径 | +| `SimpleLite/Configuration.cs` | 拆为 `LocalBootConfig`(启动期,含 `runMode`、`rememberRunMode`、监听地址、各端口)+ `IConfigSnapshotProvider`(运行期);数据库路径走 `%SIMPLE_DATA_ROOT%` | +| `SimpleLite/Startup.cs` | 按 `RunMode` 分支:Desktop-Only 走原有 CycleGUI;Web-Enabled 启动 Kestrel + WebAPI + WebTerminal + Spawn Platform + 切换 CycleGUI 到状态窗 | +| `SimpleLite/UI/SimpleUI.cs` | 增加 `RunMode.WebEnabled` 时**所有业务面板硬性不创建**;新增"服务状态窗"面板(唯一允许) | +| `SimpleLite/UI/BootLoginPanel.cs`(新增) | 启动登录窗实现 + 模式持久化 | +| `SimpleLite/UI/ServiceStatusPanel.cs`(新增) | Web-Enabled 状态窗实现 | +| `SimpleLite/RCS/Mission.cs` | 抽出 `SystemMission` 抽象基类(与业务 Mission 同一基类但走独立 Registry,**不进入 DispatchLoop**) | +| `SimpleLite/RCS/SystemMissions/StartPlatformMission.cs`(新增) | 拉起 `MiGu.Server.exe`、绑定命名管道、上报心跳与状态到 ServiceStatusPanel | +| `SimpleLite/Bootstrap/ProcessHost.cs`(新增) | 封装 `System.Diagnostics.Process` + 日志重定向 + 优雅停止 | +| `SimpleLite/Bootstrap/HeartbeatChannel.cs`(新增) | 命名管道服务端 + JSON 心跳协议 | +| `SimpleLite/Bootstrap/SystemMissionRegistry.cs`(新增) | 注册/批量 Spawn/Stop SystemMission | +| `SimpleLite/Bootstrap/ProcessWatchdog.cs`(新增) | 指数退避重启 + 多次失败后熔断并通知状态窗 | +| `SimpleLite/Bootstrap/RunMode.cs`(新增) | `DesktopOnly` / `WebEnabled` 枚举 + 启动期校验 | +| `SimpleLite/Rendering/SimpleSceneRenderer.cs` | 按 webVRender 的 `?scope=` / `?ro=` 参数禁用编辑工具 | +| `SimpleScheduler/WebApi.cs` | 调用方从 Nancy 切到 ASP.NET Core Controller;保持 `SchedulerRuntime` 外观稳定 | +| `SimpleLite/SimpleProject.cs` | 持久化双写:JSON(兼容)+ SQLite(新主存,受 ROSE 保护盘) | +| `Plugins/Sample` | 示例插件读取 `IConfigSnapshotProvider`;不再读 `Configuration.conf` | +| 新增 `tools/ha/*` | ROSE 资源启停脚本、健康检查脚本、切换演练脚本 | +| 新增 `tools/db/*` | 跨 Provider 迁移脚本(`migrate.ps1` / `dump.ps1` / `restore.ps1`);按目标 DB 校验 schema 与索引 | +| 新增 `SimpleShared.Persistence/Providers/*` | 四个 Provider 适配(`SqliteProviderAdapter` / `MySqlProviderAdapter` / `NpgsqlProviderAdapter` / `SqlServerProviderAdapter`)+ `IDbProviderSpecifics` | +| 新增 `SimpleShared.Persistence/Migrations/{Sqlite,MySql,Npgsql,SqlServer}/*` | 四套 EF Core 迁移文件,CI 矩阵跑全 | +| 新增 `frontends/pnpm-workspace.yaml` | pnpm workspace 根 | +| 新增 `frontends/packages/sl-controls/` | 共享 Vue 组件库(含 Workspace3D 嵌 webVRender) | +| 新增 `frontends/apps/platform-vue/` | Vue 3 + Vite 工程,管理员全功能套壳 | +| 新增 `frontends/apps/rcsmonitor-vue/` | Vue 3 + Vite 工程,运营按权限渲染 | +| 新增 `MiGu.Server` 工程 | ASP.NET Core 8 WebAPI + YARP + 静态托管双 Vue dist | + +--- + +## 17. 视觉规范(v1.6 新增,v1.6.1 对齐 FRLD) + +### 17.1 品牌 + +| 项 | 取值 | 出现位置 | +|----|------|----------| +| 产品名 | **迷毂** | 登录窗标题 / `<title>` / 浏览器 favicon / 顶栏侧栏 logo / 文档抬头 | +| 全称 | **迷毂 · 智能调度平台** | 登录窗 H1、侧边栏中文标题 | +| 英文 | **Mi Gu · Intelligent Dispatch Platform** | 登录窗副标题、侧边栏英文副标 | +| 母公司 | **法睿兰达 FAIRYLAND**(FRLD) | 登录卡 / 侧边栏 顶部 logo | +| 工程标识(保持不动) | `MiGu.Server` / `simple-platform-vue` | csproj 名 / pnpm 包名 / 仓库目录;保持稳定避免破坏构建脚本 | +| Logo 资源 | `public/FRLD-logo-white.png` (11.5 KB) 展开态 + `public/FRLD-logo-white-no_title.png` (3.5 KB) 折叠态 | 侧边栏 / 登录卡;来源 `E:\ddms\frontend\public`(与 FAME 共用) | +| Favicon | `public/favicon.svg`(紫色渐变方块 + 白色「迷」字) | 浏览器标签页 | +| 登录背景 | `public/login-bg.jpg`(1.8 MB,原始素材 `C:\Tool\wallpapper\wall_Beach.jpg`) | 海滩 + 紫色叠加层 | + +### 17.2 主色卡(v1.7 默认 · 工业紫色) + +**默认主题 `industrial-purple`(工业紫)** — 登录后内容区与 AppShell 的基准色: + +``` +主色 PRIMARY #5a1890 rgb(90, 24, 144) +悬停 HOVER #7b1fa2 rgb(123, 31, 162) +按下 ACTIVE #38006b +强调 ACCENT #8e6abf rgb(142, 106, 191) + +应用渐变起/中/止 #0c021c → #16082e → #04000e(内容卡片 92%+ 不透明,避免发灰) +侧栏渐变 rgba(--mg-bg-aside-rgb) → rgba(--mg-bg-app-deep-rgb) +``` + +> **历史**:v1.6.2 固定 `#641393`;v1.6.1 曾对齐 ddms 的 `#7c3aed`。v1.7 起以 `themes.ts` 为唯一色板源,`theme.css` 仅提供默认值与玻璃令牌。 +> +> 实现位置: +> - `frontends/apps/simple-platform-vue/src/styles/themes.ts` — 6 套预设 + `applyThemeVars()` +> - `frontends/apps/simple-platform-vue/src/styles/theme.css` — `--mg-*` + Element Plus 覆盖 +> - `frontends/apps/simple-platform-vue/src/stores/ui.ts` — `themeId` 持久化 + +### 17.3 状态色 + +为保持紫色品牌统一,状态色降饱和并往紫色侧偏移: + +| 状态 | 取值 | RGB | +|------|------|-----| +| 成功 | `#6f8f4c` | 111, 143, 76 | +| 警告 | `#c98a1d` | 201, 138, 29 | +| 危险 | `#b3324f` | 179, 50, 79 | +| 信息 | `#7a6b87` | 122, 107, 135 | + +### 17.4 登录窗视觉构成(§3.2 的物化形态,v1.6.1 对齐 ddms) + +1. **背景层 (`z-index:0`)**:`url('/login-bg.jpg') center/cover`,filter `saturate(0.45) brightness(0.42)`,transform `scale(1.05)`。 +2. **紫色叠加层 (`z-index:1`)**:径向渐变(左上 `rgba(168,85,247,0.55)` + 右下 `rgba(26,16,64,0.78)`)+ 主对角线深紫线性渐变。 +3. **辉光球 (`z-index:1`)**:两个 blur(85px) 圆斑(左上 440px violet-300、右下 560px purple-500),各自 drift 18s 错相位呼吸。 +4. **登录卡 (`z-index:2`)**:460px 宽,圆角 16px,背景 `linear-gradient(135deg, #2d1b69 0%, #7c3aed 100%)`,`box-shadow: 0 30px 80px rgba(10,10,40,0.55)` + 内边高光。 +5. **品牌区**:52px FRLD logo(drop-shadow violet glow)+ H1 `迷 毂 · 智能调度平台`(letter-spacing 3px)+ 副标 `Mi Gu · Intelligent Dispatch Platform`(首字母 bolded)+ hint `请登录您的账号 · Web-Enabled`。 +6. **表单**:透明 el-input(白字 + 半透明白边 + focus 紫色辉光)+ scope 双卡(选中态白底紫字)+ checkbox(白勾紫底)+ 高级折叠(端口配置 2x2 grid)+ 白底紫字 46px 大圆角主按钮(hover 上浮 2px)。 + +### 17.5 AppShell 视觉构成(v1.6.1 对齐 ddms) + +1. **侧边栏**:自顶向下渐变 `#2d1b69 → #1a1040`,宽度 232px(折叠 64px),右侧细边 + `box-shadow: 2px 0 16px rgba(26,16,64,0.25)`。 +2. **侧边栏顶端 Logo 块**:22/14 内边距,38px FRLD logo(drop-shadow `rgba(168,85,247,0.4)`),下方中文标题 `迷 毂 · 智能调度平台`(letter-spacing 2.5px)+ 英文副标 `Mi Gu · Intelligent Dispatch Platform`(首字母 bolded)。 +3. **折叠态**:仅显示 28px FRLD 小 logo + 「迷毂」缩写。 +4. **菜单态**:item margin 2/8 + 44px 高 + 圆角 8px;hover `rgba(168,85,247,0.18)`;active `linear-gradient(90deg, rgba(168,85,247,0.38), rgba(124,58,237,0.22))` + `inset 3px 0 0 #a855f7`。 +5. **顶栏**:白底 + `box-shadow: 0 1px 6px rgba(45,27,105,0.06)`;面包屑 `#2d1b69`、分隔符 `#c4b5fd`。 +6. **用户头像**:`linear-gradient(135deg, #a855f7, #7c3aed)` 圆形。 +7. **页脚**:`color: var(--mg-primary-700)`、`border-top: 1px solid #f0ebf8`。 + +### 17.6 复用清单 + +要在新页面/组件中沿用品牌主色,优先使用 CSS 变量: + +| 变量 | 用途 | +|------|------| +| `--mg-primary` | 任意主色字段(按钮、链接、强调) | +| `--mg-primary-{50..900}` | 主色阶梯,用于底色/边框/浅文字 | +| `--mg-bg-app` / `--mg-bg-aside` / `--mg-bg-aside-2` | 全局/侧边栏底色 | +| `--mg-text-light` / `--mg-text-muted` | 暗背景文本 | +| `--mg-divider` | 暗背景分割线 | +| Element Plus 自带 `var(--el-color-primary*)` | 已自动跟随主色 | + +新写视图时请避免硬编码 `#641393` / `#7c3aed`(统一走 `var(--mg-primary)`、`rgba(var(--mg-*-rgb), α)`,以便主题切换生效)。 + +### 17.7 多主题色板切换(v1.7 新增) + +| 文件 | 职责 | +|------|------| +| `src/styles/themes.ts` | `ThemePreset[]`:id / name / description / preview / `vars`(`--mg-*` 键值对) | +| `src/styles/theme.css` | 静态默认 + 玻璃令牌 + `.mg-content` 内 Element Plus 暗色适配 | +| `src/stores/ui.ts` | `themeId`、`setThemeId()`、`applyCurrentTheme()`、`localStorage` 键 `simple.ui.state` | +| `src/components/ThemeSwitcher.vue` | 顶栏下拉:色块预览 + 名称/描述 + 当前勾选 | +| `src/layouts/AppShell.vue` | 头部接入 `ThemeSwitcher`;壳层样式使用 `var(--mg-*)` | +| `src/main.ts` | `createPinia()` 后立即 `useUiStore(pinia).applyCurrentTheme()` | + +**6 套预设 ID:** + +| id | 名称 | 主色 preview | +|----|------|----------------| +| `industrial-purple` | 工业紫色(**默认**) | `#5a1890` | +| `deep-azure` | 深邃蓝 | `#1565c0` | +| `emerald-forge` | 翡翠绿 | `#00796b` | +| `crimson-iron` | 熔铁赤 | `#b71c1c` | +| `graphite-steel` | 石墨钢 | `#455a64` | +| `amber-forge` | 琥珀金 | `#e65100` | + +**切换流程:** 用户选主题 → `setThemeId` → `applyThemeVars` 写 `:root` + `data-theme` 属性 → `persist()`。刷新页面后 `main.ts` 恢复。 + +**构建验证:** `pnpm --filter simple-platform-vue exec vue-tsc --noEmit` + `pnpm --filter simple-platform-vue build`(2026-05-20 已通过)。 + +--- + +## 18. 实现进度与待办(对照代码库) + +> 工作目录:`E:\Work\Core\Simple-FR\Simple`。下列状态以仓库内**实际文件**为准,与 §14 里程碑对照;完成项在后续 PR/会话中应同步更新本表。 + +### 18.1 前端 `simple-platform-vue`(合并 admin + monitor) + +| # | 项 | 文档依据 | 状态 | 代码位置 / 备注 | +|---|-----|----------|------|-----------------| +| F1 | pnpm workspace + 单 SPA | §13、frontends/README | ✅ 完成 | `frontends/apps/simple-platform-vue`;路由 `/admin/*` `/monitor/*` | +| F2 | 登录窗 §3.2 | §3.2、§17.4 | ✅ 完成 | `LoginView.vue`:双栏 hero、海滩背景、Mock 鉴权 | +| F3 | AppShell 玻璃风 | §17.5、v1.6.2 | ✅ 完成 | `AppShell.vue`:侧栏 FRLD logo、菜单、fade-up | +| F4 | Workspace3D / webVRender | §1、§11 | ✅ 完成 | `Workspace3D.vue` → `:8223` iframe | +| F5 | 配置中心 14 页骨架 | §9 | ✅ 完成 | `views/admin/config/*` + `ConfigPageBase` | +| F6 | 运营 monitor 视图 | §5、M6 | ✅ 骨架 | `views/monitor/*`(与 admin 同工程) | +| F7 | **多主题色板** | §17.7(v1.7) | ✅ 完成 | `themes.ts`、`ThemeSwitcher.vue`、`ui.ts`、`main.ts` | +| F8 | AppShell 壳层随主题变色 | §17.7 | ✅ 完成 | `AppShell.vue` 已改 `var(--mg-*)` | +| F9 | 登录页随主题变色 | §17.7 | ✅ 完成 | `BlankLayout` / `LoginView` 光球、叠加层、hero、按钮已改 `var(--mg-*)`;登录页内切换器仍 ☐(登录后顶栏可切) | +| F10 | `DashboardView` 图表色板 | §17.6 | ☐ 待办 | `MG_PALETTE` 仍为固定紫色数组,应读 `activeTheme` | +| F11 | 独立 `platform-vue` / `rcsmonitor-vue` | §13 | ☐ 未拆 | 当前有意合并;拆分时更新构建脚本 | +| F12 | `packages/sl-controls` | §13、M3 | ☐ 未建 | 组件仍在 app 内 `components/` | +| F13 | dist → `MiGu.Server/wwwroot` | §13 构建说明 | 🔄 需手动 | build 后复制 `dist/*`;`Program.cs` 已 `MapFallbackToFile` | + +### 18.2 后端 `MiGu.Server`(骨架) + +| # | 项 | 状态 | 备注 | +|---|-----|------|------| +| B1 | Kestrel + Swagger + CORS | ✅ | `Program.cs` | +| B2 | Auth / Health / Config / Ops / Projection 控制器 | ✅ 骨架 | Mock/内存存储 | +| B3 | YARP `/api/sl/*` → :8222 | ✅ 配置 | 依赖 SimpleLite 实际监听 | +| B4 | 静态托管 + SPA fallback | ✅ | 单一 `wwwroot/index.html` | +| B5 | JWT 真签发 + 库持久化 | ☐ | 仍为 Mock | +| B6 | 父进程 SimpleLite 校验 | ☐ | §4、§15 #10 | + +### 18.3 SimpleLite / 共享内核(ARCHITECTURE 主体) + +| # | 项 | 状态 | 备注 | +|---|-----|------|------| +| S1 | `SimpleShared.*` 六工程 | ☐ 未建 | §6、M0 | +| S2 | `BootLoginPanel` + `RunMode` | ☐ | M1 | +| S3 | `SystemMission.StartPlatformMission` | ☐ | M7 | +| S4 | WebAPI Kestrel + WS | ☐ | M2 | +| S5 | 多 DB Provider + HA | ☐ | M0/M8 | + +### 18.4 主题功能子任务(v1.7 专项) + +| # | 子任务 | 状态 | +|---|--------|------| +| T1 | `themes.ts` 六套预设,工业紫默认 | ✅ | +| T2 | `theme.css` 全站 `--mg-*` + `.mg-content` EP 覆盖 | ✅ | +| T3 | `ui.ts`:`themeId` + `applyCurrentTheme` + localStorage | ✅ | +| T4 | `ThemeSwitcher.vue` 下拉组件 | ✅ | +| T5 | `AppShell` 顶栏接入 | ✅ | +| T6 | `main.ts` 启动恢复主题 | ✅ | +| T7 | `vue-tsc` + `vite build` | ✅ 2026-05-20 | +| T8 | 登录页变量化 + 可选登录页 ThemeSwitcher | 🔄 T8a 变量化 ✅;T8b 登录页 ThemeSwitcher ☐ | +| T9 | `ARCHITECTURE.md` / `frontends/README.md` 同步 | ✅ 本节 | + +--- + +## 关联文档 + +- [SIMPLELITE_DEVELOPMENT_PLAN.md](./SIMPLELITE_DEVELOPMENT_PLAN.md) — SimpleLite 功能对齐执行计划 +- [SIMPLELITE_COMPOSER_PARITY_PLAN.md](./SIMPLELITE_COMPOSER_PARITY_PLAN.md) — 与 SimpleComposer 差距分析 diff --git a/Doc/CODE_REVIEW_ISSUES_2026-05-29.md b/Doc/CODE_REVIEW_ISSUES_2026-05-29.md new file mode 100644 index 0000000..99f6df5 --- /dev/null +++ b/Doc/CODE_REVIEW_ISSUES_2026-05-29.md @@ -0,0 +1,284 @@ +# 未提交代码审核 — 待优化问题清单 + +> **用途**:供其他 AI 模型或开发者按项修复。 +> **仓库路径**:`E:\Work\Core\Simple-FR\Simple` +> **分支**:`dev_simpleLite`(审核时) +> **审核日期**:2026-05-29 +> **审核范围**:后端 C#(MiGu.Server、SimpleLite、SimpleCore 相关 diff);**不含**前端 Vue 全量审阅与 `dotnet build` 验证。 + +--- + +## 使用说明(给优化 AI) + +1. 按 **优先级** 从高到低处理:`P0` → `P1` → `P2`。 +2. 每项包含:**问题 ID**、**文件**、**现象**、**建议改法**、**验收标准**。 +3. 修改时遵循仓库现有风格;**不要**扩大无关重构范围。 +4. 修复后在对应项下可勾选 `[x]`(本文件由人工维护勾选状态)。 + +--- + +## 问题总表(快速索引) + +| ID | 优先级 | 状态 | 标题 | 主要文件 | +|----|--------|------|------|----------| +| ISSUE-10 | P0 | ✅ 已修复 | CarRepository 反序列化白名单可能过严 | `SimpleLite/Persistence/Repositories/CarRepository.cs` | +| ISSUE-05 | P1 | ✅ 已修复 | 项目/应用配置 API 未校验 writableViaApi | `SimpleLite/Web/ReflectionApiController.cs` | +| ISSUE-04 | P1 | 🔧 部分处理 | Launcher 等新文件未纳入版本库 | `MiGu.Server/Launcher/*` 等 | +| ISSUE-01 | P2 | 📝 已评估·可配置缓解 | 登录仍可能阻塞至 Readiness 超时 | `MiGu.Server/Controllers/AuthController.cs` | +| ISSUE-02 | P2 | 📝 已评估·维持现状 | Me/SwitchScope RunMode 复用实例时偏保守 | `MiGu.Server/Controllers/AuthController.cs` | +| ISSUE-03 | P2 | ✅ 已处理·README | 默认 admin 凭据(部署) | `MiGu.Server/appsettings.json` | +| ISSUE-06 | P2 | ✅ 已修复 | GET monitor-config 写副作用 | `SimpleLite/Web/ReflectionApiController.cs` | +| ISSUE-07 | P2 | 📝 已评估·待产品 | POST monitor-config 立即写盘 | `SimpleLite/Web/ReflectionApiController.cs` | +| ISSUE-08 | P2 | ✅ 已修复 | Toolbar GetState 响应格式不一致 | `SimpleLite/Web/WorkspaceToolbarApiController.cs` | +| ISSUE-09 | P2 | 📝 已评估·技术债 | 录制/图层 API 重复维护 | `MapEditApiController` + `WorkspaceToolbarApiController` | +| ISSUE-11 | P2 | 📝 已评估·观察项 | 高频 redraw 仍可能偶发旧帧 | `SimpleLite/Rendering/SimpleSceneRenderer.cs` | +| ISSUE-12 | P2 | 📝 已评估·待产品 | Online/Offline 远程 MethodMember 权限 | `SimpleLite/RCS/CarTypes/Car.cs` + 鉴权链 | +| ISSUE-13 | P2 | 📝 已评估·依赖升级 | GetPosition realtime 未启用 | `SimpleLite/Workspace/WorkspacePickSession.cs` | +| ISSUE-14 | P2 | 📝 已评估·环境项 | 2D 平移绑定依赖 CycleGUI 版本 | `SimpleLite/Workspace/WorkspaceViewModeService.cs` | +| ISSUE-15 | P2 | 📝 已评估·低优维持 | 表格双击为时间窗口模拟 | `SimpleLite/UI/WorkbenchTableRowUi.cs` | +| ISSUE-16 | P2 | 📝 已评估·待产品 | 底栏 CAD 入口已移除(产品确认) | `WorkspaceBottomBar.cs` 等 | + +--- + +## P0 — 合并前建议先验证/修复 + +### ISSUE-10 — CarRepository 反序列化白名单可能过严 + +- **状态**:[x] 已修复(2026-05-29) +- **文件**:`SimpleLite/Persistence/Repositories/CarRepository.cs`(`CarTypeBinder`、`JsonOpts`) +- **现象**:`TypeNameHandling.Auto` + 自定义 `ISerializationBinder` 白名单未包含 `System.String`、`System.Int32`、`System.Boolean` 等 BCL 基础类型。`customProps` 由 `JsonConvert.SerializeObject(car, JsonOpts)` 序列化**整辆车**,JSON 中泛型容器(如 `Dictionary<string, int>`)的 `$type` 可能含 `System.*`,反序列化时 `BindToType` 抛 `SerializationException`。 +- **风险**:升级后 `LoadAllIntoSimpleLib` 部分车辆加载失败。 +- **建议改法**(择一或组合): + 1. 在白名单中增加安全 BCL 类型前缀/精确名:`System.String`、`System.Int32`、`System.Int64`、`System.Boolean`、`System.Single`、`System.Double`、`System.Decimal`、`System.DateTime` 等;或允许 `System` 下仅 primitive 与 `System.Collections.Generic` 的封闭列表。 + 2. 缩小序列化范围:勿对整个 `car` 使用 `TypeNameHandling.Auto`,仅对已知 DTO/字段序列化。 + 3. 提供 `RegisterAllowedNamespacePrefix("System")` 的文档说明(不推荐无限制放行整个 System)。 +- **验收标准**: + - 用**现有生产/测试库**中真实 `customProps` JSON 跑 `LoadAllIntoSimpleLib`,无 SerializationException。 + - 恶意 `$type`(如 `System.Windows.Forms.*` gadget)仍被拒绝。 +- **回归命令**(示例):加载含多车型、多插件的程序集后启动 SimpleLite 并打开车辆列表。 +- **修复说明**(2026-05-29):在 `CarTypeBinder` 新增精确类型白名单 `_allowedExactTypeNames`,放行安全的 BCL 基础类型(string/int/long/bool/float/double/decimal/DateTime/DateTimeOffset/TimeSpan/Guid/char/byte/short/Object/Enum/Nullable<T> 等);`IsAllowedRawName` 在命名空间前缀匹配前先做「精确全名」匹配。修复后泛型容器实参(如 Dictionary<string,int>、Dictionary<string,object>)在字符串层 `IsAllowedSerializedTypeName` 与已解析层 `IsAllowedResolvedType` 两条路径均不再误抛 `SerializationException`。因采用精确全名而非放行整个 `System.*` 前缀,`System.Windows.Forms.*` 等 gadget 链仍被拒绝。**仍需**用真实生产/测试库回归 `LoadAllIntoSimpleLib`。 + +--- + +## P1 — 建议本轮一并处理 + +### ISSUE-05 — 项目/应用配置 API 未校验 writableViaApi + +- **状态**:[x] 已修复(2026-05-29) +- **文件**:`SimpleLite/Web/ReflectionApiController.cs` + - `SetProjectField`(`POST /project/fields/{field}`) + - `SetAppConfigField`(`POST /app-config/fields/{field}`) +- **现象**:仅检查 `FieldMember.locked` 与 `MapObjectFactory.IsSensitiveFieldNamePublic`;**未**检查 `FieldMember.writableViaApi`(`SimpleCore/Scene.cs` 已新增,默认 `true`)。 +- **对比**:`MapObjectFactory.TryApplyField` 已拒绝 `writableViaApi == false`。 +- **建议改法**:在两处 setter 中读取 `FieldMember`,若 `!fm.writableViaApi` 返回 403 及明确文案;与 `TryApplyField` 日志风格一致。 +- **验收标准**:对标记 `writableViaApi=false` 的字段,Web POST 返回 403,内存值不变。 +- **修复说明**(2026-05-29):在 `SetProjectField`(`Scene.conf`)与 `SetAppConfigField`(`Configuration.conf`)的 `fm.locked` 检查之后新增 `if (!fm.writableViaApi)` 拦截,命中即 `Diagnosis.Post` 记录并返回 403(内存值不变),与 `MapObjectFactory.TryApplyField` 的双层防御保持一致。注:前端字段列举(`ListFieldMembers` / 字段记录)暂未暴露 `writableViaApi`,如需「预先禁用不可写输入框」可后续在响应中增列该布尔值(属前端契约增量,未纳入本次范围)。 + +--- + +### ISSUE-04 — 新增文件未纳入 Git(提交遗漏) + +- **状态**:[~] 部分处理(2026-05-29):`.gitignore` 已补;编译必需的后端源文件待人工 `git add` + `commit` +- **路径**(审核时为 untracked): + - `MiGu.Server/Launcher/SimpleLiteLauncher.cs` + - `MiGu.Server/Launcher/SimpleLiteOptions.cs` + - `SimpleLite/Web/WorkspaceToolbarApiController.cs` + - `SimpleLite/Web/MonitorVisibilityConfig.cs` + - `SimpleLite/Workspace/CurveControlPointDragService.cs` + - (前端相关见下方「未审范围」) +- **现象**:`AuthController` 依赖 `SimpleLiteLauncher` DI;未 add 则他人 clone 无法编译/运行。 +- **建议改法**:确认属于本需求后 `git add`;`.codegraph/`、`.cursor/mcp.json` 按 `.gitignore` 决定是否提交。 +- **验收标准**:干净 clone + build 能通过;Launcher 与 Toolbar 路由可访问。 +- **处理进度**(2026-05-29): + - ✅ 已补 `.gitignore`:忽略 `.codegraph/`(codegraph 本地索引缓存)与 `/SimpleCore/ref/`(同 `/ref/Ref` 的未知用途二进制),二者已从 untracked 列表移除。 + - ✅ 已确认 `AuthController` 构造函数注入 `SimpleLiteLauncher`(第 69/72 行)→ `Launcher/*.cs` 为编译必需,必须入库。 + - ⏳ 待人工执行(编译必需的后端源文件 + 本审核文档;单行命令,PowerShell/bash 均可): + +``` +git add MiGu.Server/Launcher/SimpleLiteLauncher.cs MiGu.Server/Launcher/SimpleLiteOptions.cs SimpleLite/Web/WorkspaceToolbarApiController.cs SimpleLite/Web/MonitorVisibilityConfig.cs SimpleLite/Workspace/CurveControlPointDragService.cs Doc/ .gitignore +``` + + - ❓ 需决策是否入库:`.cursor/mcp.json`、`.cursor/rules/codegraph.mdc`(团队是否共享该 MCP / 规则配置)。 + - 📦 前端新文件(`frontends/apps/simple-platform-vue/**`:`workspaceToolbar.ts`、`MonitorSelectionPanel.vue`、`FieldMemberEditor.vue`、`CarStyleEditor*`、`ProjectPropertiesView.vue`、`MapMonitorConfigView.vue` 等)归「前端另开任务」范围,建议随前端审核一并 add。 + - ⚠ 未执行 `git commit`:提交内容与时机由人工掌控。 + +--- + +## P2 — 按产品/环境决定或后续迭代 + +### ISSUE-01 — 登录仍可能阻塞至 Readiness 超时 + +- **状态**:[~] 已评估(2026-05-29):现有配置即可缓解,暂不改代码 +- **文件**:`MiGu.Server/Controllers/AuthController.cs`(`Login` → `Task.Run(() => _launcher.MaybeStart(...))`) +- **现象**:`MaybeStart` 内 `WaitForProjectionReady` 默认最多 8000ms,登录请求仍等待该 Task。 +- **建议改法**:缩短超时、登录先返回 + 前端轮询 `/projection` 就绪、或 fire-and-forget + `LaunchWarning` 已有字段提示。 +- **验收标准**:登录 P95 延迟可接受;SimpleLite 未就绪时前端有明确降级(`Detached` / `LaunchWarning`)。 +- **评估说明**(2026-05-29):报告建议的「缩短超时 / 登录先返回」**现有设计已通过配置支持**,无需改代码:`SimpleLiteOptions.ReadinessTimeoutMs`(绑定 `appsettings.json:SimpleLite.ReadinessTimeoutMs`,默认 8000)注释明确 `0 = 不等待(登录立即返回)`、`负值 = 无限等待`;`Login` 已用 `Task.Run` 释放请求线程,失败时回填 `Detached` + `LaunchWarning`。运维若需更快登录可将该值调小或置 0(代价:`RunMode` 可能暂不准,由 `LaunchWarning` 降级提示)。真正的「fire-and-forget + 前端轮询 `/projection`」属前后端协议改动,留作后续迭代。 + +--- + +### ISSUE-02 — Me / SwitchScope 的 RunMode 在复用外部 SimpleLite 时偏保守 + +- **状态**:[~] 已评估(2026-05-29):当前保守映射为有意设计,维持现状 +- **文件**:`MiGu.Server/Controllers/AuthController.cs`(`Me`、`SwitchScope`、`ResolveRunMode`) +- **现象**:`ReusingExisting` / `ExternalReuseLaunchMode` 常归为 `WebEnabled`,与用户本次 `WebOnly` 选择可能不一致。 +- **建议改法**:前端强依赖 `LaunchWarning`;或 HTTP 探针推断 displayMode(成本高)。 +- **验收标准**:用户知悉「已有实例未应用新模式」;无静默错误状态。 +- **评估说明**(2026-05-29):`ResolveRunMode` / `Me` / `SwitchScope` 在 `ExternalReuseLaunchMode`、`ReusingExisting` 时归 `WebEnabled` 是**有意的保守降级**(代码注释已说明:复用既有实例时其真实 displayMode 不可知,归 WebEnabled 最不会误导用户「以为本地窗口不存在」)。用 HTTP 探针推断成本高且不可靠;前端已可凭 `LaunchWarning` 提示「已有实例未应用新模式」。结论:维持现状,作为前端体验项后续跟进,不改后端。 + +--- + +### ISSUE-03 — 默认 admin 凭据(部署安全) + +- **状态**:[x] 已处理(2026-05-29):已在 README 增加生产安全须知 +- **文件**:`MiGu.Server/appsettings.json`(`Auth:Users`) +- **建议**:生产用环境变量/密钥管理覆盖;README 注明勿用默认密码。 +- **处理说明**(2026-05-29):已在 `MiGu.Server/README.md` 新增「安全须知(生产部署必读)」小节,明确 `admin/admin`、`ops/ops` 与 `Jwt.Secret`/`Internal.Token=REPLACE_ME` 仅供开发,并给出环境变量覆盖示例(`Auth__Users__admin__Password` 等)。`appsettings.json` 默认值保持不变以维持开箱即用的本地开发体验(属部署规范,非代码缺陷)。 + +--- + +### ISSUE-06 — GET monitor-config 写副作用 + +- **状态**:[x] 已修复(2026-05-29) +- **文件**:`SimpleLite/Web/ReflectionApiController.cs`(`GetMonitorConfig`) +- **现象**:`monitorVisibility == null` 时 GET 会 `Configuration.conf.monitorVisibility = new MonitorVisibilityConfig()`。 +- **建议改法**:GET 只读快照,不写回 `Configuration.conf`;初始化放在 `Configuration` 构造/`FromFile`。 +- **验收标准**:多次 GET 不改变磁盘上的 `simple.json`(除非 POST)。 +- **修复说明**(2026-05-29):删除 `GetMonitorConfig` 中的 `Configuration.conf.monitorVisibility = conf;` 写回行,GET 改为纯只读快照。`monitorVisibility` 非 null 已由 `Configuration` 字段默认值(`= new()`,第 74 行)、构造函数(`??=`,第 32 行)与 `FromFile`(`??=`,第 46 行)三处共同保证,GET 无需补写。多次 GET 不再触碰 `Configuration.conf`,自然不会引发后续写盘。 + +--- + +### ISSUE-07 — POST monitor-config 每次全量写 simple.json + +- **状态**:[~] 已评估(2026-05-29):维持「保存即写盘」,待产品决定是否需要预览态 +- **文件**:`ReflectionApiController.PostMonitorConfig` +- **现象**:POST 成功即 `Configuration.ToFile("simple.json")`,无单独「保存」步骤。 +- **建议改法**:若需「预览再保存」,拆分为 PATCH 内存 + `POST /monitor-config/save`;与 `PostAlarmColors` / `SaveCarStyle` 模式对齐。 +- **评估说明**(2026-05-29):当前「POST 成功即写盘」行为正确(非 bug)。是否拆分为「预览态 + 显式保存」取决于产品对监控可见性配置的交互预期,拆分需新增 `POST /monitor-config/save` 端点并由前端配合「保存」按钮,属产品/前端联动改动。结论:维持现状,待产品确认是否需要预览态后再迭代。 + +--- + +### ISSUE-08 — WorkspaceToolbar GetState 响应格式不一致 + +- **状态**:[x] 已修复(2026-05-29) +- **文件**:`SimpleLite/Web/WorkspaceToolbarApiController.cs`(`GetState`) +- **现象**:`GetState` 返回 `{ success, code, data }`;其它端点用 `ReflectionEnvelope<object>`。 +- **建议改法**:统一为 `ReflectionEnvelope`;或前端 adapter 层统一解析(若改 Vue 需另开任务)。 +- **验收标准**:`WorkspaceCanvasToolbar.vue`(未审)与 API 契约一致。 +- **修复说明**(2026-05-29):`GetState` 成功分支由手写匿名对象 `{ success, code, data }` 改为 `ReflectionEnvelope<object>.Ok(BuildStateAnon())`,输出补齐 `message` 字段。经核对前端 `workspaceToolbar.ts` 的 `Envelope<T>` 接口本就声明 `{ success, code, data, message }` 且 `unwrap` 在失败时读 `resp.message`——本次改动使后端与该契约完全对齐,`data`(`BuildStateAnon`)结构不变,前端仅多读到一个 `message` 字段,向后兼容,无需改 Vue。 + +--- + +### ISSUE-09 — 录制/图层 API 重复 + +- **状态**:[~] 已评估(2026-05-29):逻辑已收敛到共享单例,维持双入口 +- **文件**: + - `SimpleLite/Web/MapEditApiController.cs`(`/layers`、`/recording/*`、`/playback/*`) + - `SimpleLite/Web/WorkspaceToolbarApiController.cs`(同源能力) +- **建议改法**:抽取 `RecordingApiHelper` / 单 controller;或文档标明 MapEdit=地图编辑器、Toolbar=Embed iframe,避免双份逻辑漂移。 +- **验收标准**:修一处行为两处一致,或 deprecate 其一。 +- **评估说明**(2026-05-29):核对两个 controller 后确认——`MapEditApiController`(`/objects/*`、`/layers`、`/recording/*`、`/playback/*`)与 `WorkspaceToolbarApiController`(`/toolbar/*`)**都只是薄 HTTP 封装**,真正的状态与逻辑均委托给共享单例 `PlaybackController` / `SimulationRecorder` / `RecordingLibrary` / `SimpleUI.LayerToShowRef`。因此「修一处行为两处一致」**本质已满足**(无逻辑漂移,仅路由壳与响应组装重复)。分工:MapEdit=地图编辑器全功能页,Toolbar=Embed/CanvasOnly iframe 精简栏。结论:维持双入口(强行合并会牵动两套前端),作为技术债记录;后续若消重可抽取 `RecordingApiHelper` 收拢响应组装。 + +--- + +### ISSUE-11 — 高频 redraw 仍可能偶发旧帧 + +- **状态**:[~] 已评估(2026-05-29):观察项,未复现不改 +- **文件**:`SimpleLite/Rendering/SimpleSceneRenderer.cs` +- **现象**:已做 force 16ms、运动 33ms、`NotifyStateChanged` 直通;极端高频仍可能竞态。 +- **建议**:仅在实际复现时合并 redraw 或加锁。 +- **评估说明**(2026-05-29):现有节流(force 16ms / 运动 33ms / `NotifyStateChanged` 直通)已覆盖常规场景;极端高频旧帧为理论竞态,未见稳定复现。盲目加锁可能引入渲染线程争用、得不偿失。结论:保持观察,待出现可复现用例再针对性合并 redraw 或加锁。 + +--- + +### ISSUE-12 — Car.OnlineCar / OfflineCar 经 Web 反射调用 + +- **状态**:[~] 已评估(2026-05-29):需产品确认角色边界,未擅自加限制 +- **文件**:`SimpleLite/RCS/CarTypes/Car.cs`;调用链 `ReflectionApiController` + Platform 鉴权 +- **建议**:确认 Platform 角色是否允许远程触发;必要时 MethodMember 加权限或 Web 层拦截。 +- **评估说明**(2026-05-29):`OnlineCar` / `OfflineCar` 经 `ReflectionApiController` 反射触发,已受 Platform JWT 鉴权链保护(需登录且具备相应 scope)。是否进一步收紧(仅 `role-platform`、或 `MethodMember` 增权限位)取决于产品对「远程上/下线车辆」的角色边界定义,属权限策略决策,不宜由代码审核单方收紧(可能误伤合法运营操作)。结论:待产品确认角色边界后再决定是否加 `MethodMember` 权限或 Web 层拦截。 + +--- + +### ISSUE-13 — GetPosition realtime 未启用 + +- **状态**:[~] 已评估(2026-05-29):阻塞于 CycleGUI 协议,维持注释 +- **文件**:`SimpleLite/Workspace/WorkspacePickSession.cs` +- **现象**:`getPos.realtime = true` 仍注释;依赖 `OnPickFeedback` 双路驱动拖动。 +- **建议**:CycleGUI 协议支持后取消注释并删「尚未上线」说明。 +- **评估说明**(2026-05-29):`getPos.realtime = true` 依赖 CycleGUI 协议层支持,当前版本未提供,强行开启会导致拖动反馈异常;现有 `OnPickFeedback` 双路驱动已能正常工作。结论:阻塞于外部依赖(CycleGUI 升级),维持注释现状,待协议支持后取消注释。 + +--- + +### ISSUE-14 — 2D 平移绑定依赖 CycleGUI API + +- **状态**:[~] 已评估(2026-05-29):环境/版本项,建议补版本矩阵 +- **文件**:`SimpleLite/Workspace/WorkspaceViewModeService.cs`(`TryBind2DPanOnly`) +- **现象**:反射 `SetWorkspaceBehaviour` 字段名;版本不匹配时 2D 右键可能仍改俯仰。 +- **建议**:版本矩阵文档;失败时 UI 提示升级 CycleGUI。 +- **评估说明**(2026-05-29):`TryBind2DPanOnly` 经反射读 `SetWorkspaceBehaviour` 字段名,与 CycleGUI 版本强相关。本质是「运行环境/依赖版本匹配」问题,非代码逻辑缺陷。结论:作为环境项记录;建议在 CycleGUI 版本矩阵文档标注最低版本,并在反射失败时通过 UI 提示升级(可后续小改)。本轮不改逻辑以免误判版本。 + +--- + +### ISSUE-15 — 表格双击为 400ms 时间窗口模拟 + +- **状态**:[~] 已评估(2026-05-29):可接受方案,维持 +- **文件**:`SimpleLite/UI/WorkbenchTableRowUi.cs` +- **说明**:CycleGUI 无原生 DoubleClick;已有 `PruneExpiredClickTimestamps` 防泄漏。 +- **评估说明**(2026-05-29):CycleGUI 立即模式 UI 无原生 DoubleClick 事件,400ms 时间窗口模拟是合理的既定方案,且已有 `PruneExpiredClickTimestamps` 防时间戳泄漏。结论:方案可接受,维持现状,低优先级。 + +--- + +### ISSUE-16 — 底栏 CAD 入口已移除 + +- **状态**:[~] 已评估(2026-05-29):非 bug,待产品确认无强依赖 +- **文件**:`WorkspaceBottomBar.cs`、`WorkspaceFloatingToolbar.cs` +- **说明**:CAD 仍可通过主菜单/插件;确认用户无强依赖底栏入口。 +- **评估说明**(2026-05-29):底栏 CAD 入口移除是产品调整(非缺陷),CAD 功能仍可经主菜单/插件访问。结论:非 bug,仅需产品确认用户无对「底栏 CAD 入口」的强依赖即可关闭。 + +--- + +## 已确认修复项(无需再改,供对照) + +| 项 | 说明 | +|----|------| +| 脚本 KPI | `script` count 改为 `CarProgram.GetPrograms().Length` | +| 脚本 CRUD | Web 禁止新建/删除 script;`ResolveObject` 走 CarProgram | +| 删 script 误删车 | `MapObjectFactory.DeleteByKind` script 分支独立返回 400 | +| JSON camelCase | `SetViewFilter` 用 Dictionary;Toolbar 用 `JsonSerializerCase.CamelCase` | +| 敏感字段 | `MapObjectFactory` 前缀黑名单 + `writableViaApi` | +| 项目保存路径 | `TryResolveSafeProjectPath` 白名单 | +| 对齐/选择解耦 | `WorkspacePointerSnap` 用 `AlignSnap*` | +| GetPosition 竞态 | `terminated` ReferenceEquals 防误删新会话 | +| 车体默认白色 | `WorkspaceViewportStyle` 纯白判定修复 | + +--- + +## 未审范围(后续可另开审核任务) + +- `frontends/apps/simple-platform-vue/**`(含 `DashboardView.vue` 等大 diff) +- `SimpleLite/UI/ComposerDockPanel.cs` 大 diff +- `build-platform-frontend.bat` +- 全解决方案 `dotnet build` / 前端 `npm run build` +- 未跟踪前端文件:`workspaceToolbar.ts`、`WorkspaceCanvasToolbar.vue`、`CarStyleEditor*.vue` 等 + +--- + +## 给优化 AI 的推荐执行顺序 + +``` +1. ISSUE-10(回归真实 DB → 修 binder 或序列化策略) +2. ISSUE-05(writableViaApi 对齐) +3. ISSUE-04(git add 缺失文件) +4. ISSUE-08 / ISSUE-09(若本轮动前端 Toolbar) +5. 其余 P2 按产品排期 +``` + +--- + +## 修订记录 + +| 日期 | 说明 | +|------|------| +| 2026-05-29 | 初版:基于会话 58 代码审核整理 | +| 2026-05-29 | 优化轮(会话 65):修复 ISSUE-10/05/06/08(代码改动);ISSUE-03 在 `MiGu.Server/README.md` 增「安全须知」、ISSUE-04 补 `.gitignore` 并给出 `git add` 命令(后端必需文件待人工提交);ISSUE-01/02/07/09/11/12/13/14/15/16 完成评估并记录决策。`dotnet build SimpleLite/SimpleLite.csproj` 通过(0 错误 / 282 预存警告)。 | diff --git a/Doc/CODE_REVIEW_ISSUES_CHECKLIST.md b/Doc/CODE_REVIEW_ISSUES_CHECKLIST.md new file mode 100644 index 0000000..6cce7d3 --- /dev/null +++ b/Doc/CODE_REVIEW_ISSUES_CHECKLIST.md @@ -0,0 +1,37 @@ +# 代码审核问题 Checklist(给其他 AI) + +完整说明见:`Doc/CODE_REVIEW_ISSUES_2026-05-29.md` + +--- + +## P0 + +- [ ] **ISSUE-10** `SimpleLite/Persistence/Repositories/CarRepository.cs` — `CarTypeBinder` 白名单过严,可能拦 `System.String`/`System.Int32` 等,导致 `DeserializeObject(car)` 失败。修复:放宽安全 BCL 类型或缩小 `TypeNameHandling.Auto` 范围;用真实 DB 回归。 + +## P1 + +- [ ] **ISSUE-05** `SimpleLite/Web/ReflectionApiController.cs` — `SetProjectField` / `SetAppConfigField` 未检查 `[FieldMember].writableViaApi`,与 `MapObjectFactory.TryApplyField` 不一致。修复:writableViaApi=false → 403。 + +- [ ] **ISSUE-04** 未跟踪文件需 `git add`:`MiGu.Server/Launcher/*`、`WorkspaceToolbarApiController.cs`、`MonitorVisibilityConfig.cs`、`CurveControlPointDragService.cs`。 + +## P2(可选) + +- [ ] **ISSUE-01** `AuthController.Login` — `MaybeStart` 仍可能阻塞 ~8s。 +- [ ] **ISSUE-02** `Me`/`SwitchScope` — 复用外部 SimpleLite 时 RunMode 可能不准。 +- [ ] **ISSUE-03** `appsettings.json` — 默认 admin 密码,生产需覆盖。 +- [ ] **ISSUE-06** `GetMonitorConfig` — GET 写 `Configuration.conf.monitorVisibility`。 +- [ ] **ISSUE-07** `PostMonitorConfig` — POST 即写 `simple.json`。 +- [ ] **ISSUE-08** `WorkspaceToolbarApiController.GetState` — 响应格式与 `ReflectionEnvelope` 不一致。 +- [ ] **ISSUE-09** MapEdit vs Toolbar 录制/图层 API 重复,易漂移。 +- [ ] **ISSUE-11** `SimpleSceneRenderer` — 极端高频 redraw 竞态(观察)。 +- [ ] **ISSUE-12** `Car.OnlineCar`/`OfflineCar` — Web 反射权限确认。 +- [ ] **ISSUE-13** `WorkspacePickSession` — `realtime=true` 待 CycleGUI。 +- [ ] **ISSUE-14** `WorkspaceViewModeService.TryBind2DPanOnly` — 依赖 CycleGUI 版本。 +- [ ] **ISSUE-15** `WorkbenchTableRowUi` — 双击 400ms 模拟(低优)。 +- [ ] **ISSUE-16** 底栏 CAD 已移除 — 产品确认。 + +--- + +## 推荐顺序 + +`ISSUE-10` → `ISSUE-05` → `ISSUE-04` → 其余 P2 diff --git a/Doc/CODE_REVIEW_WEEK_2026-05-29.md b/Doc/CODE_REVIEW_WEEK_2026-05-29.md new file mode 100644 index 0000000..acc62cc --- /dev/null +++ b/Doc/CODE_REVIEW_WEEK_2026-05-29.md @@ -0,0 +1,133 @@ +# 本周代码复审报告(2026-05-23 ~ 2026-05-29) + +> **用途**:对本周全部改动(含已提交)的一次复审,聚焦后端 C# 安全性与正确性。 +> **仓库**:`E:\Work\Core\Simple-FR\Simple` **分支**:`dev_simpleLite` +> **基线**:`d8d4d3c`(2026-05-21)→ **HEAD**:`1412bf0`(含一次合并远程的 merge) +> **本文档为本地工作记录,默认不纳入版本库。** + +--- + +## 1. 范围与方法 + +- 本周累计:**37 commit,277 文件,+32461 / −5740 行**;其中后端 C# **96 文件 / +15302 行**为审核核心。 +- `MiGu.Server/wwwroot/assets`(占 dirstat 28%)为前端构建产物,忽略。 +- 说明:本轮原计划用 5 个并行子代理分模块审核,但因账户账单(unpaid invoice)子代理不可用,改为**人工聚焦后端安全关键面**深度审核;功能性大文件(录制/流/UI/Workspace)与前端做轻量或留待后续。 + +### 已深度审阅 +| 文件 | 关注点 | 结论 | +|------|--------|------| +| `MiGu.Server/Launcher/SimpleLiteLauncher.cs` | 命令注入/进程生命周期/JobObject | 良好 | +| `SimpleLite/Web/AiCompletionService.cs` | SSRF/密钥/Prompt 注入/并发 | 见 RV-01~03 | +| `SimpleLite/PluginManager.cs` | 任意 DLL 加载/RCE/并发 | 良好(入口受限) | +| `SimpleLite/Web/AiConfigController.cs` | 密钥脱敏 | 良好 | +| `SimpleLite/Web/InternalAuthModule.cs` | 8222 鉴权 | 见 RV-04 | +| `SimpleLite/Web/ReflectionApiController.cs`(本会话已改部分) | writableViaApi/只读/Envelope | 已修 ISSUE-05/06/08 | +| `SimpleLite/Persistence/Repositories/CarRepository.cs` | 反序列化白名单 | 已修 ISSUE-10 | + +### 鉴权链确认(关键前提) +- `InternalAuthModule`(AR-1/AR-2)统一前置守护所有 `/projection/*`(reflection / map-edit / persistence / ai-config / stream)。 +- MiGu.Server 侧 Controller 已加 `[Authorize]`(AR-4)。 +- **结论**:AI 生图、插件 reload、字段写入等敏感入口**不可被未认证外部直接触达**——这把多处原本可能的高危项降级为 P2 加固建议。 + +--- + +## 2. 发现清单(按严重度) + +### P1 — 建议处理(视部署环境) + +#### RV-04 — InternalAuthModule loopback 默认无条件放行 +- **文件**:`SimpleLite/Web/InternalAuthModule.cs:79-80`(`AllowLoopback` 默认 `true`) +- **现象**:本机回环(127.0.0.1/::1/IPv4-mapped)请求**不校验 token 直接放行**。 +- **风险**:单机可信环境无碍;但在**多租户/共享主机**或存在可打到 `127.0.0.1:8222` 的 SSRF 时,本机任意进程即可接管调度内核(execute [MethodMember] / patch 字段 / reload plugin)。 +- **建议**:生产(尤其共享主机)通过配置将 `AllowLoopback=false`,强制依赖 `X-Platform-Internal-Token`;并在部署文档标注。代码已预留开关,无需改逻辑,仅需配置 + 文档。 + +### P2 — 加固建议 + +#### RV-01 — AiCompletion endpoint 无 SSRF 白名单 +- **文件**:`SimpleLite/Web/AiCompletionService.cs:191-197` +- **现象**:`cfg.Endpoint`(管理员经 ai-config 表单可配任意 URL)被服务端 `SharedClient.SendAsync` 直接请求,并携带 `Authorization: Bearer <apiKey>`。 +- **风险**:已认证管理员可让服务器向任意(含内网)URL 发带密钥请求 → SSRF / 密钥外泄到非预期端点。 +- **建议**:对 `Endpoint` 做 scheme 限制(仅 https)+ host 白名单/黑名单(禁内网段),或显式告警「endpoint 指向内网」。 + +#### RV-02 — apiKey 明文存盘且 config/ 未被 gitignore +- **文件**:`SimpleLite/Web/AiCompletionService.cs:71-99`(`CWD/config/ai-completion.json` 明文读写) +- **现象**:`apiKey` 明文落盘;`.gitignore` 未覆盖 `config/` 或该文件(已核查无匹配规则)。 +- **风险**:误 `git add config/` 或随包分发会泄露 LLM 密钥。 +- **建议**:`.gitignore` 增加 `**/config/ai-completion.json`(或运行时 `config/`);考虑落盘前对 apiKey 做 DPAPI/对称加密。注:GET 已脱敏(`AiConfigController.MaskApiKey`),此项仅针对磁盘文件。 + +#### RV-03 — AiCompletion 把 LLM 原始响应回抛前端 +- **文件**:`SimpleLite/Web/AiCompletionService.cs:199-200`(`throw ... LLM HTTP {status}: {raw}`) +- **现象**:上游非 2xx 时把 `raw` 响应体原样抛出,经 `MapEditApiController` 返回前端。 +- **风险**:信息泄露(上游错误细节/内部 endpoint),低概率含敏感片段。 +- **建议**:仅记日志保留 `raw`,对前端返回精简错误码与通用提示。 + +#### RV-05 — 登录阻塞至 Readiness 超时(同 ISSUE-01) +- **文件**:`MiGu.Server/Controllers/AuthController.cs:111` + `SimpleLiteLauncher.WaitForProjectionReady` +- **现状**:已通过 `SimpleLiteOptions.ReadinessTimeoutMs`(可配,0=立即返回)缓解;真正的「fire-and-forget + 前端轮询」留待迭代。 + +--- + +## 3. 已确认良好(无需改动) + +- **SimpleLiteLauncher**:`displayMode` 由 `NormalizeDisplayMode` 归一为固定枚举(web / web+local),命令行无注入面;`_opts.Arguments` 来自受信 appsettings;进程 `Exited` 事件用 `ReferenceEquals(_proc, proc)` 防误清;JobObject 资源用 `AllocHGlobal/FreeHGlobal` 配对释放。 +- **PluginManager**:`reload` 入口(`/reflection/plugins/reload`)只**重扫固定 `./plugins` 目录**,不接受任意路径参数 → 无「任意路径 DLL 加载」漏洞;`Load`/`Unload` 全程加锁(修复历史并发覆盖 bug);collectible ALC + WeakReference + GC best-effort 卸载。 +- **AiConfigController**:GET 脱敏 `apiKey`(`***`+后4位);POST 对脱敏占位保留旧值,避免被覆盖清空。 +- **InternalAuthModule**:token 校验用 `CryptographicOperations.FixedTimeEquals` 防 timing;未配置 token 时一律拒绝远程(仅 loopback 可入)。 +- **AiCompletionService 并发**:静态 `SharedClient`(避免 socket exhaustion)+ `Timeout.Infinite` + `CancellationTokenSource` 控制单次超时;`BoundsContext` 用 `AsyncLocal` 跨 await 保持并 `try/finally` 清理。 +- **本会话修复**:ISSUE-10(反序列化白名单)/ ISSUE-05(writableViaApi 403)/ ISSUE-06(GET 只读)/ ISSUE-08(Envelope 统一),均经 `dotnet build SimpleLite` 验证 0 错误。 + +--- + +## 4. 未深审(建议后续专项) + +| 区域 | 文件(本周新增/大改) | 建议关注 | +|------|----------------------|----------| +| 录制/回放 | `SimulationRecorder` `PlaybackController` `RecordingFileIO` `SimulationPlayer` `SchedulerProbe` | 文件句柄/内存映射释放、帧索引边界 | +| 实时流 | `ProjectionStreamModule` `AlarmStreamService` | SSE 连接泄漏/重连/背压 | +| 持久化 | `SceneRepository` `ScriptRepository` `MissionRepository` `PersistenceWorker` `PersistenceBootstrap` | EF DbContext 生命周期、并发、事务 | +| 交互/渲染 | `WorkspaceSceneInput` `CurveControlPointDragService` `SimpleSceneRenderer` `ComposerDockPanel` `SimpleUI` | 线程竞态、事件/定时器泄漏 | +| 前端 | `simple-platform-vue/**` | 鉴权守卫、契约一致、XSS、mock 开关(子代理不可用,本轮未审) | + +--- + +## 5. 结论 + +本周后端改动建立在会话 53 的安全基线(AR-1~AR-6)之上,**鉴权链完整、未见新增高危漏洞**。建议优先处理 **RV-04(生产关 loopback)** 与 **RV-02(config/ai-completion.json 入 gitignore)** 两项低成本加固;RV-01/RV-03 视风险排期。功能性模块与前端建议在子代理可用后做一轮专项复审。 + +--- + +## 6. 本轮处理与补充发现(会话 65 续) + +### 6.1 已修复(按「修复 RV-04 + P2 加固项」) +- **RV-01(SSRF)**:`AiCompletionService.GenerateMapInternalAsync` 发请求前校验 endpoint —— 仅允许 http/https(挡 `file://` 等异常 scheme),指向内网/回环时记审计日志但不阻断(兼容自建 LLM)。新增 `IsPrivateOrLoopbackHost`。 +- **RV-02(密钥入库)**:`.gitignore` 增 `**/config/ai-completion.json`。 +- **RV-03(信息泄露)**:上游 LLM 非 2xx 时原始响应仅进日志(截断 500 字符),前端只返回状态码 + “详见日志”。 +- **RV-04(loopback)**:经核实**已可配置**(`PlatformOptions.allowLoopbackBypass`,`ProjectionWebHost.cs:51` 已接线),无需改代码;已在 `MiGu.Server/README.md` 安全须知补充「生产建议 `allowLoopbackBypass=false`」。 + +### 6.2 补充深审结论(质量良好) +- **实时流** `ProjectionStreamModule` / `AlarmStreamService`:每订阅者一把 `SemaphoreSlim` + `finally` 清理 CTS/锁 + 断连移除;删除车辆时清 `LastAlarmByCar` 防膨胀;反射 `FieldInfo` 缓存。仅 P2(SSE `Dispose` 与 fire-and-forget `Broadcast` 的竞态已被 `catch (ObjectDisposedException)` 吸收;`AlarmStream` Timer Tick 极端慢时可能重入,`ConcurrentDictionary` 保证安全)。 +- **录制文件 IO** `RecordingFileIO`:`compressedLen` ≤ 64MB 校验、`ReadExact` 截断检测、GZip 流 `using` 释放、`ScanIndex` 损坏帧停止。仅 P2(解压后大小无上限,GZip 炸弹理论风险;录像为本地受信文件,实际影响小)。 + +### 6.3 补充发现并修复 +- **RV-06(已预防性修复,2026-05-29)** `PersistenceWorker.FlushUpsert`/`FlushDelete` 原在 `ctx.SaveChanges()` / `tx.Commit()` **之前**就调用 `SetHash`/`RemoveHash`,若事务随后回滚,`_lastWrittenHash` 已记录该 hash → 后续 `ShouldSkipWrite` 跳过重写 → 该变更(尤其低频状态如 Mission/Script)可能永久不落库。`AUDIT.md` 的 PB-1~PB-5 未覆盖此项。虽 `Startup.cs:72-74` 已整体下线持久化(worker 不运行),仍按要求预防性修复: + - `FlushUpsert`/`FlushDelete` 改为把 hash 变更累积到局部 `hashOps`(`hash==null` 表示移除),不再直接改字典; + - 仅当 `SaveChanges()` + `tx.Commit()` 成功后才由新增的 `ApplyHashOps` 在 `_hashLock` 内原子应用;回滚 / 异常路径不应用,保留「下次仍需写入」语义; + - 删除不再使用的 `SetHash`/`RemoveHash`。`ReadLints` 验证 0 错误(完整 `dotnet build` 仍受 §6.4 weaver 环境阻塞)。 + +### 6.4 编译验证说明(受阻于织入工具链环境问题) +- 修复仅触及 `SimpleLite/Web/AiCompletionService.cs`(标准 C#:`Uri.TryCreate` / `IPAddress` / 字符串操作)。 +- **首次** `dotnet build SimpleLite/SimpleLite.csproj`(本会话早段)**0 错误**成功,`LessokajiWeaver` 在线织入完整跑过(约 51s,日志 `Online compilation finished`)。 +- **本次复验**:SimpleCore 报 20 个 `CS0246/CS0616/CS0641`,全部是 `LessokajiWeaver` 在线织入临时项目(`obj/MaxKeeper_tmp`)应提供的类型缺失(`I18N`/`MethodMember`/`MaxValueKeeper`/`KeepMaxMod`/`ReplaceWithCompileInfo`);`--no-incremental` 全量重建仍 7s 即失败,未进入在线织入。**错误列表无任何 SimpleLite 文件**。 +- 判定:**织入工具链在线服务/状态不可用的环境问题,非本次代码问题**。建议在 VS2022 正常环境、或 `tools\setenv.ps1` 恢复 deps 且 weaver 在线服务可用后复验本次 AI 服务改动。 + +### 6.5 未完成(建议后续专项) +- `Workspace` / `UI` / `Rendering`、前端全量:本轮因并行子代理不可用(账户账单)未深审,建议子代理恢复后补一轮。 + +--- + +## 修订记录 +| 日期 | 说明 | +|------|------| +| 2026-05-29 | 初版:会话 65 本周复审(聚焦后端安全关键面;子代理因账单不可用,人工聚焦审核) | +| 2026-05-29 | 续:修复 RV-01/02/03 + RV-04 文档;补深审(流/文件良好、PersistenceWorker 发现 RV-06);编译复验受阻于 LessokajiWeaver 在线织入环境问题(与改动无关)。 | +| 2026-05-29 | 续:按要求预防性修复 RV-06(hash 延迟到事务 Commit 后由 ApplyHashOps 原子应用);本会话全部 5 个改动文件 ReadLints 0 错误。 | diff --git a/MiGu.Server.sln b/MiGu.Server.sln new file mode 100644 index 0000000..b37b3eb --- /dev/null +++ b/MiGu.Server.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiGu.Server", "MiGu.Server\MiGu.Server.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/MiGu.Server/.gitignore b/MiGu.Server/.gitignore new file mode 100644 index 0000000..561ab03 --- /dev/null +++ b/MiGu.Server/.gitignore @@ -0,0 +1,4 @@ +bin/ +obj/ +*.user +data/*.json diff --git a/MiGu.Server/Auth/InternalTokenStore.cs b/MiGu.Server/Auth/InternalTokenStore.cs new file mode 100644 index 0000000..ddc18dd --- /dev/null +++ b/MiGu.Server/Auth/InternalTokenStore.cs @@ -0,0 +1,82 @@ +using System.Security.Cryptography; + +namespace MiGu.Server.Auth; + +/// <summary> +/// MiGu.Server ↔ SimpleLite 8222 之间的 **内部共享 token**。 +/// +/// 设计动机:SimpleLite 8222 的 EmbedIO WebApi(ReflectionApi / PersistenceApi / MapEditApi) +/// 历史上完全无鉴权,远程访问 = 接管调度内核。为不在 SimpleLite 侧实现完整 JWT 验签 +/// (减少 SimpleLite 复杂度),采用一个轻量约定: +/// +/// - <b>本机回环</b>(127.0.0.1 / ::1)SimpleLite 直接放行(开发机直连不受影响); +/// - <b>其它来源</b>必须携带 <c>X-Platform-Internal-Token</c> header; +/// - MiGu.Server YARP 反代 <c>/api/sl/*</c> 到 SimpleLite 8222 时,YARP transform +/// 会自动追加该 header; +/// - SimpleLite 端通过 <c>simple.json:platform.internalToken</c> 或环境变量 +/// <c>SIMPLELITE__PLATFORM__INTERNALTOKEN</c> 配置同一个 token;两端不一致即拒绝。 +/// +/// Token 来源优先级: +/// 1) appsettings.json:Internal:Token 显式配置(生产推荐:strong, length ≥ 32) +/// 2) 环境变量 PLATFORM__INTERNAL__TOKEN +/// 3) 兜底:进程随机 64 字节 base64,并在日志告警 + 写入 <c>data/.internal-token</c> +/// 文件供本机 SimpleLite 读取(同机部署常见场景) +/// </summary> +public sealed class InternalTokenStore +{ + public string Token { get; } + public bool IsEphemeral { get; } + public string? PersistedFilePath { get; } + + public InternalTokenStore(IConfiguration config, IWebHostEnvironment env, ILogger<InternalTokenStore> logger) + { + var configured = config["Internal:Token"]; + if (!string.IsNullOrWhiteSpace(configured) && configured != "REPLACE_ME") + { + Token = configured; + IsEphemeral = false; + logger.LogInformation("Internal token 从配置读取(长度 {Len})。", Token.Length); + return; + } + + // 兜底:进程随机 + 落地到 data/.internal-token 便于同机 SimpleLite 读取 + var dataDir = Path.Combine(env.ContentRootPath, "data"); + Directory.CreateDirectory(dataDir); + var file = Path.Combine(dataDir, ".internal-token"); + if (File.Exists(file)) + { + try + { + var existing = File.ReadAllText(file).Trim(); + if (existing.Length >= 32) + { + Token = existing; + IsEphemeral = false; + PersistedFilePath = file; + logger.LogInformation("Internal token 复用 {File}(长度 {Len})。", file, Token.Length); + return; + } + } + catch (Exception ex) + { + logger.LogWarning(ex, "读取 {File} 失败,将重新生成 internal token。", file); + } + } + + Token = Convert.ToBase64String(RandomNumberGenerator.GetBytes(48)); + IsEphemeral = true; + try + { + File.WriteAllText(file, Token); + PersistedFilePath = file; + logger.LogWarning( + "Internal token 未配置 —— 已生成进程随机值并写入 {File}(重启后保留)。" + + "若 MiGu.Server 与 SimpleLite 不在同一台机器,请把同一个值写入 SimpleLite 端 simple.json:platform.internalToken。", + file); + } + catch (Exception ex) + { + logger.LogError(ex, "internal token 落盘失败 —— 远程 SimpleLite 调用将无法通过鉴权(每次重启 token 都不同)。"); + } + } +} diff --git a/MiGu.Server/Auth/JwtIssuer.cs b/MiGu.Server/Auth/JwtIssuer.cs new file mode 100644 index 0000000..0a4aa43 --- /dev/null +++ b/MiGu.Server/Auth/JwtIssuer.cs @@ -0,0 +1,100 @@ +using System.IdentityModel.Tokens.Jwt; +using System.Security.Claims; +using System.Security.Cryptography; +using System.Text; +using Microsoft.IdentityModel.Tokens; + +namespace MiGu.Server.Auth; + +/// <summary> +/// 平台 JWT 颁发与验签。Secret 从 <c>appsettings.json</c> 的 <c>Jwt:Secret</c> 读取; +/// 若为占位值 <c>"REPLACE_ME"</c> 则启动期生成临时随机 secret 并在日志里强制告警, +/// 防止生产部署忘改 secret 导致历史 hardcoded "simple-mock-secret" 风险复现。 +/// </summary> +public sealed class JwtIssuer +{ + /// <summary>占位 secret;启动期检测到时自动换成进程随机值,并在日志里 critical 告警。</summary> + public const string PlaceholderSecret = "REPLACE_ME"; + + public string Issuer { get; } + public string Audience { get; } + public TimeSpan Lifetime { get; } + public string SecretInUse { get; } + public bool SecretIsEphemeral { get; } + + private readonly SymmetricSecurityKey _key; + private readonly SigningCredentials _signing; + private readonly TokenValidationParameters _validation; + + public JwtIssuer(string secret, string issuer, string audience, TimeSpan lifetime, ILogger<JwtIssuer> logger) + { + Issuer = issuer; + Audience = audience; + Lifetime = lifetime; + + if (string.IsNullOrWhiteSpace(secret) || secret == PlaceholderSecret) + { + // 兜底:用进程随机 secret,保证签名不被预知,但 token 在 MiGu.Server 重启后失效。 + // 这条路径只应出现在「开发机首次启动」/「忘改配置的部署」,**日志里强制告警让运维注意**。 + secret = RandomBase64Secret(64); + SecretIsEphemeral = true; + logger.LogCritical( + "Jwt:Secret 是占位值或未配置 —— 已生成进程随机 secret(重启后所有 token 失效)。" + + "生产环境必须在 appsettings.Production.json 或环境变量 PLATFORM__JWT__SECRET 配置一个 ≥ 32 字节的稳定 secret。"); + } + else if (Encoding.UTF8.GetByteCount(secret) < 32) + { + logger.LogWarning("Jwt:Secret 长度不足 32 字节,HS256 推荐 ≥ 32 字节 secret 以达到 256bit 强度。"); + } + + SecretInUse = secret; + _key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)); + _signing = new SigningCredentials(_key, SecurityAlgorithms.HmacSha256); + _validation = new TokenValidationParameters + { + ValidateIssuer = true, + ValidateAudience = true, + ValidateIssuerSigningKey = true, + ValidateLifetime = true, + ValidIssuer = Issuer, + ValidAudience = Audience, + IssuerSigningKey = _key, + ClockSkew = TimeSpan.FromSeconds(30), + }; + } + + /// <summary>颁发 access token。<paramref name="ops"/> 写入私有 claim <c>ops</c>(空格分隔,便于后端 <c>[Authorize]</c> policy 解析)。</summary> + public string Issue(string userId, string username, string scope, IReadOnlyList<string> roles, IReadOnlyList<string> ops) + { + var now = DateTime.UtcNow; + var claims = new List<Claim> + { + new(JwtRegisteredClaimNames.Sub, userId), + new(JwtRegisteredClaimNames.UniqueName, username), + new("scope", scope), + new(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), + new(JwtRegisteredClaimNames.Iat, new DateTimeOffset(now).ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64), + new("ops", string.Join(' ', ops ?? Array.Empty<string>())), + }; + foreach (var r in roles ?? Array.Empty<string>()) + claims.Add(new Claim(ClaimTypes.Role, r)); + + var token = new JwtSecurityToken( + issuer: Issuer, + audience: Audience, + claims: claims, + notBefore: now, + expires: now.Add(Lifetime), + signingCredentials: _signing); + return new JwtSecurityTokenHandler().WriteToken(token); + } + + /// <summary>给框架的 JwtBearer middleware 用的验证参数(启动期注入到 AddJwtBearer)。</summary> + public TokenValidationParameters BuildValidationParameters() => _validation; + + private static string RandomBase64Secret(int byteLen) + { + var buf = RandomNumberGenerator.GetBytes(byteLen); + return Convert.ToBase64String(buf); + } +} diff --git a/MiGu.Server/Auth/UserStore.cs b/MiGu.Server/Auth/UserStore.cs new file mode 100644 index 0000000..8fe00ec --- /dev/null +++ b/MiGu.Server/Auth/UserStore.cs @@ -0,0 +1,75 @@ +using System.Security.Cryptography; +using System.Text; + +namespace MiGu.Server.Auth; + +/// <summary> +/// 最简化的用户表(占位实现):内置 admin / ops 两个账号 + PBKDF2 哈希密码校验。 +/// 真实生产应替换成 Microsoft.AspNetCore.Identity 或外接 LDAP / OAuth。 +/// +/// 安全要点(哪怕是占位也要做到): +/// - 密码不明文存储,启动期用 PBKDF2-SHA256(100k iter, 16B salt) 哈希; +/// - 密码 hash 比较走 <see cref="CryptographicOperations.FixedTimeEquals"/> 防时序攻击; +/// - 不允许「空用户名 = 空密码」之类的快捷绕过。 +/// +/// 默认账号: +/// admin / admin (Platform scope, role-admin) +/// ops / ops (RCSMonitor scope, role-ops) +/// 默认密码同名是为了**开发机一次启动就能登录**;生产部署务必通过环境变量 +/// <c>PLATFORM__AUTH__USERS__<USERNAME>__PASSWORD</c> 改写或接入真实身份源。 +/// </summary> +public sealed class UserStore +{ + public sealed record UserRecord( + string Id, + string Username, + string DisplayName, + string DefaultScope, + IReadOnlyList<string> Roles, + byte[] Salt, + byte[] PasswordHash); + + private readonly Dictionary<string, UserRecord> _users; + + public UserStore(IConfiguration config, ILogger<UserStore> logger) + { + _users = new Dictionary<string, UserRecord>(StringComparer.OrdinalIgnoreCase); + + // 1. 内置 admin / ops(密码可从 appsettings 覆盖) + var adminPwd = config["Auth:Users:admin:Password"] ?? "admin"; + var opsPwd = config["Auth:Users:ops:Password"] ?? "ops"; + + Add("u-admin", "admin", "系统管理员", "Platform", new[] { "role-admin", "role-platform-write" }, adminPwd); + Add("u-ops", "ops", "运营人员", "RCSMonitor", new[] { "role-ops", "role-monitor-read" }, opsPwd); + + if (adminPwd == "admin" || opsPwd == "ops") + { + logger.LogWarning( + "UserStore 使用默认弱密码(admin/admin 或 ops/ops)。生产环境务必通过 appsettings.Production.json " + + "或环境变量 PLATFORM__AUTH__USERS__admin__PASSWORD 等覆盖。"); + } + } + + /// <summary>用户名 / 密码校验。返回 null = 不存在或密码错。<b>不向调用方区分两种失败原因</b>,防用户名枚举。</summary> + public UserRecord? Verify(string username, string password) + { + if (string.IsNullOrWhiteSpace(username) || string.IsNullOrEmpty(password)) return null; + if (!_users.TryGetValue(username, out var u)) return null; + + var hash = Pbkdf2(password, u.Salt); + return CryptographicOperations.FixedTimeEquals(hash, u.PasswordHash) ? u : null; + } + + public UserRecord? Find(string username) => + _users.TryGetValue(username ?? "", out var u) ? u : null; + + private void Add(string id, string username, string displayName, string defaultScope, IReadOnlyList<string> roles, string plainPassword) + { + var salt = RandomNumberGenerator.GetBytes(16); + var hash = Pbkdf2(plainPassword, salt); + _users[username] = new UserRecord(id, username, displayName, defaultScope, roles, salt, hash); + } + + private static byte[] Pbkdf2(string password, byte[] salt) => + Rfc2898DeriveBytes.Pbkdf2(Encoding.UTF8.GetBytes(password), salt, iterations: 100_000, HashAlgorithmName.SHA256, 32); +} diff --git a/MiGu.Server/Configs/ChargePolicy.cs b/MiGu.Server/Configs/ChargePolicy.cs new file mode 100644 index 0000000..9eb2b3c --- /dev/null +++ b/MiGu.Server/Configs/ChargePolicy.cs @@ -0,0 +1,18 @@ +namespace MiGu.Server.Configs; + +public record ChargePriorityRule(string Id, string Condition, double Weight); + +public record ChargePolicy( + bool AllowMidTaskCharge, + int IdleChargeAfterSec, + List<ChargePriorityRule> Priority) +{ + public static ChargePolicy Default() => new( + AllowMidTaskCharge: false, + IdleChargeAfterSec: 300, + Priority: new List<ChargePriorityRule> + { + new("CP1", "soc<0.2", 100), + new("CP2", "idle>5min", 30) + }); +} diff --git a/MiGu.Server/Configs/ConfigStore.cs b/MiGu.Server/Configs/ConfigStore.cs new file mode 100644 index 0000000..8eb8523 --- /dev/null +++ b/MiGu.Server/Configs/ConfigStore.cs @@ -0,0 +1,190 @@ +using System.Collections.Concurrent; +using System.Text.Json; + +namespace MiGu.Server.Configs; + +/// <summary> +/// 配置中心存储(内存 + JSON 文件持久化占位)。 +/// 14 个 section 对应 ARCHITECTURE.md §9 的 13+1 维度。 +/// 真实落地时由 SimpleShared.Persistence 接入 EF Core,并配合 YARP 下发至 SimpleLite。 +/// </summary> +public sealed class ConfigStore +{ + public static readonly string[] AllSections = + { + "system", "integrations", "routing", "vehicle", "charge", "task", + "traffic", "auth", "device", "fleet", "scenario", "location", "ops", "widget" + }; + + public sealed record Envelope(string Section, int Version, DateTimeOffset UpdatedAt, object Payload); + + private readonly ConcurrentDictionary<string, Envelope> _mem = new(StringComparer.OrdinalIgnoreCase); + private readonly string _dataDir; + private readonly ILogger<ConfigStore> _logger; + private readonly JsonSerializerOptions _jsonOpts = new() + { + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + WriteIndented = true + }; + + public ConfigStore(IWebHostEnvironment env, ILogger<ConfigStore> logger) + { + _logger = logger; + _dataDir = Path.Combine(env.ContentRootPath, "data"); + Directory.CreateDirectory(_dataDir); + SeedAndLoad(); + } + + public Envelope Get(string section) + { + section = section.ToLowerInvariant(); + if (_mem.TryGetValue(section, out var env)) + { + if (section == "ops") return MergeOpsEnvelope(env); + return env; + } + var def = NewDefault(section); + _mem[section] = def; + Persist(def); + return def; + } + + public Envelope Put(string section, JsonElement payload) + { + section = section.ToLowerInvariant(); + if (!AllSections.Contains(section)) + throw new ArgumentException($"未知 section: {section}"); + + var prev = _mem.TryGetValue(section, out var p) ? p : null; + var version = (prev?.Version ?? 0) + 1; + // payload 保留 JsonElement 原样;序列化器会按 camelCase 输出 + var env = new Envelope(section, version, DateTimeOffset.UtcNow, JsonElementToObject(payload)); + if (section == "ops") env = MergeOpsEnvelope(env); + _mem[section] = env; + Persist(env); + return env; + } + + public IEnumerable<Envelope> List() => AllSections.Select(Get); + + private static object JsonElementToObject(JsonElement el) + { + // 简化:直接保留 JsonElement,让 STJ 在响应时再原样写回 + return el.Clone(); + } + + private void SeedAndLoad() + { + foreach (var s in AllSections) + { + var file = FilePath(s); + if (File.Exists(file)) + { + try + { + var json = File.ReadAllText(file); + var doc = JsonDocument.Parse(json); + var root = doc.RootElement; + var version = root.TryGetProperty("version", out var v) && v.ValueKind == JsonValueKind.Number + ? v.GetInt32() : 1; + var updated = root.TryGetProperty("updatedAt", out var u) && u.ValueKind == JsonValueKind.String + ? DateTimeOffset.Parse(u.GetString()!) : DateTimeOffset.UtcNow; + var payload = root.TryGetProperty("payload", out var pl) + ? (object)pl.Clone() + : DefaultPayload(s); + _mem[s] = new Envelope(s, version, updated, payload); + continue; + } + catch (Exception ex) + { + _logger.LogWarning(ex, "加载 {Section} 失败,回退到默认值", s); + } + } + _mem[s] = NewDefault(s); + Persist(_mem[s]); + } + } + + private Envelope NewDefault(string section) + { + return new Envelope(section, 1, DateTimeOffset.UtcNow, DefaultPayload(section)); + } + + private static object DefaultPayload(string section) => section switch + { + "system" => SystemConfig.Default(), + "integrations" => ExternalIntegrations.Default(), + "routing" => RoutingPolicy.Default(), + "vehicle" => VehicleMaintenancePolicy.Default(), + "charge" => ChargePolicy.Default(), + "task" => TaskAllocationPolicy.Default(), + "traffic" => TrafficRule.Default(), + "auth" => AuthRoleConfig.Default(), + "device" => DeviceManagementConfig.Default(), + "fleet" => FleetLifecycleConfig.Default(), + "scenario" => ScenarioTemplateConfig.Default(), + "location" => LocationManagement.Default(), + "ops" => OpsConfig.Default(), + "widget" => CustomWidgetConfig.Default(), + _ => new { } + }; + + private void Persist(Envelope env) + { + try + { + var toWrite = env.Section == "ops" ? MergeOpsEnvelope(env) : env; + var root = new Dictionary<string, object?> + { + ["section"] = toWrite.Section, + ["version"] = toWrite.Version, + ["updatedAt"] = toWrite.UpdatedAt, + ["payload"] = toWrite.Payload + }; + var json = JsonSerializer.Serialize(root, _jsonOpts); + File.WriteAllText(FilePath(env.Section), json); + } + catch (Exception ex) + { + _logger.LogWarning(ex, "持久化 {Section} 失败", env.Section); + } + } + + private static Envelope MergeOpsEnvelope(Envelope env) + { + if (env.Payload is not JsonElement el || el.ValueKind != JsonValueKind.Object) + return env; + + var def = OpsConfig.Default(); + var merged = JsonSerializer.SerializeToElement(new + { + playback = ReadSection(el, "playback") ?? def.Playback, + logRetention = ReadSection(el, "logRetention") ?? def.LogRetention, + version = ReadSection(el, "version") ?? def.Version, + monitor = MergeOpsMonitor(el, def.Monitor) + }, new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); + + return env with { Payload = merged.Clone() }; + } + + private static object? ReadSection(JsonElement root, string name) => + root.TryGetProperty(name, out var p) ? p.Clone() : null; + + private static JsonElement MergeOpsMonitor(JsonElement root, MonitorOpsPolicy def) + { + var opts = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; + if (!root.TryGetProperty("monitor", out var m) || m.ValueKind != JsonValueKind.Object) + return JsonSerializer.SerializeToElement(def, opts); + + var car = m.TryGetProperty("car", out var c) ? c.Clone() : JsonSerializer.SerializeToElement(def.Car, opts); + var site = m.TryGetProperty("site", out var s) ? s.Clone() : JsonSerializer.SerializeToElement(def.Site, opts); + var track = m.TryGetProperty("track", out var t) ? t.Clone() : JsonSerializer.SerializeToElement(def.Track, opts); + var carActionByType = m.TryGetProperty("carActionByType", out var cat) + ? cat.Clone() + : JsonSerializer.SerializeToElement(def.CarActionByType, opts); + + return JsonSerializer.SerializeToElement(new { car, site, track, carActionByType }, opts); + } + + private string FilePath(string section) => Path.Combine(_dataDir, $"config-{section}.json"); +} diff --git a/MiGu.Server/Configs/CustomWidget.cs b/MiGu.Server/Configs/CustomWidget.cs new file mode 100644 index 0000000..3f29fdb --- /dev/null +++ b/MiGu.Server/Configs/CustomWidget.cs @@ -0,0 +1,17 @@ +namespace MiGu.Server.Configs; + +public record CustomWidget( + string Id, string Name, string SchemaJson, string LayoutJson, + List<string> BindToScopes); + +public record CustomWidgetConfig(List<CustomWidget> Items) +{ + public static CustomWidgetConfig Default() => new( + Items: new List<CustomWidget> + { + new("widget-call-button", "呼叫按钮", + "{\"fields\":[{\"name\":\"siteId\"}]}", + "{\"x\":0,\"y\":0,\"w\":2,\"h\":1}", + new List<string> { "RCSMonitor" }) + }); +} diff --git a/MiGu.Server/Configs/DeviceManagementConfig.cs b/MiGu.Server/Configs/DeviceManagementConfig.cs new file mode 100644 index 0000000..cbd6f06 --- /dev/null +++ b/MiGu.Server/Configs/DeviceManagementConfig.cs @@ -0,0 +1,38 @@ +namespace MiGu.Server.Configs; + +public record DeviceDriverBinding(string Id, string DeviceType, string DriverName, string Version); + +public record DeviceInstance( + string Id, string Name, string DeviceType, string Protocol, string Address, + string DriverId, bool Enabled); + +public record DeviceHealthPolicy(int HeartbeatSec, int OfflineSec); + +public record AlarmRule(string Level, string Condition); +public record AlarmPolicy(bool Enabled, List<AlarmRule> Rules); + +public record DeviceManagementConfig( + List<DeviceDriverBinding> Drivers, + List<DeviceInstance> Devices, + DeviceHealthPolicy HealthPolicy, + AlarmPolicy AlarmPolicy) +{ + public static DeviceManagementConfig Default() => new( + Drivers: new List<DeviceDriverBinding> + { + new("drv-elev", "电梯", "OpcUaElevatorDriver", "1.2.0"), + new("drv-chrg", "充电桩", "ModbusChargerDriver", "1.0.5"), + new("drv-cam", "摄像头", "OnvifCameraDriver", "2.1.0") + }, + Devices: new List<DeviceInstance> + { + new("dev-elev-1", "#1 电梯", "电梯", "opc-ua", "opc.tcp://10.0.2.20:4840", "drv-elev", true), + new("dev-chrg-1", "充电桩-A1", "充电桩", "modbus-tcp", "10.0.2.30:502", "drv-chrg", true) + }, + HealthPolicy: new DeviceHealthPolicy(5, 30), + AlarmPolicy: new AlarmPolicy(true, new List<AlarmRule> + { + new("warn", "offline>30s"), + new("error", "driverException") + })); +} diff --git a/MiGu.Server/Configs/EffectivePermissions.cs b/MiGu.Server/Configs/EffectivePermissions.cs new file mode 100644 index 0000000..19aacc0 --- /dev/null +++ b/MiGu.Server/Configs/EffectivePermissions.cs @@ -0,0 +1,44 @@ +namespace MiGu.Server.Configs; + +public record WidgetGrantDto(string WidgetId, string Visibility); + +public record AuthRole( + string Id, string Name, string Scope, + List<string> Permissions, + List<WidgetGrantDto> WidgetGrants); + +public record AuthUser(string Id, string Username, List<string> Roles, bool Enabled); + +public record AuthRoleConfig(List<AuthRole> Roles, List<AuthUser> Users) +{ + public static AuthRoleConfig Default() => new( + Roles: new List<AuthRole> + { + new("role-admin", "管理员", "Platform", + new List<string> { "*" }, + new List<WidgetGrantDto>()), + new("role-ops", "运营", "RCSMonitor", + new List<string> + { + "ops.car.pause", "ops.car.resume", "ops.car.gohome", + "ops.task.pause", "ops.task.cancel", "ops.task.reassign", + "ops.task.boostPriority", "monitor.note.write" + }, + new List<WidgetGrantDto> + { + new("MapEditor", "readonly"), + new("CadToolbar", "hidden") + }) + }, + Users: new List<AuthUser> + { + new("u-admin", "admin", new List<string> { "role-admin" }, true), + new("u-ops", "ops", new List<string> { "role-ops" }, true) + }); +} + +public record EffectivePermissions( + string UserId, + int Version, + List<string> AllowedOps, + List<WidgetGrantDto> VisibleWidgets); diff --git a/MiGu.Server/Configs/ExternalIntegrations.cs b/MiGu.Server/Configs/ExternalIntegrations.cs new file mode 100644 index 0000000..fc3ce35 --- /dev/null +++ b/MiGu.Server/Configs/ExternalIntegrations.cs @@ -0,0 +1,14 @@ +namespace MiGu.Server.Configs; + +public record EndpointDescriptor(string Id, string Name, string Url, bool Enabled); + +public record ExternalIntegrations( + List<EndpointDescriptor> Mes, + List<EndpointDescriptor> Wms, + List<EndpointDescriptor> Rcs) +{ + public static ExternalIntegrations Default() => new( + Mes: new List<EndpointDescriptor> { new("mes-1", "MES 主线", "http://mes.lan/api", true) }, + Wms: new List<EndpointDescriptor> { new("wms-1", "WMS 仓储", "http://wms.lan/api", true) }, + Rcs: new List<EndpointDescriptor>()); +} diff --git a/MiGu.Server/Configs/FleetLifecycleConfig.cs b/MiGu.Server/Configs/FleetLifecycleConfig.cs new file mode 100644 index 0000000..7235e56 --- /dev/null +++ b/MiGu.Server/Configs/FleetLifecycleConfig.cs @@ -0,0 +1,23 @@ +namespace MiGu.Server.Configs; + +public record FleetGroup(string Id, string Name, string Floor, string Region, List<string> CarIds); +public record OtaPolicy(bool Enabled, int BatchSize, bool RollbackOnFail); +public record BatchOpsPolicy(bool ConfirmationRequired, int MaxBatch); +public record NetworkDiagPolicy(int RttThresholdMs, double PacketLossThreshold); + +public record FleetLifecycleConfig( + List<FleetGroup> Groups, + OtaPolicy Ota, + BatchOpsPolicy BatchOps, + NetworkDiagPolicy NetworkDiag) +{ + public static FleetLifecycleConfig Default() => new( + Groups: new List<FleetGroup> + { + new("G-A", "A 区车队", "F1", "A", new List<string> { "C01", "C02", "C03" }), + new("G-B", "B 区车队", "F1", "B", new List<string> { "C04", "C05" }) + }, + Ota: new OtaPolicy(true, 2, true), + BatchOps: new BatchOpsPolicy(true, 10), + NetworkDiag: new NetworkDiagPolicy(80, 0.02)); +} diff --git a/MiGu.Server/Configs/LocationManagement.cs b/MiGu.Server/Configs/LocationManagement.cs new file mode 100644 index 0000000..2b5cbac --- /dev/null +++ b/MiGu.Server/Configs/LocationManagement.cs @@ -0,0 +1,21 @@ +namespace MiGu.Server.Configs; + +public record Location(string Id, string Code, string Name, string SiteId, int Capacity, int Occupied); +public record InventoryRule(string Id, string ItemType, int MinQty, int MaxQty); + +public record LocationManagement( + List<Location> Locations, + List<InventoryRule> InventoryRules) +{ + public static LocationManagement Default() => new( + Locations: new List<Location> + { + new("L01", "A-01", "A 区货架 1", "S001", 20, 12), + new("L02", "A-02", "A 区货架 2", "S002", 20, 7), + new("L03", "B-01", "B 区缓存", "S003", 30, 25) + }, + InventoryRules: new List<InventoryRule> + { + new("IR1", "PalletA", 5, 30) + }); +} diff --git a/MiGu.Server/Configs/OpsConfig.cs b/MiGu.Server/Configs/OpsConfig.cs new file mode 100644 index 0000000..16113a2 --- /dev/null +++ b/MiGu.Server/Configs/OpsConfig.cs @@ -0,0 +1,28 @@ +namespace MiGu.Server.Configs; + +public record PlaybackPolicy(int RetentionDays, int SamplingHz); +public record LogRetention(int HotDays, int ColdDays); +public record VersionPolicy(int KeepReleases); +public record MonitorPanelPolicy(string[] PropertyKeys, string[] StatusKeys, string[] ActionKeys); +public record MonitorOpsPolicy( + MonitorPanelPolicy Car, + MonitorPanelPolicy Site, + MonitorPanelPolicy Track, + Dictionary<string, string[]> CarActionByType); + +public record OpsConfig( + PlaybackPolicy Playback, + LogRetention LogRetention, + VersionPolicy Version, + MonitorOpsPolicy Monitor) +{ + public static OpsConfig Default() => new( + Playback: new PlaybackPolicy(30, 5), + LogRetention: new LogRetention(7, 180), + Version: new VersionPolicy(5), + Monitor: new MonitorOpsPolicy( + Car: new MonitorPanelPolicy(Array.Empty<string>(), Array.Empty<string>(), Array.Empty<string>()), + Site: new MonitorPanelPolicy(Array.Empty<string>(), Array.Empty<string>(), Array.Empty<string>()), + Track: new MonitorPanelPolicy(Array.Empty<string>(), Array.Empty<string>(), Array.Empty<string>()), + CarActionByType: new Dictionary<string, string[]>())); +} diff --git a/MiGu.Server/Configs/RoutingPolicy.cs b/MiGu.Server/Configs/RoutingPolicy.cs new file mode 100644 index 0000000..114b7df --- /dev/null +++ b/MiGu.Server/Configs/RoutingPolicy.cs @@ -0,0 +1,22 @@ +namespace MiGu.Server.Configs; + +public record AvoidanceRule(string Id, string ZoneId, string Rule); +public record ZoneSpeedLimit(string ZoneId, double MaxSpeedMps); + +public record RoutingPolicy( + string Algorithm, + Dictionary<string, double> Weights, + List<AvoidanceRule> Avoidance, + List<ZoneSpeedLimit> ZoneSpeedLimits) +{ + public static RoutingPolicy Default() => new( + Algorithm: "astar", + Weights: new Dictionary<string, double> + { + ["distance"] = 1.0, + ["congestion"] = 0.5, + ["turnPenalty"] = 0.2 + }, + Avoidance: new List<AvoidanceRule> { new("AV1", "Z-NORTH", "no-entry-while-loading") }, + ZoneSpeedLimits: new List<ZoneSpeedLimit> { new("Z-NARROW", 0.5) }); +} diff --git a/MiGu.Server/Configs/ScenarioTemplateConfig.cs b/MiGu.Server/Configs/ScenarioTemplateConfig.cs new file mode 100644 index 0000000..bbe16b5 --- /dev/null +++ b/MiGu.Server/Configs/ScenarioTemplateConfig.cs @@ -0,0 +1,25 @@ +namespace MiGu.Server.Configs; + +public record ScenarioTemplate(string Id, string Name, string Category, string Version, string BaselineJson); +public record TemplateDslPolicy(bool Enabled, string SchemaVersion); +public record LowCodePolicy(bool Enabled, string Editor); +public record TemplateVersionPolicy(int KeepVersions, bool AllowRollback); + +public record ScenarioTemplateConfig( + List<ScenarioTemplate> Templates, + TemplateDslPolicy DslPolicy, + LowCodePolicy LowCode, + TemplateVersionPolicy VersionPolicy) +{ + public static ScenarioTemplateConfig Default() => new( + Templates: new List<ScenarioTemplate> + { + new("tpl-sps", "SPS 物料配送", "SPS", "1.0.0", "{}"), + new("tpl-pack", "电池 Pack 自动化产线", "BatteryPack", "1.0.0", "{}"), + new("tpl-loop", "环线运行", "Loop", "1.0.0", "{}"), + new("tpl-p2p", "点对点柔性搬运", "P2P", "1.0.0", "{}") + }, + DslPolicy: new TemplateDslPolicy(true, "1"), + LowCode: new LowCodePolicy(false, "json"), + VersionPolicy: new TemplateVersionPolicy(10, true)); +} diff --git a/MiGu.Server/Configs/SystemConfig.cs b/MiGu.Server/Configs/SystemConfig.cs new file mode 100644 index 0000000..c6828cc --- /dev/null +++ b/MiGu.Server/Configs/SystemConfig.cs @@ -0,0 +1,12 @@ +namespace MiGu.Server.Configs; + +public record LogPolicy(string Level, int RollDays, int MaxSizeMB); +public record SecurityPolicy(int JwtExpireMin, bool EnableSwagger, List<string> CorsWhitelist); + +public record SystemConfig(int DispatchLoopHz, LogPolicy Log, SecurityPolicy Security) +{ + public static SystemConfig Default() => new( + DispatchLoopHz: 50, + Log: new LogPolicy("info", 7, 256), + Security: new SecurityPolicy(1440, false, new List<string> { "http://localhost:5173" })); +} diff --git a/MiGu.Server/Configs/TaskAllocationPolicy.cs b/MiGu.Server/Configs/TaskAllocationPolicy.cs new file mode 100644 index 0000000..793cd6f --- /dev/null +++ b/MiGu.Server/Configs/TaskAllocationPolicy.cs @@ -0,0 +1,12 @@ +namespace MiGu.Server.Configs; + +public record TaskAllocationPolicy( + string Mode, + bool LoadBalance, + int MaxQueuePerCar) +{ + public static TaskAllocationPolicy Default() => new( + Mode: "leastLoad", + LoadBalance: true, + MaxQueuePerCar: 3); +} diff --git a/MiGu.Server/Configs/TrafficRule.cs b/MiGu.Server/Configs/TrafficRule.cs new file mode 100644 index 0000000..261f26a --- /dev/null +++ b/MiGu.Server/Configs/TrafficRule.cs @@ -0,0 +1,16 @@ +namespace MiGu.Server.Configs; + +public record IntersectionPolicy(string Id, List<string> SiteIds, string Mode); +public record ZoneMutex(string Id, List<string> ZoneIds); +public record DynamicYield(string Id, string From, string To, string Condition); + +public record TrafficRule( + List<IntersectionPolicy> Intersections, + List<ZoneMutex> Mutex, + List<DynamicYield> Yields) +{ + public static TrafficRule Default() => new( + Intersections: new List<IntersectionPolicy> { new("IX1", new List<string> { "S006", "S007" }, "mutex") }, + Mutex: new List<ZoneMutex> { new("MZ1", new List<string> { "Z-CROSS" }) }, + Yields: new List<DynamicYield> { new("YD1", "A 区", "B 区", "priority<peer") }); +} diff --git a/MiGu.Server/Configs/VehicleMaintenancePolicy.cs b/MiGu.Server/Configs/VehicleMaintenancePolicy.cs new file mode 100644 index 0000000..fcb2568 --- /dev/null +++ b/MiGu.Server/Configs/VehicleMaintenancePolicy.cs @@ -0,0 +1,17 @@ +namespace MiGu.Server.Configs; + +public record FaultReportPolicy(bool Enabled, List<string> EmailTo); +public record AutoRepairPolicy(bool Enabled, int CooldownSec); + +public record VehicleMaintenancePolicy( + double LowBatteryThreshold, + double CriticalBatteryThreshold, + FaultReportPolicy FaultReport, + AutoRepairPolicy AutoRepair) +{ + public static VehicleMaintenancePolicy Default() => new( + LowBatteryThreshold: 0.3, + CriticalBatteryThreshold: 0.15, + FaultReport: new FaultReportPolicy(true, new List<string> { "ops@example.com" }), + AutoRepair: new AutoRepairPolicy(false, 600)); +} diff --git a/MiGu.Server/Controllers/AuthController.cs b/MiGu.Server/Controllers/AuthController.cs new file mode 100644 index 0000000..80a7348 --- /dev/null +++ b/MiGu.Server/Controllers/AuthController.cs @@ -0,0 +1,323 @@ +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using MiGu.Server.Auth; +using MiGu.Server.Configs; +using MiGu.Server.Launcher; + +namespace MiGu.Server.Controllers; + +[ApiController] +[Route("api/auth")] +public class AuthController : ControllerBase +{ + /// <summary> + /// 登录请求体。 + /// 会话 N+1(启动反转):新增 <see cref="LaunchMode"/>。前端登录页让用户选 "WebOnly" / "DesktopAndWeb"; + /// MiGu.Server 据此拉起 SimpleLite 子进程并透传 <c>--display-mode=web|web+local</c>。 + /// 历史调用方不传该字段时默认 "DesktopAndWeb"(与之前 web+local 默认行为一致,向后兼容)。 + /// </summary> + public record LoginRequest(string Username, string Password, string Scope, string? LaunchMode = null); + + /// <summary> + /// 登录响应。 + /// 会话 N+1 增量字段: + /// <list type="bullet"> + /// <item><c>RunMode</c>:根据 SimpleLite 真实拉起结果回填(WebEnabled / WebOnly / Detached)。Detached 表示后端未能拉起 SimpleLite,前端可降级展示。</item> + /// <item><c>LaunchStatus</c>:<see cref="SimpleLiteLauncher.LaunchResult.Status"/> 枚举字符串,前端用于精细化提示。</item> + /// <item><c>LaunchWarning</c>:可空告警文本;非空时前端应该弹消息条告知用户。</item> + /// </list> + /// </summary> + public record LoginResponse( + string Token, + AuthUserDto User, + string Scope, + string RunMode, + EffectivePermissions EffectivePermissions, + string? LaunchStatus = null, + string? LaunchWarning = null); + + public record AuthUserDto(string Id, string Username, string DisplayName, List<string> Roles); + + /// <summary> + /// 当前会话身份的轻量摘要。 + /// 用途:前端路由守卫在受保护路由首次进入前调用 <c>GET /api/auth/me</c>, + /// 用 [Authorize] 实校验本地 token 是否仍被服务端接受(MiGu.Server 重启后 + /// JWT secret 可能已重生 → 老 token 会被拒),同时刷新 user / scope / runMode / perm。 + /// 与 <see cref="LoginResponse"/> 的区别:不返回 Token(client 已有,重发反而易触发竞态); + /// 不返回 LaunchStatus/Warning(那是登录时一次性的 SimpleLite 拉起结果)。 + /// </summary> + public record MeResponse( + AuthUserDto User, + string Scope, + string RunMode, + EffectivePermissions EffectivePermissions); + + private static readonly string[] PlatformOps = { "*" }; + + private static readonly string[] RcsOps = + { + "ops.car.pause", "ops.car.resume", "ops.car.gohome", "ops.car.resetSession", + "ops.car.manualCharge", "ops.task.pause", "ops.task.cancel", "ops.task.reassign", + "ops.task.boostPriority", "monitor.note.write" + }; + + private const string CookieName = "simple.auth.token"; + + private readonly UserStore _users; + private readonly JwtIssuer _jwt; + private readonly SimpleLiteLauncher _launcher; + private readonly ILogger<AuthController> _log; + + public AuthController(UserStore users, JwtIssuer jwt, SimpleLiteLauncher launcher, ILogger<AuthController> log) + { + _users = users; + _jwt = jwt; + _launcher = launcher; + _log = log; + } + + [HttpPost("login")] + [AllowAnonymous] + public async Task<ActionResult<LoginResponse>> Login([FromBody] LoginRequest req) + { + if (string.IsNullOrWhiteSpace(req.Username)) + return BadRequest(new { message = "用户名不能为空" }); + if (req.Scope is not ("Platform" or "RCSMonitor")) + return BadRequest(new { message = "无效 scope" }); + + // AR-3: 真密码校验 —— 替代会话21 点名的「完全不验密码」漏洞。 + // UserStore.Verify 对不存在用户和密码错都返回 null,防用户名枚举。 + var rec = _users.Verify(req.Username, req.Password); + if (rec == null) + return Unauthorized(new { message = "用户名或密码错误" }); + + // scope 与角色匹配检查:admin 默认 Platform;ops 默认 RCSMonitor。 + // 如果 ops 想登录 Platform scope,目前直接拒绝;后续可以加 role-platform-impersonate 之类。 + if (!CanUseScope(rec, req.Scope)) + return StatusCode(403, new { message = $"账号 {rec.Username} 没有访问 {req.Scope} 的权限" }); + + // 会话 N+1(启动反转):按 LaunchMode 拉起 SimpleLite 子进程。 + // - 历史前端不带该字段 → 默认 DesktopAndWeb(保持向后兼容的 web+local 行为)。 + // - WebOnly → SimpleLite 启动时只起 WebTerminal,不会弹本地桌面窗口。 + // - DesktopAndWeb → SimpleLite 同时起 LocalTerminal + WebTerminal。 + // - SimpleLiteLauncher 内部幂等:第二次/第 N 次登录不会重复拉起;子进程退出后下一次登录可重启。 + // PERF-A8 修复:MaybeStart 内部包含同步 WaitForProjectionReady(最多 ReadinessTimeoutMs,默认 8s)。 + // 走 Task.Run 把它扔到线程池,让登录请求自身的请求处理线程释放回 ASP.NET,避免高并发下挤兑。 + var launchMode = NormalizeLaunchMode(req.LaunchMode); + SimpleLiteLauncher.LaunchResult? launchResult = null; + try + { + launchResult = await Task.Run(() => _launcher.MaybeStart(launchMode)); + _log.LogInformation("SimpleLite launch result for user={User} launchMode={Mode}: Started={Started} Status={Status} Detail={Detail}", + rec.Username, launchMode, launchResult.Value.Started, launchResult.Value.Status, launchResult.Value.Detail); + } + catch (Exception ex) + { + // 启动 SimpleLite 失败不应阻断登录:用户至少能进 Platform 看状态页面排查。 + _log.LogError(ex, "SimpleLite launch threw for user={User} launchMode={Mode}", rec.Username, launchMode); + } + + // A7 修复:runMode 跟 result.Started 走 —— + // - launcher 没起来 / 抛异常 → "Detached",前端显示降级状态而不是"假装 SimpleLite 在跑"。 + // - 跑起来了 → 优先按 launcher 回传的真实 DisplayMode 映射,避免 AlreadyRunning 时被本次请求的 launchMode 误导。 + // - ReusingExisting 时既有 SimpleLite 实际模式未知,保守归 WebEnabled(旧实例最可能带本地窗口)。 + var runMode = ResolveRunMode(launchResult, launchMode); + + var (allowedOps, widgets) = BuildPermissions(req.Scope); + var perm = new EffectivePermissions(rec.Id, 1, allowedOps.ToList(), widgets.ToList()); + var roles = rec.Roles.Concat(new[] { req.Scope == "Platform" ? "role-platform" : "role-rcs-monitor" }).Distinct().ToList(); + + var token = _jwt.Issue(rec.Id, rec.Username, req.Scope, roles, allowedOps); + SetAuthCookie(token); + + var user = new AuthUserDto(rec.Id, rec.Username, rec.DisplayName, roles); + return Ok(new LoginResponse(token, user, req.Scope, runMode, perm, + LaunchStatus: launchResult?.Status, + LaunchWarning: launchResult?.Warning)); + } + + /// <summary> + /// A7 修复:根据 Launcher 真实结果决定 RunMode。 + /// 之前的逻辑直接按 launchMode 映射,导致 SimpleLite 没起也假装"WebEnabled",前端 RunMode 角标骗人。 + /// </summary> + private static string ResolveRunMode(SimpleLiteLauncher.LaunchResult? result, string launchMode) + { + if (result is not { Started: true }) + return "Detached"; + // ReusingExisting 时 DisplayMode = "external",无法确认本地窗口是否存在,保守按 WebEnabled。 + if (result.Value.Status == "ReusingExisting") + return "WebEnabled"; + if (!string.IsNullOrEmpty(result.Value.DisplayMode)) + { + if (result.Value.DisplayMode.Equals("web", StringComparison.OrdinalIgnoreCase)) + return "WebOnly"; + if (result.Value.DisplayMode.Contains("local", StringComparison.OrdinalIgnoreCase)) + return "WebEnabled"; + } + return launchMode == "WebOnly" ? "WebOnly" : "WebEnabled"; + } + + [HttpPost("logout")] + [AllowAnonymous] + public IActionResult Logout() + { + Response.Cookies.Delete(CookieName); + return Ok(new { ok = true }); + } + + /// <summary> + /// 用本地持有的 token / Cookie 重新拉一次当前身份。失败(token 过期、签名变更、用户被删等)由 + /// [Authorize] 自动回 401,前端 axios 拦截器在 http.ts:57 会清 localStorage + 跳 /login。 + /// 用途:解决「MiGu.Server 随机 secret 重启 → 老 token 失效 → 前端 isAuthed 仍为 true 误放行」的窗口。 + /// </summary> + [HttpGet("me")] + [Authorize] + public ActionResult<MeResponse> Me() + { + var username = User.Identity?.Name ?? User.FindFirstValue(ClaimTypes.NameIdentifier); + var scope = User.FindFirstValue("scope"); + + if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(scope)) + return Unauthorized(new { message = "身份无效" }); + if (scope is not ("Platform" or "RCSMonitor")) + return Unauthorized(new { message = "无效 scope" }); + + var rec = _users.Find(username); + if (rec == null) + return Unauthorized(new { message = "账号已失效" }); + + // 账号当前是否还允许这个 scope —— 比如运维把 admin 的角色去掉了,也要在这里及时回 403。 + if (!CanUseScope(rec, scope)) + return StatusCode(403, new { message = $"账号 {rec.Username} 没有访问 {scope} 的权限" }); + + var (allowedOps, widgets) = BuildPermissions(scope); + var perm = new EffectivePermissions(rec.Id, 1, allowedOps.ToList(), widgets.ToList()); + var roles = rec.Roles.Concat(new[] { scope == "Platform" ? "role-platform" : "role-rcs-monitor" }) + .Distinct().ToList(); + var user = new AuthUserDto(rec.Id, rec.Username, rec.DisplayName, roles); + + // RunMode 推断:与 SwitchScope 保持一致 —— 复用 Launcher 记录的 LastLaunchMode, + // 不重新拉起 SimpleLite。 + var last = _launcher.LastLaunchMode; + string runMode; + if (string.IsNullOrEmpty(last)) + runMode = "Detached"; + else if (last == SimpleLiteLauncher.ExternalReuseLaunchMode) + runMode = "WebEnabled"; + else + runMode = last.Contains("local", StringComparison.OrdinalIgnoreCase) ? "WebEnabled" : "WebOnly"; + + return Ok(new MeResponse(user, scope, runMode, perm)); + } + + /// <summary> + /// 用同一身份切换 scope 并重发 token + perms。 + /// AR-6: 替代前端 stores/auth.ts 里硬编码改 allowedOps 的客户端伪权限。 + /// 当前服务端只放行账号的 DefaultScope,以及 admin 类账号显式允许的额外 scope。 + /// </summary> + [HttpPost("switch-scope")] + [Authorize] + public ActionResult<LoginResponse> SwitchScope([FromBody] SwitchScopeRequest req) + { + if (req.Scope is not ("Platform" or "RCSMonitor")) + return BadRequest(new { message = "无效 scope" }); + + var username = User.Identity?.Name ?? User.FindFirstValue(ClaimTypes.NameIdentifier); + if (string.IsNullOrEmpty(username)) + return Unauthorized(new { message = "身份无效" }); + + var rec = _users.Find(username); + if (rec == null) + return Unauthorized(new { message = "账号已失效" }); + + if (!CanUseScope(rec, req.Scope)) + return StatusCode(403, new { message = $"账号 {rec.Username} 没有访问 {req.Scope} 的权限" }); + + var (allowedOps, widgets) = BuildPermissions(req.Scope); + var perm = new EffectivePermissions(rec.Id, 1, allowedOps.ToList(), widgets.ToList()); + var roles = rec.Roles.Concat(new[] { req.Scope == "Platform" ? "role-platform" : "role-rcs-monitor" }).Distinct().ToList(); + var token = _jwt.Issue(rec.Id, rec.Username, req.Scope, roles, allowedOps); + SetAuthCookie(token); + + // 复用首次登录确定的 LaunchMode:SwitchScope 不重新选启动模式(也不应该重启 SimpleLite)。 + // 三种情况: + // 1) Launcher 已记录 "web" / "web+local" → 按 displayMode 反推 runMode。 + // 2) Launcher 记录 ExternalReuseLaunchMode(既有 SimpleLite 复用)→ 模式未知,保守 WebEnabled。 + // 3) Launcher 没拉起 / LastLaunchMode = null → Detached(前端降级展示)。 + var last = _launcher.LastLaunchMode; + string runMode; + if (string.IsNullOrEmpty(last)) + runMode = "Detached"; + else if (last == SimpleLiteLauncher.ExternalReuseLaunchMode) + runMode = "WebEnabled"; + else + runMode = last.Contains("local", StringComparison.OrdinalIgnoreCase) ? "WebEnabled" : "WebOnly"; + + var user = new AuthUserDto(rec.Id, rec.Username, rec.DisplayName, roles); + return Ok(new LoginResponse(token, user, req.Scope, runMode, perm)); + } + + public record SwitchScopeRequest(string Scope); + + /// <summary> + /// 把前端传入的 LaunchMode 归一为枚举字符串("WebOnly" / "DesktopAndWeb")。 + /// null / 空 / 未知值统一退到 "DesktopAndWeb",避免历史前端不带该字段时打破默认行为。 + /// </summary> + private static string NormalizeLaunchMode(string? raw) + { + return raw?.Trim().ToLowerInvariant() switch + { + "webonly" or "web-only" or "web" => "WebOnly", + _ => "DesktopAndWeb", + }; + } + + private static bool CanUseScope(UserStore.UserRecord rec, string scope) + { + if (scope == rec.DefaultScope) return true; + // 管理员可以下沉到 RCSMonitor 体验运营视角;ops 不能上探 Platform。 + if (scope == "RCSMonitor" && rec.Roles.Contains("role-admin")) return true; + return false; + } + + private static (string[] ops, WidgetGrantDto[] widgets) BuildPermissions(string scope) + { + var ops = scope == "Platform" ? PlatformOps : RcsOps; + var widgets = scope == "Platform" + ? new[] + { + new WidgetGrantDto("MapEditor", "interactive"), + new WidgetGrantDto("CadToolbar", "interactive"), + new WidgetGrantDto("CarPanel", "interactive"), + new WidgetGrantDto("MissionEditor", "interactive"), + new WidgetGrantDto("OpsActionPanel", "interactive"), + new WidgetGrantDto("ConfigCenter", "interactive") + } + : new[] + { + new WidgetGrantDto("MapEditor", "readonly"), + new WidgetGrantDto("CadToolbar", "hidden"), + new WidgetGrantDto("CarPanel", "readonly"), + new WidgetGrantDto("MissionEditor", "readonly"), + new WidgetGrantDto("OpsActionPanel", "interactive"), + new WidgetGrantDto("ConfigCenter", "hidden") + }; + return (ops, widgets); + } + + private void SetAuthCookie(string token) + { + // AR-5: 同时下发 httpOnly Cookie(XSS 防护)+ Bearer 兼容(旧前端过渡)。 + // SameSite=Lax 足够:管理端 / 监控端均为同源(同一 MiGu.Server 进程), + // 第三方请求不应也无法附带 Cookie;Strict 会让一些 SPA 路由首次刷新认证丢失。 + Response.Cookies.Append(CookieName, token, new CookieOptions + { + HttpOnly = true, + Secure = Request.IsHttps, + SameSite = SameSiteMode.Lax, + Path = "/", + Expires = DateTimeOffset.UtcNow.AddHours(24) + }); + } +} diff --git a/MiGu.Server/Controllers/ConfigController.cs b/MiGu.Server/Controllers/ConfigController.cs new file mode 100644 index 0000000..0ae4897 --- /dev/null +++ b/MiGu.Server/Controllers/ConfigController.cs @@ -0,0 +1,68 @@ +using System.Text.Json; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using MiGu.Server.Configs; + +namespace MiGu.Server.Controllers; + +// AR-4: 全 class 加 [Authorize] —— 替代会话21 点名的「ConfigController 无鉴权 PUT 任意 section」漏洞。 +// GET (List/Get) 只要登录就放;PUT 强制 PlatformScope,避免运营人员误改业务配置。 +[ApiController] +[Authorize] +[Route("api/config")] +public class ConfigController : ControllerBase +{ + private readonly ConfigStore _store; + + public ConfigController(ConfigStore store) + { + _store = store; + } + + [HttpGet] + public IActionResult List() + { + var envs = _store.List().Select(e => new + { + section = e.Section, + version = e.Version, + updatedAt = e.UpdatedAt + }); + return Ok(envs); + } + + [HttpGet("{section}")] + public IActionResult Get(string section) + { + if (!ConfigStore.AllSections.Contains(section, StringComparer.OrdinalIgnoreCase)) + return NotFound(new { message = $"未知 section: {section}" }); + + var env = _store.Get(section); + return Ok(new + { + section = env.Section, + version = env.Version, + updatedAt = env.UpdatedAt, + payload = env.Payload + }); + } + + // 配置中心页面已有 PermissionGuard;此处仅要求登录即可保存,避免 RCSMonitor scope + // 账号在特殊场景下无法写入 ops.monitor(地图监控动作)备份字段。 + [HttpPut("{section}")] + [Authorize] + public IActionResult Put(string section, [FromBody] JsonElement payload) + { + if (!ConfigStore.AllSections.Contains(section, StringComparer.OrdinalIgnoreCase)) + return NotFound(new { message = $"未知 section: {section}" }); + + var env = _store.Put(section, payload); + return Ok(new + { + section = env.Section, + version = env.Version, + updatedAt = env.UpdatedAt, + payload = env.Payload + }); + } +} diff --git a/MiGu.Server/Controllers/HealthController.cs b/MiGu.Server/Controllers/HealthController.cs new file mode 100644 index 0000000..5494bd8 --- /dev/null +++ b/MiGu.Server/Controllers/HealthController.cs @@ -0,0 +1,42 @@ +using Microsoft.AspNetCore.Mvc; +using MiGu.Server.Launcher; + +namespace MiGu.Server.Controllers; + +[ApiController] +[Route("api/health")] +public class HealthController : ControllerBase +{ + private static readonly DateTimeOffset StartTime = DateTimeOffset.UtcNow; + private readonly SimpleLiteLauncher _launcher; + + public HealthController(SimpleLiteLauncher launcher) => _launcher = launcher; + + [HttpGet] + public IActionResult Get() + { + return Ok(new + { + status = "ok", + mode = "WebEnabled", + startTime = StartTime, + uptimeSec = (long)(DateTimeOffset.UtcNow - StartTime).TotalSeconds, + ports = new + { + webApi = 7001, + webSocket = 7002, + platform = 8080, + vrender = 8223, + vehicle = 8222 + }, + architecture = "v1.5" + }); + } + + /// <summary> + /// SimpleLite 拉起配置诊断:查看当前 ExecutablePath、解析结果、端口是否已有服务。 + /// 配置位置:<c>MiGu.Server/appsettings.json</c> → <c>SimpleLite</c> 节点。 + /// </summary> + [HttpGet("simplelite")] + public IActionResult GetSimpleLiteDiagnostics() => Ok(_launcher.GetDiagnostics()); +} diff --git a/MiGu.Server/Controllers/OpsController.cs b/MiGu.Server/Controllers/OpsController.cs new file mode 100644 index 0000000..ae335ff --- /dev/null +++ b/MiGu.Server/Controllers/OpsController.cs @@ -0,0 +1,64 @@ +using System.Collections.Concurrent; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace MiGu.Server.Controllers; + +/// <summary> +/// 运维白名单网关(占位)。真实落地时按架构 §5.1 + §10.5: +/// - 校验 scope=RCSMonitor 是否允许该 op; +/// - YARP 转发到 SimpleLite /api/ops/*; +/// - 写 OpsAuditLog(simple_main.db) + 写 OpsLogs(platform.db)。 +/// +/// AR-4: 全 class 加 [Authorize] —— 至少要求登录,再按 op 白名单 + JWT ops claim 双校验。 +/// </summary> +[ApiController] +[Authorize] +[Route("api/sl/ops")] +public class OpsController : ControllerBase +{ + public record ExecuteRequest(string OpCode, string TargetId, string? Reason, string? IdempotencyKey); + public record ExecuteResponse(bool Ok, string AuditId, string? Message); + public record AuditEntry(string Id, DateTimeOffset Ts, string User, string Scope, string OpCode, string Target, string Result, string? Message); + + private static readonly ConcurrentQueue<AuditEntry> Audits = new(); + private static long _seq = 0; + + private static readonly HashSet<string> Whitelist = new(StringComparer.Ordinal) + { + "ops.car.pause", "ops.car.resume", "ops.car.gohome", "ops.car.resetSession", + "ops.car.manualCharge", "ops.task.pause", "ops.task.cancel", "ops.task.reassign", + "ops.task.boostPriority", "monitor.note.write" + }; + + [HttpPost("execute")] + public ActionResult<ExecuteResponse> Execute([FromBody] ExecuteRequest req) + { + if (!Whitelist.Contains(req.OpCode)) + return BadRequest(new { message = $"非白名单 op:{req.OpCode}" }); + + // AR-4: JWT ops claim 二次校验 —— JWT 颁发时已写入用户被授权的 ops 列表(空格分隔), + // 这里要求 (op 在白名单) AND (op 在用户 ops claim);admin 的 "*" 会被特判通过。 + var opsClaim = User.FindFirst("ops")?.Value ?? ""; + var userOps = opsClaim.Split(' ', StringSplitOptions.RemoveEmptyEntries); + if (!userOps.Contains("*") && !userOps.Contains(req.OpCode)) + return StatusCode(403, new { message = $"当前账号无权执行 {req.OpCode}" }); + + var user = User.Identity?.Name ?? User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "anonymous"; + var scope = User.FindFirst("scope")?.Value ?? "unknown"; + + var id = $"A{Interlocked.Increment(ref _seq):D6}"; + var entry = new AuditEntry(id, DateTimeOffset.UtcNow, user, scope, + req.OpCode, req.TargetId, "ok", req.Reason); + Audits.Enqueue(entry); + while (Audits.Count > 200 && Audits.TryDequeue(out _)) { } + return Ok(new ExecuteResponse(true, id, null)); + } + + [HttpGet("audits")] + public IActionResult Audits200() + { + return Ok(Audits.Reverse()); + } +} diff --git a/MiGu.Server/Controllers/ProjectionController.cs b/MiGu.Server/Controllers/ProjectionController.cs new file mode 100644 index 0000000..d3bdb0b --- /dev/null +++ b/MiGu.Server/Controllers/ProjectionController.cs @@ -0,0 +1,45 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace MiGu.Server.Controllers; + +/// <summary> +/// 投影 API 占位:真实落地时由 YARP 反代到 SimpleLite WebAPI 的 /api/projection/* 路径。 +/// 本地 Mock 数据仅用于无 SimpleLite 运行时的开发联调。 +/// +/// AR-4: 全 class 加 [Authorize] —— 任何登录用户都能读 mock 投影数据;未登录直接 401。 +/// </summary> +[ApiController] +[Authorize] +[Route("api/projection")] +public class ProjectionController : ControllerBase +{ + [HttpGet("sites")] + public IActionResult Sites() => Ok(new[] + { + new { id = "S001", name = "A 区-入库点", x = 1000, y = 2000 }, + new { id = "S002", name = "A 区-出库点", x = 3000, y = 2000 }, + new { id = "S003", name = "B 区-缓存区", x = 5000, y = 2000 } + }); + + [HttpGet("tracks")] + public IActionResult Tracks() => Ok(new[] + { + new { id = "T001", kind = "line", fromSiteId = "S001", toSiteId = "S002" }, + new { id = "T002", kind = "line", fromSiteId = "S002", toSiteId = "S003" } + }); + + [HttpGet("cars")] + public IActionResult Cars() => Ok(new[] + { + new { id = "C01", name = "AGV-001", state = "running", batterySoc = 0.86 }, + new { id = "C02", name = "AGV-002", state = "idle", batterySoc = 0.42 } + }); + + [HttpGet("missions")] + public IActionResult Missions() => Ok(new[] + { + new { id = "M01", name = "A 区送料 #1", status = "running", priority = 50 }, + new { id = "M02", name = "A→B 缓存搬运", status = "queued", priority = 60 } + }); +} diff --git a/MiGu.Server/Launcher/SimpleLiteLauncher.cs b/MiGu.Server/Launcher/SimpleLiteLauncher.cs new file mode 100644 index 0000000..1e86612 --- /dev/null +++ b/MiGu.Server/Launcher/SimpleLiteLauncher.cs @@ -0,0 +1,534 @@ +using System.Diagnostics; +using System.Net.Sockets; +using System.Runtime.InteropServices; +using Microsoft.Extensions.Options; + +namespace MiGu.Server.Launcher; + +/// <summary> +/// 平台登录成功后按 LaunchMode 把 SimpleLite.exe 作为子进程拉起。 +/// +/// 设计要点(与原 <c>SimpleLite/Platform/PlatformLauncher.cs</c> 镜像): +/// - 幂等:第一次登录拉起,后续登录复用同一个子进程(不会重复启)。 +/// - 子进程退出后下一次登录可以重新拉起(不阻塞用户重试)。 +/// - 生命周期跟随:Windows 上用 JobObject 把子进程绑定到 MiGu.Server 进程; +/// MiGu.Server 被 kill -9 / 任务管理器 → 结束进程树 时,SimpleLite 一并被 OS SIGKILL。 +/// - 命令行透传:把 LaunchMode 翻成 SimpleLite 的 <c>--display-mode=web</c> / <c>--display-mode=web+local</c>。 +/// - 启动后阻塞等待 SimpleLite Projection :8222 端口可达(最长 ReadinessTimeoutMs),让前端 /api/sl/* 不再立刻 502。 +/// </summary> +public sealed class SimpleLiteLauncher : IDisposable +{ + private readonly SimpleLiteOptions _opts; + private readonly ILogger<SimpleLiteLauncher> _log; + private readonly IHostEnvironment _env; + private readonly object _sync = new(); + + private Process? _proc; + private IntPtr _job = IntPtr.Zero; + private string? _lastLaunchMode; + + public SimpleLiteLauncher(IOptions<SimpleLiteOptions> opts, ILogger<SimpleLiteLauncher> log, IHostEnvironment env) + { + _opts = opts.Value; + _log = log; + _env = env; + // 会话 N+2:默认不再在 ProcessExit 时清理子进程 —— SimpleLite 是「独立程序」,MiGu.Server 关掉 + // 不应该带走 SimpleLite。仅当用户显式 opt-in FollowParent=true 时才挂软关闭兜底。 + if (_opts.FollowParent) + { + AppDomain.CurrentDomain.ProcessExit += (_, _) => Dispose(); + } + } + + public bool IsRunning + { + get + { + lock (_sync) return _proc is { HasExited: false }; + } + } + + public string? LastLaunchMode { get { lock (_sync) return _lastLaunchMode; } } + + /// <summary>外部已存在的 SimpleLite(MiGu.Server 重启复用上一轮实例)占位 LaunchMode 值,不参与命令行 displayMode 翻译。</summary> + internal const string ExternalReuseLaunchMode = "external"; + + /// <summary> + /// 按 launchMode 拉起 SimpleLite(已运行则跳过)。 + /// </summary> + /// <param name="launchMode">"WebOnly" 或 "DesktopAndWeb"(大小写不敏感)。</param> + /// <returns>本次调用产生的状态摘要,可写入登录响应或日志。</returns> + public LaunchResult MaybeStart(string launchMode) + { + var displayMode = NormalizeDisplayMode(launchMode); + + if (!_opts.Enabled) + { + _log.LogInformation("[SimpleLite] auto-start disabled (appsettings: SimpleLite.Enabled=false); launchMode={Mode} ignored", launchMode); + return new LaunchResult(false, "Disabled", "appsettings:SimpleLite:Enabled=false", DisplayMode: null, + Warning: "SimpleLite 自动拉起已被 appsettings:SimpleLite:Enabled=false 关闭;登录已成功但 SimpleLite 未启动,/api/sl/* 反代请求会返回 502。"); + } + + lock (_sync) + { + if (_proc is { HasExited: false }) + { + _log.LogInformation("[SimpleLite] already running pid={Pid}, displayMode={DisplayMode}; skip duplicate launch", _proc.Id, _lastLaunchMode); + var warning = !string.IsNullOrEmpty(_lastLaunchMode) && + !string.Equals(_lastLaunchMode, displayMode, StringComparison.OrdinalIgnoreCase) + ? $"SimpleLite 已经在运行(pid={_proc.Id}, displayMode={_lastLaunchMode})。" + + $"本次选择的启动模式『{launchMode}』未被应用;如需切换,请手动关闭旧 SimpleLite 后重新登录。" + : null; + return new LaunchResult(true, "AlreadyRunning", + $"pid={_proc.Id}, displayMode={_lastLaunchMode}", + DisplayMode: _lastLaunchMode, + Warning: warning); + } + + // 会话 N+2:MiGu.Server 重启后 _proc 引用丢失,但上一轮拉起的 SimpleLite 可能仍在跑(因为 + // 默认 FollowParent=false 不带走它)。这里在拉起前先探测 Projection 端口:能连通就视为复用, + // 避免「allowMultiple=false 时新 SimpleLite 检测到多开自杀」+「端口冲突」两类常见崩溃。 + // + // 注意:探测仅判断「有 SimpleLite 在 8222 占着」,无法知道它当时选的 LaunchMode。如果用户本次 + // 想换模式,这条路径下不会生效;日志里会明确告知,由用户决定是否手动关掉旧 SimpleLite 再登录。 + // + // 增强(A3):先做 TCP 探活(快),再做 HTTP JSON 探针验证「真的是 SimpleLite」,避免被某个偶然占 + // 用 8222 的无关进程误判成复用。Probe 失败时不再当作复用成功,否则前端会拿到假的 WebEnabled。 + if (TryConnect("127.0.0.1", _opts.ProjectionPort, TimeSpan.FromMilliseconds(500))) + { + var probeOk = ProbeSimpleLiteHttp("127.0.0.1", _opts.ProjectionPort, TimeSpan.FromMilliseconds(800)); + if (!probeOk) + { + _log.LogWarning( + "[SimpleLite] projection port :{Port} is occupied, but SimpleLite HTTP probe failed. Skip launch to avoid port conflict.", + _opts.ProjectionPort); + return new LaunchResult(false, "PortOccupied", + $"projection :{_opts.ProjectionPort} tcp reachable but /projection/cars probe failed", + DisplayMode: null, + Warning: $"端口 :{_opts.ProjectionPort} 已被占用,但未识别为 SimpleLite Projection 服务。" + + "请关闭占用该端口的进程,或调整 SimpleLite:ProjectionPort / SimpleLite 配置后重试。"); + } + + _log.LogInformation( + "[SimpleLite] projection :{Port} already reachable (httpProbe=ok); assume an existing SimpleLite is running. " + + "Skip launch. If user picked a different LaunchMode this session, please close the existing SimpleLite window and login again.", + _opts.ProjectionPort); + + // A2 修复:保留一个占位 LaunchMode 让 LastLaunchMode 不再为 null —— 这样 SwitchScope + // 推断 runMode 时不会落到 "web+local" 兜底,前端 RunMode 角标也不会与实际不符。 + _lastLaunchMode = ExternalReuseLaunchMode; + + return new LaunchResult(true, "ReusingExisting", + $"projection :{_opts.ProjectionPort} reachable; requested displayMode={displayMode} not applied to existing instance", + DisplayMode: ExternalReuseLaunchMode, + Warning: $"检测到 SimpleLite 已经在 :{_opts.ProjectionPort} 上运行(可能是 MiGu.Server 重启前残留)。" + + $"本次选择的启动模式『{launchMode}』未被应用到既有实例。如需切换,请手动关闭旧 SimpleLite 窗口后重新登录。"); + } + + var resolved = ResolveExecutable(_opts.ExecutablePath); + if (resolved == null) + { + _log.LogWarning( + "[SimpleLite] auto-start skipped: SimpleLite.exe not found. Configure appsettings:SimpleLite:ExecutablePath or place SimpleLite next to MiGu.Server. ContentRoot={Root}", + _env.ContentRootPath); + return new LaunchResult(false, "ExecutableNotFound", + "Set appsettings:SimpleLite:ExecutablePath or place SimpleLite next to MiGu.Server.", + DisplayMode: null, + Warning: "找不到 SimpleLite.exe。请在 appsettings:SimpleLite:ExecutablePath 显式配置,或者把 SimpleLite.exe 放到 MiGu.Server 同目录。"); + } + + var workdir = string.IsNullOrWhiteSpace(_opts.WorkingDirectory) + ? Path.GetDirectoryName(resolved) ?? Environment.CurrentDirectory + : Path.GetFullPath(_opts.WorkingDirectory); + + var arguments = BuildArguments(displayMode, _opts.Arguments); + + // 会话 N+2:把 SimpleLite 作为独立进程拉起,**带自己的控制台窗口**。 + // - UseShellExecute=true:交给 OS Shell 启动,生成新的进程组 + 独立 console, + // MiGu.Server 关闭不会影响它(不再处于父进程的「controlling process」链上)。 + // - CreateNoWindow=false + 不重定向 stdout/stderr:SimpleLite 自带 OutputType=Exe 控制台, + // 即便选 webonly 模式也会有一个黑底控制台显示日志,便于用户观察 / 关闭。 + // - 不能与 RedirectStandard* 共用,要让日志独立就只能让用户看 SimpleLite 自己的窗口。 + var psi = new ProcessStartInfo + { + FileName = resolved, + Arguments = arguments, + WorkingDirectory = workdir, + UseShellExecute = true, + CreateNoWindow = false, + WindowStyle = ProcessWindowStyle.Normal, + }; + + try + { + var proc = new Process { StartInfo = psi, EnableRaisingEvents = true }; + proc.Exited += (_, _) => + { + int exit; + try { exit = proc.ExitCode; } catch { exit = -1; } + _log.LogInformation("[SimpleLite] process exited code={Code}; next login will relaunch if needed", exit); + lock (_sync) + { + if (ReferenceEquals(_proc, proc)) + { + _proc = null; + _lastLaunchMode = null; + } + } + }; + + if (!proc.Start()) + { + _log.LogError("[SimpleLite] Process.Start returned false; exe={Exe} args={Args}", resolved, arguments); + return new LaunchResult(false, "ProcessStartFailed", $"exe={resolved}", DisplayMode: null, + Warning: $"启动 SimpleLite 进程失败(Process.Start 返回 false);exe={resolved}"); + } + + _proc = proc; + _lastLaunchMode = displayMode; + + // FollowParent 仅在用户显式 opt-in 时启用;UseShellExecute=true 之下 JobObject 仍可绑定 pid, + // 但会破坏「独立程序」语义,因此默认 false(见 SimpleLiteOptions.FollowParent 说明)。 + if (_opts.FollowParent) AttachToJobObject(proc); + + _log.LogInformation("[SimpleLite] launched pid={Pid} displayMode={Mode} exe={Exe} args=\"{Args}\" workdir={Workdir}; standalone={Standalone}", + proc.Id, displayMode, resolved, arguments, workdir, !_opts.FollowParent); + } + catch (Exception ex) + { + _log.LogError(ex, "[SimpleLite] auto-start failed"); + return new LaunchResult(false, "Exception", ex.Message, DisplayMode: null, + Warning: $"启动 SimpleLite 时抛异常:{ex.GetType().Name}: {ex.Message}"); + } + } + + var ready = WaitForProjectionReady(); + return new LaunchResult(true, ready ? "Ready" : "StartedButNotReady", + ready ? $"projection :{_opts.ProjectionPort} reachable, displayMode={displayMode}" + : $"projection :{_opts.ProjectionPort} did not respond within {_opts.ReadinessTimeoutMs}ms, displayMode={displayMode}", + DisplayMode: displayMode, + Warning: ready + ? null + : $"SimpleLite 进程已起,但 Projection :{_opts.ProjectionPort} 在 {_opts.ReadinessTimeoutMs}ms 内未响应。前端 /api/sl/* 可能短暂 502;可稍后刷新。"); + } + + /// <summary> + /// 手动关闭 SimpleLite 子进程。 + /// 会话 N+2 起默认不调(FollowParent=false)—— SimpleLite 是独立程序,MiGu.Server 关闭不带走它。 + /// 仅当用户显式 opt-in FollowParent=true 时由 ProcessExit / ApplicationStopping 钩子调用。 + /// </summary> + public void Dispose() + { + Process? proc; + IntPtr job; + lock (_sync) + { + proc = _proc; + job = _job; + _proc = null; + _job = IntPtr.Zero; + } + + if (!_opts.FollowParent) + { + // 独立模式:不真的杀子进程,只释放本地引用让 GC 收 Process handle。 + // 这样 MiGu.Server 重启时下一次登录可以重新 MaybeStart 拉一个新的 SimpleLite, + // 而老 SimpleLite 仍然在自己的窗口里跑。 + if (proc is { HasExited: false }) + { + _log.LogInformation("[SimpleLite] standalone mode: skip kill on Dispose; pid={Pid} keeps running", proc.Id); + } + return; + } + + if (proc is { HasExited: false }) + { + try { proc.Kill(entireProcessTree: true); } + catch (Exception ex) { _log.LogWarning("[SimpleLite] kill failed: {Msg}", ex.Message); } + try { proc.WaitForExit(2000); } catch { /* ignore */ } + } + + if (job != IntPtr.Zero) + { + try { CloseHandle(job); } catch { /* ignore */ } + } + } + + private static string NormalizeDisplayMode(string launchMode) + { + // LaunchMode 是「业务语言」(WebOnly / DesktopAndWeb);displayMode 是 SimpleLite「内部语言」(web / web+local)。 + // 这里做一次显式翻译,前端 / 后端日志均用业务语言,命令行用内部语言。 + return launchMode?.Trim().ToLowerInvariant() switch + { + "webonly" or "web" or "web-only" => "web", + // 任何未知值都按"完整本地+web"兜底,保证最小惊讶(既能桌面用,也能浏览器用)。 + _ => "web+local", + }; + } + + private static string BuildArguments(string displayMode, string extra) + { + var args = $"--display-mode={displayMode}"; + if (!string.IsNullOrWhiteSpace(extra)) args += " " + extra.Trim(); + return args; + } + + /// <summary>启动前诊断:当前配置、解析到的 exe、端口占用等(供 /api/health/simplelite 与启动日志)。</summary> + public SimpleLiteDiagnostics GetDiagnostics() + { + var resolved = ResolveExecutable(_opts.ExecutablePath); + var projectionUp = TryConnect("127.0.0.1", _opts.ProjectionPort, TimeSpan.FromMilliseconds(400)); + return new SimpleLiteDiagnostics( + Enabled: _opts.Enabled, + ConfiguredExecutablePath: _opts.ExecutablePath ?? "", + ConfiguredWorkingDirectory: _opts.WorkingDirectory ?? "", + ContentRootPath: _env.ContentRootPath, + ResolvedExecutablePath: resolved, + ExecutableExists: resolved != null && File.Exists(resolved), + IsRunning: IsRunning, + LastLaunchMode: LastLaunchMode, + ProjectionPort: _opts.ProjectionPort, + ProjectionPortReachable: projectionUp, + ConfigHint: "编辑 MiGu.Server/appsettings.json 的 SimpleLite 节点(所有环境生效);开发机可叠加 appsettings.Development.json"); + } + + private string? ResolveExecutable(string configured) + { + if (!string.IsNullOrWhiteSpace(configured)) + { + var p = Path.IsPathRooted(configured) ? configured : Path.GetFullPath(configured, _env.ContentRootPath); + return File.Exists(p) ? p : null; + } + + var cwd = _env.ContentRootPath; + var staticCandidates = new[] + { + Path.Combine(cwd, "SimpleLite.exe"), + Path.Combine(cwd, "SimpleLite", "SimpleLite.exe"), + Path.Combine(cwd, "..", "SimpleLite.exe"), + Path.Combine(cwd, "..", "SimpleLite", "bin", "Debug", "SimpleLite.exe"), + Path.Combine(cwd, "..", "SimpleLite", "bin", "Release", "SimpleLite.exe"), + // Migu2.0 与 Simple 并列:Migu2.0/MiGu.Server → ../../Simple/SimpleLite/bin/Debug + Path.Combine(cwd, "..", "..", "Simple", "SimpleLite", "bin", "Debug", "SimpleLite.exe"), + Path.Combine(cwd, "..", "..", "Simple", "SimpleLite", "bin", "Release", "SimpleLite.exe"), + Path.Combine(cwd, "..", "Simple", "SimpleLite", "bin", "Debug", "SimpleLite.exe"), + Path.Combine(cwd, "..", "Simple", "SimpleLite", "bin", "Release", "SimpleLite.exe"), + }; + foreach (var c in staticCandidates) + { + if (File.Exists(c)) return Path.GetFullPath(c); + } + + // 沿父目录上行兜底(开发机 cwd 可能是 MiGu.Server/bin/Debug/net8.0/) + var dir = new DirectoryInfo(cwd); + while (dir != null) + { + foreach (var sub in new[] + { + "SimpleLite/bin/Debug/SimpleLite.exe", + "SimpleLite/bin/Release/SimpleLite.exe", + "Simple/SimpleLite/bin/Debug/SimpleLite.exe", + "Simple/SimpleLite/bin/Release/SimpleLite.exe", + }) + { + var p = Path.Combine(dir.FullName, sub.Replace('/', Path.DirectorySeparatorChar)); + if (File.Exists(p)) return Path.GetFullPath(p); + } + dir = dir.Parent; + } + + return null; + } + + private bool WaitForProjectionReady() + { + if (_opts.ReadinessTimeoutMs == 0) return false; + var deadline = _opts.ReadinessTimeoutMs < 0 + ? DateTime.MaxValue + : DateTime.UtcNow.AddMilliseconds(_opts.ReadinessTimeoutMs); + var interval = Math.Max(50, _opts.ReadinessPollIntervalMs); + + while (DateTime.UtcNow < deadline) + { + // 进程已死就别等了 —— 端口永远不会就绪。 + lock (_sync) + { + if (_proc is null || _proc.HasExited) return false; + } + + if (TryConnect("127.0.0.1", _opts.ProjectionPort, TimeSpan.FromMilliseconds(interval))) + { + _log.LogInformation("[SimpleLite] projection :{Port} ready", _opts.ProjectionPort); + return true; + } + + Thread.Sleep(interval); + } + + _log.LogWarning("[SimpleLite] projection :{Port} not ready within {Timeout}ms", _opts.ProjectionPort, _opts.ReadinessTimeoutMs); + return false; + } + + private static bool TryConnect(string host, int port, TimeSpan timeout) + { + try + { + using var client = new TcpClient(); + var task = client.ConnectAsync(host, port); + return task.Wait(timeout) && client.Connected; + } + catch + { + return false; + } + } + + /// <summary> + /// 在 TCP 通的基础上读取 SimpleLite Projection 的强类型 JSON 端点,判别「真的是 SimpleLite」。 + /// 只接受 2xx 且响应体像 JSON 数组/对象;任意普通 HTTP 服务占用 8222 不再被误认为可复用。 + /// </summary> + private static bool ProbeSimpleLiteHttp(string host, int port, TimeSpan timeout) + { + try + { + using var httpClient = new System.Net.Http.HttpClient + { + Timeout = timeout + }; + using var req = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"http://{host}:{port}/projection/cars"); + using var resp = httpClient.Send(req); + if (!resp.IsSuccessStatusCode) return false; + var body = resp.Content.ReadAsStringAsync().GetAwaiter().GetResult().TrimStart(); + return body.StartsWith("[", StringComparison.Ordinal) || body.StartsWith("{", StringComparison.Ordinal); + } + catch + { + return false; + } + } + + /// <summary> + /// 拉起 SimpleLite 的结果摘要。 + /// <list type="bullet"> + /// <item><c>Started</c>:本次调用后是否处于"已运行"状态(包含 AlreadyRunning / ReusingExisting / Ready / StartedButNotReady)。</item> + /// <item><c>Status</c>:状态枚举字符串(见上)。</item> + /// <item><c>Detail</c>:技术细节,写入服务端日志。</item> + /// <item><c>DisplayMode</c>:本次实际生效的 displayMode(web / web+local / external / null)。 + /// 与 LaunchMode 业务字段区分:external 表示复用了 MiGu.Server 重启前残留的 SimpleLite,对应模式未知。</item> + /// <item><c>Warning</c>:透传给前端登录响应的告警文本,null 表示无需告警。</item> + /// </list> + /// </summary> + public readonly record struct LaunchResult(bool Started, string Status, string Detail, + string? DisplayMode = null, string? Warning = null); + + public sealed record SimpleLiteDiagnostics( + bool Enabled, + string ConfiguredExecutablePath, + string ConfiguredWorkingDirectory, + string ContentRootPath, + string? ResolvedExecutablePath, + bool ExecutableExists, + bool IsRunning, + string? LastLaunchMode, + int ProjectionPort, + bool ProjectionPortReachable, + string ConfigHint); + + // ─── Windows JobObject:父进程被杀时 Job 内所有子进程一并 SIGKILL ──────────────────────── + + [StructLayout(LayoutKind.Sequential)] + private struct JOBOBJECT_BASIC_LIMIT_INFORMATION + { + public long PerProcessUserTimeLimit; + public long PerJobUserTimeLimit; + public uint LimitFlags; + public UIntPtr MinimumWorkingSetSize; + public UIntPtr MaximumWorkingSetSize; + public uint ActiveProcessLimit; + public long Affinity; + public uint PriorityClass; + public uint SchedulingClass; + } + + [StructLayout(LayoutKind.Sequential)] + private struct IO_COUNTERS + { + public ulong ReadOperationCount; + public ulong WriteOperationCount; + public ulong OtherOperationCount; + public ulong ReadTransferCount; + public ulong WriteTransferCount; + public ulong OtherTransferCount; + } + + [StructLayout(LayoutKind.Sequential)] + private struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION + { + public JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; + public IO_COUNTERS IoInfo; + public UIntPtr ProcessMemoryLimit; + public UIntPtr JobMemoryLimit; + public UIntPtr PeakProcessMemoryUsed; + public UIntPtr PeakJobMemoryUsed; + } + + private const uint JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x2000; + private const int JobObjectExtendedLimitInformation = 9; + + [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] + private static extern IntPtr CreateJobObject(IntPtr lpJobAttributes, string? lpName); + + [DllImport("kernel32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool SetInformationJobObject(IntPtr hJob, int infoType, IntPtr lpInfo, uint cbInfoLength); + + [DllImport("kernel32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool AssignProcessToJobObject(IntPtr hJob, IntPtr hProcess); + + [DllImport("kernel32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool CloseHandle(IntPtr hObject); + + private void AttachToJobObject(Process child) + { + if (!OperatingSystem.IsWindows()) + { + _log.LogInformation("[SimpleLite] JobObject skipped on non-Windows; falling back to ProcessExit-only cleanup"); + return; + } + + try + { + if (_job == IntPtr.Zero) + { + _job = CreateJobObject(IntPtr.Zero, null); + if (_job == IntPtr.Zero) + { + _log.LogWarning("[SimpleLite] CreateJobObject failed; child may outlive MiGu.Server"); + return; + } + + var info = new JOBOBJECT_EXTENDED_LIMIT_INFORMATION(); + info.BasicLimitInformation.LimitFlags = JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE; + + int len = Marshal.SizeOf(typeof(JOBOBJECT_EXTENDED_LIMIT_INFORMATION)); + IntPtr ptr = Marshal.AllocHGlobal(len); + try + { + Marshal.StructureToPtr(info, ptr, false); + if (!SetInformationJobObject(_job, JobObjectExtendedLimitInformation, ptr, (uint)len)) + _log.LogWarning("[SimpleLite] SetInformationJobObject failed; child may outlive MiGu.Server"); + } + finally { Marshal.FreeHGlobal(ptr); } + } + + if (!AssignProcessToJobObject(_job, child.Handle)) + _log.LogWarning("[SimpleLite] AssignProcessToJobObject failed; child may outlive MiGu.Server"); + } + catch (Exception ex) + { + _log.LogWarning("[SimpleLite] JobObject setup error: {Type}: {Msg}", ex.GetType().Name, ex.Message); + } + } +} diff --git a/MiGu.Server/Launcher/SimpleLiteOptions.cs b/MiGu.Server/Launcher/SimpleLiteOptions.cs new file mode 100644 index 0000000..bf61d34 --- /dev/null +++ b/MiGu.Server/Launcher/SimpleLiteOptions.cs @@ -0,0 +1,60 @@ +namespace MiGu.Server.Launcher; + +/// <summary> +/// MiGu.Server 启动后由「平台登录」按 LaunchMode 拉起的 SimpleLite 子进程配置。 +/// +/// 会话 N+1(启动反转):原架构是 SimpleLite 启动 → 拉 MiGu.Server;现在反过来: +/// MiGu.Server 作为主入口启动 → 登录页选 LaunchMode → 后端拉起 SimpleLite.exe, +/// 通过 <c>--display-mode</c> 参数把 web / web+local 透传给 SimpleLite 的 Configuration。 +/// +/// 绑定 <c>appsettings.json:SimpleLite</c>。 +/// </summary> +public sealed class SimpleLiteOptions +{ + /// <summary>主开关。false = 永不拉起;登录无论选什么 LaunchMode 都不会启动子进程,用于「只跑 Platform 调试」场景。</summary> + public bool Enabled { get; set; } = true; + + /// <summary> + /// SimpleLite 可执行文件绝对/相对路径(相对 MiGu.Server 工作目录)。留空则按以下顺序自动探测: + /// 1) <c>./SimpleLite.exe</c>(合并发布布局:SimpleLite 与 MiGu.Server 同目录) + /// 2) <c>./SimpleLite/SimpleLite.exe</c> + /// 3) <c>../SimpleLite.exe</c>(MiGu.Server 部署到子目录的常见布局) + /// 4) <c>../SimpleLite/bin/Debug/SimpleLite.exe</c>(开发态:Visual Studio 默认输出) + /// 5) <c>../SimpleLite/bin/Release/SimpleLite.exe</c> + /// 6) 沿父目录上行寻找 <c>SimpleLite/bin/{Debug|Release}/SimpleLite.exe</c> + /// </summary> + public string ExecutablePath { get; set; } = ""; + + /// <summary>留空时取 <see cref="ExecutablePath"/> 所在目录。SimpleLite 在 CWD 读写 simple.json / imgui.ini,CWD 选错会出意外。</summary> + public string WorkingDirectory { get; set; } = ""; + + /// <summary>附加命令行参数(拼在 <c>--display-mode=xxx</c> 之后)。常用于本地调试时强制 autoload 某场景。</summary> + public string Arguments { get; set; } = ""; + + /// <summary> + /// 子进程启动后阻塞等待 Projection (:8222) 端口就绪的最长毫秒数。 + /// 0 = 不等待(登录立即返回,前端可能还连不上 SimpleLite WebApi); + /// 负值 = 无限等待(直到子进程退出或就绪)。 + /// </summary> + public int ReadinessTimeoutMs { get; set; } = 8000; + + /// <summary>每隔多少毫秒 poll 一次 Projection 端口可达性。</summary> + public int ReadinessPollIntervalMs { get; set; } = 250; + + /// <summary>SimpleLite Projection WebApi 监听端口。默认与 SimpleLite Configuration 的 `port` 一致。用于就绪检测。</summary> + public int ProjectionPort { get; set; } = 8222; + + /// <summary> + /// 是否把 SimpleLite 绑定到 MiGu.Server 生命周期,默认 <b>false</b>(会话 N+2 用户反馈)。 + /// + /// 设计原则:SimpleLite 与 MiGu.Server 是「两个独立程序」,Platform 只是登录后顺手拉起 SimpleLite; + /// MiGu.Server 关闭不应该带走 SimpleLite,反之亦然。所以 FollowParent 默认 false: + /// - 子进程走 <c>UseShellExecute=true</c> 创建独立进程组 + 独立控制台窗口; + /// - 不挂 JobObject,不在 ApplicationStopping / ProcessExit 时 kill 子进程; + /// - SimpleLite 退出由用户自己负责(关窗口 / 任务管理器 / 调度内核异常退出)。 + /// + /// true 仍可用:会启动 Windows JobObject 父子绑定(仅 Windows 有效)+ 注册 ApplicationStopping 软关闭。 + /// 一般只在临时联调期 / CI 流水线想自动清理时打开。 + /// </summary> + public bool FollowParent { get; set; } = false; +} diff --git a/MiGu.Server/MiGu.Server.csproj b/MiGu.Server/MiGu.Server.csproj new file mode 100644 index 0000000..3e818bc --- /dev/null +++ b/MiGu.Server/MiGu.Server.csproj @@ -0,0 +1,25 @@ +<Project Sdk="Microsoft.NET.Sdk.Web"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <Nullable>enable</Nullable> + <ImplicitUsings>enable</ImplicitUsings> + <RootNamespace>MiGu.Server</RootNamespace> + <AssemblyName>MiGu.Server</AssemblyName> + <LangVersion>latest</LangVersion> + <InvariantGlobalization>false</InvariantGlobalization> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.10" /> + <PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.3" /> + <PackageReference Include="Yarp.ReverseProxy" Version="2.2.0" /> + <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.10" /> + <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.0.2" /> + </ItemGroup> + + <ItemGroup> + <None Include="data\.gitkeep" Condition="Exists('data\.gitkeep')" /> + </ItemGroup> + +</Project> diff --git a/MiGu.Server/Program.cs b/MiGu.Server/Program.cs new file mode 100644 index 0000000..bcd568c --- /dev/null +++ b/MiGu.Server/Program.cs @@ -0,0 +1,223 @@ +using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Authorization; +using Microsoft.OpenApi.Models; +using MiGu.Server.Auth; +using MiGu.Server.Configs; +using MiGu.Server.Launcher; +using Yarp.ReverseProxy.Transforms; + +var builder = WebApplication.CreateBuilder(args); + +// S2 根治 (会话45):让 MiGu.Server 启动时自动优先把 frontends/apps/simple-platform-vue/dist/ +// 作为 WebRoot —— 解决「每次 vite build → wwwroot/index.html 都被 hash 漂移 → 提一个噪音 commit」 +// 的死循环。 +// +// 探测策略:从 ContentRootPath 出发向上逐级找 frontends/apps/simple-platform-vue/dist/index.html, +// 找到则将 WebRootPath 改指到 dist;找不到则保持默认 wwwroot/(用于「克隆后没跑 build」或 +// 生产部署机不带 node 的场景,wwwroot/ 由 build-platform-frontend.bat 的 robocopy /MIR 兜底)。 +// +// 影响: +// - dev 模式:跑过一次 `pnpm build` 后无需 robocopy,重启 MiGu.Server 即生效; +// 也不再需要 commit wwwroot/index.html。 +// - 部署:CI/CD 走 build-platform-frontend.bat 把 dist 同步到 wwwroot/,dist 此时不存在 +// 于发布产物中 → 自动 fallback 到 wwwroot/。行为与改造前一致。 +{ + static string? FindDistRoot(string startDir) + { + var dir = new DirectoryInfo(startDir); + while (dir != null) + { + var candidate = Path.Combine(dir.FullName, "frontends", "apps", "simple-platform-vue", "dist", "index.html"); + if (File.Exists(candidate)) return Path.GetDirectoryName(candidate); + dir = dir.Parent; + } + return null; + } + + var dist = FindDistRoot(builder.Environment.ContentRootPath); + if (dist != null) + { + builder.Environment.WebRootPath = dist; + Console.WriteLine($"[MiGu.Server] WebRoot -> dist: {dist}"); + } + else + { + Console.WriteLine($"[MiGu.Server] WebRoot -> wwwroot (dist not found): {builder.Environment.WebRootPath}"); + } +} + +// 控制器 + JSON 默认大小写、忽略 null +builder.Services.AddControllers() + .AddJsonOptions(opt => + { + opt.JsonSerializerOptions.PropertyNamingPolicy = System.Text.Json.JsonNamingPolicy.CamelCase; + opt.JsonSerializerOptions.DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull; + opt.JsonSerializerOptions.WriteIndented = false; + }); + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new() { Title = "MiGu.Server", Version = "v1", Description = "Simple-FR 平台后端骨架(含 YARP 反代 SimpleLite 8222)。" }); + // Swagger 里挂 Bearer 输入框,便于手工测带鉴权的端点。 + c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme + { + Name = "Authorization", + Description = "JWT bearer。值: \"Bearer {token}\"", + In = ParameterLocation.Header, + Type = SecuritySchemeType.ApiKey, + Scheme = "Bearer" + }); + c.AddSecurityRequirement(new OpenApiSecurityRequirement + { + { + new OpenApiSecurityScheme + { + Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } + }, + Array.Empty<string>() + } + }); +}); + +// CORS(Vite dev 5173 与 MiGu.Server 8080 跨域) +var origins = builder.Configuration.GetSection("Cors:Origins").Get<string[]>() ?? Array.Empty<string>(); +builder.Services.AddCors(opts => opts.AddDefaultPolicy(p => + p.WithOrigins(origins).AllowAnyHeader().AllowAnyMethod().AllowCredentials())); + +// ─── AR-3 / AR-5:JWT + Cookie 双轨鉴权 ───────────────────────────────────────── +// +// 设计: +// - access token 同时通过 Authorization: Bearer header 与 httpOnly Cookie 两路传输; +// - 旧 SPA 还在用 localStorage.token + Bearer,逐步迁移到 Cookie;过渡期两路都接受; +// - JwtIssuer 集中颁发 + 验签;secret 来自 appsettings:Jwt:Secret 或环境变量 +// PLATFORM__JWT__SECRET,占位值会被运行时随机化并强制告警。 +// - InternalTokenStore 管理 SimpleLite 8222 ↔ MiGu.Server 之间的 X-Platform-Internal-Token +// 共享密钥(YARP transform 自动追加)。 +builder.Services.AddSingleton<UserStore>(); +builder.Services.AddSingleton<JwtIssuer>(sp => +{ + var config = sp.GetRequiredService<IConfiguration>(); + var logger = sp.GetRequiredService<ILogger<JwtIssuer>>(); + var secret = config["Jwt:Secret"] ?? JwtIssuer.PlaceholderSecret; + var issuer = config["Jwt:Issuer"] ?? "MiGu.Server"; + var audience = config["Jwt:Audience"] ?? "platform.client"; + var lifetimeMinutes = int.TryParse(config["Jwt:LifetimeMinutes"], out var m) && m > 0 ? m : 24 * 60; + return new JwtIssuer(secret, issuer, audience, TimeSpan.FromMinutes(lifetimeMinutes), logger); +}); +builder.Services.AddSingleton<InternalTokenStore>(); + +builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddJwtBearer(opt => + { + // TokenValidationParameters 在第一次解析请求时从 JwtIssuer 拿,避免 ctor 顺序耦合。 + opt.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters + { + // 完整参数在 OnMessageReceived 里替换为 JwtIssuer.BuildValidationParameters() + ValidateIssuer = false, + ValidateAudience = false, + ValidateIssuerSigningKey = false, + ValidateLifetime = false, + }; + opt.Events = new JwtBearerEvents + { + OnMessageReceived = ctx => + { + // 优先从 Authorization: Bearer 取;没有再从 Cookie 取。 + if (string.IsNullOrEmpty(ctx.Token)) + { + var cookie = ctx.Request.Cookies["simple.auth.token"]; + if (!string.IsNullOrEmpty(cookie)) ctx.Token = cookie; + } + // 用真实 JwtIssuer 参数替换占位 ValidationParameters。 + var issuer = ctx.HttpContext.RequestServices.GetRequiredService<JwtIssuer>(); + ctx.Options.TokenValidationParameters = issuer.BuildValidationParameters(); + return Task.CompletedTask; + } + }; + }); + +builder.Services.AddAuthorization(opts => +{ + // Platform scope:完整管理端权限,对应 admin 账号。 + opts.AddPolicy("PlatformScope", p => p.RequireAuthenticatedUser().RequireClaim("scope", "Platform")); + // RCSMonitor scope:运营白名单。 + opts.AddPolicy("MonitorScope", p => p.RequireAuthenticatedUser().RequireClaim("scope", "RCSMonitor")); + // 任一登录用户。 + opts.AddPolicy("AnyAuthed", p => p.RequireAuthenticatedUser()); +}); + +// YARP + transform:把 Platform 内部 token 透传给 SimpleLite 8222(AR-1/AR-2 配套)。 +builder.Services.AddReverseProxy() + .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy")) + .AddTransforms(tctx => + { + // 只对 sl-route 注入 internal token;vrender-route(webVRender iframe 静态资源)不需要。 + if (tctx.Route.RouteId != "sl-route") return; + tctx.AddRequestTransform(rt => + { + var store = rt.HttpContext.RequestServices.GetRequiredService<InternalTokenStore>(); + rt.ProxyRequest.Headers.Remove("X-Platform-Internal-Token"); + rt.ProxyRequest.Headers.Add("X-Platform-Internal-Token", store.Token); + return ValueTask.CompletedTask; + }); + }); + +// 单例配置仓库(内存 + JSON 文件持久化占位) +builder.Services.AddSingleton<ConfigStore>(); + +// 会话 N+1(启动反转):把 SimpleLite 子进程拉起器接入 DI;AuthController 登录成功后按 LaunchMode 调 MaybeStart。 +// 配置段绑定 appsettings.json:SimpleLite,可被环境变量 SIMPLELITE__XXX 覆盖。 +builder.Services.Configure<SimpleLiteOptions>(builder.Configuration.GetSection("SimpleLite")); +builder.Services.AddSingleton<SimpleLiteLauncher>(); + +var app = builder.Build(); + +// 启动期主动构造 JwtIssuer / InternalTokenStore:让 secret 校验日志在请求来之前打印。 +_ = app.Services.GetRequiredService<JwtIssuer>(); +_ = app.Services.GetRequiredService<InternalTokenStore>(); +// 主动实例化 SimpleLiteLauncher,让 ProcessExit 钩子尽早注册(MiGu.Server 异常退出时 SimpleLite 也会被清理)。 +var simpleLiteLauncher = app.Services.GetRequiredService<SimpleLiteLauncher>(); +{ + var sl = simpleLiteLauncher.GetDiagnostics(); + app.Logger.LogInformation( + "[MiGu.Server] SimpleLite: Enabled={Enabled}, ConfiguredPath={Cfg}, Resolved={Resolved}, Exists={Exists}, Port:{Port} reachable={PortUp}. 配置见 appsettings.json → SimpleLite", + sl.Enabled, sl.ConfiguredExecutablePath, sl.ResolvedExecutablePath ?? "(未找到)", sl.ExecutableExists, + sl.ProjectionPort, sl.ProjectionPortReachable); +} + +// MiGu.Server 停机时是否带走 SimpleLite,由 SimpleLiteLauncher.Dispose 内部按 FollowParent 决定: +// - 会话 N+2 起 FollowParent=false 默认值 → Dispose 仅释放本地引用,不 kill 子进程(独立程序语义); +// - 仅当用户显式 opt-in FollowParent=true 时,Dispose 才会 kill 子进程 + 关闭 JobObject。 +app.Lifetime.ApplicationStopping.Register(() => +{ + try { app.Services.GetRequiredService<SimpleLiteLauncher>().Dispose(); } + catch { /* shutdown best-effort */ } +}); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseCors(); + +// 静态资源:MiGu.Server/wwwroot 下可同时存放 admin / monitor / index 三份 SPA +app.UseDefaultFiles(); +app.UseStaticFiles(); + +// 鉴权 / 授权管道必须放在 MapControllers 之前;CORS 之后。 +app.UseAuthentication(); +app.UseAuthorization(); + +app.MapControllers(); + +// YARP:/api/sl/* → :8222;/vr/* → :8223 +app.MapReverseProxy(); + +// SPA fallback:单一合并 Vue 工程(vue-router 处理 /admin/* /monitor/* /login /status) +// 所有非 API、非静态资源的路径都返回 wwwroot/index.html +app.MapFallbackToFile("index.html"); + +app.Run(); diff --git a/MiGu.Server/Properties/launchSettings.json b/MiGu.Server/Properties/launchSettings.json new file mode 100644 index 0000000..5a626a4 --- /dev/null +++ b/MiGu.Server/Properties/launchSettings.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "MiGu.Server": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://0.0.0.0:8080", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/MiGu.Server/README.md b/MiGu.Server/README.md new file mode 100644 index 0000000..87216c1 --- /dev/null +++ b/MiGu.Server/README.md @@ -0,0 +1,244 @@ +# MiGu.Server + +> 「**迷毂 · 智能调度平台**」的后端骨架(ASP.NET Core 8 + YARP)。 +> 对应 [ARCHITECTURE.md](ARCHITECTURE.md) v1.6 §1.1 中提到的「Platform 管理端」后端可执行文件。 +> +> **会话 N+1(启动反转):现在 `MiGu.Server.exe` 是主入口**。 +> 用户先启动 MiGu.Server,浏览器登录页选择「启动模式」(本地+Web / 仅Web), +> 后端 `AuthController.Login` 调用 `SimpleLiteLauncher.MaybeStart(launchMode)` 按所选模式拉起 `SimpleLite.exe`, +> 通过 `--display-mode=web|web+local` 透传给 SimpleLite 的 `Configuration.displayMode`。 +> +> 工程名 `MiGu.Server` / 程序集 `MiGu.Server.dll` 保持稳定,仅用户可见前端文案改为「迷毂」。 + +## 克隆后首次部署速查(必读) + +本仓库为 **Migu2.0**,已包含预构建的 `wwwroot/` 前端,克隆后可直接编译运行 MiGu.Server。 + +```pwsh +# 1) 编译 MiGu.Server +cd MiGu.Server +dotnet build MiGu.Server.csproj -c Debug + +# 2) 启动(登录后按所选模式拉起 SimpleLite) +dotnet run +# 或:.\bin\Debug\net8.0\MiGu.Server.exe +``` + +**更新前端**:在 Simple 仓库执行 `build-platform-frontend.bat`,将 `frontends/apps/simple-platform-vue/dist/` 同步到本目录 `wwwroot/`。 + +## 配置 SimpleLite 路径(必读) + +> **配置文件位置(无 Web 界面):** +> **`MiGu.Server/appsettings.json`** → 搜索 **`"SimpleLite"`** 节点。 +> 登录页选「本地 + Web / 仅 Web」后,后端在此配置的路径拉起 `SimpleLite.exe`。 +> 启动后可在浏览器打开 **`http://localhost:8080/api/health/simplelite`** 查看路径是否解析成功。 + +登录成功后,MiGu.Server 会按所选启动模式拉起 **SimpleLite.exe**。默认已在 `appsettings.json` 写好与 Simple 仓库并列的相对路径;开发机可用 `appsettings.Development.json` 覆盖为绝对路径。 + +### 本机开发(与 Simple 仓库并列) + +仓库默认已在 `appsettings.Development.json` 中写好: + +```json +"SimpleLite": { + "Enabled": true, + "ExecutablePath": "E:\\Work\\Core\\Simple-FR\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe", + "WorkingDirectory": "E:\\Work\\Core\\Simple-FR\\Simple\\SimpleLite\\bin\\Debug", + "ProjectionPort": 8222, + "ReadinessTimeoutMs": 8000, + "FollowParent": false +} +``` + +请先编译 SimpleLite(在 Simple 仓库): + +```pwsh +cd ..\Simple +dotnet build SimpleLite\SimpleLite.csproj -c Debug +``` + +若你的 Simple 不在上述绝对路径,可改为**相对路径**(相对 `MiGu.Server` 工作目录): + +```json +"ExecutablePath": "..\\..\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe", +"WorkingDirectory": "..\\..\\Simple\\SimpleLite\\bin\\Debug" +``` + +### 配置项说明 + +| 键 | 含义 | +|----|------| +| `Enabled` | `false` 时永不拉起 SimpleLite(只调试平台 UI) | +| `ExecutablePath` | `SimpleLite.exe` 绝对或相对路径;留空则自动探测(见 `Launcher/SimpleLiteOptions.cs`) | +| `WorkingDirectory` | 子进程工作目录;留空则用 exe 所在目录(读写 `simple.json` / `imgui.ini`) | +| `ProjectionPort` | 就绪检测端口,默认 `8222` | +| `ReadinessTimeoutMs` | 登录后等待 SimpleLite WebAPI 就绪的最长时间(毫秒) | +| `FollowParent` | `true` 时 MiGu.Server 退出会结束 SimpleLite;默认 `false`(两进程独立) | + +### 环境变量覆盖 + +```pwsh +$env:SimpleLite__ExecutablePath = "D:\apps\SimpleLite.exe" +$env:SimpleLite__WorkingDirectory = "D:\apps" +$env:SimpleLite__Enabled = "true" +``` + +### 生产 / 合并发布 + +将 `SimpleLite.exe` 与依赖 DLL 放到 `MiGu.Server` 同目录,并清空 `ExecutablePath`(走自动探测 `./SimpleLite.exe`),或在 `appsettings.Production.json` 写死部署路径。 + +浏览器访问 `http://localhost:8080/login`: +1. 用户名 / 密码(`appsettings.json:Auth.Users` 默认 admin/admin、ops/ops); +2. 选 scope(管理员 / 运营); +3. 选 **SimpleLite 启动模式**: + - **本地 + Web** → 透传 `--display-mode=web+local`,桌面 ImGui 窗口 + 浏览器同时启动; + - **仅 Web** → 透传 `--display-mode=web`,只起 WebTerminal,不弹本地窗口; +4. 点登录。`AuthController.Login` 调用 `SimpleLiteLauncher.MaybeStart(...)` 阻塞等 Projection (`:8222`) 就绪后返回 LoginResponse。 + +> 如果只想跑 MiGu.Server 单进程调试(不拉 SimpleLite),把 `appsettings.json:SimpleLite.Enabled` 改为 `false` 即可。 + +## 安全须知(生产部署必读) + +> **重要:以下默认值仅供本地开发,切勿原样用于生产环境。** +> +> - `appsettings.json:Auth.Users` 内置 `admin/admin`、`ops/ops` 为弱口令演示账号; +> - `appsettings.json:Jwt.Secret`、`Internal.Token` 为占位符 `REPLACE_ME`。 +> +> 生产部署务必通过**环境变量**或 `appsettings.Production.json` / 密钥管理覆盖 +> (ASP.NET Core 配置优先级:环境变量 > `appsettings.{Environment}.json` > `appsettings.json`)。 +> 环境变量示例(`__` 双下划线表示配置层级): +> +> ```pwsh +> $env:Auth__Users__admin__Password = "<强密码>" +> $env:Jwt__Secret = "<不少于 32 字节的随机串>" +> $env:Internal__Token = "<随机串>" +> ``` +> +> 详见代码审核 ISSUE-03(`Doc/CODE_REVIEW_ISSUES_2026-05-29.md`)。 +> +> **SimpleLite 8222 内部 API(RV-04)**:默认 `simple.json:platform.allowLoopbackBypass=true`,本机回环请求免 token;**多租户 / 共享主机的生产环境建议设为 `false`**,强制所有请求携带 `X-Platform-Internal-Token`(配合 `platform.internalToken` 或 `MiGu.Server/data/.internal-token`)。详见复审 `Doc/CODE_REVIEW_WEEK_2026-05-29.md` RV-04。 + +## 能力清单(本轮) + +- Kestrel 监听 `:8080`(HTTP); +- 静态托管:启动时自动探测 WebRoot —— + - 开发模式:仓库内 `frontends/apps/simple-platform-vue/dist/` 存在则直接挂为 WebRoot(`pnpm build` 后立即生效,无需 robocopy 到 wwwroot); + - 兜底/部署模式:找不到 dist 时回退到 `wwwroot/`(由 `build-platform-frontend.bat` 的 robocopy /MIR 填充); + - SPA fallback 让 `/admin/*` `/monitor/*` `/login` `/status` 等所有非 API 路径都回退到 `index.html`,由 vue-router 接管; +- YARP 反向代理: + - `/api/sl/{**catch-all}` → `http://127.0.0.1:8222/`(SimpleLite WebAPI;当前 SimpleLite 未启 WebAPI 时返回 502); + - `/vr/{**catch-all}` → `http://127.0.0.1:8223/`(webVRender;可用于同源 iframe 解决 X-Frame-Options 限制); +- 14 维度配置中心占位(对齐 §9):内存 + `data/config-{section}.json` 持久化; +- Mock 鉴权:`/api/auth/login` 返回 Mock JWT + `EffectivePermissions`;LoginRequest 新增 `launchMode: "WebOnly" | "DesktopAndWeb"` 字段,登录成功后 `SimpleLiteLauncher` 据此拉起子进程; +- SimpleLite 子进程编排:`Launcher/SimpleLiteLauncher.cs` 幂等 / Stdout 转发 / Windows JobObject 父子绑定 / 端口就绪等待,配置见 `appsettings.json:SimpleLite`; +- 运维白名单网关占位:`/api/sl/ops/execute`、`/api/sl/ops/audits`; +- 投影 API 占位:`/api/projection/{sites,tracks,cars,missions}`; +- 健康检查:`/api/health`; +- Swagger:开发环境下 `/swagger`。 + +> 不在本轮范围:真实 SimpleLite WebAPI、SystemMission 拉起、真实 JWT/RBAC、SQLite/EF Core 持久层。 + +## 目录结构 + +``` +MiGu.Server/ +├── MiGu.Server.csproj +├── Program.cs # Kestrel + YARP + CORS + StaticFiles + SPA fallback +├── appsettings.json # YARP 路由 + CORS 白名单 +├── appsettings.Development.json +├── Properties/launchSettings.json +├── Controllers/ +│ ├── AuthController.cs # /api/auth/login | /api/auth/logout +│ ├── ConfigController.cs # GET/PUT /api/config[/{section}] +│ ├── ProjectionController.cs # /api/projection/{sites,tracks,cars,missions} +│ ├── OpsController.cs # /api/sl/ops/{execute,audits} +│ └── HealthController.cs # /api/health +├── Configs/ # 与 ARCHITECTURE.md §9 一一对齐的强类型 record +│ ├── SystemConfig.cs +│ ├── ExternalIntegrations.cs +│ ├── RoutingPolicy.cs +│ ├── VehicleMaintenancePolicy.cs +│ ├── ChargePolicy.cs +│ ├── TaskAllocationPolicy.cs +│ ├── TrafficRule.cs +│ ├── DeviceManagementConfig.cs +│ ├── FleetLifecycleConfig.cs +│ ├── ScenarioTemplateConfig.cs +│ ├── LocationManagement.cs +│ ├── OpsConfig.cs +│ ├── CustomWidget.cs +│ ├── EffectivePermissions.cs +│ └── ConfigStore.cs # 内存 + JSON 文件持久化(占位) +├── data/ # 运行时生成的 config-{section}.json +└── wwwroot/ # 部署兜底(dev 模式优先用 frontends/.../dist;assets/ 与 index.html 已 ignore) +``` + +## 独立启动(仅当你不通过 SimpleLite 自启时) + +```pwsh +# 1) 还原 + 编译 + 运行 +cd MiGu.Server +dotnet run + +# 等价的 build + run 一键脚本: +.\build-and-run.bat # Debug +.\build-and-run.bat release # Release + +# 2) 验证 +# 打开 http://localhost:8080/ 欢迎页 / 平台前端 +# 打开 http://localhost:8080/swagger API 文档 +# 打开 http://localhost:8080/api/health 健康检查 +# 打开 http://localhost:8080/api/config/system 系统级配置 +``` + +或在 IDE 中以 `MiGu.Server` 作为启动项目。 + +> 启动时控制台会打印 `[MiGu.Server] WebRoot -> dist: ...` 或 `WebRoot -> wwwroot ...`,提示当前使用哪一份产物。 +> 单独启动且既没有跑过 `pnpm build` 也没有跑过 `build-platform-frontend.bat` 时,会看到 SPA fallback 找不到 `index.html`。 +> 仓库根 `build-platform-frontend.bat` 仍可用于「打部署包」场景(把 dist robocopy /MIR 同步到 wwwroot)。 +> SimpleLite 自启 MiGu.Server 时,Program.cs 会从 `bin\<Config>\net8.0\` 沿目录向上找 dist; +> 找到则使用源码区 dist,找不到则使用 bin 同级的 wwwroot——两种启动方式共用同一份前端产物。 + +## 与前端联调 + +- 开发模式(前端在 Simple 仓库): + - 前端:`cd ../Simple/frontends && pnpm dev`(`:5173`),Vite 代理 `/api` 至 `http://127.0.0.1:8080`; + - 后端:`cd MiGu.Server && dotnet run`(`:8080`); + - 浏览器访问 `http://localhost:5173/login`。 +- 生产/同源模式(本仓库 `wwwroot/`): + - 默认使用 `MiGu.Server/wwwroot/`(已随仓库提交构建产物); + - 若上级目录存在 `frontends/apps/simple-platform-vue/dist/`,Program.cs 会优先挂 dist; + - 浏览器访问 `http://localhost:8080/login` 等路径由 vue-router 解析。 + +## YARP 与 SimpleLite + +YARP 路由配置见 `appsettings.json`: + +```json +{ + "ReverseProxy": { + "Routes": { + "sl-route": { "Match": { "Path": "/api/sl/{**catch-all}" }, "ClusterId": "sl-cluster" }, + "vrender-route": { "Match": { "Path": "/vr/{**catch-all}" }, "ClusterId": "vrender-cluster" } + }, + "Clusters": { + "sl-cluster": { "Destinations": { "sl1": { "Address": "http://127.0.0.1:8222/" } } }, + "vrender-cluster": { "Destinations": { "vr1": { "Address": "http://127.0.0.1:8223/" } } } + } + } +} +``` + +- `/api/sl/ops/{execute,audits}` 在本工程被 `OpsController` 显式接住(更具体的路由),用于占位测试; +- 其他 `/api/sl/*` 由 YARP 透传到 SimpleLite `:8222`,SimpleLite 未启时会得到 502/连接被拒。 + +## iframe 嵌入 webVRender 的两种方式 + +1. **直连**(默认):前端 iframe 指向 `http://localhost:8223/?scope=...&token=...&ro=...`,跨源; +2. **同源代理**(可选):iframe 指向 `http://localhost:8080/vr/?scope=...`,由本工程 YARP 反代到 8223, + 可规避 X-Frame-Options 等限制。前端可通过 `Workspace3D` 组件的 `host` prop 传 `localhost:8080/vr` 切换。 + +## 相关文档 + +- [ARCHITECTURE.md](ARCHITECTURE.md) — v1.6 总体架构(§4 进程拓扑、§6.3 YARP 配置、§9 配置中心、§10 交互序列、§17 视觉规范) +- [(见 Simple 仓库)frontends/README.md]((见 Simple 仓库)frontends/README.md) — 前端启动与联调说明(含「迷毂」品牌与紫色主题约定) diff --git a/MiGu.Server/appsettings.Development.json b/MiGu.Server/appsettings.Development.json new file mode 100644 index 0000000..fc05c67 --- /dev/null +++ b/MiGu.Server/appsettings.Development.json @@ -0,0 +1,17 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Information", + "Yarp": "Debug" + } + }, + "SimpleLite": { + "Enabled": true, + "ExecutablePath": "E:\\Work\\Core\\Simple-FR\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe", + "WorkingDirectory": "E:\\Work\\Core\\Simple-FR\\Simple\\SimpleLite\\bin\\Debug", + "ProjectionPort": 8222, + "ReadinessTimeoutMs": 8000, + "FollowParent": false + } +} diff --git a/MiGu.Server/appsettings.json b/MiGu.Server/appsettings.json new file mode 100644 index 0000000..21edc58 --- /dev/null +++ b/MiGu.Server/appsettings.json @@ -0,0 +1,72 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning", + "Yarp": "Information" + } + }, + "AllowedHosts": "*", + "Cors": { + "Origins": [ + "http://localhost:5173", + "http://127.0.0.1:5173" + ] + }, + "Jwt": { + "Secret": "REPLACE_ME", + "Issuer": "migu.server", + "Audience": "migu.client", + "LifetimeMinutes": 1440 + }, + "Internal": { + "Token": "REPLACE_ME" + }, + "_comment_SimpleLite": "登录后拉起 SimpleLite;改路径请编辑下方 SimpleLite 节点。诊断: http://localhost:8080/api/health/simplelite", + "SimpleLite": { + "Enabled": true, + "ExecutablePath": "..\\..\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe", + "WorkingDirectory": "..\\..\\Simple\\SimpleLite\\bin\\Debug", + "Arguments": "", + "ReadinessTimeoutMs": 15000, + "ReadinessPollIntervalMs": 250, + "ProjectionPort": 8222, + "FollowParent": false + }, + "Auth": { + "Users": { + "admin": { "Password": "admin" }, + "ops": { "Password": "ops" } + } + }, + "ReverseProxy": { + "Routes": { + "sl-route": { + "ClusterId": "sl-cluster", + "Match": { "Path": "/api/sl/{**catch-all}" }, + "Transforms": [ + { "PathRemovePrefix": "/api/sl" } + ] + }, + "vrender-route": { + "ClusterId": "vrender-cluster", + "Match": { "Path": "/vr/{**catch-all}" }, + "Transforms": [ + { "PathRemovePrefix": "/vr" } + ] + } + }, + "Clusters": { + "sl-cluster": { + "Destinations": { + "sl1": { "Address": "http://127.0.0.1:8222/" } + } + }, + "vrender-cluster": { + "Destinations": { + "vr1": { "Address": "http://127.0.0.1:8223/" } + } + } + } + } +} diff --git a/MiGu.Server/build-and-run.bat b/MiGu.Server/build-and-run.bat new file mode 100644 index 0000000..5ece5a1 --- /dev/null +++ b/MiGu.Server/build-and-run.bat @@ -0,0 +1,55 @@ +@echo off +chcp 65001 >nul +setlocal ENABLEDELAYEDEXPANSION + +REM ========================================================== +REM MiGu.Server build and run (one-click) +REM - default Debug; pass "release" / "-r" / "/r" for Release +REM - listens on http://0.0.0.0:8080 (see Properties\launchSettings.json) +REM - YARP proxies: /api/sl/* -> :8222 ; /vr/* -> :8223 +REM ========================================================== + +cd /d "%~dp0" + +set "CONFIG=Debug" +if /I "%~1"=="release" set "CONFIG=Release" +if /I "%~1"=="-r" set "CONFIG=Release" +if /I "%~1"=="/r" set "CONFIG=Release" + +echo ============================================================ +echo MiGu.Server 生成 + 启动 ( Config = %CONFIG% ) +echo 目录: %CD% +echo ============================================================ +echo. + +where dotnet >nul 2>&1 +if errorlevel 1 ( + echo [错误] 未找到 dotnet ^( .NET 8 SDK ^)。请先安装 .NET 8 SDK 并重新打开终端。 + pause + exit /b 1 +) + +echo === [1/2] dotnet build === +dotnet build "MiGu.Server.csproj" -c %CONFIG% --nologo +if errorlevel 1 ( + echo. + echo *** 构建失败,已停止。请检查上方编译错误。 *** + pause + exit /b 1 +) + +echo. +echo === [2/2] dotnet run === +echo [提示] Ctrl+C 终止;浏览器访问 http://localhost:8080/ ^(Swagger: /swagger^) +echo. + +dotnet run --project "MiGu.Server.csproj" -c %CONFIG% --no-build --no-restore +set "RUN_EC=%errorlevel%" + +echo. +if not "%RUN_EC%"=="0" ( + echo *** MiGu.Server 退出,errorlevel=%RUN_EC% +) else ( + echo MiGu.Server 正常退出。 +) +endlocal & exit /b %RUN_EC% diff --git a/MiGu.Server/wwwroot/FRLD-logo-white-no_title.png b/MiGu.Server/wwwroot/FRLD-logo-white-no_title.png new file mode 100644 index 0000000..23af5a5 Binary files /dev/null and b/MiGu.Server/wwwroot/FRLD-logo-white-no_title.png differ diff --git a/MiGu.Server/wwwroot/FRLD-logo-white.png b/MiGu.Server/wwwroot/FRLD-logo-white.png new file mode 100644 index 0000000..bc6af75 Binary files /dev/null and b/MiGu.Server/wwwroot/FRLD-logo-white.png differ diff --git a/MiGu.Server/wwwroot/assets/AnnotationView-B4kZBtzl.js b/MiGu.Server/wwwroot/assets/AnnotationView-B4kZBtzl.js new file mode 100644 index 0000000..a9a3ee5 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/AnnotationView-B4kZBtzl.js @@ -0,0 +1 @@ +import{aG as S,bo as z,aA as b,bB as a,u as B,b3 as p,aF as e,P as N,S as A,a4 as O,aC as T,bd as F,_ as M,ai as U,s as D,bm as f,aE as d,bE as I,ab as G,ad as L,bj as j,az as c,ba as P,bb as Y,Y as g,O as $,aa as q,I as H}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const J={style:{display:"flex","align-items":"center",gap:"8px"}},pe=S({__name:"AnnotationView",setup(K){const s=z(),l=P({title:"",target:"",level:"info",content:""}),m=Y([{id:"N001",ts:"2026-05-19 10:25",author:"ops",target:"C05",level:"warn",title:"AGV-005 故障观察",content:"出库点附近频繁停顿,怀疑激光被遮挡"}]);function w(r){return r==="error"?"danger":r==="warn"?"warning":"info"}function v(){if(!l.title){g.warning("请填写标题");return}const r=`N${String(m.value.length+1).padStart(3,"0")}`;m.value.unshift({id:r,ts:new Date().toLocaleString("zh-CN"),author:s.user?.username??"mock",target:l.target,level:l.level,title:l.title,content:l.content}),g.success("已记录(Mock,未写入数据库)"),l.title="",l.content="",l.target=""}return(r,t)=>{const u=L,_=A,i=N,V=M,y=O,E=D,x=$,h=H,n=G,k=q,C=B;return p(),b(C,{shadow:"never"},{header:a(()=>[c("div",J,[t[7]||(t[7]=c("span",null,"运营备注(monitor.note.write · 写 platform.db.Annotations)",-1)),f(s).hasOp("monitor.note.write")?(p(),b(u,{key:0,size:"small",type:"success"},{default:a(()=>[...t[5]||(t[5]=[d("可写",-1)])]),_:1})):(p(),b(u,{key:1,size:"small",type:"danger"},{default:a(()=>[...t[6]||(t[6]=[d("只读",-1)])]),_:1}))])]),default:a(()=>[e(x,{inline:"",onSubmit:t[3]||(t[3]=I(()=>{},["prevent"]))},{default:a(()=>[e(i,{label:"标题"},{default:a(()=>[e(_,{modelValue:l.title,"onUpdate:modelValue":t[0]||(t[0]=o=>l.title=o),style:{width:"240px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"关联目标"},{default:a(()=>[e(_,{modelValue:l.target,"onUpdate:modelValue":t[1]||(t[1]=o=>l.target=o),placeholder:"例如 C01 / M02 / S006",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"层级"},{default:a(()=>[e(y,{modelValue:l.level,"onUpdate:modelValue":t[2]||(t[2]=o=>l.level=o),style:{width:"120px"}},{default:a(()=>[(p(),T(U,null,F(["info","warn","error"],o=>e(V,{key:o,label:o,value:o},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(i,null,{default:a(()=>[e(E,{type:"primary",disabled:!f(s).hasOp("monitor.note.write"),onClick:v},{default:a(()=>[...t[8]||(t[8]=[d("提交",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}),e(_,{modelValue:l.content,"onUpdate:modelValue":t[4]||(t[4]=o=>l.content=o),type:"textarea",rows:4,placeholder:"描述备注内容...",disabled:!f(s).hasOp("monitor.note.write")},null,8,["modelValue","disabled"]),e(h),e(k,{data:m.value,size:"small","max-height":"400"},{default:a(()=>[e(n,{prop:"ts",label:"时间",width:"180"}),e(n,{prop:"author",label:"作者",width:"100"}),e(n,{prop:"target",label:"目标",width:"100"}),e(n,{prop:"level",label:"层级",width:"80"},{default:a(o=>[e(u,{size:"small",type:w(o.row.level)},{default:a(()=>[d(j(o.row.level),1)]),_:2},1032,["type"])]),_:1}),e(n,{prop:"title",label:"标题"}),e(n,{prop:"content",label:"内容"})]),_:1},8,["data"])]),_:1})}}});export{pe as default}; diff --git a/MiGu.Server/wwwroot/assets/AppShell-BiaaUnpv.css b/MiGu.Server/wwwroot/assets/AppShell-BiaaUnpv.css new file mode 100644 index 0000000..7076078 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/AppShell-BiaaUnpv.css @@ -0,0 +1 @@ +.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.theme-trigger[data-v-28ea4aeb]{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:999px;border:1px solid var(--mg-glass-border, rgba(255, 255, 255, .18));background:var(--mg-glass-bg, rgba(255, 255, 255, .05));color:var(--mg-text-light, rgba(255, 255, 255, .9));cursor:pointer;transition:var(--mg-transition, all .25s ease);font-size:12.5px}.theme-trigger[data-v-28ea4aeb]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.45);color:var(--mg-text-light, #fff)}.swatch[data-v-28ea4aeb]{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 2px var(--mg-glass-border-hi, rgba(255, 255, 255, .25));flex-shrink:0}.theme-label[data-v-28ea4aeb]{font-weight:600;letter-spacing:.3px;white-space:nowrap}.caret[data-v-28ea4aeb]{font-size:12px;opacity:.7}.theme-menu .el-dropdown-menu__item{display:flex!important;align-items:center;gap:12px;min-width:240px;padding:10px 16px!important}.theme-menu .el-dropdown-menu__item.is-active{background:rgba(var(--mg-accent-rgb),.22)!important}.theme-menu .option-swatch{width:28px;height:28px;border-radius:8px;flex-shrink:0;box-shadow:0 2px 8px #00000059}.theme-menu .option-text{flex:1;display:flex;flex-direction:column;gap:2px;line-height:1.3}.theme-menu .option-name{font-weight:600;font-size:13px}.theme-menu .option-desc{font-size:11px;opacity:.65}.theme-menu .check{color:var(--mg-accent);font-size:16px}.app-shell[data-v-a0d39774]{position:relative;height:100vh;overflow:hidden}.bg-orbs[data-v-a0d39774]{position:absolute;inset:0;pointer-events:none;z-index:0}.bg-orb[data-v-a0d39774]{position:absolute;border-radius:50%;filter:blur(120px);animation:drift-a0d39774 24s ease-in-out infinite;will-change:transform}.bg-orb-a[data-v-a0d39774]{width:520px;height:520px;top:-240px;left:-220px;background:radial-gradient(circle,var(--mg-primary-hover) 0%,var(--mg-primary) 55%,transparent 85%);opacity:var(--mg-orb-a-opacity, .55)}.bg-orb-b[data-v-a0d39774]{width:640px;height:640px;bottom:-280px;right:-260px;background:radial-gradient(circle,var(--mg-primary) 0%,var(--mg-primary-active) 55%,transparent 90%);opacity:var(--mg-orb-b-opacity, .5);animation-delay:-7s}.bg-orb-c[data-v-a0d39774]{width:320px;height:320px;top:58%;right:-140px;background:radial-gradient(circle,var(--mg-accent) 0%,var(--mg-primary-hover) 55%,transparent 95%);opacity:var(--mg-orb-c-opacity, .4);animation-delay:-14s}.bg-orb-d[data-v-a0d39774]{width:380px;height:380px;top:12%;right:28%;background:radial-gradient(circle,rgba(99,102,241,.85) 0%,var(--mg-primary) 60%,transparent 92%);opacity:.3;animation-delay:-18s;filter:blur(140px)}@keyframes drift-a0d39774{0%,to{transform:translate(0) scale(1)}50%{transform:translate(36px,-42px) scale(1.08)}}.app-container[data-v-a0d39774]{position:relative;z-index:1;height:100vh}.aside[data-v-a0d39774]{position:relative;background:linear-gradient(180deg,rgba(var(--mg-bg-aside-rgb),.78),rgba(var(--mg-bg-app-deep-rgb),.85));backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-right:1px solid rgba(var(--mg-accent-rgb),.18);display:flex;flex-direction:column;transition:width .28s cubic-bezier(.25,.8,.25,1);overflow:hidden;flex-shrink:0;box-shadow:inset -1px 0 #ffffff0a,4px 0 32px #00000073}.aside[data-v-a0d39774]:before{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(var(--mg-accent-rgb),.6) 50%,transparent 100%);pointer-events:none;opacity:.4}.logo[data-v-a0d39774]{flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 14px 18px;border-bottom:1px solid rgba(var(--mg-accent-rgb),.16);background:radial-gradient(ellipse at center top,rgba(var(--mg-primary-hover-rgb),.3) 0%,transparent 70%),linear-gradient(180deg,rgba(var(--mg-primary-rgb),.16) 0%,transparent 100%)}.logo.collapsed[data-v-a0d39774]{padding:18px 4px 14px}.logo-img-full[data-v-a0d39774]{height:36px;margin-bottom:12px;filter:drop-shadow(0 2px 10px rgba(var(--mg-accent-rgb),.5))}.logo-img-small[data-v-a0d39774]{height:26px;margin-bottom:4px;filter:drop-shadow(0 2px 8px rgba(var(--mg-accent-rgb),.5))}.logo-titles[data-v-a0d39774]{display:flex;flex-direction:column;align-items:center;gap:3px}.logo-title-zh[data-v-a0d39774]{font-size:13px;font-weight:700;letter-spacing:2.5px;background:linear-gradient(90deg,#ffffff 0%,var(--mg-accent) 60%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;text-shadow:0 0 18px rgba(var(--mg-accent-rgb),.3)}.logo-title-en[data-v-a0d39774]{color:#e8d7f573;font-size:7.5px;letter-spacing:.3px;white-space:nowrap;text-align:center}.logo-title-en b[data-v-a0d39774]{color:#ffffffe6;font-weight:700;font-size:8.5px}.logo-abbr[data-v-a0d39774]{color:#ffffffd9;font-size:10.5px;font-weight:700;letter-spacing:1.5px}.menu[data-v-a0d39774]{flex:1;overflow-y:auto;overflow-x:hidden;border-right:none!important;padding:8px 0;scrollbar-width:thin;scrollbar-color:rgba(var(--mg-accent-rgb),.3) transparent}.menu[data-v-a0d39774]::-webkit-scrollbar{width:4px}.menu[data-v-a0d39774]::-webkit-scrollbar-thumb{background:rgba(var(--mg-accent-rgb),.25);border-radius:2px}.menu[data-v-a0d39774]::-webkit-scrollbar-thumb:hover{background:rgba(var(--mg-accent-rgb),.55)}[data-v-a0d39774] .el-menu{border-right:none;background:transparent!important}[data-v-a0d39774] .el-menu-item,[data-v-a0d39774] .el-sub-menu__title{background:transparent!important;margin:2px 10px;border-radius:10px;height:42px;line-height:42px;transition:background .2s ease,color .2s ease,box-shadow .2s ease}[data-v-a0d39774] .el-menu--collapse .el-menu-item,[data-v-a0d39774] .el-menu--collapse .el-sub-menu__title{margin:2px 8px;padding:0!important;justify-content:center}[data-v-a0d39774] .el-menu-item:hover,[data-v-a0d39774] .el-sub-menu__title:hover{background:rgba(var(--mg-primary-rgb),.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(var(--mg-accent-rgb),.18)}[data-v-a0d39774] .el-menu-item.is-active{background:linear-gradient(90deg,rgba(var(--mg-primary-rgb),.55) 0%,rgba(var(--mg-primary-hover-rgb),.2) 70%,transparent 100%)!important;color:#fff!important;font-weight:600;box-shadow:inset 3px 0 0 var(--mg-accent),0 4px 14px rgba(var(--mg-primary-rgb),.25)}[data-v-a0d39774] .el-sub-menu.is-active>.el-sub-menu__title{color:#fff!important;font-weight:600}[data-v-a0d39774] .el-sub-menu .el-menu{background:#0000002e!important;border-radius:8px;margin:0 12px;padding:4px 0}[data-v-a0d39774] .el-sub-menu .el-menu .el-menu-item{margin:1px 4px;border-radius:6px;font-size:13px;height:36px;line-height:36px}[data-v-a0d39774] .el-sub-menu .el-menu .el-menu-item.is-active{background:rgba(var(--mg-accent-rgb),.18)!important;box-shadow:inset 2px 0 0 var(--mg-primary-hover);color:#fff!important}.aside-footer[data-v-a0d39774]{flex-shrink:0;padding:12px 16px;border-top:1px solid rgba(var(--mg-accent-rgb),.14);display:flex;align-items:center;gap:8px;font-size:10.5px;color:#ffffff8c;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aside-footer-badge[data-v-a0d39774]{padding:2px 7px;border-radius:8px;background:linear-gradient(135deg,rgba(var(--mg-primary-rgb),.35),rgba(var(--mg-accent-rgb),.2));border:1px solid rgba(var(--mg-accent-rgb),.36);color:#fff;font-weight:600;font-size:10px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;box-shadow:0 0 12px rgba(var(--mg-primary-hover-rgb),.35)}.container-right[data-v-a0d39774]{background:transparent}.header[data-v-a0d39774]{position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,rgba(var(--mg-bg-aside-rgb),.72),rgba(var(--mg-bg-aside-rgb),.55));backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-bottom:1px solid rgba(var(--mg-accent-rgb),.18);padding:0 20px}.header[data-v-a0d39774]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.45) 30%,rgba(var(--mg-primary-hover-rgb),.6) 50%,rgba(var(--mg-accent-rgb),.45) 70%,transparent 100%);opacity:.55}.header-left[data-v-a0d39774],.header-right[data-v-a0d39774]{display:flex;align-items:center;gap:14px}.icon-btn[data-v-a0d39774]{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffbf;border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-btn[data-v-a0d39774]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.5);color:#fff}[data-v-a0d39774] .el-breadcrumb__inner{color:#ffffffc7;font-weight:500}[data-v-a0d39774] .el-breadcrumb__separator{color:#ffffff59}[data-v-a0d39774] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#fff;font-weight:600}.runmode-tag[data-v-a0d39774]{padding:4px 10px;border-radius:999px;font-size:11.5px;letter-spacing:.5px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:#ffffffd9}.runmode-tag.WebEnabled[data-v-a0d39774]{background:rgba(var(--mg-status-success-rgb),.18);border-color:rgba(var(--mg-status-success-rgb),.45);color:var(--mg-status-success)}.runmode-tag.WebOnly[data-v-a0d39774]{background:rgba(var(--mg-primary-hover-rgb),.18);border-color:rgba(var(--mg-primary-hover-rgb),.45);color:var(--mg-accent)}.runmode-tag.Detached[data-v-a0d39774]{background:rgba(var(--mg-status-warning-rgb),.18);border-color:rgba(var(--mg-status-warning-rgb),.45);color:var(--mg-status-warning)}.user-link[data-v-a0d39774]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#ffffffd9;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;transition:all .2s}.user-link[data-v-a0d39774]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.4)}.user-name[data-v-a0d39774]{font-size:13px;color:#fff;font-weight:500}[data-v-a0d39774] .el-avatar{background:linear-gradient(135deg,var(--mg-accent) 0%,var(--mg-primary) 60%,var(--mg-primary-active) 100%);color:#fff;font-weight:700;box-shadow:0 0 0 1px #fff3}.main[data-v-a0d39774]{padding:24px;background:transparent;color:#fff}.footer[data-v-a0d39774]{background:rgba(var(--mg-bg-aside-rgb),.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-size:12px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;letter-spacing:.3px;height:32px!important;line-height:32px}.fade-up-enter-active[data-v-a0d39774],.fade-up-leave-active[data-v-a0d39774]{transition:opacity .25s cubic-bezier(.25,.8,.25,1),transform .25s cubic-bezier(.25,.8,.25,1)}.fade-up-enter-from[data-v-a0d39774]{opacity:0;transform:translateY(8px)}.fade-up-leave-to[data-v-a0d39774]{opacity:0;transform:translateY(-8px)} diff --git a/MiGu.Server/wwwroot/assets/AppShell-VGUYhBS-.js b/MiGu.Server/wwwroot/assets/AppShell-VGUYhBS-.js new file mode 100644 index 0000000..1ce06ae --- /dev/null +++ b/MiGu.Server/wwwroot/assets/AppShell-VGUYhBS-.js @@ -0,0 +1 @@ +import{aG as A,bo as G,b3 as n,aA as m,bB as e,aF as t,a0 as ce,aE as u,bq as j,av as b,a1 as pe,Y as ue,br as q,az as a,bm as l,a_ as U,bj as s,R as J,ar as X,L as H,aC as g,ai as E,bd as N,K,aZ as I,as as me,aB as R,J as Q,al as Y,aD as _e,B as be,n as fe,W as he,X as ge,bg as D,Q as ve,aN as we,aJ as ke,q as ye,r as Ee,o as Ce,V as Se,ak as xe,N as Me,a7 as Te,bf as $e,bp as De,aP as Ne,aW as W,bk as Ie,a$ as O,bi as Re,aX as Ae,b8 as Be}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css */const Pe="/FRLD-logo-white-no_title.png",Ve="/FRLD-logo-white.png",Le=A({__name:"ScopeSwitcher",setup(B){const i=G(),k=j(),r=b({get:()=>i.scope??"Platform",set:d=>{f(d)}});async function c(d){await f(d)}async function f(d){try{await i.switchScope(d),k.push(d==="Platform"?"/admin/map-monitor":"/monitor/map")}catch(p){ue.error(p?.message??`切换到 ${d} 失败`)}}return(d,p)=>{const v=ce,C=pe;return n(),m(C,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=S=>r.value=S),size:"small",onChange:c},{default:e(()=>[t(v,{label:"Platform"},{default:e(()=>[...p[1]||(p[1]=[u("管理员",-1)])]),_:1}),t(v,{label:"RCSMonitor"},{default:e(()=>[...p[2]||(p[2]=[u("运营",-1)])]),_:1})]),_:1},8,["modelValue"])}}}),ze=["title"],Fe={class:"theme-label"},Ue={class:"option-text"},We={class:"option-name"},Oe={class:"option-desc"},Ge=A({__name:"ThemeSwitcher",setup(B){const i=q(),k=b(()=>({background:`linear-gradient(135deg, ${i.activeTheme.preview} 0%, ${i.activeTheme.previewAccent} 100%)`}));function r(f){const d=i.getMergedTheme(f);return{background:`linear-gradient(135deg, ${d.preview} 0%, ${d.previewAccent} 100%)`}}function c(f){i.setThemeId(f)}return(f,d)=>{const p=J,v=K,C=H,S=Q;return n(),m(S,{trigger:"click",onCommand:c},{dropdown:e(()=>[t(C,{class:"theme-menu"},{default:e(()=>[(n(!0),g(E,null,N(l(i).availableThemes,h=>(n(),m(v,{key:h.id,command:h.id,class:I({"is-active":h.id===l(i).themeId})},{default:e(()=>[a("span",{class:"option-swatch",style:U(r(h))},null,4),a("span",Ue,[a("span",We,s(h.name),1),a("span",Oe,s(h.description),1)]),h.id===l(i).themeId?(n(),m(p,{key:0,class:"check"},{default:e(()=>[t(l(me))]),_:1})):R("",!0)]),_:2},1032,["command","class"]))),128))]),_:1})]),default:e(()=>[a("button",{class:"theme-trigger",type:"button",title:`当前主题:${l(i).activeTheme.name}`},[a("span",{class:"swatch",style:U(k.value)},null,4),a("span",Fe,s(l(i).activeTheme.name),1),t(p,{class:"caret"},{default:e(()=>[t(l(X))]),_:1})],8,ze)]),_:1})}}}),je=Y(Ge,[["__scopeId","data-v-28ea4aeb"]]),qe={class:"app-shell"},Je={class:"aside-footer"},Xe={key:0},He={class:"header-left"},Ke={class:"header-right"},Qe={class:"user-link"},Ye={class:"user-name"},Ze=A({__name:"AppShell",setup(B){const i=De(),k=j(),r=G(),c=q(),f=b(()=>"localhost:8223".split(":")[1]??"8223"),d=b(()=>"/api"),p=b(()=>(r.user?.displayName??r.user?.username??"?").slice(0,1).toUpperCase()),v=b(()=>r.scope==="Platform"?"管理员 (Platform)":"运营 (RCSMonitor)"),C=b(()=>{switch(r.runMode){case"WebOnly":return"Web-Only";case"WebEnabled":return"Web + Desktop";case"Detached":return"SimpleLite 未连接";default:return String(r.runMode??"Unknown")}}),S=[{path:"/admin/dashboard",label:"总览",icon:Ne},{path:"/admin/map-monitor",label:"地图监控",icon:W},{path:"/admin/design",label:"设计与编排",icon:Ie,children:[{path:"/admin/map-editor",label:"地图编辑"},{path:"/admin/project-properties",label:"项目属性"},{path:"/admin/tracks",label:"场景管理"},{path:"/admin/cars",label:"车辆管理"},{path:"/admin/processes",label:"进程管理"},{path:"/admin/scripts",label:"脚本管理"},{path:"/admin/missions",label:"任务编排"}]},{path:"/admin/playback",label:"调度回放",icon:O},{path:"/admin/config",label:"平台配置中心",icon:Re,children:[{path:"/admin/config/system",label:"系统级配置"},{path:"/admin/config/integrations",label:"外部系统对接"},{path:"/admin/config/routing",label:"路径规划"},{path:"/admin/config/vehicle",label:"车辆维护"},{path:"/admin/config/charge",label:"充电策略"},{path:"/admin/config/task",label:"任务分配"},{path:"/admin/config/traffic",label:"交通管制"},{path:"/admin/config/auth",label:"权限与角色"},{path:"/admin/config/device",label:"设备接入"},{path:"/admin/config/fleet",label:"车队生命周期"},{path:"/admin/config/scenario",label:"场景模板"},{path:"/admin/config/location",label:"库位管理"},{path:"/admin/config/ops",label:"运营维护"},{path:"/admin/config/widget",label:"自定义控件"}]}],h=[{path:"/monitor/dashboard",label:"运营总览",icon:Ae},{path:"/monitor/map",label:"地图监控",icon:W},{path:"/monitor/ops",label:"运维操作",icon:Be},{path:"/monitor/notes",label:"运营备注",icon:O}],P=b(()=>r.scope==="Platform"?S:h),Z=b(()=>{const y=i.path,o=[],w=x=>{x.forEach(M=>{o.push(M),M.children&&w(M.children)})};return w(P.value),o.find(x=>x.path===y)?.path??y}),V=b(()=>i.meta.title??"");function ee(y){y==="logout"?(r.logout(),k.push("/login")):y==="status"&&k.push("/status")}return(y,o)=>{const w=J,T=ge,x=Te,M=he,ae=fe,L=Ee,te=ye,oe=Ce,z=K,ne=H,le=Q,se=ve,ie=$e("router-view"),re=Se,de=Me,F=be;return n(),g("div",qe,[o[8]||(o[8]=_e('<div class="bg-orbs" aria-hidden="true" data-v-a0d39774><div class="bg-orb bg-orb-a" data-v-a0d39774></div><div class="bg-orb bg-orb-b" data-v-a0d39774></div><div class="bg-orb bg-orb-c" data-v-a0d39774></div><div class="bg-orb bg-orb-d" data-v-a0d39774></div></div>',1)),t(F,{class:"app-container"},{default:e(()=>[t(ae,{width:l(c).sidebarCollapsed?"76px":"240px",class:"aside"},{default:e(()=>[a("div",{class:I(["logo",{collapsed:l(c).sidebarCollapsed}])},[l(c).sidebarCollapsed?(n(),g(E,{key:0},[o[1]||(o[1]=a("img",{src:Pe,alt:"FRLD",class:"logo-img-small"},null,-1)),o[2]||(o[2]=a("span",{class:"logo-abbr"},"迷毂",-1))],64)):(n(),g(E,{key:1},[o[3]||(o[3]=a("img",{src:Ve,alt:"FRLD",class:"logo-img-full"},null,-1)),o[4]||(o[4]=a("div",{class:"logo-titles"},[a("span",{class:"logo-title-zh"},"迷 毂 · 智能调度平台"),a("span",{class:"logo-title-en"},[a("b",null,"M"),u("i "),a("b",null,"G"),u("u · "),a("b",null,"I"),u("ntelligent "),a("b",null,"D"),u("ispatch "),a("b",null,"P"),u("latform ")])],-1))],64))],2),t(M,{"default-active":Z.value,collapse:l(c).sidebarCollapsed,"collapse-transition":!1,"background-color":"transparent","text-color":"rgba(255, 255, 255, 0.72)","active-text-color":"#fff",router:"",class:"menu"},{default:e(()=>[(n(!0),g(E,null,N(P.value,_=>(n(),g(E,{key:_.path},[_.children?(n(),m(x,{key:0,index:_.path},{title:e(()=>[t(w,null,{default:e(()=>[(n(),m(D(_.icon)))]),_:2},1024),a("span",null,s(_.label),1)]),default:e(()=>[(n(!0),g(E,null,N(_.children,$=>(n(),m(T,{key:$.path,index:$.path},{default:e(()=>[a("span",null,s($.label),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(n(),m(T,{key:1,index:_.path},{title:e(()=>[u(s(_.label),1)]),default:e(()=>[t(w,null,{default:e(()=>[(n(),m(D(_.icon)))]),_:2},1024)]),_:2},1032,["index"]))],64))),128))]),_:1},8,["default-active","collapse"]),a("div",Je,[o[5]||(o[5]=a("span",{class:"aside-footer-badge"},"v1.6",-1)),l(c).sidebarCollapsed?R("",!0):(n(),g("span",Xe,s(l(c).activeTheme.name)+" · "+s(l(c).activeTheme.preview),1))])]),_:1},8,["width"]),t(F,{class:"container-right"},{default:e(()=>[t(se,{class:"header"},{default:e(()=>[a("div",He,[a("button",{class:"icon-btn",onClick:o[0]||(o[0]=_=>l(c).toggleSidebar()),title:"切换侧栏"},[t(w,{size:"18"},{default:e(()=>[l(c).sidebarCollapsed?(n(),m(l(ke),{key:1})):(n(),m(l(we),{key:0}))]),_:1})]),t(te,{separator:"/"},{default:e(()=>[t(L,null,{default:e(()=>[u(s(v.value),1)]),_:1}),V.value?(n(),m(L,{key:0},{default:e(()=>[u(s(V.value),1)]),_:1})):R("",!0)]),_:1})]),a("div",Ke,[t(je),t(Le),a("span",{class:I(["runmode-tag",l(r).runMode])},s(C.value),3),t(le,{trigger:"click",onCommand:ee},{dropdown:e(()=>[t(ne,null,{default:e(()=>[t(z,{command:"status"},{default:e(()=>[...o[6]||(o[6]=[u("服务状态",-1)])]),_:1}),t(z,{command:"logout",divided:""},{default:e(()=>[...o[7]||(o[7]=[u("退出登录",-1)])]),_:1})]),_:1})]),default:e(()=>[a("span",Qe,[t(oe,{size:"small"},{default:e(()=>[u(s(p.value),1)]),_:1}),a("span",Ye,s(l(r).user?.displayName??"未登录"),1),t(w,null,{default:e(()=>[t(l(X))]),_:1})])]),_:1})])]),_:1}),t(re,{class:"main mg-content"},{default:e(()=>[t(ie,null,{default:e(({Component:_})=>[t(xe,{name:"fade-up",mode:"out-in"},{default:e(()=>[(n(),m(D(_)))]),_:2},1024)]),_:1})]),_:1}),t(de,{class:"footer"},{default:e(()=>[a("span",null,s(v.value)+" · webVRender :"+s(f.value)+" · API "+s(d.value),1)]),_:1})]),_:1})]),_:1})])}}}),da=Y(Ze,[["__scopeId","data-v-a0d39774"]]);export{da as default}; diff --git a/MiGu.Server/wwwroot/assets/AuthRoleView-C2B4SEfx.js b/MiGu.Server/wwwroot/assets/AuthRoleView-C2B4SEfx.js new file mode 100644 index 0000000..3f97b20 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/AuthRoleView-C2B4SEfx.js @@ -0,0 +1 @@ +import{aG as y,aA as n,bB as a,bm as E,D as T,b3 as o,aF as e,a9 as V,aa as k,ab as x,aC as d,bd as u,ad as C,aE as p,bj as s,ai as m,a8 as z,ac as B}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as D}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const O=y({__name:"AuthRoleView",setup(v){function w(c){switch(c){case"hidden":return"danger";case"readonly":return"warning";case"interactive":return"success";default:return"info"}}return(c,A)=>{const l=x,i=C,_=k,b=V,h=z,g=B;return o(),n(D,{section:"auth",title:"权限与角色管理",description:"角色、权限码、控件级 WidgetGrant(auth.user.write / auth.role.write)",defaults:E(T)},{default:a(({payload:f})=>[e(g,{"model-value":"roles"},{default:a(()=>[e(b,{name:"roles",label:"角色"},{default:a(()=>[e(_,{data:f.roles,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"名称",prop:"name",width:"120"}),e(l,{label:"Scope",prop:"scope",width:"120"}),e(l,{label:"权限码"},{default:a(r=>[(o(!0),d(m,null,u(r.row.permissions,t=>(o(),n(i,{key:t,size:"small",effect:"plain",style:{margin:"2px"}},{default:a(()=>[p(s(t),1)]),_:2},1024))),128))]),_:1}),e(l,{label:"WidgetGrant",width:"280"},{default:a(r=>[(o(!0),d(m,null,u(r.row.widgetGrants,t=>(o(),n(i,{key:t.widgetId,size:"small",type:w(t.visibility),effect:"plain",style:{margin:"2px"}},{default:a(()=>[p(s(t.widgetId)+"="+s(t.visibility),1)]),_:2},1032,["type"]))),128))]),_:1})]),_:1},8,["data"])]),_:2},1024),e(b,{name:"users",label:"用户"},{default:a(()=>[e(_,{data:f.users,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"用户名",prop:"username",width:"140"}),e(l,{label:"角色"},{default:a(r=>[(o(!0),d(m,null,u(r.row.roles,t=>(o(),n(i,{key:t,size:"small"},{default:a(()=>[p(s(t),1)]),_:2},1024))),128))]),_:1}),e(l,{label:"启用",width:"80"},{default:a(r=>[e(h,{modelValue:r.row.enabled,"onUpdate:modelValue":t=>r.row.enabled=t},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{O as default}; diff --git a/MiGu.Server/wwwroot/assets/CarPanelView-C8B0n-h4.js b/MiGu.Server/wwwroot/assets/CarPanelView-C8B0n-h4.js new file mode 100644 index 0000000..06bfb34 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/CarPanelView-C8B0n-h4.js @@ -0,0 +1 @@ +import{aG as W,b3 as y,aA as N,O as ae,bB as l,aF as a,a2 as se,x as oe,P as ne,T as re,a8 as ie,A as Y,az as r,bj as w,S as de,s as Z,aE as f,aB as P,av as J,bb as $,al as G,b1 as Q,bC as ue,bt as ce,aC as M,u as pe,ad as me,ai as H,bd as q,y as fe,R as ye,bm as ve,bc as _e,ba as K,Y as V,Z as be,z as ge,M as Ce,ac as ke,a9 as Ee}from"./index-DrvLDslf.js";/* empty css *//* empty css */import{R as $e}from"./ReflectionManagerPanel-BP1OYef-.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as L}from"./reflection-Dr3WM5Rz.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./useMapEditStream-DPAdbySW.js";import"./useProjectionStream-DMf_8m8X.js";const Ne={class:"cse-color-code"},Ae={class:"cse-color-code"},Ie={class:"cse-color-code"},Se={class:"cse-model-row"},Ve=W({__name:"CarStyleEditorForm",props:{typeFullName:{},modelValue:{},hasOverride:{type:Boolean},saving:{type:Boolean}},emits:["update:modelValue","save","reset"],setup(B,{emit:k}){const T=B,b=k,c=J(()=>T.modelValue);function m(n){b("update:modelValue",{...c.value,...n})}const A=$(null);function g(){A.value?.click()}function j(n){const t=n.target,v=t.files?.[0];v&&(m({modelPath:v.name}),t.value="")}function x(n){const t=n>>>24&255,v=n>>>16&255,p=n>>>8&255,_=n&255,E=z=>z.toString(16).padStart(2,"0");return`${E(v)}${E(p)}${E(_)}${E(t)}`}function h(n){const t=n.replace(/^#/,"");if(t.length===6){const v=parseInt(t.slice(0,2),16),p=parseInt(t.slice(2,4),16),_=parseInt(t.slice(4,6),16);return(255<<24|v<<16|p<<8|_)>>>0}if(t.length===8){const v=parseInt(t.slice(0,2),16),p=parseInt(t.slice(2,4),16),_=parseInt(t.slice(4,6),16);return(parseInt(t.slice(6,8),16)<<24|v<<16|p<<8|_)>>>0}return 0}return(n,t)=>{const v=re,p=ne,_=oe,E=ie,z=se,I=Y,O=Z,F=de,R=ae;return y(),N(R,{"label-width":"120px",size:"default",class:"cse-form",model:c.value},{default:l(()=>[a(z,{gutter:16},{default:l(()=>[a(_,{span:8},{default:l(()=>[a(p,{label:"长度 (m)"},{default:l(()=>[a(v,{"model-value":c.value.bodyLengthM,min:.12,max:4,step:.01,precision:2,"onUpdate:modelValue":t[0]||(t[0]=u=>m({bodyLengthM:Number(u??0)}))},null,8,["model-value"])]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"宽度 (m)"},{default:l(()=>[a(v,{"model-value":c.value.bodyWidthM,min:.08,max:3,step:.01,precision:2,"onUpdate:modelValue":t[1]||(t[1]=u=>m({bodyWidthM:Number(u??0)}))},null,8,["model-value"])]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"显示名称"},{default:l(()=>[a(E,{"model-value":c.value.showLabel,"onUpdate:modelValue":t[2]||(t[2]=u=>m({showLabel:!!u}))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),a(z,{gutter:16},{default:l(()=>[a(_,{span:8},{default:l(()=>[a(p,{label:"车体颜色"},{default:l(()=>[a(I,{"model-value":x(c.value.bodyColorArgb),"show-alpha":"","onUpdate:modelValue":t[3]||(t[3]=u=>m({bodyColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",Ne,"#"+w(x(c.value.bodyColorArgb).toUpperCase()),1),t[9]||(t[9]=r("span",{class:"cse-color-hint"},"无报警/上线时生效",-1))]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"描边颜色"},{default:l(()=>[a(I,{"model-value":x(c.value.outlineColorArgb),"show-alpha":"","onUpdate:modelValue":t[4]||(t[4]=u=>m({outlineColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",Ae,"#"+w(x(c.value.outlineColorArgb).toUpperCase()),1)]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"标签颜色"},{default:l(()=>[a(I,{"model-value":x(c.value.labelColorArgb),"show-alpha":"","onUpdate:modelValue":t[5]||(t[5]=u=>m({labelColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",Ie,"#"+w(x(c.value.labelColorArgb).toUpperCase()),1)]),_:1})]),_:1})]),_:1}),a(p,{label:"3D 模型路径"},{default:l(()=>[r("div",Se,[a(F,{"model-value":c.value.modelPath,placeholder:"如 ./models/agv-base.glb(路径仅保存,3D 替换矩形渲染由后续阶段接入)",clearable:"","onUpdate:modelValue":t[6]||(t[6]=u=>m({modelPath:u??""}))},{append:l(()=>[a(O,{onClick:g},{default:l(()=>[...t[10]||(t[10]=[f("浏览…",-1)])]),_:1})]),_:1},8,["model-value"]),r("input",{ref_key:"fileInput",ref:A,type:"file",accept:".glb,.gltf,.obj,.fbx",style:{display:"none"},onChange:j},null,544)]),t[11]||(t[11]=r("p",{class:"cse-model-hint"}," 现版本仅记录文件路径作为元信息。3D 渲染替代矩形将在后续阶段实现(CycleGUI Workspace LoadModel)。 如需上传文件到服务器请先用其它方式将模型放到 SimpleLite 可访问的相对路径。 ",-1))]),_:1}),a(p,null,{default:l(()=>[a(O,{type:"primary",loading:B.saving,onClick:t[7]||(t[7]=u=>n.$emit("save"))},{default:l(()=>[...t[12]||(t[12]=[f("保存此车型",-1)])]),_:1},8,["loading"]),B.hasOverride?(y(),N(O,{key:0,type:"warning",plain:"",onClick:t[8]||(t[8]=u=>n.$emit("reset"))},{default:l(()=>[...t[13]||(t[13]=[f("恢复为默认",-1)])]),_:1})):P("",!0)]),_:1})]),_:1},8,["model"])}}}),Te=G(Ve,[["__scopeId","data-v-3cdad944"]]),xe={class:"cse-root"},Ue={class:"cse-card-header"},we={class:"cse-desc"},he={class:"cse-palette"},ze={class:"cse-palette-label"},Pe={class:"cse-palette-key"},Be={class:"cse-palette-pickers"},Oe={class:"cse-color-code"},De={class:"cse-card-header"},Le={class:"cse-row-title"},Me={class:"cse-row-name"},je={class:"cse-row-fqn"},Fe=W({__name:"CarStyleEditor",setup(B,{expose:k}){const T=$(!1),b=$(!1),c=$(!1),m=$(null),A=$([]),g=K({}),j=$(void 0),x=$([]),h=$([]),n=K({}),t=K({}),v=J(()=>{const s=new Set([...Object.keys(n),...Object.keys(t)]);for(const e of s)if(n[e]!==t[e])return!0;return!1});function p(s){return n[s]??0}function _(s,e){n[s]=e?z(e):0}function E(s){const e=s>>>24&255,i=s>>>16&255,C=s>>>8&255,S=s&255,o=U=>U.toString(16).padStart(2,"0");return`${o(i)}${o(C)}${o(S)}${o(e)}`}function z(s){const e=s.replace(/^#/,"");if(e.length===6){const i=parseInt(e.slice(0,2),16),C=parseInt(e.slice(2,4),16),S=parseInt(e.slice(4,6),16);return(255<<24|i<<16|C<<8|S)>>>0}if(e.length===8){const i=parseInt(e.slice(0,2),16),C=parseInt(e.slice(2,4),16),S=parseInt(e.slice(4,6),16);return(parseInt(e.slice(6,8),16)<<24|i<<16|C<<8|S)>>>0}return 0}async function I(){T.value=!0;try{const s=await L.getCarStyleTypes().catch(o=>(console.warn("[CarStyleEditor] getCarStyleTypes failed:",o),null)),e=await L.getAlarmColors().catch(o=>(console.warn("[CarStyleEditor] getAlarmColors failed:",o),null)),i=Array.isArray(s?.types)?s.types:[];A.value=i;for(const o of i)g[o.typeName]={...o.style};for(const o of Object.keys(g))i.find(U=>U.typeName===o)||delete g[o];const C=Array.isArray(e?.entries)?e.entries:[],S=Array.isArray(e?.defaultKeys)?e.defaultKeys:[];x.value=S,h.value=C;for(const o of Object.keys(n))delete n[o];for(const o of Object.keys(t))delete t[o];for(const o of C){if(!o?.key)continue;const U=Number(o.colorArgb)>>>0;n[o.key]=U,t[o.key]=U}(!s||!e)&&V.warning("车型样式 / 报警颜色加载部分失败,请确认 SimpleLite 已启动(端口 8222)。")}catch(s){V.error(`加载车型样式失败:${s.message}`)}finally{T.value=!1}}async function O(){if(v.value){b.value=!0;try{await L.putAlarmColors({...n}),V.success("调色板已写入并生效"),await I()}catch(s){V.error(`保存调色板失败:${s.message}`)}finally{b.value=!1}}}function F(){c.value=!0;const s={避障:4294940672,运行:4283215696,上线:4280391411,下线:4288585374,导航失联:4288423856,报警:4294198070,低电量:4294951175};for(const e of Object.keys(n))delete n[e];for(const e of Object.keys(s))n[e]=s[e];c.value=!1,V.info("已恢复为 7 种默认颜色,未写入。点「保存调色板」生效。")}async function R(s){const e=g[s.typeName];if(e){m.value=s.typeName;try{const i=await L.putCarStyle(s.typeName,e);g[s.typeName]={...i},s.hasOverride=!0,V.success(`已保存 ${s.label} 车型样式`)}catch(i){V.error(`保存 ${s.label} 失败:${i.message}`)}finally{m.value=null}}}async function u(s){try{await be.confirm(`把 ${s.label} (${s.typeName}) 的样式恢复为全局默认?删除条目后将与未覆盖车型一致。`,"恢复默认",{confirmButtonText:"恢复",cancelButtonText:"取消",type:"warning"})}catch{return}try{await L.deleteCarStyle(s.typeName),V.success(`已恢复 ${s.label} 为默认样式`),await I()}catch(e){V.error(`恢复默认失败:${e.message}`)}}return Q(I),k({refresh:I}),(s,e)=>{const i=me,C=Z,S=Y,o=pe,U=ye,X=ge,ee=fe,te=Ce,le=ce;return ue((y(),M("div",xe,[a(o,{shadow:"never",class:"cse-card"},{header:l(()=>[r("div",Ue,[e[4]||(e[4]=r("span",{class:"cse-card-title"},"报警 / 状态调色板",-1)),a(i,{size:"small",type:"info",effect:"plain"},{default:l(()=>[...e[1]||(e[1]=[f("7 种默认状态",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"cse-card-spacer"},null,-1)),a(C,{size:"small",loading:c.value,onClick:F},{default:l(()=>[...e[2]||(e[2]=[f("恢复默认",-1)])]),_:1},8,["loading"]),a(C,{size:"small",type:"primary",disabled:!v.value,loading:b.value,onClick:O},{default:l(()=>[...e[3]||(e[3]=[f(" 保存调色板(写入 simple.json) ",-1)])]),_:1},8,["disabled","loading"])])]),default:l(()=>[r("p",we,[e[9]||(e[9]=f(" 车体颜色的判定优先级: ",-1)),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[6]||(e[6]=[f("1. AlarmInfo 非空 → 「报警」",-1)])]),_:1}),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[7]||(e[7]=[f("2. lstatus 包含关键字 → 对应键",-1)])]),_:1}),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[8]||(e[8]=[f("3. 兜底 → 上下线默认色",-1)])]),_:1}),e[10]||(e[10]=f(" 修改下方颜色 + 「保存调色板」即时生效。 ",-1))]),r("div",he,[(y(!0),M(H,null,q(h.value,d=>(y(),M("div",{key:d.key,class:"cse-palette-item"},[r("div",ze,[r("span",Pe,w(d.key),1),d.isDefault?P("",!0):(y(),N(i,{key:0,size:"small",type:"warning",effect:"plain"},{default:l(()=>[...e[11]||(e[11]=[f("自定义",-1)])]),_:1}))]),r("div",Be,[a(S,{"model-value":E(p(d.key)),"show-alpha":"",size:"small","onUpdate:modelValue":D=>_(d.key,D)},null,8,["model-value","onUpdate:modelValue"]),r("code",Oe,"#"+w(E(p(d.key)).toUpperCase()),1)])]))),128))])]),_:1}),a(o,{shadow:"never",class:"cse-card cse-types-card"},{header:l(()=>[r("div",De,[e[13]||(e[13]=r("span",{class:"cse-card-title"},"车型样式",-1)),a(i,{size:"small",type:"info",effect:"plain"},{default:l(()=>[f(w(A.value.length)+" 个已加载车型",1)]),_:1}),e[14]||(e[14]=r("span",{class:"cse-card-spacer"},null,-1)),a(C,{size:"small",onClick:I},{default:l(()=>[a(U,null,{default:l(()=>[a(ve(_e))]),_:1}),e[12]||(e[12]=r("span",{class:"cse-btn-text"},"刷新",-1))]),_:1})])]),default:l(()=>[e[17]||(e[17]=r("p",{class:"cse-desc"}," 点击车型行展开编辑:尺寸(米)、车体 / 描边 / 标签颜色、是否显示名称、3D 模型文件路径。 每辆车按 .NET 类型 (`assemblyName::shortName`) 索引样式。修改后点行内「保存」即时写入并生效。 ",-1)),a(ee,{modelValue:j.value,"onUpdate:modelValue":e[0]||(e[0]=d=>j.value=d),accordion:""},{default:l(()=>[(y(!0),M(H,null,q(A.value,d=>(y(),N(X,{key:d.typeName,name:d.typeName},{title:l(()=>[r("div",Le,[r("span",Me,w(d.label),1),r("code",je,w(d.typeName),1),d.hasOverride?(y(),N(i,{key:0,size:"small",type:"success",effect:"plain"},{default:l(()=>[...e[15]||(e[15]=[f("已覆盖",-1)])]),_:1})):(y(),N(i,{key:1,size:"small",type:"info",effect:"plain"},{default:l(()=>[...e[16]||(e[16]=[f("默认",-1)])]),_:1}))])]),default:l(()=>[g[d.typeName]?(y(),N(Te,{key:0,"type-full-name":d.typeName,"model-value":g[d.typeName],"has-override":d.hasOverride,saving:m.value===d.typeName,"onUpdate:modelValue":D=>g[d.typeName]=D,onSave:D=>R(d),onReset:D=>u(d)},null,8,["type-full-name","model-value","has-override","saving","onUpdate:modelValue","onSave","onReset"])):P("",!0)]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]),!T.value&&A.value.length===0?(y(),N(te,{key:0,description:"未发现任何 Car 子类(请确认 SimpleLite 已加载相应插件 dll)"})):P("",!0)]),_:1})])),[[le,T.value]])}}}),Re=G(Fe,[["__scopeId","data-v-3af8f925"]]),Ke={class:"car-page"},We=W({__name:"CarPanelView",setup(B){const k=$("list");function T(b){k.value=b,sessionStorage.setItem("admin.cars.tab",k.value)}return Q(()=>{const b=sessionStorage.getItem("admin.cars.tab");(b==="list"||b==="style")&&(k.value=b)}),(b,c)=>{const m=Ee,A=ke;return y(),M("div",Ke,[a(A,{modelValue:k.value,"onUpdate:modelValue":c[0]||(c[0]=g=>k.value=g),type:"border-card",class:"car-tabs admin-tabs",onTabChange:T},{default:l(()=>[a(m,{label:"车辆列表",name:"list"},{default:l(()=>[k.value==="list"?(y(),N($e,{key:0,kind:"car","kind-label":"车辆",title:"车辆管理(Car / AbstractCar,含模拟车、插件车型 reflectionApi 实例化)","empty-text":"当前没有车辆;点击右上角「新建车辆」从已加载的 CarType 中选一个实例化。"})):P("",!0)]),_:1}),a(m,{label:"车型样式 / 报警颜色",name:"style"},{default:l(()=>[k.value==="style"?(y(),N(Re,{key:0})):P("",!0)]),_:1})]),_:1},8,["modelValue"])])}}}),kt=G(We,[["__scopeId","data-v-c3733824"]]);export{kt as default}; diff --git a/MiGu.Server/wwwroot/assets/CarPanelView-CYaApbj9.css b/MiGu.Server/wwwroot/assets/CarPanelView-CYaApbj9.css new file mode 100644 index 0000000..316aee8 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/CarPanelView-CYaApbj9.css @@ -0,0 +1 @@ +.cse-form[data-v-3cdad944]{padding:8px 4px}.cse-color-code[data-v-3cdad944]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-color-hint[data-v-3cdad944]{font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-model-row[data-v-3cdad944]{display:flex;align-items:center;gap:8px;width:100%}.cse-model-hint[data-v-3cdad944]{margin:6px 0 0;font-size:12px;color:var(--el-text-color-secondary);line-height:1.55}.cse-root[data-v-3af8f925]{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px;box-sizing:border-box;overflow:auto}.cse-card[data-v-3af8f925] .el-card__body{padding:12px 16px}.cse-card-header[data-v-3af8f925]{display:flex;align-items:center;gap:10px}.cse-card-title[data-v-3af8f925]{font-weight:600}.cse-card-spacer[data-v-3af8f925]{flex:1}.cse-desc[data-v-3af8f925]{margin:0 0 12px;color:var(--el-text-color-primary);font-size:13px;line-height:1.65;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cse-palette[data-v-3af8f925]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cse-palette-item[data-v-3af8f925]{border:1px solid var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cse-palette-label[data-v-3af8f925]{display:flex;align-items:center;gap:6px}.cse-palette-key[data-v-3af8f925]{font-weight:600;color:var(--el-text-color-primary)}.cse-palette-pickers[data-v-3af8f925]{display:flex;align-items:center;gap:8px}.cse-color-code[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary)}.cse-types-card[data-v-3af8f925]{flex:1}.cse-row-title[data-v-3af8f925]{display:flex;align-items:center;gap:8px;width:100%}.cse-row-name[data-v-3af8f925]{font-weight:600}.cse-row-fqn[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);flex:1;text-align:left;word-break:break-all}.cse-btn-text[data-v-3af8f925]{margin-left:4px}.car-page[data-v-c3733824]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.car-tabs[data-v-c3733824]{flex:1;display:flex;flex-direction:column;overflow:hidden}.car-tabs[data-v-c3733824] .el-tabs__content{flex:1;overflow:hidden;padding:0}.car-tabs[data-v-c3733824] .el-tab-pane{height:100%;overflow:hidden} diff --git a/MiGu.Server/wwwroot/assets/ChargePolicyView-BxJAPKKv.js b/MiGu.Server/wwwroot/assets/ChargePolicyView-BxJAPKKv.js new file mode 100644 index 0000000..127822e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ChargePolicyView-BxJAPKKv.js @@ -0,0 +1 @@ +import{aG as s,aA as c,bB as t,bm as d,a as u,b3 as f,aF as e,P as b,a8 as h,T as C,aa as g,ab as w,O as E}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as T}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const q=s({__name:"ChargePolicyView",setup(V){return(x,A)=>{const i=h,l=b,n=C,a=w,p=g,_=E;return f(),c(T,{section:"charge",title:"充电逻辑",description:"充电优先级、空闲充电、任务中断充电(ChargePolicy)",defaults:d(u)},{default:t(({payload:o,update:r})=>[e(_,{"label-width":"180px",model:o},{default:t(()=>[e(l,{label:"允许任务中断充电"},{default:t(()=>[e(i,{"model-value":o.allowMidTaskCharge,"onUpdate:modelValue":m=>r({...o,allowMidTaskCharge:!!m})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(l,{label:"空闲多少秒后充电"},{default:t(()=>[e(n,{"model-value":o.idleChargeAfterSec,min:0,max:86400,"onUpdate:modelValue":m=>r({...o,idleChargeAfterSec:m??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(l,{label:"充电优先级规则"},{default:t(()=>[e(p,{data:o.priority,size:"small"},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"条件",prop:"condition"}),e(a,{label:"权重",prop:"weight",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{q as default}; diff --git a/MiGu.Server/wwwroot/assets/ConfigPageBase-C8mupMSy.css b/MiGu.Server/wwwroot/assets/ConfigPageBase-C8mupMSy.css new file mode 100644 index 0000000..95c4133 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ConfigPageBase-C8mupMSy.css @@ -0,0 +1 @@ +.cpb-header[data-v-83b90685]{display:flex;align-items:center;gap:8px}.cpb-title[data-v-83b90685]{font-weight:600;font-size:15px;color:#fff}.cpb-header .spacer[data-v-83b90685]{flex:1}.cpb-desc[data-v-83b90685]{color:#e8d7f5b3;font-size:12.5px;margin:0 0 14px;line-height:1.6}.cpb-body[data-v-83b90685]{margin-top:4px}.cpb-json[data-v-83b90685]{margin:0;padding:14px;font-size:12px;line-height:1.55;font-family:ui-monospace,Menlo,Consolas,monospace;background:#0f04208c;color:#d6c5ee;max-height:520px;overflow:auto} diff --git a/MiGu.Server/wwwroot/assets/ConfigPageBase-CPF7i-FB.js b/MiGu.Server/wwwroot/assets/ConfigPageBase-CPF7i-FB.js new file mode 100644 index 0000000..7a22f2f --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ConfigPageBase-CPF7i-FB.js @@ -0,0 +1 @@ +import{aQ as T,f as J,aH as K,aG as L,bb as g,bA as R,b1 as V,aA as O,bB as i,b3 as k,aF as c,aC as j,bj as u,aB as w,az as p,a2 as D,x as G,u as I,be as H,aE as f,ad as Q,s as U,bm as z,bc as W,as as Y,av as E,Y as y,al as q}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as X}from"./PermissionGuard-BxagL6-4.js";import{r as C,a as Z}from"./reflection-Dr3WM5Rz.js";async function tt(t){const{data:e}=await T.get(`/config/${t}`);return e}async function et(t,e){const{data:a}=await T.put(`/config/${t}`,e);return a}function S(){return JSON.parse(JSON.stringify(J.monitor))}function h(t){const e=JSON.parse(JSON.stringify(J));if(!t)return e;const a={...S(),...t.monitor??{},car:{...S().car,...t.monitor?.car??{}},site:{...S().site,...t.monitor?.site??{}},track:{...S().track,...t.monitor?.track??{}},carActionByType:{...t.monitor?.carActionByType??{}}};return{...e,...t,playback:{...e.playback,...t.playback??{}},logRetention:{...e.logRetention,...t.logRetention??{}},version:{...e.version,...t.version??{}},monitor:a}}function at(t){return{carActionByType:{...t.carActionByType??{}},siteActionKeys:[...t.site?.methods??[]],trackActionKeys:[...t.track?.methods??[]]}}async function ht(t){const e=h(t);try{const a=await C.getMonitorConfig(),r=at(a.config);e.monitor.carActionByType=r.carActionByType,e.monitor.site.actionKeys=r.siteActionKeys,e.monitor.track.actionKeys=r.trackActionKeys}catch{}return e}async function bt(t){const e=h(t).monitor;let a=Z();try{a=(await C.getMonitorConfig()).config}catch{}await C.saveMonitorConfig({car:{fields:[...a.car?.fields??[]],status:[...a.car?.status??[]],methods:[...a.car?.methods??[]]},site:{fields:[...a.site?.fields??[]],status:[...a.site?.status??[]],methods:[...e.site.actionKeys]},track:{fields:[...a.track?.fields??[]],status:[...a.track?.status??[]],methods:[...e.track.actionKeys]},carActionByType:{...e.carActionByType}})}const ot=K("config",{state:()=>({cache:{},loading:{}}),actions:{async load(t,e=!1){if(!e&&this.cache[t])return this.cache[t];this.loading[t]=!0;try{const a=await tt(t);return t==="ops"&&a.payload&&(a.payload=h(a.payload)),this.cache[t]=a,a}finally{this.loading[t]=!1}},async save(t,e){this.loading[t]=!0;try{const a=t==="ops"?h(e):e,r=await et(t,a);return this.cache[t]=r,r}finally{this.loading[t]=!1}}}}),nt={class:"cpb-header"},st={class:"cpb-title"},it={key:0,class:"cpb-desc"},rt={class:"cpb-body"},ct={class:"cpb-json"},lt=L({__name:"ConfigPageBase",props:{section:{},title:{},description:{},defaults:{},normalizePayload:{type:Function},afterLoad:{type:Function},beforeSave:{type:Function},afterSave:{type:Function}},setup(t){const e=t,a=ot(),r=g(null),l=g(JSON.parse(JSON.stringify(e.defaults))),b=g(!1),m=g(!1),P=E(()=>JSON.stringify(l.value,null,2)),M=E(()=>r.value?.updatedAt?new Date(r.value.updatedAt).toLocaleString("zh-CN"):"—");function A(s){l.value=s}function $(s){let o=JSON.parse(JSON.stringify(s||e.defaults));e.normalizePayload&&(o=e.normalizePayload(o)),l.value=o}async function B(s,o){b.value=!0;try{const n=await a.load(e.section,s);r.value=n,$(n.payload),e.afterLoad&&await e.afterLoad(l.value,A),o&&y.success("已重载")}catch(n){y.error(`加载失败:${n instanceof Error?n.message:String(n)}`)}finally{b.value=!1}}async function _(s=!1){await B(s,s)}async function x(){m.value=!0;let s=l.value;if(e.normalizePayload&&(s=e.normalizePayload(s)),e.beforeSave)try{await e.beforeSave(s)}catch(n){y.error(`地图监控配置保存失败:${n instanceof Error?n.message:String(n)}`),m.value=!1;return}let o="";try{const n=await a.save(e.section,s);if(r.value=n,l.value=s,e.afterSave)try{await e.afterSave(s)}catch(d){o=`(平台配置已保存,但 SimpleLite 同步失败:${d instanceof Error?d.message:String(d)})`}await B(!0,!1);const v=e.beforeSave||e.afterSave?",地图监控配置已写入 SimpleLite":"";y.success(`已保存 v${n.version}${v}${o}`)}catch(n){y.error(`保存失败:${n instanceof Error?n.message:String(n)}`)}finally{m.value=!1}}return R(()=>e.section,()=>_()),V(()=>_()),(s,o)=>{const n=Q,v=U,d=I,N=G,F=D;return k(),O(X,{"widget-id":"ConfigCenter"},{default:i(()=>[c(d,{shadow:"never"},{header:i(()=>[p("div",nt,[p("span",st,u(t.title),1),c(n,{size:"small",effect:"plain"},{default:i(()=>[f("section="+u(t.section),1)]),_:1}),c(n,{size:"small",type:"info",effect:"plain"},{default:i(()=>[f("v"+u(r.value?.version??"-"),1)]),_:1}),r.value?.updatedAt?(k(),O(n,{key:0,size:"small",type:"success",effect:"plain"},{default:i(()=>[f(u(M.value),1)]),_:1})):w("",!0),o[3]||(o[3]=p("div",{class:"spacer"},null,-1)),c(v,{size:"small",icon:z(W),loading:b.value,onClick:o[0]||(o[0]=dt=>_(!0))},{default:i(()=>[...o[1]||(o[1]=[f("重载",-1)])]),_:1},8,["icon","loading"]),c(v,{size:"small",type:"primary",icon:z(Y),loading:m.value,onClick:x},{default:i(()=>[...o[2]||(o[2]=[f("保存",-1)])]),_:1},8,["icon","loading"])])]),default:i(()=>[t.description?(k(),j("p",it,u(t.description),1)):w("",!0),p("div",rt,[c(F,{gutter:12},{default:i(()=>[c(N,{span:14},{default:i(()=>[c(d,{shadow:"never","body-style":"padding: 12px"},{header:i(()=>[...o[4]||(o[4]=[f("表单",-1)])]),default:i(()=>[H(s.$slots,"default",{payload:l.value,update:A},void 0,!0)]),_:3})]),_:3}),c(N,{span:10},{default:i(()=>[c(d,{shadow:"never","body-style":"padding: 0"},{header:i(()=>[...o[5]||(o[5]=[f("JSON 预览(保存即下发占位)",-1)])]),default:i(()=>[p("pre",ct,u(P.value),1)]),_:1})]),_:1})]),_:3})])]),_:3})]),_:3})}}}),_t=q(lt,[["__scopeId","data-v-83b90685"]]);export{_t as C,ht as l,h as n,bt as s}; diff --git a/MiGu.Server/wwwroot/assets/CustomWidgetView-C3i7AzNk.js b/MiGu.Server/wwwroot/assets/CustomWidgetView-C3i7AzNk.js new file mode 100644 index 0000000..8817841 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/CustomWidgetView-C3i7AzNk.js @@ -0,0 +1 @@ +import{aG as _,aA as i,bB as e,bm as d,m as u,b3 as s,aF as a,ab as f,az as n,bj as r,aC as b,bd as g,ad as h,aE as w,ai as C,aa as E,al as T}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as y}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const B={class:"js-mini"},x={class:"js-mini"},S=_({__name:"CustomWidgetView",setup(V){return(k,D)=>{const t=f,m=h,p=E;return s(),i(y,{section:"widget",title:"自定义控件",description:"呼叫/展示界面可自由定义(platform-vue + rcsmonitor-vue 双渲染器)",defaults:d(u)},{default:e(({payload:c})=>[a(p,{data:c.items,size:"small",border:""},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"180"}),a(t,{label:"名称",prop:"name",width:"140"}),a(t,{label:"Schema",prop:"schemaJson"},{default:e(o=>[n("pre",B,r(o.row.schemaJson),1)]),_:1}),a(t,{label:"Layout",prop:"layoutJson"},{default:e(o=>[n("pre",x,r(o.row.layoutJson),1)]),_:1}),a(t,{label:"绑定 Scope"},{default:e(o=>[(s(!0),b(C,null,g(o.row.bindToScopes,l=>(s(),i(m,{key:l,size:"small",effect:"plain",style:{"margin-right":"4px"}},{default:e(()=>[w(r(l),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["data"])]),_:1},8,["defaults"])}}}),H=T(S,[["__scopeId","data-v-96b90481"]]);export{H as default}; diff --git a/MiGu.Server/wwwroot/assets/CustomWidgetView-Ch0BQYzJ.css b/MiGu.Server/wwwroot/assets/CustomWidgetView-Ch0BQYzJ.css new file mode 100644 index 0000000..b6fdac3 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/CustomWidgetView-Ch0BQYzJ.css @@ -0,0 +1 @@ +.js-mini[data-v-96b90481]{margin:0;font-size:11px;background:#f5f7fa;padding:4px 6px;border-radius:4px;max-height:60px;overflow:auto} diff --git a/MiGu.Server/wwwroot/assets/DashboardView-CtpjnvW0.css b/MiGu.Server/wwwroot/assets/DashboardView-CtpjnvW0.css new file mode 100644 index 0000000..e80f767 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/DashboardView-CtpjnvW0.css @@ -0,0 +1 @@ +.dashboard[data-v-1cbc77d6]{padding:0;display:flex;flex-direction:column;gap:18px}.hero-banner[data-v-1cbc77d6]{position:relative;display:grid;grid-template-columns:1fr 480px;gap:24px;padding:28px 32px 22px;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 0% 0%,rgba(var(--mg-primary-hover-rgb),.5) 0%,transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(var(--mg-accent-rgb),.45) 0%,transparent 55%),linear-gradient(135deg,var(--mg-bg-aside-1) 0%,var(--mg-bg-aside-2) 100%);border:1px solid rgba(var(--mg-accent-rgb),.3);box-shadow:0 18px 44px #0006,0 0 0 1px #ffffff0f inset,0 1px #ffffff2e inset;color:#fff}.hero-banner[data-v-1cbc77d6]:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.8) 50%,transparent 100%);pointer-events:none;z-index:2}.hero-bg[data-v-1cbc77d6]{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:18px}.hero-orb[data-v-1cbc77d6]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:hero-drift-1cbc77d6 18s ease-in-out infinite}.hero-orb-a[data-v-1cbc77d6]{width:360px;height:360px;top:-120px;left:10%;background:radial-gradient(circle,rgba(var(--mg-accent-rgb),.85) 0%,rgba(var(--mg-primary-rgb),.85) 55%,transparent 85%)}.hero-orb-b[data-v-1cbc77d6]{width:320px;height:320px;bottom:-120px;right:22%;background:radial-gradient(circle,rgba(var(--mg-primary-hover-rgb),.8) 0%,rgba(var(--mg-primary-rgb),.55) 55%,transparent 85%);animation-delay:-7s;opacity:.5}.hero-grid[data-v-1cbc77d6]{position:absolute;inset:0;background-image:linear-gradient(rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);opacity:.55}@keyframes hero-drift-1cbc77d6{0%,to{transform:translate(0) scale(1)}50%{transform:translate(24px,-28px) scale(1.06)}}.hero-left[data-v-1cbc77d6],.hero-right[data-v-1cbc77d6]{position:relative;z-index:1}.hero-tag[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;background:#ffffff1f;border:1px solid rgba(var(--mg-accent-rgb),.55);border-radius:999px;color:#fff;font-size:12px;letter-spacing:1.5px;width:max-content;box-shadow:0 0 12px rgba(var(--mg-primary-rgb),.3)}.tag-dot[data-v-1cbc77d6]{width:6px;height:6px;border-radius:50%;background:var(--mg-accent);box-shadow:0 0 10px var(--mg-accent);animation:tag-pulse-1cbc77d6 1.6s ease-in-out infinite}@keyframes tag-pulse-1cbc77d6{0%,to{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.hero-title[data-v-1cbc77d6]{margin:14px 0 8px;font-size:40px;font-weight:700;letter-spacing:5px;line-height:1.1;color:#fff;background:linear-gradient(135deg,#ffffff 0%,var(--mg-accent) 50%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 20px rgba(var(--mg-primary-rgb),.6);filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.hero-desc[data-v-1cbc77d6]{margin:0 0 22px;color:#ffffffd9;font-size:13px;letter-spacing:.8px}.quick-grid[data-v-1cbc77d6]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 18px;max-width:540px}.quick-item[data-v-1cbc77d6]{appearance:none;background:#ffffff14;border:1px solid rgba(var(--mg-accent-rgb),.35);border-radius:14px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:#fff;transition:all .25s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;animation:quick-in-1cbc77d6 .5s ease-out backwards;box-shadow:0 4px 12px #00000040,0 0 0 1px #ffffff0f inset}@keyframes quick-in-1cbc77d6{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quick-item[data-v-1cbc77d6]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(var(--mg-accent-rgb),.15) 100%);opacity:0;transition:opacity .25s}.quick-item[data-v-1cbc77d6]:hover{border-color:rgba(var(--mg-accent-rgb),.75);background:#ffffff24;color:#fff;transform:translateY(-3px);box-shadow:0 12px 28px rgba(var(--mg-primary-rgb),.45),0 0 22px rgba(var(--mg-accent-rgb),.4)}.quick-item[data-v-1cbc77d6]:hover:before{opacity:1}.quick-icon[data-v-1cbc77d6]{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(var(--mg-primary-hover-rgb),.6),rgba(var(--mg-primary-rgb),.45));border:1px solid rgba(var(--mg-accent-rgb),.55);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 16px rgba(var(--mg-primary-rgb),.4),0 0 0 1px #ffffff2e inset;transition:all .25s}.quick-item:hover .quick-icon[data-v-1cbc77d6]{background:linear-gradient(135deg,var(--mg-primary-hover) 0%,var(--mg-primary) 100%);box-shadow:0 10px 24px rgba(var(--mg-primary-rgb),.6),0 0 24px rgba(var(--mg-accent-rgb),.6),0 0 0 1px #ffffff59 inset}.quick-label[data-v-1cbc77d6]{font-size:13px;font-weight:500;letter-spacing:1.2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.quick-item.primary[data-v-1cbc77d6]{border-color:rgba(var(--mg-accent-rgb),.75);background:linear-gradient(135deg,rgba(var(--mg-primary-hover-rgb),.45),rgba(var(--mg-primary-rgb),.25));box-shadow:0 8px 22px rgba(var(--mg-primary-rgb),.45),0 0 0 1px rgba(var(--mg-accent-rgb),.45) inset}.quick-item.primary .quick-icon[data-v-1cbc77d6]{background:linear-gradient(135deg,var(--mg-accent) 0%,var(--mg-primary-hover) 60%,var(--mg-primary) 100%);box-shadow:0 8px 20px rgba(var(--mg-primary-rgb),.55),0 0 28px rgba(var(--mg-accent-rgb),.55),0 0 0 1px #ffffff4d inset;animation:mg-pulse-glow 3.6s ease-in-out infinite}.hero-right[data-v-1cbc77d6]{position:relative;align-self:stretch;min-height:280px;display:flex;align-items:center;justify-content:center}.hero-glow[data-v-1cbc77d6]{position:absolute;inset:10% 5%;background:radial-gradient(ellipse at 30% 40%,rgba(var(--mg-primary-hover-rgb),.55) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(var(--mg-accent-rgb),.3) 0%,transparent 65%);filter:blur(36px);pointer-events:none}.hero-scene[data-v-1cbc77d6]{position:relative;width:100%;height:auto;max-height:320px;filter:drop-shadow(0 12px 32px rgba(var(--mg-primary-rgb),.45))}.hero-scene .agv-1[data-v-1cbc77d6]{animation:agv-roll-1cbc77d6 6s ease-in-out infinite}.hero-scene .agv-2[data-v-1cbc77d6]{animation:agv-roll-1cbc77d6 8s ease-in-out infinite reverse}.hero-scene .float-data[data-v-1cbc77d6]{animation:float-bob-1cbc77d6 4.5s ease-in-out infinite}.hero-scene .float-data[data-v-1cbc77d6]:nth-child(odd){animation-delay:-2.2s}@keyframes agv-roll-1cbc77d6{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}@keyframes float-bob-1cbc77d6{0%,to{transform:translate(360px,110px)}50%{transform:translate(360px,100px)}}.status-bar[data-v-1cbc77d6]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;border-radius:12px;background:linear-gradient(135deg,#fff,#fbf9ff);border:1px solid #d8d0e8;border-left:3px solid #7c3aed;box-shadow:0 1px 3px #2d1b690f,0 4px 14px #7c3aed14;color:#1a0f3d;font-size:13px}.status-left[data-v-1cbc77d6],.status-right[data-v-1cbc77d6]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.status-conn[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#c4b5fd;border:1px solid #8b6ff0;font-weight:600;letter-spacing:.4px;font-size:12px;box-shadow:inset 0 1px #ffffff8c,0 1px 3px #7c3aed26}.status-conn.success[data-v-1cbc77d6]{color:var(--mg-status-success);background:rgba(var(--mg-status-success-rgb),.32);border-color:rgba(var(--mg-status-success-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-success-rgb),.25)}.status-conn.warning[data-v-1cbc77d6]{color:var(--mg-status-warning);background:rgba(var(--mg-status-warning-rgb),.32);border-color:rgba(var(--mg-status-warning-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-warning-rgb),.25)}.status-conn.danger[data-v-1cbc77d6]{color:var(--mg-status-danger);background:rgba(var(--mg-status-danger-rgb),.32);border-color:rgba(var(--mg-status-danger-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-danger-rgb),.25)}.status-divider[data-v-1cbc77d6]{width:1px;height:14px;background:#a78bfa}.status-stat[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#c8b8f5;border:1px solid #9d86e6;letter-spacing:.4px;box-shadow:inset 0 1px #ffffff8c,0 1px 3px #7c3aed1f}.status-stat-label[data-v-1cbc77d6]{color:#4a3a6d;font-size:12px;font-weight:600}.status-stat-value[data-v-1cbc77d6]{color:#1f0d54;font-weight:700;font-size:14px}.status-stat-value.is-danger[data-v-1cbc77d6]{color:var(--mg-status-danger)}.status-stat-total[data-v-1cbc77d6]{font-size:12px;color:#9b8eb8;font-weight:500}.bento-grid[data-v-1cbc77d6]{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(0,auto);gap:16px}.bento[data-v-1cbc77d6]{position:relative;border-radius:14px;background:#fff;border:1px solid #e8e1f0;box-shadow:0 1px 3px #2d1b690a,0 4px 12px #7c3aed0a;color:#2d1b69;transition:transform .25s cubic-bezier(.25,.8,.25,1),box-shadow .25s,border-color .25s;overflow:hidden}.bento[data-v-1cbc77d6]:hover{transform:translateY(-2px);border-color:#c4b5fd;box-shadow:0 4px 12px #2d1b6914,0 12px 28px #7c3aed1f}.bento[data-v-1cbc77d6] .el-card{background:transparent!important;border:none!important;box-shadow:none!important;color:inherit;height:100%}.bento[data-v-1cbc77d6] .el-card__header{background:transparent!important;border-bottom:1px solid #f0eaf6!important;padding:14px 18px}.bento[data-v-1cbc77d6] .el-card__body{padding:16px 18px}.card-head[data-v-1cbc77d6]{display:flex;align-items:center;justify-content:space-between}.card-title[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:8px;color:#2d1b69;font-size:14px;font-weight:600;letter-spacing:.4px}.card-title .el-icon[data-v-1cbc77d6]{color:#7c3aed}.card-tip[data-v-1cbc77d6]{font-size:12px;color:#6b5b8e;letter-spacing:.3px;font-weight:500}.more-link[data-v-1cbc77d6]{color:#6b5b8e!important;font-size:12.5px}.more-link[data-v-1cbc77d6]:hover{color:#7c3aed!important}.bento-kpi[data-v-1cbc77d6]{grid-column:span 2;padding:16px 18px 14px;display:flex;flex-direction:column;justify-content:space-between;min-height:116px}.kpi-accent[data-v-1cbc77d6]{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--mg-primary-hover),var(--mg-accent) 50%,transparent);opacity:.85}.kpi-accent.tone-info[data-v-1cbc77d6]{background:linear-gradient(90deg,var(--mg-status-info),rgba(var(--mg-status-info-rgb),.2) 80%,transparent)}.kpi-accent.tone-success[data-v-1cbc77d6]{background:linear-gradient(90deg,var(--mg-status-success),rgba(var(--mg-status-success-rgb),.2) 80%,transparent)}.kpi-accent.tone-warning[data-v-1cbc77d6]{background:linear-gradient(90deg,var(--mg-status-warning),rgba(var(--mg-status-warning-rgb),.2) 80%,transparent)}.kpi-accent.tone-danger[data-v-1cbc77d6]{background:linear-gradient(90deg,var(--mg-status-danger),rgba(var(--mg-status-danger-rgb),.2) 80%,transparent)}.kpi-accent.tone-idle[data-v-1cbc77d6]{background:linear-gradient(90deg,var(--mg-status-idle),rgba(var(--mg-status-idle-rgb),.2) 80%,transparent)}.kpi-body[data-v-1cbc77d6]{display:flex;flex-direction:column;gap:6px;z-index:1}.kpi-row1[data-v-1cbc77d6]{display:flex;align-items:center;gap:8px}.kpi-icon-sm[data-v-1cbc77d6]{color:var(--mg-text-muted)}.kpi-icon-sm.tone-info[data-v-1cbc77d6]{color:var(--mg-status-info)}.kpi-icon-sm.tone-success[data-v-1cbc77d6]{color:var(--mg-status-success)}.kpi-icon-sm.tone-warning[data-v-1cbc77d6]{color:var(--mg-status-warning)}.kpi-icon-sm.tone-danger[data-v-1cbc77d6]{color:var(--mg-status-danger)}.kpi-icon-sm.tone-idle[data-v-1cbc77d6]{color:var(--mg-status-idle)}.kpi-label[data-v-1cbc77d6]{font-size:12px;color:#6b5b8e;letter-spacing:.5px;font-weight:500}.kpi-row2[data-v-1cbc77d6]{display:flex;align-items:baseline;gap:8px}.kpi-value[data-v-1cbc77d6]{font-size:30px;font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.5px}.kpi-trend[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:2px 6px;border-radius:999px}.kpi-trend.trend-up[data-v-1cbc77d6]{background:rgba(var(--mg-status-success-rgb),.16);color:var(--mg-status-success)}.kpi-trend.trend-down[data-v-1cbc77d6]{background:rgba(var(--mg-status-danger-rgb),.16);color:var(--mg-status-danger)}.kpi-trend.trend-flat[data-v-1cbc77d6]{background:rgba(var(--mg-status-idle-rgb),.16);color:var(--mg-status-idle)}.kpi-trend-text[data-v-1cbc77d6]{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.kpi-spark[data-v-1cbc77d6]{position:absolute;left:0;right:0;bottom:0;height:32px;width:100%;pointer-events:none;opacity:.65}.bento-trend[data-v-1cbc77d6]{grid-column:span 8;min-height:280px;display:flex;flex-direction:column}.bento-trend[data-v-1cbc77d6] .el-card{display:flex;flex-direction:column}.bento-trend[data-v-1cbc77d6] .el-card__body{flex:1;display:flex;padding:14px 18px 18px}.trend-chart[data-v-1cbc77d6]{flex:1;width:100%;height:100%;min-height:220px}.bento-agv[data-v-1cbc77d6]{grid-column:span 4;min-height:280px}.bento-agv[data-v-1cbc77d6] .el-card__body{padding:14px 16px 18px}.mock-tag[data-v-1cbc77d6]{display:inline-block;margin-left:6px;padding:1px 6px;background:#f0eaf6;color:#7c3aed;border-radius:4px;font-size:10.5px;font-weight:600;letter-spacing:.3px;vertical-align:1px}.agv-row[data-v-1cbc77d6]{display:flex;align-items:center;gap:8px;min-height:220px}.agv-chart-wrap[data-v-1cbc77d6]{position:relative;width:170px;height:200px;flex-shrink:0}.agv-chart[data-v-1cbc77d6]{width:100%;height:100%}.agv-center[data-v-1cbc77d6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.agv-center-value[data-v-1cbc77d6]{font-size:28px;font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.5px}.agv-center-label[data-v-1cbc77d6]{font-size:11px;color:#6b5b8e;font-weight:500;letter-spacing:.5px;margin-top:2px}.agv-legend[data-v-1cbc77d6]{flex:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.agv-legend li[data-v-1cbc77d6]{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;font-size:12.5px;color:#3d2b6e;padding:5px 8px;border-radius:6px;transition:background .2s}.agv-legend li[data-v-1cbc77d6]:hover{background:#f5f3ff}.agv-legend .legend-name[data-v-1cbc77d6]{color:#4a3d6e;font-weight:500}.agv-legend .legend-value[data-v-1cbc77d6]{font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:18px}.agv-legend .legend-pct[data-v-1cbc77d6]{font-size:11px;color:#9b8eb8;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:32px}.agv-legend .dot[data-v-1cbc77d6]{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #0000000d}.bento-ratio[data-v-1cbc77d6]{grid-column:span 7}.ratio-track[data-v-1cbc77d6]{display:flex;width:100%;height:32px;border-radius:999px;overflow:hidden;background:#f0eaf6;border:1px solid #e8e1f0;margin-bottom:14px;box-shadow:inset 0 1px 2px #2d1b690a}.ratio-seg[data-v-1cbc77d6]{display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:.4px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:default;position:relative;transition:filter .2s}.ratio-seg[data-v-1cbc77d6]:hover{filter:brightness(1.1)}.ratio-seg.tone-info[data-v-1cbc77d6]{background:linear-gradient(180deg,var(--mg-status-info),rgba(var(--mg-status-info-rgb),.92))}.ratio-seg.tone-success[data-v-1cbc77d6]{background:linear-gradient(180deg,var(--mg-status-success),rgba(var(--mg-status-success-rgb),.92))}.ratio-seg.tone-warning[data-v-1cbc77d6]{background:linear-gradient(180deg,var(--mg-status-warning),rgba(var(--mg-status-warning-rgb),.92))}.ratio-seg.tone-idle[data-v-1cbc77d6]{background:linear-gradient(180deg,var(--mg-status-idle),rgba(var(--mg-status-idle-rgb),.92))}.ratio-seg-pct[data-v-1cbc77d6]{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.ratio-legend[data-v-1cbc77d6]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 18px}.ratio-legend li[data-v-1cbc77d6]{display:flex;align-items:center;gap:8px;font-size:13px;color:#3d2b6e}.ratio-legend .dot[data-v-1cbc77d6]{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fffffff2}.ratio-legend .dot.tone-info[data-v-1cbc77d6]{background:var(--mg-status-info)}.ratio-legend .dot.tone-success[data-v-1cbc77d6]{background:var(--mg-status-success)}.ratio-legend .dot.tone-warning[data-v-1cbc77d6]{background:var(--mg-status-warning)}.ratio-legend .dot.tone-idle[data-v-1cbc77d6]{background:var(--mg-status-idle)}.ratio-legend .legend-name[data-v-1cbc77d6]{flex:1;color:#6b5b8e;font-weight:500}.ratio-legend .legend-value[data-v-1cbc77d6]{font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.bento-todo[data-v-1cbc77d6]{grid-column:span 5}.bento-todo[data-v-1cbc77d6] .el-card__body{padding-top:8px}.todo-tabs[data-v-1cbc77d6] .el-tabs__header{margin-bottom:8px}.todo-tabs[data-v-1cbc77d6] .el-tabs__nav-wrap:after{display:none}.todo-tabs[data-v-1cbc77d6] .el-tabs__item{color:#6b5b8e!important;font-weight:500}.todo-tabs[data-v-1cbc77d6] .el-tabs__item:hover{color:#7c3aed!important}.todo-tabs[data-v-1cbc77d6] .el-tabs__item.is-active{color:#7c3aed!important;font-weight:700}.todo-tabs[data-v-1cbc77d6] .el-tabs__active-bar{background-color:#7c3aed!important;height:3px!important;border-radius:2px}.tab-label[data-v-1cbc77d6]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.tab-count[data-v-1cbc77d6]{display:inline-flex;align-items:center;justify-content:center;font-style:normal;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.tab-count.danger[data-v-1cbc77d6]{background:rgba(var(--mg-status-danger-rgb),.18);color:var(--mg-status-danger);border:1px solid rgba(var(--mg-status-danger-rgb),.4)}.tab-count.warning[data-v-1cbc77d6]{background:rgba(var(--mg-status-warning-rgb),.18);color:var(--mg-status-warning);border:1px solid rgba(var(--mg-status-warning-rgb),.4)}.tab-count.info[data-v-1cbc77d6]{background:rgba(var(--mg-status-info-rgb),.18);color:var(--mg-status-info);border:1px solid rgba(var(--mg-status-info-rgb),.4)}.tab-count.success[data-v-1cbc77d6]{background:rgba(var(--mg-status-success-rgb),.18);color:var(--mg-status-success);border:1px solid rgba(var(--mg-status-success-rgb),.4)}.empty-pane[data-v-1cbc77d6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 12px;color:#6b5b8e;font-size:13px}.empty-pane p[data-v-1cbc77d6]{margin:6px 0 0;font-weight:500}.todo-list[data-v-1cbc77d6]{list-style:none;padding:0 4px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.todo-list li[data-v-1cbc77d6]{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:10px 12px;background:#faf7fd;border:1px solid #f0eaf6;border-radius:10px;font-size:13px;color:#2d1b69;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.todo-list li[data-v-1cbc77d6]:hover{background:#f5f3ff;border-color:#c4b5fd;transform:translate(2px);box-shadow:0 2px 6px #7c3aed14}.todo-text[data-v-1cbc77d6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todo-pill[data-v-1cbc77d6]{text-align:center;font-size:11px;padding:3px 8px;border-radius:999px;letter-spacing:.4px;font-weight:700}.todo-pill.danger[data-v-1cbc77d6]{background:rgba(var(--mg-status-danger-rgb),.1);color:var(--mg-status-danger);border:1px solid rgba(var(--mg-status-danger-rgb),.32)}.todo-pill.warning[data-v-1cbc77d6]{background:rgba(var(--mg-status-warning-rgb),.1);color:var(--mg-status-warning);border:1px solid rgba(var(--mg-status-warning-rgb),.32)}.todo-pill.info[data-v-1cbc77d6]{background:rgba(var(--mg-status-info-rgb),.1);color:var(--mg-status-info);border:1px solid rgba(var(--mg-status-info-rgb),.32)}.todo-pill.success[data-v-1cbc77d6]{background:rgba(var(--mg-status-success-rgb),.1);color:var(--mg-status-success);border:1px solid rgba(var(--mg-status-success-rgb),.32)}.todo-time[data-v-1cbc77d6]{color:#9b8eb8;font-size:11.5px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;font-weight:500}@media (max-width: 1440px){.bento-kpi[data-v-1cbc77d6]{grid-column:span 3}.bento-trend[data-v-1cbc77d6]{grid-column:span 8}.bento-agv[data-v-1cbc77d6]{grid-column:span 4}.bento-ratio[data-v-1cbc77d6]{grid-column:span 7}.bento-todo[data-v-1cbc77d6]{grid-column:span 5}}@media (max-width: 1280px){.hero-banner[data-v-1cbc77d6]{grid-template-columns:1fr 380px}.hero-right[data-v-1cbc77d6]{min-height:240px}.bento-kpi[data-v-1cbc77d6]{grid-column:span 4}.bento-trend[data-v-1cbc77d6]{grid-column:span 12}.bento-agv[data-v-1cbc77d6],.bento-ratio[data-v-1cbc77d6]{grid-column:span 6}.bento-todo[data-v-1cbc77d6]{grid-column:span 12}}@media (max-width: 1024px){.status-bar[data-v-1cbc77d6]{flex-wrap:wrap}.hero-banner[data-v-1cbc77d6]{grid-template-columns:1fr}.hero-right[data-v-1cbc77d6]{display:none}.bento-kpi[data-v-1cbc77d6]{grid-column:span 6}.bento-agv[data-v-1cbc77d6],.bento-ratio[data-v-1cbc77d6]{grid-column:span 12}}@media (max-width: 720px){.quick-grid[data-v-1cbc77d6]{grid-template-columns:repeat(2,1fr)}.bento-kpi[data-v-1cbc77d6]{grid-column:span 12}.agv-row[data-v-1cbc77d6]{flex-direction:column;align-items:stretch}.agv-chart[data-v-1cbc77d6]{width:100%;height:220px}}:root[data-theme=industrial-purple] .status-bar[data-v-1cbc77d6]{background:linear-gradient(135deg,#26184ef0,#140c30f7);border-color:rgba(var(--mg-accent-rgb),.38);border-left-color:var(--mg-accent);box-shadow:0 4px 16px #00000061,0 0 0 1px #ffffff0f inset,0 1px #ffffff14 inset;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);color:#f4eeff}:root[data-theme=industrial-purple] .status-conn[data-v-1cbc77d6]{background:rgba(var(--mg-primary-hover-rgb),.42);border-color:rgba(var(--mg-accent-rgb),.45);color:#f4eeff;box-shadow:inset 0 1px #ffffff1a,0 1px 4px #00000047}:root[data-theme=industrial-purple] .status-conn.success[data-v-1cbc77d6]{color:#86efac;background:rgba(var(--mg-status-success-rgb),.28);border-color:rgba(var(--mg-status-success-rgb),.58);box-shadow:inset 0 1px #ffffff1f,0 1px 4px rgba(var(--mg-status-success-rgb),.3)}:root[data-theme=industrial-purple] .status-conn.warning[data-v-1cbc77d6]{color:#fcd34d;background:rgba(var(--mg-status-warning-rgb),.28);border-color:rgba(var(--mg-status-warning-rgb),.58)}:root[data-theme=industrial-purple] .status-conn.danger[data-v-1cbc77d6]{color:#fca5a5;background:rgba(var(--mg-status-danger-rgb),.28);border-color:rgba(var(--mg-status-danger-rgb),.58)}:root[data-theme=industrial-purple] .status-stat[data-v-1cbc77d6]{background:rgba(var(--mg-primary-hover-rgb),.35);border-color:rgba(var(--mg-accent-rgb),.38);box-shadow:inset 0 1px #ffffff14,0 1px 3px #00000038}:root[data-theme=industrial-purple] .status-divider[data-v-1cbc77d6]{background:rgba(var(--mg-accent-rgb),.48)}:root[data-theme=industrial-purple] .status-stat-label[data-v-1cbc77d6]{color:#ffffffd1}:root[data-theme=industrial-purple] .status-stat-value[data-v-1cbc77d6]{color:#fff}:root[data-theme=industrial-purple] .status-stat-total[data-v-1cbc77d6]{color:#ffffff9e}:root[data-theme=industrial-purple] .status-stat-value.is-danger[data-v-1cbc77d6]{color:#fca5a5}:root[data-theme=industrial-purple] .bento[data-v-1cbc77d6]{background:linear-gradient(135deg,#26184ec7,#140c30db);border-color:rgba(var(--mg-accent-rgb),.16);box-shadow:0 10px 28px #00000073,0 0 22px rgba(var(--mg-primary-rgb),.16),0 0 0 1px #ffffff0a inset,0 1px #ffffff1f inset;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);color:#fff}:root[data-theme=industrial-purple] .bento[data-v-1cbc77d6]:hover{border-color:rgba(var(--mg-accent-rgb),.45);box-shadow:0 18px 40px #0000008c,0 0 38px rgba(var(--mg-primary-hover-rgb),.32),0 0 0 1px rgba(var(--mg-accent-rgb),.25) inset,0 1px #ffffff2e inset}:root[data-theme=industrial-purple] .bento[data-v-1cbc77d6] .el-card__header{border-bottom-color:rgba(var(--mg-accent-rgb),.14)!important}:root[data-theme=industrial-purple] .card-title[data-v-1cbc77d6]{color:#fff}:root[data-theme=industrial-purple] .card-title .el-icon[data-v-1cbc77d6]{color:var(--mg-accent)}:root[data-theme=industrial-purple] .card-tip[data-v-1cbc77d6]{color:#ffffffb3}:root[data-theme=industrial-purple] .more-link[data-v-1cbc77d6]{color:#ffffffb3!important}:root[data-theme=industrial-purple] .more-link[data-v-1cbc77d6]:hover{color:var(--mg-accent)!important}:root[data-theme=industrial-purple] .kpi-label[data-v-1cbc77d6]{color:#ffffffb8}:root[data-theme=industrial-purple] .kpi-value[data-v-1cbc77d6]{color:#fff;text-shadow:0 0 18px rgba(var(--mg-primary-hover-rgb),.35)}:root[data-theme=industrial-purple] .agv-center-value[data-v-1cbc77d6]{color:#fff;text-shadow:0 0 18px rgba(var(--mg-primary-hover-rgb),.45)}:root[data-theme=industrial-purple] .agv-center-label[data-v-1cbc77d6]{color:#ffffffb8}:root[data-theme=industrial-purple] .agv-legend li[data-v-1cbc77d6]{color:#f4eeff}:root[data-theme=industrial-purple] .agv-legend li[data-v-1cbc77d6]:hover{background:rgba(var(--mg-accent-rgb),.1)}:root[data-theme=industrial-purple] .agv-legend .legend-name[data-v-1cbc77d6]{color:#ffffffc7}:root[data-theme=industrial-purple] .agv-legend .legend-value[data-v-1cbc77d6]{color:#fff}:root[data-theme=industrial-purple] .agv-legend .legend-pct[data-v-1cbc77d6]{color:#ffffff8c}:root[data-theme=industrial-purple] .agv-legend .dot[data-v-1cbc77d6]{box-shadow:0 0 8px currentColor}:root[data-theme=industrial-purple] .mock-tag[data-v-1cbc77d6]{background:rgba(var(--mg-accent-rgb),.18);color:var(--mg-accent)}:root[data-theme=industrial-purple] .ratio-track[data-v-1cbc77d6]{background:#ffffff0a;border-color:#ffffff14}:root[data-theme=industrial-purple] .ratio-legend li[data-v-1cbc77d6]{color:#f4eeff}:root[data-theme=industrial-purple] .ratio-legend .legend-name[data-v-1cbc77d6]{color:#ffffffb8}:root[data-theme=industrial-purple] .ratio-legend .legend-value[data-v-1cbc77d6]{color:#fff}:root[data-theme=industrial-purple] .ratio-legend .dot[data-v-1cbc77d6]{box-shadow:0 0 8px currentColor}:root[data-theme=industrial-purple] .todo-tabs[data-v-1cbc77d6] .el-tabs__item{color:#ffffffa6!important}:root[data-theme=industrial-purple] .todo-tabs[data-v-1cbc77d6] .el-tabs__item:hover,:root[data-theme=industrial-purple] .todo-tabs[data-v-1cbc77d6] .el-tabs__item.is-active{color:#fff!important}:root[data-theme=industrial-purple] .todo-tabs[data-v-1cbc77d6] .el-tabs__active-bar{background-color:var(--mg-accent)!important}:root[data-theme=industrial-purple] .empty-pane[data-v-1cbc77d6]{color:#ffffffb3}:root[data-theme=industrial-purple] .todo-list li[data-v-1cbc77d6]{background:#ffffff08;border-color:#ffffff0f;color:#f4eeff}:root[data-theme=industrial-purple] .todo-list li[data-v-1cbc77d6]:hover{background:rgba(var(--mg-accent-rgb),.08);border-color:rgba(var(--mg-accent-rgb),.3)}:root[data-theme=industrial-purple] .todo-time[data-v-1cbc77d6]{color:#ffffff8c} diff --git a/MiGu.Server/wwwroot/assets/DashboardView-Cx5dlpj0.js b/MiGu.Server/wwwroot/assets/DashboardView-Cx5dlpj0.js new file mode 100644 index 0000000..c32924e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/DashboardView-Cx5dlpj0.js @@ -0,0 +1,60 @@ +import{aG as iL,bb as yr,b1 as oL,aY as sL,b2 as lL,aC as Kt,az as $,aZ as mr,bj as Wt,aE as Da,ai as Ma,bd as La,aD as pm,aF as me,bB as fe,av as _e,u as uL,b3 as $t,a_ as Yh,aA as $h,bg as gm,R as fL,bm as Vl,bl as hL,bu as ym,aB as mm,b5 as vL,ac as cL,ap as dL,U as pL,a9 as gL,bq as yL,bi as mL,b4 as Zh,ao as _L,bk as SL,bz as xL,aT as bL,b6 as wL,Y as TL,ay as AL,ax as CL,aq as DL,aS as ML,al as LL}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import{b as IL,c as PL,l as RL,a as EL}from"./projection-CizY2UtH.js";import"./reflection-Dr3WM5Rz.js";/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var yd=function(r,e){return yd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,a){t.__proto__=a}||function(t,a){for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])},yd(r,e)};function k(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");yd(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var kL=function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r}(),OL=function(){function r(){this.browser=new kL,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r}(),xt=new OL;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(xt.wxa=!0,xt.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?xt.worker=!0:!xt.hasGlobalWindow||"Deno"in window?(xt.node=!0,xt.svgSupported=!0):NL(navigator.userAgent,xt);function NL(r,e){var t=e.browser,a=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),i=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);a&&(t.firefox=!0,t.version=a[1]),n&&(t.ie=!0,t.version=n[1]),i&&(t.edge=!0,t.version=i[1],t.newEdge=+i[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var og=12,Tw="sans-serif",rn=og+"px "+Tw,BL=20,VL=100,zL="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function GL(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t<r.length;t++){var a=String.fromCharCode(t+32),n=(r.charCodeAt(t)-BL)/VL;e[a]=n}return e}var FL=GL(zL),an={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var r,e;return function(t,a){if(!r){var n=an.createCanvas();r=n&&n.getContext("2d")}if(r)return e!==a&&(e=r.font=a||rn),r.measureText(t);t=t||"",a=a||rn;var i=/((?:\d+)?\.?\d*)px/.exec(a),o=i&&+i[1]||og,s=0;if(a.indexOf("mono")>=0)s=o*t.length;else for(var l=0;l<t.length;l++){var u=FL[t[l]];s+=u==null?o:u*o}return{width:s}}}(),loadImage:function(r,e,t){var a=new Image;return a.onload=e,a.onerror=t,a.src=r,a}},Aw=qr(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(r,e){return r["[object "+e+"]"]=!0,r},{}),Cw=qr(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(r,e){return r["[object "+e+"Array]"]=!0,r},{}),bo=Object.prototype.toString,ah=Array.prototype,HL=ah.forEach,WL=ah.filter,sg=ah.slice,UL=ah.map,_m=function(){}.constructor,zl=_m?_m.prototype:null,lg="__proto__",YL=2311;function Dw(){return YL++}function ug(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];typeof console<"u"&&console.error.apply(console,r)}function lt(r){if(r==null||typeof r!="object")return r;var e=r,t=bo.call(r);if(t==="[object Array]"){if(!As(r)){e=[];for(var a=0,n=r.length;a<n;a++)e[a]=lt(r[a])}}else if(Cw[t]){if(!As(r)){var i=r.constructor;if(i.from)e=i.from(r);else{e=new i(r.length);for(var a=0,n=r.length;a<n;a++)e[a]=r[a]}}}else if(!Aw[t]&&!As(r)&&!fo(r)){e={};for(var o in r)r.hasOwnProperty(o)&&o!==lg&&(e[o]=lt(r[o]))}return e}function dt(r,e,t){if(!st(e)||!st(r))return t?lt(e):r;for(var a in e)if(e.hasOwnProperty(a)&&a!==lg){var n=r[a],i=e[a];st(i)&&st(n)&&!z(i)&&!z(n)&&!fo(i)&&!fo(n)&&!Sm(i)&&!Sm(n)&&!As(i)&&!As(n)?dt(n,i,t):(t||!(a in r))&&(r[a]=lt(e[a]))}return r}function fg(r,e){for(var t=r[0],a=1,n=r.length;a<n;a++)t=dt(t,r[a],e);return t}function V(r,e){if(Object.assign)Object.assign(r,e);else for(var t in e)e.hasOwnProperty(t)&&t!==lg&&(r[t]=e[t]);return r}function ot(r,e,t){for(var a=wt(e),n=0,i=a.length;n<i;n++){var o=a[n];(t?e[o]!=null:r[o]==null)&&(r[o]=e[o])}return r}function yt(r,e){if(r){if(r.indexOf)return r.indexOf(e);for(var t=0,a=r.length;t<a;t++)if(r[t]===e)return t}return-1}function $L(r,e){var t=r.prototype;function a(){}a.prototype=e.prototype,r.prototype=new a;for(var n in t)t.hasOwnProperty(n)&&(r.prototype[n]=t[n]);r.prototype.constructor=r,r.superClass=e}function te(r,e,t){if(r="prototype"in r?r.prototype:r,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames)for(var a=Object.getOwnPropertyNames(e),n=0;n<a.length;n++){var i=a[n];i!=="constructor"&&(t?e[i]!=null:r[i]==null)&&(r[i]=e[i])}else ot(r,e,t)}function Te(r){return!r||typeof r=="string"?!1:typeof r.length=="number"}function D(r,e,t){if(r&&e)if(r.forEach&&r.forEach===HL)r.forEach(e,t);else if(r.length===+r.length)for(var a=0,n=r.length;a<n;a++)e.call(t,r[a],a,r);else for(var i in r)r.hasOwnProperty(i)&&e.call(t,r[i],i,r)}function H(r,e,t){if(!r)return[];if(!e)return hg(r);if(r.map&&r.map===UL)return r.map(e,t);for(var a=[],n=0,i=r.length;n<i;n++)a.push(e.call(t,r[n],n,r));return a}function qr(r,e,t,a){if(r&&e){for(var n=0,i=r.length;n<i;n++)t=e.call(a,t,r[n],n,r);return t}}function Pt(r,e,t){if(!r)return[];if(!e)return hg(r);if(r.filter&&r.filter===WL)return r.filter(e,t);for(var a=[],n=0,i=r.length;n<i;n++)e.call(t,r[n],n,r)&&a.push(r[n]);return a}function ZL(r,e,t){if(r&&e){for(var a=0,n=r.length;a<n;a++)if(e.call(t,r[a],a,r))return r[a]}}function wt(r){if(!r)return[];if(Object.keys)return Object.keys(r);var e=[];for(var t in r)r.hasOwnProperty(t)&&e.push(t);return e}function XL(r,e){for(var t=[],a=2;a<arguments.length;a++)t[a-2]=arguments[a];return function(){return r.apply(e,t.concat(sg.call(arguments)))}}var J=zl&&nt(zl.bind)?zl.call.bind(zl.bind):XL;function ct(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){return r.apply(this,e.concat(sg.call(arguments)))}}function z(r){return Array.isArray?Array.isArray(r):bo.call(r)==="[object Array]"}function nt(r){return typeof r=="function"}function K(r){return typeof r=="string"}function md(r){return bo.call(r)==="[object String]"}function Dt(r){return typeof r=="number"}function st(r){var e=typeof r;return e==="function"||!!r&&e==="object"}function Sm(r){return!!Aw[bo.call(r)]}function Ue(r){return!!Cw[bo.call(r)]}function fo(r){return typeof r=="object"&&typeof r.nodeType=="number"&&typeof r.ownerDocument=="object"}function nh(r){return r.colorStops!=null}function qL(r){return r.image!=null}function KL(r){return bo.call(r)==="[object RegExp]"}function Fs(r){return r!==r}function ve(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=0,a=r.length;t<a;t++)if(r[t]!=null)return r[t]}function vt(r,e){return r??e}function Zr(r,e,t){return r??e??t}function hg(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return sg.apply(r,e)}function vg(r){if(typeof r=="number")return[r,r,r,r];var e=r.length;return e===2?[r[0],r[1],r[0],r[1]]:e===3?[r[0],r[1],r[2],r[1]]:r}function Ee(r,e){if(!r)throw new Error(e)}function Ar(r){return r==null?null:typeof r.trim=="function"?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var Mw="__ec_primitive__";function uf(r){r[Mw]=!0}function As(r){return r[Mw]}var JL=function(){function r(){this.data={}}return r.prototype.delete=function(e){var t=this.has(e);return t&&delete this.data[e],t},r.prototype.has=function(e){return this.data.hasOwnProperty(e)},r.prototype.get=function(e){return this.data[e]},r.prototype.set=function(e,t){return this.data[e]=t,this},r.prototype.keys=function(){return wt(this.data)},r.prototype.forEach=function(e){var t=this.data;for(var a in t)t.hasOwnProperty(a)&&e(t[a],a)},r}(),Lw=typeof Map=="function";function QL(){return Lw?new Map:new JL}var jL=function(){function r(e){var t=z(e);this.data=QL();var a=this;e instanceof r?e.each(n):e&&D(e,n);function n(i,o){t?a.set(i,o):a.set(o,i)}}return r.prototype.hasKey=function(e){return this.data.has(e)},r.prototype.get=function(e){return this.data.get(e)},r.prototype.set=function(e,t){return this.data.set(e,t),t},r.prototype.each=function(e,t){this.data.forEach(function(a,n){e.call(t,a,n)})},r.prototype.keys=function(){var e=this.data.keys();return Lw?Array.from(e):e},r.prototype.removeKey=function(e){this.data.delete(e)},r}();function et(r){return new jL(r)}function Hs(r,e){for(var t=new r.constructor(r.length+e.length),a=0;a<r.length;a++)t[a]=r[a];for(var n=r.length,a=0;a<e.length;a++)t[a+n]=e[a];return t}function ih(r,e){var t;if(Object.create)t=Object.create(r);else{var a=function(){};a.prototype=r,t=new a}return e&&V(t,e),t}function Iw(r){var e=r.style;e.webkitUserSelect="none",e.userSelect="none",e.webkitTapHighlightColor="rgba(0,0,0,0)",e["-webkit-touch-callout"]="none"}function j(r,e){return r.hasOwnProperty(e)}function qt(){}var Fu=180/Math.PI;function mi(r,e){return r==null&&(r=0),e==null&&(e=0),[r,e]}function De(r,e){return r[0]=e[0],r[1]=e[1],r}function fa(r){return[r[0],r[1]]}function tI(r,e,t){return r[0]=e,r[1]=t,r}function xm(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function _d(r,e,t,a){return r[0]=e[0]+t[0]*a,r[1]=e[1]+t[1]*a,r}function Xn(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function Sd(r){return Math.sqrt(eI(r))}function eI(r){return r[0]*r[0]+r[1]*r[1]}function Hu(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function wo(r,e){var t=Sd(e);return t===0?(r[0]=0,r[1]=0):(r[0]=e[0]/t,r[1]=e[1]/t),r}function xd(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}var Wa=xd;function rI(r,e){return(r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1])}var ri=rI;function Wu(r,e,t,a){return r[0]=e[0]+a*(t[0]-e[0]),r[1]=e[1]+a*(t[1]-e[1]),r}function pe(r,e,t){var a=e[0],n=e[1];return r[0]=t[0]*a+t[2]*n+t[4],r[1]=t[1]*a+t[3]*n+t[5],r}function Ua(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function Ya(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}var Di=function(){function r(e,t){this.target=e,this.topTarget=t&&t.topTarget}return r}(),aI=function(){function r(e){this.handler=e,e.on("mousedown",this._dragStart,this),e.on("mousemove",this._drag,this),e.on("mouseup",this._dragEnd,this)}return r.prototype._dragStart=function(e){for(var t=e.target;t&&!t.draggable;)t=t.parent||t.__hostTarget;t&&(this._draggingTarget=t,t.dragging=!0,this._x=e.offsetX,this._y=e.offsetY,this.handler.dispatchToElement(new Di(t,e),"dragstart",e.event))},r.prototype._drag=function(e){var t=this._draggingTarget;if(t){var a=e.offsetX,n=e.offsetY,i=a-this._x,o=n-this._y;this._x=a,this._y=n,t.drift(i,o,e),this.handler.dispatchToElement(new Di(t,e),"drag",e.event);var s=this.handler.findHover(a,n,t).target,l=this._dropTarget;this._dropTarget=s,t!==s&&(l&&s!==l&&this.handler.dispatchToElement(new Di(l,e),"dragleave",e.event),s&&s!==l&&this.handler.dispatchToElement(new Di(s,e),"dragenter",e.event))}},r.prototype._dragEnd=function(e){var t=this._draggingTarget;t&&(t.dragging=!1),this.handler.dispatchToElement(new Di(t,e),"dragend",e.event),this._dropTarget&&this.handler.dispatchToElement(new Di(this._dropTarget,e),"drop",e.event),this._draggingTarget=null,this._dropTarget=null},r}(),dr=function(){function r(e){e&&(this._$eventProcessor=e)}return r.prototype.on=function(e,t,a,n){this._$handlers||(this._$handlers={});var i=this._$handlers;if(typeof t=="function"&&(n=a,a=t,t=null),!a||!e)return this;var o=this._$eventProcessor;t!=null&&o&&o.normalizeQuery&&(t=o.normalizeQuery(t)),i[e]||(i[e]=[]);for(var s=0;s<i[e].length;s++)if(i[e][s].h===a)return this;var l={h:a,query:t,ctx:n||this,callAtLast:a.zrEventfulCallAtLast},u=i[e].length-1,f=i[e][u];return f&&f.callAtLast?i[e].splice(u,0,l):i[e].push(l),this},r.prototype.isSilent=function(e){var t=this._$handlers;return!t||!t[e]||!t[e].length},r.prototype.off=function(e,t){var a=this._$handlers;if(!a)return this;if(!e)return this._$handlers={},this;if(t){if(a[e]){for(var n=[],i=0,o=a[e].length;i<o;i++)a[e][i].h!==t&&n.push(a[e][i]);a[e]=n}a[e]&&a[e].length===0&&delete a[e]}else delete a[e];return this},r.prototype.trigger=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=n.length,l=0;l<s;l++){var u=n[l];if(!(i&&i.filter&&u.query!=null&&!i.filter(e,u.query)))switch(o){case 0:u.h.call(u.ctx);break;case 1:u.h.call(u.ctx,t[0]);break;case 2:u.h.call(u.ctx,t[0],t[1]);break;default:u.h.apply(u.ctx,t);break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r.prototype.triggerWithContext=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=t[o-1],l=n.length,u=0;u<l;u++){var f=n[u];if(!(i&&i.filter&&f.query!=null&&!i.filter(e,f.query)))switch(o){case 0:f.h.call(s);break;case 1:f.h.call(s,t[0]);break;case 2:f.h.call(s,t[0],t[1]);break;default:f.h.apply(s,t.slice(1,o-1));break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r}(),nI=Math.log(2);function bd(r,e,t,a,n,i){var o=a+"-"+n,s=r.length;if(i.hasOwnProperty(o))return i[o];if(e===1){var l=Math.round(Math.log((1<<s)-1&~n)/nI);return r[t][l]}for(var u=a|1<<t,f=t+1;a&1<<f;)f++;for(var h=0,v=0,c=0;v<s;v++){var d=1<<v;d&n||(h+=(c%2?-1:1)*r[t][v]*bd(r,e-1,f,u,n|d,i),c++)}return i[o]=h,h}function bm(r,e){var t=[[r[0],r[1],1,0,0,0,-e[0]*r[0],-e[0]*r[1]],[0,0,0,r[0],r[1],1,-e[1]*r[0],-e[1]*r[1]],[r[2],r[3],1,0,0,0,-e[2]*r[2],-e[2]*r[3]],[0,0,0,r[2],r[3],1,-e[3]*r[2],-e[3]*r[3]],[r[4],r[5],1,0,0,0,-e[4]*r[4],-e[4]*r[5]],[0,0,0,r[4],r[5],1,-e[5]*r[4],-e[5]*r[5]],[r[6],r[7],1,0,0,0,-e[6]*r[6],-e[6]*r[7]],[0,0,0,r[6],r[7],1,-e[7]*r[6],-e[7]*r[7]]],a={},n=bd(t,8,0,0,0,a);if(n!==0){for(var i=[],o=0;o<8;o++)for(var s=0;s<8;s++)i[s]==null&&(i[s]=0),i[s]+=((o+s)%2?-1:1)*bd(t,7,o===0?1:0,1<<o,1<<s,a)/n*e[o];return function(l,u,f){var h=u*i[6]+f*i[7]+1;l[0]=(u*i[0]+f*i[1]+i[2])/h,l[1]=(u*i[3]+f*i[4]+i[5])/h}}}var wm="___zrEVENTSAVED",Xh=[];function iI(r,e,t,a,n){return wd(Xh,e,a,n,!0)&&wd(r,t,Xh[0],Xh[1])}function wd(r,e,t,a,n){if(e.getBoundingClientRect&&xt.domSupported&&!Pw(e)){var i=e[wm]||(e[wm]={}),o=oI(e,i),s=sI(o,i,n);if(s)return s(r,t,a),!0}return!1}function oI(r,e){var t=e.markers;if(t)return t;t=e.markers=[];for(var a=["left","right"],n=["top","bottom"],i=0;i<4;i++){var o=document.createElement("div"),s=o.style,l=i%2,u=(i>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",a[l]+":0",n[u]+":0",a[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function sI(r,e,t){for(var a=t?"invTrans":"trans",n=e[a],i=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,v=f.left,c=f.top;o.push(v,c),l=l&&i&&v===i[h]&&c===i[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(e.srcCoords=o,e[a]=t?bm(s,o):bm(o,s))}function Pw(r){return r.nodeName.toUpperCase()==="CANVAS"}var lI=/([&<>"'])/g,uI={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ie(r){return r==null?"":(r+"").replace(lI,function(e,t){return uI[t]})}var fI=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,qh=[],hI=xt.browser.firefox&&+xt.browser.version.split(".")[0]<39;function Td(r,e,t,a){return t=t||{},a?Tm(r,e,t):hI&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):Tm(r,e,t),t}function Tm(r,e,t){if(xt.domSupported&&r.getBoundingClientRect){var a=e.clientX,n=e.clientY;if(Pw(r)){var i=r.getBoundingClientRect();t.zrX=a-i.left,t.zrY=n-i.top;return}else if(wd(qh,r,a,n)){t.zrX=qh[0],t.zrY=qh[1];return}}t.zrX=t.zrY=0}function cg(r){return r||window.event}function ar(r,e,t){if(e=cg(e),e.zrX!=null)return e;var a=e.type,n=a&&a.indexOf("touch")>=0;if(n){var o=a!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&Td(r,o,e,t)}else{Td(r,e,e,t);var i=vI(e);e.zrDelta=i?i/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&fI.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function vI(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,a=r.deltaY;if(t==null||a==null)return e;var n=Math.abs(a!==0?a:t),i=a>0?-1:a<0?1:t>0?-1:1;return 3*n*i}function Ad(r,e,t,a){r.addEventListener(e,t,a)}function cI(r,e,t,a){r.removeEventListener(e,t,a)}var pa=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function Am(r){return r.which===2||r.which===3}var dI=function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,a){return this._doTrack(e,t,a),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,a){var n=e.touches;if(n){for(var i={points:[],touches:[],target:t,event:e},o=0,s=n.length;o<s;o++){var l=n[o],u=Td(a,l,{});i.points.push([u.zrX,u.zrY]),i.touches.push(l)}this._track.push(i)}},r.prototype._recognize=function(e){for(var t in Kh)if(Kh.hasOwnProperty(t)){var a=Kh[t](this._track,e);if(a)return a}},r}();function Cm(r){var e=r[1][0]-r[0][0],t=r[1][1]-r[0][1];return Math.sqrt(e*e+t*t)}function pI(r){return[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2]}var Kh={pinch:function(r,e){var t=r.length;if(t){var a=(r[t-1]||{}).points,n=(r[t-2]||{}).points||a;if(n&&n.length>1&&a&&a.length>1){var i=Cm(a)/Cm(n);!isFinite(i)&&(i=1),e.pinchScale=i;var o=pI(a);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function qe(){return[1,0,0,1,0,0]}function oh(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function dg(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function ha(r,e,t){var a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=a,r[1]=n,r[2]=i,r[3]=o,r[4]=s,r[5]=l,r}function Kr(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function _i(r,e,t,a){a===void 0&&(a=[0,0]);var n=e[0],i=e[2],o=e[4],s=e[1],l=e[3],u=e[5],f=Math.sin(t),h=Math.cos(t);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=i*h+l*f,r[3]=-i*f+h*l,r[4]=h*(o-a[0])+f*(u-a[1])+a[0],r[5]=h*(u-a[1])-f*(o-a[0])+a[1],r}function pg(r,e,t){var a=t[0],n=t[1];return r[0]=e[0]*a,r[1]=e[1]*n,r[2]=e[2]*a,r[3]=e[3]*n,r[4]=e[4]*a,r[5]=e[5]*n,r}function To(r,e){var t=e[0],a=e[2],n=e[4],i=e[1],o=e[3],s=e[5],l=t*o-i*a;return l?(l=1/l,r[0]=o*l,r[1]=-i*l,r[2]=-a*l,r[3]=t*l,r[4]=(a*s-o*n)*l,r[5]=(i*n-t*s)*l,r):null}function gI(r){var e=qe();return dg(e,r),e}var pt=function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,a=this.y-e.y;return Math.sqrt(t*t+a*a)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,a=this.y-e.y;return t*t+a*a},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,a=this.y;return this.x=e[0]*t+e[2]*a+e[4],this.y=e[1]*t+e[3]*a+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,a){e.x=t,e.y=a},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,a){e.x=t.x+a.x,e.y=t.y+a.y},r.sub=function(e,t,a){e.x=t.x-a.x,e.y=t.y-a.y},r.scale=function(e,t,a){e.x=t.x*a,e.y=t.y*a},r.scaleAndAdd=function(e,t,a,n){e.x=t.x+a.x*n,e.y=t.y+a.y*n},r.lerp=function(e,t,a,n){var i=1-n;e.x=i*t.x+n*a.x,e.y=i*t.y+n*a.y},r}(),Gl=Math.min,Fl=Math.max,dn=new pt,pn=new pt,gn=new pt,yn=new pt,Vo=new pt,zo=new pt,gt=function(){function r(e,t,a,n){a<0&&(e=e+a,a=-a),n<0&&(t=t+n,n=-n),this.x=e,this.y=t,this.width=a,this.height=n}return r.prototype.union=function(e){var t=Gl(e.x,this.x),a=Gl(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Fl(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=Fl(e.y+e.height,this.y+this.height)-a:this.height=e.height,this.x=t,this.y=a},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,a=e.width/t.width,n=e.height/t.height,i=qe();return Kr(i,i,[-t.x,-t.y]),pg(i,i,[a,n]),Kr(i,i,[e.x,e.y]),i},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var a=this,n=a.x,i=a.x+a.width,o=a.y,s=a.y+a.height,l=e.x,u=e.x+e.width,f=e.y,h=e.y+e.height,v=!(i<l||u<n||s<f||h<o);if(t){var c=1/0,d=0,p=Math.abs(i-l),g=Math.abs(u-n),y=Math.abs(s-f),m=Math.abs(h-o),_=Math.min(p,g),S=Math.min(y,m);i<l||u<n?_>d&&(d=_,p<g?pt.set(zo,-p,0):pt.set(zo,g,0)):_<c&&(c=_,p<g?pt.set(Vo,p,0):pt.set(Vo,-g,0)),s<f||h<o?S>d&&(d=S,y<m?pt.set(zo,0,-y):pt.set(zo,0,m)):_<c&&(c=_,y<m?pt.set(Vo,0,y):pt.set(Vo,0,-m))}return t&&pt.copy(t,v?Vo:zo),v},r.prototype.contain=function(e,t){var a=this;return e>=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,a){if(!a){e!==t&&r.copy(e,t);return}if(a[1]<1e-5&&a[1]>-1e-5&&a[2]<1e-5&&a[2]>-1e-5){var n=a[0],i=a[3],o=a[4],s=a[5];e.x=t.x*n+o,e.y=t.y*i+s,e.width=t.width*n,e.height=t.height*i,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}dn.x=gn.x=t.x,dn.y=yn.y=t.y,pn.x=yn.x=t.x+t.width,pn.y=gn.y=t.y+t.height,dn.transform(a),yn.transform(a),pn.transform(a),gn.transform(a),e.x=Gl(dn.x,pn.x,gn.x,yn.x),e.y=Gl(dn.y,pn.y,gn.y,yn.y);var l=Fl(dn.x,pn.x,gn.x,yn.x),u=Fl(dn.y,pn.y,gn.y,yn.y);e.width=l-e.x,e.height=u-e.y},r}(),Rw="silent";function yI(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:mI}}function mI(){pa(this.event)}var _I=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(dr),Go=function(){function r(e,t){this.x=e,this.y=t}return r}(),SI=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Jh=new gt(0,0,0,0),Ew=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this)||this;return s._hovered=new Go(0,0),s.storage=t,s.painter=a,s.painterRoot=i,s._pointerSize=o,n=n||new _I,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new aI(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(D(SI,function(a){t.on&&t.on(a,this[a],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var a=t.zrX,n=t.zrY,i=kw(this,a,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=i?new Go(a,n):this.findHover(a,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var a=t.zrEventControl;a!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),a!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Go(0,0)},e.prototype.dispatch=function(t,a){var n=this[t];n&&n.call(this,a)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var a=this.proxy;a.setCursor&&a.setCursor(t)},e.prototype.dispatchToElement=function(t,a,n){t=t||{};var i=t.target;if(!(i&&i.silent)){for(var o="on"+a,s=yI(a,t,n);i&&(i[o]&&(s.cancelBubble=!!i[o].call(i,s)),i.trigger(a,s),i=i.__hostTarget?i.__hostTarget:i.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(a,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(a,s)}))}},e.prototype.findHover=function(t,a,n){var i=this.storage.getDisplayList(),o=new Go(t,a);if(Dm(i,o,t,a,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new gt(t-u,a-u,l,l),h=i.length-1;h>=0;h--){var v=i[h];v!==n&&!v.ignore&&!v.ignoreCoarsePointer&&(!v.parent||!v.parent.ignoreCoarsePointer)&&(Jh.copy(v.getBoundingRect()),v.transform&&Jh.applyTransform(v.transform),Jh.intersect(f)&&s.push(v))}if(s.length)for(var c=4,d=Math.PI/12,p=Math.PI*2,g=0;g<u;g+=c)for(var y=0;y<p;y+=d){var m=t+g*Math.cos(y),_=a+g*Math.sin(y);if(Dm(s,o,m,_,n),o.target)return o}}return o},e.prototype.processGesture=function(t,a){this._gestureMgr||(this._gestureMgr=new dI);var n=this._gestureMgr;a==="start"&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(a==="end"&&n.clear(),i){var o=i.type;t.gestureEvent=o;var s=new Go;s.target=i.target,this.dispatchToElement(s,o,i.event)}},e}(dr);D(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(r){Ew.prototype[r]=function(e){var t=e.zrX,a=e.zrY,n=kw(this,t,a),i,o;if((r!=="mouseup"||!n)&&(i=this.findHover(t,a),o=i.target),r==="mousedown")this._downEl=o,this._downPoint=[e.zrX,e.zrY],this._upEl=o;else if(r==="mouseup")this._upEl=o;else if(r==="click"){if(this._downEl!==this._upEl||!this._downPoint||Wa(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,r,e)}});function xI(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var a=r,n=void 0,i=!1;a;){if(a.ignoreClip&&(i=!0),!i){var o=a.getClipPath();if(o&&!o.contain(e,t))return!1}a.silent&&(n=!0);var s=a.__hostTarget;a=s||a.parent}return n?Rw:!0}return!1}function Dm(r,e,t,a,n){for(var i=r.length-1;i>=0;i--){var o=r[i],s=void 0;if(o!==n&&!o.ignore&&(s=xI(o,t,a))&&(!e.topTarget&&(e.topTarget=o),s!==Rw)){e.target=o;break}}}function kw(r,e,t){var a=r.painter;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var Ow=32,Fo=7;function bI(r){for(var e=0;r>=Ow;)e|=r&1,r>>=1;return r+e}function Mm(r,e,t,a){var n=e+1;if(n===t)return 1;if(a(r[n++],r[e])<0){for(;n<t&&a(r[n],r[n-1])<0;)n++;wI(r,e,n)}else for(;n<t&&a(r[n],r[n-1])>=0;)n++;return n-e}function wI(r,e,t){for(t--;e<t;){var a=r[e];r[e++]=r[t],r[t--]=a}}function Lm(r,e,t,a,n){for(a===e&&a++;a<t;a++){for(var i=r[a],o=e,s=a,l;o<s;)l=o+s>>>1,n(i,r[l])<0?s=l:o=l+1;var u=a-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=i}}function Qh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])>0){for(s=a-n;l<s&&i(r,e[t+n+l])>0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;l<s&&i(r,e[t+n-l])<=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])>0?o=f+1:l=f}return l}function jh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])<0){for(s=n+1;l<s&&i(r,e[t+n-l])<0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=a-n;l<s&&i(r,e[t+n+l])>=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])<0?l=f:o=f+1}return l}function TI(r,e){var t=Fo,a,n,i=0,o=[];a=[],n=[];function s(c,d){a[i]=c,n[i]=d,i+=1}function l(){for(;i>1;){var c=i-2;if(c>=1&&n[c-1]<=n[c]+n[c+1]||c>=2&&n[c-2]<=n[c]+n[c-1])n[c-1]<n[c+1]&&c--;else if(n[c]>n[c+1])break;f(c)}}function u(){for(;i>1;){var c=i-2;c>0&&n[c-1]<n[c+1]&&c--,f(c)}}function f(c){var d=a[c],p=n[c],g=a[c+1],y=n[c+1];n[c]=p+y,c===i-3&&(a[c+1]=a[c+2],n[c+1]=n[c+2]),i--;var m=jh(r[g],r,d,p,0,e);d+=m,p-=m,p!==0&&(y=Qh(r[d+p-1],r,g,y,y-1,e),y!==0&&(p<=y?h(d,p,g,y):v(d,p,g,y)))}function h(c,d,p,g){var y=0;for(y=0;y<d;y++)o[y]=r[c+y];var m=0,_=p,S=c;if(r[S++]=r[_++],--g===0){for(y=0;y<d;y++)r[S+y]=o[m+y];return}if(d===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m];return}for(var b=t,x,w,T;;){x=0,w=0,T=!1;do if(e(r[_],o[m])<0){if(r[S++]=r[_++],w++,x=0,--g===0){T=!0;break}}else if(r[S++]=o[m++],x++,w=0,--d===1){T=!0;break}while((x|w)<b);if(T)break;do{if(x=jh(r[_],o,m,d,0,e),x!==0){for(y=0;y<x;y++)r[S+y]=o[m+y];if(S+=x,m+=x,d-=x,d<=1){T=!0;break}}if(r[S++]=r[_++],--g===0){T=!0;break}if(w=Qh(o[m],r,_,g,0,e),w!==0){for(y=0;y<w;y++)r[S+y]=r[_+y];if(S+=w,_+=w,g-=w,g===0){T=!0;break}}if(r[S++]=o[m++],--d===1){T=!0;break}b--}while(x>=Fo||w>=Fo);if(T)break;b<0&&(b=0),b+=2}if(t=b,t<1&&(t=1),d===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m]}else{if(d===0)throw new Error;for(y=0;y<d;y++)r[S+y]=o[m+y]}}function v(c,d,p,g){var y=0;for(y=0;y<g;y++)o[y]=r[p+y];var m=c+d-1,_=g-1,S=p+g-1,b=0,x=0;if(r[S--]=r[m--],--d===0){for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y];return}if(g===1){for(S-=d,m-=d,x=S+1,b=m+1,y=d-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_];return}for(var w=t;;){var T=0,A=0,C=!1;do if(e(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--d===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)<w);if(C)break;do{if(T=d-jh(o[_],r,c,d,d-1,e),T!==0){for(S-=T,m-=T,d-=T,x=S+1,b=m+1,y=T-1;y>=0;y--)r[x+y]=r[b+y];if(d===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-Qh(r[m],o,0,g,g-1,e),A!==0){for(S-=A,_-=A,g-=A,x=S+1,b=_+1,y=0;y<A;y++)r[x+y]=o[b+y];if(g<=1){C=!0;break}}if(r[S--]=r[m--],--d===0){C=!0;break}w--}while(T>=Fo||A>=Fo);if(C)break;w<0&&(w=0),w+=2}if(t=w,t<1&&(t=1),g===1){for(S-=d,m-=d,x=S+1,b=m+1,y=d-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_]}else{if(g===0)throw new Error;for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y]}}return{mergeRuns:l,forceMergeRuns:u,pushRun:s}}function Uu(r,e,t,a){t||(t=0),a||(a=r.length);var n=a-t;if(!(n<2)){var i=0;if(n<Ow){i=Mm(r,t,a,e),Lm(r,t,a,t+i,e);return}var o=TI(r,e),s=bI(n);do{if(i=Mm(r,t,a,e),i<s){var l=n;l>s&&(l=s),Lm(r,t,t+l,t+i,e),i=l}o.pushRun(t,i),o.mergeRuns(),n-=i,t+=i}while(n!==0);o.forceMergeRuns()}}var Ze=1,cs=2,qi=4,Im=!1;function tv(){Im||(Im=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Pm(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var AI=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Pm}return r.prototype.traverse=function(e,t){for(var a=0;a<this._roots.length;a++)this._roots[a].traverse(e,t)},r.prototype.getDisplayList=function(e,t){t=t||!1;var a=this._displayList;return(e||!a.length)&&this.updateDisplayList(t),a},r.prototype.updateDisplayList=function(e){this._displayListLen=0;for(var t=this._roots,a=this._displayList,n=0,i=t.length;n<i;n++)this._updateAndAddDisplayable(t[n],null,e);a.length=this._displayListLen,Uu(a,Pm)},r.prototype._updateAndAddDisplayable=function(e,t,a){if(!(e.ignore&&!a)){e.beforeUpdate(),e.update(),e.afterUpdate();var n=e.getClipPath();if(e.ignoreClip)t=null;else if(n){t?t=t.slice():t=[];for(var i=n,o=e;i;)i.parent=o,i.updateTransform(),t.push(i),o=i,i=i.getClipPath()}if(e.childrenRef){for(var s=e.childrenRef(),l=0;l<s.length;l++){var u=s[l];e.__dirty&&(u.__dirty|=Ze),this._updateAndAddDisplayable(u,t,a)}e.__dirty=0}else{var f=e;t&&t.length?f.__clipPaths=t:f.__clipPaths&&f.__clipPaths.length>0&&(f.__clipPaths=[]),isNaN(f.z)&&(tv(),f.z=0),isNaN(f.z2)&&(tv(),f.z2=0),isNaN(f.zlevel)&&(tv(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=e.getDecalElement&&e.getDecalElement();h&&this._updateAndAddDisplayable(h,t,a);var v=e.getTextGuideLine();v&&this._updateAndAddDisplayable(v,t,a);var c=e.getTextContent();c&&this._updateAndAddDisplayable(c,t,a)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,a=e.length;t<a;t++)this.delRoot(e[t]);return}var n=yt(this._roots,e);n>=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}(),ff;ff=xt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var Cs={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)))},elasticOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/a)+1)},elasticInOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-Cs.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?Cs.bounceIn(r*2)*.5:Cs.bounceOut(r*2-1)*.5+.5}},Hl=Math.pow,Qa=Math.sqrt,hf=1e-8,Nw=1e-4,Rm=Qa(3),Wl=1/3,Fr=mi(),sr=mi(),no=mi();function $a(r){return r>-hf&&r<hf}function Bw(r){return r>hf||r<-hf}function ne(r,e,t,a,n){var i=1-n;return i*i*(i*r+3*n*e)+n*n*(n*a+3*i*t)}function Em(r,e,t,a,n){var i=1-n;return 3*(((e-r)*i+2*(t-e)*n)*i+(a-t)*n*n)}function vf(r,e,t,a,n,i){var o=a+3*(e-t)-r,s=3*(t-e*2+r),l=3*(e-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,v=l*l-3*s*u,c=0;if($a(f)&&$a(h))if($a(s))i[0]=0;else{var d=-l/s;d>=0&&d<=1&&(i[c++]=d)}else{var p=h*h-4*f*v;if($a(p)){var g=h/f,d=-s/o+g,y=-g/2;d>=0&&d<=1&&(i[c++]=d),y>=0&&y<=1&&(i[c++]=y)}else if(p>0){var m=Qa(p),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-Hl(-_,Wl):_=Hl(_,Wl),S<0?S=-Hl(-S,Wl):S=Hl(S,Wl);var d=(-s-(_+S))/(3*o);d>=0&&d<=1&&(i[c++]=d)}else{var b=(2*f*s-3*o*h)/(2*Qa(f*f*f)),x=Math.acos(b)/3,w=Qa(f),T=Math.cos(x),d=(-s-2*w*T)/(3*o),y=(-s+w*(T+Rm*Math.sin(x)))/(3*o),A=(-s+w*(T-Rm*Math.sin(x)))/(3*o);d>=0&&d<=1&&(i[c++]=d),y>=0&&y<=1&&(i[c++]=y),A>=0&&A<=1&&(i[c++]=A)}}return c}function Vw(r,e,t,a,n){var i=6*t-12*e+6*r,o=9*e+3*a-3*r-9*t,s=3*e-3*r,l=0;if($a(o)){if(Bw(i)){var u=-s/i;u>=0&&u<=1&&(n[l++]=u)}}else{var f=i*i-4*o*s;if($a(f))n[0]=-i/(2*o);else if(f>0){var h=Qa(f),u=(-i+h)/(2*o),v=(-i-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function nn(r,e,t,a,n,i){var o=(e-r)*n+r,s=(t-e)*n+e,l=(a-t)*n+t,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;i[0]=r,i[1]=o,i[2]=u,i[3]=h,i[4]=h,i[5]=f,i[6]=l,i[7]=a}function zw(r,e,t,a,n,i,o,s,l,u,f){var h,v=.005,c=1/0,d,p,g,y;Fr[0]=l,Fr[1]=u;for(var m=0;m<1;m+=.05)sr[0]=ne(r,t,n,o,m),sr[1]=ne(e,a,i,s,m),g=ri(Fr,sr),g<c&&(h=m,c=g);c=1/0;for(var _=0;_<32&&!(v<Nw);_++)d=h-v,p=h+v,sr[0]=ne(r,t,n,o,d),sr[1]=ne(e,a,i,s,d),g=ri(sr,Fr),d>=0&&g<c?(h=d,c=g):(no[0]=ne(r,t,n,o,p),no[1]=ne(e,a,i,s,p),y=ri(no,Fr),p<=1&&y<c?(h=p,c=y):v*=.5);return f&&(f[0]=ne(r,t,n,o,h),f[1]=ne(e,a,i,s,h)),Qa(c)}function CI(r,e,t,a,n,i,o,s,l){for(var u=r,f=e,h=0,v=1/l,c=1;c<=l;c++){var d=c*v,p=ne(r,t,n,o,d),g=ne(e,a,i,s,d),y=p-u,m=g-f;h+=Math.sqrt(y*y+m*m),u=p,f=g}return h}function he(r,e,t,a){var n=1-a;return n*(n*r+2*a*e)+a*a*t}function Cd(r,e,t,a){return 2*((1-a)*(e-r)+a*(t-e))}function DI(r,e,t,a,n){var i=r-2*e+t,o=2*(e-r),s=r-a,l=0;if($a(i)){if(Bw(o)){var u=-s/o;u>=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*i*s;if($a(f)){var u=-o/(2*i);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=Qa(f),u=(-o+h)/(2*i),v=(-o-h)/(2*i);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Gw(r,e,t){var a=r+t-2*e;return a===0?.5:(r-e)/a}function Ws(r,e,t,a,n){var i=(e-r)*a+r,o=(t-e)*a+e,s=(o-i)*a+i;n[0]=r,n[1]=i,n[2]=s,n[3]=s,n[4]=o,n[5]=t}function Fw(r,e,t,a,n,i,o,s,l){var u,f=.005,h=1/0;Fr[0]=o,Fr[1]=s;for(var v=0;v<1;v+=.05){sr[0]=he(r,t,n,v),sr[1]=he(e,a,i,v);var c=ri(Fr,sr);c<h&&(u=v,h=c)}h=1/0;for(var d=0;d<32&&!(f<Nw);d++){var p=u-f,g=u+f;sr[0]=he(r,t,n,p),sr[1]=he(e,a,i,p);var c=ri(sr,Fr);if(p>=0&&c<h)u=p,h=c;else{no[0]=he(r,t,n,g),no[1]=he(e,a,i,g);var y=ri(no,Fr);g<=1&&y<h?(u=g,h=y):f*=.5}}return l&&(l[0]=he(r,t,n,u),l[1]=he(e,a,i,u)),Qa(h)}function MI(r,e,t,a,n,i,o){for(var s=r,l=e,u=0,f=1/o,h=1;h<=o;h++){var v=h*f,c=he(r,t,n,v),d=he(e,a,i,v),p=c-s,g=d-l;u+=Math.sqrt(p*p+g*g),s=c,l=d}return u}var LI=/cubic-bezier\(([0-9,\.e ]+)\)/;function gg(r){var e=r&&LI.exec(r);if(e){var t=e[1].split(","),a=+Ar(t[0]),n=+Ar(t[1]),i=+Ar(t[2]),o=+Ar(t[3]);if(isNaN(a+n+i+o))return;var s=[];return function(l){return l<=0?0:l>=1?1:vf(0,a,i,1,l,s)&&ne(0,n,o,1,s[0])}}}var II=function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||qt,this.ondestroy=e.ondestroy||qt,this.onrestart=e.onrestart||qt,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var a=this._life,n=e-this._startTime-this._pausedTime,i=n/a;i<0&&(i=0),i=Math.min(i,1);var o=this.easingFunc,s=o?o(i):i;if(this.onframe(s),i===1)if(this.loop){var l=n%a;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=nt(e)?e:Cs[e]||gg(e)},r}(),Hw=function(){function r(e){this.value=e}return r}(),PI=function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new Hw(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),gl=function(){function r(e){this._list=new PI,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var a=this._list,n=this._map,i=null;if(n[e]==null){var o=a.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=a.head;a.remove(l),delete n[l.key],i=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new Hw(t),s.key=e,a.insertEntry(s),n[e]=s}return i},r.prototype.get=function(e){var t=this._map[e],a=this._list;if(t!=null)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}(),km={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Dr(r){return r=Math.round(r),r<0?0:r>255?255:r}function RI(r){return r=Math.round(r),r<0?0:r>360?360:r}function Us(r){return r<0?0:r>1?1:r}function ev(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Dr(parseFloat(e)/100*255):Dr(parseInt(e,10))}function ai(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Us(parseFloat(e)/100):Us(parseFloat(e))}function rv(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function Za(r,e,t){return r+(e-r)*t}function rr(r,e,t,a,n){return r[0]=e,r[1]=t,r[2]=a,r[3]=n,r}function Dd(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var Ww=new gl(20),Ul=null;function Mi(r,e){Ul&&Dd(Ul,e),Ul=Ww.put(r,Ul||e.slice())}function Ke(r,e){if(r){e=e||[];var t=Ww.get(r);if(t)return Dd(e,t);r=r+"";var a=r.replace(/ /g,"").toLowerCase();if(a in km)return Dd(e,km[a]),Mi(r,e),e;var n=a.length;if(a.charAt(0)==="#"){if(n===4||n===5){var i=parseInt(a.slice(1,4),16);if(!(i>=0&&i<=4095)){rr(e,0,0,0,1);return}return rr(e,(i&3840)>>4|(i&3840)>>8,i&240|(i&240)>>4,i&15|(i&15)<<4,n===5?parseInt(a.slice(4),16)/15:1),Mi(r,e),e}else if(n===7||n===9){var i=parseInt(a.slice(1,7),16);if(!(i>=0&&i<=16777215)){rr(e,0,0,0,1);return}return rr(e,(i&16711680)>>16,(i&65280)>>8,i&255,n===9?parseInt(a.slice(7),16)/255:1),Mi(r,e),e}return}var o=a.indexOf("("),s=a.indexOf(")");if(o!==-1&&s+1===n){var l=a.substr(0,o),u=a.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?rr(e,+u[0],+u[1],+u[2],1):rr(e,0,0,0,1);f=ai(u.pop());case"rgb":if(u.length>=3)return rr(e,ev(u[0]),ev(u[1]),ev(u[2]),u.length===3?f:ai(u[3])),Mi(r,e),e;rr(e,0,0,0,1);return;case"hsla":if(u.length!==4){rr(e,0,0,0,1);return}return u[3]=ai(u[3]),Md(u,e),Mi(r,e),e;case"hsl":if(u.length!==3){rr(e,0,0,0,1);return}return Md(u,e),Mi(r,e),e;default:return}}rr(e,0,0,0,1)}}function Md(r,e){var t=(parseFloat(r[0])%360+360)%360/360,a=ai(r[1]),n=ai(r[2]),i=n<=.5?n*(a+1):n+a-n*a,o=n*2-i;return e=e||[],rr(e,Dr(rv(o,i,t+1/3)*255),Dr(rv(o,i,t)*255),Dr(rv(o,i,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function EI(r){if(r){var e=r[0]/255,t=r[1]/255,a=r[2]/255,n=Math.min(e,t,a),i=Math.max(e,t,a),o=i-n,s=(i+n)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(i+n):u=o/(2-i-n);var f=((i-e)/6+o/2)/o,h=((i-t)/6+o/2)/o,v=((i-a)/6+o/2)/o;e===i?l=v-h:t===i?l=1/3+f-v:a===i&&(l=2/3+h-f),l<0&&(l+=1),l>1&&(l-=1)}var c=[l*360,u,s];return r[3]!=null&&c.push(r[3]),c}}function Ld(r,e){var t=Ke(r);if(t){for(var a=0;a<3;a++)e<0?t[a]=t[a]*(1-e)|0:t[a]=(255-t[a])*e+t[a]|0,t[a]>255?t[a]=255:t[a]<0&&(t[a]=0);return va(t,t.length===4?"rgba":"rgb")}}function av(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=e[n],s=e[i],l=a-n;return t[0]=Dr(Za(o[0],s[0],l)),t[1]=Dr(Za(o[1],s[1],l)),t[2]=Dr(Za(o[2],s[2],l)),t[3]=Us(Za(o[3],s[3],l)),t}}function kI(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=Ke(e[n]),s=Ke(e[i]),l=a-n,u=va([Dr(Za(o[0],s[0],l)),Dr(Za(o[1],s[1],l)),Dr(Za(o[2],s[2],l)),Us(Za(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:n,rightIndex:i,value:a}:u}}function Ds(r,e,t,a){var n=Ke(r);if(r)return n=EI(n),e!=null&&(n[0]=RI(e)),t!=null&&(n[1]=ai(t)),a!=null&&(n[2]=ai(a)),va(Md(n),"rgba")}function cf(r,e){var t=Ke(r);if(t&&e!=null)return t[3]=Us(e),va(t,"rgba")}function va(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function df(r,e){var t=Ke(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var Om=new gl(100);function Id(r){if(K(r)){var e=Om.get(r);return e||(e=Ld(r,-.1),Om.put(r,e)),e}else if(nh(r)){var t=V({},r);return t.colorStops=H(r.colorStops,function(a){return{offset:a.offset,color:Ld(a.color,-.1)}}),t}return r}var pf=Math.round;function Ys(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=Ke(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var Nm=1e-4;function Xa(r){return r<Nm&&r>-Nm}function Yl(r){return pf(r*1e3)/1e3}function Pd(r){return pf(r*1e4)/1e4}function OI(r){return"matrix("+Yl(r[0])+","+Yl(r[1])+","+Yl(r[2])+","+Yl(r[3])+","+Pd(r[4])+","+Pd(r[5])+")"}var NI={left:"start",right:"end",center:"middle",middle:"middle"};function BI(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function VI(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function zI(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function Uw(r){return r&&!!r.image}function GI(r){return r&&!!r.svgElement}function yg(r){return Uw(r)||GI(r)}function Yw(r){return r.type==="linear"}function $w(r){return r.type==="radial"}function Zw(r){return r&&(r.type==="linear"||r.type==="radial")}function sh(r){return"url(#"+r+")"}function Xw(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function qw(r){var e=r.x||0,t=r.y||0,a=(r.rotation||0)*Fu,n=vt(r.scaleX,1),i=vt(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),a&&l.push("rotate("+a+")"),(n!==1||i!==1)&&l.push("scale("+n+","+i+")"),(o||s)&&l.push("skew("+pf(o*Fu)+"deg, "+pf(s*Fu)+"deg)"),l.join(" ")}var FI=function(){return xt.hasGlobalWindow&&nt(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),Rd=Array.prototype.slice;function oa(r,e,t){return(e-r)*t+r}function nv(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=oa(e[i],t[i],a);return r}function HI(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=oa(e[o][s],t[o][s],a)}return r}function $l(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=e[i]+t[i]*a;return r}function Bm(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=e[o][s]+t[o][s]*a}return r}function WI(r,e){for(var t=r.length,a=e.length,n=t>a?e:r,i=Math.min(t,a),o=n[i-1]||{color:[0,0,0,0],offset:0},s=i;s<Math.max(t,a);s++)n.push({offset:o.offset,color:o.color.slice()})}function UI(r,e,t){var a=r,n=e;if(!(!a.push||!n.push)){var i=a.length,o=n.length;if(i!==o){var s=i>o;if(s)a.length=o;else for(var l=i;l<o;l++)a.push(t===1?n[l]:Rd.call(n[l]))}for(var u=a[0]&&a[0].length,l=0;l<a.length;l++)if(t===1)isNaN(a[l])&&(a[l]=n[l]);else for(var f=0;f<u;f++)isNaN(a[l][f])&&(a[l][f]=n[l][f])}}function Ms(r){if(Te(r)){var e=r.length;if(Te(r[0])){for(var t=[],a=0;a<e;a++)t.push(Rd.call(r[a]));return t}return Rd.call(r)}return r}function Yu(r){return r[0]=Math.floor(r[0])||0,r[1]=Math.floor(r[1])||0,r[2]=Math.floor(r[2])||0,r[3]=r[3]==null?1:r[3],"rgba("+r.join(",")+")"}function YI(r){return Te(r&&r[0])?2:1}var Zl=0,$u=1,Kw=2,ds=3,Ed=4,kd=5,Vm=6;function zm(r){return r===Ed||r===kd}function Xl(r){return r===$u||r===Kw}var Ho=[0,0,0,0],$I=function(){function r(e){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=e}return r.prototype.isFinished=function(){return this._finished},r.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},r.prototype.needsAnimate=function(){return this.keyframes.length>=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,a){this._needsSort=!0;var n=this.keyframes,i=n.length,o=!1,s=Vm,l=t;if(Te(t)){var u=YI(t);s=u,(u===1&&!Dt(t[0])||u===2&&!Dt(t[0][0]))&&(o=!0)}else if(Dt(t)&&!Fs(t))s=Zl;else if(K(t))if(!isNaN(+t))s=Zl;else{var f=Ke(t);f&&(l=f,s=ds)}else if(nh(t)){var h=V({},l);h.colorStops=H(t.colorStops,function(c){return{offset:c.offset,color:Ke(c.color)}}),Yw(t)?s=Ed:$w(t)&&(s=kd),l=h}i===0?this.valType=s:(s!==this.valType||s===Vm)&&(o=!0),this.discrete=this.discrete||o;var v={time:e,value:l,rawValue:t,percent:0};return a&&(v.easing=a,v.easingFunc=nt(a)?a:Cs[a]||gg(a)),n.push(v),v},r.prototype.prepare=function(e,t){var a=this.keyframes;this._needsSort&&a.sort(function(p,g){return p.time-g.time});for(var n=this.valType,i=a.length,o=a[i-1],s=this.discrete,l=Xl(n),u=zm(n),f=0;f<i;f++){var h=a[f],v=h.value,c=o.value;h.percent=h.time/e,s||(l&&f!==i-1?UI(v,c,n):u&&WI(v.colorStops,c.colorStops))}if(!s&&n!==kd&&t&&this.needsAnimate()&&t.needsAnimate()&&n===t.valType&&!t._finished){this._additiveTrack=t;for(var d=a[0].value,f=0;f<i;f++)n===Zl?a[f].additiveValue=a[f].value-d:n===ds?a[f].additiveValue=$l([],a[f].value,d,-1):Xl(n)&&(a[f].additiveValue=n===$u?$l([],a[f].value,d,-1):Bm([],a[f].value,d,-1))}},r.prototype.step=function(e,t){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var a=this._additiveTrack!=null,n=a?"additiveValue":"value",i=this.valType,o=this.keyframes,s=o.length,l=this.propName,u=i===ds,f,h=this._lastFr,v=Math.min,c,d;if(s===1)c=d=o[0];else{if(t<0)f=0;else if(t<this._lastFrP){var p=v(h+1,s-1);for(f=p;f>=0&&!(o[f].percent<=t);f--);f=v(f,s-2)}else{for(f=h;f<s&&!(o[f].percent>t);f++);f=v(f-1,s-2)}d=o[f+1],c=o[f]}if(c&&d){this._lastFr=f,this._lastFrP=t;var g=d.percent-c.percent,y=g===0?1:v((t-c.percent)/g,1);d.easingFunc&&(y=d.easingFunc(y));var m=a?this._additiveValue:u?Ho:e[l];if((Xl(i)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)e[l]=y<1?c.rawValue:d.rawValue;else if(Xl(i))i===$u?nv(m,c[n],d[n],y):HI(m,c[n],d[n],y);else if(zm(i)){var _=c[n],S=d[n],b=i===Ed;e[l]={type:b?"linear":"radial",x:oa(_.x,S.x,y),y:oa(_.y,S.y,y),colorStops:H(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:oa(w.offset,A.offset,y),color:Yu(nv([],w.color,A.color,y))}}),global:S.global},b?(e[l].x2=oa(_.x2,S.x2,y),e[l].y2=oa(_.y2,S.y2,y)):e[l].r=oa(_.r,S.r,y)}else if(u)nv(m,c[n],d[n],y),a||(e[l]=Yu(m));else{var x=oa(c[n],d[n],y);a?this._additiveValue=x:e[l]=x}a&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,a=this.propName,n=this._additiveValue;t===Zl?e[a]=e[a]+n:t===ds?(Ke(e[a],Ho),$l(Ho,Ho,n,1),e[a]=Yu(Ho)):t===$u?$l(e[a],e[a],n,1):t===Kw&&Bm(e[a],e[a],n,1)},r}(),mg=function(){function r(e,t,a,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&n){ug("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=a}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,a){return this.whenWithKeys(e,t,wt(t),a)},r.prototype.whenWithKeys=function(e,t,a,n){for(var i=this._tracks,o=0;o<a.length;o++){var s=a[o],l=i[s];if(!l){l=i[s]=new $I(s);var u=void 0,f=this._getAdditiveTrack(s);if(f){var h=f.keyframes,v=h[h.length-1];u=v&&v.value,f.valType===ds&&u&&(u=Yu(u))}else u=this._target[s];if(u==null)continue;e>0&&l.addKeyframe(0,Ms(u),n),this._trackKeys.push(s)}l.addKeyframe(e,Ms(t[s]),n)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,a=0;a<t;a++)e[a].call(this)},r.prototype._abortedCallback=function(){this._setTracksFinished();var e=this.animation,t=this._abortedCbs;if(e&&e.removeClip(this._clip),this._clip=null,t)for(var a=0;a<t.length;a++)t[a].call(this)},r.prototype._setTracksFinished=function(){for(var e=this._tracks,t=this._trackKeys,a=0;a<t.length;a++)e[t[a]].setFinished()},r.prototype._getAdditiveTrack=function(e){var t,a=this._additiveAnimators;if(a)for(var n=0;n<a.length;n++){var i=a[n].getTrack(e);i&&(t=i)}return t},r.prototype.start=function(e){if(!(this._started>0)){this._started=1;for(var t=this,a=[],n=this._maxTime||0,i=0;i<this._trackKeys.length;i++){var o=this._trackKeys[i],s=this._tracks[o],l=this._getAdditiveTrack(o),u=s.keyframes,f=u.length;if(s.prepare(n,l),s.needsAnimate())if(!this._allowDiscrete&&s.discrete){var h=u[f-1];h&&(t._target[s.propName]=h.rawValue),s.setFinished()}else a.push(s)}if(a.length||this._force){var v=new II({life:n,loop:this._loop,delay:this._delay||0,onframe:function(c){t._started=2;var d=t._additiveAnimators;if(d){for(var p=!1,g=0;g<d.length;g++)if(d[g]._clip){p=!0;break}p||(t._additiveAnimators=null)}for(var g=0;g<a.length;g++)a[g].step(t._target,c);var y=t._onframeCbs;if(y)for(var g=0;g<y.length;g++)y[g](t._target,c)},ondestroy:function(){t._doneCallback()}});this._clip=v,this.animation&&this.animation.addClip(v),e&&v.setEasing(e)}else this._doneCallback();return this}},r.prototype.stop=function(e){if(this._clip){var t=this._clip;e&&t.onframe(1),this._abortedCallback()}},r.prototype.delay=function(e){return this._delay=e,this},r.prototype.during=function(e){return e&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(e)),this},r.prototype.done=function(e){return e&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(e)),this},r.prototype.aborted=function(e){return e&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(e)),this},r.prototype.getClip=function(){return this._clip},r.prototype.getTrack=function(e){return this._tracks[e]},r.prototype.getTracks=function(){var e=this;return H(this._trackKeys,function(t){return e._tracks[t]})},r.prototype.stopTracks=function(e,t){if(!e.length||!this._clip)return!0;for(var a=this._tracks,n=this._trackKeys,i=0;i<e.length;i++){var o=a[e[i]];o&&!o.isFinished()&&(t?o.step(this._target,1):this._started===1&&o.step(this._target,0),o.setFinished())}for(var s=!0,i=0;i<n.length;i++)if(!a[n[i]].isFinished()){s=!1;break}return s&&this._abortedCallback(),s},r.prototype.saveTo=function(e,t,a){if(e){t=t||this._trackKeys;for(var n=0;n<t.length;n++){var i=t[n],o=this._tracks[i];if(!(!o||o.isFinished())){var s=o.keyframes,l=s[a?0:s.length-1];l&&(e[i]=Ms(l.rawValue))}}}},r.prototype.__changeFinalValue=function(e,t){t=t||wt(e);for(var a=0;a<t.length;a++){var n=t[a],i=this._tracks[n];if(i){var o=i.keyframes;if(o.length>1){var s=o.pop();i.addKeyframe(s.time,e[n]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},r}();function to(){return new Date().getTime()}var ZI=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._running=!1,a._time=0,a._pausedTime=0,a._pauseStart=0,a._paused=!1,t=t||{},a.stage=t.stage||{},a}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var a=t.getClip();a&&this.addClip(a)},e.prototype.removeClip=function(t){if(t.animation){var a=t.prev,n=t.next;a?a.next=n:this._head=n,n?n.prev=a:this._tail=a,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var a=t.getClip();a&&this.removeClip(a),t.animation=null},e.prototype.update=function(t){for(var a=to()-this._pausedTime,n=a-this._time,i=this._head;i;){var o=i.next,s=i.step(a,n);s&&(i.ondestroy(),this.removeClip(i)),i=o}this._time=a,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function a(){t._running&&(ff(a),!t._paused&&t.update())}ff(a)},e.prototype.start=function(){this._running||(this._time=to(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=to(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=to()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var a=t.next;t.prev=t.next=t.animation=null,t=a}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,a){a=a||{},this.start();var n=new mg(t,a.loop);return this.addAnimator(n),n},e}(dr),XI=300,iv=xt.domSupported,ov=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},a=H(r,function(n){var i=n.replace("mouse","pointer");return t.hasOwnProperty(i)?i:n});return{mouse:r,touch:e,pointer:a}}(),Gm={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Fm=!1;function Od(r){var e=r.pointerType;return e==="pen"||e==="touch"}function qI(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function sv(r){r&&(r.zrByTouch=!0)}function KI(r,e){return ar(r.dom,new JI(r,e),!0)}function Jw(r,e){for(var t=e,a=!1;t&&t.nodeType!==9&&!(a=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return a}var JI=function(){function r(e,t){this.stopPropagation=qt,this.stopImmediatePropagation=qt,this.preventDefault=qt,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r}(),br={mousedown:function(r){r=ar(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=ar(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=ar(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=ar(this.dom,r);var e=r.toElement||r.relatedTarget;Jw(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){Fm=!0,r=ar(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){Fm||(r=ar(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=ar(this.dom,r),sv(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),br.mousemove.call(this,r),br.mousedown.call(this,r)},touchmove:function(r){r=ar(this.dom,r),sv(r),this.handler.processGesture(r,"change"),br.mousemove.call(this,r)},touchend:function(r){r=ar(this.dom,r),sv(r),this.handler.processGesture(r,"end"),br.mouseup.call(this,r),+new Date-+this.__lastTouchMoment<XI&&br.click.call(this,r)},pointerdown:function(r){br.mousedown.call(this,r)},pointermove:function(r){Od(r)||br.mousemove.call(this,r)},pointerup:function(r){br.mouseup.call(this,r)},pointerout:function(r){Od(r)||br.mouseout.call(this,r)}};D(["click","dblclick","contextmenu"],function(r){br[r]=function(e){e=ar(this.dom,e),this.trigger(r,e)}});var Nd={pointermove:function(r){Od(r)||Nd.mousemove.call(this,r)},pointerup:function(r){Nd.mouseup.call(this,r)},mousemove:function(r){this.trigger("mousemove",r)},mouseup:function(r){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",r),e&&(r.zrEventControl="only_globalout",this.trigger("mouseout",r))}};function QI(r,e){var t=e.domHandlers;xt.pointerEventsSupported?D(ov.pointer,function(a){Zu(e,a,function(n){t[a].call(r,n)})}):(xt.touchEventsSupported&&D(ov.touch,function(a){Zu(e,a,function(n){t[a].call(r,n),qI(e)})}),D(ov.mouse,function(a){Zu(e,a,function(n){n=cg(n),e.touching||t[a].call(r,n)})}))}function jI(r,e){xt.pointerEventsSupported?D(Gm.pointer,t):xt.touchEventsSupported||D(Gm.mouse,t);function t(a){function n(i){i=cg(i),Jw(r,i.target)||(i=KI(r,i),e.domHandlers[a].call(r,i))}Zu(e,a,n,{capture:!0})}}function Zu(r,e,t,a){r.mounted[e]=t,r.listenerOpts[e]=a,Ad(r.domTarget,e,t,a)}function lv(r){var e=r.mounted;for(var t in e)e.hasOwnProperty(t)&&cI(r.domTarget,t,e[t],r.listenerOpts[t]);r.mounted={}}var Hm=function(){function r(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return r}(),tP=function(r){k(e,r);function e(t,a){var n=r.call(this)||this;return n.__pointerCapturing=!1,n.dom=t,n.painterRoot=a,n._localHandlerScope=new Hm(t,br),iv&&(n._globalHandlerScope=new Hm(document,Nd)),QI(n,n._localHandlerScope),n}return e.prototype.dispose=function(){lv(this._localHandlerScope),iv&&lv(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,iv&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var a=this._globalHandlerScope;t?jI(this,a):lv(a)}},e}(dr),Qw=1;xt.hasGlobalWindow&&(Qw=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var gf=Qw,Bd=.4,Vd="#333",zd="#ccc",eP="#eee",Wm=oh,Um=5e-5;function mn(r){return r>Um||r<-Um}var _n=[],Li=[],uv=qe(),fv=Math.abs,la=function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return mn(this.rotation)||mn(this.x)||mn(this.y)||mn(this.scaleX-1)||mn(this.scaleY-1)||mn(this.skewX)||mn(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),a=this.transform;if(!(t||e)){a&&(Wm(a),this.invTransform=null);return}a=a||qe(),t?this.getLocalTransform(a):Wm(a),e&&(t?ha(a,e,a):dg(a,e)),this.transform=a,this._resolveGlobalScaleRatio(a)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(_n);var a=_n[0]<0?-1:1,n=_n[1]<0?-1:1,i=((_n[0]-a)*t+a)/_n[0]||0,o=((_n[1]-n)*t+n)/_n[1]||0;e[0]*=i,e[1]*=i,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||qe(),To(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],n=Math.atan2(e[1],e[0]),i=Math.PI/2+n-Math.atan2(e[3],e[2]);a=Math.sqrt(a)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-n,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=a,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||qe(),ha(Li,e.invTransform,t),t=Li);var a=this.originX,n=this.originY;(a||n)&&(uv[4]=a,uv[5]=n,ha(Li,t,uv),Li[4]-=a,Li[5]-=n,t=Li),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var a=[e,t],n=this.invTransform;return n&&pe(a,a,n),a},r.prototype.transformCoordToGlobal=function(e,t){var a=[e,t],n=this.transform;return n&&pe(a,a,n),a},r.prototype.getLineScale=function(){var e=this.transform;return e&&fv(e[0]-1)>1e-10&&fv(e[3]-1)>1e-10?Math.sqrt(fv(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){jw(this,e)},r.getLocalTransform=function(e,t){t=t||[];var a=e.originX||0,n=e.originY||0,i=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,f=e.x,h=e.y,v=e.skewX?Math.tan(e.skewX):0,c=e.skewY?Math.tan(-e.skewY):0;if(a||n||s||l){var d=a+s,p=n+l;t[4]=-d*i-v*p*o,t[5]=-p*o-c*d*i}else t[4]=t[5]=0;return t[0]=i,t[3]=o,t[1]=c*i,t[2]=v*o,u&&_i(t,t,u),t[4]+=a+f,t[5]+=n+h,t},r.initDefaultProps=function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),r}(),Jr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function jw(r,e){for(var t=0;t<Jr.length;t++){var a=Jr[t];r[a]=e[a]}}var Ym={};function Je(r,e){e=e||rn;var t=Ym[e];t||(t=Ym[e]=new gl(500));var a=t.get(r);return a==null&&(a=an.measureText(r,e).width,t.put(r,a)),a}function $m(r,e,t,a){var n=Je(r,e),i=lh(e),o=ps(0,n,t),s=Ki(0,i,a),l=new gt(o,s,n,i);return l}function yl(r,e,t,a){var n=((r||"")+"").split(` +`),i=n.length;if(i===1)return $m(n[0],e,t,a);for(var o=new gt(0,0,0,0),s=0;s<n.length;s++){var l=$m(n[s],e,t,a);s===0?o.copy(l):o.union(l)}return o}function ps(r,e,t){return t==="right"?r-=e:t==="center"&&(r-=e/2),r}function Ki(r,e,t){return t==="middle"?r-=e/2:t==="bottom"&&(r-=e),r}function lh(r){return Je("国",r)}function Lr(r,e){return typeof r=="string"?r.lastIndexOf("%")>=0?parseFloat(r)/100*e:parseFloat(r):r}function yf(r,e,t){var a=e.position||"inside",n=e.distance!=null?e.distance:5,i=t.height,o=t.width,s=i/2,l=t.x,u=t.y,f="left",h="top";if(a instanceof Array)l+=Lr(a[0],t.width),u+=Lr(a[1],t.height),f=null,h=null;else switch(a){case"left":l-=n,u+=s,f="right",h="middle";break;case"right":l+=n+o,u+=s,h="middle";break;case"top":l+=o/2,u-=n,f="center",h="bottom";break;case"bottom":l+=o/2,u+=i+n,f="center";break;case"inside":l+=o/2,u+=s,f="center",h="middle";break;case"insideLeft":l+=n,u+=s,h="middle";break;case"insideRight":l+=o-n,u+=s,f="right",h="middle";break;case"insideTop":l+=o/2,u+=n,f="center";break;case"insideBottom":l+=o/2,u+=i-n,f="center",h="bottom";break;case"insideTopLeft":l+=n,u+=n;break;case"insideTopRight":l+=o-n,u+=n,f="right";break;case"insideBottomLeft":l+=n,u+=i-n,h="bottom";break;case"insideBottomRight":l+=o-n,u+=i-n,f="right",h="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=h,r}var hv="__zr_normal__",vv=Jr.concat(["ignore"]),rP=qr(Jr,function(r,e){return r[e]=!0,r},{ignore:!1}),Ii={},aP=new gt(0,0,0,0),uh=function(){function r(e){this.id=Dw(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return r.prototype._init=function(e){this.attr(e)},r.prototype.drift=function(e,t,a){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=e,n[5]+=t,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var a=this.textConfig,n=a.local,i=t.innerTransformable,o=void 0,s=void 0,l=!1;i.parent=n?this:null;var u=!1;if(i.copyTransform(t),a.position!=null){var f=aP;a.layoutRect?f.copy(a.layoutRect):f.copy(this.getBoundingRect()),n||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Ii,a,f):yf(Ii,a,f),i.x=Ii.x,i.y=Ii.y,o=Ii.align,s=Ii.verticalAlign;var h=a.origin;if(h&&a.rotation!=null){var v=void 0,c=void 0;h==="center"?(v=f.width*.5,c=f.height*.5):(v=Lr(h[0],f.width),c=Lr(h[1],f.height)),u=!0,i.originX=-i.x+v+(n?0:f.x),i.originY=-i.y+c+(n?0:f.y)}}a.rotation!=null&&(i.rotation=a.rotation);var d=a.offset;d&&(i.x+=d[0],i.y+=d[1],u||(i.originX=-d[0],i.originY=-d[1]));var p=a.inside==null?typeof a.position=="string"&&a.position.indexOf("inside")>=0:a.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;p&&this.canBeInsideText()?(y=a.insideFill,m=a.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=a.outsideFill,m=a.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,t.setDefaultTextStyle(g)),t.__dirty|=Ze,l&&t.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(e){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?zd:Vd},r.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),a=typeof t=="string"&&Ke(t);a||(a=[255,255,255,1]);for(var n=a[3],i=this.__zr.isDarkMode(),o=0;o<3;o++)a[o]=a[o]*n+(i?0:255)*(1-n);return a[3]=1,va(a,"rgba")},r.prototype.traverse=function(e,t){},r.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},V(this.extra,t)):this[e]=t},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(st(e))for(var a=e,n=wt(a),i=0;i<n.length;i++){var o=n[i];this.attrKV(o,e[o])}return this.markRedraw(),this},r.prototype.saveCurrentToNormalState=function(e){this._innerSaveToNormal(e);for(var t=this._normalState,a=0;a<this.animators.length;a++){var n=this.animators[a],i=n.__fromStateTransition;if(!(n.getLoop()||i&&i!==hv)){var o=n.targetName,s=o?t[o]:t;n.saveTo(s)}}},r.prototype._innerSaveToNormal=function(e){var t=this._normalState;t||(t=this._normalState={}),e.textConfig&&!t.textConfig&&(t.textConfig=this.textConfig),this._savePrimaryToNormal(e,t,vv)},r.prototype._savePrimaryToNormal=function(e,t,a){for(var n=0;n<a.length;n++){var i=a[n];e[i]!=null&&!(i in t)&&(t[i]=this[i])}},r.prototype.hasState=function(){return this.currentStates.length>0},r.prototype.getState=function(e){return this.states[e]},r.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},r.prototype.clearStates=function(e){this.useState(hv,!1,e)},r.prototype.useState=function(e,t,a,n){var i=e===hv,o=this.hasState();if(!(!o&&i)){var s=this.currentStates,l=this.stateTransition;if(!(yt(s,e)>=0&&(t||s.length===1))){var u;if(this.stateProxy&&!i&&(u=this.stateProxy(e)),u||(u=this.states&&this.states[e]),!u&&!i){ug("State "+e+" not exists.");return}i||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||n);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,u,this._normalState,t,!a&&!this.__inHover&&l&&l.duration>0,l);var h=this._textContent,v=this._textGuide;return h&&h.useState(e,t,a,f),v&&v.useState(e,t,a,f),i?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Ze),u}}},r.prototype.useStates=function(e,t,a){if(!e.length)this.clearStates();else{var n=[],i=this.currentStates,o=e.length,s=o===i.length;if(s){for(var l=0;l<o;l++)if(e[l]!==i[l]){s=!1;break}}if(s)return;for(var l=0;l<o;l++){var u=e[l],f=void 0;this.stateProxy&&(f=this.stateProxy(u,e)),f||(f=this.states[u]),f&&n.push(f)}var h=n[o-1],v=!!(h&&h.hoverLayer||a);v&&this._toggleHoverLayerFlag(!0);var c=this._mergeStates(n),d=this.stateTransition;this.saveCurrentToNormalState(c),this._applyStateObj(e.join(","),c,this._normalState,!1,!t&&!this.__inHover&&d&&d.duration>0,d);var p=this._textContent,g=this._textGuide;p&&p.useStates(e,t,v),g&&g.useStates(e,t,v),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!v&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Ze)}},r.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},r.prototype._updateAnimationTargets=function(){for(var e=0;e<this.animators.length;e++){var t=this.animators[e];t.targetName&&t.changeTarget(this[t.targetName])}},r.prototype.removeState=function(e){var t=yt(this.currentStates,e);if(t>=0){var a=this.currentStates.slice();a.splice(t,1),this.useStates(a)}},r.prototype.replaceState=function(e,t,a){var n=this.currentStates.slice(),i=yt(n,e),o=yt(n,t)>=0;i>=0?o?n.splice(i,1):n[i]=t:a&&!o&&n.push(t),this.useStates(n)},r.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},r.prototype._mergeStates=function(e){for(var t={},a,n=0;n<e.length;n++){var i=e[n];V(t,i),i.textConfig&&(a=a||{},V(a,i.textConfig))}return a&&(t.textConfig=a),t},r.prototype._applyStateObj=function(e,t,a,n,i,o){var s=!(t&&n);t&&t.textConfig?(this.textConfig=V({},n?this.textConfig:a.textConfig),V(this.textConfig,t.textConfig)):s&&a.textConfig&&(this.textConfig=a.textConfig);for(var l={},u=!1,f=0;f<vv.length;f++){var h=vv[f],v=i&&rP[h];t&&t[h]!=null?v?(u=!0,l[h]=t[h]):this[h]=t[h]:s&&a[h]!=null&&(v?(u=!0,l[h]=a[h]):this[h]=a[h])}if(!i)for(var f=0;f<this.animators.length;f++){var c=this.animators[f],d=c.targetName;c.getLoop()||c.__changeFinalValue(d?(t||a)[d]:t||a)}u&&this._transitionState(e,l,o)},r.prototype._attachComponent=function(e){if(!(e.__zr&&!e.__hostTarget)&&e!==this){var t=this.__zr;t&&e.addSelfToZr(t),e.__zr=t,e.__hostTarget=this}},r.prototype._detachComponent=function(e){e.__zr&&e.removeSelfFromZr(e.__zr),e.__zr=null,e.__hostTarget=null},r.prototype.getClipPath=function(){return this._clipPath},r.prototype.setClipPath=function(e){this._clipPath&&this._clipPath!==e&&this.removeClipPath(),this._attachComponent(e),this._clipPath=e,this.markRedraw()},r.prototype.removeClipPath=function(){var e=this._clipPath;e&&(this._detachComponent(e),this._clipPath=null,this.markRedraw())},r.prototype.getTextContent=function(){return this._textContent},r.prototype.setTextContent=function(e){var t=this._textContent;t!==e&&(t&&t!==e&&this.removeTextContent(),e.innerTransformable=new la,this._attachComponent(e),this._textContent=e,this.markRedraw())},r.prototype.setTextConfig=function(e){this.textConfig||(this.textConfig={}),V(this.textConfig,e),this.markRedraw()},r.prototype.removeTextConfig=function(){this.textConfig=null,this.markRedraw()},r.prototype.removeTextContent=function(){var e=this._textContent;e&&(e.innerTransformable=null,this._detachComponent(e),this._textContent=null,this._innerTextDefaultStyle=null,this.markRedraw())},r.prototype.getTextGuideLine=function(){return this._textGuide},r.prototype.setTextGuideLine=function(e){this._textGuide&&this._textGuide!==e&&this.removeTextGuideLine(),this._attachComponent(e),this._textGuide=e,this.markRedraw()},r.prototype.removeTextGuideLine=function(){var e=this._textGuide;e&&(this._detachComponent(e),this._textGuide=null,this.markRedraw())},r.prototype.markRedraw=function(){this.__dirty|=Ze;var e=this.__zr;e&&(this.__inHover?e.refreshHover():e.refresh()),this.__hostTarget&&this.__hostTarget.markRedraw()},r.prototype.dirty=function(){this.markRedraw()},r.prototype._toggleHoverLayerFlag=function(e){this.__inHover=e;var t=this._textContent,a=this._textGuide;t&&(t.__inHover=e),a&&(a.__inHover=e)},r.prototype.addSelfToZr=function(e){if(this.__zr!==e){this.__zr=e;var t=this.animators;if(t)for(var a=0;a<t.length;a++)e.animation.addAnimator(t[a]);this._clipPath&&this._clipPath.addSelfToZr(e),this._textContent&&this._textContent.addSelfToZr(e),this._textGuide&&this._textGuide.addSelfToZr(e)}},r.prototype.removeSelfFromZr=function(e){if(this.__zr){this.__zr=null;var t=this.animators;if(t)for(var a=0;a<t.length;a++)e.animation.removeAnimator(t[a]);this._clipPath&&this._clipPath.removeSelfFromZr(e),this._textContent&&this._textContent.removeSelfFromZr(e),this._textGuide&&this._textGuide.removeSelfFromZr(e)}},r.prototype.animate=function(e,t,a){var n=e?this[e]:this,i=new mg(n,t,a);return e&&(i.targetName=e),this.addAnimator(i,e),i},r.prototype.addAnimator=function(e,t){var a=this.__zr,n=this;e.during(function(){n.updateDuringAnimation(t)}).done(function(){var i=n.animators,o=yt(i,e);o>=0&&i.splice(o,1)}),this.animators.push(e),a&&a.animation.addAnimator(e),a&&a.wakeUp()},r.prototype.updateDuringAnimation=function(e){this.markRedraw()},r.prototype.stopAnimation=function(e,t){for(var a=this.animators,n=a.length,i=[],o=0;o<n;o++){var s=a[o];!e||e===s.scope?s.stop(t):i.push(s)}return this.animators=i,this},r.prototype.animateTo=function(e,t,a){cv(this,e,t,a)},r.prototype.animateFrom=function(e,t,a){cv(this,e,t,a,!0)},r.prototype._transitionState=function(e,t,a,n){for(var i=cv(this,t,a,n),o=0;o<i.length;o++)i[o].__fromStateTransition=e},r.prototype.getBoundingRect=function(){return null},r.prototype.getPaintRect=function(){return null},r.initDefaultProps=function(){var e=r.prototype;e.type="element",e.name="",e.ignore=e.silent=e.isGroup=e.draggable=e.dragging=e.ignoreClip=e.__inHover=!1,e.__dirty=Ze;function t(a,n,i,o){Object.defineProperty(e,a,{get:function(){if(!this[n]){var l=this[n]=[];s(this,l)}return this[n]},set:function(l){this[i]=l[0],this[o]=l[1],this[n]=l,s(this,l)}});function s(l,u){Object.defineProperty(u,0,{get:function(){return l[i]},set:function(f){l[i]=f}}),Object.defineProperty(u,1,{get:function(){return l[o]},set:function(f){l[o]=f}})}}Object.defineProperty&&(t("position","_legacyPos","x","y"),t("scale","_legacyScale","scaleX","scaleY"),t("origin","_legacyOrigin","originX","originY"))}(),r}();te(uh,dr);te(uh,la);function cv(r,e,t,a,n){t=t||{};var i=[];tT(r,"",r,e,t,a,i,n);var o=i.length,s=!1,l=t.done,u=t.aborted,f=function(){s=!0,o--,o<=0&&(s?l&&l():u&&u())},h=function(){o--,o<=0&&(s?l&&l():u&&u())};o||l&&l(),i.length>0&&t.during&&i[0].during(function(d,p){t.during(p)});for(var v=0;v<i.length;v++){var c=i[v];f&&c.done(f),h&&c.aborted(h),t.force&&c.duration(t.duration),c.start(t.easing)}return i}function dv(r,e,t){for(var a=0;a<t;a++)r[a]=e[a]}function nP(r){return Te(r[0])}function iP(r,e,t){if(Te(e[t]))if(Te(r[t])||(r[t]=[]),Ue(e[t])){var a=e[t].length;r[t].length!==a&&(r[t]=new e[t].constructor(a),dv(r[t],e[t],a))}else{var n=e[t],i=r[t],o=n.length;if(nP(n))for(var s=n[0].length,l=0;l<o;l++)i[l]?dv(i[l],n[l],s):i[l]=Array.prototype.slice.call(n[l]);else dv(i,n,o);i.length=n.length}else r[t]=e[t]}function oP(r,e){return r===e||Te(r)&&Te(e)&&sP(r,e)}function sP(r,e){var t=r.length;if(t!==e.length)return!1;for(var a=0;a<t;a++)if(r[a]!==e[a])return!1;return!0}function tT(r,e,t,a,n,i,o,s){for(var l=wt(a),u=n.duration,f=n.delay,h=n.additive,v=n.setToFinal,c=!st(i),d=r.animators,p=[],g=0;g<l.length;g++){var y=l[g],m=a[y];if(m!=null&&t[y]!=null&&(c||i[y]))if(st(m)&&!Te(m)&&!nh(m)){if(e){s||(t[y]=m,r.updateDuringAnimation(e));continue}tT(r,y,t[y],m,n,i&&i[y],o,s)}else p.push(y);else s||(t[y]=m,r.updateDuringAnimation(e),p.push(y))}var _=p.length;if(!h&&_)for(var S=0;S<d.length;S++){var b=d[S];if(b.targetName===e){var x=b.stopTracks(p);if(x){var w=yt(d,b);d.splice(w,1)}}}if(n.force||(p=Pt(p,function(M){return!oP(a[M],t[M])}),_=p.length),_>0||n.force&&!o.length){var T=void 0,A=void 0,C=void 0;if(s){A={},v&&(T={});for(var S=0;S<_;S++){var y=p[S];A[y]=t[y],v?T[y]=a[y]:t[y]=a[y]}}else if(v){C={};for(var S=0;S<_;S++){var y=p[S];C[y]=Ms(t[y]),iP(t,a,y)}}var b=new mg(t,!1,!1,h?Pt(d,function(L){return L.targetName===e}):null);b.targetName=e,n.scope&&(b.scope=n.scope),v&&T&&b.whenWithKeys(0,T,p),C&&b.whenWithKeys(0,C,p),b.whenWithKeys(u??500,s?A:a,p).delay(f||0),r.addAnimator(b,e),o.push(b)}}var ut=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a.isGroup=!0,a._children=[],a.attr(t),a}return e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var a=this._children,n=0;n<a.length;n++)if(a[n].name===t)return a[n]},e.prototype.childCount=function(){return this._children.length},e.prototype.add=function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},e.prototype.addBefore=function(t,a){if(t&&t!==this&&t.parent!==this&&a&&a.parent===this){var n=this._children,i=n.indexOf(a);i>=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,a){var n=yt(this._children,t);return n>=0&&this.replaceAt(a,n),this},e.prototype.replaceAt=function(t,a){var n=this._children,i=n[a];if(t&&t!==this&&t.parent!==this&&t!==i){n[a]=t,i.parent=null;var o=this.__zr;o&&i.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var a=this.__zr;a&&a!==t.__zr&&t.addSelfToZr(a),a&&a.refresh()},e.prototype.remove=function(t){var a=this.__zr,n=this._children,i=yt(n,t);return i<0?this:(n.splice(i,1),t.parent=null,a&&t.removeSelfFromZr(a),a&&a.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,a=this.__zr,n=0;n<t.length;n++){var i=t[n];a&&i.removeSelfFromZr(a),i.parent=null}return t.length=0,this},e.prototype.eachChild=function(t,a){for(var n=this._children,i=0;i<n.length;i++){var o=n[i];t.call(a,o,i)}return this},e.prototype.traverse=function(t,a){for(var n=0;n<this._children.length;n++){var i=this._children[n],o=t.call(a,i);i.isGroup&&!o&&i.traverse(t,a)}return this},e.prototype.addSelfToZr=function(t){r.prototype.addSelfToZr.call(this,t);for(var a=0;a<this._children.length;a++){var n=this._children[a];n.addSelfToZr(t)}},e.prototype.removeSelfFromZr=function(t){r.prototype.removeSelfFromZr.call(this,t);for(var a=0;a<this._children.length;a++){var n=this._children[a];n.removeSelfFromZr(t)}},e.prototype.getBoundingRect=function(t){for(var a=new gt(0,0,0,0),n=t||this._children,i=[],o=null,s=0;s<n.length;s++){var l=n[s];if(!(l.ignore||l.invisible)){var u=l.getBoundingRect(),f=l.getLocalTransform(i);f?(gt.applyTransform(a,u,f),o=o||a.clone(),o.union(a)):(o=o||u.clone(),o.union(u))}}return o||a},e}(uh);ut.prototype.type="group";/*! +* ZRender, a high performance 2d drawing library. +* +* Copyright (c) 2013, Baidu Inc. +* All rights reserved. +* +* LICENSE +* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt +*/var Xu={},eT={};function lP(r){delete eT[r]}function uP(r){if(!r)return!1;if(typeof r=="string")return df(r,1)<Bd;if(r.colorStops){for(var e=r.colorStops,t=0,a=e.length,n=0;n<a;n++)t+=df(e[n].color,1);return t/=a,t<Bd}return!1}var fP=function(){function r(e,t,a){var n=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,a=a||{},this.dom=t,this.id=e;var i=new AI,o=a.renderer||"canvas";Xu[o]||(o=wt(Xu)[0]),a.useDirtyRect=a.useDirtyRect==null?!1:a.useDirtyRect;var s=new Xu[o](t,i,a,e),l=a.ssr||s.ssrOnly;this.storage=i,this.painter=s;var u=!xt.node&&!xt.worker&&!l?new tP(s.getViewportRoot(),s.root):null,f=a.useCoarsePointer,h=f==null||f==="auto"?xt.touchEventsSupported:!!f,v=44,c;h&&(c=vt(a.pointerSize,v)),this.handler=new Ew(i,s,u,s.root,c),this.animation=new ZI({stage:{update:l?null:function(){return n._flush(!0)}}}),l||this.animation.start()}return r.prototype.add=function(e){this._disposed||!e||(this.storage.addRoot(e),e.addSelfToZr(this),this.refresh())},r.prototype.remove=function(e){this._disposed||!e||(this.storage.delRoot(e),e.removeSelfFromZr(this),this.refresh())},r.prototype.configLayer=function(e,t){this._disposed||(this.painter.configLayer&&this.painter.configLayer(e,t),this.refresh())},r.prototype.setBackgroundColor=function(e){this._disposed||(this.painter.setBackgroundColor&&this.painter.setBackgroundColor(e),this.refresh(),this._backgroundColor=e,this._darkMode=uP(e))},r.prototype.getBackgroundColor=function(){return this._backgroundColor},r.prototype.setDarkMode=function(e){this._darkMode=e},r.prototype.isDarkMode=function(){return this._darkMode},r.prototype.refreshImmediately=function(e){this._disposed||(e||this.animation.update(!0),this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1)},r.prototype.refresh=function(){this._disposed||(this._needsRefresh=!0,this.animation.start())},r.prototype.flush=function(){this._disposed||this._flush(!1)},r.prototype._flush=function(e){var t,a=to();this._needsRefresh&&(t=!0,this.refreshImmediately(e)),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately());var n=to();t?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:n-a})):this._sleepAfterStill>0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},r.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},r.prototype.on=function(e,t,a){return this._disposed||this.handler.on(e,t,a),this},r.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},r.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},r.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t<e.length;t++)e[t]instanceof ut&&e[t].removeSelfFromZr(this);this.storage.delAllRoots(),this.painter.clear()}},r.prototype.dispose=function(){this._disposed||(this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,this._disposed=!0,lP(this.id))},r}();function Zm(r,e){var t=new fP(Dw(),r,e);return eT[t.id]=t,t}function hP(r,e){Xu[r]=e}var Gd;function vP(r){if(typeof Gd=="function")return Gd(r)}function cP(r){Gd=r}var Xm=1e-4,rT=20;function dP(r){return r.replace(/^\s+|\s+$/g,"")}function Rt(r,e,t,a){var n=e[0],i=e[1],o=t[0],s=t[1],l=i-n,u=s-o;if(l===0)return u===0?o:(o+s)/2;if(a)if(l>0){if(r<=n)return o;if(r>=i)return s}else{if(r>=n)return o;if(r<=i)return s}else{if(r===n)return o;if(r===i)return s}return(r-n)/l*u+o}function X(r,e){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return K(r)?dP(r).match(/%$/)?parseFloat(r)/100*e:parseFloat(r):r==null?NaN:+r}function Zt(r,e,t){return e==null&&(e=10),e=Math.min(Math.max(0,e),rT),r=(+r).toFixed(e),t?r:+r}function hr(r){return r.sort(function(e,t){return e-t}),r}function Wr(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var e=1,t=0;t<15;t++,e*=10)if(Math.round(r*e)/e===r)return t}return pP(r)}function pP(r){var e=r.toString().toLowerCase(),t=e.indexOf("e"),a=t>0?+e.slice(t+1):0,n=t>0?t:e.length,i=e.indexOf("."),o=i<0?0:n-1-i;return Math.max(0,o-a)}function aT(r,e){var t=Math.log,a=Math.LN10,n=Math.floor(t(r[1]-r[0])/a),i=Math.round(t(Math.abs(e[1]-e[0]))/a),o=Math.min(Math.max(-n+i,0),20);return isFinite(o)?o:20}function gP(r,e){var t=qr(r,function(c,d){return c+(isNaN(d)?0:d)},0);if(t===0)return[];for(var a=Math.pow(10,e),n=H(r,function(c){return(isNaN(c)?0:c)/t*a*100}),i=a*100,o=H(n,function(c){return Math.floor(c)}),s=qr(o,function(c,d){return c+d},0),l=H(n,function(c,d){return c-o[d]});s<i;){for(var u=Number.NEGATIVE_INFINITY,f=null,h=0,v=l.length;h<v;++h)l[h]>u&&(u=l[h],f=h);++o[f],l[f]=0,++s}return H(o,function(c){return c/a})}function yP(r,e){var t=Math.max(Wr(r),Wr(e)),a=r+e;return t>rT?a:Zt(a,t)}var qm=9007199254740991;function nT(r){var e=Math.PI*2;return(r%e+e)%e}function $s(r){return r>-Xm&&r<Xm}var mP=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function Qr(r){if(r instanceof Date)return r;if(K(r)){var e=mP.exec(r);if(!e)return new Date(NaN);if(e[8]){var t=+e[4]||0;return e[8].toUpperCase()!=="Z"&&(t-=+e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,t,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0))}else return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0)}else if(r==null)return new Date(NaN);return new Date(Math.round(r))}function _P(r){return Math.pow(10,_g(r))}function _g(r){if(r===0)return 0;var e=Math.floor(Math.log(r)/Math.LN10);return r/Math.pow(10,e)>=10&&e++,e}function iT(r,e){var t=_g(r),a=Math.pow(10,t),n=r/a,i;return n<1.5?i=1:n<2.5?i=2:n<4?i=3:n<7?i=5:i=10,r=i*a,t>=-20?+r.toFixed(t<0?-t:0):r}function pv(r,e){var t=(r.length-1)*e+1,a=Math.floor(t),n=+r[a-1],i=t-a;return i?n+i*(r[a]-n):n}function Km(r){r.sort(function(l,u){return s(l,u,0)?-1:1});for(var e=-1/0,t=1,a=0;a<r.length;){for(var n=r[a].interval,i=r[a].close,o=0;o<2;o++)n[o]<=e&&(n[o]=e,i[o]=o?1:1-t),e=n[o],t=i[o];n[0]===n[1]&&i[0]*i[1]!==1?r.splice(a,1):a++}return r;function s(l,u,f){return l.interval[f]<u.interval[f]||l.interval[f]===u.interval[f]&&(l.close[f]-u.close[f]===(f?-1:1)||!f&&s(l,u,1))}}function ga(r){var e=parseFloat(r);return e==r&&(e!==0||!K(r)||r.indexOf("x")<=0)?e:NaN}function oT(r){return!isNaN(ga(r))}function sT(){return Math.round(Math.random()*9)}function lT(r,e){return e===0?r:lT(e,r%e)}function Jm(r,e){return r==null?e:e==null?r:r*e/lT(r,e)}function It(r){throw new Error(r)}function Qm(r,e,t){return(e-r)*t+r}var uT="series\0",fT="\0_ec_\0";function Ot(r){return r instanceof Array?r:r==null?[]:[r]}function hi(r,e,t){if(r){r[e]=r[e]||{},r.emphasis=r.emphasis||{},r.emphasis[e]=r.emphasis[e]||{};for(var a=0,n=t.length;a<n;a++){var i=t[a];!r.emphasis[e].hasOwnProperty(i)&&r[e].hasOwnProperty(i)&&(r.emphasis[e][i]=r[e][i])}}}var jm=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"];function Ao(r){return st(r)&&!z(r)&&!(r instanceof Date)?r.value:r}function SP(r){return st(r)&&!(r instanceof Array)}function hT(r,e,t){var a=t==="normalMerge",n=t==="replaceMerge",i=t==="replaceAll";r=r||[],e=(e||[]).slice();var o=et();D(e,function(l,u){if(!st(l)){e[u]=null;return}});var s=xP(r,o,t);return(a||n)&&bP(s,r,o,e),a&&wP(s,e),a||n?TP(s,e,n):i&&AP(s,e),CP(s),s}function xP(r,e,t){var a=[];if(t==="replaceAll")return a;for(var n=0;n<r.length;n++){var i=r[n];i&&i.id!=null&&e.set(i.id,n),a.push({existing:t==="replaceMerge"||Zs(i)?null:i,newOption:null,keyInfo:null,brandNew:null})}return a}function bP(r,e,t,a){D(a,function(n,i){if(!(!n||n.id==null)){var o=Ls(n.id),s=t.get(o);if(s!=null){var l=r[s];Ee(!l.newOption,'Duplicated option on id "'+o+'".'),l.newOption=n,l.existing=e[s],a[i]=null}}})}function wP(r,e){D(e,function(t,a){if(!(!t||t.name==null))for(var n=0;n<r.length;n++){var i=r[n].existing;if(!r[n].newOption&&i&&(i.id==null||t.id==null)&&!Zs(t)&&!Zs(i)&&vT("name",i,t)){r[n].newOption=t,e[a]=null;return}}})}function TP(r,e,t){D(e,function(a){if(a){for(var n,i=0;(n=r[i])&&(n.newOption||Zs(n.existing)||n.existing&&a.id!=null&&!vT("id",a,n.existing));)i++;n?(n.newOption=a,n.brandNew=t):r.push({newOption:a,brandNew:t,existing:null,keyInfo:null}),i++}})}function AP(r,e){D(e,function(t){r.push({newOption:t,brandNew:!0,existing:null,keyInfo:null})})}function CP(r){var e=et();D(r,function(t){var a=t.existing;a&&e.set(a.id,t)}),D(r,function(t){var a=t.newOption;Ee(!a||a.id==null||!e.get(a.id)||e.get(a.id)===t,"id duplicates: "+(a&&a.id)),a&&a.id!=null&&e.set(a.id,t),!t.keyInfo&&(t.keyInfo={})}),D(r,function(t,a){var n=t.existing,i=t.newOption,o=t.keyInfo;if(st(i)){if(o.name=i.name!=null?Ls(i.name):n?n.name:uT+a,n)o.id=Ls(n.id);else if(i.id!=null)o.id=Ls(i.id);else{var s=0;do o.id="\0"+o.name+"\0"+s++;while(e.get(o.id))}e.set(o.id,t)}})}function vT(r,e,t){var a=ee(e[r],null),n=ee(t[r],null);return a!=null&&n!=null&&a===n}function Ls(r){return ee(r,"")}function ee(r,e){return r==null?e:K(r)?r:Dt(r)||md(r)?r+"":e}function Sg(r){var e=r.name;return!!(e&&e.indexOf(uT))}function Zs(r){return r&&r.id!=null&&Ls(r.id).indexOf(fT)===0}function DP(r){return fT+r}function MP(r,e,t){D(r,function(a){var n=a.newOption;st(n)&&(a.keyInfo.mainType=e,a.keyInfo.subType=LP(e,n,a.existing,t))})}function LP(r,e,t,a){var n=e.type?e.type:t?t.subType:a.determineSubType(r,e);return n}function IP(r,e){var t={},a={};return n(r||[],t),n(e||[],a,t),[i(t),i(a)];function n(o,s,l){for(var u=0,f=o.length;u<f;u++){var h=ee(o[u].seriesId,null);if(h==null)return;for(var v=Ot(o[u].dataIndex),c=l&&l[h],d=0,p=v.length;d<p;d++){var g=v[d];c&&c[g]?c[g]=null:(s[h]||(s[h]={}))[g]=1}}}function i(o,s){var l=[];for(var u in o)if(o.hasOwnProperty(u)&&o[u]!=null)if(s)l.push(+u);else{var f=i(o[u],!0);f.length&&l.push({seriesId:u,dataIndex:f})}return l}}function vi(r,e){if(e.dataIndexInside!=null)return e.dataIndexInside;if(e.dataIndex!=null)return z(e.dataIndex)?H(e.dataIndex,function(t){return r.indexOfRawIndex(t)}):r.indexOfRawIndex(e.dataIndex);if(e.name!=null)return z(e.name)?H(e.name,function(t){return r.indexOfName(t)}):r.indexOfName(e.name)}function At(){var r="__ec_inner_"+PP++;return function(e){return e[r]||(e[r]={})}}var PP=sT();function Is(r,e,t){var a=xg(e,t),n=a.mainTypeSpecified,i=a.queryOptionMap,o=a.others,s=o,l=t?t.defaultMainType:null;return!n&&l&&i.set(l,{}),i.each(function(u,f){var h=ml(r,f,u,{useDefault:l===f,enableAll:t&&t.enableAll!=null?t.enableAll:!0,enableNone:t&&t.enableNone!=null?t.enableNone:!0});s[f+"Models"]=h.models,s[f+"Model"]=h.models[0]}),s}function xg(r,e){var t;if(K(r)){var a={};a[r+"Index"]=0,t=a}else t=r;var n=et(),i={},o=!1;return D(t,function(s,l){if(l==="dataIndex"||l==="dataIndexInside"){i[l]=s;return}var u=l.match(/^(\w+)(Index|Id|Name)$/)||[],f=u[1],h=(u[2]||"").toLowerCase();if(!(!f||!h||e&&e.includeMainTypes&&yt(e.includeMainTypes,f)<0)){o=o||!!f;var v=n.get(f)||n.set(f,{});v[h]=s}}),{mainTypeSpecified:o,queryOptionMap:n,others:i}}var Qt={useDefault:!0,enableAll:!1,enableNone:!1},RP={useDefault:!1,enableAll:!0,enableNone:!0};function ml(r,e,t,a){a=a||Qt;var n=t.index,i=t.id,o=t.name,s={models:null,specified:n!=null||i!=null||o!=null};if(!s.specified){var l=void 0;return s.models=a.useDefault&&(l=r.getComponent(e))?[l]:[],s}return n==="none"||n===!1?(Ee(a.enableNone,'`"none"` or `false` is not a valid value on index option.'),s.models=[],s):(n==="all"&&(Ee(a.enableAll,'`"all"` is not a valid value on index option.'),n=i=o=null),s.models=r.queryComponents({mainType:e,index:n,id:i,name:o}),s)}function cT(r,e,t){r.setAttribute?r.setAttribute(e,t):r[e]=t}function EP(r,e){return r.getAttribute?r.getAttribute(e):r[e]}function kP(r){return r==="auto"?xt.domSupported?"html":"richText":r||"html"}function Fd(r,e){var t=et(),a=[];return D(r,function(n){var i=e(n);(t.get(i)||(a.push(i),t.set(i,[]))).push(n)}),{keys:a,buckets:t}}function dT(r,e,t,a,n){var i=e==null||e==="auto";if(a==null)return a;if(Dt(a)){var o=Qm(t||0,a,n);return Zt(o,i?Math.max(Wr(t||0),Wr(a)):e)}else{if(K(a))return n<1?t:a;for(var s=[],l=t,u=a,f=Math.max(l?l.length:0,u.length),h=0;h<f;++h){var v=r.getDimensionInfo(h);if(v&&v.type==="ordinal")s[h]=(n<1&&l?l:u)[h];else{var c=l&&l[h]?l[h]:0,d=u[h],o=Qm(c,d,n);s[h]=Zt(o,i?Math.max(Wr(c),Wr(d)):e)}}return s}}var OP=".",Sn="___EC__COMPONENT__CONTAINER___",pT="___EC__EXTENDED_CLASS___";function Ur(r){var e={main:"",sub:""};if(r){var t=r.split(OP);e.main=t[0]||"",e.sub=t[1]||""}return e}function NP(r){Ee(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(r),'componentType "'+r+'" illegal')}function BP(r){return!!(r&&r[pT])}function bg(r,e){r.$constructor=r,r.extend=function(t){var a=this,n;return VP(a)?n=function(i){k(o,i);function o(){return i.apply(this,arguments)||this}return o}(a):(n=function(){(t.$constructor||a).apply(this,arguments)},$L(n,this)),V(n.prototype,t),n[pT]=!0,n.extend=this.extend,n.superCall=FP,n.superApply=HP,n.superClass=a,n}}function VP(r){return nt(r)&&/^class\s/.test(Function.prototype.toString.call(r))}function gT(r,e){r.extend=e.extend}var zP=Math.round(Math.random()*10);function GP(r){var e=["__\0is_clz",zP++].join("_");r.prototype[e]=!0,r.isInstance=function(t){return!!(t&&t[e])}}function FP(r,e){for(var t=[],a=2;a<arguments.length;a++)t[a-2]=arguments[a];return this.superClass.prototype[e].apply(r,t)}function HP(r,e,t){return this.superClass.prototype[e].apply(r,t)}function fh(r){var e={};r.registerClass=function(a){var n=a.type||a.prototype.type;if(n){NP(n),a.prototype.type=n;var i=Ur(n);if(!i.sub)e[i.main]=a;else if(i.sub!==Sn){var o=t(i);o[i.sub]=a}}return a},r.getClass=function(a,n,i){var o=e[a];if(o&&o[Sn]&&(o=n?o[n]:null),i&&!o)throw new Error(n?"Component "+a+"."+(n||"")+" is used but not imported.":a+".type should be specified.");return o},r.getClassesByMainType=function(a){var n=Ur(a),i=[],o=e[n.main];return o&&o[Sn]?D(o,function(s,l){l!==Sn&&i.push(s)}):i.push(o),i},r.hasClass=function(a){var n=Ur(a);return!!e[n.main]},r.getAllClassMainTypes=function(){var a=[];return D(e,function(n,i){a.push(i)}),a},r.hasSubTypes=function(a){var n=Ur(a),i=e[n.main];return i&&i[Sn]};function t(a){var n=e[a.main];return(!n||!n[Sn])&&(n=e[a.main]={},n[Sn]=!0),n}}function ci(r,e){for(var t=0;t<r.length;t++)r[t][1]||(r[t][1]=r[t][0]);return e=e||!1,function(a,n,i){for(var o={},s=0;s<r.length;s++){var l=r[s][1];if(!(n&&yt(n,l)>=0||i&&yt(i,l)<0)){var u=a.getShallow(l,e);u!=null&&(o[r[s][0]]=u)}}return o}}var WP=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],UP=ci(WP),YP=function(){function r(){}return r.prototype.getAreaStyle=function(e,t){return UP(this,e,t)},r}(),Hd=new gl(50);function $P(r){if(typeof r=="string"){var e=Hd.get(r);return e&&e.image}else return r}function wg(r,e,t,a,n){if(r)if(typeof r=="string"){if(e&&e.__zrImageSrc===r||!t)return e;var i=Hd.get(r),o={hostEl:t,cb:a,cbPayload:n};return i?(e=i.image,!hh(e)&&i.pending.push(o)):(e=an.loadImage(r,t0,t0),e.__zrImageSrc=r,Hd.put(r,e.__cachedImgObj={image:e,pending:[o]})),e}else return r;else return e}function t0(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<r.pending.length;e++){var t=r.pending[e],a=t.cb;a&&a(this,t.cbPayload),t.hostEl.dirty()}r.pending.length=0}function hh(r){return r&&r.width&&r.height}var gv=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;function ZP(r,e,t,a,n,i){if(!t){r.text="",r.isTruncated=!1;return}var o=(e+"").split(` +`);i=yT(t,a,n,i);for(var s=!1,l={},u=0,f=o.length;u<f;u++)mT(l,o[u],i),o[u]=l.textLine,s=s||l.isTruncated;r.text=o.join(` +`),r.isTruncated=s}function yT(r,e,t,a){a=a||{};var n=V({},a);n.font=e,t=vt(t,"..."),n.maxIterations=vt(a.maxIterations,2);var i=n.minChar=vt(a.minChar,0);n.cnCharWidth=Je("国",e);var o=n.ascCharWidth=Je("a",e);n.placeholder=vt(a.placeholder,"");for(var s=r=Math.max(0,r-1),l=0;l<i&&s>=o;l++)s-=o;var u=Je(t,e);return u>s&&(t="",u=0),s=r-u,n.ellipsis=t,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=r,n}function mT(r,e,t){var a=t.containerWidth,n=t.font,i=t.contentWidth;if(!a){r.textLine="",r.isTruncated=!1;return}var o=Je(e,n);if(o<=a){r.textLine=e,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=i||s>=t.maxIterations){e+=t.ellipsis;break}var l=s===0?XP(e,i,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*i/o):0;e=e.substr(0,l),o=Je(e,n)}e===""&&(e=t.placeholder),r.textLine=e,r.isTruncated=!0}function XP(r,e,t,a){for(var n=0,i=0,o=r.length;i<o&&n<e;i++){var s=r.charCodeAt(i);n+=0<=s&&s<=127?t:a}return i}function qP(r,e){r!=null&&(r+="");var t=e.overflow,a=e.padding,n=e.font,i=t==="truncate",o=lh(n),s=vt(e.lineHeight,o),l=!!e.backgroundColor,u=e.lineOverflow==="truncate",f=!1,h=e.width,v;h!=null&&(t==="break"||t==="breakAll")?v=r?_T(r,e.font,h,t==="breakAll",0).lines:[]:v=r?r.split(` +`):[];var c=v.length*s,d=vt(e.height,c);if(c>d&&u){var p=Math.floor(d/s);f=f||v.length>p,v=v.slice(0,p)}if(r&&i&&h!=null)for(var g=yT(h,n,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),y={},m=0;m<v.length;m++)mT(y,v[m],g),v[m]=y.textLine,f=f||y.isTruncated;for(var _=d,S=0,m=0;m<v.length;m++)S=Math.max(Je(v[m],n),S);h==null&&(h=S);var b=S;return a&&(_+=a[0]+a[2],b+=a[1]+a[3],h+=a[1]+a[3]),l&&(b=h),{lines:v,height:d,outerWidth:b,outerHeight:_,lineHeight:s,calculatedLineHeight:o,contentWidth:S,contentHeight:c,width:h,isTruncated:f}}var KP=function(){function r(){}return r}(),e0=function(){function r(e){this.tokens=[],e&&(this.tokens=e)}return r}(),JP=function(){function r(){this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.outerWidth=0,this.outerHeight=0,this.lines=[],this.isTruncated=!1}return r}();function QP(r,e){var t=new JP;if(r!=null&&(r+=""),!r)return t;for(var a=e.width,n=e.height,i=e.overflow,o=(i==="break"||i==="breakAll")&&a!=null?{width:a,accumWidth:0,breakAll:i==="breakAll"}:null,s=gv.lastIndex=0,l;(l=gv.exec(r))!=null;){var u=l.index;u>s&&yv(t,r.substring(s,u),e,o),yv(t,l[2],e,o,l[1]),s=gv.lastIndex}s<r.length&&yv(t,r.substring(s,r.length),e,o);var f=[],h=0,v=0,c=e.padding,d=i==="truncate",p=e.lineOverflow==="truncate",g={};function y(G,U,Z){G.width=U,G.lineHeight=Z,h+=Z,v=Math.max(v,U)}t:for(var m=0;m<t.lines.length;m++){for(var _=t.lines[m],S=0,b=0,x=0;x<_.tokens.length;x++){var w=_.tokens[x],T=w.styleName&&e.rich[w.styleName]||{},A=w.textPadding=T.padding,C=A?A[1]+A[3]:0,M=w.font=T.font||e.font;w.contentHeight=lh(M);var L=vt(T.height,w.contentHeight);if(w.innerHeight=L,A&&(L+=A[0]+A[2]),w.height=L,w.lineHeight=Zr(T.lineHeight,e.lineHeight,L),w.align=T&&T.align||e.align,w.verticalAlign=T&&T.verticalAlign||"middle",p&&n!=null&&h+w.lineHeight>n){var I=t.lines.length;x>0?(_.tokens=_.tokens.slice(0,x),y(_,b,S),t.lines=t.lines.slice(0,m+1)):t.lines=t.lines.slice(0,m),t.isTruncated=t.isTruncated||t.lines.length<I;break t}var P=T.width,R=P==null||P==="auto";if(typeof P=="string"&&P.charAt(P.length-1)==="%")w.percentWidth=P,f.push(w),w.contentWidth=Je(w.text,M);else{if(R){var E=T.backgroundColor,N=E&&E.image;N&&(N=$P(N),hh(N)&&(w.width=Math.max(w.width,N.width*L/N.height)))}var O=d&&a!=null?a-b:null;O!=null&&O<w.width?!R||O<C?(w.text="",w.width=w.contentWidth=0):(ZP(g,w.text,O-C,M,e.ellipsis,{minChar:e.truncateMinChar}),w.text=g.text,t.isTruncated=t.isTruncated||g.isTruncated,w.width=w.contentWidth=Je(w.text,M)):w.contentWidth=Je(w.text,M)}w.width+=C,b+=w.width,T&&(S=Math.max(S,w.lineHeight))}y(_,b,S)}t.outerWidth=t.width=vt(a,v),t.outerHeight=t.height=vt(n,h),t.contentHeight=h,t.contentWidth=v,c&&(t.outerWidth+=c[1]+c[3],t.outerHeight+=c[0]+c[2]);for(var m=0;m<f.length;m++){var w=f[m],B=w.percentWidth;w.width=parseInt(B,10)/100*t.width}return t}function yv(r,e,t,a,n){var i=e==="",o=n&&t.rich[n]||{},s=r.lines,l=o.font||t.font,u=!1,f,h;if(a){var v=o.padding,c=v?v[1]+v[3]:0;if(o.width!=null&&o.width!=="auto"){var d=Lr(o.width,a.width)+c;s.length>0&&d+a.accumWidth>a.width&&(f=e.split(` +`),u=!0),a.accumWidth=d}else{var p=_T(e,l,a.width,a.breakAll,a.accumWidth);a.accumWidth=p.accumWidth+c,h=p.linesWidths,f=p.lines}}else f=e.split(` +`);for(var g=0;g<f.length;g++){var y=f[g],m=new KP;if(m.styleName=n,m.text=y,m.isLineHolder=!y&&!i,typeof o.width=="number"?m.width=o.width:m.width=h?h[g]:Je(y,l),!g&&!u){var _=(s[s.length-1]||(s[0]=new e0)).tokens,S=_.length;S===1&&_[0].isLineHolder?_[0]=m:(y||!S||i)&&_.push(m)}else s.push(new e0([m]))}}function jP(r){var e=r.charCodeAt(0);return e>=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}var tR=qr(",&?/;] ".split(""),function(r,e){return r[e]=!0,r},{});function eR(r){return jP(r)?!!tR[r]:!0}function _T(r,e,t,a,n){for(var i=[],o=[],s="",l="",u=0,f=0,h=0;h<r.length;h++){var v=r.charAt(h);if(v===` +`){l&&(s+=l,f+=u),i.push(s),o.push(f),s="",l="",u=0,f=0;continue}var c=Je(v,e),d=a?!1:!eR(v);if(i.length?f+c>t:n+f+c>t){f?(s||l)&&(d?(s||(s=l,l="",u=0,f=u),i.push(s),o.push(f-u),l+=v,u+=c,s="",f=u):(l&&(s+=l,l="",u=0),i.push(s),o.push(f),s=v,f=c)):d?(i.push(l),o.push(u),l=v,u=c):(i.push(v),o.push(c));continue}f+=c,d?(l+=v,u+=c):(l&&(s+=l,l="",u=0),s+=v)}return!i.length&&!s&&(s=r,l="",u=0),l&&(s+=l),s&&(i.push(s),o.push(f)),i.length===1&&(f+=n),{accumWidth:f,lines:i,linesWidths:o}}var Wd="__zr_style_"+Math.round(Math.random()*10),ni={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},vh={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};ni[Wd]=!0;var r0=["z","z2","invisible"],rR=["invisible"],cr=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype._init=function(t){for(var a=wt(t),n=0;n<a.length;n++){var i=a[n];i==="style"?this.useStyle(t[i]):r.prototype.attrKV.call(this,i,t[i])}this.style||this.useStyle({})},e.prototype.beforeBrush=function(){},e.prototype.afterBrush=function(){},e.prototype.innerBeforeBrush=function(){},e.prototype.innerAfterBrush=function(){},e.prototype.shouldBePainted=function(t,a,n,i){var o=this.transform;if(this.ignore||this.invisible||this.style.opacity===0||this.culling&&aR(this,t,a)||o&&!o[0]&&!o[3])return!1;if(n&&this.__clipPaths){for(var s=0;s<this.__clipPaths.length;++s)if(this.__clipPaths[s].isZeroArea())return!1}if(i&&this.parent)for(var l=this.parent;l;){if(l.ignore)return!1;l=l.parent}return!0},e.prototype.contain=function(t,a){return this.rectContain(t,a)},e.prototype.traverse=function(t,a){t.call(a,this)},e.prototype.rectContain=function(t,a){var n=this.transformCoordToLocal(t,a),i=this.getBoundingRect();return i.contain(n[0],n[1])},e.prototype.getPaintRect=function(){var t=this._paintRect;if(!this._paintRect||this.__dirty){var a=this.transform,n=this.getBoundingRect(),i=this.style,o=i.shadowBlur||0,s=i.shadowOffsetX||0,l=i.shadowOffsetY||0;t=this._paintRect||(this._paintRect=new gt(0,0,0,0)),a?gt.applyTransform(t,n,a):t.copy(n),(o||s||l)&&(t.width+=o*2+Math.abs(s),t.height+=o*2+Math.abs(l),t.x=Math.min(t.x,t.x+s-o),t.y=Math.min(t.y,t.y+l-o));var u=this.dirtyRectTolerance;t.isZero()||(t.x=Math.floor(t.x-u),t.y=Math.floor(t.y-u),t.width=Math.ceil(t.width+1+u*2),t.height=Math.ceil(t.height+1+u*2))}return t},e.prototype.setPrevPaintRect=function(t){t?(this._prevPaintRect=this._prevPaintRect||new gt(0,0,0,0),this._prevPaintRect.copy(t)):this._prevPaintRect=null},e.prototype.getPrevPaintRect=function(){return this._prevPaintRect},e.prototype.animateStyle=function(t){return this.animate("style",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():this.markRedraw()},e.prototype.attrKV=function(t,a){t!=="style"?r.prototype.attrKV.call(this,t,a):this.style?this.setStyle(a):this.useStyle(a)},e.prototype.setStyle=function(t,a){return typeof t=="string"?this.style[t]=a:V(this.style,t),this.dirtyStyle(),this},e.prototype.dirtyStyle=function(t){t||this.markRedraw(),this.__dirty|=cs,this._rect&&(this._rect=null)},e.prototype.dirty=function(){this.dirtyStyle()},e.prototype.styleChanged=function(){return!!(this.__dirty&cs)},e.prototype.styleUpdated=function(){this.__dirty&=~cs},e.prototype.createStyle=function(t){return ih(ni,t)},e.prototype.useStyle=function(t){t[Wd]||(t=this.createStyle(t)),this.__inHover?this.__hoverStyle=t:this.style=t,this.dirtyStyle()},e.prototype.isStyleObject=function(t){return t[Wd]},e.prototype._innerSaveToNormal=function(t){r.prototype._innerSaveToNormal.call(this,t);var a=this._normalState;t.style&&!a.style&&(a.style=this._mergeStyle(this.createStyle(),this.style)),this._savePrimaryToNormal(t,a,r0)},e.prototype._applyStateObj=function(t,a,n,i,o,s){r.prototype._applyStateObj.call(this,t,a,n,i,o,s);var l=!(a&&i),u;if(a&&a.style?o?i?u=a.style:(u=this._mergeStyle(this.createStyle(),n.style),this._mergeStyle(u,a.style)):(u=this._mergeStyle(this.createStyle(),i?this.style:n.style),this._mergeStyle(u,a.style)):l&&(u=n.style),u)if(o){var f=this.style;if(this.style=this.createStyle(l?{}:f),l)for(var h=wt(f),v=0;v<h.length;v++){var c=h[v];c in u&&(u[c]=u[c],this.style[c]=f[c])}for(var d=wt(u),v=0;v<d.length;v++){var c=d[v];this.style[c]=this.style[c]}this._transitionState(t,{style:u},s,this.getAnimationStyleProps())}else this.useStyle(u);for(var p=this.__inHover?rR:r0,v=0;v<p.length;v++){var c=p[v];a&&a[c]!=null?this[c]=a[c]:l&&n[c]!=null&&(this[c]=n[c])}},e.prototype._mergeStates=function(t){for(var a=r.prototype._mergeStates.call(this,t),n,i=0;i<t.length;i++){var o=t[i];o.style&&(n=n||{},this._mergeStyle(n,o.style))}return n&&(a.style=n),a},e.prototype._mergeStyle=function(t,a){return V(t,a),t},e.prototype.getAnimationStyleProps=function(){return vh},e.initDefaultProps=function(){var t=e.prototype;t.type="displayable",t.invisible=!1,t.z=0,t.z2=0,t.zlevel=0,t.culling=!1,t.cursor="pointer",t.rectHover=!1,t.incremental=!1,t._rect=null,t.dirtyRectTolerance=0,t.__dirty=Ze|cs}(),e}(uh),mv=new gt(0,0,0,0),_v=new gt(0,0,0,0);function aR(r,e,t){return mv.copy(r.getBoundingRect()),r.transform&&mv.applyTransform(r.transform),_v.width=e,_v.height=t,!mv.intersect(_v)}var Fe=Math.min,He=Math.max,Sv=Math.sin,xv=Math.cos,xn=Math.PI*2,ql=mi(),Kl=mi(),Jl=mi();function ch(r,e,t){if(r.length!==0){for(var a=r[0],n=a[0],i=a[0],o=a[1],s=a[1],l=1;l<r.length;l++)a=r[l],n=Fe(n,a[0]),i=He(i,a[0]),o=Fe(o,a[1]),s=He(s,a[1]);e[0]=n,e[1]=o,t[0]=i,t[1]=s}}function a0(r,e,t,a,n,i){n[0]=Fe(r,t),n[1]=Fe(e,a),i[0]=He(r,t),i[1]=He(e,a)}var n0=[],i0=[];function nR(r,e,t,a,n,i,o,s,l,u){var f=Vw,h=ne,v=f(r,t,n,o,n0);l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0;for(var c=0;c<v;c++){var d=h(r,t,n,o,n0[c]);l[0]=Fe(d,l[0]),u[0]=He(d,u[0])}v=f(e,a,i,s,i0);for(var c=0;c<v;c++){var p=h(e,a,i,s,i0[c]);l[1]=Fe(p,l[1]),u[1]=He(p,u[1])}l[0]=Fe(r,l[0]),u[0]=He(r,u[0]),l[0]=Fe(o,l[0]),u[0]=He(o,u[0]),l[1]=Fe(e,l[1]),u[1]=He(e,u[1]),l[1]=Fe(s,l[1]),u[1]=He(s,u[1])}function iR(r,e,t,a,n,i,o,s){var l=Gw,u=he,f=He(Fe(l(r,t,n),1),0),h=He(Fe(l(e,a,i),1),0),v=u(r,t,n,f),c=u(e,a,i,h);o[0]=Fe(r,n,v),o[1]=Fe(e,i,c),s[0]=He(r,n,v),s[1]=He(e,i,c)}function oR(r,e,t,a,n,i,o,s,l){var u=Ua,f=Ya,h=Math.abs(n-i);if(h%xn<1e-4&&h>1e-4){s[0]=r-t,s[1]=e-a,l[0]=r+t,l[1]=e+a;return}if(ql[0]=xv(n)*t+r,ql[1]=Sv(n)*a+e,Kl[0]=xv(i)*t+r,Kl[1]=Sv(i)*a+e,u(s,ql,Kl),f(l,ql,Kl),n=n%xn,n<0&&(n=n+xn),i=i%xn,i<0&&(i=i+xn),n>i&&!o?i+=xn:n<i&&o&&(n+=xn),o){var v=i;i=n,n=v}for(var c=0;c<i;c+=Math.PI/2)c>n&&(Jl[0]=xv(c)*t+r,Jl[1]=Sv(c)*a+e,u(s,Jl,s),f(l,Jl,l))}var Bt={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},bn=[],wn=[],Er=[],Ia=[],kr=[],Or=[],bv=Math.min,wv=Math.max,Tn=Math.cos,An=Math.sin,aa=Math.abs,Ud=Math.PI,za=Ud*2,Tv=typeof Float32Array<"u",Wo=[];function Av(r){var e=Math.round(r/Ud*1e8)/1e8;return e%2*Ud}function Tg(r,e){var t=Av(r[0]);t<0&&(t+=za);var a=t-r[0],n=r[1];n+=a,!e&&n-t>=za?n=t+za:e&&t-n>=za?n=t-za:!e&&t>n?n=t+(za-Av(t-n)):e&&t<n&&(n=t-(za-Av(n-t))),r[0]=t,r[1]=n}var jr=function(){function r(e){this.dpr=1,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._len=0,e&&(this._saveData=!1),this._saveData&&(this.data=[])}return r.prototype.increaseVersion=function(){this._version++},r.prototype.getVersion=function(){return this._version},r.prototype.setScale=function(e,t,a){a=a||0,a>0&&(this._ux=aa(a/gf/e)||0,this._uy=aa(a/gf/t)||0)},r.prototype.setDPR=function(e){this.dpr=e},r.prototype.setContext=function(e){this._ctx=e},r.prototype.getContext=function(){return this._ctx},r.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},r.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},r.prototype.moveTo=function(e,t){return this._drawPendingPt(),this.addData(Bt.M,e,t),this._ctx&&this._ctx.moveTo(e,t),this._x0=e,this._y0=t,this._xi=e,this._yi=t,this},r.prototype.lineTo=function(e,t){var a=aa(e-this._xi),n=aa(t-this._yi),i=a>this._ux||n>this._uy;if(this.addData(Bt.L,e,t),this._ctx&&i&&this._ctx.lineTo(e,t),i)this._xi=e,this._yi=t,this._pendingPtDist=0;else{var o=a*a+n*n;o>this._pendingPtDist&&(this._pendingPtX=e,this._pendingPtY=t,this._pendingPtDist=o)}return this},r.prototype.bezierCurveTo=function(e,t,a,n,i,o){return this._drawPendingPt(),this.addData(Bt.C,e,t,a,n,i,o),this._ctx&&this._ctx.bezierCurveTo(e,t,a,n,i,o),this._xi=i,this._yi=o,this},r.prototype.quadraticCurveTo=function(e,t,a,n){return this._drawPendingPt(),this.addData(Bt.Q,e,t,a,n),this._ctx&&this._ctx.quadraticCurveTo(e,t,a,n),this._xi=a,this._yi=n,this},r.prototype.arc=function(e,t,a,n,i,o){this._drawPendingPt(),Wo[0]=n,Wo[1]=i,Tg(Wo,o),n=Wo[0],i=Wo[1];var s=i-n;return this.addData(Bt.A,e,t,a,a,n,s,0,o?0:1),this._ctx&&this._ctx.arc(e,t,a,n,i,o),this._xi=Tn(i)*a+e,this._yi=An(i)*a+t,this},r.prototype.arcTo=function(e,t,a,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(e,t,a,n,i),this},r.prototype.rect=function(e,t,a,n){return this._drawPendingPt(),this._ctx&&this._ctx.rect(e,t,a,n),this.addData(Bt.R,e,t,a,n),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(Bt.Z);var e=this._ctx,t=this._x0,a=this._y0;return e&&e.closePath(),this._xi=t,this._yi=a,this},r.prototype.fill=function(e){e&&e.fill(),this.toStatic()},r.prototype.stroke=function(e){e&&e.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(e){var t=e.length;!(this.data&&this.data.length===t)&&Tv&&(this.data=new Float32Array(t));for(var a=0;a<t;a++)this.data[a]=e[a];this._len=t},r.prototype.appendPath=function(e){e instanceof Array||(e=[e]);for(var t=e.length,a=0,n=this._len,i=0;i<t;i++)a+=e[i].len();Tv&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+a));for(var i=0;i<t;i++)for(var o=e[i].data,s=0;s<o.length;s++)this.data[n++]=o[s];this._len=n},r.prototype.addData=function(e,t,a,n,i,o,s,l,u){if(this._saveData){var f=this.data;this._len+arguments.length>f.length&&(this._expandData(),f=this.data);for(var h=0;h<arguments.length;h++)f[this._len++]=arguments[h]}},r.prototype._drawPendingPt=function(){this._pendingPtDist>0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},r.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var e=[],t=0;t<this._len;t++)e[t]=this.data[t];this.data=e}},r.prototype.toStatic=function(){if(this._saveData){this._drawPendingPt();var e=this.data;e instanceof Array&&(e.length=this._len,Tv&&this._len>11&&(this.data=new Float32Array(e)))}},r.prototype.getBoundingRect=function(){Er[0]=Er[1]=kr[0]=kr[1]=Number.MAX_VALUE,Ia[0]=Ia[1]=Or[0]=Or[1]=-Number.MAX_VALUE;var e=this.data,t=0,a=0,n=0,i=0,o;for(o=0;o<this._len;){var s=e[o++],l=o===1;switch(l&&(t=e[o],a=e[o+1],n=t,i=a),s){case Bt.M:t=n=e[o++],a=i=e[o++],kr[0]=n,kr[1]=i,Or[0]=n,Or[1]=i;break;case Bt.L:a0(t,a,e[o],e[o+1],kr,Or),t=e[o++],a=e[o++];break;case Bt.C:nR(t,a,e[o++],e[o++],e[o++],e[o++],e[o],e[o+1],kr,Or),t=e[o++],a=e[o++];break;case Bt.Q:iR(t,a,e[o++],e[o++],e[o],e[o+1],kr,Or),t=e[o++],a=e[o++];break;case Bt.A:var u=e[o++],f=e[o++],h=e[o++],v=e[o++],c=e[o++],d=e[o++]+c;o+=1;var p=!e[o++];l&&(n=Tn(c)*h+u,i=An(c)*v+f),oR(u,f,h,v,c,d,p,kr,Or),t=Tn(d)*h+u,a=An(d)*v+f;break;case Bt.R:n=t=e[o++],i=a=e[o++];var g=e[o++],y=e[o++];a0(n,i,n+g,i+y,kr,Or);break;case Bt.Z:t=n,a=i;break}Ua(Er,Er,kr),Ya(Ia,Ia,Or)}return o===0&&(Er[0]=Er[1]=Ia[0]=Ia[1]=0),new gt(Er[0],Er[1],Ia[0]-Er[0],Ia[1]-Er[1])},r.prototype._calculateLength=function(){var e=this.data,t=this._len,a=this._ux,n=this._uy,i=0,o=0,s=0,l=0;this._pathSegLen||(this._pathSegLen=[]);for(var u=this._pathSegLen,f=0,h=0,v=0;v<t;){var c=e[v++],d=v===1;d&&(i=e[v],o=e[v+1],s=i,l=o);var p=-1;switch(c){case Bt.M:i=s=e[v++],o=l=e[v++];break;case Bt.L:{var g=e[v++],y=e[v++],m=g-i,_=y-o;(aa(m)>a||aa(_)>n||v===t-1)&&(p=Math.sqrt(m*m+_*_),i=g,o=y);break}case Bt.C:{var S=e[v++],b=e[v++],g=e[v++],y=e[v++],x=e[v++],w=e[v++];p=CI(i,o,S,b,g,y,x,w,10),i=x,o=w;break}case Bt.Q:{var S=e[v++],b=e[v++],g=e[v++],y=e[v++];p=MI(i,o,S,b,g,y,10),i=g,o=y;break}case Bt.A:var T=e[v++],A=e[v++],C=e[v++],M=e[v++],L=e[v++],I=e[v++],P=I+L;v+=1,d&&(s=Tn(L)*C+T,l=An(L)*M+A),p=wv(C,M)*bv(za,Math.abs(I)),i=Tn(P)*C+T,o=An(P)*M+A;break;case Bt.R:{s=i=e[v++],l=o=e[v++];var R=e[v++],E=e[v++];p=R*2+E*2;break}case Bt.Z:{var m=s-i,_=l-o;p=Math.sqrt(m*m+_*_),i=s,o=l;break}}p>=0&&(u[h++]=p,f+=p)}return this._pathLen=f,f},r.prototype.rebuildPath=function(e,t){var a=this.data,n=this._ux,i=this._uy,o=this._len,s,l,u,f,h,v,c=t<1,d,p,g=0,y=0,m,_=0,S,b;if(!(c&&(this._pathSegLen||this._calculateLength(),d=this._pathSegLen,p=this._pathLen,m=t*p,!m)))t:for(var x=0;x<o;){var w=a[x++],T=x===1;switch(T&&(u=a[x],f=a[x+1],s=u,l=f),w!==Bt.L&&_>0&&(e.lineTo(S,b),_=0),w){case Bt.M:s=u=a[x++],l=f=a[x++],e.moveTo(u,f);break;case Bt.L:{h=a[x++],v=a[x++];var A=aa(h-u),C=aa(v-f);if(A>n||C>i){if(c){var M=d[y++];if(g+M>m){var L=(m-g)/M;e.lineTo(u*(1-L)+h*L,f*(1-L)+v*L);break t}g+=M}e.lineTo(h,v),u=h,f=v,_=0}else{var I=A*A+C*C;I>_&&(S=h,b=v,_=I)}break}case Bt.C:{var P=a[x++],R=a[x++],E=a[x++],N=a[x++],O=a[x++],B=a[x++];if(c){var M=d[y++];if(g+M>m){var L=(m-g)/M;nn(u,P,E,O,L,bn),nn(f,R,N,B,L,wn),e.bezierCurveTo(bn[1],wn[1],bn[2],wn[2],bn[3],wn[3]);break t}g+=M}e.bezierCurveTo(P,R,E,N,O,B),u=O,f=B;break}case Bt.Q:{var P=a[x++],R=a[x++],E=a[x++],N=a[x++];if(c){var M=d[y++];if(g+M>m){var L=(m-g)/M;Ws(u,P,E,L,bn),Ws(f,R,N,L,wn),e.quadraticCurveTo(bn[1],wn[1],bn[2],wn[2]);break t}g+=M}e.quadraticCurveTo(P,R,E,N),u=E,f=N;break}case Bt.A:var G=a[x++],U=a[x++],Z=a[x++],rt=a[x++],at=a[x++],W=a[x++],Y=a[x++],ft=!a[x++],tt=Z>rt?Z:rt,q=aa(Z-rt)>.001,it=at+W,Q=!1;if(c){var M=d[y++];g+M>m&&(it=at+W*(m-g)/M,Q=!0),g+=M}if(q&&e.ellipse?e.ellipse(G,U,Z,rt,Y,at,it,ft):e.arc(G,U,tt,at,it,ft),Q)break t;T&&(s=Tn(at)*Z+G,l=An(at)*rt+U),u=Tn(it)*Z+G,f=An(it)*rt+U;break;case Bt.R:s=u=a[x],l=f=a[x+1],h=a[x++],v=a[x++];var F=a[x++],Lt=a[x++];if(c){var M=d[y++];if(g+M>m){var _t=m-g;e.moveTo(h,v),e.lineTo(h+bv(_t,F),v),_t-=F,_t>0&&e.lineTo(h+F,v+bv(_t,Lt)),_t-=Lt,_t>0&&e.lineTo(h+wv(F-_t,0),v+Lt),_t-=F,_t>0&&e.lineTo(h,v+wv(Lt-_t,0));break t}g+=M}e.rect(h,v,F,Lt);break;case Bt.Z:if(c){var M=d[y++];if(g+M>m){var L=(m-g)/M;e.lineTo(u*(1-L)+s*L,f*(1-L)+l*L);break t}g+=M}e.closePath(),u=s,f=l}}},r.prototype.clone=function(){var e=new r,t=this.data;return e.data=t.slice?t.slice():Array.prototype.slice.call(t),e._len=this._len,e},r.CMD=Bt,r.initDefaultProps=function(){var e=r.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),r}();function Fa(r,e,t,a,n,i,o){if(n===0)return!1;var s=n,l=0,u=r;if(o>e+s&&o>a+s||o<e-s&&o<a-s||i>r+s&&i>t+s||i<r-s&&i<t-s)return!1;if(r!==t)l=(e-a)/(r-t),u=(r*a-t*e)/(r-t);else return Math.abs(i-r)<=s/2;var f=l*i-o+u,h=f*f/(l*l+1);return h<=s/2*s/2}function sR(r,e,t,a,n,i,o,s,l,u,f){if(l===0)return!1;var h=l;if(f>e+h&&f>a+h&&f>i+h&&f>s+h||f<e-h&&f<a-h&&f<i-h&&f<s-h||u>r+h&&u>t+h&&u>n+h&&u>o+h||u<r-h&&u<t-h&&u<n-h&&u<o-h)return!1;var v=zw(r,e,t,a,n,i,o,s,u,f,null);return v<=h/2}function ST(r,e,t,a,n,i,o,s,l){if(o===0)return!1;var u=o;if(l>e+u&&l>a+u&&l>i+u||l<e-u&&l<a-u&&l<i-u||s>r+u&&s>t+u&&s>n+u||s<r-u&&s<t-u&&s<n-u)return!1;var f=Fw(r,e,t,a,n,i,s,l,null);return f<=u/2}var o0=Math.PI*2;function Xe(r){return r%=o0,r<0&&(r+=o0),r}var Uo=Math.PI*2;function lR(r,e,t,a,n,i,o,s,l){if(o===0)return!1;var u=o;s-=r,l-=e;var f=Math.sqrt(s*s+l*l);if(f-u>t||f+u<t)return!1;if(Math.abs(a-n)%Uo<1e-4)return!0;if(i){var h=a;a=Xe(n),n=Xe(h)}else a=Xe(a),n=Xe(n);a>n&&(n+=Uo);var v=Math.atan2(l,s);return v<0&&(v+=Uo),v>=a&&v<=n||v+Uo>=a&&v+Uo<=n}function sa(r,e,t,a,n,i){if(i>e&&i>a||i<e&&i<a||a===e)return 0;var o=(i-e)/(a-e),s=a<e?1:-1;(o===1||o===0)&&(s=a<e?.5:-.5);var l=o*(t-r)+r;return l===n?1/0:l>n?s:0}var Pa=jr.CMD,Cn=Math.PI*2,uR=1e-4;function fR(r,e){return Math.abs(r-e)<uR}var Me=[-1,-1,-1],ir=[-1,-1];function hR(){var r=ir[0];ir[0]=ir[1],ir[1]=r}function vR(r,e,t,a,n,i,o,s,l,u){if(u>e&&u>a&&u>i&&u>s||u<e&&u<a&&u<i&&u<s)return 0;var f=vf(e,a,i,s,u,Me);if(f===0)return 0;for(var h=0,v=-1,c=void 0,d=void 0,p=0;p<f;p++){var g=Me[p],y=g===0||g===1?.5:1,m=ne(r,t,n,o,g);m<l||(v<0&&(v=Vw(e,a,i,s,ir),ir[1]<ir[0]&&v>1&&hR(),c=ne(e,a,i,s,ir[0]),v>1&&(d=ne(e,a,i,s,ir[1]))),v===2?g<ir[0]?h+=c<e?y:-y:g<ir[1]?h+=d<c?y:-y:h+=s<d?y:-y:g<ir[0]?h+=c<e?y:-y:h+=s<c?y:-y)}return h}function cR(r,e,t,a,n,i,o,s){if(s>e&&s>a&&s>i||s<e&&s<a&&s<i)return 0;var l=DI(e,a,i,s,Me);if(l===0)return 0;var u=Gw(e,a,i);if(u>=0&&u<=1){for(var f=0,h=he(e,a,i,u),v=0;v<l;v++){var c=Me[v]===0||Me[v]===1?.5:1,d=he(r,t,n,Me[v]);d<o||(Me[v]<u?f+=h<e?c:-c:f+=i<h?c:-c)}return f}else{var c=Me[0]===0||Me[0]===1?.5:1,d=he(r,t,n,Me[0]);return d<o?0:i<e?c:-c}}function dR(r,e,t,a,n,i,o,s){if(s-=e,s>t||s<-t)return 0;var l=Math.sqrt(t*t-s*s);Me[0]=-l,Me[1]=l;var u=Math.abs(a-n);if(u<1e-4)return 0;if(u>=Cn-1e-4){a=0,n=Cn;var f=i?1:-1;return o>=Me[0]+r&&o<=Me[1]+r?f:0}if(a>n){var h=a;a=n,n=h}a<0&&(a+=Cn,n+=Cn);for(var v=0,c=0;c<2;c++){var d=Me[c];if(d+r>o){var p=Math.atan2(s,d),f=i?1:-1;p<0&&(p=Cn+p),(p>=a&&p<=n||p+Cn>=a&&p+Cn<=n)&&(p>Math.PI/2&&p<Math.PI*1.5&&(f=-f),v+=f)}}return v}function xT(r,e,t,a,n){for(var i=r.data,o=r.len(),s=0,l=0,u=0,f=0,h=0,v,c,d=0;d<o;){var p=i[d++],g=d===1;switch(p===Pa.M&&d>1&&(t||(s+=sa(l,u,f,h,a,n))),g&&(l=i[d],u=i[d+1],f=l,h=u),p){case Pa.M:f=i[d++],h=i[d++],l=f,u=h;break;case Pa.L:if(t){if(Fa(l,u,i[d],i[d+1],e,a,n))return!0}else s+=sa(l,u,i[d],i[d+1],a,n)||0;l=i[d++],u=i[d++];break;case Pa.C:if(t){if(sR(l,u,i[d++],i[d++],i[d++],i[d++],i[d],i[d+1],e,a,n))return!0}else s+=vR(l,u,i[d++],i[d++],i[d++],i[d++],i[d],i[d+1],a,n)||0;l=i[d++],u=i[d++];break;case Pa.Q:if(t){if(ST(l,u,i[d++],i[d++],i[d],i[d+1],e,a,n))return!0}else s+=cR(l,u,i[d++],i[d++],i[d],i[d+1],a,n)||0;l=i[d++],u=i[d++];break;case Pa.A:var y=i[d++],m=i[d++],_=i[d++],S=i[d++],b=i[d++],x=i[d++];d+=1;var w=!!(1-i[d++]);v=Math.cos(b)*_+y,c=Math.sin(b)*S+m,g?(f=v,h=c):s+=sa(l,u,v,c,a,n);var T=(a-y)*S/_+y;if(t){if(lR(y,m,S,b,b+x,w,e,T,n))return!0}else s+=dR(y,m,S,b,b+x,w,T,n);l=Math.cos(b+x)*_+y,u=Math.sin(b+x)*S+m;break;case Pa.R:f=l=i[d++],h=u=i[d++];var A=i[d++],C=i[d++];if(v=f+A,c=h+C,t){if(Fa(f,h,v,h,e,a,n)||Fa(v,h,v,c,e,a,n)||Fa(v,c,f,c,e,a,n)||Fa(f,c,f,h,e,a,n))return!0}else s+=sa(v,h,v,c,a,n),s+=sa(f,c,f,h,a,n);break;case Pa.Z:if(t){if(Fa(l,u,f,h,e,a,n))return!0}else s+=sa(l,u,f,h,a,n);l=f,u=h;break}}return!t&&!fR(u,h)&&(s+=sa(l,u,f,h,a,n)||0),s!==0}function pR(r,e,t){return xT(r,0,!1,e,t)}function gR(r,e,t,a){return xT(r,e,!0,t,a)}var mf=ot({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},ni),yR={style:ot({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},vh.style)},Cv=Jr.concat(["invisible","culling","z","z2","zlevel","parent"]),St=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.update=function(){var t=this;r.prototype.update.call(this);var a=this.style;if(a.decal){var n=this._decalEl=this._decalEl||new e;n.buildPath===e.prototype.buildPath&&(n.buildPath=function(l){t.buildPath(l,t.shape)}),n.silent=!0;var i=n.style;for(var o in a)i[o]!==a[o]&&(i[o]=a[o]);i.fill=a.fill?a.decal:null,i.decal=null,i.shadowColor=null,a.strokeFirst&&(i.stroke=null);for(var s=0;s<Cv.length;++s)n[Cv[s]]=this[Cv[s]];n.__dirty|=Ze}else this._decalEl&&(this._decalEl=null)},e.prototype.getDecalElement=function(){return this._decalEl},e.prototype._init=function(t){var a=wt(t);this.shape=this.getDefaultShape();var n=this.getDefaultStyle();n&&this.useStyle(n);for(var i=0;i<a.length;i++){var o=a[i],s=t[o];o==="style"?this.style?V(this.style,s):this.useStyle(s):o==="shape"?V(this.shape,s):r.prototype.attrKV.call(this,o,s)}this.style||this.useStyle({})},e.prototype.getDefaultStyle=function(){return null},e.prototype.getDefaultShape=function(){return{}},e.prototype.canBeInsideText=function(){return this.hasFill()},e.prototype.getInsideTextFill=function(){var t=this.style.fill;if(t!=="none"){if(K(t)){var a=df(t,0);return a>.5?Vd:a>.2?eP:zd}else if(t)return zd}return Vd},e.prototype.getInsideTextStroke=function(t){var a=this.style.fill;if(K(a)){var n=this.__zr,i=!!(n&&n.isDarkMode()),o=df(t,0)<Bd;if(i===o)return a}},e.prototype.buildPath=function(t,a,n){},e.prototype.pathUpdated=function(){this.__dirty&=~qi},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new jr(!1)},e.prototype.hasStroke=function(){var t=this.style,a=t.stroke;return!(a==null||a==="none"||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style,a=t.fill;return a!=null&&a!=="none"},e.prototype.getBoundingRect=function(){var t=this._rect,a=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var o=this.path;(i||this.__dirty&qi)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),t=o.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){s.copy(t);var l=a.strokeNoScale?this.getLineScale():1,u=a.lineWidth;if(!this.hasFill()){var f=this.strokeContainThreshold;u=Math.max(u,f??4)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return t},e.prototype.contain=function(t,a){var n=this.transformCoordToLocal(t,a),i=this.getBoundingRect(),o=this.style;if(t=n[0],a=n[1],i.contain(t,a)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),gR(s,l/u,t,a)))return!0}if(this.hasFill())return pR(s,t,a)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=qi,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():t==="shape"?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(t,a){t==="shape"?this.setShape(a):r.prototype.attrKV.call(this,t,a)},e.prototype.setShape=function(t,a){var n=this.shape;return n||(n=this.shape={}),typeof t=="string"?n[t]=a:V(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(this.__dirty&qi)},e.prototype.createStyle=function(t){return ih(mf,t)},e.prototype._innerSaveToNormal=function(t){r.prototype._innerSaveToNormal.call(this,t);var a=this._normalState;t.shape&&!a.shape&&(a.shape=V({},this.shape))},e.prototype._applyStateObj=function(t,a,n,i,o,s){r.prototype._applyStateObj.call(this,t,a,n,i,o,s);var l=!(a&&i),u;if(a&&a.shape?o?i?u=a.shape:(u=V({},n.shape),V(u,a.shape)):(u=V({},i?this.shape:n.shape),V(u,a.shape)):l&&(u=n.shape),u)if(o){this.shape=V({},this.shape);for(var f={},h=wt(u),v=0;v<h.length;v++){var c=h[v];typeof u[c]=="object"?this.shape[c]=u[c]:f[c]=u[c]}this._transitionState(t,{shape:f},s)}else this.shape=u,this.dirtyShape()},e.prototype._mergeStates=function(t){for(var a=r.prototype._mergeStates.call(this,t),n,i=0;i<t.length;i++){var o=t[i];o.shape&&(n=n||{},this._mergeStyle(n,o.shape))}return n&&(a.shape=n),a},e.prototype.getAnimationStyleProps=function(){return yR},e.prototype.isZeroArea=function(){return!1},e.extend=function(t){var a=function(i){k(o,i);function o(s){var l=i.call(this,s)||this;return t.init&&t.init.call(l,s),l}return o.prototype.getDefaultStyle=function(){return lt(t.style)},o.prototype.getDefaultShape=function(){return lt(t.shape)},o}(e);for(var n in t)typeof t[n]=="function"&&(a.prototype[n]=t[n]);return a},e.initDefaultProps=function(){var t=e.prototype;t.type="path",t.strokeContainThreshold=5,t.segmentIgnoreThreshold=0,t.subPixelOptimize=!1,t.autoBatch=!1,t.__dirty=Ze|cs|qi}(),e}(cr),mR=ot({strokeFirst:!0,font:rn,x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},mf),ho=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.hasStroke=function(){var t=this.style,a=t.stroke;return a!=null&&a!=="none"&&t.lineWidth>0},e.prototype.hasFill=function(){var t=this.style,a=t.fill;return a!=null&&a!=="none"},e.prototype.createStyle=function(t){return ih(mR,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var a=t.text;a!=null?a+="":a="";var n=yl(a,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=function(){var t=e.prototype;t.dirtyRectTolerance=10}(),e}(cr);ho.prototype.type="tspan";var _R=ot({x:0,y:0},ni),SR={style:ot({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},vh.style)};function xR(r){return!!(r&&typeof r!="string"&&r.width&&r.height)}var ce=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.createStyle=function(t){return ih(_R,t)},e.prototype._getSize=function(t){var a=this.style,n=a[t];if(n!=null)return n;var i=xR(a.image)?a.image:this.__image;if(!i)return 0;var o=t==="width"?"height":"width",s=a[o];return s==null?i[t]:i[t]/i[o]*s},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return SR},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new gt(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(cr);ce.prototype.type="image";function bR(r,e){var t=e.x,a=e.y,n=e.width,i=e.height,o=e.r,s,l,u,f;n<0&&(t=t+n,n=-n),i<0&&(a=a+i,i=-i),typeof o=="number"?s=l=u=f=o:o instanceof Array?o.length===1?s=l=u=f=o[0]:o.length===2?(s=u=o[0],l=f=o[1]):o.length===3?(s=o[0],l=f=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],f=o[3]):s=l=u=f=0;var h;s+l>n&&(h=s+l,s*=n/h,l*=n/h),u+f>n&&(h=u+f,u*=n/h,f*=n/h),l+u>i&&(h=l+u,l*=i/h,u*=i/h),s+f>i&&(h=s+f,s*=i/h,f*=i/h),r.moveTo(t+s,a),r.lineTo(t+n-l,a),l!==0&&r.arc(t+n-l,a+l,l,-Math.PI/2,0),r.lineTo(t+n,a+i-u),u!==0&&r.arc(t+n-u,a+i-u,u,0,Math.PI/2),r.lineTo(t+f,a+i),f!==0&&r.arc(t+f,a+i-f,f,Math.PI/2,Math.PI),r.lineTo(t,a+s),s!==0&&r.arc(t+s,a+s,s,Math.PI,Math.PI*1.5)}var eo=Math.round;function bT(r,e,t){if(e){var a=e.x1,n=e.x2,i=e.y1,o=e.y2;r.x1=a,r.x2=n,r.y1=i,r.y2=o;var s=t&&t.lineWidth;return s&&(eo(a*2)===eo(n*2)&&(r.x1=r.x2=qn(a,s,!0)),eo(i*2)===eo(o*2)&&(r.y1=r.y2=qn(i,s,!0))),r}}function wT(r,e,t){if(e){var a=e.x,n=e.y,i=e.width,o=e.height;r.x=a,r.y=n,r.width=i,r.height=o;var s=t&&t.lineWidth;return s&&(r.x=qn(a,s,!0),r.y=qn(n,s,!0),r.width=Math.max(qn(a+i,s,!1)-r.x,i===0?0:1),r.height=Math.max(qn(n+o,s,!1)-r.y,o===0?0:1)),r}}function qn(r,e,t){if(!e)return r;var a=eo(r*2);return(a+eo(e))%2===0?a/2:(a+(t?1:-1))/2}var wR=function(){function r(){this.x=0,this.y=0,this.width=0,this.height=0}return r}(),TR={},Tt=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new wR},e.prototype.buildPath=function(t,a){var n,i,o,s;if(this.subPixelOptimize){var l=wT(TR,a,this.style);n=l.x,i=l.y,o=l.width,s=l.height,l.r=a.r,a=l}else n=a.x,i=a.y,o=a.width,s=a.height;a.r?bR(t,a):t.rect(n,i,o,s)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(St);Tt.prototype.type="rect";var s0={fill:"#000"},l0=2,AR={style:ot({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},vh.style)},Ct=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a.type="text",a._children=[],a._defaultStyle=s0,a.attr(t),a}return e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){r.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var t=0;t<this._children.length;t++){var a=this._children[t];a.zlevel=this.zlevel,a.z=this.z,a.z2=this.z2,a.culling=this.culling,a.cursor=this.cursor,a.invisible=this.invisible}},e.prototype.updateTransform=function(){var t=this.innerTransformable;t?(t.updateTransform(),t.transform&&(this.transform=t.transform)):r.prototype.updateTransform.call(this)},e.prototype.getLocalTransform=function(t){var a=this.innerTransformable;return a?a.getLocalTransform(t):r.prototype.getLocalTransform.call(this,t)},e.prototype.getComputedTransform=function(){return this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0)),r.prototype.getComputedTransform.call(this)},e.prototype._updateSubTexts=function(){this._childCursor=0,MR(this.style),this.style.rich?this._updateRichTexts():this._updatePlainTexts(),this._children.length=this._childCursor,this.styleUpdated()},e.prototype.addSelfToZr=function(t){r.prototype.addSelfToZr.call(this,t);for(var a=0;a<this._children.length;a++)this._children[a].__zr=t},e.prototype.removeSelfFromZr=function(t){r.prototype.removeSelfFromZr.call(this,t);for(var a=0;a<this._children.length;a++)this._children[a].__zr=null},e.prototype.getBoundingRect=function(){if(this.styleChanged()&&this._updateSubTexts(),!this._rect){for(var t=new gt(0,0,0,0),a=this._children,n=[],i=null,o=0;o<a.length;o++){var s=a[o],l=s.getBoundingRect(),u=s.getLocalTransform(n);u?(t.copy(l),t.applyTransform(u),i=i||t.clone(),i.union(t)):(i=i||l.clone(),i.union(l))}this._rect=i||t}return this._rect},e.prototype.setDefaultTextStyle=function(t){this._defaultStyle=t||s0},e.prototype.setTextContent=function(t){},e.prototype._mergeStyle=function(t,a){if(!a)return t;var n=a.rich,i=t.rich||n&&{};return V(t,a),n&&i?(this._mergeRich(i,n),t.rich=i):i&&(t.rich=i),t},e.prototype._mergeRich=function(t,a){for(var n=wt(a),i=0;i<n.length;i++){var o=n[i];t[o]=t[o]||{},V(t[o],a[o])}},e.prototype.getAnimationStyleProps=function(){return AR},e.prototype._getOrCreateChild=function(t){var a=this._children[this._childCursor];return(!a||!(a instanceof t))&&(a=new t),this._children[this._childCursor++]=a,a.__zr=this.__zr,a.parent=this,a},e.prototype._updatePlainTexts=function(){var t=this.style,a=t.font||rn,n=t.padding,i=p0(t),o=qP(i,t),s=Dv(t),l=!!t.backgroundColor,u=o.outerHeight,f=o.outerWidth,h=o.contentWidth,v=o.lines,c=o.lineHeight,d=this._defaultStyle;this.isTruncated=!!o.isTruncated;var p=t.x||0,g=t.y||0,y=t.align||d.align||"left",m=t.verticalAlign||d.verticalAlign||"top",_=p,S=Ki(g,o.contentHeight,m);if(s||n){var b=ps(p,f,y),x=Ki(g,u,m);s&&this._renderBackground(t,t,b,x,f,u)}S+=c/2,n&&(_=d0(p,y,n),m==="top"?S+=n[0]:m==="bottom"&&(S-=n[2]));for(var w=0,T=!1,A=c0("fill"in t?t.fill:(T=!0,d.fill)),C=v0("stroke"in t?t.stroke:!l&&(!d.autoStroke||T)?(w=l0,d.stroke):null),M=t.textShadowBlur>0,L=t.width!=null&&(t.overflow==="truncate"||t.overflow==="break"||t.overflow==="breakAll"),I=o.calculatedLineHeight,P=0;P<v.length;P++){var R=this._getOrCreateChild(ho),E=R.createStyle();R.useStyle(E),E.text=v[P],E.x=_,E.y=S,E.textAlign=y,E.textBaseline="middle",E.opacity=t.opacity,E.strokeFirst=!0,M&&(E.shadowBlur=t.textShadowBlur||0,E.shadowColor=t.textShadowColor||"transparent",E.shadowOffsetX=t.textShadowOffsetX||0,E.shadowOffsetY=t.textShadowOffsetY||0),E.stroke=C,E.fill=A,C&&(E.lineWidth=t.lineWidth||w,E.lineDash=t.lineDash,E.lineDashOffset=t.lineDashOffset||0),E.font=a,f0(E,t),S+=c,L&&R.setBoundingRect(new gt(ps(E.x,h,E.textAlign),Ki(E.y,I,E.textBaseline),h,I))}},e.prototype._updateRichTexts=function(){var t=this.style,a=p0(t),n=QP(a,t),i=n.width,o=n.outerWidth,s=n.outerHeight,l=t.padding,u=t.x||0,f=t.y||0,h=this._defaultStyle,v=t.align||h.align,c=t.verticalAlign||h.verticalAlign;this.isTruncated=!!n.isTruncated;var d=ps(u,o,v),p=Ki(f,s,c),g=d,y=p;l&&(g+=l[3],y+=l[0]);var m=g+i;Dv(t)&&this._renderBackground(t,t,d,p,o,s);for(var _=!!t.backgroundColor,S=0;S<n.lines.length;S++){for(var b=n.lines[S],x=b.tokens,w=x.length,T=b.lineHeight,A=b.width,C=0,M=g,L=m,I=w-1,P=void 0;C<w&&(P=x[C],!P.align||P.align==="left");)this._placeToken(P,t,T,y,M,"left",_),A-=P.width,M+=P.width,C++;for(;I>=0&&(P=x[I],P.align==="right");)this._placeToken(P,t,T,y,L,"right",_),A-=P.width,L-=P.width,I--;for(M+=(i-(M-g)-(m-L)-A)/2;C<=I;)P=x[C],this._placeToken(P,t,T,y,M+P.width/2,"center",_),M+=P.width,C++;y+=T}},e.prototype._placeToken=function(t,a,n,i,o,s,l){var u=a.rich[t.styleName]||{};u.text=t.text;var f=t.verticalAlign,h=i+n/2;f==="top"?h=i+t.height/2:f==="bottom"&&(h=i+n-t.height/2);var v=!t.isLineHolder&&Dv(u);v&&this._renderBackground(u,a,s==="right"?o-t.width:s==="center"?o-t.width/2:o,h-t.height/2,t.width,t.height);var c=!!u.backgroundColor,d=t.textPadding;d&&(o=d0(o,s,d),h-=t.height/2-d[0]-t.innerHeight/2);var p=this._getOrCreateChild(ho),g=p.createStyle();p.useStyle(g);var y=this._defaultStyle,m=!1,_=0,S=c0("fill"in u?u.fill:"fill"in a?a.fill:(m=!0,y.fill)),b=v0("stroke"in u?u.stroke:"stroke"in a?a.stroke:!c&&!l&&(!y.autoStroke||m)?(_=l0,y.stroke):null),x=u.textShadowBlur>0||a.textShadowBlur>0;g.text=t.text,g.x=o,g.y=h,x&&(g.shadowBlur=u.textShadowBlur||a.textShadowBlur||0,g.shadowColor=u.textShadowColor||a.textShadowColor||"transparent",g.shadowOffsetX=u.textShadowOffsetX||a.textShadowOffsetX||0,g.shadowOffsetY=u.textShadowOffsetY||a.textShadowOffsetY||0),g.textAlign=s,g.textBaseline="middle",g.font=t.font||rn,g.opacity=Zr(u.opacity,a.opacity,1),f0(g,u),b&&(g.lineWidth=Zr(u.lineWidth,a.lineWidth,_),g.lineDash=vt(u.lineDash,a.lineDash),g.lineDashOffset=a.lineDashOffset||0,g.stroke=b),S&&(g.fill=S);var w=t.contentWidth,T=t.contentHeight;p.setBoundingRect(new gt(ps(g.x,w,g.textAlign),Ki(g.y,T,g.textBaseline),w,T))},e.prototype._renderBackground=function(t,a,n,i,o,s){var l=t.backgroundColor,u=t.borderWidth,f=t.borderColor,h=l&&l.image,v=l&&!h,c=t.borderRadius,d=this,p,g;if(v||t.lineHeight||u&&f){p=this._getOrCreateChild(Tt),p.useStyle(p.createStyle()),p.style.fill=null;var y=p.shape;y.x=n,y.y=i,y.width=o,y.height=s,y.r=c,p.dirtyShape()}if(v){var m=p.style;m.fill=l||null,m.fillOpacity=vt(t.fillOpacity,1)}else if(h){g=this._getOrCreateChild(ce),g.onload=function(){d.dirtyStyle()};var _=g.style;_.image=l.image,_.x=n,_.y=i,_.width=o,_.height=s}if(u&&f){var m=p.style;m.lineWidth=u,m.stroke=f,m.strokeOpacity=vt(t.strokeOpacity,1),m.lineDash=t.borderDash,m.lineDashOffset=t.borderDashOffset||0,p.strokeContainThreshold=0,p.hasFill()&&p.hasStroke()&&(m.strokeFirst=!0,m.lineWidth*=2)}var S=(p||g).style;S.shadowBlur=t.shadowBlur||0,S.shadowColor=t.shadowColor||"transparent",S.shadowOffsetX=t.shadowOffsetX||0,S.shadowOffsetY=t.shadowOffsetY||0,S.opacity=Zr(t.opacity,a.opacity,1)},e.makeFont=function(t){var a="";return AT(t)&&(a=[t.fontStyle,t.fontWeight,TT(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),a&&Ar(a)||t.textFont||t.font},e}(cr),CR={left:!0,right:1,center:1},DR={top:1,bottom:1,middle:1},u0=["fontStyle","fontWeight","fontSize","fontFamily"];function TT(r){return typeof r=="string"&&(r.indexOf("px")!==-1||r.indexOf("rem")!==-1||r.indexOf("em")!==-1)?r:isNaN(+r)?og+"px":r+"px"}function f0(r,e){for(var t=0;t<u0.length;t++){var a=u0[t],n=e[a];n!=null&&(r[a]=n)}}function AT(r){return r.fontSize!=null||r.fontFamily||r.fontWeight}function MR(r){return h0(r),D(r.rich,h0),r}function h0(r){if(r){r.font=Ct.makeFont(r);var e=r.align;e==="middle"&&(e="center"),r.align=e==null||CR[e]?e:"left";var t=r.verticalAlign;t==="center"&&(t="middle"),r.verticalAlign=t==null||DR[t]?t:"top";var a=r.padding;a&&(r.padding=vg(r.padding))}}function v0(r,e){return r==null||e<=0||r==="transparent"||r==="none"?null:r.image||r.colorStops?"#000":r}function c0(r){return r==null||r==="none"?null:r.image||r.colorStops?"#000":r}function d0(r,e,t){return e==="right"?r-t[1]:e==="center"?r+t[3]/2-t[1]/2:r+t[3]}function p0(r){var e=r.text;return e!=null&&(e+=""),e}function Dv(r){return!!(r.backgroundColor||r.lineHeight||r.borderWidth&&r.borderColor)}var ht=At(),Yd=function(r,e,t,a){if(a){var n=ht(a);n.dataIndex=t,n.dataType=e,n.seriesIndex=r,n.ssrType="chart",a.type==="group"&&a.traverse(function(i){var o=ht(i);o.seriesIndex=r,o.dataIndex=t,o.dataType=e,o.ssrType="chart"})}},g0=1,y0={},CT=At(),Ag=At(),Cg=0,_l=1,dh=2,ke=["emphasis","blur","select"],Xs=["normal","emphasis","blur","select"],Co=10,LR=9,ii="highlight",qu="downplay",Ps="select",Ku="unselect",Rs="toggleSelect";function Pi(r){return r!=null&&r!=="none"}function ph(r,e,t){r.onHoverStateChange&&(r.hoverState||0)!==t&&r.onHoverStateChange(e),r.hoverState=t}function DT(r){ph(r,"emphasis",dh)}function MT(r){r.hoverState===dh&&ph(r,"normal",Cg)}function Dg(r){ph(r,"blur",_l)}function LT(r){r.hoverState===_l&&ph(r,"normal",Cg)}function IR(r){r.selected=!0}function PR(r){r.selected=!1}function m0(r,e,t){e(r,t)}function wa(r,e,t){m0(r,e,t),r.isGroup&&r.traverse(function(a){m0(a,e,t)})}function _f(r,e){switch(e){case"emphasis":r.hoverState=dh;break;case"normal":r.hoverState=Cg;break;case"blur":r.hoverState=_l;break;case"select":r.selected=!0}}function RR(r,e,t,a){for(var n=r.style,i={},o=0;o<e.length;o++){var s=e[o],l=n[s];i[s]=l??(a&&a[s])}for(var o=0;o<r.animators.length;o++){var u=r.animators[o];u.__fromStateTransition&&u.__fromStateTransition.indexOf(t)<0&&u.targetName==="style"&&u.saveTo(i,e)}return i}function ER(r,e,t,a){var n=t&&yt(t,"select")>=0,i=!1;if(r instanceof St){var o=CT(r),s=n&&o.selectFill||o.normalFill,l=n&&o.selectStroke||o.normalStroke;if(Pi(s)||Pi(l)){a=a||{};var u=a.style||{};u.fill==="inherit"?(i=!0,a=V({},a),u=V({},u),u.fill=s):!Pi(u.fill)&&Pi(s)?(i=!0,a=V({},a),u=V({},u),u.fill=Id(s)):!Pi(u.stroke)&&Pi(l)&&(i||(a=V({},a),u=V({},u)),u.stroke=Id(l)),a.style=u}}if(a&&a.z2==null){i||(a=V({},a));var f=r.z2EmphasisLift;a.z2=r.z2+(f??Co)}return a}function kR(r,e,t){if(t&&t.z2==null){t=V({},t);var a=r.z2SelectLift;t.z2=r.z2+(a??LR)}return t}function OR(r,e,t){var a=yt(r.currentStates,e)>=0,n=r.style.opacity,i=a?null:RR(r,["opacity"],e,{opacity:1});t=t||{};var o=t.style||{};return o.opacity==null&&(t=V({},t),o=V({opacity:a?n:i.opacity*.1},o),t.style=o),t}function Mv(r,e){var t=this.states[r];if(this.style){if(r==="emphasis")return ER(this,r,e,t);if(r==="blur")return OR(this,r,t);if(r==="select")return kR(this,r,t)}return t}function di(r){r.stateProxy=Mv;var e=r.getTextContent(),t=r.getTextGuideLine();e&&(e.stateProxy=Mv),t&&(t.stateProxy=Mv)}function _0(r,e){!ET(r,e)&&!r.__highByOuter&&wa(r,DT)}function S0(r,e){!ET(r,e)&&!r.__highByOuter&&wa(r,MT)}function ya(r,e){r.__highByOuter|=1<<(e||0),wa(r,DT)}function ma(r,e){!(r.__highByOuter&=~(1<<(e||0)))&&wa(r,MT)}function IT(r){wa(r,Dg)}function Mg(r){wa(r,LT)}function PT(r){wa(r,IR)}function RT(r){wa(r,PR)}function ET(r,e){return r.__highDownSilentOnTouch&&e.zrByTouch}function kT(r){var e=r.getModel(),t=[],a=[];e.eachComponent(function(n,i){var o=Ag(i),s=n==="series",l=s?r.getViewOfSeriesModel(i):r.getViewOfComponentModel(i);!s&&a.push(l),o.isBlured&&(l.group.traverse(function(u){LT(u)}),s&&t.push(i)),o.isBlured=!1}),D(a,function(n){n&&n.toggleBlurSeries&&n.toggleBlurSeries(t,!1,e)})}function $d(r,e,t,a){var n=a.getModel();t=t||"coordinateSystem";function i(u,f){for(var h=0;h<f.length;h++){var v=u.getItemGraphicEl(f[h]);v&&Mg(v)}}if(r!=null&&!(!e||e==="none")){var o=n.getSeriesByIndex(r),s=o.coordinateSystem;s&&s.master&&(s=s.master);var l=[];n.eachSeries(function(u){var f=o===u,h=u.coordinateSystem;h&&h.master&&(h=h.master);var v=h&&s?h===s:f;if(!(t==="series"&&!f||t==="coordinateSystem"&&!v||e==="series"&&f)){var c=a.getViewOfSeriesModel(u);if(c.group.traverse(function(g){g.__highByOuter&&f&&e==="self"||Dg(g)}),Te(e))i(u.getData(),e);else if(st(e))for(var d=wt(e),p=0;p<d.length;p++)i(u.getData(d[p]),e[d[p]]);l.push(u),Ag(u).isBlured=!0}}),n.eachComponent(function(u,f){if(u!=="series"){var h=a.getViewOfComponentModel(f);h&&h.toggleBlurSeries&&h.toggleBlurSeries(l,!0,n)}})}}function Zd(r,e,t){if(!(r==null||e==null)){var a=t.getModel().getComponent(r,e);if(a){Ag(a).isBlured=!0;var n=t.getViewOfComponentModel(a);!n||!n.focusBlurEnabled||n.group.traverse(function(i){Dg(i)})}}}function NR(r,e,t){var a=r.seriesIndex,n=r.getData(e.dataType);if(n){var i=vi(n,e);i=(z(i)?i[0]:i)||0;var o=n.getItemGraphicEl(i);if(!o)for(var s=n.count(),l=0;!o&&l<s;)o=n.getItemGraphicEl(l++);if(o){var u=ht(o);$d(a,u.focus,u.blurScope,t)}else{var f=r.get(["emphasis","focus"]),h=r.get(["emphasis","blurScope"]);f!=null&&$d(a,f,h,t)}}}function Lg(r,e,t,a){var n={focusSelf:!1,dispatchers:null};if(r==null||r==="series"||e==null||t==null)return n;var i=a.getModel().getComponent(r,e);if(!i)return n;var o=a.getViewOfComponentModel(i);if(!o||!o.findHighDownDispatchers)return n;for(var s=o.findHighDownDispatchers(t),l,u=0;u<s.length;u++)if(ht(s[u]).focus==="self"){l=!0;break}return{focusSelf:l,dispatchers:s}}function BR(r,e,t){var a=ht(r),n=Lg(a.componentMainType,a.componentIndex,a.componentHighDownName,t),i=n.dispatchers,o=n.focusSelf;i?(o&&Zd(a.componentMainType,a.componentIndex,t),D(i,function(s){return _0(s,e)})):($d(a.seriesIndex,a.focus,a.blurScope,t),a.focus==="self"&&Zd(a.componentMainType,a.componentIndex,t),_0(r,e))}function VR(r,e,t){kT(t);var a=ht(r),n=Lg(a.componentMainType,a.componentIndex,a.componentHighDownName,t).dispatchers;n?D(n,function(i){return S0(i,e)}):S0(r,e)}function zR(r,e,t){if(qd(e)){var a=e.dataType,n=r.getData(a),i=vi(n,e);z(i)||(i=[i]),r[e.type===Rs?"toggleSelect":e.type===Ps?"select":"unselect"](i,a)}}function x0(r){var e=r.getAllData();D(e,function(t){var a=t.data,n=t.type;a.eachItemGraphicEl(function(i,o){r.isSelected(o,n)?PT(i):RT(i)})})}function GR(r){var e=[];return r.eachSeries(function(t){var a=t.getAllData();D(a,function(n){n.data;var i=n.type,o=t.getSelectedDataIndices();if(o.length>0){var s={dataIndex:o,seriesIndex:t.seriesIndex};i!=null&&(s.dataType=i),e.push(s)}})}),e}function oi(r,e,t){Kn(r,!0),wa(r,di),Xd(r,e,t)}function FR(r){Kn(r,!1)}function Yt(r,e,t,a){a?FR(r):oi(r,e,t)}function Xd(r,e,t){var a=ht(r);e!=null?(a.focus=e,a.blurScope=t):a.focus&&(a.focus=null)}var b0=["emphasis","blur","select"],HR={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function ge(r,e,t,a){t=t||"itemStyle";for(var n=0;n<b0.length;n++){var i=b0[n],o=e.getModel([i,t]),s=r.ensureState(i);s.style=a?a(o):o[HR[t]]()}}function Kn(r,e){var t=e===!1,a=r;r.highDownSilentOnTouch&&(a.__highDownSilentOnTouch=r.highDownSilentOnTouch),(!t||a.__highDownDispatcher)&&(a.__highByOuter=a.__highByOuter||0,a.__highDownDispatcher=!t)}function qs(r){return!!(r&&r.__highDownDispatcher)}function WR(r,e,t){var a=ht(r);a.componentMainType=e.mainType,a.componentIndex=e.componentIndex,a.componentHighDownName=t}function UR(r){var e=y0[r];return e==null&&g0<=32&&(e=y0[r]=g0++),e}function qd(r){var e=r.type;return e===Ps||e===Ku||e===Rs}function w0(r){var e=r.type;return e===ii||e===qu}function YR(r){var e=CT(r);e.normalFill=r.style.fill,e.normalStroke=r.style.stroke;var t=r.states.select||{};e.selectFill=t.style&&t.style.fill||null,e.selectStroke=t.style&&t.style.stroke||null}var Ri=jr.CMD,$R=[[],[],[]],T0=Math.sqrt,ZR=Math.atan2;function OT(r,e){if(e){var t=r.data,a=r.len(),n,i,o,s,l,u,f=Ri.M,h=Ri.C,v=Ri.L,c=Ri.R,d=Ri.A,p=Ri.Q;for(o=0,s=0;o<a;){switch(n=t[o++],s=o,i=0,n){case f:i=1;break;case v:i=1;break;case h:i=3;break;case p:i=2;break;case d:var g=e[4],y=e[5],m=T0(e[0]*e[0]+e[1]*e[1]),_=T0(e[2]*e[2]+e[3]*e[3]),S=ZR(-e[1]/_,e[0]/m);t[o]*=m,t[o++]+=g,t[o]*=_,t[o++]+=y,t[o++]*=m,t[o++]*=_,t[o++]+=S,t[o++]+=S,o+=2,s=o;break;case c:u[0]=t[o++],u[1]=t[o++],pe(u,u,e),t[s++]=u[0],t[s++]=u[1],u[0]+=t[o++],u[1]+=t[o++],pe(u,u,e),t[s++]=u[0],t[s++]=u[1]}for(l=0;l<i;l++){var b=$R[l];b[0]=t[o++],b[1]=t[o++],pe(b,b,e),t[s++]=b[0],t[s++]=b[1]}}r.increaseVersion()}}var Lv=Math.sqrt,Ql=Math.sin,jl=Math.cos,Yo=Math.PI;function A0(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Kd(r,e){return(r[0]*e[0]+r[1]*e[1])/(A0(r)*A0(e))}function C0(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(Kd(r,e))}function D0(r,e,t,a,n,i,o,s,l,u,f){var h=l*(Yo/180),v=jl(h)*(r-t)/2+Ql(h)*(e-a)/2,c=-1*Ql(h)*(r-t)/2+jl(h)*(e-a)/2,d=v*v/(o*o)+c*c/(s*s);d>1&&(o*=Lv(d),s*=Lv(d));var p=(n===i?-1:1)*Lv((o*o*(s*s)-o*o*(c*c)-s*s*(v*v))/(o*o*(c*c)+s*s*(v*v)))||0,g=p*o*c/s,y=p*-s*v/o,m=(r+t)/2+jl(h)*g-Ql(h)*y,_=(e+a)/2+Ql(h)*g+jl(h)*y,S=C0([1,0],[(v-g)/o,(c-y)/s]),b=[(v-g)/o,(c-y)/s],x=[(-1*v-g)/o,(-1*c-y)/s],w=C0(b,x);if(Kd(b,x)<=-1&&(w=Yo),Kd(b,x)>=1&&(w=0),w<0){var T=Math.round(w/Yo*1e6)/1e6;w=Yo*2+T%2*Yo}f.addData(u,m,_,o,s,S,w,h,i)}var XR=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,qR=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function KR(r){var e=new jr;if(!r)return e;var t=0,a=0,n=t,i=a,o,s=jr.CMD,l=r.match(XR);if(!l)return e;for(var u=0;u<l.length;u++){for(var f=l[u],h=f.charAt(0),v=void 0,c=f.match(qR)||[],d=c.length,p=0;p<d;p++)c[p]=parseFloat(c[p]);for(var g=0;g<d;){var y=void 0,m=void 0,_=void 0,S=void 0,b=void 0,x=void 0,w=void 0,T=t,A=a,C=void 0,M=void 0;switch(h){case"l":t+=c[g++],a+=c[g++],v=s.L,e.addData(v,t,a);break;case"L":t=c[g++],a=c[g++],v=s.L,e.addData(v,t,a);break;case"m":t+=c[g++],a+=c[g++],v=s.M,e.addData(v,t,a),n=t,i=a,h="l";break;case"M":t=c[g++],a=c[g++],v=s.M,e.addData(v,t,a),n=t,i=a,h="L";break;case"h":t+=c[g++],v=s.L,e.addData(v,t,a);break;case"H":t=c[g++],v=s.L,e.addData(v,t,a);break;case"v":a+=c[g++],v=s.L,e.addData(v,t,a);break;case"V":a=c[g++],v=s.L,e.addData(v,t,a);break;case"C":v=s.C,e.addData(v,c[g++],c[g++],c[g++],c[g++],c[g++],c[g++]),t=c[g-2],a=c[g-1];break;case"c":v=s.C,e.addData(v,c[g++]+t,c[g++]+a,c[g++]+t,c[g++]+a,c[g++]+t,c[g++]+a),t+=c[g-2],a+=c[g-1];break;case"S":y=t,m=a,C=e.len(),M=e.data,o===s.C&&(y+=t-M[C-4],m+=a-M[C-3]),v=s.C,T=c[g++],A=c[g++],t=c[g++],a=c[g++],e.addData(v,y,m,T,A,t,a);break;case"s":y=t,m=a,C=e.len(),M=e.data,o===s.C&&(y+=t-M[C-4],m+=a-M[C-3]),v=s.C,T=t+c[g++],A=a+c[g++],t+=c[g++],a+=c[g++],e.addData(v,y,m,T,A,t,a);break;case"Q":T=c[g++],A=c[g++],t=c[g++],a=c[g++],v=s.Q,e.addData(v,T,A,t,a);break;case"q":T=c[g++]+t,A=c[g++]+a,t+=c[g++],a+=c[g++],v=s.Q,e.addData(v,T,A,t,a);break;case"T":y=t,m=a,C=e.len(),M=e.data,o===s.Q&&(y+=t-M[C-4],m+=a-M[C-3]),t=c[g++],a=c[g++],v=s.Q,e.addData(v,y,m,t,a);break;case"t":y=t,m=a,C=e.len(),M=e.data,o===s.Q&&(y+=t-M[C-4],m+=a-M[C-3]),t+=c[g++],a+=c[g++],v=s.Q,e.addData(v,y,m,t,a);break;case"A":_=c[g++],S=c[g++],b=c[g++],x=c[g++],w=c[g++],T=t,A=a,t=c[g++],a=c[g++],v=s.A,D0(T,A,t,a,x,w,_,S,b,v,e);break;case"a":_=c[g++],S=c[g++],b=c[g++],x=c[g++],w=c[g++],T=t,A=a,t+=c[g++],a+=c[g++],v=s.A,D0(T,A,t,a,x,w,_,S,b,v,e);break}}(h==="z"||h==="Z")&&(v=s.Z,e.addData(v),t=n,a=i),o=v}return e.toStatic(),e}var NT=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.applyTransform=function(t){},e}(St);function BT(r){return r.setData!=null}function VT(r,e){var t=KR(r),a=V({},e);return a.buildPath=function(n){if(BT(n)){n.setData(t.data);var i=n.getContext();i&&n.rebuildPath(i,1)}else{var i=n;t.rebuildPath(i,1)}},a.applyTransform=function(n){OT(t,n),this.dirtyShape()},a}function zT(r,e){return new NT(VT(r,e))}function JR(r,e){var t=VT(r,e),a=function(n){k(i,n);function i(o){var s=n.call(this,o)||this;return s.applyTransform=t.applyTransform,s.buildPath=t.buildPath,s}return i}(NT);return a}function QR(r,e){for(var t=[],a=r.length,n=0;n<a;n++){var i=r[n];t.push(i.getUpdatedPathProxy(!0))}var o=new St(e);return o.createPathProxy(),o.buildPath=function(s){if(BT(s)){s.appendPath(t);var l=s.getContext();l&&s.rebuildPath(l,1)}},o}function Ig(r,e){e=e||{};var t=new St;return r.shape&&t.setShape(r.shape),t.setStyle(r.style),e.bakeTransform?OT(t.path,r.getComputedTransform()):e.toLocal?t.setLocalTransform(r.getComputedTransform()):t.copyTransform(r),t.buildPath=r.buildPath,t.applyTransform=t.applyTransform,t.z=r.z,t.z2=r.z2,t.zlevel=r.zlevel,t}var jR=function(){function r(){this.cx=0,this.cy=0,this.r=0}return r}(),Ta=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new jR},e.prototype.buildPath=function(t,a){t.moveTo(a.cx+a.r,a.cy),t.arc(a.cx,a.cy,a.r,0,Math.PI*2)},e}(St);Ta.prototype.type="circle";var tE=function(){function r(){this.cx=0,this.cy=0,this.rx=0,this.ry=0}return r}(),gh=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new tE},e.prototype.buildPath=function(t,a){var n=.5522848,i=a.cx,o=a.cy,s=a.rx,l=a.ry,u=s*n,f=l*n;t.moveTo(i-s,o),t.bezierCurveTo(i-s,o-f,i-u,o-l,i,o-l),t.bezierCurveTo(i+u,o-l,i+s,o-f,i+s,o),t.bezierCurveTo(i+s,o+f,i+u,o+l,i,o+l),t.bezierCurveTo(i-u,o+l,i-s,o+f,i-s,o),t.closePath()},e}(St);gh.prototype.type="ellipse";var GT=Math.PI,Iv=GT*2,Dn=Math.sin,Ei=Math.cos,eE=Math.acos,Se=Math.atan2,M0=Math.abs,Es=Math.sqrt,gs=Math.max,Nr=Math.min,xr=1e-4;function rE(r,e,t,a,n,i,o,s){var l=t-r,u=a-e,f=o-n,h=s-i,v=h*l-f*u;if(!(v*v<xr))return v=(f*(e-i)-h*(r-n))/v,[r+v*l,e+v*u]}function tu(r,e,t,a,n,i,o){var s=r-t,l=e-a,u=(o?i:-i)/Es(s*s+l*l),f=u*l,h=-u*s,v=r+f,c=e+h,d=t+f,p=a+h,g=(v+d)/2,y=(c+p)/2,m=d-v,_=p-c,S=m*m+_*_,b=n-i,x=v*p-d*c,w=(_<0?-1:1)*Es(gs(0,b*b*S-x*x)),T=(x*_-m*w)/S,A=(-x*m-_*w)/S,C=(x*_+m*w)/S,M=(-x*m+_*w)/S,L=T-g,I=A-y,P=C-g,R=M-y;return L*L+I*I>P*P+R*R&&(T=C,A=M),{cx:T,cy:A,x0:-f,y0:-h,x1:T*(n/b-1),y1:A*(n/b-1)}}function aE(r){var e;if(z(r)){var t=r.length;if(!t)return r;t===1?e=[r[0],r[0],0,0]:t===2?e=[r[0],r[0],r[1],r[1]]:t===3?e=r.concat(r[2]):e=r}else e=[r,r,r,r];return e}function nE(r,e){var t,a=gs(e.r,0),n=gs(e.r0||0,0),i=a>0,o=n>0;if(!(!i&&!o)){if(i||(a=n,n=0),n>a){var s=a;a=n,n=s}var l=e.startAngle,u=e.endAngle;if(!(isNaN(l)||isNaN(u))){var f=e.cx,h=e.cy,v=!!e.clockwise,c=M0(u-l),d=c>Iv&&c%Iv;if(d>xr&&(c=d),!(a>xr))r.moveTo(f,h);else if(c>Iv-xr)r.moveTo(f+a*Ei(l),h+a*Dn(l)),r.arc(f,h,a,l,u,!v),n>xr&&(r.moveTo(f+n*Ei(u),h+n*Dn(u)),r.arc(f,h,n,u,l,v));else{var p=void 0,g=void 0,y=void 0,m=void 0,_=void 0,S=void 0,b=void 0,x=void 0,w=void 0,T=void 0,A=void 0,C=void 0,M=void 0,L=void 0,I=void 0,P=void 0,R=a*Ei(l),E=a*Dn(l),N=n*Ei(u),O=n*Dn(u),B=c>xr;if(B){var G=e.cornerRadius;G&&(t=aE(G),p=t[0],g=t[1],y=t[2],m=t[3]);var U=M0(a-n)/2;if(_=Nr(U,y),S=Nr(U,m),b=Nr(U,p),x=Nr(U,g),A=w=gs(_,S),C=T=gs(b,x),(w>xr||T>xr)&&(M=a*Ei(u),L=a*Dn(u),I=n*Ei(l),P=n*Dn(l),c<GT)){var Z=rE(R,E,I,P,M,L,N,O);if(Z){var rt=R-Z[0],at=E-Z[1],W=M-Z[0],Y=L-Z[1],ft=1/Dn(eE((rt*W+at*Y)/(Es(rt*rt+at*at)*Es(W*W+Y*Y)))/2),tt=Es(Z[0]*Z[0]+Z[1]*Z[1]);A=Nr(w,(a-tt)/(ft+1)),C=Nr(T,(n-tt)/(ft-1))}}}if(!B)r.moveTo(f+R,h+E);else if(A>xr){var q=Nr(y,A),it=Nr(m,A),Q=tu(I,P,R,E,a,q,v),F=tu(M,L,N,O,a,it,v);r.moveTo(f+Q.cx+Q.x0,h+Q.cy+Q.y0),A<w&&q===it?r.arc(f+Q.cx,h+Q.cy,A,Se(Q.y0,Q.x0),Se(F.y0,F.x0),!v):(q>0&&r.arc(f+Q.cx,h+Q.cy,q,Se(Q.y0,Q.x0),Se(Q.y1,Q.x1),!v),r.arc(f,h,a,Se(Q.cy+Q.y1,Q.cx+Q.x1),Se(F.cy+F.y1,F.cx+F.x1),!v),it>0&&r.arc(f+F.cx,h+F.cy,it,Se(F.y1,F.x1),Se(F.y0,F.x0),!v))}else r.moveTo(f+R,h+E),r.arc(f,h,a,l,u,!v);if(!(n>xr)||!B)r.lineTo(f+N,h+O);else if(C>xr){var q=Nr(p,C),it=Nr(g,C),Q=tu(N,O,M,L,n,-it,v),F=tu(R,E,I,P,n,-q,v);r.lineTo(f+Q.cx+Q.x0,h+Q.cy+Q.y0),C<T&&q===it?r.arc(f+Q.cx,h+Q.cy,C,Se(Q.y0,Q.x0),Se(F.y0,F.x0),!v):(it>0&&r.arc(f+Q.cx,h+Q.cy,it,Se(Q.y0,Q.x0),Se(Q.y1,Q.x1),!v),r.arc(f,h,n,Se(Q.cy+Q.y1,Q.cx+Q.x1),Se(F.cy+F.y1,F.cx+F.x1),v),q>0&&r.arc(f+F.cx,h+F.cy,q,Se(F.y1,F.x1),Se(F.y0,F.x0),!v))}else r.lineTo(f+N,h+O),r.arc(f,h,n,u,l,v)}r.closePath()}}}var iE=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return r}(),Oe=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new iE},e.prototype.buildPath=function(t,a){nE(t,a)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(St);Oe.prototype.type="sector";var oE=function(){function r(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return r}(),Sl=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new oE},e.prototype.buildPath=function(t,a){var n=a.cx,i=a.cy,o=Math.PI*2;t.moveTo(n+a.r,i),t.arc(n,i,a.r,0,o,!1),t.moveTo(n+a.r0,i),t.arc(n,i,a.r0,0,o,!0)},e}(St);Sl.prototype.type="ring";function sE(r,e,t,a){var n=[],i=[],o=[],s=[],l,u,f,h;if(a){f=[1/0,1/0],h=[-1/0,-1/0];for(var v=0,c=r.length;v<c;v++)Ua(f,f,r[v]),Ya(h,h,r[v]);Ua(f,f,a[0]),Ya(h,h,a[1])}for(var v=0,c=r.length;v<c;v++){var d=r[v];if(t)l=r[v?v-1:c-1],u=r[(v+1)%c];else if(v===0||v===c-1){n.push(fa(r[v]));continue}else l=r[v-1],u=r[v+1];Xn(i,u,l),Hu(i,i,e);var p=xd(d,l),g=xd(d,u),y=p+g;y!==0&&(p/=y,g/=y),Hu(o,i,-p),Hu(s,i,g);var m=xm([],d,o),_=xm([],d,s);a&&(Ya(m,m,f),Ua(m,m,h),Ya(_,_,f),Ua(_,_,h)),n.push(m),n.push(_)}return t&&n.push(n.shift()),n}function FT(r,e,t){var a=e.smooth,n=e.points;if(n&&n.length>=2){if(a){var i=sE(n,a,t,e.smoothConstraint);r.moveTo(n[0][0],n[0][1]);for(var o=n.length,s=0;s<(t?o:o-1);s++){var l=i[s*2],u=i[s*2+1],f=n[(s+1)%o];r.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{r.moveTo(n[0][0],n[0][1]);for(var s=1,h=n.length;s<h;s++)r.lineTo(n[s][0],n[s][1])}t&&r.closePath()}}var lE=function(){function r(){this.points=null,this.smooth=0,this.smoothConstraint=null}return r}(),Ne=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new lE},e.prototype.buildPath=function(t,a){FT(t,a,!0)},e}(St);Ne.prototype.type="polygon";var uE=function(){function r(){this.points=null,this.percent=1,this.smooth=0,this.smoothConstraint=null}return r}(),Be=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new uE},e.prototype.buildPath=function(t,a){FT(t,a,!1)},e}(St);Be.prototype.type="polyline";var fE={},hE=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return r}(),ie=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new hE},e.prototype.buildPath=function(t,a){var n,i,o,s;if(this.subPixelOptimize){var l=bT(fE,a,this.style);n=l.x1,i=l.y1,o=l.x2,s=l.y2}else n=a.x1,i=a.y1,o=a.x2,s=a.y2;var u=a.percent;u!==0&&(t.moveTo(n,i),u<1&&(o=n*(1-u)+o*u,s=i*(1-u)+s*u),t.lineTo(o,s))},e.prototype.pointAt=function(t){var a=this.shape;return[a.x1*(1-t)+a.x2*t,a.y1*(1-t)+a.y2*t]},e}(St);ie.prototype.type="line";var ze=[],vE=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.percent=1}return r}();function L0(r,e,t){var a=r.cpx2,n=r.cpy2;return a!=null||n!=null?[(t?Em:ne)(r.x1,r.cpx1,r.cpx2,r.x2,e),(t?Em:ne)(r.y1,r.cpy1,r.cpy2,r.y2,e)]:[(t?Cd:he)(r.x1,r.cpx1,r.x2,e),(t?Cd:he)(r.y1,r.cpy1,r.y2,e)]}var xl=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new vE},e.prototype.buildPath=function(t,a){var n=a.x1,i=a.y1,o=a.x2,s=a.y2,l=a.cpx1,u=a.cpy1,f=a.cpx2,h=a.cpy2,v=a.percent;v!==0&&(t.moveTo(n,i),f==null||h==null?(v<1&&(Ws(n,l,o,v,ze),l=ze[1],o=ze[2],Ws(i,u,s,v,ze),u=ze[1],s=ze[2]),t.quadraticCurveTo(l,u,o,s)):(v<1&&(nn(n,l,f,o,v,ze),l=ze[1],f=ze[2],o=ze[3],nn(i,u,h,s,v,ze),u=ze[1],h=ze[2],s=ze[3]),t.bezierCurveTo(l,u,f,h,o,s)))},e.prototype.pointAt=function(t){return L0(this.shape,t,!1)},e.prototype.tangentAt=function(t){var a=L0(this.shape,t,!0);return wo(a,a)},e}(St);xl.prototype.type="bezier-curve";var cE=function(){function r(){this.cx=0,this.cy=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),yh=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new cE},e.prototype.buildPath=function(t,a){var n=a.cx,i=a.cy,o=Math.max(a.r,0),s=a.startAngle,l=a.endAngle,u=a.clockwise,f=Math.cos(s),h=Math.sin(s);t.moveTo(f*o+n,h*o+i),t.arc(n,i,o,s,l,!u)},e}(St);yh.prototype.type="arc";var Pg=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="compound",t}return e.prototype._updatePathDirty=function(){for(var t=this.shape.paths,a=this.shapeChanged(),n=0;n<t.length;n++)a=a||t[n].shapeChanged();a&&this.dirtyShape()},e.prototype.beforeBrush=function(){this._updatePathDirty();for(var t=this.shape.paths||[],a=this.getGlobalScale(),n=0;n<t.length;n++)t[n].path||t[n].createPathProxy(),t[n].path.setScale(a[0],a[1],t[n].segmentIgnoreThreshold)},e.prototype.buildPath=function(t,a){for(var n=a.paths||[],i=0;i<n.length;i++)n[i].buildPath(t,n[i].shape,!0)},e.prototype.afterBrush=function(){for(var t=this.shape.paths||[],a=0;a<t.length;a++)t[a].pathUpdated()},e.prototype.getBoundingRect=function(){return this._updatePathDirty.call(this),St.prototype.getBoundingRect.call(this)},e}(St),HT=function(){function r(e){this.colorStops=e||[]}return r.prototype.addColorStop=function(e,t){this.colorStops.push({offset:e,color:t})},r}(),bl=function(r){k(e,r);function e(t,a,n,i,o,s){var l=r.call(this,o)||this;return l.x=t??0,l.y=a??0,l.x2=n??1,l.y2=i??0,l.type="linear",l.global=s||!1,l}return e}(HT),WT=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this,i)||this;return s.x=t??.5,s.y=a??.5,s.r=n??.5,s.type="radial",s.global=o||!1,s}return e}(HT),Mn=[0,0],Ln=[0,0],eu=new pt,ru=new pt,Sf=function(){function r(e,t){this._corners=[],this._axes=[],this._origin=[0,0];for(var a=0;a<4;a++)this._corners[a]=new pt;for(var a=0;a<2;a++)this._axes[a]=new pt;e&&this.fromBoundingRect(e,t)}return r.prototype.fromBoundingRect=function(e,t){var a=this._corners,n=this._axes,i=e.x,o=e.y,s=i+e.width,l=o+e.height;if(a[0].set(i,o),a[1].set(s,o),a[2].set(s,l),a[3].set(i,l),t)for(var u=0;u<4;u++)a[u].transform(t);pt.sub(n[0],a[1],a[0]),pt.sub(n[1],a[3],a[0]),n[0].normalize(),n[1].normalize();for(var u=0;u<2;u++)this._origin[u]=n[u].dot(a[0])},r.prototype.intersect=function(e,t){var a=!0,n=!t;return eu.set(1/0,1/0),ru.set(0,0),!this._intersectCheckOneSide(this,e,eu,ru,n,1)&&(a=!1,n)||!this._intersectCheckOneSide(e,this,eu,ru,n,-1)&&(a=!1,n)||n||pt.copy(t,a?eu:ru),a},r.prototype._intersectCheckOneSide=function(e,t,a,n,i,o){for(var s=!0,l=0;l<2;l++){var u=this._axes[l];if(this._getProjMinMaxOnAxis(l,e._corners,Mn),this._getProjMinMaxOnAxis(l,t._corners,Ln),Mn[1]<Ln[0]||Mn[0]>Ln[1]){if(s=!1,i)return s;var f=Math.abs(Ln[0]-Mn[1]),h=Math.abs(Mn[0]-Ln[1]);Math.min(f,h)>n.len()&&(f<h?pt.scale(n,u,-f*o):pt.scale(n,u,h*o))}else if(a){var f=Math.abs(Ln[0]-Mn[1]),h=Math.abs(Mn[0]-Ln[1]);Math.min(f,h)<a.len()&&(f<h?pt.scale(a,u,f*o):pt.scale(a,u,-h*o))}}return s},r.prototype._getProjMinMaxOnAxis=function(e,t,a){for(var n=this._axes[e],i=this._origin,o=t[0].dot(n)+i[e],s=o,l=o,u=1;u<t.length;u++){var f=t[u].dot(n)+i[e];s=Math.min(f,s),l=Math.max(f,l)}a[0]=s,a[1]=l},r}(),dE=[],pE=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.notClear=!0,t.incremental=!0,t._displayables=[],t._temporaryDisplayables=[],t._cursor=0,t}return e.prototype.traverse=function(t,a){t.call(a,this)},e.prototype.useStyle=function(){this.style={}},e.prototype.getCursor=function(){return this._cursor},e.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length},e.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.markRedraw(),this.notClear=!1},e.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]},e.prototype.addDisplayable=function(t,a){a?this._temporaryDisplayables.push(t):this._displayables.push(t),this.markRedraw()},e.prototype.addDisplayables=function(t,a){a=a||!1;for(var n=0;n<t.length;n++)this.addDisplayable(t[n],a)},e.prototype.getDisplayables=function(){return this._displayables},e.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables},e.prototype.eachPendingDisplayable=function(t){for(var a=this._cursor;a<this._displayables.length;a++)t&&t(this._displayables[a]);for(var a=0;a<this._temporaryDisplayables.length;a++)t&&t(this._temporaryDisplayables[a])},e.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){var a=this._displayables[t];a.parent=this,a.update(),a.parent=null}for(var t=0;t<this._temporaryDisplayables.length;t++){var a=this._temporaryDisplayables[t];a.parent=this,a.update(),a.parent=null}},e.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new gt(1/0,1/0,-1/0,-1/0),a=0;a<this._displayables.length;a++){var n=this._displayables[a],i=n.getBoundingRect().clone();n.needLocalTransform()&&i.applyTransform(n.getLocalTransform(dE)),t.union(i)}this._rect=t}return this._rect},e.prototype.contain=function(t,a){var n=this.transformCoordToLocal(t,a),i=this.getBoundingRect();if(i.contain(n[0],n[1]))for(var o=0;o<this._displayables.length;o++){var s=this._displayables[o];if(s.contain(t,a))return!0}return!1},e}(cr),UT=At();function Do(r,e,t,a,n){var i;if(e&&e.ecModel){var o=e.ecModel.getUpdatePayload();i=o&&o.animation}var s=e&&e.isAnimationEnabled(),l=r==="update";if(s){var u=void 0,f=void 0,h=void 0;a?(u=vt(a.duration,200),f=vt(a.easing,"cubicOut"),h=0):(u=e.getShallow(l?"animationDurationUpdate":"animationDuration"),f=e.getShallow(l?"animationEasingUpdate":"animationEasing"),h=e.getShallow(l?"animationDelayUpdate":"animationDelay")),i&&(i.duration!=null&&(u=i.duration),i.easing!=null&&(f=i.easing),i.delay!=null&&(h=i.delay)),nt(h)&&(h=h(t,n)),nt(u)&&(u=u(t));var v={duration:u||0,delay:h,easing:f};return v}else return null}function Rg(r,e,t,a,n,i,o){var s=!1,l;nt(n)?(o=i,i=n,n=null):st(n)&&(i=n.cb,o=n.during,s=n.isFrom,l=n.removeOpt,n=n.dataIndex);var u=r==="leave";u||e.stopAnimation("leave");var f=Do(r,a,n,u?l||{}:null,a&&a.getAnimationDelayParams?a.getAnimationDelayParams(e,n):null);if(f&&f.duration>0){var h=f.duration,v=f.delay,c=f.easing,d={duration:h,delay:v||0,easing:c,done:i,force:!!i||!!o,setToFinal:!u,scope:r,during:o};s?e.animateFrom(t,d):e.animateTo(t,d)}else e.stopAnimation(),!s&&e.attr(t),o&&o(1),i&&i()}function Mt(r,e,t,a,n,i){Rg("update",r,e,t,a,n,i)}function Ft(r,e,t,a,n,i){Rg("enter",r,e,t,a,n,i)}function io(r){if(!r.__zr)return!0;for(var e=0;e<r.animators.length;e++){var t=r.animators[e];if(t.scope==="leave")return!0}return!1}function on(r,e,t,a,n,i){io(r)||Rg("leave",r,e,t,a,n,i)}function I0(r,e,t,a){r.removeTextContent(),r.removeTextGuideLine(),on(r,{style:{opacity:0}},e,t,a)}function Ks(r,e,t){function a(){r.parent&&r.parent.remove(r)}r.isGroup?r.traverse(function(n){n.isGroup||I0(n,e,t,a)}):I0(r,e,t,a)}function Ir(r){UT(r).oldStyle=r.style}function gE(r){return UT(r).oldStyle}var xf=Math.max,bf=Math.min,Jd={};function yE(r){return St.extend(r)}var mE=JR;function _E(r,e){return mE(r,e)}function Pr(r,e){Jd[r]=e}function Eg(r){if(Jd.hasOwnProperty(r))return Jd[r]}function mh(r,e,t,a){var n=zT(r,e);return t&&(a==="center"&&(t=$T(t,n.getBoundingRect())),ZT(n,t)),n}function YT(r,e,t){var a=new ce({style:{image:r,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(n){if(t==="center"){var i={width:n.width,height:n.height};a.setStyle($T(e,i))}}});return a}function $T(r,e){var t=e.width/e.height,a=r.height*t,n;a<=r.width?n=r.height:(a=r.width,n=a/t);var i=r.x+r.width/2,o=r.y+r.height/2;return{x:i-a/2,y:o-n/2,width:a,height:n}}var ur=QR;function ZT(r,e){if(r.applyTransform){var t=r.getBoundingRect(),a=t.calculateTransform(e);r.applyTransform(a)}}function vo(r,e){return bT(r,r,{lineWidth:e}),r}function SE(r){return wT(r.shape,r.shape,r.style),r}var Ju=qn;function si(r,e){for(var t=oh([]);r&&r!==e;)ha(t,r.getLocalTransform(),t),r=r.parent;return t}function Mr(r,e,t){return e&&!Te(e)&&(e=la.getLocalTransform(e)),t&&(e=To([],e)),pe([],r,e)}function _h(r,e,t){var a=e[4]===0||e[5]===0||e[0]===0?1:Math.abs(2*e[4]/e[0]),n=e[4]===0||e[5]===0||e[2]===0?1:Math.abs(2*e[4]/e[2]),i=[r==="left"?-a:r==="right"?a:0,r==="top"?-n:r==="bottom"?n:0];return i=Mr(i,e,t),Math.abs(i[0])>Math.abs(i[1])?i[0]>0?"right":"left":i[1]>0?"bottom":"top"}function P0(r){return!r.isGroup}function xE(r){return r.shape!=null}function wl(r,e,t){if(!r||!e)return;function a(o){var s={};return o.traverse(function(l){P0(l)&&l.anid&&(s[l.anid]=l)}),s}function n(o){var s={x:o.x,y:o.y,rotation:o.rotation};return xE(o)&&(s.shape=V({},o.shape)),s}var i=a(r);e.traverse(function(o){if(P0(o)&&o.anid){var s=i[o.anid];if(s){var l=n(o);o.attr(n(s)),Mt(o,l,t,ht(o).dataIndex)}}})}function XT(r,e){return H(r,function(t){var a=t[0];a=xf(a,e.x),a=bf(a,e.x+e.width);var n=t[1];return n=xf(n,e.y),n=bf(n,e.y+e.height),[a,n]})}function bE(r,e){var t=xf(r.x,e.x),a=bf(r.x+r.width,e.x+e.width),n=xf(r.y,e.y),i=bf(r.y+r.height,e.y+e.height);if(a>=t&&i>=n)return{x:t,y:n,width:a-t,height:i-n}}function Tl(r,e,t){var a=V({rectHover:!0},e),n=a.style={strokeNoScale:!0};if(t=t||{x:-1,y:-1,width:2,height:2},r)return r.indexOf("image://")===0?(n.image=r.slice(8),ot(n,t),new ce(a)):mh(r.replace("path://",""),a,t,"center")}function ys(r,e,t,a,n){for(var i=0,o=n[n.length-1];i<n.length;i++){var s=n[i];if(qT(r,e,t,a,s[0],s[1],o[0],o[1]))return!0;o=s}}function qT(r,e,t,a,n,i,o,s){var l=t-r,u=a-e,f=o-n,h=s-i,v=Pv(f,h,l,u);if(wE(v))return!1;var c=r-n,d=e-i,p=Pv(c,d,l,u)/v;if(p<0||p>1)return!1;var g=Pv(c,d,f,h)/v;return!(g<0||g>1)}function Pv(r,e,t,a){return r*a-t*e}function wE(r){return r<=1e-6&&r>=-1e-6}function Si(r){var e=r.itemTooltipOption,t=r.componentModel,a=r.itemName,n=K(e)?{formatter:e}:e,i=t.mainType,o=t.componentIndex,s={componentType:i,name:a,$vars:["name"]};s[i+"Index"]=o;var l=r.formatterParamsExtra;l&&D(wt(l),function(f){j(s,f)||(s[f]=l[f],s.$vars.push(f))});var u=ht(r.el);u.componentMainType=i,u.componentIndex=o,u.tooltipConfig={name:a,option:ot({content:a,encodeHTMLContent:!0,formatterParams:s},n)}}function R0(r,e){var t;r.isGroup&&(t=e(r)),t||r.traverse(e)}function hn(r,e){if(r)if(z(r))for(var t=0;t<r.length;t++)R0(r[t],e);else R0(r,e)}Pr("circle",Ta);Pr("ellipse",gh);Pr("sector",Oe);Pr("ring",Sl);Pr("polygon",Ne);Pr("polyline",Be);Pr("rect",Tt);Pr("line",ie);Pr("bezierCurve",xl);Pr("arc",yh);const xi=Object.freeze(Object.defineProperty({__proto__:null,Arc:yh,BezierCurve:xl,BoundingRect:gt,Circle:Ta,CompoundPath:Pg,Ellipse:gh,Group:ut,Image:ce,IncrementalDisplayable:pE,Line:ie,LinearGradient:bl,OrientedBoundingRect:Sf,Path:St,Point:pt,Polygon:Ne,Polyline:Be,RadialGradient:WT,Rect:Tt,Ring:Sl,Sector:Oe,Text:Ct,applyTransform:Mr,clipPointsByRect:XT,clipRectByRect:bE,createIcon:Tl,extendPath:_E,extendShape:yE,getShapeClass:Eg,getTransform:si,groupTransition:wl,initProps:Ft,isElementRemoved:io,lineLineIntersect:qT,linePolygonIntersect:ys,makeImage:YT,makePath:mh,mergePath:ur,registerShape:Pr,removeElement:on,removeElementWithFadeOut:Ks,resizePath:ZT,setTooltipConfig:Si,subPixelOptimize:Ju,subPixelOptimizeLine:vo,subPixelOptimizeRect:SE,transformDirection:_h,traverseElements:hn,updateProps:Mt},Symbol.toStringTag,{value:"Module"}));var Sh={};function KT(r,e){for(var t=0;t<ke.length;t++){var a=ke[t],n=e[a],i=r.ensureState(a);i.style=i.style||{},i.style.text=n}var o=r.currentStates.slice();r.clearStates(!0),r.setStyle({text:e.normal}),r.useStates(o,!0)}function Qd(r,e,t){var a=r.labelFetcher,n=r.labelDataIndex,i=r.labelDimIndex,o=e.normal,s;a&&(s=a.getFormattedLabel(n,"normal",null,i,o&&o.get("formatter"),t!=null?{interpolatedValue:t}:null)),s==null&&(s=nt(r.defaultText)?r.defaultText(n,r,t):r.defaultText);for(var l={normal:s},u=0;u<ke.length;u++){var f=ke[u],h=e[f];l[f]=vt(a?a.getFormattedLabel(n,f,null,i,h&&h.get("formatter")):null,s)}return l}function ye(r,e,t,a){t=t||Sh;for(var n=r instanceof Ct,i=!1,o=0;o<Xs.length;o++){var s=e[Xs[o]];if(s&&s.getShallow("show")){i=!0;break}}var l=n?r:r.getTextContent();if(i){n||(l||(l=new Ct,r.setTextContent(l)),r.stateProxy&&(l.stateProxy=r.stateProxy));var u=Qd(t,e),f=e.normal,h=!!f.getShallow("show"),v=zt(f,a&&a.normal,t,!1,!n);v.text=u.normal,n||r.setTextConfig(wf(f,t,!1));for(var o=0;o<ke.length;o++){var c=ke[o],s=e[c];if(s){var d=l.ensureState(c),p=!!vt(s.getShallow("show"),h);if(p!==h&&(d.ignore=!p),d.style=zt(s,a&&a[c],t,!0,!n),d.style.text=u[c],!n){var g=r.ensureState(c);g.textConfig=wf(s,t,!0)}}}l.silent=!!f.getShallow("silent"),l.style.x!=null&&(v.x=l.style.x),l.style.y!=null&&(v.y=l.style.y),l.ignore=!h,l.useStyle(v),l.dirty(),t.enableTextSetter&&(Mo(l).setLabelText=function(y){var m=Qd(t,e,y);KT(l,m)})}else l&&(l.ignore=!0);r.dirty()}function le(r,e){e=e||"label";for(var t={normal:r.getModel(e)},a=0;a<ke.length;a++){var n=ke[a];t[n]=r.getModel([n,e])}return t}function zt(r,e,t,a,n){var i={};return TE(i,r,t,a,n),e&&V(i,e),i}function wf(r,e,t){e=e||{};var a={},n,i=r.getShallow("rotate"),o=vt(r.getShallow("distance"),t?null:5),s=r.getShallow("offset");return n=r.getShallow("position")||(t?null:"inside"),n==="outside"&&(n=e.defaultOutsidePosition||"top"),n!=null&&(a.position=n),s!=null&&(a.offset=s),i!=null&&(i*=Math.PI/180,a.rotation=i),o!=null&&(a.distance=o),a.outsideFill=r.get("color")==="inherit"?e.inheritColor||null:"auto",a}function TE(r,e,t,a,n){t=t||Sh;var i=e.ecModel,o=i&&i.option.textStyle,s=AE(e),l;if(s){l={};for(var u in s)if(s.hasOwnProperty(u)){var f=e.getModel(["rich",u]);N0(l[u]={},f,o,t,a,n,!1,!0)}}l&&(r.rich=l);var h=e.get("overflow");h&&(r.overflow=h);var v=e.get("minMargin");v!=null&&(r.margin=v),N0(r,e,o,t,a,n,!0,!1)}function AE(r){for(var e;r&&r!==r.ecModel;){var t=(r.option||Sh).rich;if(t){e=e||{};for(var a=wt(t),n=0;n<a.length;n++){var i=a[n];e[i]=1}}r=r.parentModel}return e}var E0=["fontStyle","fontWeight","fontSize","fontFamily","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY"],k0=["align","lineHeight","width","height","tag","verticalAlign","ellipsis"],O0=["padding","borderWidth","borderRadius","borderDashOffset","backgroundColor","borderColor","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];function N0(r,e,t,a,n,i,o,s){t=!n&&t||Sh;var l=a&&a.inheritColor,u=e.getShallow("color"),f=e.getShallow("textBorderColor"),h=vt(e.getShallow("opacity"),t.opacity);(u==="inherit"||u==="auto")&&(l?u=l:u=null),(f==="inherit"||f==="auto")&&(l?f=l:f=null),i||(u=u||t.color,f=f||t.textBorderColor),u!=null&&(r.fill=u),f!=null&&(r.stroke=f);var v=vt(e.getShallow("textBorderWidth"),t.textBorderWidth);v!=null&&(r.lineWidth=v);var c=vt(e.getShallow("textBorderType"),t.textBorderType);c!=null&&(r.lineDash=c);var d=vt(e.getShallow("textBorderDashOffset"),t.textBorderDashOffset);d!=null&&(r.lineDashOffset=d),!n&&h==null&&!s&&(h=a&&a.defaultOpacity),h!=null&&(r.opacity=h),!n&&!i&&r.fill==null&&a.inheritColor&&(r.fill=a.inheritColor);for(var p=0;p<E0.length;p++){var g=E0[p],y=vt(e.getShallow(g),t[g]);y!=null&&(r[g]=y)}for(var p=0;p<k0.length;p++){var g=k0[p],y=e.getShallow(g);y!=null&&(r[g]=y)}if(r.verticalAlign==null){var m=e.getShallow("baseline");m!=null&&(r.verticalAlign=m)}if(!o||!a.disableBox){for(var p=0;p<O0.length;p++){var g=O0[p],y=e.getShallow(g);y!=null&&(r[g]=y)}var _=e.getShallow("borderType");_!=null&&(r.borderDash=_),(r.backgroundColor==="auto"||r.backgroundColor==="inherit")&&l&&(r.backgroundColor=l),(r.borderColor==="auto"||r.borderColor==="inherit")&&l&&(r.borderColor=l)}}function kg(r,e){var t=e&&e.getModel("textStyle");return Ar([r.fontStyle||t&&t.getShallow("fontStyle")||"",r.fontWeight||t&&t.getShallow("fontWeight")||"",(r.fontSize||t&&t.getShallow("fontSize")||12)+"px",r.fontFamily||t&&t.getShallow("fontFamily")||"sans-serif"].join(" "))}var Mo=At();function JT(r,e,t,a){if(r){var n=Mo(r);n.prevValue=n.value,n.value=t;var i=e.normal;n.valueAnimation=i.get("valueAnimation"),n.valueAnimation&&(n.precision=i.get("precision"),n.defaultInterpolatedText=a,n.statesModels=e)}}function QT(r,e,t,a,n){var i=Mo(r);if(!i.valueAnimation||i.prevValue===i.value)return;var o=i.defaultInterpolatedText,s=vt(i.interpolatedValue,i.prevValue),l=i.value;function u(f){var h=dT(t,i.precision,s,l,f);i.interpolatedValue=f===1?null:h;var v=Qd({labelDataIndex:e,labelFetcher:n,defaultText:o?o(h):h+""},i.statesModels,h);KT(r,v)}r.percent=0,(i.prevValue==null?Ft:Mt)(r,{percent:1},a,e,null,u)}var CE=["textStyle","color"],Rv=["fontStyle","fontWeight","fontSize","fontFamily","padding","lineHeight","rich","width","height","overflow"],Ev=new Ct,DE=function(){function r(){}return r.prototype.getTextColor=function(e){var t=this.ecModel;return this.getShallow("color")||(!e&&t?t.get(CE):null)},r.prototype.getFont=function(){return kg({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},r.prototype.getTextRect=function(e){for(var t={text:e,verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline")},a=0;a<Rv.length;a++)t[Rv[a]]=this.getShallow(Rv[a]);return Ev.useStyle(t),Ev.update(),Ev.getBoundingRect()},r}(),jT=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],ME=ci(jT),LE=function(){function r(){}return r.prototype.getLineStyle=function(e){return ME(this,e)},r}(),tA=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],IE=ci(tA),PE=function(){function r(){}return r.prototype.getItemStyle=function(e,t){return IE(this,e,t)},r}(),Et=function(){function r(e,t,a){this.parentModel=t,this.ecModel=a,this.option=e}return r.prototype.init=function(e,t,a){},r.prototype.mergeOption=function(e,t){dt(this.option,e,!0)},r.prototype.get=function(e,t){return e==null?this.option:this._doGet(this.parsePath(e),!t&&this.parentModel)},r.prototype.getShallow=function(e,t){var a=this.option,n=a==null?a:a[e];if(n==null&&!t){var i=this.parentModel;i&&(n=i.getShallow(e))}return n},r.prototype.getModel=function(e,t){var a=e!=null,n=a?this.parsePath(e):null,i=a?this._doGet(n):this.option;return t=t||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(n)),new r(i,t,this.ecModel)},r.prototype.isEmpty=function(){return this.option==null},r.prototype.restoreData=function(){},r.prototype.clone=function(){var e=this.constructor;return new e(lt(this.option))},r.prototype.parsePath=function(e){return typeof e=="string"?e.split("."):e},r.prototype.resolveParentPath=function(e){return e},r.prototype.isAnimationEnabled=function(){if(!xt.node&&this.option){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}},r.prototype._doGet=function(e,t){var a=this.option;if(!e)return a;for(var n=0;n<e.length&&!(e[n]&&(a=a&&typeof a=="object"?a[e[n]]:null,a==null));n++);return a==null&&t&&(a=t._doGet(this.resolveParentPath(e),t.parentModel)),a},r}();bg(Et);GP(Et);te(Et,LE);te(Et,PE);te(Et,YP);te(Et,DE);var RE=Math.round(Math.random()*10);function Lo(r){return[r||"",RE++].join("_")}function EE(r){var e={};r.registerSubTypeDefaulter=function(t,a){var n=Ur(t);e[n.main]=a},r.determineSubType=function(t,a){var n=a.type;if(!n){var i=Ur(t).main;r.hasSubTypes(t)&&e[i]&&(n=e[i](a))}return n}}function kE(r,e){r.topologicalTravel=function(i,o,s,l){if(!i.length)return;var u=t(o),f=u.graph,h=u.noEntryList,v={};for(D(i,function(m){v[m]=!0});h.length;){var c=h.pop(),d=f[c],p=!!v[c];p&&(s.call(l,c,d.originalDeps.slice()),delete v[c]),D(d.successor,p?y:g)}D(v,function(){var m="";throw new Error(m)});function g(m){f[m].entryCount--,f[m].entryCount===0&&h.push(m)}function y(m){v[m]=!0,g(m)}};function t(i){var o={},s=[];return D(i,function(l){var u=a(o,l),f=u.originalDeps=e(l),h=n(f,i);u.entryCount=h.length,u.entryCount===0&&s.push(l),D(h,function(v){yt(u.predecessor,v)<0&&u.predecessor.push(v);var c=a(o,v);yt(c.successor,v)<0&&c.successor.push(l)})}),{graph:o,noEntryList:s}}function a(i,o){return i[o]||(i[o]={predecessor:[],successor:[]}),i[o]}function n(i,o){var s=[];return D(i,function(l){yt(o,l)>=0&&s.push(l)}),s}}function vn(r,e){return dt(dt({},r,!0),e,!0)}const OE={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},NE={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var Tf="ZH",Og="EN",oo=Og,Qu={},Ng={},eA=xt.domSupported?function(){var r=(document.documentElement.lang||navigator.language||navigator.browserLanguage||oo).toUpperCase();return r.indexOf(Tf)>-1?Tf:oo}():oo;function rA(r,e){r=r.toUpperCase(),Ng[r]=new Et(e),Qu[r]=e}function BE(r){if(K(r)){var e=Qu[r.toUpperCase()]||{};return r===Tf||r===Og?lt(e):dt(lt(e),lt(Qu[oo]),!1)}else return dt(lt(r),lt(Qu[oo]),!1)}function jd(r){return Ng[r]}function VE(){return Ng[oo]}rA(Og,OE);rA(Tf,NE);var Bg=1e3,Vg=Bg*60,ks=Vg*60,fr=ks*24,B0=fr*365,ms={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},au="{yyyy}-{MM}-{dd}",V0={year:"{yyyy}",month:"{yyyy}-{MM}",day:au,hour:au+" "+ms.hour,minute:au+" "+ms.minute,second:au+" "+ms.second,millisecond:ms.none},kv=["year","month","day","hour","minute","second","millisecond"],aA=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Ra(r,e){return r+="","0000".substr(0,e-r.length)+r}function so(r){switch(r){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return r}}function zE(r){return r===so(r)}function GE(r){switch(r){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function xh(r,e,t,a){var n=Qr(r),i=n[zg(t)](),o=n[lo(t)]()+1,s=Math.floor((o-1)/3)+1,l=n[bh(t)](),u=n["get"+(t?"UTC":"")+"Day"](),f=n[Js(t)](),h=(f-1)%12+1,v=n[wh(t)](),c=n[Th(t)](),d=n[Ah(t)](),p=f>=12?"pm":"am",g=p.toUpperCase(),y=a instanceof Et?a:jd(a||eA)||VE(),m=y.getModel("time"),_=m.get("month"),S=m.get("monthAbbr"),b=m.get("dayOfWeek"),x=m.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,p+"").replace(/{A}/g,g+"").replace(/{yyyy}/g,i+"").replace(/{yy}/g,Ra(i%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,_[o-1]).replace(/{MMM}/g,S[o-1]).replace(/{MM}/g,Ra(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,Ra(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,b[u]).replace(/{ee}/g,x[u]).replace(/{e}/g,u+"").replace(/{HH}/g,Ra(f,2)).replace(/{H}/g,f+"").replace(/{hh}/g,Ra(h+"",2)).replace(/{h}/g,h+"").replace(/{mm}/g,Ra(v,2)).replace(/{m}/g,v+"").replace(/{ss}/g,Ra(c,2)).replace(/{s}/g,c+"").replace(/{SSS}/g,Ra(d,3)).replace(/{S}/g,d+"")}function FE(r,e,t,a,n){var i=null;if(K(t))i=t;else if(nt(t))i=t(r.value,e,{level:r.level});else{var o=V({},ms);if(r.level>0)for(var s=0;s<kv.length;++s)o[kv[s]]="{primary|"+o[kv[s]]+"}";var l=t?t.inherit===!1?t:ot(t,o):o,u=nA(r.value,n);if(l[u])i=l[u];else if(l.inherit){for(var f=aA.indexOf(u),s=f-1;s>=0;--s)if(l[u]){i=l[u];break}i=i||o.none}if(z(i)){var h=r.level==null?0:r.level>=0?r.level:i.length+r.level;h=Math.min(h,i.length-1),i=i[h]}}return xh(new Date(r.value),i,n,a)}function nA(r,e){var t=Qr(r),a=t[lo(e)]()+1,n=t[bh(e)](),i=t[Js(e)](),o=t[wh(e)](),s=t[Th(e)](),l=t[Ah(e)](),u=l===0,f=u&&s===0,h=f&&o===0,v=h&&i===0,c=v&&n===1,d=c&&a===1;return d?"year":c?"month":v?"day":h?"hour":f?"minute":u?"second":"millisecond"}function z0(r,e,t){var a=Dt(r)?Qr(r):r;switch(e=e||nA(r,t),e){case"year":return a[zg(t)]();case"half-year":return a[lo(t)]()>=6?1:0;case"quarter":return Math.floor((a[lo(t)]()+1)/4);case"month":return a[lo(t)]();case"day":return a[bh(t)]();case"half-day":return a[Js(t)]()/24;case"hour":return a[Js(t)]();case"minute":return a[wh(t)]();case"second":return a[Th(t)]();case"millisecond":return a[Ah(t)]()}}function zg(r){return r?"getUTCFullYear":"getFullYear"}function lo(r){return r?"getUTCMonth":"getMonth"}function bh(r){return r?"getUTCDate":"getDate"}function Js(r){return r?"getUTCHours":"getHours"}function wh(r){return r?"getUTCMinutes":"getMinutes"}function Th(r){return r?"getUTCSeconds":"getSeconds"}function Ah(r){return r?"getUTCMilliseconds":"getMilliseconds"}function HE(r){return r?"setUTCFullYear":"setFullYear"}function iA(r){return r?"setUTCMonth":"setMonth"}function oA(r){return r?"setUTCDate":"setDate"}function sA(r){return r?"setUTCHours":"setHours"}function lA(r){return r?"setUTCMinutes":"setMinutes"}function uA(r){return r?"setUTCSeconds":"setSeconds"}function fA(r){return r?"setUTCMilliseconds":"setMilliseconds"}function hA(r){if(!oT(r))return K(r)?r:"-";var e=(r+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function vA(r,e){return r=(r||"").toLowerCase().replace(/-(.)/g,function(t,a){return a.toUpperCase()}),e&&r&&(r=r.charAt(0).toUpperCase()+r.slice(1)),r}var Io=vg;function tp(r,e,t){var a="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function n(f){return f&&Ar(f)?f:"-"}function i(f){return!!(f!=null&&!isNaN(f)&&isFinite(f))}var o=e==="time",s=r instanceof Date;if(o||s){var l=o?Qr(r):r;if(isNaN(+l)){if(s)return"-"}else return xh(l,a,t)}if(e==="ordinal")return md(r)?n(r):Dt(r)&&i(r)?r+"":"-";var u=ga(r);return i(u)?hA(u):md(r)?n(r):typeof r=="boolean"?r+"":"-"}var G0=["a","b","c","d","e","f","g"],Ov=function(r,e){return"{"+r+(e??"")+"}"};function cA(r,e,t){z(e)||(e=[e]);var a=e.length;if(!a)return"";for(var n=e[0].$vars||[],i=0;i<n.length;i++){var o=G0[i];r=r.replace(Ov(o),Ov(o,0))}for(var s=0;s<a;s++)for(var l=0;l<n.length;l++){var u=e[s][n[l]];r=r.replace(Ov(G0[l],s),t?Ie(u):u)}return r}function WE(r,e,t){return D(e,function(a,n){r=r.replace("{"+n+"}",a)}),r}function UE(r,e){var t=K(r)?{color:r,extraCssText:e}:r||{},a=t.color,n=t.type;e=t.extraCssText;var i=t.renderMode||"html";if(!a)return"";if(i==="html")return n==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+Ie(a)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+Ie(a)+";"+(e||"")+'"></span>';var o=t.markerId||"markerX";return{renderMode:i,content:"{"+o+"|} ",style:n==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:a}:{width:10,height:10,borderRadius:5,backgroundColor:a}}}function pi(r,e){return e=e||"transparent",K(r)?r:st(r)&&r.colorStops&&(r.colorStops[0]||{}).color||e}function Af(r,e){if(e==="_blank"||e==="blank"){var t=window.open();t.opener=null,t.location.href=r}else window.open(r,e)}var ju=D,dA=["left","right","top","bottom","width","height"],Jn=[["width","left","right"],["height","top","bottom"]];function Gg(r,e,t,a,n){var i=0,o=0;a==null&&(a=1/0),n==null&&(n=1/0);var s=0;e.eachChild(function(l,u){var f=l.getBoundingRect(),h=e.childAt(u+1),v=h&&h.getBoundingRect(),c,d;if(r==="horizontal"){var p=f.width+(v?-v.x+f.x:0);c=i+p,c>a||l.newline?(i=0,c=p,o+=s+t,s=f.height):s=Math.max(s,f.height)}else{var g=f.height+(v?-v.y+f.y:0);d=o+g,d>n||l.newline?(i+=s+t,o=0,d=g,s=f.width):s=Math.max(s,f.width)}l.newline||(l.x=i,l.y=o,l.markRedraw(),r==="horizontal"?i=c+t:o=d+t)})}var li=Gg;ct(Gg,"vertical");ct(Gg,"horizontal");function YE(r,e,t){var a=e.width,n=e.height,i=X(r.left,a),o=X(r.top,n),s=X(r.right,a),l=X(r.bottom,n);return(isNaN(i)||isNaN(parseFloat(r.left)))&&(i=0),(isNaN(s)||isNaN(parseFloat(r.right)))&&(s=a),(isNaN(o)||isNaN(parseFloat(r.top)))&&(o=0),(isNaN(l)||isNaN(parseFloat(r.bottom)))&&(l=n),t=Io(t||0),{width:Math.max(s-i-t[1]-t[3],0),height:Math.max(l-o-t[0]-t[2],0)}}function re(r,e,t){t=Io(t||0);var a=e.width,n=e.height,i=X(r.left,a),o=X(r.top,n),s=X(r.right,a),l=X(r.bottom,n),u=X(r.width,a),f=X(r.height,n),h=t[2]+t[0],v=t[1]+t[3],c=r.aspect;switch(isNaN(u)&&(u=a-s-v-i),isNaN(f)&&(f=n-l-h-o),c!=null&&(isNaN(u)&&isNaN(f)&&(c>a/n?u=a*.8:f=n*.8),isNaN(u)&&(u=c*f),isNaN(f)&&(f=u/c)),isNaN(i)&&(i=a-s-u-v),isNaN(o)&&(o=n-l-f-h),r.left||r.right){case"center":i=a/2-u/2-t[3];break;case"right":i=a-u-v;break}switch(r.top||r.bottom){case"middle":case"center":o=n/2-f/2-t[0];break;case"bottom":o=n-f-h;break}i=i||0,o=o||0,isNaN(u)&&(u=a-v-i-(s||0)),isNaN(f)&&(f=n-h-o-(l||0));var d=new gt(i+t[3],o+t[0],u,f);return d.margin=t,d}function Ch(r,e,t,a,n,i){var o=!n||!n.hv||n.hv[0],s=!n||!n.hv||n.hv[1],l=n&&n.boundingMode||"all";if(i=i||r,i.x=r.x,i.y=r.y,!o&&!s)return!1;var u;if(l==="raw")u=r.type==="group"?new gt(0,0,+e.width||0,+e.height||0):r.getBoundingRect();else if(u=r.getBoundingRect(),r.needLocalTransform()){var f=r.getLocalTransform();u=u.clone(),u.applyTransform(f)}var h=re(ot({width:u.width,height:u.height},e),t,a),v=o?h.x-u.x:0,c=s?h.y-u.y:0;return l==="raw"?(i.x=v,i.y=c):(i.x+=v,i.y+=c),i===r&&r.markRedraw(),!0}function $E(r,e){return r[Jn[e][0]]!=null||r[Jn[e][1]]!=null&&r[Jn[e][2]]!=null}function Qs(r){var e=r.layoutMode||r.constructor.layoutMode;return st(e)?e:e?{type:e}:null}function sn(r,e,t){var a=t&&t.ignoreSize;!z(a)&&(a=[a,a]);var n=o(Jn[0],0),i=o(Jn[1],1);u(Jn[0],r,n),u(Jn[1],r,i);function o(f,h){var v={},c=0,d={},p=0,g=2;if(ju(f,function(_){d[_]=r[_]}),ju(f,function(_){s(e,_)&&(v[_]=d[_]=e[_]),l(v,_)&&c++,l(d,_)&&p++}),a[h])return l(e,f[1])?d[f[2]]=null:l(e,f[2])&&(d[f[1]]=null),d;if(p===g||!c)return d;if(c>=g)return v;for(var y=0;y<f.length;y++){var m=f[y];if(!s(v,m)&&s(r,m)){v[m]=r[m];break}}return v}function s(f,h){return f.hasOwnProperty(h)}function l(f,h){return f[h]!=null&&f[h]!=="auto"}function u(f,h,v){ju(f,function(c){h[c]=v[c]})}}function Po(r){return pA({},r)}function pA(r,e){return e&&r&&ju(dA,function(t){e.hasOwnProperty(t)&&(r[t]=e[t])}),r}var ZE=At(),bt=function(r){k(e,r);function e(t,a,n){var i=r.call(this,t,a,n)||this;return i.uid=Lo("ec_cpt_model"),i}return e.prototype.init=function(t,a,n){this.mergeDefaultAndTheme(t,n)},e.prototype.mergeDefaultAndTheme=function(t,a){var n=Qs(this),i=n?Po(t):{},o=a.getTheme();dt(t,o.get(this.mainType)),dt(t,this.getDefaultOption()),n&&sn(t,i,n)},e.prototype.mergeOption=function(t,a){dt(this.option,t,!0);var n=Qs(this);n&&sn(this.option,t,n)},e.prototype.optionUpdated=function(t,a){},e.prototype.getDefaultOption=function(){var t=this.constructor;if(!BP(t))return t.defaultOption;var a=ZE(this);if(!a.defaultOption){for(var n=[],i=t;i;){var o=i.prototype.defaultOption;o&&n.push(o),i=i.superClass}for(var s={},l=n.length-1;l>=0;l--)s=dt(s,n[l],!0);a.defaultOption=s}return a.defaultOption},e.prototype.getReferringComponents=function(t,a){var n=t+"Index",i=t+"Id";return ml(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},a)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(Et);gT(bt,Et);fh(bt);EE(bt);kE(bt,XE);function XE(r){var e=[];return D(bt.getClassesByMainType(r),function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])}),e=H(e,function(t){return Ur(t).main}),r!=="dataset"&&yt(e,"dataset")<=0&&e.unshift("dataset"),e}var gA="";typeof navigator<"u"&&(gA=navigator.platform||"");var ki="rgba(0, 0, 0, 0.2)";const qE={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:ki,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:ki,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:ki,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:ki,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:ki,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:ki,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:gA.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var yA=et(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),pr="original",Ae="arrayRows",gr="objectRows",ta="keyedColumns",ja="typedArray",mA="unknown",Xr="column",Ro="row",de={Must:1,Might:2,Not:3},_A=At();function KE(r){_A(r).datasetMap=et()}function SA(r,e,t){var a={},n=Hg(e);if(!n||!r)return a;var i=[],o=[],s=e.ecModel,l=_A(s).datasetMap,u=n.uid+"_"+t.seriesLayoutBy,f,h;r=r.slice(),D(r,function(p,g){var y=st(p)?p:r[g]={name:p};y.type==="ordinal"&&f==null&&(f=g,h=d(y)),a[y.name]=[]});var v=l.get(u)||l.set(u,{categoryWayDim:h,valueWayDim:0});D(r,function(p,g){var y=p.name,m=d(p);if(f==null){var _=v.valueWayDim;c(a[y],_,m),c(o,_,m),v.valueWayDim+=m}else if(f===g)c(a[y],0,m),c(i,0,m);else{var _=v.categoryWayDim;c(a[y],_,m),c(o,_,m),v.categoryWayDim+=m}});function c(p,g,y){for(var m=0;m<y;m++)p.push(g+m)}function d(p){var g=p.dimsDef;return g?g.length:1}return i.length&&(a.itemName=i),o.length&&(a.seriesName=o),a}function Fg(r,e,t){var a={},n=Hg(r);if(!n)return a;var i=e.sourceFormat,o=e.dimensionsDefine,s;(i===gr||i===ta)&&D(o,function(f,h){(st(f)?f.name:f)==="name"&&(s=h)});var l=function(){for(var f={},h={},v=[],c=0,d=Math.min(5,t);c<d;c++){var p=bA(e.data,i,e.seriesLayoutBy,o,e.startIndex,c);v.push(p);var g=p===de.Not;if(g&&f.v==null&&c!==s&&(f.v=c),(f.n==null||f.n===f.v||!g&&v[f.n]===de.Not)&&(f.n=c),y(f)&&v[f.n]!==de.Not)return f;g||(p===de.Might&&h.v==null&&c!==s&&(h.v=c),(h.n==null||h.n===h.v)&&(h.n=c))}function y(m){return m.v!=null&&m.n!=null}return y(f)?f:y(h)?h:null}();if(l){a.value=[l.v];var u=s??l.n;a.itemName=[u],a.seriesName=[u]}return a}function Hg(r){var e=r.get("data",!0);if(!e)return ml(r.ecModel,"dataset",{index:r.get("datasetIndex",!0),id:r.get("datasetId",!0)},Qt).models[0]}function JE(r){return!r.get("transform",!0)&&!r.get("fromTransformResult",!0)?[]:ml(r.ecModel,"dataset",{index:r.get("fromDatasetIndex",!0),id:r.get("fromDatasetId",!0)},Qt).models}function xA(r,e){return bA(r.data,r.sourceFormat,r.seriesLayoutBy,r.dimensionsDefine,r.startIndex,e)}function bA(r,e,t,a,n,i){var o,s=5;if(Ue(r))return de.Not;var l,u;if(a){var f=a[i];st(f)?(l=f.name,u=f.type):K(f)&&(l=f)}if(u!=null)return u==="ordinal"?de.Must:de.Not;if(e===Ae){var h=r;if(t===Ro){for(var v=h[i],c=0;c<(v||[]).length&&c<s;c++)if((o=S(v[n+c]))!=null)return o}else for(var c=0;c<h.length&&c<s;c++){var d=h[n+c];if(d&&(o=S(d[i]))!=null)return o}}else if(e===gr){var p=r;if(!l)return de.Not;for(var c=0;c<p.length&&c<s;c++){var g=p[c];if(g&&(o=S(g[l]))!=null)return o}}else if(e===ta){var y=r;if(!l)return de.Not;var v=y[l];if(!v||Ue(v))return de.Not;for(var c=0;c<v.length&&c<s;c++)if((o=S(v[c]))!=null)return o}else if(e===pr)for(var m=r,c=0;c<m.length&&c<s;c++){var g=m[c],_=Ao(g);if(!z(_))return de.Not;if((o=S(_[i]))!=null)return o}function S(b){var x=K(b);if(b!=null&&Number.isFinite(Number(b))&&b!=="")return x?de.Might:de.Not;if(x&&b!=="-")return de.Must}return de.Not}var ep=et();function QE(r,e){Ee(ep.get(r)==null&&e),ep.set(r,e)}function jE(r,e,t){var a=ep.get(e);if(!a)return t;var n=a(r);return n?t.concat(n):t}var F0=At(),tk=At(),Wg=function(){function r(){}return r.prototype.getColorFromPalette=function(e,t,a){var n=Ot(this.get("color",!0)),i=this.get("colorLayer",!0);return wA(this,F0,n,i,e,t,a)},r.prototype.clearColorPalette=function(){rk(this,F0)},r}();function rp(r,e,t,a){var n=Ot(r.get(["aria","decal","decals"]));return wA(r,tk,n,null,e,t,a)}function ek(r,e){for(var t=r.length,a=0;a<t;a++)if(r[a].length>e)return r[a];return r[t-1]}function wA(r,e,t,a,n,i,o){i=i||r;var s=e(i),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(n))return u[n];var f=o==null||!a?t:ek(a,o);if(f=f||t,!(!f||!f.length)){var h=f[l];return n&&(u[n]=h),s.paletteIdx=(l+1)%f.length,h}}function rk(r,e){e(r).paletteIdx=0,e(r).paletteNameMap={}}var nu,$o,H0,W0="\0_ec_inner",ak=1,Ug=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(t,a,n,i,o,s){i=i||{},this.option=null,this._theme=new Et(i),this._locale=new Et(o),this._optionManager=s},e.prototype.setOption=function(t,a,n){var i=$0(a);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,a){return this._resetOption(t,$0(a))},e.prototype._resetOption=function(t,a){var n=!1,i=this._optionManager;if(!t||t==="recreate"){var o=i.mountOption(t==="recreate");!this.option||t==="recreate"?H0(this,o):(this.restoreData(),this._mergeOption(o,a)),n=!0}if((t==="timeline"||t==="media")&&this.restoreData(),!t||t==="recreate"||t==="timeline"){var s=i.getTimelineOption(this);s&&(n=!0,this._mergeOption(s,a))}if(!t||t==="recreate"||t==="media"){var l=i.getMediaOption(this);l.length&&D(l,function(u){n=!0,this._mergeOption(u,a)},this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,a){var n=this.option,i=this._componentsMap,o=this._componentsCount,s=[],l=et(),u=a&&a.replaceMergeMainTypeMap;KE(this),D(t,function(h,v){h!=null&&(bt.hasClass(v)?v&&(s.push(v),l.set(v,!0)):n[v]=n[v]==null?lt(h):dt(n[v],h,!0))}),u&&u.each(function(h,v){bt.hasClass(v)&&!l.get(v)&&(s.push(v),l.set(v,!0))}),bt.topologicalTravel(s,bt.getAllClassMainTypes(),f,this);function f(h){var v=jE(this,h,Ot(t[h])),c=i.get(h),d=c?u&&u.get(h)?"replaceMerge":"normalMerge":"replaceAll",p=hT(c,v,d);MP(p,h,bt),n[h]=null,i.set(h,null),o.set(h,0);var g=[],y=[],m=0,_;D(p,function(S,b){var x=S.existing,w=S.newOption;if(!w)x&&(x.mergeOption({},this),x.optionUpdated({},!1));else{var T=h==="series",A=bt.getClass(h,S.keyInfo.subType,!T);if(!A)return;if(h==="tooltip"){if(_)return;_=!0}if(x&&x.constructor===A)x.name=S.keyInfo.name,x.mergeOption(w,this),x.optionUpdated(w,!1);else{var C=V({componentIndex:b},S.keyInfo);x=new A(w,this,this,C),V(x,C),S.brandNew&&(x.__requireNewView=!0),x.init(w,this,this),x.optionUpdated(null,!0)}}x?(g.push(x.option),y.push(x),m++):(g.push(void 0),y.push(void 0))},this),n[h]=g,i.set(h,y),o.set(h,m),h==="series"&&nu(this)}this._seriesIndices||nu(this)},e.prototype.getOption=function(){var t=lt(this.option);return D(t,function(a,n){if(bt.hasClass(n)){for(var i=Ot(a),o=i.length,s=!1,l=o-1;l>=0;l--)i[l]&&!Zs(i[l])?s=!0:(i[l]=null,!s&&o--);i.length=o,t[n]=i}}),delete t[W0],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,a){var n=this._componentsMap.get(t);if(n){var i=n[a||0];if(i)return i;if(a==null){for(var o=0;o<n.length;o++)if(n[o])return n[o]}}},e.prototype.queryComponents=function(t){var a=t.mainType;if(!a)return[];var n=t.index,i=t.id,o=t.name,s=this._componentsMap.get(a);if(!s||!s.length)return[];var l;return n!=null?(l=[],D(Ot(n),function(u){s[u]&&l.push(s[u])})):i!=null?l=U0("id",i,s):o!=null?l=U0("name",o,s):l=Pt(s,function(u){return!!u}),Y0(l,t)},e.prototype.findComponents=function(t){var a=t.query,n=t.mainType,i=s(a),o=i?this.queryComponents(i):Pt(this._componentsMap.get(n),function(u){return!!u});return l(Y0(o,t));function s(u){var f=n+"Index",h=n+"Id",v=n+"Name";return u&&(u[f]!=null||u[h]!=null||u[v]!=null)?{mainType:n,index:u[f],id:u[h],name:u[v]}:null}function l(u){return t.filter?Pt(u,t.filter):u}},e.prototype.eachComponent=function(t,a,n){var i=this._componentsMap;if(nt(t)){var o=a,s=t;i.each(function(h,v){for(var c=0;h&&c<h.length;c++){var d=h[c];d&&s.call(o,v,d,d.componentIndex)}})}else for(var l=K(t)?i.get(t):st(t)?this.findComponents(t):null,u=0;l&&u<l.length;u++){var f=l[u];f&&a.call(n,f,f.componentIndex)}},e.prototype.getSeriesByName=function(t){var a=ee(t,null);return Pt(this._componentsMap.get("series"),function(n){return!!n&&a!=null&&n.name===a})},e.prototype.getSeriesByIndex=function(t){return this._componentsMap.get("series")[t]},e.prototype.getSeriesByType=function(t){return Pt(this._componentsMap.get("series"),function(a){return!!a&&a.subType===t})},e.prototype.getSeries=function(){return Pt(this._componentsMap.get("series"),function(t){return!!t})},e.prototype.getSeriesCount=function(){return this._componentsCount.get("series")},e.prototype.eachSeries=function(t,a){$o(this),D(this._seriesIndices,function(n){var i=this._componentsMap.get("series")[n];t.call(a,i,n)},this)},e.prototype.eachRawSeries=function(t,a){D(this._componentsMap.get("series"),function(n){n&&t.call(a,n,n.componentIndex)})},e.prototype.eachSeriesByType=function(t,a,n){$o(this),D(this._seriesIndices,function(i){var o=this._componentsMap.get("series")[i];o.subType===t&&a.call(n,o,i)},this)},e.prototype.eachRawSeriesByType=function(t,a,n){return D(this.getSeriesByType(t),a,n)},e.prototype.isSeriesFiltered=function(t){return $o(this),this._seriesIndicesMap.get(t.componentIndex)==null},e.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()},e.prototype.filterSeries=function(t,a){$o(this);var n=[];D(this._seriesIndices,function(i){var o=this._componentsMap.get("series")[i];t.call(a,o,i)&&n.push(i)},this),this._seriesIndices=n,this._seriesIndicesMap=et(n)},e.prototype.restoreData=function(t){nu(this);var a=this._componentsMap,n=[];a.each(function(i,o){bt.hasClass(o)&&n.push(o)}),bt.topologicalTravel(n,bt.getAllClassMainTypes(),function(i){D(a.get(i),function(o){o&&(i!=="series"||!nk(o,t))&&o.restoreData()})})},e.internalField=function(){nu=function(t){var a=t._seriesIndices=[];D(t._componentsMap.get("series"),function(n){n&&a.push(n.componentIndex)}),t._seriesIndicesMap=et(a)},$o=function(t){},H0=function(t,a){t.option={},t.option[W0]=ak,t._componentsMap=et({series:[]}),t._componentsCount=et();var n=a.aria;st(n)&&n.enabled==null&&(n.enabled=!0),ik(a,t._theme.option),dt(a,qE,!1),t._mergeOption(a,null)}}(),e}(Et);function nk(r,e){if(e){var t=e.seriesIndex,a=e.seriesId,n=e.seriesName;return t!=null&&r.componentIndex!==t||a!=null&&r.id!==a||n!=null&&r.name!==n}}function ik(r,e){var t=r.color&&!r.colorLayer;D(e,function(a,n){n==="colorLayer"&&t||bt.hasClass(n)||(typeof a=="object"?r[n]=r[n]?dt(r[n],a,!1):lt(a):r[n]==null&&(r[n]=a))})}function U0(r,e,t){if(z(e)){var a=et();return D(e,function(i){if(i!=null){var o=ee(i,null);o!=null&&a.set(i,!0)}}),Pt(t,function(i){return i&&a.get(i[r])})}else{var n=ee(e,null);return Pt(t,function(i){return i&&n!=null&&i[r]===n})}}function Y0(r,e){return e.hasOwnProperty("subType")?Pt(r,function(t){return t&&t.subType===e.subType}):r}function $0(r){var e=et();return r&&D(Ot(r.replaceMerge),function(t){e.set(t,!0)}),{replaceMergeMainTypeMap:e}}te(Ug,Wg);var ok=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isSSR","isDisposed","on","off","getDataURL","getConnectedDataURL","getOption","getId","updateLabelLayout"],TA=function(){function r(e){D(ok,function(t){this[t]=J(e[t],e)},this)}return r}(),Nv={},Al=function(){function r(){this._coordinateSystems=[]}return r.prototype.create=function(e,t){var a=[];D(Nv,function(n,i){var o=n.create(e,t);a=a.concat(o||[])}),this._coordinateSystems=a},r.prototype.update=function(e,t){D(this._coordinateSystems,function(a){a.update&&a.update(e,t)})},r.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()},r.register=function(e,t){Nv[e]=t},r.get=function(e){return Nv[e]},r}(),sk=/^(min|max)?(.+)$/,lk=function(){function r(e){this._timelineOptions=[],this._mediaList=[],this._currentMediaIndices=[],this._api=e}return r.prototype.setOption=function(e,t,a){e&&(D(Ot(e.series),function(o){o&&o.data&&Ue(o.data)&&uf(o.data)}),D(Ot(e.dataset),function(o){o&&o.source&&Ue(o.source)&&uf(o.source)})),e=lt(e);var n=this._optionBackup,i=uk(e,t,!n);this._newBaseOption=i.baseOption,n?(i.timelineOptions.length&&(n.timelineOptions=i.timelineOptions),i.mediaList.length&&(n.mediaList=i.mediaList),i.mediaDefault&&(n.mediaDefault=i.mediaDefault)):this._optionBackup=i},r.prototype.mountOption=function(e){var t=this._optionBackup;return this._timelineOptions=t.timelineOptions,this._mediaList=t.mediaList,this._mediaDefault=t.mediaDefault,this._currentMediaIndices=[],lt(e?t.baseOption:this._newBaseOption)},r.prototype.getTimelineOption=function(e){var t,a=this._timelineOptions;if(a.length){var n=e.getComponent("timeline");n&&(t=lt(a[n.getCurrentIndex()]))}return t},r.prototype.getMediaOption=function(e){var t=this._api.getWidth(),a=this._api.getHeight(),n=this._mediaList,i=this._mediaDefault,o=[],s=[];if(!n.length&&!i)return s;for(var l=0,u=n.length;l<u;l++)fk(n[l].query,t,a)&&o.push(l);return!o.length&&i&&(o=[-1]),o.length&&!vk(o,this._currentMediaIndices)&&(s=H(o,function(f){return lt(f===-1?i.option:n[f].option)})),this._currentMediaIndices=o,s},r}();function uk(r,e,t){var a=[],n,i,o=r.baseOption,s=r.timeline,l=r.options,u=r.media,f=!!r.media,h=!!(l||s||o&&o.timeline);o?(i=o,i.timeline||(i.timeline=s)):((h||f)&&(r.options=r.media=null),i=r),f&&z(u)&&D(u,function(c){c&&c.option&&(c.query?a.push(c):n||(n=c))}),v(i),D(l,function(c){return v(c)}),D(a,function(c){return v(c.option)});function v(c){D(e,function(d){d(c,t)})}return{baseOption:i,timelineOptions:l||[],mediaDefault:n,mediaList:a}}function fk(r,e,t){var a={width:e,height:t,aspectratio:e/t},n=!0;return D(r,function(i,o){var s=o.match(sk);if(!(!s||!s[1]||!s[2])){var l=s[1],u=s[2].toLowerCase();hk(a[u],i,l)||(n=!1)}}),n}function hk(r,e,t){return t==="min"?r>=e:t==="max"?r<=e:r===e}function vk(r,e){return r.join(",")===e.join(",")}var _r=D,js=st,Z0=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Bv(r){var e=r&&r.itemStyle;if(e)for(var t=0,a=Z0.length;t<a;t++){var n=Z0[t],i=e.normal,o=e.emphasis;i&&i[n]&&(r[n]=r[n]||{},r[n].normal?dt(r[n].normal,i[n]):r[n].normal=i[n],i[n]=null),o&&o[n]&&(r[n]=r[n]||{},r[n].emphasis?dt(r[n].emphasis,o[n]):r[n].emphasis=o[n],o[n]=null)}}function we(r,e,t){if(r&&r[e]&&(r[e].normal||r[e].emphasis)){var a=r[e].normal,n=r[e].emphasis;a&&(t?(r[e].normal=r[e].emphasis=null,ot(r[e],a)):r[e]=a),n&&(r.emphasis=r.emphasis||{},r.emphasis[e]=n,n.focus&&(r.emphasis.focus=n.focus),n.blurScope&&(r.emphasis.blurScope=n.blurScope))}}function _s(r){we(r,"itemStyle"),we(r,"lineStyle"),we(r,"areaStyle"),we(r,"label"),we(r,"labelLine"),we(r,"upperLabel"),we(r,"edgeLabel")}function Jt(r,e){var t=js(r)&&r[e],a=js(t)&&t.textStyle;if(a)for(var n=0,i=jm.length;n<i;n++){var o=jm[n];a.hasOwnProperty(o)&&(t[o]=a[o])}}function nr(r){r&&(_s(r),Jt(r,"label"),r.emphasis&&Jt(r.emphasis,"label"))}function ck(r){if(js(r)){Bv(r),_s(r),Jt(r,"label"),Jt(r,"upperLabel"),Jt(r,"edgeLabel"),r.emphasis&&(Jt(r.emphasis,"label"),Jt(r.emphasis,"upperLabel"),Jt(r.emphasis,"edgeLabel"));var e=r.markPoint;e&&(Bv(e),nr(e));var t=r.markLine;t&&(Bv(t),nr(t));var a=r.markArea;a&&nr(a);var n=r.data;if(r.type==="graph"){n=n||r.nodes;var i=r.links||r.edges;if(i&&!Ue(i))for(var o=0;o<i.length;o++)nr(i[o]);D(r.categories,function(u){_s(u)})}if(n&&!Ue(n))for(var o=0;o<n.length;o++)nr(n[o]);if(e=r.markPoint,e&&e.data)for(var s=e.data,o=0;o<s.length;o++)nr(s[o]);if(t=r.markLine,t&&t.data)for(var l=t.data,o=0;o<l.length;o++)z(l[o])?(nr(l[o][0]),nr(l[o][1])):nr(l[o]);r.type==="gauge"?(Jt(r,"axisLabel"),Jt(r,"title"),Jt(r,"detail")):r.type==="treemap"?(we(r.breadcrumb,"itemStyle"),D(r.levels,function(u){_s(u)})):r.type==="tree"&&_s(r.leaves)}}function na(r){return z(r)?r:r?[r]:[]}function X0(r){return(z(r)?r[0]:r)||{}}function dk(r,e){_r(na(r.series),function(a){js(a)&&ck(a)});var t=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&t.push("valueAxis","categoryAxis","logAxis","timeAxis"),_r(t,function(a){_r(na(r[a]),function(n){n&&(Jt(n,"axisLabel"),Jt(n.axisPointer,"label"))})}),_r(na(r.parallel),function(a){var n=a&&a.parallelAxisDefault;Jt(n,"axisLabel"),Jt(n&&n.axisPointer,"label")}),_r(na(r.calendar),function(a){we(a,"itemStyle"),Jt(a,"dayLabel"),Jt(a,"monthLabel"),Jt(a,"yearLabel")}),_r(na(r.radar),function(a){Jt(a,"name"),a.name&&a.axisName==null&&(a.axisName=a.name,delete a.name),a.nameGap!=null&&a.axisNameGap==null&&(a.axisNameGap=a.nameGap,delete a.nameGap)}),_r(na(r.geo),function(a){js(a)&&(nr(a),_r(na(a.regions),function(n){nr(n)}))}),_r(na(r.timeline),function(a){nr(a),we(a,"label"),we(a,"itemStyle"),we(a,"controlStyle",!0);var n=a.data;z(n)&&D(n,function(i){st(i)&&(we(i,"label"),we(i,"itemStyle"))})}),_r(na(r.toolbox),function(a){we(a,"iconStyle"),_r(a.feature,function(n){we(n,"iconStyle")})}),Jt(X0(r.axisPointer),"label"),Jt(X0(r.tooltip).axisPointer,"label")}function pk(r,e){for(var t=e.split(","),a=r,n=0;n<t.length&&(a=a&&a[t[n]],a!=null);n++);return a}function gk(r,e,t,a){for(var n=e.split(","),i=r,o,s=0;s<n.length-1;s++)o=n[s],i[o]==null&&(i[o]={}),i=i[o];i[n[s]]==null&&(i[n[s]]=t)}function q0(r){r&&D(yk,function(e){e[0]in r&&!(e[1]in r)&&(r[e[1]]=r[e[0]])})}var yk=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],mk=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],Vv=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]];function Zo(r){var e=r&&r.itemStyle;if(e)for(var t=0;t<Vv.length;t++){var a=Vv[t][1],n=Vv[t][0];e[a]!=null&&(e[n]=e[a])}}function K0(r){r&&r.alignTo==="edge"&&r.margin!=null&&r.edgeDistance==null&&(r.edgeDistance=r.margin)}function J0(r){r&&r.downplay&&!r.blur&&(r.blur=r.downplay)}function _k(r){r&&r.focusNodeAdjacency!=null&&(r.emphasis=r.emphasis||{},r.emphasis.focus==null&&(r.emphasis.focus="adjacency"))}function AA(r,e){if(r)for(var t=0;t<r.length;t++)e(r[t]),r[t]&&AA(r[t].children,e)}function CA(r,e){dk(r,e),r.series=Ot(r.series),D(r.series,function(t){if(st(t)){var a=t.type;if(a==="line")t.clipOverflow!=null&&(t.clip=t.clipOverflow);else if(a==="pie"||a==="gauge"){t.clockWise!=null&&(t.clockwise=t.clockWise),K0(t.label);var n=t.data;if(n&&!Ue(n))for(var i=0;i<n.length;i++)K0(n[i]);t.hoverOffset!=null&&(t.emphasis=t.emphasis||{},(t.emphasis.scaleSize=null)&&(t.emphasis.scaleSize=t.hoverOffset))}else if(a==="gauge"){var o=pk(t,"pointer.color");o!=null&&gk(t,"itemStyle.color",o)}else if(a==="bar"){Zo(t),Zo(t.backgroundStyle),Zo(t.emphasis);var n=t.data;if(n&&!Ue(n))for(var i=0;i<n.length;i++)typeof n[i]=="object"&&(Zo(n[i]),Zo(n[i]&&n[i].emphasis))}else if(a==="sunburst"){var s=t.highlightPolicy;s&&(t.emphasis=t.emphasis||{},t.emphasis.focus||(t.emphasis.focus=s)),J0(t),AA(t.data,J0)}else a==="graph"||a==="sankey"?_k(t):a==="map"&&(t.mapType&&!t.map&&(t.map=t.mapType),t.mapLocation&&ot(t,t.mapLocation));t.hoverAnimation!=null&&(t.emphasis=t.emphasis||{},t.emphasis&&t.emphasis.scale==null&&(t.emphasis.scale=t.hoverAnimation)),q0(t)}}),r.dataRange&&(r.visualMap=r.dataRange),D(mk,function(t){var a=r[t];a&&(z(a)||(a=[a]),D(a,function(n){q0(n)}))})}function Sk(r){var e=et();r.eachSeries(function(t){var a=t.get("stack");if(a){var n=e.get(a)||e.set(a,[]),i=t.getData(),o={stackResultDimension:i.getCalculationInfo("stackResultDimension"),stackedOverDimension:i.getCalculationInfo("stackedOverDimension"),stackedDimension:i.getCalculationInfo("stackedDimension"),stackedByDimension:i.getCalculationInfo("stackedByDimension"),isStackedByIndex:i.getCalculationInfo("isStackedByIndex"),data:i,seriesModel:t};if(!o.stackedDimension||!(o.isStackedByIndex||o.stackedByDimension))return;n.length&&i.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(o)}}),e.each(xk)}function xk(r){D(r,function(e,t){var a=[],n=[NaN,NaN],i=[e.stackResultDimension,e.stackedOverDimension],o=e.data,s=e.isStackedByIndex,l=e.seriesModel.get("stackStrategy")||"samesign";o.modify(i,function(u,f,h){var v=o.get(e.stackedDimension,h);if(isNaN(v))return n;var c,d;s?d=o.getRawIndex(h):c=o.get(e.stackedByDimension,h);for(var p=NaN,g=t-1;g>=0;g--){var y=r[g];if(s||(d=y.data.rawIndexOf(y.stackedByDimension,c)),d>=0){var m=y.data.getByRawIndex(y.stackResultDimension,d);if(l==="all"||l==="positive"&&m>0||l==="negative"&&m<0||l==="samesign"&&v>=0&&m>0||l==="samesign"&&v<=0&&m<0){v=yP(v,m),p=m;break}}}return a[0]=v,a[1]=p,a})})}var Dh=function(){function r(e){this.data=e.data||(e.sourceFormat===ta?{}:[]),this.sourceFormat=e.sourceFormat||mA,this.seriesLayoutBy=e.seriesLayoutBy||Xr,this.startIndex=e.startIndex||0,this.dimensionsDetectedCount=e.dimensionsDetectedCount,this.metaRawOption=e.metaRawOption;var t=this.dimensionsDefine=e.dimensionsDefine;if(t)for(var a=0;a<t.length;a++){var n=t[a];n.type==null&&xA(this,a)===de.Must&&(n.type="ordinal")}}return r}();function Yg(r){return r instanceof Dh}function ap(r,e,t){t=t||DA(r);var a=e.seriesLayoutBy,n=wk(r,t,a,e.sourceHeader,e.dimensions),i=new Dh({data:r,sourceFormat:t,seriesLayoutBy:a,dimensionsDefine:n.dimensionsDefine,startIndex:n.startIndex,dimensionsDetectedCount:n.dimensionsDetectedCount,metaRawOption:lt(e)});return i}function $g(r){return new Dh({data:r,sourceFormat:Ue(r)?ja:pr})}function bk(r){return new Dh({data:r.data,sourceFormat:r.sourceFormat,seriesLayoutBy:r.seriesLayoutBy,dimensionsDefine:lt(r.dimensionsDefine),startIndex:r.startIndex,dimensionsDetectedCount:r.dimensionsDetectedCount})}function DA(r){var e=mA;if(Ue(r))e=ja;else if(z(r)){r.length===0&&(e=Ae);for(var t=0,a=r.length;t<a;t++){var n=r[t];if(n!=null){if(z(n)||Ue(n)){e=Ae;break}else if(st(n)){e=gr;break}}}}else if(st(r)){for(var i in r)if(j(r,i)&&Te(r[i])){e=ta;break}}return e}function wk(r,e,t,a,n){var i,o;if(!r)return{dimensionsDefine:Q0(n),startIndex:o,dimensionsDetectedCount:i};if(e===Ae){var s=r;a==="auto"||a==null?j0(function(u){u!=null&&u!=="-"&&(K(u)?o==null&&(o=1):o=0)},t,s,10):o=Dt(a)?a:a?1:0,!n&&o===1&&(n=[],j0(function(u,f){n[f]=u!=null?u+"":""},t,s,1/0)),i=n?n.length:t===Ro?s.length:s[0]?s[0].length:null}else if(e===gr)n||(n=Tk(r));else if(e===ta)n||(n=[],D(r,function(u,f){n.push(f)}));else if(e===pr){var l=Ao(r[0]);i=z(l)&&l.length||1}return{startIndex:o,dimensionsDefine:Q0(n),dimensionsDetectedCount:i}}function Tk(r){for(var e=0,t;e<r.length&&!(t=r[e++]););if(t)return wt(t)}function Q0(r){if(r){var e=et();return H(r,function(t,a){t=st(t)?t:{name:t};var n={name:t.name,displayName:t.displayName,type:t.type};if(n.name==null)return n;n.name+="",n.displayName==null&&(n.displayName=n.name);var i=e.get(n.name);return i?n.name+="-"+i.count++:e.set(n.name,{count:1}),n})}}function j0(r,e,t,a){if(e===Ro)for(var n=0;n<t.length&&n<a;n++)r(t[n]?t[n][0]:null,n);else for(var i=t[0]||[],n=0;n<i.length&&n<a;n++)r(i[n],n)}function MA(r){var e=r.sourceFormat;return e===gr||e===ta}var In,Pn,Rn,t_,e_,LA=function(){function r(e,t){var a=Yg(e)?e:$g(e);this._source=a;var n=this._data=a.data;a.sourceFormat===ja&&(this._offset=0,this._dimSize=t,this._data=n),e_(this,n,a)}return r.prototype.getSource=function(){return this._source},r.prototype.count=function(){return 0},r.prototype.getItem=function(e,t){},r.prototype.appendData=function(e){},r.prototype.clean=function(){},r.protoInitialize=function(){var e=r.prototype;e.pure=!1,e.persistent=!0}(),r.internalField=function(){var e;e_=function(o,s,l){var u=l.sourceFormat,f=l.seriesLayoutBy,h=l.startIndex,v=l.dimensionsDefine,c=t_[Zg(u,f)];if(V(o,c),u===ja)o.getItem=t,o.count=n,o.fillStorage=a;else{var d=IA(u,f);o.getItem=J(d,null,s,h,v);var p=PA(u,f);o.count=J(p,null,s,h,v)}};var t=function(o,s){o=o-this._offset,s=s||[];for(var l=this._data,u=this._dimSize,f=u*o,h=0;h<u;h++)s[h]=l[f+h];return s},a=function(o,s,l,u){for(var f=this._data,h=this._dimSize,v=0;v<h;v++){for(var c=u[v],d=c[0]==null?1/0:c[0],p=c[1]==null?-1/0:c[1],g=s-o,y=l[v],m=0;m<g;m++){var _=f[m*h+v];y[o+m]=_,_<d&&(d=_),_>p&&(p=_)}c[0]=d,c[1]=p}},n=function(){return this._data?this._data.length/this._dimSize:0};t_=(e={},e[Ae+"_"+Xr]={pure:!0,appendData:i},e[Ae+"_"+Ro]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},e[gr]={pure:!0,appendData:i},e[ta]={pure:!0,appendData:function(o){var s=this._data;D(o,function(l,u){for(var f=s[u]||(s[u]=[]),h=0;h<(l||[]).length;h++)f.push(l[h])})}},e[pr]={appendData:i},e[ja]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},e);function i(o){for(var s=0;s<o.length;s++)this._data.push(o[s])}}(),r}(),r_=function(r,e,t,a){return r[a]},Ak=(In={},In[Ae+"_"+Xr]=function(r,e,t,a){return r[a+e]},In[Ae+"_"+Ro]=function(r,e,t,a,n){a+=e;for(var i=n||[],o=r,s=0;s<o.length;s++){var l=o[s];i[s]=l?l[a]:null}return i},In[gr]=r_,In[ta]=function(r,e,t,a,n){for(var i=n||[],o=0;o<t.length;o++){var s=t[o].name,l=r[s];i[o]=l?l[a]:null}return i},In[pr]=r_,In);function IA(r,e){var t=Ak[Zg(r,e)];return t}var a_=function(r,e,t){return r.length},Ck=(Pn={},Pn[Ae+"_"+Xr]=function(r,e,t){return Math.max(0,r.length-e)},Pn[Ae+"_"+Ro]=function(r,e,t){var a=r[0];return a?Math.max(0,a.length-e):0},Pn[gr]=a_,Pn[ta]=function(r,e,t){var a=t[0].name,n=r[a];return n?n.length:0},Pn[pr]=a_,Pn);function PA(r,e){var t=Ck[Zg(r,e)];return t}var zv=function(r,e,t){return r[e]},Dk=(Rn={},Rn[Ae]=zv,Rn[gr]=function(r,e,t){return r[t]},Rn[ta]=zv,Rn[pr]=function(r,e,t){var a=Ao(r);return a instanceof Array?a[e]:a},Rn[ja]=zv,Rn);function RA(r){var e=Dk[r];return e}function Zg(r,e){return r===Ae?r+"_"+e:r}function co(r,e,t){if(r){var a=r.getRawDataItem(e);if(a!=null){var n=r.getStore(),i=n.getSource().sourceFormat;if(t!=null){var o=r.getDimensionIndex(t),s=n.getDimensionProperty(o);return RA(i)(a,o,s)}else{var l=a;return i===pr&&(l=Ao(a)),l}}}}var Mk=/\{@(.+?)\}/g,Mh=function(){function r(){}return r.prototype.getDataParams=function(e,t){var a=this.getData(t),n=this.getRawValue(e,t),i=a.getRawIndex(e),o=a.getName(e),s=a.getRawDataItem(e),l=a.getItemVisual(e,"style"),u=l&&l[a.getItemVisual(e,"drawType")||"fill"],f=l&&l.stroke,h=this.mainType,v=h==="series",c=a.userOutput&&a.userOutput.get();return{componentType:h,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:v?this.subType:null,seriesIndex:this.seriesIndex,seriesId:v?this.id:null,seriesName:v?this.name:null,name:o,dataIndex:i,data:s,dataType:t,value:n,color:u,borderColor:f,dimensionNames:c?c.fullDimensions:null,encode:c?c.encode:null,$vars:["seriesName","name","value"]}},r.prototype.getFormattedLabel=function(e,t,a,n,i,o){t=t||"normal";var s=this.getData(a),l=this.getDataParams(e,a);if(o&&(l.value=o.interpolatedValue),n!=null&&z(l.value)&&(l.value=l.value[n]),!i){var u=s.getItemModel(e);i=u.get(t==="normal"?["label","formatter"]:[t,"label","formatter"])}if(nt(i))return l.status=t,l.dimensionIndex=n,i(l);if(K(i)){var f=cA(i,l);return f.replace(Mk,function(h,v){var c=v.length,d=v;d.charAt(0)==="["&&d.charAt(c-1)==="]"&&(d=+d.slice(1,c-1));var p=co(s,e,d);if(o&&z(o.interpolatedValue)){var g=s.getDimensionIndex(d);g>=0&&(p=o.interpolatedValue[g])}return p!=null?p+"":""})}},r.prototype.getRawValue=function(e,t){return co(this.getData(t),e)},r.prototype.formatTooltip=function(e,t,a){},r}();function n_(r){var e,t;return st(r)?r.type&&(t=r):e=r,{text:e,frag:t}}function Os(r){return new Lk(r)}var Lk=function(){function r(e){e=e||{},this._reset=e.reset,this._plan=e.plan,this._count=e.count,this._onDirty=e.onDirty,this._dirty=!0}return r.prototype.perform=function(e){var t=this._upstream,a=e&&e.skip;if(this._dirty&&t){var n=this.context;n.data=n.outputData=t.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var i;this._plan&&!a&&(i=this._plan(this.context));var o=f(this._modBy),s=this._modDataCount||0,l=f(e&&e.modBy),u=e&&e.modDataCount||0;(o!==l||s!==u)&&(i="reset");function f(m){return!(m>=1)&&(m=1),m}var h;(this._dirty||i==="reset")&&(this._dirty=!1,h=this._doReset(a)),this._modBy=l,this._modDataCount=u;var v=e&&e.step;if(t?this._dueEnd=t._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var c=this._dueIndex,d=Math.min(v!=null?this._dueIndex+v:1/0,this._dueEnd);if(!a&&(h||c<d)){var p=this._progress;if(z(p))for(var g=0;g<p.length;g++)this._doProgress(p[g],c,d,l,u);else this._doProgress(p,c,d,l,u)}this._dueIndex=d;var y=this._settedOutputEnd!=null?this._settedOutputEnd:d;this._outputDueEnd=y}else this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd;return this.unfinished()},r.prototype.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},r.prototype._doProgress=function(e,t,a,n,i){i_.reset(t,a,n,i),this._callingProgress=e,this._callingProgress({start:t,end:a,count:a-t,next:i_.next},this.context)},r.prototype._doReset=function(e){this._dueIndex=this._outputDueEnd=this._dueEnd=0,this._settedOutputEnd=null;var t,a;!e&&this._reset&&(t=this._reset(this.context),t&&t.progress&&(a=t.forceFirstProgress,t=t.progress),z(t)&&!t.length&&(t=null)),this._progress=t,this._modBy=this._modDataCount=null;var n=this._downstream;return n&&n.dirty(),a},r.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},r.prototype.pipe=function(e){(this._downstream!==e||this._dirty)&&(this._downstream=e,e._upstream=this,e.dirty())},r.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},r.prototype.getUpstream=function(){return this._upstream},r.prototype.getDownstream=function(){return this._downstream},r.prototype.setOutputEnd=function(e){this._outputDueEnd=this._settedOutputEnd=e},r}(),i_=function(){var r,e,t,a,n,i={reset:function(l,u,f,h){e=l,r=u,t=f,a=h,n=Math.ceil(a/t),i.next=t>1&&a>0?s:o}};return i;function o(){return e<r?e++:null}function s(){var l=e%n*t+Math.ceil(e/n),u=e>=r?null:l<a?l:e;return e++,u}}();function tn(r,e){var t=e&&e.type;return t==="ordinal"?r:(t==="time"&&!Dt(r)&&r!=null&&r!=="-"&&(r=+Qr(r)),r==null||r===""?NaN:Number(r))}var Ik=et({number:function(r){return parseFloat(r)},time:function(r){return+Qr(r)},trim:function(r){return K(r)?Ar(r):r}});function EA(r){return Ik.get(r)}var kA={lt:function(r,e){return r<e},lte:function(r,e){return r<=e},gt:function(r,e){return r>e},gte:function(r,e){return r>=e}},Pk=function(){function r(e,t){if(!Dt(t)){var a="";It(a)}this._opFn=kA[e],this._rvalFloat=ga(t)}return r.prototype.evaluate=function(e){return Dt(e)?this._opFn(e,this._rvalFloat):this._opFn(ga(e),this._rvalFloat)},r}(),OA=function(){function r(e,t){var a=e==="desc";this._resultLT=a?1:-1,t==null&&(t=a?"min":"max"),this._incomparable=t==="min"?-1/0:1/0}return r.prototype.evaluate=function(e,t){var a=Dt(e)?e:ga(e),n=Dt(t)?t:ga(t),i=isNaN(a),o=isNaN(n);if(i&&(a=this._incomparable),o&&(n=this._incomparable),i&&o){var s=K(e),l=K(t);s&&(a=l?e:0),l&&(n=s?t:0)}return a<n?this._resultLT:a>n?-this._resultLT:0},r}(),Rk=function(){function r(e,t){this._rval=t,this._isEQ=e,this._rvalTypeof=typeof t,this._rvalFloat=ga(t)}return r.prototype.evaluate=function(e){var t=e===this._rval;if(!t){var a=typeof e;a!==this._rvalTypeof&&(a==="number"||this._rvalTypeof==="number")&&(t=ga(e)===this._rvalFloat)}return this._isEQ?t:!t},r}();function Ek(r,e){return r==="eq"||r==="ne"?new Rk(r==="eq",e):j(kA,r)?new Pk(r,e):null}var kk=function(){function r(){}return r.prototype.getRawData=function(){throw new Error("not supported")},r.prototype.getRawDataItem=function(e){throw new Error("not supported")},r.prototype.cloneRawData=function(){},r.prototype.getDimensionInfo=function(e){},r.prototype.cloneAllDimensionInfo=function(){},r.prototype.count=function(){},r.prototype.retrieveValue=function(e,t){},r.prototype.retrieveValueFromItem=function(e,t){},r.prototype.convertValue=function(e,t){return tn(e,t)},r}();function Ok(r,e){var t=new kk,a=r.data,n=t.sourceFormat=r.sourceFormat,i=r.startIndex,o="";r.seriesLayoutBy!==Xr&&It(o);var s=[],l={},u=r.dimensionsDefine;if(u)D(u,function(p,g){var y=p.name,m={index:g,name:y,displayName:p.displayName};if(s.push(m),y!=null){var _="";j(l,y)&&It(_),l[y]=m}});else for(var f=0;f<r.dimensionsDetectedCount;f++)s.push({index:f});var h=IA(n,Xr);e.__isBuiltIn&&(t.getRawDataItem=function(p){return h(a,i,s,p)},t.getRawData=J(Nk,null,r)),t.cloneRawData=J(Bk,null,r);var v=PA(n,Xr);t.count=J(v,null,a,i,s);var c=RA(n);t.retrieveValue=function(p,g){var y=h(a,i,s,p);return d(y,g)};var d=t.retrieveValueFromItem=function(p,g){if(p!=null){var y=s[g];if(y)return c(p,g,y.name)}};return t.getDimensionInfo=J(Vk,null,s,l),t.cloneAllDimensionInfo=J(zk,null,s),t}function Nk(r){var e=r.sourceFormat;if(!Xg(e)){var t="";It(t)}return r.data}function Bk(r){var e=r.sourceFormat,t=r.data;if(!Xg(e)){var a="";It(a)}if(e===Ae){for(var n=[],i=0,o=t.length;i<o;i++)n.push(t[i].slice());return n}else if(e===gr){for(var n=[],i=0,o=t.length;i<o;i++)n.push(V({},t[i]));return n}}function Vk(r,e,t){if(t!=null){if(Dt(t)||!isNaN(t)&&!j(e,t))return r[t];if(j(e,t))return e[t]}}function zk(r){return lt(r)}var NA=et();function Gk(r){r=lt(r);var e=r.type,t="";e||It(t);var a=e.split(":");a.length!==2&&It(t);var n=!1;a[0]==="echarts"&&(e=a[1],n=!0),r.__isBuiltIn=n,NA.set(e,r)}function Fk(r,e,t){var a=Ot(r),n=a.length,i="";n||It(i);for(var o=0,s=n;o<s;o++){var l=a[o];e=Hk(l,e),o!==s-1&&(e.length=Math.max(e.length,1))}return e}function Hk(r,e,t,a){var n="";e.length||It(n),st(r)||It(n);var i=r.type,o=NA.get(i);o||It(n);var s=H(e,function(u){return Ok(u,o)}),l=Ot(o.transform({upstream:s[0],upstreamList:s,config:lt(r.config)}));return H(l,function(u,f){var h="";st(u)||It(h),u.data||It(h);var v=DA(u.data);Xg(v)||It(h);var c,d=e[0];if(d&&f===0&&!u.dimensions){var p=d.startIndex;p&&(u.data=d.data.slice(0,p).concat(u.data)),c={seriesLayoutBy:Xr,sourceHeader:p,dimensions:d.metaRawOption.dimensions}}else c={seriesLayoutBy:Xr,sourceHeader:0,dimensions:u.dimensions};return ap(u.data,c,null)})}function Xg(r){return r===Ae||r===gr}var Lh="undefined",Wk=typeof Uint32Array===Lh?Array:Uint32Array,Uk=typeof Uint16Array===Lh?Array:Uint16Array,BA=typeof Int32Array===Lh?Array:Int32Array,o_=typeof Float64Array===Lh?Array:Float64Array,VA={float:o_,int:BA,ordinal:Array,number:Array,time:o_},Gv;function Oi(r){return r>65535?Wk:Uk}function Ni(){return[1/0,-1/0]}function Yk(r){var e=r.constructor;return e===Array?r.slice():new e(r)}function s_(r,e,t,a,n){var i=VA[t||"float"];if(n){var o=r[e],s=o&&o.length;if(s!==a){for(var l=new i(a),u=0;u<s;u++)l[u]=o[u];r[e]=l}}else r[e]=new i(a)}var np=function(){function r(){this._chunks=[],this._rawExtent=[],this._extent=[],this._count=0,this._rawCount=0,this._calcDimNameToIdx=et()}return r.prototype.initData=function(e,t,a){this._provider=e,this._chunks=[],this._indices=null,this.getRawIndex=this._getRawIdxIdentity;var n=e.getSource(),i=this.defaultDimValueGetter=Gv[n.sourceFormat];this._dimValueGetter=a||i,this._rawExtent=[],MA(n),this._dimensions=H(t,function(o){return{type:o.type,property:o.property}}),this._initDataFromProvider(0,e.count())},r.prototype.getProvider=function(){return this._provider},r.prototype.getSource=function(){return this._provider.getSource()},r.prototype.ensureCalculationDimension=function(e,t){var a=this._calcDimNameToIdx,n=this._dimensions,i=a.get(e);if(i!=null){if(n[i].type===t)return i}else i=n.length;return n[i]={type:t},a.set(e,i),this._chunks[i]=new VA[t||"float"](this._rawCount),this._rawExtent[i]=Ni(),i},r.prototype.collectOrdinalMeta=function(e,t){var a=this._chunks[e],n=this._dimensions[e],i=this._rawExtent,o=n.ordinalOffset||0,s=a.length;o===0&&(i[e]=Ni());for(var l=i[e],u=o;u<s;u++){var f=a[u]=t.parseAndCollect(a[u]);isNaN(f)||(l[0]=Math.min(f,l[0]),l[1]=Math.max(f,l[1]))}n.ordinalMeta=t,n.ordinalOffset=s,n.type="ordinal"},r.prototype.getOrdinalMeta=function(e){var t=this._dimensions[e],a=t.ordinalMeta;return a},r.prototype.getDimensionProperty=function(e){var t=this._dimensions[e];return t&&t.property},r.prototype.appendData=function(e){var t=this._provider,a=this.count();t.appendData(e);var n=t.count();return t.persistent||(n+=a),a<n&&this._initDataFromProvider(a,n,!0),[a,n]},r.prototype.appendValues=function(e,t){for(var a=this._chunks,n=this._dimensions,i=n.length,o=this._rawExtent,s=this.count(),l=s+Math.max(e.length,t||0),u=0;u<i;u++){var f=n[u];s_(a,u,f.type,l,!0)}for(var h=[],v=s;v<l;v++)for(var c=v-s,d=0;d<i;d++){var f=n[d],p=Gv.arrayRows.call(this,e[c]||h,f.property,c,d);a[d][v]=p;var g=o[d];p<g[0]&&(g[0]=p),p>g[1]&&(g[1]=p)}return this._rawCount=this._count=l,{start:s,end:l}},r.prototype._initDataFromProvider=function(e,t,a){for(var n=this._provider,i=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=H(o,function(m){return m.property}),f=0;f<s;f++){var h=o[f];l[f]||(l[f]=Ni()),s_(i,f,h.type,t,a)}if(n.fillStorage)n.fillStorage(e,t,i,l);else for(var v=[],c=e;c<t;c++){v=n.getItem(c,v);for(var d=0;d<s;d++){var p=i[d],g=this._dimValueGetter(v,u[d],c,d);p[c]=g;var y=l[d];g<y[0]&&(y[0]=g),g>y[1]&&(y[1]=g)}}!n.persistent&&n.clean&&n.clean(),this._rawCount=this._count=t,this._extent=[]},r.prototype.count=function(){return this._count},r.prototype.get=function(e,t){if(!(t>=0&&t<this._count))return NaN;var a=this._chunks[e];return a?a[this.getRawIndex(t)]:NaN},r.prototype.getValues=function(e,t){var a=[],n=[];if(t==null){t=e,e=[];for(var i=0;i<this._dimensions.length;i++)n.push(i)}else n=e;for(var i=0,o=n.length;i<o;i++)a.push(this.get(n[i],t));return a},r.prototype.getByRawIndex=function(e,t){if(!(t>=0&&t<this._rawCount))return NaN;var a=this._chunks[e];return a?a[t]:NaN},r.prototype.getSum=function(e){var t=this._chunks[e],a=0;if(t)for(var n=0,i=this.count();n<i;n++){var o=this.get(e,n);isNaN(o)||(a+=o)}return a},r.prototype.getMedian=function(e){var t=[];this.each([e],function(i){isNaN(i)||t.push(i)});var a=t.sort(function(i,o){return i-o}),n=this.count();return n===0?0:n%2===1?a[(n-1)/2]:(a[n/2]+a[n/2-1])/2},r.prototype.indexOfRawIndex=function(e){if(e>=this._rawCount||e<0)return-1;if(!this._indices)return e;var t=this._indices,a=t[e];if(a!=null&&a<this._count&&a===e)return e;for(var n=0,i=this._count-1;n<=i;){var o=(n+i)/2|0;if(t[o]<e)n=o+1;else if(t[o]>e)i=o-1;else return o}return-1},r.prototype.indicesOfNearest=function(e,t,a){var n=this._chunks,i=n[e],o=[];if(!i)return o;a==null&&(a=1/0);for(var s=1/0,l=-1,u=0,f=0,h=this.count();f<h;f++){var v=this.getRawIndex(f),c=t-i[v],d=Math.abs(c);d<=a&&((d<s||d===s&&c>=0&&l<0)&&(s=d,l=c,u=0),c===l&&(o[u++]=f))}return o.length=u,o},r.prototype.getIndices=function(){var e,t=this._indices;if(t){var a=t.constructor,n=this._count;if(a===Array){e=new a(n);for(var i=0;i<n;i++)e[i]=t[i]}else e=new a(t.buffer,0,n)}else{var a=Oi(this._rawCount);e=new a(this.count());for(var i=0;i<e.length;i++)e[i]=i}return e},r.prototype.filter=function(e,t){if(!this._count)return this;for(var a=this.clone(),n=a.count(),i=Oi(a._rawCount),o=new i(n),s=[],l=e.length,u=0,f=e[0],h=a._chunks,v=0;v<n;v++){var c=void 0,d=a.getRawIndex(v);if(l===0)c=t(v);else if(l===1){var p=h[f][d];c=t(p,v)}else{for(var g=0;g<l;g++)s[g]=h[e[g]][d];s[g]=v,c=t.apply(null,s)}c&&(o[u++]=d)}return u<n&&(a._indices=o),a._count=u,a._extent=[],a._updateGetRawIdx(),a},r.prototype.selectRange=function(e){var t=this.clone(),a=t._count;if(!a)return this;var n=wt(e),i=n.length;if(!i)return this;var o=t.count(),s=Oi(t._rawCount),l=new s(o),u=0,f=n[0],h=e[f][0],v=e[f][1],c=t._chunks,d=!1;if(!t._indices){var p=0;if(i===1){for(var g=c[n[0]],y=0;y<a;y++){var m=g[y];(m>=h&&m<=v||isNaN(m))&&(l[u++]=p),p++}d=!0}else if(i===2){for(var g=c[n[0]],_=c[n[1]],S=e[n[1]][0],b=e[n[1]][1],y=0;y<a;y++){var m=g[y],x=_[y];(m>=h&&m<=v||isNaN(m))&&(x>=S&&x<=b||isNaN(x))&&(l[u++]=p),p++}d=!0}}if(!d)if(i===1)for(var y=0;y<o;y++){var w=t.getRawIndex(y),m=c[n[0]][w];(m>=h&&m<=v||isNaN(m))&&(l[u++]=w)}else for(var y=0;y<o;y++){for(var T=!0,w=t.getRawIndex(y),A=0;A<i;A++){var C=n[A],m=c[C][w];(m<e[C][0]||m>e[C][1])&&(T=!1)}T&&(l[u++]=t.getRawIndex(y))}return u<o&&(t._indices=l),t._count=u,t._extent=[],t._updateGetRawIdx(),t},r.prototype.map=function(e,t){var a=this.clone(e);return this._updateDims(a,e,t),a},r.prototype.modify=function(e,t){this._updateDims(this,e,t)},r.prototype._updateDims=function(e,t,a){for(var n=e._chunks,i=[],o=t.length,s=e.count(),l=[],u=e._rawExtent,f=0;f<t.length;f++)u[t[f]]=Ni();for(var h=0;h<s;h++){for(var v=e.getRawIndex(h),c=0;c<o;c++)l[c]=n[t[c]][v];l[o]=h;var d=a&&a.apply(null,l);if(d!=null){typeof d!="object"&&(i[0]=d,d=i);for(var f=0;f<d.length;f++){var p=t[f],g=d[f],y=u[p],m=n[p];m&&(m[v]=g),g<y[0]&&(y[0]=g),g>y[1]&&(y[1]=g)}}}},r.prototype.lttbDownSample=function(e,t){var a=this.clone([e],!0),n=a._chunks,i=n[e],o=this.count(),s=0,l=Math.floor(1/t),u=this.getRawIndex(0),f,h,v,c=new(Oi(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));c[s++]=u;for(var d=1;d<o-1;d+=l){for(var p=Math.min(d+l,o-1),g=Math.min(d+l*2,o),y=(g+p)/2,m=0,_=p;_<g;_++){var S=this.getRawIndex(_),b=i[S];isNaN(b)||(m+=b)}m/=g-p;var x=d,w=Math.min(d+l,o),T=d-1,A=i[u];f=-1,v=x;for(var C=-1,M=0,_=x;_<w;_++){var S=this.getRawIndex(_),b=i[S];if(isNaN(b)){M++,C<0&&(C=S);continue}h=Math.abs((T-y)*(b-A)-(T-_)*(m-A)),h>f&&(f=h,v=S)}M>0&&M<w-x&&(c[s++]=Math.min(C,v),v=Math.max(C,v)),c[s++]=v,u=v}return c[s++]=this.getRawIndex(o-1),a._count=s,a._indices=c,a.getRawIndex=this._getRawIdx,a},r.prototype.minmaxDownSample=function(e,t){for(var a=this.clone([e],!0),n=a._chunks,i=Math.floor(1/t),o=n[e],s=this.count(),l=new(Oi(this._rawCount))(Math.ceil(s/i)*2),u=0,f=0;f<s;f+=i){var h=f,v=o[this.getRawIndex(h)],c=f,d=o[this.getRawIndex(c)],p=i;f+i>s&&(p=s-f);for(var g=0;g<p;g++){var y=this.getRawIndex(f+g),m=o[y];m<v&&(v=m,h=f+g),m>d&&(d=m,c=f+g)}var _=this.getRawIndex(h),S=this.getRawIndex(c);h<c?(l[u++]=_,l[u++]=S):(l[u++]=S,l[u++]=_)}return a._count=u,a._indices=l,a._updateGetRawIdx(),a},r.prototype.downSample=function(e,t,a,n){for(var i=this.clone([e],!0),o=i._chunks,s=[],l=Math.floor(1/t),u=o[e],f=this.count(),h=i._rawExtent[e]=Ni(),v=new(Oi(this._rawCount))(Math.ceil(f/l)),c=0,d=0;d<f;d+=l){l>f-d&&(l=f-d,s.length=l);for(var p=0;p<l;p++){var g=this.getRawIndex(d+p);s[p]=u[g]}var y=a(s),m=this.getRawIndex(Math.min(d+n(s,y)||0,f-1));u[m]=y,y<h[0]&&(h[0]=y),y>h[1]&&(h[1]=y),v[c++]=m}return i._count=c,i._indices=v,i._updateGetRawIdx(),i},r.prototype.each=function(e,t){if(this._count)for(var a=e.length,n=this._chunks,i=0,o=this.count();i<o;i++){var s=this.getRawIndex(i);switch(a){case 0:t(i);break;case 1:t(n[e[0]][s],i);break;case 2:t(n[e[0]][s],n[e[1]][s],i);break;default:for(var l=0,u=[];l<a;l++)u[l]=n[e[l]][s];u[l]=i,t.apply(null,u)}}},r.prototype.getDataExtent=function(e){var t=this._chunks[e],a=Ni();if(!t)return a;var n=this.count(),i=!this._indices,o;if(i)return this._rawExtent[e].slice();if(o=this._extent[e],o)return o.slice();o=a;for(var s=o[0],l=o[1],u=0;u<n;u++){var f=this.getRawIndex(u),h=t[f];h<s&&(s=h),h>l&&(l=h)}return o=[s,l],this._extent[e]=o,o},r.prototype.getRawDataItem=function(e){var t=this.getRawIndex(e);if(this._provider.persistent)return this._provider.getItem(t);for(var a=[],n=this._chunks,i=0;i<n.length;i++)a.push(n[i][t]);return a},r.prototype.clone=function(e,t){var a=new r,n=this._chunks,i=e&&qr(e,function(s,l){return s[l]=!0,s},{});if(i)for(var o=0;o<n.length;o++)a._chunks[o]=i[o]?Yk(n[o]):n[o];else a._chunks=n;return this._copyCommonProps(a),t||(a._indices=this._cloneIndices()),a._updateGetRawIdx(),a},r.prototype._copyCommonProps=function(e){e._count=this._count,e._rawCount=this._rawCount,e._provider=this._provider,e._dimensions=this._dimensions,e._extent=lt(this._extent),e._rawExtent=lt(this._rawExtent)},r.prototype._cloneIndices=function(){if(this._indices){var e=this._indices.constructor,t=void 0;if(e===Array){var a=this._indices.length;t=new e(a);for(var n=0;n<a;n++)t[n]=this._indices[n]}else t=new e(this._indices);return t}return null},r.prototype._getRawIdxIdentity=function(e){return e},r.prototype._getRawIdx=function(e){return e<this._count&&e>=0?this._indices[e]:-1},r.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},r.internalField=function(){function e(t,a,n,i){return tn(t[i],this._dimensions[i])}Gv={arrayRows:e,objectRows:function(t,a,n,i){return tn(t[a],this._dimensions[i])},keyedColumns:e,original:function(t,a,n,i){var o=t&&(t.value==null?t:t.value);return tn(o instanceof Array?o[i]:o,this._dimensions[i])},typedArray:function(t,a,n,i){return t[i]}}}(),r}(),zA=function(){function r(e){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=e}return r.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},r.prototype._setLocalSource=function(e,t){this._sourceList=e,this._upstreamSignList=t,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},r.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},r.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},r.prototype._createSource=function(){this._setLocalSource([],[]);var e=this._sourceHost,t=this._getUpstreamSourceManagers(),a=!!t.length,n,i;if(iu(e)){var o=e,s=void 0,l=void 0,u=void 0;if(a){var f=t[0];f.prepareSource(),u=f.getSource(),s=u.data,l=u.sourceFormat,i=[f._getVersionSign()]}else s=o.get("data",!0),l=Ue(s)?ja:pr,i=[];var h=this._getSourceMetaRawOption()||{},v=u&&u.metaRawOption||{},c=vt(h.seriesLayoutBy,v.seriesLayoutBy)||null,d=vt(h.sourceHeader,v.sourceHeader),p=vt(h.dimensions,v.dimensions),g=c!==v.seriesLayoutBy||!!d!=!!v.sourceHeader||p;n=g?[ap(s,{seriesLayoutBy:c,sourceHeader:d,dimensions:p},l)]:[]}else{var y=e;if(a){var m=this._applyTransform(t);n=m.sourceList,i=m.upstreamSignList}else{var _=y.get("source",!0);n=[ap(_,this._getSourceMetaRawOption(),null)],i=[]}}this._setLocalSource(n,i)},r.prototype._applyTransform=function(e){var t=this._sourceHost,a=t.get("transform",!0),n=t.get("fromTransformResult",!0);if(n!=null){var i="";e.length!==1&&u_(i)}var o,s=[],l=[];return D(e,function(u){u.prepareSource();var f=u.getSource(n||0),h="";n!=null&&!f&&u_(h),s.push(f),l.push(u._getVersionSign())}),a?o=Fk(a,s,{datasetIndex:t.componentIndex}):n!=null&&(o=[bk(s[0])]),{sourceList:o,upstreamSignList:l}},r.prototype._isDirty=function(){if(this._dirty)return!0;for(var e=this._getUpstreamSourceManagers(),t=0;t<e.length;t++){var a=e[t];if(a._isDirty()||this._upstreamSignList[t]!==a._getVersionSign())return!0}},r.prototype.getSource=function(e){e=e||0;var t=this._sourceList[e];if(!t){var a=this._getUpstreamSourceManagers();return a[0]&&a[0].getSource(e)}return t},r.prototype.getSharedDataStore=function(e){var t=e.makeStoreSchema();return this._innerGetDataStore(t.dimensions,e.source,t.hash)},r.prototype._innerGetDataStore=function(e,t,a){var n=0,i=this._storeList,o=i[n];o||(o=i[n]={});var s=o[a];if(!s){var l=this._getUpstreamSourceManagers()[0];iu(this._sourceHost)&&l?s=l._innerGetDataStore(e,t,a):(s=new np,s.initData(new LA(t,e.length),e)),o[a]=s}return s},r.prototype._getUpstreamSourceManagers=function(){var e=this._sourceHost;if(iu(e)){var t=Hg(e);return t?[t.getSourceManager()]:[]}else return H(JE(e),function(a){return a.getSourceManager()})},r.prototype._getSourceMetaRawOption=function(){var e=this._sourceHost,t,a,n;if(iu(e))t=e.get("seriesLayoutBy",!0),a=e.get("sourceHeader",!0),n=e.get("dimensions",!0);else if(!this._getUpstreamSourceManagers().length){var i=e;t=i.get("seriesLayoutBy",!0),a=i.get("sourceHeader",!0),n=i.get("dimensions",!0)}return{seriesLayoutBy:t,sourceHeader:a,dimensions:n}},r}();function l_(r){var e=r.option.transform;e&&uf(r.option.transform)}function iu(r){return r.mainType==="series"}function u_(r){throw new Error(r)}var $k="line-height:1";function GA(r){var e=r.lineHeight;return e==null?$k:"line-height:"+Ie(e+"")+"px"}function FA(r,e){var t=r.color||"#6e7079",a=r.fontSize||12,n=r.fontWeight||"400",i=r.color||"#464646",o=r.fontSize||14,s=r.fontWeight||"900";return e==="html"?{nameStyle:"font-size:"+Ie(a+"")+"px;color:"+Ie(t)+";font-weight:"+Ie(n+""),valueStyle:"font-size:"+Ie(o+"")+"px;color:"+Ie(i)+";font-weight:"+Ie(s+"")}:{nameStyle:{fontSize:a,fill:t,fontWeight:n},valueStyle:{fontSize:o,fill:i,fontWeight:s}}}var Zk=[0,10,20,30],Xk=["",` +`,` + +`,` + + +`];function ue(r,e){return e.type=r,e}function ip(r){return r.type==="section"}function HA(r){return ip(r)?qk:Kk}function WA(r){if(ip(r)){var e=0,t=r.blocks.length,a=t>1||t>0&&!r.noHeader;return D(r.blocks,function(n){var i=WA(n);i>=e&&(e=i+ +(a&&(!i||ip(n)&&!n.noHeader)))}),e}return 0}function qk(r,e,t,a){var n=e.noHeader,i=Jk(WA(e)),o=[],s=e.blocks||[];Ee(!s||z(s)),s=s||[];var l=r.orderMode;if(e.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(j(u,l)){var f=new OA(u[l],null);s.sort(function(p,g){return f.evaluate(p.sortParam,g.sortParam)})}else l==="seriesDesc"&&s.reverse()}D(s,function(p,g){var y=e.valueFormatter,m=HA(p)(y?V(V({},r),{valueFormatter:y}):r,p,g>0?i.html:0,a);m!=null&&o.push(m)});var h=r.renderMode==="richText"?o.join(i.richText):op(a,o.join(""),n?t:i.html);if(n)return h;var v=tp(e.header,"ordinal",r.useUTC),c=FA(a,r.renderMode).nameStyle,d=GA(a);return r.renderMode==="richText"?UA(r,v,c)+i.richText+h:op(a,'<div style="'+c+";"+d+';">'+Ie(v)+"</div>"+h,t)}function Kk(r,e,t,a){var n=r.renderMode,i=e.noName,o=e.noValue,s=!e.markerType,l=e.name,u=r.useUTC,f=e.valueFormatter||r.valueFormatter||function(S){return S=z(S)?S:[S],H(S,function(b,x){return tp(b,z(c)?c[x]:c,u)})};if(!(i&&o)){var h=s?"":r.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",n),v=i?"":tp(l,"ordinal",u),c=e.valueType,d=o?[]:f(e.value,e.dataIndex),p=!s||!i,g=!s&&i,y=FA(a,n),m=y.nameStyle,_=y.valueStyle;return n==="richText"?(s?"":h)+(i?"":UA(r,v,m))+(o?"":tO(r,d,p,g,_)):op(a,(s?"":h)+(i?"":Qk(v,!s,m))+(o?"":jk(d,p,g,_)),t)}}function f_(r,e,t,a,n,i){if(r){var o=HA(r),s={useUTC:n,renderMode:t,orderMode:a,markupStyleCreator:e,valueFormatter:r.valueFormatter};return o(s,r,0,i)}}function Jk(r){return{html:Zk[r],richText:Xk[r]}}function op(r,e,t){var a='<div style="clear:both"></div>',n="margin: "+t+"px 0 0",i=GA(r);return'<div style="'+n+";"+i+';">'+e+a+"</div>"}function Qk(r,e,t){var a=e?"margin-left:2px":"";return'<span style="'+t+";"+a+'">'+Ie(r)+"</span>"}function jk(r,e,t,a){var n=t?"10px":"20px",i=e?"float:right;margin-left:"+n:"";return r=z(r)?r:[r],'<span style="'+i+";"+a+'">'+H(r,function(o){return Ie(o)}).join("  ")+"</span>"}function UA(r,e,t){return r.markupStyleCreator.wrapRichTextStyle(e,t)}function tO(r,e,t,a,n){var i=[n],o=a?10:20;return t&&i.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(z(e)?e.join(" "):e,i)}function YA(r,e){var t=r.getData().getItemVisual(e,"style"),a=t[r.visualDrawType];return pi(a)}function $A(r,e){var t=r.get("padding");return t??(e==="richText"?[8,10]:10)}var Fv=function(){function r(){this.richTextStyles={},this._nextStyleNameId=sT()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(e,t,a){var n=a==="richText"?this._generateStyleName():null,i=UE({color:t,type:e,renderMode:a,markerId:n});return K(i)?i:(this.richTextStyles[n]=i.style,i.content)},r.prototype.wrapRichTextStyle=function(e,t){var a={};z(t)?D(t,function(i){return V(a,i)}):V(a,t);var n=this._generateStyleName();return this.richTextStyles[n]=a,"{"+n+"|"+e+"}"},r}();function ZA(r){var e=r.series,t=r.dataIndex,a=r.multipleSeries,n=e.getData(),i=n.mapDimensionsAll("defaultedTooltip"),o=i.length,s=e.getRawValue(t),l=z(s),u=YA(e,t),f,h,v,c;if(o>1||l&&!o){var d=eO(s,e,t,i,u);f=d.inlineValues,h=d.inlineValueTypes,v=d.blocks,c=d.inlineValues[0]}else if(o){var p=n.getDimensionInfo(i[0]);c=f=co(n,t,i[0]),h=p.type}else c=f=l?s[0]:s;var g=Sg(e),y=g&&e.name||"",m=n.getName(t),_=a?y:m;return ue("section",{header:y,noHeader:a||!g,sortParam:c,blocks:[ue("nameValue",{markerType:"item",markerColor:u,name:_,noName:!Ar(_),value:f,valueType:h,dataIndex:t})].concat(v||[])})}function eO(r,e,t,a,n){var i=e.getData(),o=qr(r,function(h,v,c){var d=i.getDimensionInfo(c);return h=h||d&&d.tooltip!==!1&&d.displayName!=null},!1),s=[],l=[],u=[];a.length?D(a,function(h){f(co(i,t,h),h)}):D(r,f);function f(h,v){var c=i.getDimensionInfo(v);!c||c.otherDims.tooltip===!1||(o?u.push(ue("nameValue",{markerType:"subItem",markerColor:n,name:c.displayName,value:h,valueType:c.type})):(s.push(h),l.push(c.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var Ea=At();function ou(r,e){return r.getName(e)||r.getId(e)}var tf="__universalTransitionEnabled",Gt=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t._selectedDataIndicesMap={},t}return e.prototype.init=function(t,a,n){this.seriesIndex=this.componentIndex,this.dataTask=Os({count:aO,reset:nO}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n);var i=Ea(this).sourceManager=new zA(this);i.prepareSource();var o=this.getInitialData(t,n);v_(o,this),this.dataTask.context.data=o,Ea(this).dataBeforeProcessed=o,h_(this),this._initSelectedMapFromData(o)},e.prototype.mergeDefaultAndTheme=function(t,a){var n=Qs(this),i=n?Po(t):{},o=this.subType;bt.hasClass(o)&&(o+="Series"),dt(t,a.getTheme().get(this.subType)),dt(t,this.getDefaultOption()),hi(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&sn(t,i,n)},e.prototype.mergeOption=function(t,a){t=dt(this.option,t,!0),this.fillDataTextStyle(t.data);var n=Qs(this);n&&sn(this.option,t,n);var i=Ea(this).sourceManager;i.dirty(),i.prepareSource();var o=this.getInitialData(t,a);v_(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,Ea(this).dataBeforeProcessed=o,h_(this),this._initSelectedMapFromData(o)},e.prototype.fillDataTextStyle=function(t){if(t&&!Ue(t))for(var a=["show"],n=0;n<t.length;n++)t[n]&&t[n].label&&hi(t[n],"label",a)},e.prototype.getInitialData=function(t,a){},e.prototype.appendData=function(t){var a=this.getRawData();a.appendData(t.data)},e.prototype.getData=function(t){var a=sp(this);if(a){var n=a.context.data;return t==null||!n.getLinkedData?n:n.getLinkedData(t)}else return Ea(this).data},e.prototype.getAllData=function(){var t=this.getData();return t&&t.getLinkedDataAll?t.getLinkedDataAll():[{data:t}]},e.prototype.setData=function(t){var a=sp(this);if(a){var n=a.context;n.outputData=t,a!==this.dataTask&&(n.data=t)}Ea(this).data=t},e.prototype.getEncode=function(){var t=this.get("encode",!0);if(t)return et(t)},e.prototype.getSourceManager=function(){return Ea(this).sourceManager},e.prototype.getSource=function(){return this.getSourceManager().getSource()},e.prototype.getRawData=function(){return Ea(this).dataBeforeProcessed},e.prototype.getColorBy=function(){var t=this.get("colorBy");return t||"series"},e.prototype.isColorBySeries=function(){return this.getColorBy()==="series"},e.prototype.getBaseAxis=function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},e.prototype.formatTooltip=function(t,a,n){return ZA({series:this,dataIndex:t,multipleSeries:a})},e.prototype.isAnimationEnabled=function(){var t=this.ecModel;if(xt.node&&!(t&&t.ssr))return!1;var a=this.getShallow("animation");return a&&this.getData().count()>this.getShallow("animationThreshold")&&(a=!1),!!a},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,a,n){var i=this.ecModel,o=Wg.prototype.getColorFromPalette.call(this,t,a,n);return o||(o=i.getColorFromPalette(t,a,n)),o},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,a){this._innerSelect(this.getData(a),t)},e.prototype.unselect=function(t,a){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,o=this.getData(a);if(i==="series"||n==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s<t.length;s++){var l=t[s],u=ou(o,l);n[u]=!1,this._selectedDataIndicesMap[u]=-1}}},e.prototype.toggleSelect=function(t,a){for(var n=[],i=0;i<t.length;i++)n[0]=t[i],this.isSelected(t[i],a)?this.unselect(n,a):this.select(n,a)},e.prototype.getSelectedDataIndices=function(){if(this.option.selectedMap==="all")return[].slice.call(this.getData().getIndices());for(var t=this._selectedDataIndicesMap,a=wt(t),n=[],i=0;i<a.length;i++){var o=t[a[i]];o>=0&&n.push(o)}return n},e.prototype.isSelected=function(t,a){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(a);return(n==="all"||n[ou(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[tf])return!0;var t=this.option.universalTransition;return t?t===!0?!0:t&&t.enabled:!1},e.prototype._innerSelect=function(t,a){var n,i,o=this.option,s=o.selectedMode,l=a.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){st(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,f=0;f<l;f++){var h=a[f],v=ou(t,h);u[v]=!0,this._selectedDataIndicesMap[v]=t.getRawIndex(h)}}else if(s==="single"||s===!0){var c=a[l-1],v=ou(t,c);o.selectedMap=(n={},n[v]=!0,n),this._selectedDataIndicesMap=(i={},i[v]=t.getRawIndex(c),i)}}},e.prototype._initSelectedMapFromData=function(t){if(!this.option.selectedMap){var a=[];t.hasItemOption&&t.each(function(n){var i=t.getRawDataItem(n);i&&i.selected&&a.push(n)}),a.length>0&&this._innerSelect(t,a)}},e.registerClass=function(t){return bt.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(bt);te(Gt,Mh);te(Gt,Wg);gT(Gt,bt);function h_(r){var e=r.name;Sg(r)||(r.name=rO(r)||e)}function rO(r){var e=r.getRawData(),t=e.mapDimensionsAll("seriesName"),a=[];return D(t,function(n){var i=e.getDimensionInfo(n);i.displayName&&a.push(i.displayName)}),a.join(" ")}function aO(r){return r.model.getRawData().count()}function nO(r){var e=r.model;return e.setData(e.getRawData().cloneShallow()),iO}function iO(r,e){e.outputData&&r.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function v_(r,e){D(Hs(r.CHANGABLE_METHODS,r.DOWNSAMPLE_METHODS),function(t){r.wrapMethod(t,ct(oO,e))})}function oO(r,e){var t=sp(r);return t&&t.setOutputEnd((e||this).count()),e}function sp(r){var e=(r.ecModel||{}).scheduler,t=e&&e.getPipeline(r.uid);if(t){var a=t.currentTask;if(a){var n=a.agentStubMap;n&&(a=n.get(r.uid))}return a}}var Ut=function(){function r(){this.group=new ut,this.uid=Lo("viewComponent")}return r.prototype.init=function(e,t){},r.prototype.render=function(e,t,a,n){},r.prototype.dispose=function(e,t){},r.prototype.updateView=function(e,t,a,n){},r.prototype.updateLayout=function(e,t,a,n){},r.prototype.updateVisual=function(e,t,a,n){},r.prototype.toggleBlurSeries=function(e,t,a){},r.prototype.eachRendered=function(e){var t=this.group;t&&t.traverse(e)},r}();bg(Ut);fh(Ut);function Eo(){var r=At();return function(e){var t=r(e),a=e.pipelineContext,n=!!t.large,i=!!t.progressiveRender,o=t.large=!!(a&&a.large),s=t.progressiveRender=!!(a&&a.progressiveRender);return(n!==o||i!==s)&&"reset"}}var XA=At(),sO=Eo(),Nt=function(){function r(){this.group=new ut,this.uid=Lo("viewChart"),this.renderTask=Os({plan:lO,reset:uO}),this.renderTask.context={view:this}}return r.prototype.init=function(e,t){},r.prototype.render=function(e,t,a,n){},r.prototype.highlight=function(e,t,a,n){var i=e.getData(n&&n.dataType);i&&d_(i,n,"emphasis")},r.prototype.downplay=function(e,t,a,n){var i=e.getData(n&&n.dataType);i&&d_(i,n,"normal")},r.prototype.remove=function(e,t){this.group.removeAll()},r.prototype.dispose=function(e,t){},r.prototype.updateView=function(e,t,a,n){this.render(e,t,a,n)},r.prototype.updateLayout=function(e,t,a,n){this.render(e,t,a,n)},r.prototype.updateVisual=function(e,t,a,n){this.render(e,t,a,n)},r.prototype.eachRendered=function(e){hn(this.group,e)},r.markUpdateMethod=function(e,t){XA(e).updateMethod=t},r.protoInitialize=function(){var e=r.prototype;e.type="chart"}(),r}();function c_(r,e,t){r&&qs(r)&&(e==="emphasis"?ya:ma)(r,t)}function d_(r,e,t){var a=vi(r,e),n=e&&e.highlightKey!=null?UR(e.highlightKey):null;a!=null?D(Ot(a),function(i){c_(r.getItemGraphicEl(i),t,n)}):r.eachItemGraphicEl(function(i){c_(i,t,n)})}bg(Nt);fh(Nt);function lO(r){return sO(r.model)}function uO(r){var e=r.model,t=r.ecModel,a=r.api,n=r.payload,i=e.pipelineContext.progressiveRender,o=r.view,s=n&&XA(n).updateMethod,l=i?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](e,t,a,n),fO[l]}var fO={incrementalPrepareRender:{progress:function(r,e){e.view.incrementalRender(r,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(r,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Cf="\0__throttleOriginMethod",p_="\0__throttleRate",g_="\0__throttleType";function qg(r,e,t){var a,n=0,i=0,o=null,s,l,u,f;e=e||0;function h(){i=new Date().getTime(),o=null,r.apply(l,u||[])}var v=function(){for(var c=[],d=0;d<arguments.length;d++)c[d]=arguments[d];a=new Date().getTime(),l=this,u=c;var p=f||e,g=f||t;f=null,s=a-(g?n:i)-p,clearTimeout(o),g?o=setTimeout(h,p):s>=0?h():o=setTimeout(h,-s),n=a};return v.clear=function(){o&&(clearTimeout(o),o=null)},v.debounceNextCall=function(c){f=c},v}function ko(r,e,t,a){var n=r[e];if(n){var i=n[Cf]||n,o=n[g_],s=n[p_];if(s!==t||o!==a){if(t==null||!a)return r[e]=i;n=r[e]=qg(i,t,a==="debounce"),n[Cf]=i,n[g_]=a,n[p_]=t}return n}}function tl(r,e){var t=r[e];t&&t[Cf]&&(t.clear&&t.clear(),r[e]=t[Cf])}var y_=At(),m_={itemStyle:ci(tA,!0),lineStyle:ci(jT,!0)},hO={lineStyle:"stroke",itemStyle:"fill"};function qA(r,e){var t=r.visualStyleMapper||m_[e];return t||(console.warn("Unknown style type '"+e+"'."),m_.itemStyle)}function KA(r,e){var t=r.visualDrawType||hO[e];return t||(console.warn("Unknown style type '"+e+"'."),"fill")}var vO={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){var t=r.getData(),a=r.visualStyleAccessPath||"itemStyle",n=r.getModel(a),i=qA(r,a),o=i(n),s=n.getShallow("decal");s&&(t.setVisual("decal",s),s.dirty=!0);var l=KA(r,a),u=o[l],f=nt(u)?u:null,h=o.fill==="auto"||o.stroke==="auto";if(!o[l]||f||h){var v=r.getColorFromPalette(r.name,null,e.getSeriesCount());o[l]||(o[l]=v,t.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||nt(o.fill)?v:o.fill,o.stroke=o.stroke==="auto"||nt(o.stroke)?v:o.stroke}if(t.setVisual("style",o),t.setVisual("drawType",l),!e.isSeriesFiltered(r)&&f)return t.setVisual("colorFromPalette",!1),{dataEach:function(c,d){var p=r.getDataParams(d),g=V({},o);g[l]=f(p),c.setItemVisual(d,"style",g)}}}},Xo=new Et,cO={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){if(!(r.ignoreStyleOnData||e.isSeriesFiltered(r))){var t=r.getData(),a=r.visualStyleAccessPath||"itemStyle",n=qA(r,a),i=t.getVisual("drawType");return{dataEach:t.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[a]){Xo.option=l[a];var u=n(Xo),f=o.ensureUniqueItemVisual(s,"style");V(f,u),Xo.option.decal&&(o.setItemVisual(s,"decal",Xo.option.decal),Xo.option.decal.dirty=!0),i in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},dO={performRawSeries:!0,overallReset:function(r){var e=et();r.eachSeries(function(t){var a=t.getColorBy();if(!t.isColorBySeries()){var n=t.type+"-"+a,i=e.get(n);i||(i={},e.set(n,i)),y_(t).scope=i}}),r.eachSeries(function(t){if(!(t.isColorBySeries()||r.isSeriesFiltered(t))){var a=t.getRawData(),n={},i=t.getData(),o=y_(t).scope,s=t.visualStyleAccessPath||"itemStyle",l=KA(t,s);i.each(function(u){var f=i.getRawIndex(u);n[f]=u}),a.each(function(u){var f=n[u],h=i.getItemVisual(f,"colorFromPalette");if(h){var v=i.ensureUniqueItemVisual(f,"style"),c=a.getName(u)||u+"",d=a.count();v[l]=t.getColorFromPalette(c,o,d)}})}})}},su=Math.PI;function pO(r,e){e=e||{},ot(e,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var t=new ut,a=new Tt({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});t.add(a);var n=new Ct({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),i=new Tt({style:{fill:"none"},textContent:n,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});t.add(i);var o;return e.showSpinner&&(o=new yh({shape:{startAngle:-su/2,endAngle:-su/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:su*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:su*3/2}).delay(300).start("circularInOut"),t.add(o)),t.resize=function(){var s=n.getBoundingRect().width,l=e.showSpinner?e.spinnerRadius:0,u=(r.getWidth()-l*2-(e.showSpinner&&s?10:0)-s)/2-(e.showSpinner&&s?0:5+s/2)+(e.showSpinner?0:s/2)+(s?0:l),f=r.getHeight()/2;e.showSpinner&&o.setShape({cx:u,cy:f}),i.setShape({x:u-l,y:f-l,width:l*2,height:l*2}),a.setShape({x:0,y:0,width:r.getWidth(),height:r.getHeight()})},t.resize(),t}var JA=function(){function r(e,t,a,n){this._stageTaskMap=et(),this.ecInstance=e,this.api=t,a=this._dataProcessorHandlers=a.slice(),n=this._visualHandlers=n.slice(),this._allHandlers=a.concat(n)}return r.prototype.restoreData=function(e,t){e.restoreData(t),this._stageTaskMap.each(function(a){var n=a.overallTask;n&&n.dirty()})},r.prototype.getPerformArgs=function(e,t){if(e.__pipeline){var a=this._pipelineMap.get(e.__pipeline.id),n=a.context,i=!t&&a.progressiveEnabled&&(!n||n.progressiveRender)&&e.__idxInPipeline>a.blockIndex,o=i?a.step:null,s=n&&n.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},r.prototype.getPipeline=function(e){return this._pipelineMap.get(e)},r.prototype.updateStreamModes=function(e,t){var a=this._pipelineMap.get(e.uid),n=e.getData(),i=n.count(),o=a.progressiveEnabled&&t.incrementalPrepareRender&&i>=a.threshold,s=e.get("large")&&i>=e.get("largeThreshold"),l=e.get("progressiveChunkMode")==="mod"?i:null;e.pipelineContext=a.context={progressiveRender:o,modDataCount:l,large:s}},r.prototype.restorePipelines=function(e){var t=this,a=t._pipelineMap=et();e.eachSeries(function(n){var i=n.getProgressive(),o=n.uid;a.set(o,{id:o,head:null,tail:null,threshold:n.getProgressiveThreshold(),progressiveEnabled:i&&!(n.preventIncremental&&n.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),t._pipe(n,n.dataTask)})},r.prototype.prepareStageTasks=function(){var e=this._stageTaskMap,t=this.api.getModel(),a=this.api;D(this._allHandlers,function(n){var i=e.get(n.uid)||e.set(n.uid,{}),o="";Ee(!(n.reset&&n.overallReset),o),n.reset&&this._createSeriesStageTask(n,i,t,a),n.overallReset&&this._createOverallStageTask(n,i,t,a)},this)},r.prototype.prepareView=function(e,t,a,n){var i=e.renderTask,o=i.context;o.model=t,o.ecModel=a,o.api=n,i.__block=!e.incrementalPrepareRender,this._pipe(t,i)},r.prototype.performDataProcessorTasks=function(e,t){this._performStageTasks(this._dataProcessorHandlers,e,t,{block:!0})},r.prototype.performVisualTasks=function(e,t,a){this._performStageTasks(this._visualHandlers,e,t,a)},r.prototype._performStageTasks=function(e,t,a,n){n=n||{};var i=!1,o=this;D(e,function(l,u){if(!(n.visualType&&n.visualType!==l.visualType)){var f=o._stageTaskMap.get(l.uid),h=f.seriesTaskMap,v=f.overallTask;if(v){var c,d=v.agentStubMap;d.each(function(g){s(n,g)&&(g.dirty(),c=!0)}),c&&v.dirty(),o.updatePayload(v,a);var p=o.getPerformArgs(v,n.block);d.each(function(g){g.perform(p)}),v.perform(p)&&(i=!0)}else h&&h.each(function(g,y){s(n,g)&&g.dirty();var m=o.getPerformArgs(g,n.block);m.skip=!l.performRawSeries&&t.isSeriesFiltered(g.context.model),o.updatePayload(g,a),g.perform(m)&&(i=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=i||this.unfinished},r.prototype.performSeriesTasks=function(e){var t;e.eachSeries(function(a){t=a.dataTask.perform()||t}),this.unfinished=t||this.unfinished},r.prototype.plan=function(){this._pipelineMap.each(function(e){var t=e.tail;do{if(t.__block){e.blockIndex=t.__idxInPipeline;break}t=t.getUpstream()}while(t)})},r.prototype.updatePayload=function(e,t){t!=="remain"&&(e.context.payload=t)},r.prototype._createSeriesStageTask=function(e,t,a,n){var i=this,o=t.seriesTaskMap,s=t.seriesTaskMap=et(),l=e.seriesType,u=e.getTargetSeries;e.createOnAllSeries?a.eachRawSeries(f):l?a.eachRawSeriesByType(l,f):u&&u(a,n).each(f);function f(h){var v=h.uid,c=s.set(v,o&&o.get(v)||Os({plan:SO,reset:xO,count:wO}));c.context={model:h,ecModel:a,api:n,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:i},i._pipe(h,c)}},r.prototype._createOverallStageTask=function(e,t,a,n){var i=this,o=t.overallTask=t.overallTask||Os({reset:gO});o.context={ecModel:a,api:n,overallReset:e.overallReset,scheduler:i};var s=o.agentStubMap,l=o.agentStubMap=et(),u=e.seriesType,f=e.getTargetSeries,h=!0,v=!1,c="";Ee(!e.createOnAllSeries,c),u?a.eachRawSeriesByType(u,d):f?f(a,n).each(d):(h=!1,D(a.getSeries(),d));function d(p){var g=p.uid,y=l.set(g,s&&s.get(g)||(v=!0,Os({reset:yO,onDirty:_O})));y.context={model:p,overallProgress:h},y.agent=o,y.__block=h,i._pipe(p,y)}v&&o.dirty()},r.prototype._pipe=function(e,t){var a=e.uid,n=this._pipelineMap.get(a);!n.head&&(n.head=t),n.tail&&n.tail.pipe(t),n.tail=t,t.__idxInPipeline=n.count++,t.__pipeline=n},r.wrapStageHandler=function(e,t){return nt(e)&&(e={overallReset:e,seriesType:TO(e)}),e.uid=Lo("stageHandler"),t&&(e.visualType=t),e},r}();function gO(r){r.overallReset(r.ecModel,r.api,r.payload)}function yO(r){return r.overallProgress&&mO}function mO(){this.agent.dirty(),this.getDownstream().dirty()}function _O(){this.agent&&this.agent.dirty()}function SO(r){return r.plan?r.plan(r.model,r.ecModel,r.api,r.payload):null}function xO(r){r.useClearVisual&&r.data.clearAllVisual();var e=r.resetDefines=Ot(r.reset(r.model,r.ecModel,r.api,r.payload));return e.length>1?H(e,function(t,a){return QA(a)}):bO}var bO=QA(0);function QA(r){return function(e,t){var a=t.data,n=t.resetDefines[r];if(n&&n.dataEach)for(var i=e.start;i<e.end;i++)n.dataEach(a,i);else n&&n.progress&&n.progress(e,a)}}function wO(r){return r.data.count()}function TO(r){Df=null;try{r(el,jA)}catch{}return Df}var el={},jA={},Df;tC(el,Ug);tC(jA,TA);el.eachSeriesByType=el.eachRawSeriesByType=function(r){Df=r};el.eachComponent=function(r){r.mainType==="series"&&r.subType&&(Df=r.subType)};function tC(r,e){for(var t in e.prototype)r[t]=qt}var __=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"];const AO={color:__,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],__]};var be="#B9B8CE",S_="#100C2A",lu=function(){return{axisLine:{lineStyle:{color:be}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},x_=["#4992ff","#7cffb2","#fddd60","#ff6e76","#58d9f9","#05c091","#ff8a45","#8d48e3","#dd79ff"],eC={darkMode:!0,color:x_,backgroundColor:S_,axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:be},pageTextStyle:{color:be}},textStyle:{color:be},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:be}},dataZoom:{borderColor:"#71708A",textStyle:{color:be},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:be}},timeline:{lineStyle:{color:be},label:{color:be},controlStyle:{color:be,borderColor:be}},calendar:{itemStyle:{color:S_},dayLabel:{color:be},monthLabel:{color:be},yearLabel:{color:be}},timeAxis:lu(),logAxis:lu(),valueAxis:lu(),categoryAxis:lu(),line:{symbol:"circle"},graph:{color:x_},gauge:{title:{color:be},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:be},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};eC.categoryAxis.splitLine.show=!1;var CO=function(){function r(){}return r.prototype.normalizeQuery=function(e){var t={},a={},n={};if(K(e)){var i=Ur(e);t.mainType=i.main||null,t.subType=i.sub||null}else{var o=["Index","Name","Id"],s={name:1,dataIndex:1,dataType:1};D(e,function(l,u){for(var f=!1,h=0;h<o.length;h++){var v=o[h],c=u.lastIndexOf(v);if(c>0&&c===u.length-v.length){var d=u.slice(0,c);d!=="data"&&(t.mainType=d,t[v.toLowerCase()]=l,f=!0)}}s.hasOwnProperty(u)&&(a[u]=l,f=!0),f||(n[u]=l)})}return{cptQuery:t,dataQuery:a,otherQuery:n}},r.prototype.filter=function(e,t){var a=this.eventInfo;if(!a)return!0;var n=a.targetEl,i=a.packedEvent,o=a.model,s=a.view;if(!o||!s)return!0;var l=t.cptQuery,u=t.dataQuery;return f(l,o,"mainType")&&f(l,o,"subType")&&f(l,o,"index","componentIndex")&&f(l,o,"name")&&f(l,o,"id")&&f(u,i,"name")&&f(u,i,"dataIndex")&&f(u,i,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(e,t.otherQuery,n,i));function f(h,v,c,d){return h[c]==null||v[d||c]===h[c]}},r.prototype.afterTrigger=function(){this.eventInfo=null},r}(),lp=["symbol","symbolSize","symbolRotate","symbolOffset"],b_=lp.concat(["symbolKeepAspect"]),DO={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){var t=r.getData();if(r.legendIcon&&t.setVisual("legendIcon",r.legendIcon),!r.hasSymbolVisual)return;for(var a={},n={},i=!1,o=0;o<lp.length;o++){var s=lp[o],l=r.get(s);nt(l)?(i=!0,n[s]=l):a[s]=l}if(a.symbol=a.symbol||r.defaultSymbol,t.setVisual(V({legendIcon:r.legendIcon||a.symbol,symbolKeepAspect:r.get("symbolKeepAspect")},a)),e.isSeriesFiltered(r))return;var u=wt(n);function f(h,v){for(var c=r.getRawValue(v),d=r.getDataParams(v),p=0;p<u.length;p++){var g=u[p];h.setItemVisual(v,g,n[g](c,d))}}return{dataEach:i?f:null}}},MO={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){if(!r.hasSymbolVisual||e.isSeriesFiltered(r))return;var t=r.getData();function a(n,i){for(var o=n.getItemModel(i),s=0;s<b_.length;s++){var l=b_[s],u=o.getShallow(l,!0);u!=null&&n.setItemVisual(i,l,u)}}return{dataEach:t.hasItemOption?a:null}}};function Kg(r,e,t){switch(t){case"color":var a=r.getItemVisual(e,"style");return a[r.getVisual("drawType")];case"opacity":return r.getItemVisual(e,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return r.getItemVisual(e,t)}}function Cl(r,e){switch(e){case"color":var t=r.getVisual("style");return t[r.getVisual("drawType")];case"opacity":return r.getVisual("style").opacity;case"symbol":case"symbolSize":case"liftZ":return r.getVisual(e)}}function rC(r,e,t,a){switch(t){case"color":var n=r.ensureUniqueItemVisual(e,"style");n[r.getVisual("drawType")]=a,r.setItemVisual(e,"colorFromPalette",!1);break;case"opacity":r.ensureUniqueItemVisual(e,"style").opacity=a;break;case"symbol":case"symbolSize":case"liftZ":r.setItemVisual(e,t,a);break}}function aC(r,e){function t(a,n){var i=[];return a.eachComponent({mainType:"series",subType:r,query:n},function(o){i.push(o.seriesIndex)}),i}D([[r+"ToggleSelect","toggleSelect"],[r+"Select","select"],[r+"UnSelect","unselect"]],function(a){e(a[0],function(n,i,o){n=V({},n),o.dispatchAction(V(n,{type:a[1],seriesIndex:t(i,n)}))})})}function Bi(r,e,t,a,n){var i=r+e;t.isSilent(i)||a.eachComponent({mainType:"series",subType:"pie"},function(o){for(var s=o.seriesIndex,l=o.option.selectedMap,u=n.selected,f=0;f<u.length;f++)if(u[f].seriesIndex===s){var h=o.getData(),v=vi(h,n.fromActionPayload);t.trigger(i,{type:i,seriesId:o.id,name:z(v)?h.getName(v[0]):h.getName(v),selected:K(l)?l:V({},l)})}})}function LO(r,e,t){r.on("selectchanged",function(a){var n=t.getModel();a.isFromClick?(Bi("map","selectchanged",e,n,a),Bi("pie","selectchanged",e,n,a)):a.fromAction==="select"?(Bi("map","selected",e,n,a),Bi("pie","selected",e,n,a)):a.fromAction==="unselect"&&(Bi("map","unselected",e,n,a),Bi("pie","unselected",e,n,a))})}function Qn(r,e,t){for(var a;r&&!(e(r)&&(a=r,t));)r=r.__hostTarget||r.parent;return a}var IO=Math.round(Math.random()*9),PO=typeof Object.defineProperty=="function",RO=function(){function r(){this._id="__ec_inner_"+IO++}return r.prototype.get=function(e){return this._guard(e)[this._id]},r.prototype.set=function(e,t){var a=this._guard(e);return PO?Object.defineProperty(a,this._id,{value:t,enumerable:!1,configurable:!0}):a[this._id]=t,this},r.prototype.delete=function(e){return this.has(e)?(delete this._guard(e)[this._id],!0):!1},r.prototype.has=function(e){return!!this._guard(e)[this._id]},r.prototype._guard=function(e){if(e!==Object(e))throw TypeError("Value of WeakMap is not a non-null object.");return e},r}(),EO=St.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(r,e){var t=e.cx,a=e.cy,n=e.width/2,i=e.height/2;r.moveTo(t,a-i),r.lineTo(t+n,a+i),r.lineTo(t-n,a+i),r.closePath()}}),kO=St.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(r,e){var t=e.cx,a=e.cy,n=e.width/2,i=e.height/2;r.moveTo(t,a-i),r.lineTo(t+n,a),r.lineTo(t,a+i),r.lineTo(t-n,a),r.closePath()}}),OO=St.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(r,e){var t=e.x,a=e.y,n=e.width/5*3,i=Math.max(n,e.height),o=n/2,s=o*o/(i-o),l=a-i+o+s,u=Math.asin(s/o),f=Math.cos(u)*o,h=Math.sin(u),v=Math.cos(u),c=o*.6,d=o*.7;r.moveTo(t-f,l+s),r.arc(t,l,o,Math.PI-u,Math.PI*2+u),r.bezierCurveTo(t+f-h*c,l+s+v*c,t,a-d,t,a),r.bezierCurveTo(t,a-d,t-f+h*c,l+s+v*c,t-f,l+s),r.closePath()}}),NO=St.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(r,e){var t=e.height,a=e.width,n=e.x,i=e.y,o=a/3*2;r.moveTo(n,i),r.lineTo(n+o,i+t),r.lineTo(n,i+t/4*3),r.lineTo(n-o,i+t),r.lineTo(n,i),r.closePath()}}),BO={line:ie,rect:Tt,roundRect:Tt,square:Tt,circle:Ta,diamond:kO,pin:OO,arrow:NO,triangle:EO},VO={line:function(r,e,t,a,n){n.x1=r,n.y1=e+a/2,n.x2=r+t,n.y2=e+a/2},rect:function(r,e,t,a,n){n.x=r,n.y=e,n.width=t,n.height=a},roundRect:function(r,e,t,a,n){n.x=r,n.y=e,n.width=t,n.height=a,n.r=Math.min(t,a)/4},square:function(r,e,t,a,n){var i=Math.min(t,a);n.x=r,n.y=e,n.width=i,n.height=i},circle:function(r,e,t,a,n){n.cx=r+t/2,n.cy=e+a/2,n.r=Math.min(t,a)/2},diamond:function(r,e,t,a,n){n.cx=r+t/2,n.cy=e+a/2,n.width=t,n.height=a},pin:function(r,e,t,a,n){n.x=r+t/2,n.y=e+a/2,n.width=t,n.height=a},arrow:function(r,e,t,a,n){n.x=r+t/2,n.y=e+a/2,n.width=t,n.height=a},triangle:function(r,e,t,a,n){n.cx=r+t/2,n.cy=e+a/2,n.width=t,n.height=a}},Mf={};D(BO,function(r,e){Mf[e]=new r});var zO=St.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(r,e,t){var a=yf(r,e,t),n=this.shape;return n&&n.symbolType==="pin"&&e.position==="inside"&&(a.y=t.y+t.height*.4),a},buildPath:function(r,e,t){var a=e.symbolType;if(a!=="none"){var n=Mf[a];n||(a="rect",n=Mf[a]),VO[a](e.x,e.y,e.width,e.height,n.shape),n.buildPath(r,n.shape,t)}}});function GO(r,e){if(this.type!=="image"){var t=this.style;this.__isEmptyBrush?(t.stroke=r,t.fill=e||"#fff",t.lineWidth=2):this.shape.symbolType==="line"?t.stroke=r:t.fill=r,this.markRedraw()}}function jt(r,e,t,a,n,i,o){var s=r.indexOf("empty")===0;s&&(r=r.substr(5,1).toLowerCase()+r.substr(6));var l;return r.indexOf("image://")===0?l=YT(r.slice(8),new gt(e,t,a,n),o?"center":"cover"):r.indexOf("path://")===0?l=mh(r.slice(7),{},new gt(e,t,a,n),o?"center":"cover"):l=new zO({shape:{symbolType:r,x:e,y:t,width:a,height:n}}),l.__isEmptyBrush=s,l.setColor=GO,i&&l.setColor(i),l}function Oo(r){return z(r)||(r=[+r,+r]),[r[0]||0,r[1]||0]}function bi(r,e){if(r!=null)return z(r)||(r=[r,r]),[X(r[0],e[0])||0,X(vt(r[1],r[0]),e[1])||0]}function jn(r){return isFinite(r)}function FO(r,e,t){var a=e.x==null?0:e.x,n=e.x2==null?1:e.x2,i=e.y==null?0:e.y,o=e.y2==null?0:e.y2;e.global||(a=a*t.width+t.x,n=n*t.width+t.x,i=i*t.height+t.y,o=o*t.height+t.y),a=jn(a)?a:0,n=jn(n)?n:1,i=jn(i)?i:0,o=jn(o)?o:0;var s=r.createLinearGradient(a,i,n,o);return s}function HO(r,e,t){var a=t.width,n=t.height,i=Math.min(a,n),o=e.x==null?.5:e.x,s=e.y==null?.5:e.y,l=e.r==null?.5:e.r;e.global||(o=o*a+t.x,s=s*n+t.y,l=l*i),o=jn(o)?o:.5,s=jn(s)?s:.5,l=l>=0&&jn(l)?l:.5;var u=r.createRadialGradient(o,s,0,o,s,l);return u}function up(r,e,t){for(var a=e.type==="radial"?HO(r,e,t):FO(r,e,t),n=e.colorStops,i=0;i<n.length;i++)a.addColorStop(n[i].offset,n[i].color);return a}function WO(r,e){if(r===e||!r&&!e)return!1;if(!r||!e||r.length!==e.length)return!0;for(var t=0;t<r.length;t++)if(r[t]!==e[t])return!0;return!1}function uu(r){return parseInt(r,10)}function ro(r,e,t){var a=["width","height"][e],n=["clientWidth","clientHeight"][e],i=["paddingLeft","paddingTop"][e],o=["paddingRight","paddingBottom"][e];if(t[a]!=null&&t[a]!=="auto")return parseFloat(t[a]);var s=document.defaultView.getComputedStyle(r);return(r[n]||uu(s[a])||uu(r.style[a]))-(uu(s[i])||0)-(uu(s[o])||0)|0}function UO(r,e){return!r||r==="solid"||!(e>0)?null:r==="dashed"?[4*e,2*e]:r==="dotted"?[e]:Dt(r)?[r]:z(r)?r:null}function Jg(r){var e=r.style,t=e.lineDash&&e.lineWidth>0&&UO(e.lineDash,e.lineWidth),a=e.lineDashOffset;if(t){var n=e.strokeNoScale&&r.getLineScale?r.getLineScale():1;n&&n!==1&&(t=H(t,function(i){return i/n}),a/=n)}return[t,a]}var YO=new jr(!0);function Lf(r){var e=r.stroke;return!(e==null||e==="none"||!(r.lineWidth>0))}function w_(r){return typeof r=="string"&&r!=="none"}function If(r){var e=r.fill;return e!=null&&e!=="none"}function T_(r,e){if(e.fillOpacity!=null&&e.fillOpacity!==1){var t=r.globalAlpha;r.globalAlpha=e.fillOpacity*e.opacity,r.fill(),r.globalAlpha=t}else r.fill()}function A_(r,e){if(e.strokeOpacity!=null&&e.strokeOpacity!==1){var t=r.globalAlpha;r.globalAlpha=e.strokeOpacity*e.opacity,r.stroke(),r.globalAlpha=t}else r.stroke()}function fp(r,e,t){var a=wg(e.image,e.__image,t);if(hh(a)){var n=r.createPattern(a,e.repeat||"repeat");if(typeof DOMMatrix=="function"&&n&&n.setTransform){var i=new DOMMatrix;i.translateSelf(e.x||0,e.y||0),i.rotateSelf(0,0,(e.rotation||0)*Fu),i.scaleSelf(e.scaleX||1,e.scaleY||1),n.setTransform(i)}return n}}function $O(r,e,t,a){var n,i=Lf(t),o=If(t),s=t.strokePercent,l=s<1,u=!e.path;(!e.silent||l)&&u&&e.createPathProxy();var f=e.path||YO,h=e.__dirty;if(!a){var v=t.fill,c=t.stroke,d=o&&!!v.colorStops,p=i&&!!c.colorStops,g=o&&!!v.image,y=i&&!!c.image,m=void 0,_=void 0,S=void 0,b=void 0,x=void 0;(d||p)&&(x=e.getBoundingRect()),d&&(m=h?up(r,v,x):e.__canvasFillGradient,e.__canvasFillGradient=m),p&&(_=h?up(r,c,x):e.__canvasStrokeGradient,e.__canvasStrokeGradient=_),g&&(S=h||!e.__canvasFillPattern?fp(r,v,e):e.__canvasFillPattern,e.__canvasFillPattern=S),y&&(b=h||!e.__canvasStrokePattern?fp(r,c,e):e.__canvasStrokePattern,e.__canvasStrokePattern=S),d?r.fillStyle=m:g&&(S?r.fillStyle=S:o=!1),p?r.strokeStyle=_:y&&(b?r.strokeStyle=b:i=!1)}var w=e.getGlobalScale();f.setScale(w[0],w[1],e.segmentIgnoreThreshold);var T,A;r.setLineDash&&t.lineDash&&(n=Jg(e),T=n[0],A=n[1]);var C=!0;(u||h&qi)&&(f.setDPR(r.dpr),l?f.setContext(null):(f.setContext(r),C=!1),f.reset(),e.buildPath(f,e.shape,a),f.toStatic(),e.pathUpdated()),C&&f.rebuildPath(r,l?s:1),T&&(r.setLineDash(T),r.lineDashOffset=A),a||(t.strokeFirst?(i&&A_(r,t),o&&T_(r,t)):(o&&T_(r,t),i&&A_(r,t))),T&&r.setLineDash([])}function ZO(r,e,t){var a=e.__image=wg(t.image,e.__image,e,e.onload);if(!(!a||!hh(a))){var n=t.x||0,i=t.y||0,o=e.getWidth(),s=e.getHeight(),l=a.width/a.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=a.width,s=a.height),t.sWidth&&t.sHeight){var u=t.sx||0,f=t.sy||0;r.drawImage(a,u,f,t.sWidth,t.sHeight,n,i,o,s)}else if(t.sx&&t.sy){var u=t.sx,f=t.sy,h=o-u,v=s-f;r.drawImage(a,u,f,h,v,n,i,o,s)}else r.drawImage(a,n,i,o,s)}}function XO(r,e,t){var a,n=t.text;if(n!=null&&(n+=""),n){r.font=t.font||rn,r.textAlign=t.textAlign,r.textBaseline=t.textBaseline;var i=void 0,o=void 0;r.setLineDash&&t.lineDash&&(a=Jg(e),i=a[0],o=a[1]),i&&(r.setLineDash(i),r.lineDashOffset=o),t.strokeFirst?(Lf(t)&&r.strokeText(n,t.x,t.y),If(t)&&r.fillText(n,t.x,t.y)):(If(t)&&r.fillText(n,t.x,t.y),Lf(t)&&r.strokeText(n,t.x,t.y)),i&&r.setLineDash([])}}var C_=["shadowBlur","shadowOffsetX","shadowOffsetY"],D_=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function nC(r,e,t,a,n){var i=!1;if(!a&&(t=t||{},e===t))return!1;if(a||e.opacity!==t.opacity){We(r,n),i=!0;var o=Math.max(Math.min(e.opacity,1),0);r.globalAlpha=isNaN(o)?ni.opacity:o}(a||e.blend!==t.blend)&&(i||(We(r,n),i=!0),r.globalCompositeOperation=e.blend||ni.blend);for(var s=0;s<C_.length;s++){var l=C_[s];(a||e[l]!==t[l])&&(i||(We(r,n),i=!0),r[l]=r.dpr*(e[l]||0))}return(a||e.shadowColor!==t.shadowColor)&&(i||(We(r,n),i=!0),r.shadowColor=e.shadowColor||ni.shadowColor),i}function M_(r,e,t,a,n){var i=rl(e,n.inHover),o=a?null:t&&rl(t,n.inHover)||{};if(i===o)return!1;var s=nC(r,i,o,a,n);if((a||i.fill!==o.fill)&&(s||(We(r,n),s=!0),w_(i.fill)&&(r.fillStyle=i.fill)),(a||i.stroke!==o.stroke)&&(s||(We(r,n),s=!0),w_(i.stroke)&&(r.strokeStyle=i.stroke)),(a||i.opacity!==o.opacity)&&(s||(We(r,n),s=!0),r.globalAlpha=i.opacity==null?1:i.opacity),e.hasStroke()){var l=i.lineWidth,u=l/(i.strokeNoScale&&e.getLineScale?e.getLineScale():1);r.lineWidth!==u&&(s||(We(r,n),s=!0),r.lineWidth=u)}for(var f=0;f<D_.length;f++){var h=D_[f],v=h[0];(a||i[v]!==o[v])&&(s||(We(r,n),s=!0),r[v]=i[v]||h[1])}return s}function qO(r,e,t,a,n){return nC(r,rl(e,n.inHover),t&&rl(t,n.inHover),a,n)}function iC(r,e){var t=e.transform,a=r.dpr||1;t?r.setTransform(a*t[0],a*t[1],a*t[2],a*t[3],a*t[4],a*t[5]):r.setTransform(a,0,0,a,0,0)}function KO(r,e,t){for(var a=!1,n=0;n<r.length;n++){var i=r[n];a=a||i.isZeroArea(),iC(e,i),e.beginPath(),i.buildPath(e,i.shape),e.clip()}t.allClipped=a}function JO(r,e){return r&&e?r[0]!==e[0]||r[1]!==e[1]||r[2]!==e[2]||r[3]!==e[3]||r[4]!==e[4]||r[5]!==e[5]:!(!r&&!e)}var L_=1,I_=2,P_=3,R_=4;function QO(r){var e=If(r),t=Lf(r);return!(r.lineDash||!(+e^+t)||e&&typeof r.fill!="string"||t&&typeof r.stroke!="string"||r.strokePercent<1||r.strokeOpacity<1||r.fillOpacity<1)}function We(r,e){e.batchFill&&r.fill(),e.batchStroke&&r.stroke(),e.batchFill="",e.batchStroke=""}function rl(r,e){return e&&r.__hoverStyle||r.style}function oC(r,e){ti(r,e,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function ti(r,e,t,a){var n=e.transform;if(!e.shouldBePainted(t.viewWidth,t.viewHeight,!1,!1)){e.__dirty&=~Ze,e.__isRendered=!1;return}var i=e.__clipPaths,o=t.prevElClipPaths,s=!1,l=!1;if((!o||WO(i,o))&&(o&&o.length&&(We(r,t),r.restore(),l=s=!0,t.prevElClipPaths=null,t.allClipped=!1,t.prevEl=null),i&&i.length&&(We(r,t),r.save(),KO(i,r,t),s=!0),t.prevElClipPaths=i),t.allClipped){e.__isRendered=!1;return}e.beforeBrush&&e.beforeBrush(),e.innerBeforeBrush();var u=t.prevEl;u||(l=s=!0);var f=e instanceof St&&e.autoBatch&&QO(e.style);s||JO(n,u.transform)?(We(r,t),iC(r,e)):f||We(r,t);var h=rl(e,t.inHover);e instanceof St?(t.lastDrawType!==L_&&(l=!0,t.lastDrawType=L_),M_(r,e,u,l,t),(!f||!t.batchFill&&!t.batchStroke)&&r.beginPath(),$O(r,e,h,f),f&&(t.batchFill=h.fill||"",t.batchStroke=h.stroke||"")):e instanceof ho?(t.lastDrawType!==P_&&(l=!0,t.lastDrawType=P_),M_(r,e,u,l,t),XO(r,e,h)):e instanceof ce?(t.lastDrawType!==I_&&(l=!0,t.lastDrawType=I_),qO(r,e,u,l,t),ZO(r,e,h)):e.getTemporalDisplayables&&(t.lastDrawType!==R_&&(l=!0,t.lastDrawType=R_),jO(r,e,t)),f&&a&&We(r,t),e.innerAfterBrush(),e.afterBrush&&e.afterBrush(),t.prevEl=e,e.__dirty=0,e.__isRendered=!0}function jO(r,e,t){var a=e.getDisplayables(),n=e.getTemporalDisplayables();r.save();var i={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:t.viewWidth,viewHeight:t.viewHeight,inHover:t.inHover},o,s;for(o=e.getCursor(),s=a.length;o<s;o++){var l=a[o];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),ti(r,l,i,o===s-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),i.prevEl=l}for(var u=0,f=n.length;u<f;u++){var l=n[u];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),ti(r,l,i,u===f-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),i.prevEl=l}e.clearTemporalDisplayables(),e.notClear=!0,r.restore()}var Hv=new RO,E_=new gl(100),k_=["symbol","symbolSize","symbolKeepAspect","color","backgroundColor","dashArrayX","dashArrayY","maxTileWidth","maxTileHeight"];function po(r,e){if(r==="none")return null;var t=e.getDevicePixelRatio(),a=e.getZr(),n=a.painter.type==="svg";r.dirty&&Hv.delete(r);var i=Hv.get(r);if(i)return i;var o=ot(r,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});o.backgroundColor==="none"&&(o.backgroundColor=null);var s={repeat:"repeat"};return l(s),s.rotation=o.rotation,s.scaleX=s.scaleY=n?1:1/t,Hv.set(r,s),r.dirty=!1,s;function l(u){for(var f=[t],h=!0,v=0;v<k_.length;++v){var c=o[k_[v]];if(c!=null&&!z(c)&&!K(c)&&!Dt(c)&&typeof c!="boolean"){h=!1;break}f.push(c)}var d;if(h){d=f.join(",")+(n?"-svg":"");var p=E_.get(d);p&&(n?u.svgElement=p:u.image=p)}var g=lC(o.dashArrayX),y=tN(o.dashArrayY),m=sC(o.symbol),_=eN(g),S=uC(y),b=!n&&an.createCanvas(),x=n&&{tag:"g",attrs:{},key:"dcl",children:[]},w=A(),T;b&&(b.width=w.width*t,b.height=w.height*t,T=b.getContext("2d")),C(),h&&E_.put(d,b||x),u.image=b,u.svgElement=x,u.svgWidth=w.width,u.svgHeight=w.height;function A(){for(var M=1,L=0,I=_.length;L<I;++L)M=Jm(M,_[L]);for(var P=1,L=0,I=m.length;L<I;++L)P=Jm(P,m[L].length);M*=P;var R=S*_.length*m.length;return{width:Math.max(1,Math.min(M,o.maxTileWidth)),height:Math.max(1,Math.min(R,o.maxTileHeight))}}function C(){T&&(T.clearRect(0,0,b.width,b.height),o.backgroundColor&&(T.fillStyle=o.backgroundColor,T.fillRect(0,0,b.width,b.height)));for(var M=0,L=0;L<y.length;++L)M+=y[L];if(M<=0)return;for(var I=-S,P=0,R=0,E=0;I<w.height;){if(P%2===0){for(var N=R/2%m.length,O=0,B=0,G=0;O<w.width*2;){for(var U=0,L=0;L<g[E].length;++L)U+=g[E][L];if(U<=0)break;if(B%2===0){var Z=(1-o.symbolSize)*.5,rt=O+g[E][B]*Z,at=I+y[P]*Z,W=g[E][B]*o.symbolSize,Y=y[P]*o.symbolSize,ft=G/2%m[N].length;tt(rt,at,W,Y,m[N][ft])}O+=g[E][B],++G,++B,B===g[E].length&&(B=0)}++E,E===g.length&&(E=0)}I+=y[P],++R,++P,P===y.length&&(P=0)}function tt(q,it,Q,F,Lt){var _t=n?1:t,kt=jt(Lt,q*_t,it*_t,Q*_t,F*_t,o.color,o.symbolKeepAspect);if(n){var Ht=a.painter.renderOneToVNode(kt);Ht&&x.children.push(Ht)}else oC(T,kt)}}}}function sC(r){if(!r||r.length===0)return[["rect"]];if(K(r))return[[r]];for(var e=!0,t=0;t<r.length;++t)if(!K(r[t])){e=!1;break}if(e)return sC([r]);for(var a=[],t=0;t<r.length;++t)K(r[t])?a.push([r[t]]):a.push(r[t]);return a}function lC(r){if(!r||r.length===0)return[[0,0]];if(Dt(r)){var e=Math.ceil(r);return[[e,e]]}for(var t=!0,a=0;a<r.length;++a)if(!Dt(r[a])){t=!1;break}if(t)return lC([r]);for(var n=[],a=0;a<r.length;++a)if(Dt(r[a])){var e=Math.ceil(r[a]);n.push([e,e])}else{var e=H(r[a],function(s){return Math.ceil(s)});e.length%2===1?n.push(e.concat(e)):n.push(e)}return n}function tN(r){if(!r||typeof r=="object"&&r.length===0)return[0,0];if(Dt(r)){var e=Math.ceil(r);return[e,e]}var t=H(r,function(a){return Math.ceil(a)});return r.length%2?t.concat(t):t}function eN(r){return H(r,function(e){return uC(e)})}function uC(r){for(var e=0,t=0;t<r.length;++t)e+=r[t];return r.length%2===1?e*2:e}function rN(r,e){r.eachRawSeries(function(t){if(!r.isSeriesFiltered(t)){var a=t.getData();a.hasItemVisual()&&a.each(function(o){var s=a.getItemVisual(o,"decal");if(s){var l=a.ensureUniqueItemVisual(o,"style");l.decal=po(s,e)}});var n=a.getVisual("decal");if(n){var i=a.getVisual("style");i.decal=po(n,e)}}})}var wr=new dr,fC={};function aN(r,e){fC[r]=e}function nN(r){return fC[r]}var iN=1,oN=800,sN=900,lN=1e3,uN=2e3,fN=5e3,hC=1e3,hN=1100,Qg=2e3,vC=3e3,vN=4e3,Ih=4500,cN=4600,dN=5e3,pN=6e3,cC=7e3,gN={PROCESSOR:{FILTER:lN,SERIES_FILTER:oN,STATISTIC:fN},VISUAL:{LAYOUT:hC,PROGRESSIVE_LAYOUT:hN,GLOBAL:Qg,CHART:vC,POST_CHART_LAYOUT:cN,COMPONENT:vN,BRUSH:dN,CHART_ITEM:Ih,ARIA:pN,DECAL:cC}},xe="__flagInMainProcess",Ge="__pendingUpdate",Wv="__needsUpdateStatus",O_=/^[a-zA-Z0-9_]+$/,Uv="__connectUpdateStatus",N_=0,yN=1,mN=2;function dC(r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(this.isDisposed()){this.id;return}return gC(this,r,e)}}function pC(r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return gC(this,r,e)}}function gC(r,e,t){return t[0]=t[0]&&t[0].toLowerCase(),dr.prototype[e].apply(r,t)}var yC=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e}(dr),mC=yC.prototype;mC.on=pC("on");mC.off=pC("off");var Vi,Yv,fu,ka,$v,Zv,Xv,qo,Ko,B_,V_,qv,z_,hu,G_,_C,Qe,F_,SC=function(r){k(e,r);function e(t,a,n){var i=r.call(this,new CO)||this;i._chartsViews=[],i._chartsMap={},i._componentsViews=[],i._componentsMap={},i._pendingActions=[],n=n||{},K(a)&&(a=xC[a]),i._dom=t;var o="canvas",s="auto",l=!1;n.ssr&&cP(function(v){var c=ht(v),d=c.dataIndex;if(d!=null){var p=et();return p.set("series_index",c.seriesIndex),p.set("data_index",d),c.ssrType&&p.set("ssr_type",c.ssrType),p}});var u=i._zr=Zm(t,{renderer:n.renderer||o,devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height,ssr:n.ssr,useDirtyRect:vt(n.useDirtyRect,l),useCoarsePointer:vt(n.useCoarsePointer,s),pointerSize:n.pointerSize});i._ssr=n.ssr,i._throttledZrFlush=qg(J(u.flush,u),17),a=lt(a),a&&CA(a,!0),i._theme=a,i._locale=BE(n.locale||eA),i._coordSysMgr=new Al;var f=i._api=G_(i);function h(v,c){return v.__prio-c.__prio}return Uu(Rf,h),Uu(hp,h),i._scheduler=new JA(i,f,hp,Rf),i._messageCenter=new yC,i._initEvents(),i.resize=J(i.resize,i),u.animation.on("frame",i._onframe,i),B_(u,i),V_(u,i),uf(i),i}return e.prototype._onframe=function(){if(!this._disposed){F_(this);var t=this._scheduler;if(this[Ge]){var a=this[Ge].silent;this[xe]=!0;try{Vi(this),ka.update.call(this,null,this[Ge].updateParams)}catch(l){throw this[xe]=!1,this[Ge]=null,l}this._zr.flush(),this[xe]=!1,this[Ge]=null,qo.call(this,a),Ko.call(this,a)}else if(t.unfinished){var n=iN,i=this._model,o=this._api;t.unfinished=!1;do{var s=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),Zv(this,i),t.performVisualTasks(i),hu(this,this._model,o,"remain",{}),n-=+new Date-s}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,a,n){if(!this[xe]){if(this._disposed){this.id;return}var i,o,s;if(st(a)&&(n=a.lazyUpdate,i=a.silent,o=a.replaceMerge,s=a.transition,a=a.notMerge),this[xe]=!0,!this._model||a){var l=new lk(this._api),u=this._theme,f=this._model=new Ug;f.scheduler=this._scheduler,f.ssr=this._ssr,f.init(null,null,null,u,this._locale,l)}this._model.setOption(t,{replaceMerge:o},vp);var h={seriesTransition:s,optionChanged:!0};if(n)this[Ge]={silent:i,updateParams:h},this[xe]=!1,this.getZr().wakeUp();else{try{Vi(this),ka.update.call(this,null,h)}catch(v){throw this[Ge]=null,this[xe]=!1,v}this._ssr||this._zr.flush(),this[Ge]=null,this[xe]=!1,qo.call(this,i),Ko.call(this,i)}}},e.prototype.setTheme=function(){},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||xt.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var a=this._zr.painter;return a.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var a=this._zr.painter;return a.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(xt.svgSupported){var t=this._zr,a=t.storage.getDisplayList();return D(a,function(n){n.stopAnimation(null,!0)}),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(this._disposed){this.id;return}t=t||{};var a=t.excludeComponents,n=this._model,i=[],o=this;D(a,function(l){n.eachComponent({mainType:l},function(u){var f=o._componentsMap[u.__viewId];f.group.ignore||(i.push(f),f.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return D(i,function(l){l.group.ignore=!1}),s},e.prototype.getConnectedDataURL=function(t){if(this._disposed){this.id;return}var a=t.type==="svg",n=this.group,i=Math.min,o=Math.max,s=1/0;if(H_[n]){var l=s,u=s,f=-s,h=-s,v=[],c=t&&t.pixelRatio||this.getDevicePixelRatio();D(Bs,function(_,S){if(_.group===n){var b=a?_.getZr().painter.getSvgDom().innerHTML:_.renderToCanvas(lt(t)),x=_.getDom().getBoundingClientRect();l=i(x.left,l),u=i(x.top,u),f=o(x.right,f),h=o(x.bottom,h),v.push({dom:b,left:x.left,top:x.top})}}),l*=c,u*=c,f*=c,h*=c;var d=f-l,p=h-u,g=an.createCanvas(),y=Zm(g,{renderer:a?"svg":"canvas"});if(y.resize({width:d,height:p}),a){var m="";return D(v,function(_){var S=_.left-l,b=_.top-u;m+='<g transform="translate('+S+","+b+')">'+_.dom+"</g>"}),y.painter.getSvgRoot().innerHTML=m,t.connectedBackgroundColor&&y.painter.setBackgroundColor(t.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}else return t.connectedBackgroundColor&&y.add(new Tt({shape:{x:0,y:0,width:d,height:p},style:{fill:t.connectedBackgroundColor}})),D(v,function(_){var S=new ce({style:{x:_.left*c-l,y:_.top*c-u,image:_.dom}});y.add(S)}),y.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}else return this.getDataURL(t)},e.prototype.convertToPixel=function(t,a){return $v(this,"convertToPixel",t,a)},e.prototype.convertFromPixel=function(t,a){return $v(this,"convertFromPixel",t,a)},e.prototype.containPixel=function(t,a){if(this._disposed){this.id;return}var n=this._model,i,o=Is(n,t);return D(o,function(s,l){l.indexOf("Models")>=0&&D(s,function(u){var f=u.coordinateSystem;if(f&&f.containPoint)i=i||!!f.containPoint(a);else if(l==="seriesModels"){var h=this._chartsMap[u.__viewId];h&&h.containPoint&&(i=i||h.containPoint(a,u))}},this)},this),!!i},e.prototype.getVisual=function(t,a){var n=this._model,i=Is(n,t,{defaultMainType:"series"}),o=i.seriesModel,s=o.getData(),l=i.hasOwnProperty("dataIndexInside")?i.dataIndexInside:i.hasOwnProperty("dataIndex")?s.indexOfRawIndex(i.dataIndex):null;return l!=null?Kg(s,l,a):Cl(s,a)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t=this;D(_N,function(a){var n=function(i){var o=t.getModel(),s=i.target,l,u=a==="globalout";if(u?l={}:s&&Qn(s,function(d){var p=ht(d);if(p&&p.dataIndex!=null){var g=p.dataModel||o.getSeriesByIndex(p.seriesIndex);return l=g&&g.getDataParams(p.dataIndex,p.dataType,s)||{},!0}else if(p.eventData)return l=V({},p.eventData),!0},!0),l){var f=l.componentType,h=l.componentIndex;(f==="markLine"||f==="markPoint"||f==="markArea")&&(f="series",h=l.seriesIndex);var v=f&&h!=null&&o.getComponent(f,h),c=v&&t[v.mainType==="series"?"_chartsMap":"_componentsMap"][v.__viewId];l.event=i,l.type=a,t._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:v,view:c},t.trigger(a,l)}};n.zrEventfulCallAtLast=!0,t._zr.on(a,n,t)}),D(Ns,function(a,n){t._messageCenter.on(n,function(i){this.trigger(n,i)},t)}),D(["selectchanged"],function(a){t._messageCenter.on(a,function(n){this.trigger(a,n)},t)}),LO(this._messageCenter,this,this._api)},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var t=this.getDom();t&&cT(this.getDom(),ty,"");var a=this,n=a._api,i=a._model;D(a._componentsViews,function(o){o.dispose(i,n)}),D(a._chartsViews,function(o){o.dispose(i,n)}),a._zr.dispose(),a._dom=a._model=a._chartsMap=a._componentsMap=a._chartsViews=a._componentsViews=a._scheduler=a._api=a._zr=a._throttledZrFlush=a._theme=a._coordSysMgr=a._messageCenter=null,delete Bs[a.id]},e.prototype.resize=function(t){if(!this[xe]){if(this._disposed){this.id;return}this._zr.resize(t);var a=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!a){var n=a.resetOption("media"),i=t&&t.silent;this[Ge]&&(i==null&&(i=this[Ge].silent),n=!0,this[Ge]=null),this[xe]=!0;try{n&&Vi(this),ka.update.call(this,{type:"resize",animation:V({duration:0},t&&t.animation)})}catch(o){throw this[xe]=!1,o}this[xe]=!1,qo.call(this,i),Ko.call(this,i)}}},e.prototype.showLoading=function(t,a){if(this._disposed){this.id;return}if(st(t)&&(a=t,t=""),t=t||"default",this.hideLoading(),!!cp[t]){var n=cp[t](this._api,a),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},e.prototype.makeActionFromEvent=function(t){var a=V({},t);return a.type=Ns[t.type],a},e.prototype.dispatchAction=function(t,a){if(this._disposed){this.id;return}if(st(a)||(a={silent:!!a}),!!Pf[t.type]&&this._model){if(this[xe]){this._pendingActions.push(t);return}var n=a.silent;Xv.call(this,t,n);var i=a.flush;i?this._zr.flush():i!==!1&&xt.browser.weChat&&this._throttledZrFlush(),qo.call(this,n),Ko.call(this,n)}},e.prototype.updateLabelLayout=function(){wr.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed){this.id;return}var a=t.seriesIndex,n=this.getModel(),i=n.getSeriesByIndex(a);i.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()},e.internalField=function(){Vi=function(h){var v=h._scheduler;v.restorePipelines(h._model),v.prepareStageTasks(),Yv(h,!0),Yv(h,!1),v.plan()},Yv=function(h,v){for(var c=h._model,d=h._scheduler,p=v?h._componentsViews:h._chartsViews,g=v?h._componentsMap:h._chartsMap,y=h._zr,m=h._api,_=0;_<p.length;_++)p[_].__alive=!1;v?c.eachComponent(function(x,w){x!=="series"&&S(w)}):c.eachSeries(S);function S(x){var w=x.__requireNewView;x.__requireNewView=!1;var T="_ec_"+x.id+"_"+x.type,A=!w&&g[T];if(!A){var C=Ur(x.type),M=v?Ut.getClass(C.main,C.sub):Nt.getClass(C.sub);A=new M,A.init(c,m),g[T]=A,p.push(A),y.add(A.group)}x.__viewId=A.__id=T,A.__alive=!0,A.__model=x,A.group.__ecComponentInfo={mainType:x.mainType,index:x.componentIndex},!v&&d.prepareView(A,x,c,m)}for(var _=0;_<p.length;){var b=p[_];b.__alive?_++:(!v&&b.renderTask.dispose(),y.remove(b.group),b.dispose(c,m),p.splice(_,1),g[b.__id]===b&&delete g[b.__id],b.__id=b.group.__ecComponentInfo=null)}},fu=function(h,v,c,d,p){var g=h._model;if(g.setUpdatePayload(c),!d){D([].concat(h._componentsViews).concat(h._chartsViews),b);return}var y={};y[d+"Id"]=c[d+"Id"],y[d+"Index"]=c[d+"Index"],y[d+"Name"]=c[d+"Name"];var m={mainType:d,query:y};p&&(m.subType=p);var _=c.excludeSeriesId,S;_!=null&&(S=et(),D(Ot(_),function(x){var w=ee(x,null);w!=null&&S.set(w,!0)})),g&&g.eachComponent(m,function(x){var w=S&&S.get(x.id)!=null;if(!w)if(w0(c))if(x instanceof Gt)c.type===ii&&!c.notBlur&&!x.get(["emphasis","disabled"])&&NR(x,c,h._api);else{var T=Lg(x.mainType,x.componentIndex,c.name,h._api),A=T.focusSelf,C=T.dispatchers;c.type===ii&&A&&!c.notBlur&&Zd(x.mainType,x.componentIndex,h._api),C&&D(C,function(M){c.type===ii?ya(M):ma(M)})}else qd(c)&&x instanceof Gt&&(zR(x,c,h._api),x0(x),Qe(h))},h),g&&g.eachComponent(m,function(x){var w=S&&S.get(x.id)!=null;w||b(h[d==="series"?"_chartsMap":"_componentsMap"][x.__viewId])},h);function b(x){x&&x.__alive&&x[v]&&x[v](x.__model,g,h._api,c)}},ka={prepareAndUpdate:function(h){Vi(this),ka.update.call(this,h,{optionChanged:h.newOption!=null})},update:function(h,v){var c=this._model,d=this._api,p=this._zr,g=this._coordSysMgr,y=this._scheduler;if(c){c.setUpdatePayload(h),y.restoreData(c,h),y.performSeriesTasks(c),g.create(c,d),y.performDataProcessorTasks(c,h),Zv(this,c),g.update(c,d),t(c),y.performVisualTasks(c,h),qv(this,c,d,h,v);var m=c.get("backgroundColor")||"transparent",_=c.get("darkMode");p.setBackgroundColor(m),_!=null&&_!=="auto"&&p.setDarkMode(_),wr.trigger("afterupdate",c,d)}},updateTransform:function(h){var v=this,c=this._model,d=this._api;if(c){c.setUpdatePayload(h);var p=[];c.eachComponent(function(y,m){if(y!=="series"){var _=v.getViewOfComponentModel(m);if(_&&_.__alive)if(_.updateTransform){var S=_.updateTransform(m,c,d,h);S&&S.update&&p.push(_)}else p.push(_)}});var g=et();c.eachSeries(function(y){var m=v._chartsMap[y.__viewId];if(m.updateTransform){var _=m.updateTransform(y,c,d,h);_&&_.update&&g.set(y.uid,1)}else g.set(y.uid,1)}),t(c),this._scheduler.performVisualTasks(c,h,{setDirty:!0,dirtyMap:g}),hu(this,c,d,h,{},g),wr.trigger("afterupdate",c,d)}},updateView:function(h){var v=this._model;v&&(v.setUpdatePayload(h),Nt.markUpdateMethod(h,"updateView"),t(v),this._scheduler.performVisualTasks(v,h,{setDirty:!0}),qv(this,v,this._api,h,{}),wr.trigger("afterupdate",v,this._api))},updateVisual:function(h){var v=this,c=this._model;c&&(c.setUpdatePayload(h),c.eachSeries(function(d){d.getData().clearAllVisual()}),Nt.markUpdateMethod(h,"updateVisual"),t(c),this._scheduler.performVisualTasks(c,h,{visualType:"visual",setDirty:!0}),c.eachComponent(function(d,p){if(d!=="series"){var g=v.getViewOfComponentModel(p);g&&g.__alive&&g.updateVisual(p,c,v._api,h)}}),c.eachSeries(function(d){var p=v._chartsMap[d.__viewId];p.updateVisual(d,c,v._api,h)}),wr.trigger("afterupdate",c,this._api))},updateLayout:function(h){ka.update.call(this,h)}},$v=function(h,v,c,d){if(h._disposed){h.id;return}for(var p=h._model,g=h._coordSysMgr.getCoordinateSystems(),y,m=Is(p,c),_=0;_<g.length;_++){var S=g[_];if(S[v]&&(y=S[v](p,m,d))!=null)return y}},Zv=function(h,v){var c=h._chartsMap,d=h._scheduler;v.eachSeries(function(p){d.updateStreamModes(p,c[p.__viewId])})},Xv=function(h,v){var c=this,d=this.getModel(),p=h.type,g=h.escapeConnect,y=Pf[p],m=y.actionInfo,_=(m.update||"update").split(":"),S=_.pop(),b=_[0]!=null&&Ur(_[0]);this[xe]=!0;var x=[h],w=!1;h.batch&&(w=!0,x=H(h.batch,function(P){return P=ot(V({},P),h),P.batch=null,P}));var T=[],A,C=qd(h),M=w0(h);if(M&&kT(this._api),D(x,function(P){if(A=y.action(P,c._model,c._api),A=A||V({},P),A.type=m.event||A.type,T.push(A),M){var R=xg(h),E=R.queryOptionMap,N=R.mainTypeSpecified,O=N?E.keys()[0]:"series";fu(c,S,P,O),Qe(c)}else C?(fu(c,S,P,"series"),Qe(c)):b&&fu(c,S,P,b.main,b.sub)}),S!=="none"&&!M&&!C&&!b)try{this[Ge]?(Vi(this),ka.update.call(this,h),this[Ge]=null):ka[S].call(this,h)}catch(P){throw this[xe]=!1,P}if(w?A={type:m.event||p,escapeConnect:g,batch:T}:A=T[0],this[xe]=!1,!v){var L=this._messageCenter;if(L.trigger(A.type,A),C){var I={type:"selectchanged",escapeConnect:g,selected:GR(d),isFromClick:h.isFromClick||!1,fromAction:h.type,fromActionPayload:h};L.trigger(I.type,I)}}},qo=function(h){for(var v=this._pendingActions;v.length;){var c=v.shift();Xv.call(this,c,h)}},Ko=function(h){!h&&this.trigger("updated")},B_=function(h,v){h.on("rendered",function(c){v.trigger("rendered",c),h.animation.isFinished()&&!v[Ge]&&!v._scheduler.unfinished&&!v._pendingActions.length&&v.trigger("finished")})},V_=function(h,v){h.on("mouseover",function(c){var d=c.target,p=Qn(d,qs);p&&(BR(p,c,v._api),Qe(v))}).on("mouseout",function(c){var d=c.target,p=Qn(d,qs);p&&(VR(p,c,v._api),Qe(v))}).on("click",function(c){var d=c.target,p=Qn(d,function(m){return ht(m).dataIndex!=null},!0);if(p){var g=p.selected?"unselect":"select",y=ht(p);v._api.dispatchAction({type:g,dataType:y.dataType,dataIndexInside:y.dataIndex,seriesIndex:y.seriesIndex,isFromClick:!0})}})};function t(h){h.clearColorPalette(),h.eachSeries(function(v){v.clearColorPalette()})}function a(h){var v=[],c=[],d=!1;if(h.eachComponent(function(m,_){var S=_.get("zlevel")||0,b=_.get("z")||0,x=_.getZLevelKey();d=d||!!x,(m==="series"?c:v).push({zlevel:S,z:b,idx:_.componentIndex,type:m,key:x})}),d){var p=v.concat(c),g,y;Uu(p,function(m,_){return m.zlevel===_.zlevel?m.z-_.z:m.zlevel-_.zlevel}),D(p,function(m){var _=h.getComponent(m.type,m.idx),S=m.zlevel,b=m.key;g!=null&&(S=Math.max(g,S)),b?(S===g&&b!==y&&S++,y=b):y&&(S===g&&S++,y=""),g=S,_.setZLevel(S)})}}qv=function(h,v,c,d,p){a(v),z_(h,v,c,d,p),D(h._chartsViews,function(g){g.__alive=!1}),hu(h,v,c,d,p),D(h._chartsViews,function(g){g.__alive||g.remove(v,c)})},z_=function(h,v,c,d,p,g){D(g||h._componentsViews,function(y){var m=y.__model;u(m,y),y.render(m,v,c,d),s(m,y),f(m,y)})},hu=function(h,v,c,d,p,g){var y=h._scheduler;p=V(p||{},{updatedSeries:v.getSeries()}),wr.trigger("series:beforeupdate",v,c,p);var m=!1;v.eachSeries(function(_){var S=h._chartsMap[_.__viewId];S.__alive=!0;var b=S.renderTask;y.updatePayload(b,d),u(_,S),g&&g.get(_.uid)&&b.dirty(),b.perform(y.getPerformArgs(b))&&(m=!0),S.group.silent=!!_.get("silent"),o(_,S),x0(_)}),y.unfinished=m||y.unfinished,wr.trigger("series:layoutlabels",v,c,p),wr.trigger("series:transition",v,c,p),v.eachSeries(function(_){var S=h._chartsMap[_.__viewId];s(_,S),f(_,S)}),i(h,v),wr.trigger("series:afterupdate",v,c,p)},Qe=function(h){h[Wv]=!0,h.getZr().wakeUp()},F_=function(h){h[Wv]&&(h.getZr().storage.traverse(function(v){io(v)||n(v)}),h[Wv]=!1)};function n(h){for(var v=[],c=h.currentStates,d=0;d<c.length;d++){var p=c[d];p==="emphasis"||p==="blur"||p==="select"||v.push(p)}h.selected&&h.states.select&&v.push("select"),h.hoverState===dh&&h.states.emphasis?v.push("emphasis"):h.hoverState===_l&&h.states.blur&&v.push("blur"),h.useStates(v)}function i(h,v){var c=h._zr,d=c.storage,p=0;d.traverse(function(g){g.isGroup||p++}),p>v.get("hoverLayerThreshold")&&!xt.node&&!xt.worker&&v.eachSeries(function(g){if(!g.preventUsingHoverLayer){var y=h._chartsMap[g.__viewId];y.__alive&&y.eachRendered(function(m){m.states.emphasis&&(m.states.emphasis.hoverLayer=!0)})}})}function o(h,v){var c=h.get("blendMode")||null;v.eachRendered(function(d){d.isGroup||(d.style.blend=c)})}function s(h,v){if(!h.preventAutoZ){var c=h.get("z")||0,d=h.get("zlevel")||0;v.eachRendered(function(p){return l(p,c,d,-1/0),!0})}}function l(h,v,c,d){var p=h.getTextContent(),g=h.getTextGuideLine(),y=h.isGroup;if(y)for(var m=h.childrenRef(),_=0;_<m.length;_++)d=Math.max(l(m[_],v,c,d),d);else h.z=v,h.zlevel=c,d=Math.max(h.z2,d);if(p&&(p.z=v,p.zlevel=c,isFinite(d)&&(p.z2=d+2)),g){var S=h.textGuideLineConfig;g.z=v,g.zlevel=c,isFinite(d)&&(g.z2=d+(S&&S.showAbove?1:-1))}return d}function u(h,v){v.eachRendered(function(c){if(!io(c)){var d=c.getTextContent(),p=c.getTextGuideLine();c.stateTransition&&(c.stateTransition=null),d&&d.stateTransition&&(d.stateTransition=null),p&&p.stateTransition&&(p.stateTransition=null),c.hasState()?(c.prevStates=c.currentStates,c.clearStates()):c.prevStates&&(c.prevStates=null)}})}function f(h,v){var c=h.getModel("stateAnimation"),d=h.isAnimationEnabled(),p=c.get("duration"),g=p>0?{duration:p,delay:c.get("delay"),easing:c.get("easing")}:null;v.eachRendered(function(y){if(y.states&&y.states.emphasis){if(io(y))return;if(y instanceof St&&YR(y),y.__dirty){var m=y.prevStates;m&&y.useStates(m)}if(d){y.stateTransition=g;var _=y.getTextContent(),S=y.getTextGuideLine();_&&(_.stateTransition=g),S&&(S.stateTransition=g)}y.__dirty&&n(y)}})}G_=function(h){return new(function(v){k(c,v);function c(){return v!==null&&v.apply(this,arguments)||this}return c.prototype.getCoordinateSystems=function(){return h._coordSysMgr.getCoordinateSystems()},c.prototype.getComponentByElement=function(d){for(;d;){var p=d.__ecComponentInfo;if(p!=null)return h._model.getComponent(p.mainType,p.index);d=d.parent}},c.prototype.enterEmphasis=function(d,p){ya(d,p),Qe(h)},c.prototype.leaveEmphasis=function(d,p){ma(d,p),Qe(h)},c.prototype.enterBlur=function(d){IT(d),Qe(h)},c.prototype.leaveBlur=function(d){Mg(d),Qe(h)},c.prototype.enterSelect=function(d){PT(d),Qe(h)},c.prototype.leaveSelect=function(d){RT(d),Qe(h)},c.prototype.getModel=function(){return h.getModel()},c.prototype.getViewOfComponentModel=function(d){return h.getViewOfComponentModel(d)},c.prototype.getViewOfSeriesModel=function(d){return h.getViewOfSeriesModel(d)},c}(TA))(h)},_C=function(h){function v(c,d){for(var p=0;p<c.length;p++){var g=c[p];g[Uv]=d}}D(Ns,function(c,d){h._messageCenter.on(d,function(p){if(H_[h.group]&&h[Uv]!==N_){if(p&&p.escapeConnect)return;var g=h.makeActionFromEvent(p),y=[];D(Bs,function(m){m!==h&&m.group===h.group&&y.push(m)}),v(y,N_),D(y,function(m){m[Uv]!==yN&&m.dispatchAction(g)}),v(y,mN)}})})}}(),e}(dr),jg=SC.prototype;jg.on=dC("on");jg.off=dC("off");jg.one=function(r,e,t){var a=this;function n(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];e&&e.apply&&e.apply(this,i),a.off(r,n)}this.on.call(this,r,n,t)};var _N=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];var Pf={},Ns={},hp=[],vp=[],Rf=[],xC={},cp={},Bs={},H_={},SN=+new Date-0,ty="_echarts_instance_";function W_(r,e,t){var a=!(t&&t.ssr);if(a){var n=xN(r);if(n)return n}var i=new SC(r,e,t);return i.id="ec_"+SN++,Bs[i.id]=i,a&&cT(r,ty,i.id),_C(i),wr.trigger("afterinit",i),i}function xN(r){return Bs[EP(r,ty)]}function bC(r,e){xC[r]=e}function wC(r){yt(vp,r)<0&&vp.push(r)}function TC(r,e){ry(hp,r,e,uN)}function bN(r){ey("afterinit",r)}function wN(r){ey("afterupdate",r)}function ey(r,e){wr.on(r,e)}function ea(r,e,t){nt(e)&&(t=e,e="");var a=st(r)?r.type:[r,r={event:e}][0];r.event=(r.event||a).toLowerCase(),e=r.event,!Ns[e]&&(Ee(O_.test(a)&&O_.test(e)),Pf[a]||(Pf[a]={action:t,actionInfo:r}),Ns[e]=a)}function TN(r,e){Al.register(r,e)}function AN(r,e){ry(Rf,r,e,hC,"layout")}function wi(r,e){ry(Rf,r,e,vC,"visual")}var U_=[];function ry(r,e,t,a,n){if((nt(e)||st(e))&&(t=e,e=a),!(yt(U_,t)>=0)){U_.push(t);var i=JA.wrapStageHandler(t,n);i.__prio=e,i.__raw=t,r.push(i)}}function AC(r,e){cp[r]=e}function CN(r,e,t){var a=nN("registerMap");a&&a(r,e,t)}var DN=Gk;wi(Qg,vO);wi(Ih,cO);wi(Ih,dO);wi(Qg,DO);wi(Ih,MO);wi(cC,rN);wC(CA);TC(sN,Sk);AC("default",pO);ea({type:ii,event:ii,update:ii},qt);ea({type:qu,event:qu,update:qu},qt);ea({type:Ps,event:Ps,update:Ps},qt);ea({type:Ku,event:Ku,update:Ku},qt);ea({type:Rs,event:Rs,update:Rs},qt);bC("light",AO);bC("dark",eC);var Y_=[],MN={registerPreprocessor:wC,registerProcessor:TC,registerPostInit:bN,registerPostUpdate:wN,registerUpdateLifecycle:ey,registerAction:ea,registerCoordinateSystem:TN,registerLayout:AN,registerVisual:wi,registerTransform:DN,registerLoading:AC,registerMap:CN,registerImpl:aN,PRIORITY:gN,ComponentModel:bt,ComponentView:Ut,SeriesModel:Gt,ChartView:Nt,registerComponentModel:function(r){bt.registerClass(r)},registerComponentView:function(r){Ut.registerClass(r)},registerSeriesModel:function(r){Gt.registerClass(r)},registerChartView:function(r){Nt.registerClass(r)},registerSubTypeDefaulter:function(r,e){bt.registerSubTypeDefaulter(r,e)},registerPainter:function(r,e){hP(r,e)}};function mt(r){if(z(r)){D(r,function(e){mt(e)});return}yt(Y_,r)>=0||(Y_.push(r),nt(r)&&(r={install:r}),r.install(MN))}function Jo(r){return r==null?0:r.length||1}function $_(r){return r}var _a=function(){function r(e,t,a,n,i,o){this._old=e,this._new=t,this._oldKeyGetter=a||$_,this._newKeyGetter=n||$_,this.context=i,this._diffModeMultiple=o==="multiple"}return r.prototype.add=function(e){return this._add=e,this},r.prototype.update=function(e){return this._update=e,this},r.prototype.updateManyToOne=function(e){return this._updateManyToOne=e,this},r.prototype.updateOneToMany=function(e){return this._updateOneToMany=e,this},r.prototype.updateManyToMany=function(e){return this._updateManyToMany=e,this},r.prototype.remove=function(e){return this._remove=e,this},r.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},r.prototype._executeOneToOne=function(){var e=this._old,t=this._new,a={},n=new Array(e.length),i=new Array(t.length);this._initIndexMap(e,null,n,"_oldKeyGetter"),this._initIndexMap(t,a,i,"_newKeyGetter");for(var o=0;o<e.length;o++){var s=n[o],l=a[s],u=Jo(l);if(u>1){var f=l.shift();l.length===1&&(a[s]=l[0]),this._update&&this._update(f,o)}else u===1?(a[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(i,a)},r.prototype._executeMultiple=function(){var e=this._old,t=this._new,a={},n={},i=[],o=[];this._initIndexMap(e,a,i,"_oldKeyGetter"),this._initIndexMap(t,n,o,"_newKeyGetter");for(var s=0;s<i.length;s++){var l=i[s],u=a[l],f=n[l],h=Jo(u),v=Jo(f);if(h>1&&v===1)this._updateManyToOne&&this._updateManyToOne(f,u),n[l]=null;else if(h===1&&v>1)this._updateOneToMany&&this._updateOneToMany(f,u),n[l]=null;else if(h===1&&v===1)this._update&&this._update(f,u),n[l]=null;else if(h>1&&v>1)this._updateManyToMany&&this._updateManyToMany(f,u),n[l]=null;else if(h>1)for(var c=0;c<h;c++)this._remove&&this._remove(u[c]);else this._remove&&this._remove(u)}this._performRestAdd(o,n)},r.prototype._performRestAdd=function(e,t){for(var a=0;a<e.length;a++){var n=e[a],i=t[n],o=Jo(i);if(o>1)for(var s=0;s<o;s++)this._add&&this._add(i[s]);else o===1&&this._add&&this._add(i);t[n]=null}},r.prototype._initIndexMap=function(e,t,a,n){for(var i=this._diffModeMultiple,o=0;o<e.length;o++){var s="_ec_"+this[n](e[o],o);if(i||(a[o]=s),!!t){var l=t[s],u=Jo(l);u===0?(t[s]=o,i&&a.push(s)):u===1?t[s]=[l,o]:l.push(o)}}},r}(),LN=function(){function r(e,t){this._encode=e,this._schema=t}return r.prototype.get=function(){return{fullDimensions:this._getFullDimensionNames(),encode:this._encode}},r.prototype._getFullDimensionNames=function(){return this._cachedDimNames||(this._cachedDimNames=this._schema?this._schema.makeOutputDimensionNames():[]),this._cachedDimNames},r}();function IN(r,e){var t={},a=t.encode={},n=et(),i=[],o=[],s={};D(r.dimensions,function(v){var c=r.getDimensionInfo(v),d=c.coordDim;if(d){var p=c.coordDimIndex;Kv(a,d)[p]=v,c.isExtraCoord||(n.set(d,1),PN(c.type)&&(i[0]=v),Kv(s,d)[p]=r.getDimensionIndex(c.name)),c.defaultTooltip&&o.push(v)}yA.each(function(g,y){var m=Kv(a,y),_=c.otherDims[y];_!=null&&_!==!1&&(m[_]=c.name)})});var l=[],u={};n.each(function(v,c){var d=a[c];u[c]=d[0],l=l.concat(d)}),t.dataDimsOnCoord=l,t.dataDimIndicesOnCoord=H(l,function(v){return r.getDimensionInfo(v).storeDimIndex}),t.encodeFirstDimNotExtra=u;var f=a.label;f&&f.length&&(i=f.slice());var h=a.tooltip;return h&&h.length?o=h.slice():o.length||(o=i.slice()),a.defaultedLabel=i,a.defaultedTooltip=o,t.userOutput=new LN(s,e),t}function Kv(r,e){return r.hasOwnProperty(e)||(r[e]=[]),r[e]}function Ef(r){return r==="category"?"ordinal":r==="time"?"time":"float"}function PN(r){return!(r==="ordinal"||r==="time")}var ef=function(){function r(e){this.otherDims={},e!=null&&V(this,e)}return r}(),RN=At(),EN={float:"f",int:"i",ordinal:"o",number:"n",time:"t"},CC=function(){function r(e){this.dimensions=e.dimensions,this._dimOmitted=e.dimensionOmitted,this.source=e.source,this._fullDimCount=e.fullDimensionCount,this._updateDimOmitted(e.dimensionOmitted)}return r.prototype.isDimensionOmitted=function(){return this._dimOmitted},r.prototype._updateDimOmitted=function(e){this._dimOmitted=e,e&&(this._dimNameMap||(this._dimNameMap=LC(this.source)))},r.prototype.getSourceDimensionIndex=function(e){return vt(this._dimNameMap.get(e),-1)},r.prototype.getSourceDimension=function(e){var t=this.source.dimensionsDefine;if(t)return t[e]},r.prototype.makeStoreSchema=function(){for(var e=this._fullDimCount,t=MA(this.source),a=!IC(e),n="",i=[],o=0,s=0;o<e;o++){var l=void 0,u=void 0,f=void 0,h=this.dimensions[s];if(h&&h.storeDimIndex===o)l=t?h.name:null,u=h.type,f=h.ordinalMeta,s++;else{var v=this.getSourceDimension(o);v&&(l=t?v.name:null,u=v.type)}i.push({property:l,type:u,ordinalMeta:f}),t&&l!=null&&(!h||!h.isCalculationCoord)&&(n+=a?l.replace(/\`/g,"`1").replace(/\$/g,"`2"):l),n+="$",n+=EN[u]||"f",f&&(n+=f.uid),n+="$"}var c=this.source,d=[c.seriesLayoutBy,c.startIndex,n].join("$$");return{dimensions:i,hash:d}},r.prototype.makeOutputDimensionNames=function(){for(var e=[],t=0,a=0;t<this._fullDimCount;t++){var n=void 0,i=this.dimensions[a];if(i&&i.storeDimIndex===t)i.isCalculationCoord||(n=i.name),a++;else{var o=this.getSourceDimension(t);o&&(n=o.name)}e.push(n)}return e},r.prototype.appendCalculationDimension=function(e){this.dimensions.push(e),e.isCalculationCoord=!0,this._fullDimCount++,this._updateDimOmitted(!0)},r}();function DC(r){return r instanceof CC}function MC(r){for(var e=et(),t=0;t<(r||[]).length;t++){var a=r[t],n=st(a)?a.name:a;n!=null&&e.get(n)==null&&e.set(n,t)}return e}function LC(r){var e=RN(r);return e.dimNameMap||(e.dimNameMap=MC(r.dimensionsDefine))}function IC(r){return r>30}var Qo=st,Oa=H,kN=typeof Int32Array>"u"?Array:Int32Array,ON="e\0\0",Z_=-1,NN=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],BN=["_approximateExtent"],X_,vu,jo,ts,Jv,es,Qv,Pe=function(){function r(e,t){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var a,n=!1;DC(e)?(a=e.dimensions,this._dimOmitted=e.isDimensionOmitted(),this._schema=e):(n=!0,a=e),a=a||["x","y"];for(var i={},o=[],s={},l=!1,u={},f=0;f<a.length;f++){var h=a[f],v=K(h)?new ef({name:h}):h instanceof ef?h:new ef(h),c=v.name;v.type=v.type||"float",v.coordDim||(v.coordDim=c,v.coordDimIndex=0);var d=v.otherDims=v.otherDims||{};o.push(c),i[c]=v,u[c]!=null&&(l=!0),v.createInvertedIndices&&(s[c]=[]),d.itemName===0&&(this._nameDimIdx=f),d.itemId===0&&(this._idDimIdx=f),n&&(v.storeDimIndex=f)}if(this.dimensions=o,this._dimInfos=i,this._initGetDimensionInfo(l),this.hostModel=t,this._invertedIndicesMap=s,this._dimOmitted){var p=this._dimIdxToName=et();D(o,function(g){p.set(i[g].storeDimIndex,g)})}}return r.prototype.getDimension=function(e){var t=this._recognizeDimIndex(e);if(t==null)return e;if(t=e,!this._dimOmitted)return this.dimensions[t];var a=this._dimIdxToName.get(t);if(a!=null)return a;var n=this._schema.getSourceDimension(t);if(n)return n.name},r.prototype.getDimensionIndex=function(e){var t=this._recognizeDimIndex(e);if(t!=null)return t;if(e==null)return-1;var a=this._getDimInfo(e);return a?a.storeDimIndex:this._dimOmitted?this._schema.getSourceDimensionIndex(e):-1},r.prototype._recognizeDimIndex=function(e){if(Dt(e)||e!=null&&!isNaN(e)&&!this._getDimInfo(e)&&(!this._dimOmitted||this._schema.getSourceDimensionIndex(e)<0))return+e},r.prototype._getStoreDimIndex=function(e){var t=this.getDimensionIndex(e);return t},r.prototype.getDimensionInfo=function(e){return this._getDimInfo(this.getDimension(e))},r.prototype._initGetDimensionInfo=function(e){var t=this._dimInfos;this._getDimInfo=e?function(a){return t.hasOwnProperty(a)?t[a]:void 0}:function(a){return t[a]}},r.prototype.getDimensionsOnCoord=function(){return this._dimSummary.dataDimsOnCoord.slice()},r.prototype.mapDimension=function(e,t){var a=this._dimSummary;if(t==null)return a.encodeFirstDimNotExtra[e];var n=a.encode[e];return n?n[t]:null},r.prototype.mapDimensionsAll=function(e){var t=this._dimSummary,a=t.encode[e];return(a||[]).slice()},r.prototype.getStore=function(){return this._store},r.prototype.initData=function(e,t,a){var n=this,i;if(e instanceof np&&(i=e),!i){var o=this.dimensions,s=Yg(e)||Te(e)?new LA(e,o.length):e;i=new np;var l=Oa(o,function(u){return{type:n._dimInfos[u].type,property:u}});i.initData(s,l,a)}this._store=i,this._nameList=(t||[]).slice(),this._idList=[],this._nameRepeatCount={},this._doInit(0,i.count()),this._dimSummary=IN(this,this._schema),this.userOutput=this._dimSummary.userOutput},r.prototype.appendData=function(e){var t=this._store.appendData(e);this._doInit(t[0],t[1])},r.prototype.appendValues=function(e,t){var a=this._store.appendValues(e,t&&t.length),n=a.start,i=a.end,o=this._shouldMakeIdFromName();if(this._updateOrdinalMeta(),t)for(var s=n;s<i;s++){var l=s-n;this._nameList[s]=t[l],o&&Qv(this,s)}},r.prototype._updateOrdinalMeta=function(){for(var e=this._store,t=this.dimensions,a=0;a<t.length;a++){var n=this._dimInfos[t[a]];n.ordinalMeta&&e.collectOrdinalMeta(n.storeDimIndex,n.ordinalMeta)}},r.prototype._shouldMakeIdFromName=function(){var e=this._store.getProvider();return this._idDimIdx==null&&e.getSource().sourceFormat!==ja&&!e.fillStorage},r.prototype._doInit=function(e,t){if(!(e>=t)){var a=this._store,n=a.getProvider();this._updateOrdinalMeta();var i=this._nameList,o=this._idList,s=n.getSource().sourceFormat,l=s===pr;if(l&&!n.pure)for(var u=[],f=e;f<t;f++){var h=n.getItem(f,u);if(!this.hasItemOption&&SP(h)&&(this.hasItemOption=!0),h){var v=h.name;i[f]==null&&v!=null&&(i[f]=ee(v,null));var c=h.id;o[f]==null&&c!=null&&(o[f]=ee(c,null))}}if(this._shouldMakeIdFromName())for(var f=e;f<t;f++)Qv(this,f);X_(this)}},r.prototype.getApproximateExtent=function(e){return this._approximateExtent[e]||this._store.getDataExtent(this._getStoreDimIndex(e))},r.prototype.setApproximateExtent=function(e,t){t=this.getDimension(t),this._approximateExtent[t]=e.slice()},r.prototype.getCalculationInfo=function(e){return this._calculationInfo[e]},r.prototype.setCalculationInfo=function(e,t){Qo(e)?V(this._calculationInfo,e):this._calculationInfo[e]=t},r.prototype.getName=function(e){var t=this.getRawIndex(e),a=this._nameList[t];return a==null&&this._nameDimIdx!=null&&(a=jo(this,this._nameDimIdx,t)),a==null&&(a=""),a},r.prototype._getCategory=function(e,t){var a=this._store.get(e,t),n=this._store.getOrdinalMeta(e);return n?n.categories[a]:a},r.prototype.getId=function(e){return vu(this,this.getRawIndex(e))},r.prototype.count=function(){return this._store.count()},r.prototype.get=function(e,t){var a=this._store,n=this._dimInfos[e];if(n)return a.get(n.storeDimIndex,t)},r.prototype.getByRawIndex=function(e,t){var a=this._store,n=this._dimInfos[e];if(n)return a.getByRawIndex(n.storeDimIndex,t)},r.prototype.getIndices=function(){return this._store.getIndices()},r.prototype.getDataExtent=function(e){return this._store.getDataExtent(this._getStoreDimIndex(e))},r.prototype.getSum=function(e){return this._store.getSum(this._getStoreDimIndex(e))},r.prototype.getMedian=function(e){return this._store.getMedian(this._getStoreDimIndex(e))},r.prototype.getValues=function(e,t){var a=this,n=this._store;return z(e)?n.getValues(Oa(e,function(i){return a._getStoreDimIndex(i)}),t):n.getValues(e)},r.prototype.hasValue=function(e){for(var t=this._dimSummary.dataDimIndicesOnCoord,a=0,n=t.length;a<n;a++)if(isNaN(this._store.get(t[a],e)))return!1;return!0},r.prototype.indexOfName=function(e){for(var t=0,a=this._store.count();t<a;t++)if(this.getName(t)===e)return t;return-1},r.prototype.getRawIndex=function(e){return this._store.getRawIndex(e)},r.prototype.indexOfRawIndex=function(e){return this._store.indexOfRawIndex(e)},r.prototype.rawIndexOf=function(e,t){var a=e&&this._invertedIndicesMap[e],n=a&&a[t];return n==null||isNaN(n)?Z_:n},r.prototype.indicesOfNearest=function(e,t,a){return this._store.indicesOfNearest(this._getStoreDimIndex(e),t,a)},r.prototype.each=function(e,t,a){nt(e)&&(a=t,t=e,e=[]);var n=a||this,i=Oa(ts(e),this._getStoreDimIndex,this);this._store.each(i,n?J(t,n):t)},r.prototype.filterSelf=function(e,t,a){nt(e)&&(a=t,t=e,e=[]);var n=a||this,i=Oa(ts(e),this._getStoreDimIndex,this);return this._store=this._store.filter(i,n?J(t,n):t),this},r.prototype.selectRange=function(e){var t=this,a={},n=wt(e);return D(n,function(i){var o=t._getStoreDimIndex(i);a[o]=e[i]}),this._store=this._store.selectRange(a),this},r.prototype.mapArray=function(e,t,a){nt(e)&&(a=t,t=e,e=[]),a=a||this;var n=[];return this.each(e,function(){n.push(t&&t.apply(this,arguments))},a),n},r.prototype.map=function(e,t,a,n){var i=a||n||this,o=Oa(ts(e),this._getStoreDimIndex,this),s=es(this);return s._store=this._store.map(o,i?J(t,i):t),s},r.prototype.modify=function(e,t,a,n){var i=a||n||this,o=Oa(ts(e),this._getStoreDimIndex,this);this._store.modify(o,i?J(t,i):t)},r.prototype.downSample=function(e,t,a,n){var i=es(this);return i._store=this._store.downSample(this._getStoreDimIndex(e),t,a,n),i},r.prototype.minmaxDownSample=function(e,t){var a=es(this);return a._store=this._store.minmaxDownSample(this._getStoreDimIndex(e),t),a},r.prototype.lttbDownSample=function(e,t){var a=es(this);return a._store=this._store.lttbDownSample(this._getStoreDimIndex(e),t),a},r.prototype.getRawDataItem=function(e){return this._store.getRawDataItem(e)},r.prototype.getItemModel=function(e){var t=this.hostModel,a=this.getRawDataItem(e);return new Et(a,t,t&&t.ecModel)},r.prototype.diff=function(e){var t=this;return new _a(e?e.getStore().getIndices():[],this.getStore().getIndices(),function(a){return vu(e,a)},function(a){return vu(t,a)})},r.prototype.getVisual=function(e){var t=this._visual;return t&&t[e]},r.prototype.setVisual=function(e,t){this._visual=this._visual||{},Qo(e)?V(this._visual,e):this._visual[e]=t},r.prototype.getItemVisual=function(e,t){var a=this._itemVisuals[e],n=a&&a[t];return n??this.getVisual(t)},r.prototype.hasItemVisual=function(){return this._itemVisuals.length>0},r.prototype.ensureUniqueItemVisual=function(e,t){var a=this._itemVisuals,n=a[e];n||(n=a[e]={});var i=n[t];return i==null&&(i=this.getVisual(t),z(i)?i=i.slice():Qo(i)&&(i=V({},i)),n[t]=i),i},r.prototype.setItemVisual=function(e,t,a){var n=this._itemVisuals[e]||{};this._itemVisuals[e]=n,Qo(t)?V(n,t):n[t]=a},r.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},r.prototype.setLayout=function(e,t){Qo(e)?V(this._layout,e):this._layout[e]=t},r.prototype.getLayout=function(e){return this._layout[e]},r.prototype.getItemLayout=function(e){return this._itemLayouts[e]},r.prototype.setItemLayout=function(e,t,a){this._itemLayouts[e]=a?V(this._itemLayouts[e]||{},t):t},r.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},r.prototype.setItemGraphicEl=function(e,t){var a=this.hostModel&&this.hostModel.seriesIndex;Yd(a,this.dataType,e,t),this._graphicEls[e]=t},r.prototype.getItemGraphicEl=function(e){return this._graphicEls[e]},r.prototype.eachItemGraphicEl=function(e,t){D(this._graphicEls,function(a,n){a&&e&&e.call(t,a,n)})},r.prototype.cloneShallow=function(e){return e||(e=new r(this._schema?this._schema:Oa(this.dimensions,this._getDimInfo,this),this.hostModel)),Jv(e,this),e._store=this._store,e},r.prototype.wrapMethod=function(e,t){var a=this[e];nt(a)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(e),this[e]=function(){var n=a.apply(this,arguments);return t.apply(this,[n].concat(hg(arguments)))})},r.internalField=function(){X_=function(e){var t=e._invertedIndicesMap;D(t,function(a,n){var i=e._dimInfos[n],o=i.ordinalMeta,s=e._store;if(o){a=t[n]=new kN(o.categories.length);for(var l=0;l<a.length;l++)a[l]=Z_;for(var l=0;l<s.count();l++)a[s.get(i.storeDimIndex,l)]=l}})},jo=function(e,t,a){return ee(e._getCategory(t,a),null)},vu=function(e,t){var a=e._idList[t];return a==null&&e._idDimIdx!=null&&(a=jo(e,e._idDimIdx,t)),a==null&&(a=ON+t),a},ts=function(e){return z(e)||(e=e!=null?[e]:[]),e},es=function(e){var t=new r(e._schema?e._schema:Oa(e.dimensions,e._getDimInfo,e),e.hostModel);return Jv(t,e),t},Jv=function(e,t){D(NN.concat(t.__wrappedMethods||[]),function(a){t.hasOwnProperty(a)&&(e[a]=t[a])}),e.__wrappedMethods=t.__wrappedMethods,D(BN,function(a){e[a]=lt(t[a])}),e._calculationInfo=V({},t._calculationInfo)},Qv=function(e,t){var a=e._nameList,n=e._idList,i=e._nameDimIdx,o=e._idDimIdx,s=a[t],l=n[t];if(s==null&&i!=null&&(a[t]=s=jo(e,i,t)),l==null&&o!=null&&(n[t]=l=jo(e,o,t)),l==null&&s!=null){var u=e._nameRepeatCount,f=u[s]=(u[s]||0)+1;l=s,f>1&&(l+="__ec__"+f),n[t]=l}}}(),r}();function Dl(r,e){Yg(r)||(r=$g(r)),e=e||{};var t=e.coordDimensions||[],a=e.dimensionsDefine||r.dimensionsDefine||[],n=et(),i=[],o=zN(r,t,a,e.dimensionsCount),s=e.canOmitUnusedDimensions&&IC(o),l=a===r.dimensionsDefine,u=l?LC(r):MC(a),f=e.encodeDefine;!f&&e.encodeDefaulter&&(f=e.encodeDefaulter(r,o));for(var h=et(f),v=new BA(o),c=0;c<v.length;c++)v[c]=-1;function d(A){var C=v[A];if(C<0){var M=a[A],L=st(M)?M:{name:M},I=new ef,P=L.name;P!=null&&u.get(P)!=null&&(I.name=I.displayName=P),L.type!=null&&(I.type=L.type),L.displayName!=null&&(I.displayName=L.displayName);var R=i.length;return v[A]=R,I.storeDimIndex=A,i.push(I),I}return i[C]}if(!s)for(var c=0;c<o;c++)d(c);h.each(function(A,C){var M=Ot(A).slice();if(M.length===1&&!K(M[0])&&M[0]<0){h.set(C,!1);return}var L=h.set(C,[]);D(M,function(I,P){var R=K(I)?u.get(I):I;R!=null&&R<o&&(L[P]=R,g(d(R),C,P))})});var p=0;D(t,function(A){var C,M,L,I;if(K(A))C=A,I={};else{I=A,C=I.name;var P=I.ordinalMeta;I.ordinalMeta=null,I=V({},I),I.ordinalMeta=P,M=I.dimsDef,L=I.otherDims,I.name=I.coordDim=I.coordDimIndex=I.dimsDef=I.otherDims=null}var R=h.get(C);if(R!==!1){if(R=Ot(R),!R.length)for(var E=0;E<(M&&M.length||1);E++){for(;p<o&&d(p).coordDim!=null;)p++;p<o&&R.push(p++)}D(R,function(N,O){var B=d(N);if(l&&I.type!=null&&(B.type=I.type),g(ot(B,I),C,O),B.name==null&&M){var G=M[O];!st(G)&&(G={name:G}),B.name=B.displayName=G.name,B.defaultTooltip=G.defaultTooltip}L&&ot(B.otherDims,L)})}});function g(A,C,M){yA.get(C)!=null?A.otherDims[C]=M:(A.coordDim=C,A.coordDimIndex=M,n.set(C,!0))}var y=e.generateCoord,m=e.generateCoordCount,_=m!=null;m=y?m||1:0;var S=y||"value";function b(A){A.name==null&&(A.name=A.coordDim)}if(s)D(i,function(A){b(A)}),i.sort(function(A,C){return A.storeDimIndex-C.storeDimIndex});else for(var x=0;x<o;x++){var w=d(x),T=w.coordDim;T==null&&(w.coordDim=GN(S,n,_),w.coordDimIndex=0,(!y||m<=0)&&(w.isExtraCoord=!0),m--),b(w),w.type==null&&(xA(r,x)===de.Must||w.isExtraCoord&&(w.otherDims.itemName!=null||w.otherDims.seriesName!=null))&&(w.type="ordinal")}return VN(i),new CC({source:r,dimensions:i,fullDimensionCount:o,dimensionOmitted:s})}function VN(r){for(var e=et(),t=0;t<r.length;t++){var a=r[t],n=a.name,i=e.get(n)||0;i>0&&(a.name=n+(i-1)),i++,e.set(n,i)}}function zN(r,e,t,a){var n=Math.max(r.dimensionsDetectedCount||1,e.length,t.length,a||0);return D(e,function(i){var o;st(i)&&(o=i.dimsDef)&&(n=Math.max(n,o.length))}),n}function GN(r,e,t){if(t||e.hasKey(r)){for(var a=0;e.hasKey(r+a);)a++;r+=a}return e.set(r,!0),r}var FN=function(){function r(e){this.coordSysDims=[],this.axisMap=et(),this.categoryAxisMap=et(),this.coordSysName=e}return r}();function HN(r){var e=r.get("coordinateSystem"),t=new FN(e),a=WN[e];if(a)return a(r,t,t.axisMap,t.categoryAxisMap),t}var WN={cartesian2d:function(r,e,t,a){var n=r.getReferringComponents("xAxis",Qt).models[0],i=r.getReferringComponents("yAxis",Qt).models[0];e.coordSysDims=["x","y"],t.set("x",n),t.set("y",i),zi(n)&&(a.set("x",n),e.firstCategoryDimIndex=0),zi(i)&&(a.set("y",i),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},singleAxis:function(r,e,t,a){var n=r.getReferringComponents("singleAxis",Qt).models[0];e.coordSysDims=["single"],t.set("single",n),zi(n)&&(a.set("single",n),e.firstCategoryDimIndex=0)},polar:function(r,e,t,a){var n=r.getReferringComponents("polar",Qt).models[0],i=n.findAxisModel("radiusAxis"),o=n.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],t.set("radius",i),t.set("angle",o),zi(i)&&(a.set("radius",i),e.firstCategoryDimIndex=0),zi(o)&&(a.set("angle",o),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},geo:function(r,e,t,a){e.coordSysDims=["lng","lat"]},parallel:function(r,e,t,a){var n=r.ecModel,i=n.getComponent("parallel",r.get("parallelIndex")),o=e.coordSysDims=i.dimensions.slice();D(i.parallelAxisIndex,function(s,l){var u=n.getComponent("parallelAxis",s),f=o[l];t.set(f,u),zi(u)&&(a.set(f,u),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=l))})}};function zi(r){return r.get("type")==="category"}function UN(r,e,t){t=t||{};var a=t.byIndex,n=t.stackedCoordDimension,i,o,s;YN(e)?i=e:(o=e.schema,i=o.dimensions,s=e.store);var l=!!(r&&r.get("stack")),u,f,h,v;if(D(i,function(m,_){K(m)&&(i[_]=m={name:m}),l&&!m.isExtraCoord&&(!a&&!u&&m.ordinalMeta&&(u=m),!f&&m.type!=="ordinal"&&m.type!=="time"&&(!n||n===m.coordDim)&&(f=m))}),f&&!a&&!u&&(a=!0),f){h="__\0ecstackresult_"+r.id,v="__\0ecstackedover_"+r.id,u&&(u.createInvertedIndices=!0);var c=f.coordDim,d=f.type,p=0;D(i,function(m){m.coordDim===c&&p++});var g={name:h,coordDim:c,coordDimIndex:p,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},y={name:v,coordDim:v,coordDimIndex:p+1,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};o?(s&&(g.storeDimIndex=s.ensureCalculationDimension(v,d),y.storeDimIndex=s.ensureCalculationDimension(h,d)),o.appendCalculationDimension(g),o.appendCalculationDimension(y)):(i.push(g),i.push(y))}return{stackedDimension:f&&f.name,stackedByDimension:u&&u.name,isStackedByIndex:a,stackedOverDimension:v,stackResultDimension:h}}function YN(r){return!DC(r.schema)}function ln(r,e){return!!e&&e===r.getCalculationInfo("stackedDimension")}function PC(r,e){return ln(r,e)?r.getCalculationInfo("stackResultDimension"):e}function $N(r,e){var t=r.get("coordinateSystem"),a=Al.get(t),n;return e&&e.coordSysDims&&(n=H(e.coordSysDims,function(i){var o={name:i},s=e.axisMap.get(i);if(s){var l=s.get("type");o.type=Ef(l)}return o})),n||(n=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]),n}function ZN(r,e,t){var a,n;return t&&D(r,function(i,o){var s=i.coordDim,l=t.categoryAxisMap.get(s);l&&(a==null&&(a=o),i.ordinalMeta=l.getOrdinalMeta(),e&&(i.createInvertedIndices=!0)),i.otherDims.itemName!=null&&(n=!0)}),!n&&a!=null&&(r[a].otherDims.itemName=0),a}function Aa(r,e,t){t=t||{};var a=e.getSourceManager(),n,i=!1;r?(i=!0,n=$g(r)):(n=a.getSource(),i=n.sourceFormat===pr);var o=HN(e),s=$N(e,o),l=t.useEncodeDefaulter,u=nt(l)?l:l?ct(SA,s,e):null,f={coordDimensions:s,generateCoord:t.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!i},h=Dl(n,f),v=ZN(h.dimensions,t.createInvertedIndices,o),c=i?null:a.getSharedDataStore(h),d=UN(e,{schema:h,store:c}),p=new Pe(h,e);p.setCalculationInfo(d);var g=v!=null&&XN(n)?function(y,m,_,S){return S===v?_:this.defaultDimValueGetter(y,m,_,S)}:null;return p.hasItemOption=!1,p.initData(i?n:c,null,g),p}function XN(r){if(r.sourceFormat===pr){var e=qN(r.data||[]);return!z(Ao(e))}}function qN(r){for(var e=0;e<r.length&&r[e]==null;)e++;return r[e]}var ra=function(){function r(e){this._setting=e||{},this._extent=[1/0,-1/0]}return r.prototype.getSetting=function(e){return this._setting[e]},r.prototype.unionExtent=function(e){var t=this._extent;e[0]<t[0]&&(t[0]=e[0]),e[1]>t[1]&&(t[1]=e[1])},r.prototype.unionExtentFromData=function(e,t){this.unionExtent(e.getApproximateExtent(t))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(e,t){var a=this._extent;isNaN(e)||(a[0]=e),isNaN(t)||(a[1]=t)},r.prototype.isInExtentRange=function(e){return this._extent[0]<=e&&this._extent[1]>=e},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(e){this._isBlank=e},r}();fh(ra);var KN=0,dp=function(){function r(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this.uid=++KN}return r.createByAxisModel=function(e){var t=e.option,a=t.data,n=a&&H(a,JN);return new r({categories:n,needCollect:!n,deduplication:t.dedplication!==!1})},r.prototype.getOrdinal=function(e){return this._getOrCreateMap().get(e)},r.prototype.parseAndCollect=function(e){var t,a=this._needCollect;if(!K(e)&&!a)return e;if(a&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var n=this._getOrCreateMap();return t=n.get(e),t==null&&(a?(t=this.categories.length,this.categories[t]=e,n.set(e,t)):t=NaN),t},r.prototype._getOrCreateMap=function(){return this._map||(this._map=et(this.categories))},r}();function JN(r){return st(r)&&r.value!=null?r.value:r+""}function pp(r){return r.type==="interval"||r.type==="log"}function QN(r,e,t,a){var n={},i=r[1]-r[0],o=n.interval=iT(i/e);t!=null&&o<t&&(o=n.interval=t),a!=null&&o>a&&(o=n.interval=a);var s=n.intervalPrecision=RC(o),l=n.niceTickExtent=[Zt(Math.ceil(r[0]/o)*o,s),Zt(Math.floor(r[1]/o)*o,s)];return jN(l,r),n}function jv(r){var e=Math.pow(10,_g(r)),t=r/e;return t?t===2?t=3:t===3?t=5:t*=2:t=1,Zt(t*e)}function RC(r){return Wr(r)+2}function q_(r,e,t){r[e]=Math.max(Math.min(r[e],t[1]),t[0])}function jN(r,e){!isFinite(r[0])&&(r[0]=e[0]),!isFinite(r[1])&&(r[1]=e[1]),q_(r,0,e),q_(r,1,e),r[0]>r[1]&&(r[0]=r[1])}function Ph(r,e){return r>=e[0]&&r<=e[1]}function Rh(r,e){return e[1]===e[0]?.5:(r-e[0])/(e[1]-e[0])}function Eh(r,e){return r*(e[1]-e[0])+e[0]}var kh=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;a.type="ordinal";var n=a.getSetting("ordinalMeta");return n||(n=new dp({})),z(n)&&(n=new dp({categories:H(n,function(i){return st(i)?i.value:i})})),a._ordinalMeta=n,a._extent=a.getSetting("extent")||[0,n.categories.length-1],a}return e.prototype.parse=function(t){return t==null?NaN:K(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return t=this.parse(t),Ph(t,this._extent)&&this._ordinalMeta.categories[t]!=null},e.prototype.normalize=function(t){return t=this._getTickNumber(this.parse(t)),Rh(t,this._extent)},e.prototype.scale=function(t){return t=Math.round(Eh(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],a=this._extent,n=a[0];n<=a[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(t==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var a=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,a.length);o<l;++o){var u=a[o];n[o]=u,i[u]=o}for(var f=0;o<s;++o){for(;i[f]!=null;)f++;n.push(f),i[f]=o}},e.prototype._getTickNumber=function(t){var a=this._ticksByOrdinalNumber;return a&&t>=0&&t<a.length?a[t]:t},e.prototype.getRawOrdinalNumber=function(t){var a=this._ordinalNumbersByTick;return a&&t>=0&&t<a.length?a[t]:t},e.prototype.getLabel=function(t){if(!this.isBlank()){var a=this.getRawOrdinalNumber(t.value),n=this._ordinalMeta.categories[a];return n==null?"":n+""}},e.prototype.count=function(){return this._extent[1]-this._extent[0]+1},e.prototype.unionExtentFromData=function(t,a){this.unionExtent(t.getApproximateExtent(a))},e.prototype.isInExtentRange=function(t){return t=this._getTickNumber(t),this._extent[0]<=t&&this._extent[1]>=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(ra);ra.registerClass(kh);var En=Zt,Sa=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="interval",t._interval=0,t._intervalPrecision=2,t}return e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Ph(t,this._extent)},e.prototype.normalize=function(t){return Rh(t,this._extent)},e.prototype.scale=function(t){return Eh(t,this._extent)},e.prototype.setExtent=function(t,a){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(a)||(n[1]=parseFloat(a))},e.prototype.unionExtent=function(t){var a=this._extent;t[0]<a[0]&&(a[0]=t[0]),t[1]>a[1]&&(a[1]=t[1]),this.setExtent(a[0],a[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=RC(t)},e.prototype.getTicks=function(t){var a=this._interval,n=this._extent,i=this._niceExtent,o=this._intervalPrecision,s=[];if(!a)return s;var l=1e4;n[0]<i[0]&&(t?s.push({value:En(i[0]-a,o)}):s.push({value:n[0]}));for(var u=i[0];u<=i[1]&&(s.push({value:u}),u=En(u+a,o),u!==s[s.length-1].value);)if(s.length>l)return[];var f=s.length?s[s.length-1].value:i[1];return n[1]>f&&(t?s.push({value:En(f+a,o)}):s.push({value:n[1]})),s},e.prototype.getMinorTicks=function(t){for(var a=this.getTicks(!0),n=[],i=this.getExtent(),o=1;o<a.length;o++){for(var s=a[o],l=a[o-1],u=0,f=[],h=s.value-l.value,v=h/t;u<t-1;){var c=En(l.value+(u+1)*v);c>i[0]&&c<i[1]&&f.push(c),u++}n.push(f)}return n},e.prototype.getLabel=function(t,a){if(t==null)return"";var n=a&&a.precision;n==null?n=Wr(t.value)||0:n==="auto"&&(n=this._intervalPrecision);var i=En(t.value,n,!0);return hA(i)},e.prototype.calcNiceTicks=function(t,a,n){t=t||5;var i=this._extent,o=i[1]-i[0];if(isFinite(o)){o<0&&(o=-o,i.reverse());var s=QN(i,t,a,n);this._intervalPrecision=s.intervalPrecision,this._interval=s.interval,this._niceExtent=s.niceTickExtent}},e.prototype.calcNiceExtent=function(t){var a=this._extent;if(a[0]===a[1])if(a[0]!==0){var n=Math.abs(a[0]);t.fixMax||(a[1]+=n/2),a[0]-=n/2}else a[1]=1;var i=a[1]-a[0];isFinite(i)||(a[0]=0,a[1]=1),this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(a[0]=En(Math.floor(a[0]/o)*o)),t.fixMax||(a[1]=En(Math.ceil(a[1]/o)*o))},e.prototype.setNiceExtent=function(t,a){this._niceExtent=[t,a]},e.type="interval",e}(ra);ra.registerClass(Sa);var EC=typeof Float32Array<"u",t5=EC?Float32Array:Array;function Yr(r){return z(r)?EC?new Float32Array(r):r:new t5(r)}var gp="__ec_stack_";function kC(r){return r.get("stack")||gp+r.seriesIndex}function ay(r){return r.dim+r.index}function e5(r){var e=[],t=r.axis,a="axis0";if(t.type==="category"){for(var n=t.getBandWidth(),i=0;i<r.count;i++)e.push(ot({bandWidth:n,axisKey:a,stackId:gp+i},r));for(var o=BC(e),s=[],i=0;i<r.count;i++){var l=o[a][gp+i];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function OC(r,e){var t=[];return e.eachSeriesByType(r,function(a){GC(a)&&t.push(a)}),t}function r5(r){var e={};D(r,function(l){var u=l.coordinateSystem,f=u.getBaseAxis();if(!(f.type!=="time"&&f.type!=="value"))for(var h=l.getData(),v=f.dim+"_"+f.index,c=h.getDimensionIndex(h.mapDimension(f.dim)),d=h.getStore(),p=0,g=d.count();p<g;++p){var y=d.get(c,p);e[v]?e[v].push(y):e[v]=[y]}});var t={};for(var a in e)if(e.hasOwnProperty(a)){var n=e[a];if(n){n.sort(function(l,u){return l-u});for(var i=null,o=1;o<n.length;++o){var s=n[o]-n[o-1];s>0&&(i=i===null?s:Math.min(i,s))}t[a]=i}}return t}function NC(r){var e=r5(r),t=[];return D(r,function(a){var n=a.coordinateSystem,i=n.getBaseAxis(),o=i.getExtent(),s;if(i.type==="category")s=i.getBandWidth();else if(i.type==="value"||i.type==="time"){var l=i.dim+"_"+i.index,u=e[l],f=Math.abs(o[1]-o[0]),h=i.scale.getExtent(),v=Math.abs(h[1]-h[0]);s=u?f/v*u:f}else{var c=a.getData();s=Math.abs(o[1]-o[0])/c.count()}var d=X(a.get("barWidth"),s),p=X(a.get("barMaxWidth"),s),g=X(a.get("barMinWidth")||(FC(a)?.5:1),s),y=a.get("barGap"),m=a.get("barCategoryGap");t.push({bandWidth:s,barWidth:d,barMaxWidth:p,barMinWidth:g,barGap:y,barCategoryGap:m,axisKey:ay(i),stackId:kC(a)})}),BC(t)}function BC(r){var e={};D(r,function(a,n){var i=a.axisKey,o=a.bandWidth,s=e[i]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;e[i]=s;var u=a.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var f=a.barWidth;f&&!l[u].width&&(l[u].width=f,f=Math.min(s.remainedWidth,f),s.remainedWidth-=f);var h=a.barMaxWidth;h&&(l[u].maxWidth=h);var v=a.barMinWidth;v&&(l[u].minWidth=v);var c=a.barGap;c!=null&&(s.gap=c);var d=a.barCategoryGap;d!=null&&(s.categoryGap=d)});var t={};return D(e,function(a,n){t[n]={};var i=a.stacks,o=a.bandWidth,s=a.categoryGap;if(s==null){var l=wt(i).length;s=Math.max(35-l*4,15)+"%"}var u=X(s,o),f=X(a.gap,1),h=a.remainedWidth,v=a.autoWidthCount,c=(h-u)/(v+(v-1)*f);c=Math.max(c,0),D(i,function(y){var m=y.maxWidth,_=y.minWidth;if(y.width){var S=y.width;m&&(S=Math.min(S,m)),_&&(S=Math.max(S,_)),y.width=S,h-=S+f*S,v--}else{var S=c;m&&m<S&&(S=Math.min(m,h)),_&&_>S&&(S=_),S!==c&&(y.width=S,h-=S+f*S,v--)}}),c=(h-u)/(v+(v-1)*f),c=Math.max(c,0);var d=0,p;D(i,function(y,m){y.width||(y.width=c),p=y,d+=y.width*(1+f)}),p&&(d-=p.width*f);var g=-d/2;D(i,function(y,m){t[n][m]=t[n][m]||{bandWidth:o,offset:g,width:y.width},g+=y.width*(1+f)})}),t}function a5(r,e,t){if(r&&e){var a=r[ay(e)];return a}}function VC(r,e){var t=OC(r,e),a=NC(t);D(t,function(n){var i=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),l=kC(n),u=a[ay(s)][l],f=u.offset,h=u.width;i.setLayout({bandWidth:u.bandWidth,offset:f,size:h})})}function zC(r){return{seriesType:r,plan:Eo(),reset:function(e){if(GC(e)){var t=e.getData(),a=e.coordinateSystem,n=a.getBaseAxis(),i=a.getOtherAxis(n),o=t.getDimensionIndex(t.mapDimension(i.dim)),s=t.getDimensionIndex(t.mapDimension(n.dim)),l=e.get("showBackground",!0),u=t.mapDimension(i.dim),f=t.getCalculationInfo("stackResultDimension"),h=ln(t,u)&&!!t.getCalculationInfo("stackedOnSeries"),v=i.isHorizontal(),c=n5(n,i),d=FC(e),p=e.get("barMinHeight")||0,g=f&&t.getDimensionIndex(f),y=t.getLayout("size"),m=t.getLayout("offset");return{progress:function(_,S){for(var b=_.count,x=d&&Yr(b*3),w=d&&l&&Yr(b*3),T=d&&Yr(b),A=a.master.getRect(),C=v?A.width:A.height,M,L=S.getStore(),I=0;(M=_.next())!=null;){var P=L.get(h?g:o,M),R=L.get(s,M),E=c,N=void 0;h&&(N=+P-L.get(o,M));var O=void 0,B=void 0,G=void 0,U=void 0;if(v){var Z=a.dataToPoint([P,R]);if(h){var rt=a.dataToPoint([N,R]);E=rt[0]}O=E,B=Z[1]+m,G=Z[0]-E,U=y,Math.abs(G)<p&&(G=(G<0?-1:1)*p)}else{var Z=a.dataToPoint([R,P]);if(h){var rt=a.dataToPoint([R,N]);E=rt[1]}O=Z[0]+m,B=E,G=y,U=Z[1]-E,Math.abs(U)<p&&(U=(U<=0?-1:1)*p)}d?(x[I]=O,x[I+1]=B,x[I+2]=v?G:U,w&&(w[I]=v?A.x:O,w[I+1]=v?B:A.y,w[I+2]=C),T[M]=M):S.setItemLayout(M,{x:O,y:B,width:G,height:U}),I+=3}d&&S.setLayout({largePoints:x,largeDataIndices:T,largeBackgroundPoints:w,valueAxisHorizontal:v})}}}}}}function GC(r){return r.coordinateSystem&&r.coordinateSystem.type==="cartesian2d"}function FC(r){return r.pipelineContext&&r.pipelineContext.large}function n5(r,e){var t=e.model.get("startValue");return t||(t=0),e.toGlobalCoord(e.dataToCoord(e.type==="log"?t>0?t:1:t))}var i5=function(r,e,t,a){for(;t<a;){var n=t+a>>>1;r[n][1]<e?t=n+1:a=n}return t},ny=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="time",a}return e.prototype.getLabel=function(t){var a=this.getSetting("useUTC");return xh(t.value,V0[GE(so(this._minLevelUnit))]||V0.second,a,this.getSetting("locale"))},e.prototype.getFormattedLabel=function(t,a,n){var i=this.getSetting("useUTC"),o=this.getSetting("locale");return FE(t,a,n,o,i)},e.prototype.getTicks=function(){var t=this._interval,a=this._extent,n=[];if(!t)return n;n.push({value:a[0],level:0});var i=this.getSetting("useUTC"),o=v5(this._minLevelUnit,this._approxInterval,i,a);return n=n.concat(o),n.push({value:a[1],level:0}),n},e.prototype.calcNiceExtent=function(t){var a=this._extent;if(a[0]===a[1]&&(a[0]-=fr,a[1]+=fr),a[1]===-1/0&&a[0]===1/0){var n=new Date;a[1]=+new Date(n.getFullYear(),n.getMonth(),n.getDate()),a[0]=a[1]-fr}this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval)},e.prototype.calcNiceTicks=function(t,a,n){t=t||10;var i=this._extent,o=i[1]-i[0];this._approxInterval=o/t,a!=null&&this._approxInterval<a&&(this._approxInterval=a),n!=null&&this._approxInterval>n&&(this._approxInterval=n);var s=cu.length,l=Math.min(i5(cu,this._approxInterval,0,s),s-1);this._interval=cu[l][1],this._minLevelUnit=cu[Math.max(l-1,0)][0]},e.prototype.parse=function(t){return Dt(t)?t:+Qr(t)},e.prototype.contain=function(t){return Ph(this.parse(t),this._extent)},e.prototype.normalize=function(t){return Rh(this.parse(t),this._extent)},e.prototype.scale=function(t){return Eh(t,this._extent)},e.type="time",e}(Sa),cu=[["second",Bg],["minute",Vg],["hour",ks],["quarter-day",ks*6],["half-day",ks*12],["day",fr*1.2],["half-week",fr*3.5],["week",fr*7],["month",fr*31],["quarter",fr*95],["half-year",B0/2],["year",B0]];function o5(r,e,t,a){var n=Qr(e),i=Qr(t),o=function(d){return z0(n,d,a)===z0(i,d,a)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},f=function(){return u()&&o("hour")},h=function(){return f()&&o("minute")},v=function(){return h()&&o("second")},c=function(){return v()&&o("millisecond")};switch(r){case"year":return s();case"month":return l();case"day":return u();case"hour":return f();case"minute":return h();case"second":return v();case"millisecond":return c()}}function s5(r,e){return r/=fr,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function l5(r){var e=30*fr;return r/=e,r>6?6:r>3?3:r>2?2:1}function u5(r){return r/=ks,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function K_(r,e){return r/=e?Vg:Bg,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function f5(r){return iT(r)}function h5(r,e,t){var a=new Date(r);switch(so(e)){case"year":case"month":a[iA(t)](0);case"day":a[oA(t)](1);case"hour":a[sA(t)](0);case"minute":a[lA(t)](0);case"second":a[uA(t)](0),a[fA(t)](0)}return a.getTime()}function v5(r,e,t,a){var n=1e4,i=aA,o=0;function s(C,M,L,I,P,R,E){for(var N=new Date(M),O=M,B=N[I]();O<L&&O<=a[1];)E.push({value:O}),B+=C,N[P](B),O=N.getTime();E.push({value:O,notAdd:!0})}function l(C,M,L){var I=[],P=!M.length;if(!o5(so(C),a[0],a[1],t)){P&&(M=[{value:h5(new Date(a[0]),C,t)},{value:a[1]}]);for(var R=0;R<M.length-1;R++){var E=M[R].value,N=M[R+1].value;if(E!==N){var O=void 0,B=void 0,G=void 0,U=!1;switch(C){case"year":O=Math.max(1,Math.round(e/fr/365)),B=zg(t),G=HE(t);break;case"half-year":case"quarter":case"month":O=l5(e),B=lo(t),G=iA(t);break;case"week":case"half-week":case"day":O=s5(e),B=bh(t),G=oA(t),U=!0;break;case"half-day":case"quarter-day":case"hour":O=u5(e),B=Js(t),G=sA(t);break;case"minute":O=K_(e,!0),B=wh(t),G=lA(t);break;case"second":O=K_(e,!1),B=Th(t),G=uA(t);break;case"millisecond":O=f5(e),B=Ah(t),G=fA(t);break}s(O,E,N,B,G,U,I),C==="year"&&L.length>1&&R===0&&L.unshift({value:L[0].value-O})}}for(var R=0;R<I.length;R++)L.push(I[R]);return I}}for(var u=[],f=[],h=0,v=0,c=0;c<i.length&&o++<n;++c){var d=so(i[c]);if(zE(i[c])){l(i[c],u[u.length-1]||[],f);var p=i[c+1]?so(i[c+1]):null;if(d!==p){if(f.length){v=h,f.sort(function(C,M){return C.value-M.value});for(var g=[],y=0;y<f.length;++y){var m=f[y].value;(y===0||f[y-1].value!==m)&&(g.push(f[y]),m>=a[0]&&m<=a[1]&&h++)}var _=(a[1]-a[0])/e;if(h>_*1.5&&v>_/1.5||(u.push(g),h>_||r===i[c]))break}f=[]}}}for(var S=Pt(H(u,function(C){return Pt(C,function(M){return M.value>=a[0]&&M.value<=a[1]&&!M.notAdd})}),function(C){return C.length>0}),b=[],x=S.length-1,c=0;c<S.length;++c)for(var w=S[c],T=0;T<w.length;++T)b.push({value:w[T].value,level:x-c});b.sort(function(C,M){return C.value-M.value});for(var A=[],c=0;c<b.length;++c)(c===0||b[c].value!==b[c-1].value)&&A.push(b[c]);return A}ra.registerClass(ny);var J_=ra.prototype,Vs=Sa.prototype,c5=Zt,d5=Math.floor,p5=Math.ceil,du=Math.pow,Sr=Math.log,iy=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="log",t.base=10,t._originalScale=new Sa,t._interval=0,t}return e.prototype.getTicks=function(t){var a=this._originalScale,n=this._extent,i=a.getExtent(),o=Vs.getTicks.call(this,t);return H(o,function(s){var l=s.value,u=Zt(du(this.base,l));return u=l===n[0]&&this._fixMin?pu(u,i[0]):u,u=l===n[1]&&this._fixMax?pu(u,i[1]):u,{value:u}},this)},e.prototype.setExtent=function(t,a){var n=Sr(this.base);t=Sr(Math.max(0,t))/n,a=Sr(Math.max(0,a))/n,Vs.setExtent.call(this,t,a)},e.prototype.getExtent=function(){var t=this.base,a=J_.getExtent.call(this);a[0]=du(t,a[0]),a[1]=du(t,a[1]);var n=this._originalScale,i=n.getExtent();return this._fixMin&&(a[0]=pu(a[0],i[0])),this._fixMax&&(a[1]=pu(a[1],i[1])),a},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var a=this.base;t[0]=Sr(t[0])/Sr(a),t[1]=Sr(t[1])/Sr(a),J_.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,a){this.unionExtent(t.getApproximateExtent(a))},e.prototype.calcNiceTicks=function(t){t=t||10;var a=this._extent,n=a[1]-a[0];if(!(n===1/0||n<=0)){var i=_P(n),o=t/n*i;for(o<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var s=[Zt(p5(a[0]/i)*i),Zt(d5(a[1]/i)*i)];this._interval=i,this._niceExtent=s}},e.prototype.calcNiceExtent=function(t){Vs.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return t=Sr(t)/Sr(this.base),Ph(t,this._extent)},e.prototype.normalize=function(t){return t=Sr(t)/Sr(this.base),Rh(t,this._extent)},e.prototype.scale=function(t){return t=Eh(t,this._extent),du(this.base,t)},e.type="log",e}(ra),HC=iy.prototype;HC.getMinorTicks=Vs.getMinorTicks;HC.getLabel=Vs.getLabel;function pu(r,e){return c5(r,Wr(e))}ra.registerClass(iy);var g5=function(){function r(e,t,a){this._prepareParams(e,t,a)}return r.prototype._prepareParams=function(e,t,a){a[1]<a[0]&&(a=[NaN,NaN]),this._dataMin=a[0],this._dataMax=a[1];var n=this._isOrdinal=e.type==="ordinal";this._needCrossZero=e.type==="interval"&&t.getNeedCrossZero&&t.getNeedCrossZero();var i=t.get("min",!0);i==null&&(i=t.get("startValue",!0));var o=this._modelMinRaw=i;nt(o)?this._modelMinNum=gu(e,o({min:a[0],max:a[1]})):o!=="dataMin"&&(this._modelMinNum=gu(e,o));var s=this._modelMaxRaw=t.get("max",!0);if(nt(s)?this._modelMaxNum=gu(e,s({min:a[0],max:a[1]})):s!=="dataMax"&&(this._modelMaxNum=gu(e,s)),n)this._axisDataLen=t.getCategories().length;else{var l=t.get("boundaryGap"),u=z(l)?l:[l||0,l||0];typeof u[0]=="boolean"||typeof u[1]=="boolean"?this._boundaryGapInner=[0,0]:this._boundaryGapInner=[Lr(u[0],1),Lr(u[1],1)]}},r.prototype.calculate=function(){var e=this._isOrdinal,t=this._dataMin,a=this._dataMax,n=this._axisDataLen,i=this._boundaryGapInner,o=e?null:a-t||Math.abs(t),s=this._modelMinRaw==="dataMin"?t:this._modelMinNum,l=this._modelMaxRaw==="dataMax"?a:this._modelMaxNum,u=s!=null,f=l!=null;s==null&&(s=e?n?0:NaN:t-i[0]*o),l==null&&(l=e?n?n-1:NaN:a+i[1]*o),(s==null||!isFinite(s))&&(s=NaN),(l==null||!isFinite(l))&&(l=NaN);var h=Fs(s)||Fs(l)||e&&!n;this._needCrossZero&&(s>0&&l>0&&!u&&(s=0),s<0&&l<0&&!f&&(l=0));var v=this._determinedMin,c=this._determinedMax;return v!=null&&(s=v,u=!0),c!=null&&(l=c,f=!0),{min:s,max:l,minFixed:u,maxFixed:f,isBlank:h}},r.prototype.modifyDataMinMax=function(e,t){this[m5[e]]=t},r.prototype.setDeterminedMinMax=function(e,t){var a=y5[e];this[a]=t},r.prototype.freeze=function(){this.frozen=!0},r}(),y5={min:"_determinedMin",max:"_determinedMax"},m5={min:"_dataMin",max:"_dataMax"};function WC(r,e,t){var a=r.rawExtentInfo;return a||(a=new g5(r,e,t),r.rawExtentInfo=a,a)}function gu(r,e){return e==null?null:Fs(e)?NaN:r.parse(e)}function UC(r,e){var t=r.type,a=WC(r,e,r.getExtent()).calculate();r.setBlank(a.isBlank);var n=a.min,i=a.max,o=e.ecModel;if(o&&t==="time"){var s=OC("bar",o),l=!1;if(D(s,function(h){l=l||h.getBaseAxis()===e.axis}),l){var u=NC(s),f=_5(n,i,e,u);n=f.min,i=f.max}}return{extent:[n,i],fixMin:a.minFixed,fixMax:a.maxFixed}}function _5(r,e,t,a){var n=t.axis.getExtent(),i=Math.abs(n[1]-n[0]),o=a5(a,t.axis);if(o===void 0)return{min:r,max:e};var s=1/0;D(o,function(c){s=Math.min(c.offset,s)});var l=-1/0;D(o,function(c){l=Math.max(c.offset+c.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,f=e-r,h=1-(s+l)/i,v=f/h-f;return e+=v*(l/u),r-=v*(s/u),{min:r,max:e}}function go(r,e){var t=e,a=UC(r,t),n=a.extent,i=t.get("splitNumber");r instanceof iy&&(r.base=t.get("logBase"));var o=r.type,s=t.get("interval"),l=o==="interval"||o==="time";r.setExtent(n[0],n[1]),r.calcNiceExtent({splitNumber:i,fixMin:a.fixMin,fixMax:a.fixMax,minInterval:l?t.get("minInterval"):null,maxInterval:l?t.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function Oh(r,e){if(e=e||r.get("type"),e)switch(e){case"category":return new kh({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new ny({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(ra.getClass(e)||Sa)}}function S5(r){var e=r.scale.getExtent(),t=e[0],a=e[1];return!(t>0&&a>0||t<0&&a<0)}function No(r){var e=r.getLabelModel().get("formatter"),t=r.type==="category"?r.scale.getExtent()[0]:null;return r.scale.type==="time"?function(a){return function(n,i){return r.scale.getFormattedLabel(n,i,a)}}(e):K(e)?function(a){return function(n){var i=r.scale.getLabel(n),o=a.replace("{value}",i??"");return o}}(e):nt(e)?function(a){return function(n,i){return t!=null&&(i=n.value-t),a(oy(r,n),i,n.level!=null?{level:n.level}:null)}}(e):function(a){return r.scale.getLabel(a)}}function oy(r,e){return r.type==="category"?r.scale.getLabel(e):e.value}function x5(r){var e=r.model,t=r.scale;if(!(!e.get(["axisLabel","show"])||t.isBlank())){var a,n,i=t.getExtent();t instanceof kh?n=t.count():(a=t.getTicks(),n=a.length);var o=r.getLabelModel(),s=No(r),l,u=1;n>40&&(u=Math.ceil(n/40));for(var f=0;f<n;f+=u){var h=a?a[f]:{value:i[0]+f},v=s(h,f),c=o.getTextRect(v),d=b5(c,o.get("rotate")||0);l?l.union(d):l=d}return l}}function b5(r,e){var t=e*Math.PI/180,a=r.width,n=r.height,i=a*Math.abs(Math.cos(t))+Math.abs(n*Math.sin(t)),o=a*Math.abs(Math.sin(t))+Math.abs(n*Math.cos(t)),s=new gt(r.x,r.y,i,o);return s}function sy(r){var e=r.get("interval");return e??"auto"}function YC(r){return r.type==="category"&&sy(r.getLabelModel())===0}function kf(r,e){var t={};return D(r.mapDimensionsAll(e),function(a){t[PC(r,a)]=!0}),wt(t)}function w5(r,e,t){e&&D(kf(e,t),function(a){var n=e.getApproximateExtent(a);n[0]<r[0]&&(r[0]=n[0]),n[1]>r[1]&&(r[1]=n[1])})}var Ml=function(){function r(){}return r.prototype.getNeedCrossZero=function(){var e=this.option;return!e.scale},r.prototype.getCoordSysModel=function(){},r}(),T5=1e-8;function Q_(r,e){return Math.abs(r-e)<T5}function Un(r,e,t){var a=0,n=r[0];if(!n)return!1;for(var i=1;i<r.length;i++){var o=r[i];a+=sa(n[0],n[1],o[0],o[1],e,t),n=o}var s=r[0];return(!Q_(n[0],s[0])||!Q_(n[1],s[1]))&&(a+=sa(n[0],n[1],s[0],s[1],e,t)),a!==0}var A5=[];function tc(r,e){for(var t=0;t<r.length;t++)pe(r[t],r[t],e)}function j_(r,e,t,a){for(var n=0;n<r.length;n++){var i=r[n];a&&(i=a.project(i)),i&&isFinite(i[0])&&isFinite(i[1])&&(Ua(e,e,i),Ya(t,t,i))}}function C5(r){for(var e=0,t=0,a=0,n=r.length,i=r[n-1][0],o=r[n-1][1],s=0;s<n;s++){var l=r[s][0],u=r[s][1],f=i*u-l*o;e+=f,t+=(i+l)*f,a+=(o+u)*f,i=l,o=u}return e?[t/e/3,a/e/3,e]:[r[0][0]||0,r[0][1]||0]}var $C=function(){function r(e){this.name=e}return r.prototype.setCenter=function(e){this._center=e},r.prototype.getCenter=function(){var e=this._center;return e||(e=this._center=this.calcCenter()),e},r}(),t1=function(){function r(e,t){this.type="polygon",this.exterior=e,this.interiors=t}return r}(),e1=function(){function r(e){this.type="linestring",this.points=e}return r}(),ZC=function(r){k(e,r);function e(t,a,n){var i=r.call(this,t)||this;return i.type="geoJSON",i.geometries=a,i._center=n&&[n[0],n[1]],i}return e.prototype.calcCenter=function(){for(var t=this.geometries,a,n=0,i=0;i<t.length;i++){var o=t[i],s=o.exterior,l=s&&s.length;l>n&&(a=o,n=l)}if(a)return C5(a.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},e.prototype.getBoundingRect=function(t){var a=this._rect;if(a&&!t)return a;var n=[1/0,1/0],i=[-1/0,-1/0],o=this.geometries;return D(o,function(s){s.type==="polygon"?j_(s.exterior,n,i,t):D(s.points,function(l){j_(l,n,i,t)})}),isFinite(n[0])&&isFinite(n[1])&&isFinite(i[0])&&isFinite(i[1])||(n[0]=n[1]=i[0]=i[1]=0),a=new gt(n[0],n[1],i[0]-n[0],i[1]-n[1]),t||(this._rect=a),a},e.prototype.contain=function(t){var a=this.getBoundingRect(),n=this.geometries;if(!a.contain(t[0],t[1]))return!1;t:for(var i=0,o=n.length;i<o;i++){var s=n[i];if(s.type==="polygon"){var l=s.exterior,u=s.interiors;if(Un(l,t[0],t[1])){for(var f=0;f<(u?u.length:0);f++)if(Un(u[f],t[0],t[1]))continue t;return!0}}}return!1},e.prototype.transformTo=function(t,a,n,i){var o=this.getBoundingRect(),s=o.width/o.height;n?i||(i=n/s):n=s*i;for(var l=new gt(t,a,n,i),u=o.calculateTransform(l),f=this.geometries,h=0;h<f.length;h++){var v=f[h];v.type==="polygon"?(tc(v.exterior,u),D(v.interiors,function(c){tc(c,u)})):D(v.points,function(c){tc(c,u)})}o=this._rect,o.copy(l),this._center=[o.x+o.width/2,o.y+o.height/2]},e.prototype.cloneShallow=function(t){t==null&&(t=this.name);var a=new e(t,this.geometries,this._center);return a._rect=this._rect,a.transformTo=null,a},e}($C),D5=function(r){k(e,r);function e(t,a){var n=r.call(this,t)||this;return n.type="geoSVG",n._elOnlyForCalculate=a,n}return e.prototype.calcCenter=function(){for(var t=this._elOnlyForCalculate,a=t.getBoundingRect(),n=[a.x+a.width/2,a.y+a.height/2],i=oh(A5),o=t;o&&!o.isGeoSVGGraphicRoot;)ha(i,o.getLocalTransform(),i),o=o.parent;return To(i,i),pe(n,n,i),n},e}($C);function M5(r){if(!r.UTF8Encoding)return r;var e=r,t=e.UTF8Scale;t==null&&(t=1024);var a=e.features;return D(a,function(n){var i=n.geometry,o=i.encodeOffsets,s=i.coordinates;if(o)switch(i.type){case"LineString":i.coordinates=XC(s,o,t);break;case"Polygon":ec(s,o,t);break;case"MultiLineString":ec(s,o,t);break;case"MultiPolygon":D(s,function(l,u){return ec(l,o[u],t)})}}),e.UTF8Encoding=!1,e}function ec(r,e,t){for(var a=0;a<r.length;a++)r[a]=XC(r[a],e[a],t)}function XC(r,e,t){for(var a=[],n=e[0],i=e[1],o=0;o<r.length;o+=2){var s=r.charCodeAt(o)-64,l=r.charCodeAt(o+1)-64;s=s>>1^-(s&1),l=l>>1^-(l&1),s+=n,l+=i,n=s,i=l,a.push([s/t,l/t])}return a}function L5(r,e){return r=M5(r),H(Pt(r.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var a=t.properties,n=t.geometry,i=[];switch(n.type){case"Polygon":var o=n.coordinates;i.push(new t1(o[0],o.slice(1)));break;case"MultiPolygon":D(n.coordinates,function(l){l[0]&&i.push(new t1(l[0],l.slice(1)))});break;case"LineString":i.push(new e1([n.coordinates]));break;case"MultiLineString":i.push(new e1(n.coordinates))}var s=new ZC(a[e||"name"],i,a.cp);return s.properties=a,s})}var al=At();function qC(r,e){var t=H(e,function(a){return r.scale.parse(a)});return r.type==="time"&&t.length>0&&(t.sort(),t.unshift(t[0]),t.push(t[t.length-1])),t}function I5(r){var e=r.getLabelModel().get("customValues");if(e){var t=No(r),a=r.scale.getExtent(),n=qC(r,e),i=Pt(n,function(o){return o>=a[0]&&o<=a[1]});return{labels:H(i,function(o){var s={value:o};return{formattedLabel:t(s),rawLabel:r.scale.getLabel(s),tickValue:o}})}}return r.type==="category"?R5(r):k5(r)}function P5(r,e){var t=r.getTickModel().get("customValues");if(t){var a=r.scale.getExtent(),n=qC(r,t);return{ticks:Pt(n,function(i){return i>=a[0]&&i<=a[1]})}}return r.type==="category"?E5(r,e):{ticks:H(r.scale.getTicks(),function(i){return i.value})}}function R5(r){var e=r.getLabelModel(),t=KC(r,e);return!e.get("show")||r.scale.isBlank()?{labels:[],labelCategoryInterval:t.labelCategoryInterval}:t}function KC(r,e){var t=JC(r,"labels"),a=sy(e),n=QC(t,a);if(n)return n;var i,o;return nt(a)?i=eD(r,a):(o=a==="auto"?O5(r):a,i=tD(r,o)),jC(t,a,{labels:i,labelCategoryInterval:o})}function E5(r,e){var t=JC(r,"ticks"),a=sy(e),n=QC(t,a);if(n)return n;var i,o;if((!e.get("show")||r.scale.isBlank())&&(i=[]),nt(a))i=eD(r,a,!0);else if(a==="auto"){var s=KC(r,r.getLabelModel());o=s.labelCategoryInterval,i=H(s.labels,function(l){return l.tickValue})}else o=a,i=tD(r,o,!0);return jC(t,a,{ticks:i,tickCategoryInterval:o})}function k5(r){var e=r.scale.getTicks(),t=No(r);return{labels:H(e,function(a,n){return{level:a.level,formattedLabel:t(a,n),rawLabel:r.scale.getLabel(a),tickValue:a.value}})}}function JC(r,e){return al(r)[e]||(al(r)[e]=[])}function QC(r,e){for(var t=0;t<r.length;t++)if(r[t].key===e)return r[t].value}function jC(r,e,t){return r.push({key:e,value:t}),t}function O5(r){var e=al(r).autoInterval;return e??(al(r).autoInterval=r.calculateCategoryInterval())}function N5(r){var e=B5(r),t=No(r),a=(e.axisRotate-e.labelRotate)/180*Math.PI,n=r.scale,i=n.getExtent(),o=n.count();if(i[1]-i[0]<1)return 0;var s=1;o>40&&(s=Math.max(1,Math.floor(o/40)));for(var l=i[0],u=r.dataToCoord(l+1)-r.dataToCoord(l),f=Math.abs(u*Math.cos(a)),h=Math.abs(u*Math.sin(a)),v=0,c=0;l<=i[1];l+=s){var d=0,p=0,g=yl(t({value:l}),e.font,"center","top");d=g.width*1.3,p=g.height*1.3,v=Math.max(v,d,7),c=Math.max(c,p,7)}var y=v/f,m=c/h;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),S=al(r.model),b=r.getExtent(),x=S.lastAutoInterval,w=S.lastTickCount;return x!=null&&w!=null&&Math.abs(x-_)<=1&&Math.abs(w-o)<=1&&x>_&&S.axisExtent0===b[0]&&S.axisExtent1===b[1]?_=x:(S.lastTickCount=o,S.lastAutoInterval=_,S.axisExtent0=b[0],S.axisExtent1=b[1]),_}function B5(r){var e=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function tD(r,e,t){var a=No(r),n=r.scale,i=n.getExtent(),o=r.getLabelModel(),s=[],l=Math.max((e||0)+1,1),u=i[0],f=n.count();u!==0&&l>1&&f/l>2&&(u=Math.round(Math.ceil(u/l)*l));var h=YC(r),v=o.get("showMinLabel")||h,c=o.get("showMaxLabel")||h;v&&u!==i[0]&&p(i[0]);for(var d=u;d<=i[1];d+=l)p(d);c&&d-l!==i[1]&&p(i[1]);function p(g){var y={value:g};s.push(t?g:{formattedLabel:a(y),rawLabel:n.getLabel(y),tickValue:g})}return s}function eD(r,e,t){var a=r.scale,n=No(r),i=[];return D(a.getTicks(),function(o){var s=a.getLabel(o),l=o.value;e(o.value,s)&&i.push(t?l:{formattedLabel:n(o),rawLabel:s,tickValue:l})}),i}var r1=[0,1],Rr=function(){function r(e,t,a){this.onBand=!1,this.inverse=!1,this.dim=e,this.scale=t,this._extent=a||[0,0]}return r.prototype.contain=function(e){var t=this._extent,a=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return e>=a&&e<=n},r.prototype.containData=function(e){return this.scale.contain(e)},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(e){return aT(e||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(e,t){var a=this._extent;a[0]=e,a[1]=t},r.prototype.dataToCoord=function(e,t){var a=this._extent,n=this.scale;return e=n.normalize(e),this.onBand&&n.type==="ordinal"&&(a=a.slice(),a1(a,n.count())),Rt(e,r1,a,t)},r.prototype.coordToData=function(e,t){var a=this._extent,n=this.scale;this.onBand&&n.type==="ordinal"&&(a=a.slice(),a1(a,n.count()));var i=Rt(e,a,r1,t);return this.scale.scale(i)},r.prototype.pointToData=function(e,t){},r.prototype.getTicksCoords=function(e){e=e||{};var t=e.tickModel||this.getTickModel(),a=P5(this,t),n=a.ticks,i=H(n,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=t.get("alignWithLabel");return V5(this,i,o,e.clamp),i},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var e=this.model.getModel("minorTick"),t=e.get("splitNumber");t>0&&t<100||(t=5);var a=this.scale.getMinorTicks(t),n=H(a,function(i){return H(i,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return n},r.prototype.getViewLabels=function(){return I5(this).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var e=this._extent,t=this.scale.getExtent(),a=t[1]-t[0]+(this.onBand?1:0);a===0&&(a=1);var n=Math.abs(e[1]-e[0]);return Math.abs(n)/a},r.prototype.calculateCategoryInterval=function(){return N5(this)},r}();function a1(r,e){var t=r[1]-r[0],a=e,n=t/a/2;r[0]+=n,r[1]-=n}function V5(r,e,t,a){var n=e.length;if(!r.onBand||t||!n)return;var i=r.getExtent(),o,s;if(n===1)e[0].coord=i[0],o=e[1]={coord:i[1],tickValue:e[0].tickValue};else{var l=e[n-1].tickValue-e[0].tickValue,u=(e[n-1].coord-e[0].coord)/l;D(e,function(c){c.coord-=u/2});var f=r.scale.getExtent();s=1+f[1]-e[n-1].tickValue,o={coord:e[n-1].coord+u*s,tickValue:f[1]+1},e.push(o)}var h=i[0]>i[1];v(e[0].coord,i[0])&&(a?e[0].coord=i[0]:e.shift()),a&&v(i[0],e[0].coord)&&e.unshift({coord:i[0]}),v(i[1],o.coord)&&(a?o.coord=i[1]:e.pop()),a&&v(o.coord,i[1])&&e.push({coord:i[1]});function v(c,d){return c=Zt(c),d=Zt(d),h?c>d:c<d}}var rs=Math.PI*2,kn=jr.CMD,z5=["top","right","bottom","left"];function G5(r,e,t,a,n){var i=t.width,o=t.height;switch(r){case"top":a.set(t.x+i/2,t.y-e),n.set(0,-1);break;case"bottom":a.set(t.x+i/2,t.y+o+e),n.set(0,1);break;case"left":a.set(t.x-e,t.y+o/2),n.set(-1,0);break;case"right":a.set(t.x+i+e,t.y+o/2),n.set(1,0);break}}function F5(r,e,t,a,n,i,o,s,l){o-=r,s-=e;var u=Math.sqrt(o*o+s*s);o/=u,s/=u;var f=o*t+r,h=s*t+e;if(Math.abs(a-n)%rs<1e-4)return l[0]=f,l[1]=h,u-t;if(i){var v=a;a=Xe(n),n=Xe(v)}else a=Xe(a),n=Xe(n);a>n&&(n+=rs);var c=Math.atan2(s,o);if(c<0&&(c+=rs),c>=a&&c<=n||c+rs>=a&&c+rs<=n)return l[0]=f,l[1]=h,u-t;var d=t*Math.cos(a)+r,p=t*Math.sin(a)+e,g=t*Math.cos(n)+r,y=t*Math.sin(n)+e,m=(d-o)*(d-o)+(p-s)*(p-s),_=(g-o)*(g-o)+(y-s)*(y-s);return m<_?(l[0]=d,l[1]=p,Math.sqrt(m)):(l[0]=g,l[1]=y,Math.sqrt(_))}function Of(r,e,t,a,n,i,o,s){var l=n-r,u=i-e,f=t-r,h=a-e,v=Math.sqrt(f*f+h*h);f/=v,h/=v;var c=l*f+u*h,d=c/v;s&&(d=Math.min(Math.max(d,0),1)),d*=v;var p=o[0]=r+d*f,g=o[1]=e+d*h;return Math.sqrt((p-n)*(p-n)+(g-i)*(g-i))}function rD(r,e,t,a,n,i,o){t<0&&(r=r+t,t=-t),a<0&&(e=e+a,a=-a);var s=r+t,l=e+a,u=o[0]=Math.min(Math.max(n,r),s),f=o[1]=Math.min(Math.max(i,e),l);return Math.sqrt((u-n)*(u-n)+(f-i)*(f-i))}var Tr=[];function H5(r,e,t){var a=rD(e.x,e.y,e.width,e.height,r.x,r.y,Tr);return t.set(Tr[0],Tr[1]),a}function W5(r,e,t){for(var a=0,n=0,i=0,o=0,s,l,u=1/0,f=e.data,h=r.x,v=r.y,c=0;c<f.length;){var d=f[c++];c===1&&(a=f[c],n=f[c+1],i=a,o=n);var p=u;switch(d){case kn.M:i=f[c++],o=f[c++],a=i,n=o;break;case kn.L:p=Of(a,n,f[c],f[c+1],h,v,Tr,!0),a=f[c++],n=f[c++];break;case kn.C:p=zw(a,n,f[c++],f[c++],f[c++],f[c++],f[c],f[c+1],h,v,Tr),a=f[c++],n=f[c++];break;case kn.Q:p=Fw(a,n,f[c++],f[c++],f[c],f[c+1],h,v,Tr),a=f[c++],n=f[c++];break;case kn.A:var g=f[c++],y=f[c++],m=f[c++],_=f[c++],S=f[c++],b=f[c++];c+=1;var x=!!(1-f[c++]);s=Math.cos(S)*m+g,l=Math.sin(S)*_+y,c<=1&&(i=s,o=l);var w=(h-g)*_/m+g;p=F5(g,y,_,S,S+b,x,w,v,Tr),a=Math.cos(S+b)*m+g,n=Math.sin(S+b)*_+y;break;case kn.R:i=a=f[c++],o=n=f[c++];var T=f[c++],A=f[c++];p=rD(i,o,T,A,h,v,Tr);break;case kn.Z:p=Of(a,n,i,o,h,v,Tr,!0),a=i,n=o;break}p<u&&(u=p,t.set(Tr[0],Tr[1]))}return u}var Cr=new pt,Vt=new pt,Xt=new pt,$r=new pt,Hr=new pt;function n1(r,e){if(r){var t=r.getTextGuideLine(),a=r.getTextContent();if(a&&t){var n=r.textGuideLineConfig||{},i=[[0,0],[0,0],[0,0]],o=n.candidates||z5,s=a.getBoundingRect().clone();s.applyTransform(a.getComputedTransform());var l=1/0,u=n.anchor,f=r.getComputedTransform(),h=f&&To([],f),v=e.get("length2")||0;u&&Xt.copy(u);for(var c=0;c<o.length;c++){var d=o[c];G5(d,0,s,Cr,$r),pt.scaleAndAdd(Vt,Cr,$r,v),Vt.transform(h);var p=r.getBoundingRect(),g=u?u.distance(Vt):r instanceof St?W5(Vt,r.path,Xt):H5(Vt,p,Xt);g<l&&(l=g,Vt.transform(f),Xt.transform(f),Xt.toArray(i[0]),Vt.toArray(i[1]),Cr.toArray(i[2]))}aD(i,e.get("minTurnAngle")),t.setShape({points:i})}}}var Nf=[],Le=new pt;function aD(r,e){if(e<=180&&e>0){e=e/180*Math.PI,Cr.fromArray(r[0]),Vt.fromArray(r[1]),Xt.fromArray(r[2]),pt.sub($r,Cr,Vt),pt.sub(Hr,Xt,Vt);var t=$r.len(),a=Hr.len();if(!(t<.001||a<.001)){$r.scale(1/t),Hr.scale(1/a);var n=$r.dot(Hr),i=Math.cos(e);if(i<n){var o=Of(Vt.x,Vt.y,Xt.x,Xt.y,Cr.x,Cr.y,Nf,!1);Le.fromArray(Nf),Le.scaleAndAdd(Hr,o/Math.tan(Math.PI-e));var s=Xt.x!==Vt.x?(Le.x-Vt.x)/(Xt.x-Vt.x):(Le.y-Vt.y)/(Xt.y-Vt.y);if(isNaN(s))return;s<0?pt.copy(Le,Vt):s>1&&pt.copy(Le,Xt),Le.toArray(r[1])}}}}function U5(r,e,t){if(t<=180&&t>0){t=t/180*Math.PI,Cr.fromArray(r[0]),Vt.fromArray(r[1]),Xt.fromArray(r[2]),pt.sub($r,Vt,Cr),pt.sub(Hr,Xt,Vt);var a=$r.len(),n=Hr.len();if(!(a<.001||n<.001)){$r.scale(1/a),Hr.scale(1/n);var i=$r.dot(e),o=Math.cos(t);if(i<o){var s=Of(Vt.x,Vt.y,Xt.x,Xt.y,Cr.x,Cr.y,Nf,!1);Le.fromArray(Nf);var l=Math.PI/2,u=Math.acos(Hr.dot(e)),f=l+u-t;if(f>=l)pt.copy(Le,Xt);else{Le.scaleAndAdd(Hr,s/Math.tan(Math.PI/2-f));var h=Xt.x!==Vt.x?(Le.x-Vt.x)/(Xt.x-Vt.x):(Le.y-Vt.y)/(Xt.y-Vt.y);if(isNaN(h))return;h<0?pt.copy(Le,Vt):h>1&&pt.copy(Le,Xt)}Le.toArray(r[1])}}}}function rc(r,e,t,a){var n=t==="normal",i=n?r:r.ensureState(t);i.ignore=e;var o=a.get("smooth");o&&o===!0&&(o=.3),i.shape=i.shape||{},o>0&&(i.shape.smooth=o);var s=a.getModel("lineStyle").getLineStyle();n?r.useStyle(s):i.style=s}function Y5(r,e){var t=e.smooth,a=e.points;if(a)if(r.moveTo(a[0][0],a[0][1]),t>0&&a.length>=3){var n=Wa(a[0],a[1]),i=Wa(a[1],a[2]);if(!n||!i){r.lineTo(a[1][0],a[1][1]),r.lineTo(a[2][0],a[2][1]);return}var o=Math.min(n,i)*t,s=Wu([],a[1],a[0],o/n),l=Wu([],a[1],a[2],o/i),u=Wu([],s,l,.5);r.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),r.bezierCurveTo(l[0],l[1],l[0],l[1],a[2][0],a[2][1])}else for(var f=1;f<a.length;f++)r.lineTo(a[f][0],a[f][1])}function ly(r,e,t){var a=r.getTextGuideLine(),n=r.getTextContent();if(!n){a&&r.removeTextGuideLine();return}for(var i=e.normal,o=i.get("show"),s=n.ignore,l=0;l<Xs.length;l++){var u=Xs[l],f=e[u],h=u==="normal";if(f){var v=f.get("show"),c=h?s:vt(n.states[u]&&n.states[u].ignore,s);if(c||!vt(v,o)){var d=h?a:a&&a.states[u];d&&(d.ignore=!0),a&&rc(a,!0,u,f);continue}a||(a=new Be,r.setTextGuideLine(a),!h&&(s||!o)&&rc(a,!0,"normal",e.normal),r.stateProxy&&(a.stateProxy=r.stateProxy)),rc(a,!1,u,f)}}if(a){ot(a.style,t),a.style.fill=null;var p=i.get("showAbove"),g=r.textGuideLineConfig=r.textGuideLineConfig||{};g.showAbove=p||!1,a.buildPath=Y5}}function uy(r,e){e=e||"labelLine";for(var t={normal:r.getModel(e)},a=0;a<ke.length;a++){var n=ke[a];t[n]=r.getModel([n,e])}return t}function nD(r){for(var e=[],t=0;t<r.length;t++){var a=r[t];if(!a.defaultAttr.ignore){var n=a.label,i=n.getComputedTransform(),o=n.getBoundingRect(),s=!i||i[1]<1e-5&&i[2]<1e-5,l=n.style.margin||0,u=o.clone();u.applyTransform(i),u.x-=l/2,u.y-=l/2,u.width+=l,u.height+=l;var f=s?new Sf(o,i):null;e.push({label:n,labelLine:a.labelLine,rect:u,localRect:o,obb:f,priority:a.priority,defaultAttr:a.defaultAttr,layoutOption:a.computedLayoutOption,axisAligned:s,transform:i})}}return e}function iD(r,e,t,a,n,i){var o=r.length;if(o<2)return;r.sort(function(x,w){return x.rect[e]-w.rect[e]});for(var s=0,l,u=!1,f=0;f<o;f++){var h=r[f],v=h.rect;l=v[e]-s,l<0&&(v[e]-=l,h.label[e]-=l,u=!0),s=v[e]+v[t]}var c=r[0],d=r[o-1],p,g;y(),p<0&&S(-p,.8),g<0&&S(g,.8),y(),m(p,g,1),m(g,p,-1),y(),p<0&&b(-p),g<0&&b(g);function y(){p=c.rect[e]-a,g=n-d.rect[e]-d.rect[t]}function m(x,w,T){if(x<0){var A=Math.min(w,-x);if(A>0){_(A*T,0,o);var C=A+x;C<0&&S(-C*T,1)}else S(-x*T,1)}}function _(x,w,T){x!==0&&(u=!0);for(var A=w;A<T;A++){var C=r[A],M=C.rect;M[e]+=x,C.label[e]+=x}}function S(x,w){for(var T=[],A=0,C=1;C<o;C++){var M=r[C-1].rect,L=Math.max(r[C].rect[e]-M[e]-M[t],0);T.push(L),A+=L}if(A){var I=Math.min(Math.abs(x)/A,w);if(x>0)for(var C=0;C<o-1;C++){var P=T[C]*I;_(P,0,C+1)}else for(var C=o-1;C>0;C--){var P=T[C-1]*I;_(-P,C,o)}}}function b(x){var w=x<0?-1:1;x=Math.abs(x);for(var T=Math.ceil(x/(o-1)),A=0;A<o-1;A++)if(w>0?_(T,0,A+1):_(-T,o-A-1,o),x-=T,x<=0)return}return u}function $5(r,e,t,a){return iD(r,"x","width",e,t)}function oD(r,e,t,a){return iD(r,"y","height",e,t)}function sD(r){var e=[];r.sort(function(p,g){return g.priority-p.priority});var t=new gt(0,0,0,0);function a(p){if(!p.ignore){var g=p.ensureState("emphasis");g.ignore==null&&(g.ignore=!1)}p.ignore=!0}for(var n=0;n<r.length;n++){var i=r[n],o=i.axisAligned,s=i.localRect,l=i.transform,u=i.label,f=i.labelLine;t.copy(i.rect),t.width-=.1,t.height-=.1,t.x+=.05,t.y+=.05;for(var h=i.obb,v=!1,c=0;c<e.length;c++){var d=e[c];if(t.intersect(d.rect)){if(o&&d.axisAligned){v=!0;break}if(d.obb||(d.obb=new Sf(d.localRect,d.transform)),h||(h=new Sf(s,l)),h.intersect(d.obb)){v=!0;break}}}v?(a(u),f&&a(f)):(u.attr("ignore",i.defaultAttr.ignore),f&&f.attr("ignore",i.defaultAttr.labelGuideIgnore),e.push(i))}}function Z5(r){if(r){for(var e=[],t=0;t<r.length;t++)e.push(r[t].slice());return e}}function X5(r,e){var t=r.label,a=e&&e.getTextGuideLine();return{dataIndex:r.dataIndex,dataType:r.dataType,seriesIndex:r.seriesModel.seriesIndex,text:r.label.style.text,rect:r.hostRect,labelRect:r.rect,align:t.style.align,verticalAlign:t.style.verticalAlign,labelLinePoints:Z5(a&&a.shape.points)}}var i1=["align","verticalAlign","width","height","fontSize"],Ce=new la,ac=At(),q5=At();function yu(r,e,t){for(var a=0;a<t.length;a++){var n=t[a];e[n]!=null&&(r[n]=e[n])}}var mu=["x","y","rotation"],K5=function(){function r(){this._labelList=[],this._chartViewList=[]}return r.prototype.clearLabels=function(){this._labelList=[],this._chartViewList=[]},r.prototype._addLabel=function(e,t,a,n,i){var o=n.style,s=n.__hostTarget,l=s.textConfig||{},u=n.getComputedTransform(),f=n.getBoundingRect().plain();gt.applyTransform(f,f,u),u?Ce.setLocalTransform(u):(Ce.x=Ce.y=Ce.rotation=Ce.originX=Ce.originY=0,Ce.scaleX=Ce.scaleY=1),Ce.rotation=Xe(Ce.rotation);var h=n.__hostTarget,v;if(h){v=h.getBoundingRect().plain();var c=h.getComputedTransform();gt.applyTransform(v,v,c)}var d=v&&h.getTextGuideLine();this._labelList.push({label:n,labelLine:d,seriesModel:a,dataIndex:e,dataType:t,layoutOption:i,computedLayoutOption:null,rect:f,hostRect:v,priority:v?v.width*v.height:0,defaultAttr:{ignore:n.ignore,labelGuideIgnore:d&&d.ignore,x:Ce.x,y:Ce.y,scaleX:Ce.scaleX,scaleY:Ce.scaleY,rotation:Ce.rotation,style:{x:o.x,y:o.y,align:o.align,verticalAlign:o.verticalAlign,width:o.width,height:o.height,fontSize:o.fontSize},cursor:n.cursor,attachedPos:l.position,attachedRot:l.rotation}})},r.prototype.addLabelsOfSeries=function(e){var t=this;this._chartViewList.push(e);var a=e.__model,n=a.get("labelLayout");(nt(n)||wt(n).length)&&e.group.traverse(function(i){if(i.ignore)return!0;var o=i.getTextContent(),s=ht(i);o&&!o.disableLabelLayout&&t._addLabel(s.dataIndex,s.dataType,a,o,n)})},r.prototype.updateLayoutConfig=function(e){var t=e.getWidth(),a=e.getHeight();function n(_,S){return function(){n1(_,S)}}for(var i=0;i<this._labelList.length;i++){var o=this._labelList[i],s=o.label,l=s.__hostTarget,u=o.defaultAttr,f=void 0;nt(o.layoutOption)?f=o.layoutOption(X5(o,l)):f=o.layoutOption,f=f||{},o.computedLayoutOption=f;var h=Math.PI/180;l&&l.setTextConfig({local:!1,position:f.x!=null||f.y!=null?null:u.attachedPos,rotation:f.rotate!=null?f.rotate*h:u.attachedRot,offset:[f.dx||0,f.dy||0]});var v=!1;if(f.x!=null?(s.x=X(f.x,t),s.setStyle("x",0),v=!0):(s.x=u.x,s.setStyle("x",u.style.x)),f.y!=null?(s.y=X(f.y,a),s.setStyle("y",0),v=!0):(s.y=u.y,s.setStyle("y",u.style.y)),f.labelLinePoints){var c=l.getTextGuideLine();c&&(c.setShape({points:f.labelLinePoints}),v=!1)}var d=ac(s);d.needsUpdateLabelLine=v,s.rotation=f.rotate!=null?f.rotate*h:u.rotation,s.scaleX=u.scaleX,s.scaleY=u.scaleY;for(var p=0;p<i1.length;p++){var g=i1[p];s.setStyle(g,f[g]!=null?f[g]:u.style[g])}if(f.draggable){if(s.draggable=!0,s.cursor="move",l){var y=o.seriesModel;if(o.dataIndex!=null){var m=o.seriesModel.getData(o.dataType);y=m.getItemModel(o.dataIndex)}s.on("drag",n(l,y.getModel("labelLine")))}}else s.off("drag"),s.cursor=u.cursor}},r.prototype.layout=function(e){var t=e.getWidth(),a=e.getHeight(),n=nD(this._labelList),i=Pt(n,function(l){return l.layoutOption.moveOverlap==="shiftX"}),o=Pt(n,function(l){return l.layoutOption.moveOverlap==="shiftY"});$5(i,0,t),oD(o,0,a);var s=Pt(n,function(l){return l.layoutOption.hideOverlap});sD(s)},r.prototype.processLabelsOverall=function(){var e=this;D(this._chartViewList,function(t){var a=t.__model,n=t.ignoreLabelLineUpdate,i=a.isAnimationEnabled();t.group.traverse(function(o){if(o.ignore&&!o.forceLabelAnimation)return!0;var s=!n,l=o.getTextContent();!s&&l&&(s=ac(l).needsUpdateLabelLine),s&&e._updateLabelLine(o,a),i&&e._animateLabels(o,a)})})},r.prototype._updateLabelLine=function(e,t){var a=e.getTextContent(),n=ht(e),i=n.dataIndex;if(a&&i!=null){var o=t.getData(n.dataType),s=o.getItemModel(i),l={},u=o.getItemVisual(i,"style");if(u){var f=o.getVisual("drawType");l.stroke=u[f]}var h=s.getModel("labelLine");ly(e,uy(s),l),n1(e,h)}},r.prototype._animateLabels=function(e,t){var a=e.getTextContent(),n=e.getTextGuideLine();if(a&&(e.forceLabelAnimation||!a.ignore&&!a.invisible&&!e.disableLabelAnimation&&!io(e))){var i=ac(a),o=i.oldLayout,s=ht(e),l=s.dataIndex,u={x:a.x,y:a.y,rotation:a.rotation},f=t.getData(s.dataType);if(o){a.attr(o);var v=e.prevStates;v&&(yt(v,"select")>=0&&a.attr(i.oldLayoutSelect),yt(v,"emphasis")>=0&&a.attr(i.oldLayoutEmphasis)),Mt(a,u,t,l)}else if(a.attr(u),!Mo(a).valueAnimation){var h=vt(a.style.opacity,1);a.style.opacity=0,Ft(a,{style:{opacity:h}},t,l)}if(i.oldLayout=u,a.states.select){var c=i.oldLayoutSelect={};yu(c,u,mu),yu(c,a.states.select,mu)}if(a.states.emphasis){var d=i.oldLayoutEmphasis={};yu(d,u,mu),yu(d,a.states.emphasis,mu)}QT(a,l,f,t,t)}if(n&&!n.ignore&&!n.invisible){var i=q5(n),o=i.oldLayout,p={points:n.shape.points};o?(n.attr({shape:o}),Mt(n,{shape:p},t)):(n.setShape(p),n.style.strokePercent=0,Ft(n,{style:{strokePercent:1}},t)),i.oldLayout=p}},r}(),nc=At();function J5(r){r.registerUpdateLifecycle("series:beforeupdate",function(e,t,a){var n=nc(t).labelManager;n||(n=nc(t).labelManager=new K5),n.clearLabels()}),r.registerUpdateLifecycle("series:layoutlabels",function(e,t,a){var n=nc(t).labelManager;a.updatedSeries.forEach(function(i){n.addLabelsOfSeries(t.getViewOfSeriesModel(i))}),n.updateLayoutConfig(t),n.layout(t),n.processLabelsOverall()})}var ic=Math.sin,oc=Math.cos,lD=Math.PI,On=Math.PI*2,Q5=180/lD,uD=function(){function r(){}return r.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},r.prototype.moveTo=function(e,t){this._add("M",e,t)},r.prototype.lineTo=function(e,t){this._add("L",e,t)},r.prototype.bezierCurveTo=function(e,t,a,n,i,o){this._add("C",e,t,a,n,i,o)},r.prototype.quadraticCurveTo=function(e,t,a,n){this._add("Q",e,t,a,n)},r.prototype.arc=function(e,t,a,n,i,o){this.ellipse(e,t,a,a,0,n,i,o)},r.prototype.ellipse=function(e,t,a,n,i,o,s,l){var u=s-o,f=!l,h=Math.abs(u),v=Xa(h-On)||(f?u>=On:-u>=On),c=u>0?u%On:u%On+On,d=!1;v?d=!0:Xa(h)?d=!1:d=c>=lD==!!f;var p=e+a*oc(o),g=t+n*ic(o);this._start&&this._add("M",p,g);var y=Math.round(i*Q5);if(v){var m=1/this._p,_=(f?1:-1)*(On-m);this._add("A",a,n,y,1,+f,e+a*oc(o+_),t+n*ic(o+_)),m>.01&&this._add("A",a,n,y,0,+f,p,g)}else{var S=e+a*oc(s),b=t+n*ic(s);this._add("A",a,n,y,+d,+f,S,b)}},r.prototype.rect=function(e,t,a,n){this._add("M",e,t),this._add("l",a,0),this._add("l",0,n),this._add("l",-a,0),this._add("Z")},r.prototype.closePath=function(){this._d.length>0&&this._add("Z")},r.prototype._add=function(e,t,a,n,i,o,s,l,u){for(var f=[],h=this._p,v=1;v<arguments.length;v++){var c=arguments[v];if(isNaN(c)){this._invalid=!0;return}f.push(Math.round(c*h)/h)}this._d.push(e+f.join(" ")),this._start=e==="Z"},r.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(""),this._d=[]},r.prototype.getStr=function(){return this._str},r}(),fy="none",j5=Math.round;function tB(r){var e=r.fill;return e!=null&&e!==fy}function eB(r){var e=r.stroke;return e!=null&&e!==fy}var yp=["lineCap","miterLimit","lineJoin"],rB=H(yp,function(r){return"stroke-"+r.toLowerCase()});function aB(r,e,t,a){var n=e.opacity==null?1:e.opacity;if(t instanceof ce){r("opacity",n);return}if(tB(e)){var i=Ys(e.fill);r("fill",i.color);var o=e.fillOpacity!=null?e.fillOpacity*i.opacity*n:i.opacity*n;o<1&&r("fill-opacity",o)}else r("fill",fy);if(eB(e)){var s=Ys(e.stroke);r("stroke",s.color);var l=e.strokeNoScale?t.getLineScale():1,u=l?(e.lineWidth||0)/l:0,f=e.strokeOpacity!=null?e.strokeOpacity*s.opacity*n:s.opacity*n,h=e.strokeFirst;if(u!==1&&r("stroke-width",u),h&&r("paint-order",h?"stroke":"fill"),f<1&&r("stroke-opacity",f),e.lineDash){var v=Jg(t),c=v[0],d=v[1];c&&(d=j5(d||0),r("stroke-dasharray",c.join(",")),(d||a)&&r("stroke-dashoffset",d))}for(var p=0;p<yp.length;p++){var g=yp[p];if(e[g]!==mf[g]){var y=e[g]||mf[g];y&&r(rB[p],y)}}}}var fD="http://www.w3.org/2000/svg",hD="http://www.w3.org/1999/xlink",nB="http://www.w3.org/2000/xmlns/",iB="http://www.w3.org/XML/1998/namespace",o1="ecmeta_";function vD(r){return document.createElementNS(fD,r)}function oe(r,e,t,a,n){return{tag:r,attrs:t||{},children:a,text:n,key:e}}function oB(r,e){var t=[];if(e)for(var a in e){var n=e[a],i=a;n!==!1&&(n!==!0&&n!=null&&(i+='="'+n+'"'),t.push(i))}return"<"+r+" "+t.join(" ")+">"}function sB(r){return"</"+r+">"}function hy(r,e){e=e||{};var t=e.newline?` +`:"";function a(n){var i=n.children,o=n.tag,s=n.attrs,l=n.text;return oB(o,s)+(o!=="style"?Ie(l):l||"")+(i?""+t+H(i,function(u){return a(u)}).join(t)+t:"")+sB(o)}return a(r)}function lB(r,e,t){t=t||{};var a=t.newline?` +`:"",n=" {"+a,i=a+"}",o=H(wt(r),function(l){return l+n+H(wt(r[l]),function(u){return u+":"+r[l][u]+";"}).join(a)+i}).join(a),s=H(wt(e),function(l){return"@keyframes "+l+n+H(wt(e[l]),function(u){return u+n+H(wt(e[l][u]),function(f){var h=e[l][u][f];return f==="d"&&(h='path("'+h+'")'),f+":"+h+";"}).join(a)+i}).join(a)+i}).join(a);return!o&&!s?"":["<![CDATA[",o,s,"]]>"].join(a)}function mp(r){return{zrId:r,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function s1(r,e,t,a){return oe("svg","root",{width:r,height:e,xmlns:fD,"xmlns:xlink":hD,version:"1.1",baseProfile:"full",viewBox:a?"0 0 "+r+" "+e:!1},t)}var uB=0;function cD(){return uB++}var l1={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},Vn="transform-origin";function fB(r,e,t){var a=V({},r.shape);V(a,e),r.buildPath(t,a);var n=new uD;return n.reset(Xw(r)),t.rebuildPath(n,1),n.generateStr(),n.getStr()}function hB(r,e){var t=e.originX,a=e.originY;(t||a)&&(r[Vn]=t+"px "+a+"px")}var vB={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function dD(r,e){var t=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[t]=r,t}function cB(r,e,t){var a=r.shape.paths,n={},i,o;if(D(a,function(l){var u=mp(t.zrId);u.animation=!0,Nh(l,{},u,!0);var f=u.cssAnims,h=u.cssNodes,v=wt(f),c=v.length;if(c){o=v[c-1];var d=f[o];for(var p in d){var g=d[p];n[p]=n[p]||{d:""},n[p].d+=g.d||""}for(var y in h){var m=h[y].animation;m.indexOf(o)>=0&&(i=m)}}}),!!i){e.d=!1;var s=dD(n,t);return i.replace(o,s)}}function u1(r){return K(r)?l1[r]?"cubic-bezier("+l1[r]+")":gg(r)?r:"":""}function Nh(r,e,t,a){var n=r.animators,i=n.length,o=[];if(r instanceof Pg){var s=cB(r,e,t);if(s)o.push(s);else if(!i)return}else if(!i)return;for(var l={},u=0;u<i;u++){var f=n[u],h=[f.getMaxTime()/1e3+"s"],v=u1(f.getClip().easing),c=f.getDelay();v?h.push(v):h.push("linear"),c&&h.push(c/1e3+"s"),f.getLoop()&&h.push("infinite");var d=h.join(" ");l[d]=l[d]||[d,[]],l[d][1].push(f)}function p(m){var _=m[1],S=_.length,b={},x={},w={},T="animation-timing-function";function A(tt,q,it){for(var Q=tt.getTracks(),F=tt.getMaxTime(),Lt=0;Lt<Q.length;Lt++){var _t=Q[Lt];if(_t.needsAnimate()){var kt=_t.keyframes,Ht=_t.propName;if(it&&(Ht=it(Ht)),Ht)for(var ae=0;ae<kt.length;ae++){var Ye=kt[ae],Ve=Math.round(Ye.time/F*100)+"%",cn=u1(Ye.easing),Ca=Ye.rawValue;(K(Ca)||Dt(Ca))&&(q[Ve]=q[Ve]||{},q[Ve][Ht]=Ye.rawValue,cn&&(q[Ve][T]=cn))}}}}for(var C=0;C<S;C++){var M=_[C],L=M.targetName;L?L==="shape"&&A(M,x):!a&&A(M,b)}for(var I in b){var P={};jw(P,r),V(P,b[I]);var R=qw(P),E=b[I][T];w[I]=R?{transform:R}:{},hB(w[I],P),E&&(w[I][T]=E)}var N,O=!0;for(var I in x){w[I]=w[I]||{};var B=!N,E=x[I][T];B&&(N=new jr);var G=N.len();N.reset(),w[I].d=fB(r,x[I],N);var U=N.len();if(!B&&G!==U){O=!1;break}E&&(w[I][T]=E)}if(!O)for(var I in w)delete w[I].d;if(!a)for(var C=0;C<S;C++){var M=_[C],L=M.targetName;L==="style"&&A(M,w,function(Q){return vB[Q]})}for(var Z=wt(w),rt=!0,at,C=1;C<Z.length;C++){var W=Z[C-1],Y=Z[C];if(w[W][Vn]!==w[Y][Vn]){rt=!1;break}at=w[W][Vn]}if(rt&&at){for(var I in w)w[I][Vn]&&delete w[I][Vn];e[Vn]=at}if(Pt(Z,function(tt){return wt(w[tt]).length>0}).length){var ft=dD(w,t);return ft+" "+m[0]+" both"}}for(var g in l){var s=p(l[g]);s&&o.push(s)}if(o.length){var y=t.zrId+"-cls-"+cD();t.cssNodes["."+y]={animation:o.join(",")},e.class=y}}function dB(r,e,t){if(!r.ignore)if(r.isSilent()){var a={"pointer-events":"none"};f1(a,e,t)}else{var n=r.states.emphasis&&r.states.emphasis.style?r.states.emphasis.style:{},i=n.fill;if(!i){var o=r.style&&r.style.fill,s=r.states.select&&r.states.select.style&&r.states.select.style.fill,l=r.currentStates.indexOf("select")>=0&&s||o;l&&(i=Id(l))}var u=n.lineWidth;if(u){var f=!n.strokeNoScale&&r.transform?r.transform[0]:1;u=u/f}var a={cursor:"pointer"};i&&(a.fill=i),n.stroke&&(a.stroke=n.stroke),u&&(a["stroke-width"]=u),f1(a,e,t)}}function f1(r,e,t,a){var n=JSON.stringify(r),i=t.cssStyleCache[n];i||(i=t.zrId+"-cls-"+cD(),t.cssStyleCache[n]=i,t.cssNodes["."+i+":hover"]=r),e.class=e.class?e.class+" "+i:i}var nl=Math.round;function pD(r){return r&&K(r.src)}function gD(r){return r&&nt(r.toDataURL)}function vy(r,e,t,a){aB(function(n,i){var o=n==="fill"||n==="stroke";o&&Zw(i)?mD(e,r,n,a):o&&yg(i)?_D(t,r,n,a):r[n]=i,o&&a.ssr&&i==="none"&&(r["pointer-events"]="visible")},e,t,!1),xB(t,r,a)}function cy(r,e){var t=vP(e);t&&(t.each(function(a,n){a!=null&&(r[(o1+n).toLowerCase()]=a+"")}),e.isSilent()&&(r[o1+"silent"]="true"))}function h1(r){return Xa(r[0]-1)&&Xa(r[1])&&Xa(r[2])&&Xa(r[3]-1)}function pB(r){return Xa(r[4])&&Xa(r[5])}function dy(r,e,t){if(e&&!(pB(e)&&h1(e))){var a=1e4;r.transform=h1(e)?"translate("+nl(e[4]*a)/a+" "+nl(e[5]*a)/a+")":OI(e)}}function v1(r,e,t){for(var a=r.points,n=[],i=0;i<a.length;i++)n.push(nl(a[i][0]*t)/t),n.push(nl(a[i][1]*t)/t);e.points=n.join(" ")}function c1(r){return!r.smooth}function gB(r){var e=H(r,function(t){return typeof t=="string"?[t,t]:t});return function(t,a,n){for(var i=0;i<e.length;i++){var o=e[i],s=t[o[0]];s!=null&&(a[o[1]]=nl(s*n)/n)}}}var yB={circle:[gB(["cx","cy","r"])],polyline:[v1,c1],polygon:[v1,c1]};function mB(r){for(var e=r.animators,t=0;t<e.length;t++)if(e[t].targetName==="shape")return!0;return!1}function yD(r,e){var t=r.style,a=r.shape,n=yB[r.type],i={},o=e.animation,s="path",l=r.style.strokePercent,u=e.compress&&Xw(r)||4;if(n&&!e.willUpdate&&!(n[1]&&!n[1](a))&&!(o&&mB(r))&&!(l<1)){s=r.type;var f=Math.pow(10,u);n[0](a,i,f)}else{var h=!r.path||r.shapeChanged();r.path||r.createPathProxy();var v=r.path;h&&(v.beginPath(),r.buildPath(v,r.shape),r.pathUpdated());var c=v.getVersion(),d=r,p=d.__svgPathBuilder;(d.__svgPathVersion!==c||!p||l!==d.__svgPathStrokePercent)&&(p||(p=d.__svgPathBuilder=new uD),p.reset(u),v.rebuildPath(p,l),p.generateStr(),d.__svgPathVersion=c,d.__svgPathStrokePercent=l),i.d=p.getStr()}return dy(i,r.transform),vy(i,t,r,e),cy(i,r),e.animation&&Nh(r,i,e),e.emphasis&&dB(r,i,e),oe(s,r.id+"",i)}function _B(r,e){var t=r.style,a=t.image;if(a&&!K(a)&&(pD(a)?a=a.src:gD(a)&&(a=a.toDataURL())),!!a){var n=t.x||0,i=t.y||0,o=t.width,s=t.height,l={href:a,width:o,height:s};return n&&(l.x=n),i&&(l.y=i),dy(l,r.transform),vy(l,t,r,e),cy(l,r),e.animation&&Nh(r,l,e),oe("image",r.id+"",l)}}function SB(r,e){var t=r.style,a=t.text;if(a!=null&&(a+=""),!(!a||isNaN(t.x)||isNaN(t.y))){var n=t.font||rn,i=t.x||0,o=BI(t.y||0,lh(n),t.textBaseline),s=NI[t.textAlign]||t.textAlign,l={"dominant-baseline":"central","text-anchor":s};if(AT(t)){var u="",f=t.fontStyle,h=TT(t.fontSize);if(!parseFloat(h))return;var v=t.fontFamily||Tw,c=t.fontWeight;u+="font-size:"+h+";font-family:"+v+";",f&&f!=="normal"&&(u+="font-style:"+f+";"),c&&c!=="normal"&&(u+="font-weight:"+c+";"),l.style=u}else l.style="font: "+n;return a.match(/\s/)&&(l["xml:space"]="preserve"),i&&(l.x=i),o&&(l.y=o),dy(l,r.transform),vy(l,t,r,e),cy(l,r),e.animation&&Nh(r,l,e),oe("text",r.id+"",l,void 0,a)}}function d1(r,e){if(r instanceof St)return yD(r,e);if(r instanceof ce)return _B(r,e);if(r instanceof ho)return SB(r,e)}function xB(r,e,t){var a=r.style;if(VI(a)){var n=zI(r),i=t.shadowCache,o=i[n];if(!o){var s=r.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var f=a.shadowOffsetX||0,h=a.shadowOffsetY||0,v=a.shadowBlur,c=Ys(a.shadowColor),d=c.opacity,p=c.color,g=v/2/l,y=v/2/u,m=g+" "+y;o=t.zrId+"-s"+t.shadowIdx++,t.defs[o]=oe("filter",o,{id:o,x:"-100%",y:"-100%",width:"300%",height:"300%"},[oe("feDropShadow","",{dx:f/l,dy:h/u,stdDeviation:m,"flood-color":p,"flood-opacity":d})]),i[n]=o}e.filter=sh(o)}}function mD(r,e,t,a){var n=r[t],i,o={gradientUnits:n.global?"userSpaceOnUse":"objectBoundingBox"};if(Yw(n))i="linearGradient",o.x1=n.x,o.y1=n.y,o.x2=n.x2,o.y2=n.y2;else if($w(n))i="radialGradient",o.cx=vt(n.x,.5),o.cy=vt(n.y,.5),o.r=vt(n.r,.5);else return;for(var s=n.colorStops,l=[],u=0,f=s.length;u<f;++u){var h=Pd(s[u].offset)*100+"%",v=s[u].color,c=Ys(v),d=c.color,p=c.opacity,g={offset:h};g["stop-color"]=d,p<1&&(g["stop-opacity"]=p),l.push(oe("stop",u+"",g))}var y=oe(i,"",o,l),m=hy(y),_=a.gradientCache,S=_[m];S||(S=a.zrId+"-g"+a.gradientIdx++,_[m]=S,o.id=S,a.defs[S]=oe(i,S,o,l)),e[t]=sh(S)}function _D(r,e,t,a){var n=r.style[t],i=r.getBoundingRect(),o={},s=n.repeat,l=s==="no-repeat",u=s==="repeat-x",f=s==="repeat-y",h;if(Uw(n)){var v=n.imageWidth,c=n.imageHeight,d=void 0,p=n.image;if(K(p)?d=p:pD(p)?d=p.src:gD(p)&&(d=p.toDataURL()),typeof Image>"u"){var g="Image width/height must been given explictly in svg-ssr renderer.";Ee(v,g),Ee(c,g)}else if(v==null||c==null){var y=function(C,M){if(C){var L=C.elm,I=v||M.width,P=c||M.height;C.tag==="pattern"&&(u?(P=1,I/=i.width):f&&(I=1,P/=i.height)),C.attrs.width=I,C.attrs.height=P,L&&(L.setAttribute("width",I),L.setAttribute("height",P))}},m=wg(d,null,r,function(C){l||y(x,C),y(h,C)});m&&m.width&&m.height&&(v=v||m.width,c=c||m.height)}h=oe("image","img",{href:d,width:v,height:c}),o.width=v,o.height=c}else n.svgElement&&(h=lt(n.svgElement),o.width=n.svgWidth,o.height=n.svgHeight);if(h){var _,S;l?_=S=1:u?(S=1,_=o.width/i.width):f?(_=1,S=o.height/i.height):o.patternUnits="userSpaceOnUse",_!=null&&!isNaN(_)&&(o.width=_),S!=null&&!isNaN(S)&&(o.height=S);var b=qw(n);b&&(o.patternTransform=b);var x=oe("pattern","",o,[h]),w=hy(x),T=a.patternCache,A=T[w];A||(A=a.zrId+"-p"+a.patternIdx++,T[w]=A,o.id=A,x=a.defs[A]=oe("pattern",A,o,[h])),e[t]=sh(A)}}function bB(r,e,t){var a=t.clipPathCache,n=t.defs,i=a[r.id];if(!i){i=t.zrId+"-c"+t.clipPathIdx++;var o={id:i};a[r.id]=i,n[i]=oe("clipPath",i,o,[yD(r,t)])}e["clip-path"]=sh(i)}function p1(r){return document.createTextNode(r)}function Yn(r,e,t){r.insertBefore(e,t)}function g1(r,e){r.removeChild(e)}function y1(r,e){r.appendChild(e)}function SD(r){return r.parentNode}function xD(r){return r.nextSibling}function sc(r,e){r.textContent=e}var m1=58,wB=120,TB=oe("","");function _p(r){return r===void 0}function Gr(r){return r!==void 0}function AB(r,e,t){for(var a={},n=e;n<=t;++n){var i=r[n].key;i!==void 0&&(a[i]=n)}return a}function Ss(r,e){var t=r.key===e.key,a=r.tag===e.tag;return a&&t}function il(r){var e,t=r.children,a=r.tag;if(Gr(a)){var n=r.elm=vD(a);if(py(TB,r),z(t))for(e=0;e<t.length;++e){var i=t[e];i!=null&&y1(n,il(i))}else Gr(r.text)&&!st(r.text)&&y1(n,p1(r.text))}else r.elm=p1(r.text);return r.elm}function bD(r,e,t,a,n){for(;a<=n;++a){var i=t[a];i!=null&&Yn(r,il(i),e)}}function Bf(r,e,t,a){for(;t<=a;++t){var n=e[t];if(n!=null)if(Gr(n.tag)){var i=SD(n.elm);g1(i,n.elm)}else g1(r,n.elm)}}function py(r,e){var t,a=e.elm,n=r&&r.attrs||{},i=e.attrs||{};if(n!==i){for(t in i){var o=i[t],s=n[t];s!==o&&(o===!0?a.setAttribute(t,""):o===!1?a.removeAttribute(t):t==="style"?a.style.cssText=o:t.charCodeAt(0)!==wB?a.setAttribute(t,o):t==="xmlns:xlink"||t==="xmlns"?a.setAttributeNS(nB,t,o):t.charCodeAt(3)===m1?a.setAttributeNS(iB,t,o):t.charCodeAt(5)===m1?a.setAttributeNS(hD,t,o):a.setAttribute(t,o))}for(t in n)t in i||a.removeAttribute(t)}}function CB(r,e,t){for(var a=0,n=0,i=e.length-1,o=e[0],s=e[i],l=t.length-1,u=t[0],f=t[l],h,v,c,d;a<=i&&n<=l;)o==null?o=e[++a]:s==null?s=e[--i]:u==null?u=t[++n]:f==null?f=t[--l]:Ss(o,u)?(Ji(o,u),o=e[++a],u=t[++n]):Ss(s,f)?(Ji(s,f),s=e[--i],f=t[--l]):Ss(o,f)?(Ji(o,f),Yn(r,o.elm,xD(s.elm)),o=e[++a],f=t[--l]):Ss(s,u)?(Ji(s,u),Yn(r,s.elm,o.elm),s=e[--i],u=t[++n]):(_p(h)&&(h=AB(e,a,i)),v=h[u.key],_p(v)?Yn(r,il(u),o.elm):(c=e[v],c.tag!==u.tag?Yn(r,il(u),o.elm):(Ji(c,u),e[v]=void 0,Yn(r,c.elm,o.elm))),u=t[++n]);(a<=i||n<=l)&&(a>i?(d=t[l+1]==null?null:t[l+1].elm,bD(r,d,t,n,l)):Bf(r,e,a,i))}function Ji(r,e){var t=e.elm=r.elm,a=r.children,n=e.children;r!==e&&(py(r,e),_p(e.text)?Gr(a)&&Gr(n)?a!==n&&CB(t,a,n):Gr(n)?(Gr(r.text)&&sc(t,""),bD(t,null,n,0,n.length-1)):Gr(a)?Bf(t,a,0,a.length-1):Gr(r.text)&&sc(t,""):r.text!==e.text&&(Gr(a)&&Bf(t,a,0,a.length-1),sc(t,e.text)))}function DB(r,e){if(Ss(r,e))Ji(r,e);else{var t=r.elm,a=SD(t);il(e),a!==null&&(Yn(a,e.elm,xD(t)),Bf(a,[r],0,0))}return e}var MB=0,LB=function(){function r(e,t,a){if(this.type="svg",this.refreshHover=_1(),this.configLayer=_1(),this.storage=t,this._opts=a=V({},a),this.root=e,this._id="zr"+MB++,this._oldVNode=s1(a.width,a.height),e&&!a.ssr){var n=this._viewport=document.createElement("div");n.style.cssText="position:relative;overflow:hidden";var i=this._svgDom=this._oldVNode.elm=vD("svg");py(null,this._oldVNode),n.appendChild(i),e.appendChild(n)}this.resize(a.width,a.height)}return r.prototype.getType=function(){return this.type},r.prototype.getViewportRoot=function(){return this._viewport},r.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},r.prototype.getSvgDom=function(){return this._svgDom},r.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",DB(this._oldVNode,e),this._oldVNode=e}},r.prototype.renderOneToVNode=function(e){return d1(e,mp(this._id))},r.prototype.renderToVNode=function(e){e=e||{};var t=this.storage.getDisplayList(!0),a=this._width,n=this._height,i=mp(this._id);i.animation=e.animation,i.willUpdate=e.willUpdate,i.compress=e.compress,i.emphasis=e.emphasis,i.ssr=this._opts.ssr;var o=[],s=this._bgVNode=IB(a,n,this._backgroundColor,i);s&&o.push(s);var l=e.compress?null:this._mainVNode=oe("g","main",{},[]);this._paintList(t,i,l?l.children:o),l&&o.push(l);var u=H(wt(i.defs),function(v){return i.defs[v]});if(u.length&&o.push(oe("defs","defs",{},u)),e.animation){var f=lB(i.cssNodes,i.cssAnims,{newline:!0});if(f){var h=oe("style","stl",{},[],f);o.push(h)}}return s1(a,n,o,e.useViewBox)},r.prototype.renderToString=function(e){return e=e||{},hy(this.renderToVNode({animation:vt(e.cssAnimation,!0),emphasis:vt(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:vt(e.useViewBox,!0)}),{newline:!0})},r.prototype.setBackgroundColor=function(e){this._backgroundColor=e},r.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},r.prototype._paintList=function(e,t,a){for(var n=e.length,i=[],o=0,s,l,u=0,f=0;f<n;f++){var h=e[f];if(!h.invisible){var v=h.__clipPaths,c=v&&v.length||0,d=l&&l.length||0,p=void 0;for(p=Math.max(c-1,d-1);p>=0&&!(v&&l&&v[p]===l[p]);p--);for(var g=d-1;g>p;g--)o--,s=i[o-1];for(var y=p+1;y<c;y++){var m={};bB(v[y],m,t);var _=oe("g","clip-g-"+u++,m,[]);(s?s.children:a).push(_),i[o++]=_,s=_}l=v;var S=d1(h,t);S&&(s?s.children:a).push(S)}}},r.prototype.resize=function(e,t){var a=this._opts,n=this.root,i=this._viewport;if(e!=null&&(a.width=e),t!=null&&(a.height=t),n&&i&&(i.style.display="none",e=ro(n,0,a),t=ro(n,1,a),i.style.display=""),this._width!==e||this._height!==t){if(this._width=e,this._height=t,i){var o=i.style;o.width=e+"px",o.height=t+"px"}if(yg(this._backgroundColor))this.refresh();else{var s=this._svgDom;s&&(s.setAttribute("width",e),s.setAttribute("height",t));var l=this._bgVNode&&this._bgVNode.elm;l&&(l.setAttribute("width",e),l.setAttribute("height",t))}}},r.prototype.getWidth=function(){return this._width},r.prototype.getHeight=function(){return this._height},r.prototype.dispose=function(){this.root&&(this.root.innerHTML=""),this._svgDom=this._viewport=this.storage=this._oldVNode=this._bgVNode=this._mainVNode=null},r.prototype.clear=function(){this._svgDom&&(this._svgDom.innerHTML=null),this._oldVNode=null},r.prototype.toDataURL=function(e){var t=this.renderToString(),a="data:image/svg+xml;";return e?(t=FI(t),t&&a+"base64,"+t):a+"charset=UTF-8,"+encodeURIComponent(t)},r}();function _1(r){return function(){}}function IB(r,e,t,a){var n;if(t&&t!=="none")if(n=oe("rect","bg",{width:r,height:e,x:"0",y:"0"}),Zw(t))mD({fill:t},n.attrs,"fill",a);else if(yg(t))_D({style:{fill:t},dirty:qt,getBoundingRect:function(){return{width:r,height:e}}},n.attrs,"fill",a);else{var i=Ys(t),o=i.color,s=i.opacity;n.attrs.fill=o,s<1&&(n.attrs["fill-opacity"]=s)}return n}function PB(r){r.registerPainter("svg",LB)}function S1(r,e,t){var a=an.createCanvas(),n=e.getWidth(),i=e.getHeight(),o=a.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=n+"px",o.height=i+"px",a.setAttribute("data-zr-dom-id",r)),a.width=n*t,a.height=i*t,a}var lc=function(r){k(e,r);function e(t,a,n){var i=r.call(this)||this;i.motionBlur=!1,i.lastFrameAlpha=.7,i.dpr=1,i.virtual=!1,i.config={},i.incremental=!1,i.zlevel=0,i.maxRepaintRectCount=5,i.__dirty=!0,i.__firstTimePaint=!0,i.__used=!1,i.__drawIndex=0,i.__startIndex=0,i.__endIndex=0,i.__prevStartIndex=null,i.__prevEndIndex=null;var o;n=n||gf,typeof t=="string"?o=S1(t,a,n):st(t)&&(o=t,t=o.id),i.id=t,i.dom=o;var s=o.style;return s&&(Iw(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),i.painter=a,i.dpr=n,i}return e.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},e.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},e.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},e.prototype.setUnpainted=function(){this.__firstTimePaint=!0},e.prototype.createBackBuffer=function(){var t=this.dpr;this.domBack=S1("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),t!==1&&this.ctxBack.scale(t,t)},e.prototype.createRepaintRects=function(t,a,n,i){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new gt(0,0,0,0);function f(m){if(!(!m.isFinite()||m.isZero()))if(o.length===0){var _=new gt(0,0,0,0);_.copy(m),o.push(_)}else{for(var S=!1,b=1/0,x=0,w=0;w<o.length;++w){var T=o[w];if(T.intersect(m)){var A=new gt(0,0,0,0);A.copy(T),A.union(m),o[w]=A,S=!0;break}else if(l){u.copy(m),u.union(T);var C=m.width*m.height,M=T.width*T.height,L=u.width*u.height,I=L-C-M;I<b&&(b=I,x=w)}}if(l&&(o[x].union(m),S=!0),!S){var _=new gt(0,0,0,0);_.copy(m),o.push(_)}l||(l=o.length>=s)}}for(var h=this.__startIndex;h<this.__endIndex;++h){var v=t[h];if(v){var c=v.shouldBePainted(n,i,!0,!0),d=v.__isRendered&&(v.__dirty&Ze||!c)?v.getPrevPaintRect():null;d&&f(d);var p=c&&(v.__dirty&Ze||!v.__isRendered)?v.getPaintRect():null;p&&f(p)}}for(var h=this.__prevStartIndex;h<this.__prevEndIndex;++h){var v=a[h],c=v&&v.shouldBePainted(n,i,!0,!0);if(v&&(!c||!v.__zr)&&v.__isRendered){var d=v.getPrevPaintRect();d&&f(d)}}var g;do{g=!1;for(var h=0;h<o.length;){if(o[h].isZero()){o.splice(h,1);continue}for(var y=h+1;y<o.length;)o[h].intersect(o[y])?(g=!0,o[h].union(o[y]),o.splice(y,1)):y++;h++}}while(g);return this._paintRects=o,o},e.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()},e.prototype.resize=function(t,a){var n=this.dpr,i=this.dom,o=i.style,s=this.domBack;o&&(o.width=t+"px",o.height=a+"px"),i.width=t*n,i.height=a*n,s&&(s.width=t*n,s.height=a*n,n!==1&&this.ctxBack.scale(n,n))},e.prototype.clear=function(t,a,n){var i=this.dom,o=this.ctx,s=i.width,l=i.height;a=a||this.clearColor;var u=this.motionBlur&&!t,f=this.lastFrameAlpha,h=this.dpr,v=this;u&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(i,0,0,s/h,l/h));var c=this.domBack;function d(p,g,y,m){if(o.clearRect(p,g,y,m),a&&a!=="transparent"){var _=void 0;if(nh(a)){var S=a.global||a.__width===y&&a.__height===m;_=S&&a.__canvasGradient||up(o,a,{x:0,y:0,width:y,height:m}),a.__canvasGradient=_,a.__width=y,a.__height=m}else qL(a)&&(a.scaleX=a.scaleX||h,a.scaleY=a.scaleY||h,_=fp(o,a,{dirty:function(){v.setUnpainted(),v.painter.refresh()}}));o.save(),o.fillStyle=_||a,o.fillRect(p,g,y,m),o.restore()}u&&(o.save(),o.globalAlpha=f,o.drawImage(c,p,g,y,m),o.restore())}!n||u?d(0,0,s,l):n.length&&D(n,function(p){d(p.x*h,p.y*h,p.width*h,p.height*h)})},e}(dr),x1=1e5,Nn=314159,_u=.01,RB=.001;function EB(r){return r?r.__builtin__?!0:!(typeof r.resize!="function"||typeof r.refresh!="function"):!1}function kB(r,e){var t=document.createElement("div");return t.style.cssText=["position:relative","width:"+r+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",t}var OB=function(){function r(e,t,a,n){this.type="canvas",this._zlevelList=[],this._prevDisplayList=[],this._layers={},this._layerConfig={},this._needsManuallyCompositing=!1,this.type="canvas";var i=!e.nodeName||e.nodeName.toUpperCase()==="CANVAS";this._opts=a=V({},a||{}),this.dpr=a.devicePixelRatio||gf,this._singleCanvas=i,this.root=e;var o=e.style;o&&(Iw(e),e.innerHTML=""),this.storage=t;var s=this._zlevelList;this._prevDisplayList=[];var l=this._layers;if(i){var f=e,h=f.width,v=f.height;a.width!=null&&(h=a.width),a.height!=null&&(v=a.height),this.dpr=a.devicePixelRatio||1,f.width=h*this.dpr,f.height=v*this.dpr,this._width=h,this._height=v;var c=new lc(f,this,this.dpr);c.__builtin__=!0,c.initContext(),l[Nn]=c,c.zlevel=Nn,s.push(Nn),this._domRoot=e}else{this._width=ro(e,0,a),this._height=ro(e,1,a);var u=this._domRoot=kB(this._width,this._height);e.appendChild(u)}}return r.prototype.getType=function(){return"canvas"},r.prototype.isSingleCanvas=function(){return this._singleCanvas},r.prototype.getViewportRoot=function(){return this._domRoot},r.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},r.prototype.refresh=function(e){var t=this.storage.getDisplayList(!0),a=this._prevDisplayList,n=this._zlevelList;this._redrawId=Math.random(),this._paintList(t,a,e,this._redrawId);for(var i=0;i<n.length;i++){var o=n[i],s=this._layers[o];if(!s.__builtin__&&s.refresh){var l=i===0?this._backgroundColor:null;s.refresh(l)}}return this._opts.useDirtyRect&&(this._prevDisplayList=t.slice()),this},r.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))},r.prototype._paintHoverList=function(e){var t=e.length,a=this._hoverlayer;if(a&&a.clear(),!!t){for(var n={inHover:!0,viewWidth:this._width,viewHeight:this._height},i,o=0;o<t;o++){var s=e[o];s.__inHover&&(a||(a=this._hoverlayer=this.getLayer(x1)),i||(i=a.ctx,i.save()),ti(i,s,n,o===t-1))}i&&i.restore()}},r.prototype.getHoverLayer=function(){return this.getLayer(x1)},r.prototype.paintOne=function(e,t){oC(e,t)},r.prototype._paintList=function(e,t,a,n){if(this._redrawId===n){a=a||!1,this._updateLayerStatus(e);var i=this._doPaintList(e,t,a),o=i.finished,s=i.needsRefreshHover;if(this._needsManuallyCompositing&&this._compositeManually(),s&&this._paintHoverList(e),o)this.eachLayer(function(u){u.afterBrush&&u.afterBrush()});else{var l=this;ff(function(){l._paintList(e,t,a,n)})}}},r.prototype._compositeManually=function(){var e=this.getLayer(Nn).ctx,t=this._domRoot.width,a=this._domRoot.height;e.clearRect(0,0,t,a),this.eachBuiltinLayer(function(n){n.virtual&&e.drawImage(n.dom,0,0,t,a)})},r.prototype._doPaintList=function(e,t,a){for(var n=this,i=[],o=this._opts.useDirtyRect,s=0;s<this._zlevelList.length;s++){var l=this._zlevelList[s],u=this._layers[l];u.__builtin__&&u!==this._hoverlayer&&(u.__dirty||a)&&i.push(u)}for(var f=!0,h=!1,v=function(p){var g=i[p],y=g.ctx,m=o&&g.createRepaintRects(e,t,c._width,c._height),_=a?g.__startIndex:g.__drawIndex,S=!a&&g.incremental&&Date.now,b=S&&Date.now(),x=g.zlevel===c._zlevelList[0]?c._backgroundColor:null;if(g.__startIndex===g.__endIndex)g.clear(!1,x,m);else if(_===g.__startIndex){var w=e[_];(!w.incremental||!w.notClear||a)&&g.clear(!1,x,m)}_===-1&&(console.error("For some unknown reason. drawIndex is -1"),_=g.__startIndex);var T,A=function(I){var P={inHover:!1,allClipped:!1,prevEl:null,viewWidth:n._width,viewHeight:n._height};for(T=_;T<g.__endIndex;T++){var R=e[T];if(R.__inHover&&(h=!0),n._doPaintEl(R,g,o,I,P,T===g.__endIndex-1),S){var E=Date.now()-b;if(E>15)break}}P.prevElClipPaths&&y.restore()};if(m)if(m.length===0)T=g.__endIndex;else for(var C=c.dpr,M=0;M<m.length;++M){var L=m[M];y.save(),y.beginPath(),y.rect(L.x*C,L.y*C,L.width*C,L.height*C),y.clip(),A(L),y.restore()}else y.save(),A(),y.restore();g.__drawIndex=T,g.__drawIndex<g.__endIndex&&(f=!1)},c=this,d=0;d<i.length;d++)v(d);return xt.wxa&&D(this._layers,function(p){p&&p.ctx&&p.ctx.draw&&p.ctx.draw()}),{finished:f,needsRefreshHover:h}},r.prototype._doPaintEl=function(e,t,a,n,i,o){var s=t.ctx;if(a){var l=e.getPaintRect();(!n||l&&l.intersect(n))&&(ti(s,e,i,o),e.setPrevPaintRect(l))}else ti(s,e,i,o)},r.prototype.getLayer=function(e,t){this._singleCanvas&&!this._needsManuallyCompositing&&(e=Nn);var a=this._layers[e];return a||(a=new lc("zr_"+e,this,this.dpr),a.zlevel=e,a.__builtin__=!0,this._layerConfig[e]?dt(a,this._layerConfig[e],!0):this._layerConfig[e-_u]&&dt(a,this._layerConfig[e-_u],!0),t&&(a.virtual=t),this.insertLayer(e,a),a.initContext()),a},r.prototype.insertLayer=function(e,t){var a=this._layers,n=this._zlevelList,i=n.length,o=this._domRoot,s=null,l=-1;if(!a[e]&&EB(t)){if(i>0&&e>n[0]){for(l=0;l<i-1&&!(n[l]<e&&n[l+1]>e);l++);s=a[n[l]]}if(n.splice(l+1,0,e),a[e]=t,!t.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(t.dom,u.nextSibling):o.appendChild(t.dom)}else o.firstChild?o.insertBefore(t.dom,o.firstChild):o.appendChild(t.dom);t.painter||(t.painter=this)}},r.prototype.eachLayer=function(e,t){for(var a=this._zlevelList,n=0;n<a.length;n++){var i=a[n];e.call(t,this._layers[i],i)}},r.prototype.eachBuiltinLayer=function(e,t){for(var a=this._zlevelList,n=0;n<a.length;n++){var i=a[n],o=this._layers[i];o.__builtin__&&e.call(t,o,i)}},r.prototype.eachOtherLayer=function(e,t){for(var a=this._zlevelList,n=0;n<a.length;n++){var i=a[n],o=this._layers[i];o.__builtin__||e.call(t,o,i)}},r.prototype.getLayers=function(){return this._layers},r.prototype._updateLayerStatus=function(e){this.eachBuiltinLayer(function(h,v){h.__dirty=h.__used=!1});function t(h){i&&(i.__endIndex!==h&&(i.__dirty=!0),i.__endIndex=h)}if(this._singleCanvas)for(var a=1;a<e.length;a++){var n=e[a];if(n.zlevel!==e[a-1].zlevel||n.incremental){this._needsManuallyCompositing=!0;break}}var i=null,o=0,s,l;for(l=0;l<e.length;l++){var n=e[l],u=n.zlevel,f=void 0;s!==u&&(s=u,o=0),n.incremental?(f=this.getLayer(u+RB,this._needsManuallyCompositing),f.incremental=!0,o=1):f=this.getLayer(u+(o>0?_u:0),this._needsManuallyCompositing),f.__builtin__||ug("ZLevel "+u+" has been used by unkown layer "+f.id),f!==i&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,t(l),i=f),n.__dirty&Ze&&!n.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}t(l),this.eachBuiltinLayer(function(h,v){!h.__used&&h.getElementCount()>0&&(h.__dirty=!0,h.__startIndex=h.__endIndex=h.__drawIndex=0),h.__dirty&&h.__drawIndex<0&&(h.__drawIndex=h.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(e){e.clear()},r.prototype.setBackgroundColor=function(e){this._backgroundColor=e,D(this._layers,function(t){t.setUnpainted()})},r.prototype.configLayer=function(e,t){if(t){var a=this._layerConfig;a[e]?dt(a[e],t,!0):a[e]=t;for(var n=0;n<this._zlevelList.length;n++){var i=this._zlevelList[n];if(i===e||i===e+_u){var o=this._layers[i];dt(o,a[e],!0)}}}},r.prototype.delLayer=function(e){var t=this._layers,a=this._zlevelList,n=t[e];n&&(n.dom.parentNode.removeChild(n.dom),delete t[e],a.splice(yt(a,e),1))},r.prototype.resize=function(e,t){if(this._domRoot.style){var a=this._domRoot;a.style.display="none";var n=this._opts,i=this.root;if(e!=null&&(n.width=e),t!=null&&(n.height=t),e=ro(i,0,n),t=ro(i,1,n),a.style.display="",this._width!==e||t!==this._height){a.style.width=e+"px",a.style.height=t+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(e,t);this.refresh(!0)}this._width=e,this._height=t}else{if(e==null||t==null)return;this._width=e,this._height=t,this.getLayer(Nn).resize(e,t)}return this},r.prototype.clearLayer=function(e){var t=this._layers[e];t&&t.clear()},r.prototype.dispose=function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},r.prototype.getRenderedCanvas=function(e){if(e=e||{},this._singleCanvas&&!this._compositeManually)return this._layers[Nn].dom;var t=new lc("image",this,e.pixelRatio||this.dpr);t.initContext(),t.clear(!1,e.backgroundColor||this._backgroundColor);var a=t.ctx;if(e.pixelRatio<=this.dpr){this.refresh();var n=t.dom.width,i=t.dom.height;this.eachLayer(function(h){h.__builtin__?a.drawImage(h.dom,0,0,n,i):h.renderToCanvas&&(a.save(),h.renderToCanvas(a),a.restore())})}else for(var o={inHover:!1,viewWidth:this._width,viewHeight:this._height},s=this.storage.getDisplayList(!0),l=0,u=s.length;l<u;l++){var f=s[l];ti(a,f,o,l===u-1)}return t.dom},r.prototype.getWidth=function(){return this._width},r.prototype.getHeight=function(){return this._height},r}();function NB(r){r.registerPainter("canvas",OB)}var BB=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t){return Aa(null,this,{useEncodeDefaulter:!0})},e.prototype.getLegendIcon=function(t){var a=new ut,n=jt("line",0,t.itemHeight/2,t.itemWidth,0,t.lineStyle.stroke,!1);a.add(n),n.setStyle(t.lineStyle);var i=this.getData().getVisual("symbol"),o=this.getData().getVisual("symbolRotate"),s=i==="none"?"circle":i,l=t.itemHeight*.8,u=jt(s,(t.itemWidth-l)/2,(t.itemHeight-l)/2,l,l,t.itemStyle.fill);a.add(u),u.setStyle(t.itemStyle);var f=t.iconRotate==="inherit"?o:t.iconRotate||0;return u.rotation=f*Math.PI/180,u.setOrigin([t.itemWidth/2,t.itemHeight/2]),s.indexOf("empty")>-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),a},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(Gt);function yo(r,e){var t=r.mapDimensionsAll("defaultedLabel"),a=t.length;if(a===1){var n=co(r,e,t[0]);return n!=null?n+"":null}else if(a){for(var i=[],o=0;o<t.length;o++)i.push(co(r,e,t[o]));return i.join(" ")}}function wD(r,e){var t=r.mapDimensionsAll("defaultedLabel");if(!z(e))return e+"";for(var a=[],n=0;n<t.length;n++){var i=r.getDimensionIndex(t[n]);i>=0&&a.push(e[i])}return a.join(" ")}var Ll=function(r){k(e,r);function e(t,a,n,i){var o=r.call(this)||this;return o.updateData(t,a,n,i),o}return e.prototype._createSymbol=function(t,a,n,i,o){this.removeAll();var s=jt(t,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),s.drift=VB,this._symbolType=t,this.add(s)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){ya(this.childAt(0))},e.prototype.downplay=function(){ma(this.childAt(0))},e.prototype.setZ=function(t,a){var n=this.childAt(0);n.zlevel=t,n.z=a},e.prototype.setDraggable=function(t,a){var n=this.childAt(0);n.draggable=t,n.cursor=!a&&t?"move":n.cursor},e.prototype.updateData=function(t,a,n,i){this.silent=!1;var o=t.getItemVisual(a,"symbol")||"circle",s=t.hostModel,l=e.getSymbolSize(t,a),u=o!==this._symbolType,f=i&&i.disableAnimation;if(u){var h=t.getItemVisual(a,"symbolKeepAspect");this._createSymbol(o,t,a,l,h)}else{var v=this.childAt(0);v.silent=!1;var c={scaleX:l[0]/2,scaleY:l[1]/2};f?v.attr(c):Mt(v,c,s,a),Ir(v)}if(this._updateCommon(t,a,l,n,i),u){var v=this.childAt(0);if(!f){var c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:v.style.opacity}};v.scaleX=v.scaleY=0,v.style.opacity=0,Ft(v,c,s,a)}}f&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,a,n,i,o){var s=this.childAt(0),l=t.hostModel,u,f,h,v,c,d,p,g,y;if(i&&(u=i.emphasisItemStyle,f=i.blurItemStyle,h=i.selectItemStyle,v=i.focus,c=i.blurScope,p=i.labelStatesModels,g=i.hoverScale,y=i.cursorStyle,d=i.emphasisDisabled),!i||t.hasItemOption){var m=i&&i.itemModel?i.itemModel:t.getItemModel(a),_=m.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),h=m.getModel(["select","itemStyle"]).getItemStyle(),f=m.getModel(["blur","itemStyle"]).getItemStyle(),v=_.get("focus"),c=_.get("blurScope"),d=_.get("disabled"),p=le(m),g=_.getShallow("scale"),y=m.getShallow("cursor")}var S=t.getItemVisual(a,"symbolRotate");s.attr("rotation",(S||0)*Math.PI/180||0);var b=bi(t.getItemVisual(a,"symbolOffset"),n);b&&(s.x=b[0],s.y=b[1]),y&&s.attr("cursor",y);var x=t.getItemVisual(a,"style"),w=x.fill;if(s instanceof ce){var T=s.style;s.useStyle(V({image:T.image,x:T.x,y:T.y,width:T.width,height:T.height},x))}else s.__isEmptyBrush?s.useStyle(V({},x)):s.useStyle(x),s.style.decal=null,s.setColor(w,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var A=t.getItemVisual(a,"liftZ"),C=this._z2;A!=null?C==null&&(this._z2=s.z2,s.z2+=A):C!=null&&(s.z2=C,this._z2=null);var M=o&&o.useNameLabel;ye(s,p,{labelFetcher:l,labelDataIndex:a,defaultText:L,inheritColor:w,defaultOpacity:x.opacity});function L(R){return M?t.getName(R):yo(t,R)}this._sizeX=n[0]/2,this._sizeY=n[1]/2;var I=s.ensureState("emphasis");I.style=u,s.ensureState("select").style=h,s.ensureState("blur").style=f;var P=g==null||g===!0?Math.max(1.1,3/this._sizeY):isFinite(g)&&g>0?+g:1;I.scaleX=this._sizeX*P,I.scaleY=this._sizeY*P,this.setSymbolScale(1),Yt(this,v,c,d)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,a,n){var i=this.childAt(0),o=ht(this).dataIndex,s=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var l=i.getTextContent();l&&on(l,{style:{opacity:0}},a,{dataIndex:o,removeOpt:s,cb:function(){i.removeTextContent()}})}else i.removeTextContent();on(i,{style:{opacity:0},scaleX:0,scaleY:0},a,{dataIndex:o,cb:t,removeOpt:s})},e.getSymbolSize=function(t,a){return Oo(t.getItemVisual(a,"symbolSize"))},e}(ut);function VB(r,e){this.parent.drift(r,e)}function uc(r,e,t,a){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(a.isIgnore&&a.isIgnore(t))&&!(a.clipShape&&!a.clipShape.contain(e[0],e[1]))&&r.getItemVisual(t,"symbol")!=="none"}function b1(r){return r!=null&&!st(r)&&(r={isIgnore:r}),r||{}}function w1(r){var e=r.hostModel,t=e.getModel("emphasis");return{emphasisItemStyle:t.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:t.get("focus"),blurScope:t.get("blurScope"),emphasisDisabled:t.get("disabled"),hoverScale:t.get("scale"),labelStatesModels:le(e),cursorStyle:e.get("cursor")}}var Il=function(){function r(e){this.group=new ut,this._SymbolCtor=e||Ll}return r.prototype.updateData=function(e,t){this._progressiveEls=null,t=b1(t);var a=this.group,n=e.hostModel,i=this._data,o=this._SymbolCtor,s=t.disableAnimation,l=w1(e),u={disableAnimation:s},f=t.getSymbolPoint||function(h){return e.getItemLayout(h)};i||a.removeAll(),e.diff(i).add(function(h){var v=f(h);if(uc(e,v,h,t)){var c=new o(e,h,l,u);c.setPosition(v),e.setItemGraphicEl(h,c),a.add(c)}}).update(function(h,v){var c=i.getItemGraphicEl(v),d=f(h);if(!uc(e,d,h,t)){a.remove(c);return}var p=e.getItemVisual(h,"symbol")||"circle",g=c&&c.getSymbolType&&c.getSymbolType();if(!c||g&&g!==p)a.remove(c),c=new o(e,h,l,u),c.setPosition(d);else{c.updateData(e,h,l,u);var y={x:d[0],y:d[1]};s?c.attr(y):Mt(c,y,n)}a.add(c),e.setItemGraphicEl(h,c)}).remove(function(h){var v=i.getItemGraphicEl(h);v&&v.fadeOut(function(){a.remove(v)},n)}).execute(),this._getSymbolPoint=f,this._data=e},r.prototype.updateLayout=function(){var e=this,t=this._data;t&&t.eachItemGraphicEl(function(a,n){var i=e._getSymbolPoint(n);a.setPosition(i),a.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=w1(e),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(e,t,a){this._progressiveEls=[],a=b1(a);function n(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var i=e.start;i<e.end;i++){var o=t.getItemLayout(i);if(uc(t,o,i,a)){var s=new this._SymbolCtor(t,i,this._seriesScope);s.traverse(n),s.setPosition(o),this.group.add(s),t.setItemGraphicEl(i,s),this._progressiveEls.push(s)}}},r.prototype.eachRendered=function(e){hn(this._progressiveEls||this.group,e)},r.prototype.remove=function(e){var t=this.group,a=this._data;a&&e?a.eachItemGraphicEl(function(n){n.fadeOut(function(){t.remove(n)},a.hostModel)}):t.removeAll()},r}();function TD(r,e,t){var a=r.getBaseAxis(),n=r.getOtherAxis(a),i=zB(n,t),o=a.dim,s=n.dim,l=e.mapDimension(s),u=e.mapDimension(o),f=s==="x"||s==="radius"?1:0,h=H(r.dimensions,function(d){return e.mapDimension(d)}),v=!1,c=e.getCalculationInfo("stackResultDimension");return ln(e,h[0])&&(v=!0,h[0]=c),ln(e,h[1])&&(v=!0,h[1]=c),{dataDimsForPoint:h,valueStart:i,valueAxisDim:s,baseAxisDim:o,stacked:!!v,valueDim:l,baseDim:u,baseDataOffset:f,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function zB(r,e){var t=0,a=r.scale.getExtent();return e==="start"?t=a[0]:e==="end"?t=a[1]:Dt(e)&&!isNaN(e)?t=e:a[0]>0?t=a[0]:a[1]<0&&(t=a[1]),t}function AD(r,e,t,a){var n=NaN;r.stacked&&(n=t.get(t.getCalculationInfo("stackedOverDimension"),a)),isNaN(n)&&(n=r.valueStart);var i=r.baseDataOffset,o=[];return o[i]=t.get(r.baseDim,a),o[1-i]=n,e.dataToPoint(o)}function GB(r,e){var t=[];return e.diff(r).add(function(a){t.push({cmd:"+",idx:a})}).update(function(a,n){t.push({cmd:"=",idx:n,idx1:a})}).remove(function(a){t.push({cmd:"-",idx:a})}).execute(),t}function FB(r,e,t,a,n,i,o,s){for(var l=GB(r,e),u=[],f=[],h=[],v=[],c=[],d=[],p=[],g=TD(n,e,o),y=r.getLayout("points")||[],m=e.getLayout("points")||[],_=0;_<l.length;_++){var S=l[_],b=!0,x=void 0,w=void 0;switch(S.cmd){case"=":x=S.idx*2,w=S.idx1*2;var T=y[x],A=y[x+1],C=m[w],M=m[w+1];(isNaN(T)||isNaN(A))&&(T=C,A=M),u.push(T,A),f.push(C,M),h.push(t[x],t[x+1]),v.push(a[w],a[w+1]),p.push(e.getRawIndex(S.idx1));break;case"+":var L=S.idx,I=g.dataDimsForPoint,P=n.dataToPoint([e.get(I[0],L),e.get(I[1],L)]);w=L*2,u.push(P[0],P[1]),f.push(m[w],m[w+1]);var R=AD(g,n,e,L);h.push(R[0],R[1]),v.push(a[w],a[w+1]),p.push(e.getRawIndex(L));break;case"-":b=!1}b&&(c.push(S),d.push(d.length))}d.sort(function(W,Y){return p[W]-p[Y]});for(var E=u.length,N=Yr(E),O=Yr(E),B=Yr(E),G=Yr(E),U=[],_=0;_<d.length;_++){var Z=d[_],rt=_*2,at=Z*2;N[rt]=u[at],N[rt+1]=u[at+1],O[rt]=f[at],O[rt+1]=f[at+1],B[rt]=h[at],B[rt+1]=h[at+1],G[rt]=v[at],G[rt+1]=v[at+1],U[_]=c[Z]}return{current:N,next:O,stackedOnCurrent:B,stackedOnNext:G,status:U}}var Na=Math.min,Ba=Math.max;function ui(r,e){return isNaN(r)||isNaN(e)}function Sp(r,e,t,a,n,i,o,s,l){for(var u,f,h,v,c,d,p=t,g=0;g<a;g++){var y=e[p*2],m=e[p*2+1];if(p>=n||p<0)break;if(ui(y,m)){if(l){p+=i;continue}break}if(p===t)r[i>0?"moveTo":"lineTo"](y,m),h=y,v=m;else{var _=y-u,S=m-f;if(_*_+S*S<.5){p+=i;continue}if(o>0){for(var b=p+i,x=e[b*2],w=e[b*2+1];x===y&&w===m&&g<a;)g++,b+=i,p+=i,x=e[b*2],w=e[b*2+1],y=e[p*2],m=e[p*2+1],_=y-u,S=m-f;var T=g+1;if(l)for(;ui(x,w)&&T<a;)T++,b+=i,x=e[b*2],w=e[b*2+1];var A=.5,C=0,M=0,L=void 0,I=void 0;if(T>=a||ui(x,w))c=y,d=m;else{C=x-u,M=w-f;var P=y-u,R=x-y,E=m-f,N=w-m,O=void 0,B=void 0;if(s==="x"){O=Math.abs(P),B=Math.abs(R);var G=C>0?1:-1;c=y-G*O*o,d=m,L=y+G*B*o,I=m}else if(s==="y"){O=Math.abs(E),B=Math.abs(N);var U=M>0?1:-1;c=y,d=m-U*O*o,L=y,I=m+U*B*o}else O=Math.sqrt(P*P+E*E),B=Math.sqrt(R*R+N*N),A=B/(B+O),c=y-C*o*(1-A),d=m-M*o*(1-A),L=y+C*o*A,I=m+M*o*A,L=Na(L,Ba(x,y)),I=Na(I,Ba(w,m)),L=Ba(L,Na(x,y)),I=Ba(I,Na(w,m)),C=L-y,M=I-m,c=y-C*O/B,d=m-M*O/B,c=Na(c,Ba(u,y)),d=Na(d,Ba(f,m)),c=Ba(c,Na(u,y)),d=Ba(d,Na(f,m)),C=y-c,M=m-d,L=y+C*B/O,I=m+M*B/O}r.bezierCurveTo(h,v,c,d,y,m),h=L,v=I}else r.lineTo(y,m)}u=y,f=m,p+=i}return g}var CD=function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r}(),HB=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="ec-polyline",a}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new CD},e.prototype.buildPath=function(t,a){var n=a.points,i=0,o=n.length/2;if(a.connectNulls){for(;o>0&&ui(n[o*2-2],n[o*2-1]);o--);for(;i<o&&ui(n[i*2],n[i*2+1]);i++);}for(;i<o;)i+=Sp(t,n,i,o,o,1,a.smooth,a.smoothMonotone,a.connectNulls)+1},e.prototype.getPointOn=function(t,a){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var n=this.path,i=n.data,o=jr.CMD,s,l,u=a==="x",f=[],h=0;h<i.length;){var v=i[h++],c=void 0,d=void 0,p=void 0,g=void 0,y=void 0,m=void 0,_=void 0;switch(v){case o.M:s=i[h++],l=i[h++];break;case o.L:if(c=i[h++],d=i[h++],_=u?(t-s)/(c-s):(t-l)/(d-l),_<=1&&_>=0){var S=u?(d-l)*_+l:(c-s)*_+s;return u?[t,S]:[S,t]}s=c,l=d;break;case o.C:c=i[h++],d=i[h++],p=i[h++],g=i[h++],y=i[h++],m=i[h++];var b=u?vf(s,c,p,y,t,f):vf(l,d,g,m,t,f);if(b>0)for(var x=0;x<b;x++){var w=f[x];if(w<=1&&w>=0){var S=u?ne(l,d,g,m,w):ne(s,c,p,y,w);return u?[t,S]:[S,t]}}s=y,l=m;break}}},e}(St),WB=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e}(CD),DD=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="ec-polygon",a}return e.prototype.getDefaultShape=function(){return new WB},e.prototype.buildPath=function(t,a){var n=a.points,i=a.stackedOnPoints,o=0,s=n.length/2,l=a.smoothMonotone;if(a.connectNulls){for(;s>0&&ui(n[s*2-2],n[s*2-1]);s--);for(;o<s&&ui(n[o*2],n[o*2+1]);o++);}for(;o<s;){var u=Sp(t,n,o,s,s,1,a.smooth,l,a.connectNulls);Sp(t,i,o+u-1,u,s,-1,a.stackedOnSmooth,l,a.connectNulls),o+=u+1,t.closePath()}},e}(St);function MD(r,e,t,a,n){var i=r.getArea(),o=i.x,s=i.y,l=i.width,u=i.height,f=t.get(["lineStyle","width"])||0;o-=f/2,s-=f/2,l+=f,u+=f,l=Math.ceil(l),o!==Math.floor(o)&&(o=Math.floor(o),l++);var h=new Tt({shape:{x:o,y:s,width:l,height:u}});if(e){var v=r.getBaseAxis(),c=v.isHorizontal(),d=v.inverse;c?(d&&(h.shape.x+=l),h.shape.width=0):(d||(h.shape.y+=u),h.shape.height=0);var p=nt(n)?function(g){n(g,h)}:null;Ft(h,{shape:{width:l,height:u,x:o,y:s}},t,null,a,p)}return h}function LD(r,e,t){var a=r.getArea(),n=Zt(a.r0,1),i=Zt(a.r,1),o=new Oe({shape:{cx:Zt(r.cx,1),cy:Zt(r.cy,1),r0:n,r:i,startAngle:a.startAngle,endAngle:a.endAngle,clockwise:a.clockwise}});if(e){var s=r.getBaseAxis().dim==="angle";s?o.shape.endAngle=a.startAngle:o.shape.r=n,Ft(o,{shape:{endAngle:a.endAngle,r:i}},t)}return o}function Pl(r,e,t,a,n){if(r){if(r.type==="polar")return LD(r,e,t);if(r.type==="cartesian2d")return MD(r,e,t,a,n)}else return null;return null}function Ti(r,e){return r.type===e}function T1(r,e){if(r.length===e.length){for(var t=0;t<r.length;t++)if(r[t]!==e[t])return;return!0}}function A1(r){for(var e=1/0,t=1/0,a=-1/0,n=-1/0,i=0;i<r.length;){var o=r[i++],s=r[i++];isNaN(o)||(e=Math.min(o,e),a=Math.max(o,a)),isNaN(s)||(t=Math.min(s,t),n=Math.max(s,n))}return[[e,t],[a,n]]}function C1(r,e){var t=A1(r),a=t[0],n=t[1],i=A1(e),o=i[0],s=i[1];return Math.max(Math.abs(a[0]-o[0]),Math.abs(a[1]-o[1]),Math.abs(n[0]-s[0]),Math.abs(n[1]-s[1]))}function D1(r){return Dt(r)?r:r?.5:0}function UB(r,e,t){if(!t.valueDim)return[];for(var a=e.count(),n=Yr(a*2),i=0;i<a;i++){var o=AD(t,r,e,i);n[i*2]=o[0],n[i*2+1]=o[1]}return n}function Va(r,e,t,a,n){var i=t.getBaseAxis(),o=i.dim==="x"||i.dim==="radius"?0:1,s=[],l=0,u=[],f=[],h=[],v=[];if(n){for(l=0;l<r.length;l+=2){var c=e||r;!isNaN(c[l])&&!isNaN(c[l+1])&&v.push(r[l],r[l+1])}r=v}for(l=0;l<r.length-2;l+=2)switch(h[0]=r[l+2],h[1]=r[l+3],f[0]=r[l],f[1]=r[l+1],s.push(f[0],f[1]),a){case"end":u[o]=h[o],u[1-o]=f[1-o],s.push(u[0],u[1]);break;case"middle":var d=(f[o]+h[o])/2,p=[];u[o]=p[o]=d,u[1-o]=f[1-o],p[1-o]=h[1-o],s.push(u[0],u[1]),s.push(p[0],p[1]);break;default:u[o]=f[o],u[1-o]=h[1-o],s.push(u[0],u[1])}return s.push(r[l++],r[l++]),s}function YB(r,e){var t=[],a=r.length,n,i;function o(f,h,v){var c=f.coord,d=(v-c)/(h.coord-c),p=kI(d,[f.color,h.color]);return{coord:v,color:p}}for(var s=0;s<a;s++){var l=r[s],u=l.coord;if(u<0)n=l;else if(u>e){i?t.push(o(i,l,e)):n&&t.push(o(n,l,0),o(n,l,e));break}else n&&(t.push(o(n,l,0)),n=null),t.push(l),i=l}return t}function $B(r,e,t){var a=r.getVisual("visualMeta");if(!(!a||!a.length||!r.count())&&e.type==="cartesian2d"){for(var n,i,o=a.length-1;o>=0;o--){var s=r.getDimensionInfo(a[o].dimension);if(n=s&&s.coordDim,n==="x"||n==="y"){i=a[o];break}}if(i){var l=e.getAxis(n),u=H(i.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,h=i.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),h.reverse());var v=YB(u,n==="x"?t.getWidth():t.getHeight()),c=v.length;if(!c&&f)return u[0].coord<0?h[1]?h[1]:u[f-1].color:h[0]?h[0]:u[0].color;var d=10,p=v[0].coord-d,g=v[c-1].coord+d,y=g-p;if(y<.001)return"transparent";D(v,function(_){_.offset=(_.coord-p)/y}),v.push({offset:c?v[c-1].offset:.5,color:h[1]||"transparent"}),v.unshift({offset:c?v[0].offset:.5,color:h[0]||"transparent"});var m=new bl(0,0,0,0,v,!0);return m[n]=p,m[n+"2"]=g,m}}}function ZB(r,e,t){var a=r.get("showAllSymbol"),n=a==="auto";if(!(a&&!n)){var i=t.getAxesByScale("ordinal")[0];if(i&&!(n&&XB(i,e))){var o=e.mapDimension(i.dim),s={};return D(i.getViewLabels(),function(l){var u=i.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(e.get(o,l))}}}}function XB(r,e){var t=r.getExtent(),a=Math.abs(t[1]-t[0])/r.scale.count();isNaN(a)&&(a=0);for(var n=e.count(),i=Math.max(1,Math.round(n/5)),o=0;o<n;o+=i)if(Ll.getSymbolSize(e,o)[r.isHorizontal()?1:0]*1.5>a)return!1;return!0}function qB(r,e){return isNaN(r)||isNaN(e)}function KB(r){for(var e=r.length/2;e>0&&qB(r[e*2-2],r[e*2-1]);e--);return e-1}function M1(r,e){return[r[e*2],r[e*2+1]]}function JB(r,e,t){for(var a=r.length/2,n=t==="x"?0:1,i,o,s=0,l=-1,u=0;u<a;u++)if(o=r[u*2+n],!(isNaN(o)||isNaN(r[u*2+1-n]))){if(u===0){i=o;continue}if(i<=e&&o>=e||i>=e&&o<=e){l=u;break}s=u,i=o}return{range:[s,l],t:(e-i)/(o-i)}}function ID(r){if(r.get(["endLabel","show"]))return!0;for(var e=0;e<ke.length;e++)if(r.get([ke[e],"endLabel","show"]))return!0;return!1}function fc(r,e,t,a){if(Ti(e,"cartesian2d")){var n=a.getModel("endLabel"),i=n.get("valueAnimation"),o=a.getData(),s={lastFrameIndex:0},l=ID(a)?function(c,d){r._endLabelOnDuring(c,d,o,s,i,n,e)}:null,u=e.getBaseAxis().isHorizontal(),f=MD(e,t,a,function(){var c=r._endLabel;c&&t&&s.originalX!=null&&c.attr({x:s.originalX,y:s.originalY})},l);if(!a.get("clip",!0)){var h=f.shape,v=Math.max(h.width,h.height);u?(h.y-=v,h.height+=v*2):(h.x-=v,h.width+=v*2)}return l&&l(1,f),f}else return LD(e,t,a)}function QB(r,e){var t=e.getBaseAxis(),a=t.isHorizontal(),n=t.inverse,i=a?n?"right":"left":"center",o=a?"middle":n?"top":"bottom";return{normal:{align:r.get("align")||i,verticalAlign:r.get("verticalAlign")||o}}}var jB=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(){var t=new ut,a=new Il;this.group.add(a.group),this._symbolDraw=a,this._lineGroup=t,this._changePolyState=J(this._changePolyState,this)},e.prototype.render=function(t,a,n){var i=t.coordinateSystem,o=this.group,s=t.getData(),l=t.getModel("lineStyle"),u=t.getModel("areaStyle"),f=s.getLayout("points")||[],h=i.type==="polar",v=this._coordSys,c=this._symbolDraw,d=this._polyline,p=this._polygon,g=this._lineGroup,y=!a.ssr&&t.get("animation"),m=!u.isEmpty(),_=u.get("origin"),S=TD(i,s,_),b=m&&UB(i,s,S),x=t.get("showSymbol"),w=t.get("connectNulls"),T=x&&!h&&ZB(t,s,i),A=this._data;A&&A.eachItemGraphicEl(function(W,Y){W.__temp&&(o.remove(W),A.setItemGraphicEl(Y,null))}),x||c.remove(),o.add(g);var C=h?!1:t.get("step"),M;i&&i.getArea&&t.get("clip",!0)&&(M=i.getArea(),M.width!=null?(M.x-=.1,M.y-=.1,M.width+=.2,M.height+=.2):M.r0&&(M.r0-=.5,M.r+=.5)),this._clipShapeForSymbol=M;var L=$B(s,i,n)||s.getVisual("style")[s.getVisual("drawType")];if(!(d&&v.type===i.type&&C===this._step))x&&c.updateData(s,{isIgnore:T,clipShape:M,disableAnimation:!0,getSymbolPoint:function(W){return[f[W*2],f[W*2+1]]}}),y&&this._initSymbolLabelAnimation(s,i,M),C&&(b&&(b=Va(b,f,i,C,w)),f=Va(f,null,i,C,w)),d=this._newPolyline(f),m?p=this._newPolygon(f,b):p&&(g.remove(p),p=this._polygon=null),h||this._initOrUpdateEndLabel(t,i,pi(L)),g.setClipPath(fc(this,i,!0,t));else{m&&!p?p=this._newPolygon(f,b):p&&!m&&(g.remove(p),p=this._polygon=null),h||this._initOrUpdateEndLabel(t,i,pi(L));var I=g.getClipPath();if(I){var P=fc(this,i,!1,t);Ft(I,{shape:P.shape},t)}else g.setClipPath(fc(this,i,!0,t));x&&c.updateData(s,{isIgnore:T,clipShape:M,disableAnimation:!0,getSymbolPoint:function(W){return[f[W*2],f[W*2+1]]}}),(!T1(this._stackedOnPoints,b)||!T1(this._points,f))&&(y?this._doUpdateAnimation(s,b,i,n,C,_,w):(C&&(b&&(b=Va(b,f,i,C,w)),f=Va(f,null,i,C,w)),d.setShape({points:f}),p&&p.setShape({points:f,stackedOnPoints:b})))}var R=t.getModel("emphasis"),E=R.get("focus"),N=R.get("blurScope"),O=R.get("disabled");if(d.useStyle(ot(l.getLineStyle(),{fill:"none",stroke:L,lineJoin:"bevel"})),ge(d,t,"lineStyle"),d.style.lineWidth>0&&t.get(["emphasis","lineStyle","width"])==="bolder"){var B=d.getState("emphasis").style;B.lineWidth=+d.style.lineWidth+1}ht(d).seriesIndex=t.seriesIndex,Yt(d,E,N,O);var G=D1(t.get("smooth")),U=t.get("smoothMonotone");if(d.setShape({smooth:G,smoothMonotone:U,connectNulls:w}),p){var Z=s.getCalculationInfo("stackedOnSeries"),rt=0;p.useStyle(ot(u.getAreaStyle(),{fill:L,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),Z&&(rt=D1(Z.get("smooth"))),p.setShape({smooth:G,stackedOnSmooth:rt,smoothMonotone:U,connectNulls:w}),ge(p,t,"areaStyle"),ht(p).seriesIndex=t.seriesIndex,Yt(p,E,N,O)}var at=this._changePolyState;s.eachItemGraphicEl(function(W){W&&(W.onHoverStateChange=at)}),this._polyline.onHoverStateChange=at,this._data=s,this._coordSys=i,this._stackedOnPoints=b,this._points=f,this._step=C,this._valueOrigin=_,t.get("triggerLineEvent")&&(this.packEventData(t,d),p&&this.packEventData(t,p))},e.prototype.packEventData=function(t,a){ht(a).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,a,n,i){var o=t.getData(),s=vi(o,i);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],h=l[s*2+1];if(isNaN(f)||isNaN(h)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,h))return;var v=t.get("zlevel")||0,c=t.get("z")||0;u=new Ll(o,s),u.x=f,u.y=h,u.setZ(v,c);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=v,d.z=c,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else Nt.prototype.highlight.call(this,t,a,n,i)},e.prototype.downplay=function(t,a,n,i){var o=t.getData(),s=vi(o,i);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else Nt.prototype.downplay.call(this,t,a,n,i)},e.prototype._changePolyState=function(t){var a=this._polygon;_f(this._polyline,t),a&&_f(a,t)},e.prototype._newPolyline=function(t){var a=this._polyline;return a&&this._lineGroup.remove(a),a=new HB({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(a),this._polyline=a,a},e.prototype._newPolygon=function(t,a){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new DD({shape:{points:t,stackedOnPoints:a},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,a,n){var i,o,s=a.getBaseAxis(),l=s.inverse;a.type==="cartesian2d"?(i=s.isHorizontal(),o=!1):a.type==="polar"&&(i=s.dim==="angle",o=!0);var u=t.hostModel,f=u.get("animationDuration");nt(f)&&(f=f(null));var h=u.get("animationDelay")||0,v=nt(h)?h(null):h;t.eachItemGraphicEl(function(c,d){var p=c;if(p){var g=[c.x,c.y],y=void 0,m=void 0,_=void 0;if(n)if(o){var S=n,b=a.pointToCoord(g);i?(y=S.startAngle,m=S.endAngle,_=-b[1]/180*Math.PI):(y=S.r0,m=S.r,_=b[0])}else{var x=n;i?(y=x.x,m=x.x+x.width,_=c.x):(y=x.y+x.height,m=x.y,_=c.y)}var w=m===y?0:(_-y)/(m-y);l&&(w=1-w);var T=nt(h)?h(d):f*w+v,A=p.getSymbolPath(),C=A.getTextContent();p.attr({scaleX:0,scaleY:0}),p.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:T}),C&&C.animateFrom({style:{opacity:0}},{duration:300,delay:T}),A.disableLabelAnimation=!0}})},e.prototype._initOrUpdateEndLabel=function(t,a,n){var i=t.getModel("endLabel");if(ID(t)){var o=t.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Ct({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=KB(l);f>=0&&(ye(s,le(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:f,defaultText:function(h,v,c){return c!=null?wD(o,c):yo(o,h)},enableTextSetter:!0},QB(i,a)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,a,n,i,o,s,l){var u=this._endLabel,f=this._polyline;if(u){t<1&&i.originalX==null&&(i.originalX=u.x,i.originalY=u.y);var h=n.getLayout("points"),v=n.hostModel,c=v.get("connectNulls"),d=s.get("precision"),p=s.get("distance")||0,g=l.getBaseAxis(),y=g.isHorizontal(),m=g.inverse,_=a.shape,S=m?y?_.x:_.y+_.height:y?_.x+_.width:_.y,b=(y?p:0)*(m?-1:1),x=(y?0:-p)*(m?-1:1),w=y?"x":"y",T=JB(h,S,w),A=T.range,C=A[1]-A[0],M=void 0;if(C>=1){if(C>1&&!c){var L=M1(h,A[0]);u.attr({x:L[0]+b,y:L[1]+x}),o&&(M=v.getRawValue(A[0]))}else{var L=f.getPointOn(S,w);L&&u.attr({x:L[0]+b,y:L[1]+x});var I=v.getRawValue(A[0]),P=v.getRawValue(A[1]);o&&(M=dT(n,d,I,P,T.t))}i.lastFrameIndex=A[0]}else{var R=t===1||i.lastFrameIndex>0?A[0]:0,L=M1(h,R);o&&(M=v.getRawValue(R)),u.attr({x:L[0]+b,y:L[1]+x})}if(o){var E=Mo(u);typeof E.setLabelText=="function"&&E.setLabelText(M)}}},e.prototype._doUpdateAnimation=function(t,a,n,i,o,s,l){var u=this._polyline,f=this._polygon,h=t.hostModel,v=FB(this._data,t,this._stackedOnPoints,a,this._coordSys,n,this._valueOrigin),c=v.current,d=v.stackedOnCurrent,p=v.next,g=v.stackedOnNext;if(o&&(d=Va(v.stackedOnCurrent,v.current,n,o,l),c=Va(v.current,null,n,o,l),g=Va(v.stackedOnNext,v.next,n,o,l),p=Va(v.next,null,n,o,l)),C1(c,p)>3e3||f&&C1(d,g)>3e3){u.stopAnimation(),u.setShape({points:p}),f&&(f.stopAnimation(),f.setShape({points:p,stackedOnPoints:g}));return}u.shape.__points=v.current,u.shape.points=c;var y={shape:{points:p}};v.current!==c&&(y.shape.__points=v.next),u.stopAnimation(),Mt(u,y,h),f&&(f.setShape({points:c,stackedOnPoints:d}),f.stopAnimation(),Mt(f,{shape:{stackedOnPoints:g}},h),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var m=[],_=v.status,S=0;S<_.length;S++){var b=_[S].cmd;if(b==="="){var x=t.getItemGraphicEl(_[S].idx1);x&&m.push({el:x,ptIdx:S})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var w=u.shape.__points,T=0;T<m.length;T++){var A=m[T].el,C=m[T].ptIdx*2;A.x=w[C],A.y=w[C+1],A.markRedraw()}})},e.prototype.remove=function(t){var a=this.group,n=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),n&&n.eachItemGraphicEl(function(i,o){i.__temp&&(a.remove(i),n.setItemGraphicEl(o,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null},e.type="line",e}(Nt);function Rl(r,e){return{seriesType:r,plan:Eo(),reset:function(t){var a=t.getData(),n=t.coordinateSystem,i=t.pipelineContext,o=e||i.large;if(n){var s=H(n.dimensions,function(c){return a.mapDimension(c)}).slice(0,2),l=s.length,u=a.getCalculationInfo("stackResultDimension");ln(a,s[0])&&(s[0]=u),ln(a,s[1])&&(s[1]=u);var f=a.getStore(),h=a.getDimensionIndex(s[0]),v=a.getDimensionIndex(s[1]);return l&&{progress:function(c,d){for(var p=c.end-c.start,g=o&&Yr(p*l),y=[],m=[],_=c.start,S=0;_<c.end;_++){var b=void 0;if(l===1){var x=f.get(h,_);b=n.dataToPoint(x,null,m)}else y[0]=f.get(h,_),y[1]=f.get(v,_),b=n.dataToPoint(y,null,m);o?(g[S++]=b[0],g[S++]=b[1]):d.setItemLayout(_,b.slice())}o&&d.setLayout("points",g)}}}}}}var tV={average:function(r){for(var e=0,t=0,a=0;a<r.length;a++)isNaN(r[a])||(e+=r[a],t++);return t===0?NaN:e/t},sum:function(r){for(var e=0,t=0;t<r.length;t++)e+=r[t]||0;return e},max:function(r){for(var e=-1/0,t=0;t<r.length;t++)r[t]>e&&(e=r[t]);return isFinite(e)?e:NaN},min:function(r){for(var e=1/0,t=0;t<r.length;t++)r[t]<e&&(e=r[t]);return isFinite(e)?e:NaN},nearest:function(r){return r[0]}},eV=function(r){return Math.round(r.length/2)};function PD(r){return{seriesType:r,reset:function(e,t,a){var n=e.getData(),i=e.get("sampling"),o=e.coordinateSystem,s=n.count();if(s>10&&o.type==="cartesian2d"&&i){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),h=a.getDevicePixelRatio(),v=Math.abs(f[1]-f[0])*(h||1),c=Math.round(s/v);if(isFinite(c)&&c>1){i==="lttb"?e.setData(n.lttbDownSample(n.mapDimension(u.dim),1/c)):i==="minmax"&&e.setData(n.minmaxDownSample(n.mapDimension(u.dim),1/c));var d=void 0;K(i)?d=tV[i]:nt(i)&&(d=i),d&&e.setData(n.downSample(n.mapDimension(u.dim),1/c,d,eV))}}}}}function rV(r){r.registerChartView(jB),r.registerSeriesModel(BB),r.registerLayout(Rl("line",!0)),r.registerVisual({seriesType:"line",reset:function(e){var t=e.getData(),a=e.getModel("lineStyle").getLineStyle();a&&!a.stroke&&(a.stroke=t.getVisual("style").fill),t.setVisual("legendLineStyle",a)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,PD("line"))}var ol=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,a){return Aa(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,a,n){var i=this.coordinateSystem;if(i&&i.clampData){var o=i.clampData(t),s=i.dataToPoint(o);if(n)D(i.getAxes(),function(v,c){if(v.type==="category"&&a!=null){var d=v.getTicksCoords(),p=v.getTickModel().get("alignWithLabel"),g=o[c],y=a[c]==="x1"||a[c]==="y1";if(y&&!p&&(g+=1),d.length<2)return;if(d.length===2){s[c]=v.toGlobalCoord(v.getExtent()[y?1:0]);return}for(var m=void 0,_=void 0,S=1,b=0;b<d.length;b++){var x=d[b].coord,w=b===d.length-1?d[b-1].tickValue+S:d[b].tickValue;if(w===g){_=x;break}else if(w<g)m=x;else if(m!=null&&w>g){_=(x+m)/2;break}b===1&&(S=w-d[0].tickValue)}_==null&&(m?m&&(_=d[d.length-1].coord):_=d[0].coord),s[c]=v.toGlobalCoord(_)}});else{var l=this.getData(),u=l.getLayout("offset"),f=l.getLayout("size"),h=i.getBaseAxis().isHorizontal()?0:1;s[h]+=u+f/2}return s}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(Gt);Gt.registerClass(ol);var aV=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(){return Aa(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),a=this.get("largeThreshold");return a>t&&(t=a),t},e.prototype.brushSelector=function(t,a,n){return n.rect(a.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=vn(ol.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(ol),nV=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),Vf=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="sausage",a}return e.prototype.getDefaultShape=function(){return new nV},e.prototype.buildPath=function(t,a){var n=a.cx,i=a.cy,o=Math.max(a.r0||0,0),s=Math.max(a.r,0),l=(s-o)*.5,u=o+l,f=a.startAngle,h=a.endAngle,v=a.clockwise,c=Math.PI*2,d=v?h-f<c:f-h<c;d||(f=h-(v?c:-c));var p=Math.cos(f),g=Math.sin(f),y=Math.cos(h),m=Math.sin(h);d?(t.moveTo(p*o+n,g*o+i),t.arc(p*u+n,g*u+i,l,-Math.PI+f,f,!v)):t.moveTo(p*s+n,g*s+i),t.arc(n,i,s,f,h,!v),t.arc(y*u+n,m*u+i,l,h-Math.PI*2,h-Math.PI,!v),o!==0&&t.arc(n,i,o,h,f,v)},e}(St);function iV(r,e){e=e||{};var t=e.isRoundCap;return function(a,n,i){var o=n.position;if(!o||o instanceof Array)return yf(a,n,i);var s=r(o),l=n.distance!=null?n.distance:5,u=this.shape,f=u.cx,h=u.cy,v=u.r,c=u.r0,d=(v+c)/2,p=u.startAngle,g=u.endAngle,y=(p+g)/2,m=t?Math.abs(v-c)/2:0,_=Math.cos,S=Math.sin,b=f+v*_(p),x=h+v*S(p),w="left",T="top";switch(s){case"startArc":b=f+(c-l)*_(y),x=h+(c-l)*S(y),w="center",T="top";break;case"insideStartArc":b=f+(c+l)*_(y),x=h+(c+l)*S(y),w="center",T="bottom";break;case"startAngle":b=f+d*_(p)+Su(p,l+m,!1),x=h+d*S(p)+xu(p,l+m,!1),w="right",T="middle";break;case"insideStartAngle":b=f+d*_(p)+Su(p,-l+m,!1),x=h+d*S(p)+xu(p,-l+m,!1),w="left",T="middle";break;case"middle":b=f+d*_(y),x=h+d*S(y),w="center",T="middle";break;case"endArc":b=f+(v+l)*_(y),x=h+(v+l)*S(y),w="center",T="bottom";break;case"insideEndArc":b=f+(v-l)*_(y),x=h+(v-l)*S(y),w="center",T="top";break;case"endAngle":b=f+d*_(g)+Su(g,l+m,!0),x=h+d*S(g)+xu(g,l+m,!0),w="left",T="middle";break;case"insideEndAngle":b=f+d*_(g)+Su(g,-l+m,!0),x=h+d*S(g)+xu(g,-l+m,!0),w="right",T="middle";break;default:return yf(a,n,i)}return a=a||{},a.x=b,a.y=x,a.align=w,a.verticalAlign=T,a}}function oV(r,e,t,a){if(Dt(a)){r.setTextConfig({rotation:a});return}else if(z(e)){r.setTextConfig({rotation:0});return}var n=r.shape,i=n.clockwise?n.startAngle:n.endAngle,o=n.clockwise?n.endAngle:n.startAngle,s=(i+o)/2,l,u=t(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":l=s;break;case"startAngle":case"insideStartAngle":l=i;break;case"endAngle":case"insideEndAngle":l=o;break;default:r.setTextConfig({rotation:0});return}var f=Math.PI*1.5-l;u==="middle"&&f>Math.PI/2&&f<Math.PI*1.5&&(f-=Math.PI),r.setTextConfig({rotation:f})}function Su(r,e,t){return e*Math.sin(r)*(t?-1:1)}function xu(r,e,t){return e*Math.cos(r)*(t?1:-1)}function ei(r,e,t){var a=r.get("borderRadius");if(a==null)return t?{cornerRadius:0}:null;z(a)||(a=[a,a,a,a]);var n=Math.abs(e.r||0-e.r0||0);return{cornerRadius:H(a,function(i){return Lr(i,n)})}}var hc=Math.max,vc=Math.min;function sV(r,e){var t=r.getArea&&r.getArea();if(Ti(r,"cartesian2d")){var a=r.getBaseAxis();if(a.type!=="category"||!a.onBand){var n=e.getLayout("bandWidth");a.isHorizontal()?(t.x-=n,t.width+=n*2):(t.y-=n,t.height+=n*2)}}return t}var lV=function(r){k(e,r);function e(){var t=r.call(this)||this;return t.type=e.type,t._isFirstFrame=!0,t}return e.prototype.render=function(t,a,n,i){this._model=t,this._removeOnRenderedListener(n),this._updateDrawMode(t);var o=t.get("coordinateSystem");(o==="cartesian2d"||o==="polar")&&(this._progressiveEls=null,this._isLargeDraw?this._renderLarge(t,a,n):this._renderNormal(t,a,n,i))},e.prototype.incrementalPrepareRender=function(t){this._clear(),this._updateDrawMode(t),this._updateLargeClip(t)},e.prototype.incrementalRender=function(t,a){this._progressiveEls=[],this._incrementalRenderLarge(t,a)},e.prototype.eachRendered=function(t){hn(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var a=t.pipelineContext.large;(this._isLargeDraw==null||a!==this._isLargeDraw)&&(this._isLargeDraw=a,this._clear())},e.prototype._renderNormal=function(t,a,n,i){var o=this.group,s=t.getData(),l=this._data,u=t.coordinateSystem,f=u.getBaseAxis(),h;u.type==="cartesian2d"?h=f.isHorizontal():u.type==="polar"&&(h=f.dim==="angle");var v=t.isAnimationEnabled()?t:null,c=uV(t,u);c&&this._enableRealtimeSort(c,s,n);var d=t.get("clip",!0)||c,p=sV(u,s);o.removeClipPath();var g=t.get("roundCap",!0),y=t.get("showBackground",!0),m=t.getModel("backgroundStyle"),_=m.get("borderRadius")||0,S=[],b=this._backgroundEls,x=i&&i.isInitSort,w=i&&i.type==="changeAxisOrder";function T(M){var L=bu[u.type](s,M),I=gV(u,h,L);return I.useStyle(m.getItemStyle()),u.type==="cartesian2d"?I.setShape("r",_):I.setShape("cornerRadius",_),S[M]=I,I}s.diff(l).add(function(M){var L=s.getItemModel(M),I=bu[u.type](s,M,L);if(y&&T(M),!(!s.hasValue(M)||!E1[u.type](I))){var P=!1;d&&(P=L1[u.type](p,I));var R=I1[u.type](t,s,M,I,h,v,f.model,!1,g);c&&(R.forceLabelAnimation=!0),k1(R,s,M,L,I,t,h,u.type==="polar"),x?R.attr({shape:I}):c?P1(c,v,R,I,M,h,!1,!1):Ft(R,{shape:I},t,M),s.setItemGraphicEl(M,R),o.add(R),R.ignore=P}}).update(function(M,L){var I=s.getItemModel(M),P=bu[u.type](s,M,I);if(y){var R=void 0;b.length===0?R=T(L):(R=b[L],R.useStyle(m.getItemStyle()),u.type==="cartesian2d"?R.setShape("r",_):R.setShape("cornerRadius",_),S[M]=R);var E=bu[u.type](s,M),N=ED(h,E,u);Mt(R,{shape:N},v,M)}var O=l.getItemGraphicEl(L);if(!s.hasValue(M)||!E1[u.type](P)){o.remove(O);return}var B=!1;if(d&&(B=L1[u.type](p,P),B&&o.remove(O)),O?Ir(O):O=I1[u.type](t,s,M,P,h,v,f.model,!!O,g),c&&(O.forceLabelAnimation=!0),w){var G=O.getTextContent();if(G){var U=Mo(G);U.prevValue!=null&&(U.prevValue=U.value)}}else k1(O,s,M,I,P,t,h,u.type==="polar");x?O.attr({shape:P}):c?P1(c,v,O,P,M,h,!0,w):Mt(O,{shape:P},t,M,null),s.setItemGraphicEl(M,O),O.ignore=B,o.add(O)}).remove(function(M){var L=l.getItemGraphicEl(M);L&&Ks(L,t,M)}).execute();var A=this._backgroundGroup||(this._backgroundGroup=new ut);A.removeAll();for(var C=0;C<S.length;++C)A.add(S[C]);o.add(A),this._backgroundEls=S,this._data=s},e.prototype._renderLarge=function(t,a,n){this._clear(),N1(t,this.group),this._updateLargeClip(t)},e.prototype._incrementalRenderLarge=function(t,a){this._removeBackground(),N1(a,this.group,this._progressiveEls,!0)},e.prototype._updateLargeClip=function(t){var a=t.get("clip",!0)&&Pl(t.coordinateSystem,!1,t),n=this.group;a?n.setClipPath(a):n.removeClipPath()},e.prototype._enableRealtimeSort=function(t,a,n){var i=this;if(a.count()){var o=t.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(a,t,n),this._isFirstFrame=!1;else{var s=function(l){var u=a.getItemGraphicEl(l),f=u&&u.shape;return f&&Math.abs(o.isHorizontal()?f.height:f.width)||0};this._onRendered=function(){i._updateSortWithinSameData(a,s,o,n)},n.getZr().on("rendered",this._onRendered)}}},e.prototype._dataSort=function(t,a,n){var i=[];return t.each(t.mapDimension(a.dim),function(o,s){var l=n(s);l=l??NaN,i.push({dataIndex:s,mappedValue:l,ordinalNumber:o})}),i.sort(function(o,s){return s.mappedValue-o.mappedValue}),{ordinalNumbers:H(i,function(o){return o.ordinalNumber})}},e.prototype._isOrderChangedWithinSameData=function(t,a,n){for(var i=n.scale,o=t.mapDimension(n.dim),s=Number.MAX_VALUE,l=0,u=i.getOrdinalMeta().categories.length;l<u;++l){var f=t.rawIndexOf(o,i.getRawOrdinalNumber(l)),h=f<0?Number.MIN_VALUE:a(t.indexOfRawIndex(f));if(h>s)return!0;s=h}return!1},e.prototype._isOrderDifferentInView=function(t,a){for(var n=a.scale,i=n.getExtent(),o=Math.max(0,i[0]),s=Math.min(i[1],n.getOrdinalMeta().categories.length-1);o<=s;++o)if(t.ordinalNumbers[o]!==n.getRawOrdinalNumber(o))return!0},e.prototype._updateSortWithinSameData=function(t,a,n,i){if(this._isOrderChangedWithinSameData(t,a,n)){var o=this._dataSort(t,n,a);this._isOrderDifferentInView(o,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:o}))}},e.prototype._dispatchInitSort=function(t,a,n){var i=a.baseAxis,o=this._dataSort(t,i,function(s){return t.get(t.mapDimension(a.otherAxis.dim),s)});n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:o})},e.prototype.remove=function(t,a){this._clear(this._model),this._removeOnRenderedListener(a)},e.prototype.dispose=function(t,a){this._removeOnRenderedListener(a)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var a=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl(function(i){Ks(i,t,ht(i).dataIndex)})):a.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(Nt),L1={cartesian2d:function(r,e){var t=e.width<0?-1:1,a=e.height<0?-1:1;t<0&&(e.x+=e.width,e.width=-e.width),a<0&&(e.y+=e.height,e.height=-e.height);var n=r.x+r.width,i=r.y+r.height,o=hc(e.x,r.x),s=vc(e.x+e.width,n),l=hc(e.y,r.y),u=vc(e.y+e.height,i),f=s<o,h=u<l;return e.x=f&&o>n?s:o,e.y=h&&l>i?u:l,e.width=f?0:s-o,e.height=h?0:u-l,t<0&&(e.x+=e.width,e.width=-e.width),a<0&&(e.y+=e.height,e.height=-e.height),f||h},polar:function(r,e){var t=e.r0<=e.r?1:-1;if(t<0){var a=e.r;e.r=e.r0,e.r0=a}var n=vc(e.r,r.r),i=hc(e.r0,r.r0);e.r=n,e.r0=i;var o=n-i<0;if(t<0){var a=e.r;e.r=e.r0,e.r0=a}return o}},I1={cartesian2d:function(r,e,t,a,n,i,o,s,l){var u=new Tt({shape:V({},a),z2:1});if(u.__dataIndex=t,u.name="item",i){var f=u.shape,h=n?"height":"width";f[h]=0}return u},polar:function(r,e,t,a,n,i,o,s,l){var u=!n&&l?Vf:Oe,f=new u({shape:a,z2:1});f.name="item";var h=RD(n);if(f.calculateTextPosition=iV(h,{isRoundCap:u===Vf}),i){var v=f.shape,c=n?"r":"endAngle",d={};v[c]=n?a.r0:a.startAngle,d[c]=a[c],(s?Mt:Ft)(f,{shape:d},i)}return f}};function uV(r,e){var t=r.get("realtimeSort",!0),a=e.getBaseAxis();if(t&&a.type==="category"&&e.type==="cartesian2d")return{baseAxis:a,otherAxis:e.getOtherAxis(a)}}function P1(r,e,t,a,n,i,o,s){var l,u;i?(u={x:a.x,width:a.width},l={y:a.y,height:a.height}):(u={y:a.y,height:a.height},l={x:a.x,width:a.width}),s||(o?Mt:Ft)(t,{shape:l},e,n,null);var f=e?r.baseAxis.model:null;(o?Mt:Ft)(t,{shape:u},f,n)}function R1(r,e){for(var t=0;t<e.length;t++)if(!isFinite(r[e[t]]))return!0;return!1}var fV=["x","y","width","height"],hV=["cx","cy","r","startAngle","endAngle"],E1={cartesian2d:function(r){return!R1(r,fV)},polar:function(r){return!R1(r,hV)}},bu={cartesian2d:function(r,e,t){var a=r.getItemLayout(e),n=t?cV(t,a):0,i=a.width>0?1:-1,o=a.height>0?1:-1;return{x:a.x+i*n/2,y:a.y+o*n/2,width:a.width-i*n,height:a.height-o*n}},polar:function(r,e,t){var a=r.getItemLayout(e);return{cx:a.cx,cy:a.cy,r0:a.r0,r:a.r,startAngle:a.startAngle,endAngle:a.endAngle,clockwise:a.clockwise}}};function vV(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function RD(r){return function(e){var t=e?"Arc":"Angle";return function(a){switch(a){case"start":case"insideStart":case"end":case"insideEnd":return a+t;default:return a}}}(r)}function k1(r,e,t,a,n,i,o,s){var l=e.getItemVisual(t,"style");if(s){if(!i.get("roundCap")){var f=r.shape,h=ei(a.getModel("itemStyle"),f,!0);V(f,h),r.setShape(f)}}else{var u=a.get(["itemStyle","borderRadius"])||0;r.setShape("r",u)}r.useStyle(l);var v=a.getShallow("cursor");v&&r.attr("cursor",v);var c=s?o?n.r>=n.r0?"endArc":"startArc":n.endAngle>=n.startAngle?"endAngle":"startAngle":o?n.height>=0?"bottom":"top":n.width>=0?"right":"left",d=le(a);ye(r,d,{labelFetcher:i,labelDataIndex:t,defaultText:yo(i.getData(),t),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:c});var p=r.getTextContent();if(s&&p){var g=a.get(["label","position"]);r.textConfig.inside=g==="middle"?!0:null,oV(r,g==="outside"?c:g,RD(o),a.get(["label","rotate"]))}JT(p,d,i.getRawValue(t),function(m){return wD(e,m)});var y=a.getModel(["emphasis"]);Yt(r,y.get("focus"),y.get("blurScope"),y.get("disabled")),ge(r,a),vV(n)&&(r.style.fill="none",r.style.stroke="none",D(r.states,function(m){m.style&&(m.style.fill=m.style.stroke="none")}))}function cV(r,e){var t=r.get(["itemStyle","borderColor"]);if(!t||t==="none")return 0;var a=r.get(["itemStyle","borderWidth"])||0,n=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),i=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(a,n,i)}var dV=function(){function r(){}return r}(),O1=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="largeBar",a}return e.prototype.getDefaultShape=function(){return new dV},e.prototype.buildPath=function(t,a){for(var n=a.points,i=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,f=0;f<n.length;f+=3)l[i]=u,l[o]=n[f+2],s[i]=n[f+i],s[o]=n[f+o],t.rect(s[0],s[1],l[0],l[1])},e}(St);function N1(r,e,t,a){var n=r.getData(),i=n.getLayout("valueAxisHorizontal")?1:0,o=n.getLayout("largeDataIndices"),s=n.getLayout("size"),l=r.getModel("backgroundStyle"),u=n.getLayout("largeBackgroundPoints");if(u){var f=new O1({shape:{points:u},incremental:!!a,silent:!0,z2:0});f.baseDimIdx=i,f.largeDataIndices=o,f.barWidth=s,f.useStyle(l.getItemStyle()),e.add(f),t&&t.push(f)}var h=new O1({shape:{points:n.getLayout("largePoints")},incremental:!!a,ignoreCoarsePointer:!0,z2:1});h.baseDimIdx=i,h.largeDataIndices=o,h.barWidth=s,e.add(h),h.useStyle(n.getVisual("style")),h.style.stroke=null,ht(h).seriesIndex=r.seriesIndex,r.get("silent")||(h.on("mousedown",B1),h.on("mousemove",B1)),t&&t.push(h)}var B1=qg(function(r){var e=this,t=pV(e,r.offsetX,r.offsetY);ht(e).dataIndex=t>=0?t:null},30,!1);function pV(r,e,t){for(var a=r.baseDimIdx,n=1-a,i=r.shape.points,o=r.largeDataIndices,s=[],l=[],u=r.barWidth,f=0,h=i.length/3;f<h;f++){var v=f*3;if(l[a]=u,l[n]=i[v+2],s[a]=i[v+a],s[n]=i[v+n],l[n]<0&&(s[n]+=l[n],l[n]=-l[n]),e>=s[0]&&e<=s[0]+l[0]&&t>=s[1]&&t<=s[1]+l[1])return o[f]}return-1}function ED(r,e,t){if(Ti(t,"cartesian2d")){var a=e,n=t.getArea();return{x:r?a.x:n.x,y:r?n.y:a.y,width:r?a.width:n.width,height:r?n.height:a.height}}else{var n=t.getArea(),i=e;return{cx:n.cx,cy:n.cy,r0:r?n.r0:i.r0,r:r?n.r:i.r,startAngle:r?i.startAngle:0,endAngle:r?i.endAngle:Math.PI*2}}}function gV(r,e,t){var a=r.type==="polar"?Oe:Tt;return new a({shape:ED(e,t,r),silent:!0,z2:0})}function yV(r){r.registerChartView(lV),r.registerSeriesModel(aV),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,ct(VC,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,zC("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,PD("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(e,t){var a=e.componentType||"series";t.eachComponent({mainType:a,query:e},function(n){e.sortInfo&&n.axis.setCategorySortInfo(e.sortInfo)})})}var V1=Math.PI*2,wu=Math.PI/180;function kD(r,e){return re(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function OD(r,e){var t=kD(r,e),a=r.get("center"),n=r.get("radius");z(n)||(n=[0,n]);var i=X(t.width,e.getWidth()),o=X(t.height,e.getHeight()),s=Math.min(i,o),l=X(n[0],s/2),u=X(n[1],s/2),f,h,v=r.coordinateSystem;if(v){var c=v.dataToPoint(a);f=c[0]||0,h=c[1]||0}else z(a)||(a=[a,a]),f=X(a[0],i)+t.x,h=X(a[1],o)+t.y;return{cx:f,cy:h,r0:l,r:u}}function mV(r,e,t){e.eachSeriesByType(r,function(a){var n=a.getData(),i=n.mapDimension("value"),o=kD(a,t),s=OD(a,t),l=s.cx,u=s.cy,f=s.r,h=s.r0,v=-a.get("startAngle")*wu,c=a.get("endAngle"),d=a.get("padAngle")*wu;c=c==="auto"?v-V1:-c*wu;var p=a.get("minAngle")*wu,g=p+d,y=0;n.each(i,function(N){!isNaN(N)&&y++});var m=n.getSum(i),_=Math.PI/(m||y)*2,S=a.get("clockwise"),b=a.get("roseType"),x=a.get("stillShowZeroSum"),w=n.getDataExtent(i);w[0]=0;var T=S?1:-1,A=[v,c],C=T*d/2;Tg(A,!S),v=A[0],c=A[1];var M=ND(a);M.startAngle=v,M.endAngle=c,M.clockwise=S;var L=Math.abs(c-v),I=L,P=0,R=v;if(n.setLayout({viewRect:o,r:f}),n.each(i,function(N,O){var B;if(isNaN(N)){n.setItemLayout(O,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:S,cx:l,cy:u,r0:h,r:b?NaN:f});return}b!=="area"?B=m===0&&x?_:N*_:B=L/y,B<g?(B=g,I-=g):P+=N;var G=R+T*B,U=0,Z=0;d>B?(U=R+T*B/2,Z=U):(U=R+C,Z=G-C),n.setItemLayout(O,{angle:B,startAngle:U,endAngle:Z,clockwise:S,cx:l,cy:u,r0:h,r:b?Rt(N,w,[h,f]):f}),R=G}),I<V1&&y)if(I<=.001){var E=L/y;n.each(i,function(N,O){if(!isNaN(N)){var B=n.getItemLayout(O);B.angle=E;var G=0,U=0;E<d?(G=v+T*(O+1/2)*E,U=G):(G=v+T*O*E+C,U=v+T*(O+1)*E-C),B.startAngle=G,B.endAngle=U}})}else _=I/P,R=v,n.each(i,function(N,O){if(!isNaN(N)){var B=n.getItemLayout(O),G=B.angle===g?g:N*_,U=0,Z=0;G<d?(U=R+T*G/2,Z=U):(U=R+C,Z=R+T*G-C),B.startAngle=U,B.endAngle=Z,R+=T*G}})})}var ND=At();function El(r){return{seriesType:r,reset:function(e,t){var a=t.findComponents({mainType:"legend"});if(!(!a||!a.length)){var n=e.getData();n.filterSelf(function(i){for(var o=n.getName(i),s=0;s<a.length;s++)if(!a[s].isSelected(o))return!1;return!0})}}}}var _V=Math.PI/180;function z1(r,e,t,a,n,i,o,s,l,u){if(r.length<2)return;function f(p){for(var g=p.rB,y=g*g,m=0;m<p.list.length;m++){var _=p.list[m],S=Math.abs(_.label.y-t),b=a+_.len,x=b*b,w=Math.sqrt(Math.abs((1-S*S/y)*x)),T=e+(w+_.len2)*n,A=T-_.label.x,C=_.targetTextWidth-A*n;BD(_,C,!0),_.label.x=T}}function h(p){for(var g={list:[],maxY:0},y={list:[],maxY:0},m=0;m<p.length;m++)if(p[m].labelAlignTo==="none"){var _=p[m],S=_.label.y>t?y:g,b=Math.abs(_.label.y-t);if(b>=S.maxY){var x=_.label.x-e-_.len2*n,w=a+_.len,T=Math.abs(x)<w?Math.sqrt(b*b/(1-x*x/w/w)):w;S.rB=T,S.maxY=b}S.list.push(_)}f(g),f(y)}for(var v=r.length,c=0;c<v;c++)if(r[c].position==="outer"&&r[c].labelAlignTo==="labelLine"){var d=r[c].label.x-u;r[c].linePoints[1][0]+=d,r[c].label.x=u}oD(r,l,l+o)&&h(r)}function SV(r,e,t,a,n,i,o,s){for(var l=[],u=[],f=Number.MAX_VALUE,h=-Number.MAX_VALUE,v=0;v<r.length;v++){var c=r[v].label;cc(r[v])||(c.x<e?(f=Math.min(f,c.x),l.push(r[v])):(h=Math.max(h,c.x),u.push(r[v])))}for(var v=0;v<r.length;v++){var d=r[v];if(!cc(d)&&d.linePoints){if(d.labelStyleWidth!=null)continue;var c=d.label,p=d.linePoints,g=void 0;d.labelAlignTo==="edge"?c.x<e?g=p[2][0]-d.labelDistance-o-d.edgeDistance:g=o+n-d.edgeDistance-p[2][0]-d.labelDistance:d.labelAlignTo==="labelLine"?c.x<e?g=f-o-d.bleedMargin:g=o+n-h-d.bleedMargin:c.x<e?g=c.x-o-d.bleedMargin:g=o+n-c.x-d.bleedMargin,d.targetTextWidth=g,BD(d,g)}}z1(u,e,t,a,1,n,i,o,s,h),z1(l,e,t,a,-1,n,i,o,s,f);for(var v=0;v<r.length;v++){var d=r[v];if(!cc(d)&&d.linePoints){var c=d.label,p=d.linePoints,y=d.labelAlignTo==="edge",m=c.style.padding,_=m?m[1]+m[3]:0,S=c.style.backgroundColor?0:_,b=d.rect.width+S,x=p[1][0]-p[2][0];y?c.x<e?p[2][0]=o+d.edgeDistance+b+d.labelDistance:p[2][0]=o+n-d.edgeDistance-b-d.labelDistance:(c.x<e?p[2][0]=c.x+d.labelDistance:p[2][0]=c.x-d.labelDistance,p[1][0]=p[2][0]+x),p[1][1]=p[2][1]=c.y}}}function BD(r,e,t){if(t===void 0&&(t=!1),r.labelStyleWidth==null){var a=r.label,n=a.style,i=r.rect,o=n.backgroundColor,s=n.padding,l=s?s[1]+s[3]:0,u=n.overflow,f=i.width+(o?0:l);if(e<f||t){var h=i.height;if(u&&u.match("break")){a.setStyle("backgroundColor",null),a.setStyle("width",e-l);var v=a.getBoundingRect();a.setStyle("width",Math.ceil(v.width)),a.setStyle("backgroundColor",o)}else{var c=e-l,d=e<f?c:t?c>r.unconstrainedWidth?null:c:null;a.setStyle("width",d)}var p=a.getBoundingRect();i.width=p.width;var g=(a.style.margin||0)+2.1;i.height=p.height+g,i.y-=(i.height-h)/2}}}function cc(r){return r.position==="center"}function xV(r){var e=r.getData(),t=[],a,n,i=!1,o=(r.get("minShowLabelAngle")||0)*_V,s=e.getLayout("viewRect"),l=e.getLayout("r"),u=s.width,f=s.x,h=s.y,v=s.height;function c(x){x.ignore=!0}function d(x){if(!x.ignore)return!0;for(var w in x.states)if(x.states[w].ignore===!1)return!0;return!1}e.each(function(x){var w=e.getItemGraphicEl(x),T=w.shape,A=w.getTextContent(),C=w.getTextGuideLine(),M=e.getItemModel(x),L=M.getModel("label"),I=L.get("position")||M.get(["emphasis","label","position"]),P=L.get("distanceToLabelLine"),R=L.get("alignTo"),E=X(L.get("edgeDistance"),u),N=L.get("bleedMargin"),O=M.getModel("labelLine"),B=O.get("length");B=X(B,u);var G=O.get("length2");if(G=X(G,u),Math.abs(T.endAngle-T.startAngle)<o){D(A.states,c),A.ignore=!0,C&&(D(C.states,c),C.ignore=!0);return}if(d(A)){var U=(T.startAngle+T.endAngle)/2,Z=Math.cos(U),rt=Math.sin(U),at,W,Y,ft;a=T.cx,n=T.cy;var tt=I==="inside"||I==="inner";if(I==="center")at=T.cx,W=T.cy,ft="center";else{var q=(tt?(T.r+T.r0)/2*Z:T.r*Z)+a,it=(tt?(T.r+T.r0)/2*rt:T.r*rt)+n;if(at=q+Z*3,W=it+rt*3,!tt){var Q=q+Z*(B+l-T.r),F=it+rt*(B+l-T.r),Lt=Q+(Z<0?-1:1)*G,_t=F;R==="edge"?at=Z<0?f+E:f+u-E:at=Lt+(Z<0?-P:P),W=_t,Y=[[q,it],[Q,F],[Lt,_t]]}ft=tt?"center":R==="edge"?Z>0?"right":"left":Z>0?"left":"right"}var kt=Math.PI,Ht=0,ae=L.get("rotate");if(Dt(ae))Ht=ae*(kt/180);else if(I==="center")Ht=0;else if(ae==="radial"||ae===!0){var Ye=Z<0?-U+kt:-U;Ht=Ye}else if(ae==="tangential"&&I!=="outside"&&I!=="outer"){var Ve=Math.atan2(Z,rt);Ve<0&&(Ve=kt*2+Ve);var cn=rt>0;cn&&(Ve=kt+Ve),Ht=Ve-kt}if(i=!!Ht,A.x=at,A.y=W,A.rotation=Ht,A.setStyle({verticalAlign:"middle"}),tt){A.setStyle({align:ft});var Uh=A.states.select;Uh&&(Uh.x+=A.x,Uh.y+=A.y)}else{var Ca=A.getBoundingRect().clone();Ca.applyTransform(A.getComputedTransform());var dm=(A.style.margin||0)+2.1;Ca.y-=dm/2,Ca.height+=dm,t.push({label:A,labelLine:C,position:I,len:B,len2:G,minTurnAngle:O.get("minTurnAngle"),maxSurfaceAngle:O.get("maxSurfaceAngle"),surfaceNormal:new pt(Z,rt),linePoints:Y,textAlign:ft,labelDistance:P,labelAlignTo:R,edgeDistance:E,bleedMargin:N,rect:Ca,unconstrainedWidth:Ca.width,labelStyleWidth:A.style.width})}w.setTextConfig({inside:tt})}}),!i&&r.get("avoidLabelOverlap")&&SV(t,a,n,l,u,v,f,h);for(var p=0;p<t.length;p++){var g=t[p],y=g.label,m=g.labelLine,_=isNaN(y.x)||isNaN(y.y);if(y){y.setStyle({align:g.textAlign}),_&&(D(y.states,c),y.ignore=!0);var S=y.states.select;S&&(S.x+=y.x,S.y+=y.y)}if(m){var b=g.linePoints;_||!b?(D(m.states,c),m.ignore=!0):(aD(b,g.minTurnAngle),U5(b,g.surfaceNormal,g.maxSurfaceAngle),m.setShape({points:b}),y.__hostTarget.textGuideLineConfig={anchor:new pt(b[0][0],b[0][1])})}}}var bV=function(r){k(e,r);function e(t,a,n){var i=r.call(this)||this;i.z2=2;var o=new Ct;return i.setTextContent(o),i.updateData(t,a,n,!0),i}return e.prototype.updateData=function(t,a,n,i){var o=this,s=t.hostModel,l=t.getItemModel(a),u=l.getModel("emphasis"),f=t.getItemLayout(a),h=V(ei(l.getModel("itemStyle"),f,!0),f);if(isNaN(h.startAngle)){o.setShape(h);return}if(i){o.setShape(h);var v=s.getShallow("animationType");s.ecModel.ssr?(Ft(o,{scaleX:0,scaleY:0},s,{dataIndex:a,isFrom:!0}),o.originX=h.cx,o.originY=h.cy):v==="scale"?(o.shape.r=f.r0,Ft(o,{shape:{r:f.r}},s,a)):n!=null?(o.setShape({startAngle:n,endAngle:n}),Ft(o,{shape:{startAngle:f.startAngle,endAngle:f.endAngle}},s,a)):(o.shape.endAngle=f.startAngle,Mt(o,{shape:{endAngle:f.endAngle}},s,a))}else Ir(o),Mt(o,{shape:h},s,a);o.useStyle(t.getItemVisual(a,"style")),ge(o,l);var c=(f.startAngle+f.endAngle)/2,d=s.get("selectedOffset"),p=Math.cos(c)*d,g=Math.sin(c)*d,y=l.getShallow("cursor");y&&o.attr("cursor",y),this._updateLabel(s,t,a),o.ensureState("emphasis").shape=V({r:f.r+(u.get("scale")&&u.get("scaleSize")||0)},ei(u.getModel("itemStyle"),f)),V(o.ensureState("select"),{x:p,y:g,shape:ei(l.getModel(["select","itemStyle"]),f)}),V(o.ensureState("blur"),{shape:ei(l.getModel(["blur","itemStyle"]),f)});var m=o.getTextGuideLine(),_=o.getTextContent();m&&V(m.ensureState("select"),{x:p,y:g}),V(_.ensureState("select"),{x:p,y:g}),Yt(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,a,n){var i=this,o=a.getItemModel(n),s=o.getModel("labelLine"),l=a.getItemVisual(n,"style"),u=l&&l.fill,f=l&&l.opacity;ye(i,le(o),{labelFetcher:a.hostModel,labelDataIndex:n,inheritColor:u,defaultOpacity:f,defaultText:t.getFormattedLabel(n,"normal")||a.getName(n)});var h=i.getTextContent();i.setTextConfig({position:null,rotation:null}),h.attr({z2:10});var v=t.get(["label","position"]);if(v!=="outside"&&v!=="outer")i.removeTextGuideLine();else{var c=this.getTextGuideLine();c||(c=new Be,this.setTextGuideLine(c)),ly(this,uy(o),{stroke:u,opacity:Zr(s.get(["lineStyle","opacity"]),f,1)})}},e}(Oe),wV=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,a,n,i){var o=t.getData(),s=this._data,l=this.group,u;if(!s&&o.count()>0){for(var f=o.getItemLayout(0),h=1;isNaN(f&&f.startAngle)&&h<o.count();++h)f=o.getItemLayout(h);f&&(u=f.startAngle)}if(this._emptyCircleSector&&l.remove(this._emptyCircleSector),o.count()===0&&t.get("showEmptyCircle")){var v=ND(t),c=new Oe({shape:V(OD(t,n),v)});c.useStyle(t.getModel("emptyCircleStyle").getItemStyle()),this._emptyCircleSector=c,l.add(c)}o.diff(s).add(function(d){var p=new bV(o,d,u);o.setItemGraphicEl(d,p),l.add(p)}).update(function(d,p){var g=s.getItemGraphicEl(p);g.updateData(o,d,u),g.off("click"),l.add(g),o.setItemGraphicEl(d,g)}).remove(function(d){var p=s.getItemGraphicEl(d);Ks(p,t,d)}).execute(),xV(t),t.get("animationTypeUpdate")!=="expansion"&&(this._data=o)},e.prototype.dispose=function(){},e.prototype.containPoint=function(t,a){var n=a.getData(),i=n.getItemLayout(0);if(i){var o=t[0]-i.cx,s=t[1]-i.cy,l=Math.sqrt(o*o+s*s);return l<=i.r&&l>=i.r0}},e.type="pie",e}(Nt);function Bo(r,e,t){e=z(e)&&{coordDimensions:e}||V({encodeDefine:r.getEncode()},e);var a=r.getSource(),n=Dl(a,e).dimensions,i=new Pe(n,r);return i.initData(a,t),i}var kl=function(){function r(e,t){this._getDataWithEncodedVisual=e,this._getRawData=t}return r.prototype.getAllNames=function(){var e=this._getRawData();return e.mapArray(e.getName)},r.prototype.containName=function(e){var t=this._getRawData();return t.indexOfName(e)>=0},r.prototype.indexOfName=function(e){var t=this._getDataWithEncodedVisual();return t.indexOfName(e)},r.prototype.getItemVisual=function(e,t){var a=this._getDataWithEncodedVisual();return a.getItemVisual(e,t)},r}(),TV=At(),AV=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kl(J(this.getData,this),J(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.mergeOption=function(){r.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return Bo(this,{coordDimensions:["value"],encodeDefaulter:ct(Fg,this)})},e.prototype.getDataParams=function(t){var a=this.getData(),n=TV(a),i=n.seats;if(!i){var o=[];a.each(a.mapDimension("value"),function(l){o.push(l)}),i=n.seats=gP(o,a.hostModel.get("percentPrecision"))}var s=r.prototype.getDataParams.call(this,t);return s.percent=i[t]||0,s.$vars.push("percent"),s},e.prototype._defaultLabelLine=function(t){hi(t,"labelLine",["show"]);var a=t.labelLine,n=t.emphasis.labelLine;a.show=a.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(Gt);function CV(r){return{seriesType:r,reset:function(e,t){var a=e.getData();a.filterSelf(function(n){var i=a.mapDimension("value"),o=a.get(i,n);return!(Dt(o)&&!isNaN(o)&&o<0)})}}}function DV(r){r.registerChartView(wV),r.registerSeriesModel(AV),aC("pie",r.registerAction),r.registerLayout(ct(mV,"pie")),r.registerProcessor(El("pie")),r.registerProcessor(CV("pie"))}var MV=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,a){return Aa(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?5e3:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?1e4:this.get("progressiveThreshold"))},e.prototype.brushSelector=function(t,a,n){return n.point(a.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(Gt),VD=4,LV=function(){function r(){}return r}(),IV=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a._off=0,a.hoverDataIdx=-1,a}return e.prototype.getDefaultShape=function(){return new LV},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,a){var n=a.points,i=a.size,o=this.symbolProxy,s=o.shape,l=t.getContext?t.getContext():t,u=l&&i[0]<VD,f=this.softClipShape,h;if(u){this._ctx=l;return}for(this._ctx=null,h=this._off;h<n.length;){var v=n[h++],c=n[h++];isNaN(v)||isNaN(c)||f&&!f.contain(v,c)||(s.x=v-i[0]/2,s.y=c-i[1]/2,s.width=i[0],s.height=i[1],o.buildPath(t,s,!0))}this.incremental&&(this._off=h,this.notClear=!0)},e.prototype.afterBrush=function(){var t=this.shape,a=t.points,n=t.size,i=this._ctx,o=this.softClipShape,s;if(i){for(s=this._off;s<a.length;){var l=a[s++],u=a[s++];isNaN(l)||isNaN(u)||o&&!o.contain(l,u)||i.fillRect(l-n[0]/2,u-n[1]/2,n[0],n[1])}this.incremental&&(this._off=s,this.notClear=!0)}},e.prototype.findDataIndex=function(t,a){for(var n=this.shape,i=n.points,o=n.size,s=Math.max(o[0],4),l=Math.max(o[1],4),u=i.length/2-1;u>=0;u--){var f=u*2,h=i[f]-s/2,v=i[f+1]-l/2;if(t>=h&&a>=v&&t<=h+s&&a<=v+l)return u}return-1},e.prototype.contain=function(t,a){var n=this.transformCoordToLocal(t,a),i=this.getBoundingRect();if(t=n[0],a=n[1],i.contain(t,a)){var o=this.hoverDataIdx=this.findDataIndex(t,a);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var a=this.shape,n=a.points,i=a.size,o=i[0],s=i[1],l=1/0,u=1/0,f=-1/0,h=-1/0,v=0;v<n.length;){var c=n[v++],d=n[v++];l=Math.min(c,l),f=Math.max(c,f),u=Math.min(d,u),h=Math.max(d,h)}t=this._rect=new gt(l-o/2,u-s/2,f-l+o,h-u+s)}return t},e}(St),PV=function(){function r(){this.group=new ut}return r.prototype.updateData=function(e,t){this._clear();var a=this._create();a.setShape({points:e.getLayout("points")}),this._setCommon(a,e,t)},r.prototype.updateLayout=function(e){var t=e.getLayout("points");this.group.eachChild(function(a){if(a.startIndex!=null){var n=(a.endIndex-a.startIndex)*2,i=a.startIndex*4*2;t=new Float32Array(t.buffer,i,n)}a.setShape("points",t),a.reset()})},r.prototype.incrementalPrepareUpdate=function(e){this._clear()},r.prototype.incrementalUpdate=function(e,t,a){var n=this._newAdded[0],i=t.getLayout("points"),o=n&&n.shape.points;if(o&&o.length<2e4){var s=o.length,l=new Float32Array(s+i.length);l.set(o),l.set(i,s),n.endIndex=e.end,n.setShape({points:l})}else{this._newAdded=[];var u=this._create();u.startIndex=e.start,u.endIndex=e.end,u.incremental=!0,u.setShape({points:i}),this._setCommon(u,t,a)}},r.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},r.prototype._create=function(){var e=new IV({cursor:"default"});return e.ignoreCoarsePointer=!0,this.group.add(e),this._newAdded.push(e),e},r.prototype._setCommon=function(e,t,a){var n=t.hostModel;a=a||{};var i=t.getVisual("symbolSize");e.setShape("size",i instanceof Array?i:[i,i]),e.softClipShape=a.clipShape||null,e.symbolProxy=jt(t.getVisual("symbol"),0,0,0,0),e.setColor=e.symbolProxy.setColor;var o=e.shape.size[0]<VD;e.useStyle(n.getModel("itemStyle").getItemStyle(o?["color","shadowBlur","shadowColor"]:["color"]));var s=t.getVisual("style"),l=s&&s.fill;l&&e.setColor(l);var u=ht(e);u.seriesIndex=n.seriesIndex,e.on("mousemove",function(f){u.dataIndex=null;var h=e.hoverDataIdx;h>=0&&(u.dataIndex=h+(e.startIndex||0))})},r.prototype.remove=function(){this._clear()},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}(),RV=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=t.getData(),o=this._updateSymbolDraw(i,t);o.updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,a,n){var i=t.getData(),o=this._updateSymbolDraw(i,t);o.incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,a,n){this._symbolDraw.incrementalUpdate(t,a.getData(),{clipShape:this._getClipShape(a)}),this._finished=t.end===a.getData().count()},e.prototype.updateTransform=function(t,a,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var o=Rl("").reset(t,a,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var a=t.coordinateSystem;return a&&a.getArea&&a.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,a){var n=this._symbolDraw,i=a.pipelineContext,o=i.large;return(!n||o!==this._isLargeDraw)&&(n&&n.remove(),n=this._symbolDraw=o?new PV:new Il,this._isLargeDraw=o,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,a){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(Nt),EV=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(bt),xp=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Qt).models[0]},e.type="cartesian2dAxis",e}(bt);te(xp,Ml);var zD={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},kV=dt({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},zD),gy=dt({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},zD),OV=dt({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},gy),NV=ot({logBase:10},gy);const GD={category:kV,value:gy,time:OV,log:NV};var BV={value:1,category:1,time:1,log:1};function mo(r,e,t,a){D(BV,function(n,i){var o=dt(dt({},GD[i],!0),a,!0),s=function(l){k(u,l);function u(){var f=l!==null&&l.apply(this,arguments)||this;return f.type=e+"Axis."+i,f}return u.prototype.mergeDefaultAndTheme=function(f,h){var v=Qs(this),c=v?Po(f):{},d=h.getTheme();dt(f,d.get(i+"Axis")),dt(f,this.getDefaultOption()),f.type=G1(f),v&&sn(f,c,v)},u.prototype.optionUpdated=function(){var f=this.option;f.type==="category"&&(this.__ordinalMeta=dp.createByAxisModel(this))},u.prototype.getCategories=function(f){var h=this.option;if(h.type==="category")return f?h.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=e+"Axis."+i,u.defaultOption=o,u}(t);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(e+"Axis",G1)}function G1(r){return r.type||(r.data?"category":"value")}var VV=function(){function r(e){this.type="cartesian",this._dimList=[],this._axes={},this.name=e||""}return r.prototype.getAxis=function(e){return this._axes[e]},r.prototype.getAxes=function(){return H(this._dimList,function(e){return this._axes[e]},this)},r.prototype.getAxesByScale=function(e){return e=e.toLowerCase(),Pt(this.getAxes(),function(t){return t.scale.type===e})},r.prototype.addAxis=function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},r}(),bp=["x","y"];function F1(r){return r.type==="interval"||r.type==="time"}var zV=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="cartesian2d",t.dimensions=bp,t}return e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,a=this.getAxis("y").scale;if(!(!F1(t)||!F1(a))){var n=t.getExtent(),i=a.getExtent(),o=this.dataToPoint([n[0],i[0]]),s=this.dataToPoint([n[1],i[1]]),l=n[1]-n[0],u=i[1]-i[0];if(!(!l||!u)){var f=(s[0]-o[0])/l,h=(s[1]-o[1])/u,v=o[0]-n[0]*f,c=o[1]-i[0]*h,d=this._transform=[f,0,0,h,v,c];this._invTransform=To([],d)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var a=this.getAxis("x"),n=this.getAxis("y");return a.contain(a.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,a){var n=this.dataToPoint(t),i=this.dataToPoint(a),o=this.getArea(),s=new gt(n[0],n[1],i[0]-n[0],i[1]-n[1]);return o.intersect(s)},e.prototype.dataToPoint=function(t,a,n){n=n||[];var i=t[0],o=t[1];if(this._transform&&i!=null&&isFinite(i)&&o!=null&&isFinite(o))return pe(n,t,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return n[0]=s.toGlobalCoord(s.dataToCoord(i,a)),n[1]=l.toGlobalCoord(l.dataToCoord(o,a)),n},e.prototype.clampData=function(t,a){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,o=n.getExtent(),s=i.getExtent(),l=n.parse(t[0]),u=i.parse(t[1]);return a=a||[],a[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),a[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),a},e.prototype.pointToData=function(t,a){var n=[];if(this._invTransform)return pe(n,t,this._invTransform);var i=this.getAxis("x"),o=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),a),n[1]=o.coordToData(o.toLocalCoord(t[1]),a),n},e.prototype.getOtherAxis=function(t){return this.getAxis(t.dim==="x"?"y":"x")},e.prototype.getArea=function(t){t=t||0;var a=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),i=Math.min(a[0],a[1])-t,o=Math.min(n[0],n[1])-t,s=Math.max(a[0],a[1])-i+t,l=Math.max(n[0],n[1])-o+t;return new gt(i,o,s,l)},e}(VV),GV=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this,t,a,n)||this;return s.index=0,s.type=i||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.getGlobalExtent=function(t){var a=this.getExtent();return a[0]=this.toGlobalCoord(a[0]),a[1]=this.toGlobalCoord(a[1]),t&&a[0]>a[1]&&a.reverse(),a},e.prototype.pointToData=function(t,a){return this.coordToData(this.toLocalCoord(t[this.dim==="x"?0:1]),a)},e.prototype.setCategorySortInfo=function(t){if(this.type!=="category")return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(Rr);function wp(r,e,t){t=t||{};var a=r.coordinateSystem,n=e.axis,i={},o=n.getAxesOnZeroOf()[0],s=n.position,l=o?"onZero":s,u=n.dim,f=a.getRect(),h=[f.x,f.x+f.width,f.y,f.y+f.height],v={left:0,right:1,top:0,bottom:1,onZero:2},c=e.get("offset")||0,d=u==="x"?[h[2]-c,h[3]+c]:[h[0]-c,h[1]+c];if(o){var p=o.toGlobalCoord(o.dataToCoord(0));d[v.onZero]=Math.max(Math.min(p,d[1]),d[0])}i.position=[u==="y"?d[v[l]]:h[0],u==="x"?d[v[l]]:h[3]],i.rotation=Math.PI/2*(u==="x"?0:1);var g={top:-1,bottom:1,left:-1,right:1};i.labelDirection=i.tickDirection=i.nameDirection=g[s],i.labelOffset=o?d[v[s]]-d[v.onZero]:0,e.get(["axisTick","inside"])&&(i.tickDirection=-i.tickDirection),ve(t.labelInside,e.get(["axisLabel","inside"]))&&(i.labelDirection=-i.labelDirection);var y=e.get(["axisLabel","rotate"]);return i.labelRotate=l==="top"?-y:y,i.z2=1,i}function H1(r){return r.get("coordinateSystem")==="cartesian2d"}function W1(r){var e={xAxisModel:null,yAxisModel:null};return D(e,function(t,a){var n=a.replace(/Model$/,""),i=r.getReferringComponents(n,Qt).models[0];e[a]=i}),e}var dc=Math.log;function FD(r,e,t){var a=Sa.prototype,n=a.getTicks.call(t),i=a.getTicks.call(t,!0),o=n.length-1,s=a.getInterval.call(t),l=UC(r,e),u=l.extent,f=l.fixMin,h=l.fixMax;if(r.type==="log"){var v=dc(r.base);u=[dc(u[0])/v,dc(u[1])/v]}r.setExtent(u[0],u[1]),r.calcNiceExtent({splitNumber:o,fixMin:f,fixMax:h});var c=a.getExtent.call(r);f&&(u[0]=c[0]),h&&(u[1]=c[1]);var d=a.getInterval.call(r),p=u[0],g=u[1];if(f&&h)d=(g-p)/o;else if(f)for(g=u[0]+d*o;g<u[1]&&isFinite(g)&&isFinite(u[1]);)d=jv(d),g=u[0]+d*o;else if(h)for(p=u[1]-d*o;p>u[0]&&isFinite(p)&&isFinite(u[0]);)d=jv(d),p=u[1]-d*o;else{var y=r.getTicks().length-1;y>o&&(d=jv(d));var m=d*o;g=Math.ceil(u[1]/d)*d,p=Zt(g-m),p<0&&u[0]>=0?(p=0,g=Zt(m)):g>0&&u[1]<=0&&(g=0,p=-Zt(m))}var _=(n[0].value-i[0].value)/s,S=(n[o].value-i[o].value)/s;a.setExtent.call(r,p+d*_,g+d*S),a.setInterval.call(r,d),(_||S)&&a.setNiceExtent.call(r,p+d,g-d)}var FV=function(){function r(e,t,a){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=bp,this._initCartesian(e,t,a),this.model=e}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(e,t){var a=this._axesMap;this._updateScale(e,this.model);function n(o){var s,l=wt(o),u=l.length;if(u){for(var f=[],h=u-1;h>=0;h--){var v=+l[h],c=o[v],d=c.model,p=c.scale;pp(p)&&d.get("alignTicks")&&d.get("interval")==null?f.push(c):(go(p,d),pp(p)&&(s=c))}f.length&&(s||(s=f.pop(),go(s.scale,s.model)),D(f,function(g){FD(g.scale,g.model,s.scale)}))}}n(a.x),n(a.y);var i={};D(a.x,function(o){U1(a,"y",o,i)}),D(a.y,function(o){U1(a,"x",o,i)}),this.resize(this.model,t)},r.prototype.resize=function(e,t,a){var n=e.getBoxLayoutParams(),i=!a&&e.get("containLabel"),o=re(n,{width:t.getWidth(),height:t.getHeight()});this._rect=o;var s=this._axesList;l(),i&&(D(s,function(u){if(!u.model.get(["axisLabel","inside"])){var f=x5(u);if(f){var h=u.isHorizontal()?"height":"width",v=u.model.get(["axisLabel","margin"]);o[h]-=f[h]+v,u.position==="top"?o.y+=f.height+v:u.position==="left"&&(o.x+=f.width+v)}}}),l()),D(this._coordsList,function(u){u.calcAffineTransform()});function l(){D(s,function(u){var f=u.isHorizontal(),h=f?[0,o.width]:[0,o.height],v=u.inverse?1:0;u.setExtent(h[v],h[1-v]),HV(u,f?o.x:o.y)})}},r.prototype.getAxis=function(e,t){var a=this._axesMap[e];if(a!=null)return a[t||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(e,t){if(e!=null&&t!=null){var a="x"+e+"y"+t;return this._coordsMap[a]}st(e)&&(t=e.yAxisIndex,e=e.xAxisIndex);for(var n=0,i=this._coordsList;n<i.length;n++)if(i[n].getAxis("x").index===e||i[n].getAxis("y").index===t)return i[n]},r.prototype.getCartesians=function(){return this._coordsList.slice()},r.prototype.convertToPixel=function(e,t,a){var n=this._findConvertTarget(t);return n.cartesian?n.cartesian.dataToPoint(a):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(a)):null},r.prototype.convertFromPixel=function(e,t,a){var n=this._findConvertTarget(t);return n.cartesian?n.cartesian.pointToData(a):n.axis?n.axis.coordToData(n.axis.toLocalCoord(a)):null},r.prototype._findConvertTarget=function(e){var t=e.seriesModel,a=e.xAxisModel||t&&t.getReferringComponents("xAxis",Qt).models[0],n=e.yAxisModel||t&&t.getReferringComponents("yAxis",Qt).models[0],i=e.gridModel,o=this._coordsList,s,l;if(t)s=t.coordinateSystem,yt(o,s)<0&&(s=null);else if(a&&n)s=this.getCartesian(a.componentIndex,n.componentIndex);else if(a)l=this.getAxis("x",a.componentIndex);else if(n)l=this.getAxis("y",n.componentIndex);else if(i){var u=i.coordinateSystem;u===this&&(s=this._coordsList[0])}return{cartesian:s,axis:l}},r.prototype.containPoint=function(e){var t=this._coordsList[0];if(t)return t.containPoint(e)},r.prototype._initCartesian=function(e,t,a){var n=this,i=this,o={left:!1,right:!1,top:!1,bottom:!1},s={x:{},y:{}},l={x:0,y:0};if(t.eachComponent("xAxis",u("x"),this),t.eachComponent("yAxis",u("y"),this),!l.x||!l.y){this._axesMap={},this._axesList=[];return}this._axesMap=s,D(s.x,function(f,h){D(s.y,function(v,c){var d="x"+h+"y"+c,p=new zV(d);p.master=n,p.model=e,n._coordsMap[d]=p,n._coordsList.push(p),p.addAxis(f),p.addAxis(v)})});function u(f){return function(h,v){if(pc(h,e)){var c=h.get("position");f==="x"?c!=="top"&&c!=="bottom"&&(c=o.bottom?"top":"bottom"):c!=="left"&&c!=="right"&&(c=o.left?"right":"left"),o[c]=!0;var d=new GV(f,Oh(h),[0,0],h.get("type"),c),p=d.type==="category";d.onBand=p&&h.get("boundaryGap"),d.inverse=h.get("inverse"),h.axis=d,d.model=h,d.grid=i,d.index=v,i._axesList.push(d),s[f][v]=d,l[f]++}}}},r.prototype._updateScale=function(e,t){D(this._axesList,function(n){if(n.scale.setExtent(1/0,-1/0),n.type==="category"){var i=n.model.get("categorySortInfo");n.scale.setSortInfo(i)}}),e.eachSeries(function(n){if(H1(n)){var i=W1(n),o=i.xAxisModel,s=i.yAxisModel;if(!pc(o,t)||!pc(s,t))return;var l=this.getCartesian(o.componentIndex,s.componentIndex),u=n.getData(),f=l.getAxis("x"),h=l.getAxis("y");a(u,f),a(u,h)}},this);function a(n,i){D(kf(n,i.dim),function(o){i.scale.unionExtentFromData(n,o)})}},r.prototype.getTooltipAxes=function(e){var t=[],a=[];return D(this.getCartesians(),function(n){var i=e!=null&&e!=="auto"?n.getAxis(e):n.getBaseAxis(),o=n.getOtherAxis(i);yt(t,i)<0&&t.push(i),yt(a,o)<0&&a.push(o)}),{baseAxes:t,otherAxes:a}},r.create=function(e,t){var a=[];return e.eachComponent("grid",function(n,i){var o=new r(n,e,t);o.name="grid_"+i,o.resize(n,t,!0),n.coordinateSystem=o,a.push(o)}),e.eachSeries(function(n){if(H1(n)){var i=W1(n),o=i.xAxisModel,s=i.yAxisModel,l=o.getCoordSysModel(),u=l.coordinateSystem;n.coordinateSystem=u.getCartesian(o.componentIndex,s.componentIndex)}}),a},r.dimensions=bp,r}();function pc(r,e){return r.getCoordSysModel()===e}function U1(r,e,t,a){t.getAxesOnZeroOf=function(){return i?[i]:[]};var n=r[e],i,o=t.model,s=o.get(["axisLine","onZero"]),l=o.get(["axisLine","onZeroAxisIndex"]);if(!s)return;if(l!=null)Y1(n[l])&&(i=n[l]);else for(var u in n)if(n.hasOwnProperty(u)&&Y1(n[u])&&!a[f(n[u])]){i=n[u];break}i&&(a[f(i)]=!0);function f(h){return h.dim+"_"+h.index}}function Y1(r){return r&&r.type!=="category"&&r.type!=="time"&&S5(r)}function HV(r,e){var t=r.getExtent(),a=t[0]+t[1];r.toGlobalCoord=r.dim==="x"?function(n){return n+e}:function(n){return a-n+e},r.toLocalCoord=r.dim==="x"?function(n){return n-e}:function(n){return a-n+e}}var qa=Math.PI,Re=function(){function r(e,t){this.group=new ut,this.opt=t,this.axisModel=e,ot(t,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var a=new ut({x:t.position[0],y:t.position[1],rotation:t.rotation});a.updateTransform(),this._transformGroup=a}return r.prototype.hasBuilder=function(e){return!!$1[e]},r.prototype.add=function(e){$1[e](this.opt,this.axisModel,this.group,this._transformGroup)},r.prototype.getGroup=function(){return this.group},r.innerTextLayout=function(e,t,a){var n=nT(t-e),i,o;return $s(n)?(o=a>0?"top":"bottom",i="center"):$s(n-qa)?(o=a>0?"bottom":"top",i="center"):(o="middle",n>0&&n<qa?i=a>0?"right":"left":i=a>0?"left":"right"),{rotation:n,textAlign:i,textVerticalAlign:o}},r.makeAxisEventDataBase=function(e){var t={componentType:e.mainType,componentIndex:e.componentIndex};return t[e.mainType+"Index"]=e.componentIndex,t},r.isLabelSilent=function(e){var t=e.get("tooltip");return e.get("silent")||!(e.get("triggerEvent")||t&&t.show)},r}(),$1={axisLine:function(r,e,t,a){var n=e.get(["axisLine","show"]);if(n==="auto"&&r.handleAutoShown&&(n=r.handleAutoShown("axisLine")),!!n){var i=e.axis.getExtent(),o=a.transform,s=[i[0],0],l=[i[1],0],u=s[0]>l[0];o&&(pe(s,s,o),pe(l,l,o));var f=V({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),h=new ie({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:f,strokeContainThreshold:r.strokeContainThreshold||5,silent:!0,z2:1});vo(h.shape,h.style.lineWidth),h.anid="line",t.add(h);var v=e.get(["axisLine","symbol"]);if(v!=null){var c=e.get(["axisLine","symbolSize"]);K(v)&&(v=[v,v]),(K(c)||Dt(c))&&(c=[c,c]);var d=bi(e.get(["axisLine","symbolOffset"])||0,c),p=c[0],g=c[1];D([{rotate:r.rotation+Math.PI/2,offset:d[0],r:0},{rotate:r.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],function(y,m){if(v[m]!=="none"&&v[m]!=null){var _=jt(v[m],-p/2,-g/2,p,g,f.stroke,!0),S=y.r+y.offset,b=u?l:s;_.attr({rotation:y.rotate,x:b[0]+S*Math.cos(r.rotation),y:b[1]-S*Math.sin(r.rotation),silent:!0,z2:11}),t.add(_)}})}}},axisTickLabel:function(r,e,t,a){var n=YV(t,a,e,r),i=ZV(t,a,e,r);if(UV(e,i,n),$V(t,a,e,r.tickDirection),e.get(["axisLabel","hideOverlap"])){var o=nD(H(i,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));sD(o)}},axisName:function(r,e,t,a){var n=ve(r.axisName,e.get("name"));if(n){var i=e.get("nameLocation"),o=r.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=e.axis.getExtent(),f=u[0]>u[1]?-1:1,h=[i==="start"?u[0]-f*l:i==="end"?u[1]+f*l:(u[0]+u[1])/2,X1(i)?r.labelOffset+o*l:0],v,c=e.get("nameRotate");c!=null&&(c=c*qa/180);var d;X1(i)?v=Re.innerTextLayout(r.rotation,c??r.rotation,o):(v=WV(r.rotation,i,c||0,u),d=r.axisNameAvailableWidth,d!=null&&(d=Math.abs(d/Math.sin(v.rotation)),!isFinite(d)&&(d=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},y=g.ellipsis,m=ve(r.nameTruncateMaxWidth,g.maxWidth,d),_=new Ct({x:h[0],y:h[1],rotation:v.rotation,silent:Re.isLabelSilent(e),style:zt(s,{text:n,font:p,overflow:"truncate",width:m,ellipsis:y,fill:s.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:s.get("align")||v.textAlign,verticalAlign:s.get("verticalAlign")||v.textVerticalAlign}),z2:1});if(Si({el:_,componentModel:e,itemName:n}),_.__fullText=n,_.anid="name",e.get("triggerEvent")){var S=Re.makeAxisEventDataBase(e);S.targetType="axisName",S.name=n,ht(_).eventData=S}a.add(_),_.updateTransform(),t.add(_),_.decomposeTransform()}}};function WV(r,e,t,a){var n=nT(t-r),i,o,s=a[0]>a[1],l=e==="start"&&!s||e!=="start"&&s;return $s(n-qa/2)?(o=l?"bottom":"top",i="center"):$s(n-qa*1.5)?(o=l?"top":"bottom",i="center"):(o="middle",n<qa*1.5&&n>qa/2?i=l?"left":"right":i=l?"right":"left"),{rotation:n,textAlign:i,textVerticalAlign:o}}function UV(r,e,t){if(!YC(r.axis)){var a=r.get(["axisLabel","showMinLabel"]),n=r.get(["axisLabel","showMaxLabel"]);e=e||[],t=t||[];var i=e[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=t[0],f=t[1],h=t[t.length-1],v=t[t.length-2];a===!1?(je(i),je(u)):Z1(i,o)&&(a?(je(o),je(f)):(je(i),je(u))),n===!1?(je(s),je(h)):Z1(l,s)&&(n?(je(l),je(v)):(je(s),je(h)))}}function je(r){r&&(r.ignore=!0)}function Z1(r,e){var t=r&&r.getBoundingRect().clone(),a=e&&e.getBoundingRect().clone();if(!(!t||!a)){var n=oh([]);return _i(n,n,-r.rotation),t.applyTransform(ha([],n,r.getLocalTransform())),a.applyTransform(ha([],n,e.getLocalTransform())),t.intersect(a)}}function X1(r){return r==="middle"||r==="center"}function HD(r,e,t,a,n){for(var i=[],o=[],s=[],l=0;l<r.length;l++){var u=r[l].coord;o[0]=u,o[1]=0,s[0]=u,s[1]=t,e&&(pe(o,o,e),pe(s,s,e));var f=new ie({shape:{x1:o[0],y1:o[1],x2:s[0],y2:s[1]},style:a,z2:2,autoBatch:!0,silent:!0});vo(f.shape,f.style.lineWidth),f.anid=n+"_"+r[l].tickValue,i.push(f)}return i}function YV(r,e,t,a){var n=t.axis,i=t.getModel("axisTick"),o=i.get("show");if(o==="auto"&&a.handleAutoShown&&(o=a.handleAutoShown("axisTick")),!(!o||n.scale.isBlank())){for(var s=i.getModel("lineStyle"),l=a.tickDirection*i.get("length"),u=n.getTicksCoords(),f=HD(u,e.transform,l,ot(s.getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;h<f.length;h++)r.add(f[h]);return f}}function $V(r,e,t,a){var n=t.axis,i=t.getModel("minorTick");if(!(!i.get("show")||n.scale.isBlank())){var o=n.getMinorTicksCoords();if(o.length)for(var s=i.getModel("lineStyle"),l=a*i.get("length"),u=ot(s.getLineStyle(),ot(t.getModel("axisTick").getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])})),f=0;f<o.length;f++)for(var h=HD(o[f],e.transform,l,u,"minorticks_"+f),v=0;v<h.length;v++)r.add(h[v])}}function ZV(r,e,t,a){var n=t.axis,i=ve(a.axisLabelShow,t.get(["axisLabel","show"]));if(!(!i||n.scale.isBlank())){var o=t.getModel("axisLabel"),s=o.get("margin"),l=n.getViewLabels(),u=(ve(a.labelRotate,o.get("rotate"))||0)*qa/180,f=Re.innerTextLayout(a.rotation,u,a.labelDirection),h=t.getCategories&&t.getCategories(!0),v=[],c=Re.isLabelSilent(t),d=t.get("triggerEvent");return D(l,function(p,g){var y=n.scale.type==="ordinal"?n.scale.getRawOrdinalNumber(p.tickValue):p.tickValue,m=p.formattedLabel,_=p.rawLabel,S=o;if(h&&h[y]){var b=h[y];st(b)&&b.textStyle&&(S=new Et(b.textStyle,o,t.ecModel))}var x=S.getTextColor()||t.get(["axisLine","lineStyle","color"]),w=n.dataToCoord(y),T=S.getShallow("align",!0)||f.textAlign,A=vt(S.getShallow("alignMinLabel",!0),T),C=vt(S.getShallow("alignMaxLabel",!0),T),M=S.getShallow("verticalAlign",!0)||S.getShallow("baseline",!0)||f.textVerticalAlign,L=vt(S.getShallow("verticalAlignMinLabel",!0),M),I=vt(S.getShallow("verticalAlignMaxLabel",!0),M),P=new Ct({x:w,y:a.labelOffset+a.labelDirection*s,rotation:f.rotation,silent:c,z2:10+(p.level||0),style:zt(S,{text:m,align:g===0?A:g===l.length-1?C:T,verticalAlign:g===0?L:g===l.length-1?I:M,fill:nt(x)?x(n.type==="category"?_:n.type==="value"?y+"":y,g):x})});if(P.anid="label_"+y,Si({el:P,componentModel:t,itemName:m,formatterParamsExtra:{isTruncated:function(){return P.isTruncated},value:_,tickIndex:g}}),d){var R=Re.makeAxisEventDataBase(t);R.targetType="axisLabel",R.value=_,R.tickIndex=g,n.type==="category"&&(R.dataIndex=y),ht(P).eventData=R}e.add(P),P.updateTransform(),v.push(P),r.add(P),P.decomposeTransform()}),v}}function XV(r,e){var t={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return qV(t,r,e),t.seriesInvolved&&JV(t,r),t}function qV(r,e,t){var a=e.getComponent("tooltip"),n=e.getComponent("axisPointer"),i=n.get("link",!0)||[],o=[];D(t.getCoordinateSystems(),function(s){if(!s.axisPointerEnabled)return;var l=sl(s.model),u=r.coordSysAxesInfo[l]={};r.coordSysMap[l]=s;var f=s.model,h=f.getModel("tooltip",a);if(D(s.getAxes(),ct(p,!1,null)),s.getTooltipAxes&&a&&h.get("show")){var v=h.get("trigger")==="axis",c=h.get(["axisPointer","type"])==="cross",d=s.getTooltipAxes(h.get(["axisPointer","axis"]));(v||c)&&D(d.baseAxes,ct(p,c?"cross":!0,v)),c&&D(d.otherAxes,ct(p,"cross",!1))}function p(g,y,m){var _=m.model.getModel("axisPointer",n),S=_.get("show");if(!(!S||S==="auto"&&!g&&!Tp(_))){y==null&&(y=_.get("triggerTooltip")),_=g?KV(m,h,n,e,g,y):_;var b=_.get("snap"),x=_.get("triggerEmphasis"),w=sl(m.model),T=y||b||m.type==="category",A=r.axesInfo[w]={key:w,axis:m,coordSys:s,axisPointerModel:_,triggerTooltip:y,triggerEmphasis:x,involveSeries:T,snap:b,useHandle:Tp(_),seriesModels:[],linkGroup:null};u[w]=A,r.seriesInvolved=r.seriesInvolved||T;var C=QV(i,m);if(C!=null){var M=o[C]||(o[C]={axesInfo:{}});M.axesInfo[w]=A,M.mapper=i[C].mapper,A.linkGroup=M}}}})}function KV(r,e,t,a,n,i){var o=e.getModel("axisPointer"),s=["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],l={};D(s,function(v){l[v]=lt(o.get(v))}),l.snap=r.type!=="category"&&!!i,o.get("type")==="cross"&&(l.type="line");var u=l.label||(l.label={});if(u.show==null&&(u.show=!1),n==="cross"){var f=o.get(["label","show"]);if(u.show=f??!0,!i){var h=l.lineStyle=o.get("crossStyle");h&&ot(u,h.textStyle)}}return r.model.getModel("axisPointer",new Et(l,t,a))}function JV(r,e){e.eachSeries(function(t){var a=t.coordinateSystem,n=t.get(["tooltip","trigger"],!0),i=t.get(["tooltip","show"],!0);!a||n==="none"||n===!1||n==="item"||i===!1||t.get(["axisPointer","show"],!0)===!1||D(r.coordSysAxesInfo[sl(a.model)],function(o){var s=o.axis;a.getAxis(s.dim)===s&&(o.seriesModels.push(t),o.seriesDataCount==null&&(o.seriesDataCount=0),o.seriesDataCount+=t.getData().count())})})}function QV(r,e){for(var t=e.model,a=e.dim,n=0;n<r.length;n++){var i=r[n]||{};if(gc(i[a+"AxisId"],t.id)||gc(i[a+"AxisIndex"],t.componentIndex)||gc(i[a+"AxisName"],t.name))return n}}function gc(r,e){return r==="all"||z(r)&&yt(r,e)>=0||r===e}function jV(r){var e=yy(r);if(e){var t=e.axisPointerModel,a=e.axis.scale,n=t.option,i=t.get("status"),o=t.get("value");o!=null&&(o=a.parse(o));var s=Tp(t);i==null&&(n.status=s?"show":"hide");var l=a.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o<l[0]&&(o=l[0]),n.value=o,s&&(n.status=e.axis.scale.isBlank()?"hide":"show")}}function yy(r){var e=(r.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[sl(r)]}function tz(r){var e=yy(r);return e&&e.axisPointerModel}function Tp(r){return!!r.get(["handle","show"])}function sl(r){return r.type+"||"+r.id}var q1={},Ai=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n,i){this.axisPointerClass&&jV(t),r.prototype.render.apply(this,arguments),this._doUpdateAxisPointerClass(t,n,!0)},e.prototype.updateAxisPointer=function(t,a,n,i){this._doUpdateAxisPointerClass(t,n,!1)},e.prototype.remove=function(t,a){var n=this._axisPointer;n&&n.remove(a)},e.prototype.dispose=function(t,a){this._disposeAxisPointer(a),r.prototype.dispose.apply(this,arguments)},e.prototype._doUpdateAxisPointerClass=function(t,a,n){var i=e.getAxisPointerClass(this.axisPointerClass);if(i){var o=tz(t);o?(this._axisPointer||(this._axisPointer=new i)).render(t,o,a,n):this._disposeAxisPointer(a)}},e.prototype._disposeAxisPointer=function(t){this._axisPointer&&this._axisPointer.dispose(t),this._axisPointer=null},e.registerAxisPointerClass=function(t,a){q1[t]=a},e.getAxisPointerClass=function(t){return t&&q1[t]},e.type="axis",e}(Ut),Ap=At();function WD(r,e,t,a){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitArea"),o=i.getModel("areaStyle"),s=o.get("color"),l=a.coordinateSystem.getRect(),u=n.getTicksCoords({tickModel:i,clamp:!0});if(u.length){var f=s.length,h=Ap(r).splitAreaColors,v=et(),c=0;if(h)for(var d=0;d<u.length;d++){var p=h.get(u[d].tickValue);if(p!=null){c=(p+(f-1)*d)%f;break}}var g=n.toGlobalCoord(u[0].coord),y=o.getAreaStyle();s=z(s)?s:[s];for(var d=1;d<u.length;d++){var m=n.toGlobalCoord(u[d].coord),_=void 0,S=void 0,b=void 0,x=void 0;n.isHorizontal()?(_=g,S=l.y,b=m-_,x=l.height,g=_+b):(_=l.x,S=g,b=l.width,x=m-S,g=S+x);var w=u[d-1].tickValue;w!=null&&v.set(w,c),e.add(new Tt({anid:w!=null?"area_"+w:null,shape:{x:_,y:S,width:b,height:x},style:ot({fill:s[c]},y),autoBatch:!0,silent:!0})),c=(c+1)%f}Ap(r).splitAreaColors=v}}}function UD(r){Ap(r).splitAreaColors=null}var ez=["axisLine","axisTickLabel","axisName"],rz=["splitArea","splitLine","minorSplitLine"],YD=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="CartesianAxisPointer",t}return e.prototype.render=function(t,a,n,i){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new ut,this.group.add(this._axisGroup),!!t.get("show")){var s=t.getCoordSysModel(),l=wp(s,t),u=new Re(t,V({handleAutoShown:function(h){for(var v=s.coordinateSystem.getCartesians(),c=0;c<v.length;c++)if(pp(v[c].getOtherAxis(t.axis).scale))return!0;return!1}},l));D(ez,u.add,u),this._axisGroup.add(u.getGroup()),D(rz,function(h){t.get([h,"show"])&&az[h](this,this._axisGroup,t,s)},this);var f=i&&i.type==="changeAxisOrder"&&i.isInitSort;f||wl(o,this._axisGroup,t),r.prototype.render.call(this,t,a,n,i)}},e.prototype.remove=function(){UD(this)},e.type="cartesianAxis",e}(Ai),az={splitLine:function(r,e,t,a){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitLine"),o=i.getModel("lineStyle"),s=o.get("color"),l=i.get("showMinLine")!==!1,u=i.get("showMaxLine")!==!1;s=z(s)?s:[s];for(var f=a.coordinateSystem.getRect(),h=n.isHorizontal(),v=0,c=n.getTicksCoords({tickModel:i}),d=[],p=[],g=o.getLineStyle(),y=0;y<c.length;y++){var m=n.toGlobalCoord(c[y].coord);if(!(y===0&&!l||y===c.length-1&&!u)){var _=c[y].tickValue;h?(d[0]=m,d[1]=f.y,p[0]=m,p[1]=f.y+f.height):(d[0]=f.x,d[1]=m,p[0]=f.x+f.width,p[1]=m);var S=v++%s.length,b=new ie({anid:_!=null?"line_"+_:null,autoBatch:!0,shape:{x1:d[0],y1:d[1],x2:p[0],y2:p[1]},style:ot({stroke:s[S]},g),silent:!0});vo(b.shape,g.lineWidth),e.add(b)}}}},minorSplitLine:function(r,e,t,a){var n=t.axis,i=t.getModel("minorSplitLine"),o=i.getModel("lineStyle"),s=a.coordinateSystem.getRect(),l=n.isHorizontal(),u=n.getMinorTicksCoords();if(u.length)for(var f=[],h=[],v=o.getLineStyle(),c=0;c<u.length;c++)for(var d=0;d<u[c].length;d++){var p=n.toGlobalCoord(u[c][d].coord);l?(f[0]=p,f[1]=s.y,h[0]=p,h[1]=s.y+s.height):(f[0]=s.x,f[1]=p,h[0]=s.x+s.width,h[1]=p);var g=new ie({anid:"minor_line_"+u[c][d].tickValue,autoBatch:!0,shape:{x1:f[0],y1:f[1],x2:h[0],y2:h[1]},style:v,silent:!0});vo(g.shape,v.lineWidth),e.add(g)}},splitArea:function(r,e,t,a){WD(r,e,t,a)}},$D=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="xAxis",e}(YD),nz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=$D.type,t}return e.type="yAxis",e}(YD),iz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="grid",t}return e.prototype.render=function(t,a){this.group.removeAll(),t.get("show")&&this.group.add(new Tt({shape:t.coordinateSystem.getRect(),style:ot({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))},e.type="grid",e}(Ut),K1={offset:0};function ZD(r){r.registerComponentView(iz),r.registerComponentModel(EV),r.registerCoordinateSystem("cartesian2d",FV),mo(r,"x",xp,K1),mo(r,"y",xp,K1),r.registerComponentView($D),r.registerComponentView(nz),r.registerPreprocessor(function(e){e.xAxis&&e.yAxis&&!e.grid&&(e.grid={})})}function oz(r){mt(ZD),r.registerSeriesModel(MV),r.registerChartView(RV),r.registerLayout(Rl("scatter"))}function sz(r){r.eachSeriesByType("radar",function(e){var t=e.getData(),a=[],n=e.coordinateSystem;if(n){var i=n.getIndicatorAxes();D(i,function(o,s){t.each(t.mapDimension(i[s].dim),function(l,u){a[u]=a[u]||[];var f=n.dataToPoint(l,s);a[u][s]=J1(f)?f:Q1(n)})}),t.each(function(o){var s=ZL(a[o],function(l){return J1(l)})||Q1(n);a[o].push(s.slice()),t.setItemLayout(o,a[o])})}})}function J1(r){return!isNaN(r[0])&&!isNaN(r[1])}function Q1(r){return[r.cx,r.cy]}function lz(r){var e=r.polar;if(e){z(e)||(e=[e]);var t=[];D(e,function(a,n){a.indicator?(a.type&&!a.shape&&(a.shape=a.type),r.radar=r.radar||[],z(r.radar)||(r.radar=[r.radar]),r.radar.push(a)):t.push(a)}),r.polar=t}D(r.series,function(a){a&&a.type==="radar"&&a.polarIndex&&(a.radarIndex=a.polarIndex)})}var uz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=t.coordinateSystem,o=this.group,s=t.getData(),l=this._data;function u(v,c){var d=v.getItemVisual(c,"symbol")||"circle";if(d!=="none"){var p=Oo(v.getItemVisual(c,"symbolSize")),g=jt(d,-1,-1,2,2),y=v.getItemVisual(c,"symbolRotate")||0;return g.attr({style:{strokeNoScale:!0},z2:100,scaleX:p[0]/2,scaleY:p[1]/2,rotation:y*Math.PI/180||0}),g}}function f(v,c,d,p,g,y){d.removeAll();for(var m=0;m<c.length-1;m++){var _=u(p,g);_&&(_.__dimIdx=m,v[m]?(_.setPosition(v[m]),xi[y?"initProps":"updateProps"](_,{x:c[m][0],y:c[m][1]},t,g)):_.setPosition(c[m]),d.add(_))}}function h(v){return H(v,function(c){return[i.cx,i.cy]})}s.diff(l).add(function(v){var c=s.getItemLayout(v);if(c){var d=new Ne,p=new Be,g={shape:{points:c}};d.shape.points=h(c),p.shape.points=h(c),Ft(d,g,t,v),Ft(p,g,t,v);var y=new ut,m=new ut;y.add(p),y.add(d),y.add(m),f(p.shape.points,c,m,s,v,!0),s.setItemGraphicEl(v,y)}}).update(function(v,c){var d=l.getItemGraphicEl(c),p=d.childAt(0),g=d.childAt(1),y=d.childAt(2),m={shape:{points:s.getItemLayout(v)}};m.shape.points&&(f(p.shape.points,m.shape.points,y,s,v,!1),Ir(g),Ir(p),Mt(p,m,t),Mt(g,m,t),s.setItemGraphicEl(v,d))}).remove(function(v){o.remove(l.getItemGraphicEl(v))}).execute(),s.eachItemGraphicEl(function(v,c){var d=s.getItemModel(c),p=v.childAt(0),g=v.childAt(1),y=v.childAt(2),m=s.getItemVisual(c,"style"),_=m.fill;o.add(v),p.useStyle(ot(d.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:_})),ge(p,d,"lineStyle"),ge(g,d,"areaStyle");var S=d.getModel("areaStyle"),b=S.isEmpty()&&S.parentModel.isEmpty();g.ignore=b,D(["emphasis","select","blur"],function(T){var A=d.getModel([T,"areaStyle"]),C=A.isEmpty()&&A.parentModel.isEmpty();g.ensureState(T).ignore=C&&b}),g.useStyle(ot(S.getAreaStyle(),{fill:_,opacity:.7,decal:m.decal}));var x=d.getModel("emphasis"),w=x.getModel("itemStyle").getItemStyle();y.eachChild(function(T){if(T instanceof ce){var A=T.style;T.useStyle(V({image:A.image,x:A.x,y:A.y,width:A.width,height:A.height},m))}else T.useStyle(m),T.setColor(_),T.style.strokeNoScale=!0;var C=T.ensureState("emphasis");C.style=lt(w);var M=s.getStore().get(s.getDimensionIndex(T.__dimIdx),c);(M==null||isNaN(M))&&(M=""),ye(T,le(d),{labelFetcher:s.hostModel,labelDataIndex:c,labelDimIndex:T.__dimIdx,defaultText:M,inheritColor:_,defaultOpacity:m.opacity})}),Yt(v,x.get("focus"),x.get("blurScope"),x.get("disabled"))}),this._data=s},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.type="radar",e}(Nt),fz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kl(J(this.getData,this),J(this.getRawData,this))},e.prototype.getInitialData=function(t,a){return Bo(this,{generateCoord:"indicator_",generateCoordCount:1/0})},e.prototype.formatTooltip=function(t,a,n){var i=this.getData(),o=this.coordinateSystem,s=o.getIndicatorAxes(),l=this.getData().getName(t),u=l===""?this.name:l,f=YA(this,t);return ue("section",{header:u,sortBlocks:!0,blocks:H(s,function(h){var v=i.get(i.mapDimension(h.dim),t);return ue("nameValue",{markerType:"subItem",markerColor:f,name:h.name,value:v,sortParam:v})})})},e.prototype.getTooltipPosition=function(t){if(t!=null){for(var a=this.getData(),n=this.coordinateSystem,i=a.getValues(H(n.dimensions,function(u){return a.mapDimension(u)}),t),o=0,s=i.length;o<s;o++)if(!isNaN(i[o])){var l=n.getIndicatorAxes();return n.coordToPoint(l[o].dataToCoord(i[o]),o)}}},e.type="series.radar",e.dependencies=["radar"],e.defaultOption={z:2,colorBy:"data",coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid",join:"round"},label:{position:"top"},symbolSize:8},e}(Gt),as=GD.value;function Tu(r,e){return ot({show:e},r)}var hz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){var t=this.get("boundaryGap"),a=this.get("splitNumber"),n=this.get("scale"),i=this.get("axisLine"),o=this.get("axisTick"),s=this.get("axisLabel"),l=this.get("axisName"),u=this.get(["axisName","show"]),f=this.get(["axisName","formatter"]),h=this.get("axisNameGap"),v=this.get("triggerEvent"),c=H(this.get("indicator")||[],function(d){d.max!=null&&d.max>0&&!d.min?d.min=0:d.min!=null&&d.min<0&&!d.max&&(d.max=0);var p=l;d.color!=null&&(p=ot({color:d.color},l));var g=dt(lt(d),{boundaryGap:t,splitNumber:a,scale:n,axisLine:i,axisTick:o,axisLabel:s,name:d.text,showName:u,nameLocation:"end",nameGap:h,nameTextStyle:p,triggerEvent:v},!1);if(K(f)){var y=g.name;g.name=f.replace("{value}",y??"")}else nt(f)&&(g.name=f(g.name,g));var m=new Et(g,null,this.ecModel);return te(m,Ml.prototype),m.mainType="radar",m.componentIndex=this.componentIndex,m},this);this._indicatorModels=c},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:dt({lineStyle:{color:"#bbb"}},as.axisLine),axisLabel:Tu(as.axisLabel,!1),axisTick:Tu(as.axisTick,!1),splitLine:Tu(as.splitLine,!0),splitArea:Tu(as.splitArea,!0),indicator:[]},e}(bt),vz=["axisLine","axisTickLabel","axisName"],cz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=this.group;i.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var a=t.coordinateSystem,n=a.getIndicatorAxes(),i=H(n,function(o){var s=o.model.get("showName")?o.name:"",l=new Re(o.model,{axisName:s,position:[a.cx,a.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});D(i,function(o){D(vz,o.add,o),this.group.add(o.getGroup())},this)},e.prototype._buildSplitLineAndArea=function(t){var a=t.coordinateSystem,n=a.getIndicatorAxes();if(!n.length)return;var i=t.get("shape"),o=t.getModel("splitLine"),s=t.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),f=o.get("show"),h=s.get("show"),v=l.get("color"),c=u.get("color"),d=z(v)?v:[v],p=z(c)?c:[c],g=[],y=[];function m(R,E,N){var O=N%E.length;return R[O]=R[O]||[],O}if(i==="circle")for(var _=n[0].getTicksCoords(),S=a.cx,b=a.cy,x=0;x<_.length;x++){if(f){var w=m(g,d,x);g[w].push(new Ta({shape:{cx:S,cy:b,r:_[x].coord}}))}if(h&&x<_.length-1){var w=m(y,p,x);y[w].push(new Sl({shape:{cx:S,cy:b,r0:_[x].coord,r:_[x+1].coord}}))}}else for(var T,A=H(n,function(R,E){var N=R.getTicksCoords();return T=T==null?N.length-1:Math.min(N.length-1,T),H(N,function(O){return a.coordToPoint(O.coord,E)})}),C=[],x=0;x<=T;x++){for(var M=[],L=0;L<n.length;L++)M.push(A[L][x]);if(M[0]&&M.push(M[0].slice()),f){var w=m(g,d,x);g[w].push(new Be({shape:{points:M}}))}if(h&&C){var w=m(y,p,x-1);y[w].push(new Ne({shape:{points:M.concat(C)}}))}C=M.slice().reverse()}var I=l.getLineStyle(),P=u.getAreaStyle();D(y,function(R,E){this.group.add(ur(R,{style:ot({stroke:"none",fill:p[E%p.length]},P),silent:!0}))},this),D(g,function(R,E){this.group.add(ur(R,{style:ot({fill:"none",stroke:d[E%d.length]},I),silent:!0}))},this)},e.type="radar",e}(Ut),dz=function(r){k(e,r);function e(t,a,n){var i=r.call(this,t,a,n)||this;return i.type="value",i.angle=0,i.name="",i}return e}(Rr),pz=function(){function r(e,t,a){this.dimensions=[],this._model=e,this._indicatorAxes=H(e.getIndicatorModels(),function(n,i){var o="indicator_"+i,s=new dz(o,new Sa);return s.name=n.get("name"),s.model=n,n.axis=s,this.dimensions.push(o),s},this),this.resize(e,a)}return r.prototype.getIndicatorAxes=function(){return this._indicatorAxes},r.prototype.dataToPoint=function(e,t){var a=this._indicatorAxes[t];return this.coordToPoint(a.dataToCoord(e),t)},r.prototype.coordToPoint=function(e,t){var a=this._indicatorAxes[t],n=a.angle,i=this.cx+e*Math.cos(n),o=this.cy-e*Math.sin(n);return[i,o]},r.prototype.pointToData=function(e){var t=e[0]-this.cx,a=e[1]-this.cy,n=Math.sqrt(t*t+a*a);t/=n,a/=n;for(var i=Math.atan2(-a,t),o=1/0,s,l=-1,u=0;u<this._indicatorAxes.length;u++){var f=this._indicatorAxes[u],h=Math.abs(i-f.angle);h<o&&(s=f,l=u,o=h)}return[l,+(s&&s.coordToData(n))]},r.prototype.resize=function(e,t){var a=e.get("center"),n=t.getWidth(),i=t.getHeight(),o=Math.min(n,i)/2;this.cx=X(a[0],n),this.cy=X(a[1],i),this.startAngle=e.get("startAngle")*Math.PI/180;var s=e.get("radius");(K(s)||Dt(s))&&(s=[0,s]),this.r0=X(s[0],o),this.r=X(s[1],o),D(this._indicatorAxes,function(l,u){l.setExtent(this.r0,this.r);var f=this.startAngle+u*Math.PI*2/this._indicatorAxes.length;f=Math.atan2(Math.sin(f),Math.cos(f)),l.angle=f},this)},r.prototype.update=function(e,t){var a=this._indicatorAxes,n=this._model;D(a,function(s){s.scale.setExtent(1/0,-1/0)}),e.eachSeriesByType("radar",function(s,l){if(!(s.get("coordinateSystem")!=="radar"||e.getComponent("radar",s.get("radarIndex"))!==n)){var u=s.getData();D(a,function(f){f.scale.unionExtentFromData(u,u.mapDimension(f.dim))})}},this);var i=n.get("splitNumber"),o=new Sa;o.setExtent(0,i),o.setInterval(1),D(a,function(s,l){FD(s.scale,s.model,o)})},r.prototype.convertToPixel=function(e,t,a){return console.warn("Not implemented."),null},r.prototype.convertFromPixel=function(e,t,a){return console.warn("Not implemented."),null},r.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},r.create=function(e,t){var a=[];return e.eachComponent("radar",function(n){var i=new r(n,e,t);a.push(i),n.coordinateSystem=i}),e.eachSeriesByType("radar",function(n){n.get("coordinateSystem")==="radar"&&(n.coordinateSystem=a[n.get("radarIndex")||0])}),a},r.dimensions=[],r}();function gz(r){r.registerCoordinateSystem("radar",pz),r.registerComponentModel(hz),r.registerComponentView(cz),r.registerVisual({seriesType:"radar",reset:function(e){var t=e.getData();t.each(function(a){t.setItemVisual(a,"legendIcon","roundRect")}),t.setVisual("legendIcon","roundRect")}})}function yz(r){mt(gz),r.registerChartView(uz),r.registerSeriesModel(fz),r.registerLayout(sz),r.registerProcessor(El("radar")),r.registerPreprocessor(lz)}var j1="\0_ec_interaction_mutex";function mz(r,e,t){var a=my(r);a[e]=t}function _z(r,e,t){var a=my(r),n=a[e];n===t&&(a[e]=null)}function tS(r,e){return!!my(r)[e]}function my(r){return r[j1]||(r[j1]={})}ea({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},qt);var Ol=function(r){k(e,r);function e(t){var a=r.call(this)||this;a._zr=t;var n=J(a._mousedownHandler,a),i=J(a._mousemoveHandler,a),o=J(a._mouseupHandler,a),s=J(a._mousewheelHandler,a),l=J(a._pinchHandler,a);return a.enable=function(u,f){this.disable(),this._opt=ot(lt(f)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),u==null&&(u=!0),(u===!0||u==="move"||u==="pan")&&(t.on("mousedown",n),t.on("mousemove",i),t.on("mouseup",o)),(u===!0||u==="scale"||u==="zoom")&&(t.on("mousewheel",s),t.on("pinch",l))},a.disable=function(){t.off("mousedown",n),t.off("mousemove",i),t.off("mouseup",o),t.off("mousewheel",s),t.off("pinch",l)},a}return e.prototype.isDragging=function(){return this._dragging},e.prototype.isPinching=function(){return this._pinching},e.prototype.setPointerChecker=function(t){this.pointerChecker=t},e.prototype.dispose=function(){this.disable()},e.prototype._mousedownHandler=function(t){if(!Am(t)){for(var a=t.target;a;){if(a.draggable)return;a=a.__hostTarget||a.parent}var n=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,n,i)&&(this._x=n,this._y=i,this._dragging=!0)}},e.prototype._mousemoveHandler=function(t){if(!(!this._dragging||!rf("moveOnMouseMove",t,this._opt)||t.gestureEvent==="pinch"||tS(this._zr,"globalPan"))){var a=t.offsetX,n=t.offsetY,i=this._x,o=this._y,s=a-i,l=n-o;this._x=a,this._y=n,this._opt.preventDefaultMouseMove&&pa(t.event),XD(this,"pan","moveOnMouseMove",t,{dx:s,dy:l,oldX:i,oldY:o,newX:a,newY:n,isAvailableBehavior:null})}},e.prototype._mouseupHandler=function(t){Am(t)||(this._dragging=!1)},e.prototype._mousewheelHandler=function(t){var a=rf("zoomOnMouseWheel",t,this._opt),n=rf("moveOnMouseWheel",t,this._opt),i=t.wheelDelta,o=Math.abs(i),s=t.offsetX,l=t.offsetY;if(!(i===0||!a&&!n)){if(a){var u=o>3?1.4:o>1?1.2:1.1,f=i>0?u:1/u;yc(this,"zoom","zoomOnMouseWheel",t,{scale:f,originX:s,originY:l,isAvailableBehavior:null})}if(n){var h=Math.abs(i),v=(i>0?1:-1)*(h>3?.4:h>1?.15:.05);yc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:v,originX:s,originY:l,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){if(!tS(this._zr,"globalPan")){var a=t.pinchScale>1?1.1:1/1.1;yc(this,"zoom",null,t,{scale:a,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})}},e}(dr);function yc(r,e,t,a,n){r.pointerChecker&&r.pointerChecker(a,n.originX,n.originY)&&(pa(a.event),XD(r,e,t,a,n))}function XD(r,e,t,a,n){n.isAvailableBehavior=J(rf,null,t,a),r.trigger(e,n)}function rf(r,e,t){var a=t[r];return!r||a&&(!K(a)||e.event[a+"Key"])}function _y(r,e,t){var a=r.target;a.x+=e,a.y+=t,a.dirty()}function Sy(r,e,t,a){var n=r.target,i=r.zoomLimit,o=r.zoom=r.zoom||1;if(o*=e,i){var s=i.min||0,l=i.max||1/0;o=Math.max(Math.min(l,o),s)}var u=o/r.zoom;r.zoom=o,n.x-=(t-n.x)*(u-1),n.y-=(a-n.y)*(u-1),n.scaleX*=u,n.scaleY*=u,n.dirty()}var Sz={axisPointer:1,tooltip:1,brush:1};function Bh(r,e,t){var a=e.getComponentByElement(r.topTarget),n=a&&a.coordinateSystem;return a&&a!==t&&!Sz.hasOwnProperty(a.mainType)&&n&&n.model!==t}function qD(r){if(K(r)){var e=new DOMParser;r=e.parseFromString(r,"text/xml")}var t=r;for(t.nodeType===9&&(t=t.firstChild);t.nodeName.toLowerCase()!=="svg"||t.nodeType!==1;)t=t.nextSibling;return t}var mc,zf={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},eS=wt(zf),Gf={"alignment-baseline":"textBaseline","stop-color":"stopColor"},rS=wt(Gf),xz=function(){function r(){this._defs={},this._root=null}return r.prototype.parse=function(e,t){t=t||{};var a=qD(e);this._defsUsePending=[];var n=new ut;this._root=n;var i=[],o=a.getAttribute("viewBox")||"",s=parseFloat(a.getAttribute("width")||t.width),l=parseFloat(a.getAttribute("height")||t.height);isNaN(s)&&(s=null),isNaN(l)&&(l=null),$e(a,n,null,!0,!1);for(var u=a.firstChild;u;)this._parseNode(u,n,i,null,!1,!1),u=u.nextSibling;Tz(this._defs,this._defsUsePending),this._defsUsePending=[];var f,h;if(o){var v=Vh(o);v.length>=4&&(f={x:parseFloat(v[0]||0),y:parseFloat(v[1]||0),width:parseFloat(v[2]),height:parseFloat(v[3])})}if(f&&s!=null&&l!=null&&(h=JD(f,{x:0,y:0,width:s,height:l}),!t.ignoreViewBox)){var c=n;n=new ut,n.add(c),c.scaleX=c.scaleY=h.scale,c.x=h.x,c.y=h.y}return!t.ignoreRootClip&&s!=null&&l!=null&&n.setClipPath(new Tt({shape:{x:0,y:0,width:s,height:l}})),{root:n,width:s,height:l,viewBoxRect:f,viewBoxTransform:h,named:i}},r.prototype._parseNode=function(e,t,a,n,i,o){var s=e.nodeName.toLowerCase(),l,u=n;if(s==="defs"&&(i=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=t;else{if(!i){var f=mc[s];if(f&&j(mc,s)){l=f.call(this,e,t);var h=e.getAttribute("name");if(h){var v={name:h,namedFrom:null,svgNodeTagLower:s,el:l};a.push(v),s==="g"&&(u=v)}else n&&a.push({name:n.name,namedFrom:n,svgNodeTagLower:s,el:l});t.add(l)}}var c=aS[s];if(c&&j(aS,s)){var d=c.call(this,e),p=e.getAttribute("id");p&&(this._defs[p]=d)}}if(l&&l.isGroup)for(var g=e.firstChild;g;)g.nodeType===1?this._parseNode(g,l,a,u,i,o):g.nodeType===3&&o&&this._parseText(g,l),g=g.nextSibling},r.prototype._parseText=function(e,t){var a=new ho({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});tr(t,a),$e(e,a,this._defsUsePending,!1,!1),bz(a,t);var n=a.style,i=n.fontSize;i&&i<9&&(n.fontSize=9,a.scaleX*=i/9,a.scaleY*=i/9);var o=(n.fontSize||n.fontFamily)&&[n.fontStyle,n.fontWeight,(n.fontSize||12)+"px",n.fontFamily||"sans-serif"].join(" ");n.font=o;var s=a.getBoundingRect();return this._textX+=s.width,t.add(a),a},r.internalField=function(){mc={g:function(e,t){var a=new ut;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a},rect:function(e,t){var a=new Tt;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a.setShape({x:parseFloat(e.getAttribute("x")||"0"),y:parseFloat(e.getAttribute("y")||"0"),width:parseFloat(e.getAttribute("width")||"0"),height:parseFloat(e.getAttribute("height")||"0")}),a.silent=!0,a},circle:function(e,t){var a=new Ta;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),r:parseFloat(e.getAttribute("r")||"0")}),a.silent=!0,a},line:function(e,t){var a=new ie;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a.setShape({x1:parseFloat(e.getAttribute("x1")||"0"),y1:parseFloat(e.getAttribute("y1")||"0"),x2:parseFloat(e.getAttribute("x2")||"0"),y2:parseFloat(e.getAttribute("y2")||"0")}),a.silent=!0,a},ellipse:function(e,t){var a=new gh;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),rx:parseFloat(e.getAttribute("rx")||"0"),ry:parseFloat(e.getAttribute("ry")||"0")}),a.silent=!0,a},polygon:function(e,t){var a=e.getAttribute("points"),n;a&&(n=oS(a));var i=new Ne({shape:{points:n||[]},silent:!0});return tr(t,i),$e(e,i,this._defsUsePending,!1,!1),i},polyline:function(e,t){var a=e.getAttribute("points"),n;a&&(n=oS(a));var i=new Be({shape:{points:n||[]},silent:!0});return tr(t,i),$e(e,i,this._defsUsePending,!1,!1),i},image:function(e,t){var a=new ce;return tr(t,a),$e(e,a,this._defsUsePending,!1,!1),a.setStyle({image:e.getAttribute("xlink:href")||e.getAttribute("href"),x:+e.getAttribute("x"),y:+e.getAttribute("y"),width:+e.getAttribute("width"),height:+e.getAttribute("height")}),a.silent=!0,a},text:function(e,t){var a=e.getAttribute("x")||"0",n=e.getAttribute("y")||"0",i=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0";this._textX=parseFloat(a)+parseFloat(i),this._textY=parseFloat(n)+parseFloat(o);var s=new ut;return tr(t,s),$e(e,s,this._defsUsePending,!1,!0),s},tspan:function(e,t){var a=e.getAttribute("x"),n=e.getAttribute("y");a!=null&&(this._textX=parseFloat(a)),n!=null&&(this._textY=parseFloat(n));var i=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0",s=new ut;return tr(t,s),$e(e,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(i),this._textY+=parseFloat(o),s},path:function(e,t){var a=e.getAttribute("d")||"",n=zT(a);return tr(t,n),$e(e,n,this._defsUsePending,!1,!1),n.silent=!0,n}}}(),r}(),aS={lineargradient:function(r){var e=parseInt(r.getAttribute("x1")||"0",10),t=parseInt(r.getAttribute("y1")||"0",10),a=parseInt(r.getAttribute("x2")||"10",10),n=parseInt(r.getAttribute("y2")||"0",10),i=new bl(e,t,a,n);return nS(r,i),iS(r,i),i},radialgradient:function(r){var e=parseInt(r.getAttribute("cx")||"0",10),t=parseInt(r.getAttribute("cy")||"0",10),a=parseInt(r.getAttribute("r")||"0",10),n=new WT(e,t,a);return nS(r,n),iS(r,n),n}};function nS(r,e){var t=r.getAttribute("gradientUnits");t==="userSpaceOnUse"&&(e.global=!0)}function iS(r,e){for(var t=r.firstChild;t;){if(t.nodeType===1&&t.nodeName.toLocaleLowerCase()==="stop"){var a=t.getAttribute("offset"),n=void 0;a&&a.indexOf("%")>0?n=parseInt(a,10)/100:a?n=parseFloat(a):n=0;var i={};KD(t,i,i);var o=i.stopColor||t.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:n,color:o})}t=t.nextSibling}}function tr(r,e){r&&r.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),ot(e.__inheritedStyle,r.__inheritedStyle))}function oS(r){for(var e=Vh(r),t=[],a=0;a<e.length;a+=2){var n=parseFloat(e[a]),i=parseFloat(e[a+1]);t.push([n,i])}return t}function $e(r,e,t,a,n){var i=e,o=i.__inheritedStyle=i.__inheritedStyle||{},s={};r.nodeType===1&&(Dz(r,e),KD(r,o,s),a||Mz(r,o,s)),i.style=i.style||{},o.fill!=null&&(i.style.fill=sS(i,"fill",o.fill,t)),o.stroke!=null&&(i.style.stroke=sS(i,"stroke",o.stroke,t)),D(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(l){o[l]!=null&&(i.style[l]=parseFloat(o[l]))}),D(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign"],function(l){o[l]!=null&&(i.style[l]=o[l])}),n&&(i.__selfStyle=s),o.lineDash&&(i.style.lineDash=H(Vh(o.lineDash),function(l){return parseFloat(l)})),(o.visibility==="hidden"||o.visibility==="collapse")&&(i.invisible=!0),o.display==="none"&&(i.ignore=!0)}function bz(r,e){var t=e.__selfStyle;if(t){var a=t.textBaseline,n=a;!a||a==="auto"||a==="baseline"?n="alphabetic":a==="before-edge"||a==="text-before-edge"?n="top":a==="after-edge"||a==="text-after-edge"?n="bottom":(a==="central"||a==="mathematical")&&(n="middle"),r.style.textBaseline=n}var i=e.__inheritedStyle;if(i){var o=i.textAlign,s=o;o&&(o==="middle"&&(s="center"),r.style.textAlign=s)}}var wz=/^url\(\s*#(.*?)\)/;function sS(r,e,t,a){var n=t&&t.match(wz);if(n){var i=Ar(n[1]);a.push([r,e,i]);return}return t==="none"&&(t=null),t}function Tz(r,e){for(var t=0;t<e.length;t++){var a=e[t];a[0].style[a[1]]=r[a[2]]}}var Az=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function Vh(r){return r.match(Az)||[]}var Cz=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g,_c=Math.PI/180;function Dz(r,e){var t=r.getAttribute("transform");if(t){t=t.replace(/,/g," ");var a=[],n=null;t.replace(Cz,function(h,v,c){return a.push(v,c),""});for(var i=a.length-1;i>0;i-=2){var o=a[i],s=a[i-1],l=Vh(o);switch(n=n||qe(),s){case"translate":Kr(n,n,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":pg(n,n,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":_i(n,n,-parseFloat(l[0])*_c,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*_c);ha(n,[1,0,u,1,0,0],n);break;case"skewY":var f=Math.tan(parseFloat(l[0])*_c);ha(n,[1,f,0,1,0,0],n);break;case"matrix":n[0]=parseFloat(l[0]),n[1]=parseFloat(l[1]),n[2]=parseFloat(l[2]),n[3]=parseFloat(l[3]),n[4]=parseFloat(l[4]),n[5]=parseFloat(l[5]);break}}e.setLocalTransform(n)}}var lS=/([^\s:;]+)\s*:\s*([^:;]+)/g;function KD(r,e,t){var a=r.getAttribute("style");if(a){lS.lastIndex=0;for(var n;(n=lS.exec(a))!=null;){var i=n[1],o=j(zf,i)?zf[i]:null;o&&(e[o]=n[2]);var s=j(Gf,i)?Gf[i]:null;s&&(t[s]=n[2])}}}function Mz(r,e,t){for(var a=0;a<eS.length;a++){var n=eS[a],i=r.getAttribute(n);i!=null&&(e[zf[n]]=i)}for(var a=0;a<rS.length;a++){var n=rS[a],i=r.getAttribute(n);i!=null&&(t[Gf[n]]=i)}}function JD(r,e){var t=e.width/r.width,a=e.height/r.height,n=Math.min(t,a);return{scale:n,x:-(r.x+r.width/2)*n+(e.x+e.width/2),y:-(r.y+r.height/2)*n+(e.y+e.height/2)}}function Lz(r,e){var t=new xz;return t.parse(r,e)}var Iz=et(["rect","circle","line","ellipse","polygon","polyline","path","text","tspan","g"]),Pz=function(){function r(e,t){this.type="geoSVG",this._usedGraphicMap=et(),this._freedGraphics=[],this._mapName=e,this._parsedXML=qD(t)}return r.prototype.load=function(){var e=this._firstGraphic;if(!e){e=this._firstGraphic=this._buildGraphic(this._parsedXML),this._freedGraphics.push(e),this._boundingRect=this._firstGraphic.boundingRect.clone();var t=Ez(e.named),a=t.regions,n=t.regionsMap;this._regions=a,this._regionsMap=n}return{boundingRect:this._boundingRect,regions:this._regions,regionsMap:this._regionsMap}},r.prototype._buildGraphic=function(e){var t,a;try{t=e&&Lz(e,{ignoreViewBox:!0,ignoreRootClip:!0})||{},a=t.root,Ee(a!=null)}catch(g){throw new Error(`Invalid svg format +`+g.message)}var n=new ut;n.add(a),n.isGeoSVGGraphicRoot=!0;var i=t.width,o=t.height,s=t.viewBoxRect,l=this._boundingRect;if(!l){var u=void 0,f=void 0,h=void 0,v=void 0;if(i!=null?(u=0,h=i):s&&(u=s.x,h=s.width),o!=null?(f=0,v=o):s&&(f=s.y,v=s.height),u==null||f==null){var c=a.getBoundingRect();u==null&&(u=c.x,h=c.width),f==null&&(f=c.y,v=c.height)}l=this._boundingRect=new gt(u,f,h,v)}if(s){var d=JD(s,l);a.scaleX=a.scaleY=d.scale,a.x=d.x,a.y=d.y}n.setClipPath(new Tt({shape:l.plain()}));var p=[];return D(t.named,function(g){Iz.get(g.svgNodeTagLower)!=null&&(p.push(g),Rz(g.el))}),{root:n,boundingRect:l,named:p}},r.prototype.useGraphic=function(e){var t=this._usedGraphicMap,a=t.get(e);return a||(a=this._freedGraphics.pop()||this._buildGraphic(this._parsedXML),t.set(e,a),a)},r.prototype.freeGraphic=function(e){var t=this._usedGraphicMap,a=t.get(e);a&&(t.removeKey(e),this._freedGraphics.push(a))},r}();function Rz(r){r.silent=!1,r.isGroup&&r.traverse(function(e){e.silent=!1})}function Ez(r){var e=[],t=et();return D(r,function(a){if(a.namedFrom==null){var n=new D5(a.name,a.el);e.push(n),t.set(a.name,n)}}),{regions:e,regionsMap:t}}var Cp=[126,25],uS="南海诸岛",zn=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(var Bn=0;Bn<zn.length;Bn++)for(var Gi=0;Gi<zn[Bn].length;Gi++)zn[Bn][Gi][0]/=10.5,zn[Bn][Gi][1]/=-10.5/.75,zn[Bn][Gi][0]+=Cp[0],zn[Bn][Gi][1]+=Cp[1];function kz(r,e){if(r==="china"){for(var t=0;t<e.length;t++)if(e[t].name===uS)return;e.push(new ZC(uS,H(zn,function(a){return{type:"polygon",exterior:a}}),Cp))}}var Oz={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function Nz(r,e){if(r==="china"){var t=Oz[e.name];if(t){var a=e.getCenter();a[0]+=t[0]/10.5,a[1]+=-t[1]/(10.5/.75),e.setCenter(a)}}}var Bz=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function Vz(r,e){r==="china"&&e.name==="台湾"&&e.geometries.push({type:"polygon",exterior:Bz[0]})}var zz="name",Gz=function(){function r(e,t,a){this.type="geoJSON",this._parsedMap=et(),this._mapName=e,this._specialAreas=a,this._geoJSON=Hz(t)}return r.prototype.load=function(e,t){t=t||zz;var a=this._parsedMap.get(t);if(!a){var n=this._parseToRegions(t);a=this._parsedMap.set(t,{regions:n,boundingRect:Fz(n)})}var i=et(),o=[];return D(a.regions,function(s){var l=s.name;e&&j(e,l)&&(s=s.cloneShallow(l=e[l])),o.push(s),i.set(l,s)}),{regions:o,boundingRect:a.boundingRect||new gt(0,0,0,0),regionsMap:i}},r.prototype._parseToRegions=function(e){var t=this._mapName,a=this._geoJSON,n;try{n=a?L5(a,e):[]}catch(i){throw new Error(`Invalid geoJson format +`+i.message)}return kz(t,n),D(n,function(i){var o=i.name;Nz(t,i),Vz(t,i);var s=this._specialAreas&&this._specialAreas[o];s&&i.transformTo(s.left,s.top,s.width,s.height)},this),n},r.prototype.getMapForUser=function(){return{geoJson:this._geoJSON,geoJSON:this._geoJSON,specialAreas:this._specialAreas}},r}();function Fz(r){for(var e,t=0;t<r.length;t++){var a=r[t].getBoundingRect();e=e||a.clone(),e.union(a)}return e}function Hz(r){return K(r)?typeof JSON<"u"&&JSON.parse?JSON.parse(r):new Function("return ("+r+");")():r}var ns=et();const xa={registerMap:function(r,e,t){if(e.svg){var a=new Pz(r,e.svg);ns.set(r,a)}else{var n=e.geoJson||e.geoJSON;n&&!e.features?t=e.specialAreas:n=e;var a=new Gz(r,n,t);ns.set(r,a)}},getGeoResource:function(r){return ns.get(r)},getMapForUser:function(r){var e=ns.get(r);return e&&e.type==="geoJSON"&&e.getMapForUser()},load:function(r,e,t){var a=ns.get(r);if(a)return a.load(e,t)}};var xy=["rect","circle","line","ellipse","polygon","polyline","path"],Wz=et(xy),Uz=et(xy.concat(["g"])),Yz=et(xy.concat(["g"])),QD=At();function Au(r){var e=r.getItemStyle(),t=r.get("areaColor");return t!=null&&(e.fill=t),e}function fS(r){var e=r.style;e&&(e.stroke=e.stroke||e.fill,e.fill=null)}var jD=function(){function r(e){var t=new ut;this.uid=Lo("ec_map_draw"),this._controller=new Ol(e.getZr()),this._controllerHost={target:t},this.group=t,t.add(this._regionsGroup=new ut),t.add(this._svgGroup=new ut)}return r.prototype.draw=function(e,t,a,n,i){var o=e.mainType==="geo",s=e.getData&&e.getData();o&&t.eachComponent({mainType:"series",subType:"map"},function(y){!s&&y.getHostGeoModel()===e&&(s=y.getData())});var l=e.coordinateSystem,u=this._regionsGroup,f=this.group,h=l.getTransformInfo(),v=h.raw,c=h.roam,d=!u.childAt(0)||i;d?(f.x=c.x,f.y=c.y,f.scaleX=c.scaleX,f.scaleY=c.scaleY,f.dirty()):Mt(f,c,e);var p=s&&s.getVisual("visualMeta")&&s.getVisual("visualMeta").length>0,g={api:a,geo:l,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:p,isGeo:o,transformInfoRaw:v};l.resourceType==="geoJSON"?this._buildGeoJSON(g):l.resourceType==="geoSVG"&&this._buildSVG(g),this._updateController(e,t,a),this._updateMapSelectHandler(e,u,a,n)},r.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=et(),a=et(),n=this._regionsGroup,i=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,l=e.geo.projection,u=l&&l.stream;function f(c,d){return d&&(c=d(c)),c&&[c[0]*i.scaleX+i.x,c[1]*i.scaleY+i.y]}function h(c){for(var d=[],p=!u&&l&&l.project,g=0;g<c.length;++g){var y=f(c[g],p);y&&d.push(y)}return d}function v(c){return{shape:{points:h(c)}}}n.removeAll(),D(e.geo.regions,function(c){var d=c.name,p=t.get(d),g=a.get(d)||{},y=g.dataIdx,m=g.regionModel;if(!p){p=t.set(d,new ut),n.add(p),y=s?s.indexOfName(d):null,m=e.isGeo?o.getRegionModel(d):s?s.getItemModel(y):null;var _=m.get("silent",!0);_!=null&&(p.silent=_),a.set(d,{dataIdx:y,regionModel:m})}var S=[],b=[];D(c.geometries,function(T){if(T.type==="polygon"){var A=[T.exterior].concat(T.interiors||[]);u&&(A=gS(A,u)),D(A,function(M){S.push(new Ne(v(M)))})}else{var C=T.points;u&&(C=gS(C,u,!0)),D(C,function(M){b.push(new Be(v(M)))})}});var x=f(c.getCenter(),l&&l.project);function w(T,A){if(T.length){var C=new Pg({culling:!0,segmentIgnoreThreshold:1,shape:{paths:T}});p.add(C),hS(e,C,y,m),vS(e,C,d,m,o,y,x),A&&(fS(C),D(C.states,fS))}}w(S),w(b,!0)}),t.each(function(c,d){var p=a.get(d),g=p.dataIdx,y=p.regionModel;cS(e,c,d,y,o,g),dS(e,c,d,y,o),pS(e,c,d,y,o)},this)},r.prototype._buildSVG=function(e){var t=e.geo.map,a=e.transformInfoRaw;this._svgGroup.x=a.x,this._svgGroup.y=a.y,this._svgGroup.scaleX=a.scaleX,this._svgGroup.scaleY=a.scaleY,this._svgResourceChanged(t)&&(this._freeSVG(),this._useSVG(t));var n=this._svgDispatcherMap=et(),i=!1;D(this._svgGraphicRecord.named,function(o){var s=o.name,l=e.mapOrGeoModel,u=e.data,f=o.svgNodeTagLower,h=o.el,v=u?u.indexOfName(s):null,c=l.getRegionModel(s);Wz.get(f)!=null&&h instanceof cr&&hS(e,h,v,c),h instanceof cr&&(h.culling=!0);var d=c.get("silent",!0);if(d!=null&&(h.silent=d),h.z2EmphasisLift=0,!o.namedFrom&&(Yz.get(f)!=null&&vS(e,h,s,c,l,v,null),cS(e,h,s,c,l,v),dS(e,h,s,c,l),Uz.get(f)!=null)){var p=pS(e,h,s,c,l);p==="self"&&(i=!0);var g=n.get(s)||n.set(s,[]);g.push(h)}},this),this._enableBlurEntireSVG(i,e)},r.prototype._enableBlurEntireSVG=function(e,t){if(e&&t.isGeo){var a=t.mapOrGeoModel.getModel(["blur","itemStyle"]).getItemStyle(),n=a.opacity;this._svgGraphicRecord.root.traverse(function(i){if(!i.isGroup){di(i);var o=i.ensureState("blur").style||{};o.opacity==null&&n!=null&&(o.opacity=n),i.ensureState("emphasis")}})}},r.prototype.remove=function(){this._regionsGroup.removeAll(),this._regionsGroupByName=null,this._svgGroup.removeAll(),this._freeSVG(),this._controller.dispose(),this._controllerHost=null},r.prototype.findHighDownDispatchers=function(e,t){if(e==null)return[];var a=t.coordinateSystem;if(a.resourceType==="geoJSON"){var n=this._regionsGroupByName;if(n){var i=n.get(e);return i?[i]:[]}}else if(a.resourceType==="geoSVG")return this._svgDispatcherMap&&this._svgDispatcherMap.get(e)||[]},r.prototype._svgResourceChanged=function(e){return this._svgMapName!==e},r.prototype._useSVG=function(e){var t=xa.getGeoResource(e);if(t&&t.type==="geoSVG"){var a=t.useGraphic(this.uid);this._svgGroup.add(a.root),this._svgGraphicRecord=a,this._svgMapName=e}},r.prototype._freeSVG=function(){var e=this._svgMapName;if(e!=null){var t=xa.getGeoResource(e);t&&t.type==="geoSVG"&&t.freeGraphic(this.uid),this._svgGraphicRecord=null,this._svgDispatcherMap=null,this._svgGroup.removeAll(),this._svgMapName=null}},r.prototype._updateController=function(e,t,a){var n=e.coordinateSystem,i=this._controller,o=this._controllerHost;o.zoomLimit=e.get("scaleLimit"),o.zoom=n.getZoom(),i.enable(e.get("roam")||!1);var s=e.mainType;function l(){var u={type:"geoRoam",componentType:s};return u[s+"Id"]=e.id,u}i.off("pan").on("pan",function(u){this._mouseDownFlag=!1,_y(o,u.dx,u.dy),a.dispatchAction(V(l(),{dx:u.dx,dy:u.dy,animation:{duration:0}}))},this),i.off("zoom").on("zoom",function(u){this._mouseDownFlag=!1,Sy(o,u.scale,u.originX,u.originY),a.dispatchAction(V(l(),{totalZoom:o.zoom,zoom:u.scale,originX:u.originX,originY:u.originY,animation:{duration:0}}))},this),i.setPointerChecker(function(u,f,h){return n.containPoint([f,h])&&!Bh(u,a,e)})},r.prototype.resetForLabelLayout=function(){this.group.traverse(function(e){var t=e.getTextContent();t&&(t.ignore=QD(t).ignore)})},r.prototype._updateMapSelectHandler=function(e,t,a,n){var i=this;t.off("mousedown"),t.off("click"),e.get("selectedMode")&&(t.on("mousedown",function(){i._mouseDownFlag=!0}),t.on("click",function(o){i._mouseDownFlag&&(i._mouseDownFlag=!1)}))},r}();function hS(r,e,t,a){var n=a.getModel("itemStyle"),i=a.getModel(["emphasis","itemStyle"]),o=a.getModel(["blur","itemStyle"]),s=a.getModel(["select","itemStyle"]),l=Au(n),u=Au(i),f=Au(s),h=Au(o),v=r.data;if(v){var c=v.getItemVisual(t,"style"),d=v.getItemVisual(t,"decal");r.isVisualEncodedByVisualMap&&c.fill&&(l.fill=c.fill),d&&(l.decal=po(d,r.api))}e.setStyle(l),e.style.strokeNoScale=!0,e.ensureState("emphasis").style=u,e.ensureState("select").style=f,e.ensureState("blur").style=h,di(e)}function vS(r,e,t,a,n,i,o){var s=r.data,l=r.isGeo,u=s&&isNaN(s.get(s.mapDimension("value"),i)),f=s&&s.getItemLayout(i);if(l||u||f&&f.showLabel){var h=l?t:i,v=void 0;(!s||i>=0)&&(v=n);var c=o?{normal:{align:"center",verticalAlign:"middle"}}:null;ye(e,le(a),{labelFetcher:v,labelDataIndex:h,defaultText:t},c);var d=e.getTextContent();if(d&&(QD(d).ignore=d.ignore,e.textConfig&&o)){var p=e.getBoundingRect().clone();e.textConfig.layoutRect=p,e.textConfig.position=[(o[0]-p.x)/p.width*100+"%",(o[1]-p.y)/p.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function cS(r,e,t,a,n,i){r.data?r.data.setItemGraphicEl(i,e):ht(e).eventData={componentType:"geo",componentIndex:n.componentIndex,geoIndex:n.componentIndex,name:t,region:a&&a.option||{}}}function dS(r,e,t,a,n){r.data||Si({el:e,componentModel:n,itemName:t,itemTooltipOption:a.get("tooltip")})}function pS(r,e,t,a,n){e.highDownSilentOnTouch=!!n.get("selectedMode");var i=a.getModel("emphasis"),o=i.get("focus");return Yt(e,o,i.get("blurScope"),i.get("disabled")),r.isGeo&&WR(e,n,t),o}function gS(r,e,t){var a=[],n;function i(){n=[]}function o(){n.length&&(a.push(n),n=[])}var s=e({polygonStart:i,polygonEnd:o,lineStart:i,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&n.push([l,u])},sphere:function(){}});return!t&&s.polygonStart(),D(r,function(l){s.lineStart();for(var u=0;u<l.length;u++)s.point(l[u][0],l[u][1]);s.lineEnd()}),!t&&s.polygonEnd(),a}var $z=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n,i){if(!(i&&i.type==="mapToggleSelect"&&i.from===this.uid)){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(this._mapDraw&&i&&i.type==="geoRoam"&&this._mapDraw.resetForLabelLayout(),i&&i.type==="geoRoam"&&i.componentType==="series"&&i.seriesId===t.id){var s=this._mapDraw;s&&o.add(s.group)}else if(t.needsDrawMap){var s=this._mapDraw||new jD(n);o.add(s.group),s.draw(t,a,n,this,i),this._mapDraw=s}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&a.getComponent("legend")&&this._renderSymbols(t,a,n)}}},e.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},e.prototype._renderSymbols=function(t,a,n){var i=t.originalData,o=this.group;i.each(i.mapDimension("value"),function(s,l){if(!isNaN(s)){var u=i.getItemLayout(l);if(!(!u||!u.point)){var f=u.point,h=u.offset,v=new Ta({style:{fill:t.getData().getVisual("style").fill},shape:{cx:f[0]+h*9,cy:f[1],r:3},silent:!0,z2:8+(h?0:Co+1)});if(!h){var c=t.mainSeries.getData(),d=i.getName(l),p=c.indexOfName(d),g=i.getItemModel(l),y=g.getModel("label"),m=c.getItemGraphicEl(p);ye(v,le(g),{labelFetcher:{getFormattedLabel:function(_,S){return t.getFormattedLabel(p,S)}},defaultText:d}),v.disableLabelAnimation=!0,y.get("position")||v.setTextConfig({position:"bottom"}),m.onHoverStateChange=function(_){_f(v,_)}}o.add(v)}}})},e.type="map",e}(Nt),Zz=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.needsDrawMap=!1,t.seriesGroup=[],t.getTooltipPosition=function(a){if(a!=null){var n=this.getData().getName(a),i=this.coordinateSystem,o=i.getRegion(n);return o&&i.dataToPoint(o.getCenter())}},t}return e.prototype.getInitialData=function(t){for(var a=Bo(this,{coordDimensions:["value"],encodeDefaulter:ct(Fg,this)}),n=et(),i=[],o=0,s=a.count();o<s;o++){var l=a.getName(o);n.set(l,o)}var u=xa.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);return D(u.regions,function(f){var h=f.name,v=n.get(h),c=f.properties&&f.properties.echartsStyle,d;v==null?(d={name:h},i.push(d)):d=a.getRawDataItem(v),c&&dt(d,c)}),a.appendData(i),a},e.prototype.getHostGeoModel=function(){var t=this.option.geoIndex;return t!=null?this.ecModel.getComponent("geo",t):null},e.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map},e.prototype.getRawValue=function(t){var a=this.getData();return a.get(a.mapDimension("value"),t)},e.prototype.getRegionModel=function(t){var a=this.getData();return a.getItemModel(a.indexOfName(t))},e.prototype.formatTooltip=function(t,a,n){for(var i=this.getData(),o=this.getRawValue(t),s=i.getName(t),l=this.seriesGroup,u=[],f=0;f<l.length;f++){var h=l[f].originalData.indexOfName(s),v=i.mapDimension("value");isNaN(l[f].originalData.get(v,h))||u.push(l[f].name)}return ue("section",{header:u.join(", "),noHeader:!u.length,blocks:[ue("nameValue",{name:s,value:o})]})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.getLegendIcon=function(t){var a=t.icon||"roundRect",n=jt(a,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill);return n.setStyle(t.itemStyle),n.style.stroke="none",a.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(Gt);function Xz(r,e){var t={};return D(r,function(a){a.each(a.mapDimension("value"),function(n,i){var o="ec-"+a.getName(i);t[o]=t[o]||[],isNaN(n)||t[o].push(n)})}),r[0].map(r[0].mapDimension("value"),function(a,n){for(var i="ec-"+r[0].getName(n),o=0,s=1/0,l=-1/0,u=t[i].length,f=0;f<u;f++)s=Math.min(s,t[i][f]),l=Math.max(l,t[i][f]),o+=t[i][f];var h;return e==="min"?h=s:e==="max"?h=l:e==="average"?h=o/u:h=o,u===0?NaN:h})}function qz(r){var e={};r.eachSeriesByType("map",function(t){var a=t.getHostGeoModel(),n=a?"o"+a.id:"i"+t.getMapType();(e[n]=e[n]||[]).push(t)}),D(e,function(t,a){for(var n=Xz(H(t,function(o){return o.getData()}),t[0].get("mapValueCalculation")),i=0;i<t.length;i++)t[i].originalData=t[i].getData();for(var i=0;i<t.length;i++)t[i].seriesGroup=t,t[i].needsDrawMap=i===0&&!t[i].getHostGeoModel(),t[i].setData(n.cloneShallow()),t[i].mainSeries=t[0]})}function Kz(r){var e={};r.eachSeriesByType("map",function(t){var a=t.getMapType();if(!(t.getHostGeoModel()||e[a])){var n={};D(t.seriesGroup,function(o){var s=o.coordinateSystem,l=o.originalData;o.get("showLegendSymbol")&&r.getComponent("legend")&&l.each(l.mapDimension("value"),function(u,f){var h=l.getName(f),v=s.getRegion(h);if(!(!v||isNaN(u))){var c=n[h]||0,d=s.dataToPoint(v.getCenter());n[h]=c+1,l.setItemLayout(f,{point:d,offset:c})}})});var i=t.getData();i.each(function(o){var s=i.getName(o),l=i.getItemLayout(o)||{};l.showLabel=!n[s],i.setItemLayout(o,l)}),e[a]=!0}})}var yS=pe,Nl=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a.type="view",a.dimensions=["x","y"],a._roamTransformable=new la,a._rawTransformable=new la,a.name=t,a}return e.prototype.setBoundingRect=function(t,a,n,i){return this._rect=new gt(t,a,n,i),this._rect},e.prototype.getBoundingRect=function(){return this._rect},e.prototype.setViewRect=function(t,a,n,i){this._transformTo(t,a,n,i),this._viewRect=new gt(t,a,n,i)},e.prototype._transformTo=function(t,a,n,i){var o=this.getBoundingRect(),s=this._rawTransformable;s.transform=o.calculateTransform(new gt(t,a,n,i));var l=s.parent;s.parent=null,s.decomposeTransform(),s.parent=l,this._updateTransform()},e.prototype.setCenter=function(t,a){t&&(this._center=[X(t[0],a.getWidth()),X(t[1],a.getHeight())],this._updateCenterAndZoom())},e.prototype.setZoom=function(t){t=t||1;var a=this.zoomLimit;a&&(a.max!=null&&(t=Math.min(a.max,t)),a.min!=null&&(t=Math.max(a.min,t))),this._zoom=t,this._updateCenterAndZoom()},e.prototype.getDefaultCenter=function(){var t=this.getBoundingRect(),a=t.x+t.width/2,n=t.y+t.height/2;return[a,n]},e.prototype.getCenter=function(){return this._center||this.getDefaultCenter()},e.prototype.getZoom=function(){return this._zoom||1},e.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()},e.prototype._updateCenterAndZoom=function(){var t=this._rawTransformable.getLocalTransform(),a=this._roamTransformable,n=this.getDefaultCenter(),i=this.getCenter(),o=this.getZoom();i=pe([],i,t),n=pe([],n,t),a.originX=i[0],a.originY=i[1],a.x=n[0]-i[0],a.y=n[1]-i[1],a.scaleX=a.scaleY=o,this._updateTransform()},e.prototype._updateTransform=function(){var t=this._roamTransformable,a=this._rawTransformable;a.parent=t,t.updateTransform(),a.updateTransform(),dg(this.transform||(this.transform=[]),a.transform||qe()),this._rawTransform=a.getLocalTransform(),this.invTransform=this.invTransform||[],To(this.invTransform,this.transform),this.decomposeTransform()},e.prototype.getTransformInfo=function(){var t=this._rawTransformable,a=this._roamTransformable,n=new la;return n.transform=a.transform,n.decomposeTransform(),{roam:{x:n.x,y:n.y,scaleX:n.scaleX,scaleY:n.scaleY},raw:{x:t.x,y:t.y,scaleX:t.scaleX,scaleY:t.scaleY}}},e.prototype.getViewRect=function(){return this._viewRect},e.prototype.getViewRectAfterRoam=function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},e.prototype.dataToPoint=function(t,a,n){var i=a?this._rawTransform:this.transform;return n=n||[],i?yS(n,t,i):De(n,t)},e.prototype.pointToData=function(t){var a=this.invTransform;return a?yS([],t,a):[t[0],t[1]]},e.prototype.convertToPixel=function(t,a,n){var i=mS(a);return i===this?i.dataToPoint(n):null},e.prototype.convertFromPixel=function(t,a,n){var i=mS(a);return i===this?i.pointToData(n):null},e.prototype.containPoint=function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])},e.dimensions=["x","y"],e}(la);function mS(r){var e=r.seriesModel;return e?e.coordinateSystem:null}var Jz={geoJSON:{aspectScale:.75,invertLongitute:!0},geoSVG:{aspectScale:1,invertLongitute:!1}},tM=["lng","lat"],Dp=function(r){k(e,r);function e(t,a,n){var i=r.call(this,t)||this;i.dimensions=tM,i.type="geo",i._nameCoordMap=et(),i.map=a;var o=n.projection,s=xa.load(a,n.nameMap,n.nameProperty),l=xa.getGeoResource(a);i.resourceType=l?l.type:null;var u=i.regions=s.regions,f=Jz[l.type];i._regionsMap=s.regionsMap,i.regions=s.regions,i.projection=o;var h;if(o)for(var v=0;v<u.length;v++){var c=u[v].getBoundingRect(o);h=h||c.clone(),h.union(c)}else h=s.boundingRect;return i.setBoundingRect(h.x,h.y,h.width,h.height),i.aspectScale=o?1:vt(n.aspectScale,f.aspectScale),i._invertLongitute=o?!1:f.invertLongitute,i}return e.prototype._transformTo=function(t,a,n,i){var o=this.getBoundingRect(),s=this._invertLongitute;o=o.clone(),s&&(o.y=-o.y-o.height);var l=this._rawTransformable;l.transform=o.calculateTransform(new gt(t,a,n,i));var u=l.parent;l.parent=null,l.decomposeTransform(),l.parent=u,s&&(l.scaleY=-l.scaleY),this._updateTransform()},e.prototype.getRegion=function(t){return this._regionsMap.get(t)},e.prototype.getRegionByCoord=function(t){for(var a=this.regions,n=0;n<a.length;n++){var i=a[n];if(i.type==="geoJSON"&&i.contain(t))return a[n]}},e.prototype.addGeoCoord=function(t,a){this._nameCoordMap.set(t,a)},e.prototype.getGeoCoord=function(t){var a=this._regionsMap.get(t);return this._nameCoordMap.get(t)||a&&a.getCenter()},e.prototype.dataToPoint=function(t,a,n){if(K(t)&&(t=this.getGeoCoord(t)),t){var i=this.projection;return i&&(t=i.project(t)),t&&this.projectedToPoint(t,a,n)}},e.prototype.pointToData=function(t){var a=this.projection;return a&&(t=a.unproject(t)),t&&this.pointToProjected(t)},e.prototype.pointToProjected=function(t){return r.prototype.pointToData.call(this,t)},e.prototype.projectedToPoint=function(t,a,n){return r.prototype.dataToPoint.call(this,t,a,n)},e.prototype.convertToPixel=function(t,a,n){var i=_S(a);return i===this?i.dataToPoint(n):null},e.prototype.convertFromPixel=function(t,a,n){var i=_S(a);return i===this?i.pointToData(n):null},e}(Nl);te(Dp,Nl);function _S(r){var e=r.geoModel,t=r.seriesModel;return e?e.coordinateSystem:t?t.coordinateSystem||(t.getReferringComponents("geo",Qt).models[0]||{}).coordinateSystem:null}function SS(r,e){var t=r.get("boundingCoords");if(t!=null){var a=t[0],n=t[1];if(isFinite(a[0])&&isFinite(a[1])&&isFinite(n[0])&&isFinite(n[1])){var i=this.projection;if(i){var o=a[0],s=a[1],l=n[0],u=n[1];a=[1/0,1/0],n=[-1/0,-1/0];var f=function(x,w,T,A){for(var C=T-x,M=A-w,L=0;L<=100;L++){var I=L/100,P=i.project([x+C*I,w+M*I]);Ua(a,a,P),Ya(n,n,P)}};f(o,s,l,s),f(l,s,l,u),f(l,u,o,u),f(o,u,l,s)}this.setBoundingRect(a[0],a[1],n[0]-a[0],n[1]-a[1])}}var h=this.getBoundingRect(),v=r.get("layoutCenter"),c=r.get("layoutSize"),d=e.getWidth(),p=e.getHeight(),g=h.width/h.height*this.aspectScale,y=!1,m,_;v&&c&&(m=[X(v[0],d),X(v[1],p)],_=X(c,Math.min(d,p)),!isNaN(m[0])&&!isNaN(m[1])&&!isNaN(_)&&(y=!0));var S;if(y)S={},g>1?(S.width=_,S.height=_/g):(S.height=_,S.width=_*g),S.y=m[1]-S.height/2,S.x=m[0]-S.width/2;else{var b=r.getBoxLayoutParams();b.aspect=g,S=re(b,{width:d,height:p})}this.setViewRect(S.x,S.y,S.width,S.height),this.setCenter(r.get("center"),e),this.setZoom(r.get("zoom"))}function Qz(r,e){D(e.get("geoCoord"),function(t,a){r.addGeoCoord(a,t)})}var jz=function(){function r(){this.dimensions=tM}return r.prototype.create=function(e,t){var a=[];function n(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}e.eachComponent("geo",function(o,s){var l=o.get("map"),u=new Dp(l+s,l,V({nameMap:o.get("nameMap")},n(o)));u.zoomLimit=o.get("scaleLimit"),a.push(u),o.coordinateSystem=u,u.model=o,u.resize=SS,u.resize(o,t)}),e.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=a[l]}});var i={};return e.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();i[s]=i[s]||[],i[s].push(o)}}),D(i,function(o,s){var l=H(o,function(f){return f.get("nameMap")}),u=new Dp(s,s,V({nameMap:fg(l)},n(o[0])));u.zoomLimit=ve.apply(null,H(o,function(f){return f.get("scaleLimit")})),a.push(u),u.resize=SS,u.resize(o[0],t),D(o,function(f){f.coordinateSystem=u,Qz(u,f)})}),a},r.prototype.getFilledRegions=function(e,t,a,n){for(var i=(e||[]).slice(),o=et(),s=0;s<i.length;s++)o.set(i[s].name,i[s]);var l=xa.load(t,a,n);return D(l.regions,function(u){var f=u.name,h=o.get(f),v=u.properties&&u.properties.echartsStyle;h||(h={name:f},i.push(h)),v&&dt(h,v)}),i},r}(),eM=new jz,tG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a,n){var i=xa.getGeoResource(t.map);if(i&&i.type==="geoJSON"){var o=t.itemStyle=t.itemStyle||{};"color"in o||(o.color="#eee")}this.mergeDefaultAndTheme(t,n),hi(t,"label",["show"])},e.prototype.optionUpdated=function(){var t=this,a=this.option;a.regions=eM.getFilledRegions(a.regions,a.map,a.nameMap,a.nameProperty);var n={};this._optionModelMap=qr(a.regions||[],function(i,o){var s=o.name;return s&&(i.set(s,new Et(o,t,t.ecModel)),o.selected&&(n[s]=!0)),i},et()),a.selectedMap||(a.selectedMap=n)},e.prototype.getRegionModel=function(t){return this._optionModelMap.get(t)||new Et(null,this,this.ecModel)},e.prototype.getFormattedLabel=function(t,a){var n=this.getRegionModel(t),i=a==="normal"?n.get(["label","formatter"]):n.get(["emphasis","label","formatter"]),o={name:t};if(nt(i))return o.status=a,i(o);if(K(i))return i.replace("{a}",t??"")},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.select=function(t){var a=this.option,n=a.selectedMode;if(n){n!=="multiple"&&(a.selectedMap=null);var i=a.selectedMap||(a.selectedMap={});i[t]=!0}},e.prototype.unSelect=function(t){var a=this.option.selectedMap;a&&(a[t]=!1)},e.prototype.toggleSelected=function(t){this[this.isSelected(t)?"unSelect":"select"](t)},e.prototype.isSelected=function(t){var a=this.option.selectedMap;return!!(a&&a[t])},e.type="geo",e.layoutMode="box",e.defaultOption={z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},e}(bt);function xS(r,e){return r.pointToProjected?r.pointToProjected(e):r.pointToData(e)}function by(r,e,t,a){var n=r.getZoom(),i=r.getCenter(),o=e.zoom,s=r.projectedToPoint?r.projectedToPoint(i):r.dataToPoint(i);if(e.dx!=null&&e.dy!=null&&(s[0]-=e.dx,s[1]-=e.dy,r.setCenter(xS(r,s),a)),o!=null){if(t){var l=t.min||0,u=t.max||1/0;o=Math.max(Math.min(n*o,u),l)/n}r.scaleX*=o,r.scaleY*=o;var f=(e.originX-r.x)*(o-1),h=(e.originY-r.y)*(o-1);r.x-=f,r.y-=h,r.updateTransform(),r.setCenter(xS(r,s),a),r.setZoom(o*n)}return{center:r.getCenter(),zoom:r.getZoom()}}var eG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.focusBlurEnabled=!0,t}return e.prototype.init=function(t,a){this._api=a},e.prototype.render=function(t,a,n,i){if(this._model=t,!t.get("show")){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;return}this._mapDraw||(this._mapDraw=new jD(n));var o=this._mapDraw;o.draw(t,a,n,this,i),o.group.on("click",this._handleRegionClick,this),o.group.silent=t.get("silent"),this.group.add(o.group),this.updateSelectStatus(t,a,n)},e.prototype._handleRegionClick=function(t){var a;Qn(t.target,function(n){return(a=ht(n).eventData)!=null},!0),a&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:a.name})},e.prototype.updateSelectStatus=function(t,a,n){var i=this;this._mapDraw.group.traverse(function(o){var s=ht(o).eventData;if(s)return i._model.isSelected(s.name)?n.enterSelect(o):n.leaveSelect(o),!0})},e.prototype.findHighDownDispatchers=function(t){return this._mapDraw&&this._mapDraw.findHighDownDispatchers(t,this._model)},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()},e.type="geo",e}(Ut);function rG(r,e,t){xa.registerMap(r,e,t)}function rM(r){r.registerCoordinateSystem("geo",eM),r.registerComponentModel(tG),r.registerComponentView(eG),r.registerImpl("registerMap",rG),r.registerImpl("getMap",function(t){return xa.getMapForUser(t)});function e(t,a){a.update="geo:updateSelectStatus",r.registerAction(a,function(n,i){var o={},s=[];return i.eachComponent({mainType:"geo",query:n},function(l){l[t](n.name);var u=l.coordinateSystem;D(u.regions,function(h){o[h.name]=l.isSelected(h.name)||!1});var f=[];D(o,function(h,v){o[v]&&f.push(v)}),s.push({geoIndex:l.componentIndex,name:f})}),{selected:o,allSelected:s,name:n.name}})}e("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),e("select",{type:"geoSelect",event:"geoselected"}),e("unSelect",{type:"geoUnSelect",event:"geounselected"}),r.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,a,n){var i=t.componentType||"series";a.eachComponent({mainType:i,query:t},function(o){var s=o.coordinateSystem;if(s.type==="geo"){var l=by(s,t,o.get("scaleLimit"),n);o.setCenter&&o.setCenter(l.center),o.setZoom&&o.setZoom(l.zoom),i==="series"&&D(o.seriesGroup,function(u){u.setCenter(l.center),u.setZoom(l.zoom)})}})})}function aG(r){mt(rM),r.registerChartView($z),r.registerSeriesModel(Zz),r.registerLayout(Kz),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,qz),aC("map",r.registerAction)}function nG(r){var e=r;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var t=[e],a,n;a=t.pop();)if(n=a.children,a.isExpand&&n.length)for(var i=n.length,o=i-1;o>=0;o--){var s=n[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},t.push(s)}}function iG(r,e){var t=r.isExpand?r.children:[],a=r.parentNode.children,n=r.hierNode.i?a[r.hierNode.i-1]:null;if(t.length){lG(r);var i=(t[0].hierNode.prelim+t[t.length-1].hierNode.prelim)/2;n?(r.hierNode.prelim=n.hierNode.prelim+e(r,n),r.hierNode.modifier=r.hierNode.prelim-i):r.hierNode.prelim=i}else n&&(r.hierNode.prelim=n.hierNode.prelim+e(r,n));r.parentNode.hierNode.defaultAncestor=uG(r,n,r.parentNode.hierNode.defaultAncestor||a[0],e)}function oG(r){var e=r.hierNode.prelim+r.parentNode.hierNode.modifier;r.setLayout({x:e},!0),r.hierNode.modifier+=r.parentNode.hierNode.modifier}function bS(r){return arguments.length?r:vG}function xs(r,e){return r-=Math.PI/2,{x:e*Math.cos(r),y:e*Math.sin(r)}}function sG(r,e){return re(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function lG(r){for(var e=r.children,t=e.length,a=0,n=0;--t>=0;){var i=e[t];i.hierNode.prelim+=a,i.hierNode.modifier+=a,n+=i.hierNode.change,a+=i.hierNode.shift+n}}function uG(r,e,t,a){if(e){for(var n=r,i=r,o=i.parentNode.children[0],s=e,l=n.hierNode.modifier,u=i.hierNode.modifier,f=o.hierNode.modifier,h=s.hierNode.modifier;s=Sc(s),i=xc(i),s&&i;){n=Sc(n),o=xc(o),n.hierNode.ancestor=r;var v=s.hierNode.prelim+h-i.hierNode.prelim-u+a(s,i);v>0&&(hG(fG(s,r,t),r,v),u+=v,l+=v),h+=s.hierNode.modifier,u+=i.hierNode.modifier,l+=n.hierNode.modifier,f+=o.hierNode.modifier}s&&!Sc(n)&&(n.hierNode.thread=s,n.hierNode.modifier+=h-l),i&&!xc(o)&&(o.hierNode.thread=i,o.hierNode.modifier+=u-f,t=r)}return t}function Sc(r){var e=r.children;return e.length&&r.isExpand?e[e.length-1]:r.hierNode.thread}function xc(r){var e=r.children;return e.length&&r.isExpand?e[0]:r.hierNode.thread}function fG(r,e,t){return r.hierNode.ancestor.parentNode===e.parentNode?r.hierNode.ancestor:t}function hG(r,e,t){var a=t/(e.hierNode.i-r.hierNode.i);e.hierNode.change-=a,e.hierNode.shift+=t,e.hierNode.modifier+=t,e.hierNode.prelim+=t,r.hierNode.change+=a}function vG(r,e){return r.parentNode===e.parentNode?1:2}var cG=function(){function r(){this.parentPoint=[],this.childPoints=[]}return r}(),dG=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new cG},e.prototype.buildPath=function(t,a){var n=a.childPoints,i=n.length,o=a.parentPoint,s=n[0],l=n[i-1];if(i===1){t.moveTo(o[0],o[1]),t.lineTo(s[0],s[1]);return}var u=a.orient,f=u==="TB"||u==="BT"?0:1,h=1-f,v=X(a.forkPosition,1),c=[];c[f]=o[f],c[h]=o[h]+(l[h]-o[h])*v,t.moveTo(o[0],o[1]),t.lineTo(c[0],c[1]),t.moveTo(s[0],s[1]),c[f]=s[f],t.lineTo(c[0],c[1]),c[f]=l[f],t.lineTo(c[0],c[1]),t.lineTo(l[0],l[1]);for(var d=1;d<i-1;d++){var p=n[d];t.moveTo(p[0],p[1]),c[f]=p[f],t.lineTo(c[0],c[1])}},e}(St),pG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._mainGroup=new ut,t}return e.prototype.init=function(t,a){this._controller=new Ol(a.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},e.prototype.render=function(t,a,n){var i=t.getData(),o=t.layoutInfo,s=this._mainGroup,l=t.get("layout");l==="radial"?(s.x=o.x+o.width/2,s.y=o.y+o.height/2):(s.x=o.x,s.y=o.y),this._updateViewCoordSys(t,n),this._updateController(t,a,n);var u=this._data;i.diff(u).add(function(f){wS(i,f)&&TS(i,f,null,s,t)}).update(function(f,h){var v=u.getItemGraphicEl(h);if(!wS(i,f)){v&&CS(u,h,v,s,t);return}TS(i,f,v,s,t)}).remove(function(f){var h=u.getItemGraphicEl(f);h&&CS(u,f,h,s,t)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),t.get("expandAndCollapse")===!0&&i.eachItemGraphicEl(function(f,h){f.off("click").on("click",function(){n.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:h})})}),this._data=i},e.prototype._updateViewCoordSys=function(t,a){var n=t.getData(),i=[];n.each(function(h){var v=n.getItemLayout(h);v&&!isNaN(v.x)&&!isNaN(v.y)&&i.push([+v.x,+v.y])});var o=[],s=[];ch(i,o,s);var l=this._min,u=this._max;s[0]-o[0]===0&&(o[0]=l?l[0]:o[0]-1,s[0]=u?u[0]:s[0]+1),s[1]-o[1]===0&&(o[1]=l?l[1]:o[1]-1,s[1]=u?u[1]:s[1]+1);var f=t.coordinateSystem=new Nl;f.zoomLimit=t.get("scaleLimit"),f.setBoundingRect(o[0],o[1],s[0]-o[0],s[1]-o[1]),f.setCenter(t.get("center"),a),f.setZoom(t.get("zoom")),this.group.attr({x:f.x,y:f.y,scaleX:f.scaleX,scaleY:f.scaleY}),this._min=o,this._max=s},e.prototype._updateController=function(t,a,n){var i=this,o=this._controller,s=this._controllerHost,l=this.group;o.setPointerChecker(function(u,f,h){var v=l.getBoundingRect();return v.applyTransform(l.transform),v.contain(f,h)&&!Bh(u,n,t)}),o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){_y(s,u.dx,u.dy),n.dispatchAction({seriesId:t.id,type:"treeRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){Sy(s,u.scale,u.originX,u.originY),n.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),i._updateNodeAndLinkScale(t),n.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(t){var a=t.getData(),n=this._getNodeGlobalScale(t);a.eachItemGraphicEl(function(i,o){i.setSymbolScale(n)})},e.prototype._getNodeGlobalScale=function(t){var a=t.coordinateSystem;if(a.type!=="view")return 1;var n=this._nodeScaleRatio,i=a.scaleX||1,o=a.getZoom(),s=(o-1)*n+1;return s/i},e.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype.remove=function(){this._mainGroup.removeAll(),this._data=null},e.type="tree",e}(Nt);function wS(r,e){var t=r.getItemLayout(e);return t&&!isNaN(t.x)&&!isNaN(t.y)}function TS(r,e,t,a,n){var i=!t,o=r.tree.getNodeByDataIndex(e),s=o.getModel(),l=o.getVisual("style").fill,u=o.isExpand===!1&&o.children.length!==0?l:"#fff",f=r.tree.root,h=o.parentNode===f?o:o.parentNode||o,v=r.getItemGraphicEl(h.dataIndex),c=h.getLayout(),d=v?{x:v.__oldX,y:v.__oldY,rawX:v.__radialOldRawX,rawY:v.__radialOldRawY}:c,p=o.getLayout();i?(t=new Ll(r,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.x=d.x,t.y=d.y):t.updateData(r,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.__radialOldRawX=t.__radialRawX,t.__radialOldRawY=t.__radialRawY,t.__radialRawX=p.rawX,t.__radialRawY=p.rawY,a.add(t),r.setItemGraphicEl(e,t),t.__oldX=t.x,t.__oldY=t.y,Mt(t,{x:p.x,y:p.y},n);var g=t.getSymbolPath();if(n.get("layout")==="radial"){var y=f.children[0],m=y.getLayout(),_=y.children.length,S=void 0,b=void 0;if(p.x===m.x&&o.isExpand===!0&&y.children.length){var x={x:(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,y:(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2};S=Math.atan2(x.y-m.y,x.x-m.x),S<0&&(S=Math.PI*2+S),b=x.x<m.x,b&&(S=S-Math.PI)}else S=Math.atan2(p.y-m.y,p.x-m.x),S<0&&(S=Math.PI*2+S),o.children.length===0||o.children.length!==0&&o.isExpand===!1?(b=p.x<m.x,b&&(S=S-Math.PI)):(b=p.x>m.x,b||(S=S-Math.PI));var w=b?"left":"right",T=s.getModel("label"),A=T.get("rotate"),C=A*(Math.PI/180),M=g.getTextContent();M&&(g.setTextConfig({position:T.get("position")||w,rotation:A==null?-S:C,origin:"center"}),M.setStyle("verticalAlign","middle"))}var L=s.get(["emphasis","focus"]),I=L==="relative"?Hs(o.getAncestorsIndices(),o.getDescendantIndices()):L==="ancestor"?o.getAncestorsIndices():L==="descendant"?o.getDescendantIndices():null;I&&(ht(t).focus=I),gG(n,o,f,t,d,c,p,a),t.__edge&&(t.onHoverStateChange=function(P){if(P!=="blur"){var R=o.parentNode&&r.getItemGraphicEl(o.parentNode.dataIndex);R&&R.hoverState===_l||_f(t.__edge,P)}})}function gG(r,e,t,a,n,i,o,s){var l=e.getModel(),u=r.get("edgeShape"),f=r.get("layout"),h=r.getOrient(),v=r.get(["lineStyle","curveness"]),c=r.get("edgeForkPosition"),d=l.getModel("lineStyle").getLineStyle(),p=a.__edge;if(u==="curve")e.parentNode&&e.parentNode!==t&&(p||(p=a.__edge=new xl({shape:Mp(f,h,v,n,n)})),Mt(p,{shape:Mp(f,h,v,i,o)},r));else if(u==="polyline"&&f==="orthogonal"&&e!==t&&e.children&&e.children.length!==0&&e.isExpand===!0){for(var g=e.children,y=[],m=0;m<g.length;m++){var _=g[m].getLayout();y.push([_.x,_.y])}p||(p=a.__edge=new dG({shape:{parentPoint:[o.x,o.y],childPoints:[[o.x,o.y]],orient:h,forkPosition:c}})),Mt(p,{shape:{parentPoint:[o.x,o.y],childPoints:y}},r)}p&&!(u==="polyline"&&!e.isExpand)&&(p.useStyle(ot({strokeNoScale:!0,fill:null},d)),ge(p,l,"lineStyle"),di(p),s.add(p))}function AS(r,e,t,a,n){var i=e.tree.root,o=aM(i,r),s=o.source,l=o.sourceLayout,u=e.getItemGraphicEl(r.dataIndex);if(u){var f=e.getItemGraphicEl(s.dataIndex),h=f.__edge,v=u.__edge||(s.isExpand===!1||s.children.length===1?h:void 0),c=a.get("edgeShape"),d=a.get("layout"),p=a.get("orient"),g=a.get(["lineStyle","curveness"]);v&&(c==="curve"?on(v,{shape:Mp(d,p,g,l,l),style:{opacity:0}},a,{cb:function(){t.remove(v)},removeOpt:n}):c==="polyline"&&a.get("layout")==="orthogonal"&&on(v,{shape:{parentPoint:[l.x,l.y],childPoints:[[l.x,l.y]]},style:{opacity:0}},a,{cb:function(){t.remove(v)},removeOpt:n}))}}function aM(r,e){for(var t=e.parentNode===r?e:e.parentNode||e,a;a=t.getLayout(),a==null;)t=t.parentNode===r?t:t.parentNode||t;return{source:t,sourceLayout:a}}function CS(r,e,t,a,n){var i=r.tree.getNodeByDataIndex(e),o=r.tree.root,s=aM(o,i).sourceLayout,l={duration:n.get("animationDurationUpdate"),easing:n.get("animationEasingUpdate")};on(t,{x:s.x+1,y:s.y+1},n,{cb:function(){a.remove(t),r.setItemGraphicEl(e,null)},removeOpt:l}),t.fadeOut(null,r.hostModel,{fadeLabel:!0,animation:l}),i.children.forEach(function(u){AS(u,r,a,n,l)}),AS(i,r,a,n,l)}function Mp(r,e,t,a,n){var i,o,s,l,u,f,h,v;if(r==="radial"){u=a.rawX,h=a.rawY,f=n.rawX,v=n.rawY;var c=xs(u,h),d=xs(u,h+(v-h)*t),p=xs(f,v+(h-v)*t),g=xs(f,v);return{x1:c.x||0,y1:c.y||0,x2:g.x||0,y2:g.y||0,cpx1:d.x||0,cpy1:d.y||0,cpx2:p.x||0,cpy2:p.y||0}}else u=a.x,h=a.y,f=n.x,v=n.y,(e==="LR"||e==="RL")&&(i=u+(f-u)*t,o=h,s=f+(u-f)*t,l=v),(e==="TB"||e==="BT")&&(i=u,o=h+(v-h)*t,s=f,l=v+(h-v)*t);return{x1:u,y1:h,x2:f,y2:v,cpx1:i,cpy1:o,cpx2:s,cpy2:l}}var vr=At();function nM(r){var e=r.mainData,t=r.datas;t||(t={main:e},r.datasAttr={main:"data"}),r.datas=r.mainData=null,iM(e,t,r),D(t,function(a){D(e.TRANSFERABLE_METHODS,function(n){a.wrapMethod(n,ct(yG,r))})}),e.wrapMethod("cloneShallow",ct(_G,r)),D(e.CHANGABLE_METHODS,function(a){e.wrapMethod(a,ct(mG,r))}),Ee(t[e.dataType]===e)}function yG(r,e){if(bG(this)){var t=V({},vr(this).datas);t[this.dataType]=e,iM(e,t,r)}else wy(e,this.dataType,vr(this).mainData,r);return e}function mG(r,e){return r.struct&&r.struct.update(),e}function _G(r,e){return D(vr(e).datas,function(t,a){t!==e&&wy(t.cloneShallow(),a,e,r)}),e}function SG(r){var e=vr(this).mainData;return r==null||e==null?e:vr(e).datas[r]}function xG(){var r=vr(this).mainData;return r==null?[{data:r}]:H(wt(vr(r).datas),function(e){return{type:e,data:vr(r).datas[e]}})}function bG(r){return vr(r).mainData===r}function iM(r,e,t){vr(r).datas={},D(e,function(a,n){wy(a,n,r,t)})}function wy(r,e,t,a){vr(t).datas[e]=r,vr(r).mainData=t,r.dataType=e,a.struct&&(r[a.structAttr]=a.struct,a.struct[a.datasAttr[e]]=r),r.getLinkedData=SG,r.getLinkedDataAll=xG}var wG=function(){function r(e,t){this.depth=0,this.height=0,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.isExpand=!1,this.name=e||"",this.hostTree=t}return r.prototype.isRemoved=function(){return this.dataIndex<0},r.prototype.eachNode=function(e,t,a){nt(e)&&(a=t,t=e,e=null),e=e||{},K(e)&&(e={order:e});var n=e.order||"preorder",i=this[e.attr||"children"],o;n==="preorder"&&(o=t.call(a,this));for(var s=0;!o&&s<i.length;s++)i[s].eachNode(e,t,a);n==="postorder"&&t.call(a,this)},r.prototype.updateDepthAndHeight=function(e){var t=0;this.depth=e;for(var a=0;a<this.children.length;a++){var n=this.children[a];n.updateDepthAndHeight(e+1),n.height>t&&(t=n.height)}this.height=t+1},r.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,a=this.children,n=a.length;t<n;t++){var i=a[t].getNodeById(e);if(i)return i}},r.prototype.contains=function(e){if(e===this)return!0;for(var t=0,a=this.children,n=a.length;t<n;t++){var i=a[t].contains(e);if(i)return i}},r.prototype.getAncestors=function(e){for(var t=[],a=e?this:this.parentNode;a;)t.push(a),a=a.parentNode;return t.reverse(),t},r.prototype.getAncestorsIndices=function(){for(var e=[],t=this;t;)e.push(t.dataIndex),t=t.parentNode;return e.reverse(),e},r.prototype.getDescendantIndices=function(){var e=[];return this.eachNode(function(t){e.push(t.dataIndex)}),e},r.prototype.getValue=function(e){var t=this.hostTree.data;return t.getStore().get(t.getDimensionIndex(e||"value"),this.dataIndex)},r.prototype.setLayout=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},r.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},r.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostTree,a=t.data.getItemModel(this.dataIndex);return a.getModel(e)}},r.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},r.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},r.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},r.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},r.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},r.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t<e.length;++t)if(e[t]===this)return t;return-1}return-1},r.prototype.isAncestorOf=function(e){for(var t=e.parentNode;t;){if(t===this)return!0;t=t.parentNode}return!1},r.prototype.isDescendantOf=function(e){return e!==this&&e.isAncestorOf(this)},r}(),Ty=function(){function r(e){this.type="tree",this._nodes=[],this.hostModel=e}return r.prototype.eachNode=function(e,t,a){this.root.eachNode(e,t,a)},r.prototype.getNodeByDataIndex=function(e){var t=this.data.getRawIndex(e);return this._nodes[t]},r.prototype.getNodeById=function(e){return this.root.getNodeById(e)},r.prototype.update=function(){for(var e=this.data,t=this._nodes,a=0,n=t.length;a<n;a++)t[a].dataIndex=-1;for(var a=0,n=e.count();a<n;a++)t[e.getRawIndex(a)].dataIndex=a},r.prototype.clearLayouts=function(){this.data.clearItemLayouts()},r.createTree=function(e,t,a){var n=new r(t),i=[],o=1;s(e);function s(f,h){var v=f.value;o=Math.max(o,z(v)?v.length:1),i.push(f);var c=new wG(ee(f.name,""),n);h?TG(c,h):n.root=c,n._nodes.push(c);var d=f.children;if(d)for(var p=0;p<d.length;p++)s(d[p],c)}n.root.updateDepthAndHeight(0);var l=Dl(i,{coordDimensions:["value"],dimensionsCount:o}).dimensions,u=new Pe(l,t);return u.initData(i),a&&a(u),nM({mainData:u,struct:n,structAttr:"tree"}),n.update(),n},r}();function TG(r,e){var t=e.children;r.parentNode!==e&&(t.push(r),r.parentNode=e)}function ll(r,e,t){if(r&&yt(e,r.type)>=0){var a=t.getData().tree.root,n=r.targetNode;if(K(n)&&(n=a.getNodeById(n)),n&&a.contains(n))return{node:n};var i=r.targetNodeId;if(i!=null&&(n=a.getNodeById(i)))return{node:n}}}function oM(r){for(var e=[];r;)r=r.parentNode,r&&e.push(r);return e.reverse()}function Ay(r,e){var t=oM(r);return yt(t,e)>=0}function zh(r,e){for(var t=[];r;){var a=r.dataIndex;t.push({name:r.name,dataIndex:a,value:e.getRawValue(a)}),r=r.parentNode}return t.reverse(),t}var AG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.hasSymbolVisual=!0,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t){var a={name:t.name,children:t.data},n=t.leaves||{},i=new Et(n,this,this.ecModel),o=Ty.createTree(a,this,s);function s(h){h.wrapMethod("getItemModel",function(v,c){var d=o.getNodeByDataIndex(c);return d&&d.children.length&&d.isExpand||(v.parentModel=i),v})}var l=0;o.eachNode("preorder",function(h){h.depth>l&&(l=h.depth)});var u=t.expandAndCollapse,f=u&&t.initialTreeDepth>=0?t.initialTreeDepth:l;return o.root.eachNode("preorder",function(h){var v=h.hostTree.data.getRawDataItem(h.dataIndex);h.isExpand=v&&v.collapsed!=null?!v.collapsed:h.depth<=f}),o.data},e.prototype.getOrient=function(){var t=this.get("orient");return t==="horizontal"?t="LR":t==="vertical"&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,a,n){for(var i=this.getData().tree,o=i.root.children[0],s=i.getNodeByDataIndex(t),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return ue("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},e.prototype.getDataParams=function(t){var a=r.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return a.treeAncestors=zh(n,this),a.collapsed=!n.isExpand,a},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(Gt);function CG(r,e,t){for(var a=[r],n=[],i;i=a.pop();)if(n.push(i),i.isExpand){var o=i.children;if(o.length)for(var s=0;s<o.length;s++)a.push(o[s])}for(;i=n.pop();)e(i,t)}function is(r,e){for(var t=[r],a;a=t.pop();)if(e(a),a.isExpand){var n=a.children;if(n.length)for(var i=n.length-1;i>=0;i--)t.push(n[i])}}function DG(r,e){r.eachSeriesByType("tree",function(t){MG(t,e)})}function MG(r,e){var t=sG(r,e);r.layoutInfo=t;var a=r.get("layout"),n=0,i=0,o=null;a==="radial"?(n=2*Math.PI,i=Math.min(t.height,t.width)/2,o=bS(function(_,S){return(_.parentNode===S.parentNode?1:2)/_.depth})):(n=t.width,i=t.height,o=bS());var s=r.getData().tree.root,l=s.children[0];if(l){nG(s),CG(l,iG,o),s.hierNode.modifier=-l.hierNode.prelim,is(l,oG);var u=l,f=l,h=l;is(l,function(_){var S=_.getLayout().x;S<u.getLayout().x&&(u=_),S>f.getLayout().x&&(f=_),_.depth>h.depth&&(h=_)});var v=u===f?1:o(u,f)/2,c=v-u.getLayout().x,d=0,p=0,g=0,y=0;if(a==="radial")d=n/(f.getLayout().x+v+c),p=i/(h.depth-1||1),is(l,function(_){g=(_.getLayout().x+c)*d,y=(_.depth-1)*p;var S=xs(g,y);_.setLayout({x:S.x,y:S.y,rawX:g,rawY:y},!0)});else{var m=r.getOrient();m==="RL"||m==="LR"?(p=i/(f.getLayout().x+v+c),d=n/(h.depth-1||1),is(l,function(_){y=(_.getLayout().x+c)*p,g=m==="LR"?(_.depth-1)*d:n-(_.depth-1)*d,_.setLayout({x:g,y},!0)})):(m==="TB"||m==="BT")&&(d=n/(f.getLayout().x+v+c),p=i/(h.depth-1||1),is(l,function(_){g=(_.getLayout().x+c)*d,y=m==="TB"?(_.depth-1)*p:i-(_.depth-1)*p,_.setLayout({x:g,y},!0)}))}}}function LG(r){r.eachSeriesByType("tree",function(e){var t=e.getData(),a=t.tree;a.eachNode(function(n){var i=n.getModel(),o=i.getModel("itemStyle").getItemStyle(),s=t.ensureUniqueItemVisual(n.dataIndex,"style");V(s,o)})})}function IG(r){r.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"tree",query:e},function(a){var n=e.dataIndex,i=a.getData().tree,o=i.getNodeByDataIndex(n);o.isExpand=!o.isExpand})}),r.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(e,t,a){t.eachComponent({mainType:"series",subType:"tree",query:e},function(n){var i=n.coordinateSystem,o=by(i,e,void 0,a);n.setCenter&&n.setCenter(o.center),n.setZoom&&n.setZoom(o.zoom)})})}function PG(r){r.registerChartView(pG),r.registerSeriesModel(AG),r.registerLayout(DG),r.registerVisual(LG),IG(r)}var DS=["treemapZoomToNode","treemapRender","treemapMove"];function RG(r){for(var e=0;e<DS.length;e++)r.registerAction({type:DS[e],update:"updateView"},qt);r.registerAction({type:"treemapRootToNode",update:"updateView"},function(t,a){a.eachComponent({mainType:"series",subType:"treemap",query:t},n);function n(i,o){var s=["treemapZoomToNode","treemapRootToNode"],l=ll(t,s,i);if(l){var u=i.getViewRoot();u&&(t.direction=Ay(u,l.node)?"rollUp":"drillDown"),i.resetViewRoot(l.node)}}})}function sM(r){var e=r.getData(),t=e.tree,a={};t.eachNode(function(n){for(var i=n;i&&i.depth>1;)i=i.parentNode;var o=rp(r.ecModel,i.name||i.dataIndex+"",a);n.setVisual("decal",o)})}var EG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.preventUsingHoverLayer=!0,t}return e.prototype.getInitialData=function(t,a){var n={name:t.name,children:t.data};lM(n);var i=t.levels||[],o=this.designatedVisualItemStyle={},s=new Et({itemStyle:o},this,a);i=t.levels=kG(i,a);var l=H(i||[],function(h){return new Et(h,s,a)},this),u=Ty.createTree(n,this,f);function f(h){h.wrapMethod("getItemModel",function(v,c){var d=u.getNodeByDataIndex(c),p=d?l[d.depth]:null;return v.parentModel=p||s,v})}return u.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,a,n){var i=this.getData(),o=this.getRawValue(t),s=i.getName(t);return ue("nameValue",{name:s,value:o})},e.prototype.getDataParams=function(t){var a=r.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return a.treeAncestors=zh(n,this),a.treePathInfo=a.treeAncestors,a},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},V(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var a=this._idIndexMap;a||(a=this._idIndexMap=et(),this._idIndexMapCount=0);var n=a.get(t);return n==null&&a.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var a=this.getRawData().tree.root;(!t||t!==a&&!a.contains(t))&&(this._viewRoot=a)},e.prototype.enableAriaDecal=function(){sM(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(Gt);function lM(r){var e=0;D(r.children,function(a){lM(a);var n=a.value;z(n)&&(n=n[0]),e+=n});var t=r.value;z(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),z(r.value)?r.value[0]=t:r.value=t}function kG(r,e){var t=Ot(e.get("color")),a=Ot(e.get(["aria","decal","decals"]));if(t){r=r||[];var n,i;D(r,function(s){var l=new Et(s),u=l.get("color"),f=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(n=!0),(l.get(["itemStyle","decal"])||f&&f!=="none")&&(i=!0)});var o=r[0]||(r[0]={});return n||(o.color=t.slice()),!i&&a&&(o.decal=a.slice()),r}}var OG=8,MS=8,bc=5,NG=function(){function r(e){this.group=new ut,e.add(this.group)}return r.prototype.render=function(e,t,a,n){var i=e.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!i.get("show")||!a)){var s=i.getModel("itemStyle"),l=i.getModel("emphasis"),u=s.getModel("textStyle"),f=l.getModel(["itemStyle","textStyle"]),h={pos:{left:i.get("left"),right:i.get("right"),top:i.get("top"),bottom:i.get("bottom")},box:{width:t.getWidth(),height:t.getHeight()},emptyItemWidth:i.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(a,h,u),this._renderContent(e,h,s,l,u,f,n),Ch(o,h.pos,h.box)}},r.prototype._prepare=function(e,t,a){for(var n=e;n;n=n.parentNode){var i=ee(n.getModel().get("name"),""),o=a.getTextRect(i),s=Math.max(o.width+OG*2,t.emptyItemWidth);t.totalWidth+=s+MS,t.renderList.push({node:n,text:i,width:s})}},r.prototype._renderContent=function(e,t,a,n,i,o,s){for(var l=0,u=t.emptyItemWidth,f=e.get(["breadcrumb","height"]),h=YE(t.pos,t.box),v=t.totalWidth,c=t.renderList,d=n.getModel("itemStyle").getItemStyle(),p=c.length-1;p>=0;p--){var g=c[p],y=g.node,m=g.width,_=g.text;v>h.width&&(v-=m-u,m=u,_=null);var S=new Ne({shape:{points:BG(l,0,m,f,p===c.length-1,p===0)},style:ot(a.getItemStyle(),{lineJoin:"bevel"}),textContent:new Ct({style:zt(i,{text:_})}),textConfig:{position:"inside"},z2:Co*1e4,onclick:ct(s,y)});S.disableLabelAnimation=!0,S.getTextContent().ensureState("emphasis").style=zt(o,{text:_}),S.ensureState("emphasis").style=d,Yt(S,n.get("focus"),n.get("blurScope"),n.get("disabled")),this.group.add(S),VG(S,e,y),l+=m+MS}},r.prototype.remove=function(){this.group.removeAll()},r}();function BG(r,e,t,a,n,i){var o=[[n?r:r-bc,e],[r+t,e],[r+t,e+a],[n?r:r-bc,e+a]];return!i&&o.splice(2,0,[r+t+bc,e+a/2]),!n&&o.push([r,e+a/2]),o}function VG(r,e,t){ht(r).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&zh(t,e)}}var zG=function(){function r(){this._storage=[],this._elExistsMap={}}return r.prototype.add=function(e,t,a,n,i){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:a,delay:n,easing:i}),!0)},r.prototype.finished=function(e){return this._finishedCallback=e,this},r.prototype.start=function(){for(var e=this,t=this._storage.length,a=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},n=0,i=this._storage.length;n<i;n++){var o=this._storage[n];o.el.animateTo(o.target,{duration:o.duration,delay:o.delay,easing:o.easing,setToFinal:!0,done:a,aborted:a})}return this},r}();function GG(){return new zG}var Lp=ut,LS=Tt,IS=3,PS="label",RS="upperLabel",FG=Co*10,HG=Co*2,WG=Co*3,Gn=ci([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ES=function(r){var e=Gn(r);return e.stroke=e.fill=e.lineWidth=null,e},Ff=At(),UG=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._state="ready",t._storage=os(),t}return e.prototype.render=function(t,a,n,i){var o=a.findComponents({mainType:"series",subType:"treemap",query:i});if(!(yt(o,t)<0)){this.seriesModel=t,this.api=n,this.ecModel=a;var s=["treemapZoomToNode","treemapRootToNode"],l=ll(i,s,t),u=i&&i.type,f=t.layoutInfo,h=!this._oldTree,v=this._storage,c=u==="treemapRootToNode"&&l&&v?{rootNodeGroup:v.nodeGroup[l.node.getRawIndex()],direction:i.direction}:null,d=this._giveContainerGroup(f),p=t.get("animation"),g=this._doRender(d,t,c);p&&!h&&(!u||u==="treemapZoomToNode"||u==="treemapRootToNode")?this._doAnimation(d,g,t,c):g.renderFinally(),this._resetController(n),this._renderBreadcrumb(t,n,l)}},e.prototype._giveContainerGroup=function(t){var a=this._containerGroup;return a||(a=this._containerGroup=new Lp,this._initEvents(a),this.group.add(a)),a.x=t.x,a.y=t.y,a},e.prototype._doRender=function(t,a,n){var i=a.getData().tree,o=this._oldTree,s=os(),l=os(),u=this._storage,f=[];function h(m,_,S,b){return YG(a,l,u,n,s,f,m,_,S,b)}p(i.root?[i.root]:[],o&&o.root?[o.root]:[],t,i===o||!o,0);var v=g(u);if(this._oldTree=i,this._storage=l,this._controllerHost){var c=this.seriesModel.layoutInfo,d=i.root.getLayout();d.width===c.width&&d.height===c.height&&(this._controllerHost.zoom=1)}return{lastsForAnimation:s,willDeleteEls:v,renderFinally:y};function p(m,_,S,b,x){b?(_=m,D(m,function(A,C){!A.isRemoved()&&T(C,C)})):new _a(_,m,w,w).add(T).update(T).remove(ct(T,null)).execute();function w(A){return A.getId()}function T(A,C){var M=A!=null?m[A]:null,L=C!=null?_[C]:null,I=h(M,L,S,x);I&&p(M&&M.viewChildren||[],L&&L.viewChildren||[],I,b,x+1)}}function g(m){var _=os();return m&&D(m,function(S,b){var x=_[b];D(S,function(w){w&&(x.push(w),Ff(w).willDelete=!0)})}),_}function y(){D(v,function(m){D(m,function(_){_.parent&&_.parent.remove(_)})}),D(f,function(m){m.invisible=!0,m.dirty()})}},e.prototype._doAnimation=function(t,a,n,i){var o=n.get("animationDurationUpdate"),s=n.get("animationEasing"),l=(nt(o)?0:o)||0,u=(nt(s)?null:s)||"cubicOut",f=GG();D(a.willDeleteEls,function(h,v){D(h,function(c,d){if(!c.invisible){var p=c.parent,g,y=Ff(p);if(i&&i.direction==="drillDown")g=p===i.rootNodeGroup?{shape:{x:0,y:0,width:y.nodeWidth,height:y.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var m=0,_=0;y.willDelete||(m=y.nodeWidth/2,_=y.nodeHeight/2),g=v==="nodeGroup"?{x:m,y:_,style:{opacity:0}}:{shape:{x:m,y:_,width:0,height:0},style:{opacity:0}}}g&&f.add(c,g,l,0,u)}})}),D(this._storage,function(h,v){D(h,function(c,d){var p=a.lastsForAnimation[v][d],g={};p&&(c instanceof ut?p.oldX!=null&&(g.x=c.x,g.y=c.y,c.x=p.oldX,c.y=p.oldY):(p.oldShape&&(g.shape=V({},c.shape),c.setShape(p.oldShape)),p.fadein?(c.setStyle("opacity",0),g.style={opacity:1}):c.style.opacity!==1&&(g.style={opacity:1})),f.add(c,g,l,0,u))})},this),this._state="animating",f.finished(J(function(){this._state="ready",a.renderFinally()},this)).start()},e.prototype._resetController=function(t){var a=this._controller,n=this._controllerHost;n||(this._controllerHost={target:this.group},n=this._controllerHost),a||(a=this._controller=new Ol(t.getZr()),a.enable(this.seriesModel.get("roam")),n.zoomLimit=this.seriesModel.get("scaleLimit"),n.zoom=this.seriesModel.get("zoom"),a.on("pan",J(this._onPan,this)),a.on("zoom",J(this._onZoom,this)));var i=new gt(0,0,t.getWidth(),t.getHeight());a.setPointerChecker(function(o,s,l){return i.contain(s,l)})},e.prototype._clearController=function(){var t=this._controller;this._controllerHost=null,t&&(t.dispose(),t=null)},e.prototype._onPan=function(t){if(this._state!=="animating"&&(Math.abs(t.dx)>IS||Math.abs(t.dy)>IS)){var a=this.seriesModel.getData().tree.root;if(!a)return;var n=a.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var a=t.originX,n=t.originY,i=t.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new gt(s.x,s.y,s.width,s.height),u=null,f=this._controllerHost;u=f.zoomLimit;var h=f.zoom=f.zoom||1;if(h*=i,u){var v=u.min||0,c=u.max||1/0;h=Math.max(Math.min(c,h),v)}var d=h/f.zoom;f.zoom=h;var p=this.seriesModel.layoutInfo;a-=p.x,n-=p.y;var g=qe();Kr(g,g,[-a,-n]),pg(g,g,[d,d]),Kr(g,g,[a,n]),l.applyTransform(g),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},e.prototype._initEvents=function(t){var a=this;t.on("click",function(n){if(a._state==="ready"){var i=a.seriesModel.get("nodeClick",!0);if(i){var o=a.findTarget(n.offsetX,n.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)a._rootToNode(o);else if(i==="zoomToNode")a._zoomToNode(o);else if(i==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),f=l.get("target",!0)||"blank";u&&Af(u,f)}}}}},this)},e.prototype._renderBreadcrumb=function(t,a,n){var i=this;n||(n=t.get("leafDepth",!0)!=null?{node:t.getViewRoot()}:this.findTarget(a.getWidth()/2,a.getHeight()/2),n||(n={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new NG(this.group))).render(t,a,n.node,function(o){i._state!=="animating"&&(Ay(t.getViewRoot(),o)?i._rootToNode({node:o}):i._zoomToNode({node:o}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=os(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,a){var n,i=this.seriesModel.getViewRoot();return i.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(t,a),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)n={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),n},e.type="treemap",e}(Nt);function os(){return{nodeGroup:[],background:[],content:[]}}function YG(r,e,t,a,n,i,o,s,l,u){if(!o)return;var f=o.getLayout(),h=r.getData(),v=o.getModel();if(h.setItemGraphicEl(o.dataIndex,null),!f||!f.isInView)return;var c=f.width,d=f.height,p=f.borderWidth,g=f.invisible,y=o.getRawIndex(),m=s&&s.getRawIndex(),_=o.viewChildren,S=f.upperHeight,b=_&&_.length,x=v.getModel("itemStyle"),w=v.getModel(["emphasis","itemStyle"]),T=v.getModel(["blur","itemStyle"]),A=v.getModel(["select","itemStyle"]),C=x.get("borderRadius")||0,M=W("nodeGroup",Lp);if(!M)return;if(l.add(M),M.x=f.x||0,M.y=f.y||0,M.markRedraw(),Ff(M).nodeWidth=c,Ff(M).nodeHeight=d,f.isAboveViewRoot)return M;var L=W("background",LS,u,HG);L&&G(M,L,b&&f.upperLabelHeight);var I=v.getModel("emphasis"),P=I.get("focus"),R=I.get("blurScope"),E=I.get("disabled"),N=P==="ancestor"?o.getAncestorsIndices():P==="descendant"?o.getDescendantIndices():P;if(b)qs(M)&&Kn(M,!1),L&&(Kn(L,!E),h.setItemGraphicEl(o.dataIndex,L),Xd(L,N,R));else{var O=W("content",LS,u,WG);O&&U(M,O),L.disableMorphing=!0,L&&qs(L)&&Kn(L,!1),Kn(M,!E),h.setItemGraphicEl(o.dataIndex,M);var B=v.getShallow("cursor");B&&O.attr("cursor",B),Xd(M,N,R)}return M;function G(tt,q,it){var Q=ht(q);if(Q.dataIndex=o.dataIndex,Q.seriesIndex=r.seriesIndex,q.setShape({x:0,y:0,width:c,height:d,r:C}),g)Z(q);else{q.invisible=!1;var F=o.getVisual("style"),Lt=F.stroke,_t=ES(x);_t.fill=Lt;var kt=Gn(w);kt.fill=w.get("borderColor");var Ht=Gn(T);Ht.fill=T.get("borderColor");var ae=Gn(A);if(ae.fill=A.get("borderColor"),it){var Ye=c-2*p;rt(q,Lt,F.opacity,{x:p,y:0,width:Ye,height:S})}else q.removeTextContent();q.setStyle(_t),q.ensureState("emphasis").style=kt,q.ensureState("blur").style=Ht,q.ensureState("select").style=ae,di(q)}tt.add(q)}function U(tt,q){var it=ht(q);it.dataIndex=o.dataIndex,it.seriesIndex=r.seriesIndex;var Q=Math.max(c-2*p,0),F=Math.max(d-2*p,0);if(q.culling=!0,q.setShape({x:p,y:p,width:Q,height:F,r:C}),g)Z(q);else{q.invisible=!1;var Lt=o.getVisual("style"),_t=Lt.fill,kt=ES(x);kt.fill=_t,kt.decal=Lt.decal;var Ht=Gn(w),ae=Gn(T),Ye=Gn(A);rt(q,_t,Lt.opacity,null),q.setStyle(kt),q.ensureState("emphasis").style=Ht,q.ensureState("blur").style=ae,q.ensureState("select").style=Ye,di(q)}tt.add(q)}function Z(tt){!tt.invisible&&i.push(tt)}function rt(tt,q,it,Q){var F=v.getModel(Q?RS:PS),Lt=ee(v.get("name"),null),_t=F.getShallow("show");ye(tt,le(v,Q?RS:PS),{defaultText:_t?Lt:null,inheritColor:q,defaultOpacity:it,labelFetcher:r,labelDataIndex:o.dataIndex});var kt=tt.getTextContent();if(kt){var Ht=kt.style,ae=vg(Ht.padding||0);Q&&(tt.setTextConfig({layoutRect:Q}),kt.disableLabelLayout=!0),kt.beforeUpdate=function(){var Ve=Math.max((Q?Q.width:tt.shape.width)-ae[1]-ae[3],0),cn=Math.max((Q?Q.height:tt.shape.height)-ae[0]-ae[2],0);(Ht.width!==Ve||Ht.height!==cn)&&kt.setStyle({width:Ve,height:cn})},Ht.truncateMinChar=2,Ht.lineOverflow="truncate",at(Ht,Q,f);var Ye=kt.getState("emphasis");at(Ye?Ye.style:null,Q,f)}}function at(tt,q,it){var Q=tt?tt.text:null;if(!q&&it.isLeafRoot&&Q!=null){var F=r.get("drillDownIcon",!0);tt.text=F?F+" "+Q:Q}}function W(tt,q,it,Q){var F=m!=null&&t[tt][m],Lt=n[tt];return F?(t[tt][m]=null,Y(Lt,F)):g||(F=new q,F instanceof cr&&(F.z2=$G(it,Q)),ft(Lt,F)),e[tt][y]=F}function Y(tt,q){var it=tt[y]={};q instanceof Lp?(it.oldX=q.x,it.oldY=q.y):it.oldShape=V({},q.shape)}function ft(tt,q){var it=tt[y]={},Q=o.parentNode,F=q instanceof ut;if(Q&&(!a||a.direction==="drillDown")){var Lt=0,_t=0,kt=n.background[Q.getRawIndex()];!a&&kt&&kt.oldShape&&(Lt=kt.oldShape.width,_t=kt.oldShape.height),F?(it.oldX=0,it.oldY=_t):it.oldShape={x:Lt,y:_t,width:0,height:0}}it.fadein=!F}}function $G(r,e){return r*FG+e}var ul=D,ZG=st,Hf=-1,se=function(){function r(e){var t=e.mappingMethod,a=e.type,n=this.option=lt(e);this.type=a,this.mappingMethod=t,this._normalizeData=KG[t];var i=r.visualHandlers[a];this.applyVisual=i.applyVisual,this.getColorMapper=i.getColorMapper,this._normalizedToVisual=i._normalizedToVisual[t],t==="piecewise"?(wc(n),XG(n)):t==="category"?n.categories?qG(n):wc(n,!0):(Ee(t!=="linear"||n.dataExtent),wc(n))}return r.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},r.prototype.getNormalizer=function(){return J(this._normalizeData,this)},r.listVisualTypes=function(){return wt(r.visualHandlers)},r.isValidType=function(e){return r.visualHandlers.hasOwnProperty(e)},r.eachVisual=function(e,t,a){st(e)?D(e,t,a):t.call(a,e)},r.mapVisual=function(e,t,a){var n,i=z(e)?[]:st(e)?{}:(n=!0,null);return r.eachVisual(e,function(o,s){var l=t.call(a,o,s);n?i=l:i[s]=l}),i},r.retrieveVisuals=function(e){var t={},a;return e&&ul(r.visualHandlers,function(n,i){e.hasOwnProperty(i)&&(t[i]=e[i],a=!0)}),a?t:null},r.prepareVisualTypes=function(e){if(z(e))e=e.slice();else if(ZG(e)){var t=[];ul(e,function(a,n){t.push(n)}),e=t}else return[];return e.sort(function(a,n){return n==="color"&&a!=="color"&&a.indexOf("color")===0?1:-1}),e},r.dependsOn=function(e,t){return t==="color"?!!(e&&e.indexOf(t)===0):e===t},r.findPieceIndex=function(e,t,a){for(var n,i=1/0,o=0,s=t.length;o<s;o++){var l=t[o].value;if(l!=null){if(l===e||K(l)&&l===e+"")return o;a&&v(l,o)}}for(var o=0,s=t.length;o<s;o++){var u=t[o],f=u.interval,h=u.close;if(f){if(f[0]===-1/0){if(Du(h[1],e,f[1]))return o}else if(f[1]===1/0){if(Du(h[0],f[0],e))return o}else if(Du(h[0],f[0],e)&&Du(h[1],e,f[1]))return o;a&&v(f[0],o),a&&v(f[1],o)}}if(a)return e===1/0?t.length-1:e===-1/0?0:n;function v(c,d){var p=Math.abs(c-e);p<i&&(i=p,n=d)}},r.visualHandlers={color:{applyVisual:ss("color"),getColorMapper:function(){var e=this.option;return J(e.mappingMethod==="category"?function(t,a){return!a&&(t=this._normalizeData(t)),bs.call(this,t)}:function(t,a,n){var i=!!n;return!a&&(t=this._normalizeData(t)),n=av(t,e.parsedVisual,n),i?n:va(n,"rgba")},this)},_normalizedToVisual:{linear:function(e){return va(av(e,this.option.parsedVisual),"rgba")},category:bs,piecewise:function(e,t){var a=Pp.call(this,t);return a==null&&(a=va(av(e,this.option.parsedVisual),"rgba")),a},fixed:Fn}},colorHue:Cu(function(e,t){return Ds(e,t)}),colorSaturation:Cu(function(e,t){return Ds(e,null,t)}),colorLightness:Cu(function(e,t){return Ds(e,null,null,t)}),colorAlpha:Cu(function(e,t){return cf(e,t)}),decal:{applyVisual:ss("decal"),_normalizedToVisual:{linear:null,category:bs,piecewise:null,fixed:null}},opacity:{applyVisual:ss("opacity"),_normalizedToVisual:Ip([0,1])},liftZ:{applyVisual:ss("liftZ"),_normalizedToVisual:{linear:Fn,category:Fn,piecewise:Fn,fixed:Fn}},symbol:{applyVisual:function(e,t,a){var n=this.mapValueToVisual(e);a("symbol",n)},_normalizedToVisual:{linear:kS,category:bs,piecewise:function(e,t){var a=Pp.call(this,t);return a==null&&(a=kS.call(this,e)),a},fixed:Fn}},symbolSize:{applyVisual:ss("symbolSize"),_normalizedToVisual:Ip([0,1])}},r}();function XG(r){var e=r.pieceList;r.hasSpecialVisual=!1,D(e,function(t,a){t.originIndex=a,t.visual!=null&&(r.hasSpecialVisual=!0)})}function qG(r){var e=r.categories,t=r.categoryMap={},a=r.visual;if(ul(e,function(o,s){t[o]=s}),!z(a)){var n=[];st(a)?ul(a,function(o,s){var l=t[s];n[l??Hf]=o}):n[Hf]=a,a=uM(r,n)}for(var i=e.length-1;i>=0;i--)a[i]==null&&(delete t[e[i]],e.pop())}function wc(r,e){var t=r.visual,a=[];st(t)?ul(t,function(i){a.push(i)}):t!=null&&a.push(t);var n={color:1,symbol:1};!e&&a.length===1&&!n.hasOwnProperty(r.type)&&(a[1]=a[0]),uM(r,a)}function Cu(r){return{applyVisual:function(e,t,a){var n=this.mapValueToVisual(e);a("color",r(t("color"),n))},_normalizedToVisual:Ip([0,1])}}function kS(r){var e=this.option.visual;return e[Math.round(Rt(r,[0,1],[0,e.length-1],!0))]||{}}function ss(r){return function(e,t,a){a(r,this.mapValueToVisual(e))}}function bs(r){var e=this.option.visual;return e[this.option.loop&&r!==Hf?r%e.length:r]}function Fn(){return this.option.visual[0]}function Ip(r){return{linear:function(e){return Rt(e,r,this.option.visual,!0)},category:bs,piecewise:function(e,t){var a=Pp.call(this,t);return a==null&&(a=Rt(e,r,this.option.visual,!0)),a},fixed:Fn}}function Pp(r){var e=this.option,t=e.pieceList;if(e.hasSpecialVisual){var a=se.findPieceIndex(r,t),n=t[a];if(n&&n.visual)return n.visual[this.type]}}function uM(r,e){return r.visual=e,r.type==="color"&&(r.parsedVisual=H(e,function(t){var a=Ke(t);return a||[0,0,0,1]})),e}var KG={linear:function(r){return Rt(r,this.option.dataExtent,[0,1],!0)},piecewise:function(r){var e=this.option.pieceList,t=se.findPieceIndex(r,e,!0);if(t!=null)return Rt(t,[0,e.length-1],[0,1],!0)},category:function(r){var e=this.option.categories?this.option.categoryMap[r]:r;return e??Hf},fixed:qt};function Du(r,e,t){return r?e<=t:e<t}var JG="itemStyle",fM=At();const QG={seriesType:"treemap",reset:function(r){var e=r.getData().tree,t=e.root;t.isRemoved()||hM(t,{},r.getViewRoot().getAncestors(),r)}};function hM(r,e,t,a){var n=r.getModel(),i=r.getLayout(),o=r.hostTree.data;if(!(!i||i.invisible||!i.isInView)){var s=n.getModel(JG),l=jG(s,e,a),u=o.ensureUniqueItemVisual(r.dataIndex,"style"),f=s.get("borderColor"),h=s.get("borderColorSaturation"),v;h!=null&&(v=OS(l),f=t3(h,v)),u.stroke=f;var c=r.viewChildren;if(!c||!c.length)v=OS(l),u.fill=v;else{var d=e3(r,n,i,s,l,c);D(c,function(p,g){if(p.depth>=t.length||p===t[p.depth]){var y=r3(n,l,p,g,d,a);hM(p,y,t,a)}})}}}function jG(r,e,t){var a=V({},e),n=t.designatedVisualItemStyle;return D(["color","colorAlpha","colorSaturation"],function(i){n[i]=e[i];var o=r.get(i);n[i]=null,o!=null&&(a[i]=o)}),a}function OS(r){var e=Tc(r,"color");if(e){var t=Tc(r,"colorAlpha"),a=Tc(r,"colorSaturation");return a&&(e=Ds(e,null,null,a)),t&&(e=cf(e,t)),e}}function t3(r,e){return e!=null?Ds(e,null,null,r):null}function Tc(r,e){var t=r[e];if(t!=null&&t!=="none")return t}function e3(r,e,t,a,n,i){if(!(!i||!i.length)){var o=Ac(e,"color")||n.color!=null&&n.color!=="none"&&(Ac(e,"colorAlpha")||Ac(e,"colorSaturation"));if(o){var s=e.get("visualMin"),l=e.get("visualMax"),u=t.dataExtent.slice();s!=null&&s<u[0]&&(u[0]=s),l!=null&&l>u[1]&&(u[1]=l);var f=e.get("colorMappingBy"),h={type:o.name,dataExtent:u,visual:o.range};h.type==="color"&&(f==="index"||f==="id")?(h.mappingMethod="category",h.loop=!0):h.mappingMethod="linear";var v=new se(h);return fM(v).drColorMappingBy=f,v}}}function Ac(r,e){var t=r.get(e);return z(t)&&t.length?{name:e,range:t}:null}function r3(r,e,t,a,n,i){var o=V({},e);if(n){var s=n.type,l=s==="color"&&fM(n).drColorMappingBy,u=l==="index"?a:l==="id"?i.mapIdToIndex(t.getId()):t.getValue(r.get("visualDimension"));o[s]=n.mapValueToVisual(u)}return o}var fl=Math.max,Wf=Math.min,NS=ve,Cy=D,vM=["itemStyle","borderWidth"],a3=["itemStyle","gapWidth"],n3=["upperLabel","show"],i3=["upperLabel","height"];const o3={seriesType:"treemap",reset:function(r,e,t,a){var n=t.getWidth(),i=t.getHeight(),o=r.option,s=re(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),l=o.size||[],u=X(NS(s.width,l[0]),n),f=X(NS(s.height,l[1]),i),h=a&&a.type,v=["treemapZoomToNode","treemapRootToNode"],c=ll(a,v,r),d=h==="treemapRender"||h==="treemapMove"?a.rootRect:null,p=r.getViewRoot(),g=oM(p);if(h!=="treemapMove"){var y=h==="treemapZoomToNode"?v3(r,c,p,u,f):d?[d.width,d.height]:[u,f],m=o.sort;m&&m!=="asc"&&m!=="desc"&&(m="desc");var _={squareRatio:o.squareRatio,sort:m,leafDepth:o.leafDepth};p.hostTree.clearLayouts();var S={x:0,y:0,width:y[0],height:y[1],area:y[0]*y[1]};p.setLayout(S),cM(p,_,!1,0),S=p.getLayout(),Cy(g,function(x,w){var T=(g[w+1]||p).getValue();x.setLayout(V({dataExtent:[T,T],borderWidth:0,upperHeight:0},S))})}var b=r.getData().tree.root;b.setLayout(c3(s,d,c),!0),r.setLayoutInfo(s),dM(b,new gt(-s.x,-s.y,n,i),g,p,0)}};function cM(r,e,t,a){var n,i;if(!r.isRemoved()){var o=r.getLayout();n=o.width,i=o.height;var s=r.getModel(),l=s.get(vM),u=s.get(a3)/2,f=pM(s),h=Math.max(l,f),v=l-u,c=h-u;r.setLayout({borderWidth:l,upperHeight:h,upperLabelHeight:f},!0),n=fl(n-2*v,0),i=fl(i-v-c,0);var d=n*i,p=s3(r,s,d,e,t,a);if(p.length){var g={x:v,y:c,width:n,height:i},y=Wf(n,i),m=1/0,_=[];_.area=0;for(var S=0,b=p.length;S<b;){var x=p[S];_.push(x),_.area+=x.getLayout().area;var w=h3(_,y,e.squareRatio);w<=m?(S++,m=w):(_.area-=_.pop().getLayout().area,BS(_,y,g,u,!1),y=Wf(g.width,g.height),_.length=_.area=0,m=1/0)}if(_.length&&BS(_,y,g,u,!0),!t){var T=s.get("childrenVisibleMin");T!=null&&d<T&&(t=!0)}for(var S=0,b=p.length;S<b;S++)cM(p[S],e,t,a+1)}}}function s3(r,e,t,a,n,i){var o=r.children||[],s=a.sort;s!=="asc"&&s!=="desc"&&(s=null);var l=a.leafDepth!=null&&a.leafDepth<=i;if(n&&!l)return r.viewChildren=[];o=Pt(o,function(c){return!c.isRemoved()}),u3(o,s);var u=f3(e,o,s);if(u.sum===0)return r.viewChildren=[];if(u.sum=l3(e,t,u.sum,s,o),u.sum===0)return r.viewChildren=[];for(var f=0,h=o.length;f<h;f++){var v=o[f].getValue()/u.sum*t;o[f].setLayout({area:v})}return l&&(o.length&&r.setLayout({isLeafRoot:!0},!0),o.length=0),r.viewChildren=o,r.setLayout({dataExtent:u.dataExtent},!0),o}function l3(r,e,t,a,n){if(!a)return t;for(var i=r.get("visibleMin"),o=n.length,s=o,l=o-1;l>=0;l--){var u=n[a==="asc"?o-l-1:l].getValue();u/t*e<i&&(s=l,t-=u)}return a==="asc"?n.splice(0,o-s):n.splice(s,o-s),t}function u3(r,e){return e&&r.sort(function(t,a){var n=e==="asc"?t.getValue()-a.getValue():a.getValue()-t.getValue();return n===0?e==="asc"?t.dataIndex-a.dataIndex:a.dataIndex-t.dataIndex:n}),r}function f3(r,e,t){for(var a=0,n=0,i=e.length;n<i;n++)a+=e[n].getValue();var o=r.get("visualDimension"),s;return!e||!e.length?s=[NaN,NaN]:o==="value"&&t?(s=[e[e.length-1].getValue(),e[0].getValue()],t==="asc"&&s.reverse()):(s=[1/0,-1/0],Cy(e,function(l){var u=l.getValue(o);u<s[0]&&(s[0]=u),u>s[1]&&(s[1]=u)})),{sum:a,dataExtent:s}}function h3(r,e,t){for(var a=0,n=1/0,i=0,o=void 0,s=r.length;i<s;i++)o=r[i].getLayout().area,o&&(o<n&&(n=o),o>a&&(a=o));var l=r.area*r.area,u=e*e*t;return l?fl(u*a/l,l/(u*n)):1/0}function BS(r,e,t,a,n){var i=e===t.width?0:1,o=1-i,s=["x","y"],l=["width","height"],u=t[s[i]],f=e?r.area/e:0;(n||f>t[l[o]])&&(f=t[l[o]]);for(var h=0,v=r.length;h<v;h++){var c=r[h],d={},p=f?c.getLayout().area/f:0,g=d[l[o]]=fl(f-2*a,0),y=t[s[i]]+t[l[i]]-u,m=h===v-1||y<p?y:p,_=d[l[i]]=fl(m-2*a,0);d[s[o]]=t[s[o]]+Wf(a,g/2),d[s[i]]=u+Wf(a,_/2),u+=m,c.setLayout(d,!0)}t[s[o]]+=f,t[l[o]]-=f}function v3(r,e,t,a,n){var i=(e||{}).node,o=[a,n];if(!i||i===t)return o;for(var s,l=a*n,u=l*r.option.zoomToNodeRatio;s=i.parentNode;){for(var f=0,h=s.children,v=0,c=h.length;v<c;v++)f+=h[v].getValue();var d=i.getValue();if(d===0)return o;u*=f/d;var p=s.getModel(),g=p.get(vM),y=Math.max(g,pM(p));u+=4*g*g+(3*g+y)*Math.pow(u,.5),u>qm&&(u=qm),i=s}u<l&&(u=l);var m=Math.pow(u/l,.5);return[a*m,n*m]}function c3(r,e,t){if(e)return{x:e.x,y:e.y};var a={x:0,y:0};if(!t)return a;var n=t.node,i=n.getLayout();if(!i)return a;for(var o=[i.width/2,i.height/2],s=n;s;){var l=s.getLayout();o[0]+=l.x,o[1]+=l.y,s=s.parentNode}return{x:r.width/2-o[0],y:r.height/2-o[1]}}function dM(r,e,t,a,n){var i=r.getLayout(),o=t[n],s=o&&o===r;if(!(o&&!s||n===t.length&&r!==a)){r.setLayout({isInView:!0,invisible:!s&&!e.intersect(i),isAboveViewRoot:s},!0);var l=new gt(e.x-i.x,e.y-i.y,e.width,e.height);Cy(r.viewChildren||[],function(u){dM(u,l,t,a,n+1)})}}function pM(r){return r.get(n3)?r.get(i3):0}function d3(r){r.registerSeriesModel(EG),r.registerChartView(UG),r.registerVisual(QG),r.registerLayout(o3),RG(r)}function p3(r){var e=r.findComponents({mainType:"legend"});!e||!e.length||r.eachSeriesByType("graph",function(t){var a=t.getCategoriesData(),n=t.getGraph(),i=n.data,o=a.mapArray(a.getName);i.filterSelf(function(s){var l=i.getItemModel(s),u=l.getShallow("category");if(u!=null){Dt(u)&&(u=o[u]);for(var f=0;f<e.length;f++)if(!e[f].isSelected(u))return!1}return!0})})}function g3(r){var e={};r.eachSeriesByType("graph",function(t){var a=t.getCategoriesData(),n=t.getData(),i={};a.each(function(o){var s=a.getName(o);i["ec-"+s]=o;var l=a.getItemModel(o),u=l.getModel("itemStyle").getItemStyle();u.fill||(u.fill=t.getColorFromPalette(s,e)),a.setItemVisual(o,"style",u);for(var f=["symbol","symbolSize","symbolKeepAspect"],h=0;h<f.length;h++){var v=l.getShallow(f[h],!0);v!=null&&a.setItemVisual(o,f[h],v)}}),a.count()&&n.each(function(o){var s=n.getItemModel(o),l=s.getShallow("category");if(l!=null){K(l)&&(l=i["ec-"+l]);var u=a.getItemVisual(l,"style"),f=n.ensureUniqueItemVisual(o,"style");V(f,u);for(var h=["symbol","symbolSize","symbolKeepAspect"],v=0;v<h.length;v++)n.setItemVisual(o,h[v],a.getItemVisual(l,h[v]))}})})}function Mu(r){return r instanceof Array||(r=[r,r]),r}function y3(r){r.eachSeriesByType("graph",function(e){var t=e.getGraph(),a=e.getEdgeData(),n=Mu(e.get("edgeSymbol")),i=Mu(e.get("edgeSymbolSize"));a.setVisual("fromSymbol",n&&n[0]),a.setVisual("toSymbol",n&&n[1]),a.setVisual("fromSymbolSize",i&&i[0]),a.setVisual("toSymbolSize",i&&i[1]),a.setVisual("style",e.getModel("lineStyle").getLineStyle()),a.each(function(o){var s=a.getItemModel(o),l=t.getEdgeByIndex(o),u=Mu(s.getShallow("symbol",!0)),f=Mu(s.getShallow("symbolSize",!0)),h=s.getModel("lineStyle").getLineStyle(),v=a.ensureUniqueItemVisual(o,"style");switch(V(v,h),v.stroke){case"source":{var c=l.node1.getVisual("style");v.stroke=c&&c.fill;break}case"target":{var c=l.node2.getVisual("style");v.stroke=c&&c.fill;break}}u[0]&&l.setVisual("fromSymbol",u[0]),u[1]&&l.setVisual("toSymbol",u[1]),f[0]&&l.setVisual("fromSymbolSize",f[0]),f[1]&&l.setVisual("toSymbolSize",f[1])})})}var Rp="-->",Gh=function(r){return r.get("autoCurveness")||null},gM=function(r,e){var t=Gh(r),a=20,n=[];if(Dt(t))a=t;else if(z(t)){r.__curvenessList=t;return}e>a&&(a=e);var i=a%2?a+2:a+3;n=[];for(var o=0;o<i;o++)n.push((o%2?o+1:o)/10*(o%2?-1:1));r.__curvenessList=n},hl=function(r,e,t){var a=[r.id,r.dataIndex].join("."),n=[e.id,e.dataIndex].join(".");return[t.uid,a,n].join(Rp)},yM=function(r){var e=r.split(Rp);return[e[0],e[2],e[1]].join(Rp)},m3=function(r,e){var t=hl(r.node1,r.node2,e);return e.__edgeMap[t]},_3=function(r,e){var t=Ep(hl(r.node1,r.node2,e),e),a=Ep(hl(r.node2,r.node1,e),e);return t+a},Ep=function(r,e){var t=e.__edgeMap;return t[r]?t[r].length:0};function S3(r){Gh(r)&&(r.__curvenessList=[],r.__edgeMap={},gM(r))}function x3(r,e,t,a){if(Gh(t)){var n=hl(r,e,t),i=t.__edgeMap,o=i[yM(n)];i[n]&&!o?i[n].isForward=!0:o&&i[n]&&(o.isForward=!0,i[n].isForward=!1),i[n]=i[n]||[],i[n].push(a)}}function Dy(r,e,t,a){var n=Gh(e),i=z(n);if(!n)return null;var o=m3(r,e);if(!o)return null;for(var s=-1,l=0;l<o.length;l++)if(o[l]===t){s=l;break}var u=_3(r,e);gM(e,u),r.lineStyle=r.lineStyle||{};var f=hl(r.node1,r.node2,e),h=e.__curvenessList,v=i||u%2?0:1;if(o.isForward)return h[v+s];var c=yM(f),d=Ep(c,e),p=h[s+d+v];return a?i?n&&n[0]===0?(d+v)%2?p:-p:((d%2?0:1)+v)%2?p:-p:(d+v)%2?p:-p:h[s+d+v]}function mM(r){var e=r.coordinateSystem;if(!(e&&e.type!=="view")){var t=r.getGraph();t.eachNode(function(a){var n=a.getModel();a.setLayout([+n.get("x"),+n.get("y")])}),My(t,r)}}function My(r,e){r.eachEdge(function(t,a){var n=Zr(t.getModel().get(["lineStyle","curveness"]),-Dy(t,e,a,!0),0),i=fa(t.node1.getLayout()),o=fa(t.node2.getLayout()),s=[i,o];+n&&s.push([(i[0]+o[0])/2-(i[1]-o[1])*n,(i[1]+o[1])/2-(o[0]-i[0])*n]),t.setLayout(s)})}function b3(r,e){r.eachSeriesByType("graph",function(t){var a=t.get("layout"),n=t.coordinateSystem;if(n&&n.type!=="view"){var i=t.getData(),o=[];D(n.dimensions,function(v){o=o.concat(i.mapDimensionsAll(v))});for(var s=0;s<i.count();s++){for(var l=[],u=!1,f=0;f<o.length;f++){var h=i.get(o[f],s);isNaN(h)||(u=!0),l.push(h)}u?i.setItemLayout(s,n.dataToPoint(l)):i.setItemLayout(s,[NaN,NaN])}My(i.graph,t)}else(!a||a==="none")&&mM(t)})}function ws(r){var e=r.coordinateSystem;if(e.type!=="view")return 1;var t=r.option.nodeScaleRatio,a=e.scaleX,n=e.getZoom(),i=(n-1)*t+1;return i/a}function Ts(r){var e=r.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),+e}var VS=Math.PI,Cc=[];function Ly(r,e,t,a){var n=r.coordinateSystem;if(!(n&&n.type!=="view")){var i=n.getBoundingRect(),o=r.getData(),s=o.graph,l=i.width/2+i.x,u=i.height/2+i.y,f=Math.min(i.width,i.height)/2,h=o.count();if(o.setLayout({cx:l,cy:u}),!!h){if(t){var v=n.pointToData(a),c=v[0],d=v[1],p=[c-l,d-u];wo(p,p),Hu(p,p,f),t.setLayout([l+p[0],u+p[1]],!0);var g=r.get(["circular","rotateLabel"]);_M(t,g,l,u)}w3[e](r,s,o,f,l,u,h),s.eachEdge(function(y,m){var _=Zr(y.getModel().get(["lineStyle","curveness"]),Dy(y,r,m),0),S=fa(y.node1.getLayout()),b=fa(y.node2.getLayout()),x,w=(S[0]+b[0])/2,T=(S[1]+b[1])/2;+_&&(_*=3,x=[l*_+w*(1-_),u*_+T*(1-_)]),y.setLayout([S,b,x])})}}}var w3={value:function(r,e,t,a,n,i,o){var s=0,l=t.getSum("value"),u=Math.PI*2/(l||o);e.eachNode(function(f){var h=f.getValue("value"),v=u*(l?h:1)/2;s+=v,f.setLayout([a*Math.cos(s)+n,a*Math.sin(s)+i]),s+=v})},symbolSize:function(r,e,t,a,n,i,o){var s=0;Cc.length=o;var l=ws(r);e.eachNode(function(h){var v=Ts(h);isNaN(v)&&(v=2),v<0&&(v=0),v*=l;var c=Math.asin(v/2/a);isNaN(c)&&(c=VS/2),Cc[h.dataIndex]=c,s+=c*2});var u=(2*VS-s)/o/2,f=0;e.eachNode(function(h){var v=u+Cc[h.dataIndex];f+=v,(!h.getLayout()||!h.getLayout().fixed)&&h.setLayout([a*Math.cos(f)+n,a*Math.sin(f)+i]),f+=v})}};function _M(r,e,t,a){var n=r.getGraphicEl();if(n){var i=r.getModel(),o=i.get(["label","rotate"])||0,s=n.getSymbolPath();if(e){var l=r.getLayout(),u=Math.atan2(l[1]-a,l[0]-t);u<0&&(u=Math.PI*2+u);var f=l[0]<t;f&&(u=u-Math.PI);var h=f?"left":"right";s.setTextConfig({rotation:-u,position:h,origin:"center"});var v=s.ensureState("emphasis");V(v.textConfig||(v.textConfig={}),{position:h})}else s.setTextConfig({rotation:o*=Math.PI/180})}}function T3(r){r.eachSeriesByType("graph",function(e){e.get("layout")==="circular"&&Ly(e,"symbolSize")})}var Fi=_d;function A3(r,e,t){for(var a=r,n=e,i=t.rect,o=i.width,s=i.height,l=[i.x+o/2,i.y+s/2],u=t.gravity==null?.1:t.gravity,f=0;f<a.length;f++){var h=a[f];h.p||(h.p=mi(o*(Math.random()-.5)+l[0],s*(Math.random()-.5)+l[1])),h.pp=fa(h.p),h.edges=null}var v=t.friction==null?.6:t.friction,c=v,d,p;return{warmUp:function(){c=v*.8},setFixed:function(g){a[g].fixed=!0},setUnfixed:function(g){a[g].fixed=!1},beforeStep:function(g){d=g},afterStep:function(g){p=g},step:function(g){d&&d(a,n);for(var y=[],m=a.length,_=0;_<n.length;_++){var S=n[_];if(!S.ignoreForceLayout){var b=S.n1,x=S.n2;Xn(y,x.p,b.p);var w=Sd(y)-S.d,T=x.w/(b.w+x.w);isNaN(T)&&(T=0),wo(y,y),!b.fixed&&Fi(b.p,b.p,y,T*w*c),!x.fixed&&Fi(x.p,x.p,y,-(1-T)*w*c)}}for(var _=0;_<m;_++){var A=a[_];A.fixed||(Xn(y,l,A.p),Fi(A.p,A.p,y,u*c))}for(var _=0;_<m;_++)for(var b=a[_],C=_+1;C<m;C++){var x=a[C];Xn(y,x.p,b.p);var w=Sd(y);w===0&&(tI(y,Math.random()-.5,Math.random()-.5),w=1);var M=(b.rep+x.rep)/w/w;!b.fixed&&Fi(b.pp,b.pp,y,M),!x.fixed&&Fi(x.pp,x.pp,y,-M)}for(var L=[],_=0;_<m;_++){var A=a[_];A.fixed||(Xn(L,A.p,A.pp),Fi(A.p,A.p,L,c),De(A.pp,A.p))}c=c*.992;var I=c<.01;p&&p(a,n,I),g&&g(I)}}}function C3(r){r.eachSeriesByType("graph",function(e){var t=e.coordinateSystem;if(!(t&&t.type!=="view"))if(e.get("layout")==="force"){var a=e.preservedPoints||{},n=e.getGraph(),i=n.data,o=n.edgeData,s=e.getModel("force"),l=s.get("initLayout");e.preservedPoints?i.each(function(_){var S=i.getId(_);i.setItemLayout(_,a[S]||[NaN,NaN])}):!l||l==="none"?mM(e):l==="circular"&&Ly(e,"value");var u=i.getDataExtent("value"),f=o.getDataExtent("value"),h=s.get("repulsion"),v=s.get("edgeLength"),c=z(h)?h:[h,h],d=z(v)?v:[v,v];d=[d[1],d[0]];var p=i.mapArray("value",function(_,S){var b=i.getItemLayout(S),x=Rt(_,u,c);return isNaN(x)&&(x=(c[0]+c[1])/2),{w:x,rep:x,fixed:i.getItemModel(S).get("fixed"),p:!b||isNaN(b[0])||isNaN(b[1])?null:b}}),g=o.mapArray("value",function(_,S){var b=n.getEdgeByIndex(S),x=Rt(_,f,d);isNaN(x)&&(x=(d[0]+d[1])/2);var w=b.getModel(),T=Zr(b.getModel().get(["lineStyle","curveness"]),-Dy(b,e,S,!0),0);return{n1:p[b.node1.dataIndex],n2:p[b.node2.dataIndex],d:x,curveness:T,ignoreForceLayout:w.get("ignoreForceLayout")}}),y=t.getBoundingRect(),m=A3(p,g,{rect:y,gravity:s.get("gravity"),friction:s.get("friction")});m.beforeStep(function(_,S){for(var b=0,x=_.length;b<x;b++)_[b].fixed&&De(_[b].p,n.getNodeByIndex(b).getLayout())}),m.afterStep(function(_,S,b){for(var x=0,w=_.length;x<w;x++)_[x].fixed||n.getNodeByIndex(x).setLayout(_[x].p),a[i.getId(x)]=_[x].p;for(var x=0,w=S.length;x<w;x++){var T=S[x],A=n.getEdgeByIndex(x),C=T.n1.p,M=T.n2.p,L=A.getLayout();L=L?L.slice():[],L[0]=L[0]||[],L[1]=L[1]||[],De(L[0],C),De(L[1],M),+T.curveness&&(L[2]=[(C[0]+M[0])/2-(C[1]-M[1])*T.curveness,(C[1]+M[1])/2-(M[0]-C[0])*T.curveness]),A.setLayout(L)}}),e.forceLayout=m,e.preservedPoints=a,m.step()}else e.forceLayout=null})}function D3(r,e,t){var a=V(r.getBoxLayoutParams(),{aspect:t});return re(a,{width:e.getWidth(),height:e.getHeight()})}function M3(r,e){var t=[];return r.eachSeriesByType("graph",function(a){var n=a.get("coordinateSystem");if(!n||n==="view"){var i=a.getData(),o=i.mapArray(function(g){var y=i.getItemModel(g);return[+y.get("x"),+y.get("y")]}),s=[],l=[];ch(o,s,l),l[0]-s[0]===0&&(l[0]+=1,s[0]-=1),l[1]-s[1]===0&&(l[1]+=1,s[1]-=1);var u=(l[0]-s[0])/(l[1]-s[1]),f=D3(a,e,u);isNaN(u)&&(s=[f.x,f.y],l=[f.x+f.width,f.y+f.height]);var h=l[0]-s[0],v=l[1]-s[1],c=f.width,d=f.height,p=a.coordinateSystem=new Nl;p.zoomLimit=a.get("scaleLimit"),p.setBoundingRect(s[0],s[1],h,v),p.setViewRect(f.x,f.y,c,d),p.setCenter(a.get("center"),e),p.setZoom(a.get("zoom")),t.push(p)}}),t}var zS=ie.prototype,Dc=xl.prototype,SM=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return r}();(function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e})(SM);function Mc(r){return isNaN(+r.cpx1)||isNaN(+r.cpy1)}var L3=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="ec-line",a}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new SM},e.prototype.buildPath=function(t,a){Mc(a)?zS.buildPath.call(this,t,a):Dc.buildPath.call(this,t,a)},e.prototype.pointAt=function(t){return Mc(this.shape)?zS.pointAt.call(this,t):Dc.pointAt.call(this,t)},e.prototype.tangentAt=function(t){var a=this.shape,n=Mc(a)?[a.x2-a.x1,a.y2-a.y1]:Dc.tangentAt.call(this,t);return wo(n,n)},e}(St),Lc=["fromSymbol","toSymbol"];function GS(r){return"_"+r+"Type"}function FS(r,e,t){var a=e.getItemVisual(t,r);if(!a||a==="none")return a;var n=e.getItemVisual(t,r+"Size"),i=e.getItemVisual(t,r+"Rotate"),o=e.getItemVisual(t,r+"Offset"),s=e.getItemVisual(t,r+"KeepAspect"),l=Oo(n),u=bi(o||0,l);return a+l+u+(i||"")+(s||"")}function HS(r,e,t){var a=e.getItemVisual(t,r);if(!(!a||a==="none")){var n=e.getItemVisual(t,r+"Size"),i=e.getItemVisual(t,r+"Rotate"),o=e.getItemVisual(t,r+"Offset"),s=e.getItemVisual(t,r+"KeepAspect"),l=Oo(n),u=bi(o||0,l),f=jt(a,-l[0]/2+u[0],-l[1]/2+u[1],l[0],l[1],null,s);return f.__specifiedRotation=i==null||isNaN(i)?void 0:+i*Math.PI/180||0,f.name=r,f}}function I3(r){var e=new L3({name:"line",subPixelOptimize:!0});return kp(e.shape,r),e}function kp(r,e){r.x1=e[0][0],r.y1=e[0][1],r.x2=e[1][0],r.y2=e[1][1],r.percent=1;var t=e[2];t?(r.cpx1=t[0],r.cpy1=t[1]):(r.cpx1=NaN,r.cpy1=NaN)}var Iy=function(r){k(e,r);function e(t,a,n){var i=r.call(this)||this;return i._createLine(t,a,n),i}return e.prototype._createLine=function(t,a,n){var i=t.hostModel,o=t.getItemLayout(a),s=I3(o);s.shape.percent=0,Ft(s,{shape:{percent:1}},i,a),this.add(s),D(Lc,function(l){var u=HS(l,t,a);this.add(u),this[GS(l)]=FS(l,t,a)},this),this._updateCommonStl(t,a,n)},e.prototype.updateData=function(t,a,n){var i=t.hostModel,o=this.childOfName("line"),s=t.getItemLayout(a),l={shape:{}};kp(l.shape,s),Mt(o,l,i,a),D(Lc,function(u){var f=FS(u,t,a),h=GS(u);if(this[h]!==f){this.remove(this.childOfName(u));var v=HS(u,t,a);this.add(v)}this[h]=f},this),this._updateCommonStl(t,a,n)},e.prototype.getLinePath=function(){return this.childAt(0)},e.prototype._updateCommonStl=function(t,a,n){var i=t.hostModel,o=this.childOfName("line"),s=n&&n.emphasisLineStyle,l=n&&n.blurLineStyle,u=n&&n.selectLineStyle,f=n&&n.labelStatesModels,h=n&&n.emphasisDisabled,v=n&&n.focus,c=n&&n.blurScope;if(!n||t.hasItemOption){var d=t.getItemModel(a),p=d.getModel("emphasis");s=p.getModel("lineStyle").getLineStyle(),l=d.getModel(["blur","lineStyle"]).getLineStyle(),u=d.getModel(["select","lineStyle"]).getLineStyle(),h=p.get("disabled"),v=p.get("focus"),c=p.get("blurScope"),f=le(d)}var g=t.getItemVisual(a,"style"),y=g.stroke;o.useStyle(g),o.style.fill=null,o.style.strokeNoScale=!0,o.ensureState("emphasis").style=s,o.ensureState("blur").style=l,o.ensureState("select").style=u,D(Lc,function(x){var w=this.childOfName(x);if(w){w.setColor(y),w.style.opacity=g.opacity;for(var T=0;T<ke.length;T++){var A=ke[T],C=o.getState(A);if(C){var M=C.style||{},L=w.ensureState(A),I=L.style||(L.style={});M.stroke!=null&&(I[w.__isEmptyBrush?"stroke":"fill"]=M.stroke),M.opacity!=null&&(I.opacity=M.opacity)}}w.markRedraw()}},this);var m=i.getRawValue(a);ye(this,f,{labelDataIndex:a,labelFetcher:{getFormattedLabel:function(x,w){return i.getFormattedLabel(x,w,t.dataType)}},inheritColor:y||"#000",defaultOpacity:g.opacity,defaultText:(m==null?t.getName(a):isFinite(m)?Zt(m):m)+""});var _=this.getTextContent();if(_){var S=f.normal;_.__align=_.style.align,_.__verticalAlign=_.style.verticalAlign,_.__position=S.get("position")||"middle";var b=S.get("distance");z(b)||(b=[b,b]),_.__labelDistance=b}this.setTextConfig({position:null,local:!0,inside:!1}),Yt(this,v,c,h)},e.prototype.highlight=function(){ya(this)},e.prototype.downplay=function(){ma(this)},e.prototype.updateLayout=function(t,a){this.setLinePoints(t.getItemLayout(a))},e.prototype.setLinePoints=function(t){var a=this.childOfName("line");kp(a.shape,t),a.dirty()},e.prototype.beforeUpdate=function(){var t=this,a=t.childOfName("fromSymbol"),n=t.childOfName("toSymbol"),i=t.getTextContent();if(!a&&!n&&(!i||i.ignore))return;for(var o=1,s=this.parent;s;)s.scaleX&&(o/=s.scaleX),s=s.parent;var l=t.childOfName("line");if(!this.__dirty&&!l.__dirty)return;var u=l.shape.percent,f=l.pointAt(0),h=l.pointAt(u),v=Xn([],h,f);wo(v,v);function c(C,M){var L=C.__specifiedRotation;if(L==null){var I=l.tangentAt(M);C.attr("rotation",(M===1?-1:1)*Math.PI/2-Math.atan2(I[1],I[0]))}else C.attr("rotation",L)}if(a&&(a.setPosition(f),c(a,0),a.scaleX=a.scaleY=o*u,a.markRedraw()),n&&(n.setPosition(h),c(n,1),n.scaleX=n.scaleY=o*u,n.markRedraw()),i&&!i.ignore){i.x=i.y=0,i.originX=i.originY=0;var d=void 0,p=void 0,g=i.__labelDistance,y=g[0]*o,m=g[1]*o,_=u/2,S=l.tangentAt(_),b=[S[1],-S[0]],x=l.pointAt(_);b[1]>0&&(b[0]=-b[0],b[1]=-b[1]);var w=S[0]<0?-1:1;if(i.__position!=="start"&&i.__position!=="end"){var T=-Math.atan2(S[1],S[0]);h[0]<f[0]&&(T=Math.PI+T),i.rotation=T}var A=void 0;switch(i.__position){case"insideStartTop":case"insideMiddleTop":case"insideEndTop":case"middle":A=-m,p="bottom";break;case"insideStartBottom":case"insideMiddleBottom":case"insideEndBottom":A=m,p="top";break;default:A=0,p="middle"}switch(i.__position){case"end":i.x=v[0]*y+h[0],i.y=v[1]*m+h[1],d=v[0]>.8?"left":v[0]<-.8?"right":"center",p=v[1]>.8?"top":v[1]<-.8?"bottom":"middle";break;case"start":i.x=-v[0]*y+f[0],i.y=-v[1]*m+f[1],d=v[0]>.8?"right":v[0]<-.8?"left":"center",p=v[1]>.8?"bottom":v[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=y*w+f[0],i.y=f[1]+A,d=S[0]<0?"right":"left",i.originX=-y*w,i.originY=-A;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=x[0],i.y=x[1]+A,d="center",i.originY=-A;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-y*w+h[0],i.y=h[1]+A,d=S[0]>=0?"right":"left",i.originX=y*w,i.originY=-A;break}i.scaleX=i.scaleY=o,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||d})}},e}(ut),Py=function(){function r(e){this.group=new ut,this._LineCtor=e||Iy}return r.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var a=this,n=a.group,i=a._lineData;a._lineData=e,i||n.removeAll();var o=WS(e);e.diff(i).add(function(s){t._doAdd(e,s,o)}).update(function(s,l){t._doUpdate(i,e,l,s,o)}).remove(function(s){n.remove(i.getItemGraphicEl(s))}).execute()},r.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,a){t.updateLayout(e,a)},this)},r.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=WS(e),this._lineData=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(e,t){this._progressiveEls=[];function a(s){!s.isGroup&&!P3(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var n=e.start;n<e.end;n++){var i=t.getItemLayout(n);if(Ic(i)){var o=new this._LineCtor(t,n,this._seriesScope);o.traverse(a),this.group.add(o),t.setItemGraphicEl(n,o),this._progressiveEls.push(o)}}},r.prototype.remove=function(){this.group.removeAll()},r.prototype.eachRendered=function(e){hn(this._progressiveEls||this.group,e)},r.prototype._doAdd=function(e,t,a){var n=e.getItemLayout(t);if(Ic(n)){var i=new this._LineCtor(e,t,a);e.setItemGraphicEl(t,i),this.group.add(i)}},r.prototype._doUpdate=function(e,t,a,n,i){var o=e.getItemGraphicEl(a);if(!Ic(t.getItemLayout(n))){this.group.remove(o);return}o?o.updateData(t,n,i):o=new this._LineCtor(t,n,i),t.setItemGraphicEl(n,o),this.group.add(o)},r}();function P3(r){return r.animators&&r.animators.length>0}function WS(r){var e=r.hostModel,t=e.getModel("emphasis");return{lineStyle:e.getModel("lineStyle").getLineStyle(),emphasisLineStyle:t.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:e.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:e.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:t.get("disabled"),blurScope:t.get("blurScope"),focus:t.get("focus"),labelStatesModels:le(e)}}function US(r){return isNaN(r[0])||isNaN(r[1])}function Ic(r){return r&&!US(r[0])&&!US(r[1])}var Pc=[],Rc=[],Ec=[],Hi=he,kc=ri,YS=Math.abs;function $S(r,e,t){for(var a=r[0],n=r[1],i=r[2],o=1/0,s,l=t*t,u=.1,f=.1;f<=.9;f+=.1){Pc[0]=Hi(a[0],n[0],i[0],f),Pc[1]=Hi(a[1],n[1],i[1],f);var h=YS(kc(Pc,e)-l);h<o&&(o=h,s=f)}for(var v=0;v<32;v++){var c=s+u;Rc[0]=Hi(a[0],n[0],i[0],s),Rc[1]=Hi(a[1],n[1],i[1],s),Ec[0]=Hi(a[0],n[0],i[0],c),Ec[1]=Hi(a[1],n[1],i[1],c);var h=kc(Rc,e)-l;if(YS(h)<.01)break;var d=kc(Ec,e)-l;u/=2,h<0?d>=0?s=s+u:s=s-u:d>=0?s=s-u:s=s+u}return s}function Oc(r,e){var t=[],a=Ws,n=[[],[],[]],i=[[],[]],o=[];e/=2,r.eachEdge(function(s,l){var u=s.getLayout(),f=s.getVisual("fromSymbol"),h=s.getVisual("toSymbol");u.__original||(u.__original=[fa(u[0]),fa(u[1])],u[2]&&u.__original.push(fa(u[2])));var v=u.__original;if(u[2]!=null){if(De(n[0],v[0]),De(n[1],v[2]),De(n[2],v[1]),f&&f!=="none"){var c=Ts(s.node1),d=$S(n,v[0],c*e);a(n[0][0],n[1][0],n[2][0],d,t),n[0][0]=t[3],n[1][0]=t[4],a(n[0][1],n[1][1],n[2][1],d,t),n[0][1]=t[3],n[1][1]=t[4]}if(h&&h!=="none"){var c=Ts(s.node2),d=$S(n,v[1],c*e);a(n[0][0],n[1][0],n[2][0],d,t),n[1][0]=t[1],n[2][0]=t[2],a(n[0][1],n[1][1],n[2][1],d,t),n[1][1]=t[1],n[2][1]=t[2]}De(u[0],n[0]),De(u[1],n[2]),De(u[2],n[1])}else{if(De(i[0],v[0]),De(i[1],v[1]),Xn(o,i[1],i[0]),wo(o,o),f&&f!=="none"){var c=Ts(s.node1);_d(i[0],i[0],o,c*e)}if(h&&h!=="none"){var c=Ts(s.node2);_d(i[1],i[1],o,-c*e)}De(u[0],i[0]),De(u[1],i[1])}})}function ZS(r){return r.type==="view"}var R3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a){var n=new Il,i=new Py,o=this.group;this._controller=new Ol(a.getZr()),this._controllerHost={target:o},o.add(n.group),o.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,a,n){var i=this,o=t.coordinateSystem;this._model=t;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if(ZS(o)){var f={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(f):Mt(u,f,t)}Oc(t.getGraph(),ws(t));var h=t.getData();s.updateData(h);var v=t.getEdgeData();l.updateData(v),this._updateNodeAndLinkScale(),this._updateController(t,a,n),clearTimeout(this._layoutTimeout);var c=t.forceLayout,d=t.get(["force","layoutAnimation"]);c&&this._startForceLayoutIteration(c,d);var p=t.get("layout");h.graph.eachNode(function(_){var S=_.dataIndex,b=_.getGraphicEl(),x=_.getModel();if(b){b.off("drag").off("dragend");var w=x.get("draggable");w&&b.on("drag",function(A){switch(p){case"force":c.warmUp(),!i._layouting&&i._startForceLayoutIteration(c,d),c.setFixed(S),h.setItemLayout(S,[b.x,b.y]);break;case"circular":h.setItemLayout(S,[b.x,b.y]),_.setLayout({fixed:!0},!0),Ly(t,"symbolSize",_,[A.offsetX,A.offsetY]),i.updateLayout(t);break;case"none":default:h.setItemLayout(S,[b.x,b.y]),My(t.getGraph(),t),i.updateLayout(t);break}}).on("dragend",function(){c&&c.setUnfixed(S)}),b.setDraggable(w,!!x.get("cursor"));var T=x.get(["emphasis","focus"]);T==="adjacency"&&(ht(b).focus=_.getAdjacentDataIndices())}}),h.graph.eachEdge(function(_){var S=_.getGraphicEl(),b=_.getModel().get(["emphasis","focus"]);S&&b==="adjacency"&&(ht(S).focus={edge:[_.dataIndex],node:[_.node1.dataIndex,_.node2.dataIndex]})});var g=t.get("layout")==="circular"&&t.get(["circular","rotateLabel"]),y=h.getLayout("cx"),m=h.getLayout("cy");h.graph.eachNode(function(_){_M(_,g,y,m)}),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,a){var n=this;(function i(){t.step(function(o){n.updateLayout(n._model),(n._layouting=!o)&&(a?n._layoutTimeout=setTimeout(i,16):i())})})()},e.prototype._updateController=function(t,a,n){var i=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,f,h){var v=l.getBoundingRect();return v.applyTransform(l.transform),v.contain(f,h)&&!Bh(u,n,t)}),!ZS(t.coordinateSystem)){o.disable();return}o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){_y(s,u.dx,u.dy),n.dispatchAction({seriesId:t.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){Sy(s,u.scale,u.originX,u.originY),n.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),i._updateNodeAndLinkScale(),Oc(t.getGraph(),ws(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,a=t.getData(),n=ws(t);a.eachItemGraphicEl(function(i,o){i&&i.setSymbolScale(n)})},e.prototype.updateLayout=function(t){Oc(t.getGraph(),ws(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(Nt);function Wi(r){return"_EC_"+r}var E3=function(){function r(e){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return r.prototype.isDirected=function(){return this._directed},r.prototype.addNode=function(e,t){e=e==null?""+t:""+e;var a=this._nodesMap;if(!a[Wi(e)]){var n=new Hn(e,t);return n.hostGraph=this,this.nodes.push(n),a[Wi(e)]=n,n}},r.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},r.prototype.getNodeById=function(e){return this._nodesMap[Wi(e)]},r.prototype.addEdge=function(e,t,a){var n=this._nodesMap,i=this._edgesMap;if(Dt(e)&&(e=this.nodes[e]),Dt(t)&&(t=this.nodes[t]),e instanceof Hn||(e=n[Wi(e)]),t instanceof Hn||(t=n[Wi(t)]),!(!e||!t)){var o=e.id+"-"+t.id,s=new xM(e,t,a);return s.hostGraph=this,this._directed&&(e.outEdges.push(s),t.inEdges.push(s)),e.edges.push(s),e!==t&&t.edges.push(s),this.edges.push(s),i[o]=s,s}},r.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},r.prototype.getEdge=function(e,t){e instanceof Hn&&(e=e.id),t instanceof Hn&&(t=t.id);var a=this._edgesMap;return this._directed?a[e+"-"+t]:a[e+"-"+t]||a[t+"-"+e]},r.prototype.eachNode=function(e,t){for(var a=this.nodes,n=a.length,i=0;i<n;i++)a[i].dataIndex>=0&&e.call(t,a[i],i)},r.prototype.eachEdge=function(e,t){for(var a=this.edges,n=a.length,i=0;i<n;i++)a[i].dataIndex>=0&&a[i].node1.dataIndex>=0&&a[i].node2.dataIndex>=0&&e.call(t,a[i],i)},r.prototype.breadthFirstTraverse=function(e,t,a,n){if(t instanceof Hn||(t=this._nodesMap[Wi(t)]),!!t){for(var i=a==="out"?"outEdges":a==="in"?"inEdges":"edges",o=0;o<this.nodes.length;o++)this.nodes[o].__visited=!1;if(!e.call(n,t,null))for(var s=[t];s.length;)for(var l=s.shift(),u=l[i],o=0;o<u.length;o++){var f=u[o],h=f.node1===l?f.node2:f.node1;if(!h.__visited){if(e.call(n,h,l))return;s.push(h),h.__visited=!0}}}},r.prototype.update=function(){for(var e=this.data,t=this.edgeData,a=this.nodes,n=this.edges,i=0,o=a.length;i<o;i++)a[i].dataIndex=-1;for(var i=0,o=e.count();i<o;i++)a[e.getRawIndex(i)].dataIndex=i;t.filterSelf(function(s){var l=n[t.getRawIndex(s)];return l.node1.dataIndex>=0&&l.node2.dataIndex>=0});for(var i=0,o=n.length;i<o;i++)n[i].dataIndex=-1;for(var i=0,o=t.count();i<o;i++)n[t.getRawIndex(i)].dataIndex=i},r.prototype.clone=function(){for(var e=new r(this._directed),t=this.nodes,a=this.edges,n=0;n<t.length;n++)e.addNode(t[n].id,t[n].dataIndex);for(var n=0;n<a.length;n++){var i=a[n];e.addEdge(i.node1.id,i.node2.id,i.dataIndex)}return e},r}(),Hn=function(){function r(e,t){this.inEdges=[],this.outEdges=[],this.edges=[],this.dataIndex=-1,this.id=e??"",this.dataIndex=t??-1}return r.prototype.degree=function(){return this.edges.length},r.prototype.inDegree=function(){return this.inEdges.length},r.prototype.outDegree=function(){return this.outEdges.length},r.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,a=t.data.getItemModel(this.dataIndex);return a.getModel(e)}},r.prototype.getAdjacentDataIndices=function(){for(var e={edge:[],node:[]},t=0;t<this.edges.length;t++){var a=this.edges[t];a.dataIndex<0||(e.edge.push(a.dataIndex),e.node.push(a.node1.dataIndex,a.node2.dataIndex))}return e},r.prototype.getTrajectoryDataIndices=function(){for(var e=et(),t=et(),a=0;a<this.edges.length;a++){var n=this.edges[a];if(!(n.dataIndex<0)){e.set(n.dataIndex,!0);for(var i=[n.node1],o=[n.node2],s=0;s<i.length;){var l=i[s];s++,t.set(l.dataIndex,!0);for(var u=0;u<l.inEdges.length;u++)e.set(l.inEdges[u].dataIndex,!0),i.push(l.inEdges[u].node1)}for(s=0;s<o.length;){var f=o[s];s++,t.set(f.dataIndex,!0);for(var u=0;u<f.outEdges.length;u++)e.set(f.outEdges[u].dataIndex,!0),o.push(f.outEdges[u].node2)}}}return{edge:e.keys(),node:t.keys()}},r}(),xM=function(){function r(e,t,a){this.dataIndex=-1,this.node1=e,this.node2=t,this.dataIndex=a??-1}return r.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,a=t.edgeData.getItemModel(this.dataIndex);return a.getModel(e)}},r.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},r.prototype.getTrajectoryDataIndices=function(){var e=et(),t=et();e.set(this.dataIndex,!0);for(var a=[this.node1],n=[this.node2],i=0;i<a.length;){var o=a[i];i++,t.set(o.dataIndex,!0);for(var s=0;s<o.inEdges.length;s++)e.set(o.inEdges[s].dataIndex,!0),a.push(o.inEdges[s].node1)}for(i=0;i<n.length;){var l=n[i];i++,t.set(l.dataIndex,!0);for(var s=0;s<l.outEdges.length;s++)e.set(l.outEdges[s].dataIndex,!0),n.push(l.outEdges[s].node2)}return{edge:e.keys(),node:t.keys()}},r}();function bM(r,e){return{getValue:function(t){var a=this[r][e];return a.getStore().get(a.getDimensionIndex(t||"value"),this.dataIndex)},setVisual:function(t,a){this.dataIndex>=0&&this[r][e].setItemVisual(this.dataIndex,t,a)},getVisual:function(t){return this[r][e].getItemVisual(this.dataIndex,t)},setLayout:function(t,a){this.dataIndex>=0&&this[r][e].setItemLayout(this.dataIndex,t,a)},getLayout:function(){return this[r][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[r][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[r][e].getRawIndex(this.dataIndex)}}}te(Hn,bM("hostGraph","data"));te(xM,bM("hostGraph","edgeData"));function wM(r,e,t,a,n){for(var i=new E3(a),o=0;o<r.length;o++)i.addNode(ve(r[o].id,r[o].name,o),o);for(var s=[],l=[],u=0,o=0;o<e.length;o++){var f=e[o],h=f.source,v=f.target;i.addEdge(h,v,u)&&(l.push(f),s.push(ve(ee(f.id,null),h+" > "+v)),u++)}var c=t.get("coordinateSystem"),d;if(c==="cartesian2d"||c==="polar")d=Aa(r,t);else{var p=Al.get(c),g=p?p.dimensions||[]:[];yt(g,"value")<0&&g.concat(["value"]);var y=Dl(r,{coordDimensions:g,encodeDefine:t.getEncode()}).dimensions;d=new Pe(y,t),d.initData(r)}var m=new Pe(["value"],t);return m.initData(l,s),n&&n(d,m),nM({mainData:d,struct:i,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),i.update(),i}var k3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments);var a=this;function n(){return a._categoriesData}this.legendVisualProvider=new kl(n,n),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(t){r.prototype.mergeDefaultAndTheme.apply(this,arguments),hi(t,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,a){var n=t.edges||t.links||[],i=t.data||t.nodes||[],o=this;if(i&&n){S3(this);var s=wM(i,n,this,!0,l);return D(s.edges,function(u){x3(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,f){u.wrapMethod("getItemModel",function(d){var p=o._categoriesModels,g=d.getShallow("category"),y=p[g];return y&&(y.parentModel=d.parentModel,d.parentModel=y),d});var h=Et.prototype.getModel;function v(d,p){var g=h.call(this,d,p);return g.resolveParentPath=c,g}f.wrapMethod("getItemModel",function(d){return d.resolveParentPath=c,d.getModel=v,d});function c(d){if(d&&(d[0]==="label"||d[1]==="label")){var p=d.slice();return d[0]==="label"?p[0]="edgeLabel":d[1]==="label"&&(p[1]="edgeLabel"),p}return d}}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,a,n){if(n==="edge"){var i=this.getData(),o=this.getDataParams(t,n),s=i.graph.getEdgeByIndex(t),l=i.getName(s.node1.dataIndex),u=i.getName(s.node2.dataIndex),f=[];return l!=null&&f.push(l),u!=null&&f.push(u),ue("nameValue",{name:f.join(" > "),value:o.value,noValue:o.value==null})}var h=ZA({series:this,dataIndex:t,multipleSeries:a});return h},e.prototype._updateCategoriesData=function(){var t=H(this.option.categories||[],function(n){return n.value!=null?n:V({value:0},n)}),a=new Pe(["value"],this);a.initData(t),this._categoriesData=a,this._categoriesModels=a.mapArray(function(n){return a.getItemModel(n)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return r.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(Gt),O3={type:"graphRoam",event:"graphRoam",update:"none"};function N3(r){r.registerChartView(R3),r.registerSeriesModel(k3),r.registerProcessor(p3),r.registerVisual(g3),r.registerVisual(y3),r.registerLayout(b3),r.registerLayout(r.PRIORITY.VISUAL.POST_CHART_LAYOUT,T3),r.registerLayout(C3),r.registerCoordinateSystem("graphView",{dimensions:Nl.dimensions,create:M3}),r.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},qt),r.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},qt),r.registerAction(O3,function(e,t,a){t.eachComponent({mainType:"series",query:e},function(n){var i=n.coordinateSystem,o=by(i,e,void 0,a);n.setCenter&&n.setCenter(o.center),n.setZoom&&n.setZoom(o.zoom)})})}var B3=function(){function r(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return r}(),V3=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="pointer",a}return e.prototype.getDefaultShape=function(){return new B3},e.prototype.buildPath=function(t,a){var n=Math.cos,i=Math.sin,o=a.r,s=a.width,l=a.angle,u=a.x-n(l)*s*(s>=o/3?1:2),f=a.y-i(l)*s*(s>=o/3?1:2);l=a.angle-Math.PI/2,t.moveTo(u,f),t.lineTo(a.x+n(l)*s,a.y+i(l)*s),t.lineTo(a.x+n(a.angle)*o,a.y+i(a.angle)*o),t.lineTo(a.x-n(l)*s,a.y-i(l)*s),t.lineTo(u,f)},e}(St);function z3(r,e){var t=r.get("center"),a=e.getWidth(),n=e.getHeight(),i=Math.min(a,n),o=X(t[0],e.getWidth()),s=X(t[1],e.getHeight()),l=X(r.get("radius"),i/2);return{cx:o,cy:s,r:l}}function Lu(r,e){var t=r==null?"":r+"";return e&&(K(e)?t=e.replace("{value}",t):nt(e)&&(t=e(r))),t}var G3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){this.group.removeAll();var i=t.get(["axisLine","lineStyle","color"]),o=z3(t,n);this._renderMain(t,a,n,i,o),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,a,n,i,o){var s=this.group,l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,f=-t.get("endAngle")/180*Math.PI,h=t.getModel("axisLine"),v=h.get("roundCap"),c=v?Vf:Oe,d=h.get("show"),p=h.getModel("lineStyle"),g=p.get("width"),y=[u,f];Tg(y,!l),u=y[0],f=y[1];for(var m=f-u,_=u,S=[],b=0;d&&b<i.length;b++){var x=Math.min(Math.max(i[b][0],0),1);f=u+m*x;var w=new c({shape:{startAngle:_,endAngle:f,cx:o.cx,cy:o.cy,clockwise:l,r0:o.r-g,r:o.r},silent:!0});w.setStyle({fill:i[b][1]}),w.setStyle(p.getLineStyle(["color","width"])),S.push(w),_=f}S.reverse(),D(S,function(A){return s.add(A)});var T=function(A){if(A<=0)return i[0][1];var C;for(C=0;C<i.length;C++)if(i[C][0]>=A&&(C===0?0:i[C-1][0])<A)return i[C][1];return i[C-1][1]};this._renderTicks(t,a,n,T,o,u,f,l,g),this._renderTitleAndDetail(t,a,n,T,o),this._renderAnchor(t,o),this._renderPointer(t,a,n,T,o,u,f,l,g)},e.prototype._renderTicks=function(t,a,n,i,o,s,l,u,f){for(var h=this.group,v=o.cx,c=o.cy,d=o.r,p=+t.get("min"),g=+t.get("max"),y=t.getModel("splitLine"),m=t.getModel("axisTick"),_=t.getModel("axisLabel"),S=t.get("splitNumber"),b=m.get("splitNumber"),x=X(y.get("length"),d),w=X(m.get("length"),d),T=s,A=(l-s)/S,C=A/b,M=y.getModel("lineStyle").getLineStyle(),L=m.getModel("lineStyle").getLineStyle(),I=y.get("distance"),P,R,E=0;E<=S;E++){if(P=Math.cos(T),R=Math.sin(T),y.get("show")){var N=I?I+f:f,O=new ie({shape:{x1:P*(d-N)+v,y1:R*(d-N)+c,x2:P*(d-x-N)+v,y2:R*(d-x-N)+c},style:M,silent:!0});M.stroke==="auto"&&O.setStyle({stroke:i(E/S)}),h.add(O)}if(_.get("show")){var N=_.get("distance")+I,B=Lu(Zt(E/S*(g-p)+p),_.get("formatter")),G=i(E/S),U=P*(d-x-N)+v,Z=R*(d-x-N)+c,rt=_.get("rotate"),at=0;rt==="radial"?(at=-T+2*Math.PI,at>Math.PI/2&&(at+=Math.PI)):rt==="tangential"?at=-T-Math.PI/2:Dt(rt)&&(at=rt*Math.PI/180),at===0?h.add(new Ct({style:zt(_,{text:B,x:U,y:Z,verticalAlign:R<-.8?"top":R>.8?"bottom":"middle",align:P<-.4?"left":P>.4?"right":"center"},{inheritColor:G}),silent:!0})):h.add(new Ct({style:zt(_,{text:B,x:U,y:Z,verticalAlign:"middle",align:"center"},{inheritColor:G}),silent:!0,originX:U,originY:Z,rotation:at}))}if(m.get("show")&&E!==S){var N=m.get("distance");N=N?N+f:f;for(var W=0;W<=b;W++){P=Math.cos(T),R=Math.sin(T);var Y=new ie({shape:{x1:P*(d-N)+v,y1:R*(d-N)+c,x2:P*(d-w-N)+v,y2:R*(d-w-N)+c},silent:!0,style:L});L.stroke==="auto"&&Y.setStyle({stroke:i((E+W/b)/S)}),h.add(Y),T+=C}T-=C}else T+=A}},e.prototype._renderPointer=function(t,a,n,i,o,s,l,u,f){var h=this.group,v=this._data,c=this._progressEls,d=[],p=t.get(["pointer","show"]),g=t.getModel("progress"),y=g.get("show"),m=t.getData(),_=m.mapDimension("value"),S=+t.get("min"),b=+t.get("max"),x=[S,b],w=[s,l];function T(C,M){var L=m.getItemModel(C),I=L.getModel("pointer"),P=X(I.get("width"),o.r),R=X(I.get("length"),o.r),E=t.get(["pointer","icon"]),N=I.get("offsetCenter"),O=X(N[0],o.r),B=X(N[1],o.r),G=I.get("keepAspect"),U;return E?U=jt(E,O-P/2,B-R,P,R,null,G):U=new V3({shape:{angle:-Math.PI/2,width:P,r:R,x:O,y:B}}),U.rotation=-(M+Math.PI/2),U.x=o.cx,U.y=o.cy,U}function A(C,M){var L=g.get("roundCap"),I=L?Vf:Oe,P=g.get("overlap"),R=P?g.get("width"):f/m.count(),E=P?o.r-R:o.r-(C+1)*R,N=P?o.r:o.r-C*R,O=new I({shape:{startAngle:s,endAngle:M,cx:o.cx,cy:o.cy,clockwise:u,r0:E,r:N}});return P&&(O.z2=Rt(m.get(_,C),[S,b],[100,0],!0)),O}(y||p)&&(m.diff(v).add(function(C){var M=m.get(_,C);if(p){var L=T(C,s);Ft(L,{rotation:-((isNaN(+M)?w[0]:Rt(M,x,w,!0))+Math.PI/2)},t),h.add(L),m.setItemGraphicEl(C,L)}if(y){var I=A(C,s),P=g.get("clip");Ft(I,{shape:{endAngle:Rt(M,x,w,P)}},t),h.add(I),Yd(t.seriesIndex,m.dataType,C,I),d[C]=I}}).update(function(C,M){var L=m.get(_,C);if(p){var I=v.getItemGraphicEl(M),P=I?I.rotation:s,R=T(C,P);R.rotation=P,Mt(R,{rotation:-((isNaN(+L)?w[0]:Rt(L,x,w,!0))+Math.PI/2)},t),h.add(R),m.setItemGraphicEl(C,R)}if(y){var E=c[M],N=E?E.shape.endAngle:s,O=A(C,N),B=g.get("clip");Mt(O,{shape:{endAngle:Rt(L,x,w,B)}},t),h.add(O),Yd(t.seriesIndex,m.dataType,C,O),d[C]=O}}).execute(),m.each(function(C){var M=m.getItemModel(C),L=M.getModel("emphasis"),I=L.get("focus"),P=L.get("blurScope"),R=L.get("disabled");if(p){var E=m.getItemGraphicEl(C),N=m.getItemVisual(C,"style"),O=N.fill;if(E instanceof ce){var B=E.style;E.useStyle(V({image:B.image,x:B.x,y:B.y,width:B.width,height:B.height},N))}else E.useStyle(N),E.type!=="pointer"&&E.setColor(O);E.setStyle(M.getModel(["pointer","itemStyle"]).getItemStyle()),E.style.fill==="auto"&&E.setStyle("fill",i(Rt(m.get(_,C),x,[0,1],!0))),E.z2EmphasisLift=0,ge(E,M),Yt(E,I,P,R)}if(y){var G=d[C];G.useStyle(m.getItemVisual(C,"style")),G.setStyle(M.getModel(["progress","itemStyle"]).getItemStyle()),G.z2EmphasisLift=0,ge(G,M),Yt(G,I,P,R)}}),this._progressEls=d)},e.prototype._renderAnchor=function(t,a){var n=t.getModel("anchor"),i=n.get("show");if(i){var o=n.get("size"),s=n.get("icon"),l=n.get("offsetCenter"),u=n.get("keepAspect"),f=jt(s,a.cx-o/2+X(l[0],a.r),a.cy-o/2+X(l[1],a.r),o,o,null,u);f.z2=n.get("showAbove")?1:0,f.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(f)}},e.prototype._renderTitleAndDetail=function(t,a,n,i,o){var s=this,l=t.getData(),u=l.mapDimension("value"),f=+t.get("min"),h=+t.get("max"),v=new ut,c=[],d=[],p=t.isAnimationEnabled(),g=t.get(["pointer","showAbove"]);l.diff(this._data).add(function(y){c[y]=new Ct({silent:!0}),d[y]=new Ct({silent:!0})}).update(function(y,m){c[y]=s._titleEls[m],d[y]=s._detailEls[m]}).execute(),l.each(function(y){var m=l.getItemModel(y),_=l.get(u,y),S=new ut,b=i(Rt(_,[f,h],[0,1],!0)),x=m.getModel("title");if(x.get("show")){var w=x.get("offsetCenter"),T=o.cx+X(w[0],o.r),A=o.cy+X(w[1],o.r),C=c[y];C.attr({z2:g?0:2,style:zt(x,{x:T,y:A,text:l.getName(y),align:"center",verticalAlign:"middle"},{inheritColor:b})}),S.add(C)}var M=m.getModel("detail");if(M.get("show")){var L=M.get("offsetCenter"),I=o.cx+X(L[0],o.r),P=o.cy+X(L[1],o.r),R=X(M.get("width"),o.r),E=X(M.get("height"),o.r),N=t.get(["progress","show"])?l.getItemVisual(y,"style").fill:b,C=d[y],O=M.get("formatter");C.attr({z2:g?0:2,style:zt(M,{x:I,y:P,text:Lu(_,O),width:isNaN(R)?null:R,height:isNaN(E)?null:E,align:"center",verticalAlign:"middle"},{inheritColor:N})}),JT(C,{normal:M},_,function(G){return Lu(G,O)}),p&&QT(C,y,l,t,{getFormattedLabel:function(G,U,Z,rt,at,W){return Lu(W?W.interpolatedValue:_,O)}}),S.add(C)}v.add(S)}),this.group.add(v),this._titleEls=c,this._detailEls=d},e.type="gauge",e}(Nt),F3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="itemStyle",t}return e.prototype.getInitialData=function(t,a){return Bo(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(Gt);function H3(r){r.registerChartView(G3),r.registerSeriesModel(F3)}var W3=["itemStyle","opacity"],U3=function(r){k(e,r);function e(t,a){var n=r.call(this)||this,i=n,o=new Be,s=new Ct;return i.setTextContent(s),n.setTextGuideLine(o),n.updateData(t,a,!0),n}return e.prototype.updateData=function(t,a,n){var i=this,o=t.hostModel,s=t.getItemModel(a),l=t.getItemLayout(a),u=s.getModel("emphasis"),f=s.get(W3);f=f??1,n||Ir(i),i.useStyle(t.getItemVisual(a,"style")),i.style.lineJoin="round",n?(i.setShape({points:l.points}),i.style.opacity=0,Ft(i,{style:{opacity:f}},o,a)):Mt(i,{style:{opacity:f},shape:{points:l.points}},o,a),ge(i,s),this._updateLabel(t,a),Yt(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,a){var n=this,i=this.getTextGuideLine(),o=n.getTextContent(),s=t.hostModel,l=t.getItemModel(a),u=t.getItemLayout(a),f=u.label,h=t.getItemVisual(a,"style"),v=h.fill;ye(o,le(l),{labelFetcher:t.hostModel,labelDataIndex:a,defaultOpacity:h.opacity,defaultText:t.getName(a)},{normal:{align:f.textAlign,verticalAlign:f.verticalAlign}}),n.setTextConfig({local:!0,inside:!!f.inside,insideStroke:v,outsideFill:v});var c=f.linePoints;i.setShape({points:c}),n.textGuideLineConfig={anchor:c?new pt(c[0][0],c[0][1]):null},Mt(o,{style:{x:f.x,y:f.y}},s,a),o.attr({rotation:f.rotation,originX:f.x,originY:f.y,z2:10}),ly(n,uy(l),{stroke:v})},e}(Ne),Y3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,a,n){var i=t.getData(),o=this._data,s=this.group;i.diff(o).add(function(l){var u=new U3(i,l);i.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var f=o.getItemGraphicEl(u);f.updateData(i,l),s.add(f),i.setItemGraphicEl(l,f)}).remove(function(l){var u=o.getItemGraphicEl(l);Ks(u,t,l)}).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(Nt),$3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kl(J(this.getData,this),J(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.getInitialData=function(t,a){return Bo(this,{coordDimensions:["value"],encodeDefaulter:ct(Fg,this)})},e.prototype._defaultLabelLine=function(t){hi(t,"labelLine",["show"]);var a=t.labelLine,n=t.emphasis.labelLine;a.show=a.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(t){var a=this.getData(),n=r.prototype.getDataParams.call(this,t),i=a.mapDimension("value"),o=a.getSum(i);return n.percent=o?+(a.get(i,t)/o*100).toFixed(2):0,n.$vars.push("percent"),n},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(Gt);function Z3(r,e){return re(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function X3(r,e){for(var t=r.mapDimension("value"),a=r.mapArray(t,function(l){return l}),n=[],i=e==="ascending",o=0,s=r.count();o<s;o++)n[o]=o;return nt(e)?n.sort(e):e!=="none"&&n.sort(function(l,u){return i?a[l]-a[u]:a[u]-a[l]}),n}function q3(r){var e=r.hostModel,t=e.get("orient");r.each(function(a){var n=r.getItemModel(a),i=n.getModel("label"),o=i.get("position"),s=n.getModel("labelLine"),l=r.getItemLayout(a),u=l.points,f=o==="inner"||o==="inside"||o==="center"||o==="insideLeft"||o==="insideRight",h,v,c,d;if(f)o==="insideLeft"?(v=(u[0][0]+u[3][0])/2+5,c=(u[0][1]+u[3][1])/2,h="left"):o==="insideRight"?(v=(u[1][0]+u[2][0])/2-5,c=(u[1][1]+u[2][1])/2,h="right"):(v=(u[0][0]+u[1][0]+u[2][0]+u[3][0])/4,c=(u[0][1]+u[1][1]+u[2][1]+u[3][1])/4,h="center"),d=[[v,c],[v,c]];else{var p=void 0,g=void 0,y=void 0,m=void 0,_=s.get("length");o==="left"?(p=(u[3][0]+u[0][0])/2,g=(u[3][1]+u[0][1])/2,y=p-_,v=y-5,h="right"):o==="right"?(p=(u[1][0]+u[2][0])/2,g=(u[1][1]+u[2][1])/2,y=p+_,v=y+5,h="left"):o==="top"?(p=(u[3][0]+u[0][0])/2,g=(u[3][1]+u[0][1])/2,m=g-_,c=m-5,h="center"):o==="bottom"?(p=(u[1][0]+u[2][0])/2,g=(u[1][1]+u[2][1])/2,m=g+_,c=m+5,h="center"):o==="rightTop"?(p=t==="horizontal"?u[3][0]:u[1][0],g=t==="horizontal"?u[3][1]:u[1][1],t==="horizontal"?(m=g-_,c=m-5,h="center"):(y=p+_,v=y+5,h="top")):o==="rightBottom"?(p=u[2][0],g=u[2][1],t==="horizontal"?(m=g+_,c=m+5,h="center"):(y=p+_,v=y+5,h="bottom")):o==="leftTop"?(p=u[0][0],g=t==="horizontal"?u[0][1]:u[1][1],t==="horizontal"?(m=g-_,c=m-5,h="center"):(y=p-_,v=y-5,h="right")):o==="leftBottom"?(p=t==="horizontal"?u[1][0]:u[3][0],g=t==="horizontal"?u[1][1]:u[2][1],t==="horizontal"?(m=g+_,c=m+5,h="center"):(y=p-_,v=y-5,h="right")):(p=(u[1][0]+u[2][0])/2,g=(u[1][1]+u[2][1])/2,t==="horizontal"?(m=g+_,c=m+5,h="center"):(y=p+_,v=y+5,h="left")),t==="horizontal"?(y=p,v=y):(m=g,c=m),d=[[p,g],[y,m]]}l.label={linePoints:d,x:v,y:c,verticalAlign:"middle",textAlign:h,inside:f}})}function K3(r,e){r.eachSeriesByType("funnel",function(t){var a=t.getData(),n=a.mapDimension("value"),i=t.get("sort"),o=Z3(t,e),s=t.get("orient"),l=o.width,u=o.height,f=X3(a,i),h=o.x,v=o.y,c=s==="horizontal"?[X(t.get("minSize"),u),X(t.get("maxSize"),u)]:[X(t.get("minSize"),l),X(t.get("maxSize"),l)],d=a.getDataExtent(n),p=t.get("min"),g=t.get("max");p==null&&(p=Math.min(d[0],0)),g==null&&(g=d[1]);var y=t.get("funnelAlign"),m=t.get("gap"),_=s==="horizontal"?l:u,S=(_-m*(a.count()-1))/a.count(),b=function(P,R){if(s==="horizontal"){var E=a.get(n,P)||0,N=Rt(E,[p,g],c,!0),O=void 0;switch(y){case"top":O=v;break;case"center":O=v+(u-N)/2;break;case"bottom":O=v+(u-N);break}return[[R,O],[R,O+N]]}var B=a.get(n,P)||0,G=Rt(B,[p,g],c,!0),U;switch(y){case"left":U=h;break;case"center":U=h+(l-G)/2;break;case"right":U=h+l-G;break}return[[U,R],[U+G,R]]};i==="ascending"&&(S=-S,m=-m,s==="horizontal"?h+=l:v+=u,f=f.reverse());for(var x=0;x<f.length;x++){var w=f[x],T=f[x+1],A=a.getItemModel(w);if(s==="horizontal"){var C=A.get(["itemStyle","width"]);C==null?C=S:(C=X(C,l),i==="ascending"&&(C=-C));var M=b(w,h),L=b(T,h+C);h+=C+m,a.setItemLayout(w,{points:M.concat(L.slice().reverse())})}else{var I=A.get(["itemStyle","height"]);I==null?I=S:(I=X(I,u),i==="ascending"&&(I=-I));var M=b(w,v),L=b(T,v+I);v+=I+m,a.setItemLayout(w,{points:M.concat(L.slice().reverse())})}}q3(a)})}function J3(r){r.registerChartView(Y3),r.registerSeriesModel($3),r.registerLayout(K3),r.registerProcessor(El("funnel"))}var Q3=.3,j3=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._dataGroup=new ut,t._initialized=!1,t}return e.prototype.init=function(){this.group.add(this._dataGroup)},e.prototype.render=function(t,a,n,i){this._progressiveEls=null;var o=this._dataGroup,s=t.getData(),l=this._data,u=t.coordinateSystem,f=u.dimensions,h=qS(t);s.diff(l).add(v).update(c).remove(d).execute();function v(g){var y=XS(s,o,g,f,u);Nc(y,s,g,h)}function c(g,y){var m=l.getItemGraphicEl(y),_=TM(s,g,f,u);s.setItemGraphicEl(g,m),Mt(m,{shape:{points:_}},t,g),Ir(m),Nc(m,s,g,h)}function d(g){var y=l.getItemGraphicEl(g);o.remove(y)}if(!this._initialized){this._initialized=!0;var p=tF(u,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(p)}this._data=s},e.prototype.incrementalPrepareRender=function(t,a,n){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},e.prototype.incrementalRender=function(t,a,n){for(var i=a.getData(),o=a.coordinateSystem,s=o.dimensions,l=qS(a),u=this._progressiveEls=[],f=t.start;f<t.end;f++){var h=XS(i,this._dataGroup,f,s,o);h.incremental=!0,Nc(h,i,f,l),u.push(h)}},e.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null},e.type="parallel",e}(Nt);function tF(r,e,t){var a=r.model,n=r.getRect(),i=new Tt({shape:{x:n.x,y:n.y,width:n.width,height:n.height}}),o=a.get("layout")==="horizontal"?"width":"height";return i.setShape(o,0),Ft(i,{shape:{width:n.width,height:n.height}},e,t),i}function TM(r,e,t,a){for(var n=[],i=0;i<t.length;i++){var o=t[i],s=r.get(r.mapDimension(o),e);eF(s,a.getAxis(o).type)||n.push(a.dataToPoint(s,o))}return n}function XS(r,e,t,a,n){var i=TM(r,t,a,n),o=new Be({shape:{points:i},z2:10});return e.add(o),r.setItemGraphicEl(t,o),o}function qS(r){var e=r.get("smooth",!0);return e===!0&&(e=Q3),e=ga(e),Fs(e)&&(e=0),{smooth:e}}function Nc(r,e,t,a){r.useStyle(e.getItemVisual(t,"style")),r.style.fill=null,r.setShape("smooth",a.smooth);var n=e.getItemModel(t),i=n.getModel("emphasis");ge(r,n,"lineStyle"),Yt(r,i.get("focus"),i.get("blurScope"),i.get("disabled"))}function eF(r,e){return e==="category"?r==null:r==null||isNaN(r)}var rF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.getInitialData=function(t,a){return Aa(null,this,{useEncodeDefaulter:J(aF,null,this)})},e.prototype.getRawIndicesByActiveState=function(t){var a=this.coordinateSystem,n=this.getData(),i=[];return a.eachActiveState(n,function(o,s){t===o&&i.push(n.getRawIndex(s))}),i},e.type="series.parallel",e.dependencies=["parallel"],e.defaultOption={z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"},e}(Gt);function aF(r){var e=r.ecModel.getComponent("parallel",r.get("parallelIndex"));if(e){var t={};return D(e.dimensions,function(a){var n=nF(a);t[a]=n}),t}}function nF(r){return+r.replace("dim","")}var iF=["lineStyle","opacity"],oF={seriesType:"parallel",reset:function(r,e){var t=r.coordinateSystem,a={normal:r.get(["lineStyle","opacity"]),active:r.get("activeOpacity"),inactive:r.get("inactiveOpacity")};return{progress:function(n,i){t.eachActiveState(i,function(o,s){var l=a[o];if(o==="normal"&&i.hasItemOption){var u=i.getItemModel(s).get(iF,!0);u!=null&&(l=u)}var f=i.ensureUniqueItemVisual(s,"style");f.opacity=l},n.start,n.end)}}}};function sF(r){lF(r),uF(r)}function lF(r){if(!r.parallel){var e=!1;D(r.series,function(t){t&&t.type==="parallel"&&(e=!0)}),e&&(r.parallel=[{}])}}function uF(r){var e=Ot(r.parallelAxis);D(e,function(t){if(st(t)){var a=t.parallelIndex||0,n=Ot(r.parallel)[a];n&&n.parallelAxisDefault&&dt(t,n.parallelAxisDefault,!1)}})}var fF=5,hF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){this._model=t,this._api=n,this._handlers||(this._handlers={},D(vF,function(i,o){n.getZr().on(o,this._handlers[o]=J(i,this))},this)),ko(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},e.prototype.dispose=function(t,a){tl(this,"_throttledDispatchExpand"),D(this._handlers,function(n,i){a.getZr().off(i,n)}),this._handlers=null},e.prototype._throttledDispatchExpand=function(t){this._dispatchExpand(t)},e.prototype._dispatchExpand=function(t){t&&this._api.dispatchAction(V({type:"parallelAxisExpand"},t))},e.type="parallel",e}(Ut),vF={mousedown:function(r){Bc(this,"click")&&(this._mouseDownPoint=[r.offsetX,r.offsetY])},mouseup:function(r){var e=this._mouseDownPoint;if(Bc(this,"click")&&e){var t=[r.offsetX,r.offsetY],a=Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2);if(a>fF)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]);n.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(r){if(!(this._mouseDownPoint||!Bc(this,"mousemove"))){var e=this._model,t=e.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]),a=t.behavior;a==="jump"&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand(a==="none"?null:{axisExpandWindow:t.axisExpandWindow,animation:a==="jump"?null:{duration:0}})}}};function Bc(r,e){var t=r._model;return t.get("axisExpandable")&&t.get("axisExpandTriggerOn")===e}var cF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){r.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var a=this.option;t&&dt(a,t,!0),this._initDimensions()},e.prototype.contains=function(t,a){var n=t.get("parallelIndex");return n!=null&&a.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){D(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(a){t.hasOwnProperty(a)&&(this.option[a]=t[a])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],a=this.parallelAxisIndex=[],n=Pt(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(i){return(i.get("parallelIndex")||0)===this.componentIndex},this);D(n,function(i){t.push("dim"+i.get("dim")),a.push(i.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(bt),dF=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this,t,a,n)||this;return s.type=i||"value",s.axisIndex=o,s}return e.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},e}(Rr);function Ci(r,e,t,a,n,i){r=r||0;var o=t[1]-t[0];if(n!=null&&(n=Ui(n,[0,o])),i!=null&&(i=Math.max(i,n??0)),a==="all"){var s=Math.abs(e[1]-e[0]);s=Ui(s,[0,o]),n=i=Ui(s,[n,i]),a=0}e[0]=Ui(e[0],t),e[1]=Ui(e[1],t);var l=Vc(e,a);e[a]+=r;var u=n||0,f=t.slice();l.sign<0?f[0]+=u:f[1]-=u,e[a]=Ui(e[a],f);var h;return h=Vc(e,a),n!=null&&(h.sign!==l.sign||h.span<n)&&(e[1-a]=e[a]+l.sign*n),h=Vc(e,a),i!=null&&h.span>i&&(e[1-a]=e[a]+h.sign*i),e}function Vc(r,e){var t=r[e]-r[1-e];return{span:Math.abs(t),sign:t>0?-1:t<0?1:e?-1:1}}function Ui(r,e){return Math.min(e[1]!=null?e[1]:1/0,Math.max(e[0]!=null?e[0]:-1/0,r))}var zc=D,AM=Math.min,CM=Math.max,KS=Math.floor,pF=Math.ceil,JS=Zt,gF=Math.PI,yF=function(){function r(e,t,a){this.type="parallel",this._axesMap=et(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,a)}return r.prototype._init=function(e,t,a){var n=e.dimensions,i=e.parallelAxisIndex;zc(n,function(o,s){var l=i[s],u=t.getComponent("parallelAxis",l),f=this._axesMap.set(o,new dF(o,Oh(u),[0,0],u.get("type"),l)),h=f.type==="category";f.onBand=h&&u.get("boundaryGap"),f.inverse=u.get("inverse"),u.axis=f,f.model=u,f.coordinateSystem=u.coordinateSystem=this},this)},r.prototype.update=function(e,t){this._updateAxesFromSeries(this._model,e)},r.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),a=t.axisBase,n=t.layoutBase,i=t.pixelDimIndex,o=e[1-i],s=e[i];return o>=a&&o<=a+t.axisLength&&s>=n&&s<=n+t.layoutLength},r.prototype.getModel=function(){return this._model},r.prototype._updateAxesFromSeries=function(e,t){t.eachSeries(function(a){if(e.contains(a,t)){var n=a.getData();zc(this.dimensions,function(i){var o=this._axesMap.get(i);o.scale.unionExtentFromData(n,n.mapDimension(i)),go(o.scale,o.model)},this)}},this)},r.prototype.resize=function(e,t){this._rect=re(e.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),this._layoutAxes()},r.prototype.getRect=function(){return this._rect},r.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,a=["x","y"],n=["width","height"],i=e.get("layout"),o=i==="horizontal"?0:1,s=t[n[o]],l=[0,s],u=this.dimensions.length,f=Iu(e.get("axisExpandWidth"),l),h=Iu(e.get("axisExpandCount")||0,[0,u]),v=e.get("axisExpandable")&&u>3&&u>h&&h>1&&f>0&&s>0,c=e.get("axisExpandWindow"),d;if(c)d=Iu(c[1]-c[0],l),c[1]=c[0]+d;else{d=Iu(f*(h-1),l);var p=e.get("axisExpandCenter")||KS(u/2);c=[f*p-d/2],c[1]=c[0]+d}var g=(s-d)/(u-h);g<3&&(g=0);var y=[KS(JS(c[0]/f,1))+1,pF(JS(c[1]/f,1))-1],m=g/f*c[0];return{layout:i,pixelDimIndex:o,layoutBase:t[a[o]],layoutLength:s,axisBase:t[a[1-o]],axisLength:t[n[1-o]],axisExpandable:v,axisExpandWidth:f,axisCollapseWidth:g,axisExpandWindow:c,axisCount:u,winInnerIndices:y,axisExpandWindow0Pos:m}},r.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,a=this.dimensions,n=this._makeLayoutInfo(),i=n.layout;t.each(function(o){var s=[0,n.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),zc(a,function(o,s){var l=(n.axisExpandable?_F:mF)(s,n),u={horizontal:{x:l.position,y:n.axisLength},vertical:{x:0,y:l.position}},f={horizontal:gF/2,vertical:0},h=[u[i].x+e.x,u[i].y+e.y],v=f[i],c=qe();_i(c,c,v),Kr(c,c,h),this._axesLayout[o]={position:h,rotation:v,transform:c,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},r.prototype.getAxis=function(e){return this._axesMap.get(e)},r.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},r.prototype.eachActiveState=function(e,t,a,n){a==null&&(a=0),n==null&&(n=e.count());var i=this._axesMap,o=this.dimensions,s=[],l=[];D(o,function(g){s.push(e.mapDimension(g)),l.push(i.get(g).model)});for(var u=this.hasAxisBrushed(),f=a;f<n;f++){var h=void 0;if(!u)h="normal";else{h="active";for(var v=e.getValues(s,f),c=0,d=o.length;c<d;c++){var p=l[c].getActiveState(v[c]);if(p==="inactive"){h="inactive";break}}}t(h,f)}},r.prototype.hasAxisBrushed=function(){for(var e=this.dimensions,t=this._axesMap,a=!1,n=0,i=e.length;n<i;n++)t.get(e[n]).model.getActiveState()!=="normal"&&(a=!0);return a},r.prototype.axisCoordToPoint=function(e,t){var a=this._axesLayout[t];return Mr([e,0],a.transform)},r.prototype.getAxisLayout=function(e){return lt(this._axesLayout[e])},r.prototype.getSlidedAxisExpandWindow=function(e){var t=this._makeLayoutInfo(),a=t.pixelDimIndex,n=t.axisExpandWindow.slice(),i=n[1]-n[0],o=[0,t.axisExpandWidth*(t.axisCount-1)];if(!this.containPoint(e))return{behavior:"none",axisExpandWindow:n};var s=e[a]-t.layoutBase-t.axisExpandWindow0Pos,l,u="slide",f=t.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),v=h[0]!=null;if(f)v&&f&&s<i*h[0]?(u="jump",l=s-i*h[2]):v&&f&&s>i*(1-h[0])?(u="jump",l=s-i*(1-h[2])):(l=s-i*h[1])>=0&&(l=s-i*(1-h[1]))<=0&&(l=0),l*=t.axisExpandWidth/f,l?Ci(l,n,o,"all"):u="none";else{var c=n[1]-n[0],d=o[1]*s/c;n=[CM(0,d-c/2)],n[1]=AM(o[1],n[0]+c),n[0]=n[1]-c}return{axisExpandWindow:n,behavior:u}},r}();function Iu(r,e){return AM(CM(r,e[0]),e[1])}function mF(r,e){var t=e.layoutLength/(e.axisCount-1);return{position:t*r,axisNameAvailableWidth:t,axisLabelShow:!0}}function _F(r,e){var t=e.layoutLength,a=e.axisExpandWidth,n=e.axisCount,i=e.axisCollapseWidth,o=e.winInnerIndices,s,l=i,u=!1,f;return r<o[0]?(s=r*i,f=i):r<=o[1]?(s=e.axisExpandWindow0Pos+r*a-e.axisExpandWindow[0],l=a,u=!0):(s=t-(n-1-r)*i,f=i),{position:s,axisNameAvailableWidth:l,axisLabelShow:u,nameTruncateMaxWidth:f}}function SF(r,e){var t=[];return r.eachComponent("parallel",function(a,n){var i=new yF(a,r,e);i.name="parallel_"+n,i.resize(a,e),a.coordinateSystem=i,i.model=a,t.push(i)}),r.eachSeries(function(a){if(a.get("coordinateSystem")==="parallel"){var n=a.getReferringComponents("parallel",Qt).models[0];a.coordinateSystem=n.coordinateSystem}}),t}var xF={create:SF},Op=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.activeIntervals=[],t}return e.prototype.getAreaSelectStyle=function(){return ci([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},e.prototype.setActiveIntervals=function(t){var a=this.activeIntervals=lt(t);if(a)for(var n=a.length-1;n>=0;n--)hr(a[n])},e.prototype.getActiveState=function(t){var a=this.activeIntervals;if(!a.length)return"normal";if(t==null||isNaN(+t))return"inactive";if(a.length===1){var n=a[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var i=0,o=a.length;i<o;i++)if(a[i][0]<=t&&t<=a[i][1])return"active";return"inactive"},e}(bt);te(Op,Ml);var gi=!0,vl=Math.min,_o=Math.max,bF=Math.pow,wF=1e4,TF=6,AF=6,QS="globalPan",CF={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},DF={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},jS={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},MF=0,Ry=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._track=[],a._covers=[],a._handlers={},a._zr=t,a.group=new ut,a._uid="brushController_"+MF++,D(OF,function(n,i){this._handlers[i]=J(n,this)},a),a}return e.prototype.enableBrush=function(t){return this._brushType&&this._doDisableBrush(),t.brushType&&this._doEnableBrush(t),this},e.prototype._doEnableBrush=function(t){var a=this._zr;this._enableGlobalPan||mz(a,QS,this._uid),D(this._handlers,function(n,i){a.on(i,n)}),this._brushType=t.brushType,this._brushOption=dt(lt(jS),t,!0)},e.prototype._doDisableBrush=function(){var t=this._zr;_z(t,QS,this._uid),D(this._handlers,function(a,n){t.off(n,a)}),this._brushType=this._brushOption=null},e.prototype.setPanels=function(t){if(t&&t.length){var a=this._panels={};D(t,function(n){a[n.panelId]=lt(n)})}else this._panels=null;return this},e.prototype.mount=function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var a=this.group;return this._zr.add(a),a.attr({x:t.x||0,y:t.y||0,rotation:t.rotation||0,scaleX:t.scaleX||1,scaleY:t.scaleY||1}),this._transform=a.getLocalTransform(),this},e.prototype.updateCovers=function(t){t=H(t,function(v){return dt(lt(jS),v,!0)});var a="\0-brush-index-",n=this._covers,i=this._covers=[],o=this,s=this._creatingCover;return new _a(n,t,u,l).add(f).update(f).remove(h).execute(),this;function l(v,c){return(v.id!=null?v.id:a+c)+"-"+v.brushType}function u(v,c){return l(v.__brushOption,c)}function f(v,c){var d=t[v];if(c!=null&&n[c]===s)i[v]=n[c];else{var p=i[v]=c!=null?(n[c].__brushOption=d,n[c]):MM(o,DM(o,d));Ey(o,p)}}function h(v){n[v]!==s&&o.group.remove(n[v])}},e.prototype.unmount=function(){return this.enableBrush(!1),Np(this),this._zr.remove(this.group),this},e.prototype.dispose=function(){this.unmount(),this.off()},e}(dr);function DM(r,e){var t=Fh[e.brushType].createCover(r,e);return t.__brushOption=e,IM(t,e),r.group.add(t),t}function MM(r,e){var t=ky(e);return t.endCreating&&(t.endCreating(r,e),IM(e,e.__brushOption)),e}function LM(r,e){var t=e.__brushOption;ky(e).updateCoverShape(r,e,t.range,t)}function IM(r,e){var t=e.z;t==null&&(t=wF),r.traverse(function(a){a.z=t,a.z2=t})}function Ey(r,e){ky(e).updateCommon(r,e),LM(r,e)}function ky(r){return Fh[r.__brushOption.brushType]}function Oy(r,e,t){var a=r._panels;if(!a)return gi;var n,i=r._transform;return D(a,function(o){o.isTargetByCursor(e,t,i)&&(n=o)}),n}function PM(r,e){var t=r._panels;if(!t)return gi;var a=e.__brushOption.panelId;return a!=null?t[a]:gi}function Np(r){var e=r._covers,t=e.length;return D(e,function(a){r.group.remove(a)},r),e.length=0,!!t}function yi(r,e){var t=H(r._covers,function(a){var n=a.__brushOption,i=lt(n.range);return{brushType:n.brushType,panelId:n.panelId,range:i}});r.trigger("brush",{areas:t,isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function LF(r){var e=r._track;if(!e.length)return!1;var t=e[e.length-1],a=e[0],n=t[0]-a[0],i=t[1]-a[1],o=bF(n*n+i*i,.5);return o>TF}function RM(r){var e=r.length-1;return e<0&&(e=0),[r[0],r[e]]}function EM(r,e,t,a){var n=new ut;return n.add(new Tt({name:"main",style:Ny(t),silent:!0,draggable:!0,cursor:"move",drift:ct(tx,r,e,n,["n","s","w","e"]),ondragend:ct(yi,e,{isEnd:!0})})),D(a,function(i){n.add(new Tt({name:i.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:ct(tx,r,e,n,i),ondragend:ct(yi,e,{isEnd:!0})}))}),n}function kM(r,e,t,a){var n=a.brushStyle.lineWidth||0,i=_o(n,AF),o=t[0][0],s=t[1][0],l=o-n/2,u=s-n/2,f=t[0][1],h=t[1][1],v=f-i+n/2,c=h-i+n/2,d=f-o,p=h-s,g=d+n,y=p+n;ia(r,e,"main",o,s,d,p),a.transformable&&(ia(r,e,"w",l,u,i,y),ia(r,e,"e",v,u,i,y),ia(r,e,"n",l,u,g,i),ia(r,e,"s",l,c,g,i),ia(r,e,"nw",l,u,i,i),ia(r,e,"ne",v,u,i,i),ia(r,e,"sw",l,c,i,i),ia(r,e,"se",v,c,i,i))}function Bp(r,e){var t=e.__brushOption,a=t.transformable,n=e.childAt(0);n.useStyle(Ny(t)),n.attr({silent:!a,cursor:a?"move":"default"}),D([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(i){var o=e.childOfName(i.join("")),s=i.length===1?Vp(r,i[0]):PF(r,i);o&&o.attr({silent:!a,invisible:!a,cursor:a?DF[s]+"-resize":null})})}function ia(r,e,t,a,n,i,o){var s=e.childOfName(t);s&&s.setShape(EF(By(r,e,[[a,n],[a+i,n+o]])))}function Ny(r){return ot({strokeNoScale:!0},r.brushStyle)}function OM(r,e,t,a){var n=[vl(r,t),vl(e,a)],i=[_o(r,t),_o(e,a)];return[[n[0],i[0]],[n[1],i[1]]]}function IF(r){return si(r.group)}function Vp(r,e){var t={w:"left",e:"right",n:"top",s:"bottom"},a={left:"w",right:"e",top:"n",bottom:"s"},n=_h(t[e],IF(r));return a[n]}function PF(r,e){var t=[Vp(r,e[0]),Vp(r,e[1])];return(t[0]==="e"||t[0]==="w")&&t.reverse(),t.join("")}function tx(r,e,t,a,n,i){var o=t.__brushOption,s=r.toRectRange(o.range),l=NM(e,n,i);D(a,function(u){var f=CF[u];s[f[0]][f[1]]+=l[f[0]]}),o.range=r.fromRectRange(OM(s[0][0],s[1][0],s[0][1],s[1][1])),Ey(e,t),yi(e,{isEnd:!1})}function RF(r,e,t,a){var n=e.__brushOption.range,i=NM(r,t,a);D(n,function(o){o[0]+=i[0],o[1]+=i[1]}),Ey(r,e),yi(r,{isEnd:!1})}function NM(r,e,t){var a=r.group,n=a.transformCoordToLocal(e,t),i=a.transformCoordToLocal(0,0);return[n[0]-i[0],n[1]-i[1]]}function By(r,e,t){var a=PM(r,e);return a&&a!==gi?a.clipPath(t,r._transform):lt(t)}function EF(r){var e=vl(r[0][0],r[1][0]),t=vl(r[0][1],r[1][1]),a=_o(r[0][0],r[1][0]),n=_o(r[0][1],r[1][1]);return{x:e,y:t,width:a-e,height:n-t}}function kF(r,e,t){if(!(!r._brushType||NF(r,e.offsetX,e.offsetY))){var a=r._zr,n=r._covers,i=Oy(r,e,t);if(!r._dragging)for(var o=0;o<n.length;o++){var s=n[o].__brushOption;if(i&&(i===gi||s.panelId===i.panelId)&&Fh[s.brushType].contain(n[o],t[0],t[1]))return}i&&a.setCursorStyle("crosshair")}}function zp(r){var e=r.event;e.preventDefault&&e.preventDefault()}function Gp(r,e,t){return r.childOfName("main").contain(e,t)}function BM(r,e,t,a){var n=r._creatingCover,i=r._creatingPanel,o=r._brushOption,s;if(r._track.push(t.slice()),LF(r)||n){if(i&&!n){o.brushMode==="single"&&Np(r);var l=lt(o);l.brushType=ex(l.brushType,i),l.panelId=i===gi?null:i.panelId,n=r._creatingCover=DM(r,l),r._covers.push(n)}if(n){var u=Fh[ex(r._brushType,i)],f=n.__brushOption;f.range=u.getCreatingRange(By(r,n,r._track)),a&&(MM(r,n),u.updateCommon(r,n)),LM(r,n),s={isEnd:a}}}else a&&o.brushMode==="single"&&o.removeOnClick&&Oy(r,e,t)&&Np(r)&&(s={isEnd:a,removeOnClick:!0});return s}function ex(r,e){return r==="auto"?e.defaultBrushType:r}var OF={mousedown:function(r){if(this._dragging)rx(this,r);else if(!r.target||!r.target.draggable){zp(r);var e=this.group.transformCoordToLocal(r.offsetX,r.offsetY);this._creatingCover=null;var t=this._creatingPanel=Oy(this,r,e);t&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(r){var e=r.offsetX,t=r.offsetY,a=this.group.transformCoordToLocal(e,t);if(kF(this,r,a),this._dragging){zp(r);var n=BM(this,r,a,!1);n&&yi(this,n)}},mouseup:function(r){rx(this,r)}};function rx(r,e){if(r._dragging){zp(e);var t=e.offsetX,a=e.offsetY,n=r.group.transformCoordToLocal(t,a),i=BM(r,e,n,!0);r._dragging=!1,r._track=[],r._creatingCover=null,i&&yi(r,i)}}function NF(r,e,t){var a=r._zr;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var Fh={lineX:ax(0),lineY:ax(1),rect:{createCover:function(r,e){function t(a){return a}return EM({toRectRange:t,fromRectRange:t},r,e,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(r){var e=RM(r);return OM(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(r,e,t,a){kM(r,e,t,a)},updateCommon:Bp,contain:Gp},polygon:{createCover:function(r,e){var t=new ut;return t.add(new Be({name:"main",style:Ny(e),silent:!0})),t},getCreatingRange:function(r){return r},endCreating:function(r,e){e.remove(e.childAt(0)),e.add(new Ne({name:"main",draggable:!0,drift:ct(RF,r,e),ondragend:ct(yi,r,{isEnd:!0})}))},updateCoverShape:function(r,e,t,a){e.childAt(0).setShape({points:By(r,e,t)})},updateCommon:Bp,contain:Gp}};function ax(r){return{createCover:function(e,t){return EM({toRectRange:function(a){var n=[a,[0,100]];return r&&n.reverse(),n},fromRectRange:function(a){return a[r]}},e,t,[[["w"],["e"]],[["n"],["s"]]][r])},getCreatingRange:function(e){var t=RM(e),a=vl(t[0][r],t[1][r]),n=_o(t[0][r],t[1][r]);return[a,n]},updateCoverShape:function(e,t,a,n){var i,o=PM(e,t);if(o!==gi&&o.getLinearBrushOtherExtent)i=o.getLinearBrushOtherExtent(r);else{var s=e._zr;i=[0,[s.getWidth(),s.getHeight()][1-r]]}var l=[a,i];r&&l.reverse(),kM(e,t,l,n)},updateCommon:Bp,contain:Gp}}function VM(r){return r=Vy(r),function(e){return XT(e,r)}}function zM(r,e){return r=Vy(r),function(t){var a=e??t,n=a?r.width:r.height,i=a?r.x:r.y;return[i,i+(n||0)]}}function GM(r,e,t){var a=Vy(r);return function(n,i){return a.contain(i[0],i[1])&&!Bh(n,e,t)}}function Vy(r){return gt.create(r)}var BF=["axisLine","axisTickLabel","axisName"],VF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a){r.prototype.init.apply(this,arguments),(this._brushController=new Ry(a.getZr())).on("brush",J(this._onBrush,this))},e.prototype.render=function(t,a,n,i){if(!zF(t,a,i)){this.axisModel=t,this.api=n,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new ut,this.group.add(this._axisGroup),!!t.get("show")){var s=FF(t,a),l=s.coordinateSystem,u=t.getAreaSelectStyle(),f=u.width,h=t.axis.dim,v=l.getAxisLayout(h),c=V({strokeContainThreshold:f},v),d=new Re(t,c);D(BF,d.add,d),this._axisGroup.add(d.getGroup()),this._refreshBrushController(c,u,t,s,f,n),wl(o,this._axisGroup,t)}}},e.prototype._refreshBrushController=function(t,a,n,i,o,s){var l=n.axis.getExtent(),u=l[1]-l[0],f=Math.min(30,Math.abs(u)*.1),h=gt.create({x:l[0],y:-o/2,width:u,height:o});h.x-=f,h.width+=2*f,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,x:t.position[0],y:t.position[1]}).setPanels([{panelId:"pl",clipPath:VM(h),isTargetByCursor:GM(h,s,i),getLinearBrushOtherExtent:zM(h,0)}]).enableBrush({brushType:"lineX",brushStyle:a,removeOnClick:!0}).updateCovers(GF(n))},e.prototype._onBrush=function(t){var a=t.areas,n=this.axisModel,i=n.axis,o=H(a,function(s){return[i.coordToData(s.range[0],!0),i.coordToData(s.range[1],!0)]});(!n.option.realtime===t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:n.id,intervals:o})},e.prototype.dispose=function(){this._brushController.dispose()},e.type="parallelAxis",e}(Ut);function zF(r,e,t){return t&&t.type==="axisAreaSelect"&&e.findComponents({mainType:"parallelAxis",query:t})[0]===r}function GF(r){var e=r.axis;return H(r.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function FF(r,e){return e.getComponent("parallel",r.get("parallelIndex"))}var HF={type:"axisAreaSelect",event:"axisAreaSelected"};function WF(r){r.registerAction(HF,function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(a){a.axis.model.setActiveIntervals(e.intervals)})}),r.registerAction("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(a){a.setAxisExpand(e)})})}var UF={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function FM(r){r.registerComponentView(hF),r.registerComponentModel(cF),r.registerCoordinateSystem("parallel",xF),r.registerPreprocessor(sF),r.registerComponentModel(Op),r.registerComponentView(VF),mo(r,"parallel",Op,UF),WF(r)}function YF(r){mt(FM),r.registerChartView(j3),r.registerSeriesModel(rF),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,oF)}var $F=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return r}(),ZF=function(r){k(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new $F},e.prototype.buildPath=function(t,a){var n=a.extent;t.moveTo(a.x1,a.y1),t.bezierCurveTo(a.cpx1,a.cpy1,a.cpx2,a.cpy2,a.x2,a.y2),a.orient==="vertical"?(t.lineTo(a.x2+n,a.y2),t.bezierCurveTo(a.cpx2+n,a.cpy2,a.cpx1+n,a.cpy1,a.x1+n,a.y1)):(t.lineTo(a.x2,a.y2+n),t.bezierCurveTo(a.cpx2,a.cpy2+n,a.cpx1,a.cpy1+n,a.x1,a.y1+n)),t.closePath()},e.prototype.highlight=function(){ya(this)},e.prototype.downplay=function(){ma(this)},e}(St),XF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._focusAdjacencyDisabled=!1,t}return e.prototype.render=function(t,a,n){var i=this,o=t.getGraph(),s=this.group,l=t.layoutInfo,u=l.width,f=l.height,h=t.getData(),v=t.getData("edge"),c=t.get("orient");this._model=t,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(d){var p=new ZF,g=ht(p);g.dataIndex=d.dataIndex,g.seriesIndex=t.seriesIndex,g.dataType="edge";var y=d.getModel(),m=y.getModel("lineStyle"),_=m.get("curveness"),S=d.node1.getLayout(),b=d.node1.getModel(),x=b.get("localX"),w=b.get("localY"),T=d.node2.getLayout(),A=d.node2.getModel(),C=A.get("localX"),M=A.get("localY"),L=d.getLayout(),I,P,R,E,N,O,B,G;p.shape.extent=Math.max(1,L.dy),p.shape.orient=c,c==="vertical"?(I=(x!=null?x*u:S.x)+L.sy,P=(w!=null?w*f:S.y)+S.dy,R=(C!=null?C*u:T.x)+L.ty,E=M!=null?M*f:T.y,N=I,O=P*(1-_)+E*_,B=R,G=P*_+E*(1-_)):(I=(x!=null?x*u:S.x)+S.dx,P=(w!=null?w*f:S.y)+L.sy,R=C!=null?C*u:T.x,E=(M!=null?M*f:T.y)+L.ty,N=I*(1-_)+R*_,O=P,B=I*_+R*(1-_),G=E),p.setShape({x1:I,y1:P,x2:R,y2:E,cpx1:N,cpy1:O,cpx2:B,cpy2:G}),p.useStyle(m.getItemStyle()),nx(p.style,c,d);var U=""+y.get("value"),Z=le(y,"edgeLabel");ye(p,Z,{labelFetcher:{getFormattedLabel:function(W,Y,ft,tt,q,it){return t.getFormattedLabel(W,Y,"edge",tt,Zr(q,Z.normal&&Z.normal.get("formatter"),U),it)}},labelDataIndex:d.dataIndex,defaultText:U}),p.setTextConfig({position:"inside"});var rt=y.getModel("emphasis");ge(p,y,"lineStyle",function(W){var Y=W.getItemStyle();return nx(Y,c,d),Y}),s.add(p),v.setItemGraphicEl(d.dataIndex,p);var at=rt.get("focus");Yt(p,at==="adjacency"?d.getAdjacentDataIndices():at==="trajectory"?d.getTrajectoryDataIndices():at,rt.get("blurScope"),rt.get("disabled"))}),o.eachNode(function(d){var p=d.getLayout(),g=d.getModel(),y=g.get("localX"),m=g.get("localY"),_=g.getModel("emphasis"),S=g.get(["itemStyle","borderRadius"])||0,b=new Tt({shape:{x:y!=null?y*u:p.x,y:m!=null?m*f:p.y,width:p.dx,height:p.dy,r:S},style:g.getModel("itemStyle").getItemStyle(),z2:10});ye(b,le(g),{labelFetcher:{getFormattedLabel:function(w,T){return t.getFormattedLabel(w,T,"node")}},labelDataIndex:d.dataIndex,defaultText:d.id}),b.disableLabelAnimation=!0,b.setStyle("fill",d.getVisual("color")),b.setStyle("decal",d.getVisual("style").decal),ge(b,g),s.add(b),h.setItemGraphicEl(d.dataIndex,b),ht(b).dataType="node";var x=_.get("focus");Yt(b,x==="adjacency"?d.getAdjacentDataIndices():x==="trajectory"?d.getTrajectoryDataIndices():x,_.get("blurScope"),_.get("disabled"))}),h.eachItemGraphicEl(function(d,p){var g=h.getItemModel(p);g.get("draggable")&&(d.drift=function(y,m){i._focusAdjacencyDisabled=!0,this.shape.x+=y,this.shape.y+=m,this.dirty(),n.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:h.getRawIndex(p),localX:this.shape.x/u,localY:this.shape.y/f})},d.ondragend=function(){i._focusAdjacencyDisabled=!1},d.draggable=!0,d.cursor="move")}),!this._data&&t.isAnimationEnabled()&&s.setClipPath(qF(s.getBoundingRect(),t,function(){s.removeClipPath()})),this._data=t.getData()},e.prototype.dispose=function(){},e.type="sankey",e}(Nt);function nx(r,e,t){switch(r.fill){case"source":r.fill=t.node1.getVisual("color"),r.decal=t.node1.getVisual("style").decal;break;case"target":r.fill=t.node2.getVisual("color"),r.decal=t.node2.getVisual("style").decal;break;case"gradient":var a=t.node1.getVisual("color"),n=t.node2.getVisual("color");K(a)&&K(n)&&(r.fill=new bl(0,0,+(e==="horizontal"),+(e==="vertical"),[{color:a,offset:0},{color:n,offset:1}]))}}function qF(r,e,t){var a=new Tt({shape:{x:r.x-10,y:r.y-10,width:0,height:r.height+20}});return Ft(a,{shape:{width:r.width+20}},e,t),a}var KF=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,a){var n=t.edges||t.links||[],i=t.data||t.nodes||[],o=t.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l<o.length;l++)o[l].depth!=null&&o[l].depth>=0&&(s[o[l].depth]=new Et(o[l],this,a));var u=wM(i,n,this,!0,f);return u.data;function f(h,v){h.wrapMethod("getItemModel",function(c,d){var p=c.parentModel,g=p.getData().getItemLayout(d);if(g){var y=g.depth,m=p.levelModels[y];m&&(c.parentModel=m)}return c}),v.wrapMethod("getItemModel",function(c,d){var p=c.parentModel,g=p.getGraph().getEdgeByIndex(d),y=g.node1.getLayout();if(y){var m=y.depth,_=p.levelModels[m];_&&(c.parentModel=_)}return c})}},e.prototype.setNodePosition=function(t,a){var n=this.option.data||this.option.nodes,i=n[t];i.localX=a[0],i.localY=a[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,a,n){function i(c){return isNaN(c)||c==null}if(n==="edge"){var o=this.getDataParams(t,n),s=o.data,l=o.value,u=s.source+" -- "+s.target;return ue("nameValue",{name:u,value:l,noValue:i(l)})}else{var f=this.getGraph().getNodeByIndex(t),h=f.getLayout().value,v=this.getDataParams(t,n).data.name;return ue("nameValue",{name:v!=null?v+"":null,value:h,noValue:i(h)})}},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(t,a){var n=r.prototype.getDataParams.call(this,t,a);if(n.value==null&&a==="node"){var i=this.getGraph().getNodeByIndex(t),o=i.getLayout().value;n.value=o}return n},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(Gt);function JF(r,e){r.eachSeriesByType("sankey",function(t){var a=t.get("nodeWidth"),n=t.get("nodeGap"),i=QF(t,e);t.layoutInfo=i;var o=i.width,s=i.height,l=t.getGraph(),u=l.nodes,f=l.edges;t4(u);var h=Pt(u,function(p){return p.getLayout().value===0}),v=h.length!==0?0:t.get("layoutIterations"),c=t.get("orient"),d=t.get("nodeAlign");jF(u,f,a,n,o,s,v,c,d)})}function QF(r,e){return re(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function jF(r,e,t,a,n,i,o,s,l){e4(r,e,t,n,i,s,l),i4(r,e,i,n,a,o,s),d4(r,s)}function t4(r){D(r,function(e){var t=en(e.outEdges,Uf),a=en(e.inEdges,Uf),n=e.getValue()||0,i=Math.max(t,a,n);e.setLayout({value:i},!0)})}function e4(r,e,t,a,n,i,o){for(var s=[],l=[],u=[],f=[],h=0,v=0;v<e.length;v++)s[v]=1;for(var v=0;v<r.length;v++)l[v]=r[v].inEdges.length,l[v]===0&&u.push(r[v]);for(var c=-1;u.length;){for(var d=0;d<u.length;d++){var p=u[d],g=p.hostGraph.data.getRawDataItem(p.dataIndex),y=g.depth!=null&&g.depth>=0;y&&g.depth>c&&(c=g.depth),p.setLayout({depth:y?g.depth:h},!0),i==="vertical"?p.setLayout({dy:t},!0):p.setLayout({dx:t},!0);for(var m=0;m<p.outEdges.length;m++){var _=p.outEdges[m],S=e.indexOf(_);s[S]=0;var b=_.node2,x=r.indexOf(b);--l[x]===0&&f.indexOf(b)<0&&f.push(b)}}++h,u=f,f=[]}for(var v=0;v<s.length;v++)if(s[v]===1)throw new Error("Sankey is a DAG, the original data has cycle!");var w=c>h-1?c:h-1;o&&o!=="left"&&r4(r,o,i,w);var T=i==="vertical"?(n-t)/w:(a-t)/w;n4(r,T,i)}function HM(r){var e=r.hostGraph.data.getRawDataItem(r.dataIndex);return e.depth!=null&&e.depth>=0}function r4(r,e,t,a){if(e==="right"){for(var n=[],i=r,o=0;i.length;){for(var s=0;s<i.length;s++){var l=i[s];l.setLayout({skNodeHeight:o},!0);for(var u=0;u<l.inEdges.length;u++){var f=l.inEdges[u];n.indexOf(f.node1)<0&&n.push(f.node1)}}i=n,n=[],++o}D(r,function(h){HM(h)||h.setLayout({depth:Math.max(0,a-h.getLayout().skNodeHeight)},!0)})}else e==="justify"&&a4(r,a)}function a4(r,e){D(r,function(t){!HM(t)&&!t.outEdges.length&&t.setLayout({depth:e},!0)})}function n4(r,e,t){D(r,function(a){var n=a.getLayout().depth*e;t==="vertical"?a.setLayout({y:n},!0):a.setLayout({x:n},!0)})}function i4(r,e,t,a,n,i,o){var s=o4(r,o);s4(s,e,t,a,n,o),Gc(s,n,t,a,o);for(var l=1;i>0;i--)l*=.99,l4(s,l,o),Gc(s,n,t,a,o),c4(s,l,o),Gc(s,n,t,a,o)}function o4(r,e){var t=[],a=e==="vertical"?"y":"x",n=Fd(r,function(i){return i.getLayout()[a]});return n.keys.sort(function(i,o){return i-o}),D(n.keys,function(i){t.push(n.buckets.get(i))}),t}function s4(r,e,t,a,n,i){var o=1/0;D(r,function(s){var l=s.length,u=0;D(s,function(h){u+=h.getLayout().value});var f=i==="vertical"?(a-(l-1)*n)/u:(t-(l-1)*n)/u;f<o&&(o=f)}),D(r,function(s){D(s,function(l,u){var f=l.getLayout().value*o;i==="vertical"?(l.setLayout({x:u},!0),l.setLayout({dx:f},!0)):(l.setLayout({y:u},!0),l.setLayout({dy:f},!0))})}),D(e,function(s){var l=+s.getValue()*o;s.setLayout({dy:l},!0)})}function Gc(r,e,t,a,n){var i=n==="vertical"?"x":"y";D(r,function(o){o.sort(function(p,g){return p.getLayout()[i]-g.getLayout()[i]});for(var s,l,u,f=0,h=o.length,v=n==="vertical"?"dx":"dy",c=0;c<h;c++)l=o[c],u=f-l.getLayout()[i],u>0&&(s=l.getLayout()[i]+u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[i]+l.getLayout()[v]+e;var d=n==="vertical"?a:t;if(u=f-e-d,u>0){s=l.getLayout()[i]-u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),f=s;for(var c=h-2;c>=0;--c)l=o[c],u=l.getLayout()[i]+l.getLayout()[v]+e-f,u>0&&(s=l.getLayout()[i]-u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[i]}})}function l4(r,e,t){D(r.slice().reverse(),function(a){D(a,function(n){if(n.outEdges.length){var i=en(n.outEdges,u4,t)/en(n.outEdges,Uf);if(isNaN(i)){var o=n.outEdges.length;i=o?en(n.outEdges,f4,t)/o:0}if(t==="vertical"){var s=n.getLayout().x+(i-un(n,t))*e;n.setLayout({x:s},!0)}else{var l=n.getLayout().y+(i-un(n,t))*e;n.setLayout({y:l},!0)}}})})}function u4(r,e){return un(r.node2,e)*r.getValue()}function f4(r,e){return un(r.node2,e)}function h4(r,e){return un(r.node1,e)*r.getValue()}function v4(r,e){return un(r.node1,e)}function un(r,e){return e==="vertical"?r.getLayout().x+r.getLayout().dx/2:r.getLayout().y+r.getLayout().dy/2}function Uf(r){return r.getValue()}function en(r,e,t){for(var a=0,n=r.length,i=-1;++i<n;){var o=+e(r[i],t);isNaN(o)||(a+=o)}return a}function c4(r,e,t){D(r,function(a){D(a,function(n){if(n.inEdges.length){var i=en(n.inEdges,h4,t)/en(n.inEdges,Uf);if(isNaN(i)){var o=n.inEdges.length;i=o?en(n.inEdges,v4,t)/o:0}if(t==="vertical"){var s=n.getLayout().x+(i-un(n,t))*e;n.setLayout({x:s},!0)}else{var l=n.getLayout().y+(i-un(n,t))*e;n.setLayout({y:l},!0)}}})})}function d4(r,e){var t=e==="vertical"?"x":"y";D(r,function(a){a.outEdges.sort(function(n,i){return n.node2.getLayout()[t]-i.node2.getLayout()[t]}),a.inEdges.sort(function(n,i){return n.node1.getLayout()[t]-i.node1.getLayout()[t]})}),D(r,function(a){var n=0,i=0;D(a.outEdges,function(o){o.setLayout({sy:n},!0),n+=o.getLayout().dy}),D(a.inEdges,function(o){o.setLayout({ty:i},!0),i+=o.getLayout().dy})})}function p4(r){r.eachSeriesByType("sankey",function(e){var t=e.getGraph(),a=t.nodes,n=t.edges;if(a.length){var i=1/0,o=-1/0;D(a,function(s){var l=s.getLayout().value;l<i&&(i=l),l>o&&(o=l)}),D(a,function(s){var l=new se({type:"color",mappingMethod:"linear",dataExtent:[i,o],visual:e.get("color")}),u=l.mapValueToVisual(s.getLayout().value),f=s.getModel().get(["itemStyle","color"]);f!=null?(s.setVisual("color",f),s.setVisual("style",{fill:f})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}n.length&&D(n,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function g4(r){r.registerChartView(XF),r.registerSeriesModel(KF),r.registerLayout(JF),r.registerVisual(p4),r.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(a){a.setNodePosition(e.dataIndex,[e.localX,e.localY])})})}var WM=function(){function r(){}return r.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},r.prototype.getInitialData=function(e,t){var a,n=t.getComponent("xAxis",this.get("xAxisIndex")),i=t.getComponent("yAxis",this.get("yAxisIndex")),o=n.get("type"),s=i.get("type"),l;o==="category"?(e.layout="horizontal",a=n.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(e.layout="vertical",a=i.getOrdinalMeta(),l=!this._hasEncodeRule("y")):e.layout=e.layout||"horizontal";var u=["x","y"],f=e.layout==="horizontal"?0:1,h=this._baseAxisDim=u[f],v=u[1-f],c=[n,i],d=c[f].get("type"),p=c[1-f].get("type"),g=e.data;if(g&&l){var y=[];D(g,function(S,b){var x;z(S)?(x=S.slice(),S.unshift(b)):z(S.value)?(x=V({},S),x.value=x.value.slice(),S.value.unshift(b)):x=S,y.push(x)}),e.data=y}var m=this.defaultValueDimensions,_=[{name:h,type:Ef(d),ordinalMeta:a,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:v,type:Ef(p),dimsDef:m.slice()}];return Bo(this,{coordDimensions:_,dimensionsCount:m.length+1,encodeDefaulter:ct(SA,_,this)})},r.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+"Axis",this.get(e+"AxisIndex")).axis},r}(),UM=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],t.visualDrawType="stroke",t}return e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(Gt);te(UM,WM,!0);var y4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=t.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=t.get("layout")==="horizontal"?1:0;i.diff(s).add(function(u){if(i.hasValue(u)){var f=i.getItemLayout(u),h=ix(f,i,u,l,!0);i.setItemGraphicEl(u,h),o.add(h)}}).update(function(u,f){var h=s.getItemGraphicEl(f);if(!i.hasValue(u)){o.remove(h);return}var v=i.getItemLayout(u);h?(Ir(h),YM(v,h,i,u)):h=ix(v,i,u,l),o.add(h),i.setItemGraphicEl(u,h)}).remove(function(u){var f=s.getItemGraphicEl(u);f&&o.remove(f)}).execute(),this._data=i},e.prototype.remove=function(t){var a=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl(function(i){i&&a.remove(i)})},e.type="boxplot",e}(Nt),m4=function(){function r(){}return r}(),_4=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="boxplotBoxPath",a}return e.prototype.getDefaultShape=function(){return new m4},e.prototype.buildPath=function(t,a){var n=a.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();i<n.length;i++)t.moveTo(n[i][0],n[i][1]),i++,t.lineTo(n[i][0],n[i][1])},e}(St);function ix(r,e,t,a,n){var i=r.ends,o=new _4({shape:{points:n?S4(i,a,r):i}});return YM(r,o,e,t,n),o}function YM(r,e,t,a,n){var i=t.hostModel,o=xi[n?"initProps":"updateProps"];o(e,{shape:{points:r.ends}},i,a),e.useStyle(t.getItemVisual(a,"style")),e.style.strokeNoScale=!0,e.z2=100;var s=t.getItemModel(a),l=s.getModel("emphasis");ge(e,s),Yt(e,l.get("focus"),l.get("blurScope"),l.get("disabled"))}function S4(r,e,t){return H(r,function(a){return a=a.slice(),a[e]=t.initBaseline,a})}var zs=D;function x4(r){var e=b4(r);zs(e,function(t){var a=t.seriesModels;a.length&&(w4(t),zs(a,function(n,i){T4(n,t.boxOffsetList[i],t.boxWidthList[i])}))})}function b4(r){var e=[],t=[];return r.eachSeriesByType("boxplot",function(a){var n=a.getBaseAxis(),i=yt(t,n);i<0&&(i=t.length,t[i]=n,e[i]={axis:n,seriesModels:[]}),e[i].seriesModels.push(a)}),e}function w4(r){var e=r.axis,t=r.seriesModels,a=t.length,n=r.boxWidthList=[],i=r.boxOffsetList=[],o=[],s;if(e.type==="category")s=e.getBandWidth();else{var l=0;zs(t,function(d){l=Math.max(l,d.getData().count())});var u=e.getExtent();s=Math.abs(u[1]-u[0])/l}zs(t,function(d){var p=d.get("boxWidth");z(p)||(p=[p,p]),o.push([X(p[0],s)||0,X(p[1],s)||0])});var f=s*.8-2,h=f/a*.3,v=(f-h*(a-1))/a,c=v/2-f/2;zs(t,function(d,p){i.push(c),c+=h+v,n.push(Math.min(Math.max(v,o[p][0]),o[p][1]))})}function T4(r,e,t){var a=r.coordinateSystem,n=r.getData(),i=t/2,o=r.get("layout")==="horizontal"?0:1,s=1-o,l=["x","y"],u=n.mapDimension(l[o]),f=n.mapDimensionsAll(l[s]);if(u==null||f.length<5)return;for(var h=0;h<n.count();h++){var v=n.get(u,h),c=_(v,f[2],h),d=_(v,f[0],h),p=_(v,f[1],h),g=_(v,f[3],h),y=_(v,f[4],h),m=[];S(m,p,!1),S(m,g,!0),m.push(d,p,y,g),b(m,d),b(m,y),b(m,c),n.setItemLayout(h,{initBaseline:c[s],ends:m})}function _(x,w,T){var A=n.get(w,T),C=[];C[o]=x,C[s]=A;var M;return isNaN(x)||isNaN(A)?M=[NaN,NaN]:(M=a.dataToPoint(C),M[o]+=e),M}function S(x,w,T){var A=w.slice(),C=w.slice();A[o]+=i,C[o]-=i,T?x.push(A,C):x.push(C,A)}function b(x,w){var T=w.slice(),A=w.slice();T[o]-=i,A[o]+=i,x.push(T,A)}}function A4(r,e){e=e||{};for(var t=[],a=[],n=e.boundIQR,i=n==="none"||n===0,o=0;o<r.length;o++){var s=hr(r[o].slice()),l=pv(s,.25),u=pv(s,.5),f=pv(s,.75),h=s[0],v=s[s.length-1],c=(n??1.5)*(f-l),d=i?h:Math.max(h,l-c),p=i?v:Math.min(v,f+c),g=e.itemNameFormatter,y=nt(g)?g({value:o}):K(g)?g.replace("{value}",o+""):o+"";t.push([y,d,l,u,f,p]);for(var m=0;m<s.length;m++){var _=s[m];if(_<d||_>p){var S=[y,_];a.push(S)}}}return{boxData:t,outliers:a}}var C4={type:"echarts:boxplot",transform:function(e){var t=e.upstream;if(t.sourceFormat!==Ae){var a="";It(a)}var n=A4(t.getRawData(),e.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:n.boxData},{data:n.outliers}]}};function D4(r){r.registerSeriesModel(UM),r.registerChartView(y4),r.registerLayout(x4),r.registerTransform(C4)}var M4=["itemStyle","borderColor"],L4=["itemStyle","borderColor0"],I4=["itemStyle","borderColorDoji"],P4=["itemStyle","color"],R4=["itemStyle","color0"];function zy(r,e){return e.get(r>0?P4:R4)}function Gy(r,e){return e.get(r===0?I4:r>0?M4:L4)}var E4={seriesType:"candlestick",plan:Eo(),performRawSeries:!0,reset:function(r,e){if(!e.isSeriesFiltered(r)){var t=r.pipelineContext.large;return!t&&{progress:function(a,n){for(var i;(i=a.next())!=null;){var o=n.getItemModel(i),s=n.getItemLayout(i).sign,l=o.getItemStyle();l.fill=zy(s,o),l.stroke=Gy(s,o)||l.fill;var u=n.ensureUniqueItemVisual(i,"style");V(u,l)}}}}}},k4=["color","borderColor"],O4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,a,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,a,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,a):this._incrementalRenderNormal(t,a)},e.prototype.eachRendered=function(t){hn(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var a=t.pipelineContext.large;(this._isLargeDraw==null||a!==this._isLargeDraw)&&(this._isLargeDraw=a,this._clear())},e.prototype._renderNormal=function(t){var a=t.getData(),n=this._data,i=this.group,o=a.getLayout("isSimpleBox"),s=t.get("clip",!0),l=t.coordinateSystem,u=l.getArea&&l.getArea();this._data||i.removeAll(),a.diff(n).add(function(f){if(a.hasValue(f)){var h=a.getItemLayout(f);if(s&&ox(u,h))return;var v=Fc(h,f,!0);Ft(v,{shape:{points:h.ends}},t,f),Hc(v,a,f,o),i.add(v),a.setItemGraphicEl(f,v)}}).update(function(f,h){var v=n.getItemGraphicEl(h);if(!a.hasValue(f)){i.remove(v);return}var c=a.getItemLayout(f);if(s&&ox(u,c)){i.remove(v);return}v?(Mt(v,{shape:{points:c.ends}},t,f),Ir(v)):v=Fc(c),Hc(v,a,f,o),i.add(v),a.setItemGraphicEl(f,v)}).remove(function(f){var h=n.getItemGraphicEl(f);h&&i.remove(h)}).execute(),this._data=a},e.prototype._renderLarge=function(t){this._clear(),sx(t,this.group);var a=t.get("clip",!0)?Pl(t.coordinateSystem,!1,t):null;a?this.group.setClipPath(a):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,a){for(var n=a.getData(),i=n.getLayout("isSimpleBox"),o;(o=t.next())!=null;){var s=n.getItemLayout(o),l=Fc(s);Hc(l,n,o,i),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},e.prototype._incrementalRenderLarge=function(t,a){sx(a,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(Nt),N4=function(){function r(){}return r}(),B4=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="normalCandlestickBox",a}return e.prototype.getDefaultShape=function(){return new N4},e.prototype.buildPath=function(t,a){var n=a.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(St);function Fc(r,e,t){var a=r.ends;return new B4({shape:{points:t?V4(a,r):a},z2:100})}function ox(r,e){for(var t=!0,a=0;a<e.ends.length;a++)if(r.contain(e.ends[a][0],e.ends[a][1])){t=!1;break}return t}function Hc(r,e,t,a){var n=e.getItemModel(t);r.useStyle(e.getItemVisual(t,"style")),r.style.strokeNoScale=!0,r.__simpleBox=a,ge(r,n);var i=e.getItemLayout(t).sign;D(r.states,function(s,l){var u=n.getModel(l),f=zy(i,u),h=Gy(i,u)||f,v=s.style||(s.style={});f&&(v.fill=f),h&&(v.stroke=h)});var o=n.getModel("emphasis");Yt(r,o.get("focus"),o.get("blurScope"),o.get("disabled"))}function V4(r,e){return H(r,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}var z4=function(){function r(){}return r}(),Wc=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a.type="largeCandlestickBox",a}return e.prototype.getDefaultShape=function(){return new z4},e.prototype.buildPath=function(t,a){for(var n=a.points,i=0;i<n.length;)if(this.__sign===n[i++]){var o=n[i++];t.moveTo(o,n[i++]),t.lineTo(o,n[i++])}else i+=3},e}(St);function sx(r,e,t,a){var n=r.getData(),i=n.getLayout("largePoints"),o=new Wc({shape:{points:i},__sign:1,ignoreCoarsePointer:!0});e.add(o);var s=new Wc({shape:{points:i},__sign:-1,ignoreCoarsePointer:!0});e.add(s);var l=new Wc({shape:{points:i},__sign:0,ignoreCoarsePointer:!0});e.add(l),Uc(1,o,r),Uc(-1,s,r),Uc(0,l,r),a&&(o.incremental=!0,s.incremental=!0),t&&t.push(o,s)}function Uc(r,e,t,a){var n=Gy(r,t)||zy(r,t),i=t.getModel("itemStyle").getItemStyle(k4);e.useStyle(i),e.style.fill=null,e.style.stroke=n}var $M=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],t}return e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,a,n){var i=a.getItemLayout(t);return i&&n.rect(i.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(Gt);te($M,WM,!0);function G4(r){!r||!z(r.series)||D(r.series,function(e){st(e)&&e.type==="k"&&(e.type="candlestick")})}var F4={seriesType:"candlestick",plan:Eo(),reset:function(r){var e=r.coordinateSystem,t=r.getData(),a=H4(r,t),n=0,i=1,o=["x","y"],s=t.getDimensionIndex(t.mapDimension(o[n])),l=H(t.mapDimensionsAll(o[i]),t.getDimensionIndex,t),u=l[0],f=l[1],h=l[2],v=l[3];if(t.setLayout({candleWidth:a,isSimpleBox:a<=1.3}),s<0||l.length<4)return;return{progress:r.pipelineContext.large?d:c};function c(p,g){for(var y,m=g.getStore();(y=p.next())!=null;){var _=m.get(s,y),S=m.get(u,y),b=m.get(f,y),x=m.get(h,y),w=m.get(v,y),T=Math.min(S,b),A=Math.max(S,b),C=N(T,_),M=N(A,_),L=N(x,_),I=N(w,_),P=[];O(P,M,0),O(P,C,1),P.push(G(I),G(M),G(L),G(C));var R=g.getItemModel(y),E=!!R.get(["itemStyle","borderColorDoji"]);g.setItemLayout(y,{sign:lx(m,y,S,b,f,E),initBaseline:S>b?M[i]:C[i],ends:P,brushRect:B(x,w,_)})}function N(U,Z){var rt=[];return rt[n]=Z,rt[i]=U,isNaN(Z)||isNaN(U)?[NaN,NaN]:e.dataToPoint(rt)}function O(U,Z,rt){var at=Z.slice(),W=Z.slice();at[n]=Ju(at[n]+a/2,1,!1),W[n]=Ju(W[n]-a/2,1,!0),rt?U.push(at,W):U.push(W,at)}function B(U,Z,rt){var at=N(U,rt),W=N(Z,rt);return at[n]-=a/2,W[n]-=a/2,{x:at[0],y:at[1],width:a,height:W[1]-at[1]}}function G(U){return U[n]=Ju(U[n],1),U}}function d(p,g){for(var y=Yr(p.count*4),m=0,_,S=[],b=[],x,w=g.getStore(),T=!!r.get(["itemStyle","borderColorDoji"]);(x=p.next())!=null;){var A=w.get(s,x),C=w.get(u,x),M=w.get(f,x),L=w.get(h,x),I=w.get(v,x);if(isNaN(A)||isNaN(L)||isNaN(I)){y[m++]=NaN,m+=3;continue}y[m++]=lx(w,x,C,M,f,T),S[n]=A,S[i]=L,_=e.dataToPoint(S,null,b),y[m++]=_?_[0]:NaN,y[m++]=_?_[1]:NaN,S[i]=I,_=e.dataToPoint(S,null,b),y[m++]=_?_[1]:NaN}g.setLayout("largePoints",y)}}};function lx(r,e,t,a,n,i){var o;return t>a?o=-1:t<a?o=1:o=i?0:e>0?r.get(n,e-1)<=a?1:-1:1,o}function H4(r,e){var t=r.getBaseAxis(),a,n=t.type==="category"?t.getBandWidth():(a=t.getExtent(),Math.abs(a[1]-a[0])/e.count()),i=X(vt(r.get("barMaxWidth"),n),n),o=X(vt(r.get("barMinWidth"),1),n),s=r.get("barWidth");return s!=null?X(s,n):Math.max(Math.min(n/2,i),o)}function W4(r){r.registerChartView(O4),r.registerSeriesModel($M),r.registerPreprocessor(G4),r.registerVisual(E4),r.registerLayout(F4)}function ux(r,e){var t=e.rippleEffectColor||e.color;r.eachChild(function(a){a.attr({z:e.z,zlevel:e.zlevel,style:{stroke:e.brushType==="stroke"?t:null,fill:e.brushType==="fill"?t:null}})})}var U4=function(r){k(e,r);function e(t,a){var n=r.call(this)||this,i=new Ll(t,a),o=new ut;return n.add(i),n.add(o),n.updateData(t,a),n}return e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var a=t.symbolType,n=t.color,i=t.rippleNumber,o=this.childAt(1),s=0;s<i;s++){var l=jt(a,-1,-1,2,2,n);l.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var u=-s/i*t.period+t.effectOffset;l.animate("",!0).when(t.period,{scaleX:t.rippleScale/2,scaleY:t.rippleScale/2}).delay(u).start(),l.animateStyle(!0).when(t.period,{opacity:0}).delay(u).start(),o.add(l)}ux(o,t)},e.prototype.updateEffectAnimation=function(t){for(var a=this._effectCfg,n=this.childAt(1),i=["symbolType","period","rippleScale","rippleNumber"],o=0;o<i.length;o++){var s=i[o];if(a[s]!==t[s]){this.stopEffectAnimation(),this.startEffectAnimation(t);return}}ux(n,t)},e.prototype.highlight=function(){ya(this)},e.prototype.downplay=function(){ma(this)},e.prototype.getSymbolType=function(){var t=this.childAt(0);return t&&t.getSymbolType()},e.prototype.updateData=function(t,a){var n=this,i=t.hostModel;this.childAt(0).updateData(t,a);var o=this.childAt(1),s=t.getItemModel(a),l=t.getItemVisual(a,"symbol"),u=Oo(t.getItemVisual(a,"symbolSize")),f=t.getItemVisual(a,"style"),h=f&&f.fill,v=s.getModel("emphasis");o.setScale(u),o.traverse(function(g){g.setStyle("fill",h)});var c=bi(t.getItemVisual(a,"symbolOffset"),u);c&&(o.x=c[0],o.y=c[1]);var d=t.getItemVisual(a,"symbolRotate");o.rotation=(d||0)*Math.PI/180||0;var p={};p.showEffectOn=i.get("showEffectOn"),p.rippleScale=s.get(["rippleEffect","scale"]),p.brushType=s.get(["rippleEffect","brushType"]),p.period=s.get(["rippleEffect","period"])*1e3,p.effectOffset=a/t.count(),p.z=i.getShallow("z")||0,p.zlevel=i.getShallow("zlevel")||0,p.symbolType=l,p.color=h,p.rippleEffectColor=s.get(["rippleEffect","color"]),p.rippleNumber=s.get(["rippleEffect","number"]),p.showEffectOn==="render"?(this._effectCfg?this.updateEffectAnimation(p):this.startEffectAnimation(p),this._effectCfg=p):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(g){g==="emphasis"?p.showEffectOn!=="render"&&n.startEffectAnimation(p):g==="normal"&&p.showEffectOn!=="render"&&n.stopEffectAnimation()}),this._effectCfg=p,Yt(this,v.get("focus"),v.get("blurScope"),v.get("disabled"))},e.prototype.fadeOut=function(t){t&&t()},e}(ut),Y4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._symbolDraw=new Il(U4)},e.prototype.render=function(t,a,n){var i=t.getData(),o=this._symbolDraw;o.updateData(i,{clipShape:this._getClipShape(t)}),this.group.add(o.group)},e.prototype._getClipShape=function(t){var a=t.coordinateSystem,n=a&&a.getArea&&a.getArea();return t.get("clip",!0)?n:null},e.prototype.updateTransform=function(t,a,n){var i=t.getData();this.group.dirty();var o=Rl("").reset(t,a,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout()},e.prototype._updateGroupTransform=function(t){var a=t.coordinateSystem;a&&a.getRoamTransform&&(this.group.transform=gI(a.getRoamTransform()),this.group.decomposeTransform())},e.prototype.remove=function(t,a){this._symbolDraw&&this._symbolDraw.remove(!0)},e.type="effectScatter",e}(Nt),$4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,a){return Aa(null,this,{useEncodeDefaulter:!0})},e.prototype.brushSelector=function(t,a,n){return n.point(a.getItemLayout(t))},e.type="series.effectScatter",e.dependencies=["grid","polar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",clip:!0,rippleEffect:{period:4,scale:2.5,brushType:"fill",number:3},universalTransition:{divideShape:"clone"},symbolSize:10},e}(Gt);function Z4(r){r.registerChartView(Y4),r.registerSeriesModel($4),r.registerLayout(Rl("effectScatter"))}var ZM=function(r){k(e,r);function e(t,a,n){var i=r.call(this)||this;return i.add(i.createLine(t,a,n)),i._updateEffectSymbol(t,a),i}return e.prototype.createLine=function(t,a,n){return new Iy(t,a,n)},e.prototype._updateEffectSymbol=function(t,a){var n=t.getItemModel(a),i=n.getModel("effect"),o=i.get("symbolSize"),s=i.get("symbol");z(o)||(o=[o,o]);var l=t.getItemVisual(a,"style"),u=i.get("color")||l&&l.stroke,f=this.childAt(1);this._symbolType!==s&&(this.remove(f),f=jt(s,-.5,-.5,1,1,u),f.z2=100,f.culling=!0,this.add(f)),f&&(f.setStyle("shadowColor",u),f.setStyle(i.getItemStyle(["color"])),f.scaleX=o[0],f.scaleY=o[1],f.setColor(u),this._symbolType=s,this._symbolScale=o,this._updateEffectAnimation(t,i,a))},e.prototype._updateEffectAnimation=function(t,a,n){var i=this.childAt(1);if(i){var o=t.getItemLayout(n),s=a.get("period")*1e3,l=a.get("loop"),u=a.get("roundTrip"),f=a.get("constantSpeed"),h=ve(a.get("delay"),function(c){return c/t.count()*s/3});if(i.ignore=!0,this._updateAnimationPoints(i,o),f>0&&(s=this._getLineLength(i)/f*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){i.stopAnimation();var v=void 0;nt(h)?v=h(n):v=h,i.__t>0&&(v=-s*i.__t),this._animateSymbol(i,s,v,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},e.prototype._animateSymbol=function(t,a,n,i,o){if(a>0){t.__t=0;var s=this,l=t.animate("",i).when(o?a*2:a,{__t:o?2:1}).delay(n).during(function(){s._updateSymbolPosition(t)});i||l.done(function(){s.remove(t)}),l.start()}},e.prototype._getLineLength=function(t){return Wa(t.__p1,t.__cp1)+Wa(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,a){t.__p1=a[0],t.__p2=a[1],t.__cp1=a[2]||[(a[0][0]+a[1][0])/2,(a[0][1]+a[1][1])/2]},e.prototype.updateData=function(t,a,n){this.childAt(0).updateData(t,a,n),this._updateEffectSymbol(t,a)},e.prototype._updateSymbolPosition=function(t){var a=t.__p1,n=t.__p2,i=t.__cp1,o=t.__t<1?t.__t:2-t.__t,s=[t.x,t.y],l=s.slice(),u=he,f=Cd;s[0]=u(a[0],i[0],n[0],o),s[1]=u(a[1],i[1],n[1],o);var h=t.__t<1?f(a[0],i[0],n[0],o):f(n[0],i[0],a[0],1-o),v=t.__t<1?f(a[1],i[1],n[1],o):f(n[1],i[1],a[1],1-o);t.rotation=-Math.atan2(v,h)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(t.__lastT!==void 0&&t.__lastT<t.__t?(t.scaleY=Wa(l,s)*1.05,o===1&&(s[0]=l[0]+(s[0]-l[0])/2,s[1]=l[1]+(s[1]-l[1])/2)):t.__lastT===1?t.scaleY=2*Wa(a,s):t.scaleY=this._symbolScale[1]),t.__lastT=t.__t,t.ignore=!1,t.x=s[0],t.y=s[1]},e.prototype.updateLayout=function(t,a){this.childAt(0).updateLayout(t,a);var n=t.getItemModel(a).getModel("effect");this._updateEffectAnimation(t,n,a)},e}(ut),XM=function(r){k(e,r);function e(t,a,n){var i=r.call(this)||this;return i._createPolyline(t,a,n),i}return e.prototype._createPolyline=function(t,a,n){var i=t.getItemLayout(a),o=new Be({shape:{points:i}});this.add(o),this._updateCommonStl(t,a,n)},e.prototype.updateData=function(t,a,n){var i=t.hostModel,o=this.childAt(0),s={shape:{points:t.getItemLayout(a)}};Mt(o,s,i,a),this._updateCommonStl(t,a,n)},e.prototype._updateCommonStl=function(t,a,n){var i=this.childAt(0),o=t.getItemModel(a),s=n&&n.emphasisLineStyle,l=n&&n.focus,u=n&&n.blurScope,f=n&&n.emphasisDisabled;if(!n||t.hasItemOption){var h=o.getModel("emphasis");s=h.getModel("lineStyle").getLineStyle(),f=h.get("disabled"),l=h.get("focus"),u=h.get("blurScope")}i.useStyle(t.getItemVisual(a,"style")),i.style.fill=null,i.style.strokeNoScale=!0;var v=i.ensureState("emphasis");v.style=s,Yt(this,l,u,f)},e.prototype.updateLayout=function(t,a){var n=this.childAt(0);n.setShape("points",t.getItemLayout(a))},e}(ut),X4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t._lastFrame=0,t._lastFramePercent=0,t}return e.prototype.createLine=function(t,a,n){return new XM(t,a,n)},e.prototype._updateAnimationPoints=function(t,a){this._points=a;for(var n=[0],i=0,o=1;o<a.length;o++){var s=a[o-1],l=a[o];i+=Wa(s,l),n.push(i)}if(i===0){this._length=0;return}for(var o=0;o<n.length;o++)n[o]/=i;this._offsets=n,this._length=i},e.prototype._getLineLength=function(){return this._length},e.prototype._updateSymbolPosition=function(t){var a=t.__t<1?t.__t:2-t.__t,n=this._points,i=this._offsets,o=n.length;if(i){var s=this._lastFrame,l;if(a<this._lastFramePercent){var u=Math.min(s+1,o-1);for(l=u;l>=0&&!(i[l]<=a);l--);l=Math.min(l,o-2)}else{for(l=s;l<o&&!(i[l]>a);l++);l=Math.min(l-1,o-2)}var f=(a-i[l])/(i[l+1]-i[l]),h=n[l],v=n[l+1];t.x=h[0]*(1-f)+f*v[0],t.y=h[1]*(1-f)+f*v[1];var c=t.__t<1?v[0]-h[0]:h[0]-v[0],d=t.__t<1?v[1]-h[1]:h[1]-v[1];t.rotation=-Math.atan2(d,c)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=a,t.ignore=!1}},e}(ZM),q4=function(){function r(){this.polyline=!1,this.curveness=0,this.segs=[]}return r}(),K4=function(r){k(e,r);function e(t){var a=r.call(this,t)||this;return a._off=0,a.hoverDataIdx=-1,a}return e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new q4},e.prototype.buildPath=function(t,a){var n=a.segs,i=a.curveness,o;if(a.polyline)for(o=this._off;o<n.length;){var s=n[o++];if(s>0){t.moveTo(n[o++],n[o++]);for(var l=1;l<s;l++)t.lineTo(n[o++],n[o++])}}else for(o=this._off;o<n.length;){var u=n[o++],f=n[o++],h=n[o++],v=n[o++];if(t.moveTo(u,f),i>0){var c=(u+h)/2-(f-v)*i,d=(f+v)/2-(h-u)*i;t.quadraticCurveTo(c,d,h,v)}else t.lineTo(h,v)}this.incremental&&(this._off=o,this.notClear=!0)},e.prototype.findDataIndex=function(t,a){var n=this.shape,i=n.segs,o=n.curveness,s=this.style.lineWidth;if(n.polyline)for(var l=0,u=0;u<i.length;){var f=i[u++];if(f>0)for(var h=i[u++],v=i[u++],c=1;c<f;c++){var d=i[u++],p=i[u++];if(Fa(h,v,d,p,s,t,a))return l}l++}else for(var l=0,u=0;u<i.length;){var h=i[u++],v=i[u++],d=i[u++],p=i[u++];if(o>0){var g=(h+d)/2-(v-p)*o,y=(v+p)/2-(d-h)*o;if(ST(h,v,g,y,d,p,s,t,a))return l}else if(Fa(h,v,d,p,s,t,a))return l;l++}return-1},e.prototype.contain=function(t,a){var n=this.transformCoordToLocal(t,a),i=this.getBoundingRect();if(t=n[0],a=n[1],i.contain(t,a)){var o=this.hoverDataIdx=this.findDataIndex(t,a);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var a=this.shape,n=a.segs,i=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u<n.length;){var f=n[u++],h=n[u++];i=Math.min(f,i),s=Math.max(f,s),o=Math.min(h,o),l=Math.max(h,l)}t=this._rect=new gt(i,o,s,l)}return t},e}(St),J4=function(){function r(){this.group=new ut}return r.prototype.updateData=function(e){this._clear();var t=this._create();t.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(t,e)},r.prototype.incrementalPrepareUpdate=function(e){this.group.removeAll(),this._clear()},r.prototype.incrementalUpdate=function(e,t){var a=this._newAdded[0],n=t.getLayout("linesPoints"),i=a&&a.shape.segs;if(i&&i.length<2e4){var o=i.length,s=new Float32Array(o+n.length);s.set(i),s.set(n,o),a.setShape({segs:s})}else{this._newAdded=[];var l=this._create();l.incremental=!0,l.setShape({segs:n}),this._setCommon(l,t),l.__startIndex=e.start}},r.prototype.remove=function(){this._clear()},r.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},r.prototype._create=function(){var e=new K4({cursor:"default",ignoreCoarsePointer:!0});return this._newAdded.push(e),this.group.add(e),e},r.prototype._setCommon=function(e,t,a){var n=t.hostModel;e.setShape({polyline:n.get("polyline"),curveness:n.get(["lineStyle","curveness"])}),e.useStyle(n.getModel("lineStyle").getLineStyle()),e.style.strokeNoScale=!0;var i=t.getVisual("style");i&&i.stroke&&e.setStyle("stroke",i.stroke),e.setStyle("fill",null);var o=ht(e);o.seriesIndex=n.seriesIndex,e.on("mousemove",function(s){o.dataIndex=null;var l=e.hoverDataIdx;l>0&&(o.dataIndex=l+e.__startIndex)})},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}(),qM={seriesType:"lines",plan:Eo(),reset:function(r){var e=r.coordinateSystem;if(e){var t=r.get("polyline"),a=r.pipelineContext.large;return{progress:function(n,i){var o=[];if(a){var s=void 0,l=n.end-n.start;if(t){for(var u=0,f=n.start;f<n.end;f++)u+=r.getLineCoordsCount(f);s=new Float32Array(l+u*2)}else s=new Float32Array(l*4);for(var h=0,v=[],f=n.start;f<n.end;f++){var c=r.getLineCoords(f,o);t&&(s[h++]=c);for(var d=0;d<c;d++)v=e.dataToPoint(o[d],!1,v),s[h++]=v[0],s[h++]=v[1]}i.setLayout("linesPoints",s)}else for(var f=n.start;f<n.end;f++){var p=i.getItemModel(f),c=r.getLineCoords(f,o),g=[];if(t)for(var y=0;y<c;y++)g.push(e.dataToPoint(o[y]));else{g[0]=e.dataToPoint(o[0]),g[1]=e.dataToPoint(o[1]);var m=p.get(["lineStyle","curveness"]);+m&&(g[2]=[(g[0][0]+g[1][0])/2-(g[0][1]-g[1][1])*m,(g[0][1]+g[1][1])/2-(g[1][0]-g[0][0])*m])}i.setItemLayout(f,g)}}}}}},Q4=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=t.getData(),o=this._updateLineDraw(i,t),s=t.get("zlevel"),l=t.get(["effect","trailLength"]),u=n.getZr(),f=u.painter.getType()==="svg";f||u.painter.getLayer(s).clear(!0),this._lastZlevel!=null&&!f&&u.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&l>0&&(f||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(i);var h=t.get("clip",!0)&&Pl(t.coordinateSystem,!1,t);h?this.group.setClipPath(h):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,a,n){var i=t.getData(),o=this._updateLineDraw(i,t);o.incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,a,n){this._lineDraw.incrementalUpdate(t,a.getData()),this._finished=t.end===a.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,a,n){var i=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=qM.reset(t,a,n);s.progress&&s.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,a){var n=this._lineDraw,i=this._showEffect(a),o=!!a.get("polyline"),s=a.pipelineContext,l=s.large;return(!n||i!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(n&&n.remove(),n=this._lineDraw=l?new J4:new Py(o?i?X4:XM:i?ZM:Iy),this._hasEffet=i,this._isPolyline=o,this._isLargeDraw=l),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var a=t.getZr(),n=a.painter.getType()==="svg";!n&&this._lastZlevel!=null&&a.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,a){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(a)},e.prototype.dispose=function(t,a){this.remove(t,a)},e.type="lines",e}(Nt),j4=typeof Uint32Array>"u"?Array:Uint32Array,tH=typeof Float64Array>"u"?Array:Float64Array;function fx(r){var e=r.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(r.data=H(e,function(t){var a=[t[0].coord,t[1].coord],n={coords:a};return t[0].name&&(n.fromName=t[0].name),t[1].name&&(n.toName=t[1].name),fg([n,t[0],t[1]])}))}var eH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.init=function(t){t.data=t.data||[],fx(t);var a=this._processFlatCoordsArray(t.data);this._flatCoords=a.flatCoords,this._flatCoordsOffset=a.flatCoordsOffset,a.flatCoords&&(t.data=new Float32Array(a.count)),r.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(t){if(fx(t),t.data){var a=this._processFlatCoordsArray(t.data);this._flatCoords=a.flatCoords,this._flatCoordsOffset=a.flatCoordsOffset,a.flatCoords&&(t.data=new Float32Array(a.count))}r.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var a=this._processFlatCoordsArray(t.data);a.flatCoords&&(this._flatCoords?(this._flatCoords=Hs(this._flatCoords,a.flatCoords),this._flatCoordsOffset=Hs(this._flatCoordsOffset,a.flatCoordsOffset)):(this._flatCoords=a.flatCoords,this._flatCoordsOffset=a.flatCoordsOffset),t.data=new Float32Array(a.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var a=this.getData().getItemModel(t),n=a.option instanceof Array?a.option:a.getShallow("coords");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[t*2+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,a){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[t*2],i=this._flatCoordsOffset[t*2+1],o=0;o<i;o++)a[o]=a[o]||[],a[o][0]=this._flatCoords[n+o*2],a[o][1]=this._flatCoords[n+o*2+1];return i}else{for(var s=this._getCoordsFromItemModel(t),o=0;o<s.length;o++)a[o]=a[o]||[],a[o][0]=s[o][0],a[o][1]=s[o][1];return s.length}},e.prototype._processFlatCoordsArray=function(t){var a=0;if(this._flatCoords&&(a=this._flatCoords.length),Dt(t[0])){for(var n=t.length,i=new j4(n),o=new tH(n),s=0,l=0,u=0,f=0;f<n;){u++;var h=t[f++];i[l++]=s+a,i[l++]=h;for(var v=0;v<h;v++){var c=t[f++],d=t[f++];o[s++]=c,o[s++]=d}}return{flatCoordsOffset:new Uint32Array(i.buffer,0,l),flatCoords:o,count:u}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},e.prototype.getInitialData=function(t,a){var n=new Pe(["value"],this);return n.hasItemOption=!1,n.initData(t.data,[],function(i,o,s,l){if(i instanceof Array)return NaN;n.hasItemOption=!0;var u=i.value;if(u!=null)return u instanceof Array?u[l]:u}),n},e.prototype.formatTooltip=function(t,a,n){var i=this.getData(),o=i.getItemModel(t),s=o.get("name");if(s)return s;var l=o.get("fromName"),u=o.get("toName"),f=[];return l!=null&&f.push(l),u!=null&&f.push(u),ue("nameValue",{name:f.join(" > ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?1e4:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?2e4:this.get("progressiveThreshold"))},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),a=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&a>0?a+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(Gt);function Pu(r){return r instanceof Array||(r=[r,r]),r}var rH={seriesType:"lines",reset:function(r){var e=Pu(r.get("symbol")),t=Pu(r.get("symbolSize")),a=r.getData();a.setVisual("fromSymbol",e&&e[0]),a.setVisual("toSymbol",e&&e[1]),a.setVisual("fromSymbolSize",t&&t[0]),a.setVisual("toSymbolSize",t&&t[1]);function n(i,o){var s=i.getItemModel(o),l=Pu(s.getShallow("symbol",!0)),u=Pu(s.getShallow("symbolSize",!0));l[0]&&i.setItemVisual(o,"fromSymbol",l[0]),l[1]&&i.setItemVisual(o,"toSymbol",l[1]),u[0]&&i.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&i.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:a.hasItemOption?n:null}}};function aH(r){r.registerChartView(Q4),r.registerSeriesModel(eH),r.registerLayout(qM),r.registerVisual(rH)}var nH=256,iH=function(){function r(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=an.createCanvas();this.canvas=e}return r.prototype.update=function(e,t,a,n,i,o){var s=this._getBrush(),l=this._getGradient(i,"inRange"),u=this._getGradient(i,"outOfRange"),f=this.pointSize+this.blurSize,h=this.canvas,v=h.getContext("2d"),c=e.length;h.width=t,h.height=a;for(var d=0;d<c;++d){var p=e[d],g=p[0],y=p[1],m=p[2],_=n(m);v.globalAlpha=_,v.drawImage(s,g-f,y-f)}if(!h.width||!h.height)return h;for(var S=v.getImageData(0,0,h.width,h.height),b=S.data,x=0,w=b.length,T=this.minOpacity,A=this.maxOpacity,C=A-T;x<w;){var _=b[x+3]/256,M=Math.floor(_*(nH-1))*4;if(_>0){var L=o(_)?l:u;_>0&&(_=_*C+T),b[x++]=L[M],b[x++]=L[M+1],b[x++]=L[M+2],b[x++]=L[M+3]*_*256}else x+=4}return v.putImageData(S,0,0),h},r.prototype._getBrush=function(){var e=this._brushCanvas||(this._brushCanvas=an.createCanvas()),t=this.pointSize+this.blurSize,a=t*2;e.width=a,e.height=a;var n=e.getContext("2d");return n.clearRect(0,0,a,a),n.shadowOffsetX=a,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-t,t,this.pointSize,0,Math.PI*2,!0),n.closePath(),n.fill(),e},r.prototype._getGradient=function(e,t){for(var a=this._gradientPixels,n=a[t]||(a[t]=new Uint8ClampedArray(256*4)),i=[0,0,0,0],o=0,s=0;s<256;s++)e[t](s/255,!0,i),n[o++]=i[0],n[o++]=i[1],n[o++]=i[2],n[o++]=i[3];return n},r}();function oH(r,e,t){var a=r[1]-r[0];e=H(e,function(o){return{interval:[(o.interval[0]-r[0])/a,(o.interval[1]-r[0])/a]}});var n=e.length,i=0;return function(o){var s;for(s=i;s<n;s++){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){i=s;break}}if(s===n)for(s=i-1;s>=0;s--){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){i=s;break}}return s>=0&&s<n&&t[s]}}function sH(r,e){var t=r[1]-r[0];return e=[(e[0]-r[0])/t,(e[1]-r[0])/t],function(a){return a>=e[0]&&a<=e[1]}}function hx(r){var e=r.dimensions;return e[0]==="lng"&&e[1]==="lat"}var lH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i;a.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===t&&(i=s)})}),this._progressiveEls=null,this.group.removeAll();var o=t.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):hx(o)&&this._renderOnGeo(o,t,i,n)},e.prototype.incrementalPrepareRender=function(t,a,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,a,n,i){var o=a.coordinateSystem;o&&(hx(o)?this.render(a,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(a,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){hn(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,a,n,i,o){var s=t.coordinateSystem,l=Ti(s,"cartesian2d"),u,f,h,v;if(l){var c=s.getAxis("x"),d=s.getAxis("y");u=c.getBandWidth()+.5,f=d.getBandWidth()+.5,h=c.scale.getExtent(),v=d.scale.getExtent()}for(var p=this.group,g=t.getData(),y=t.getModel(["emphasis","itemStyle"]).getItemStyle(),m=t.getModel(["blur","itemStyle"]).getItemStyle(),_=t.getModel(["select","itemStyle"]).getItemStyle(),S=t.get(["itemStyle","borderRadius"]),b=le(t),x=t.getModel("emphasis"),w=x.get("focus"),T=x.get("blurScope"),A=x.get("disabled"),C=l?[g.mapDimension("x"),g.mapDimension("y"),g.mapDimension("value")]:[g.mapDimension("time"),g.mapDimension("value")],M=n;M<i;M++){var L=void 0,I=g.getItemVisual(M,"style");if(l){var P=g.get(C[0],M),R=g.get(C[1],M);if(isNaN(g.get(C[2],M))||isNaN(P)||isNaN(R)||P<h[0]||P>h[1]||R<v[0]||R>v[1])continue;var E=s.dataToPoint([P,R]);L=new Tt({shape:{x:E[0]-u/2,y:E[1]-f/2,width:u,height:f},style:I})}else{if(isNaN(g.get(C[1],M)))continue;L=new Tt({z2:1,shape:s.dataToRect([g.get(C[0],M)]).contentShape,style:I})}if(g.hasItemOption){var N=g.getItemModel(M),O=N.getModel("emphasis");y=O.getModel("itemStyle").getItemStyle(),m=N.getModel(["blur","itemStyle"]).getItemStyle(),_=N.getModel(["select","itemStyle"]).getItemStyle(),S=N.get(["itemStyle","borderRadius"]),w=O.get("focus"),T=O.get("blurScope"),A=O.get("disabled"),b=le(N)}L.shape.r=S;var B=t.getRawValue(M),G="-";B&&B[2]!=null&&(G=B[2]+""),ye(L,b,{labelFetcher:t,labelDataIndex:M,defaultOpacity:I.opacity,defaultText:G}),L.ensureState("emphasis").style=y,L.ensureState("blur").style=m,L.ensureState("select").style=_,Yt(L,w,T,A),L.incremental=o,o&&(L.states.emphasis.hoverLayer=!0),p.add(L),g.setItemGraphicEl(M,L),this._progressiveEls&&this._progressiveEls.push(L)}},e.prototype._renderOnGeo=function(t,a,n,i){var o=n.targetVisuals.inRange,s=n.targetVisuals.outOfRange,l=a.getData(),u=this._hmLayer||this._hmLayer||new iH;u.blurSize=a.get("blurSize"),u.pointSize=a.get("pointSize"),u.minOpacity=a.get("minOpacity"),u.maxOpacity=a.get("maxOpacity");var f=t.getViewRect().clone(),h=t.getRoamTransform();f.applyTransform(h);var v=Math.max(f.x,0),c=Math.max(f.y,0),d=Math.min(f.width+f.x,i.getWidth()),p=Math.min(f.height+f.y,i.getHeight()),g=d-v,y=p-c,m=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],_=l.mapArray(m,function(w,T,A){var C=t.dataToPoint([w,T]);return C[0]-=v,C[1]-=c,C.push(A),C}),S=n.getExtent(),b=n.type==="visualMap.continuous"?sH(S,n.option.range):oH(S,n.getPieceList(),n.option.selected);u.update(_,g,y,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},b);var x=new ce({style:{width:g,height:y,x:v,y:c,image:u.canvas},silent:!0});this.group.add(x)},e.type="heatmap",e}(Nt),uH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,a){return Aa(null,this,{generateCoord:"value"})},e.prototype.preventIncremental=function(){var t=Al.get(this.get("coordinateSystem"));if(t&&t.dimensions)return t.dimensions[0]==="lng"&&t.dimensions[1]==="lat"},e.type="series.heatmap",e.dependencies=["grid","geo","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},e}(Gt);function fH(r){r.registerChartView(lH),r.registerSeriesModel(uH)}var hH=["itemStyle","borderWidth"],vx=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],Yc=new Ta,vH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=this.group,o=t.getData(),s=this._data,l=t.coordinateSystem,u=l.getBaseAxis(),f=u.isHorizontal(),h=l.master.getRect(),v={ecSize:{width:n.getWidth(),height:n.getHeight()},seriesModel:t,coordSys:l,coordSysExtent:[[h.x,h.x+h.width],[h.y,h.y+h.height]],isHorizontal:f,valueDim:vx[+f],categoryDim:vx[1-+f]};o.diff(s).add(function(d){if(o.hasValue(d)){var p=dx(o,d),g=cx(o,d,p,v),y=px(o,v,g);o.setItemGraphicEl(d,y),i.add(y),yx(y,v,g)}}).update(function(d,p){var g=s.getItemGraphicEl(p);if(!o.hasValue(d)){i.remove(g);return}var y=dx(o,d),m=cx(o,d,y,v),_=e2(o,m);g&&_!==g.__pictorialShapeStr&&(i.remove(g),o.setItemGraphicEl(d,null),g=null),g?_H(g,v,m):g=px(o,v,m,!0),o.setItemGraphicEl(d,g),g.__pictorialSymbolMeta=m,i.add(g),yx(g,v,m)}).remove(function(d){var p=s.getItemGraphicEl(d);p&&gx(s,d,p.__pictorialSymbolMeta.animationModel,p)}).execute();var c=t.get("clip",!0)?Pl(t.coordinateSystem,!1,t):null;return c?i.setClipPath(c):i.removeClipPath(),this._data=o,this.group},e.prototype.remove=function(t,a){var n=this.group,i=this._data;t.get("animation")?i&&i.eachItemGraphicEl(function(o){gx(i,ht(o).dataIndex,t,o)}):n.removeAll()},e.type="pictorialBar",e}(Nt);function cx(r,e,t,a){var n=r.getItemLayout(e),i=t.get("symbolRepeat"),o=t.get("symbolClip"),s=t.get("symbolPosition")||"start",l=t.get("symbolRotate"),u=(l||0)*Math.PI/180||0,f=t.get("symbolPatternSize")||2,h=t.isAnimationEnabled(),v={dataIndex:e,layout:n,itemModel:t,symbolType:r.getItemVisual(e,"symbol")||"circle",style:r.getItemVisual(e,"style"),symbolClip:o,symbolRepeat:i,symbolRepeatDirection:t.get("symbolRepeatDirection"),symbolPatternSize:f,rotation:u,animationModel:h?t:null,hoverScale:h&&t.get(["emphasis","scale"]),z2:t.getShallow("z",!0)||0};cH(t,i,n,a,v),dH(r,e,n,i,o,v.boundingLength,v.pxSign,f,a,v),pH(t,v.symbolScale,u,a,v);var c=v.symbolSize,d=bi(t.get("symbolOffset"),c);return gH(t,c,n,i,o,d,s,v.valueLineWidth,v.boundingLength,v.repeatCutLength,a,v),v}function cH(r,e,t,a,n){var i=a.valueDim,o=r.get("symbolBoundingData"),s=a.coordSys.getOtherAxis(a.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(t[i.wh]<=0),f;if(z(o)){var h=[$c(s,o[0])-l,$c(s,o[1])-l];h[1]<h[0]&&h.reverse(),f=h[u]}else o!=null?f=$c(s,o)-l:e?f=a.coordSysExtent[i.index][u]-l:f=t[i.wh];n.boundingLength=f,e&&(n.repeatCutLength=t[i.wh]);var v=i.xy==="x",c=s.inverse;n.pxSign=v&&!c||!v&&c?f>=0?1:-1:f>0?1:-1}function $c(r,e){return r.toGlobalCoord(r.dataToCoord(r.scale.parse(e)))}function dH(r,e,t,a,n,i,o,s,l,u){var f=l.valueDim,h=l.categoryDim,v=Math.abs(t[h.wh]),c=r.getItemVisual(e,"symbolSize"),d;z(c)?d=c.slice():c==null?d=["100%","100%"]:d=[c,c],d[h.index]=X(d[h.index],v),d[f.index]=X(d[f.index],a?v:Math.abs(i)),u.symbolSize=d;var p=u.symbolScale=[d[0]/s,d[1]/s];p[f.index]*=(l.isHorizontal?-1:1)*o}function pH(r,e,t,a,n){var i=r.get(hH)||0;i&&(Yc.attr({scaleX:e[0],scaleY:e[1],rotation:t}),Yc.updateTransform(),i/=Yc.getLineScale(),i*=e[a.valueDim.index]),n.valueLineWidth=i||0}function gH(r,e,t,a,n,i,o,s,l,u,f,h){var v=f.categoryDim,c=f.valueDim,d=h.pxSign,p=Math.max(e[c.index]+s,0),g=p;if(a){var y=Math.abs(l),m=ve(r.get("symbolMargin"),"15%")+"",_=!1;m.lastIndexOf("!")===m.length-1&&(_=!0,m=m.slice(0,m.length-1));var S=X(m,e[c.index]),b=Math.max(p+S*2,0),x=_?0:S*2,w=oT(a),T=w?a:mx((y+x)/b),A=y-T*p;S=A/2/(_?T:Math.max(T-1,1)),b=p+S*2,x=_?0:S*2,!w&&a!=="fixed"&&(T=u?mx((Math.abs(u)+x)/b):0),g=T*b-x,h.repeatTimes=T,h.symbolMargin=S}var C=d*(g/2),M=h.pathPosition=[];M[v.index]=t[v.wh]/2,M[c.index]=o==="start"?C:o==="end"?l-C:l/2,i&&(M[0]+=i[0],M[1]+=i[1]);var L=h.bundlePosition=[];L[v.index]=t[v.xy],L[c.index]=t[c.xy];var I=h.barRectShape=V({},t);I[c.wh]=d*Math.max(Math.abs(t[c.wh]),Math.abs(M[c.index]+C)),I[v.wh]=t[v.wh];var P=h.clipShape={};P[v.xy]=-t[v.xy],P[v.wh]=f.ecSize[v.wh],P[c.xy]=0,P[c.wh]=t[c.wh]}function KM(r){var e=r.symbolPatternSize,t=jt(r.symbolType,-e/2,-e/2,e,e);return t.attr({culling:!0}),t.type!=="image"&&t.setStyle({strokeNoScale:!0}),t}function JM(r,e,t,a){var n=r.__pictorialBundle,i=t.symbolSize,o=t.valueLineWidth,s=t.pathPosition,l=e.valueDim,u=t.repeatTimes||0,f=0,h=i[e.valueDim.index]+o+t.symbolMargin*2;for(Fy(r,function(p){p.__pictorialAnimationIndex=f,p.__pictorialRepeatTimes=u,f<u?uo(p,null,d(f),t,a):uo(p,null,{scaleX:0,scaleY:0},t,a,function(){n.remove(p)}),f++});f<u;f++){var v=KM(t);v.__pictorialAnimationIndex=f,v.__pictorialRepeatTimes=u,n.add(v);var c=d(f);uo(v,{x:c.x,y:c.y,scaleX:0,scaleY:0},{scaleX:c.scaleX,scaleY:c.scaleY,rotation:c.rotation},t,a)}function d(p){var g=s.slice(),y=t.pxSign,m=p;return(t.symbolRepeatDirection==="start"?y>0:y<0)&&(m=u-1-p),g[l.index]=h*(m-u/2+.5)+s[l.index],{x:g[0],y:g[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation}}}function QM(r,e,t,a){var n=r.__pictorialBundle,i=r.__pictorialMainPath;i?uo(i,null,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation},t,a):(i=r.__pictorialMainPath=KM(t),n.add(i),uo(i,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:0,scaleY:0,rotation:t.rotation},{scaleX:t.symbolScale[0],scaleY:t.symbolScale[1]},t,a))}function jM(r,e,t){var a=V({},e.barRectShape),n=r.__pictorialBarRect;n?uo(n,null,{shape:a},e,t):(n=r.__pictorialBarRect=new Tt({z2:2,shape:a,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),n.disableMorphing=!0,r.add(n))}function t2(r,e,t,a){if(t.symbolClip){var n=r.__pictorialClipPath,i=V({},t.clipShape),o=e.valueDim,s=t.animationModel,l=t.dataIndex;if(n)Mt(n,{shape:i},s,l);else{i[o.wh]=0,n=new Tt({shape:i}),r.__pictorialBundle.setClipPath(n),r.__pictorialClipPath=n;var u={};u[o.wh]=t.clipShape[o.wh],xi[a?"updateProps":"initProps"](n,{shape:u},s,l)}}}function dx(r,e){var t=r.getItemModel(e);return t.getAnimationDelayParams=yH,t.isAnimationEnabled=mH,t}function yH(r){return{index:r.__pictorialAnimationIndex,count:r.__pictorialRepeatTimes}}function mH(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function px(r,e,t,a){var n=new ut,i=new ut;return n.add(i),n.__pictorialBundle=i,i.x=t.bundlePosition[0],i.y=t.bundlePosition[1],t.symbolRepeat?JM(n,e,t):QM(n,e,t),jM(n,t,a),t2(n,e,t,a),n.__pictorialShapeStr=e2(r,t),n.__pictorialSymbolMeta=t,n}function _H(r,e,t){var a=t.animationModel,n=t.dataIndex,i=r.__pictorialBundle;Mt(i,{x:t.bundlePosition[0],y:t.bundlePosition[1]},a,n),t.symbolRepeat?JM(r,e,t,!0):QM(r,e,t,!0),jM(r,t,!0),t2(r,e,t,!0)}function gx(r,e,t,a){var n=a.__pictorialBarRect;n&&n.removeTextContent();var i=[];Fy(a,function(o){i.push(o)}),a.__pictorialMainPath&&i.push(a.__pictorialMainPath),a.__pictorialClipPath&&(t=null),D(i,function(o){on(o,{scaleX:0,scaleY:0},t,e,function(){a.parent&&a.parent.remove(a)})}),r.setItemGraphicEl(e,null)}function e2(r,e){return[r.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function Fy(r,e,t){D(r.__pictorialBundle.children(),function(a){a!==r.__pictorialBarRect&&e.call(t,a)})}function uo(r,e,t,a,n,i){e&&r.attr(e),a.symbolClip&&!n?t&&r.attr(t):t&&xi[n?"updateProps":"initProps"](r,t,a.animationModel,a.dataIndex,i)}function yx(r,e,t){var a=t.dataIndex,n=t.itemModel,i=n.getModel("emphasis"),o=i.getModel("itemStyle").getItemStyle(),s=n.getModel(["blur","itemStyle"]).getItemStyle(),l=n.getModel(["select","itemStyle"]).getItemStyle(),u=n.getShallow("cursor"),f=i.get("focus"),h=i.get("blurScope"),v=i.get("scale");Fy(r,function(p){if(p instanceof ce){var g=p.style;p.useStyle(V({image:g.image,x:g.x,y:g.y,width:g.width,height:g.height},t.style))}else p.useStyle(t.style);var y=p.ensureState("emphasis");y.style=o,v&&(y.scaleX=p.scaleX*1.1,y.scaleY=p.scaleY*1.1),p.ensureState("blur").style=s,p.ensureState("select").style=l,u&&(p.cursor=u),p.z2=t.z2});var c=e.valueDim.posDesc[+(t.boundingLength>0)],d=r.__pictorialBarRect;d.ignoreClip=!0,ye(d,le(n),{labelFetcher:e.seriesModel,labelDataIndex:a,defaultText:yo(e.seriesModel.getData(),a),inheritColor:t.style.fill,defaultOpacity:t.style.opacity,defaultOutsidePosition:c}),Yt(r,f,h,i.get("disabled"))}function mx(r){var e=Math.round(r);return Math.abs(r-e)<1e-4?e:Math.ceil(r)}var SH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t.defaultSymbol="roundRect",t}return e.prototype.getInitialData=function(t){return t.stack=null,r.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=vn(ol.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(ol);function xH(r){r.registerChartView(vH),r.registerSeriesModel(SH),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,ct(VC,"pictorialBar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,zC("pictorialBar"))}var bH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._layers=[],t}return e.prototype.render=function(t,a,n){var i=t.getData(),o=this,s=this.group,l=t.getLayerSeries(),u=i.getLayout("layoutInfo"),f=u.rect,h=u.boundaryGap;s.x=0,s.y=f.y+h[0];function v(g){return g.name}var c=new _a(this._layersSeries||[],l,v,v),d=[];c.add(J(p,this,"add")).update(J(p,this,"update")).remove(J(p,this,"remove")).execute();function p(g,y,m){var _=o._layers;if(g==="remove"){s.remove(_[y]);return}for(var S=[],b=[],x,w=l[y].indices,T=0;T<w.length;T++){var A=i.getItemLayout(w[T]),C=A.x,M=A.y0,L=A.y;S.push(C,M),b.push(C,M+L),x=i.getItemVisual(w[T],"style")}var I,P=i.getItemLayout(w[0]),R=t.getModel("label"),E=R.get("margin"),N=t.getModel("emphasis");if(g==="add"){var O=d[y]=new ut;I=new DD({shape:{points:S,stackedOnPoints:b,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),O.add(I),s.add(O),t.isAnimationEnabled()&&I.setClipPath(wH(I.getBoundingRect(),t,function(){I.removeClipPath()}))}else{var O=_[m];I=O.childAt(0),s.add(O),d[y]=O,Mt(I,{shape:{points:S,stackedOnPoints:b}},t),Ir(I)}ye(I,le(t),{labelDataIndex:w[T-1],defaultText:i.getName(w[T-1]),inheritColor:x.fill},{normal:{verticalAlign:"middle"}}),I.setTextConfig({position:null,local:!0});var B=I.getTextContent();B&&(B.x=P.x-E,B.y=P.y0+P.y/2),I.useStyle(x),i.setItemGraphicEl(y,I),ge(I,t),Yt(I,N.get("focus"),N.get("blurScope"),N.get("disabled"))}this._layersSeries=l,this._layers=d},e.type="themeRiver",e}(Nt);function wH(r,e,t){var a=new Tt({shape:{x:r.x-10,y:r.y-10,width:0,height:r.height+20}});return Ft(a,{shape:{x:r.x-50,width:r.width+100,height:r.height+20}},e,t),a}var Zc=2,TH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kl(J(this.getData,this),J(this.getRawData,this))},e.prototype.fixData=function(t){var a=t.length,n={},i=Fd(t,function(v){return n.hasOwnProperty(v[0]+"")||(n[v[0]+""]=-1),v[2]}),o=[];i.buckets.each(function(v,c){o.push({name:c,dataList:v})});for(var s=o.length,l=0;l<s;++l){for(var u=o[l].name,f=0;f<o[l].dataList.length;++f){var h=o[l].dataList[f][0]+"";n[h]=l}for(var h in n)n.hasOwnProperty(h)&&n[h]!==l&&(n[h]=l,t[a]=[h,0,u],a++)}return t},e.prototype.getInitialData=function(t,a){for(var n=this.getReferringComponents("singleAxis",Qt).models[0],i=n.get("type"),o=Pt(t.data,function(d){return d[2]!==void 0}),s=this.fixData(o||[]),l=[],u=this.nameMap=et(),f=0,h=0;h<s.length;++h)l.push(s[h][Zc]),u.get(s[h][Zc])||(u.set(s[h][Zc],f),f++);var v=Dl(s,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:Ef(i)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}).dimensions,c=new Pe(v,this);return c.initData(s),c},e.prototype.getLayerSeries=function(){for(var t=this.getData(),a=t.count(),n=[],i=0;i<a;++i)n[i]=i;var o=t.mapDimension("single"),s=Fd(n,function(u){return t.get("name",u)}),l=[];return s.buckets.each(function(u,f){u.sort(function(h,v){return t.get(o,h)-t.get(o,v)}),l.push({name:f,indices:u})}),l},e.prototype.getAxisTooltipData=function(t,a,n){z(t)||(t=t?[t]:[]);for(var i=this.getData(),o=this.getLayerSeries(),s=[],l=o.length,u,f=0;f<l;++f){for(var h=Number.MAX_VALUE,v=-1,c=o[f].indices.length,d=0;d<c;++d){var p=i.get(t[0],o[f].indices[d]),g=Math.abs(p-a);g<=h&&(u=p,h=g,v=o[f].indices[d])}s.push(v)}return{dataIndices:s,nestestValue:u}},e.prototype.formatTooltip=function(t,a,n){var i=this.getData(),o=i.getName(t),s=i.get(i.mapDimension("value"),t);return ue("nameValue",{name:o,value:s})},e.type="series.themeRiver",e.dependencies=["singleAxis"],e.defaultOption={z:2,colorBy:"data",coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}},e}(Gt);function AH(r,e){r.eachSeriesByType("themeRiver",function(t){var a=t.getData(),n=t.coordinateSystem,i={},o=n.getRect();i.rect=o;var s=t.get("boundaryGap"),l=n.getAxis();if(i.boundaryGap=s,l.orient==="horizontal"){s[0]=X(s[0],o.height),s[1]=X(s[1],o.height);var u=o.height-s[0]-s[1];_x(a,t,u)}else{s[0]=X(s[0],o.width),s[1]=X(s[1],o.width);var f=o.width-s[0]-s[1];_x(a,t,f)}a.setLayout("layoutInfo",i)})}function _x(r,e,t){if(r.count())for(var a=e.coordinateSystem,n=e.getLayerSeries(),i=r.mapDimension("single"),o=r.mapDimension("value"),s=H(n,function(g){return H(g.indices,function(y){var m=a.dataToPoint(r.get(i,y));return m[1]=r.get(o,y),m})}),l=CH(s),u=l.y0,f=t/l.max,h=n.length,v=n[0].indices.length,c,d=0;d<v;++d){c=u[d]*f,r.setItemLayout(n[0].indices[d],{layerIndex:0,x:s[0][d][0],y0:c,y:s[0][d][1]*f});for(var p=1;p<h;++p)c+=s[p-1][d][1]*f,r.setItemLayout(n[p].indices[d],{layerIndex:p,x:s[p][d][0],y0:c,y:s[p][d][1]*f})}}function CH(r){for(var e=r.length,t=r[0].length,a=[],n=[],i=0,o=0;o<t;++o){for(var s=0,l=0;l<e;++l)s+=r[l][o][1];s>i&&(i=s),a.push(s)}for(var u=0;u<t;++u)n[u]=(i-a[u])/2;i=0;for(var f=0;f<t;++f){var h=a[f]+n[f];h>i&&(i=h)}return{y0:n,max:i}}function DH(r){r.registerChartView(bH),r.registerSeriesModel(TH),r.registerLayout(AH),r.registerProcessor(El("themeRiver"))}var MH=2,LH=4,Sx=function(r){k(e,r);function e(t,a,n,i){var o=r.call(this)||this;o.z2=MH,o.textConfig={inside:!0},ht(o).seriesIndex=a.seriesIndex;var s=new Ct({z2:LH,silent:t.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,t,a,n,i),o}return e.prototype.updateData=function(t,a,n,i,o){this.node=a,a.piece=this,n=n||this._seriesModel,i=i||this._ecModel;var s=this;ht(s).dataIndex=a.dataIndex;var l=a.getModel(),u=l.getModel("emphasis"),f=a.getLayout(),h=V({},f);h.label=null;var v=a.getVisual("style");v.lineJoin="bevel";var c=a.getVisual("decal");c&&(v.decal=po(c,o));var d=ei(l.getModel("itemStyle"),h,!0);V(h,d),D(ke,function(m){var _=s.ensureState(m),S=l.getModel([m,"itemStyle"]);_.style=S.getItemStyle();var b=ei(S,h);b&&(_.shape=b)}),t?(s.setShape(h),s.shape.r=f.r0,Ft(s,{shape:{r:f.r}},n,a.dataIndex)):(Mt(s,{shape:h},n),Ir(s)),s.useStyle(v),this._updateLabel(n);var p=l.getShallow("cursor");p&&s.attr("cursor",p),this._seriesModel=n||this._seriesModel,this._ecModel=i||this._ecModel;var g=u.get("focus"),y=g==="relative"?Hs(a.getAncestorsIndices(),a.getDescendantIndices()):g==="ancestor"?a.getAncestorsIndices():g==="descendant"?a.getDescendantIndices():g;Yt(this,y,u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t){var a=this,n=this.node.getModel(),i=n.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),f=Math.sin(l),h=this,v=h.getTextContent(),c=this.node.dataIndex,d=i.get("minAngle")/180*Math.PI,p=i.get("show")&&!(d!=null&&Math.abs(s)<d);v.ignore=!p,D(Xs,function(y){var m=y==="normal"?n.getModel("label"):n.getModel([y,"label"]),_=y==="normal",S=_?v:v.ensureState(y),b=t.getFormattedLabel(c,y);_&&(b=b||a.node.name),S.style=zt(m,{},null,y!=="normal",!0),b&&(S.style.text=b);var x=m.get("show");x!=null&&!_&&(S.ignore=!x);var w=g(m,"position"),T=_?h:h.states[y],A=T.style.fill;T.textConfig={outsideFill:m.get("color")==="inherit"?A:null,inside:w!=="outside"};var C,M=g(m,"distance")||0,L=g(m,"align"),I=g(m,"rotate"),P=Math.PI*.5,R=Math.PI*1.5,E=Xe(I==="tangential"?Math.PI/2-l:l),N=E>P&&!$s(E-P)&&E<R;w==="outside"?(C=o.r+M,L=N?"right":"left"):!L||L==="center"?(s===2*Math.PI&&o.r0===0?C=0:C=(o.r+o.r0)/2,L="center"):L==="left"?(C=o.r0+M,L=N?"right":"left"):L==="right"&&(C=o.r-M,L=N?"left":"right"),S.style.align=L,S.style.verticalAlign=g(m,"verticalAlign")||"middle",S.x=C*u+o.cx,S.y=C*f+o.cy;var O=0;I==="radial"?O=Xe(-l)+(N?Math.PI:0):I==="tangential"?O=Xe(Math.PI/2-l)+(N?Math.PI:0):Dt(I)&&(O=I*Math.PI/180),S.rotation=Xe(O)});function g(y,m){var _=y.get(m);return _??i.get(m)}v.dirtyStyle()},e}(Oe),Fp="sunburstRootToNode",xx="sunburstHighlight",IH="sunburstUnhighlight";function PH(r){r.registerAction({type:Fp,update:"updateView"},function(e,t){t.eachComponent({mainType:"series",subType:"sunburst",query:e},a);function a(n,i){var o=ll(e,[Fp],n);if(o){var s=n.getViewRoot();s&&(e.direction=Ay(s,o.node)?"rollUp":"drillDown"),n.resetViewRoot(o.node)}}}),r.registerAction({type:xx,update:"none"},function(e,t,a){e=V({},e),t.eachComponent({mainType:"series",subType:"sunburst",query:e},n);function n(i){var o=ll(e,[xx],i);o&&(e.dataIndex=o.node.dataIndex)}a.dispatchAction(V(e,{type:"highlight"}))}),r.registerAction({type:IH,update:"updateView"},function(e,t,a){e=V({},e),a.dispatchAction(V(e,{type:"downplay"}))})}var RH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n,i){var o=this;this.seriesModel=t,this.api=n,this.ecModel=a;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),f=this.group,h=t.get("renderLabelForZeroData"),v=[];u.eachNode(function(m){v.push(m)});var c=this._oldChildren||[];d(v,c),y(l,u),this._initEvents(),this._oldChildren=v;function d(m,_){if(m.length===0&&_.length===0)return;new _a(_,m,S,S).add(b).update(b).remove(ct(b,null)).execute();function S(x){return x.getId()}function b(x,w){var T=x==null?null:m[x],A=w==null?null:_[w];p(T,A)}}function p(m,_){if(!h&&m&&!m.getValue()&&(m=null),m!==l&&_!==l){if(_&&_.piece)m?(_.piece.updateData(!1,m,t,a,n),s.setItemGraphicEl(m.dataIndex,_.piece)):g(_);else if(m){var S=new Sx(m,t,a,n);f.add(S),s.setItemGraphicEl(m.dataIndex,S)}}}function g(m){m&&m.piece&&(f.remove(m.piece),m.piece=null)}function y(m,_){_.depth>0?(o.virtualPiece?o.virtualPiece.updateData(!1,m,t,a,n):(o.virtualPiece=new Sx(m,t,a,n),f.add(o.virtualPiece)),_.piece.off("click"),o.virtualPiece.on("click",function(S){o._rootToNode(_.parentNode)})):o.virtualPiece&&(f.remove(o.virtualPiece),o.virtualPiece=null)}},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(a){var n=!1,i=t.seriesModel.getViewRoot();i.eachNode(function(o){if(!n&&o.piece&&o.piece===a.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")t._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var f=l.get("target",!0)||"_blank";Af(u,f)}}n=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:Fp,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,a){var n=a.getData(),i=n.getItemLayout(0);if(i){var o=t[0]-i.cx,s=t[1]-i.cy,l=Math.sqrt(o*o+s*s);return l<=i.r&&l>=i.r0}},e.type="sunburst",e}(Nt),EH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t,a){var n={name:t.name,children:t.data};r2(n);var i=this._levelModels=H(t.levels||[],function(l){return new Et(l,this,a)},this),o=Ty.createTree(n,this,s);function s(l){l.wrapMethod("getItemModel",function(u,f){var h=o.getNodeByDataIndex(f),v=i[h.depth];return v&&(u.parentModel=v),u})}return o.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(t){var a=r.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return a.treePathInfo=zh(n,this),a},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var a=this.getRawData().tree.root;(!t||t!==a&&!a.contains(t))&&(this._viewRoot=a)},e.prototype.enableAriaDecal=function(){sM(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(Gt);function r2(r){var e=0;D(r.children,function(a){r2(a);var n=a.value;z(n)&&(n=n[0]),e+=n});var t=r.value;z(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),z(r.value)?r.value[0]=t:r.value=t}var bx=Math.PI/180;function kH(r,e,t){e.eachSeriesByType(r,function(a){var n=a.get("center"),i=a.get("radius");z(i)||(i=[0,i]),z(n)||(n=[n,n]);var o=t.getWidth(),s=t.getHeight(),l=Math.min(o,s),u=X(n[0],o),f=X(n[1],s),h=X(i[0],l/2),v=X(i[1],l/2),c=-a.get("startAngle")*bx,d=a.get("minAngle")*bx,p=a.getData().tree.root,g=a.getViewRoot(),y=g.depth,m=a.get("sort");m!=null&&a2(g,m);var _=0;D(g.children,function(E){!isNaN(E.getValue())&&_++});var S=g.getValue(),b=Math.PI/(S||_)*2,x=g.depth>0,w=g.height-(x?-1:1),T=(v-h)/(w||1),A=a.get("clockwise"),C=a.get("stillShowZeroSum"),M=A?1:-1,L=function(E,N){if(E){var O=N;if(E!==p){var B=E.getValue(),G=S===0&&C?b:B*b;G<d&&(G=d),O=N+M*G;var U=E.depth-y-(x?-1:1),Z=h+T*U,rt=h+T*(U+1),at=a.getLevelModel(E);if(at){var W=at.get("r0",!0),Y=at.get("r",!0),ft=at.get("radius",!0);ft!=null&&(W=ft[0],Y=ft[1]),W!=null&&(Z=X(W,l/2)),Y!=null&&(rt=X(Y,l/2))}E.setLayout({angle:G,startAngle:N,endAngle:O,clockwise:A,cx:u,cy:f,r0:Z,r:rt})}if(E.children&&E.children.length){var tt=0;D(E.children,function(q){tt+=L(q,N+tt)})}return O-N}};if(x){var I=h,P=h+T,R=Math.PI*2;p.setLayout({angle:R,startAngle:c,endAngle:c+R,clockwise:A,cx:u,cy:f,r0:I,r:P})}L(g,c)})}function a2(r,e){var t=r.children||[];r.children=OH(t,e),t.length&&D(r.children,function(a){a2(a,e)})}function OH(r,e){if(nt(e)){var t=H(r,function(n,i){var o=n.getValue();return{params:{depth:n.depth,height:n.height,dataIndex:n.dataIndex,getValue:function(){return o}},index:i}});return t.sort(function(n,i){return e(n.params,i.params)}),H(t,function(n){return r[n.index]})}else{var a=e==="asc";return r.sort(function(n,i){var o=(n.getValue()-i.getValue())*(a?1:-1);return o===0?(n.dataIndex-i.dataIndex)*(a?-1:1):o})}}function NH(r){var e={};function t(a,n,i){for(var o=a;o&&o.depth>1;)o=o.parentNode;var s=n.getColorFromPalette(o.name||o.dataIndex+"",e);return a.depth>1&&K(s)&&(s=Ld(s,(a.depth-1)/(i-1)*.5)),s}r.eachSeriesByType("sunburst",function(a){var n=a.getData(),i=n.tree;i.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=t(o,a,i.root.height));var u=n.ensureUniqueItemVisual(o.dataIndex,"style");V(u,l)})})}function BH(r){r.registerChartView(RH),r.registerSeriesModel(EH),r.registerLayout(ct(kH,"sunburst")),r.registerProcessor(ct(El,"sunburst")),r.registerVisual(NH),PH(r)}var Tx={color:"fill",borderColor:"stroke"},VH={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},ca=At(),zH=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,a){return Aa(null,this)},e.prototype.getDataParams=function(t,a,n){var i=r.prototype.getDataParams.call(this,t,a);return n&&(i.info=ca(n).info),i},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(Gt);function GH(r,e){return e=e||[0,0],H(["x","y"],function(t,a){var n=this.getAxis(t),i=e[a],o=r[a]/2;return n.type==="category"?n.getBandWidth():Math.abs(n.dataToCoord(i-o)-n.dataToCoord(i+o))},this)}function FH(r){var e=r.master.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return r.dataToPoint(t)},size:J(GH,r)}}}function HH(r,e){return e=e||[0,0],H([0,1],function(t){var a=e[t],n=r[t]/2,i=[],o=[];return i[t]=a-n,o[t]=a+n,i[1-t]=o[1-t]=e[1-t],Math.abs(this.dataToPoint(i)[t]-this.dataToPoint(o)[t])},this)}function WH(r){var e=r.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:r.getZoom()},api:{coord:function(t){return r.dataToPoint(t)},size:J(HH,r)}}}function UH(r,e){var t=this.getAxis(),a=e instanceof Array?e[0]:e,n=(r instanceof Array?r[0]:r)/2;return t.type==="category"?t.getBandWidth():Math.abs(t.dataToCoord(a-n)-t.dataToCoord(a+n))}function YH(r){var e=r.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return r.dataToPoint(t)},size:J(UH,r)}}}function $H(r,e){return e=e||[0,0],H(["Radius","Angle"],function(t,a){var n="get"+t+"Axis",i=this[n](),o=e[a],s=r[a]/2,l=i.type==="category"?i.getBandWidth():Math.abs(i.dataToCoord(o-s)-i.dataToCoord(o+s));return t==="Angle"&&(l=l*Math.PI/180),l},this)}function ZH(r){var e=r.getRadiusAxis(),t=r.getAngleAxis(),a=e.getExtent();return a[0]>a[1]&&a.reverse(),{coordSys:{type:"polar",cx:r.cx,cy:r.cy,r:a[1],r0:a[0]},api:{coord:function(n){var i=e.dataToRadius(n[0]),o=t.dataToAngle(n[1]),s=r.coordToPoint([i,o]);return s.push(i,o*Math.PI/180),s},size:J($H,r)}}}function XH(r){var e=r.getRect(),t=r.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:r.getCellWidth(),cellHeight:r.getCellHeight(),rangeInfo:{start:t.start,end:t.end,weeks:t.weeks,dayCount:t.allDay}},api:{coord:function(a,n){return r.dataToPoint(a,n)}}}}function n2(r,e,t,a){return r&&(r.legacy||r.legacy!==!1&&!t&&!a&&e!=="tspan"&&(e==="text"||j(r,"text")))}function i2(r,e,t){var a=r,n,i,o;if(e==="text")o=a;else{o={},j(a,"text")&&(o.text=a.text),j(a,"rich")&&(o.rich=a.rich),j(a,"textFill")&&(o.fill=a.textFill),j(a,"textStroke")&&(o.stroke=a.textStroke),j(a,"fontFamily")&&(o.fontFamily=a.fontFamily),j(a,"fontSize")&&(o.fontSize=a.fontSize),j(a,"fontStyle")&&(o.fontStyle=a.fontStyle),j(a,"fontWeight")&&(o.fontWeight=a.fontWeight),i={type:"text",style:o,silent:!0},n={};var s=j(a,"textPosition");t?n.position=s?a.textPosition:"inside":s&&(n.position=a.textPosition),j(a,"textPosition")&&(n.position=a.textPosition),j(a,"textOffset")&&(n.offset=a.textOffset),j(a,"textRotation")&&(n.rotation=a.textRotation),j(a,"textDistance")&&(n.distance=a.textDistance)}return Ax(o,r),D(o.rich,function(l){Ax(l,l)}),{textConfig:n,textContent:i}}function Ax(r,e){e&&(e.font=e.textFont||e.font,j(e,"textStrokeWidth")&&(r.lineWidth=e.textStrokeWidth),j(e,"textAlign")&&(r.align=e.textAlign),j(e,"textVerticalAlign")&&(r.verticalAlign=e.textVerticalAlign),j(e,"textLineHeight")&&(r.lineHeight=e.textLineHeight),j(e,"textWidth")&&(r.width=e.textWidth),j(e,"textHeight")&&(r.height=e.textHeight),j(e,"textBackgroundColor")&&(r.backgroundColor=e.textBackgroundColor),j(e,"textPadding")&&(r.padding=e.textPadding),j(e,"textBorderColor")&&(r.borderColor=e.textBorderColor),j(e,"textBorderWidth")&&(r.borderWidth=e.textBorderWidth),j(e,"textBorderRadius")&&(r.borderRadius=e.textBorderRadius),j(e,"textBoxShadowColor")&&(r.shadowColor=e.textBoxShadowColor),j(e,"textBoxShadowBlur")&&(r.shadowBlur=e.textBoxShadowBlur),j(e,"textBoxShadowOffsetX")&&(r.shadowOffsetX=e.textBoxShadowOffsetX),j(e,"textBoxShadowOffsetY")&&(r.shadowOffsetY=e.textBoxShadowOffsetY))}function Cx(r,e,t){var a=r;a.textPosition=a.textPosition||t.position||"inside",t.offset!=null&&(a.textOffset=t.offset),t.rotation!=null&&(a.textRotation=t.rotation),t.distance!=null&&(a.textDistance=t.distance);var n=a.textPosition.indexOf("inside")>=0,i=r.fill||"#000";Dx(a,e);var o=a.textFill==null;return n?o&&(a.textFill=t.insideFill||"#fff",!a.textStroke&&t.insideStroke&&(a.textStroke=t.insideStroke),!a.textStroke&&(a.textStroke=i),a.textStrokeWidth==null&&(a.textStrokeWidth=2)):(o&&(a.textFill=r.fill||t.outsideFill||"#000"),!a.textStroke&&t.outsideStroke&&(a.textStroke=t.outsideStroke)),a.text=e.text,a.rich=e.rich,D(e.rich,function(s){Dx(s,s)}),a}function Dx(r,e){e&&(j(e,"fill")&&(r.textFill=e.fill),j(e,"stroke")&&(r.textStroke=e.fill),j(e,"lineWidth")&&(r.textStrokeWidth=e.lineWidth),j(e,"font")&&(r.font=e.font),j(e,"fontStyle")&&(r.fontStyle=e.fontStyle),j(e,"fontWeight")&&(r.fontWeight=e.fontWeight),j(e,"fontSize")&&(r.fontSize=e.fontSize),j(e,"fontFamily")&&(r.fontFamily=e.fontFamily),j(e,"align")&&(r.textAlign=e.align),j(e,"verticalAlign")&&(r.textVerticalAlign=e.verticalAlign),j(e,"lineHeight")&&(r.textLineHeight=e.lineHeight),j(e,"width")&&(r.textWidth=e.width),j(e,"height")&&(r.textHeight=e.height),j(e,"backgroundColor")&&(r.textBackgroundColor=e.backgroundColor),j(e,"padding")&&(r.textPadding=e.padding),j(e,"borderColor")&&(r.textBorderColor=e.borderColor),j(e,"borderWidth")&&(r.textBorderWidth=e.borderWidth),j(e,"borderRadius")&&(r.textBorderRadius=e.borderRadius),j(e,"shadowColor")&&(r.textBoxShadowColor=e.shadowColor),j(e,"shadowBlur")&&(r.textBoxShadowBlur=e.shadowBlur),j(e,"shadowOffsetX")&&(r.textBoxShadowOffsetX=e.shadowOffsetX),j(e,"shadowOffsetY")&&(r.textBoxShadowOffsetY=e.shadowOffsetY),j(e,"textShadowColor")&&(r.textShadowColor=e.textShadowColor),j(e,"textShadowBlur")&&(r.textShadowBlur=e.textShadowBlur),j(e,"textShadowOffsetX")&&(r.textShadowOffsetX=e.textShadowOffsetX),j(e,"textShadowOffsetY")&&(r.textShadowOffsetY=e.textShadowOffsetY))}var o2={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},Mx=wt(o2);qr(Jr,function(r,e){return r[e]=1,r},{});Jr.join(", ");var Yf=["","style","shape","extra"],So=At();function Hy(r,e,t,a,n){var i=r+"Animation",o=Do(r,a,n)||{},s=So(e).userDuring;return o.duration>0&&(o.during=s?J(jH,{el:e,userDuring:s}):null,o.setToFinal=!0,o.scope=r),V(o,t[i]),o}function af(r,e,t,a){a=a||{};var n=a.dataIndex,i=a.isInit,o=a.clearStyle,s=t.isAnimationEnabled(),l=So(r),u=e.style;l.userDuring=e.during;var f={},h={};if(eW(r,e,h),Ix("shape",e,h),Ix("extra",e,h),!i&&s&&(tW(r,e,f),Lx("shape",r,e,f),Lx("extra",r,e,f),rW(r,e,u,f)),h.style=u,qH(r,h,o),JH(r,e),s)if(i){var v={};D(Yf,function(d){var p=d?e[d]:e;p&&p.enterFrom&&(d&&(v[d]=v[d]||{}),V(d?v[d]:v,p.enterFrom))});var c=Hy("enter",r,e,t,n);c.duration>0&&r.animateFrom(v,c)}else KH(r,e,n||0,t,f);s2(r,e),u?r.dirty():r.markRedraw()}function s2(r,e){for(var t=So(r).leaveToProps,a=0;a<Yf.length;a++){var n=Yf[a],i=n?e[n]:e;i&&i.leaveTo&&(t||(t=So(r).leaveToProps={}),n&&(t[n]=t[n]||{}),V(n?t[n]:t,i.leaveTo))}}function Hh(r,e,t,a){if(r){var n=r.parent,i=So(r).leaveToProps;if(i){var o=Hy("update",r,e,t,0);o.done=function(){n.remove(r)},r.animateTo(i,o)}else n.remove(r)}}function fi(r){return r==="all"}function qH(r,e,t){var a=e.style;if(!r.isGroup&&a){if(t){r.useStyle({});for(var n=r.animators,i=0;i<n.length;i++){var o=n[i];o.targetName==="style"&&o.changeTarget(r.style)}}r.setStyle(a)}e&&(e.style=null,e&&r.attr(e),e.style=a)}function KH(r,e,t,a,n){if(n){var i=Hy("update",r,e,a,t);i.duration>0&&r.animateFrom(n,i)}}function JH(r,e){j(e,"silent")&&(r.silent=e.silent),j(e,"ignore")&&(r.ignore=e.ignore),r instanceof cr&&j(e,"invisible")&&(r.invisible=e.invisible),r instanceof St&&j(e,"autoBatch")&&(r.autoBatch=e.autoBatch)}var Vr={},QH={setTransform:function(r,e){return Vr.el[r]=e,this},getTransform:function(r){return Vr.el[r]},setShape:function(r,e){var t=Vr.el,a=t.shape||(t.shape={});return a[r]=e,t.dirtyShape&&t.dirtyShape(),this},getShape:function(r){var e=Vr.el.shape;if(e)return e[r]},setStyle:function(r,e){var t=Vr.el,a=t.style;return a&&(a[r]=e,t.dirtyStyle&&t.dirtyStyle()),this},getStyle:function(r){var e=Vr.el.style;if(e)return e[r]},setExtra:function(r,e){var t=Vr.el.extra||(Vr.el.extra={});return t[r]=e,this},getExtra:function(r){var e=Vr.el.extra;if(e)return e[r]}};function jH(){var r=this,e=r.el;if(e){var t=So(e).userDuring,a=r.userDuring;if(t!==a){r.el=r.userDuring=null;return}Vr.el=e,a(QH)}}function Lx(r,e,t,a){var n=t[r];if(n){var i=e[r],o;if(i){var s=t.transition,l=n.transition;if(l)if(!o&&(o=a[r]={}),fi(l))V(o,i);else for(var u=Ot(l),f=0;f<u.length;f++){var h=u[f],v=i[h];o[h]=v}else if(fi(s)||yt(s,r)>=0){!o&&(o=a[r]={});for(var c=wt(i),f=0;f<c.length;f++){var h=c[f],v=i[h];aW(n[h],v)&&(o[h]=v)}}}}}function Ix(r,e,t){var a=e[r];if(a)for(var n=t[r]={},i=wt(a),o=0;o<i.length;o++){var s=i[o];n[s]=Ms(a[s])}}function tW(r,e,t){for(var a=e.transition,n=fi(a)?Jr:Ot(a||[]),i=0;i<n.length;i++){var o=n[i];if(!(o==="style"||o==="shape"||o==="extra")){var s=r[o];t[o]=s}}}function eW(r,e,t){for(var a=0;a<Mx.length;a++){var n=Mx[a],i=o2[n],o=e[n];o&&(t[i[0]]=o[0],t[i[1]]=o[1])}for(var a=0;a<Jr.length;a++){var s=Jr[a];e[s]!=null&&(t[s]=e[s])}}function rW(r,e,t,a){if(t){var n=r.style,i;if(n){var o=t.transition,s=e.transition;if(o&&!fi(o)){var l=Ot(o);!i&&(i=a.style={});for(var u=0;u<l.length;u++){var f=l[u],h=n[f];i[f]=h}}else if(r.getAnimationStyleProps&&(fi(s)||fi(o)||yt(s,"style")>=0)){var v=r.getAnimationStyleProps(),c=v?v.style:null;if(c){!i&&(i=a.style={});for(var d=wt(t),u=0;u<d.length;u++){var f=d[u];if(c[f]){var h=n[f];i[f]=h}}}}}}}function aW(r,e){return Te(r)?r!==e:r!=null&&isFinite(r)}var l2=At(),nW=["percent","easing","shape","style","extra"];function u2(r){r.stopAnimation("keyframe"),r.attr(l2(r))}function $f(r,e,t){if(!(!t.isAnimationEnabled()||!e)){if(z(e)){D(e,function(s){$f(r,s,t)});return}var a=e.keyframes,n=e.duration;if(t&&n==null){var i=Do("enter",t,0);n=i&&i.duration}if(!(!a||!n)){var o=l2(r);D(Yf,function(s){if(!(s&&!r[s])){var l;a.sort(function(u,f){return u.percent-f.percent}),D(a,function(u){var f=r.animators,h=s?u[s]:u;if(h){var v=wt(h);if(s||(v=Pt(v,function(p){return yt(nW,p)<0})),!!v.length){l||(l=r.animate(s,e.loop,!0),l.scope="keyframe");for(var c=0;c<f.length;c++)f[c]!==l&&f[c].targetName===l.targetName&&f[c].stopTracks(v);s&&(o[s]=o[s]||{});var d=s?o[s]:o;D(v,function(p){d[p]=((s?r[s]:r)||{})[p]}),l.whenWithKeys(n*u.percent,h,v,u.easing)}}}),l&&l.delay(e.delay||0).duration(n).start(e.easing)}})}}}var da="emphasis",Ka="normal",Wy="blur",Uy="select",fn=[Ka,da,Wy,Uy],Xc={normal:["itemStyle"],emphasis:[da,"itemStyle"],blur:[Wy,"itemStyle"],select:[Uy,"itemStyle"]},qc={normal:["label"],emphasis:[da,"label"],blur:[Wy,"label"],select:[Uy,"label"]},iW=["x","y"],oW="e\0\0",er={normal:{},emphasis:{},blur:{},select:{}},sW={cartesian2d:FH,geo:WH,single:YH,polar:ZH,calendar:XH};function Hp(r){return r instanceof St}function Wp(r){return r instanceof cr}function lW(r,e){e.copyTransform(r),Wp(e)&&Wp(r)&&(e.setStyle(r.style),e.z=r.z,e.z2=r.z2,e.zlevel=r.zlevel,e.invisible=r.invisible,e.ignore=r.ignore,Hp(e)&&Hp(r)&&e.setShape(r.shape))}var uW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n,i){this._progressiveEls=null;var o=this._data,s=t.getData(),l=this.group,u=Px(t,s,a,n);o||l.removeAll(),s.diff(o).add(function(h){Kc(n,null,h,u(h,i),t,l,s)}).remove(function(h){var v=o.getItemGraphicEl(h);v&&Hh(v,ca(v).option,t)}).update(function(h,v){var c=o.getItemGraphicEl(v);Kc(n,c,h,u(h,i),t,l,s)}).execute();var f=t.get("clip",!0)?Pl(t.coordinateSystem,!1,t):null;f?l.setClipPath(f):l.removeClipPath(),this._data=s},e.prototype.incrementalPrepareRender=function(t,a,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,a,n,i,o){var s=a.getData(),l=Px(a,s,n,i),u=this._progressiveEls=[];function f(c){c.isGroup||(c.incremental=!0,c.ensureState("emphasis").hoverLayer=!0)}for(var h=t.start;h<t.end;h++){var v=Kc(null,null,h,l(h,o),a,this.group,s);v&&(v.traverse(f),u.push(v))}},e.prototype.eachRendered=function(t){hn(this._progressiveEls||this.group,t)},e.prototype.filterForExposedEvent=function(t,a,n,i){var o=a.element;if(o==null||n.name===o)return!0;for(;(n=n.__hostTarget||n.parent)&&n!==this.group;)if(n.name===o)return!0;return!1},e.type="custom",e}(Nt);function Yy(r){var e=r.type,t;if(e==="path"){var a=r.shape,n=a.width!=null&&a.height!=null?{x:a.x||0,y:a.y||0,width:a.width,height:a.height}:null,i=v2(a);t=mh(i,null,n,a.layout||"center"),ca(t).customPathData=i}else if(e==="image")t=new ce({}),ca(t).customImagePath=r.style.image;else if(e==="text")t=new Ct({});else if(e==="group")t=new ut;else{if(e==="compoundPath")throw new Error('"compoundPath" is not supported yet.');var o=Eg(e);if(!o){var s="";It(s)}t=new o}return ca(t).customGraphicType=e,t.name=r.name,t.z2EmphasisLift=1,t.z2SelectLift=1,t}function $y(r,e,t,a,n,i,o){u2(e);var s=n&&n.normal.cfg;s&&e.setTextConfig(s),a&&a.transition==null&&(a.transition=iW);var l=a&&a.style;if(l){if(e.type==="text"){var u=l;j(u,"textFill")&&(u.fill=u.textFill),j(u,"textStroke")&&(u.stroke=u.textStroke)}var f=void 0,h=Hp(e)?l.decal:null;r&&h&&(h.dirty=!0,f=po(h,r)),l.__decalPattern=f}if(Wp(e)&&l){var f=l.__decalPattern;f&&(l.decal=f)}af(e,a,i,{dataIndex:t,isInit:o,clearStyle:!0}),$f(e,a.keyframeAnimation,i)}function f2(r,e,t,a,n){var i=e.isGroup?null:e,o=n&&n[r].cfg;if(i){var s=i.ensureState(r);if(a===!1){var l=i.getState(r);l&&(l.style=null)}else s.style=a||null;o&&(s.textConfig=o),di(i)}}function fW(r,e,t){if(!r.isGroup){var a=r,n=t.currentZ,i=t.currentZLevel;a.z=n,a.zlevel=i;var o=e.z2;o!=null&&(a.z2=o||0);for(var s=0;s<fn.length;s++)hW(a,e,fn[s])}}function hW(r,e,t){var a=t===Ka,n=a?e:Zf(e,t),i=n?n.z2:null,o;i!=null&&(o=a?r:r.ensureState(t),o.z2=i||0)}function Px(r,e,t,a){var n=r.get("renderItem"),i=r.coordinateSystem,o={};i&&(o=i.prepareCustoms?i.prepareCustoms(i):sW[i.type](i));for(var s=ot({getWidth:a.getWidth,getHeight:a.getHeight,getZr:a.getZr,getDevicePixelRatio:a.getDevicePixelRatio,value:S,style:x,ordinalRawValue:b,styleEmphasis:w,visual:C,barLayout:M,currentSeriesIndices:L,font:I},o.api||{}),l={context:{},seriesId:r.id,seriesName:r.name,seriesIndex:r.seriesIndex,coordSys:o.coordSys,dataInsideLength:e.count(),encode:vW(r.getData())},u,f,h={},v={},c={},d={},p=0;p<fn.length;p++){var g=fn[p];c[g]=r.getModel(Xc[g]),d[g]=r.getModel(qc[g])}function y(P){return P===u?f||(f=e.getItemModel(P)):e.getItemModel(P)}function m(P,R){return e.hasItemOption?P===u?h[R]||(h[R]=y(P).getModel(Xc[R])):y(P).getModel(Xc[R]):c[R]}function _(P,R){return e.hasItemOption?P===u?v[R]||(v[R]=y(P).getModel(qc[R])):y(P).getModel(qc[R]):d[R]}return function(P,R){return u=P,f=null,h={},v={},n&&n(ot({dataIndexInside:P,dataIndex:e.getRawIndex(P),actionType:R?R.type:null},l),s)};function S(P,R){return R==null&&(R=u),e.getStore().get(e.getDimensionIndex(P||0),R)}function b(P,R){R==null&&(R=u),P=P||0;var E=e.getDimensionInfo(P);if(!E){var N=e.getDimensionIndex(P);return N>=0?e.getStore().get(N,R):void 0}var O=e.get(E.name,R),B=E&&E.ordinalMeta;return B?B.categories[O]:O}function x(P,R){R==null&&(R=u);var E=e.getItemVisual(R,"style"),N=E&&E.fill,O=E&&E.opacity,B=m(R,Ka).getItemStyle();N!=null&&(B.fill=N),O!=null&&(B.opacity=O);var G={inheritColor:K(N)?N:"#000"},U=_(R,Ka),Z=zt(U,null,G,!1,!0);Z.text=U.getShallow("show")?vt(r.getFormattedLabel(R,Ka),yo(e,R)):null;var rt=wf(U,G,!1);return A(P,B),B=Cx(B,Z,rt),P&&T(B,P),B.legacy=!0,B}function w(P,R){R==null&&(R=u);var E=m(R,da).getItemStyle(),N=_(R,da),O=zt(N,null,null,!0,!0);O.text=N.getShallow("show")?Zr(r.getFormattedLabel(R,da),r.getFormattedLabel(R,Ka),yo(e,R)):null;var B=wf(N,null,!0);return A(P,E),E=Cx(E,O,B),P&&T(E,P),E.legacy=!0,E}function T(P,R){for(var E in R)j(R,E)&&(P[E]=R[E])}function A(P,R){P&&(P.textFill&&(R.textFill=P.textFill),P.textPosition&&(R.textPosition=P.textPosition))}function C(P,R){if(R==null&&(R=u),j(Tx,P)){var E=e.getItemVisual(R,"style");return E?E[Tx[P]]:null}if(j(VH,P))return e.getItemVisual(R,P)}function M(P){if(i.type==="cartesian2d"){var R=i.getBaseAxis();return e5(ot({axis:R},P))}}function L(){return t.getCurrentSeriesIndices()}function I(P){return kg(P,t)}}function vW(r){var e={};return D(r.dimensions,function(t){var a=r.getDimensionInfo(t);if(!a.isExtraCoord){var n=a.coordDim,i=e[n]=e[n]||[];i[a.coordDimIndex]=r.getDimensionIndex(t)}}),e}function Kc(r,e,t,a,n,i,o){if(!a){i.remove(e);return}var s=Zy(r,e,t,a,n,i);return s&&o.setItemGraphicEl(t,s),s&&Yt(s,a.focus,a.blurScope,a.emphasisDisabled),s}function Zy(r,e,t,a,n,i){var o=-1,s=e;e&&h2(e,a,n)&&(o=yt(i.childrenRef(),e),e=null);var l=!e,u=e;u?u.clearStates():(u=Yy(a),s&&lW(s,u)),a.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),er.normal.cfg=er.normal.conOpt=er.emphasis.cfg=er.emphasis.conOpt=er.blur.cfg=er.blur.conOpt=er.select.cfg=er.select.conOpt=null,er.isLegacy=!1,dW(u,t,a,n,l,er),cW(u,t,a,n,l),$y(r,u,t,a,er,n,l),j(a,"info")&&(ca(u).info=a.info);for(var f=0;f<fn.length;f++){var h=fn[f];if(h!==Ka){var v=Zf(a,h),c=Xy(a,v,h);f2(h,u,v,c,er)}}return fW(u,a,n),a.type==="group"&&pW(r,u,t,a,n),o>=0?i.replaceAt(u,o):i.add(u),u}function h2(r,e,t){var a=ca(r),n=e.type,i=e.shape,o=e.style;return t.isUniversalTransitionEnabled()||n!=null&&n!==a.customGraphicType||n==="path"&&_W(i)&&v2(i)!==a.customPathData||n==="image"&&j(o,"image")&&o.image!==a.customImagePath}function cW(r,e,t,a,n){var i=t.clipPath;if(i===!1)r&&r.getClipPath()&&r.removeClipPath();else if(i){var o=r.getClipPath();o&&h2(o,i,a)&&(o=null),o||(o=Yy(i),r.setClipPath(o)),$y(null,o,e,i,null,a,n)}}function dW(r,e,t,a,n,i){if(!r.isGroup){Rx(t,null,i),Rx(t,da,i);var o=i.normal.conOpt,s=i.emphasis.conOpt,l=i.blur.conOpt,u=i.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var f=r.getTextContent();if(o===!1)f&&r.removeTextContent();else{o=i.normal.conOpt=o||{type:"text"},f?f.clearStates():(f=Yy(o),r.setTextContent(f)),$y(null,f,e,o,null,a,n);for(var h=o&&o.style,v=0;v<fn.length;v++){var c=fn[v];if(c!==Ka){var d=i[c].conOpt;f2(c,f,d,Xy(o,d,c),null)}}h?f.dirty():f.markRedraw()}}}}function Rx(r,e,t){var a=e?Zf(r,e):r,n=e?Xy(r,a,da):r.style,i=r.type,o=a?a.textConfig:null,s=r.textContent,l=s?e?Zf(s,e):s:null;if(n&&(t.isLegacy||n2(n,i,!!o,!!l))){t.isLegacy=!0;var u=i2(n,i,!e);!o&&u.textConfig&&(o=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var f=l;!f.type&&(f.type="text")}var h=e?t[e]:t.normal;h.cfg=o,h.conOpt=l}function Zf(r,e){return e?r?r[e]:null:r}function Xy(r,e,t){var a=e&&e.style;return a==null&&t===da&&r&&(a=r.styleEmphasis),a}function pW(r,e,t,a,n){var i=a.children,o=i?i.length:0,s=a.$mergeChildren,l=s==="byName"||a.diffChildrenByName,u=s===!1;if(!(!o&&!l&&!u)){if(l){yW({api:r,oldChildren:e.children()||[],newChildren:i||[],dataIndex:t,seriesModel:n,group:e});return}u&&e.removeAll();for(var f=0;f<o;f++){var h=i[f],v=e.childAt(f);h?(h.ignore==null&&(h.ignore=!1),Zy(r,v,t,h,n,e)):v.ignore=!0}for(var c=e.childCount()-1;c>=f;c--){var d=e.childAt(c);gW(e,d,n)}}}function gW(r,e,t){e&&Hh(e,ca(r).option,t)}function yW(r){new _a(r.oldChildren,r.newChildren,Ex,Ex,r).add(kx).update(kx).remove(mW).execute()}function Ex(r,e){var t=r&&r.name;return t??oW+e}function kx(r,e){var t=this.context,a=r!=null?t.newChildren[r]:null,n=e!=null?t.oldChildren[e]:null;Zy(t.api,n,t.dataIndex,a,t.seriesModel,t.group)}function mW(r){var e=this.context,t=e.oldChildren[r];t&&Hh(t,ca(t).option,e.seriesModel)}function v2(r){return r&&(r.pathData||r.d)}function _W(r){return r&&(j(r,"pathData")||j(r,"d"))}function SW(r){r.registerChartView(uW),r.registerSeriesModel(zH)}var $n=At(),Ox=lt,Jc=J,qy=function(){function r(){this._dragging=!1,this.animationThreshold=15}return r.prototype.render=function(e,t,a,n){var i=t.get("value"),o=t.get("status");if(this._axisModel=e,this._axisPointerModel=t,this._api=a,!(!n&&this._lastValue===i&&this._lastStatus===o)){this._lastValue=i,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,i,e,t,a);var f=u.graphicKey;f!==this._lastGraphicKey&&this.clear(a),this._lastGraphicKey=f;var h=this._moveAnimation=this.determineAnimation(e,t);if(!s)s=this._group=new ut,this.createPointerEl(s,u,e,t),this.createLabelEl(s,u,e,t),a.getZr().add(s);else{var v=ct(Nx,t,h);this.updatePointerEl(s,u,v),this.updateLabelEl(s,u,v,t)}Vx(s,t,!0),this._renderHandle(i)}},r.prototype.remove=function(e){this.clear(e)},r.prototype.dispose=function(e){this.clear(e)},r.prototype.determineAnimation=function(e,t){var a=t.get("animation"),n=e.axis,i=n.type==="category",o=t.get("snap");if(!o&&!i)return!1;if(a==="auto"||a==null){var s=this.animationThreshold;if(i&&n.getBandWidth()>s)return!0;if(o){var l=yy(e).seriesDataCount,u=n.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return a===!0},r.prototype.makeElOption=function(e,t,a,n,i){},r.prototype.createPointerEl=function(e,t,a,n){var i=t.pointer;if(i){var o=$n(e).pointerEl=new xi[i.type](Ox(t.pointer));e.add(o)}},r.prototype.createLabelEl=function(e,t,a,n){if(t.label){var i=$n(e).labelEl=new Ct(Ox(t.label));e.add(i),Bx(i,n)}},r.prototype.updatePointerEl=function(e,t,a){var n=$n(e).pointerEl;n&&t.pointer&&(n.setStyle(t.pointer.style),a(n,{shape:t.pointer.shape}))},r.prototype.updateLabelEl=function(e,t,a,n){var i=$n(e).labelEl;i&&(i.setStyle(t.label.style),a(i,{x:t.label.x,y:t.label.y}),Bx(i,n))},r.prototype._renderHandle=function(e){if(!(this._dragging||!this.updateHandleTransform)){var t=this._axisPointerModel,a=this._api.getZr(),n=this._handle,i=t.getModel("handle"),o=t.get("status");if(!i.get("show")||!o||o==="hide"){n&&a.remove(n),this._handle=null;return}var s;this._handle||(s=!0,n=this._handle=Tl(i.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){pa(u.event)},onmousedown:Jc(this._onHandleDragMove,this,0,0),drift:Jc(this._onHandleDragMove,this),ondragend:Jc(this._onHandleDragEnd,this)}),a.add(n)),Vx(n,t,!1),n.setStyle(i.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=i.get("size");z(l)||(l=[l,l]),n.scaleX=l[0]/2,n.scaleY=l[1]/2,ko(this,"_doDispatchAxisPointer",i.get("throttle")||0,"fixRate"),this._moveHandleToValue(e,s)}},r.prototype._moveHandleToValue=function(e,t){Nx(this._axisPointerModel,!t&&this._moveAnimation,this._handle,Qc(this.getHandleTransform(e,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(e,t){var a=this._handle;if(a){this._dragging=!0;var n=this.updateHandleTransform(Qc(a),[e,t],this._axisModel,this._axisPointerModel);this._payloadInfo=n,a.stopAnimation(),a.attr(Qc(n)),$n(a).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var e=this._handle;if(e){var t=this._payloadInfo,a=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:a.axis.dim,axisIndex:a.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var e=this._handle;if(e){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(e){this._lastValue=null,this._lastStatus=null;var t=e.getZr(),a=this._group,n=this._handle;t&&a&&(this._lastGraphicKey=null,a&&t.remove(a),n&&t.remove(n),this._group=null,this._handle=null,this._payloadInfo=null),tl(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(e,t,a){return a=a||0,{x:e[a],y:e[1-a],width:t[a],height:t[1-a]}},r}();function Nx(r,e,t,a){c2($n(t).lastProp,a)||($n(t).lastProp=a,e?Mt(t,a,r):(t.stopAnimation(),t.attr(a)))}function c2(r,e){if(st(r)&&st(e)){var t=!0;return D(e,function(a,n){t=t&&c2(r[n],a)}),!!t}else return r===e}function Bx(r,e){r[e.get(["label","show"])?"show":"hide"]()}function Qc(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function Vx(r,e,t){var a=e.get("z"),n=e.get("zlevel");r&&r.traverse(function(i){i.type!=="group"&&(a!=null&&(i.z=a),n!=null&&(i.zlevel=n),i.silent=t)})}function Ky(r){var e=r.get("type"),t=r.getModel(e+"Style"),a;return e==="line"?(a=t.getLineStyle(),a.fill=null):e==="shadow"&&(a=t.getAreaStyle(),a.stroke=null),a}function d2(r,e,t,a,n){var i=t.get("value"),o=p2(i,e.axis,e.ecModel,t.get("seriesDataIndices"),{precision:t.get(["label","precision"]),formatter:t.get(["label","formatter"])}),s=t.getModel("label"),l=Io(s.get("padding")||0),u=s.getFont(),f=yl(o,u),h=n.position,v=f.width+l[1]+l[3],c=f.height+l[0]+l[2],d=n.align;d==="right"&&(h[0]-=v),d==="center"&&(h[0]-=v/2);var p=n.verticalAlign;p==="bottom"&&(h[1]-=c),p==="middle"&&(h[1]-=c/2),xW(h,v,c,a);var g=s.get("backgroundColor");(!g||g==="auto")&&(g=e.get(["axisLine","lineStyle","color"])),r.label={x:h[0],y:h[1],style:zt(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:g}),z2:10}}function xW(r,e,t,a){var n=a.getWidth(),i=a.getHeight();r[0]=Math.min(r[0]+e,n)-e,r[1]=Math.min(r[1]+t,i)-t,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function p2(r,e,t,a,n){r=e.scale.parse(r);var i=e.scale.getLabel({value:r},{precision:n.precision}),o=n.formatter;if(o){var s={value:oy(e,{value:r}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};D(a,function(l){var u=t.getSeriesByIndex(l.seriesIndex),f=l.dataIndexInside,h=u&&u.getDataParams(f);h&&s.seriesData.push(h)}),K(o)?i=o.replace("{value}",i):nt(o)&&(i=o(s))}return i}function Jy(r,e,t){var a=qe();return _i(a,a,t.rotation),Kr(a,a,t.position),Mr([r.dataToCoord(e),(t.labelOffset||0)+(t.labelDirection||1)*(t.labelMargin||0)],a)}function g2(r,e,t,a,n,i){var o=Re.innerTextLayout(t.rotation,0,t.labelDirection);t.labelMargin=n.get(["label","margin"]),d2(e,a,n,i,{position:Jy(a.axis,r,t),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function Qy(r,e,t){return t=t||0,{x1:r[t],y1:r[1-t],x2:e[t],y2:e[1-t]}}function y2(r,e,t){return t=t||0,{x:r[t],y:r[1-t],width:e[t],height:e[1-t]}}function zx(r,e,t,a,n,i){return{cx:r,cy:e,r0:t,r:a,startAngle:n,endAngle:i,clockwise:!0}}var bW=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,a,n,i,o){var s=n.axis,l=s.grid,u=i.get("type"),f=Gx(l,s).getOtherAxis(s).getGlobalExtent(),h=s.toGlobalCoord(s.dataToCoord(a,!0));if(u&&u!=="none"){var v=Ky(i),c=wW[u](s,h,f);c.style=v,t.graphicKey=c.type,t.pointer=c}var d=wp(l.model,n);g2(a,t,d,n,i,o)},e.prototype.getHandleTransform=function(t,a,n){var i=wp(a.axis.grid.model,a,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var o=Jy(a.axis,t,i);return{x:o[0],y:o[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,a,n,i){var o=n.axis,s=o.grid,l=o.getGlobalExtent(!0),u=Gx(s,o).getOtherAxis(o).getGlobalExtent(),f=o.dim==="x"?0:1,h=[t.x,t.y];h[f]+=a[f],h[f]=Math.min(l[1],h[f]),h[f]=Math.max(l[0],h[f]);var v=(u[1]+u[0])/2,c=[v,v];c[f]=h[f];var d=[{verticalAlign:"middle"},{align:"center"}];return{x:h[0],y:h[1],rotation:t.rotation,cursorPoint:c,tooltipOption:d[f]}},e}(qy);function Gx(r,e){var t={};return t[e.dim+"AxisIndex"]=e.index,r.getCartesian(t)}var wW={line:function(r,e,t){var a=Qy([e,t[0]],[e,t[1]],Fx(r));return{type:"Line",subPixelOptimize:!0,shape:a}},shadow:function(r,e,t){var a=Math.max(1,r.getBandWidth()),n=t[1]-t[0];return{type:"Rect",shape:y2([e-a/2,t[0]],[a,n],Fx(r))}}};function Fx(r){return r.dim==="x"?0:1}var TW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(bt),ua=At(),AW=D;function m2(r,e,t){if(!xt.node){var a=e.getZr();ua(a).records||(ua(a).records={}),CW(a,e);var n=ua(a).records[r]||(ua(a).records[r]={});n.handler=t}}function CW(r,e){if(ua(r).initialized)return;ua(r).initialized=!0,t("click",ct(Hx,"click")),t("mousemove",ct(Hx,"mousemove")),t("globalout",MW);function t(a,n){r.on(a,function(i){var o=LW(e);AW(ua(r).records,function(s){s&&n(s,i,o.dispatchAction)}),DW(o.pendings,e)})}}function DW(r,e){var t=r.showTip.length,a=r.hideTip.length,n;t?n=r.showTip[t-1]:a&&(n=r.hideTip[a-1]),n&&(n.dispatchAction=null,e.dispatchAction(n))}function MW(r,e,t){r.handler("leave",null,t)}function Hx(r,e,t,a){e.handler(r,t,a)}function LW(r){var e={showTip:[],hideTip:[]},t=function(a){var n=e[a.type];n?n.push(a):(a.dispatchAction=t,r.dispatchAction(a))};return{dispatchAction:t,pendings:e}}function Up(r,e){if(!xt.node){var t=e.getZr(),a=(ua(t).records||{})[r];a&&(ua(t).records[r]=null)}}var IW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=a.getComponent("tooltip"),o=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";m2("axisPointer",n,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},e.prototype.remove=function(t,a){Up("axisPointer",a)},e.prototype.dispose=function(t,a){Up("axisPointer",a)},e.type="axisPointer",e}(Ut);function _2(r,e){var t=[],a=r.seriesIndex,n;if(a==null||!(n=e.getSeriesByIndex(a)))return{point:[]};var i=n.getData(),o=vi(i,r);if(o==null||o<0||z(o))return{point:[]};var s=i.getItemGraphicEl(o),l=n.coordinateSystem;if(n.getTooltipPosition)t=n.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(r.isStacked){var u=l.getBaseAxis(),f=l.getOtherAxis(u),h=f.dim,v=u.dim,c=h==="x"||h==="radius"?1:0,d=i.mapDimension(v),p=[];p[c]=i.get(d,o),p[1-c]=i.get(i.getCalculationInfo("stackResultDimension"),o),t=l.dataToPoint(p)||[]}else t=l.dataToPoint(i.getValues(H(l.dimensions,function(y){return i.mapDimension(y)}),o))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),t=[g.x+g.width/2,g.y+g.height/2]}return{point:t,el:s}}var Wx=At();function PW(r,e,t){var a=r.currTrigger,n=[r.x,r.y],i=r,o=r.dispatchAction||J(t.dispatchAction,t),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){nf(n)&&(n=_2({seriesIndex:i.seriesIndex,dataIndex:i.dataIndex},e).point);var l=nf(n),u=i.axesInfo,f=s.axesInfo,h=a==="leave"||nf(n),v={},c={},d={list:[],map:{}},p={showPointer:ct(EW,c),showTooltip:ct(kW,d)};D(s.coordSysMap,function(y,m){var _=l||y.containPoint(n);D(s.coordSysAxesInfo[m],function(S,b){var x=S.axis,w=VW(u,S);if(!h&&_&&(!u||w)){var T=w&&w.value;T==null&&!l&&(T=x.pointToData(n)),T!=null&&Ux(S,T,p,!1,v)}})});var g={};return D(f,function(y,m){var _=y.linkGroup;_&&!c[m]&&D(_.axesInfo,function(S,b){var x=c[b];if(S!==y&&x){var w=x.value;_.mapper&&(w=y.axis.scale.parse(_.mapper(w,Yx(S),Yx(y)))),g[y.key]=w}})}),D(g,function(y,m){Ux(f[m],y,p,!0,v)}),OW(c,f,v),NW(d,n,r,o),BW(f,o,t),v}}function Ux(r,e,t,a,n){var i=r.axis;if(!(i.scale.isBlank()||!i.containData(e))){if(!r.involveSeries){t.showPointer(r,e);return}var o=RW(e,r),s=o.payloadBatch,l=o.snapToValue;s[0]&&n.seriesIndex==null&&V(n,s[0]),!a&&r.snap&&i.containData(l)&&l!=null&&(e=l),t.showPointer(r,e,s),t.showTooltip(r,o,l)}}function RW(r,e){var t=e.axis,a=t.dim,n=r,i=[],o=Number.MAX_VALUE,s=-1;return D(e.seriesModels,function(l,u){var f=l.getData().mapDimensionsAll(a),h,v;if(l.getAxisTooltipData){var c=l.getAxisTooltipData(f,r,t);v=c.dataIndices,h=c.nestestValue}else{if(v=l.getData().indicesOfNearest(f[0],r,t.type==="category"?.5:null),!v.length)return;h=l.getData().get(f[0],v[0])}if(!(h==null||!isFinite(h))){var d=r-h,p=Math.abs(d);p<=o&&((p<o||d>=0&&s<0)&&(o=p,s=d,n=h,i.length=0),D(v,function(g){i.push({seriesIndex:l.seriesIndex,dataIndexInside:g,dataIndex:l.getData().getRawIndex(g)})}))}}),{payloadBatch:i,snapToValue:n}}function EW(r,e,t,a){r[e.key]={value:t,payloadBatch:a}}function kW(r,e,t,a){var n=t.payloadBatch,i=e.axis,o=i.model,s=e.axisPointerModel;if(!(!e.triggerTooltip||!n.length)){var l=e.coordSys.model,u=sl(l),f=r.map[u];f||(f=r.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},r.list.push(f)),f.dataByAxis.push({axisDim:i.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:a,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:n.slice()})}}function OW(r,e,t){var a=t.axesInfo=[];D(e,function(n,i){var o=n.axisPointerModel.option,s=r[i];s?(!n.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!n.useHandle&&(o.status="hide"),o.status==="show"&&a.push({axisDim:n.axis.dim,axisIndex:n.axis.model.componentIndex,value:o.value})})}function NW(r,e,t,a){if(nf(e)||!r.list.length){a({type:"hideTip"});return}var n=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};a({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:t.tooltipOption,position:t.position,dataIndexInside:n.dataIndexInside,dataIndex:n.dataIndex,seriesIndex:n.seriesIndex,dataByCoordSys:r.list})}function BW(r,e,t){var a=t.getZr(),n="axisPointerLastHighlights",i=Wx(a)[n]||{},o=Wx(a)[n]={};D(r,function(u,f){var h=u.axisPointerModel.option;h.status==="show"&&u.triggerEmphasis&&D(h.seriesDataIndices,function(v){var c=v.seriesIndex+" | "+v.dataIndex;o[c]=v})});var s=[],l=[];D(i,function(u,f){!o[f]&&l.push(u)}),D(o,function(u,f){!i[f]&&s.push(u)}),l.length&&t.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&t.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function VW(r,e){for(var t=0;t<(r||[]).length;t++){var a=r[t];if(e.axis.dim===a.axisDim&&e.axis.model.componentIndex===a.axisIndex)return a}}function Yx(r){var e=r.axis.model,t={},a=t.axisDim=r.axis.dim;return t.axisIndex=t[a+"AxisIndex"]=e.componentIndex,t.axisName=t[a+"AxisName"]=e.name,t.axisId=t[a+"AxisId"]=e.id,t}function nf(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function Bl(r){Ai.registerAxisPointerClass("CartesianAxisPointer",bW),r.registerComponentModel(TW),r.registerComponentView(IW),r.registerPreprocessor(function(e){if(e){(!e.axisPointer||e.axisPointer.length===0)&&(e.axisPointer={});var t=e.axisPointer.link;t&&!z(t)&&(e.axisPointer.link=[t])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(e,t){e.getComponent("axisPointer").coordSysAxesInfo=XV(e,t)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},PW)}function zW(r){mt(ZD),mt(Bl)}var GW=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,a,n,i,o){var s=n.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),f=u.getExtent(),h=s.dataToCoord(a),v=i.get("type");if(v&&v!=="none"){var c=Ky(i),d=HW[v](s,l,h,f);d.style=c,t.graphicKey=d.type,t.pointer=d}var p=i.get(["label","margin"]),g=FW(a,n,i,l,p);d2(t,n,i,o,g)},e}(qy);function FW(r,e,t,a,n){var i=e.axis,o=i.dataToCoord(r),s=a.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=a.getRadiusAxis().getExtent(),u,f,h;if(i.dim==="radius"){var v=qe();_i(v,v,s),Kr(v,v,[a.cx,a.cy]),u=Mr([o,-n],v);var c=e.getModel("axisLabel").get("rotate")||0,d=Re.innerTextLayout(s,c*Math.PI/180,-1);f=d.textAlign,h=d.textVerticalAlign}else{var p=l[1];u=a.coordToPoint([p+n,o]);var g=a.cx,y=a.cy;f=Math.abs(u[0]-g)/p<.3?"center":u[0]>g?"left":"right",h=Math.abs(u[1]-y)/p<.3?"middle":u[1]>y?"top":"bottom"}return{position:u,align:f,verticalAlign:h}}var HW={line:function(r,e,t,a){return r.dim==="angle"?{type:"Line",shape:Qy(e.coordToPoint([a[0],t]),e.coordToPoint([a[1],t]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:t}}},shadow:function(r,e,t,a){var n=Math.max(1,r.getBandWidth()),i=Math.PI/180;return r.dim==="angle"?{type:"Sector",shape:zx(e.cx,e.cy,a[0],a[1],(-t-n/2)*i,(-t+n/2)*i)}:{type:"Sector",shape:zx(e.cx,e.cy,t-n/2,t+n/2,0,Math.PI*2)}}},WW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.findAxisModel=function(t){var a,n=this.ecModel;return n.eachComponent(t,function(i){i.getCoordSysModel()===this&&(a=i)},this),a},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(bt),jy=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Qt).models[0]},e.type="polarAxis",e}(bt);te(jy,Ml);var UW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="angleAxis",e}(jy),YW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="radiusAxis",e}(jy),tm=function(r){k(e,r);function e(t,a){return r.call(this,"radius",t,a)||this}return e.prototype.pointToData=function(t,a){return this.polar.pointToData(t,a)[this.dim==="radius"?0:1]},e}(Rr);tm.prototype.dataToRadius=Rr.prototype.dataToCoord;tm.prototype.radiusToData=Rr.prototype.coordToData;var $W=At(),em=function(r){k(e,r);function e(t,a){return r.call(this,"angle",t,a||[0,360])||this}return e.prototype.pointToData=function(t,a){return this.polar.pointToData(t,a)[this.dim==="radius"?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,a=t.getLabelModel(),n=t.scale,i=n.getExtent(),o=n.count();if(i[1]-i[0]<1)return 0;var s=i[0],l=t.dataToCoord(s+1)-t.dataToCoord(s),u=Math.abs(l),f=yl(s==null?"":s+"",a.getFont(),"center","top"),h=Math.max(f.height,7),v=h/u;isNaN(v)&&(v=1/0);var c=Math.max(0,Math.floor(v)),d=$W(t.model),p=d.lastAutoInterval,g=d.lastTickCount;return p!=null&&g!=null&&Math.abs(p-c)<=1&&Math.abs(g-o)<=1&&p>c?c=p:(d.lastTickCount=o,d.lastAutoInterval=c),c},e}(Rr);em.prototype.dataToAngle=Rr.prototype.dataToCoord;em.prototype.angleToData=Rr.prototype.coordToData;var S2=["radius","angle"],ZW=function(){function r(e){this.dimensions=S2,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new tm,this._angleAxis=new em,this.axisPointerEnabled=!0,this.name=e||"",this._radiusAxis.polar=this._angleAxis.polar=this}return r.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},r.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},r.prototype.getAxis=function(e){var t="_"+e+"Axis";return this[t]},r.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},r.prototype.getAxesByScale=function(e){var t=[],a=this._angleAxis,n=this._radiusAxis;return a.scale.type===e&&t.push(a),n.scale.type===e&&t.push(n),t},r.prototype.getAngleAxis=function(){return this._angleAxis},r.prototype.getRadiusAxis=function(){return this._radiusAxis},r.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},r.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},r.prototype.getTooltipAxes=function(e){var t=e!=null&&e!=="auto"?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},r.prototype.dataToPoint=function(e,t){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)])},r.prototype.pointToData=function(e,t){var a=this.pointToCoord(e);return[this._radiusAxis.radiusToData(a[0],t),this._angleAxis.angleToData(a[1],t)]},r.prototype.pointToCoord=function(e){var t=e[0]-this.cx,a=e[1]-this.cy,n=this.getAngleAxis(),i=n.getExtent(),o=Math.min(i[0],i[1]),s=Math.max(i[0],i[1]);n.inverse?o=s-360:s=o+360;var l=Math.sqrt(t*t+a*a);t/=l,a/=l;for(var u=Math.atan2(-a,t)/Math.PI*180,f=u<o?1:-1;u<o||u>s;)u+=f*360;return[l,u]},r.prototype.coordToPoint=function(e){var t=e[0],a=e[1]/180*Math.PI,n=Math.cos(a)*t+this.cx,i=-Math.sin(a)*t+this.cy;return[n,i]},r.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis(),a=t.getExtent().slice();a[0]>a[1]&&a.reverse();var n=e.getExtent(),i=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:a[0],r:a[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:e.inverse,contain:function(s,l){var u=s-this.cx,f=l-this.cy,h=u*u+f*f,v=this.r,c=this.r0;return v!==c&&h-o<=v*v&&h+o>=c*c}}},r.prototype.convertToPixel=function(e,t,a){var n=$x(t);return n===this?this.dataToPoint(a):null},r.prototype.convertFromPixel=function(e,t,a){var n=$x(t);return n===this?this.pointToData(a):null},r}();function $x(r){var e=r.seriesModel,t=r.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function XW(r,e,t){var a=e.get("center"),n=t.getWidth(),i=t.getHeight();r.cx=X(a[0],n),r.cy=X(a[1],i);var o=r.getRadiusAxis(),s=Math.min(n,i)/2,l=e.get("radius");l==null?l=[0,"100%"]:z(l)||(l=[0,l]);var u=[X(l[0],s),X(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function qW(r,e){var t=this,a=t.getAngleAxis(),n=t.getRadiusAxis();if(a.scale.setExtent(1/0,-1/0),n.scale.setExtent(1/0,-1/0),r.eachSeries(function(s){if(s.coordinateSystem===t){var l=s.getData();D(kf(l,"radius"),function(u){n.scale.unionExtentFromData(l,u)}),D(kf(l,"angle"),function(u){a.scale.unionExtentFromData(l,u)})}}),go(a.scale,a.model),go(n.scale,n.model),a.type==="category"&&!a.onBand){var i=a.getExtent(),o=360/a.scale.count();a.inverse?i[1]+=o:i[1]-=o,a.setExtent(i[0],i[1])}}function KW(r){return r.mainType==="angleAxis"}function Zx(r,e){var t;if(r.type=e.get("type"),r.scale=Oh(e),r.onBand=e.get("boundaryGap")&&r.type==="category",r.inverse=e.get("inverse"),KW(e)){r.inverse=r.inverse!==e.get("clockwise");var a=e.get("startAngle"),n=(t=e.get("endAngle"))!==null&&t!==void 0?t:a+(r.inverse?-360:360);r.setExtent(a,n)}e.axis=r,r.model=e}var JW={dimensions:S2,create:function(r,e){var t=[];return r.eachComponent("polar",function(a,n){var i=new ZW(n+"");i.update=qW;var o=i.getRadiusAxis(),s=i.getAngleAxis(),l=a.findAxisModel("radiusAxis"),u=a.findAxisModel("angleAxis");Zx(o,l),Zx(s,u),XW(i,a,e),t.push(i),a.coordinateSystem=i,i.model=a}),r.eachSeries(function(a){if(a.get("coordinateSystem")==="polar"){var n=a.getReferringComponents("polar",Qt).models[0];a.coordinateSystem=n.coordinateSystem}}),t}},QW=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Ru(r,e,t){e[1]>e[0]&&(e=e.slice().reverse());var a=r.coordToPoint([e[0],t]),n=r.coordToPoint([e[1],t]);return{x1:a[0],y1:a[1],x2:n[0],y2:n[1]}}function Eu(r){var e=r.getRadiusAxis();return e.inverse?0:1}function Xx(r){var e=r[0],t=r[r.length-1];e&&t&&Math.abs(Math.abs(e.coord-t.coord)-360)<1e-4&&r.pop()}var jW=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,a){if(this.group.removeAll(),!!t.get("show")){var n=t.axis,i=n.polar,o=i.getRadiusAxis().getExtent(),s=n.getTicksCoords(),l=n.getMinorTicksCoords(),u=H(n.getViewLabels(),function(f){f=lt(f);var h=n.scale,v=h.type==="ordinal"?h.getRawOrdinalNumber(f.tickValue):f.tickValue;return f.coord=n.dataToCoord(v),f});Xx(u),Xx(s),D(QW,function(f){t.get([f,"show"])&&(!n.scale.isBlank()||f==="axisLine")&&t6[f](this.group,t,i,s,l,o,u)},this)}},e.type="angleAxis",e}(Ai),t6={axisLine:function(r,e,t,a,n,i){var o=e.getModel(["axisLine","lineStyle"]),s=t.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),f=Eu(t),h=f?0:1,v,c=Math.abs(u[1]-u[0])===360?"Circle":"Arc";i[h]===0?v=new xi[c]({shape:{cx:t.cx,cy:t.cy,r:i[f],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):v=new Sl({shape:{cx:t.cx,cy:t.cy,r:i[f],r0:i[h]},style:o.getLineStyle(),z2:1,silent:!0}),v.style.fill=null,r.add(v)},axisTick:function(r,e,t,a,n,i){var o=e.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=i[Eu(t)],u=H(a,function(f){return new ie({shape:Ru(t,[l,l+s],f.coord)})});r.add(ur(u,{style:ot(o.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(r,e,t,a,n,i){if(n.length){for(var o=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=i[Eu(t)],f=[],h=0;h<n.length;h++)for(var v=0;v<n[h].length;v++)f.push(new ie({shape:Ru(t,[u,u+l],n[h][v].coord)}));r.add(ur(f,{style:ot(s.getModel("lineStyle").getLineStyle(),ot(o.getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(r,e,t,a,n,i,o){var s=e.getCategories(!0),l=e.getModel("axisLabel"),u=l.get("margin"),f=e.get("triggerEvent");D(o,function(h,v){var c=l,d=h.tickValue,p=i[Eu(t)],g=t.coordToPoint([p+u,h.coord]),y=t.cx,m=t.cy,_=Math.abs(g[0]-y)/p<.3?"center":g[0]>y?"left":"right",S=Math.abs(g[1]-m)/p<.3?"middle":g[1]>m?"top":"bottom";if(s&&s[d]){var b=s[d];st(b)&&b.textStyle&&(c=new Et(b.textStyle,l,l.ecModel))}var x=new Ct({silent:Re.isLabelSilent(e),style:zt(c,{x:g[0],y:g[1],fill:c.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:h.formattedLabel,align:_,verticalAlign:S})});if(r.add(x),f){var w=Re.makeAxisEventDataBase(e);w.targetType="axisLabel",w.value=h.rawLabel,ht(x).eventData=w}},this)},splitLine:function(r,e,t,a,n,i){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var f=[],h=0;h<a.length;h++){var v=u++%l.length;f[v]=f[v]||[],f[v].push(new ie({shape:Ru(t,i,a[h].coord)}))}for(var h=0;h<f.length;h++)r.add(ur(f[h],{style:ot({stroke:l[h%l.length]},s.getLineStyle()),silent:!0,z:e.get("z")}))},minorSplitLine:function(r,e,t,a,n,i){if(n.length){for(var o=e.getModel("minorSplitLine"),s=o.getModel("lineStyle"),l=[],u=0;u<n.length;u++)for(var f=0;f<n[u].length;f++)l.push(new ie({shape:Ru(t,i,n[u][f].coord)}));r.add(ur(l,{style:s.getLineStyle(),silent:!0,z:e.get("z")}))}},splitArea:function(r,e,t,a,n,i){if(a.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var f=[],h=Math.PI/180,v=-a[0].coord*h,c=Math.min(i[0],i[1]),d=Math.max(i[0],i[1]),p=e.get("clockwise"),g=1,y=a.length;g<=y;g++){var m=g===y?a[0].coord:a[g].coord,_=u++%l.length;f[_]=f[_]||[],f[_].push(new Oe({shape:{cx:t.cx,cy:t.cy,r0:c,r:d,startAngle:v,endAngle:-m*h,clockwise:p},silent:!0})),v=-m*h}for(var g=0;g<f.length;g++)r.add(ur(f[g],{style:ot({fill:l[g%l.length]},s.getAreaStyle()),silent:!0}))}}},e6=["axisLine","axisTickLabel","axisName"],r6=["splitLine","splitArea","minorSplitLine"],a6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,a){if(this.group.removeAll(),!!t.get("show")){var n=this._axisGroup,i=this._axisGroup=new ut;this.group.add(i);var o=t.axis,s=o.polar,l=s.getAngleAxis(),u=o.getTicksCoords(),f=o.getMinorTicksCoords(),h=l.getExtent()[0],v=o.getExtent(),c=i6(s,t,h),d=new Re(t,c);D(e6,d.add,d),i.add(d.getGroup()),wl(n,i,t),D(r6,function(p){t.get([p,"show"])&&!o.scale.isBlank()&&n6[p](this.group,t,s,h,v,u,f)},this)}},e.type="radiusAxis",e}(Ai),n6={splitLine:function(r,e,t,a,n,i){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0,f=t.getAngleAxis(),h=Math.PI/180,v=f.getExtent(),c=Math.abs(v[1]-v[0])===360?"Circle":"Arc";l=l instanceof Array?l:[l];for(var d=[],p=0;p<i.length;p++){var g=u++%l.length;d[g]=d[g]||[],d[g].push(new xi[c]({shape:{cx:t.cx,cy:t.cy,r:Math.max(i[p].coord,0),startAngle:-v[0]*h,endAngle:-v[1]*h,clockwise:f.inverse}}))}for(var p=0;p<d.length;p++)r.add(ur(d[p],{style:ot({stroke:l[p%l.length],fill:null},s.getLineStyle()),silent:!0}))},minorSplitLine:function(r,e,t,a,n,i,o){if(o.length){for(var s=e.getModel("minorSplitLine"),l=s.getModel("lineStyle"),u=[],f=0;f<o.length;f++)for(var h=0;h<o[f].length;h++)u.push(new Ta({shape:{cx:t.cx,cy:t.cy,r:o[f][h].coord}}));r.add(ur(u,{style:ot({fill:null},l.getLineStyle()),silent:!0}))}},splitArea:function(r,e,t,a,n,i){if(i.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var f=[],h=i[0].coord,v=1;v<i.length;v++){var c=u++%l.length;f[c]=f[c]||[],f[c].push(new Oe({shape:{cx:t.cx,cy:t.cy,r0:h,r:i[v].coord,startAngle:0,endAngle:Math.PI*2},silent:!0})),h=i[v].coord}for(var v=0;v<f.length;v++)r.add(ur(f[v],{style:ot({fill:l[v%l.length]},s.getAreaStyle()),silent:!0}))}}};function i6(r,e,t){return{position:[r.cx,r.cy],rotation:t/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function x2(r){return r.get("stack")||"__ec_stack_"+r.seriesIndex}function b2(r,e){return e.dim+r.model.componentIndex}function o6(r,e,t){var a={},n=s6(Pt(e.getSeriesByType(r),function(i){return!e.isSeriesFiltered(i)&&i.coordinateSystem&&i.coordinateSystem.type==="polar"}));e.eachSeriesByType(r,function(i){if(i.coordinateSystem.type==="polar"){var o=i.getData(),s=i.coordinateSystem,l=s.getBaseAxis(),u=b2(s,l),f=x2(i),h=n[u][f],v=h.offset,c=h.width,d=s.getOtherAxis(l),p=i.coordinateSystem.cx,g=i.coordinateSystem.cy,y=i.get("barMinHeight")||0,m=i.get("barMinAngle")||0;a[f]=a[f]||[];for(var _=o.mapDimension(d.dim),S=o.mapDimension(l.dim),b=ln(o,_),x=l.dim!=="radius"||!i.get("roundCap",!0),w=d.model,T=w.get("startValue"),A=d.dataToCoord(T||0),C=0,M=o.count();C<M;C++){var L=o.get(_,C),I=o.get(S,C),P=L>=0?"p":"n",R=A;b&&(a[f][I]||(a[f][I]={p:A,n:A}),R=a[f][I][P]);var E=void 0,N=void 0,O=void 0,B=void 0;if(d.dim==="radius"){var G=d.dataToCoord(L)-A,U=l.dataToCoord(I);Math.abs(G)<y&&(G=(G<0?-1:1)*y),E=R,N=R+G,O=U-v,B=O-c,b&&(a[f][I][P]=N)}else{var Z=d.dataToCoord(L,x)-A,rt=l.dataToCoord(I);Math.abs(Z)<m&&(Z=(Z<0?-1:1)*m),E=rt+v,N=E+c,O=R,B=R+Z,b&&(a[f][I][P]=B)}o.setItemLayout(C,{cx:p,cy:g,r0:E,r:N,startAngle:-O*Math.PI/180,endAngle:-B*Math.PI/180,clockwise:O>=B})}}})}function s6(r){var e={};D(r,function(a,n){var i=a.getData(),o=a.coordinateSystem,s=o.getBaseAxis(),l=b2(o,s),u=s.getExtent(),f=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/i.count(),h=e[l]||{bandWidth:f,remainedWidth:f,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},v=h.stacks;e[l]=h;var c=x2(a);v[c]||h.autoWidthCount++,v[c]=v[c]||{width:0,maxWidth:0};var d=X(a.get("barWidth"),f),p=X(a.get("barMaxWidth"),f),g=a.get("barGap"),y=a.get("barCategoryGap");d&&!v[c].width&&(d=Math.min(h.remainedWidth,d),v[c].width=d,h.remainedWidth-=d),p&&(v[c].maxWidth=p),g!=null&&(h.gap=g),y!=null&&(h.categoryGap=y)});var t={};return D(e,function(a,n){t[n]={};var i=a.stacks,o=a.bandWidth,s=X(a.categoryGap,o),l=X(a.gap,1),u=a.remainedWidth,f=a.autoWidthCount,h=(u-s)/(f+(f-1)*l);h=Math.max(h,0),D(i,function(p,g){var y=p.maxWidth;y&&y<h&&(y=Math.min(y,u),p.width&&(y=Math.min(y,p.width)),u-=y,p.width=y,f--)}),h=(u-s)/(f+(f-1)*l),h=Math.max(h,0);var v=0,c;D(i,function(p,g){p.width||(p.width=h),c=p,v+=p.width*(1+l)}),c&&(v-=c.width*l);var d=-v/2;D(i,function(p,g){t[n][g]=t[n][g]||{offset:d,width:p.width},d+=p.width*(1+l)})}),t}var l6={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},u6={splitNumber:5},f6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="polar",e}(Ut);function h6(r){mt(Bl),Ai.registerAxisPointerClass("PolarAxisPointer",GW),r.registerCoordinateSystem("polar",JW),r.registerComponentModel(WW),r.registerComponentView(f6),mo(r,"angle",UW,l6),mo(r,"radius",YW,u6),r.registerComponentView(jW),r.registerComponentView(a6),r.registerLayout(ct(o6,"bar"))}function Yp(r,e){e=e||{};var t=r.coordinateSystem,a=r.axis,n={},i=a.position,o=a.orient,s=t.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};n.position=[o==="vertical"?u.vertical[i]:l[0],o==="horizontal"?u.horizontal[i]:l[3]];var f={horizontal:0,vertical:1};n.rotation=Math.PI/2*f[o];var h={top:-1,bottom:1,right:1,left:-1};n.labelDirection=n.tickDirection=n.nameDirection=h[i],r.get(["axisTick","inside"])&&(n.tickDirection=-n.tickDirection),ve(e.labelInside,r.get(["axisLabel","inside"]))&&(n.labelDirection=-n.labelDirection);var v=e.rotate;return v==null&&(v=r.get(["axisLabel","rotate"])),n.labelRotation=i==="top"?-v:v,n.z2=1,n}var v6=["axisLine","axisTickLabel","axisName"],c6=["splitArea","splitLine"],d6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="SingleAxisPointer",t}return e.prototype.render=function(t,a,n,i){var o=this.group;o.removeAll();var s=this._axisGroup;this._axisGroup=new ut;var l=Yp(t),u=new Re(t,l);D(v6,u.add,u),o.add(this._axisGroup),o.add(u.getGroup()),D(c6,function(f){t.get([f,"show"])&&p6[f](this,this.group,this._axisGroup,t)},this),wl(s,this._axisGroup,t),r.prototype.render.call(this,t,a,n,i)},e.prototype.remove=function(){UD(this)},e.type="singleAxis",e}(Ai),p6={splitLine:function(r,e,t,a){var n=a.axis;if(!n.scale.isBlank()){var i=a.getModel("splitLine"),o=i.getModel("lineStyle"),s=o.get("color");s=s instanceof Array?s:[s];for(var l=o.get("width"),u=a.coordinateSystem.getRect(),f=n.isHorizontal(),h=[],v=0,c=n.getTicksCoords({tickModel:i}),d=[],p=[],g=0;g<c.length;++g){var y=n.toGlobalCoord(c[g].coord);f?(d[0]=y,d[1]=u.y,p[0]=y,p[1]=u.y+u.height):(d[0]=u.x,d[1]=y,p[0]=u.x+u.width,p[1]=y);var m=new ie({shape:{x1:d[0],y1:d[1],x2:p[0],y2:p[1]},silent:!0});vo(m.shape,l);var _=v++%s.length;h[_]=h[_]||[],h[_].push(m)}for(var S=o.getLineStyle(["color"]),g=0;g<h.length;++g)e.add(ur(h[g],{style:ot({stroke:s[g%s.length]},S),silent:!0}))}},splitArea:function(r,e,t,a){WD(r,t,a,a)}},of=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getCoordSysModel=function(){return this},e.type="singleAxis",e.layoutMode="box",e.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}},e}(bt);te(of,Ml.prototype);var g6=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this,t,a,n)||this;return s.type=i||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.pointToData=function(t,a){return this.coordinateSystem.pointToData(t)[0]},e}(Rr),w2=["single"],y6=function(){function r(e,t,a){this.type="single",this.dimension="single",this.dimensions=w2,this.axisPointerEnabled=!0,this.model=e,this._init(e,t,a)}return r.prototype._init=function(e,t,a){var n=this.dimension,i=new g6(n,Oh(e),[0,0],e.get("type"),e.get("position")),o=i.type==="category";i.onBand=o&&e.get("boundaryGap"),i.inverse=e.get("inverse"),i.orient=e.get("orient"),e.axis=i,i.model=e,i.coordinateSystem=this,this._axis=i},r.prototype.update=function(e,t){e.eachSeries(function(a){if(a.coordinateSystem===this){var n=a.getData();D(n.mapDimensionsAll(this.dimension),function(i){this._axis.scale.unionExtentFromData(n,i)},this),go(this._axis.scale,this._axis.model)}},this)},r.prototype.resize=function(e,t){this._rect=re({left:e.get("left"),top:e.get("top"),right:e.get("right"),bottom:e.get("bottom"),width:e.get("width"),height:e.get("height")},{width:t.getWidth(),height:t.getHeight()}),this._adjustAxis()},r.prototype.getRect=function(){return this._rect},r.prototype._adjustAxis=function(){var e=this._rect,t=this._axis,a=t.isHorizontal(),n=a?[0,e.width]:[0,e.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),this._updateAxisTransform(t,a?e.x:e.y)},r.prototype._updateAxisTransform=function(e,t){var a=e.getExtent(),n=a[0]+a[1],i=e.isHorizontal();e.toGlobalCoord=i?function(o){return o+t}:function(o){return n-o+t},e.toLocalCoord=i?function(o){return o-t}:function(o){return n-o+t}},r.prototype.getAxis=function(){return this._axis},r.prototype.getBaseAxis=function(){return this._axis},r.prototype.getAxes=function(){return[this._axis]},r.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}},r.prototype.containPoint=function(e){var t=this.getRect(),a=this.getAxis(),n=a.orient;return n==="horizontal"?a.contain(a.toLocalCoord(e[0]))&&e[1]>=t.y&&e[1]<=t.y+t.height:a.contain(a.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},r.prototype.pointToData=function(e){var t=this.getAxis();return[t.coordToData(t.toLocalCoord(e[t.orient==="horizontal"?0:1]))]},r.prototype.dataToPoint=function(e){var t=this.getAxis(),a=this.getRect(),n=[],i=t.orient==="horizontal"?0:1;return e instanceof Array&&(e=e[0]),n[i]=t.toGlobalCoord(t.dataToCoord(+e)),n[1-i]=i===0?a.y+a.height/2:a.x+a.width/2,n},r.prototype.convertToPixel=function(e,t,a){var n=qx(t);return n===this?this.dataToPoint(a):null},r.prototype.convertFromPixel=function(e,t,a){var n=qx(t);return n===this?this.pointToData(a):null},r}();function qx(r){var e=r.seriesModel,t=r.singleAxisModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function m6(r,e){var t=[];return r.eachComponent("singleAxis",function(a,n){var i=new y6(a,r,e);i.name="single_"+n,i.resize(a,e),a.coordinateSystem=i,t.push(i)}),r.eachSeries(function(a){if(a.get("coordinateSystem")==="singleAxis"){var n=a.getReferringComponents("singleAxis",Qt).models[0];a.coordinateSystem=n&&n.coordinateSystem}}),t}var _6={create:m6,dimensions:w2},Kx=["x","y"],S6=["width","height"],x6=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,a,n,i,o){var s=n.axis,l=s.coordinateSystem,u=jc(l,1-Xf(s)),f=l.dataToPoint(a)[0],h=i.get("type");if(h&&h!=="none"){var v=Ky(i),c=b6[h](s,f,u);c.style=v,t.graphicKey=c.type,t.pointer=c}var d=Yp(n);g2(a,t,d,n,i,o)},e.prototype.getHandleTransform=function(t,a,n){var i=Yp(a,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var o=Jy(a.axis,t,i);return{x:o[0],y:o[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,a,n,i){var o=n.axis,s=o.coordinateSystem,l=Xf(o),u=jc(s,l),f=[t.x,t.y];f[l]+=a[l],f[l]=Math.min(u[1],f[l]),f[l]=Math.max(u[0],f[l]);var h=jc(s,1-l),v=(h[1]+h[0])/2,c=[v,v];return c[l]=f[l],{x:f[0],y:f[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}},e}(qy),b6={line:function(r,e,t){var a=Qy([e,t[0]],[e,t[1]],Xf(r));return{type:"Line",subPixelOptimize:!0,shape:a}},shadow:function(r,e,t){var a=r.getBandWidth(),n=t[1]-t[0];return{type:"Rect",shape:y2([e-a/2,t[0]],[a,n],Xf(r))}}};function Xf(r){return r.isHorizontal()?0:1}function jc(r,e){var t=r.getRect();return[t[Kx[e]],t[Kx[e]]+t[S6[e]]]}var w6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="single",e}(Ut);function T6(r){mt(Bl),Ai.registerAxisPointerClass("SingleAxisPointer",x6),r.registerComponentView(w6),r.registerComponentView(d6),r.registerComponentModel(of),mo(r,"single",of,of.defaultOption),r.registerCoordinateSystem("single",_6)}var A6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a,n){var i=Po(t);r.prototype.init.apply(this,arguments),Jx(t,i)},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),Jx(this.option,t)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(bt);function Jx(r,e){var t=r.cellSize,a;z(t)?a=t:a=r.cellSize=[t,t],a.length===1&&(a[1]=a[0]);var n=H([0,1],function(i){return $E(e,i)&&(a[i]="auto"),a[i]!=null&&a[i]!=="auto"});sn(r,e,{type:"box",ignoreSize:n})}var C6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){var i=this.group;i.removeAll();var o=t.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=a.getLocaleModel();this._renderDayRect(t,s,i),this._renderLines(t,s,l,i),this._renderYearText(t,s,l,i),this._renderMonthText(t,u,l,i),this._renderWeekText(t,u,s,l,i)},e.prototype._renderDayRect=function(t,a,n){for(var i=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),s=i.getCellWidth(),l=i.getCellHeight(),u=a.start.time;u<=a.end.time;u=i.getNextNDay(u,1).time){var f=i.dataToRect([u],!1).tl,h=new Tt({shape:{x:f[0],y:f[1],width:s,height:l},cursor:"default",style:o});n.add(h)}},e.prototype._renderLines=function(t,a,n,i){var o=this,s=t.coordinateSystem,l=t.getModel(["splitLine","lineStyle"]).getLineStyle(),u=t.get(["splitLine","show"]),f=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=a.start,v=0;h.time<=a.end.time;v++){d(h.formatedDate),v===0&&(h=s.getDateInfo(a.start.y+"-"+a.start.m));var c=h.date;c.setMonth(c.getMonth()+1),h=s.getDateInfo(c)}d(s.getNextNDay(a.end.time,1).formatedDate);function d(p){o._firstDayOfMonth.push(s.getDateInfo(p)),o._firstDayPoints.push(s.dataToRect([p],!1).tl);var g=o._getLinePointsOfOneWeek(t,p,n);o._tlpoints.push(g[0]),o._blpoints.push(g[g.length-1]),u&&o._drawSplitline(g,l,i)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,f,n),l,i),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,f,n),l,i)},e.prototype._getEdgesPoints=function(t,a,n){var i=[t[0].slice(),t[t.length-1].slice()],o=n==="horizontal"?0:1;return i[0][o]=i[0][o]-a/2,i[1][o]=i[1][o]+a/2,i},e.prototype._drawSplitline=function(t,a,n){var i=new Be({z2:20,shape:{points:t},style:a});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,a,n){for(var i=t.coordinateSystem,o=i.getDateInfo(a),s=[],l=0;l<7;l++){var u=i.getNextNDay(o.time,l),f=i.dataToRect([u.time],!1);s[2*u.day]=f.tl,s[2*u.day+1]=f[n==="horizontal"?"bl":"tr"]}return s},e.prototype._formatterLabel=function(t,a){return K(t)&&t?WE(t,a):nt(t)?t(a):a.nameMap},e.prototype._yearTextPositionControl=function(t,a,n,i,o){var s=a[0],l=a[1],u=["center","bottom"];i==="bottom"?(l+=o,u=["center","top"]):i==="left"?s-=o:i==="right"?(s+=o,u=["center","top"]):l-=o;var f=0;return(i==="left"||i==="right")&&(f=Math.PI/2),{rotation:f,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},e.prototype._renderYearText=function(t,a,n,i){var o=t.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=n!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],f=(u[0][0]+u[1][0])/2,h=(u[0][1]+u[1][1])/2,v=n==="horizontal"?0:1,c={top:[f,u[v][1]],bottom:[f,u[1-v][1]],left:[u[1-v][0],h],right:[u[v][0],h]},d=a.start.y;+a.end.y>+a.start.y&&(d=d+"-"+a.end.y);var p=o.get("formatter"),g={start:a.start.y,end:a.end.y,nameMap:d},y=this._formatterLabel(p,g),m=new Ct({z2:30,style:zt(o,{text:y}),silent:o.get("silent")});m.attr(this._yearTextPositionControl(m,c[l],n,l,s)),i.add(m)}},e.prototype._monthTextPositionControl=function(t,a,n,i,o){var s="left",l="top",u=t[0],f=t[1];return n==="horizontal"?(f=f+o,a&&(s="center"),i==="start"&&(l="bottom")):(u=u+o,a&&(l="middle"),i==="start"&&(s="right")),{x:u,y:f,align:s,verticalAlign:l}},e.prototype._renderMonthText=function(t,a,n,i){var o=t.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),f=o.get("align"),h=[this._tlpoints,this._blpoints];(!s||K(s))&&(s&&(a=jd(s)||a),s=a.get(["time","monthAbbr"])||[]);var v=u==="start"?0:1,c=n==="horizontal"?0:1;l=u==="start"?-l:l;for(var d=f==="center",p=o.get("silent"),g=0;g<h[v].length-1;g++){var y=h[v][g].slice(),m=this._firstDayOfMonth[g];if(d){var _=this._firstDayPoints[g];y[c]=(_[c]+h[0][g+1][c])/2}var S=o.get("formatter"),b=s[+m.m-1],x={yyyy:m.y,yy:(m.y+"").slice(2),MM:m.m,M:+m.m,nameMap:b},w=this._formatterLabel(S,x),T=new Ct({z2:30,style:V(zt(o,{text:w}),this._monthTextPositionControl(y,d,n,u,l)),silent:p});i.add(T)}}},e.prototype._weekTextPositionControl=function(t,a,n,i,o){var s="center",l="middle",u=t[0],f=t[1],h=n==="start";return a==="horizontal"?(u=u+i+(h?1:-1)*o[0]/2,s=h?"right":"left"):(f=f+i+(h?1:-1)*o[1]/2,l=h?"bottom":"top"),{x:u,y:f,align:s,verticalAlign:l}},e.prototype._renderWeekText=function(t,a,n,i,o){var s=t.getModel("dayLabel");if(s.get("show")){var l=t.coordinateSystem,u=s.get("position"),f=s.get("nameMap"),h=s.get("margin"),v=l.getFirstDayOfWeek();if(!f||K(f)){f&&(a=jd(f)||a);var c=a.get(["time","dayOfWeekShort"]);f=c||H(a.get(["time","dayOfWeekAbbr"]),function(x){return x[0]})}var d=l.getNextNDay(n.end.time,7-n.lweek).time,p=[l.getCellWidth(),l.getCellHeight()];h=X(h,Math.min(p[1],p[0])),u==="start"&&(d=l.getNextNDay(n.start.time,-(7+n.fweek)).time,h=-h);for(var g=s.get("silent"),y=0;y<7;y++){var m=l.getNextNDay(d,y),_=l.dataToRect([m.time],!1).center,S=y;S=Math.abs((y+v)%7);var b=new Ct({z2:30,style:V(zt(s,{text:f[S]}),this._weekTextPositionControl(_,i,u,h,p)),silent:g});o.add(b)}}},e.type="calendar",e}(Ut),td=864e5,D6=function(){function r(e,t,a){this.type="calendar",this.dimensions=r.dimensions,this.getDimensionsInfo=r.getDimensionsInfo,this._model=e}return r.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]},r.prototype.getRangeInfo=function(){return this._rangeInfo},r.prototype.getModel=function(){return this._model},r.prototype.getRect=function(){return this._rect},r.prototype.getCellWidth=function(){return this._sw},r.prototype.getCellHeight=function(){return this._sh},r.prototype.getOrient=function(){return this._orient},r.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek},r.prototype.getDateInfo=function(e){e=Qr(e);var t=e.getFullYear(),a=e.getMonth()+1,n=a<10?"0"+a:""+a,i=e.getDate(),o=i<10?"0"+i:""+i,s=e.getDay();return s=Math.abs((s+7-this.getFirstDayOfWeek())%7),{y:t+"",m:n,d:o,day:s,time:e.getTime(),formatedDate:t+"-"+n+"-"+o,date:e}},r.prototype.getNextNDay=function(e,t){return t=t||0,t===0?this.getDateInfo(e):(e=new Date(this.getDateInfo(e).time),e.setDate(e.getDate()+t),this.getDateInfo(e))},r.prototype.update=function(e,t){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var a=this._rangeInfo.weeks||1,n=["width","height"],i=this._model.getCellSize().slice(),o=this._model.getBoxLayoutParams(),s=this._orient==="horizontal"?[a,7]:[7,a];D([0,1],function(h){f(i,h)&&(o[n[h]]=i[h]*s[h])});var l={width:t.getWidth(),height:t.getHeight()},u=this._rect=re(o,l);D([0,1],function(h){f(i,h)||(i[h]=u[n[h]]/s[h])});function f(h,v){return h[v]!=null&&h[v]!=="auto"}this._sw=i[0],this._sh=i[1]},r.prototype.dataToPoint=function(e,t){z(e)&&(e=e[0]),t==null&&(t=!0);var a=this.getDateInfo(e),n=this._rangeInfo,i=a.formatedDate;if(t&&!(a.time>=n.start.time&&a.time<n.end.time+td))return[NaN,NaN];var o=a.day,s=this._getRangeInfo([n.start.time,i]).nthWeek;return this._orient==="vertical"?[this._rect.x+o*this._sw+this._sw/2,this._rect.y+s*this._sh+this._sh/2]:[this._rect.x+s*this._sw+this._sw/2,this._rect.y+o*this._sh+this._sh/2]},r.prototype.pointToData=function(e){var t=this.pointToDate(e);return t&&t.time},r.prototype.dataToRect=function(e,t){var a=this.dataToPoint(e,t);return{contentShape:{x:a[0]-(this._sw-this._lineWidth)/2,y:a[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:a,tl:[a[0]-this._sw/2,a[1]-this._sh/2],tr:[a[0]+this._sw/2,a[1]-this._sh/2],br:[a[0]+this._sw/2,a[1]+this._sh/2],bl:[a[0]-this._sw/2,a[1]+this._sh/2]}},r.prototype.pointToDate=function(e){var t=Math.floor((e[0]-this._rect.x)/this._sw)+1,a=Math.floor((e[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return this._orient==="vertical"?this._getDateByWeeksAndDay(a,t-1,n):this._getDateByWeeksAndDay(t,a-1,n)},r.prototype.convertToPixel=function(e,t,a){var n=Qx(t);return n===this?n.dataToPoint(a):null},r.prototype.convertFromPixel=function(e,t,a){var n=Qx(t);return n===this?n.pointToData(a):null},r.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},r.prototype._initRangeOption=function(){var e=this._model.get("range"),t;if(z(e)&&e.length===1&&(e=e[0]),z(e))t=e;else{var a=e.toString();if(/^\d{4}$/.test(a)&&(t=[a+"-01-01",a+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(a)){var n=this.getDateInfo(a),i=n.date;i.setMonth(i.getMonth()+1);var o=this.getNextNDay(i,-1);t=[n.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(a)&&(t=[a,a])}if(!t)return e;var s=this._getRangeInfo(t);return s.start.time>s.end.time&&t.reverse(),t},r.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],a;t[0].time>t[1].time&&(a=!0,t.reverse());var n=Math.floor(t[1].time/td)-Math.floor(t[0].time/td)+1,i=new Date(t[0].time),o=i.getDate(),s=t[1].date.getDate();i.setDate(o+n-1);var l=i.getDate();if(l!==s)for(var u=i.getTime()-t[1].time>0?1:-1;(l=i.getDate())!==s&&(i.getTime()-t[1].time)*u>0;)n-=u,i.setDate(l-u);var f=Math.floor((n+t[0].day+6)/7),h=a?-f+1:f-1;return a&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:n,weeks:f,nthWeek:h,fweek:t[0].day,lweek:t[1].day}},r.prototype._getDateByWeeksAndDay=function(e,t,a){var n=this._getRangeInfo(a);if(e>n.weeks||e===0&&t<n.fweek||e===n.weeks&&t>n.lweek)return null;var i=(e-1)*7-n.fweek+t,o=new Date(n.start.time);return o.setDate(+n.start.d+i),this.getDateInfo(o)},r.create=function(e,t){var a=[];return e.eachComponent("calendar",function(n){var i=new r(n);a.push(i),n.coordinateSystem=i}),e.eachSeries(function(n){n.get("coordinateSystem")==="calendar"&&(n.coordinateSystem=a[n.get("calendarIndex")||0])}),a},r.dimensions=["time","value"],r}();function Qx(r){var e=r.calendarModel,t=r.seriesModel,a=e?e.coordinateSystem:t?t.coordinateSystem:null;return a}function M6(r){r.registerComponentModel(A6),r.registerComponentView(C6),r.registerCoordinateSystem("calendar",D6)}function L6(r,e){var t=r.existing;if(e.id=r.keyInfo.id,!e.type&&t&&(e.type=t.type),e.parentId==null){var a=e.parentOption;a?e.parentId=a.id:t&&(e.parentId=t.parentId)}e.parentOption=null}function jx(r,e){var t;return D(e,function(a){r[a]!=null&&r[a]!=="auto"&&(t=!0)}),t}function I6(r,e,t){var a=V({},t),n=r[e],i=t.$action||"merge";i==="merge"?n?(dt(n,a,!0),sn(n,a,{ignoreSize:!0}),pA(t,n),ku(t,n),ku(t,n,"shape"),ku(t,n,"style"),ku(t,n,"extra"),t.clipPath=n.clipPath):r[e]=a:i==="replace"?r[e]=a:i==="remove"&&n&&(r[e]=null)}var T2=["transition","enterFrom","leaveTo"],P6=T2.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function ku(r,e,t){if(t&&(!r[t]&&e[t]&&(r[t]={}),r=r[t],e=e[t]),!(!r||!e))for(var a=t?T2:P6,n=0;n<a.length;n++){var i=a[n];r[i]==null&&e[i]!=null&&(r[i]=e[i])}}function R6(r,e){if(r&&(r.hv=e.hv=[jx(e,["left","right"]),jx(e,["top","bottom"])],r.type==="group")){var t=r,a=e;t.width==null&&(t.width=a.width=0),t.height==null&&(t.height=a.height=0)}}var E6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.preventAutoZ=!0,t}return e.prototype.mergeOption=function(t,a){var n=this.option.elements;this.option.elements=null,r.prototype.mergeOption.call(this,t,a),this.option.elements=n},e.prototype.optionUpdated=function(t,a){var n=this.option,i=(a?n:t).elements,o=n.elements=a?[]:n.elements,s=[];this._flatten(i,s,null);var l=hT(o,s,"normalMerge"),u=this._elOptionsToUpdate=[];D(l,function(f,h){var v=f.newOption;v&&(u.push(v),L6(f,v),I6(o,h,v),R6(o[h],v))},this),n.elements=Pt(o,function(f){return f&&delete f.$action,f!=null})},e.prototype._flatten=function(t,a,n){D(t,function(i){if(i){n&&(i.parentOption=n),a.push(i);var o=i.children;o&&o.length&&this._flatten(o,a,i),delete i.children}},this)},e.prototype.useElOptionsToUpdate=function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t},e.type="graphic",e.defaultOption={elements:[]},e}(bt),tb={path:null,compoundPath:null,group:ut,image:ce,text:Ct},or=At(),k6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._elMap=et()},e.prototype.render=function(t,a,n){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,n)},e.prototype._updateElements=function(t){var a=t.useElOptionsToUpdate();if(a){var n=this._elMap,i=this.group,o=t.get("z"),s=t.get("zlevel");D(a,function(l){var u=ee(l.id,null),f=u!=null?n.get(u):null,h=ee(l.parentId,null),v=h!=null?n.get(h):i,c=l.type,d=l.style;c==="text"&&d&&l.hv&&l.hv[1]&&(d.textVerticalAlign=d.textBaseline=d.verticalAlign=d.align=null);var p=l.textContent,g=l.textConfig;if(d&&n2(d,c,!!g,!!p)){var y=i2(d,c,!0);!g&&y.textConfig&&(g=l.textConfig=y.textConfig),!p&&y.textContent&&(p=y.textContent)}var m=O6(l),_=l.$action||"merge",S=_==="merge",b=_==="replace";if(S){var x=!f,w=f;x?w=eb(u,v,l.type,n):(w&&(or(w).isNew=!1),u2(w)),w&&(af(w,m,t,{isInit:x}),rb(w,l,o,s))}else if(b){sf(f,l,n,t);var T=eb(u,v,l.type,n);T&&(af(T,m,t,{isInit:!0}),rb(T,l,o,s))}else _==="remove"&&(s2(f,l),sf(f,l,n,t));var A=n.get(u);if(A&&p)if(S){var C=A.getTextContent();C?C.attr(p):A.setTextContent(new Ct(p))}else b&&A.setTextContent(new Ct(p));if(A){var M=l.clipPath;if(M){var L=M.type,I=void 0,x=!1;if(S){var P=A.getClipPath();x=!P||or(P).type!==L,I=x?$p(L):P}else b&&(x=!0,I=$p(L));A.setClipPath(I),af(I,M,t,{isInit:x}),$f(I,M.keyframeAnimation,t)}var R=or(A);A.setTextConfig(g),R.option=l,N6(A,t,l),Si({el:A,componentModel:t,itemName:A.name,itemTooltipOption:l.tooltip}),$f(A,l.keyframeAnimation,t)}})}},e.prototype._relocate=function(t,a){for(var n=t.option.elements,i=this.group,o=this._elMap,s=a.getWidth(),l=a.getHeight(),u=["x","y"],f=0;f<n.length;f++){var h=n[f],v=ee(h.id,null),c=v!=null?o.get(v):null;if(!(!c||!c.isGroup)){var d=c.parent,p=d===i,g=or(c),y=or(d);g.width=X(g.option.width,p?s:y.width)||0,g.height=X(g.option.height,p?l:y.height)||0}}for(var f=n.length-1;f>=0;f--){var h=n[f],v=ee(h.id,null),c=v!=null?o.get(v):null;if(c){var d=c.parent,y=or(d),m=d===i?{width:s,height:l}:{width:y.width,height:y.height},_={},S=Ch(c,h,m,null,{hv:h.hv,boundingMode:h.bounding},_);if(!or(c).isNew&&S){for(var b=h.transition,x={},w=0;w<u.length;w++){var T=u[w],A=_[T];b&&(fi(b)||yt(b,T)>=0)?x[T]=A:c[T]=A}Mt(c,x,t,0)}else c.attr(_)}}},e.prototype._clear=function(){var t=this,a=this._elMap;a.each(function(n){sf(n,or(n).option,a,t._lastGraphicModel)}),this._elMap=et()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(Ut);function $p(r){var e=j(tb,r)?tb[r]:Eg(r),t=new e({});return or(t).type=r,t}function eb(r,e,t,a){var n=$p(t);return e.add(n),a.set(r,n),or(n).id=r,or(n).isNew=!0,n}function sf(r,e,t,a){var n=r&&r.parent;n&&(r.type==="group"&&r.traverse(function(i){sf(i,e,t,a)}),Hh(r,e,a),t.removeKey(or(r).id))}function rb(r,e,t,a){r.isGroup||D([["cursor",cr.prototype.cursor],["zlevel",a||0],["z",t||0],["z2",0]],function(n){var i=n[0];j(e,i)?r[i]=vt(e[i],n[1]):r[i]==null&&(r[i]=n[1])}),D(wt(e),function(n){if(n.indexOf("on")===0){var i=e[n];r[n]=nt(i)?i:null}}),j(e,"draggable")&&(r.draggable=e.draggable),e.name!=null&&(r.name=e.name),e.id!=null&&(r.id=e.id)}function O6(r){return r=V({},r),D(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(dA),function(e){delete r[e]}),r}function N6(r,e,t){var a=ht(r).eventData;!r.silent&&!r.ignore&&!a&&(a=ht(r).eventData={componentType:"graphic",componentIndex:e.componentIndex,name:r.name}),a&&(a.info=t.info)}function B6(r){r.registerComponentModel(E6),r.registerComponentView(k6),r.registerPreprocessor(function(e){var t=e.graphic;z(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var ab=["x","y","radius","angle","single"],V6=["cartesian2d","polar","singleAxis"];function z6(r){var e=r.get("coordinateSystem");return yt(V6,e)>=0}function Ja(r){return r+"Axis"}function G6(r,e){var t=et(),a=[],n=et();r.eachComponent({mainType:"dataZoom",query:e},function(f){n.get(f.uid)||s(f)});var i;do i=!1,r.eachComponent("dataZoom",o);while(i);function o(f){!n.get(f.uid)&&l(f)&&(s(f),i=!0)}function s(f){n.set(f.uid,!0),a.push(f),u(f)}function l(f){var h=!1;return f.eachTargetAxis(function(v,c){var d=t.get(v);d&&d[c]&&(h=!0)}),h}function u(f){f.eachTargetAxis(function(h,v){(t.get(h)||t.set(h,[]))[v]=!0})}return a}function A2(r){var e=r.ecModel,t={infoList:[],infoMap:et()};return r.eachTargetAxis(function(a,n){var i=e.getComponent(Ja(a),n);if(i){var o=i.getCoordSysModel();if(o){var s=o.uid,l=t.infoMap.get(s);l||(l={model:o,axisModels:[]},t.infoList.push(l),t.infoMap.set(s,l)),l.axisModels.push(i)}}}),t}var ed=function(){function r(){this.indexList=[],this.indexMap=[]}return r.prototype.add=function(e){this.indexMap[e]||(this.indexList.push(e),this.indexMap[e]=!0)},r}(),cl=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._autoThrottle=!0,t._noTarget=!0,t._rangePropMode=["percent","percent"],t}return e.prototype.init=function(t,a,n){var i=nb(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var a=nb(t);dt(this.option,t,!0),dt(this.settledOption,a,!0),this._doInit(a)},e.prototype._doInit=function(t){var a=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;D([["start","startValue"],["end","endValue"]],function(i,o){this._rangePropMode[o]==="value"&&(a[i[0]]=n[i[0]]=null)},this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),a=this._targetAxisInfoMap=et(),n=this._fillSpecifiedTargetAxis(a);n?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(a,this._orient)),this._noTarget=!0,a.each(function(i){i.indexList.length&&(this._noTarget=!1)},this)},e.prototype._fillSpecifiedTargetAxis=function(t){var a=!1;return D(ab,function(n){var i=this.getReferringComponents(Ja(n),RP);if(i.specified){a=!0;var o=new ed;D(i.models,function(s){o.add(s.componentIndex)}),t.set(n,o)}},this),a},e.prototype._fillAutoTargetAxisByOrient=function(t,a){var n=this.ecModel,i=!0;if(i){var o=a==="vertical"?"y":"x",s=n.findComponents({mainType:o+"Axis"});l(s,o)}if(i){var s=n.findComponents({mainType:"singleAxis",filter:function(f){return f.get("orient",!0)===a}});l(s,"single")}function l(u,f){var h=u[0];if(h){var v=new ed;if(v.add(h.componentIndex),t.set(f,v),i=!1,f==="x"||f==="y"){var c=h.getReferringComponents("grid",Qt).models[0];c&&D(u,function(d){h.componentIndex!==d.componentIndex&&c===d.getReferringComponents("grid",Qt).models[0]&&v.add(d.componentIndex)})}}}i&&D(ab,function(u){if(i){var f=n.findComponents({mainType:Ja(u),filter:function(v){return v.get("type",!0)==="category"}});if(f[0]){var h=new ed;h.add(f[0].componentIndex),t.set(u,h),i=!1}}},this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis(function(a){!t&&(t=a)},this),t==="y"?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var a=this.ecModel.option;this.option.throttle=a.animation&&a.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var a=this._rangePropMode,n=this.get("rangeMode");D([["start","startValue"],["end","endValue"]],function(i,o){var s=t[i[0]]!=null,l=t[i[1]]!=null;s&&!l?a[o]="percent":!s&&l?a[o]="value":n?a[o]=n[o]:s&&(a[o]="percent")})},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis(function(a,n){t==null&&(t=this.ecModel.getComponent(Ja(a),n))},this),t},e.prototype.eachTargetAxis=function(t,a){this._targetAxisInfoMap.each(function(n,i){D(n.indexList,function(o){t.call(a,i,o)})})},e.prototype.getAxisProxy=function(t,a){var n=this.getAxisModel(t,a);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,a){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[a])return this.ecModel.getComponent(Ja(t),a)},e.prototype.setRawRange=function(t){var a=this.option,n=this.settledOption;D([["start","startValue"],["end","endValue"]],function(i){(t[i[0]]!=null||t[i[1]]!=null)&&(a[i[0]]=n[i[0]]=t[i[0]],a[i[1]]=n[i[1]]=t[i[1]])},this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var a=this.option;D(["start","startValue","end","endValue"],function(n){a[n]=t[n]})},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,a){if(t==null&&a==null){var n=this.findRepresentativeAxisProxy();if(n)return n.getDataValueWindow()}else return this.getAxisProxy(t,a).getDataValueWindow()},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var a,n=this._targetAxisInfoMap.keys(),i=0;i<n.length;i++)for(var o=n[i],s=this._targetAxisInfoMap.get(o),l=0;l<s.indexList.length;l++){var u=this.getAxisProxy(o,s.indexList[l]);if(u.hostedBy(this))return u;a||(a=u)}return a},e.prototype.getRangePropMode=function(){return this._rangePropMode.slice()},e.prototype.getOrient=function(){return this._orient},e.type="dataZoom",e.dependencies=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","series","toolbox"],e.defaultOption={z:4,filterMode:"filter",start:0,end:100},e}(bt);function nb(r){var e={};return D(["start","end","startValue","endValue","throttle"],function(t){r.hasOwnProperty(t)&&(e[t]=r[t])}),e}var F6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(cl),rm=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n,i){this.dataZoomModel=t,this.ecModel=a,this.api=n},e.type="dataZoom",e}(Ut),H6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(rm),Qi=D,ib=hr,W6=function(){function r(e,t,a,n){this._dimName=e,this._axisIndex=t,this.ecModel=n,this._dataZoomModel=a}return r.prototype.hostedBy=function(e){return this._dataZoomModel===e},r.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},r.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},r.prototype.getTargetSeriesModels=function(){var e=[];return this.ecModel.eachSeries(function(t){if(z6(t)){var a=Ja(this._dimName),n=t.getReferringComponents(a,Qt).models[0];n&&this._axisIndex===n.componentIndex&&e.push(t)}},this),e},r.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},r.prototype.getMinMaxSpan=function(){return lt(this._minMaxSpan)},r.prototype.calculateDataWindow=function(e){var t=this._dataExtent,a=this.getAxisModel(),n=a.axis.scale,i=this._dataZoomModel.getRangePropMode(),o=[0,100],s=[],l=[],u;Qi(["start","end"],function(v,c){var d=e[v],p=e[v+"Value"];i[c]==="percent"?(d==null&&(d=o[c]),p=n.parse(Rt(d,o,t))):(u=!0,p=p==null?t[c]:n.parse(p),d=Rt(p,t,o)),l[c]=p==null||isNaN(p)?t[c]:p,s[c]=d==null||isNaN(d)?o[c]:d}),ib(l),ib(s);var f=this._minMaxSpan;u?h(l,s,t,o,!1):h(s,l,o,t,!0);function h(v,c,d,p,g){var y=g?"Span":"ValueSpan";Ci(0,v,d,"all",f["min"+y],f["max"+y]);for(var m=0;m<2;m++)c[m]=Rt(v[m],d,p,!0),g&&(c[m]=n.parse(c[m]))}return{valueWindow:l,percentWindow:s}},r.prototype.reset=function(e){if(e===this._dataZoomModel){var t=this.getTargetSeriesModels();this._dataExtent=U6(this,this._dimName,t),this._updateMinMaxSpan();var a=this.calculateDataWindow(e.settledOption);this._valueWindow=a.valueWindow,this._percentWindow=a.percentWindow,this._setAxisModel()}},r.prototype.filterData=function(e,t){if(e!==this._dataZoomModel)return;var a=this._dimName,n=this.getTargetSeriesModels(),i=e.get("filterMode"),o=this._valueWindow;if(i==="none")return;Qi(n,function(l){var u=l.getData(),f=u.mapDimensionsAll(a);if(f.length){if(i==="weakFilter"){var h=u.getStore(),v=H(f,function(c){return u.getDimensionIndex(c)},u);u.filterSelf(function(c){for(var d,p,g,y=0;y<f.length;y++){var m=h.get(v[y],c),_=!isNaN(m),S=m<o[0],b=m>o[1];if(_&&!S&&!b)return!0;_&&(g=!0),S&&(d=!0),b&&(p=!0)}return g&&d&&p})}else Qi(f,function(c){if(i==="empty")l.setData(u=u.map(c,function(p){return s(p)?p:NaN}));else{var d={};d[c]=o,u.selectRange(d)}});Qi(f,function(c){u.setApproximateExtent(o,c)})}});function s(l){return l>=o[0]&&l<=o[1]}},r.prototype._updateMinMaxSpan=function(){var e=this._minMaxSpan={},t=this._dataZoomModel,a=this._dataExtent;Qi(["min","max"],function(n){var i=t.get(n+"Span"),o=t.get(n+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?i=Rt(a[0]+o,a,[0,100],!0):i!=null&&(o=Rt(i,[0,100],a,!0)-a[0]),e[n+"Span"]=i,e[n+"ValueSpan"]=o},this)},r.prototype._setAxisModel=function(){var e=this.getAxisModel(),t=this._percentWindow,a=this._valueWindow;if(t){var n=aT(a,[0,500]);n=Math.min(n,20);var i=e.axis.scale.rawExtentInfo;t[0]!==0&&i.setDeterminedMinMax("min",+a[0].toFixed(n)),t[1]!==100&&i.setDeterminedMinMax("max",+a[1].toFixed(n)),i.freeze()}},r}();function U6(r,e,t){var a=[1/0,-1/0];Qi(t,function(o){w5(a,o.getData(),e)});var n=r.getAxisModel(),i=WC(n.axis.scale,n,a).calculate();return[i.min,i.max]}var Y6={getTargetSeries:function(r){function e(n){r.eachComponent("dataZoom",function(i){i.eachTargetAxis(function(o,s){var l=r.getComponent(Ja(o),s);n(o,s,l,i)})})}e(function(n,i,o,s){o.__dzAxisProxy=null});var t=[];e(function(n,i,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new W6(n,i,s,r),t.push(o.__dzAxisProxy))});var a=et();return D(t,function(n){D(n.getTargetSeriesModels(),function(i){a.set(i.uid,i)})}),a},overallReset:function(r,e){r.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(a,n){t.getAxisProxy(a,n).reset(t)}),t.eachTargetAxis(function(a,n){t.getAxisProxy(a,n).filterData(t,e)})}),r.eachComponent("dataZoom",function(t){var a=t.findRepresentativeAxisProxy();if(a){var n=a.getDataPercentWindow(),i=a.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}})}};function $6(r){r.registerAction("dataZoom",function(e,t){var a=G6(t,e);D(a,function(n){n.setRawRange({start:e.start,end:e.end,startValue:e.startValue,endValue:e.endValue})})})}var ob=!1;function am(r){ob||(ob=!0,r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,Y6),$6(r),r.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function Z6(r){r.registerComponentModel(F6),r.registerComponentView(H6),am(r)}var lr=function(){function r(){}return r}(),C2={};function ji(r,e){C2[r]=e}function D2(r){return C2[r]}var X6=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){r.prototype.optionUpdated.apply(this,arguments);var t=this.ecModel;D(this.option.feature,function(a,n){var i=D2(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(t)),dt(a,i.defaultOption))})},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(bt);function q6(r,e,t){var a=e.getBoxLayoutParams(),n=e.get("padding"),i={width:t.getWidth(),height:t.getHeight()},o=re(a,i,n);li(e.get("orient"),r,e.get("itemGap"),o.width,o.height),Ch(r,a,i,n)}function M2(r,e){var t=Io(e.get("padding")),a=e.getItemStyle(["color","opacity"]);return a.fill=e.get("backgroundColor"),r=new Tt({shape:{x:r.x-t[3],y:r.y-t[0],width:r.width+t[1]+t[3],height:r.height+t[0]+t[2],r:e.get("borderRadius")},style:a,silent:!0,z2:-1}),r}var K6=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,a,n,i){var o=this.group;if(o.removeAll(),!t.get("show"))return;var s=+t.get("itemSize"),l=t.get("orient")==="vertical",u=t.get("feature")||{},f=this._features||(this._features={}),h=[];D(u,function(d,p){h.push(p)}),new _a(this._featureNames||[],h).add(v).update(v).remove(ct(v,null)).execute(),this._featureNames=h;function v(d,p){var g=h[d],y=h[p],m=u[g],_=new Et(m,t,t.ecModel),S;if(i&&i.newTitle!=null&&i.featureName===g&&(m.title=i.newTitle),g&&!y){if(J6(g))S={onclick:_.option.onclick,featureName:g};else{var b=D2(g);if(!b)return;S=new b}f[g]=S}else if(S=f[y],!S)return;S.uid=Lo("toolbox-feature"),S.model=_,S.ecModel=a,S.api=n;var x=S instanceof lr;if(!g&&y){x&&S.dispose&&S.dispose(a,n);return}if(!_.get("show")||x&&S.unusable){x&&S.remove&&S.remove(a,n);return}c(_,S,g),_.setIconStatus=function(w,T){var A=this.option,C=this.iconPaths;A.iconStatus=A.iconStatus||{},A.iconStatus[w]=T,C[w]&&(T==="emphasis"?ya:ma)(C[w])},S instanceof lr&&S.render&&S.render(_,a,n,i)}function c(d,p,g){var y=d.getModel("iconStyle"),m=d.getModel(["emphasis","iconStyle"]),_=p instanceof lr&&p.getIcons?p.getIcons():d.get("icon"),S=d.get("title")||{},b,x;K(_)?(b={},b[g]=_):b=_,K(S)?(x={},x[g]=S):x=S;var w=d.iconPaths={};D(b,function(T,A){var C=Tl(T,{},{x:-s/2,y:-s/2,width:s,height:s});C.setStyle(y.getItemStyle());var M=C.ensureState("emphasis");M.style=m.getItemStyle();var L=new Ct({style:{text:x[A],align:m.get("textAlign"),borderRadius:m.get("textBorderRadius"),padding:m.get("textPadding"),fill:null,font:kg({fontStyle:m.get("textFontStyle"),fontFamily:m.get("textFontFamily"),fontSize:m.get("textFontSize"),fontWeight:m.get("textFontWeight")},a)},ignore:!0});C.setTextContent(L),Si({el:C,componentModel:t,itemName:A,formatterParamsExtra:{title:x[A]}}),C.__title=x[A],C.on("mouseover",function(){var I=m.getItemStyle(),P=l?t.get("right")==null&&t.get("left")!=="right"?"right":"left":t.get("bottom")==null&&t.get("top")!=="bottom"?"bottom":"top";L.setStyle({fill:m.get("textFill")||I.fill||I.stroke||"#000",backgroundColor:m.get("textBackgroundColor")}),C.setTextConfig({position:m.get("textPosition")||P}),L.ignore=!t.get("showTitle"),n.enterEmphasis(this)}).on("mouseout",function(){d.get(["iconStatus",A])!=="emphasis"&&n.leaveEmphasis(this),L.hide()}),(d.get(["iconStatus",A])==="emphasis"?ya:ma)(C),o.add(C),C.on("click",J(p.onclick,p,a,n,A)),w[A]=C})}q6(o,t,n),o.add(M2(o.getBoundingRect(),t)),l||o.eachChild(function(d){var p=d.__title,g=d.ensureState("emphasis"),y=g.textConfig||(g.textConfig={}),m=d.getTextContent(),_=m&&m.ensureState("emphasis");if(_&&!nt(_)&&p){var S=_.style||(_.style={}),b=yl(p,Ct.makeFont(S)),x=d.x+o.x,w=d.y+o.y+s,T=!1;w+b.height>n.getHeight()&&(y.position="top",T=!0);var A=T?-5-b.height:s+10;x+b.width/2>n.getWidth()?(y.position=["100%",A],S.align="right"):x-b.width/2<0&&(y.position=[0,A],S.align="left")}})},e.prototype.updateView=function(t,a,n,i){D(this._features,function(o){o instanceof lr&&o.updateView&&o.updateView(o.model,a,n,i)})},e.prototype.remove=function(t,a){D(this._features,function(n){n instanceof lr&&n.remove&&n.remove(t,a)}),this.group.removeAll()},e.prototype.dispose=function(t,a){D(this._features,function(n){n instanceof lr&&n.dispose&&n.dispose(t,a)})},e.type="toolbox",e}(Ut);function J6(r){return r.indexOf("my")===0}var Q6=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onclick=function(t,a){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o=a.getZr().painter.getType()==="svg",s=o?"svg":n.get("type",!0)||"png",l=a.getConnectedDataURL({type:s,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),u=xt.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var f=document.createElement("a");f.download=i+"."+s,f.target="_blank",f.href=l;var h=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});f.dispatchEvent(h)}else if(window.navigator.msSaveOrOpenBlob||o){var v=l.split(","),c=v[0].indexOf("base64")>-1,d=o?decodeURIComponent(v[1]):v[1];c&&(d=window.atob(d));var p=i+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var m=new Blob([y]);window.navigator.msSaveOrOpenBlob(m,p)}else{var _=document.createElement("iframe");document.body.appendChild(_);var S=_.contentWindow,b=S.document;b.open("image/svg+xml","replace"),b.write(d),b.close(),S.focus(),b.execCommand("SaveAs",!0,p),document.body.removeChild(_)}}else{var x=n.get("lang"),w='<body style="margin:0;"><img src="'+l+'" style="max-width:100%;" title="'+(x&&x[0]||"")+'" /></body>',T=window.open();T.document.write(w),T.document.title=i}},e.getDefaultOption=function(t){var a={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return a},e}(lr),sb="__ec_magicType_stack__",j6=[["line","bar"],["stack"]],t7=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getIcons=function(){var t=this.model,a=t.get("icon"),n={};return D(t.get("type"),function(i){a[i]&&(n[i]=a[i])}),n},e.getDefaultOption=function(t){var a={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return a},e.prototype.onclick=function(t,a,n){var i=this.model,o=i.get(["seriesIndex",n]);if(lb[n]){var s={series:[]},l=function(h){var v=h.subType,c=h.id,d=lb[n](v,c,h,i);d&&(ot(d,h.option),s.series.push(d));var p=h.coordinateSystem;if(p&&p.type==="cartesian2d"&&(n==="line"||n==="bar")){var g=p.getAxesByScale("ordinal")[0];if(g){var y=g.dim,m=y+"Axis",_=h.getReferringComponents(m,Qt).models[0],S=_.componentIndex;s[m]=s[m]||[];for(var b=0;b<=S;b++)s[m][S]=s[m][S]||{};s[m][S].boundaryGap=n==="bar"}}};D(j6,function(h){yt(h,n)>=0&&D(h,function(v){i.setIconStatus(v,"normal")})}),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,f=n;n==="stack"&&(u=dt({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),i.get(["iconStatus",n])!=="emphasis"&&(f="tiled")),a.dispatchAction({type:"changeMagicType",currentType:f,newOption:s,newTitle:u,featureName:"magicType"})}},e}(lr),lb={line:function(r,e,t,a){if(r==="bar")return dt({id:e,type:"line",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},a.get(["option","line"])||{},!0)},bar:function(r,e,t,a){if(r==="line")return dt({id:e,type:"bar",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},a.get(["option","bar"])||{},!0)},stack:function(r,e,t,a){var n=t.get("stack")===sb;if(r==="line"||r==="bar")return a.setIconStatus("stack",n?"normal":"emphasis"),dt({id:e,stack:n?"":sb},a.get(["option","stack"])||{},!0)}};ea({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(r,e){e.mergeOption(r.newOption)});var Wh=new Array(60).join("-"),xo=" ";function e7(r){var e={},t=[],a=[];return r.eachRawSeries(function(n){var i=n.coordinateSystem;if(i&&(i.type==="cartesian2d"||i.type==="polar")){var o=i.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;e[s]||(e[s]={categoryAxis:o,valueAxis:i.getOtherAxis(o),series:[]},a.push({axisDim:o.dim,axisIndex:o.index})),e[s].series.push(n)}else t.push(n)}else t.push(n)}),{seriesGroupByCategoryAxis:e,other:t,meta:a}}function r7(r){var e=[];return D(r,function(t,a){var n=t.categoryAxis,i=t.valueAxis,o=i.dim,s=[" "].concat(H(t.series,function(c){return c.name})),l=[n.model.getCategories()];D(t.series,function(c){var d=c.getRawData();l.push(c.getRawData().mapArray(d.mapDimension(o),function(p){return p}))});for(var u=[s.join(xo)],f=0;f<l[0].length;f++){for(var h=[],v=0;v<l.length;v++)h.push(l[v][f]);u.push(h.join(xo))}e.push(u.join(` +`))}),e.join(` + +`+Wh+` + +`)}function a7(r){return H(r,function(e){var t=e.getRawData(),a=[e.name],n=[];return t.each(t.dimensions,function(){for(var i=arguments.length,o=arguments[i-1],s=t.getName(o),l=0;l<i-1;l++)n[l]=arguments[l];a.push((s?s+xo:"")+n.join(xo))}),a.join(` +`)}).join(` + +`+Wh+` + +`)}function n7(r){var e=e7(r);return{value:Pt([r7(e.seriesGroupByCategoryAxis),a7(e.other)],function(t){return!!t.replace(/[\n\t\s]/g,"")}).join(` + +`+Wh+` + +`),meta:e.meta}}function qf(r){return r.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function i7(r){var e=r.slice(0,r.indexOf(` +`));if(e.indexOf(xo)>=0)return!0}var Zp=new RegExp("["+xo+"]+","g");function o7(r){for(var e=r.split(/\n+/g),t=qf(e.shift()).split(Zp),a=[],n=H(t,function(l){return{name:l,data:[]}}),i=0;i<e.length;i++){var o=qf(e[i]).split(Zp);a.push(o.shift());for(var s=0;s<o.length;s++)n[s]&&(n[s].data[i]=o[s])}return{series:n,categories:a}}function s7(r){for(var e=r.split(/\n+/g),t=qf(e.shift()),a=[],n=0;n<e.length;n++){var i=qf(e[n]);if(i){var o=i.split(Zp),s="",l=void 0,u=!1;isNaN(o[0])?(u=!0,s=o[0],o=o.slice(1),a[n]={name:s,value:[]},l=a[n].value):l=a[n]=[];for(var f=0;f<o.length;f++)l.push(+o[f]);l.length===1&&(u?a[n].value=l[0]:a[n]=l[0])}}return{name:t,data:a}}function l7(r,e){var t=r.split(new RegExp(` +*`+Wh+` +*`,"g")),a={series:[]};return D(t,function(n,i){if(i7(n)){var o=o7(n),s=e[i],l=s.axisDim+"Axis";s&&(a[l]=a[l]||[],a[l][s.axisIndex]={data:o.categories},a.series=a.series.concat(o.series))}else{var o=s7(n);a.series.push(o)}}),a}var u7=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onclick=function(t,a){setTimeout(function(){a.dispatchAction({type:"hideTip"})});var n=a.getDom(),i=this.model;this._dom&&n.removeChild(this._dom);var o=document.createElement("div");o.style.cssText="position:absolute;top:0;bottom:0;left:0;right:0;padding:5px",o.style.backgroundColor=i.get("backgroundColor")||"#fff";var s=document.createElement("h4"),l=i.get("lang")||[];s.innerHTML=l[0]||i.get("title"),s.style.cssText="margin:10px 20px",s.style.color=i.get("textColor");var u=document.createElement("div"),f=document.createElement("textarea");u.style.cssText="overflow:auto";var h=i.get("optionToContent"),v=i.get("contentToOption"),c=n7(t);if(nt(h)){var d=h(a.getOption());K(d)?u.innerHTML=d:fo(d)&&u.appendChild(d)}else{f.readOnly=i.get("readOnly");var p=f.style;p.cssText="display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none",p.color=i.get("textColor"),p.borderColor=i.get("textareaBorderColor"),p.backgroundColor=i.get("textareaColor"),f.value=c.value,u.appendChild(f)}var g=c.meta,y=document.createElement("div");y.style.cssText="position:absolute;bottom:5px;left:0;right:0";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",_=document.createElement("div"),S=document.createElement("div");m+=";background-color:"+i.get("buttonColor"),m+=";color:"+i.get("buttonTextColor");var b=this;function x(){n.removeChild(o),b._dom=null}Ad(_,"click",x),Ad(S,"click",function(){if(v==null&&h!=null||v!=null&&h==null){x();return}var w;try{nt(v)?w=v(u,a.getOption()):w=l7(f.value,g)}catch(T){throw x(),new Error("Data view format error "+T)}w&&a.dispatchAction({type:"changeDataView",newOption:w}),x()}),_.innerHTML=l[1],S.innerHTML=l[2],S.style.cssText=_.style.cssText=m,!i.get("readOnly")&&y.appendChild(S),y.appendChild(_),o.appendChild(s),o.appendChild(u),o.appendChild(y),u.style.height=n.clientHeight-80+"px",n.appendChild(o),this._dom=o},e.prototype.remove=function(t,a){this._dom&&a.getDom().removeChild(this._dom)},e.prototype.dispose=function(t,a){this.remove(t,a)},e.getDefaultOption=function(t){var a={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:t.getLocaleModel().get(["toolbox","dataView","title"]),lang:t.getLocaleModel().get(["toolbox","dataView","lang"]),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"};return a},e}(lr);function f7(r,e){return H(r,function(t,a){var n=e&&e[a];if(st(n)&&!z(n)){var i=st(t)&&!z(t);i||(t={value:t});var o=n.name!=null&&t.name==null;return t=ot(t,n),o&&delete t.name,t}else return t})}ea({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(r,e){var t=[];D(r.newOption.series,function(a){var n=e.getSeriesByName(a.name)[0];if(!n)t.push(V({type:"scatter"},a));else{var i=n.get("data");t.push({name:a.name,data:f7(a.data,i)})}}),e.mergeOption(ot({series:t},r.newOption))});var L2=D,I2=At();function h7(r,e){var t=nm(r);L2(e,function(a,n){for(var i=t.length-1;i>=0;i--){var o=t[i];if(o[n])break}if(i<0){var s=r.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(s){var l=s.getPercentRange();t[0][n]={dataZoomId:n,start:l[0],end:l[1]}}}}),t.push(e)}function v7(r){var e=nm(r),t=e[e.length-1];e.length>1&&e.pop();var a={};return L2(t,function(n,i){for(var o=e.length-1;o>=0;o--)if(n=e[o][i],n){a[i]=n;break}}),a}function c7(r){I2(r).snapshots=null}function d7(r){return nm(r).length}function nm(r){var e=I2(r);return e.snapshots||(e.snapshots=[{}]),e.snapshots}var p7=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onclick=function(t,a){c7(t),a.dispatchAction({type:"restore",from:this.uid})},e.getDefaultOption=function(t){var a={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:t.getLocaleModel().get(["toolbox","restore","title"])};return a},e}(lr);ea({type:"restore",event:"restore",update:"prepareAndUpdate"},function(r,e){e.resetOption("recreate")});var g7=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],im=function(){function r(e,t,a){var n=this;this._targetInfoList=[];var i=ub(t,e);D(y7,function(o,s){(!a||!a.include||yt(a.include,s)>=0)&&o(i,n._targetInfoList)})}return r.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(a,n,i){if((a.coordRanges||(a.coordRanges=[])).push(n),!a.coordRange){a.coordRange=n;var o=rd[a.brushType](0,i,n);a.__rangeOffset={offset:cb[a.brushType](o.values,a.range,[1,1]),xyMinMax:o.xyMinMax}}}),e},r.prototype.matchOutputRanges=function(e,t,a){D(e,function(n){var i=this.findTargetInfo(n,t);i&&i!==!0&&D(i.coordSyses,function(o){var s=rd[n.brushType](1,o,n.range,!0);a(n,s.values,o,t)})},this)},r.prototype.setInputRanges=function(e,t){D(e,function(a){var n=this.findTargetInfo(a,t);if(a.range=a.range||[],n&&n!==!0){a.panelId=n.panelId;var i=rd[a.brushType](0,n.coordSys,a.coordRange),o=a.__rangeOffset;a.range=o?cb[a.brushType](i.values,o.offset,m7(i.xyMinMax,o.xyMinMax)):i.values}},this)},r.prototype.makePanelOpts=function(e,t){return H(this._targetInfoList,function(a){var n=a.getPanelRect();return{panelId:a.panelId,defaultBrushType:t?t(a):null,clipPath:VM(n),isTargetByCursor:GM(n,e,a.coordSysModel),getLinearBrushOtherExtent:zM(n)}})},r.prototype.controlSeries=function(e,t,a){var n=this.findTargetInfo(e,a);return n===!0||n&&yt(n.coordSyses,t.coordinateSystem)>=0},r.prototype.findTargetInfo=function(e,t){for(var a=this._targetInfoList,n=ub(t,e),i=0;i<a.length;i++){var o=a[i],s=e.panelId;if(s){if(o.panelId===s)return o}else for(var l=0;l<fb.length;l++)if(fb[l](n,o))return o}return!0},r}();function Xp(r){return r[0]>r[1]&&r.reverse(),r}function ub(r,e){return Is(r,e,{includeMainTypes:g7})}var y7={grid:function(r,e){var t=r.xAxisModels,a=r.yAxisModels,n=r.gridModels,i=et(),o={},s={};!t&&!a&&!n||(D(t,function(l){var u=l.axis.grid.model;i.set(u.id,u),o[u.id]=!0}),D(a,function(l){var u=l.axis.grid.model;i.set(u.id,u),s[u.id]=!0}),D(n,function(l){i.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),i.each(function(l){var u=l.coordinateSystem,f=[];D(u.getCartesians(),function(h,v){(yt(t,h.getAxis("x").model)>=0||yt(a,h.getAxis("y").model)>=0)&&f.push(h)}),e.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:f[0],coordSyses:f,getPanelRect:hb.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(r,e){D(r.geoModels,function(t){var a=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:a,coordSyses:[a],getPanelRect:hb.geo})})}},fb=[function(r,e){var t=r.xAxisModel,a=r.yAxisModel,n=r.gridModel;return!n&&t&&(n=t.axis.grid.model),!n&&a&&(n=a.axis.grid.model),n&&n===e.gridModel},function(r,e){var t=r.geoModel;return t&&t===e.geoModel}],hb={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var r=this.coordSys,e=r.getBoundingRect().clone();return e.applyTransform(si(r)),e}},rd={lineX:ct(vb,0),lineY:ct(vb,1),rect:function(r,e,t,a){var n=r?e.pointToData([t[0][0],t[1][0]],a):e.dataToPoint([t[0][0],t[1][0]],a),i=r?e.pointToData([t[0][1],t[1][1]],a):e.dataToPoint([t[0][1],t[1][1]],a),o=[Xp([n[0],i[0]]),Xp([n[1],i[1]])];return{values:o,xyMinMax:o}},polygon:function(r,e,t,a){var n=[[1/0,-1/0],[1/0,-1/0]],i=H(t,function(o){var s=r?e.pointToData(o,a):e.dataToPoint(o,a);return n[0][0]=Math.min(n[0][0],s[0]),n[1][0]=Math.min(n[1][0],s[1]),n[0][1]=Math.max(n[0][1],s[0]),n[1][1]=Math.max(n[1][1],s[1]),s});return{values:i,xyMinMax:n}}};function vb(r,e,t,a){var n=t.getAxis(["x","y"][r]),i=Xp(H([0,1],function(s){return e?n.coordToData(n.toLocalCoord(a[s]),!0):n.toGlobalCoord(n.dataToCoord(a[s]))})),o=[];return o[r]=i,o[1-r]=[NaN,NaN],{values:i,xyMinMax:o}}var cb={lineX:ct(db,0),lineY:ct(db,1),rect:function(r,e,t){return[[r[0][0]-t[0]*e[0][0],r[0][1]-t[0]*e[0][1]],[r[1][0]-t[1]*e[1][0],r[1][1]-t[1]*e[1][1]]]},polygon:function(r,e,t){return H(r,function(a,n){return[a[0]-t[0]*e[n][0],a[1]-t[1]*e[n][1]]})}};function db(r,e,t,a){return[e[0]-a[r]*t[0],e[1]-a[r]*t[1]]}function m7(r,e){var t=pb(r),a=pb(e),n=[t[0]/a[0],t[1]/a[1]];return isNaN(n[0])&&(n[0]=1),isNaN(n[1])&&(n[1]=1),n}function pb(r){return r?[r[0][1]-r[0][0],r[1][1]-r[1][0]]:[NaN,NaN]}var qp=D,_7=DP("toolbox-dataZoom_"),S7=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,a,n,i){this._brushController||(this._brushController=new Ry(n.getZr()),this._brushController.on("brush",J(this._onBrush,this)).mount()),w7(t,a,this,i,n),b7(t,a)},e.prototype.onclick=function(t,a,n){x7[n].call(this)},e.prototype.remove=function(t,a){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,a){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var a=t.areas;if(!t.isEnd||!a.length)return;var n={},i=this.ecModel;this._brushController.updateCovers([]);var o=new im(om(this.model),i,{include:["grid"]});o.matchOutputRanges(a,i,function(u,f,h){if(h.type==="cartesian2d"){var v=u.brushType;v==="rect"?(s("x",h,f[0]),s("y",h,f[1])):s({lineX:"x",lineY:"y"}[v],h,f)}}),h7(i,n),this._dispatchZoomAction(n);function s(u,f,h){var v=f.getAxis(u),c=v.model,d=l(u,c,i),p=d.findRepresentativeAxisProxy(c).getMinMaxSpan();(p.minValueSpan!=null||p.maxValueSpan!=null)&&(h=Ci(0,h.slice(),v.scale.getExtent(),0,p.minValueSpan,p.maxValueSpan)),d&&(n[d.id]={dataZoomId:d.id,startValue:h[0],endValue:h[1]})}function l(u,f,h){var v;return h.eachComponent({mainType:"dataZoom",subType:"select"},function(c){var d=c.getAxisModel(u,f.componentIndex);d&&(v=c)}),v}},e.prototype._dispatchZoomAction=function(t){var a=[];qp(t,function(n,i){a.push(lt(n))}),a.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:a})},e.getDefaultOption=function(t){var a={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return a},e}(lr),x7={zoom:function(){var r=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:r})},back:function(){this._dispatchZoomAction(v7(this.ecModel))}};function om(r){var e={xAxisIndex:r.get("xAxisIndex",!0),yAxisIndex:r.get("yAxisIndex",!0),xAxisId:r.get("xAxisId",!0),yAxisId:r.get("yAxisId",!0)};return e.xAxisIndex==null&&e.xAxisId==null&&(e.xAxisIndex="all"),e.yAxisIndex==null&&e.yAxisId==null&&(e.yAxisIndex="all"),e}function b7(r,e){r.setIconStatus("back",d7(e)>1?"emphasis":"normal")}function w7(r,e,t,a,n){var i=t._isZoomActive;a&&a.type==="takeGlobalCursor"&&(i=a.key==="dataZoomSelect"?a.dataZoomSelectActive:!1),t._isZoomActive=i,r.setIconStatus("zoom",i?"emphasis":"normal");var o=new im(om(r),e,{include:["grid"]}),s=o.makePanelOpts(n,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});t._brushController.setPanels(s).enableBrush(i&&s.length?{brushType:"auto",brushStyle:r.getModel("brushStyle").getItemStyle()}:!1)}QE("dataZoom",function(r){var e=r.getComponent("toolbox",0),t=["feature","dataZoom"];if(!e||e.get(t)==null)return;var a=e.getModel(t),n=[],i=om(a),o=Is(r,i);qp(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),qp(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,f){var h=l.componentIndex,v={type:"select",$fromToolbox:!0,filterMode:a.get("filterMode",!0)||"filter",id:_7+u+h};v[f]=h,n.push(v)}return n});function T7(r){r.registerComponentModel(X6),r.registerComponentView(K6),ji("saveAsImage",Q6),ji("magicType",t7),ji("dataView",u7),ji("dataZoom",S7),ji("restore",p7),mt(Z6)}var A7=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(bt);function P2(r){var e=r.get("confine");return e!=null?!!e:r.get("renderMode")==="richText"}function R2(r){if(xt.domSupported){for(var e=document.documentElement.style,t=0,a=r.length;t<a;t++)if(r[t]in e)return r[t]}}var E2=R2(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),C7=R2(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);function k2(r,e){if(!r)return e;e=vA(e,!0);var t=r.indexOf(e);return r=t===-1?e:"-"+r.slice(0,t)+"-"+e,r.toLowerCase()}function D7(r,e){var t=r.currentStyle||document.defaultView&&document.defaultView.getComputedStyle(r);return t?t[e]:null}var M7=k2(C7,"transition"),sm=k2(E2,"transform"),L7="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+(xt.transform3dSupported?"will-change:transform;":"");function I7(r){return r=r==="left"?"right":r==="right"?"left":r==="top"?"bottom":"top",r}function P7(r,e,t){if(!K(t)||t==="inside")return"";var a=r.get("backgroundColor"),n=r.get("borderWidth");e=pi(e);var i=I7(t),o=Math.max(Math.round(n)*1.5,6),s="",l=sm+":",u;yt(["left","right"],i)>-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=i==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=i==="top"?225:45)+"deg)");var f=u*Math.PI/180,h=o+n,v=h*Math.abs(Math.cos(f))+h*Math.abs(Math.sin(f)),c=Math.round(((v-Math.SQRT2*n)/2+Math.SQRT2*n-(v-h)/2)*100)/100;s+=";"+i+":-"+c+"px";var d=e+" solid "+n+"px;",p=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+d,"border-right:"+d,"background-color:"+a+";"];return'<div style="'+p.join("")+'"></div>'}function R7(r,e){var t="cubic-bezier(0.23,1,0.32,1)",a=" "+r/2+"s "+t,n="opacity"+a+",visibility"+a;return e||(a=" "+r+"s "+t,n+=xt.transformSupported?","+sm+a:",left"+a+",top"+a),M7+":"+n}function gb(r,e,t){var a=r.toFixed(0)+"px",n=e.toFixed(0)+"px";if(!xt.transformSupported)return t?"top:"+n+";left:"+a+";":[["top",n],["left",a]];var i=xt.transform3dSupported,o="translate"+(i?"3d":"")+"("+a+","+n+(i?",0":"")+")";return t?"top:0;left:0;"+sm+":"+o+";":[["top",0],["left",0],[E2,o]]}function E7(r){var e=[],t=r.get("fontSize"),a=r.getTextColor();a&&e.push("color:"+a),e.push("font:"+r.getFont());var n=vt(r.get("lineHeight"),Math.round(t*3/2));t&&e.push("line-height:"+n+"px");var i=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,l=r.get("textShadowOffsetY")||0;return i&&o&&e.push("text-shadow:"+s+"px "+l+"px "+o+"px "+i),D(["decoration","align"],function(u){var f=r.get(u);f&&e.push("text-"+u+":"+f)}),e.join(";")}function k7(r,e,t){var a=[],n=r.get("transitionDuration"),i=r.get("backgroundColor"),o=r.get("shadowBlur"),s=r.get("shadowColor"),l=r.get("shadowOffsetX"),u=r.get("shadowOffsetY"),f=r.getModel("textStyle"),h=$A(r,"html"),v=l+"px "+u+"px "+o+"px "+s;return a.push("box-shadow:"+v),e&&n&&a.push(R7(n,t)),i&&a.push("background-color:"+i),D(["width","color","radius"],function(c){var d="border-"+c,p=vA(d),g=r.get(p);g!=null&&a.push(d+":"+g+(c==="color"?"":"px"))}),a.push(E7(f)),h!=null&&a.push("padding:"+Io(h).join("px ")+"px"),a.join(";")+";"}function yb(r,e,t,a,n){var i=e&&e.painter;if(t){var o=i&&i.getViewportRoot();o&&iI(r,o,t,a,n)}else{r[0]=a,r[1]=n;var s=i&&i.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/e.getWidth(),r[3]=r[1]/e.getHeight()}var O7=function(){function r(e,t){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,xt.wxa)return null;var a=document.createElement("div");a.domBelongToZr=!0,this.el=a;var n=this._zr=e.getZr(),i=t.appendTo,o=i&&(K(i)?document.querySelector(i):fo(i)?i:nt(i)&&i(e.getDom()));yb(this._styleCoord,n,o,e.getWidth()/2,e.getHeight()/2),(o||e.getDom()).appendChild(a),this._api=e,this._container=o;var s=this;a.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},a.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=n.handler,f=n.painter.getViewportRoot();ar(f,l,!0),u.dispatch("mousemove",l)}},a.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(e){if(!this._container){var t=this._api.getDom(),a=D7(t,"position"),n=t.style;n.position!=="absolute"&&a!=="absolute"&&(n.position="relative")}var i=e.get("alwaysShowContent");i&&this._moveIfResized(),this._alwaysShowContent=i,this.el.className=e.get("className")||""},r.prototype.show=function(e,t){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var a=this.el,n=a.style,i=this._styleCoord;a.innerHTML?n.cssText=L7+k7(e,!this._firstShow,this._longHide)+gb(i[0],i[1],!0)+("border-color:"+pi(t)+";")+(e.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):n.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(e,t,a,n,i){var o=this.el;if(e==null){o.innerHTML="";return}var s="";if(K(i)&&a.get("trigger")==="item"&&!P2(a)&&(s=P7(a,n,i)),K(e))o.innerHTML=e+s;else if(e){o.innerHTML="",z(e)||(e=[e]);for(var l=0;l<e.length;l++)fo(e[l])&&e[l].parentNode!==o&&o.appendChild(e[l]);if(s&&o.childNodes.length){var u=document.createElement("div");u.innerHTML=s,o.appendChild(u)}}},r.prototype.setEnterable=function(e){this._enterable=e},r.prototype.getSize=function(){var e=this.el;return e?[e.offsetWidth,e.offsetHeight]:[0,0]},r.prototype.moveTo=function(e,t){if(this.el){var a=this._styleCoord;if(yb(a,this._zr,this._container,e,t),a[0]!=null&&a[1]!=null){var n=this.el.style,i=gb(a[0],a[1]);D(i,function(o){n[o[0]]=o[1]})}}},r.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},r.prototype.hide=function(){var e=this,t=this.el.style;t.visibility="hidden",t.opacity="0",xt.transform3dSupported&&(t.willChange=""),this._show=!1,this._longHideTimeout=setTimeout(function(){return e._longHide=!0},500)},r.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(J(this.hide,this),e)):this.hide())},r.prototype.isShow=function(){return this._show},r.prototype.dispose=function(){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var e=this.el.parentNode;e&&e.removeChild(this.el),this.el=this._container=null},r}(),N7=function(){function r(e){this._show=!1,this._styleCoord=[0,0,0,0],this._alwaysShowContent=!1,this._enterable=!0,this._zr=e.getZr(),_b(this._styleCoord,this._zr,e.getWidth()/2,e.getHeight()/2)}return r.prototype.update=function(e){var t=e.get("alwaysShowContent");t&&this._moveIfResized(),this._alwaysShowContent=t},r.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.show(),this._show=!0},r.prototype.setContent=function(e,t,a,n,i){var o=this;st(e)&&It(""),this.el&&this._zr.remove(this.el);var s=a.getModel("textStyle");this.el=new Ct({style:{rich:t.richTextStyles,text:e,lineHeight:22,borderWidth:1,borderColor:n,textShadowColor:s.get("textShadowColor"),fill:a.get(["textStyle","color"]),padding:$A(a,"richText"),verticalAlign:"top",align:"left"},z:a.get("z")}),D(["backgroundColor","borderRadius","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"],function(u){o.el.style[u]=a.get(u)}),D(["textShadowBlur","textShadowOffsetX","textShadowOffsetY"],function(u){o.el.style[u]=s.get(u)||0}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},r.prototype.setEnterable=function(e){this._enterable=e},r.prototype.getSize=function(){var e=this.el,t=this.el.getBoundingRect(),a=mb(e.style);return[t.width+a.left+a.right,t.height+a.top+a.bottom]},r.prototype.moveTo=function(e,t){var a=this.el;if(a){var n=this._styleCoord;_b(n,this._zr,e,t),e=n[0],t=n[1];var i=a.style,o=Ga(i.borderWidth||0),s=mb(i);a.x=e+o+s.left,a.y=t+o+s.top,a.markRedraw()}},r.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},r.prototype.hide=function(){this.el&&this.el.hide(),this._show=!1},r.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(J(this.hide,this),e)):this.hide())},r.prototype.isShow=function(){return this._show},r.prototype.dispose=function(){this._zr.remove(this.el)},r}();function Ga(r){return Math.max(0,r)}function mb(r){var e=Ga(r.shadowBlur||0),t=Ga(r.shadowOffsetX||0),a=Ga(r.shadowOffsetY||0);return{left:Ga(e-t),right:Ga(e+t),top:Ga(e-a),bottom:Ga(e+a)}}function _b(r,e,t,a){r[0]=t,r[1]=a,r[2]=r[0]/e.getWidth(),r[3]=r[1]/e.getHeight()}var B7=new Tt({shape:{x:-1,y:-1,width:2,height:2}}),V7=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a){if(!(xt.node||!a.getDom())){var n=t.getComponent("tooltip"),i=this._renderMode=kP(n.get("renderMode"));this._tooltipContent=i==="richText"?new N7(a):new O7(a,{appendTo:n.get("appendToBody",!0)?"body":n.get("appendTo",!0)})}},e.prototype.render=function(t,a,n){if(!(xt.node||!n.getDom())){this.group.removeAll(),this._tooltipModel=t,this._ecModel=a,this._api=n;var i=this._tooltipContent;i.update(t),i.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow(),this._renderMode!=="richText"&&t.get("transitionDuration")?ko(this,"_updatePosition",50,"fixRate"):tl(this,"_updatePosition")}},e.prototype._initGlobalListener=function(){var t=this._tooltipModel,a=t.get("triggerOn");m2("itemTooltip",this._api,J(function(n,i,o){a!=="none"&&(a.indexOf(n)>=0?this._tryShow(i,o):n==="leave"&&this._hide(o))},this))},e.prototype._keepShow=function(){var t=this._tooltipModel,a=this._ecModel,n=this._api,i=t.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&i!=="none"&&i!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!n.isDisposed()&&o.manuallyShowTip(t,a,n,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},e.prototype.manuallyShowTip=function(t,a,n,i){if(!(i.from===this.uid||xt.node||!n.getDom())){var o=Sb(i,n);this._ticket="";var s=i.dataByCoordSys,l=H7(i,a,n);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&i.x!=null&&i.y!=null){var f=B7;f.x=i.x,f.y=i.y,f.update(),ht(f).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:f},o)}else if(s)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:s,tooltipOption:i.tooltipOption},o);else if(i.seriesIndex!=null){if(this._manuallyAxisShowTip(t,a,n,i))return;var h=_2(i,a),v=h.point[0],c=h.point[1];v!=null&&c!=null&&this._tryShow({offsetX:v,offsetY:c,target:h.el,position:i.position,positionDefault:"bottom"},o)}else i.x!=null&&i.y!=null&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,a,n,i){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(Sb(i,n))},e.prototype._manuallyAxisShowTip=function(t,a,n,i){var o=i.seriesIndex,s=i.dataIndex,l=a.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=a.getSeriesByIndex(o);if(u){var f=u.getData(),h=ls([f.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(h.get("trigger")==="axis")return n.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:i.position}),!0}}},e.prototype._tryShow=function(t,a){var n=t.target,i=this._tooltipModel;if(i){this._lastX=t.offsetX,this._lastY=t.offsetY;var o=t.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,t);else if(n){var s=ht(n);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;Qn(n,function(f){if(ht(f).dataIndex!=null)return l=f,!0;if(ht(f).tooltipConfig!=null)return u=f,!0},!0),l?this._showSeriesItemTooltip(t,l,a):u?this._showComponentItemTooltip(t,u,a):this._hide(a)}else this._lastDataByCoordSys=null,this._hide(a)}},e.prototype._showOrMove=function(t,a){var n=t.get("showDelay");a=J(a,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(a,n):a()},e.prototype._showAxisTooltip=function(t,a){var n=this._ecModel,i=this._tooltipModel,o=[a.offsetX,a.offsetY],s=ls([a.tooltipOption],i),l=this._renderMode,u=[],f=ue("section",{blocks:[],noHeader:!0}),h=[],v=new Fv;D(t,function(m){D(m.dataByAxis,function(_){var S=n.getComponent(_.axisDim+"Axis",_.axisIndex),b=_.value;if(!(!S||b==null)){var x=p2(b,S.axis,n,_.seriesDataIndices,_.valueLabelOpt),w=ue("section",{header:x,noHeader:!Ar(x),sortBlocks:!0,blocks:[]});f.blocks.push(w),D(_.seriesDataIndices,function(T){var A=n.getSeriesByIndex(T.seriesIndex),C=T.dataIndexInside,M=A.getDataParams(C);if(!(M.dataIndex<0)){M.axisDim=_.axisDim,M.axisIndex=_.axisIndex,M.axisType=_.axisType,M.axisId=_.axisId,M.axisValue=oy(S.axis,{value:b}),M.axisValueLabel=x,M.marker=v.makeTooltipMarker("item",pi(M.color),l);var L=n_(A.formatTooltip(C,!0,null)),I=L.frag;if(I){var P=ls([A],i).get("valueFormatter");w.blocks.push(P?V({valueFormatter:P},I):I)}L.text&&h.push(L.text),u.push(M)}})}})}),f.blocks.reverse(),h.reverse();var c=a.position,d=s.get("order"),p=f_(f,v,l,d,n.get("useUTC"),s.get("textStyle"));p&&h.unshift(p);var g=l==="richText"?` + +`:"<br/>",y=h.join(g);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t,u)?this._updatePosition(s,c,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,y,u,Math.random()+"",o[0],o[1],c,null,v)})},e.prototype._showSeriesItemTooltip=function(t,a,n){var i=this._ecModel,o=ht(a),s=o.seriesIndex,l=i.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,h=o.dataType,v=u.getData(h),c=this._renderMode,d=t.positionDefault,p=ls([v.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),g=p.get("trigger");if(!(g!=null&&g!=="item")){var y=u.getDataParams(f,h),m=new Fv;y.marker=m.makeTooltipMarker("item",pi(y.color),c);var _=n_(u.formatTooltip(f,!1,h)),S=p.get("order"),b=p.get("valueFormatter"),x=_.frag,w=x?f_(b?V({valueFormatter:b},x):x,m,c,S,i.get("useUTC"),p.get("textStyle")):_.text,T="item_"+u.name+"_"+f;this._showOrMove(p,function(){this._showTooltipContent(p,w,y,T,t.offsetX,t.offsetY,t.position,t.target,m)}),n({type:"showTip",dataIndexInside:f,dataIndex:v.getRawIndex(f),seriesIndex:s,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,a,n){var i=this._renderMode==="html",o=ht(a),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(K(l)){var f=l;l={content:f,formatter:f},u=!0}u&&i&&l.content&&(l=lt(l),l.content=Ie(l.content));var h=[l],v=this._ecModel.getComponent(o.componentMainType,o.componentIndex);v&&h.push(v),h.push({formatter:l.content});var c=t.positionDefault,d=ls(h,this._tooltipModel,c?{position:c}:null),p=d.get("content"),g=Math.random()+"",y=new Fv;this._showOrMove(d,function(){var m=lt(d.get("formatterParams")||{});this._showTooltipContent(d,p,m,g,t.offsetX,t.offsetY,t.position,a,y)}),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,a,n,i,o,s,l,u,f){if(this._ticket="",!(!t.get("showContent")||!t.get("show"))){var h=this._tooltipContent;h.setEnterable(t.get("enterable"));var v=t.get("formatter");l=l||t.get("position");var c=a,d=this._getNearestPoint([o,s],n,t.get("trigger"),t.get("borderColor")),p=d.color;if(v)if(K(v)){var g=t.ecModel.get("useUTC"),y=z(n)?n[0]:n,m=y&&y.axisType&&y.axisType.indexOf("time")>=0;c=v,m&&(c=xh(y.axisValue,c,g)),c=cA(c,n,!0)}else if(nt(v)){var _=J(function(S,b){S===this._ticket&&(h.setContent(b,f,t,p,l),this._updatePosition(t,l,o,s,h,n,u))},this);this._ticket=i,c=v(n,i,_)}else c=v;h.setContent(c,f,t,p,l),h.show(t,p),this._updatePosition(t,l,o,s,h,n,u)}},e.prototype._getNearestPoint=function(t,a,n,i){if(n==="axis"||z(a))return{color:i||(this._renderMode==="html"?"#fff":"none")};if(!z(a))return{color:i||a.color||a.borderColor}},e.prototype._updatePosition=function(t,a,n,i,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();a=a||t.get("position");var h=o.getSize(),v=t.get("align"),c=t.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),nt(a)&&(a=a([n,i],s,o.el,d,{viewSize:[u,f],contentSize:h.slice()})),z(a))n=X(a[0],u),i=X(a[1],f);else if(st(a)){var p=a;p.width=h[0],p.height=h[1];var g=re(p,{width:u,height:f});n=g.x,i=g.y,v=null,c=null}else if(K(a)&&l){var y=F7(a,d,h,t.get("borderWidth"));n=y[0],i=y[1]}else{var y=z7(n,i,o,u,f,v?null:20,c?null:20);n=y[0],i=y[1]}if(v&&(n-=xb(v)?h[0]/2:v==="right"?h[0]:0),c&&(i-=xb(c)?h[1]/2:c==="bottom"?h[1]:0),P2(t)){var y=G7(n,i,o,u,f);n=y[0],i=y[1]}o.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,a){var n=this._lastDataByCoordSys,i=this._cbParamsList,o=!!n&&n.length===t.length;return o&&D(n,function(s,l){var u=s.dataByAxis||[],f=t[l]||{},h=f.dataByAxis||[];o=o&&u.length===h.length,o&&D(u,function(v,c){var d=h[c]||{},p=v.seriesDataIndices||[],g=d.seriesDataIndices||[];o=o&&v.value===d.value&&v.axisType===d.axisType&&v.axisId===d.axisId&&p.length===g.length,o&&D(p,function(y,m){var _=g[m];o=o&&y.seriesIndex===_.seriesIndex&&y.dataIndex===_.dataIndex}),i&&D(v.seriesDataIndices,function(y){var m=y.seriesIndex,_=a[m],S=i[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=t,this._cbParamsList=a,!!o},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,a){xt.node||!a.getDom()||(tl(this,"_updatePosition"),this._tooltipContent.dispose(),Up("itemTooltip",a))},e.type="tooltip",e}(Ut);function ls(r,e,t){var a=e.ecModel,n;t?(n=new Et(t,a,a),n=new Et(e.option,n,a)):n=e;for(var i=r.length-1;i>=0;i--){var o=r[i];o&&(o instanceof Et&&(o=o.get("tooltip",!0)),K(o)&&(o={formatter:o}),o&&(n=new Et(o,n,a)))}return n}function Sb(r,e){return r.dispatchAction||J(e.dispatchAction,e)}function z7(r,e,t,a,n,i,o){var s=t.getSize(),l=s[0],u=s[1];return i!=null&&(r+l+i+2>a?r-=l+i:r+=i),o!=null&&(e+u+o>n?e-=u+o:e+=o),[r,e]}function G7(r,e,t,a,n){var i=t.getSize(),o=i[0],s=i[1];return r=Math.min(r+o,a)-o,e=Math.min(e+s,n)-s,r=Math.max(r,0),e=Math.max(e,0),[r,e]}function F7(r,e,t,a){var n=t[0],i=t[1],o=Math.ceil(Math.SQRT2*a)+8,s=0,l=0,u=e.width,f=e.height;switch(r){case"inside":s=e.x+u/2-n/2,l=e.y+f/2-i/2;break;case"top":s=e.x+u/2-n/2,l=e.y-i-o;break;case"bottom":s=e.x+u/2-n/2,l=e.y+f+o;break;case"left":s=e.x-n-o,l=e.y+f/2-i/2;break;case"right":s=e.x+u+o,l=e.y+f/2-i/2}return[s,l]}function xb(r){return r==="center"||r==="middle"}function H7(r,e,t){var a=xg(r).queryOptionMap,n=a.keys()[0];if(!(!n||n==="series")){var i=ml(e,n,a.get(n),{useDefault:!1,enableAll:!1,enableNone:!1}),o=i.models[0];if(o){var s=t.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=ht(u).tooltipConfig;if(f&&f.name===r.name)return l=u,!0}),l)return{componentMainType:n,componentIndex:o.componentIndex,el:l}}}}function W7(r){mt(Bl),r.registerComponentModel(A7),r.registerComponentView(V7),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},qt),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},qt)}var U7=["rect","polygon","keep","clear"];function Y7(r,e){var t=Ot(r?r.brush:[]);if(t.length){var a=[];D(t,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(a=a.concat(u))});var n=r&&r.toolbox;z(n)&&(n=n[0]),n||(n={feature:{}},r.toolbox=[n]);var i=n.feature||(n.feature={}),o=i.brush||(i.brush={}),s=o.type||(o.type=[]);s.push.apply(s,a),$7(s),e&&!s.length&&s.push.apply(s,U7)}}function $7(r){var e={};D(r,function(t){e[t]=1}),r.length=0,D(e,function(t,a){r.push(a)})}var bb=D;function wb(r){if(r){for(var e in r)if(r.hasOwnProperty(e))return!0}}function Kp(r,e,t){var a={};return bb(e,function(i){var o=a[i]=n();bb(r[i],function(s,l){if(se.isValidType(l)){var u={type:l,visual:s};t&&t(u,i),o[l]=new se(u),l==="opacity"&&(u=lt(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new se(u))}})}),a;function n(){var i=function(){};i.prototype.__hidden=i.prototype;var o=new i;return o}}function O2(r,e,t){var a;D(t,function(n){e.hasOwnProperty(n)&&wb(e[n])&&(a=!0)}),a&&D(t,function(n){e.hasOwnProperty(n)&&wb(e[n])?r[n]=lt(e[n]):delete r[n]})}function Z7(r,e,t,a,n,i){var o={};D(r,function(h){var v=se.prepareVisualTypes(e[h]);o[h]=v});var s;function l(h){return Kg(t,s,h)}function u(h,v){rC(t,s,h,v)}t.each(f);function f(h,v){s=h;var c=t.getRawDataItem(s);if(!(c&&c.visualMap===!1))for(var d=a.call(n,h),p=e[d],g=o[d],y=0,m=g.length;y<m;y++){var _=g[y];p[_]&&p[_].applyVisual(h,l,u)}}}function X7(r,e,t,a){var n={};return D(r,function(i){var o=se.prepareVisualTypes(e[i]);n[i]=o}),{progress:function(o,s){var l;a!=null&&(l=s.getDimensionIndex(a));function u(b){return Kg(s,h,b)}function f(b,x){rC(s,h,b,x)}for(var h,v=s.getStore();(h=o.next())!=null;){var c=s.getRawDataItem(h);if(!(c&&c.visualMap===!1))for(var d=a!=null?v.get(l,h):h,p=t(d),g=e[p],y=n[p],m=0,_=y.length;m<_;m++){var S=y[m];g[S]&&g[S].applyVisual(d,u,f)}}}}}function q7(r){var e=r.brushType,t={point:function(a){return Tb[e].point(a,t,r)},rect:function(a){return Tb[e].rect(a,t,r)}};return t}var Tb={lineX:Ab(0),lineY:Ab(1),rect:{point:function(r,e,t){return r&&t.boundingRect.contain(r[0],r[1])},rect:function(r,e,t){return r&&t.boundingRect.intersect(r)}},polygon:{point:function(r,e,t){return r&&t.boundingRect.contain(r[0],r[1])&&Un(t.range,r[0],r[1])},rect:function(r,e,t){var a=t.range;if(!r||a.length<=1)return!1;var n=r.x,i=r.y,o=r.width,s=r.height,l=a[0];if(Un(a,n,i)||Un(a,n+o,i)||Un(a,n,i+s)||Un(a,n+o,i+s)||gt.create(r).contain(l[0],l[1])||ys(n,i,n+o,i,a)||ys(n,i,n,i+s,a)||ys(n+o,i,n+o,i+s,a)||ys(n,i+s,n+o,i+s,a))return!0}}};function Ab(r){var e=["x","y"],t=["width","height"];return{point:function(a,n,i){if(a){var o=i.range,s=a[r];return us(s,o)}},rect:function(a,n,i){if(a){var o=i.range,s=[a[e[r]],a[e[r]]+a[t[r]]];return s[1]<s[0]&&s.reverse(),us(s[0],o)||us(s[1],o)||us(o[0],s)||us(o[1],s)}}}}function us(r,e){return e[0]<=r&&r<=e[1]}var Cb=["inBrush","outOfBrush"],ad="__ecBrushSelect",Jp="__ecInBrushSelectEvent";function N2(r){r.eachComponent({mainType:"brush"},function(e){var t=e.brushTargetManager=new im(e.option,r);t.setInputRanges(e.areas,r)})}function K7(r,e,t){var a=[],n,i;r.eachComponent({mainType:"brush"},function(o){t&&t.type==="takeGlobalCursor"&&o.setBrushOption(t.key==="brush"?t.brushOption:{brushType:!1})}),N2(r),r.eachComponent({mainType:"brush"},function(o,s){var l={brushId:o.id,brushIndex:s,brushName:o.name,areas:lt(o.areas),selected:[]};a.push(l);var u=o.option,f=u.brushLink,h=[],v=[],c=[],d=!1;s||(n=u.throttleType,i=u.throttleDelay);var p=H(o.areas,function(b){var x=t8[b.brushType],w=ot({boundingRect:x?x(b):void 0},b);return w.selectors=q7(w),w}),g=Kp(o.option,Cb,function(b){b.mappingMethod="fixed"});z(f)&&D(f,function(b){h[b]=1});function y(b){return f==="all"||!!h[b]}function m(b){return!!b.length}r.eachSeries(function(b,x){var w=c[x]=[];b.subType==="parallel"?_(b,x):S(b,x,w)});function _(b,x){var w=b.coordinateSystem;d=d||w.hasAxisBrushed(),y(x)&&w.eachActiveState(b.getData(),function(T,A){T==="active"&&(v[A]=1)})}function S(b,x,w){if(!(!b.brushSelector||j7(o,x))&&(D(p,function(A){o.brushTargetManager.controlSeries(A,b,r)&&w.push(A),d=d||m(w)}),y(x)&&m(w))){var T=b.getData();T.each(function(A){Db(b,w,T,A)&&(v[A]=1)})}}r.eachSeries(function(b,x){var w={seriesId:b.id,seriesIndex:x,seriesName:b.name,dataIndex:[]};l.selected.push(w);var T=c[x],A=b.getData(),C=y(x)?function(M){return v[M]?(w.dataIndex.push(A.getRawIndex(M)),"inBrush"):"outOfBrush"}:function(M){return Db(b,T,A,M)?(w.dataIndex.push(A.getRawIndex(M)),"inBrush"):"outOfBrush"};(y(x)?d:m(T))&&Z7(Cb,g,A,C)})}),J7(e,n,i,a,t)}function J7(r,e,t,a,n){if(n){var i=r.getZr();if(!i[Jp]){i[ad]||(i[ad]=Q7);var o=ko(i,ad,t,e);o(r,a)}}}function Q7(r,e){if(!r.isDisposed()){var t=r.getZr();t[Jp]=!0,r.dispatchAction({type:"brushSelect",batch:e}),t[Jp]=!1}}function Db(r,e,t,a){for(var n=0,i=e.length;n<i;n++){var o=e[n];if(r.brushSelector(a,t,o.selectors,o))return!0}}function j7(r,e){var t=r.option.seriesIndex;return t!=null&&t!=="all"&&(z(t)?yt(t,e)<0:e!==t)}var t8={rect:function(r){return Mb(r.range)},polygon:function(r){for(var e,t=r.range,a=0,n=t.length;a<n;a++){e=e||[[1/0,-1/0],[1/0,-1/0]];var i=t[a];i[0]<e[0][0]&&(e[0][0]=i[0]),i[0]>e[0][1]&&(e[0][1]=i[0]),i[1]<e[1][0]&&(e[1][0]=i[1]),i[1]>e[1][1]&&(e[1][1]=i[1])}return e&&Mb(e)}};function Mb(r){return new gt(r[0][0],r[1][0],r[0][1]-r[0][0],r[1][1]-r[1][0])}var e8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a){this.ecModel=t,this.api=a,this.model,(this._brushController=new Ry(a.getZr())).on("brush",J(this._onBrush,this)).mount()},e.prototype.render=function(t,a,n,i){this.model=t,this._updateController(t,a,n,i)},e.prototype.updateTransform=function(t,a,n,i){N2(a),this._updateController(t,a,n,i)},e.prototype.updateVisual=function(t,a,n,i){this.updateTransform(t,a,n,i)},e.prototype.updateView=function(t,a,n,i){this._updateController(t,a,n,i)},e.prototype._updateController=function(t,a,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var a=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:a,areas:lt(n),$from:a}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:a,areas:lt(n),$from:a})},e.type="brush",e}(Ut),r8="#ddd",a8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.areas=[],t.brushOption={},t}return e.prototype.optionUpdated=function(t,a){var n=this.option;!a&&O2(n,t,["inBrush","outOfBrush"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:r8},i.hasOwnProperty("liftZ")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=H(t,function(a){return Lb(this.option,a)},this))},e.prototype.setBrushOption=function(t){this.brushOption=Lb(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(bt);function Lb(r,e){return dt({brushType:r.brushType,brushMode:r.brushMode,transformable:r.transformable,brushStyle:new Et(r.brushStyle).getItemStyle(),removeOnClick:r.removeOnClick,z:r.z},e,!0)}var n8=["rect","polygon","lineX","lineY","keep","clear"],i8=function(r){k(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,a,n){var i,o,s;a.eachComponent({mainType:"brush"},function(l){i=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=i,this._brushMode=o,D(t.get("type",!0),function(l){t.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===i)?"emphasis":"normal")})},e.prototype.updateView=function(t,a,n){this.render(t,a,n)},e.prototype.getIcons=function(){var t=this.model,a=t.get("icon",!0),n={};return D(t.get("type",!0),function(i){a[i]&&(n[i]=a[i])}),n},e.prototype.onclick=function(t,a,n){var i=this._brushType,o=this._brushMode;n==="clear"?(a.dispatchAction({type:"axisAreaSelect",intervals:[]}),a.dispatchAction({type:"brush",command:"clear",areas:[]})):a.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:n==="keep"?i:i===n?!1:n,brushMode:n==="keep"?o==="multiple"?"single":"multiple":o}})},e.getDefaultOption=function(t){var a={show:!0,type:n8.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])};return a},e}(lr);function o8(r){r.registerComponentView(e8),r.registerComponentModel(a8),r.registerPreprocessor(Y7),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,K7),r.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(a){a.setAreas(e.areas)})}),r.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},qt),r.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},qt),ji("brush",i8)}var s8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(bt),l8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,a,n){if(this.group.removeAll(),!!t.get("show")){var i=this.group,o=t.getModel("textStyle"),s=t.getModel("subtextStyle"),l=t.get("textAlign"),u=vt(t.get("textBaseline"),t.get("textVerticalAlign")),f=new Ct({style:zt(o,{text:t.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),h=f.getBoundingRect(),v=t.get("subtext"),c=new Ct({style:zt(s,{text:v,fill:s.getTextColor(),y:h.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),p=t.get("sublink"),g=t.get("triggerEvent",!0);f.silent=!d&&!g,c.silent=!p&&!g,d&&f.on("click",function(){Af(d,"_"+t.get("target"))}),p&&c.on("click",function(){Af(p,"_"+t.get("subtarget"))}),ht(f).eventData=ht(c).eventData=g?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(f),v&&i.add(c);var y=i.getBoundingRect(),m=t.getBoxLayoutParams();m.width=y.width,m.height=y.height;var _=re(m,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));l||(l=t.get("left")||t.get("right"),l==="middle"&&(l="center"),l==="right"?_.x+=_.width:l==="center"&&(_.x+=_.width/2)),u||(u=t.get("top")||t.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?_.y+=_.height:u==="middle"&&(_.y+=_.height/2),u=u||"top"),i.x=_.x,i.y=_.y,i.markRedraw();var S={align:l,verticalAlign:u};f.setStyle(S),c.setStyle(S),y=i.getBoundingRect();var b=_.margin,x=t.getItemStyle(["color","opacity"]);x.fill=t.get("backgroundColor");var w=new Tt({shape:{x:y.x-b[3],y:y.y-b[0],width:y.width+b[1]+b[3],height:y.height+b[0]+b[2],r:t.get("borderRadius")},style:x,subPixelOptimize:!0,silent:!0});i.add(w)}},e.type="title",e}(Ut);function u8(r){r.registerComponentModel(s8),r.registerComponentView(l8)}var Ib=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.layoutMode="box",t}return e.prototype.init=function(t,a,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){t==null&&(t=this.option.currentIndex);var a=this._data.count();this.option.loop?t=(t%a+a)%a:(t>=a&&(t=a-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t=this.option,a=t.data||[],n=t.axisType,i=this._names=[],o;n==="category"?(o=[],D(a,function(u,f){var h=ee(Ao(u),""),v;st(u)?(v=lt(u),v.value=f):v=f,o.push(v),i.push(h)})):o=a;var s={category:"ordinal",time:"time",value:"number"}[n]||"number",l=this._data=new Pe([{name:"value",type:s}],this);l.initData(o,i)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(bt),B2=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline.slider",e.defaultOption=vn(Ib.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(Ib);te(B2,Mh.prototype);var f8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline",e}(Ut),h8=function(r){k(e,r);function e(t,a,n,i){var o=r.call(this,t,a,n)||this;return o.type=i||"value",o}return e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},e}(Rr),nd=Math.PI,Pb=At(),v8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,a){this.api=a},e.prototype.render=function(t,a,n){if(this.model=t,this.api=n,this.ecModel=a,this.group.removeAll(),t.get("show",!0)){var i=this._layout(t,n),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(i,t);t.formatTooltip=function(u){var f=l.scale.getLabel({value:u});return ue("nameValue",{noName:!0,value:f})},D(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](i,o,l,t)},this),this._renderAxisLabel(i,s,l,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,a){var n=t.get(["label","position"]),i=t.get("orient"),o=d8(t,a),s;n==null||n==="auto"?s=i==="horizontal"?o.y+o.height/2<a.getHeight()/2?"-":"+":o.x+o.width/2<a.getWidth()/2?"+":"-":K(n)?s={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[i][n]:s=n;var l={horizontal:"center",vertical:s>=0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},f={horizontal:0,vertical:nd/2},h=i==="vertical"?o.height:o.width,v=t.getModel("controlStyle"),c=v.get("show",!0),d=c?v.get("itemSize"):0,p=c?v.get("itemGap"):0,g=d+p,y=t.get(["label","rotate"])||0;y=y*nd/180;var m,_,S,b=v.get("position",!0),x=c&&v.get("showPlayBtn",!0),w=c&&v.get("showPrevBtn",!0),T=c&&v.get("showNextBtn",!0),A=0,C=h;b==="left"||b==="bottom"?(x&&(m=[0,0],A+=g),w&&(_=[A,0],A+=g),T&&(S=[C-d,0],C-=g)):(x&&(m=[C-d,0],C-=g),w&&(_=[0,0],A+=g),T&&(S=[C-d,0],C-=g));var M=[A,C];return t.get("inverse")&&M.reverse(),{viewRect:o,mainLength:h,orient:i,rotation:f[i],labelRotation:y,labelPosOpt:s,labelAlign:t.get(["label","align"])||l[i],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||u[i],playPosition:m,prevBtnPosition:_,nextBtnPosition:S,axisExtent:M,controlSize:d,controlGap:p}},e.prototype._position=function(t,a){var n=this._mainGroup,i=this._labelGroup,o=t.viewRect;if(t.orient==="vertical"){var s=qe(),l=o.x,u=o.y+o.height;Kr(s,s,[-l,-u]),_i(s,s,-nd/2),Kr(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var f=m(o),h=m(n.getBoundingRect()),v=m(i.getBoundingRect()),c=[n.x,n.y],d=[i.x,i.y];d[0]=c[0]=f[0][0];var p=t.labelPosOpt;if(p==null||K(p)){var g=p==="+"?0:1;_(c,h,f,1,g),_(d,v,f,1,1-g)}else{var g=p>=0?0:1;_(c,h,f,1,g),d[1]=c[1]+p}n.setPosition(c),i.setPosition(d),n.rotation=i.rotation=t.rotation,y(n),y(i);function y(S){S.originX=f[0][0]-S.x,S.originY=f[1][0]-S.y}function m(S){return[[S.x,S.x+S.width],[S.y,S.y+S.height]]}function _(S,b,x,w,T){S[w]+=x[w][T]-b[w][T]}},e.prototype._createAxis=function(t,a){var n=a.getData(),i=a.get("axisType"),o=c8(a,i);o.getTicks=function(){return n.mapArray(["value"],function(u){return{value:u}})};var s=n.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new h8("value",o,t.axisExtent,i);return l.model=a,l},e.prototype._createGroup=function(t){var a=this[t]=new ut;return this.group.add(a),a},e.prototype._renderAxisLine=function(t,a,n,i){var o=n.getExtent();if(i.get(["lineStyle","show"])){var s=new ie({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:V({lineCap:"round"},i.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});a.add(s);var l=this._progressLine=new ie({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:ot({lineCap:"round",lineWidth:s.style.lineWidth},i.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});a.add(l)}},e.prototype._renderAxisTick=function(t,a,n,i){var o=this,s=i.getData(),l=n.scale.getTicks();this._tickSymbols=[],D(l,function(u){var f=n.dataToCoord(u.value),h=s.getItemModel(u.value),v=h.getModel("itemStyle"),c=h.getModel(["emphasis","itemStyle"]),d=h.getModel(["progress","itemStyle"]),p={x:f,y:0,onclick:J(o._changeTimeline,o,u.value)},g=Rb(h,v,a,p);g.ensureState("emphasis").style=c.getItemStyle(),g.ensureState("progress").style=d.getItemStyle(),oi(g);var y=ht(g);h.get("tooltip")?(y.dataIndex=u.value,y.dataModel=i):y.dataIndex=y.dataModel=null,o._tickSymbols.push(g)})},e.prototype._renderAxisLabel=function(t,a,n,i){var o=this,s=n.getLabelModel();if(s.get("show")){var l=i.getData(),u=n.getViewLabels();this._tickLabels=[],D(u,function(f){var h=f.tickValue,v=l.getItemModel(h),c=v.getModel("label"),d=v.getModel(["emphasis","label"]),p=v.getModel(["progress","label"]),g=n.dataToCoord(f.tickValue),y=new Ct({x:g,y:0,rotation:t.labelRotation-t.rotation,onclick:J(o._changeTimeline,o,h),silent:!1,style:zt(c,{text:f.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});y.ensureState("emphasis").style=zt(d),y.ensureState("progress").style=zt(p),a.add(y),oi(y),Pb(y).dataIndex=h,o._tickLabels.push(y)})}},e.prototype._renderControl=function(t,a,n,i){var o=t.controlSize,s=t.rotation,l=i.getModel("controlStyle").getItemStyle(),u=i.getModel(["emphasis","controlStyle"]).getItemStyle(),f=i.getPlayState(),h=i.get("inverse",!0);v(t.nextBtnPosition,"next",J(this._changeTimeline,this,h?"-":"+")),v(t.prevBtnPosition,"prev",J(this._changeTimeline,this,h?"+":"-")),v(t.playPosition,f?"stop":"play",J(this._handlePlayClick,this,!f),!0);function v(c,d,p,g){if(c){var y=Lr(vt(i.get(["controlStyle",d+"BtnSize"]),o),o),m=[0,-y/2,y,y],_=p8(i,d+"Icon",m,{x:c[0],y:c[1],originX:o/2,originY:0,rotation:g?-s:0,rectHover:!0,style:l,onclick:p});_.ensureState("emphasis").style=u,a.add(_),oi(_)}}},e.prototype._renderCurrentPointer=function(t,a,n,i){var o=i.getData(),s=i.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,f={onCreate:function(h){h.draggable=!0,h.drift=J(u._handlePointerDrag,u),h.ondragend=J(u._handlePointerDragend,u),Eb(h,u._progressLine,s,n,i,!0)},onUpdate:function(h){Eb(h,u._progressLine,s,n,i)}};this._currentPointer=Rb(l,l,this._mainGroup,{},this._currentPointer,f)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,a,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,a){var n=this._toAxisCoord(t)[0],i=this._axis,o=hr(i.getExtent().slice());n>o[1]&&(n=o[1]),n<o[0]&&(n=o[0]),this._currentPointer.x=n,this._currentPointer.markRedraw();var s=this._progressLine;s&&(s.shape.x2=n,s.dirty());var l=this._findNearestTick(n),u=this.model;(a||l!==u.getCurrentIndex()&&u.get("realtime"))&&this._changeTimeline(l)},e.prototype._doPlayStop=function(){var t=this;this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(function(){var a=t.model;t._changeTimeline(a.getCurrentIndex()+(a.get("rewind",!0)?-1:1))},this.model.get("playInterval")))},e.prototype._toAxisCoord=function(t){var a=this._mainGroup.getLocalTransform();return Mr(t,a,!0)},e.prototype._findNearestTick=function(t){var a=this.model.getData(),n=1/0,i,o=this._axis;return a.each(["value"],function(s,l){var u=o.dataToCoord(s),f=Math.abs(u-t);f<n&&(n=f,i=l)}),i},e.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},e.prototype._changeTimeline=function(t){var a=this.model.getCurrentIndex();t==="+"?t=a+1:t==="-"&&(t=a-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})},e.prototype._updateTicksStatus=function(){var t=this.model.getCurrentIndex(),a=this._tickSymbols,n=this._tickLabels;if(a)for(var i=0;i<a.length;i++)a&&a[i]&&a[i].toggleState("progress",i<t);if(n)for(var i=0;i<n.length;i++)n&&n[i]&&n[i].toggleState("progress",Pb(n[i]).dataIndex<=t)},e.type="timeline.slider",e}(f8);function c8(r,e){if(e=e||r.get("type"),e)switch(e){case"category":return new kh({ordinalMeta:r.getCategories(),extent:[1/0,-1/0]});case"time":return new ny({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new Sa}}function d8(r,e){return re(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},r.get("padding"))}function p8(r,e,t,a){var n=a.style,i=Tl(r.get(["controlStyle",e]),a||{},new gt(t[0],t[1],t[2],t[3]));return n&&i.setStyle(n),i}function Rb(r,e,t,a,n,i){var o=e.get("color");if(n)n.setColor(o),t.add(n),i&&i.onUpdate(n);else{var s=r.get("symbol");n=jt(s,-1,-1,2,2,o),n.setStyle("strokeNoScale",!0),t.add(n),i&&i.onCreate(n)}var l=e.getItemStyle(["color"]);n.setStyle(l),a=dt({rectHover:!0,z2:100},a,!0);var u=Oo(r.get("symbolSize"));a.scaleX=u[0]/2,a.scaleY=u[1]/2;var f=bi(r.get("symbolOffset"),u);f&&(a.x=(a.x||0)+f[0],a.y=(a.y||0)+f[1]);var h=r.get("symbolRotate");return a.rotation=(h||0)*Math.PI/180||0,n.attr(a),n.updateTransform(),n}function Eb(r,e,t,a,n,i){if(!r.dragging){var o=n.getModel("checkpointStyle"),s=a.dataToCoord(n.getData().get("value",t));if(i||!o.get("animation",!0))r.attr({x:s,y:0}),e&&e.attr({shape:{x2:s}});else{var l={duration:o.get("animationDuration",!0),easing:o.get("animationEasing",!0)};r.stopAnimation(null,!0),r.animateTo({x:s,y:0},l),e&&e.animateTo({shape:{x2:s}},l)}}}function g8(r){r.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(e,t,a){var n=t.getComponent("timeline");return n&&e.currentIndex!=null&&(n.setCurrentIndex(e.currentIndex),!n.get("loop",!0)&&n.isIndexMax()&&n.getPlayState()&&(n.setPlayState(!1),a.dispatchAction({type:"timelinePlayChange",playState:!1,from:e.from}))),t.resetOption("timeline",{replaceMerge:n.get("replaceMerge",!0)}),ot({currentIndex:n.option.currentIndex},e)}),r.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(e,t){var a=t.getComponent("timeline");a&&e.playState!=null&&a.setPlayState(e.playState)})}function y8(r){var e=r&&r.timeline;z(e)||(e=e?[e]:[]),D(e,function(t){t&&m8(t)})}function m8(r){var e=r.type,t={number:"value",time:"time"};if(t[e]&&(r.axisType=t[e],delete r.type),kb(r),Zn(r,"controlPosition")){var a=r.controlStyle||(r.controlStyle={});Zn(a,"position")||(a.position=r.controlPosition),a.position==="none"&&!Zn(a,"show")&&(a.show=!1,delete a.position),delete r.controlPosition}D(r.data||[],function(n){st(n)&&!z(n)&&(!Zn(n,"value")&&Zn(n,"name")&&(n.value=n.name),kb(n))})}function kb(r){var e=r.itemStyle||(r.itemStyle={}),t=e.emphasis||(e.emphasis={}),a=r.label||r.label||{},n=a.normal||(a.normal={}),i={normal:1,emphasis:1};D(a,function(o,s){!i[s]&&!Zn(n,s)&&(n[s]=o)}),t.label&&!Zn(a,"emphasis")&&(a.emphasis=t.label,delete t.label)}function Zn(r,e){return r.hasOwnProperty(e)}function _8(r){r.registerComponentModel(B2),r.registerComponentView(v8),r.registerSubTypeDefaulter("timeline",function(){return"slider"}),g8(r),r.registerPreprocessor(y8)}function lm(r,e){if(!r)return!1;for(var t=z(r)?r:[r],a=0;a<t.length;a++)if(t[a]&&t[a][e])return!0;return!1}function Ou(r){hi(r,"label",["show"])}var Nu=At(),ba=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.createdBySelf=!1,t}return e.prototype.init=function(t,a,n){this.mergeDefaultAndTheme(t,n),this._mergeOption(t,n,!1,!0)},e.prototype.isAnimationEnabled=function(){if(xt.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},e.prototype.mergeOption=function(t,a){this._mergeOption(t,a,!1,!1)},e.prototype._mergeOption=function(t,a,n,i){var o=this.mainType;n||a.eachSeries(function(s){var l=s.get(this.mainType,!0),u=Nu(s)[o];if(!l||!l.data){Nu(s)[o]=null;return}u?u._mergeOption(l,a,!0):(i&&Ou(l),D(l.data,function(f){f instanceof Array?(Ou(f[0]),Ou(f[1])):Ou(f)}),u=this.createMarkerModelFromSeries(l,this,a),V(u,{mainType:this.mainType,seriesIndex:s.seriesIndex,name:s.name,createdBySelf:!0}),u.__hostSeries=s),Nu(s)[o]=u},this)},e.prototype.formatTooltip=function(t,a,n){var i=this.getData(),o=this.getRawValue(t),s=i.getName(t);return ue("section",{header:this.name,blocks:[ue("nameValue",{name:s,value:o,noName:!s,noValue:o==null})]})},e.prototype.getData=function(){return this._data},e.prototype.setData=function(t){this._data=t},e.prototype.getDataParams=function(t,a){var n=Mh.prototype.getDataParams.call(this,t,a),i=this.__hostSeries;return i&&(n.seriesId=i.id,n.seriesName=i.name,n.seriesType=i.subType),n},e.getMarkerModelFromSeries=function(t,a){return Nu(t)[a]},e.type="marker",e.dependencies=["series","grid","polar","geo"],e}(bt);te(ba,Mh.prototype);var S8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,a,n){return new e(t,a,n)},e.type="markPoint",e.defaultOption={z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}},e}(ba);function Qp(r){return!(isNaN(parseFloat(r.x))&&isNaN(parseFloat(r.y)))}function x8(r){return!isNaN(parseFloat(r.x))&&!isNaN(parseFloat(r.y))}function Bu(r,e,t,a,n,i){var o=[],s=ln(e,a),l=s?e.getCalculationInfo("stackResultDimension"):a,u=um(e,l,r),f=e.indicesOfNearest(l,u)[0];o[n]=e.get(t,f),o[i]=e.get(l,f);var h=e.get(a,f),v=Wr(e.get(a,f));return v=Math.min(v,20),v>=0&&(o[i]=+o[i].toFixed(v)),[o,h]}var id={min:ct(Bu,"min"),max:ct(Bu,"max"),average:ct(Bu,"average"),median:ct(Bu,"median")};function dl(r,e){if(e){var t=r.getData(),a=r.coordinateSystem,n=a&&a.dimensions;if(!x8(e)&&!z(e.coord)&&z(n)){var i=V2(e,t,a,r);if(e=lt(e),e.type&&id[e.type]&&i.baseAxis&&i.valueAxis){var o=yt(n,i.baseAxis.dim),s=yt(n,i.valueAxis.dim),l=id[e.type](t,i.baseDataDim,i.valueDataDim,o,s);e.coord=l[0],e.value=l[1]}else e.coord=[e.xAxis!=null?e.xAxis:e.radiusAxis,e.yAxis!=null?e.yAxis:e.angleAxis]}if(e.coord==null||!z(n))e.coord=[];else for(var u=e.coord,f=0;f<2;f++)id[u[f]]&&(u[f]=um(t,t.mapDimension(n[f]),u[f]));return e}}function V2(r,e,t,a){var n={};return r.valueIndex!=null||r.valueDim!=null?(n.valueDataDim=r.valueIndex!=null?e.getDimension(r.valueIndex):r.valueDim,n.valueAxis=t.getAxis(b8(a,n.valueDataDim)),n.baseAxis=t.getOtherAxis(n.valueAxis),n.baseDataDim=e.mapDimension(n.baseAxis.dim)):(n.baseAxis=a.getBaseAxis(),n.valueAxis=t.getOtherAxis(n.baseAxis),n.baseDataDim=e.mapDimension(n.baseAxis.dim),n.valueDataDim=e.mapDimension(n.valueAxis.dim)),n}function b8(r,e){var t=r.getData().getDimensionInfo(e);return t&&t.coordDim}function pl(r,e){return r&&r.containData&&e.coord&&!Qp(e)?r.containData(e.coord):!0}function w8(r,e,t){return r&&r.containZone&&e.coord&&t.coord&&!Qp(e)&&!Qp(t)?r.containZone(e.coord,t.coord):!0}function z2(r,e){return r?function(t,a,n,i){var o=i<2?t.coord&&t.coord[i]:t.value;return tn(o,e[i])}:function(t,a,n,i){return tn(t.value,e[i])}}function um(r,e,t){if(t==="average"){var a=0,n=0;return r.each(e,function(i,o){isNaN(i)||(a+=i,n++)}),a/n}else return t==="median"?r.getMedian(e):r.getDataExtent(e)[t==="max"?1:0]}var od=At(),fm=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this.markerGroupMap=et()},e.prototype.render=function(t,a,n){var i=this,o=this.markerGroupMap;o.each(function(s){od(s).keep=!1}),a.eachSeries(function(s){var l=ba.getMarkerModelFromSeries(s,i.type);l&&i.renderSeries(s,l,a,n)}),o.each(function(s){!od(s).keep&&i.group.remove(s.group)})},e.prototype.markKeep=function(t){od(t).keep=!0},e.prototype.toggleBlurSeries=function(t,a){var n=this;D(t,function(i){var o=ba.getMarkerModelFromSeries(i,n.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(a?IT(l):Mg(l))})}})},e.type="marker",e}(Ut);function Ob(r,e,t){var a=e.coordinateSystem;r.each(function(n){var i=r.getItemModel(n),o,s=X(i.get("x"),t.getWidth()),l=X(i.get("y"),t.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(e.getMarkerPosition)o=e.getMarkerPosition(r.getValues(r.dimensions,n));else if(a){var u=r.get(a.dimensions[0],n),f=r.get(a.dimensions[1],n);o=a.dataToPoint([u,f])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),r.setItemLayout(n,o)})}var T8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,a,n){a.eachSeries(function(i){var o=ba.getMarkerModelFromSeries(i,"markPoint");o&&(Ob(o.getData(),i,n),this.markerGroupMap.get(i.id).updateLayout())},this)},e.prototype.renderSeries=function(t,a,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new Il),h=A8(o,t,a);a.setData(h),Ob(a.getData(),t,i),h.each(function(v){var c=h.getItemModel(v),d=c.getShallow("symbol"),p=c.getShallow("symbolSize"),g=c.getShallow("symbolRotate"),y=c.getShallow("symbolOffset"),m=c.getShallow("symbolKeepAspect");if(nt(d)||nt(p)||nt(g)||nt(y)){var _=a.getRawValue(v),S=a.getDataParams(v);nt(d)&&(d=d(_,S)),nt(p)&&(p=p(_,S)),nt(g)&&(g=g(_,S)),nt(y)&&(y=y(_,S))}var b=c.getModel("itemStyle").getItemStyle(),x=Cl(l,"color");b.fill||(b.fill=x),h.setItemVisual(v,{symbol:d,symbolSize:p,symbolRotate:g,symbolOffset:y,symbolKeepAspect:m,style:b})}),f.updateData(h),this.group.add(f.group),h.eachItemGraphicEl(function(v){v.traverse(function(c){ht(c).dataModel=a})}),this.markKeep(f),f.group.silent=a.get("silent")||t.get("silent")},e.type="markPoint",e}(fm);function A8(r,e,t){var a;r?a=H(r&&r.dimensions,function(s){var l=e.getData().getDimensionInfo(e.getData().mapDimension(s))||{};return V(V({},l),{name:s,ordinalMeta:null})}):a=[{name:"value",type:"float"}];var n=new Pe(a,t),i=H(t.get("data"),ct(dl,e));r&&(i=Pt(i,ct(pl,r)));var o=z2(!!r,a);return n.initData(i,null,o),n}function C8(r){r.registerComponentModel(S8),r.registerComponentView(T8),r.registerPreprocessor(function(e){lm(e.series,"markPoint")&&(e.markPoint=e.markPoint||{})})}var D8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,a,n){return new e(t,a,n)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(ba),Vu=At(),M8=function(r,e,t,a){var n=r.getData(),i;if(z(a))i=a;else{var o=a.type;if(o==="min"||o==="max"||o==="average"||o==="median"||a.xAxis!=null||a.yAxis!=null){var s=void 0,l=void 0;if(a.yAxis!=null||a.xAxis!=null)s=e.getAxis(a.yAxis!=null?"y":"x"),l=ve(a.yAxis,a.xAxis);else{var u=V2(a,n,e,r);s=u.valueAxis;var f=PC(n,u.valueDataDim);l=um(n,f,o)}var h=s.dim==="x"?0:1,v=1-h,c=lt(a),d={coord:[]};c.type=null,c.coord=[],c.coord[v]=-1/0,d.coord[v]=1/0;var p=t.get("precision");p>=0&&Dt(l)&&(l=+l.toFixed(Math.min(p,20))),c.coord[h]=d.coord[h]=l,i=[c,d,{type:o,valueIndex:a.valueIndex,value:l}]}else i=[]}var g=[dl(r,i[0]),dl(r,i[1]),V({},i[2])];return g[2].type=g[2].type||null,dt(g[2],g[0]),dt(g[2],g[1]),g};function Kf(r){return!isNaN(r)&&!isFinite(r)}function Nb(r,e,t,a){var n=1-r,i=a.dimensions[r];return Kf(e[n])&&Kf(t[n])&&e[r]===t[r]&&a.getAxis(i).containData(e[r])}function L8(r,e){if(r.type==="cartesian2d"){var t=e[0].coord,a=e[1].coord;if(t&&a&&(Nb(1,t,a,r)||Nb(0,t,a,r)))return!0}return pl(r,e[0])&&pl(r,e[1])}function sd(r,e,t,a,n){var i=a.coordinateSystem,o=r.getItemModel(e),s,l=X(o.get("x"),n.getWidth()),u=X(o.get("y"),n.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(a.getMarkerPosition)s=a.getMarkerPosition(r.getValues(r.dimensions,e));else{var f=i.dimensions,h=r.get(f[0],e),v=r.get(f[1],e);s=i.dataToPoint([h,v])}if(Ti(i,"cartesian2d")){var c=i.getAxis("x"),d=i.getAxis("y"),f=i.dimensions;Kf(r.get(f[0],e))?s[0]=c.toGlobalCoord(c.getExtent()[t?0:1]):Kf(r.get(f[1],e))&&(s[1]=d.toGlobalCoord(d.getExtent()[t?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}r.setItemLayout(e,s)}var I8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,a,n){a.eachSeries(function(i){var o=ba.getMarkerModelFromSeries(i,"markLine");if(o){var s=o.getData(),l=Vu(o).from,u=Vu(o).to;l.each(function(f){sd(l,f,!0,i,n),sd(u,f,!1,i,n)}),s.each(function(f){s.setItemLayout(f,[l.getItemLayout(f),u.getItemLayout(f)])}),this.markerGroupMap.get(i.id).updateLayout()}},this)},e.prototype.renderSeries=function(t,a,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new Py);this.group.add(f.group);var h=P8(o,t,a),v=h.from,c=h.to,d=h.line;Vu(a).from=v,Vu(a).to=c,a.setData(d);var p=a.get("symbol"),g=a.get("symbolSize"),y=a.get("symbolRotate"),m=a.get("symbolOffset");z(p)||(p=[p,p]),z(g)||(g=[g,g]),z(y)||(y=[y,y]),z(m)||(m=[m,m]),h.from.each(function(S){_(v,S,!0),_(c,S,!1)}),d.each(function(S){var b=d.getItemModel(S).getModel("lineStyle").getLineStyle();d.setItemLayout(S,[v.getItemLayout(S),c.getItemLayout(S)]),b.stroke==null&&(b.stroke=v.getItemVisual(S,"style").fill),d.setItemVisual(S,{fromSymbolKeepAspect:v.getItemVisual(S,"symbolKeepAspect"),fromSymbolOffset:v.getItemVisual(S,"symbolOffset"),fromSymbolRotate:v.getItemVisual(S,"symbolRotate"),fromSymbolSize:v.getItemVisual(S,"symbolSize"),fromSymbol:v.getItemVisual(S,"symbol"),toSymbolKeepAspect:c.getItemVisual(S,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(S,"symbolOffset"),toSymbolRotate:c.getItemVisual(S,"symbolRotate"),toSymbolSize:c.getItemVisual(S,"symbolSize"),toSymbol:c.getItemVisual(S,"symbol"),style:b})}),f.updateData(d),h.line.eachItemGraphicEl(function(S){ht(S).dataModel=a,S.traverse(function(b){ht(b).dataModel=a})});function _(S,b,x){var w=S.getItemModel(b);sd(S,b,x,t,i);var T=w.getModel("itemStyle").getItemStyle();T.fill==null&&(T.fill=Cl(l,"color")),S.setItemVisual(b,{symbolKeepAspect:w.get("symbolKeepAspect"),symbolOffset:vt(w.get("symbolOffset",!0),m[x?0:1]),symbolRotate:vt(w.get("symbolRotate",!0),y[x?0:1]),symbolSize:vt(w.get("symbolSize"),g[x?0:1]),symbol:vt(w.get("symbol",!0),p[x?0:1]),style:T})}this.markKeep(f),f.group.silent=a.get("silent")||t.get("silent")},e.type="markLine",e}(fm);function P8(r,e,t){var a;r?a=H(r&&r.dimensions,function(u){var f=e.getData().getDimensionInfo(e.getData().mapDimension(u))||{};return V(V({},f),{name:u,ordinalMeta:null})}):a=[{name:"value",type:"float"}];var n=new Pe(a,t),i=new Pe(a,t),o=new Pe([],t),s=H(t.get("data"),ct(M8,e,r,t));r&&(s=Pt(s,ct(L8,r)));var l=z2(!!r,a);return n.initData(H(s,function(u){return u[0]}),null,l),i.initData(H(s,function(u){return u[1]}),null,l),o.initData(H(s,function(u){return u[2]})),o.hasItemOption=!0,{from:n,to:i,line:o}}function R8(r){r.registerComponentModel(D8),r.registerComponentView(I8),r.registerPreprocessor(function(e){lm(e.series,"markLine")&&(e.markLine=e.markLine||{})})}var E8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,a,n){return new e(t,a,n)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(ba),zu=At(),k8=function(r,e,t,a){var n=a[0],i=a[1];if(!(!n||!i)){var o=dl(r,n),s=dl(r,i),l=o.coord,u=s.coord;l[0]=ve(l[0],-1/0),l[1]=ve(l[1],-1/0),u[0]=ve(u[0],1/0),u[1]=ve(u[1],1/0);var f=fg([{},o,s]);return f.coord=[o.coord,s.coord],f.x0=o.x,f.y0=o.y,f.x1=s.x,f.y1=s.y,f}};function Jf(r){return!isNaN(r)&&!isFinite(r)}function Bb(r,e,t,a){var n=1-r;return Jf(e[n])&&Jf(t[n])}function O8(r,e){var t=e.coord[0],a=e.coord[1],n={coord:t,x:e.x0,y:e.y0},i={coord:a,x:e.x1,y:e.y1};return Ti(r,"cartesian2d")?t&&a&&(Bb(1,t,a)||Bb(0,t,a))?!0:w8(r,n,i):pl(r,n)||pl(r,i)}function Vb(r,e,t,a,n){var i=a.coordinateSystem,o=r.getItemModel(e),s,l=X(o.get(t[0]),n.getWidth()),u=X(o.get(t[1]),n.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(a.getMarkerPosition){var f=r.getValues(["x0","y0"],e),h=r.getValues(["x1","y1"],e),v=i.clampData(f),c=i.clampData(h),d=[];t[0]==="x0"?d[0]=v[0]>c[0]?h[0]:f[0]:d[0]=v[0]>c[0]?f[0]:h[0],t[1]==="y0"?d[1]=v[1]>c[1]?h[1]:f[1]:d[1]=v[1]>c[1]?f[1]:h[1],s=a.getMarkerPosition(d,t,!0)}else{var p=r.get(t[0],e),g=r.get(t[1],e),y=[p,g];i.clampData&&i.clampData(y,y),s=i.dataToPoint(y,!0)}if(Ti(i,"cartesian2d")){var m=i.getAxis("x"),_=i.getAxis("y"),p=r.get(t[0],e),g=r.get(t[1],e);Jf(p)?s[0]=m.toGlobalCoord(m.getExtent()[t[0]==="x0"?0:1]):Jf(g)&&(s[1]=_.toGlobalCoord(_.getExtent()[t[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var zb=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],N8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,a,n){a.eachSeries(function(i){var o=ba.getMarkerModelFromSeries(i,"markArea");if(o){var s=o.getData();s.each(function(l){var u=H(zb,function(h){return Vb(s,l,h,i,n)});s.setItemLayout(l,u);var f=s.getItemGraphicEl(l);f.setShape("points",u)})}},this)},e.prototype.renderSeries=function(t,a,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,{group:new ut});this.group.add(f.group),this.markKeep(f);var h=B8(o,t,a);a.setData(h),h.each(function(v){var c=H(zb,function(T){return Vb(h,v,T,t,i)}),d=o.getAxis("x").scale,p=o.getAxis("y").scale,g=d.getExtent(),y=p.getExtent(),m=[d.parse(h.get("x0",v)),d.parse(h.get("x1",v))],_=[p.parse(h.get("y0",v)),p.parse(h.get("y1",v))];hr(m),hr(_);var S=!(g[0]>m[1]||g[1]<m[0]||y[0]>_[1]||y[1]<_[0]),b=!S;h.setItemLayout(v,{points:c,allClipped:b});var x=h.getItemModel(v).getModel("itemStyle").getItemStyle(),w=Cl(l,"color");x.fill||(x.fill=w,K(x.fill)&&(x.fill=cf(x.fill,.4))),x.stroke||(x.stroke=w),h.setItemVisual(v,"style",x)}),h.diff(zu(f).data).add(function(v){var c=h.getItemLayout(v);if(!c.allClipped){var d=new Ne({shape:{points:c.points}});h.setItemGraphicEl(v,d),f.group.add(d)}}).update(function(v,c){var d=zu(f).data.getItemGraphicEl(c),p=h.getItemLayout(v);p.allClipped?d&&f.group.remove(d):(d?Mt(d,{shape:{points:p.points}},a,v):d=new Ne({shape:{points:p.points}}),h.setItemGraphicEl(v,d),f.group.add(d))}).remove(function(v){var c=zu(f).data.getItemGraphicEl(v);f.group.remove(c)}).execute(),h.eachItemGraphicEl(function(v,c){var d=h.getItemModel(c),p=h.getItemVisual(c,"style");v.useStyle(h.getItemVisual(c,"style")),ye(v,le(d),{labelFetcher:a,labelDataIndex:c,defaultText:h.getName(c)||"",inheritColor:K(p.fill)?cf(p.fill,1):"#000"}),ge(v,d),Yt(v,null,null,d.get(["emphasis","disabled"])),ht(v).dataModel=a}),zu(f).data=h,f.group.silent=a.get("silent")||t.get("silent")},e.type="markArea",e}(fm);function B8(r,e,t){var a,n,i=["x0","y0","x1","y1"];if(r){var o=H(r&&r.dimensions,function(u){var f=e.getData(),h=f.getDimensionInfo(f.mapDimension(u))||{};return V(V({},h),{name:u,ordinalMeta:null})});n=H(i,function(u,f){return{name:u,type:o[f%2].type}}),a=new Pe(n,t)}else n=[{name:"value",type:"float"}],a=new Pe(n,t);var s=H(t.get("data"),ct(k8,e,r,t));r&&(s=Pt(s,ct(O8,r)));var l=r?function(u,f,h,v){var c=u.coord[Math.floor(v/2)][v%2];return tn(c,n[v])}:function(u,f,h,v){return tn(u.value,n[v])};return a.initData(s,null,l),a.hasItemOption=!0,a}function V8(r){r.registerComponentModel(E8),r.registerComponentView(N8),r.registerPreprocessor(function(e){lm(e.series,"markArea")&&(e.markArea=e.markArea||{})})}var z8=function(r,e){if(e==="all")return{type:"all",title:r.getLocaleModel().get(["legend","selector","all"])};if(e==="inverse")return{type:"inverse",title:r.getLocaleModel().get(["legend","selector","inverse"])}},jp=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.prototype.init=function(t,a,n){this.mergeDefaultAndTheme(t,n),t.selected=t.selected||{},this._updateSelector(t)},e.prototype.mergeOption=function(t,a){r.prototype.mergeOption.call(this,t,a),this._updateSelector(t)},e.prototype._updateSelector=function(t){var a=t.selector,n=this.ecModel;a===!0&&(a=t.selector=["all","inverse"]),z(a)&&D(a,function(i,o){K(i)&&(i={type:i}),a[o]=dt(i,z8(n,i.type))})},e.prototype.optionUpdated=function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&this.get("selectedMode")==="single"){for(var a=!1,n=0;n<t.length;n++){var i=t[n].get("name");if(this.isSelected(i)){this.select(i),a=!0;break}}!a&&this.select(t[0].get("name"))}},e.prototype._updateData=function(t){var a=[],n=[];t.eachRawSeries(function(l){var u=l.name;n.push(u);var f;if(l.legendVisualProvider){var h=l.legendVisualProvider,v=h.getAllNames();t.isSeriesFiltered(l)||(n=n.concat(v)),v.length?a=a.concat(v):f=!0}else f=!0;f&&Sg(l)&&a.push(l.name)}),this._availableNames=n;var i=this.get("data")||a,o=et(),s=H(i,function(l){return(K(l)||Dt(l))&&(l={name:l}),o.get(l.name)?null:(o.set(l.name,!0),new Et(l,this,this.ecModel))},this);this._data=Pt(s,function(l){return!!l})},e.prototype.getData=function(){return this._data},e.prototype.select=function(t){var a=this.option.selected,n=this.get("selectedMode");if(n==="single"){var i=this._data;D(i,function(o){a[o.get("name")]=!1})}a[t]=!0},e.prototype.unSelect=function(t){this.get("selectedMode")!=="single"&&(this.option.selected[t]=!1)},e.prototype.toggleSelected=function(t){var a=this.option.selected;a.hasOwnProperty(t)||(a[t]=!0),this[a[t]?"unSelect":"select"](t)},e.prototype.allSelect=function(){var t=this._data,a=this.option.selected;D(t,function(n){a[n.get("name",!0)]=!0})},e.prototype.inverseSelect=function(){var t=this._data,a=this.option.selected;D(t,function(n){var i=n.get("name",!0);a.hasOwnProperty(i)||(a[i]=!0),a[i]=!a[i]})},e.prototype.isSelected=function(t){var a=this.option.selected;return!(a.hasOwnProperty(t)&&!a[t])&&yt(this._availableNames,t)>=0},e.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(bt),Yi=ct,tg=D,Gu=ut,G2=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!1,t}return e.prototype.init=function(){this.group.add(this._contentGroup=new Gu),this.group.add(this._selectorGroup=new Gu),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,a,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!t.get("show",!0)){var o=t.get("align"),s=t.get("orient");(!o||o==="auto")&&(o=t.get("left")==="right"&&s==="vertical"?"right":"left");var l=t.get("selector",!0),u=t.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,t,a,n,l,s,u);var f=t.getBoxLayoutParams(),h={width:n.getWidth(),height:n.getHeight()},v=t.get("padding"),c=re(f,h,v),d=this.layoutInner(t,o,c,i,l,u),p=re(ot({width:d.width,height:d.height},f),h,v);this.group.x=p.x-d.x,this.group.y=p.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=M2(d,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,a,n,i,o,s,l){var u=this.getContentGroup(),f=et(),h=a.get("selectedMode"),v=[];n.eachRawSeries(function(c){!c.get("legendHoverLink")&&v.push(c.id)}),tg(a.getData(),function(c,d){var p=c.get("name");if(!this.newlineDisabled&&(p===""||p===` +`)){var g=new Gu;g.newline=!0,u.add(g);return}var y=n.getSeriesByName(p)[0];if(!f.get(p))if(y){var m=y.getData(),_=m.getVisual("legendLineStyle")||{},S=m.getVisual("legendIcon"),b=m.getVisual("style"),x=this._createItem(y,p,d,c,a,t,_,b,S,h,i);x.on("click",Yi(Gb,p,null,i,v)).on("mouseover",Yi(eg,y.name,null,i,v)).on("mouseout",Yi(rg,y.name,null,i,v)),n.ssr&&x.eachChild(function(w){var T=ht(w);T.seriesIndex=y.seriesIndex,T.dataIndex=d,T.ssrType="legend"}),f.set(p,!0)}else n.eachRawSeries(function(w){if(!f.get(p)&&w.legendVisualProvider){var T=w.legendVisualProvider;if(!T.containName(p))return;var A=T.indexOfName(p),C=T.getItemVisual(A,"style"),M=T.getItemVisual(A,"legendIcon"),L=Ke(C.fill);L&&L[3]===0&&(L[3]=.2,C=V(V({},C),{fill:va(L,"rgba")}));var I=this._createItem(w,p,d,c,a,t,{},C,M,h,i);I.on("click",Yi(Gb,null,p,i,v)).on("mouseover",Yi(eg,null,p,i,v)).on("mouseout",Yi(rg,null,p,i,v)),n.ssr&&I.eachChild(function(P){var R=ht(P);R.seriesIndex=w.seriesIndex,R.dataIndex=d,R.ssrType="legend"}),f.set(p,!0)}},this)},this),o&&this._createSelector(o,a,i,s,l)},e.prototype._createSelector=function(t,a,n,i,o){var s=this.getSelectorGroup();tg(t,function(u){var f=u.type,h=new Ct({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect",legendId:a.id})}});s.add(h);var v=a.getModel("selectorLabel"),c=a.getModel(["emphasis","selectorLabel"]);ye(h,{normal:v,emphasis:c},{defaultText:u.title}),oi(h)})},e.prototype._createItem=function(t,a,n,i,o,s,l,u,f,h,v){var c=t.visualDrawType,d=o.get("itemWidth"),p=o.get("itemHeight"),g=o.isSelected(a),y=i.get("symbolRotate"),m=i.get("symbolKeepAspect"),_=i.get("icon");f=_||f||"roundRect";var S=G8(f,i,l,u,c,g,v),b=new Gu,x=i.getModel("textStyle");if(nt(t.getLegendIcon)&&(!_||_==="inherit"))b.add(t.getLegendIcon({itemWidth:d,itemHeight:p,icon:f,iconRotate:y,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}));else{var w=_==="inherit"&&t.getData().getVisual("symbol")?y==="inherit"?t.getData().getVisual("symbolRotate"):y:0;b.add(F8({itemWidth:d,itemHeight:p,icon:f,iconRotate:w,itemStyle:S.itemStyle,symbolKeepAspect:m}))}var T=s==="left"?d+5:-5,A=s,C=o.get("formatter"),M=a;K(C)&&C?M=C.replace("{name}",a??""):nt(C)&&(M=C(a));var L=g?x.getTextColor():i.get("inactiveColor");b.add(new Ct({style:zt(x,{text:M,x:T,y:p/2,fill:L,align:A,verticalAlign:"middle"},{inheritColor:L})}));var I=new Tt({shape:b.getBoundingRect(),style:{fill:"transparent"}}),P=i.getModel("tooltip");return P.get("show")&&Si({el:I,componentModel:o,itemName:a,itemTooltipOption:P.option}),b.add(I),b.eachChild(function(R){R.silent=!0}),I.silent=!h,this.getContentGroup().add(b),oi(b),b.__legendDataIndex=n,b},e.prototype.layoutInner=function(t,a,n,i,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();li(t.get("orient"),l,t.get("itemGap"),n.width,n.height);var f=l.getBoundingRect(),h=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){li("horizontal",u,t.get("selectorItemGap",!0));var v=u.getBoundingRect(),c=[-v.x,-v.y],d=t.get("selectorButtonGap",!0),p=t.getOrient().index,g=p===0?"width":"height",y=p===0?"height":"width",m=p===0?"y":"x";s==="end"?c[p]+=f[g]+d:h[p]+=v[g]+d,c[1-p]+=f[y]/2-v[y]/2,u.x=c[0],u.y=c[1],l.x=h[0],l.y=h[1];var _={x:0,y:0};return _[g]=f[g]+d+v[g],_[y]=Math.max(f[y],v[y]),_[m]=Math.min(0,v[m]+c[1-p]),_}else return l.x=h[0],l.y=h[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Ut);function G8(r,e,t,a,n,i,o){function s(g,y){g.lineWidth==="auto"&&(g.lineWidth=y.lineWidth>0?2:0),tg(g,function(m,_){g[_]==="inherit"&&(g[_]=y[_])})}var l=e.getModel("itemStyle"),u=l.getItemStyle(),f=r.lastIndexOf("empty",0)===0?"fill":"stroke",h=l.getShallow("decal");u.decal=!h||h==="inherit"?a.decal:po(h,o),u.fill==="inherit"&&(u.fill=a[n]),u.stroke==="inherit"&&(u.stroke=a[f]),u.opacity==="inherit"&&(u.opacity=(n==="fill"?a:t).opacity),s(u,a);var v=e.getModel("lineStyle"),c=v.getLineStyle();if(s(c,t),u.fill==="auto"&&(u.fill=a.fill),u.stroke==="auto"&&(u.stroke=a.fill),c.stroke==="auto"&&(c.stroke=a.fill),!i){var d=e.get("inactiveBorderWidth"),p=u[f];u.lineWidth=d==="auto"?a.lineWidth>0&&p?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),c.stroke=v.get("inactiveColor"),c.lineWidth=v.get("inactiveWidth")}return{itemStyle:u,lineStyle:c}}function F8(r){var e=r.icon||"roundRect",t=jt(e,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return t.setStyle(r.itemStyle),t.rotation=(r.iconRotate||0)*Math.PI/180,t.setOrigin([r.itemWidth/2,r.itemHeight/2]),e.indexOf("empty")>-1&&(t.style.stroke=t.style.fill,t.style.fill="#fff",t.style.lineWidth=2),t}function Gb(r,e,t,a){rg(r,e,t,a),t.dispatchAction({type:"legendToggleSelect",name:r??e}),eg(r,e,t,a)}function F2(r){for(var e=r.getZr().storage.getDisplayList(),t,a=0,n=e.length;a<n&&!(t=e[a].states.emphasis);)a++;return t&&t.hoverLayer}function eg(r,e,t,a){F2(t)||t.dispatchAction({type:"highlight",seriesName:r,name:e,excludeSeriesId:a})}function rg(r,e,t,a){F2(t)||t.dispatchAction({type:"downplay",seriesName:r,name:e,excludeSeriesId:a})}function H8(r){var e=r.findComponents({mainType:"legend"});e&&e.length&&r.filterSeries(function(t){for(var a=0;a<e.length;a++)if(!e[a].isSelected(t.name))return!1;return!0})}function fs(r,e,t){var a=r==="allSelect"||r==="inverseSelect",n={},i=[];t.eachComponent({mainType:"legend",query:e},function(s){a?s[r]():s[r](e.name),Fb(s,n),i.push(s.componentIndex)});var o={};return t.eachComponent("legend",function(s){D(n,function(l,u){s[l?"select":"unSelect"](u)}),Fb(s,o)}),a?{selected:o,legendIndex:i}:{name:e.name,selected:o}}function Fb(r,e){var t=e||{};return D(r.getData(),function(a){var n=a.get("name");if(!(n===` +`||n==="")){var i=r.isSelected(n);j(t,n)?t[n]=t[n]&&i:t[n]=i}}),t}function W8(r){r.registerAction("legendToggleSelect","legendselectchanged",ct(fs,"toggleSelected")),r.registerAction("legendAllSelect","legendselectall",ct(fs,"allSelect")),r.registerAction("legendInverseSelect","legendinverseselect",ct(fs,"inverseSelect")),r.registerAction("legendSelect","legendselected",ct(fs,"select")),r.registerAction("legendUnSelect","legendunselected",ct(fs,"unSelect"))}function H2(r){r.registerComponentModel(jp),r.registerComponentView(G2),r.registerProcessor(r.PRIORITY.PROCESSOR.SERIES_FILTER,H8),r.registerSubTypeDefaulter("legend",function(){return"plain"}),W8(r)}var U8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.setScrollDataIndex=function(t){this.option.scrollDataIndex=t},e.prototype.init=function(t,a,n){var i=Po(t);r.prototype.init.call(this,t,a,n),Hb(this,t,i)},e.prototype.mergeOption=function(t,a){r.prototype.mergeOption.call(this,t,a),Hb(this,this.option,t)},e.type="legend.scroll",e.defaultOption=vn(jp.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800}),e}(jp);function Hb(r,e,t){var a=r.getOrient(),n=[1,1];n[a.index]=0,sn(e,t,{type:"box",ignoreSize:!!n})}var Wb=ut,ld=["width","height"],ud=["x","y"],Y8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!0,t._currentIndex=0,t}return e.prototype.init=function(){r.prototype.init.call(this),this.group.add(this._containerGroup=new Wb),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new Wb)},e.prototype.resetInner=function(){r.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},e.prototype.renderInner=function(t,a,n,i,o,s,l){var u=this;r.prototype.renderInner.call(this,t,a,n,i,o,s,l);var f=this._controllerGroup,h=a.get("pageIconSize",!0),v=z(h)?h:[h,h];d("pagePrev",0);var c=a.getModel("pageTextStyle");f.add(new Ct({name:"pageText",style:{text:"xx/xx",fill:c.getTextColor(),font:c.getFont(),verticalAlign:"middle",align:"center"},silent:!0})),d("pageNext",1);function d(p,g){var y=p+"DataIndex",m=Tl(a.get("pageIcons",!0)[a.getOrient().name][g],{onclick:J(u._pageGo,u,y,a,i)},{x:-v[0]/2,y:-v[1]/2,width:v[0],height:v[1]});m.name=p,f.add(m)}},e.prototype.layoutInner=function(t,a,n,i,o,s){var l=this.getSelectorGroup(),u=t.getOrient().index,f=ld[u],h=ud[u],v=ld[1-u],c=ud[1-u];o&&li("horizontal",l,t.get("selectorItemGap",!0));var d=t.get("selectorButtonGap",!0),p=l.getBoundingRect(),g=[-p.x,-p.y],y=lt(n);o&&(y[f]=n[f]-p[f]-d);var m=this._layoutContentAndController(t,i,y,u,f,v,c,h);if(o){if(s==="end")g[u]+=m[f]+d;else{var _=p[f]+d;g[u]-=_,m[h]-=_}m[f]+=p[f]+d,g[1-u]+=m[c]+m[v]/2-p[v]/2,m[v]=Math.max(m[v],p[v]),m[c]=Math.min(m[c],p[c]+g[1-u]),l.x=g[0],l.y=g[1],l.markRedraw()}return m},e.prototype._layoutContentAndController=function(t,a,n,i,o,s,l,u){var f=this.getContentGroup(),h=this._containerGroup,v=this._controllerGroup;li(t.get("orient"),f,t.get("itemGap"),i?n.width:null,i?null:n.height),li("horizontal",v,t.get("pageButtonItemGap",!0));var c=f.getBoundingRect(),d=v.getBoundingRect(),p=this._showController=c[o]>n[o],g=[-c.x,-c.y];a||(g[i]=f[u]);var y=[0,0],m=[-d.x,-d.y],_=vt(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(p){var S=t.get("pageButtonPosition",!0);S==="end"?m[i]+=n[o]-d[o]:y[i]+=d[o]+_}m[1-i]+=c[s]/2-d[s]/2,f.setPosition(g),h.setPosition(y),v.setPosition(m);var b={x:0,y:0};if(b[o]=p?n[o]:c[o],b[s]=Math.max(c[s],d[s]),b[l]=Math.min(0,d[l]+m[1-i]),h.__rectSize=n[o],p){var x={x:0,y:0};x[o]=Math.max(n[o]-d[o]-_,0),x[s]=b[s],h.setClipPath(new Tt({shape:x})),h.__rectSize=x[o]}else v.eachChild(function(T){T.attr({invisible:!0,silent:!0})});var w=this._getPageInfo(t);return w.pageIndex!=null&&Mt(f,{x:w.contentPosition[0],y:w.contentPosition[1]},p?t:null),this._updatePageInfoView(t,w),b},e.prototype._pageGo=function(t,a,n){var i=this._getPageInfo(a)[t];i!=null&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:a.id})},e.prototype._updatePageInfoView=function(t,a){var n=this._controllerGroup;D(["pagePrev","pageNext"],function(f){var h=f+"DataIndex",v=a[h]!=null,c=n.childOfName(f);c&&(c.setStyle("fill",v?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),c.cursor=v?"pointer":"default")});var i=n.childOfName("pageText"),o=t.get("pageFormatter"),s=a.pageIndex,l=s!=null?s+1:0,u=a.pageCount;i&&o&&i.setStyle("text",K(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},e.prototype._getPageInfo=function(t){var a=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,o=t.getOrient().index,s=ld[o],l=ud[o],u=this._findTargetItemIndex(a),f=n.children(),h=f[u],v=f.length,c=v?1:0,d={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!h)return d;var p=S(h);d.contentPosition[o]=-p.s;for(var g=u+1,y=p,m=p,_=null;g<=v;++g)_=S(f[g]),(!_&&m.e>y.s+i||_&&!b(_,y.s))&&(m.i>y.i?y=m:y=_,y&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=y.i),++d.pageCount)),m=_;for(var g=u-1,y=p,m=p,_=null;g>=-1;--g)_=S(f[g]),(!_||!b(m,_.s))&&y.i<m.i&&(m=y,d.pagePrevDataIndex==null&&(d.pagePrevDataIndex=y.i),++d.pageCount,++d.pageIndex),y=_;return d;function S(x){if(x){var w=x.getBoundingRect(),T=w[l]+x[l];return{s:T,e:T+w[s],i:x.__legendDataIndex}}}function b(x,w){return x.e>=w&&x.s<=w+i}},e.prototype._findTargetItemIndex=function(t){if(!this._showController)return 0;var a,n=this.getContentGroup(),i;return n.eachChild(function(o,s){var l=o.__legendDataIndex;i==null&&l!=null&&(i=s),l===t&&(a=s)}),a??i},e.type="legend.scroll",e}(G2);function $8(r){r.registerAction("legendScroll","legendscroll",function(e,t){var a=e.scrollDataIndex;a!=null&&t.eachComponent({mainType:"legend",subType:"scroll",query:e},function(n){n.setScrollDataIndex(a)})})}function Z8(r){mt(H2),r.registerComponentModel(U8),r.registerComponentView(Y8),$8(r)}function X8(r){mt(H2),mt(Z8)}var q8=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.inside",e.defaultOption=vn(cl.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(cl),hm=At();function K8(r,e,t){hm(r).coordSysRecordMap.each(function(a){var n=a.dataZoomInfoMap.get(e.uid);n&&(n.getRange=t)})}function J8(r,e){for(var t=hm(r).coordSysRecordMap,a=t.keys(),n=0;n<a.length;n++){var i=a[n],o=t.get(i),s=o.dataZoomInfoMap;if(s){var l=e.uid,u=s.get(l);u&&(s.removeKey(l),s.keys().length||W2(t,o))}}}function W2(r,e){if(e){r.removeKey(e.model.uid);var t=e.controller;t&&t.dispose()}}function Q8(r,e){var t={model:e,containsPoint:ct(tU,e),dispatchAction:ct(j8,r),dataZoomInfoMap:null,controller:null},a=t.controller=new Ol(r.getZr());return D(["pan","zoom","scrollMove"],function(n){a.on(n,function(i){var o=[];t.dataZoomInfoMap.each(function(s){if(i.isAvailableBehavior(s.model.option)){var l=(s.getRange||{})[n],u=l&&l(s.dzReferCoordSysInfo,t.model.mainType,t.controller,i);!s.model.get("disabled",!0)&&u&&o.push({dataZoomId:s.model.id,start:u[0],end:u[1]})}}),o.length&&t.dispatchAction(o)})}),t}function j8(r,e){r.isDisposed()||r.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function tU(r,e,t,a){return r.coordinateSystem.containPoint([t,a])}function eU(r){var e,t="type_",a={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return r.each(function(i){var o=i.model,s=o.get("disabled",!0)?!1:o.get("zoomLock",!0)?"move":!0;a[t+s]>a[t+e]&&(e=s),n=n&&o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function rU(r){r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,function(e,t){var a=hm(t),n=a.coordSysRecordMap||(a.coordSysRecordMap=et());n.each(function(i){i.dataZoomInfoMap=null}),e.eachComponent({mainType:"dataZoom",subType:"inside"},function(i){var o=A2(i);D(o.infoList,function(s){var l=s.model.uid,u=n.get(l)||n.set(l,Q8(t,s.model)),f=u.dataZoomInfoMap||(u.dataZoomInfoMap=et());f.set(i.uid,{dzReferCoordSysInfo:s,model:i,getRange:null})})}),n.each(function(i){var o=i.controller,s,l=i.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){W2(n,i);return}var f=eU(l);o.enable(f.controlType,f.opt),o.setPointerChecker(i.containsPoint),ko(i,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var aU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dataZoom.inside",t}return e.prototype.render=function(t,a,n){if(r.prototype.render.apply(this,arguments),t.noTarget()){this._clear();return}this.range=t.getPercentRange(),K8(n,t,{pan:J(fd.pan,this),zoom:J(fd.zoom,this),scrollMove:J(fd.scrollMove,this)})},e.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){J8(this.api,this.dataZoomModel),this.range=null},e.type="dataZoom.inside",e}(rm),fd={zoom:function(r,e,t,a){var n=this.range,i=n.slice(),o=r.axisModels[0];if(o){var s=hd[e](null,[a.originX,a.originY],o,t,r),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(i[1]-i[0])+i[0],u=Math.max(1/a.scale,0);i[0]=(i[0]-l)*u+l,i[1]=(i[1]-l)*u+l;var f=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Ci(0,i,[0,100],0,f.minSpan,f.maxSpan),this.range=i,n[0]!==i[0]||n[1]!==i[1])return i}},pan:Ub(function(r,e,t,a,n,i){var o=hd[a]([i.oldX,i.oldY],[i.newX,i.newY],e,n,t);return o.signal*(r[1]-r[0])*o.pixel/o.pixelLength}),scrollMove:Ub(function(r,e,t,a,n,i){var o=hd[a]([0,0],[i.scrollDelta,i.scrollDelta],e,n,t);return o.signal*(r[1]-r[0])*i.scrollDelta})};function Ub(r){return function(e,t,a,n){var i=this.range,o=i.slice(),s=e.axisModels[0];if(s){var l=r(o,s,e,t,a,n);if(Ci(l,o,[0,100],"all"),this.range=o,i[0]!==o[0]||i[1]!==o[1])return o}}}var hd={grid:function(r,e,t,a,n){var i=t.axis,o={},s=n.model.coordinateSystem.getRect();return r=r||[0,0],i.dim==="x"?(o.pixel=e[0]-r[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=i.inverse?1:-1):(o.pixel=e[1]-r[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=i.inverse?-1:1),o},polar:function(r,e,t,a,n){var i=t.axis,o={},s=n.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return r=r?s.pointToCoord(r):[0,0],e=s.pointToCoord(e),t.mainType==="radiusAxis"?(o.pixel=e[0]-r[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=i.inverse?1:-1):(o.pixel=e[1]-r[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=i.inverse?-1:1),o},singleAxis:function(r,e,t,a,n){var i=t.axis,o=n.model.coordinateSystem.getRect(),s={};return r=r||[0,0],i.orient==="horizontal"?(s.pixel=e[0]-r[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=i.inverse?1:-1):(s.pixel=e[1]-r[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=i.inverse?-1:1),s}};function U2(r){am(r),r.registerComponentModel(q8),r.registerComponentView(aU),rU(r)}var nU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=vn(cl.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(cl),hs=Tt,Yb=7,iU=1,vd=30,oU=7,vs="horizontal",$b="vertical",sU=5,lU=["line","bar","candlestick","scatter"],uU={easing:"cubicOut",duration:100,delay:0},fU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._displayables={},t}return e.prototype.init=function(t,a){this.api=a,this._onBrush=J(this._onBrush,this),this._onBrushEnd=J(this._onBrushEnd,this)},e.prototype.render=function(t,a,n,i){if(r.prototype.render.apply(this,arguments),ko(this,"_dispatchZoomAction",t.get("throttle"),"fixRate"),this._orient=t.getOrient(),t.get("show")===!1){this.group.removeAll();return}if(t.noTarget()){this._clear(),this.group.removeAll();return}(!i||i.type!=="dataZoom"||i.from!==this.uid)&&this._buildView(),this._updateView()},e.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){tl(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var a=this._displayables.sliderGroup=new ut;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(a),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,a=this.api,n=t.get("brushSelect"),i=n?oU:0,o=this._findCoordRect(),s={width:a.getWidth(),height:a.getHeight()},l=this._orient===vs?{right:s.width-o.x-o.width,top:s.height-vd-Yb-i,width:o.width,height:vd}:{right:Yb,top:o.y,width:vd,height:o.height},u=Po(t.option);D(["right","top","width","height"],function(h){u[h]==="ph"&&(u[h]=l[h])});var f=re(u,s);this._location={x:f.x,y:f.y},this._size=[f.width,f.height],this._orient===$b&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,a=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),o=i&&i.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(n===vs&&!o?{scaleY:l?1:-1,scaleX:1}:n===vs&&o?{scaleY:l?1:-1,scaleX:-1}:n===$b&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=t.getBoundingRect([s]);t.x=a.x-u.x,t.y=a.y-u.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,a=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new hs({silent:!0,shape:{x:0,y:0,width:a[0],height:a[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var o=new hs({shape:{x:0,y:0,width:a[0],height:a[1]},style:{fill:"transparent"},z2:0,onclick:J(this._onClickPanel,this)}),s=this.api.getZr();i?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),n.add(o)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!t)return;var a=this._size,n=this._shadowSize||[],i=t.series,o=i.getRawData(),s=i.getShadowDim&&i.getShadowDim(),l=s&&o.getDimensionInfo(s)?i.getShadowDim():t.otherDim;if(l==null)return;var u=this._shadowPolygonPts,f=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||a[0]!==n[0]||a[1]!==n[1]){var h=o.getDataExtent(l),v=(h[1]-h[0])*.3;h=[h[0]-v,h[1]+v];var c=[0,a[1]],d=[0,a[0]],p=[[a[0],0],[0,0]],g=[],y=d[1]/(o.count()-1),m=0,_=Math.round(o.count()/a[0]),S;o.each([l],function(A,C){if(_>0&&C%_){m+=y;return}var M=A==null||isNaN(A)||A==="",L=M?0:Rt(A,h,c,!0);M&&!S&&C?(p.push([p[p.length-1][0],0]),g.push([g[g.length-1][0],0])):!M&&S&&(p.push([m,0]),g.push([m,0])),p.push([m,L]),g.push([m,L]),m+=y,S=M}),u=this._shadowPolygonPts=p,f=this._shadowPolylinePts=g}this._shadowData=o,this._shadowDim=l,this._shadowSize=[a[0],a[1]];var b=this.dataZoomModel;function x(A){var C=b.getModel(A?"selectedDataBackground":"dataBackground"),M=new ut,L=new Ne({shape:{points:u},segmentIgnoreThreshold:1,style:C.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),I=new Be({shape:{points:f},segmentIgnoreThreshold:1,style:C.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return M.add(L),M.add(I),M}for(var w=0;w<3;w++){var T=x(w===1);this._displayables.sliderGroup.add(T),this._displayables.dataShadowSegs.push(T)}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,a=t.get("showDataShadow");if(a!==!1){var n,i=this.ecModel;return t.eachTargetAxis(function(o,s){var l=t.getAxisProxy(o,s).getTargetSeriesModels();D(l,function(u){if(!n&&!(a!==!0&&yt(lU,u.get("type"))<0)){var f=i.getComponent(Ja(o),s).axis,h=hU(o),v,c=u.coordinateSystem;h!=null&&c.getOtherAxis&&(v=c.getOtherAxis(f).inverse),h=u.getData().mapDimension(h),n={thisAxis:f,series:u,thisDim:o,otherDim:h,otherAxisInverse:v}}},this)},this),n}},e.prototype._renderHandle=function(){var t=this.group,a=this._displayables,n=a.handles=[null,null],i=a.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,f=l.get("borderRadius")||0,h=l.get("brushSelect"),v=a.filler=new hs({silent:h,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(v),o.add(new hs({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:f},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:iU,fill:"rgba(0,0,0,0)"}})),D([0,1],function(_){var S=l.get("handleIcon");!Mf[S]&&S.indexOf("path://")<0&&S.indexOf("image://")<0&&(S="path://"+S);var b=jt(S,-1,0,2,2,null,!0);b.attr({cursor:Zb(this._orient),draggable:!0,drift:J(this._onDragMove,this,_),ondragend:J(this._onDragEnd,this),onmouseover:J(this._showDataInfo,this,!0),onmouseout:J(this._showDataInfo,this,!1),z2:5});var x=b.getBoundingRect(),w=l.get("handleSize");this._handleHeight=X(w,this._size[1]),this._handleWidth=x.width/x.height*this._handleHeight,b.setStyle(l.getModel("handleStyle").getItemStyle()),b.style.strokeNoScale=!0,b.rectHover=!0,b.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),oi(b);var T=l.get("handleColor");T!=null&&(b.style.fill=T),o.add(n[_]=b);var A=l.getModel("textStyle"),C=l.get("handleLabel")||{},M=C.show||!1;t.add(i[_]=new Ct({silent:!0,invisible:!M,style:zt(A,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:A.getTextColor(),font:A.getFont()}),z2:10}))},this);var c=v;if(h){var d=X(l.get("moveHandleSize"),s[1]),p=a.moveHandle=new Tt({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:d}}),g=d*.8,y=a.moveHandleIcon=jt(l.get("moveHandleIcon"),-g/2,-g/2,g,g,"#fff",!0);y.silent=!0,y.y=s[1]+d/2-.5,p.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var m=Math.min(s[1]/2,Math.max(d,10));c=a.moveZone=new Tt({invisible:!0,shape:{y:s[1]-m,height:d+m}}),c.on("mouseover",function(){u.enterEmphasis(p)}).on("mouseout",function(){u.leaveEmphasis(p)}),o.add(p),o.add(y),o.add(c)}c.attr({draggable:!0,cursor:Zb(this._orient),drift:J(this._onDragMove,this,"all"),ondragstart:J(this._showDataInfo,this,!0),ondragend:J(this._onDragEnd,this),onmouseover:J(this._showDataInfo,this,!0),onmouseout:J(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),a=this._getViewExtent();this._handleEnds=[Rt(t[0],[0,100],a,!0),Rt(t[1],[0,100],a,!0)]},e.prototype._updateInterval=function(t,a){var n=this.dataZoomModel,i=this._handleEnds,o=this._getViewExtent(),s=n.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];Ci(a,i,o,n.get("zoomLock")?"all":t,s.minSpan!=null?Rt(s.minSpan,l,o,!0):null,s.maxSpan!=null?Rt(s.maxSpan,l,o,!0):null);var u=this._range,f=this._range=hr([Rt(i[0],o,l,!0),Rt(i[1],o,l,!0)]);return!u||u[0]!==f[0]||u[1]!==f[1]},e.prototype._updateView=function(t){var a=this._displayables,n=this._handleEnds,i=hr(n.slice()),o=this._size;D([0,1],function(c){var d=a.handles[c],p=this._handleHeight;d.attr({scaleX:p/2,scaleY:p/2,x:n[c]+(c?-1:1),y:o[1]/2-p/2})},this),a.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:o[1]});var s={x:i[0],width:i[1]-i[0]};a.moveHandle&&(a.moveHandle.setShape(s),a.moveZone.setShape(s),a.moveZone.getBoundingRect(),a.moveHandleIcon&&a.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=a.dataShadowSegs,u=[0,i[0],i[1],o[0]],f=0;f<l.length;f++){var h=l[f],v=h.getClipPath();v||(v=new Tt,h.setClipPath(v)),v.setShape({x:u[f],y:0,width:u[f+1]-u[f],height:o[1]})}this._updateDataInfo(t)},e.prototype._updateDataInfo=function(t){var a=this.dataZoomModel,n=this._displayables,i=n.handleLabels,o=this._orient,s=["",""];if(a.get("showDetail")){var l=a.findRepresentativeAxisProxy();if(l){var u=l.getAxisModel().axis,f=this._range,h=t?l.calculateDataWindow({start:f[0],end:f[1]}).valueWindow:l.getDataValueWindow();s=[this._formatLabel(h[0],u),this._formatLabel(h[1],u)]}}var v=hr(this._handleEnds.slice());c.call(this,0),c.call(this,1);function c(d){var p=si(n.handles[d].parent,this.group),g=_h(d===0?"right":"left",p),y=this._handleWidth/2+sU,m=Mr([v[d]+(d===0?-y:y),this._size[1]/2],p);i[d].setStyle({x:m[0],y:m[1],verticalAlign:o===vs?"middle":g,align:o===vs?g:"center",text:s[d]})}},e.prototype._formatLabel=function(t,a){var n=this.dataZoomModel,i=n.get("labelFormatter"),o=n.get("labelPrecision");(o==null||o==="auto")&&(o=a.getPixelPrecision());var s=t==null||isNaN(t)?"":a.type==="category"||a.type==="time"?a.scale.getLabel({value:Math.round(t)}):t.toFixed(Math.min(o,20));return nt(i)?i(t,s):K(i)?i.replace("{value}",s):s},e.prototype._showDataInfo=function(t){var a=this.dataZoomModel.get("handleLabel")||{},n=a.show||!1,i=this.dataZoomModel.getModel(["emphasis","handleLabel"]),o=i.get("show")||!1,s=t||this._dragging?o:n,l=this._displayables,u=l.handleLabels;u[0].attr("invisible",!s),u[1].attr("invisible",!s),l.moveHandle&&this.api[s?"enterEmphasis":"leaveEmphasis"](l.moveHandle,1)},e.prototype._onDragMove=function(t,a,n,i){this._dragging=!0,pa(i.event);var o=this._displayables.sliderGroup.getLocalTransform(),s=Mr([a,n],o,!0),l=this._updateInterval(t,s[0]),u=this.dataZoomModel.get("realtime");this._updateView(!u),l&&u&&this._dispatchZoomAction(!0)},e.prototype._onDragEnd=function(){this._dragging=!1,this._showDataInfo(!1);var t=this.dataZoomModel.get("realtime");!t&&this._dispatchZoomAction(!1)},e.prototype._onClickPanel=function(t){var a=this._size,n=this._displayables.sliderGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(n[0]<0||n[0]>a[0]||n[1]<0||n[1]>a[1])){var i=this._handleEnds,o=(i[0]+i[1])/2,s=this._updateInterval("all",n[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var a=t.offsetX,n=t.offsetY;this._brushStart=new pt(a,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var a=this._displayables.brushRect;if(this._brushing=!1,!!a){a.attr("ignore",!0);var n=a.shape,i=+new Date;if(!(i-this._brushStartTime<200&&Math.abs(n.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=hr([Rt(n.x,o,s,!0),Rt(n.x+n.width,o,s,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(pa(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,a){var n=this._displayables,i=this.dataZoomModel,o=n.brushRect;o||(o=n.brushRect=new hs({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(t,a),f=l.transformCoordToLocal(s.x,s.y),h=this._size;u[0]=Math.max(Math.min(h[0],u[0]),0),o.setShape({x:f[0],y:0,width:u[0]-f[0],height:h[1]})},e.prototype._dispatchZoomAction=function(t){var a=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?uU:null,start:a[0],end:a[1]})},e.prototype._findCoordRect=function(){var t,a=A2(this.dataZoomModel).infoList;if(!t&&a.length){var n=a[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),o=this.api.getHeight();t={x:i*.2,y:o*.2,width:i*.6,height:o*.6}}return t},e.type="dataZoom.slider",e}(rm);function hU(r){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[r]}function Zb(r){return r==="vertical"?"ns-resize":"ew-resize"}function Y2(r){r.registerComponentModel(nU),r.registerComponentView(fU),am(r)}function vU(r){mt(U2),mt(Y2)}var $2={get:function(r,e,t){var a=lt((cU[r]||{})[e]);return t&&z(a)?a[a.length-1]:a}},cU={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},Xb=se.mapVisual,dU=se.eachVisual,pU=z,qb=D,gU=hr,yU=Rt,Qf=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.stateList=["inRange","outOfRange"],t.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],t.layoutMode={type:"box",ignoreSize:!0},t.dataBound=[-1/0,1/0],t.targetVisuals={},t.controllerVisuals={},t}return e.prototype.init=function(t,a,n){this.mergeDefaultAndTheme(t,n)},e.prototype.optionUpdated=function(t,a){var n=this.option;!a&&O2(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var a=this.stateList;t=J(t,this),this.controllerVisuals=Kp(this.option.controller,a,t),this.targetVisuals=Kp(this.option.target,a,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,a=[];return t==null||t==="all"?this.ecModel.eachSeries(function(n,i){a.push(i)}):a=Ot(t),a},e.prototype.eachTargetSeries=function(t,a){D(this.getTargetSeriesIndices(),function(n){var i=this.ecModel.getSeriesByIndex(n);i&&t.call(a,i)},this)},e.prototype.isTargetSeries=function(t){var a=!1;return this.eachTargetSeries(function(n){n===t&&(a=!0)}),a},e.prototype.formatValueText=function(t,a,n){var i=this.option,o=i.precision,s=this.dataBound,l=i.formatter,u;n=n||["<",">"],z(t)&&(t=t.slice(),u=!0);var f=a?t:u?[h(t[0]),h(t[1])]:h(t);if(K(l))return l.replace("{value}",u?f[0]:f).replace("{value2}",u?f[1]:f);if(nt(l))return u?l(t[0],t[1]):l(t);if(u)return t[0]===s[0]?n[0]+" "+f[1]:t[1]===s[1]?n[1]+" "+f[0]:f[0]+" - "+f[1];return f;function h(v){return v===s[0]?"min":v===s[1]?"max":(+v).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,a=gU([t.min,t.max]);this._dataExtent=a},e.prototype.getDataDimensionIndex=function(t){var a=this.option.dimension;if(a!=null)return t.getDimensionIndex(a);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var o=n[i],s=t.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,a=this.option,n={inRange:a.inRange,outOfRange:a.outOfRange},i=a.target||(a.target={}),o=a.controller||(a.controller={});dt(i,n),dt(o,n);var s=this.isCategory();l.call(this,i),l.call(this,o),u.call(this,i,"inRange","outOfRange"),f.call(this,o);function l(h){pU(a.color)&&!h.inRange&&(h.inRange={color:a.color.slice().reverse()}),h.inRange=h.inRange||{color:t.get("gradientColor")}}function u(h,v,c){var d=h[v],p=h[c];d&&!p&&(p=h[c]={},qb(d,function(g,y){if(se.isValidType(y)){var m=$2.get(y,"inactive",s);m!=null&&(p[y]=m,y==="color"&&!p.hasOwnProperty("opacity")&&!p.hasOwnProperty("colorAlpha")&&(p.opacity=[0,0]))}}))}function f(h){var v=(h.inRange||{}).symbol||(h.outOfRange||{}).symbol,c=(h.inRange||{}).symbolSize||(h.outOfRange||{}).symbolSize,d=this.get("inactiveColor"),p=this.getItemSymbol(),g=p||"roundRect";qb(this.stateList,function(y){var m=this.itemSize,_=h[y];_||(_=h[y]={color:s?d:[d]}),_.symbol==null&&(_.symbol=v&<(v)||(s?g:[g])),_.symbolSize==null&&(_.symbolSize=c&<(c)||(s?m[0]:[m[0],m[0]])),_.symbol=Xb(_.symbol,function(x){return x==="none"?g:x});var S=_.symbolSize;if(S!=null){var b=-1/0;dU(S,function(x){x>b&&(b=x)}),_.symbolSize=Xb(S,function(x){return yU(x,[0,b],[0,m[0]],!0)})}},this)}},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(bt),Kb=[20,140],mU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(t,a){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(n){n.mappingMethod="linear",n.dataExtent=this.getExtent()}),this._resetRange()},e.prototype.resetItemSize=function(){r.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=Kb[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=Kb[1])},e.prototype._resetRange=function(){var t=this.getExtent(),a=this.option.range;!a||a.auto?(t.auto=1,this.option.range=t):z(a)&&(a[0]>a[1]&&a.reverse(),a[0]=Math.max(a[0],t[0]),a[1]=Math.min(a[1],t[1]))},e.prototype.completeVisualOption=function(){r.prototype.completeVisualOption.apply(this,arguments),D(this.stateList,function(t){var a=this.option.controller[t].symbolSize;a&&a[0]!==a[1]&&(a[0]=a[1]/3)},this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),a=hr((this.get("range")||[]).slice());return a[0]>t[1]&&(a[0]=t[1]),a[1]>t[1]&&(a[1]=t[1]),a[0]<t[0]&&(a[0]=t[0]),a[1]<t[0]&&(a[1]=t[0]),a},e.prototype.getValueState=function(t){var a=this.option.range,n=this.getExtent();return(a[0]<=n[0]||a[0]<=t)&&(a[1]>=n[1]||t<=a[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var a=[];return this.eachTargetSeries(function(n){var i=[],o=n.getData();o.each(this.getDataDimensionIndex(o),function(s,l){t[0]<=s&&s<=t[1]&&i.push(l)},this),a.push({seriesId:n.id,dataIndex:i})},this),a},e.prototype.getVisualMeta=function(t){var a=Jb(this,"outOfRange",this.getExtent()),n=Jb(this,"inRange",this.option.range.slice()),i=[];function o(c,d){i.push({value:c,color:t(c,d)})}for(var s=0,l=0,u=n.length,f=a.length;l<f&&(!n.length||a[l]<=n[0]);l++)a[l]<n[s]&&o(a[l],"outOfRange");for(var h=1;s<u;s++,h=0)h&&i.length&&o(n[s],"outOfRange"),o(n[s],"inRange");for(var h=1;l<f;l++)(!n.length||n[n.length-1]<a[l])&&(h&&(i.length&&o(i[i.length-1].value,"outOfRange"),h=0),o(a[l],"outOfRange"));var v=i.length;return{stops:i,outerColors:[v?i[0].color:"transparent",v?i[v-1].color:"transparent"]}},e.type="visualMap.continuous",e.defaultOption=vn(Qf.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,handleIcon:"path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",handleSize:"120%",handleStyle:{borderColor:"#fff",borderWidth:1},indicatorIcon:"circle",indicatorSize:"50%",indicatorStyle:{borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}}),e}(Qf);function Jb(r,e,t){if(t[0]===t[1])return t.slice();for(var a=200,n=(t[1]-t[0])/a,i=t[0],o=[],s=0;s<=a&&i<t[1];s++)o.push(i),i+=n;return o.push(t[1]),o}var Z2=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.autoPositionValues={left:1,right:1,top:1,bottom:1},t}return e.prototype.init=function(t,a){this.ecModel=t,this.api=a},e.prototype.render=function(t,a,n,i){if(this.visualMapModel=t,t.get("show")===!1){this.group.removeAll();return}this.doRender(t,a,n,i)},e.prototype.renderBackground=function(t){var a=this.visualMapModel,n=Io(a.get("padding")||0),i=t.getBoundingRect();t.add(new Tt({z2:-1,silent:!0,shape:{x:i.x-n[3],y:i.y-n[0],width:i.width+n[3]+n[1],height:i.height+n[0]+n[2]},style:{fill:a.get("backgroundColor"),stroke:a.get("borderColor"),lineWidth:a.get("borderWidth")}}))},e.prototype.getControllerVisual=function(t,a,n){n=n||{};var i=n.forceState,o=this.visualMapModel,s={};if(a==="color"){var l=o.get("contentColor");s.color=l}function u(c){return s[c]}function f(c,d){s[c]=d}var h=o.controllerVisuals[i||o.getValueState(t)],v=se.prepareVisualTypes(h);return D(v,function(c){var d=h[c];n.convertOpacityToAlpha&&c==="opacity"&&(c="colorAlpha",d=h.__alphaForOpacity),se.dependsOn(c,a)&&d&&d.applyVisual(t,u,f)}),s[a]},e.prototype.positionGroup=function(t){var a=this.visualMapModel,n=this.api;Ch(t,a.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()})},e.prototype.doRender=function(t,a,n,i){},e.type="visualMap",e}(Ut),Qb=[["left","right","width"],["top","bottom","height"]];function X2(r,e,t){var a=r.option,n=a.align;if(n!=null&&n!=="auto")return n;for(var i={width:e.getWidth(),height:e.getHeight()},o=a.orient==="horizontal"?1:0,s=Qb[o],l=[0,null,10],u={},f=0;f<3;f++)u[Qb[1-o][f]]=l[f],u[s[f]]=f===2?t[0]:a[s[f]];var h=[["x","width",3],["y","height",0]][o],v=re(u,i,a.padding);return s[(v.margin[h[2]]||0)+v[h[0]]+v[h[1]]*.5<i[h[1]]*.5?0:1]}function lf(r,e){return D(r||[],function(t){t.dataIndex!=null&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey="visualMap"+(e?e.componentIndex:"")}),r}var zr=Rt,_U=D,jb=Math.min,cd=Math.max,SU=12,xU=6,bU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._shapes={},t._dataInterval=[],t._handleEnds=[],t._hoverLinkDataIndices=[],t}return e.prototype.init=function(t,a){r.prototype.init.call(this,t,a),this._hoverLinkFromSeriesMouseOver=J(this._hoverLinkFromSeriesMouseOver,this),this._hideIndicator=J(this._hideIndicator,this)},e.prototype.doRender=function(t,a,n,i){(!i||i.type!=="selectDataRange"||i.from!==this.uid)&&this._buildView()},e.prototype._buildView=function(){this.group.removeAll();var t=this.visualMapModel,a=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(a);var n=t.get("text");this._renderEndsText(a,n,0),this._renderEndsText(a,n,1),this._updateView(!0),this.renderBackground(a),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(a)},e.prototype._renderEndsText=function(t,a,n){if(a){var i=a[1-n];i=i!=null?i+"":"";var o=this.visualMapModel,s=o.get("textGap"),l=o.itemSize,u=this._shapes.mainGroup,f=this._applyTransform([l[0]/2,n===0?-s:l[1]+s],u),h=this._applyTransform(n===0?"bottom":"top",u),v=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new Ct({style:zt(c,{x:f[0],y:f[1],verticalAlign:v==="horizontal"?"middle":h,align:v==="horizontal"?h:"center",text:i})}))}},e.prototype._renderBar=function(t){var a=this.visualMapModel,n=this._shapes,i=a.itemSize,o=this._orient,s=this._useHandle,l=X2(a,this.api,i),u=n.mainGroup=this._createBarGroup(l),f=new ut;u.add(f),f.add(n.outOfRange=tw()),f.add(n.inRange=tw(null,s?rw(this._orient):null,J(this._dragHandle,this,"all",!1),J(this._dragHandle,this,"all",!0))),f.setClipPath(new Tt({shape:{x:0,y:0,width:i[0],height:i[1],r:3}}));var h=a.textStyleModel.getTextRect("国"),v=cd(h.width,h.height);s&&(n.handleThumbs=[],n.handleLabels=[],n.handleLabelPoints=[],this._createHandle(a,u,0,i,v,o),this._createHandle(a,u,1,i,v,o)),this._createIndicator(a,u,i,v,o),t.add(u)},e.prototype._createHandle=function(t,a,n,i,o,s){var l=J(this._dragHandle,this,n,!1),u=J(this._dragHandle,this,n,!0),f=Lr(t.get("handleSize"),i[0]),h=jt(t.get("handleIcon"),-f/2,-f/2,f,f,null,!0),v=rw(this._orient);h.attr({cursor:v,draggable:!0,drift:l,ondragend:u,onmousemove:function(y){pa(y.event)}}),h.x=i[0]/2,h.useStyle(t.getModel("handleStyle").getItemStyle()),h.setStyle({strokeNoScale:!0,strokeFirst:!0}),h.style.lineWidth*=2,h.ensureState("emphasis").style=t.getModel(["emphasis","handleStyle"]).getItemStyle(),Kn(h,!0),a.add(h);var c=this.visualMapModel.textStyleModel,d=new Ct({cursor:v,draggable:!0,drift:l,onmousemove:function(y){pa(y.event)},ondragend:u,style:zt(c,{x:0,y:0,text:""})});d.ensureState("blur").style={opacity:.1},d.stateTransition={duration:200},this.group.add(d);var p=[f,0],g=this._shapes;g.handleThumbs[n]=h,g.handleLabelPoints[n]=p,g.handleLabels[n]=d},e.prototype._createIndicator=function(t,a,n,i,o){var s=Lr(t.get("indicatorSize"),n[0]),l=jt(t.get("indicatorIcon"),-s/2,-s/2,s,s,null,!0);l.attr({cursor:"move",invisible:!0,silent:!0,x:n[0]/2});var u=t.getModel("indicatorStyle").getItemStyle();if(l instanceof ce){var f=l.style;l.useStyle(V({image:f.image,x:f.x,y:f.y,width:f.width,height:f.height},u))}else l.useStyle(u);a.add(l);var h=this.visualMapModel.textStyleModel,v=new Ct({silent:!0,invisible:!0,style:zt(h,{x:0,y:0,text:""})});this.group.add(v);var c=[(o==="horizontal"?i/2:xU)+n[0]/2,0],d=this._shapes;d.indicator=l,d.indicatorLabel=v,d.indicatorLabelPoint=c,this._firstShowIndicator=!0},e.prototype._dragHandle=function(t,a,n,i){if(this._useHandle){if(this._dragging=!a,!a){var o=this._applyTransform([n,i],this._shapes.mainGroup,!0);this._updateInterval(t,o[1]),this._hideIndicator(),this._updateView()}a===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),a?!this._hovering&&this._clearHoverLinkToSeries():ew(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},e.prototype._resetInterval=function(){var t=this.visualMapModel,a=this._dataInterval=t.getSelected(),n=t.getExtent(),i=[0,t.itemSize[1]];this._handleEnds=[zr(a[0],n,i,!0),zr(a[1],n,i,!0)]},e.prototype._updateInterval=function(t,a){a=a||0;var n=this.visualMapModel,i=this._handleEnds,o=[0,n.itemSize[1]];Ci(a,i,o,t,0);var s=n.getExtent();this._dataInterval=[zr(i[0],o,s,!0),zr(i[1],o,s,!0)]},e.prototype._updateView=function(t){var a=this.visualMapModel,n=a.getExtent(),i=this._shapes,o=[0,a.itemSize[1]],s=t?o:this._handleEnds,l=this._createBarVisual(this._dataInterval,n,s,"inRange"),u=this._createBarVisual(n,n,o,"outOfRange");i.inRange.setStyle({fill:l.barColor}).setShape("points",l.barPoints),i.outOfRange.setStyle({fill:u.barColor}).setShape("points",u.barPoints),this._updateHandle(s,l)},e.prototype._createBarVisual=function(t,a,n,i){var o={forceState:i,convertOpacityToAlpha:!0},s=this._makeColorGradient(t,o),l=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],u=this._createBarPoints(n,l);return{barColor:new bl(0,0,0,1,s),barPoints:u,handlesColor:[s[0].color,s[s.length-1].color]}},e.prototype._makeColorGradient=function(t,a){var n=100,i=[],o=(t[1]-t[0])/n;i.push({color:this.getControllerVisual(t[0],"color",a),offset:0});for(var s=1;s<n;s++){var l=t[0]+o*s;if(l>t[1])break;i.push({color:this.getControllerVisual(l,"color",a),offset:s/n})}return i.push({color:this.getControllerVisual(t[1],"color",a),offset:1}),i},e.prototype._createBarPoints=function(t,a){var n=this.visualMapModel.itemSize;return[[n[0]-a[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-a[1],t[1]]]},e.prototype._createBarGroup=function(t){var a=this._orient,n=this.visualMapModel.get("inverse");return new ut(a==="horizontal"&&!n?{scaleX:t==="bottom"?1:-1,rotation:Math.PI/2}:a==="horizontal"&&n?{scaleX:t==="bottom"?-1:1,rotation:-Math.PI/2}:a==="vertical"&&!n?{scaleX:t==="left"?1:-1,scaleY:-1}:{scaleX:t==="left"?1:-1})},e.prototype._updateHandle=function(t,a){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,o=n.handleThumbs,s=n.handleLabels,l=i.itemSize,u=i.getExtent(),f=this._applyTransform("left",n.mainGroup);_U([0,1],function(h){var v=o[h];v.setStyle("fill",a.handlesColor[h]),v.y=t[h];var c=zr(t[h],[0,l[1]],u,!0),d=this.getControllerVisual(c,"symbolSize");v.scaleX=v.scaleY=d/l[0],v.x=l[0]-d/2;var p=Mr(n.handleLabelPoints[h],si(v,this.group));if(this._orient==="horizontal"){var g=f==="left"||f==="top"?(l[0]-d)/2:(l[0]-d)/-2;p[1]+=g}s[h].setStyle({x:p[0],y:p[1],text:i.formatValueText(this._dataInterval[h]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",n.mainGroup):"center"})},this)}},e.prototype._showIndicator=function(t,a,n,i){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],f=this._shapes,h=f.indicator;if(h){h.attr("invisible",!1);var v={convertOpacityToAlpha:!0},c=this.getControllerVisual(t,"color",v),d=this.getControllerVisual(t,"symbolSize"),p=zr(t,s,u,!0),g=l[0]-d/2,y={x:h.x,y:h.y};h.y=p,h.x=g;var m=Mr(f.indicatorLabelPoint,si(h,this.group)),_=f.indicatorLabel;_.attr("invisible",!1);var S=this._applyTransform("left",f.mainGroup),b=this._orient,x=b==="horizontal";_.setStyle({text:(n||"")+o.formatValueText(a),verticalAlign:x?S:"middle",align:x?"center":S});var w={x:g,y:p,style:{fill:c}},T={style:{x:m[0],y:m[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var A={duration:100,easing:"cubicInOut",additive:!0};h.x=y.x,h.y=y.y,h.animateTo(w,A),_.animateTo(T,A)}else h.attr(w),_.attr(T);this._firstShowIndicator=!1;var C=this._shapes.handleLabels;if(C)for(var M=0;M<C.length;M++)this.api.enterBlur(C[M])}},e.prototype._enableHoverLinkToSeries=function(){var t=this;this._shapes.mainGroup.on("mousemove",function(a){if(t._hovering=!0,!t._dragging){var n=t.visualMapModel.itemSize,i=t._applyTransform([a.offsetX,a.offsetY],t._shapes.mainGroup,!0,!0);i[1]=jb(cd(0,i[1]),n[1]),t._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=n[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},e.prototype._enableHoverLinkFromSeries=function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},e.prototype._doHoverLinkToSeries=function(t,a){var n=this.visualMapModel,i=n.itemSize;if(n.option.hoverLink){var o=[0,i[1]],s=n.getExtent();t=jb(cd(o[0],t),o[1]);var l=wU(n,s,o),u=[t-l,t+l],f=zr(t,o,s,!0),h=[zr(u[0],o,s,!0),zr(u[1],o,s,!0)];u[0]<o[0]&&(h[0]=-1/0),u[1]>o[1]&&(h[1]=1/0),a&&(h[0]===-1/0?this._showIndicator(f,h[1],"< ",l):h[1]===1/0?this._showIndicator(f,h[0],"> ",l):this._showIndicator(f,f,"≈ ",l));var v=this._hoverLinkDataIndices,c=[];(a||ew(n))&&(c=this._hoverLinkDataIndices=n.findTargetDataIndices(h));var d=IP(v,c);this._dispatchHighDown("downplay",lf(d[0],n)),this._dispatchHighDown("highlight",lf(d[1],n))}},e.prototype._hoverLinkFromSeriesMouseOver=function(t){var a;if(Qn(t.target,function(l){var u=ht(l);if(u.dataIndex!=null)return a=u,!0},!0),!!a){var n=this.ecModel.getSeriesByIndex(a.seriesIndex),i=this.visualMapModel;if(i.isTargetSeries(n)){var o=n.getData(a.dataType),s=o.getStore().get(i.getDataDimensionIndex(o),a.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},e.prototype._hideIndicator=function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0);var a=this._shapes.handleLabels;if(a)for(var n=0;n<a.length;n++)this.api.leaveBlur(a[n])},e.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",lf(t,this.visualMapModel)),t.length=0},e.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},e.prototype._applyTransform=function(t,a,n,i){var o=si(a,i?null:this.group);return z(t)?Mr(t,o,n):_h(t,o,n)},e.prototype._dispatchHighDown=function(t,a){a&&a.length&&this.api.dispatchAction({type:t,batch:a})},e.prototype.dispose=function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},e.type="visualMap.continuous",e}(Z2);function tw(r,e,t,a){return new Ne({shape:{points:r},draggable:!!t,cursor:e,drift:t,onmousemove:function(n){pa(n.event)},ondragend:a})}function wU(r,e,t){var a=SU/2,n=r.get("hoverLinkDataSize");return n&&(a=zr(n,e,t,!0)/2),a}function ew(r){var e=r.get("hoverLinkOnHandle");return!!(e??r.get("realtime"))}function rw(r){return r==="vertical"?"ns-resize":"ew-resize"}var TU={type:"selectDataRange",event:"dataRangeSelected",update:"update"},AU=function(r,e){e.eachComponent({mainType:"visualMap",query:r},function(t){t.setSelected(r.selected)})},CU=[{createOnAllSeries:!0,reset:function(r,e){var t=[];return e.eachComponent("visualMap",function(a){var n=r.pipelineContext;!a.isTargetSeries(r)||n&&n.large||t.push(X7(a.stateList,a.targetVisuals,J(a.getValueState,a),a.getDataDimensionIndex(r.getData())))}),t}},{createOnAllSeries:!0,reset:function(r,e){var t=r.getData(),a=[];e.eachComponent("visualMap",function(n){if(n.isTargetSeries(r)){var i=n.getVisualMeta(J(DU,null,r,n))||{stops:[],outerColors:[]},o=n.getDataDimensionIndex(t);o>=0&&(i.dimension=o,a.push(i))}}),r.getData().setVisual("visualMeta",a)}}];function DU(r,e,t,a){for(var n=e.targetVisuals[a],i=se.prepareVisualTypes(n),o={color:Cl(r.getData(),"color")},s=0,l=i.length;s<l;s++){var u=i[s],f=n[u==="opacity"?"__alphaForOpacity":u];f&&f.applyVisual(t,h,v)}return o.color;function h(c){return o[c]}function v(c,d){o[c]=d}}var aw=D;function MU(r){var e=r&&r.visualMap;z(e)||(e=e?[e]:[]),aw(e,function(t){if(t){$i(t,"splitList")&&!$i(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var a=t.pieces;a&&z(a)&&aw(a,function(n){st(n)&&($i(n,"start")&&!$i(n,"min")&&(n.min=n.start),$i(n,"end")&&!$i(n,"max")&&(n.max=n.end))})}})}function $i(r,e){return r&&r.hasOwnProperty&&r.hasOwnProperty(e)}var nw=!1;function q2(r){nw||(nw=!0,r.registerSubTypeDefaulter("visualMap",function(e){return!e.categories&&(!(e.pieces?e.pieces.length>0:e.splitNumber>0)||e.calculable)?"continuous":"piecewise"}),r.registerAction(TU,AU),D(CU,function(e){r.registerVisual(r.PRIORITY.VISUAL.COMPONENT,e)}),r.registerPreprocessor(MU))}function K2(r){r.registerComponentModel(mU),r.registerComponentView(bU),q2(r)}var LU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._pieceList=[],t}return e.prototype.optionUpdated=function(t,a){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var n=this._mode=this._determineMode();this._pieceList=[],IU[this._mode].call(this,this._pieceList),this._resetSelected(t,a);var i=this.option.categories;this.resetVisual(function(o,s){n==="categories"?(o.mappingMethod="category",o.categories=lt(i)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=H(this._pieceList,function(l){return l=lt(l),s!=="inRange"&&(l.visual=null),l}))})},e.prototype.completeVisualOption=function(){var t=this.option,a={},n=se.listVisualTypes(),i=this.isCategory();D(t.pieces,function(s){D(n,function(l){s.hasOwnProperty(l)&&(a[l]=1)})}),D(a,function(s,l){var u=!1;D(this.stateList,function(f){u=u||o(t,f,l)||o(t.target,f,l)},this),!u&&D(this.stateList,function(f){(t[f]||(t[f]={}))[l]=$2.get(l,f==="inRange"?"active":"inactive",i)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}r.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,a){var n=this.option,i=this._pieceList,o=(a?n:t).selected||{};if(n.selected=o,D(i,function(l,u){var f=this.getSelectedMapKey(l);o.hasOwnProperty(f)||(o[f]=!0)},this),n.selectedMode==="single"){var s=!1;D(i,function(l,u){var f=this.getSelectedMapKey(l);o[f]&&(s?o[f]=!1:s=!0)},this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return this._mode==="categories"?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=lt(t)},e.prototype.getValueState=function(t){var a=se.findPieceIndex(t,this._pieceList);return a!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[a])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var a=[],n=this._pieceList;return this.eachTargetSeries(function(i){var o=[],s=i.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var f=se.findPieceIndex(l,n);f===t&&o.push(u)},this),a.push({seriesId:i.id,dataIndex:o})},this),a},e.prototype.getRepresentValue=function(t){var a;if(this.isCategory())a=t.value;else if(t.value!=null)a=t.value;else{var n=t.interval||[];a=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return a},e.prototype.getVisualMeta=function(t){if(this.isCategory())return;var a=[],n=["",""],i=this;function o(f,h){var v=i.getRepresentValue({interval:f});h||(h=i.getValueState(v));var c=t(v,h);f[0]===-1/0?n[0]=c:f[1]===1/0?n[1]=c:a.push({value:f[0],color:c},{value:f[1],color:c})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];l!==-1/0&&s.unshift({interval:[-1/0,l]}),l=s[s.length-1].interval[1],l!==1/0&&s.push({interval:[l,1/0]})}var u=-1/0;return D(s,function(f){var h=f.interval;h&&(h[0]>u&&o([u,h[0]],"outOfRange"),o(h.slice()),u=h[1])},this),{stops:a,outerColors:n}},e.type="visualMap.piecewise",e.defaultOption=vn(Qf.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(Qf),IU={splitNumber:function(r){var e=this.option,t=Math.min(e.precision,20),a=this.getExtent(),n=e.splitNumber;n=Math.max(parseInt(n,10),1),e.splitNumber=n;for(var i=(a[1]-a[0])/n;+i.toFixed(t)!==i&&t<5;)t++;e.precision=t,i=+i.toFixed(t),e.minOpen&&r.push({interval:[-1/0,a[0]],close:[0,0]});for(var o=0,s=a[0];o<n;s+=i,o++){var l=o===n-1?a[1]:s+i;r.push({interval:[s,l],close:[1,1]})}e.maxOpen&&r.push({interval:[a[1],1/0],close:[0,0]}),Km(r),D(r,function(u,f){u.index=f,u.text=this.formatValueText(u.interval)},this)},categories:function(r){var e=this.option;D(e.categories,function(t){r.push({text:this.formatValueText(t,!0),value:t})},this),iw(e,r)},pieces:function(r){var e=this.option;D(e.pieces,function(t,a){st(t)||(t={value:t});var n={text:"",index:a};if(t.label!=null&&(n.text=t.label),t.hasOwnProperty("value")){var i=n.value=t.value;n.interval=[i,i],n.close=[1,1]}else{for(var o=n.interval=[],s=n.close=[0,0],l=[1,0,1],u=[-1/0,1/0],f=[],h=0;h<2;h++){for(var v=[["gte","gt","min"],["lte","lt","max"]][h],c=0;c<3&&o[h]==null;c++)o[h]=t[v[c]],s[h]=l[c],f[h]=c===2;o[h]==null&&(o[h]=u[h])}f[0]&&o[1]===1/0&&(s[0]=0),f[1]&&o[0]===-1/0&&(s[1]=0),o[0]===o[1]&&s[0]&&s[1]&&(n.value=o[0])}n.visual=se.retrieveVisuals(t),r.push(n)},this),iw(e,r),Km(r),D(r,function(t){var a=t.close,n=[["<","≤"][a[1]],[">","≥"][a[0]]];t.text=t.text||this.formatValueText(t.value!=null?t.value:t.interval,!1,n)},this)}};function iw(r,e){var t=r.inverse;(r.orient==="vertical"?!t:t)&&e.reverse()}var PU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.doRender=function(){var t=this.group;t.removeAll();var a=this.visualMapModel,n=a.get("textGap"),i=a.textStyleModel,o=i.getFont(),s=i.getTextColor(),l=this._getItemAlign(),u=a.itemSize,f=this._getViewData(),h=f.endsText,v=ve(a.get("showLabel",!0),!h),c=!a.get("selectedMode");h&&this._renderEndsText(t,h[0],u,v,l),D(f.viewPieceList,function(d){var p=d.piece,g=new ut;g.onclick=J(this._onItemClick,this,p),this._enableHoverLink(g,d.indexInModelPieceList);var y=a.getRepresentValue(p);if(this._createItemSymbol(g,y,[0,0,u[0],u[1]],c),v){var m=this.visualMapModel.getValueState(y);g.add(new Ct({style:{x:l==="right"?-n:u[0]+n,y:u[1]/2,text:p.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:m==="outOfRange"?.5:1},silent:c}))}t.add(g)},this),h&&this._renderEndsText(t,h[1],u,v,l),li(a.get("orient"),t,a.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,a){var n=this;t.on("mouseover",function(){return i("highlight")}).on("mouseout",function(){return i("downplay")});var i=function(o){var s=n.visualMapModel;s.option.hoverLink&&n.api.dispatchAction({type:o,batch:lf(s.findTargetDataIndices(a),s)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,a=t.option;if(a.orient==="vertical")return X2(t,this.api,t.itemSize);var n=a.align;return(!n||n==="auto")&&(n="left"),n},e.prototype._renderEndsText=function(t,a,n,i,o){if(a){var s=new ut,l=this.visualMapModel.textStyleModel;s.add(new Ct({style:zt(l,{x:i?o==="right"?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:"middle",align:i?o:"center",text:a})})),t.add(s)}},e.prototype._getViewData=function(){var t=this.visualMapModel,a=H(t.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),n=t.get("text"),i=t.get("orient"),o=t.get("inverse");return(i==="horizontal"?o:!o)?a.reverse():n&&(n=n.slice().reverse()),{viewPieceList:a,endsText:n}},e.prototype._createItemSymbol=function(t,a,n,i){var o=jt(this.getControllerVisual(a,"symbol"),n[0],n[1],n[2],n[3],this.getControllerVisual(a,"color"));o.silent=i,t.add(o)},e.prototype._onItemClick=function(t){var a=this.visualMapModel,n=a.option,i=n.selectedMode;if(i){var o=lt(n.selected),s=a.getSelectedMapKey(t);i==="single"||i===!0?(o[s]=!0,D(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},e.type="visualMap.piecewise",e}(Z2);function J2(r){r.registerComponentModel(LU),r.registerComponentView(PU),q2(r)}function RU(r){mt(K2),mt(J2)}var EU={label:{enabled:!0},decal:{show:!1}},ow=At(),kU={};function OU(r,e){var t=r.getModel("aria");if(!t.get("enabled"))return;var a=lt(EU);dt(a.label,r.getLocaleModel().get("aria"),!1),dt(t.option,a,!1),n(),i();function n(){var u=t.getModel("decal"),f=u.get("show");if(f){var h=et();r.eachSeries(function(v){if(!v.isColorBySeries()){var c=h.get(v.type);c||(c={},h.set(v.type,c)),ow(v).scope=c}}),r.eachRawSeries(function(v){if(r.isSeriesFiltered(v))return;if(nt(v.enableAriaDecal)){v.enableAriaDecal();return}var c=v.getData();if(v.isColorBySeries()){var m=rp(v.ecModel,v.name,kU,r.getSeriesCount()),_=c.getVisual("decal");c.setVisual("decal",S(_,m))}else{var d=v.getRawData(),p={},g=ow(v).scope;c.each(function(b){var x=c.getRawIndex(b);p[x]=b});var y=d.count();d.each(function(b){var x=p[b],w=d.getName(b)||b+"",T=rp(v.ecModel,w,g,y),A=c.getItemVisual(x,"decal");c.setItemVisual(x,"decal",S(A,T))})}function S(b,x){var w=b?V(V({},x),b):x;return w.dirty=!0,w}})}}function i(){var u=e.getZr().dom;if(u){var f=r.getLocaleModel().get("aria"),h=t.getModel("label");if(h.option=ot(h.option,f),!!h.get("enabled")){if(u.setAttribute("role","img"),h.get("description")){u.setAttribute("aria-label",h.get("description"));return}var v=r.getSeriesCount(),c=h.get(["data","maxCount"])||10,d=h.get(["series","maxCount"])||10,p=Math.min(v,d),g;if(!(v<1)){var y=s();if(y){var m=h.get(["general","withTitle"]);g=o(m,{title:y})}else g=h.get(["general","withoutTitle"]);var _=[],S=v>1?h.get(["series","multiple","prefix"]):h.get(["series","single","prefix"]);g+=o(S,{seriesCount:v}),r.eachSeries(function(T,A){if(A<p){var C=void 0,M=T.get("name"),L=M?"withName":"withoutName";C=v>1?h.get(["series","multiple",L]):h.get(["series","single",L]),C=o(C,{seriesId:T.seriesIndex,seriesName:T.get("name"),seriesType:l(T.subType)});var I=T.getData();if(I.count()>c){var P=h.get(["data","partialData"]);C+=o(P,{displayCnt:c})}else C+=h.get(["data","allData"]);for(var R=h.get(["data","separator","middle"]),E=h.get(["data","separator","end"]),N=h.get(["data","excludeDimensionId"]),O=[],B=0;B<I.count();B++)if(B<c){var G=I.getName(B),U=N?Pt(I.getValues(B),function(rt,at){return yt(N,at)===-1}):I.getValues(B),Z=h.get(["data",G?"withName":"withoutName"]);O.push(o(Z,{name:G,value:U.join(R)}))}C+=O.join(R)+E,_.push(C)}});var b=h.getModel(["series","multiple","separator"]),x=b.get("middle"),w=b.get("end");g+=_.join(x)+w,u.setAttribute("aria-label",g)}}}}function o(u,f){if(!K(u))return u;var h=u;return D(f,function(v,c){h=h.replace(new RegExp("\\{\\s*"+c+"\\s*\\}","g"),v)}),h}function s(){var u=r.get("title");return u&&u.length&&(u=u[0]),u&&u.text}function l(u){var f=r.getLocaleModel().get(["series","typeNames"]);return f[u]||f.chart}}function NU(r){if(!(!r||!r.aria)){var e=r.aria;e.show!=null&&(e.enabled=e.show),e.label=e.label||{},D(["description","general","series","data"],function(t){e[t]!=null&&(e.label[t]=e[t])})}}function BU(r){r.registerPreprocessor(NU),r.registerVisual(r.PRIORITY.VISUAL.ARIA,OU)}var sw={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},VU=function(){function r(e){var t=this._condVal=K(e)?new RegExp(e):KL(e)?e:null;if(t==null){var a="";It(a)}}return r.prototype.evaluate=function(e){var t=typeof e;return K(t)?this._condVal.test(e):Dt(t)?this._condVal.test(e+""):!1},r}(),zU=function(){function r(){}return r.prototype.evaluate=function(){return this.value},r}(),GU=function(){function r(){}return r.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(!e[t].evaluate())return!1;return!0},r}(),FU=function(){function r(){}return r.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(e[t].evaluate())return!0;return!1},r}(),HU=function(){function r(){}return r.prototype.evaluate=function(){return!this.child.evaluate()},r}(),WU=function(){function r(){}return r.prototype.evaluate=function(){for(var e=!!this.valueParser,t=this.getValue,a=t(this.valueGetterParam),n=e?this.valueParser(a):null,i=0;i<this.subCondList.length;i++)if(!this.subCondList[i].evaluate(e?n:a))return!1;return!0},r}();function vm(r,e){if(r===!0||r===!1){var t=new zU;return t.value=r,t}var a="";return Q2(r)||It(a),r.and?lw("and",r,e):r.or?lw("or",r,e):r.not?UU(r,e):YU(r,e)}function lw(r,e,t){var a=e[r],n="";z(a)||It(n),a.length||It(n);var i=r==="and"?new GU:new FU;return i.children=H(a,function(o){return vm(o,t)}),i.children.length||It(n),i}function UU(r,e){var t=r.not,a="";Q2(t)||It(a);var n=new HU;return n.child=vm(t,e),n.child||It(a),n}function YU(r,e){for(var t="",a=e.prepareGetValue(r),n=[],i=wt(r),o=r.parser,s=o?EA(o):null,l=0;l<i.length;l++){var u=i[l];if(!(u==="parser"||e.valueGetterAttrMap.get(u))){var f=j(sw,u)?sw[u]:u,h=r[u],v=s?s(h):h,c=Ek(f,v)||f==="reg"&&new VU(v);c||It(t),n.push(c)}}n.length||It(t);var d=new WU;return d.valueGetterParam=a,d.valueParser=s,d.getValue=e.getValue,d.subCondList=n,d}function Q2(r){return st(r)&&!Te(r)}var $U=function(){function r(e,t){this._cond=vm(e,t)}return r.prototype.evaluate=function(){return this._cond.evaluate()},r}();function ZU(r,e){return new $U(r,e)}var XU={type:"echarts:filter",transform:function(r){for(var e=r.upstream,t,a=ZU(r.config,{valueGetterAttrMap:et({dimension:!0}),prepareGetValue:function(s){var l="",u=s.dimension;j(s,"dimension")||It(l);var f=e.getDimensionInfo(u);return f||It(l),{dimIdx:f.index}},getValue:function(s){return e.retrieveValueFromItem(t,s.dimIdx)}}),n=[],i=0,o=e.count();i<o;i++)t=e.getRawDataItem(i),a.evaluate()&&n.push(t);return{data:n}}},qU={type:"echarts:sort",transform:function(r){var e=r.upstream,t=r.config,a="",n=Ot(t);n.length||It(a);var i=[];D(n,function(f){var h=f.dimension,v=f.order,c=f.parser,d=f.incomparable;if(h==null&&It(a),v!=="asc"&&v!=="desc"&&It(a),d&&d!=="min"&&d!=="max"){var p="";It(p)}if(v!=="asc"&&v!=="desc"){var g="";It(g)}var y=e.getDimensionInfo(h);y||It(a);var m=c?EA(c):null;c&&!m&&It(a),i.push({dimIdx:y.index,parser:m,comparator:new OA(v,d)})});var o=e.sourceFormat;o!==Ae&&o!==gr&&It(a);for(var s=[],l=0,u=e.count();l<u;l++)s.push(e.getRawDataItem(l));return s.sort(function(f,h){for(var v=0;v<i.length;v++){var c=i[v],d=e.retrieveValueFromItem(f,c.dimIdx),p=e.retrieveValueFromItem(h,c.dimIdx);c.parser&&(d=c.parser(d),p=c.parser(p));var g=c.comparator.evaluate(d,p);if(g!==0)return g}return 0}),{data:s}}};function KU(r){r.registerTransform(XU),r.registerTransform(qU)}var JU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dataset",t}return e.prototype.init=function(t,a,n){r.prototype.init.call(this,t,a,n),this._sourceManager=new zA(this),l_(this)},e.prototype.mergeOption=function(t,a){r.prototype.mergeOption.call(this,t,a),l_(this)},e.prototype.optionUpdated=function(){this._sourceManager.dirty()},e.prototype.getSourceManager=function(){return this._sourceManager},e.type="dataset",e.defaultOption={seriesLayoutBy:Xr},e}(bt),QU=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dataset",t}return e.type="dataset",e}(Ut);function jU(r){r.registerComponentModel(JU),r.registerComponentView(QU)}var Br=jr.CMD;function ao(r,e){return Math.abs(r-e)<1e-5}function ag(r){var e=r.data,t=r.len(),a=[],n,i=0,o=0,s=0,l=0;function u(I,P){n&&n.length>2&&a.push(n),n=[I,P]}function f(I,P,R,E){ao(I,R)&&ao(P,E)||n.push(I,P,R,E,R,E)}function h(I,P,R,E,N,O){var B=Math.abs(P-I),G=Math.tan(B/4)*4/3,U=P<I?-1:1,Z=Math.cos(I),rt=Math.sin(I),at=Math.cos(P),W=Math.sin(P),Y=Z*N+R,ft=rt*O+E,tt=at*N+R,q=W*O+E,it=N*G*U,Q=O*G*U;n.push(Y-it*rt,ft+Q*Z,tt+it*W,q-Q*at,tt,q)}for(var v,c,d,p,g=0;g<t;){var y=e[g++],m=g===1;switch(m&&(i=e[g],o=e[g+1],s=i,l=o,(y===Br.L||y===Br.C||y===Br.Q)&&(n=[s,l])),y){case Br.M:i=s=e[g++],o=l=e[g++],u(s,l);break;case Br.L:v=e[g++],c=e[g++],f(i,o,v,c),i=v,o=c;break;case Br.C:n.push(e[g++],e[g++],e[g++],e[g++],i=e[g++],o=e[g++]);break;case Br.Q:v=e[g++],c=e[g++],d=e[g++],p=e[g++],n.push(i+2/3*(v-i),o+2/3*(c-o),d+2/3*(v-d),p+2/3*(c-p),d,p),i=d,o=p;break;case Br.A:var _=e[g++],S=e[g++],b=e[g++],x=e[g++],w=e[g++],T=e[g++]+w;g+=1;var A=!e[g++];v=Math.cos(w)*b+_,c=Math.sin(w)*x+S,m?(s=v,l=c,u(s,l)):f(i,o,v,c),i=Math.cos(T)*b+_,o=Math.sin(T)*x+S;for(var C=(A?-1:1)*Math.PI/2,M=w;A?M>T:M<T;M+=C){var L=A?Math.max(M+C,T):Math.min(M+C,T);h(M,L,_,S,b,x)}break;case Br.R:s=i=e[g++],l=o=e[g++],v=s+e[g++],c=l+e[g++],u(v,l),f(v,l,v,c),f(v,c,s,c),f(s,c,s,l),f(s,l,v,l);break;case Br.Z:n&&f(i,o,s,l),i=s,o=l;break}}return n&&n.length>2&&a.push(n),a}function ng(r,e,t,a,n,i,o,s,l,u){if(ao(r,t)&&ao(e,a)&&ao(n,o)&&ao(i,s)){l.push(o,s);return}var f=2/u,h=f*f,v=o-r,c=s-e,d=Math.sqrt(v*v+c*c);v/=d,c/=d;var p=t-r,g=a-e,y=n-o,m=i-s,_=p*p+g*g,S=y*y+m*m;if(_<h&&S<h){l.push(o,s);return}var b=v*p+c*g,x=-v*y-c*m,w=_-b*b,T=S-x*x;if(w<h&&b>=0&&T<h&&x>=0){l.push(o,s);return}var A=[],C=[];nn(r,t,n,o,.5,A),nn(e,a,i,s,.5,C),ng(A[0],C[0],A[1],C[1],A[2],C[2],A[3],C[3],l,u),ng(A[4],C[4],A[5],C[5],A[6],C[6],A[7],C[7],l,u)}function t9(r,e){var t=ag(r),a=[];e=e||1;for(var n=0;n<t.length;n++){var i=t[n],o=[],s=i[0],l=i[1];o.push(s,l);for(var u=2;u<i.length;){var f=i[u++],h=i[u++],v=i[u++],c=i[u++],d=i[u++],p=i[u++];ng(s,l,f,h,v,c,d,p,o,e),s=d,l=p}a.push(o)}return a}function j2(r,e,t){var a=r[e],n=r[1-e],i=Math.abs(a/n),o=Math.ceil(Math.sqrt(i*t)),s=Math.floor(t/o);s===0&&(s=1,o=t);for(var l=[],u=0;u<o;u++)l.push(s);var f=o*s,h=t-f;if(h>0)for(var u=0;u<h;u++)l[u%o]+=1;return l}function uw(r,e,t){for(var a=r.r0,n=r.r,i=r.startAngle,o=r.endAngle,s=Math.abs(o-i),l=s*n,u=n-a,f=l>Math.abs(u),h=j2([l,u],f?0:1,e),v=(f?s:u)/h.length,c=0;c<h.length;c++)for(var d=(f?u:s)/h[c],p=0;p<h[c];p++){var g={};f?(g.startAngle=i+v*c,g.endAngle=i+v*(c+1),g.r0=a+d*p,g.r=a+d*(p+1)):(g.startAngle=i+d*p,g.endAngle=i+d*(p+1),g.r0=a+v*c,g.r=a+v*(c+1)),g.clockwise=r.clockwise,g.cx=r.cx,g.cy=r.cy,t.push(g)}}function e9(r,e,t){for(var a=r.width,n=r.height,i=a>n,o=j2([a,n],i?0:1,e),s=i?"width":"height",l=i?"height":"width",u=i?"x":"y",f=i?"y":"x",h=r[s]/o.length,v=0;v<o.length;v++)for(var c=r[l]/o[v],d=0;d<o[v];d++){var p={};p[u]=v*h,p[f]=d*c,p[s]=h,p[l]=c,p.x+=r.x,p.y+=r.y,t.push(p)}}function fw(r,e,t,a){return r*a-t*e}function r9(r,e,t,a,n,i,o,s){var l=t-r,u=a-e,f=o-n,h=s-i,v=fw(f,h,l,u);if(Math.abs(v)<1e-6)return null;var c=r-n,d=e-i,p=fw(c,d,f,h)/v;return p<0||p>1?null:new pt(p*l+r,p*u+e)}function a9(r,e,t){var a=new pt;pt.sub(a,t,e),a.normalize();var n=new pt;pt.sub(n,r,e);var i=n.dot(a);return i}function Zi(r,e){var t=r[r.length-1];t&&t[0]===e[0]&&t[1]===e[1]||r.push(e)}function n9(r,e,t){for(var a=r.length,n=[],i=0;i<a;i++){var o=r[i],s=r[(i+1)%a],l=r9(o[0],o[1],s[0],s[1],e.x,e.y,t.x,t.y);l&&n.push({projPt:a9(l,e,t),pt:l,idx:i})}if(n.length<2)return[{points:r},{points:r}];n.sort(function(g,y){return g.projPt-y.projPt});var u=n[0],f=n[n.length-1];if(f.idx<u.idx){var h=u;u=f,f=h}for(var v=[u.pt.x,u.pt.y],c=[f.pt.x,f.pt.y],d=[v],p=[c],i=u.idx+1;i<=f.idx;i++)Zi(d,r[i].slice());Zi(d,c),Zi(d,v);for(var i=f.idx+1;i<=u.idx+a;i++)Zi(p,r[i%a].slice());return Zi(p,v),Zi(p,c),[{points:d},{points:p}]}function hw(r){var e=r.points,t=[],a=[];ch(e,t,a);var n=new gt(t[0],t[1],a[0]-t[0],a[1]-t[1]),i=n.width,o=n.height,s=n.x,l=n.y,u=new pt,f=new pt;return i>o?(u.x=f.x=s+i/2,u.y=l,f.y=l+o):(u.y=f.y=l+o/2,u.x=s,f.x=s+i),n9(e,u,f)}function jf(r,e,t,a){if(t===1)a.push(e);else{var n=Math.floor(t/2),i=r(e);jf(r,i[0],n,a),jf(r,i[1],t-n,a)}return a}function i9(r,e){for(var t=[],a=0;a<e;a++)t.push(Ig(r));return t}function o9(r,e){e.setStyle(r.style),e.z=r.z,e.z2=r.z2,e.zlevel=r.zlevel}function s9(r){for(var e=[],t=0;t<r.length;)e.push([r[t++],r[t++]]);return e}function l9(r,e){var t=[],a=r.shape,n;switch(r.type){case"rect":e9(a,e,t),n=Tt;break;case"sector":uw(a,e,t),n=Oe;break;case"circle":uw({r0:0,r:a.r,startAngle:0,endAngle:Math.PI*2,cx:a.cx,cy:a.cy},e,t),n=Oe;break;default:var i=r.getComputedTransform(),o=i?Math.sqrt(Math.max(i[0]*i[0]+i[1]*i[1],i[2]*i[2]+i[3]*i[3])):1,s=H(t9(r.getUpdatedPathProxy(),o),function(y){return s9(y)}),l=s.length;if(l===0)jf(hw,{points:s[0]},e,t);else if(l===e)for(var u=0;u<l;u++)t.push({points:s[u]});else{var f=0,h=H(s,function(y){var m=[],_=[];ch(y,m,_);var S=(_[1]-m[1])*(_[0]-m[0]);return f+=S,{poly:y,area:S}});h.sort(function(y,m){return m.area-y.area});for(var v=e,u=0;u<l;u++){var c=h[u];if(v<=0)break;var d=u===l-1?v:Math.ceil(c.area/f*e);d<0||(jf(hw,{points:c.poly},d,t),v-=d)}}n=Ne;break}if(!n)return i9(r,e);for(var p=[],u=0;u<t.length;u++){var g=new n;g.setShape(t[u]),o9(r,g),p.push(g)}return p}function u9(r,e){var t=r.length,a=e.length;if(t===a)return[r,e];for(var n=[],i=[],o=t<a?r:e,s=Math.min(t,a),l=Math.abs(a-t)/6,u=(s-2)/6,f=Math.ceil(l/u)+1,h=[o[0],o[1]],v=l,c=2;c<s;){var d=o[c-2],p=o[c-1],g=o[c++],y=o[c++],m=o[c++],_=o[c++],S=o[c++],b=o[c++];if(v<=0){h.push(g,y,m,_,S,b);continue}for(var x=Math.min(v,f-1)+1,w=1;w<=x;w++){var T=w/x;nn(d,g,m,S,T,n),nn(p,y,_,b,T,i),d=n[3],p=i[3],h.push(n[1],i[1],n[2],i[2],d,p),g=n[5],y=i[5],m=n[6],_=i[6]}v-=x-1}return o===r?[h,e]:[r,h]}function vw(r,e){for(var t=r.length,a=r[t-2],n=r[t-1],i=[],o=0;o<e.length;)i[o++]=a,i[o++]=n;return i}function f9(r,e){for(var t,a,n,i=[],o=[],s=0;s<Math.max(r.length,e.length);s++){var l=r[s],u=e[s],f=void 0,h=void 0;l?u?(t=u9(l,u),f=t[0],h=t[1],a=f,n=h):(h=vw(n||l,l),f=l):(f=vw(a||u,u),h=u),i.push(f),o.push(h)}return[i,o]}function cw(r){for(var e=0,t=0,a=0,n=r.length,i=0,o=n-2;i<n;o=i,i+=2){var s=r[o],l=r[o+1],u=r[i],f=r[i+1],h=s*f-u*l;e+=h,t+=(s+u)*h,a+=(l+f)*h}return e===0?[r[0]||0,r[1]||0]:[t/e/3,a/e/3,e]}function h9(r,e,t,a){for(var n=(r.length-2)/6,i=1/0,o=0,s=r.length,l=s-2,u=0;u<n;u++){for(var f=u*6,h=0,v=0;v<s;v+=2){var c=v===0?f:(f+v-2)%l+2,d=r[c]-t[0],p=r[c+1]-t[1],g=e[v]-a[0],y=e[v+1]-a[1],m=g-d,_=y-p;h+=m*m+_*_}h<i&&(i=h,o=u)}return o}function v9(r){for(var e=[],t=r.length,a=0;a<t;a+=2)e[a]=r[t-a-2],e[a+1]=r[t-a-1];return e}function c9(r,e,t,a){for(var n=[],i,o=0;o<r.length;o++){var s=r[o],l=e[o],u=cw(s),f=cw(l);i==null&&(i=u[2]<0!=f[2]<0);var h=[],v=[],c=0,d=1/0,p=[],g=s.length;i&&(s=v9(s));for(var y=h9(s,l,u,f)*6,m=g-2,_=0;_<m;_+=2){var S=(y+_)%m+2;h[_+2]=s[S]-u[0],h[_+3]=s[S+1]-u[1]}h[0]=s[y]-u[0],h[1]=s[y+1]-u[1];for(var b=a/t,x=-a/2;x<=a/2;x+=b){for(var w=Math.sin(x),T=Math.cos(x),A=0,_=0;_<s.length;_+=2){var C=h[_],M=h[_+1],L=l[_]-f[0],I=l[_+1]-f[1],P=L*T-I*w,R=L*w+I*T;p[_]=P,p[_+1]=R;var E=P-C,N=R-M;A+=E*E+N*N}if(A<d){d=A,c=x;for(var O=0;O<p.length;O++)v[O]=p[O]}}n.push({from:h,to:v,fromCp:u,toCp:f,rotation:-c})}return n}function th(r){return r.__isCombineMorphing}var tL="__mOriginal_";function eh(r,e,t){var a=tL+e,n=r[a]||r[e];r[a]||(r[a]=r[e]);var i=t.replace,o=t.after,s=t.before;r[e]=function(){var l=arguments,u;return s&&s.apply(this,l),i?u=i.apply(this,l):u=n.apply(this,l),o&&o.apply(this,l),u}}function Gs(r,e){var t=tL+e;r[t]&&(r[e]=r[t],r[t]=null)}function dw(r,e){for(var t=0;t<r.length;t++)for(var a=r[t],n=0;n<a.length;){var i=a[n],o=a[n+1];a[n++]=e[0]*i+e[2]*o+e[4],a[n++]=e[1]*i+e[3]*o+e[5]}}function eL(r,e){var t=r.getUpdatedPathProxy(),a=e.getUpdatedPathProxy(),n=f9(ag(t),ag(a)),i=n[0],o=n[1],s=r.getComputedTransform(),l=e.getComputedTransform();function u(){this.transform=null}s&&dw(i,s),l&&dw(o,l),eh(e,"updateTransform",{replace:u}),e.transform=null;var f=c9(i,o,10,Math.PI),h=[];eh(e,"buildPath",{replace:function(v){for(var c=e.__morphT,d=1-c,p=[],g=0;g<f.length;g++){var y=f[g],m=y.from,_=y.to,S=y.rotation*c,b=y.fromCp,x=y.toCp,w=Math.sin(S),T=Math.cos(S);Wu(p,b,x,c);for(var A=0;A<m.length;A+=2){var C=m[A],M=m[A+1],L=_[A],I=_[A+1],P=C*d+L*c,R=M*d+I*c;h[A]=P*T-R*w+p[0],h[A+1]=P*w+R*T+p[1]}var E=h[0],N=h[1];v.moveTo(E,N);for(var A=2;A<m.length;){var L=h[A++],I=h[A++],O=h[A++],B=h[A++],G=h[A++],U=h[A++];E===L&&N===I&&O===G&&B===U?v.lineTo(G,U):v.bezierCurveTo(L,I,O,B,G,U),E=G,N=U}}}})}function cm(r,e,t){if(!r||!e)return e;var a=t.done,n=t.during;eL(r,e),e.__morphT=0;function i(){Gs(e,"buildPath"),Gs(e,"updateTransform"),e.__morphT=-1,e.createPathProxy(),e.dirtyShape()}return e.animateTo({__morphT:1},ot({during:function(o){e.dirtyShape(),n&&n(o)},done:function(){i(),a&&a()}},t)),e}function d9(r,e,t,a,n,i){var o=16;r=n===t?0:Math.round(32767*(r-t)/(n-t)),e=i===a?0:Math.round(32767*(e-a)/(i-a));for(var s=0,l,u=(1<<o)/2;u>0;u/=2){var f=0,h=0;(r&u)>0&&(f=1),(e&u)>0&&(h=1),s+=u*u*(3*f^h),h===0&&(f===1&&(r=u-1-r,e=u-1-e),l=r,r=e,e=l)}return s}function rh(r){var e=1/0,t=1/0,a=-1/0,n=-1/0,i=H(r,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),f=l.x+l.width/2+(u?u[4]:0),h=l.y+l.height/2+(u?u[5]:0);return e=Math.min(f,e),t=Math.min(h,t),a=Math.max(f,a),n=Math.max(h,n),[f,h]}),o=H(i,function(s,l){return{cp:s,z:d9(s[0],s[1],e,t,a,n),path:r[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function rL(r){return l9(r.path,r.count)}function ig(){return{fromIndividuals:[],toIndividuals:[],count:0}}function p9(r,e,t){var a=[];function n(b){for(var x=0;x<b.length;x++){var w=b[x];th(w)?n(w.childrenRef()):w instanceof St&&a.push(w)}}n(r);var i=a.length;if(!i)return ig();var o=t.dividePath||rL,s=o({path:e,count:i});if(s.length!==i)return console.error("Invalid morphing: unmatched splitted path"),ig();a=rh(a),s=rh(s);for(var l=t.done,u=t.during,f=t.individualDelay,h=new la,v=0;v<i;v++){var c=a[v],d=s[v];d.parent=e,d.copyTransform(h),f||eL(c,d)}e.__isCombineMorphing=!0,e.childrenRef=function(){return s};function p(b){for(var x=0;x<s.length;x++)s[x].addSelfToZr(b)}eh(e,"addSelfToZr",{after:function(b){p(b)}}),eh(e,"removeSelfFromZr",{after:function(b){for(var x=0;x<s.length;x++)s[x].removeSelfFromZr(b)}});function g(){e.__isCombineMorphing=!1,e.__morphT=-1,e.childrenRef=null,Gs(e,"addSelfToZr"),Gs(e,"removeSelfFromZr")}var y=s.length;if(f)for(var m=y,_=function(){m--,m===0&&(g(),l&&l())},v=0;v<y;v++){var S=f?ot({delay:(t.delay||0)+f(v,y,a[v],s[v]),done:_},t):t;cm(a[v],s[v],S)}else e.__morphT=0,e.animateTo({__morphT:1},ot({during:function(b){for(var x=0;x<y;x++){var w=s[x];w.__morphT=e.__morphT,w.dirtyShape()}u&&u(b)},done:function(){g();for(var b=0;b<r.length;b++)Gs(r[b],"updateTransform");l&&l()}},t));return e.__zr&&p(e.__zr),{fromIndividuals:a,toIndividuals:s,count:y}}function g9(r,e,t){var a=e.length,n=[],i=t.dividePath||rL;function o(c){for(var d=0;d<c.length;d++){var p=c[d];th(p)?o(p.childrenRef()):p instanceof St&&n.push(p)}}if(th(r)){o(r.childrenRef());var s=n.length;if(s<a)for(var l=0,u=s;u<a;u++)n.push(Ig(n[l++%s]));n.length=a}else{n=i({path:r,count:a});for(var f=r.getComputedTransform(),u=0;u<n.length;u++)n[u].setLocalTransform(f);if(n.length!==a)return console.error("Invalid morphing: unmatched splitted path"),ig()}n=rh(n),e=rh(e);for(var h=t.individualDelay,u=0;u<a;u++){var v=h?ot({delay:(t.delay||0)+h(u,a,n[u],e[u])},t):t;cm(n[u],e[u],v)}return{fromIndividuals:n,toIndividuals:e,count:e.length}}function pw(r){return z(r[0])}function gw(r,e){for(var t=[],a=r.length,n=0;n<a;n++)t.push({one:r[n],many:[]});for(var n=0;n<e.length;n++){var i=e[n].length,o=void 0;for(o=0;o<i;o++)t[o%a].many.push(e[n][o])}for(var s=0,n=a-1;n>=0;n--)if(!t[n].many.length){var l=t[s].many;if(l.length<=1)if(s)s=0;else return t;var i=l.length,u=Math.ceil(i/2);t[n].many=l.slice(u,i),t[s].many=l.slice(0,u),s++}return t}var y9={clone:function(r){for(var e=[],t=1-Math.pow(1-r.path.style.opacity,1/r.count),a=0;a<r.count;a++){var n=Ig(r.path);n.setStyle("opacity",t),e.push(n)}return e},split:null};function dd(r,e,t,a,n,i){if(!r.length||!e.length)return;var o=Do("update",a,n);if(!(o&&o.duration>0))return;var s=a.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,f;pw(r)&&(u=r,f=e),pw(e)&&(u=e,f=r);function h(y,m,_,S,b){var x=y.many,w=y.one;if(x.length===1&&!b){var T=m?x[0]:w,A=m?w:x[0];if(th(T))h({many:[T],one:A},!0,_,S,!0);else{var C=s?ot({delay:s(_,S)},l):l;cm(T,A,C),i(T,A,T,A,C)}}else for(var M=ot({dividePath:y9[t],individualDelay:s&&function(N,O,B,G){return s(N+_,S)}},l),L=m?p9(x,w,M):g9(w,x,M),I=L.fromIndividuals,P=L.toIndividuals,R=I.length,E=0;E<R;E++){var C=s?ot({delay:s(E,R)},l):l;i(I[E],P[E],m?x[E]:y.one,m?y.one:x[E],C)}}for(var v=u?u===r:r.length>e.length,c=u?gw(f,u):gw(v?e:r,[v?r:e]),d=0,p=0;p<c.length;p++)d+=c[p].many.length;for(var g=0,p=0;p<c.length;p++)h(c[p],v,g,d),g+=c[p].many.length}function Wn(r){if(!r)return[];if(z(r)){for(var e=[],t=0;t<r.length;t++)e.push(Wn(r[t]));return e}var a=[];return r.traverse(function(n){n instanceof St&&!n.disableMorphing&&!n.invisible&&!n.ignore&&a.push(n)}),a}var aL=1e4,m9=0,yw=1,mw=2,_9=At();function S9(r,e){for(var t=r.dimensions,a=0;a<t.length;a++){var n=r.getDimensionInfo(t[a]);if(n&&n.otherDims[e]===0)return t[a]}}function x9(r,e,t){var a=r.getDimensionInfo(t),n=a&&a.ordinalMeta;if(a){var i=r.get(a.name,e);return n&&n.categories[i]||i+""}}function _w(r,e,t,a){var n=a?"itemChildGroupId":"itemGroupId",i=S9(r,n);if(i){var o=x9(r,e,i);return o}var s=r.getRawDataItem(e),l=a?"childGroupId":"groupId";if(s&&s[l])return s[l]+"";if(!a)return t||r.getId(e)}function Sw(r){var e=[];return D(r,function(t){var a=t.data,n=t.dataGroupId;if(!(a.count()>aL))for(var i=a.getIndices(),o=0;o<i.length;o++)e.push({data:a,groupId:_w(a,o,n,!1),childGroupId:_w(a,o,n,!0),divide:t.divide,dataIndex:o})}),e}function pd(r,e,t){r.traverse(function(a){a instanceof St&&Ft(a,{style:{opacity:0}},e,{dataIndex:t,isFrom:!0})})}function gd(r){if(r.parent){var e=r.getComputedTransform();r.setLocalTransform(e),r.parent.remove(r)}}function Xi(r){r.stopAnimation(),r.isGroup&&r.traverse(function(e){e.stopAnimation()})}function b9(r,e,t){var a=Do("update",t,e);a&&r.traverse(function(n){if(n instanceof cr){var i=gE(n);i&&n.animateFrom({style:i},a)}})}function w9(r,e){var t=r.length;if(t!==e.length)return!1;for(var a=0;a<t;a++){var n=r[a],i=e[a];if(n.data.getId(n.dataIndex)!==i.data.getId(i.dataIndex))return!1}return!0}function nL(r,e,t){var a=Sw(r),n=Sw(e);function i(_,S,b,x,w){(b||_)&&S.animateFrom({style:b&&b!==_?V(V({},b.style),_.style):_.style},w)}var o=!1,s=m9,l=et(),u=et();a.forEach(function(_){_.groupId&&l.set(_.groupId,!0),_.childGroupId&&u.set(_.childGroupId,!0)});for(var f=0;f<n.length;f++){var h=n[f].groupId;if(u.get(h)){s=yw;break}var v=n[f].childGroupId;if(v&&l.get(v)){s=mw;break}}function c(_,S){return function(b){var x=b.data,w=b.dataIndex;return S?x.getId(w):_?s===yw?b.childGroupId:b.groupId:s===mw?b.childGroupId:b.groupId}}var d=w9(a,n),p={};if(!d)for(var f=0;f<n.length;f++){var g=n[f],y=g.data.getItemGraphicEl(g.dataIndex);y&&(p[y.id]=!0)}function m(_,S){var b=a[S],x=n[_],w=x.data.hostModel,T=b.data.getItemGraphicEl(b.dataIndex),A=x.data.getItemGraphicEl(x.dataIndex);if(T===A){A&&b9(A,x.dataIndex,w);return}T&&p[T.id]||A&&(Xi(A),T?(Xi(T),gd(T),o=!0,dd(Wn(T),Wn(A),x.divide,w,_,i)):pd(A,w,_))}new _a(a,n,c(!0,d),c(!1,d),null,"multiple").update(m).updateManyToOne(function(_,S){var b=n[_],x=b.data,w=x.hostModel,T=x.getItemGraphicEl(b.dataIndex),A=Pt(H(S,function(C){return a[C].data.getItemGraphicEl(a[C].dataIndex)}),function(C){return C&&C!==T&&!p[C.id]});T&&(Xi(T),A.length?(D(A,function(C){Xi(C),gd(C)}),o=!0,dd(Wn(A),Wn(T),b.divide,w,_,i)):pd(T,w,b.dataIndex))}).updateOneToMany(function(_,S){var b=a[S],x=b.data.getItemGraphicEl(b.dataIndex);if(!(x&&p[x.id])){var w=Pt(H(_,function(A){return n[A].data.getItemGraphicEl(n[A].dataIndex)}),function(A){return A&&A!==x}),T=n[_[0]].data.hostModel;w.length&&(D(w,function(A){return Xi(A)}),x?(Xi(x),gd(x),o=!0,dd(Wn(x),Wn(w),b.divide,T,_[0],i)):D(w,function(A){return pd(A,T,_[0])}))}}).updateManyToMany(function(_,S){new _a(S,_,function(b){return a[b].data.getId(a[b].dataIndex)},function(b){return n[b].data.getId(n[b].dataIndex)}).update(function(b,x){m(_[b],S[x])}).execute()}).execute(),o&&D(e,function(_){var S=_.data,b=S.hostModel,x=b&&t.getViewOfSeriesModel(b),w=Do("update",b,0);x&&b.isAnimationEnabled()&&w&&w.duration>0&&x.group.traverse(function(T){T instanceof St&&!T.animators.length&&T.animateFrom({style:{opacity:0}},w)})})}function xw(r){var e=r.getModel("universalTransition").get("seriesKey");return e||r.id}function bw(r){return z(r)?r.sort().join(","):r}function Ha(r){if(r.hostModel)return r.hostModel.getModel("universalTransition").get("divideShape")}function T9(r,e){var t=et(),a=et(),n=et();return D(r.oldSeries,function(i,o){var s=r.oldDataGroupIds[o],l=r.oldData[o],u=xw(i),f=bw(u);a.set(f,{dataGroupId:s,data:l}),z(u)&&D(u,function(h){n.set(h,{key:f,dataGroupId:s,data:l})})}),D(e.updatedSeries,function(i){if(i.isUniversalTransitionEnabled()&&i.isAnimationEnabled()){var o=i.get("dataGroupId"),s=i.getData(),l=xw(i),u=bw(l),f=a.get(u);if(f)t.set(u,{oldSeries:[{dataGroupId:f.dataGroupId,divide:Ha(f.data),data:f.data}],newSeries:[{dataGroupId:o,divide:Ha(s),data:s}]});else if(z(l)){var h=[];D(l,function(d){var p=a.get(d);p.data&&h.push({dataGroupId:p.dataGroupId,divide:Ha(p.data),data:p.data})}),h.length&&t.set(u,{oldSeries:h,newSeries:[{dataGroupId:o,data:s,divide:Ha(s)}]})}else{var v=n.get(l);if(v){var c=t.get(v.key);c||(c={oldSeries:[{dataGroupId:v.dataGroupId,data:v.data,divide:Ha(v.data)}],newSeries:[]},t.set(v.key,c)),c.newSeries.push({dataGroupId:o,data:s,divide:Ha(s)})}}}}),t}function ww(r,e){for(var t=0;t<r.length;t++){var a=e.seriesIndex!=null&&e.seriesIndex===r[t].seriesIndex||e.seriesId!=null&&e.seriesId===r[t].id;if(a)return t}}function A9(r,e,t,a){var n=[],i=[];D(Ot(r.from),function(o){var s=ww(e.oldSeries,o);s>=0&&n.push({dataGroupId:e.oldDataGroupIds[s],data:e.oldData[s],divide:Ha(e.oldData[s]),groupIdDim:o.dimension})}),D(Ot(r.to),function(o){var s=ww(t.updatedSeries,o);if(s>=0){var l=t.updatedSeries[s].getData();i.push({dataGroupId:e.oldDataGroupIds[s],data:l,divide:Ha(l),groupIdDim:o.dimension})}}),n.length>0&&i.length>0&&nL(n,i,a)}function C9(r){r.registerUpdateLifecycle("series:beforeupdate",function(e,t,a){D(Ot(a.seriesTransition),function(n){D(Ot(n.to),function(i){for(var o=a.updatedSeries,s=0;s<o.length;s++)(i.seriesIndex!=null&&i.seriesIndex===o[s].seriesIndex||i.seriesId!=null&&i.seriesId===o[s].id)&&(o[s][tf]=!0)})})}),r.registerUpdateLifecycle("series:transition",function(e,t,a){var n=_9(t);if(n.oldSeries&&a.updatedSeries&&a.optionChanged){var i=a.seriesTransition;if(i)D(Ot(i),function(c){A9(c,n,a,t)});else{var o=T9(n,a);D(o.keys(),function(c){var d=o.get(c);nL(d.oldSeries,d.newSeries,t)})}D(a.updatedSeries,function(c){c[tf]&&(c[tf]=!1)})}for(var s=e.getSeries(),l=n.oldSeries=[],u=n.oldDataGroupIds=[],f=n.oldData=[],h=0;h<s.length;h++){var v=s[h].getData();v.count()<aL&&(l.push(s[h]),u.push(s[h].get("dataGroupId")),f.push(v))}})}mt([NB]);mt([PB]);mt([rV,yV,DV,oz,yz,aG,PG,d3,N3,H3,J3,YF,g4,D4,W4,Z4,aH,fH,xH,DH,BH,SW]);mt(zW);mt(h6);mt(rM);mt(T6);mt(FM);mt(M6);mt(B6);mt(T7);mt(W7);mt(Bl);mt(o8);mt(u8);mt(_8);mt(C8);mt(R8);mt(V8);mt(X8);mt(vU);mt(U2);mt(Y2);mt(RU);mt(K2);mt(J2);mt(BU);mt(KU);mt(jU);mt(C9);mt(J5);const D9={class:"dashboard"},M9={class:"status-bar"},L9={class:"status-left"},I9={class:"status-stat"},P9={class:"status-stat-value mg-num"},R9={class:"status-stat-total"},E9={class:"status-stat"},k9={class:"status-stat"},O9={class:"status-stat-value mg-num"},N9={class:"status-right"},B9={class:"status-stat"},V9={class:"status-stat-label"},z9={class:"status-stat-value mg-num"},G9={class:"hero-banner"},F9={class:"hero-left"},H9={class:"quick-grid"},W9=["title","onClick"],U9={class:"quick-icon"},Y9={class:"quick-label"},$9={class:"hero-right","aria-hidden":"true"},Z9={class:"hero-scene",viewBox:"0 0 520 320",xmlns:"http://www.w3.org/2000/svg"},X9={class:"shelves"},q9=["x"],K9=["x"],J9=["x"],Q9=["x"],j9=["x"],tY={class:"bento-grid"},eY={class:"kpi-body"},rY={class:"kpi-row1"},aY={class:"kpi-label"},nY={class:"kpi-row2"},iY={class:"kpi-value mg-num"},oY={class:"kpi-trend-arrow"},sY={class:"kpi-trend-text mg-num"},lY={class:"kpi-spark",viewBox:"0 0 100 32",preserveAspectRatio:"none","aria-hidden":"true"},uY=["id"],fY=["stop-color"],hY=["stop-color"],vY=["d","fill"],cY=["d","stroke"],dY={class:"card-head"},pY={class:"card-title"},gY={class:"card-head"},yY={class:"card-title"},mY={class:"card-tip mg-num"},_Y={key:0,class:"mock-tag"},SY={class:"agv-row"},xY={class:"agv-chart-wrap"},bY={class:"agv-center"},wY={class:"agv-center-value mg-num"},TY={class:"agv-legend"},AY={class:"legend-name"},CY={class:"legend-value mg-num"},DY={class:"legend-pct mg-num"},MY={class:"card-head"},LY={class:"card-title"},IY={class:"card-tip mg-num"},PY={class:"ratio-track",role:"img","aria-label":"任务占比堆叠条"},RY=["title"],EY={key:0,class:"ratio-seg-pct mg-num"},kY={class:"ratio-legend"},OY={class:"legend-name"},NY={class:"legend-value mg-num"},BY={class:"card-head"},VY={class:"card-title"},zY={class:"tab-label"},GY={key:0,class:"empty-pane"},FY={key:1,class:"todo-list"},HY={class:"todo-text"},WY={class:"todo-time"},UY=iL({__name:"DashboardView",setup(r){const e=yL(),t=yr([]),a=yr([]),n=yr([]),i=yr([]),o=yr(),s=yr(),l=yr("alarm");function u(W,Y){return typeof window>"u"?Y:getComputedStyle(document.documentElement).getPropertyValue(W).trim()||Y}const f=yr(""),h=yr("");let v=null;function c(){const W=new Date;h.value=`${W.getFullYear()}-${String(W.getMonth()+1).padStart(2,"0")}-${String(W.getDate()).padStart(2,"0")}`,f.value=`${String(W.getHours()).padStart(2,"0")}:${String(W.getMinutes()).padStart(2,"0")}:${String(W.getSeconds()).padStart(2,"0")}`}c();const d=yr("success"),p=_e(()=>`is-${d.value}`),g=_e(()=>d.value==="success"?"已连接":d.value==="warning"?"高延迟":"断连"),y=_e(()=>n.value.filter(W=>W.state!=="offline").length),m=_e(()=>i.value.filter(W=>W.status==="running"||W.status==="assigned").length),_=_e(()=>[{key:"platform-config",label:"平台配置",icon:mL,primary:!0,hint:"进入地图编辑 / 平台搭建(map-editor)",to:"/admin/map-editor"},{key:"mission",label:"任务编排",icon:Zh,to:"/admin/missions"},{key:"cars",label:"AGV 配置",icon:ym,to:"/admin/cars"},{key:"auth",label:"权限配置",icon:_L,to:"/admin/config/auth"},{key:"system",label:"系统配置",icon:SL,to:"/admin/config/system"},{key:"ops",label:"异常处理",icon:xL,to:"/admin/config/ops"},{key:"tasks",label:"任务管理",icon:bL,to:"/admin/config/task"},{key:"add",label:"添加",icon:wL,hint:"自定义快捷入口(待实现)",action:()=>{TL.info("自定义快捷入口 — 即将在 v1.8 中开放")}}]);function S(W){W.action?W.action():W.to&&e.push(W.to)}function b(W,Y=16){const ft=[];let tt=50+W*7%30;for(let _t=0;_t<Y;_t++)tt+=Math.sin((_t+W)*.55)*6+_t*W%5-2,tt=Math.max(8,Math.min(96,tt)),ft.push(tt);const q=100,it=32,Q=q/(Y-1),F=ft.map((_t,kt)=>`${kt===0?"M":"L"}${(kt*Q).toFixed(2)},${(it-_t/100*it*.85-it*.05).toFixed(2)}`).join(" "),Lt=`${F} L${q},${it} L0,${it} Z`;return{line:F,area:Lt}}const x=_e(()=>Math.max(12,Math.round(t.value.length*.7))),w=_e(()=>Math.max(6,Math.round(n.value.length*.27))),T=_e(()=>Math.max(265,t.value.length*12)),A=_e(()=>Math.max(10,Math.round(T.value*.04)));function C(W,Y){if(W===0&&Y===0)return{dir:"flat",arrow:"→",text:"0%"};const ft=Y-W;if(Math.abs(ft)<.5)return{dir:"flat",arrow:"→",text:"0%"};const tt=W===0?100:Math.round(ft/W*100);return ft>0?{dir:"up",arrow:"↑",text:`${tt}%`}:{dir:"down",arrow:"↓",text:`${Math.abs(tt)}%`}}const M=_e(()=>[{key:"devices",label:"设备数",value:n.value.length,icon:AL,tone:"info",trend:C(n.value.length-2,n.value.length)},{key:"sites",label:"工作站数",value:t.value.length,icon:CL,tone:"success",trend:C(t.value.length-1,t.value.length)},{key:"shelves",label:"货架数",value:x.value,icon:DL,tone:"info",trend:C(x.value-5,x.value)},{key:"charger",label:"充电桩数",value:w.value,icon:ML,tone:"warning",trend:{dir:"flat",arrow:"→",text:"0%"}},{key:"used",label:"已用储位数",value:T.value,icon:Zh,tone:"success",trend:C(T.value-12,T.value)},{key:"free",label:"空余储位数",value:A.value,icon:Zh,tone:"idle",trend:C(A.value+3,A.value)}].map((Y,ft)=>{const tt=b(ft+1);return{...Y,sparkLine:tt.line,sparkArea:tt.area}})),L=_e(()=>{const W=i.value.length||1,Y={货架交接:{pct:0,tone:"info"},"搬运/落位":{pct:0,tone:"success"},"Z1 任务":{pct:0,tone:"warning"},其他:{pct:0,tone:"idle"}};i.value.forEach(tt=>{const q=tt.typeName??"";q.includes("shelf")||q.includes("货架")?Y.货架交接.pct++:q.includes("move")||q.includes("搬运")||q.includes("落位")?Y["搬运/落位"].pct++:q.includes("z1")||q.includes("Z1")?Y["Z1 任务"].pct++:Y.其他.pct++});let ft=Object.entries(Y).map(([tt,q])=>({name:tt,pct:Math.round(q.pct/W*100),tone:q.tone}));return ft.every(tt=>tt.pct===0)&&(ft=[{name:"货架交接",pct:45,tone:"info"},{name:"搬运/落位",pct:15,tone:"success"},{name:"Z1 任务",pct:15,tone:"warning"},{name:"其他",pct:25,tone:"idle"}]),ft}),I=_e(()=>n.value.length===0),P=_e(()=>{const W=n.value.length||12,Y={idle:0,running:0,charging:0,paused:0,fault:0,offline:0};n.value.forEach(tt=>{Y[tt.state]=(Y[tt.state]??0)+1});const ft=I.value;return[{key:"running",label:"执行中",value:ft?Math.round(W*.45):Y.running,color:u("--mg-status-info","#3b82f6")},{key:"idle",label:"空闲",value:ft?Math.round(W*.3):Y.idle,color:u("--mg-status-success","#22c55e")},{key:"charging",label:"充电中",value:ft?Math.round(W*.1):Y.charging,color:u("--mg-status-warning","#f59e0b")},{key:"paused",label:"已暂停",value:ft?Math.round(W*.05):Y.paused,color:u("--mg-status-idle","#94a3b8")},{key:"fault",label:"故障",value:ft?Math.round(W*.05):Y.fault,color:u("--mg-status-danger","#ef4444")},{key:"offline",label:"离线",value:ft?Math.round(W*.05):Y.offline,color:u("--mg-text-faint","#a8a0c0")}]}),R=_e(()=>P.value.reduce((W,Y)=>W+Y.value,0)),E=_e(()=>{const W=new Date,Y=[];for(let ft=287;ft>=0;ft--){const tt=W.getTime()-ft*5*60*1e3,q=ft/288*Math.PI*4,it=Math.round(8+Math.sin(q)*5+Math.cos(q*1.3)*3+(Math.random()*2-1)),Q=Math.round(3+Math.sin(q*1.7)*2+Math.cos(q*.6)*1.5+(Math.random()*1-.5));Y.push([tt,Math.max(0,it),Math.max(0,Q)])}return Y});function N(){const W=new Date(Date.now()-Math.random()*1e3*60*60*6);return`${String(W.getHours()).padStart(2,"0")}:${String(W.getMinutes()).padStart(2,"0")}`}const O=yr([{name:"alarm",label:"故障告警",count:0,tone:"danger"},{name:"abnTask",label:"异常任务",count:4,tone:"warning",items:[{text:"AGV-021 路径阻塞 · 等待解锁",time:N()},{text:"M-1024 调度超时",time:N()},{text:"M-1027 取货失败",time:N()},{text:"搬运任务 #913 因充电中断",time:N()}]},{name:"comm",label:"通信异常",count:0,tone:"info"},{name:"server",label:"服务器报警",count:2,tone:"warning",items:[{text:"SimpleScheduler · CPU 持续 85%",time:N()},{text:"WebAPI · 90% 内存使用率",time:N()}]}]),B=_e(()=>O.value.filter(W=>W.tone==="danger"||W.tone==="warning").reduce((W,Y)=>W+Y.count,0));let G=null;function U(){if(!o.value)return;G?.dispose(),G=W_(o.value,void 0,{renderer:"canvas"});const W=u("--mg-status-info","#3b82f6"),Y=u("--mg-status-success","#22c55e"),ft=u("--mg-text-muted","#606266"),tt=u("--mg-divider","rgba(255,255,255,0.08)"),q=E.value;G.setOption({backgroundColor:"transparent",grid:{left:36,right:16,top:22,bottom:28},tooltip:{trigger:"axis",axisPointer:{type:"line",lineStyle:{type:"dashed",color:ft}},formatter:it=>{const Q=it,F=new Date(Q[0].value[0]),Lt=`${String(F.getHours()).padStart(2,"0")}:${String(F.getMinutes()).padStart(2,"0")}`;return Q.map(_t=>`<span style="color:${_t.color}">●</span> ${_t.seriesName}: <b>${_t.value[1]}</b>`).join("<br/>")+`<br/><span style="color:${ft};font-size:11px">${Lt}</span>`}},legend:{show:!1},xAxis:{type:"time",axisLine:{lineStyle:{color:tt}},axisLabel:{color:ft,fontSize:11,formatter:it=>{const Q=new Date(it);return`${String(Q.getHours()).padStart(2,"0")}:00`}},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisLabel:{color:ft,fontSize:11,fontFamily:"JetBrains Mono, monospace"},splitLine:{lineStyle:{color:tt,type:"dashed"}}},series:[{name:"已完成",type:"line",smooth:!0,showSymbol:!1,data:q.map(it=>[it[0],it[1]]),lineStyle:{width:2,color:Y},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${Y}55`},{offset:1,color:`${Y}00`}]}},itemStyle:{color:Y}},{name:"执行中",type:"line",smooth:!0,showSymbol:!1,data:q.map(it=>[it[0],it[2]]),lineStyle:{width:2,color:W},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${W}55`},{offset:1,color:`${W}00`}]}},itemStyle:{color:W}}]})}let Z=null;function rt(){if(!s.value)return;Z?.dispose(),Z=W_(s.value,void 0,{renderer:"canvas"});const W=u("--mg-text-light","#1a0f3d"),ft=!W.startsWith("rgba(255")&&W.toLowerCase()!=="#fff"&&W.toLowerCase()!=="#ffffff"?"#ffffff":"rgba(28,14,62,0.95)",tt=P.value;Z.setOption({backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} 台 ({d}%)"},color:tt.map(q=>q.color),series:[{name:"AGV 状态",type:"pie",radius:["62%","88%"],center:["50%","50%"],avoidLabelOverlap:!1,itemStyle:{borderColor:ft,borderWidth:2,borderRadius:3},emphasis:{itemStyle:{shadowBlur:12,shadowColor:"rgba(124, 58, 237, 0.30)"},scale:!0,scaleSize:4},label:{show:!1},labelLine:{show:!1},data:tt.map(q=>({name:q.label,value:q.value}))}]})}function at(){G?.resize(),Z?.resize()}return oL(async()=>{[t.value,a.value,n.value,i.value]=await Promise.all([IL(),PL(),RL(),EL()]),a.value,await sL(),U(),rt(),window.addEventListener("resize",at),v=setInterval(c,1e3)}),lL(()=>{window.removeEventListener("resize",at),v&&clearInterval(v),G?.dispose(),G=null,Z?.dispose(),Z=null}),(W,Y)=>{const ft=fL,tt=uL,q=pL,it=gL,Q=cL;return $t(),Kt("div",D9,[$("section",M9,[$("div",L9,[$("span",{class:mr(["status-conn",d.value])},[$("span",{class:mr(["mg-live-dot",p.value])},null,2),$("span",null,Wt(g.value),1)],2),Y[4]||(Y[4]=$("span",{class:"status-divider"},null,-1)),$("span",I9,[Y[1]||(Y[1]=$("span",{class:"status-stat-label"},"在线 AGV",-1)),$("span",P9,[Da(Wt(y.value)+" ",1),$("span",R9,"/ "+Wt(n.value.length||"—"),1)])]),Y[5]||(Y[5]=$("span",{class:"status-divider"},null,-1)),$("span",E9,[Y[2]||(Y[2]=$("span",{class:"status-stat-label"},"告警",-1)),$("span",{class:mr(["status-stat-value mg-num",{"is-danger":B.value>0}])},Wt(B.value),3)]),Y[6]||(Y[6]=$("span",{class:"status-divider"},null,-1)),$("span",k9,[Y[3]||(Y[3]=$("span",{class:"status-stat-label"},"活跃任务",-1)),$("span",O9,Wt(m.value),1)])]),$("div",N9,[$("span",B9,[$("span",V9,Wt(h.value),1),$("span",z9,Wt(f.value),1)])])]),$("section",G9,[Y[13]||(Y[13]=$("div",{class:"hero-bg","aria-hidden":"true"},[$("div",{class:"hero-orb hero-orb-a"}),$("div",{class:"hero-orb hero-orb-b"}),$("div",{class:"hero-grid"})],-1)),$("div",F9,[Y[7]||(Y[7]=$("div",{class:"hero-tag"},[$("span",{class:"tag-dot"}),$("span",null,"智能调度 · 一站式平台")],-1)),Y[8]||(Y[8]=$("h1",{class:"hero-title"},"迷毂智能调度平台",-1)),Y[9]||(Y[9]=$("p",{class:"hero-desc"},"以下是系统快捷入口,也可以通过点击「添加」功能进行调整",-1)),$("div",H9,[($t(!0),Kt(Ma,null,La(_.value,(F,Lt)=>($t(),Kt("button",{key:F.key,class:mr(["quick-item",{primary:F.primary}]),style:Yh({animationDelay:`${Lt*60}ms`}),title:F.hint??F.label,onClick:_t=>S(F)},[$("span",U9,[me(ft,{size:22},{default:fe(()=>[($t(),$h(gm(F.icon)))]),_:2},1024)]),$("span",Y9,Wt(F.label),1)],14,W9))),128))])]),$("div",$9,[Y[12]||(Y[12]=$("div",{class:"hero-glow"},null,-1)),($t(),Kt("svg",Z9,[Y[10]||(Y[10]=pm('<defs data-v-1cbc77d6><linearGradient id="floorGrad" x1="0" y1="0" x2="0" y2="1" data-v-1cbc77d6><stop offset="0%" stop-color="#3b1e7a" stop-opacity="0.6" data-v-1cbc77d6></stop><stop offset="100%" stop-color="#0e0a24" stop-opacity="0.95" data-v-1cbc77d6></stop></linearGradient><linearGradient id="boxGrad" x1="0" y1="0" x2="1" y2="1" data-v-1cbc77d6><stop offset="0%" stop-color="#c4b5fd" data-v-1cbc77d6></stop><stop offset="100%" stop-color="#7c3aed" data-v-1cbc77d6></stop></linearGradient><linearGradient id="boxGrad2" x1="0" y1="0" x2="1" y2="1" data-v-1cbc77d6><stop offset="0%" stop-color="#a78bfa" data-v-1cbc77d6></stop><stop offset="100%" stop-color="#5b21b6" data-v-1cbc77d6></stop></linearGradient><linearGradient id="agvGrad" x1="0" y1="0" x2="1" y2="0" data-v-1cbc77d6><stop offset="0%" stop-color="#8b5cf6" data-v-1cbc77d6></stop><stop offset="100%" stop-color="#4c1d95" data-v-1cbc77d6></stop></linearGradient><radialGradient id="lightGrad" cx="50%" cy="40%" r="60%" data-v-1cbc77d6><stop offset="0%" stop-color="rgba(196,181,253,0.9)" data-v-1cbc77d6></stop><stop offset="60%" stop-color="rgba(124,58,237,0.25)" data-v-1cbc77d6></stop><stop offset="100%" stop-color="rgba(124,58,237,0)" data-v-1cbc77d6></stop></radialGradient><pattern id="gridPat" width="32" height="20" patternUnits="userSpaceOnUse" patternTransform="skewX(-30)" data-v-1cbc77d6><path d="M0 0H32M0 20H32" stroke="rgba(196,181,253,0.18)" stroke-width="1" data-v-1cbc77d6></path><path d="M0 0V20M32 0V20" stroke="rgba(196,181,253,0.10)" stroke-width="1" data-v-1cbc77d6></path></pattern></defs><ellipse cx="260" cy="120" rx="220" ry="120" fill="url(#lightGrad)" opacity="0.85" data-v-1cbc77d6></ellipse><path d="M40 280 L480 280 L420 200 L100 200 Z" fill="url(#floorGrad)" data-v-1cbc77d6></path><path d="M40 280 L480 280 L420 200 L100 200 Z" fill="url(#gridPat)" opacity="0.85" data-v-1cbc77d6></path>',4)),$("g",X9,[($t(),Kt(Ma,null,La(4,F=>$("g",{key:`shelf-${F}`},[$("rect",{x:140+(F-1)*60,y:"130",width:"40",height:"70",rx:"3",fill:"url(#boxGrad2)",opacity:"0.85"},null,8,q9),$("rect",{x:146+(F-1)*60,y:"138",width:"28",height:"6",fill:"rgba(255,255,255,0.18)"},null,8,K9),$("rect",{x:146+(F-1)*60,y:"152",width:"28",height:"6",fill:"rgba(255,255,255,0.12)"},null,8,J9),$("rect",{x:146+(F-1)*60,y:"166",width:"28",height:"6",fill:"rgba(255,255,255,0.10)"},null,8,Q9),$("rect",{x:146+(F-1)*60,y:"180",width:"28",height:"6",fill:"rgba(255,255,255,0.08)"},null,8,j9)])),64))]),Y[11]||(Y[11]=pm('<g data-v-1cbc77d6><rect x="60" y="226" width="180" height="14" rx="2" fill="#1a1040" stroke="rgba(196,181,253,0.4)" data-v-1cbc77d6></rect><line x1="60" y1="232" x2="240" y2="232" stroke="rgba(196,181,253,0.35)" stroke-dasharray="6 4" data-v-1cbc77d6></line></g><g class="agv agv-1" data-v-1cbc77d6><rect x="100" y="240" width="56" height="22" rx="4" fill="url(#agvGrad)" stroke="rgba(196,181,253,0.55)" data-v-1cbc77d6></rect><rect x="106" y="234" width="44" height="10" rx="2" fill="rgba(196,181,253,0.85)" data-v-1cbc77d6></rect><circle cx="112" cy="266" r="5" fill="#1a1040" stroke="#c4b5fd" data-v-1cbc77d6></circle><circle cx="148" cy="266" r="5" fill="#1a1040" stroke="#c4b5fd" data-v-1cbc77d6></circle><circle cx="128" cy="232" r="3" fill="#fff" data-v-1cbc77d6><animate attributeName="opacity" values="0.4;1;0.4" dur="1.8s" repeatCount="indefinite" data-v-1cbc77d6></animate></circle></g><g class="agv agv-2" data-v-1cbc77d6><rect x="320" y="248" width="64" height="24" rx="4" fill="url(#agvGrad)" stroke="rgba(196,181,253,0.55)" data-v-1cbc77d6></rect><rect x="328" y="240" width="48" height="12" rx="2" fill="rgba(196,181,253,0.85)" data-v-1cbc77d6></rect><circle cx="332" cy="276" r="5" fill="#1a1040" stroke="#c4b5fd" data-v-1cbc77d6></circle><circle cx="372" cy="276" r="5" fill="#1a1040" stroke="#c4b5fd" data-v-1cbc77d6></circle><circle cx="352" cy="238" r="3" fill="#fff" data-v-1cbc77d6><animate attributeName="opacity" values="0.4;1;0.4" dur="2.2s" repeatCount="indefinite" data-v-1cbc77d6></animate></circle></g><g data-v-1cbc77d6><rect x="270" y="232" width="22" height="22" fill="url(#boxGrad)" rx="2" data-v-1cbc77d6></rect><rect x="270" y="210" width="22" height="22" fill="url(#boxGrad)" rx="2" data-v-1cbc77d6></rect><rect x="246" y="232" width="22" height="22" fill="url(#boxGrad2)" rx="2" data-v-1cbc77d6></rect></g><g data-v-1cbc77d6><rect x="420" y="120" width="36" height="120" fill="#1a1040" stroke="rgba(196,181,253,0.55)" data-v-1cbc77d6></rect><rect x="420" y="120" width="36" height="14" fill="rgba(196,181,253,0.45)" data-v-1cbc77d6></rect><rect x="424" y="138" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><rect x="424" y="152" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><rect x="424" y="166" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><rect x="424" y="180" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><rect x="424" y="194" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><rect x="424" y="208" width="28" height="6" fill="rgba(196,181,253,0.20)" data-v-1cbc77d6></rect><circle cx="438" cy="115" r="3" fill="#fff" data-v-1cbc77d6><animate attributeName="opacity" values="0.3;1;0.3" dur="1.5s" repeatCount="indefinite" data-v-1cbc77d6></animate></circle></g><g class="float-data" transform="translate(360,110)" data-v-1cbc77d6><rect x="-30" y="-16" width="80" height="22" rx="11" fill="rgba(255,255,255,0.10)" stroke="rgba(196,181,253,0.55)" data-v-1cbc77d6></rect><circle cx="-18" cy="-5" r="3" fill="#22c55e" data-v-1cbc77d6></circle><text x="-10" y="-1" font-size="10" fill="#fff" font-family="monospace" data-v-1cbc77d6>AGV-021 · 92%</text></g><g class="float-data" transform="translate(140,80)" data-v-1cbc77d6><rect x="-30" y="-16" width="92" height="22" rx="11" fill="rgba(255,255,255,0.10)" stroke="rgba(196,181,253,0.55)" data-v-1cbc77d6></rect><circle cx="-18" cy="-5" r="3" fill="#a855f7" data-v-1cbc77d6></circle><text x="-10" y="-1" font-size="10" fill="#fff" font-family="monospace" data-v-1cbc77d6>SHELF-A03 · OK</text></g>',7))]))])]),$("section",tY,[($t(!0),Kt(Ma,null,La(M.value,F=>($t(),Kt("div",{class:"bento bento-kpi",key:F.key},[$("div",{class:mr(["kpi-accent",`tone-${F.tone}`])},null,2),$("div",eY,[$("div",rY,[me(ft,{size:18,class:mr(["kpi-icon-sm",`tone-${F.tone}`])},{default:fe(()=>[($t(),$h(gm(F.icon)))]),_:2},1032,["class"]),$("span",aY,Wt(F.label),1)]),$("div",nY,[$("span",iY,Wt(F.value),1),$("span",{class:mr(["kpi-trend",`trend-${F.trend.dir}`])},[$("span",oY,Wt(F.trend.arrow),1),$("span",sY,Wt(F.trend.text),1)],2)])]),($t(),Kt("svg",lY,[$("defs",null,[$("linearGradient",{id:`spark-grad-${F.key}`,x1:"0",y1:"0",x2:"0",y2:"1"},[$("stop",{offset:"0%","stop-color":F.tone==="danger"?"var(--mg-status-danger)":F.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)","stop-opacity":"0.50"},null,8,fY),$("stop",{offset:"100%","stop-color":F.tone==="danger"?"var(--mg-status-danger)":F.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)","stop-opacity":"0"},null,8,hY)],8,uY)]),$("path",{d:F.sparkArea,fill:`url(#spark-grad-${F.key})`},null,8,vY),$("path",{d:F.sparkLine,fill:"none","stroke-width":"1.5",stroke:F.tone==="danger"?"var(--mg-status-danger)":F.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)"},null,8,cY)]))]))),128)),me(tt,{shadow:"never",class:"bento bento-trend"},{header:fe(()=>[$("div",dY,[$("span",pY,[me(ft,null,{default:fe(()=>[me(Vl(hL))]),_:1}),Y[14]||(Y[14]=Da(" 24h 任务趋势 ",-1))]),Y[15]||(Y[15]=$("span",{class:"card-tip mg-num"},"最近 24 小时 · 5 分钟粒度",-1))])]),default:fe(()=>[$("div",{ref_key:"trendChartRef",ref:o,class:"trend-chart"},null,512)]),_:1}),me(tt,{shadow:"never",class:"bento bento-agv"},{header:fe(()=>[$("div",gY,[$("span",yY,[me(ft,null,{default:fe(()=>[me(Vl(ym))]),_:1}),Y[16]||(Y[16]=Da(" AGV 状态分布 ",-1))]),$("span",mY,[Da(Wt(R.value)+" 台",1),I.value?($t(),Kt("span",_Y,"·示例")):mm("",!0)])])]),default:fe(()=>[$("div",SY,[$("div",xY,[$("div",{ref_key:"agvChartRef",ref:s,class:"agv-chart"},null,512),$("div",bY,[$("div",wY,Wt(R.value),1),Y[17]||(Y[17]=$("div",{class:"agv-center-label"},"总台数",-1))])]),$("ul",TY,[($t(!0),Kt(Ma,null,La(P.value,F=>($t(),Kt("li",{key:F.key},[$("span",{class:"dot",style:Yh({background:F.color})},null,4),$("span",AY,Wt(F.label),1),$("span",CY,Wt(F.value),1),$("span",DY,Wt(R.value>0?Math.round(F.value/R.value*100):0)+"%",1)]))),128))])])]),_:1}),me(tt,{shadow:"never",class:"bento bento-ratio"},{header:fe(()=>[$("div",MY,[$("span",LY,[me(ft,null,{default:fe(()=>[me(Vl(vL))]),_:1}),Y[18]||(Y[18]=Da(" 各任务占比 ",-1))]),$("span",IY,"总计 "+Wt(i.value.length)+" 个任务",1)])]),default:fe(()=>[$("div",PY,[($t(!0),Kt(Ma,null,La(L.value,F=>($t(),Kt("span",{key:F.name,class:mr(["ratio-seg",`tone-${F.tone}`]),style:Yh({width:`${F.pct}%`}),title:`${F.name} ${F.pct}%`},[F.pct>=8?($t(),Kt("span",EY,Wt(F.pct)+"%",1)):mm("",!0)],14,RY))),128))]),$("ul",kY,[($t(!0),Kt(Ma,null,La(L.value,F=>($t(),Kt("li",{key:F.name},[$("span",{class:mr(["dot",`tone-${F.tone}`])},null,2),$("span",OY,Wt(F.name),1),$("span",NY,Wt(F.pct)+"%",1)]))),128))])]),_:1}),me(tt,{shadow:"never",class:"bento bento-todo"},{header:fe(()=>[$("div",BY,[$("span",VY,[me(ft,null,{default:fe(()=>[me(Vl(dL))]),_:1}),Y[19]||(Y[19]=Da(" 待办事项 ",-1))]),me(q,{class:"more-link",underline:"never"},{default:fe(()=>[...Y[20]||(Y[20]=[Da("详情 ›",-1)])]),_:1})])]),default:fe(()=>[me(Q,{modelValue:l.value,"onUpdate:modelValue":Y[0]||(Y[0]=F=>l.value=F),class:"todo-tabs"},{default:fe(()=>[($t(!0),Kt(Ma,null,La(O.value,F=>($t(),$h(it,{key:F.name,name:F.name},{label:fe(()=>[$("span",zY,[Da(Wt(F.label)+" ",1),$("em",{class:mr(["tab-count",F.tone])},Wt(F.count),3)])]),default:fe(()=>[F.count===0?($t(),Kt("div",GY,[...Y[21]||(Y[21]=[$("svg",{width:"120",height:"80",viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[$("defs",null,[$("linearGradient",{id:"empGrad",x1:"0",y1:"0",x2:"1",y2:"1"},[$("stop",{offset:"0%","stop-color":"var(--mg-primary-hover)"}),$("stop",{offset:"100%","stop-color":"var(--mg-primary-active)"})])]),$("ellipse",{cx:"60",cy:"68",rx:"40",ry:"6",fill:"rgba(var(--mg-accent-rgb),0.15)"}),$("rect",{x:"34",y:"28",width:"52",height:"32",rx:"4",fill:"url(#empGrad)",opacity:"0.8"}),$("rect",{x:"40",y:"34",width:"40",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.4)"}),$("rect",{x:"40",y:"42",width:"30",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.30)"}),$("rect",{x:"40",y:"50",width:"36",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.20)"}),$("circle",{cx:"80",cy:"22",r:"6",fill:"var(--mg-accent)",opacity:"0.85"}),$("path",{d:"M77 22h6M80 19v6",stroke:"var(--mg-bg-aside-2)","stroke-width":"1.5","stroke-linecap":"round"})],-1),$("p",null,"暂无数据",-1)])])):($t(),Kt("ul",FY,[($t(!0),Kt(Ma,null,La(F.items??[],(Lt,_t)=>($t(),Kt("li",{key:_t},[$("span",{class:mr(["todo-pill",F.tone])},Wt(F.label),3),$("span",HY,Wt(Lt.text),1),$("span",WY,Wt(Lt.time),1)]))),128))]))]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])]),_:1})])])}}}),QY=LL(UY,[["__scopeId","data-v-1cbc77d6"]]);export{QY as default}; diff --git a/MiGu.Server/wwwroot/assets/DeviceHubView-DdDpWQEi.js b/MiGu.Server/wwwroot/assets/DeviceHubView-DdDpWQEi.js new file mode 100644 index 0000000..e820838 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/DeviceHubView-DdDpWQEi.js @@ -0,0 +1 @@ +import{aG as b,aA as u,bB as a,bm as f,b as h,b3 as w,aF as e,a9 as v,aa as E,ab as D,a8 as C,F as P,G as T,aE as i,bj as r,ac as V}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as g}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const Q=b({__name:"DeviceHubView",setup(x){return(B,I)=>{const l=D,s=E,n=v,d=C,o=T,c=P,m=V;return w(),u(g,{section:"device",title:"第三方设备统一接入",description:"电梯/卷帘门/安全门/充电桩/AP/交换机/摄像头/读码器/PLC(DeviceManagementConfig)",defaults:f(h)},{default:a(({payload:t})=>[e(m,{"model-value":"drivers"},{default:a(()=>[e(n,{name:"drivers",label:"驱动绑定"},{default:a(()=>[e(s,{data:t.drivers,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"设备类型",prop:"deviceType",width:"120"}),e(l,{label:"驱动名",prop:"driverName"}),e(l,{label:"版本",prop:"version",width:"100"})]),_:1},8,["data"])]),_:2},1024),e(n,{name:"devices",label:"设备实例"},{default:a(()=>[e(s,{data:t.devices,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"名称",prop:"name",width:"140"}),e(l,{label:"类型",prop:"deviceType",width:"100"}),e(l,{label:"协议",prop:"protocol",width:"120"}),e(l,{label:"地址",prop:"address"}),e(l,{label:"启用",width:"80"},{default:a(p=>[e(d,{modelValue:p.row.enabled,"onUpdate:modelValue":_=>p.row.enabled=_},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(n,{name:"policy",label:"健康 / 告警"},{default:a(()=>[e(c,{column:2,border:""},{default:a(()=>[e(o,{label:"心跳周期 (s)"},{default:a(()=>[i(r(t.healthPolicy.heartbeatSec),1)]),_:2},1024),e(o,{label:"离线判定 (s)"},{default:a(()=>[i(r(t.healthPolicy.offlineSec),1)]),_:2},1024),e(o,{label:"告警启用"},{default:a(()=>[i(r(t.alarmPolicy.enabled?"是":"否"),1)]),_:2},1024),e(o,{label:"规则数"},{default:a(()=>[i(r(t.alarmPolicy.rules.length),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{Q as default}; diff --git a/MiGu.Server/wwwroot/assets/ExternalIntegrationView-ERIDBz7X.js b/MiGu.Server/wwwroot/assets/ExternalIntegrationView-ERIDBz7X.js new file mode 100644 index 0000000..53af23b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ExternalIntegrationView-ERIDBz7X.js @@ -0,0 +1 @@ +import{aG as U,aA as x,bB as a,bm as c,d as g,b3 as b,aF as t,aC as h,bd as T,a9 as S,aa as B,ab as I,S as $,a8 as v,s as D,aE as f,b6 as N,bj as z,ai as A,ac as F}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as L}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const te=U({__name:"ExternalIntegrationView",setup(R){function w(r,s,l){const o=`${l}-${Date.now()}`,u={...r,[l]:[...r[l],{id:o,name:"新端点",url:"http://",enabled:!1}]};s(u)}function V(r,s,l,o){const u={...r,[l]:r[l].filter((i,d)=>d!==o)};s(u)}return(r,s)=>{const l=$,o=I,u=v,i=D,d=B,E=S,C=F;return b(),x(L,{section:"integrations",title:"外部系统对接",description:"MES / WMS / RCS 等标准接口配置(ExternalIntegrations)",defaults:c(g)},{default:a(({payload:p,update:_})=>[t(C,{"model-value":"mes"},{default:a(()=>[(b(),h(A,null,T(["mes","wms","rcs"],m=>t(E,{key:m,name:m,label:m.toUpperCase()},{default:a(()=>[t(d,{data:p[m],size:"small",border:""},{default:a(()=>[t(o,{label:"ID",width:"120"},{default:a(e=>[t(l,{modelValue:e.row.id,"onUpdate:modelValue":n=>e.row.id=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"名称","min-width":"160"},{default:a(e=>[t(l,{modelValue:e.row.name,"onUpdate:modelValue":n=>e.row.name=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"URL","min-width":"260"},{default:a(e=>[t(l,{modelValue:e.row.url,"onUpdate:modelValue":n=>e.row.url=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"启用",width:"80"},{default:a(e=>[t(u,{modelValue:e.row.enabled,"onUpdate:modelValue":n=>e.row.enabled=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"操作",width:"80"},{default:a(e=>[t(i,{text:"",type:"danger",size:"small",onClick:n=>V(p,_,m,e.$index)},{default:a(()=>[...s[0]||(s[0]=[f("删除",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"]),t(i,{size:"small",icon:c(N),style:{"margin-top":"8px"},onClick:e=>w(p,_,m)},{default:a(()=>[f("新增 "+z(m.toUpperCase())+" 端点",1)]),_:2},1032,["icon","onClick"])]),_:2},1032,["name","label"])),64))]),_:2},1024)]),_:1},8,["defaults"])}}});export{te as default}; diff --git a/MiGu.Server/wwwroot/assets/FleetLifecycleView-qDfurtqR.js b/MiGu.Server/wwwroot/assets/FleetLifecycleView-qDfurtqR.js new file mode 100644 index 0000000..d07e59a --- /dev/null +++ b/MiGu.Server/wwwroot/assets/FleetLifecycleView-qDfurtqR.js @@ -0,0 +1 @@ +import{aG as f,aA as m,bB as t,bm as g,c as h,b3 as _,aF as e,a9 as T,aa as E,ab as w,aC as k,bd as F,ad as C,aE as l,bj as o,ai as D,F as x,G as B,ac as L}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as O}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const X=f({__name:"FleetLifecycleView",setup(A){return(z,I)=>{const s=w,p=C,d=E,n=T,r=B,i=x,b=L;return _(),m(O,{section:"fleet",title:"车队全生命周期",description:"分区域/跨楼层/多车协作;OTA、批量操作、网络诊断(FleetLifecycleConfig)",defaults:g(h)},{default:t(({payload:a})=>[e(b,{"model-value":"groups"},{default:t(()=>[e(n,{name:"groups",label:"车队分组"},{default:t(()=>[e(d,{data:a.groups,size:"small",border:""},{default:t(()=>[e(s,{label:"ID",prop:"id",width:"100"}),e(s,{label:"名称",prop:"name",width:"140"}),e(s,{label:"楼层",prop:"floor",width:"80"}),e(s,{label:"区域",prop:"region",width:"80"}),e(s,{label:"车辆"},{default:t(u=>[(_(!0),k(D,null,F(u.row.carIds,c=>(_(),m(p,{key:c,size:"small",style:{margin:"2px"}},{default:t(()=>[l(o(c),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["data"])]),_:2},1024),e(n,{name:"ota",label:"OTA 升级"},{default:t(()=>[e(i,{column:2,border:""},{default:t(()=>[e(r,{label:"启用"},{default:t(()=>[l(o(a.ota.enabled?"是":"否"),1)]),_:2},1024),e(r,{label:"批次大小"},{default:t(()=>[l(o(a.ota.batchSize),1)]),_:2},1024),e(r,{label:"失败回滚"},{default:t(()=>[l(o(a.ota.rollbackOnFail?"是":"否"),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),e(n,{name:"batch",label:"批量操作"},{default:t(()=>[e(i,{column:2,border:""},{default:t(()=>[e(r,{label:"需确认"},{default:t(()=>[l(o(a.batchOps.confirmationRequired?"是":"否"),1)]),_:2},1024),e(r,{label:"最大批量"},{default:t(()=>[l(o(a.batchOps.maxBatch),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),e(n,{name:"diag",label:"网络诊断"},{default:t(()=>[e(i,{column:2,border:""},{default:t(()=>[e(r,{label:"RTT 阈值 (ms)"},{default:t(()=>[l(o(a.networkDiag.rttThresholdMs),1)]),_:2},1024),e(r,{label:"丢包阈值"},{default:t(()=>[l(o(a.networkDiag.packetLossThreshold),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{X as default}; diff --git a/MiGu.Server/wwwroot/assets/LocationView-BM2ilHau.js b/MiGu.Server/wwwroot/assets/LocationView-BM2ilHau.js new file mode 100644 index 0000000..0470e3d --- /dev/null +++ b/MiGu.Server/wwwroot/assets/LocationView-BM2ilHau.js @@ -0,0 +1 @@ +import{aG as s,aA as m,bB as t,bm as c,e as d,b3 as _,aF as e,a9 as b,aa as u,ab as f,$ as w,ac as h}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{C as g}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const V=s({__name:"LocationView",setup(T){return(C,E)=>{const a=f,i=w,o=u,l=b,n=h;return _(),m(g,{section:"location",title:"库位管理",description:"出入库、库存、库位可视化(LocationManagement)",defaults:c(d)},{default:t(({payload:p})=>[e(n,{"model-value":"locs"},{default:t(()=>[e(l,{name:"locs",label:"库位"},{default:t(()=>[e(o,{data:p.locations,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"编码",prop:"code",width:"120"}),e(a,{label:"名称",prop:"name"}),e(a,{label:"站点",prop:"siteId",width:"100"}),e(a,{label:"容量",prop:"capacity",width:"100"}),e(a,{label:"占用"},{default:t(r=>[e(i,{percentage:Math.round(r.row.occupied/r.row.capacity*100),"stroke-width":10},null,8,["percentage"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(l,{name:"rules",label:"库存规则"},{default:t(()=>[e(o,{data:p.inventoryRules,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"物料类型",prop:"itemType"}),e(a,{label:"下限",prop:"minQty",width:"100"}),e(a,{label:"上限",prop:"maxQty",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{V as default}; diff --git a/MiGu.Server/wwwroot/assets/LoginView-CoJzk9R3.css b/MiGu.Server/wwwroot/assets/LoginView-CoJzk9R3.css new file mode 100644 index 0000000..3ee63c5 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/LoginView-CoJzk9R3.css @@ -0,0 +1 @@ +.login-page[data-v-a5f3efd2]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}.bg-image[data-v-a5f3efd2]{position:absolute;inset:0;background:url(/login-bg.jpg) center/cover no-repeat;filter:saturate(.35) brightness(.34) hue-rotate(-12deg);transform:scale(1.08);z-index:0}.bg-overlay[data-v-a5f3efd2]{position:absolute;inset:0;background:radial-gradient(ellipse at 12% 18%,rgba(var(--mg-primary-hover-rgb),.65) 0%,transparent 55%),radial-gradient(ellipse at 85% 80%,rgba(var(--mg-bg-app-deep-rgb),.78) 0%,transparent 60%),radial-gradient(ellipse at 50% 50%,rgba(var(--mg-primary-rgb),.4) 0%,transparent 70%),linear-gradient(135deg,rgba(var(--mg-bg-aside-rgb),.85),rgba(var(--mg-primary-rgb),.48),rgba(var(--mg-bg-app-deep-rgb),.88));z-index:1}.bg-overlay[data-v-a5f3efd2]:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(var(--mg-accent-rgb),.08) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mg-accent-rgb),.08) 1px,transparent 1px);background-size:56px 56px,56px 56px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.7) 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.7) 0%,transparent 70%)}.bg-orb[data-v-a5f3efd2]{position:absolute;border-radius:50%;filter:blur(90px);z-index:1;pointer-events:none;animation:drift-a5f3efd2 18s ease-in-out infinite}.bg-orb-a[data-v-a5f3efd2]{width:460px;height:460px;top:-140px;left:-120px;background:radial-gradient(circle,var(--mg-accent) 0%,var(--mg-primary) 50%,transparent 80%);opacity:.6}.bg-orb-b[data-v-a5f3efd2]{width:580px;height:580px;bottom:-200px;right:-180px;background:radial-gradient(circle,var(--mg-primary-hover) 0%,var(--mg-bg-app-3) 60%,transparent 85%);opacity:.55;animation-delay:-6s}.bg-orb-c[data-v-a5f3efd2]{width:320px;height:320px;top:30%;right:8%;background:radial-gradient(circle,var(--mg-primary-light-8) 0%,var(--mg-primary-hover) 60%,transparent 90%);opacity:.32;animation-delay:-12s}@keyframes drift-a5f3efd2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-30px) scale(1.05)}}.bg-stars[data-v-a5f3efd2]{position:absolute;inset:0;z-index:1;pointer-events:none}.bg-stars span[data-v-a5f3efd2]{position:absolute;background:#fff;border-radius:50%;box-shadow:0 0 8px #fff9;animation:twinkle-a5f3efd2 4s ease-in-out infinite}@keyframes twinkle-a5f3efd2{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.login-card[data-v-a5f3efd2]{position:relative;z-index:2;width:880px;max-width:calc(100vw - 32px);min-height:560px;display:grid;grid-template-columns:340px 1fr;overflow:hidden;box-shadow:0 40px 100px #000000a6,0 0 80px rgba(var(--mg-primary-rgb),.42),0 0 0 1px rgba(var(--mg-accent-rgb),.3) inset,0 1px #fff6 inset!important}.login-card[data-v-a5f3efd2]:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.6) 30%,rgba(255,255,255,.95) 50%,rgba(var(--mg-accent-rgb),.6) 70%,transparent 100%);pointer-events:none;z-index:3}.hero[data-v-a5f3efd2]{position:relative;padding:40px 32px;color:#fff;background:linear-gradient(180deg,rgba(var(--mg-primary-hover-rgb),.42),rgba(var(--mg-bg-aside-rgb),.35));border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.hero[data-v-a5f3efd2]:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(var(--mg-accent-rgb),.35),transparent 60%);pointer-events:none}.hero-brand[data-v-a5f3efd2]{display:flex;align-items:center;gap:14px}.hero-mark[data-v-a5f3efd2]{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--mg-accent) 0%,var(--mg-primary-hover) 50%,var(--mg-primary-active) 100%);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;box-shadow:0 14px 32px rgba(var(--mg-primary-rgb),.65),0 0 36px rgba(var(--mg-primary-hover-rgb),.55),0 0 0 1px #ffffff4d inset;letter-spacing:1px;animation:mg-pulse-glow 3.6s ease-in-out infinite}.hero-name[data-v-a5f3efd2]{font-size:34px;font-weight:700;letter-spacing:4px;background:linear-gradient(90deg,#ffffff 0%,var(--mg-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px rgba(var(--mg-accent-rgb),.45)}.hero-tagline[data-v-a5f3efd2]{margin-top:32px;font-size:18px;font-weight:500;letter-spacing:8px;color:#fffffff0}.hero-tagline-en[data-v-a5f3efd2]{margin-top:4px;font-size:11px;letter-spacing:3px;color:#e8d7f599;text-transform:uppercase}.hero-divider[data-v-a5f3efd2]{margin:22px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.hero-points[data-v-a5f3efd2]{list-style:none;padding:0;margin:0;font-size:12.5px;color:#ece1f5d9;line-height:1.9;flex:1}.hero-points li[data-v-a5f3efd2]{display:flex;align-items:center;gap:8px}.hero-points .dot[data-v-a5f3efd2]{width:6px;height:6px;border-radius:50%;background:var(--mg-accent);box-shadow:0 0 10px rgba(var(--mg-accent-rgb),.85);flex-shrink:0}.hero-footnote[data-v-a5f3efd2]{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:11px;color:#e8d7f58c;letter-spacing:1px}.hero-footnote .badge[data-v-a5f3efd2]{padding:2px 8px;border-radius:10px;background:#ffffff29;border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:600}.panel[data-v-a5f3efd2]{padding:44px 44px 32px;display:flex;flex-direction:column;background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.panel-head[data-v-a5f3efd2]{margin-bottom:28px}.panel-title[data-v-a5f3efd2]{font-size:30px;font-weight:700;letter-spacing:12px;background:linear-gradient(135deg,#ffffff 0%,var(--mg-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 22px rgba(var(--mg-primary-hover-rgb),.6)}.panel-sub[data-v-a5f3efd2]{margin-top:6px;font-size:12.5px;color:#e8d7f5a6;letter-spacing:1px}.glass-form[data-v-a5f3efd2]{flex:1;display:flex;flex-direction:column}.glass-form[data-v-a5f3efd2] .el-form-item{margin-bottom:18px}.glass-form[data-v-a5f3efd2] .el-input__wrapper{background:#ffffff14!important;box-shadow:0 0 0 1px #ffffff2e inset!important;border-radius:10px!important;transition:all .25s}.glass-form[data-v-a5f3efd2] .el-input__wrapper:hover{background:#ffffff21!important;box-shadow:0 0 0 1px rgba(var(--mg-accent-rgb),.55) inset!important}.glass-form[data-v-a5f3efd2] .el-input__wrapper.is-focus{background:#ffffff26!important;box-shadow:0 0 0 1px rgba(var(--mg-accent-rgb),.85) inset,0 0 20px rgba(var(--mg-primary-hover-rgb),.55)!important}.glass-form[data-v-a5f3efd2] .el-input__inner{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px;height:42px}.glass-form[data-v-a5f3efd2] .el-input__inner::placeholder{color:#ffffff73}.glass-form[data-v-a5f3efd2] .el-input__prefix-inner>:first-child,.glass-form[data-v-a5f3efd2] .el-input__suffix-inner{color:#fff9}.scope-item[data-v-a5f3efd2] .el-form-item__content{width:100%}.scope-wrap[data-v-a5f3efd2]{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.launch-mode-item[data-v-a5f3efd2] .el-form-item__content{display:flex;flex-direction:column;align-items:stretch}.launch-mode-head[data-v-a5f3efd2]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:#e8d7f5b8;letter-spacing:1px}.launch-mode-title[data-v-a5f3efd2]{font-weight:500}.launch-mode-help[data-v-a5f3efd2]{color:#e8d7f58c;cursor:help;font-size:14px}.launch-mode-help[data-v-a5f3efd2]:hover{color:var(--mg-accent)}.launch-wrap[data-v-a5f3efd2]{margin-bottom:4px}.launch-tip[data-v-a5f3efd2]{max-width:280px;line-height:1.6;font-size:12px}.launch-tip>div+div[data-v-a5f3efd2]{margin-top:6px}.scope-tab[data-v-a5f3efd2]{appearance:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px;color:#ffffffc7;cursor:pointer;transition:all .2s;text-align:left}.scope-tab[data-v-a5f3efd2]:hover{background:#ffffff1f;color:#fff;transform:translateY(-1px)}.scope-tab.active[data-v-a5f3efd2]{background:linear-gradient(135deg,rgba(var(--mg-primary-rgb),.62),rgba(var(--mg-primary-hover-rgb),.42));border-color:rgba(var(--mg-accent-rgb),.85);color:#fff;box-shadow:0 0 24px rgba(var(--mg-primary-hover-rgb),.55),0 0 0 1px rgba(var(--mg-accent-rgb),.55) inset}.scope-tab .el-icon[data-v-a5f3efd2]{font-size:20px}.scope-meta[data-v-a5f3efd2]{display:flex;flex-direction:column;line-height:1.3;min-width:0}.scope-name[data-v-a5f3efd2]{font-size:14px;font-weight:600}.scope-desc[data-v-a5f3efd2]{font-size:11px;opacity:.75;margin-top:2px}.row[data-v-a5f3efd2]{display:flex;align-items:center}.row-between[data-v-a5f3efd2]{justify-content:space-between;margin:-6px 0 10px}.remember[data-v-a5f3efd2] .el-checkbox__label{color:#ffffffeb!important;font-size:12.5px;text-shadow:0 1px 2px rgba(22,4,31,.4)}.remember[data-v-a5f3efd2] .el-checkbox__inner{background:#ffffff1a;border-color:#ffffff59}.remember[data-v-a5f3efd2] .el-checkbox.is-checked .el-checkbox__inner{background:var(--mg-primary);border-color:var(--mg-primary)}.adv-link[data-v-a5f3efd2]{color:#e8d7f5d1!important;font-size:12.5px}.adv-link[data-v-a5f3efd2]:hover{color:#fff!important}.adv-collapse[data-v-a5f3efd2]{background:transparent!important;border:none!important;margin-bottom:16px}.adv-collapse[data-v-a5f3efd2] .el-collapse-item__wrap,.adv-collapse[data-v-a5f3efd2] .el-collapse-item__header{background:transparent!important;border-color:#ffffff26!important;color:#e8d7f5d1!important}.adv-title[data-v-a5f3efd2]{font-size:12px;letter-spacing:1px}.adv-grid[data-v-a5f3efd2]{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding-top:6px}.adv-grid[data-v-a5f3efd2] .el-form-item__label{color:#e8d7f5b3;font-size:12px}.adv-grid[data-v-a5f3efd2] .el-input-number{width:100%}.adv-grid[data-v-a5f3efd2] .el-input-number .el-input__inner{text-align:left}.btn-login[data-v-a5f3efd2]{position:relative;overflow:hidden;height:46px!important;border-radius:10px;margin-top:6px;font-size:15px;letter-spacing:6px;font-weight:600;background:linear-gradient(135deg,var(--mg-primary) 0%,var(--mg-primary-hover) 100%)!important;border:none!important;box-shadow:0 12px 28px rgba(var(--mg-primary-rgb),.55),0 0 28px rgba(var(--mg-primary-hover-rgb),.4),0 0 0 1px #ffffff38 inset!important;transition:all .28s cubic-bezier(.25,.8,.25,1)}.btn-login[data-v-a5f3efd2]:after{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 70%,transparent 100%);transition:left .6s cubic-bezier(.25,.8,.25,1);pointer-events:none}.btn-login[data-v-a5f3efd2]:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--mg-primary-hover) 0%,var(--mg-primary-light-3) 100%)!important;box-shadow:0 18px 38px rgba(var(--mg-primary-rgb),.65),0 0 42px rgba(var(--mg-primary-hover-rgb),.65),0 0 0 1px rgba(var(--mg-accent-rgb),.55) inset!important}.btn-login[data-v-a5f3efd2]:hover:after{left:120%}.bottom-note[data-v-a5f3efd2]{margin-top:16px;font-size:11.5px;color:#e8d7f58c;text-align:center;line-height:1.6}.footer-stamp[data-v-a5f3efd2]{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:1.5px;color:#e8d7f566;z-index:2}.glass-form[data-v-a5f3efd2] .el-form-item__error{color:#ff9bb8;padding-top:4px}@media (max-width: 720px){.login-card[data-v-a5f3efd2]{grid-template-columns:1fr;min-height:auto}.hero[data-v-a5f3efd2]{border-right:none;border-bottom:1px solid rgba(255,255,255,.12);padding:28px}.panel[data-v-a5f3efd2]{padding:28px}.hero-points[data-v-a5f3efd2],.hero-divider[data-v-a5f3efd2]{display:none}} diff --git a/MiGu.Server/wwwroot/assets/LoginView-D_TsC36_.js b/MiGu.Server/wwwroot/assets/LoginView-D_TsC36_.js new file mode 100644 index 0000000..3715c22 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/LoginView-D_TsC36_.js @@ -0,0 +1 @@ +import{aG as q,bo as N,br as F,aC as C,aD as M,az as a,ai as B,bd as O,bj as y,bm as r,aF as s,bB as o,av as G,O as H,bp as Y,bq as j,b3 as P,a_ as X,P as Z,S as J,R as K,bs as Q,aV as ee,aZ as c,bi as ae,aX as se,ag as oe,b9 as te,aE as p,ay as le,aw as ne,v as de,U as re,y as ie,z as ue,T as pe,s as me,bb as k,ba as R,Y as f,al as ce}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";const fe={class:"login-page"},ve={class:"bg-stars","aria-hidden":"true"},be={class:"login-card mg-glass-lg"},ge={class:"hero"},_e={class:"hero-footnote"},Ve={class:"panel"},we={class:"scope-wrap"},ye={class:"launch-mode-head"},ke={class:"scope-wrap launch-wrap"},Ee={class:"row row-between"},he={class:"adv-grid"},Ce={class:"footer-stamp"},Me=q({__name:"LoginView",setup(Pe){const S=Y(),W=j(),E=N(),h=F(),v=k(),b=k(!1),m=k([]),l=R({username:"admin",password:"admin",scope:"Platform",launchMode:"DesktopAndWeb",remember:!0}),i=R({host:"0.0.0.0",apiPort:7001,platformPort:8080,vrPort:8223}),x={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],scope:[{required:!0,message:"请选择 scope",trigger:"change"}],launchMode:[{required:!0,message:"请选择启动模式",trigger:"change"}]},T=G(()=>new Date().getFullYear()),z=Array.from({length:18},(g,e)=>{const n=Math.random()*100,u=Math.random()*100,d=2+Math.random()*3,_=-Math.random()*6,V=.35+Math.random()*.45;return{top:`${n}%`,left:`${u}%`,width:`${d}px`,height:`${d}px`,opacity:`${V}`,animationDelay:`${_}s`}});async function I(){v.value&&await v.value.validate(async g=>{if(g){b.value=!0;try{const e=await E.login({username:l.username,password:l.password,scope:l.scope,launchMode:l.launchMode});f.success(`欢迎,${E.user?.displayName??l.username}`),e.launchWarning?f({message:e.launchWarning,type:"warning",duration:6e3,showClose:!0}):e.runMode==="Detached"&&f({message:"SimpleLite 未启动(Platform.Server 单独运行),/api/sl/* 相关功能将不可用。",type:"warning",duration:6e3,showClose:!0});const n=S.query.redirect??(l.scope==="Platform"?"/admin/dashboard":"/monitor/map");W.push(n)}catch(e){const n=e instanceof Error?e.message:String(e);f.error(`登录失败:${n}`)}finally{b.value=!1}}})}return(g,e)=>{const n=K,u=J,d=Z,_=oe,V=de,$=re,w=pe,U=ue,L=ie,A=me,D=H;return P(),C("div",fe,[e[27]||(e[27]=M('<div class="bg-image" data-v-a5f3efd2></div><div class="bg-overlay" data-v-a5f3efd2></div><div class="bg-orb bg-orb-a" data-v-a5f3efd2></div><div class="bg-orb bg-orb-b" data-v-a5f3efd2></div><div class="bg-orb bg-orb-c" data-v-a5f3efd2></div>',5)),a("div",ve,[(P(),C(B,null,O(18,t=>a("span",{key:t,style:X(r(z)[t-1])},null,4)),64))]),a("div",be,[a("div",ge,[e[14]||(e[14]=M('<div class="hero-brand" data-v-a5f3efd2><div class="hero-mark" data-v-a5f3efd2>迷</div><div class="hero-name" data-v-a5f3efd2>迷毂</div></div><div class="hero-tagline" data-v-a5f3efd2>智 能 调 度 平 台</div><div class="hero-tagline-en" data-v-a5f3efd2>INTELLIGENT · DISPATCH · PLATFORM</div><div class="hero-divider" data-v-a5f3efd2></div><ul class="hero-points" data-v-a5f3efd2><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> 复刻 ARCHITECTURE.md §3.2 启动登录窗</li><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> Web-Enabled · 管理员 / 运营 双视图</li><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> 嵌入 webVRender 真实 3D 场景</li></ul>',5)),a("div",_e,[e[13]||(e[13]=a("span",{class:"badge"},"v1.7",-1)),a("span",null,y(r(h).activeTheme.name)+" · "+y(r(h).activeTheme.preview),1)])]),a("div",Ve,[e[26]||(e[26]=a("div",{class:"panel-head"},[a("div",{class:"panel-title"},"登 录"),a("div",{class:"panel-sub"},"访问 SimpleLite 的 Vue 外壳")],-1)),s(D,{ref_key:"formRef",ref:v,model:l,rules:x,class:"glass-form","hide-required-asterisk":""},{default:o(()=>[s(d,{prop:"username"},{default:o(()=>[s(u,{modelValue:l.username,"onUpdate:modelValue":e[0]||(e[0]=t=>l.username=t),size:"large",placeholder:"用户名",autocomplete:"username",clearable:""},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(Q))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(d,{prop:"password"},{default:o(()=>[s(u,{modelValue:l.password,"onUpdate:modelValue":e[1]||(e[1]=t=>l.password=t),type:"password",size:"large","show-password":"",placeholder:"密码(Mock,任意非空)",autocomplete:"current-password"},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(ee))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(d,{prop:"scope",class:"scope-item"},{default:o(()=>[a("div",we,[a("button",{type:"button",class:c(["scope-tab",{active:l.scope==="Platform"}]),onClick:e[2]||(e[2]=t=>l.scope="Platform")},[s(n,null,{default:o(()=>[s(r(ae))]),_:1}),e[15]||(e[15]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"管理员"),a("div",{class:"scope-desc"},"platform-vue · 全功能")],-1))],2),a("button",{type:"button",class:c(["scope-tab",{active:l.scope==="RCSMonitor"}]),onClick:e[3]||(e[3]=t=>l.scope="RCSMonitor")},[s(n,null,{default:o(()=>[s(r(se))]),_:1}),e[16]||(e[16]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"运营"),a("div",{class:"scope-desc"},"rcsmonitor-vue · 受限")],-1))],2)])]),_:1}),s(d,{prop:"launchMode",class:"scope-item launch-mode-item"},{default:o(()=>[a("div",ye,[e[18]||(e[18]=a("span",{class:"launch-mode-title"},"SimpleLite 启动模式",-1)),s(_,{placement:"top"},{content:o(()=>[...e[17]||(e[17]=[a("div",{class:"launch-tip"},[a("div",null,[a("b",null,"本地+Web"),p(":登录后由 Platform 后端拉起 SimpleLite,同时打开桌面端 ImGui 窗口与浏览器端 webVRender。")]),a("div",null,[a("b",null,"仅 Web"),p(":只起 WebTerminal,不弹本地桌面窗口,适合远程办公 / 服务器部署。")])],-1)])]),default:o(()=>[s(n,{class:"launch-mode-help"},{default:o(()=>[s(r(te))]),_:1})]),_:1})]),a("div",ke,[a("button",{type:"button",class:c(["scope-tab",{active:l.launchMode==="DesktopAndWeb"}]),onClick:e[4]||(e[4]=t=>l.launchMode="DesktopAndWeb")},[s(n,null,{default:o(()=>[s(r(le))]),_:1}),e[19]||(e[19]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"本地 + Web"),a("div",{class:"scope-desc"},"桌面窗口 & 浏览器同时启动")],-1))],2),a("button",{type:"button",class:c(["scope-tab",{active:l.launchMode==="WebOnly"}]),onClick:e[5]||(e[5]=t=>l.launchMode="WebOnly")},[s(n,null,{default:o(()=>[s(r(ne))]),_:1}),e[20]||(e[20]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"仅 Web"),a("div",{class:"scope-desc"},"不启桌面窗口 · 浏览器使用")],-1))],2)])]),_:1}),a("div",Ee,[s(V,{modelValue:l.remember,"onUpdate:modelValue":e[6]||(e[6]=t=>l.remember=t),size:"default",class:"remember"},{default:o(()=>[...e[21]||(e[21]=[p("下次自动按当前 scope 进入",-1)])]),_:1},8,["modelValue"]),s($,{underline:"never",class:"adv-link",onClick:e[7]||(e[7]=t=>m.value=m.value.length?[]:["adv"])},{default:o(()=>[...e[22]||(e[22]=[p("高级 ›",-1)])]),_:1})]),s(L,{modelValue:m.value,"onUpdate:modelValue":e[12]||(e[12]=t=>m.value=t),class:"adv-collapse"},{default:o(()=>[s(U,{name:"adv"},{title:o(()=>[...e[23]||(e[23]=[a("span",{class:"adv-title"},"Web-Enabled · 端口与监听",-1)])]),default:o(()=>[a("div",he,[s(d,{label:"监听地址"},{default:o(()=>[s(u,{modelValue:i.host,"onUpdate:modelValue":e[8]||(e[8]=t=>i.host=t),size:"default"},null,8,["modelValue"])]),_:1}),s(d,{label:"WebAPI"},{default:o(()=>[s(w,{modelValue:i.apiPort,"onUpdate:modelValue":e[9]||(e[9]=t=>i.apiPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(d,{label:"Platform"},{default:o(()=>[s(w,{modelValue:i.platformPort,"onUpdate:modelValue":e[10]||(e[10]=t=>i.platformPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(d,{label:"webVRender"},{default:o(()=>[s(w,{modelValue:i.vrPort,"onUpdate:modelValue":e[11]||(e[11]=t=>i.vrPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1})])]),_:1})]),_:1},8,["modelValue"]),s(A,{type:"primary",loading:b.value,class:"btn-login",size:"large",onClick:I},{default:o(()=>[...e[24]||(e[24]=[p(" 登 录 ",-1)])]),_:1},8,["loading"]),e[25]||(e[25]=a("div",{class:"bottom-note"}," 任意非空用户名 + 任意密码即可登录;scope 决定进入 admin / monitor 视图;权限按 Mock 表生成。 ",-1))]),_:1},8,["model"])])]),a("div",Ce," 迷毂 · "+y(T.value)+" · ARCHITECTURE v1.6 · powered by webVRender ",1)])}}}),De=ce(Me,[["__scopeId","data-v-a5f3efd2"]]);export{De as default}; diff --git a/MiGu.Server/wwwroot/assets/MapEditorView-CaYR0T6s.js b/MiGu.Server/wwwroot/assets/MapEditorView-CaYR0T6s.js new file mode 100644 index 0000000..6c006a7 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapEditorView-CaYR0T6s.js @@ -0,0 +1 @@ +import{aG as xe,aC as U,aF as a,J as Yt,bB as l,az as u,ag as at,aA as G,aB as Z,ad as lt,b3 as S,s as Te,aE as p,L as Xt,K as Ht,bj as A,al as $e,a3 as mt,ai as fe,bd as ye,aZ as Ge,bA as Fe,ac as Kt,bb as I,a9 as Wt,R as ft,bm as ae,aR as Gt,aU as Zt,_ as Jt,S as nt,O as yt,E as ot,I as qt,P as vt,A as bt,T as gt,aa as Ze,ab as Je,a8 as wt,av as Q,a4 as Qt,ba as We,H as st,ah as ea,bn as ta,a1 as aa,a0 as la,y as na,U as oa,z as sa,bq as ia,Y as $,bD as ra,bC as ua,bt as da,b1 as ht,b0 as ca,bo as pa,b2 as ma,Z as M}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{W as fa}from"./Workspace3D-D7MYl2zT.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{m as O,a as pt}from"./mapEdit-DghrYjHu.js";/* empty css */import{u as ya}from"./useMapEditStream-DPAdbySW.js";import{r as q}from"./reflection-Dr3WM5Rz.js";import"./useProjectionStream-DMf_8m8X.js";const va={class:"edit-top-bar"},ba=xe({__name:"EditTopBar",props:{canUndo:{type:Boolean},canRedo:{type:Boolean},saving:{type:Boolean},viewFilter:{}},emits:["cmd"],setup(s,{emit:j}){const g=j;function d(V){g("cmd",V)}function b(V){return V?"☑":"☐"}return(V,n)=>{const k=Te,o=Ht,w=Xt,T=Yt,v=at,y=lt;return S(),U("div",va,[a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"project.open"},{default:l(()=>[...n[3]||(n[3]=[p("加载文件…",-1)])]),_:1}),a(o,{command:"project.save"},{default:l(()=>[...n[4]||(n[4]=[p("保存文件",-1)])]),_:1}),a(o,{command:"project.saveAs"},{default:l(()=>[...n[5]||(n[5]=[p("另存为…",-1)])]),_:1}),a(o,{command:"project.props",divided:""},{default:l(()=>[...n[6]||(n[6]=[p("项目属性",-1)])]),_:1}),a(o,{command:"project.close"},{default:l(()=>[...n[7]||(n[7]=[p("关闭",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[2]||(n[2]=[p("项目加载和保存",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"file.import.dwg"},{default:l(()=>[...n[9]||(n[9]=[p("导入 .dwg/.dxf",-1)])]),_:1}),a(o,{command:"file.import.geojson"},{default:l(()=>[...n[10]||(n[10]=[p("导入 .geojson",-1)])]),_:1}),a(o,{command:"file.upload.image",divided:""},{default:l(()=>[...n[11]||(n[11]=[p("导入图片",-1)])]),_:1}),a(o,{command:"file.upload.model"},{default:l(()=>[...n[12]||(n[12]=[p("导入 CycleGUI 模型",-1)])]),_:1}),a(o,{command:"file.export.png",divided:""},{default:l(()=>[...n[13]||(n[13]=[p("导出 PNG",-1)])]),_:1}),a(o,{command:"file.export.svg"},{default:l(()=>[...n[14]||(n[14]=[p("导出 SVG",-1)])]),_:1}),a(o,{command:"file.export.json"},{default:l(()=>[...n[15]||(n[15]=[p("导出 JSON",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[8]||(n[8]=[p("导入",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"edit.cut"},{default:l(()=>[...n[17]||(n[17]=[p("剪切 (Ctrl+X)",-1)])]),_:1}),a(o,{command:"edit.copy"},{default:l(()=>[...n[18]||(n[18]=[p("复制 (Ctrl+C)",-1)])]),_:1}),a(o,{command:"edit.paste"},{default:l(()=>[...n[19]||(n[19]=[p("粘贴 (Ctrl+V)",-1)])]),_:1}),a(o,{command:"edit.delete"},{default:l(()=>[...n[20]||(n[20]=[p("删除 (Del)",-1)])]),_:1}),a(o,{command:"edit.selectAll",divided:""},{default:l(()=>[...n[21]||(n[21]=[p("全选",-1)])]),_:1}),a(o,{command:"edit.invert"},{default:l(()=>[...n[22]||(n[22]=[p("反选",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[16]||(n[16]=[p("编辑",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"add.site.byCoord"},{default:l(()=>[...n[24]||(n[24]=[p("站点 (输入 x, y)",-1)])]),_:1}),a(o,{command:"add.track.polyline.byIds",divided:""},{default:l(()=>[...n[25]||(n[25]=[p("直线路径 (输入 siteA, siteB)",-1)])]),_:1}),a(o,{command:"add.track.bezier.byIds"},{default:l(()=>[...n[26]||(n[26]=[p("贝塞尔路径 (siteA/B + 控制点坐标)",-1)])]),_:1}),a(o,{command:"add.track.nurbs.byIds"},{default:l(()=>[...n[27]||(n[27]=[p("NURBS 路径 (siteA/B + 控制点坐标)",-1)])]),_:1}),a(o,{command:"add.track.arc.byIds"},{default:l(()=>[...n[28]||(n[28]=[p("弧形路径 (siteA/B + 半径)",-1)])]),_:1}),a(o,{command:"add.car.dummy.byCoord",divided:""},{default:l(()=>[...n[29]||(n[29]=[p("模拟车 (输入 x, y, 朝向)",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[23]||(n[23]=[p("添加",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"edit.undo",disabled:!s.canUndo},{default:l(()=>[...n[31]||(n[31]=[p("撤销 (Ctrl+Z)",-1)])]),_:1},8,["disabled"]),a(o,{command:"edit.redo",disabled:!s.canRedo},{default:l(()=>[...n[32]||(n[32]=[p("重做 (Ctrl+Y)",-1)])]),_:1},8,["disabled"])]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[30]||(n[30]=[p("撤销",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"view.fitAll"},{default:l(()=>[...n[34]||(n[34]=[p("缩放至全屏",-1)])]),_:1}),a(o,{command:"view.fitSelection"},{default:l(()=>[...n[35]||(n[35]=[p("缩放至选中",-1)])]),_:1}),a(o,{command:"view.toggleGrid",divided:""},{default:l(()=>[...n[36]||(n[36]=[p("显示网格",-1)])]),_:1}),a(o,{command:"view.toggleScale"},{default:l(()=>[...n[37]||(n[37]=[p("显示比例尺",-1)])]),_:1}),a(o,{command:"view.toggle2D"},{default:l(()=>[...n[38]||(n[38]=[p("切换 2D / 3D",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[33]||(n[33]=[p("视图",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,null,{default:l(()=>[a(o,{command:"layer.new"},{default:l(()=>[...n[40]||(n[40]=[p("新建图层…",-1)])]),_:1}),a(o,{command:"layer.toggleVisibility"},{default:l(()=>[...n[41]||(n[41]=[p("切换显示图层…",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[39]||(n[39]=[p("图层",-1)])]),_:1})]),_:1}),a(T,{trigger:"click",onCommand:d},{dropdown:l(()=>[a(w,{class:"topbar-filter-menu"},{default:l(()=>[a(o,{disabled:"",class:"topbar-filter-header"},{default:l(()=>[...n[43]||(n[43]=[p("选择(可拾取)",-1)])]),_:1}),a(o,{command:"view.select.sites"},{default:l(()=>[p(A(b(s.viewFilter.selectFilter.sites))+" 站点",1)]),_:1}),a(o,{command:"view.select.tracks"},{default:l(()=>[p(A(b(s.viewFilter.selectFilter.tracks))+" 路径",1)]),_:1}),a(o,{command:"view.select.cars"},{default:l(()=>[p(A(b(s.viewFilter.selectFilter.cars))+" AGV",1)]),_:1}),a(o,{command:"view.select.decor"},{default:l(()=>[p(A(b(s.viewFilter.selectFilter.decor))+" 区域 / 装饰",1)]),_:1}),a(o,{divided:"",disabled:"",class:"topbar-filter-header"},{default:l(()=>[...n[44]||(n[44]=[p("对齐(鼠标吸附)",-1)])]),_:1}),a(o,{command:"view.snap.sites"},{default:l(()=>[p(A(b(s.viewFilter.alignSnap.sites))+" 吸附站点",1)]),_:1}),a(o,{command:"view.snap.cars"},{default:l(()=>[p(A(b(s.viewFilter.alignSnap.cars))+" 吸附 AGV",1)]),_:1}),a(o,{command:"view.snap.tracks"},{default:l(()=>[p(A(b(s.viewFilter.alignSnap.tracks))+" 吸附路径",1)]),_:1}),a(o,{divided:"",disabled:"",class:"topbar-filter-header"},{default:l(()=>[...n[45]||(n[45]=[p("显示内容",-1)])]),_:1}),a(o,{command:"view.show.sceneLabels"},{default:l(()=>[p(A(b(s.viewFilter.showViewport.sceneLabels))+" 场景图元标记",1)]),_:1}),a(o,{command:"view.show.scenePrimitives"},{default:l(()=>[p(A(b(s.viewFilter.showViewport.scenePrimitives))+" 场景图元",1)]),_:1}),a(o,{command:"view.show.cars"},{default:l(()=>[p(A(b(s.viewFilter.showViewport.cars))+" 车辆",1)]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...n[42]||(n[42]=[p("过滤",-1)])]),_:1})]),_:1}),n[49]||(n[49]=u("div",{class:"spacer"},null,-1)),a(v,{content:"撤销 (Ctrl+Z)",placement:"bottom"},{default:l(()=>[a(k,{size:"small",disabled:!s.canUndo,class:"topbar-icon-btn",onClick:n[0]||(n[0]=E=>d("edit.undo"))},{default:l(()=>[...n[46]||(n[46]=[p("↶",-1)])]),_:1},8,["disabled"])]),_:1}),a(v,{content:"重做 (Ctrl+Y)",placement:"bottom"},{default:l(()=>[a(k,{size:"small",disabled:!s.canRedo,class:"topbar-icon-btn",onClick:n[1]||(n[1]=E=>d("edit.redo"))},{default:l(()=>[...n[47]||(n[47]=[p("↷",-1)])]),_:1},8,["disabled"])]),_:1}),s.saving?(S(),G(y,{key:0,type:"warning",effect:"dark",class:"topbar-saving-tag",size:"small"},{default:l(()=>[...n[48]||(n[48]=[p(" 保存中… ",-1)])]),_:1})):Z("",!0)])}}}),ga=$e(ba,[["__scopeId","data-v-ff33cd16"]]),wa={class:"edit-tool-rail"},ha={class:"rail-group-title"},ka={class:"rail-group-text"},_a={class:"rail-group-list"},xa=["onClick"],$a={class:"rail-btn-glyph"},Va={class:"rail-btn-label"},Ca={key:0,class:"rail-divider"},Sa={class:"rail-group rail-group-ai"},Fa=xe({__name:"EditToolRail",props:{activeTool:{}},emits:["select-tool","open-ai"],setup(s,{emit:j}){const g=s,d=j,b=[{id:"select",title:"选择",tools:[{id:"select.single",label:"单选",glyph:"⌖",tip:"点击拾取单个对象"},{id:"select.rect",label:"矩形框选",glyph:"▱"},{id:"select.lasso",label:"套索圈选",glyph:"◯"},{id:"select.byType.site",label:"仅站点",glyph:"·"},{id:"select.byType.polyline",label:"仅折线",glyph:"╱",tip:"仅 UITrack(直线/折线)"},{id:"select.byType.bezier",label:"仅贝塞尔",glyph:"∽",tip:"仅 UIBezierTrack"},{id:"select.byType.arc",label:"仅弧形",glyph:"◜",tip:"仅 UICircularArcTrack"},{id:"select.byType.decor",label:"仅装饰",glyph:"★"},{id:"select.byType.currentLayer",label:"当前图层",glyph:"▤",tip:"保留当前图层对象"},{id:"select.invert",label:"反选",glyph:"⇄"},{id:"select.clear",label:"清空选中",glyph:"⊘"}]},{id:"draw",title:"绘制",tools:[{id:"draw.site",label:"添加站点",glyph:"+",tip:"点击工具后在画布单击放置"},{id:"draw.sites.continuous",label:"连续站点",glyph:"⁂",tip:"切换工具或 Esc 退出"},{id:"draw.track.polyline",label:"折线路径",glyph:"─",tip:"依序点击两端站点"},{id:"draw.track.bezier",label:"贝塞尔路径",glyph:"∼",tip:"点两端站点 → 弹框输入中间控制点个数 → 连续点选每个控制点"},{id:"draw.track.arc",label:"弧形路径",glyph:"◜",tip:"点两端站点 → 输入半径(≥ |AB|/2,等于即半圆)"},{id:"draw.decor.line",label:"装饰线段",glyph:"╱"},{id:"draw.decor.rect",label:"装饰矩形",glyph:"▭"},{id:"draw.decor.circle",label:"装饰圆",glyph:"◯"},{id:"draw.decor.text",label:"装饰文本",glyph:"T"},{id:"draw.image",label:"插入图片",glyph:"🖼"},{id:"draw.model",label:"插入模型",glyph:"◎",tip:"CycleGUI 3D 模型 (obj/glb/gltf)"}]},{id:"transform",title:"变换",tools:[{id:"transform.move",label:"移动",glyph:"✥"},{id:"transform.rotate",label:"旋转",glyph:"⟳"},{id:"transform.scale",label:"缩放",glyph:"⤡"},{id:"transform.duplicate",label:"复制副本",glyph:"⎘",tip:"Ctrl+D"},{id:"transform.copy",label:"复制",glyph:"📋",tip:"Ctrl+C"},{id:"transform.paste",label:"粘贴",glyph:"📥",tip:"Ctrl+V"},{id:"transform.delete",label:"删除",glyph:"🗑",tip:"Delete"},{id:"transform.copyFields",label:"复制字段",glyph:"⇉",tip:"多选时第 1 个为源,其余为目标"}]},{id:"align",title:"对齐",tools:[{id:"align.left",label:"左对齐",glyph:"⫷"},{id:"align.right",label:"右对齐",glyph:"⫸"},{id:"align.top",label:"上对齐",glyph:"⫵"},{id:"align.bottom",label:"下对齐",glyph:"⫶"},{id:"align.centerH",label:"水平居中",glyph:"⇔"},{id:"align.centerV",label:"垂直居中",glyph:"⇕"},{id:"align.center",label:"整体居中",glyph:"⊕"},{id:"align.distributeH",label:"水平等距",glyph:"⇿"},{id:"align.distributeV",label:"垂直等距",glyph:"⇳"},{id:"align.toFirst",label:"对齐到首",glyph:"⏮"},{id:"align.toLast",label:"对齐到尾",glyph:"⏭"}]},{id:"batch",title:"批量生成",tools:[{id:"batch.linearH",label:"横向间距",glyph:"⇢"},{id:"batch.linearV",label:"纵向间距",glyph:"⇣"},{id:"batch.matrix",label:"矩阵生成",glyph:"#"},{id:"batch.alongPath",label:"沿路径采样",glyph:"⤳",tip:"先选 1+ 条路径,再点本工具"},{id:"batch.circular",label:"环形阵列",glyph:"◌"}]},{id:"show",title:"显示",tools:[{id:"show.controlPoints",label:"控制点",glyph:"⊙"},{id:"show.controlHandles",label:"控制柄",glyph:"⊝"}]}];function V(k){return k===g.activeTool}function n(k){d("select-tool",k)}return(k,o)=>{const w=at,T=mt;return S(),U("div",wa,[a(T,{class:"rail-scroll"},{default:l(()=>[(S(),U(fe,null,ye(b,(v,y)=>u("div",{key:v.id,class:"rail-group"},[u("div",ha,[o[1]||(o[1]=u("span",{class:"rail-group-bar"},null,-1)),u("span",ka,A(v.title),1),o[2]||(o[2]=u("span",{class:"rail-group-bar"},null,-1))]),u("div",_a,[(S(!0),U(fe,null,ye(v.tools,E=>(S(),G(w,{key:E.id,content:E.tip??E.label,placement:"right","show-after":280},{default:l(()=>[u("button",{class:Ge(["rail-btn",{"rail-btn--active":V(E.id)}]),onClick:z=>n(E.id)},[u("span",$a,A(E.glyph),1),u("span",Va,A(E.label),1)],10,xa)]),_:2},1032,["content"]))),128))]),y<b.length-1?(S(),U("div",Ca)):Z("",!0)])),64)),u("div",Sa,[o[4]||(o[4]=u("div",{class:"rail-group-title"},[u("span",{class:"rail-group-bar"}),u("span",{class:"rail-group-text"},"AI"),u("span",{class:"rail-group-bar"})],-1)),u("button",{class:"rail-btn rail-btn--ai",onClick:o[0]||(o[0]=v=>d("open-ai"))},[...o[3]||(o[3]=[u("span",{class:"rail-btn-glyph"},"✦",-1),u("span",{class:"rail-btn-label"},"AI 生图",-1)])])])]),_:1})])}}}),ja=$e(Fa,[["__scopeId","data-v-6b284dea"]]),Na={class:"edit-property-panel"},Ia={key:0,class:"empty-hint"},Pa={key:1,class:"loading-hint"},Aa={key:2,class:"object-pane"},Ba={class:"prop-card prop-card--header"},za={class:"prop-card-row"},Ta={class:"prop-id-block"},Ea={class:"prop-id-tag"},La={class:"prop-type-tag"},Ua={class:"prop-header-actions"},Ma=["disabled"],Da={class:"prop-delete-icon"},Oa={class:"prop-card-row prop-name-row"},Ra={class:"prop-card-row prop-layer-row"},Ya={key:0,class:"prop-card prop-card--geom"},Xa={class:"prop-card-header"},Ha=["title"],Ka={class:"prop-card-flag-text"},Wa={class:"prop-card-meta"},Ga={class:"prop-grid"},Za={class:"prop-field-label"},Ja={key:0,class:"prop-field-unit"},qa={key:1,class:"prop-card prop-card--style"},Qa={class:"prop-card-header"},el={class:"prop-card-meta"},tl={class:"prop-grid"},al={class:"prop-field-label"},ll={class:"prop-card prop-card--custom"},nl={class:"prop-card-header"},ol={class:"prop-card-meta"},sl={key:0,class:"prop-grid"},il=["title"],rl={class:"prop-field-row"},ul=["onClick"],dl={key:1,class:"prop-empty-row"},cl={key:2,class:"prop-card prop-card--status"},pl={class:"prop-card-header"},ml={class:"prop-card-meta"},fl={class:"prop-status-list"},yl={class:"prop-status-key"},vl=["title"],bl={key:3,class:"prop-card prop-card--actions"},gl={class:"prop-card-header"},wl={class:"prop-card-meta"},hl={class:"prop-actions"},kl=["disabled","onClick"],_l={key:0,class:"prop-action-spinner"},xl={class:"prop-action-label"},$l=xe({__name:"EditPropertyPanel",props:{selectionCount:{},primary:{},fields:{},status:{},methods:{},loading:{type:Boolean},layers:{},defaults:{},layerRows:{}},emits:["rename","change-layer","set-field","add-field","exec-action","save-defaults","layer-toggle","add-layer","delete"],setup(s,{emit:j}){const g=s,d=j,b=I("object"),V=I(null),n=I(""),k=I(!1),o=I(!1);let w=null;function T(){o.value=!0,w&&clearTimeout(w),w=setTimeout(()=>{o.value=!1},1200)}const v=new Set(["id","name","layerName"]),y=new Set(["x","y","z","cx","cy","cz","dx","dy","dz","sx","sy","ex","ey","startX","startY","endX","endY","size","width","height","depth","angle","rotation","theta","scale","radius","r","siteA","siteB"]),E=new Set(["color","displaySetting","direction","typeInfo","mustFree","imagePath","modelPath","fontFamily","fontSize","textColor","lineWidth","opacity"]),z={x:"X",y:"Y",z:"Z",size:"大小",width:"宽",height:"高",depth:"厚",angle:"角度",rotation:"旋转",theta:"θ",scale:"缩放",radius:"半径",siteA:"起点站",siteB:"终点站",startX:"起点 X",startY:"起点 Y",endX:"终点 X",endY:"终点 Y",cx:"中心 X",cy:"中心 Y",color:"颜色",displaySetting:"显示设置",direction:"方向",typeInfo:"类型信息",mustFree:"必须互斥",imagePath:"图片路径",modelPath:"模型路径",fontSize:"字号",textColor:"文字色",lineWidth:"线宽",opacity:"透明度"},h={x:"mm",y:"mm",z:"mm",cx:"mm",cy:"mm",cz:"mm",dx:"mm",dy:"mm",dz:"mm",startX:"mm",startY:"mm",endX:"mm",endY:"mm",width:"mm",height:"mm",depth:"mm",size:"mm",radius:"mm",angle:"°",rotation:"°",theta:"°",fontSize:"px",lineWidth:"px"},K=Q(()=>g.fields.filter(_=>!v.has(_.key))),J=Q(()=>K.value.filter(_=>y.has(_.key))),ee=Q(()=>K.value.filter(_=>E.has(_.key))),D=Q(()=>K.value.filter(_=>!y.has(_.key)&&!E.has(_.key)));function ie(_){return z[_]??_}function re(_){return h[_]??""}function le(_){if(_==null||_==="")return;const f=Number(_);return Number.isFinite(f)?f:void 0}function R(_){return _.toLowerCase().includes("angle")||_.toLowerCase().includes("rotation")||_==="theta"?1:_==="scale"||_==="opacity"?.1:10}function te(_){return y.has(_)}function ne(_,f){return _==="color"||_==="textColor"?!0:/^#[0-9a-fA-F]{3,8}$/.test(f)}function C(_,f){return f==="true"||f==="false"||f==="True"||f==="False"}function P(_){return _==="true"||_==="True"||_==="1"}const ve=Q(()=>{const _=(g.primary?.status??"").toLowerCase();return _?_.includes("error")||_.includes("alarm")||_.includes("failed")?"danger":_.includes("warn")||_.includes("idle")?"warning":_.includes("online")||_.includes("running")||_.includes("ready")||_.includes("ok")?"success":"info":"info"}),oe=I("");Fe(()=>g.primary?.name??"",_=>{oe.value=_},{immediate:!0});function ue(){W()}function W(){if(!g.primary)return;const _=oe.value;_!==(g.primary.name??"")&&d("rename",_)}function pe(_){d("change-layer",_)}function L(_,f){d("set-field",_,f),y.has(_)&&T()}function he(){d("add-field")}async function Ve(_){try{V.value=_,d("exec-action",_)}finally{V.value=null}}function Y(){d("save-defaults")}function de(_){d("layer-toggle",_)}function qe(){const _=n.value.trim();_&&(d("add-layer",_),n.value="")}function Qe(){g.selectionCount===0||k.value||(k.value=!0,d("delete"),setTimeout(()=>{k.value=!1},600))}return(_,f)=>{const Ee=ft,Ce=lt,be=at,ce=nt,je=Jt,Le=Qt,me=gt,ge=bt,Ne=wt,Ie=Wt,Ue=ot,Me=qt,we=vt,De=Te,Oe=yt,ke=Je,Re=Ze,Ye=Kt;return S(),U("div",Na,[a(Ye,{modelValue:b.value,"onUpdate:modelValue":f[9]||(f[9]=m=>b.value=m),class:"prop-tabs"},{default:l(()=>[a(Ie,{label:"对象",name:"object"},{default:l(()=>[s.selectionCount===0?(S(),U("div",Ia,[a(Ee,{class:"empty-icon"},{default:l(()=>[a(ae(Gt))]),_:1}),f[10]||(f[10]=u("span",{class:"empty-title"},"未选中对象",-1)),f[11]||(f[11]=u("span",{class:"empty-desc"},"在画布上点击或框选以编辑属性。",-1))])):s.loading?(S(),U("div",Pa,[a(Ee,{class:"is-loading"},{default:l(()=>[a(ae(Zt))]),_:1}),f[12]||(f[12]=u("span",null,"加载属性…",-1))])):(S(),U("div",Aa,[u("section",Ba,[u("div",za,[u("div",Ta,[u("span",Ea,A(s.selectionCount>1?`多选 ${s.selectionCount}`:`#${s.primary?.id??"-"}`),1),u("span",La,A(s.primary?.typeName??"-"),1)]),u("div",Ua,[s.primary?.status?(S(),G(Ce,{key:0,type:ve.value,size:"small",effect:"dark",class:"prop-status-tag"},{default:l(()=>[p(A(s.primary.status),1)]),_:1},8,["type"])):Z("",!0),a(be,{content:s.selectionCount>1?`删除选中的 ${s.selectionCount} 个对象(可 Ctrl+Z 撤销)`:"删除该对象(可 Ctrl+Z 撤销)",placement:"top","show-after":220},{default:l(()=>[u("button",{type:"button",class:"prop-delete-btn",disabled:k.value,onClick:Qe},[u("span",Da,A(k.value?"⟳":"🗑"),1),f[13]||(f[13]=u("span",null,"删除",-1))],8,Ma)]),_:1},8,["content"])])]),u("div",Oa,[f[14]||(f[14]=u("label",{class:"prop-name-label"},"名称",-1)),s.primary?(S(),G(ce,{key:0,"model-value":oe.value,size:"small",placeholder:"对象名","onUpdate:modelValue":f[0]||(f[0]=m=>oe.value=m),onBlur:ue,onChange:W},null,8,["model-value"])):Z("",!0)]),u("div",Ra,[f[15]||(f[15]=u("label",{class:"prop-name-label"},"图层",-1)),s.primary?(S(),G(Le,{key:0,"model-value":s.primary.layer??"",size:"small",placeholder:"—",class:"prop-layer-select","onUpdate:modelValue":f[1]||(f[1]=m=>pe(m))},{default:l(()=>[a(je,{label:"(无)",value:""}),(S(!0),U(fe,null,ye(s.layers,m=>(S(),G(je,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["model-value"])):Z("",!0)])]),J.value.length>0?(S(),U("section",Ya,[u("header",Xa,[f[17]||(f[17]=u("span",{class:"prop-card-title"},"位置 / 几何",-1)),u("span",{class:Ge(["prop-card-flag",{"is-synced":o.value}]),title:o.value?"已同步到画布":"改动会立即同步到 SimpleLite 画布"},[f[16]||(f[16]=u("span",{class:"prop-card-flag-dot"},null,-1)),u("span",Ka,A(o.value?"已同步":"同步到画布"),1)],10,Ha),u("span",Wa,A(J.value.length)+" 项",1)]),u("div",Ga,[(S(!0),U(fe,null,ye(J.value,m=>(S(),U("div",{key:m.key,class:"prop-grid-item"},[u("label",Za,[p(A(ie(m.key))+" ",1),re(m.key)?(S(),U("span",Ja,A(re(m.key)),1)):Z("",!0)]),te(m.key)?(S(),G(me,{key:0,"model-value":le(m.value),controls:!1,step:R(m.key),size:"small",class:"prop-field-num",onChange:X=>L(m.key,X==null?"":String(X))},null,8,["model-value","step","onChange"])):(S(),G(ce,{key:1,"model-value":m.value,size:"small",spellcheck:"false",onChange:X=>L(m.key,X)},null,8,["model-value","onChange"]))]))),128))])])):Z("",!0),ee.value.length>0?(S(),U("section",qa,[u("header",Qa,[f[18]||(f[18]=u("span",{class:"prop-card-title"},"样式 / 外观",-1)),u("span",el,A(ee.value.length)+" 项",1)]),u("div",tl,[(S(!0),U(fe,null,ye(ee.value,m=>(S(),U("div",{key:m.key,class:"prop-grid-item"},[u("label",al,A(ie(m.key)),1),ne(m.key,m.value)?(S(),G(ge,{key:0,"model-value":m.value||"#ffffff","show-alpha":"",size:"small",onChange:X=>L(m.key,X??"")},null,8,["model-value","onChange"])):C(m.key,m.value)?(S(),G(Ne,{key:1,"model-value":P(m.value),size:"small",onChange:X=>L(m.key,X?"true":"false")},null,8,["model-value","onChange"])):(S(),G(ce,{key:2,"model-value":m.value,size:"small",spellcheck:"false",onChange:X=>L(m.key,X)},null,8,["model-value","onChange"]))]))),128))])])):Z("",!0),u("section",ll,[u("header",nl,[f[19]||(f[19]=u("span",{class:"prop-card-title"},"其它字段 / 自定义",-1)),u("span",ol,A(D.value.length)+" 项",1)]),D.value.length>0?(S(),U("div",sl,[(S(!0),U(fe,null,ye(D.value,m=>(S(),U("div",{key:m.key,class:"prop-grid-item prop-grid-item--wide"},[u("label",{class:"prop-field-label",title:m.key},A(m.key),9,il),u("div",rl,[a(ce,{"model-value":m.value,size:"small",spellcheck:"false",onChange:X=>L(m.key,X)},null,8,["model-value","onChange"]),a(be,{content:"删除该字段",placement:"top"},{default:l(()=>[u("button",{class:"prop-field-icon-btn",onClick:X=>L(m.key,"")},"×",8,ul)]),_:2},1024)])]))),128))])):(S(),U("div",dl,"无其它字段")),u("button",{class:"prop-add-field-btn",onClick:he},"+ 添加字段")]),s.status.length>0?(S(),U("section",cl,[u("header",pl,[f[20]||(f[20]=u("span",{class:"prop-card-title"},"运行状态",-1)),u("span",ml,A(s.status.length)+" 项",1)]),u("div",fl,[(S(!0),U(fe,null,ye(s.status,m=>(S(),U("div",{key:m.key,class:"prop-status-item"},[u("span",yl,A(m.key),1),u("span",{class:"prop-status-value",title:m.value},A(m.value),9,vl)]))),128))])])):Z("",!0),s.methods.length>0?(S(),U("section",bl,[u("header",gl,[f[21]||(f[21]=u("span",{class:"prop-card-title"},"操作",-1)),u("span",wl,A(s.methods.length)+" 项",1)]),u("div",hl,[(S(!0),U(fe,null,ye(s.methods,m=>(S(),G(be,{key:m.methodName,content:m.description||m.label||m.methodName,placement:"top","show-after":220},{default:l(()=>[u("button",{class:"prop-action-btn",disabled:V.value===m.methodName,onClick:X=>Ve(m.methodName)},[V.value===m.methodName?(S(),U("span",_l,"⟳")):Z("",!0),f[22]||(f[22]=u("span",{class:"prop-action-icon"},"▶",-1)),u("span",xl,A(m.label||m.methodName),1)],8,kl)]),_:2},1032,["content"]))),128))])])):Z("",!0)]))]),_:1}),a(Ie,{label:"类型默认",name:"defaults"},{default:l(()=>[a(Oe,{"label-width":"120px",size:"small",class:"defaults-form"},{default:l(()=>[a(Ue,{type:"info",closable:!1},{default:l(()=>[...f[23]||(f[23]=[p(" 为「新建站点 / 新建路径」预设默认样式与字段。保存后下次创建即生效。 ",-1)])]),_:1}),a(Me,{"content-position":"left"},{default:l(()=>[...f[24]||(f[24]=[p("站点",-1)])]),_:1}),a(we,{label:"默认图层"},{default:l(()=>[a(ce,{modelValue:s.defaults.site.layer,"onUpdate:modelValue":f[2]||(f[2]=m=>s.defaults.site.layer=m)},null,8,["modelValue"])]),_:1}),a(we,{label:"名字前缀"},{default:l(()=>[a(ce,{modelValue:s.defaults.site.namePrefix,"onUpdate:modelValue":f[3]||(f[3]=m=>s.defaults.site.namePrefix=m)},null,8,["modelValue"])]),_:1}),a(we,{label:"默认颜色"},{default:l(()=>[a(ge,{modelValue:s.defaults.site.color,"onUpdate:modelValue":f[4]||(f[4]=m=>s.defaults.site.color=m),"show-alpha":""},null,8,["modelValue"])]),_:1}),a(Me,{"content-position":"left"},{default:l(()=>[...f[25]||(f[25]=[p("路径",-1)])]),_:1}),a(we,{label:"默认图层"},{default:l(()=>[a(ce,{modelValue:s.defaults.track.layer,"onUpdate:modelValue":f[5]||(f[5]=m=>s.defaults.track.layer=m)},null,8,["modelValue"])]),_:1}),a(we,{label:"默认线宽"},{default:l(()=>[a(me,{modelValue:s.defaults.track.lineWidth,"onUpdate:modelValue":f[6]||(f[6]=m=>s.defaults.track.lineWidth=m),min:1,max:20},null,8,["modelValue"])]),_:1}),a(we,{label:"默认颜色"},{default:l(()=>[a(ge,{modelValue:s.defaults.track.color,"onUpdate:modelValue":f[7]||(f[7]=m=>s.defaults.track.color=m),"show-alpha":""},null,8,["modelValue"])]),_:1}),a(De,{size:"small",type:"primary",onClick:Y},{default:l(()=>[...f[26]||(f[26]=[p("保存默认",-1)])]),_:1})]),_:1})]),_:1}),a(Ie,{label:"图层",name:"layers"},{default:l(()=>[a(Re,{data:s.layerRows,size:"small",class:"layer-table"},{default:l(()=>[a(ke,{prop:"name",label:"图层",width:"120"}),a(ke,{label:"可见",width:"60"},{default:l(({row:m})=>[a(Ne,{modelValue:m.visible,"onUpdate:modelValue":X=>m.visible=X,onChange:X=>de(m)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(ke,{label:"可选",width:"60"},{default:l(({row:m})=>[a(Ne,{modelValue:m.selectable,"onUpdate:modelValue":X=>m.selectable=X,onChange:X=>de(m)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(ke,{label:"颜色"},{default:l(({row:m})=>[a(ge,{modelValue:m.color,"onUpdate:modelValue":X=>m.color=X,onChange:X=>de(m)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})]),_:1},8,["data"]),a(ce,{modelValue:n.value,"onUpdate:modelValue":f[8]||(f[8]=m=>n.value=m),size:"small",placeholder:"新图层名",class:"new-layer"},{append:l(()=>[a(De,{onClick:qe},{default:l(()=>[...f[27]||(f[27]=[p("添加",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])])}}}),Vl=$e($l,[["__scopeId","data-v-e9bd2bb3"]]),Cl={class:"edit-status-bar"},Sl={class:"seg"},Fl={class:"seg"},jl={class:"seg"},Nl={class:"seg"},Il={class:"seg"},Pl={key:0,class:"seg ok"},Al={key:1,class:"seg warn"},Bl=xe({__name:"EditStatusBar",props:{selectedCount:{},mouseX:{},mouseY:{},toolLabel:{},snapOn:{type:Boolean},undoSize:{},redoSize:{},connected:{type:Boolean}},setup(s){function j(g){return Number.isFinite(g)?g.toFixed(0):"--"}return(g,d)=>(S(),U("div",Cl,[u("span",Sl,[d[0]||(d[0]=p(" 选中 ",-1)),u("b",null,A(s.selectedCount),1),d[1]||(d[1]=p(" 个 ",-1))]),u("span",Fl," 鼠标 ("+A(j(s.mouseX))+", "+A(j(s.mouseY))+") mm ",1),u("span",jl,[d[2]||(d[2]=p(" 当前工具:",-1)),u("b",null,A(s.toolLabel),1)]),u("span",Nl,[d[3]||(d[3]=p(" 吸附:",-1)),u("b",{class:Ge({on:s.snapOn,off:!s.snapOn})},A(s.snapOn?"开":"关"),3)]),d[4]||(d[4]=u("span",{class:"spacer"},null,-1)),u("span",Il,"历史 "+A(s.undoSize)+" / "+A(s.redoSize),1),s.connected?(S(),U("span",Pl,"● 实时通道在线")):(S(),U("span",Al,"● 实时通道断开"))]))}}),zl=$e(Bl,[["__scopeId","data-v-6254b10f"]]),Tl={class:"upload-hint"},El={key:0,class:"ai-text"},Ll={class:"ai-stat"},Ul=xe({__name:"AiGenerateDialog",props:{modelValue:{type:Boolean},configured:{type:Boolean},defaultBounds:{},defaultLayer:{}},emits:["update:modelValue","generated"],setup(s,{emit:j}){const g=s,d=j,b=ia(),V=I(!1),n=I(null),k=I(["r"]),o=We({prompt:"",mode:"sites+tracks",referenceImageBase64:void 0,layer:g.defaultLayer??"ai-generated",constraints:""}),w=I(g.defaultBounds??[-1e4,-1e4,1e4,1e4]);Fe(()=>g.defaultBounds,z=>{z&&(w.value=z)}),Fe(()=>g.defaultLayer,z=>{z&&(o.layer=z)});function T(){d("update:modelValue",!1)}function v(){d("update:modelValue",!1),b.push("/admin/config/system")}async function y(z){if(!z.raw)return;const h=new FileReader;h.onload=()=>{const K=String(h.result||""),J=K.includes(",")?K.split(",",2)[1]:K;o.referenceImageBase64=J},h.readAsDataURL(z.raw)}async function E(){try{V.value=!0,o.bounds=w.value;const z=await O.aiMapGenerate(o);n.value=z,$.success(`AI 已生成 ${z.created?.length??0} 个对象`),d("generated",z)}catch(z){$.error(`AI 生图失败:${z.message}`)}finally{V.value=!1}}return(z,h)=>{const K=oa,J=ot,ee=nt,D=vt,ie=ft,re=ea,le=la,R=aa,te=gt,ne=yt,C=Je,P=lt,ve=Ze,oe=sa,ue=na,W=Te,pe=st;return S(),G(pe,{"model-value":s.modelValue,title:"AI 生图",width:"640px","onUpdate:modelValue":h[9]||(h[9]=L=>d("update:modelValue",L)),onClose:T},{footer:l(()=>[a(W,{onClick:T},{default:l(()=>[...h[20]||(h[20]=[p("关闭",-1)])]),_:1}),a(W,{type:"primary",loading:V.value,disabled:!o.prompt.trim()||!s.configured,onClick:E},{default:l(()=>[...h[21]||(h[21]=[p(" 生成并落地 ",-1)])]),_:1},8,["loading","disabled"])]),default:l(()=>[s.configured?Z("",!0):(S(),G(J,{key:0,type:"warning",closable:!1,class:"cfg-alert"},{default:l(()=>[h[11]||(h[11]=p(" 尚未配置 AI 服务(apiKey / endpoint)。请先到 ",-1)),a(K,{type:"primary",onClick:v},{default:l(()=>[...h[10]||(h[10]=[p("系统级配置 → AI 服务",-1)])]),_:1}),h[12]||(h[12]=p(" 完成配置。 ",-1))]),_:1})),a(ne,{"label-width":"100px",size:"default"},{default:l(()=>[a(D,{label:"提示词",required:""},{default:l(()=>[a(ee,{modelValue:o.prompt,"onUpdate:modelValue":h[0]||(h[0]=L=>o.prompt=L),type:"textarea",rows:4,placeholder:"一条 U 型生产线,含 5 个工站,间距 2m,方向单向通行..."},null,8,["modelValue"])]),_:1}),a(D,{label:"参考图片"},{default:l(()=>[a(re,{drag:"","auto-upload":!1,"show-file-list":!1,accept:"image/*",onChange:y},{default:l(()=>[u("div",Tl,[a(ie,null,{default:l(()=>[a(ae(ta))]),_:1}),u("span",null,A(o.referenceImageBase64?"已选择图片 (点击替换)":"拖入或点击上传参考图(可选,多模态)"),1)])]),_:1})]),_:1}),a(D,{label:"生成模式"},{default:l(()=>[a(R,{modelValue:o.mode,"onUpdate:modelValue":h[1]||(h[1]=L=>o.mode=L)},{default:l(()=>[a(le,{value:"sites"},{default:l(()=>[...h[13]||(h[13]=[p("仅站点",-1)])]),_:1}),a(le,{value:"tracks"},{default:l(()=>[...h[14]||(h[14]=[p("仅路径",-1)])]),_:1}),a(le,{value:"sites+tracks"},{default:l(()=>[...h[15]||(h[15]=[p("站点+路径",-1)])]),_:1}),a(le,{value:"full"},{default:l(()=>[...h[16]||(h[16]=[p("完整地图",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(D,{label:"范围 (mm)"},{default:l(()=>[a(te,{modelValue:w.value[0],"onUpdate:modelValue":h[2]||(h[2]=L=>w.value[0]=L),placeholder:"x1",step:500},null,8,["modelValue"]),a(te,{modelValue:w.value[1],"onUpdate:modelValue":h[3]||(h[3]=L=>w.value[1]=L),placeholder:"y1",step:500,class:"ml"},null,8,["modelValue"]),a(te,{modelValue:w.value[2],"onUpdate:modelValue":h[4]||(h[4]=L=>w.value[2]=L),placeholder:"x2",step:500,class:"ml"},null,8,["modelValue"]),a(te,{modelValue:w.value[3],"onUpdate:modelValue":h[5]||(h[5]=L=>w.value[3]=L),placeholder:"y2",step:500,class:"ml"},null,8,["modelValue"])]),_:1}),a(D,{label:"图层"},{default:l(()=>[a(ee,{modelValue:o.layer,"onUpdate:modelValue":h[6]||(h[6]=L=>o.layer=L),placeholder:"ai-generated(默认)"},null,8,["modelValue"])]),_:1}),a(D,{label:"附加约束"},{default:l(()=>[a(ee,{modelValue:o.constraints,"onUpdate:modelValue":h[7]||(h[7]=L=>o.constraints=L),placeholder:"例如:单向通行、最小转弯半径 1500mm"},null,8,["modelValue"])]),_:1})]),_:1}),n.value?(S(),G(ue,{key:1,modelValue:k.value,"onUpdate:modelValue":h[8]||(h[8]=L=>k.value=L),class:"result-panel"},{default:l(()=>[a(oe,{title:"AI 返回 / 落地结果",name:"r"},{default:l(()=>[n.value.assistantText?(S(),U("div",El,A(n.value.assistantText),1)):Z("",!0),u("div",Ll,[h[17]||(h[17]=p(" 落地对象 ",-1)),u("b",null,A(n.value.created?.length??0),1),h[18]||(h[18]=p(",工具调用次数 ",-1)),u("b",null,A(n.value.usedTools),1),h[19]||(h[19]=p("。 ",-1))]),a(ve,{data:n.value.created??[],size:"small","max-height":"220"},{default:l(()=>[a(C,{label:"工具",prop:"tool",width:"160"}),a(C,{label:"kind",prop:"kind",width:"80"}),a(C,{label:"id",prop:"id",width:"80"}),a(C,{label:"typeName",prop:"typeName"}),a(C,{label:"错误"},{default:l(({row:L})=>[L.error?(S(),G(P,{key:0,type:"danger",size:"small"},{default:l(()=>[p(A(L.error),1)]),_:2},1024)):Z("",!0)]),_:1})]),_:1},8,["data"])]),_:1})]),_:1},8,["modelValue"])):Z("",!0)]),_:1},8,["model-value"])}}}),Ml=$e(Ul,[["__scopeId","data-v-7b1912b1"]]),Dl={class:"proj-browse"},Ol={class:"proj-browse-toolbar"},Rl=["disabled"],Yl={class:"proj-browse-body"},Xl={class:"proj-browse-side"},Hl={key:0,class:"proj-side-section"},Kl={class:"proj-side-section"},Wl=["onDblclick","onClick"],Gl=["title"],Zl={key:0,class:"proj-side-empty"},Jl={class:"proj-browse-main"},ql={class:"proj-file-name"},Ql={class:"proj-mute"},en={class:"proj-mute"},tn={class:"proj-browse-footer"},an={class:"proj-footer-label"},ln={class:"proj-footer-bar"},nn={class:"proj-footer-tip"},on={class:"proj-footer-actions"},sn=xe({__name:"ProjectBrowseDialog",props:{modelValue:{type:Boolean},mode:{},initialPath:{}},emits:["update:modelValue","confirm"],setup(s,{emit:j}){const g=s,d=j,b=I(""),V=I(null),n=I([]),k=I([]),o=I(!1),w=I(null),T=I(null),v=I(""),y=I(""),E=Q(()=>g.mode==="load"?"加载项目(服务端目录)":"保存项目(服务端目录)"),z=Q(()=>!!(v.value.trim()||T.value?.kind==="file"||g.mode==="save"&&b.value)),h=Q(()=>g.mode==="save"?v.value?`将保存到:${le()}`:`当前目录:${b.value}`:T.value?`已选:${T.value.fullPath}`:"请在右侧选中一个 JSON 文件,或输入绝对路径");async function K(){o.value=!0,w.value=null;try{const C=await O.projectBrowse(b.value||void 0);b.value=C.dir,V.value=C.parent,n.value=C.subdirs.map(P=>({kind:"dir",name:P.name,fullPath:P.fullPath})),k.value=C.jsons.map(P=>({kind:"file",name:P.name,fullPath:P.fullPath,sizeBytes:P.sizeBytes,modified:P.modified})),y.value||(y.value=C.dir),T.value=null}catch(C){w.value=C.message}finally{o.value=!1}}function J(){V.value&&(b.value=V.value,K())}function ee(){b.value="",K()}function D(C){b.value=C,K()}function ie(C){T.value=C,C?.kind==="file"&&(v.value=C.fullPath)}function re(C){C.kind==="file"&&R()}function le(){const C=v.value.trim();return C?/^([A-Za-z]:[\\/]|\\\\|\/)/.test(C)?C:`${b.value.replace(/[\\/]+$/,"")}/${C.endsWith(".json")?C:C+".json"}`:`${b.value}/project.current.json`}function R(){if(g.mode==="save"){const P=le();if(!P){$.warning("请输入文件名或选中目标");return}d("confirm",P),d("update:modelValue",!1);return}const C=v.value.trim()||(T.value?.kind==="file"?T.value.fullPath:"");if(!C){$.warning("请先选中一个 .json 文件,或直接输入路径");return}d("confirm",C),d("update:modelValue",!1)}function te(){T.value=null,v.value="",b.value=g.initialPath??"",K()}function ne(C){return C==null?"—":C<1024?`${C} B`:C<1024*1024?`${(C/1024).toFixed(1)} KB`:`${(C/1024/1024).toFixed(1)} MB`}return Fe(()=>g.modelValue,C=>{C&&te()}),(C,P)=>{const ve=nt,oe=ot,ue=mt,W=Je,pe=Ze,L=Te,he=st,Ve=da;return S(),G(he,{"model-value":s.modelValue,title:E.value,width:"780px","align-center":"","destroy-on-close":"",class:"proj-browse-dialog","onUpdate:modelValue":P[3]||(P[3]=Y=>d("update:modelValue",Y)),onOpen:te},{footer:l(()=>[u("div",ln,[u("span",nn,A(h.value),1),u("span",on,[a(L,{onClick:P[2]||(P[2]=Y=>d("update:modelValue",!1))},{default:l(()=>[...P[15]||(P[15]=[p("取消",-1)])]),_:1}),a(L,{type:"primary",loading:o.value,disabled:!z.value,onClick:R},{default:l(()=>[p(A(s.mode==="load"?"加载此文件":"保存到此文件"),1)]),_:1},8,["loading","disabled"])])])]),default:l(()=>[u("div",Dl,[u("div",Ol,[u("button",{class:"proj-icon-btn",disabled:!V.value,title:"返回上级",onClick:J},[...P[4]||(P[4]=[u("span",{class:"proj-icon"},"←",-1)])],8,Rl),u("button",{class:"proj-icon-btn",title:"刷新",onClick:K},[...P[5]||(P[5]=[u("span",{class:"proj-icon"},"⟳",-1)])]),u("button",{class:"proj-icon-btn",title:"SimpleLite 主目录",onClick:ee},[...P[6]||(P[6]=[u("span",{class:"proj-icon"},"⌂",-1)])]),a(ve,{modelValue:b.value,"onUpdate:modelValue":P[0]||(P[0]=Y=>b.value=Y),size:"small",spellcheck:"false",class:"proj-path-input",placeholder:"输入或粘贴目录路径,回车跳转",onKeyup:ra(K,["enter"])},{prefix:l(()=>[...P[7]||(P[7]=[u("span",{class:"proj-path-prefix"},"📁",-1)])]),_:1},8,["modelValue"])]),w.value?(S(),G(oe,{key:0,type:"error",title:w.value,closable:!1,"show-icon":"",class:"proj-error"},null,8,["title"])):Z("",!0),u("div",Yl,[u("div",Xl,[P[12]||(P[12]=u("div",{class:"proj-side-title"},"服务端目录",-1)),a(ue,{class:"proj-side-scroll"},{default:l(()=>[u("button",{class:"proj-side-btn proj-side-cwd",onClick:ee},[...P[8]||(P[8]=[u("span",{class:"proj-side-icon"},"🏠",-1),u("span",{class:"proj-side-text"},"SimpleLite 主目录",-1)])]),V.value?(S(),U("div",Hl,[u("button",{class:"proj-side-btn",onClick:J},[...P[9]||(P[9]=[u("span",{class:"proj-side-icon"},"↑",-1),u("span",{class:"proj-side-text"},"返回上级",-1)])])])):Z("",!0),u("div",Kl,[P[11]||(P[11]=u("div",{class:"proj-side-section-title"},"子文件夹",-1)),(S(!0),U(fe,null,ye(n.value,Y=>(S(),U("button",{key:Y.fullPath,class:Ge(["proj-side-btn",{"proj-side-btn--active":!1}]),onDblclick:de=>D(Y.fullPath),onClick:de=>D(Y.fullPath)},[P[10]||(P[10]=u("span",{class:"proj-side-icon"},"📁",-1)),u("span",{class:"proj-side-text",title:Y.name},A(Y.name),9,Gl)],40,Wl))),128)),n.value.length===0?(S(),U("div",Zl,"无子文件夹")):Z("",!0)])]),_:1})]),u("div",Jl,[ua((S(),G(pe,{data:k.value,size:"small",height:"380","highlight-current-row":"",class:"proj-browse-table","empty-text":"该目录下没有 JSON 项目文件",onCurrentChange:ie,onRowDblclick:re},{default:l(()=>[a(W,{width:"36"},{default:l(()=>[...P[13]||(P[13]=[u("span",{class:"proj-file-icon"},"📄",-1)])]),_:1}),a(W,{prop:"name",label:"名称","min-width":"220"},{default:l(({row:Y})=>[u("span",ql,A(Y.name),1)]),_:1}),a(W,{label:"大小",width:"100"},{default:l(({row:Y})=>[u("span",Ql,A(ne(Y.sizeBytes)),1)]),_:1}),a(W,{prop:"modified",label:"修改时间",width:"160"},{default:l(({row:Y})=>[u("span",en,A(Y.modified),1)]),_:1})]),_:1},8,["data"])),[[Ve,o.value]])])]),u("div",tn,[u("span",an,A(s.mode==="load"?"选中文件":"保存为"),1),a(ve,{modelValue:v.value,"onUpdate:modelValue":P[1]||(P[1]=Y=>v.value=Y),size:"small",placeholder:s.mode==="load"?"在右侧选择 JSON 文件,或直接输入绝对路径":"输入文件名(不写绝对路径则保存到当前目录)",spellcheck:"false",class:"proj-manual-input"},null,8,["modelValue","placeholder"]),P[14]||(P[14]=u("span",{class:"proj-footer-type"},"JSON (*.json)",-1))])])]),_:1},8,["model-value","title"])}}}),rn=$e(sn,[["__scopeId","data-v-411e65f0"]]);function un(){const s=I("transform.move"),j=I({grid:!1,gridSizeMm:100,object:!0,endpoint:!0,midpoint:!1,toAngleDeg:void 0}),g=I(!0),d=I(!0),b=Q(()=>{const o=s.value;return o.startsWith("select.")?"select":o.startsWith("draw.")?"draw":o.startsWith("transform.")?"transform":o.startsWith("align.")?"align":o.startsWith("batch.")?"batch":o.startsWith("snap.")?"snap":"show"}),V=Q(()=>({"select.single":"单选","select.rect":"矩形框选","select.lasso":"圈选","select.byType.site":"按类型选 - 站点","select.byType.bezier":"按类型选 - 贝塞尔","select.byType.polyline":"按类型选 - 折线","select.byType.arc":"按类型选 - 弧","select.byType.decor":"按类型选 - 装饰物","select.byType.currentLayer":"按类型选 - 当前图层","select.invert":"反选","select.clear":"清空选中","draw.site":"添加站点","draw.sites.continuous":"连续添加站点","draw.track.polyline":"添加折线路径","draw.track.bezier":"添加贝塞尔路径","draw.track.arc":"添加弧形路径","draw.track.nurbs":"添加 NURBS 路径","draw.decor.line":"添加线段","draw.decor.rect":"添加矩形","draw.decor.circle":"添加圆","draw.decor.text":"添加文本","draw.image":"插入图片","draw.model":"插入 3D 模型","transform.move":"移动","transform.rotate":"旋转","transform.scale":"缩放","transform.duplicate":"复制副本","transform.copy":"复制","transform.paste":"粘贴","transform.delete":"删除","transform.copyFields":"复制字段","align.left":"左对齐","align.right":"右对齐","align.top":"上对齐","align.bottom":"下对齐","align.centerH":"水平居中","align.centerV":"垂直居中","align.center":"整体居中","align.distributeH":"水平等距","align.distributeV":"垂直等距","align.toFirst":"对齐到第一个","align.toLast":"对齐到最后一个","batch.linearH":"横向间隔生成","batch.linearV":"纵向间隔生成","batch.matrix":"矩阵生成","batch.alongPath":"沿路径采样生成","batch.circular":"环形阵列","snap.grid":"网格吸附","snap.object":"对象吸附","snap.endpoint":"端点吸附","snap.midpoint":"中点吸附","show.controlPoints":"显示控制点","show.controlHandles":"显示控制柄"})[s.value]??s.value);function n(o){s.value=o}function k(o){j.value={...j.value,[o]:!j.value[o]}}return{activeTool:s,snap:j,showControlPoints:g,showControlHandles:d,toolCategory:b,toolLabel:V,setTool:n,toggleSnap:k}}function _e(s,j){return`${s}:${j}`}function dn(){const s=I([]),j=I(null),g=Q(()=>s.value.map(y=>y.id)),d=Q(()=>s.value.length);function b(y,E){const z=_e(y,E);return s.value.some(h=>_e(h.kind,h.id)===z)}function V(y){b(y.kind,y.id)||(s.value=[...s.value,y],j.value=_e(y.kind,y.id))}function n(y,E){const z=_e(y,E);s.value=s.value.filter(h=>_e(h.kind,h.id)!==z),j.value===z&&(j.value=null)}function k(y){b(y.kind,y.id)?n(y.kind,y.id):V(y)}function o(y){s.value=y,j.value=y.length>0?_e(y[y.length-1].kind,y[y.length-1].id):null}function w(){s.value=[],j.value=null}function T(y){s.value=s.value.filter(E=>E.kind===y)}function v(y){s.value=[y],j.value=_e(y.kind,y.id)}return{items:s,ids:g,count:d,lastClickedKey:j,has:b,add:V,remove:n,toggle:k,set:o,clear:w,filterByKind:T,selectSingle:v}}function cn(s={}){const j=s.maxDepth??20,g=I([]),d=I([]),b=I(!1),V=Q(()=>g.value.length>0&&!b.value),n=Q(()=>d.value.length>0&&!b.value);async function k(y){if(!b.value){b.value=!0;try{await y.apply(),g.value=[...g.value,y].slice(-j),d.value=[],s.onChange?.()}finally{b.value=!1}}}async function o(){if(!V.value)return;const y=g.value[g.value.length-1];b.value=!0;try{await y.revert(),g.value=g.value.slice(0,-1),d.value=[...d.value,y].slice(-j),s.onChange?.()}finally{b.value=!1}}async function w(){if(!n.value)return;const y=d.value[d.value.length-1];b.value=!0;try{await y.apply(),d.value=d.value.slice(0,-1),g.value=[...g.value,y].slice(-j),s.onChange?.()}finally{b.value=!1}}function T(){g.value=[],d.value=[],s.onChange?.()}function v(y,E){return{label:y,apply:async()=>{for(const z of E)await z.apply()},revert:async()=>{for(let z=E.length-1;z>=0;z--)await E[z].revert()}}}return{undoStack:g,redoStack:d,busy:b,canUndo:V,canRedo:n,run:k,undo:o,redo:w,clear:T,composite:v}}function pn(s={}){function j(g){const d=g?.data;if(!d||typeof d!="object"||typeof d.type!="string")return;const b=d.type,V=d.payload;if(b==="workspace.pick"&&s.onPick&&V&&typeof V=="object"&&"x"in V&&"y"in V){const n=V;s.onPick({x:Number(n.x),y:Number(n.y),siteId:typeof n.siteId=="number"?n.siteId:void 0})}else if(b==="workspace.select"&&s.onSelect&&Array.isArray(V))s.onSelect({names:V});else if(b==="workspace.mouse"&&s.onMouse&&V&&typeof V=="object"&&"x"in V&&"y"in V){const n=V;s.onMouse({x:Number(n.x),y:Number(n.y)})}}ht(()=>window.addEventListener("message",j)),ca(()=>window.removeEventListener("message",j))}function mn(s,j){if(s.length<2)return[];const g=[],d=s.map(v=>v.x),b=s.map(v=>v.y),V=Math.min(...d),n=Math.max(...d),k=Math.min(...b),o=Math.max(...b),w=d.reduce((v,y)=>v+y,0)/d.length,T=b.reduce((v,y)=>v+y,0)/b.length;switch(j){case"left":for(const v of s)g.push(se(v,{x:V}));break;case"right":for(const v of s)g.push(se(v,{x:n}));break;case"top":for(const v of s)g.push(se(v,{y:o}));break;case"bottom":for(const v of s)g.push(se(v,{y:k}));break;case"centerH":for(const v of s)g.push(se(v,{x:w}));break;case"centerV":for(const v of s)g.push(se(v,{y:T}));break;case"center":for(const v of s)g.push(se(v,{x:w,y:T}));break;case"distributeH":{const v=[...s].sort((E,z)=>E.x-z.x),y=(v[v.length-1].x-v[0].x)/(v.length-1);v.forEach((E,z)=>{const h=v[0].x+y*z;Math.abs(h-E.x)>.5&&g.push(se(E,{x:h}))});break}case"distributeV":{const v=[...s].sort((E,z)=>E.y-z.y),y=(v[v.length-1].y-v[0].y)/(v.length-1);v.forEach((E,z)=>{const h=v[0].y+y*z;Math.abs(h-E.y)>.5&&g.push(se(E,{y:h}))});break}case"toFirst":{const v=s[0];for(const y of s.slice(1))g.push(se(y,{x:v.x,y:v.y}));break}case"toLast":{const v=s[s.length-1];for(const y of s.slice(0,-1))g.push(se(y,{x:v.x,y:v.y}));break}}return g}function se(s,j){return{action:"patch",kind:s.kind,id:s.id,data:j}}function fn(s,j,g,d){return kt(s,g,j,g,d)}function yn(s,j,g,d){return kt(s,j,s,g,d)}function kt(s,j,g,d,b){const V=[],n=Math.max(2,Math.floor(b.count));for(let k=0;k<n;k++){const o=k/(n-1),w={x:s+(g-s)*o,y:j+(d-j)*o,name:`${b.namePrefix??"S"}_${k+1}`,layer:b.layer};V.push({action:"create",kind:"site",data:w})}return V}function vn(s,j,g,d,b){const V=[],n=Math.max(1,Math.floor(b.rows)),k=Math.max(1,Math.floor(b.cols));for(let o=0;o<n;o++)for(let w=0;w<k;w++){const T=k===1?0:w/(k-1),v=n===1?0:o/(n-1);V.push({action:"create",kind:"site",data:{x:s+(g-s)*T,y:j+(d-j)*v,name:`${b.namePrefix??"M"}_${o+1}_${w+1}`,layer:b.layer}})}return V}function bn(s,j,g,d){const b=[],V=Math.max(1,Math.floor(d.count)),n=(d.startAngleDeg??0)*Math.PI/180,o=(d.endAngleDeg??360)*Math.PI/180-n;for(let w=0;w<V;w++){const T=Math.abs(o-Math.PI*2)<1e-6?V:V-1,v=T===0?0:w/T,y=n+o*v;b.push({action:"create",kind:"site",data:{x:s+Math.cos(y)*g,y:j+Math.sin(y)*g,name:`${d.namePrefix??"C"}_${w+1}`,layer:d.layer}})}return b}const gn={class:"map-editor-page"},wn={class:"me-body"},hn={class:"me-center"},kn=["accept"],_n=xe({__name:"MapEditorView",setup(s){const j=pa(),g="localhost:8223",d=I(null),b=I(null),V=I("image/*"),n=I("image"),k=un(),o=dn(),w=cn({}),T=We({x:0,y:0}),v=I(!1),y=I(!1),E=I([-1e4,-1e4,1e4,1e4]),z=I(!1),h=I("load"),K=I(""),J=I(!1),ee=I(!1),D=I(null),ie=I([]),re=I([]),le=I([]),R=We({site:{layer:"g",namePrefix:"S",color:"#ffffff"},track:{layer:"g",lineWidth:2,color:"#88ccff"}}),te=I(["g"]),ne=I([{name:"g",visible:!0,selectable:!0,color:"#cccccc"}]),C=We({selectFilter:{sites:!0,tracks:!0,cars:!0,decor:!0},alignSnap:{sites:!0,cars:!0,tracks:!0},showViewport:{sceneLabels:!0,scenePrimitives:!0,cars:!0}});function P(){try{localStorage.setItem("mapEditor.viewFilter",JSON.stringify(C))}catch{}}function ve(){try{const e=localStorage.getItem("mapEditor.viewFilter");if(!e)return;const t=JSON.parse(e);t.selectFilter&&Object.assign(C.selectFilter,t.selectFilter),t.alignSnap&&Object.assign(C.alignSnap,t.alignSnap),t.showViewport&&Object.assign(C.showViewport,t.showViewport)}catch{}}function oe(){const e=C.selectFilter,t=o.items.value.filter(i=>i.kind==="site"?e.sites:i.kind==="track"?e.tracks:i.kind==="car"?e.cars:i.kind==="special"?e.decor:!0);t.length!==o.items.value.length&&o.set(t)}const ue=I(!1),W=I({siteA:null}),pe=I(!1),L=I(!1),he=I("");function Ve(e){return e.map(t=>`${t.kind}:${t.id}`).sort().join(",")}const Y=I(!1),de=["draw.site","draw.sites.continuous","draw.track.polyline","draw.track.bezier","draw.track.arc","draw.track.nurbs"];async function qe(){if(!Y.value){for(Y.value=!0;Y.value;){let e=null;try{e=await O.pick()}catch{break}if(!Y.value)break;const t=k.activeTool.value;if(!de.includes(t))break;if(t==="draw.site"){await X(e.x,e.y),$.success(`已添加站点 (${e.x.toFixed(0)}, ${e.y.toFixed(0)})`);break}else if(t==="draw.sites.continuous")await X(e.x,e.y);else if(t==="draw.track.polyline"||t==="draw.track.bezier"||t==="draw.track.arc"||t==="draw.track.nurbs"){const i=W.value.siteA;if(await Ye(e.siteId),i!=null&&W.value.siteA==null){const r=t==="draw.track.bezier"?"贝塞尔路径":t==="draw.track.arc"?"弧形路径":t==="draw.track.nurbs"?"NURBS 路径":"直线路径";$.success(`已添加${r}`);break}}else break}Y.value=!1,de.includes(k.activeTool.value)&&k.setTool("transform.move")}}const Qe=Q(()=>k.snap.value.grid||k.snap.value.object||k.snap.value.endpoint||k.snap.value.midpoint);async function _(e){switch(e){case"edit.undo":await w.undo();break;case"edit.redo":await w.redo();break;case"edit.delete":await Xe();break;case"edit.selectAll":$.info("全选:请使用工具栏「按类型选」批量选中");break;case"edit.invert":$.info("反选功能后续实现");break;case"project.save":await dt(!1);break;case"project.open":await Tt();break;case"project.saveAs":await dt(!0);break;case"project.close":$.info("关闭项目:使用 SimpleLite 主菜单");break;case"ai.open":await ut();break;case"file.upload.image":He("image");break;case"file.upload.model":He("model");break;case"view.fitAll":$.info("请在 3D 视口右键菜单使用「适配全部」");break;case"view.fitSelection":$.info("请在 3D 视口右键菜单使用「适配选中」");break;case"snap.toGrid":k.toggleSnap("grid");break;case"snap.toObject":k.toggleSnap("object");break;case"add.site.byCoord":await Ee();break;case"add.track.polyline.byIds":await Ce("track");break;case"add.track.bezier.byIds":await Ce("bezier");break;case"add.track.nurbs.byIds":await Ce("nurbs");break;case"add.track.arc.byIds":await Ce("arc");break;case"add.car.dummy.byCoord":await Me();break;case"layer.new":await Ue();break;case"layer.toggleVisibility":ue.value=!0;break;case"view.select.sites":f("selectFilter","sites");break;case"view.select.tracks":f("selectFilter","tracks");break;case"view.select.cars":f("selectFilter","cars");break;case"view.select.decor":f("selectFilter","decor");break;case"view.snap.sites":f("alignSnap","sites");break;case"view.snap.cars":f("alignSnap","cars");break;case"view.snap.tracks":f("alignSnap","tracks");break;case"view.show.sceneLabels":f("showViewport","sceneLabels");break;case"view.show.scenePrimitives":f("showViewport","scenePrimitives");break;case"view.show.cars":f("showViewport","cars");break;default:$.info(`暂未实现的命令:${e}`)}}async function f(e,t){const i=C[e],r=t,c=i[r];i[r]=!i[r],P(),e==="selectFilter"&&oe();const x={};x[e]={[r]:i[r]};try{await O.setViewFilter(x)}catch(F){console.warn("[MapEditor] 写后端 viewFilter 失败:",F),i[r]=c,P(),e==="selectFilter"&&oe(),$({message:"过滤设置写入后端失败,已回滚本地状态;请检查 SimpleLite 是否连通后重试。",type:"warning",duration:5e3,showClose:!0})}}async function Ee(){try{const e=Number((await M.prompt("X 坐标 (mm)","添加站点",{inputValue:"0"})).value),t=Number((await M.prompt("Y 坐标 (mm)","添加站点",{inputValue:"0"})).value);if(!Number.isFinite(e)||!Number.isFinite(t)){$.warning("坐标必须是数字");return}await X(e,t)}catch{}}async function Ce(e){const t=be(e);try{const i=Math.floor(Number((await M.prompt("起点站 siteA (id)",`添加${t}`,{inputValue:""})).value)),r=Math.floor(Number((await M.prompt("终点站 siteB (id)",`添加${t}`,{inputValue:""})).value));if(!Number.isInteger(i)||!Number.isInteger(r)||i<=0||r<=0){$.warning("siteA / siteB 必须是正整数");return}if(i===r){$.warning("起止站点不能相同");return}W.value.siteA=null;let c,x="";if(e==="bezier"||e==="nurbs"){const N=await ce(i,r,e);if(N==="cancelled")return;N!=null&&(c=N.typeInfo,x=`(控制点 ${N.midCount})`)}else if(e==="arc"){const N=await je(i,r);if(N==="cancelled")return;N!=null&&(c=N.typeInfo,x=`(半径 ${N.radius.toFixed(0)})`)}let F=-1;await w.run({label:`新建${t} (${i}→${r})${x}`,apply:async()=>{const N={siteA:i,siteB:r,layer:R.track.layer};c&&(N.typeInfo=c),F=(await O.createTrack(e,N)).id},revert:async()=>{F>0&&await O.deleteObject("track",F)}}),Le(e)}catch{}}function be(e){return e==="bezier"?"贝塞尔路径":e==="nurbs"?"NURBS 路径":e==="arc"?"弧形路径":"直线路径"}async function ce(e,t,i){const r=await me(e),c=await me(t);if(!r||!c)return $.warning(`无法拉到 site #${e} / #${t} 的 x,y,将不带 typeInfo 创建 track(控制点会用兜底直线)`),null;const x=be(i);let F;try{const H=await M.prompt("请输入中间控制点个数(不含起止站点;默认 2)",`添加${x}`,{inputValue:"2",inputPattern:/^\d+$/,inputErrorMessage:"请输入非负整数"});F=Math.max(0,Math.floor(Number(H.value)))}catch{return"cancelled"}const N=[];for(let H=0;H<F;H++){let Ae,Be;try{const Ke=await M.prompt(`第 ${H+1}/${F} 个控制点 X (mm)`,`添加${x}`,{inputValue:String(((r.x+c.x)/2).toFixed(0))});Ae=Number(Ke.value);const ze=await M.prompt(`第 ${H+1}/${F} 个控制点 Y (mm)`,`添加${x}`,{inputValue:String(((r.y+c.y)/2).toFixed(0))});Be=Number(ze.value)}catch{return"cancelled"}if(!Number.isFinite(Ae)||!Number.isFinite(Be))return $.warning("控制点坐标必须是数字"),"cancelled";N.push({x:Ae,y:Be})}const B=[r,...N,c];return{typeInfo:ge(B,i==="bezier"?2:3),midCount:F}}async function je(e,t){const i=await me(e),r=await me(t);if(!i||!r)return $.warning(`无法拉到 site #${e} / #${t} 的 x,y,将不带 typeInfo 创建 track(圆心需手动设置)`),null;const x=Math.hypot(i.x-r.x,i.y-r.y)/2;let F;try{const N=await M.prompt(`请输入半径 (mm),必须 ≥ ${x.toFixed(1)}(等于即半圆)`,"添加弧形路径",{inputValue:String(Math.ceil(x))});F=Number(N.value)}catch{return"cancelled"}return!Number.isFinite(F)||F<x?($.warning(`半径必须 ≥ ${x.toFixed(1)} mm`),"cancelled"):{typeInfo:Ne(i,r,F),radius:F}}function Le(e){e==="bezier"||e==="nurbs"?$.success(`${e==="bezier"?"贝塞尔":"NURBS"}路径已创建。选中后可在画布看到控制点(白色端点 + 黄色中间点)和控制折线,可在属性面板拖动 / 输入坐标 / 增删控制点继续调整。`):e==="arc"&&$.success("弧形路径已创建。选中后可在画布看到圆心;属性面板「设置圆心、半径」「设定相邻切线」可继续微调。")}async function me(e){try{const t=await q.getBundle("site",e),i=Number(t.fields?.x??NaN),r=Number(t.fields?.y??NaN);return!Number.isFinite(i)||!Number.isFinite(r)?null:{x:i,y:r}}catch{return null}}function ge(e,t){const i=[String(t),String(e.length)];for(const r of e)i.push(r.x.toFixed(3)),i.push(r.y.toFixed(3));return i.join(",")}function Ne(e,t,i,r="left"){const c=t.x-e.x,x=t.y-e.y,F=Math.hypot(c,x),N=F/2,B=i*i-N*N,H=Math.sqrt(Math.max(0,B)),Ae=F>0?-x/F:0,Be=F>0?c/F:0,Ke=r==="left"?1:-1,ze=(e.x+t.x)/2+Ke*H*Ae,tt=(e.y+t.y)/2+Ke*H*Be,Ot=Math.atan2(e.y-tt,e.x-ze)*180/Math.PI,Rt=Math.atan2(t.y-tt,t.x-ze)*180/Math.PI;return["1",ze.toFixed(3),tt.toFixed(3),i.toFixed(3),Ot.toFixed(3),Rt.toFixed(3)].join(",")}function Ie(e){e&&(R.site.layer=e,R.track.layer=e,$.success(`默认图层已切到 "${e}"`))}async function Ue(){try{const t=((await M.prompt("请输入新图层名(同名会被忽略)","新建图层",{inputValue:""})).value??"").trim();if(!t)return;if(te.value.includes(t)){R.site.layer=t,R.track.layer=t,$.info(`图层 "${t}" 已存在,已切到该层`);return}rt(t),R.site.layer=t,R.track.layer=t,$.success(`已创建图层 "${t}",下次创建对象会落到该层`)}catch{}}async function Me(){try{const e=Number((await M.prompt("X 坐标 (mm)","添加模拟车",{inputValue:"0"})).value),t=Number((await M.prompt("Y 坐标 (mm)","添加模拟车",{inputValue:"0"})).value),i=Number((await M.prompt("朝向 theta (rad,0 = +X 向右)","添加模拟车",{inputValue:"0"})).value),r=(await M.prompt("车名(可空)","添加模拟车",{inputValue:""})).value;if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(i)){$.warning("坐标 / 朝向必须是数字");return}let c=-1;await w.run({label:`新建模拟车 (${e.toFixed(0)}, ${t.toFixed(0)})`,apply:async()=>{c=(await O.createCar({x:e,y:t,theta:i,name:r})).id},revert:async()=>{c>0&&await O.deleteObject("car",c)}})}catch{}}async function we(e){if(k.setTool(e),W.value.siteA=null,Y.value=!1,e==="select.clear"){o.clear(),await q.clearSelection().catch(()=>{});return}if(de.includes(e)&&qe(),e.startsWith("align.")){await xt(e.replace("align.",""));return}if(e.startsWith("batch.")){await $t(e);return}if(e==="transform.delete"){await Xe();return}if(e.startsWith("select.byType.")){const t=e.replace("select.byType.","");De(t);return}if(e==="show.controlPoints"&&(k.showControlPoints.value=!k.showControlPoints.value),e==="show.controlHandles"&&(k.showControlHandles.value=!k.showControlHandles.value),e==="draw.image"&&He("image"),e==="draw.model"&&He("model"),e==="transform.copyFields"){await Ct();return}}function De(e){e==="site"?o.filterByKind("site"):e==="polyline"||e==="bezier"||e==="arc"?o.items.value=o.items.value.filter(t=>{if(t.kind!=="track")return!1;const i=t.typeName.toLowerCase();return e==="polyline"?i==="uitrack":e==="bezier"?i.includes("bezier"):e==="arc"?i.includes("arc"):!1}):e==="decor"?o.filterByKind("special"):e==="currentLayer"&&D.value?.layer&&(o.items.value=o.items.value.filter(t=>t.layer===D.value.layer))}async function Oe(e){T.x=e.x,T.y=e.y;const t=k.activeTool.value;if(!(Y.value&&de.includes(t))&&!pe.value){if(t==="draw.site"||t==="draw.sites.continuous"){await X(e.x,e.y);return}if(t==="draw.track.polyline"||t==="draw.track.bezier"||t==="draw.track.arc"||t==="draw.track.nurbs"){try{const i=await O.pick();await Ye(i.siteId)}catch{}return}}}function ke(e){o.set(Re(e))}function Re(e){const t=[],i=C.selectFilter;for(const r of e){const c=/^UI([A-Za-z]+)-(\d+)$/.exec(r)??/^([A-Za-z]+)-(\d+)$/.exec(r);if(!c)continue;const x=c[1],F=Number(c[2]),N=x.toLowerCase();let B;N==="site"?B="site":N==="car"||N==="vehicle"?B="car":N.includes("track")?B="track":B="special",!(B==="site"&&!i.sites)&&(B==="track"&&!i.tracks||B==="car"&&!i.cars||B==="special"&&!i.decor||t.push({kind:B,id:F,name:r,typeName:r.startsWith("UI")?`UI${x}`:x}))}return t}async function Ye(e){if(e<=0){$.warning("请先拾取一个站点");return}if(W.value.siteA==null){W.value.siteA=e,$.success(`已选起点站 #${e},请再拾取终点站`);return}const t=W.value.siteA,i=e;if(W.value.siteA=null,t===i){$.warning("起止站点不能相同");return}const r=k.activeTool.value==="draw.track.bezier"?"bezier":k.activeTool.value==="draw.track.arc"?"arc":k.activeTool.value==="draw.track.nurbs"?"nurbs":"track";let c,x="";if(r==="bezier"||r==="nurbs"){const N=await m(t,i,r);if(N==="cancelled")return;N!=null&&(c=N.typeInfo,x=`(控制点 ${N.midCount})`)}else if(r==="arc"){const N=await je(t,i);if(N==="cancelled")return;N!=null&&(c=N.typeInfo,x=`(半径 ${N.radius.toFixed(0)})`)}let F=-1;await w.run({label:`新建${be(r)} (${t}→${i})${x}`,apply:async()=>{const N={siteA:t,siteB:i,layer:R.track.layer};c&&(N.typeInfo=c),F=(await O.createTrack(r,N)).id},revert:async()=>{F>0&&await O.deleteObject("track",F)}}),Le(r)}async function m(e,t,i){const r=await me(e),c=await me(t);if(!r||!c)return $.warning(`无法拉到 site #${e} / #${t} 的 x,y,将不带 typeInfo 创建 track(控制点会用兜底直线)`),null;const x=be(i);let F;try{const B=await M.prompt("请输入中间控制点个数(不含起止站点;默认 2,输入 0 则不带控制点直接连接两站点)",`创建${x}`,{inputValue:"2",inputPattern:/^\d+$/,inputErrorMessage:"请输入非负整数"});F=Math.max(0,Math.floor(Number(B.value)))}catch{return"cancelled"}if(F===0)return{typeInfo:ge([r,c],i==="bezier"?2:3),midCount:0};$.info(`请在画布上依次点选 ${F} 个中间控制点(任意位置;右键取消创建)`),pe.value=!0;const N=[];try{for(let B=0;B<F;B++){let H;try{H=await O.pick()}catch{return $.info("已取消创建"),"cancelled"}N.push({x:H.x,y:H.y}),$.success(`已记录第 ${B+1}/${F} 个控制点 (${H.x.toFixed(0)}, ${H.y.toFixed(0)})`)}}finally{pe.value=!1}return{typeInfo:ge([r,...N,c],i==="bezier"?2:3),midCount:F}}async function X(e,t){let i=-1;await w.run({label:`新建站点 (${e.toFixed(0)}, ${t.toFixed(0)})`,apply:async()=>{i=(await O.createSite({x:e,y:t,layer:R.site.layer,name:`${R.site.namePrefix}-${Date.now()%1e5}`})).id},revert:async()=>{i>0&&await O.deleteObject("site",i)}})}async function Xe(){const e=[...o.items.value];if(e.length===0)return;const t=[];for(const i of e)try{const r=await q.getBundle(i.kind,i.id);t.push({kind:i.kind,typeName:r.typeName,data:{...r.fields??{}}})}catch{}await w.run({label:`删除 ${e.length} 个对象`,apply:async()=>{const i=e.map(r=>({action:"delete",kind:r.kind,id:r.id}));await O.batch(i),o.clear()},revert:async()=>{const i=t.map(r=>({action:"create",kind:_t(r.kind,r.typeName),data:r.data}));i.length&&(await O.batch(i),$.success(`已恢复 ${i.length} 个对象(注意:id 已重排)`))}})}function _t(e,t){const i=(t??"").toLowerCase();if(e==="track")return i.includes("bezier")?"bezier":i.includes("arc")?"arc":i.includes("nurbs")?"nurbs":"track";if(e==="special"){if(i.includes("image"))return"image";if(i.includes("text"))return"text";if(i.includes("model"))return"model"}return e}async function xt(e){const t=[];for(const r of o.items.value)if(r.kind!=="track")try{const c=await q.getBundle(r.kind,r.id),x=Number(c.fields?.x??0),F=Number(c.fields?.y??0);t.push({kind:r.kind,id:r.id,x,y:F})}catch{}if(t.length<2){$.warning("对齐需要选中至少 2 个对象");return}const i=mn(t,e);if(i.length===0){$.info("对齐无变化");return}await w.run({label:`对齐 (${e})`,apply:async()=>{await O.batch(i)},revert:async()=>{const r=t.map(c=>({action:"patch",kind:c.kind,id:c.id,data:{x:c.x,y:c.y}}));await O.batch(r)}})}async function $t(e){if(e==="batch.linearH"||e==="batch.linearV"){const t=e==="batch.linearH"?"横向":"纵向";try{const{value:i}=await M.prompt(`输入 ${t}站点数量`,"批量生成",{inputValue:"5",inputType:"number"}),r=Math.max(2,Math.floor(Number(i))),c=await M.prompt("起点 X","批量生成",{inputValue:"0"}),x=await M.prompt("起点 Y","批量生成",{inputValue:"0"}),F=await M.prompt("终点 X","批量生成",{inputValue:"5000"}),N=await M.prompt("终点 Y","批量生成",{inputValue:"0"}),B=e==="batch.linearH"?fn(Number(c.value),Number(F.value),Number(x.value),{count:r,layer:R.site.layer}):yn(Number(c.value),Number(x.value),Number(N.value),{count:r,layer:R.site.layer});await et(`${t}间隔生成 ${r}`,B)}catch{}return}if(e==="batch.matrix"){try{const t=Number((await M.prompt("行数","矩阵生成",{inputValue:"3"})).value),i=Number((await M.prompt("列数","矩阵生成",{inputValue:"3"})).value),r=Number((await M.prompt("x1","矩阵生成",{inputValue:"0"})).value),c=Number((await M.prompt("y1","矩阵生成",{inputValue:"0"})).value),x=Number((await M.prompt("x2","矩阵生成",{inputValue:"5000"})).value),F=Number((await M.prompt("y2","矩阵生成",{inputValue:"5000"})).value),N=vn(r,c,x,F,{rows:t,cols:i,layer:R.site.layer});await et(`矩阵生成 ${t}×${i}`,N)}catch{}return}if(e==="batch.circular"){try{const t=Number((await M.prompt("圆心 X","环形阵列",{inputValue:"0"})).value),i=Number((await M.prompt("圆心 Y","环形阵列",{inputValue:"0"})).value),r=Number((await M.prompt("半径 (mm)","环形阵列",{inputValue:"2000"})).value),c=Number((await M.prompt("站点数量","环形阵列",{inputValue:"8"})).value),x=bn(t,i,r,{count:c,layer:R.site.layer});await et(`环形阵列 r=${r} n=${c}`,x)}catch{}return}if(e==="batch.alongPath"){await Vt();return}}async function Vt(){const e=o.items.value.filter(c=>c.kind==="track");if(e.length===0){$.warning("请先选中至少 1 条路径");return}let t=500,i=!1;try{const{value:c}=await M.prompt("输入采样间距 (mm)","沿路径采样",{inputValue:"500",inputType:"number"});t=Math.max(10,Math.floor(Number(c)));const{value:x}=await M.prompt("是否包含端点?输入 1 包含,0 不包含","沿路径采样",{inputValue:"0"});i=Number(x)===1}catch{return}const r=[];await w.run({label:`沿 ${e.length} 条路径间距 ${t}mm 采样`,apply:async()=>{for(const c of e){const x=await O.sampleSitesAlongTrack(c.id,{spacingMm:t,includeEndpoints:i,layer:R.site.layer});r.push(...x.ids)}$.success(`已采样生成 ${r.length} 个站点`)},revert:async()=>{if(!r.length)return;const c=r.map(x=>({action:"delete",kind:"site",id:x}));await O.batch(c)}})}async function Ct(){if(o.items.value.length<2){$.warning("字段复制需要 ≥ 2 个选中对象(第 1 个为源,其余为目标)");return}const[e,...t]=o.items.value;try{const{value:i}=await M.prompt("输入要复制的字段名(逗号分隔),例如:x,y,layerName","字段复制",{inputValue:"x,y"}),r=i.split(",").map(x=>x.trim()).filter(Boolean);if(!r.length)return;const c=new Map;for(const x of t)try{const F=await q.getBundle(x.kind,x.id),N={};for(const B of r)N[B]=String(F.fields?.[B]??"");c.set(`${x.kind}:${x.id}`,N)}catch{}await w.run({label:`字段复制 ${r.join(",")} → ${t.length} 个`,apply:async()=>{const x=await O.copyFieldsTo(e.kind,e.id,r,t.map(F=>({kind:F.kind,id:F.id})));$.success(`已复制 ${x.copied} 项字段`)},revert:async()=>{const x=t.flatMap(F=>{const N=c.get(`${F.kind}:${F.id}`);return N?[{action:"patch",kind:F.kind,id:F.id,data:N}]:[]});x.length&&await O.batch(x)}})}catch{}}async function et(e,t){if(t.length===0)return;let i=[];await w.run({label:e,apply:async()=>{i=(await O.batch(t)).results.filter(c=>c.ok&&c.action==="create"&&c.result?.id).map(c=>({kind:c.result.kind,id:c.result.id}))},revert:async()=>{const r=i.map(c=>({action:"delete",kind:c.kind,id:c.id}));r.length&&await O.batch(r)}}),$.success(`${e} 完成`)}async function Pe(){if(o.items.value.length===0){D.value=null,ie.value=[],re.value=[],le.value=[];return}const e=o.items.value[0];St();try{const t=await q.getBundle(e.kind,e.id);D.value=t.summary,ie.value=Object.entries(t.fields).map(([i,r])=>({key:i,value:String(r)})),re.value=t.methods,le.value=(t.status??[]).map(i=>({key:i.key,value:i.value}))}catch(t){$.error(`加载属性失败:${t.message}`)}finally{Ft()}}function St(){ee.value=!0}function Ft(){ee.value=!1}async function jt(e){if(!D.value||o.items.value.length===0)return;const t=o.items.value[0],i=D.value.id,r=D.value.name??"";r!==e&&(await w.run({label:`重命名 ${r||"(无)"} → ${e}`,apply:async()=>{await q.setField(t.kind,i,"name",e)},revert:async()=>{try{await q.setField(t.kind,i,"name",r)}catch(c){$.warning(`回滚名称失败:${c.message}`)}}}),$.success("名称已更新"))}async function Nt(e){if(!D.value||o.items.value.length===0)return;const t=o.items.value[0],i=D.value.id,r=D.value.layer??"";r!==e&&(await w.run({label:`修改图层 ${r||"(无)"} → ${e}`,apply:async()=>{await q.setField(t.kind,i,"layerName",e)},revert:async()=>{try{await q.setField(t.kind,i,"layerName",r)}catch(c){$.warning(`回滚图层失败:${c.message}`)}}}),await Pe())}async function it(e,t){if(!D.value)return;const i=o.items.value[0];let r;try{const c=await q.getBundle(i.kind,D.value.id);r=c.fields?.[e]!=null?String(c.fields[e]):void 0}catch{}await w.run({label:`修改 ${e}`,apply:async()=>{await q.setField(i.kind,D.value.id,e,t)},revert:async()=>{if(r!==void 0)try{await q.setField(i.kind,D.value.id,e,r)}catch(c){$.warning(`回滚 ${e} 失败:${c.message}`)}else $.warning(`回滚 ${e}:没拿到原值快照,仅本地撤销`)}}),await Pe()}async function It(){try{const e=(await M.prompt("字段名","新增字段",{inputPattern:/^[A-Za-z0-9_]+$/})).value,t=(await M.prompt("字段值","新增字段",{inputValue:""})).value;await it(e,t)}catch{}}async function Pt(e){if(D.value)try{await q.execute(o.items.value[0].kind,D.value.id,e),$.success(`已执行 ${e}`),await Pe()}catch(t){$.error(`执行失败:${t.message}`)}}function At(){localStorage.setItem("mapEditor.defaults",JSON.stringify(R)),$.success("类型默认已保存到本地")}function Bt(e){$.info("图层可见 / 可选切换暂时仅本地生效,后续接入反射 API")}function rt(e){ne.value.find(t=>t.name===e)||(ne.value=[...ne.value,{name:e,visible:!0,selectable:!0,color:"#cccccc"}],te.value=[...te.value,e])}async function ut(){try{const e=await pt.get();y.value=!!e.configured}catch{y.value=!1}v.value=!0}async function zt(e){Se();const t=(e.created??[]).filter(r=>typeof r=="object"&&r!=null&&typeof r.id=="number"&&!r.error);if(t.length===0)return;const i={label:`AI 生图:落地 ${t.length} 个对象`,apply:async()=>{},revert:async()=>{const r=t.map(c=>({action:"delete",kind:c.kind,id:c.id}));await O.batch(r),$.success(`已撤销 AI 生图(删除 ${r.length} 个对象)`)}};await w.run(i)}async function dt(e){const t=localStorage.getItem("mapEditor.lastProjectPath")??"";if(!e&&t){J.value=!0;try{const i=await O.projectSave(t);localStorage.setItem("mapEditor.lastProjectPath",i.path),$.success(`已保存:${i.path}`)}catch(i){$.error(`保存失败:${i.message}`)}finally{J.value=!1}return}h.value="save",K.value=t?t.replace(/[\\/][^\\/]*$/,""):"",z.value=!0}async function Tt(){const e=localStorage.getItem("mapEditor.lastProjectPath")??"";h.value="load",K.value=e?e.replace(/[\\/][^\\/]*$/,""):"",z.value=!0}async function Et(e){if(e){if(h.value==="save"){J.value=!0;try{const t=await O.projectSave(e);localStorage.setItem("mapEditor.lastProjectPath",t.path),$.success(`已保存:${t.path}`)}catch(t){$.error(`保存失败:${t.message}`)}finally{J.value=!1}return}try{const t=await O.projectLoad(e);localStorage.setItem("mapEditor.lastProjectPath",t.path),$.success(`已加载:${t.sites} 站点 / ${t.tracks} 路径 / ${t.specials} 装饰 / ${t.missions} 任务`),o.clear(),D.value=null}catch(t){$.error(`加载失败:${t.message}`)}}}function He(e){n.value=e,V.value=e==="image"?"image/*":".obj,.glb,.gltf,.fbx,.cyclemodel",b.value?.click()}async function Lt(e){const t=e.target,i=t.files?.[0];if(i)try{const r=await i.arrayBuffer(),c=Ut(r),x=await O.uploadAsset(i.name,c);$.success(`已上传:${x.fileName}`),n.value==="image"?await O.createImage({x:0,y:0,imagePath:x.savedPath,size:1e3}):await O.createModel({x:0,y:0,modelPath:x.savedPath,scale:1}),Se()}catch(r){$.error(`上传失败:${r.message}`)}finally{t.value=""}}function Ut(e){let t="";const i=new Uint8Array(e);for(let r=0;r<i.byteLength;r++)t+=String.fromCharCode(i[r]);return btoa(t)}pn({onMouse:e=>{T.x=e.x,T.y=e.y},onPick:e=>{Oe(e)},onSelect:e=>ke(e.names)});const Mt=ya({onAlarm:()=>{},onObjectCreated:()=>Se(),onObjectDeleted:()=>Se(),onObjectPatched:()=>Se(),onObjectBatchChanged:()=>Se(),onSelectionDetail:e=>{if(!Array.isArray(e.names))return;const t=Re(e.names),i=Ve(t);i!==he.value&&(he.value=i,o.set(t))}});function Se(){Pe()}Fe(()=>Mt.connected.value,e=>L.value=e,{immediate:!0}),Fe(()=>Ve(o.items.value),e=>{Pe(),he.value=e,o.items.value.length===1&&q.setSelection(o.items.value[0].kind,o.items.value[0].id).catch(()=>{})});function ct(e){const t=e.ctrlKey||e.metaKey;t&&e.key.toLowerCase()==="z"&&!e.shiftKey?(e.preventDefault(),w.undo()):t&&(e.key.toLowerCase()==="y"||e.key.toLowerCase()==="z"&&e.shiftKey)?(e.preventDefault(),w.redo()):e.key==="Delete"&&Xe()}async function Dt(){try{const e=await O.getViewFilter();Object.assign(C.selectFilter,e.selectFilter),Object.assign(C.alignSnap,e.alignSnap),Object.assign(C.showViewport,e.showViewport),P()}catch(e){console.warn("[MapEditor] 拉后端 viewFilter 失败,沿用本地缓存:",e)}}return ht(async()=>{window.addEventListener("keydown",ct);try{const t=await pt.get();y.value=!!t.configured}catch{}const e=localStorage.getItem("mapEditor.defaults");if(e)try{Object.assign(R,JSON.parse(e))}catch{}ve(),await Dt()}),ma(()=>{window.removeEventListener("keydown",ct)}),(e,t)=>{const i=Je,r=wt,c=bt,x=Te,F=Ze,N=st;return S(),U("div",gn,[a(ga,{"can-undo":ae(w).canUndo.value,"can-redo":ae(w).canRedo.value,saving:J.value,"view-filter":C,onCmd:_},null,8,["can-undo","can-redo","saving","view-filter"]),u("div",wn,[a(ja,{"active-tool":ae(k).activeTool.value,onSelectTool:we,onOpenAi:ut},null,8,["active-tool"]),u("div",hn,[a(fa,{ref_key:"workspaceRef",ref:d,host:ae(g),scope:ae(j).scope??"Platform",token:ae(j).token??"","read-only":!1,"embed-ui":!1,"canvas-only":!0,"hide-toolbar":!0,onPick:Oe,onSelect:ke},null,8,["host","scope","token"])]),a(Vl,{"selection-count":ae(o).count.value,primary:D.value,fields:ie.value,status:le.value,methods:re.value,loading:ee.value,layers:te.value,defaults:R,"layer-rows":ne.value,onRename:jt,onChangeLayer:Nt,onSetField:it,onAddField:It,onExecAction:Pt,onSaveDefaults:At,onLayerToggle:Bt,onAddLayer:rt,onDelete:Xe},null,8,["selection-count","primary","fields","status","methods","loading","layers","defaults","layer-rows"])]),a(zl,{"selected-count":ae(o).count.value,"mouse-x":T.x,"mouse-y":T.y,"tool-label":ae(k).toolLabel.value,"snap-on":Qe.value,"undo-size":ae(w).undoStack.value.length,"redo-size":ae(w).redoStack.value.length,connected:L.value},null,8,["selected-count","mouse-x","mouse-y","tool-label","snap-on","undo-size","redo-size","connected"]),a(Ml,{modelValue:v.value,"onUpdate:modelValue":t[0]||(t[0]=B=>v.value=B),configured:y.value,"default-bounds":E.value,"default-layer":R.site.layer,onGenerated:zt},null,8,["modelValue","configured","default-bounds","default-layer"]),a(rn,{modelValue:z.value,"onUpdate:modelValue":t[1]||(t[1]=B=>z.value=B),mode:h.value,"initial-path":K.value,onConfirm:Et},null,8,["modelValue","mode","initial-path"]),a(N,{modelValue:ue.value,"onUpdate:modelValue":t[3]||(t[3]=B=>ue.value=B),title:"切换显示图层",width:"520px"},{footer:l(()=>[a(x,{onClick:t[2]||(t[2]=B=>ue.value=!1)},{default:l(()=>[...t[4]||(t[4]=[p("关闭",-1)])]),_:1}),a(x,{type:"primary",onClick:Ue},{default:l(()=>[...t[5]||(t[5]=[p("新建图层…",-1)])]),_:1})]),default:l(()=>[a(F,{data:ne.value,size:"small",style:{width:"100%"}},{default:l(()=>[a(i,{prop:"name",label:"图层","min-width":"120"}),a(i,{label:"可见",width:"80"},{default:l(({row:B})=>[a(r,{modelValue:B.visible,"onUpdate:modelValue":H=>B.visible=H},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(i,{label:"可选",width:"80"},{default:l(({row:B})=>[a(r,{modelValue:B.selectable,"onUpdate:modelValue":H=>B.selectable=H},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(i,{label:"颜色",width:"100"},{default:l(({row:B})=>[a(c,{modelValue:B.color,"onUpdate:modelValue":H=>B.color=H,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(i,{label:"默认层",width:"110"},{default:l(({row:B})=>[a(x,{size:"small",type:R.site.layer===B.name?"primary":"default",onClick:H=>Ie(B.name)},{default:l(()=>[p(A(R.site.layer===B.name?"当前默认":"设为默认"),1)]),_:2},1032,["type","onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue"]),u("input",{ref_key:"fileInputRef",ref:b,type:"file",style:{display:"none"},accept:V.value,onChange:Lt},null,40,kn)])}}}),eo=$e(_n,[["__scopeId","data-v-8c85526e"]]);export{eo as default}; diff --git a/MiGu.Server/wwwroot/assets/MapEditorView-Cf0wafOo.css b/MiGu.Server/wwwroot/assets/MapEditorView-Cf0wafOo.css new file mode 100644 index 0000000..c9d5a97 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapEditorView-Cf0wafOo.css @@ -0,0 +1 @@ +.edit-top-bar[data-v-ff33cd16]{display:flex;align-items:center;gap:4px;padding:8px 14px;background:linear-gradient(180deg,#321658f2,#220e40f2);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000040}.spacer[data-v-ff33cd16]{flex:1}.el-divider--vertical[data-v-ff33cd16]{margin:0 6px;background:#ffffff26}.topbar-btn[data-v-ff33cd16]{color:#fdf6ff!important;font-weight:600;font-size:13.5px;padding:6px 12px;height:auto;border-radius:6px;transition:background .15s ease,color .15s ease}.topbar-btn[data-v-ff33cd16]:hover{color:#fff!important;background:#aa6efa47!important}.topbar-btn[data-v-ff33cd16]:focus{background:#aa6efa4d!important}.topbar-icon-btn[data-v-ff33cd16]{color:#fdf6ffeb!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.15)!important;font-size:15px}.topbar-icon-btn[data-v-ff33cd16]:hover:not(.is-disabled){background:#aa6efa4d!important;border-color:#aa6efa8c!important}.topbar-icon-btn.is-disabled[data-v-ff33cd16]{opacity:.4}.topbar-saving-tag[data-v-ff33cd16]{margin-left:8px}.topbar-filter-menu[data-v-ff33cd16] .topbar-filter-header{font-size:11px;color:#e8d7f58c;cursor:default;pointer-events:none;padding-top:6px;padding-bottom:2px;text-transform:none;letter-spacing:.4px}.edit-tool-rail[data-v-6b284dea]{height:100%;width:170px;background:linear-gradient(180deg,#1c0c38d9,#120624f2);border-right:1px solid rgba(255,255,255,.1);padding:4px 0 12px;backdrop-filter:blur(10px);display:flex;flex-direction:column;box-shadow:inset -1px 0 #ffffff0a}.rail-scroll[data-v-6b284dea]{height:100%}.rail-group[data-v-6b284dea]{display:flex;flex-direction:column;padding:4px 8px 2px}.rail-group-title[data-v-6b284dea]{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:2px;color:#bea0e6b3;text-transform:uppercase;margin:4px 0 6px;font-weight:600}.rail-group-bar[data-v-6b284dea]{flex:1;height:1px;background:#bea0e633}.rail-group-list[data-v-6b284dea]{display:flex;flex-direction:column;gap:2px}.rail-divider[data-v-6b284dea]{width:100%;height:1px;background:linear-gradient(90deg,#fff0,#ffffff14,#fff0);margin:6px 0 2px}.rail-btn[data-v-6b284dea]{appearance:none;border:0;cursor:pointer;width:100%;min-height:32px;padding:0 8px;border-radius:6px;background:#ffffff0a;color:#e8d7f5eb;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;text-align:left;transition:background .14s ease,color .14s ease,box-shadow .14s ease,transform .12s ease}.rail-btn[data-v-6b284dea]:hover{background:#965ae633;color:#fff}.rail-btn[data-v-6b284dea]:active{transform:scale(.985)}.rail-btn.rail-btn--active[data-v-6b284dea]{background:linear-gradient(120deg,#aa6efaeb,#7846dceb);color:#fff;box-shadow:0 3px 10px #8c50e673,inset 0 0 0 1px #ffffff2e}.rail-btn-glyph[data-v-6b284dea]{width:20px;display:inline-flex;justify-content:center;align-items:center;font-size:15px;line-height:1;flex:none}.rail-btn-label[data-v-6b284dea]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-group-ai[data-v-6b284dea]{margin-top:14px;padding-bottom:10px;position:relative}.rail-group-ai[data-v-6b284dea]:before{content:"";position:absolute;left:8px;right:8px;top:0;height:1px;background:linear-gradient(90deg,#fff0,#dc8ce659,#fff0)}.rail-btn--ai[data-v-6b284dea]{background:linear-gradient(135deg,#7846dc8c,#ff5ac88c);color:#fff;font-weight:600;box-shadow:0 2px 10px #dc5adc4d,inset 0 0 0 1px #fff3}.rail-btn--ai[data-v-6b284dea]:hover{background:linear-gradient(135deg,#965af0d9,#ff6edcd9);color:#fff;box-shadow:0 4px 14px #e66ee68c,inset 0 0 0 1px #ffffff4d}.rail-btn--ai .rail-btn-glyph[data-v-6b284dea]{font-size:16px;text-shadow:0 0 8px rgba(255,200,250,.6)}.edit-property-panel[data-v-e9bd2bb3]{height:100%;width:360px;background:linear-gradient(180deg,#1c0c38d9,#120624f2);border-left:1px solid rgba(255,255,255,.1);padding:0;backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column;color:#e8d7f5eb}.prop-tabs[data-v-e9bd2bb3]{height:100%;display:flex;flex-direction:column}.prop-tabs[data-v-e9bd2bb3] .el-tabs__header{margin:0;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.08)}.prop-tabs[data-v-e9bd2bb3] .el-tabs__nav-wrap:after{background:transparent}.prop-tabs[data-v-e9bd2bb3] .el-tabs__item{color:#dcc8f0b3;font-weight:500;font-size:13px;height:36px;line-height:36px}.prop-tabs[data-v-e9bd2bb3] .el-tabs__item.is-active{color:#fff}.prop-tabs[data-v-e9bd2bb3] .el-tabs__active-bar{background:linear-gradient(90deg,#aa6efa,#ff6edc);height:2px}.prop-tabs[data-v-e9bd2bb3] .el-tabs__content{flex:1;overflow:auto;padding:10px 12px 14px}.empty-hint[data-v-e9bd2bb3]{display:flex;align-items:center;gap:6px;padding:56px 16px;text-align:center;color:#dcc8f08c;flex-direction:column}.empty-icon[data-v-e9bd2bb3]{font-size:28px;color:#b482dc73}.empty-title[data-v-e9bd2bb3]{font-size:13px;color:#e8d7f5bf;font-weight:500}.empty-desc[data-v-e9bd2bb3]{font-size:11.5px;color:#dcc8f080}.loading-hint[data-v-e9bd2bb3]{display:flex;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:#e8d7f5a6;font-size:12.5px;justify-content:center}.object-pane[data-v-e9bd2bb3]{display:flex;flex-direction:column;gap:10px}.prop-card[data-v-e9bd2bb3]{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 12px;box-shadow:0 1px 4px #0003}.prop-card--header[data-v-e9bd2bb3]{background:linear-gradient(140deg,#aa6efa2e,#461e6e1a);border-color:#aa6efa47}.prop-card--geom[data-v-e9bd2bb3]{background:linear-gradient(140deg,#508cdc1a,#2846820f);border-color:#78aae638}.prop-card--style[data-v-e9bd2bb3]{background:linear-gradient(140deg,#dc6ec81a,#9646820f);border-color:#e682c838}.prop-card--custom[data-v-e9bd2bb3]{background:#ffffff08;border-color:#aa6efa2e}.prop-card--status[data-v-e9bd2bb3]{background:#508cdc0f;border-color:#78aae62e}.prop-card--actions[data-v-e9bd2bb3]{background:#8c50c80f;border-color:#aa6efa2e}.prop-card-header[data-v-e9bd2bb3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.prop-card-title[data-v-e9bd2bb3]{font-size:11.5px;font-weight:600;letter-spacing:1px;color:#dcb4fad9;text-transform:uppercase}.prop-card-meta[data-v-e9bd2bb3]{font-size:10.5px;color:#c8b4dc80}.prop-card-flag[data-v-e9bd2bb3]{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:#b4c8f099;padding:2px 7px;border-radius:10px;background:#78a0dc1a;transition:background .25s ease,color .25s ease,box-shadow .25s ease;margin-left:auto}.prop-card-flag.is-synced[data-v-e9bd2bb3]{background:linear-gradient(120deg,#50c88252,#78dcc852);color:#dcffe6f2;box-shadow:0 0 8px #50c88273}.prop-card-flag-dot[data-v-e9bd2bb3]{width:6px;height:6px;border-radius:50%;background:#b4c8f099;transition:background .25s ease,box-shadow .25s ease}.prop-card-flag.is-synced .prop-card-flag-dot[data-v-e9bd2bb3]{background:#6ce7a8;box-shadow:0 0 6px #6ce7a8d9}.prop-card-row[data-v-e9bd2bb3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prop-card-row[data-v-e9bd2bb3]:last-child{margin-bottom:0}.prop-id-block[data-v-e9bd2bb3]{display:flex;align-items:center;gap:6px}.prop-id-tag[data-v-e9bd2bb3]{background:#aa6efa4d;color:#fff;padding:2px 8px;font-size:11.5px;font-weight:600;border-radius:4px;letter-spacing:.5px}.prop-type-tag[data-v-e9bd2bb3]{color:#e8d7f5bf;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.prop-status-tag[data-v-e9bd2bb3]{font-weight:500}.prop-header-actions[data-v-e9bd2bb3]{display:flex;align-items:center;gap:6px}.prop-delete-btn[data-v-e9bd2bb3]{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:5px;font-size:11.5px;font-weight:500;letter-spacing:.4px;color:#ffc8d2f2;background:linear-gradient(135deg,#ff5a782e,#dc3c6e38);border:1px solid rgba(255,110,140,.45);transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .12s ease}.prop-delete-btn[data-v-e9bd2bb3]:hover:not(:disabled){background:linear-gradient(135deg,#ff5a788c,#dc3c6ea6);border-color:#ff8caad9;color:#fff;box-shadow:0 3px 10px #dc466e73}.prop-delete-btn[data-v-e9bd2bb3]:active:not(:disabled){transform:scale(.96)}.prop-delete-btn[data-v-e9bd2bb3]:disabled{opacity:.55;cursor:progress}.prop-delete-icon[data-v-e9bd2bb3]{font-size:12px;line-height:1}.prop-name-row[data-v-e9bd2bb3],.prop-layer-row[data-v-e9bd2bb3]{gap:8px}.prop-name-label[data-v-e9bd2bb3]{width:36px;font-size:11.5px;color:#c8b4dcb3;flex:none}.prop-layer-select[data-v-e9bd2bb3]{flex:1}.prop-grid[data-v-e9bd2bb3]{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;row-gap:8px}.prop-grid-item[data-v-e9bd2bb3]{display:flex;flex-direction:column;gap:3px;min-width:0}.prop-grid-item--wide[data-v-e9bd2bb3]{grid-column:1 / -1}.prop-field-label[data-v-e9bd2bb3]{font-size:11px;color:#c8b4e6c7;letter-spacing:.3px;display:flex;justify-content:space-between;align-items:baseline;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-field-unit[data-v-e9bd2bb3]{font-size:10px;color:#aa96c88c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;flex:none}.prop-field-num[data-v-e9bd2bb3] .el-input-number{width:100%}.prop-field-num[data-v-e9bd2bb3] .el-input__wrapper{background:#ffffff0f;box-shadow:inset 0 0 0 1px #aa6efa2e}.prop-field-row[data-v-e9bd2bb3]{display:flex;align-items:center;gap:4px}.prop-field-icon-btn[data-v-e9bd2bb3]{appearance:none;border:0;cursor:pointer;width:22px;height:22px;border-radius:4px;background:#ff64821f;color:#ffb4c8d9;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .14s,color .14s}.prop-field-icon-btn[data-v-e9bd2bb3]:hover{background:#ff648252;color:#fff}.prop-empty-row[data-v-e9bd2bb3]{font-size:11.5px;color:#c8b4dc66;text-align:center;padding:8px 0}.prop-add-field-btn[data-v-e9bd2bb3]{appearance:none;border:0;cursor:pointer;width:100%;margin-top:8px;padding:6px 10px;border-radius:6px;background:#aa6efa24;border:1px dashed rgba(170,110,250,.4);color:#dcb4faeb;font-size:12px;font-weight:500;transition:background .14s ease,border-color .14s ease,color .14s ease}.prop-add-field-btn[data-v-e9bd2bb3]:hover{background:#aa6efa42;border-color:#aa6efaa6;color:#fff}.prop-status-list[data-v-e9bd2bb3]{display:flex;flex-direction:column;gap:4px}.prop-status-item[data-v-e9bd2bb3]{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:4px;background:#ffffff08;font-size:11.5px}.prop-status-key[data-v-e9bd2bb3]{color:#aac8f0d9;font-weight:500}.prop-status-value[data-v-e9bd2bb3]{color:#e8f5fff2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-actions[data-v-e9bd2bb3]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.prop-action-btn[data-v-e9bd2bb3]{appearance:none;border:0;cursor:pointer;padding:7px 10px;border-radius:7px;background:linear-gradient(135deg,#aa6efa33,#7846dc33);border:1px solid rgba(170,110,250,.35);color:#e8d7f5f2;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;gap:6px;transition:background .14s ease,border-color .14s ease,transform .12s ease,box-shadow .14s ease;text-align:left}.prop-action-btn[data-v-e9bd2bb3]:hover:not(:disabled){background:linear-gradient(135deg,#aa6efa9e,#ff6edc8c);border-color:#ff82dcb3;color:#fff;box-shadow:0 4px 12px #b45adc66}.prop-action-btn[data-v-e9bd2bb3]:active:not(:disabled){transform:scale(.985)}.prop-action-btn[data-v-e9bd2bb3]:disabled{opacity:.6;cursor:progress}.prop-action-icon[data-v-e9bd2bb3]{font-size:9px;color:#ffc8fad9;flex:none}.prop-action-spinner[data-v-e9bd2bb3]{display:inline-block;animation:prop-spin-e9bd2bb3 .8s linear infinite;font-size:13px}.prop-action-label[data-v-e9bd2bb3]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes prop-spin-e9bd2bb3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.defaults-form .el-button[data-v-e9bd2bb3]{margin-top:8px}.layer-table[data-v-e9bd2bb3]{margin:6px 0}.new-layer[data-v-e9bd2bb3]{margin-top:8px}.edit-status-bar[data-v-6254b10f]{display:flex;align-items:center;gap:16px;padding:4px 14px;background:#140828d9;border-top:1px solid rgba(255,255,255,.08);color:#e8d7f5d9;font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;height:28px}.spacer[data-v-6254b10f]{flex:1}.seg b[data-v-6254b10f]{color:var(--mg-accent, #c4a4ff)}.seg .on[data-v-6254b10f]{color:#67c23a}.seg .off[data-v-6254b10f]{color:#a0a0a0}.seg.ok[data-v-6254b10f]{color:#67c23a}.seg.warn[data-v-6254b10f]{color:#f56c6c}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.cfg-alert[data-v-7b1912b1]{margin-bottom:12px}.ml[data-v-7b1912b1]{margin-left:6px}.upload-hint[data-v-7b1912b1]{display:flex;align-items:center;gap:8px;padding:12px;color:var(--el-text-color-regular, rgba(232,215,245,.7))}.result-panel[data-v-7b1912b1]{margin-top:8px}.ai-text[data-v-7b1912b1]{color:var(--el-text-color-primary, rgba(232,215,245,.85));padding:6px 0;white-space:pre-wrap}.ai-stat[data-v-7b1912b1]{padding:6px 0;color:var(--el-text-color-primary, rgba(232,215,245,.85))}.ai-stat b[data-v-7b1912b1]{color:var(--mg-accent, #c4a4ff)}.proj-browse-dialog[data-v-411e65f0] .el-dialog__header{padding:14px 20px;margin-right:0;border-bottom:1px solid rgba(170,110,250,.15)}.proj-browse-dialog[data-v-411e65f0] .el-dialog__title{font-weight:600;font-size:14px;color:#3c1e6ef2}.proj-browse-dialog[data-v-411e65f0] .el-dialog__body{padding:12px 16px 8px}.proj-browse[data-v-411e65f0]{display:flex;flex-direction:column;gap:10px}.proj-browse-toolbar[data-v-411e65f0]{display:flex;gap:6px;align-items:center}.proj-icon-btn[data-v-411e65f0]{appearance:none;border:1px solid rgba(170,110,250,.25);background:#f5ebffa6;color:#502882d9;width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:background .14s,border-color .14s,color .14s}.proj-icon-btn[data-v-411e65f0]:hover:not(:disabled){background:#aa6efa33;border-color:#aa6efa8c;color:#280a5af2}.proj-icon-btn[data-v-411e65f0]:disabled{opacity:.4;cursor:not-allowed}.proj-icon[data-v-411e65f0]{font-size:14px;line-height:1}.proj-path-input[data-v-411e65f0]{flex:1}.proj-path-prefix[data-v-411e65f0]{font-size:12px;color:#7850b4b3}.proj-error[data-v-411e65f0]{margin:0}.proj-browse-body[data-v-411e65f0]{display:grid;grid-template-columns:220px 1fr;gap:10px;height:400px;border:1px solid rgba(170,110,250,.18);border-radius:8px;overflow:hidden;background:#faf5ff80}.proj-browse-side[data-v-411e65f0]{display:flex;flex-direction:column;border-right:1px solid rgba(170,110,250,.15);background:#f5eeffa6}.proj-side-title[data-v-411e65f0]{font-size:11px;letter-spacing:1px;color:#7850b4d9;font-weight:600;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid rgba(170,110,250,.1);background:#ffffff73}.proj-side-scroll[data-v-411e65f0]{flex:1}.proj-side-section[data-v-411e65f0]{margin-top:10px;padding:0 6px}.proj-side-section[data-v-411e65f0]:first-child{margin-top:0}.proj-side-section-title[data-v-411e65f0]{font-size:10.5px;color:#7850b4b3;padding:6px 6px 2px;letter-spacing:.5px}.proj-side-btn[data-v-411e65f0]{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:5px;font-size:12.5px;color:#3c1e6eeb;cursor:pointer;text-align:left;transition:background .12s}.proj-side-btn[data-v-411e65f0]:hover{background:#aa6efa2e}.proj-side-btn--active[data-v-411e65f0]{background:#aa6efa52;color:#fff}.proj-side-cwd[data-v-411e65f0]{margin:6px;background:#aa6efa24;border:1px solid rgba(170,110,250,.3)}.proj-side-cwd[data-v-411e65f0]:hover{background:#aa6efa47}.proj-side-icon[data-v-411e65f0]{width:16px;flex:none;text-align:center}.proj-side-text[data-v-411e65f0]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-side-empty[data-v-411e65f0]{font-size:11.5px;color:#785aa08c;padding:8px 12px;text-align:center}.proj-browse-main[data-v-411e65f0]{padding:0;overflow:hidden}.proj-browse-table[data-v-411e65f0]{width:100%}.proj-file-icon[data-v-411e65f0]{font-size:14px}.proj-file-name[data-v-411e65f0]{color:#280a5af2;font-weight:500;font-size:12.5px}.proj-mute[data-v-411e65f0]{color:#785aa0b3;font-size:11.5px}.proj-browse-footer[data-v-411e65f0]{display:flex;align-items:center;gap:8px;padding:4px 0}.proj-footer-label[data-v-411e65f0]{font-size:12px;color:#502882d9;font-weight:500;flex:none;min-width:64px}.proj-manual-input[data-v-411e65f0]{flex:1}.proj-footer-type[data-v-411e65f0]{font-size:11.5px;color:#785aa0b3;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.proj-footer-bar[data-v-411e65f0]{display:flex;align-items:center;justify-content:space-between}.proj-footer-tip[data-v-411e65f0]{font-size:11.5px;color:#785aa0b3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:460px}.map-editor-page[data-v-8c85526e]{height:calc(100vh - 56px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#2d1456,#1a0930,#0f0420);color:#e8d7f5e6}.me-body[data-v-8c85526e]{flex:1;display:flex;min-height:0}.me-center[data-v-8c85526e]{flex:1;min-width:0;display:flex}.me-center[data-v-8c85526e] .workspace-3d-wrap{flex:1;height:100%;border:0;border-radius:0;min-height:0} diff --git a/MiGu.Server/wwwroot/assets/MapMonitorConfigView-BIPqxkT5.js b/MiGu.Server/wwwroot/assets/MapMonitorConfigView-BIPqxkT5.js new file mode 100644 index 0000000..4eb3b9c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapMonitorConfigView-BIPqxkT5.js @@ -0,0 +1 @@ +import{aG as D,b3 as d,aC as f,az as u,bj as S,aF as c,ad as F,bB as s,aE as i,aA as g,t as Y,s as I,aB as A,w as q,ai as G,bd as O,v as H,E as Q,av as $,al as K,bb as V,b1 as R,Y as k,ba as j,ac as W,a9 as X,bC as Z,bt as ee,bm as J,bc as te,as as le,u as ae}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as se}from"./PermissionGuard-BxagL6-4.js";/* empty css *//* empty css *//* empty css *//* empty css */import{a as L,r as P,e as ne}from"./reflection-Dr3WM5Rz.js";const oe={class:"mmcg"},ie={class:"mmcg-head"},ce={class:"mmcg-title"},de={key:0,class:"mmcg-empty muted"},ue={key:2,class:"mmcg-orphans"},re={class:"orphan-list"},me=D({__name:"MapMonitorConfigGroup",props:{title:{},available:{},selected:{},emptyTip:{}},emits:["update:selected"],setup(p,{emit:M}){const n=p,m=M,_=$(()=>n.available.length?n.selected.length?`${n.selected.length} / ${n.available.length}`:`白名单空 = 显示全部 (${n.available.length})`:"空"),l=$(()=>n.selected.filter(r=>!n.available.includes(r))),b=$(()=>n.available.length>n.selected.length);function y(r){const e=[...r.filter(a=>typeof a=="string"),...l.value];m("update:selected",e)}function E(){m("update:selected",[...n.available,...l.value])}function C(){m("update:selected",[...l.value])}function w(r){m("update:selected",n.selected.filter(t=>t!==r))}function z(){m("update:selected",n.selected.filter(r=>n.available.includes(r)))}return(r,t)=>{const e=F,a=I,x=Y,N=H,T=q,U=Q;return d(),f("section",oe,[u("header",ie,[u("span",ce,S(p.title),1),c(e,{size:"small",effect:"plain",type:"info"},{default:s(()=>[i(S(_.value),1)]),_:1}),t[2]||(t[2]=u("div",{class:"spacer"},null,-1)),p.available.length?(d(),g(x,{key:0},{default:s(()=>[c(a,{size:"small",disabled:!b.value,onClick:E},{default:s(()=>[...t[0]||(t[0]=[i("全选",-1)])]),_:1},8,["disabled"]),c(a,{size:"small",disabled:!p.selected.length,onClick:C},{default:s(()=>[...t[1]||(t[1]=[i("清空",-1)])]),_:1},8,["disabled"])]),_:1})):A("",!0)]),p.available.length?(d(),g(T,{key:1,"model-value":p.selected,class:"mmcg-grid","onUpdate:modelValue":y},{default:s(()=>[(d(!0),f(G,null,O(p.available,v=>(d(),g(N,{key:v,value:v,label:v,class:"mmcg-cb"},null,8,["value","label"]))),128))]),_:1},8,["model-value"])):(d(),f("p",de,S(p.emptyTip),1)),l.value.length?(d(),f("div",ue,[c(U,{type:"warning",closable:!1,"show-icon":"",title:`检测到 ${l.value.length} 个残留键(后端已经不再暴露,但仍在白名单中)`},{default:s(()=>[u("div",re,[(d(!0),f(G,null,O(l.value,v=>(d(),g(e,{key:v,type:"warning",size:"small",closable:"",onClose:o=>w(v)},{default:s(()=>[i(S(v),1)]),_:2},1032,["onClose"]))),128)),c(a,{link:"",type:"warning",size:"small",onClick:z},{default:s(()=>[...t[3]||(t[3]=[i("一键清理全部残留",-1)])]),_:1})])]),_:1},8,["title"])])):A("",!0)])}}}),B=K(me,[["__scopeId","data-v-c29d34fc"]]),pe={class:"mmc-header"},ve={class:"mmc-tab-body"},fe=D({__name:"MapMonitorConfigView",setup(p){const M=[{value:"car",label:"车辆 (Car)"},{value:"site",label:"站点 (Site)"},{value:"track",label:"路径 (Track)"}],n=V("car"),m=V(!1),_=V(!1),l=j(L()),b=j(ne()),y=V(JSON.stringify(L())),E=$(()=>y.value!==JSON.stringify(l));function C(t,e){for(const a of M)t[a.value].fields=[...e[a.value]?.fields??[]],t[a.value].status=[...e[a.value]?.status??[]],t[a.value].methods=[...e[a.value]?.methods??[]]}async function w(t=!1){m.value=!0;try{const e=await P.getMonitorConfig();C(l,e.config),C(b,e.available),y.value=JSON.stringify(l),t&&k.success("已重载")}catch(e){k.error(`加载失败:${e instanceof Error?e.message:String(e)}`)}finally{m.value=!1}}async function z(){_.value=!0;try{const t=await P.saveMonitorConfig({car:{...l.car},site:{...l.site},track:{...l.track}});C(l,t),y.value=JSON.stringify(l),k.success("已保存(已写入 simple.json)")}catch(t){k.error(`保存失败:${t instanceof Error?t.message:String(t)}`)}finally{_.value=!1}}function r(t,e,a){l[t][e]=[...a]}return R(()=>w()),(t,e)=>{const a=F,x=I,N=X,T=W,U=ae,v=ee;return d(),g(se,{"widget-id":"ConfigCenter"},{default:s(()=>[c(U,{shadow:"never",class:"mmc-card"},{header:s(()=>[u("div",pe,[e[6]||(e[6]=u("span",{class:"mmc-title"},"地图监控配置",-1)),c(a,{size:"small",effect:"plain"},{default:s(()=>[...e[2]||(e[2]=[i("section=map-monitor",-1)])]),_:1}),E.value?(d(),g(a,{key:0,size:"small",type:"warning",effect:"dark"},{default:s(()=>[...e[3]||(e[3]=[i("未保存",-1)])]),_:1})):A("",!0),e[7]||(e[7]=u("div",{class:"spacer"},null,-1)),c(x,{size:"small",icon:J(te),loading:m.value,onClick:e[0]||(e[0]=o=>w(!0))},{default:s(()=>[...e[4]||(e[4]=[i("重载",-1)])]),_:1},8,["icon","loading"]),c(x,{size:"small",type:"primary",icon:J(le),loading:_.value,disabled:!E.value,onClick:z},{default:s(()=>[...e[5]||(e[5]=[i(" 保存 ",-1)])]),_:1},8,["icon","loading","disabled"])])]),default:s(()=>[e[8]||(e[8]=u("p",{class:"mmc-desc"},[i(" 勾选「地图监控」右侧选中信息面板要展示的内容白名单(按对象类型 - 车辆 / 站点 / 路径 分组)。 三组分别控制 "),u("b",null,"属性"),i("、"),u("b",null,"状态"),i("、"),u("b",null,"动作"),i(" Tab 里可见的字段 / 状态项 / 可执行方法。 每组留空 = 显示全部;勾选任何一项即进入白名单模式(仅显示已勾选)。保存后直接写入 SimpleLite 的 "),u("code",null,"simple.json"),i(" ("),u("code",null,"Configuration.conf.monitorVisibility"),i(")。 ")],-1)),c(T,{modelValue:n.value,"onUpdate:modelValue":e[1]||(e[1]=o=>n.value=o),class:"mmc-tabs"},{default:s(()=>[(d(),f(G,null,O(M,o=>c(N,{key:o.value,label:o.label,name:o.value},{default:s(()=>[Z((d(),f("div",ve,[c(B,{title:"属性字段(Properties)",available:b[o.value].fields,selected:l[o.value].fields,"empty-tip":"该类型暂未发现任何 [FieldMember]。在 SimpleLite 端添加字段后点重载会刷新。","onUpdate:selected":h=>r(o.value,"fields",h)},null,8,["available","selected","onUpdate:selected"]),c(B,{title:"状态项(Status)",available:b[o.value].status,selected:l[o.value].status,"empty-tip":"该类型暂未发现任何 status 字段(来自 obj.status 反射)。","onUpdate:selected":h=>r(o.value,"status",h)},null,8,["available","selected","onUpdate:selected"]),c(B,{title:"可执行动作(Methods)",available:b[o.value].methods,selected:l[o.value].methods,"empty-tip":"该类型暂未发现任何 [MethodMember] 方法。","onUpdate:selected":h=>r(o.value,"methods",h)},null,8,["available","selected","onUpdate:selected"])])),[[v,m.value]])]),_:2},1032,["label","name"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),$e=K(fe,[["__scopeId","data-v-13970b71"]]);export{$e as default}; diff --git a/MiGu.Server/wwwroot/assets/MapMonitorConfigView-CwieeOtF.css b/MiGu.Server/wwwroot/assets/MapMonitorConfigView-CwieeOtF.css new file mode 100644 index 0000000..e6a4fd6 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapMonitorConfigView-CwieeOtF.css @@ -0,0 +1 @@ +.mmcg[data-v-c29d34fc]{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px}.mmcg-head[data-v-c29d34fc]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mmcg-title[data-v-c29d34fc]{font-weight:600;font-size:13px;color:#fff}.mmcg-head .spacer[data-v-c29d34fc]{flex:1}.mmcg-empty[data-v-c29d34fc]{margin:4px 0 0;font-size:12px;font-style:italic}.muted[data-v-c29d34fc]{color:#ffffff9e}.mmcg-grid[data-v-c29d34fc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;align-items:center}.mmcg-grid[data-v-c29d34fc] .el-checkbox{margin-right:0;height:28px}.mmcg-grid[data-v-c29d34fc] .el-checkbox__label{color:#ffffffeb;font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace}.mmcg-orphans[data-v-c29d34fc]{margin-top:4px}.orphan-list[data-v-c29d34fc]{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.mmc-card[data-v-13970b71]{margin:0}.mmc-header[data-v-13970b71]{display:flex;align-items:center;gap:8px}.mmc-title[data-v-13970b71]{font-weight:600;font-size:15px;color:#fff}.mmc-header .spacer[data-v-13970b71]{flex:1}.mmc-desc[data-v-13970b71]{color:#e8d7f5c7;font-size:12.5px;margin:0 0 12px;line-height:1.7}.mmc-desc code[data-v-13970b71]{background:#ffffff14;padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace}.mmc-tabs[data-v-13970b71] .el-tabs__item{color:#ffffffd1!important}.mmc-tabs[data-v-13970b71] .el-tabs__item.is-active{color:#fff!important}.mmc-tab-body[data-v-13970b71]{display:flex;flex-direction:column;gap:18px;padding-top:6px} diff --git a/MiGu.Server/wwwroot/assets/MapMonitorView-BfZJy2Kd.css b/MiGu.Server/wwwroot/assets/MapMonitorView-BfZJy2Kd.css new file mode 100644 index 0000000..1a76eee --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapMonitorView-BfZJy2Kd.css @@ -0,0 +1 @@ +.vehicle-monitor[data-v-058df7b7]{display:flex;flex-direction:column;gap:10px;min-height:0;height:100%}.overview-row[data-v-058df7b7]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;flex:none}.overview-item[data-v-058df7b7]{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 4px;text-align:center;transition:var(--mg-transition, all .2s ease)}.overview-item[data-v-058df7b7]:hover{background:rgba(var(--mg-accent-rgb, 142, 200, 252),.14);border-color:rgba(var(--mg-accent-rgb, 142, 200, 252),.4)}.overview-num[data-v-058df7b7]{font-size:18px;font-weight:600;color:#fff;line-height:1.2}.overview-num.online[data-v-058df7b7]{color:var(--mg-accent);text-shadow:0 0 12px rgba(var(--mg-accent-rgb),.55)}.overview-num.running[data-v-058df7b7]{color:#b6e7a3;text-shadow:0 0 12px rgba(103,194,58,.45)}.overview-num.charging[data-v-058df7b7]{color:var(--mg-primary-hover);text-shadow:0 0 12px rgba(var(--mg-primary-hover-rgb),.55)}.overview-num.fault[data-v-058df7b7]{color:#ff9bb8;text-shadow:0 0 12px rgba(245,108,108,.5)}.overview-label[data-v-058df7b7]{font-size:11px;color:#ffffffb3;margin-top:2px}.toolbar[data-v-058df7b7]{display:flex;gap:6px;flex:none}.toolbar .search[data-v-058df7b7]{flex:1;min-width:0}.toolbar .filter[data-v-058df7b7]{width:100px;flex:none}.vehicle-list[data-v-058df7b7]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}.vehicle-row[data-v-058df7b7]{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:all .18s ease}.vehicle-row[data-v-058df7b7]:hover{background:rgba(var(--mg-accent-rgb, 142, 200, 252),.12);border-color:rgba(var(--mg-accent-rgb, 142, 200, 252),.35)}.vehicle-row.is-selected[data-v-058df7b7]{background:#6d28d952;border-color:#a78bfabf;box-shadow:inset 3px 0 #c4b5fdf2}.vehicle-head[data-v-058df7b7]{display:flex;align-items:center;justify-content:space-between;gap:8px}.vehicle-id-name[data-v-058df7b7]{display:flex;align-items:baseline;gap:6px;min-width:0}.vid[data-v-058df7b7]{font-size:12px;color:#ffffffb3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex:none}.vname[data-v-058df7b7]{color:#fff;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-tag[data-v-058df7b7]{display:inline-flex;align-items:center;gap:4px;flex:none}.dot[data-v-058df7b7]{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.dot-running[data-v-058df7b7]{color:#6fcd45;box-shadow:0 0 8px #6fcd45;animation:pulse-058df7b7 1.5s infinite}.dot-charging[data-v-058df7b7]{color:var(--mg-primary-hover);box-shadow:0 0 8px var(--mg-primary-hover)}.dot-paused[data-v-058df7b7]{color:#e6a23c;box-shadow:0 0 6px #e6a23c}.dot-fault[data-v-058df7b7]{color:#ff7396;box-shadow:0 0 8px #ff7396;animation:pulse-058df7b7 .9s infinite}.dot-offline[data-v-058df7b7]{color:#ffffff59}.dot-idle[data-v-058df7b7]{color:var(--mg-accent);box-shadow:0 0 6px rgba(var(--mg-accent-rgb),.6)}@keyframes pulse-058df7b7{0%,to{opacity:1}50%{opacity:.35}}.vehicle-meta[data-v-058df7b7]{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.3}.meta-item[data-v-058df7b7]{white-space:nowrap}.battery-row[data-v-058df7b7],.mission-row[data-v-058df7b7]{display:flex;align-items:center;gap:8px;font-size:12px}.battery-label[data-v-058df7b7],.mission-label[data-v-058df7b7]{width:32px;color:#ffffffa6;flex:none}.battery-bar[data-v-058df7b7]{flex:1;min-width:0}.battery-bar[data-v-058df7b7] .el-progress-bar__outer{background:#ffffff1a}.battery-text[data-v-058df7b7]{width:38px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;flex:none}.battery-text.low[data-v-058df7b7]{color:#f56c6c}.battery-text.mid[data-v-058df7b7]{color:#e6a23c}.battery-text.high[data-v-058df7b7]{color:#67c23a}.mission-name[data-v-058df7b7]{flex:1;min-width:0;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-name.muted[data-v-058df7b7]{color:#ffffff80}.mission-tag[data-v-058df7b7]{flex:none}.empty[data-v-058df7b7]{text-align:center;padding:24px 0;font-size:12px}.muted[data-v-058df7b7]{color:#ffffffb3}.hint[data-v-fe1b16d7]{margin:0 0 10px;font-size:13px;color:#ffffffc7}.filter-input[data-v-fe1b16d7]{margin-bottom:8px}.site-scroll[data-v-fe1b16d7]{border:1px solid rgba(255,255,255,.12);border-radius:8px}.site-row[data-v-fe1b16d7]{display:flex;gap:8px;width:100%;padding:8px 10px;border:none;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;text-align:left;cursor:pointer;transition:background .12s ease}.site-row[data-v-fe1b16d7]:hover{background:#a78bfa26}.site-row.active[data-v-fe1b16d7]{background:#6d28d973;box-shadow:inset 3px 0 #c4b5fdf2}.sid[data-v-fe1b16d7]{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:#dcb4fae6;flex:none}.sname[data-v-fe1b16d7]{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty[data-v-fe1b16d7]{padding:20px;text-align:center;color:#ffffff8c;font-size:12px}.monitor-selection[data-v-3316dec5]{display:flex;flex-direction:column;min-height:0;height:100%}.pane[data-v-3316dec5]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.pane-loading[data-v-3316dec5]{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px;color:#ffffffb3;font-size:13px}.empty-hint[data-v-3316dec5]{display:flex;flex-direction:column;gap:4px;padding:24px 8px;text-align:center}.empty-title[data-v-3316dec5]{font-size:13px;color:#ffffffe6;font-weight:500}.empty-desc[data-v-3316dec5]{font-size:11.5px;color:#ffffffa6}.card[data-v-3316dec5]{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;flex:none}.card--header[data-v-3316dec5]{background:linear-gradient(140deg,#aa6efa33,#461e6e14);border-color:#aa6efa47}.card--actions[data-v-3316dec5]{background:#8c50c814;border-color:#aa6efa38}.card-hd[data-v-3316dec5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:11px;font-weight:600;letter-spacing:.8px;color:#dcb4fae0;text-transform:uppercase}.card-hd .meta[data-v-3316dec5]{font-size:10px;font-weight:400;color:#c8b4dc8c;text-transform:none;letter-spacing:0}.title-row[data-v-3316dec5]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.id-tag[data-v-3316dec5]{font-size:11px;font-weight:600;padding:1px 7px;border-radius:4px;background:#aa6efa59;color:#fff}.type-tag[data-v-3316dec5]{font-size:11px;color:#e8d7f5bf}.name-line[data-v-3316dec5]{font-size:14px;font-weight:600;color:#fff;line-height:1.3;word-break:break-all}.sub-line[data-v-3316dec5]{margin-top:2px;font-size:11px;color:#c8b4e6b3;font-family:ui-monospace,Consolas,monospace}.kv-grid[data-v-3316dec5]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kv-list[data-v-3316dec5]{display:flex;flex-direction:column;gap:2px}.kv-row[data-v-3316dec5]{display:grid;grid-template-columns:minmax(72px,38%) 1fr;gap:8px;align-items:start;font-size:12px;line-height:1.35;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.kv-row[data-v-3316dec5]:last-child{border-bottom:none}.kv-row.is-warn .v[data-v-3316dec5]{color:#ffb4b4}.kv[data-v-3316dec5]{display:flex;flex-direction:column;gap:2px;min-width:0}.k[data-v-3316dec5],.kv-row .k[data-v-3316dec5]{color:#c8b4e6bf;font-size:11px;word-break:break-word}.v[data-v-3316dec5],.kv-row .v[data-v-3316dec5]{color:#fff;word-break:break-word;font-size:12px}.mono[data-v-3316dec5]{font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.action-grid[data-v-3316dec5]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-grid--vehicle[data-v-3316dec5]{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.action-btn[data-v-3316dec5]{appearance:none;cursor:pointer;border:1px solid rgba(167,139,250,.55);background:#4c1d9573;color:#fff;font-size:12px;font-weight:600;padding:7px 8px;border-radius:6px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;text-align:center;line-height:1.25}.action-btn--goto[data-v-3316dec5]{border-color:#fac878a6;background:#78461473}.action-btn[data-v-3316dec5]:hover:not(:disabled){background:#6d28d9bf;border-color:#c4b5fde6;box-shadow:0 2px 8px #00000040}.action-btn--goto[data-v-3316dec5]:hover:not(:disabled){background:#a0641ebf;border-color:#ffdc96e6}.action-btn[data-v-3316dec5]:disabled{opacity:.55;cursor:progress}.muted-line[data-v-3316dec5]{font-size:11.5px;color:#ffffffa6;line-height:1.4;padding:2px 0}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.floating-alarm-card[data-v-0b6ee97c]{position:absolute;width:320px;padding:10px 12px;border-radius:10px;background:#140828eb;backdrop-filter:blur(10px);box-shadow:0 10px 32px #0a02108c,0 0 0 1px #ffffff14 inset;color:#e8d7f5f2;font-size:13px;cursor:grab;user-select:none;z-index:1000;transition:box-shadow .2s,transform .2s}.floating-alarm-card.dragging[data-v-0b6ee97c]{cursor:grabbing;box-shadow:0 14px 40px #0a0210b3}.fac-header[data-v-0b6ee97c]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.fac-dot[data-v-0b6ee97c]{width:10px;height:10px;border-radius:999px;background:var(--lvl-color, #67c23a);box-shadow:0 0 8px var(--lvl-color, #67c23a)}.fac-title[data-v-0b6ee97c]{flex:1;font-weight:600}.fac-time[data-v-0b6ee97c]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:#e8d7f5a6}.fac-close[data-v-0b6ee97c]{cursor:pointer;opacity:.7}.fac-close[data-v-0b6ee97c]:hover{opacity:1}.fac-body[data-v-0b6ee97c]{padding:4px 0 6px}.fac-info[data-v-0b6ee97c]{line-height:1.4;word-break:break-all}.fac-coord[data-v-0b6ee97c]{font-size:11.5px;color:#e8d7f5b3;margin-top:4px;font-family:ui-monospace,Menlo,Consolas,monospace}.fac-actions[data-v-0b6ee97c]{display:flex;gap:6px;justify-content:flex-end}.muted[data-v-0b6ee97c]{color:#e8d7f580}.floating-alarm-card.lvl-info[data-v-0b6ee97c]{--lvl-color: #67c23a}.floating-alarm-card.lvl-warn[data-v-0b6ee97c]{--lvl-color: #e6a23c}.floating-alarm-card.lvl-error[data-v-0b6ee97c]{--lvl-color: #f56c6c}.floating-alarm-card.lvl-critical[data-v-0b6ee97c]{--lvl-color: #d63a3a}.floating-alarm-stack[data-v-c37fdeb1]{position:absolute;inset:0;pointer-events:none}.floating-alarm-stack[data-v-c37fdeb1]>*{pointer-events:auto}.snooze-tray[data-v-c37fdeb1]{position:absolute;right:24px;top:24px}.map-monitor-page[data-v-f1d93793]{display:flex;flex-direction:column;gap:14px;height:calc(100vh - 124px)}.kpi-row[data-v-f1d93793]{flex:none}.main-row[data-v-f1d93793]{flex:1;min-height:0}.main-row>.el-col[data-v-f1d93793]{display:flex;flex-direction:column;min-height:0}.side-col[data-v-f1d93793]{gap:12px}.side-card[data-v-f1d93793]{display:flex;flex-direction:column;min-height:0}.workbench-card[data-v-f1d93793]{flex:1.2}.detail-card[data-v-f1d93793]{flex:1}.workbench-card[data-v-f1d93793] .el-card__body,.detail-card[data-v-f1d93793] .el-card__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.muted[data-v-f1d93793]{color:#ffffffc7;font-size:12px}.workbench-card[data-v-f1d93793] .el-card__header,.detail-card[data-v-f1d93793] .el-card__header{color:#fff}[data-v-f1d93793] .el-row.main-row{height:100%}[data-v-f1d93793] .el-col-16>div{height:100%;min-height:0}.canvas-with-alarms[data-v-f1d93793]{position:relative;height:100%;min-height:0;flex:1;display:flex;flex-direction:column}.canvas-with-alarms[data-v-f1d93793] .workspace-3d-wrap{flex:1} diff --git a/MiGu.Server/wwwroot/assets/MapMonitorView-C7AnAWKd.js b/MiGu.Server/wwwroot/assets/MapMonitorView-C7AnAWKd.js new file mode 100644 index 0000000..e6a3b3e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MapMonitorView-C7AnAWKd.js @@ -0,0 +1 @@ +import{aG as ve,b3 as o,aC as i,az as e,bj as u,aF as _,S as Se,a4 as Ae,bB as C,ai as D,bd as Z,_ as Le,aZ as ie,ad as Ce,aE as J,aB as H,$ as Ve,bb as g,av as S,al as fe,bA as Ie,aA as Ne,a3 as ze,s as ke,H as Fe,Z as Pe,Y as Q,R as xe,bm as de,aU as Oe,b0 as Be,bE as he,a_ as Re,au as De,p as Ue,bo as Ke,b1 as We,b2 as je,a2 as qe,x as Xe,a6 as He,u as Ge}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{W as Ye}from"./Workspace3D-D7MYl2zT.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as oe}from"./reflection-Dr3WM5Rz.js";import{m as Ze}from"./mapEdit-DghrYjHu.js";import{W as Je}from"./WorkspaceCanvasToolbar-1mCqpdq_.js";import{l as Qe,a as et}from"./projection-CizY2UtH.js";import{u as tt}from"./useProjectionStream-DMf_8m8X.js";import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const nt={class:"vehicle-monitor"},st={class:"overview-row"},at={class:"overview-item"},lt={class:"overview-num"},ot={class:"overview-item"},it={class:"overview-num online"},rt={class:"overview-item"},ct={class:"overview-num running"},ut={class:"overview-item"},dt={class:"overview-num charging"},vt={class:"overview-item"},ft={class:"overview-num fault"},mt={class:"toolbar"},pt={class:"vehicle-list"},_t=["onClick"],ht={class:"vehicle-head"},kt={class:"vehicle-id-name"},yt={class:"vid"},gt={class:"vname"},bt={class:"vehicle-meta muted"},wt={key:0,class:"meta-item"},$t={key:1,class:"meta-item"},St={key:2,class:"meta-item"},Ct={class:"battery-row"},It={class:"mission-row"},Nt=["title"],xt={key:0,class:"empty muted"},Mt=ve({__name:"VehicleMonitorPanel",props:{cars:{},missions:{},selectedId:{}},emits:["select"],setup(h,{emit:N}){const l=h,b=N,I=g(""),d=g(""),p=[{value:"idle",label:"空闲"},{value:"running",label:"运行中"},{value:"charging",label:"充电中"},{value:"paused",label:"已暂停"},{value:"fault",label:"故障"},{value:"offline",label:"离线"}],V=p.reduce((a,m)=>(a[m.value]=m.label,a),{});function F(a){return V[a]??a}function O(a){switch(a){case"running":return"success";case"charging":return"primary";case"paused":return"warning";case"fault":return"danger";case"offline":return"info";case"idle":default:return"info"}}const G={queued:"排队",assigned:"已分配",running:"执行中",paused:"暂停",completed:"已完成",cancelled:"已取消",failed:"失败"};function B(a){return G[a]??a}function P(a){switch(a){case"running":return"success";case"assigned":return"primary";case"queued":return"info";case"paused":return"warning";case"completed":return"success";case"cancelled":return"info";case"failed":return"danger";default:return"info"}}const x=S(()=>l.cars.filter(a=>a.state!=="offline").length),v=S(()=>l.cars.filter(a=>a.state==="running").length),j=S(()=>l.cars.filter(a=>a.state==="charging").length),U=S(()=>l.cars.filter(a=>a.state==="fault").length),R=S(()=>{const a=w=>w==="running"?0:w==="paused"?1:w==="assigned"?2:3,m=new Map;for(const w of l.missions){if(!w.carId||w.status!=="running"&&w.status!=="paused"&&w.status!=="assigned")continue;const K=m.get(w.carId);(!K||a(w.status)<a(K.status))&&m.set(w.carId,w)}return m});function M(a){if(a.missionId){const m=l.missions.find(w=>w.id===a.missionId);if(m)return m}return R.value.get(a.id)}function T(a){const m=a.batterySoc??0,w=m>1?m:m*100;return Math.max(0,Math.min(100,Math.round(w)))}function Y(a){return a<20?"#f56c6c":a<50?"#e6a23c":"#67c23a"}function se(a){return a<20?"low":a<50?"mid":"high"}function E(a){const m=a.lastIndexOf(".");return m>=0?a.slice(m+1):a}const A=S(()=>{const a=I.value.trim().toLowerCase(),m=a?a.split(/\s+/).filter(Boolean):[];return l.cars.filter(w=>{if(d.value&&w.state!==d.value)return!1;if(!m.length)return!0;const K=M(w),ae=[w.id,w.name,w.typeName??"",w.group??"",w.ip??"",F(w.state),K?.name??"",K?B(K.status):""].join(" ").toLowerCase();return m.every(ne=>ae.includes(ne))})});function q(a){b("select",{kind:"vehicle",id:ee(a),name:a.name})}function ee(a){return a.rawId!=null?String(a.rawId):a.id.replace(/^C/i,"").replace(/^0+/,"")||a.id}return(a,m)=>{const w=Se,K=Le,ae=Ae,ne=Ce,te=Ve;return o(),i("div",nt,[e("div",st,[e("div",at,[e("div",lt,u(h.cars.length),1),m[2]||(m[2]=e("div",{class:"overview-label"},"总数",-1))]),e("div",ot,[e("div",it,u(x.value),1),m[3]||(m[3]=e("div",{class:"overview-label"},"在线",-1))]),e("div",rt,[e("div",ct,u(v.value),1),m[4]||(m[4]=e("div",{class:"overview-label"},"运行",-1))]),e("div",ut,[e("div",dt,u(j.value),1),m[5]||(m[5]=e("div",{class:"overview-label"},"充电",-1))]),e("div",vt,[e("div",ft,u(U.value),1),m[6]||(m[6]=e("div",{class:"overview-label"},"故障",-1))])]),e("div",mt,[_(w,{modelValue:I.value,"onUpdate:modelValue":m[0]||(m[0]=k=>I.value=k),size:"small",clearable:"",placeholder:"搜索 ID / 名称 / 任务",class:"search"},null,8,["modelValue"]),_(ae,{modelValue:d.value,"onUpdate:modelValue":m[1]||(m[1]=k=>d.value=k),size:"small",placeholder:"状态",clearable:"",class:"filter"},{default:C(()=>[(o(),i(D,null,Z(p,k=>_(K,{key:k.value,label:k.label,value:k.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),e("div",pt,[(o(!0),i(D,null,Z(A.value,k=>(o(),i("div",{key:k.id,class:ie(["vehicle-row",{"is-selected":k.id===h.selectedId}]),onClick:re=>q(k)},[e("div",ht,[e("div",kt,[e("span",yt,u(k.id),1),e("span",gt,u(k.name),1)]),_(ne,{size:"small",type:O(k.state),class:"state-tag",effect:"dark"},{default:C(()=>[e("span",{class:ie(["dot",`dot-${k.state}`])},null,2),J(" "+u(F(k.state)),1)]),_:2},1032,["type"])]),e("div",bt,[k.typeName?(o(),i("span",wt,u(E(k.typeName)),1)):H("",!0),k.group?(o(),i("span",$t,u(k.group),1)):H("",!0),k.ip?(o(),i("span",St,u(k.ip),1)):H("",!0)]),e("div",Ct,[m[7]||(m[7]=e("span",{class:"battery-label"},"电量",-1)),_(te,{percentage:T(k),"stroke-width":8,"show-text":!1,color:Y(T(k)),class:"battery-bar"},null,8,["percentage","color"]),e("span",{class:ie(["battery-text",se(T(k))])},u(T(k))+"% ",3)]),e("div",It,[m[10]||(m[10]=e("span",{class:"mission-label"},"任务",-1)),M(k)?(o(),i(D,{key:0},[e("span",{class:"mission-name",title:M(k).name},u(M(k).name),9,Nt),_(ne,{size:"small",type:P(M(k).status),effect:"plain",class:"mission-tag"},{default:C(()=>[J(u(B(M(k).status)),1)]),_:2},1032,["type"])],64)):(o(),i(D,{key:1},[m[9]||(m[9]=e("span",{class:"mission-name muted"},"无任务",-1)),_(ne,{size:"small",type:"info",effect:"plain",class:"mission-tag"},{default:C(()=>[...m[8]||(m[8]=[J("空闲",-1)])]),_:1})],64))])],10,_t))),128)),A.value.length?H("",!0):(o(),i("div",xt," 无匹配车辆 "))])])}}}),Et=fe(Mt,[["__scopeId","data-v-058df7b7"]]),Tt=["onClick"],At={class:"sid"},Lt={class:"sname"},Vt={key:0,class:"empty"},zt=ve({__name:"SitePickDialog",props:{modelValue:{type:Boolean},title:{},sites:{}},emits:["update:modelValue","confirm","pickOnMap"],setup(h,{expose:N,emit:l}){const b=h,I=l,d=S({get:()=>b.modelValue,set:x=>I("update:modelValue",x)}),p=g(""),V=g(null),F=g(!1),O=S(()=>{const x=p.value.trim().toLowerCase();return x?b.sites.filter(v=>String(v.id).includes(x)||v.name.toLowerCase().includes(x)||v.label.toLowerCase().includes(x)):b.sites});Ie(()=>b.modelValue,x=>{x&&(p.value="",V.value=b.sites[0]?.id??null)});function G(){V.value!=null&&(I("confirm",V.value),d.value=!1)}function B(){F.value=!0,I("pickOnMap")}function P(){F.value=!1}return N({close:()=>{d.value=!1},endMapPick:()=>{F.value=!1}}),(x,v)=>{const j=Se,U=ze,R=ke,M=Fe;return o(),Ne(M,{modelValue:d.value,"onUpdate:modelValue":v[2]||(v[2]=T=>d.value=T),title:h.title,width:"420px","destroy-on-close":"","append-to-body":"",class:"site-pick-dialog",onClosed:P},{footer:C(()=>[_(R,{onClick:v[1]||(v[1]=T=>d.value=!1)},{default:C(()=>[...v[3]||(v[3]=[J("取消",-1)])]),_:1}),_(R,{loading:F.value,onClick:B},{default:C(()=>[...v[4]||(v[4]=[J("在地图上拾取",-1)])]),_:1},8,["loading"]),_(R,{type:"primary",disabled:V.value==null,onClick:G},{default:C(()=>[...v[5]||(v[5]=[J("确认前往",-1)])]),_:1},8,["disabled"])]),default:C(()=>[v[6]||(v[6]=e("p",{class:"hint"},"请选择车辆要前往的目标站点。",-1)),_(j,{modelValue:p.value,"onUpdate:modelValue":v[0]||(v[0]=T=>p.value=T),clearable:"",placeholder:"搜索站点 ID / 名称",class:"filter-input"},null,8,["modelValue"]),_(U,{"max-height":"280px",class:"site-scroll"},{default:C(()=>[(o(!0),i(D,null,Z(O.value,T=>(o(),i("button",{key:T.id,type:"button",class:ie(["site-row",{active:V.value===T.id}]),onClick:Y=>V.value=T.id},[e("span",At,"#"+u(T.id),1),e("span",Lt,u(T.name||"未命名"),1)],10,Tt))),128)),O.value.length?H("",!0):(o(),i("div",Vt,"无匹配站点"))]),_:1})]),_:1},8,["modelValue","title"])}}}),Ft=fe(zt,[["__scopeId","data-v-fe1b16d7"]]),Pt=new Set(["Goto","GotoSite"]),Ot=["去某地","前往站点"];function $e(h){if(h.params?.length)return!1;if(Pt.has(h.methodName))return!0;const N=h.label??"";return Ot.some(l=>N.includes(l))}async function Bt(){return(await oe.listObjects("site")).map(N=>({id:N.id,name:N.name,label:`#${N.id} ${N.name||"站点"}`})).sort((N,l)=>N.id-l.id)}async function Rt(){try{Q.info({message:"请在 3D 地图上点击目标站点附近",duration:4e3});const h=await Ze.pick();return h.siteId==null||h.siteId<0?(Q.warning("未识别到附近站点,请靠近站点再点击"),null):h.siteId}catch(h){return h instanceof Error&&/取消|cancel|499/i.test(h.message)||Q.error(`地图拾取失败:${h instanceof Error?h.message:String(h)}`),null}}async function Dt(h,N){try{const l=await oe.gotoCarSite(h,N);return Q.success(l.message||`已下发前往站点 #${N}`),!0}catch(l){return Q.error(`前往站点失败:${l instanceof Error?l.message:String(l)}`),!1}}async function Ut(h,N,l){const b=l.label||l.methodName,I={};for(const d of l.params)try{const{value:p}=await Pe.prompt(`参数 ${d.name}(${d.typeName})`,b,{inputValue:d.defaultValue??"",confirmButtonText:"确定",cancelButtonText:"取消"});I[d.name]=p??""}catch{return!1}try{const d=await oe.execute(h,N,l.methodName,I);return Q.success(d.returnValue?`已执行:${d.returnValue}`:`已执行 ${b}`),!0}catch(d){return Q.error(`执行失败:${d instanceof Error?d.message:String(d)}`),!1}}const Kt={class:"monitor-selection"},Wt={key:0,class:"empty-hint"},jt={key:1,class:"pane"},qt={key:0,class:"pane-loading"},Xt={class:"card card--header"},Ht={class:"title-row"},Gt={class:"id-tag"},Yt={class:"name-line"},Zt={class:"card"},Jt={class:"kv-grid"},Qt={class:"kv"},en={class:"v mono"},tn={class:"kv"},nn={class:"v mono"},sn={class:"kv"},an={class:"v mono"},ln={key:0,class:"card"},on={class:"card-hd"},rn={class:"meta"},cn={class:"kv-list"},un={class:"k"},dn=["title"],vn={key:1,class:"card card--actions"},fn={class:"action-grid"},mn=["disabled","onClick"],pn={class:"card card--header"},_n={class:"title-row"},hn={class:"id-tag"},kn={class:"name-line"},yn={key:0,class:"sub-line"},gn={key:0,class:"card"},bn={class:"card-hd"},wn={class:"meta"},$n={class:"kv-list"},Sn={class:"k"},Cn=["title"],In={key:1,class:"card"},Nn={class:"card-hd"},xn={class:"meta"},Mn={class:"kv-list"},En={class:"k"},Tn=["title"],An={class:"card card--actions"},Ln={class:"card-hd"},Vn={key:0,class:"meta"},zn={key:0,class:"muted-line"},Fn={key:1,class:"muted-line"},Pn={key:2,class:"action-grid action-grid--vehicle"},On=["disabled","onClick"],Bn={class:"card card--header"},Rn={class:"title-row"},Dn={class:"id-tag"},Un={class:"name-line"},Kn={key:0,class:"card"},Wn={class:"kv-list"},jn={class:"k"},qn={class:"v"},Xn={class:"k"},Hn={class:"v"},Gn={key:1,class:"card card--actions"},Yn={class:"action-grid"},Zn=["disabled","onClick"],Jn={key:4,class:"muted-line"},Qn=ve({__name:"MonitorSelectionPanel",props:{selection:{},refreshKey:{},cars:{},missions:{}},setup(h){const N=new Set(["AllowLock","PreventLock"]),l=h,b=g(!1),I=g(!1),d=g(!1),p=g(null),V=g(null),F=g(""),O=g(""),G=g(""),B=g({}),P=g([]),x=g([]),v=g({}),j=g([]),U=g([]),R=g(!1),M=g(!1),T=g([]),Y=g("选择目标站点"),se={car:"car",vehicle:"car",site:"site",track:"track"},E=S(()=>{const s=l.selection?.kind?.toLowerCase();return s?se[s]??null:null}),A=S(()=>{const s=l.selection?.kind?.toLowerCase();return s==="site"?"site":s==="vehicle"||s==="car"?"vehicle":s==="track"?"track":"other"}),q=S(()=>{const s=Number(l.selection?.id);return Number.isFinite(s)?s:l.selection?.id??"-"});function ee(s,t=1){if(s==null||s==="")return"—";const f=Number(s);return Number.isFinite(f)?f.toFixed(t):s}function a(...s){for(const t of s){const f=B.value[t];if(f!=null&&f!=="")return f}return""}function m(...s){for(const t of s){const f=P.value.find($=>$.key===t);if(f?.value)return f.value}for(const t of s){const f=P.value.find($=>$.key.includes(t));if(f?.value)return f.value}return""}function w(){const s=m("标记","tags");return s?/unavailable/i.test(s):!1}const K=S(()=>({name:a("name")||F.value||l.selection?.name||`站点 ${q.value}`,x:ee(a("x"),1),y:ee(a("y"),1),z:ee(a("z"),1),disabled:w()})),ae=S(()=>{const s=j.value;if(s.length){const t=new Set(s);return x.value.filter(f=>t.has(f.methodName))}return x.value.filter(t=>N.has(t.methodName))}),ne=S(()=>{const s=U.value;if(!s.length)return x.value;const t=new Set(s);return x.value.filter(f=>t.has(f.methodName))});function te(){if(!l.selection||A.value!=="vehicle")return;const s=String(l.selection.id);return l.cars?.find(t=>t.id===s||String(t.rawId??"")===s||k(t)===s)}function k(s){return s.rawId!=null?String(s.rawId):s.id.replace(/^C/i,"").replace(/^0+/,"")||s.id}function re(s){if(!s?.missionId)return"无";const t=l.missions?.find($=>$.id===s.missionId);if(!t)return s.missionId;const f={running:"运行中",queued:"排队",completed:"已完成",failed:"失败",cancelled:"已取消"};return`${t.name||t.id}(${f[t.status]??t.status})`}const le=S(()=>{const s=te(),t={idle:"空闲",running:"运行",charging:"充电",paused:"暂停",fault:"故障",offline:"离线"},f=s?.state??"offline";return{displayId:s?.id??l.selection?.id??"-",name:F.value||s?.name||l.selection?.name||"车辆",typeShort:ue(O.value||s?.typeName),stateLabel:t[f]??f,state:f}}),n=S(()=>{switch(le.value.state){case"running":return"success";case"charging":return"warning";case"fault":return"danger";default:return"info"}}),r=S(()=>{const s=P.value.map(t=>({key:t.key,value:t.value||"—",warn:/alarm|error|fault|block|stop/i.test(`${t.key} ${t.value}`)&&t.value!=="0"&&t.value!=="无"}));if(A.value==="vehicle"&&!s.length){const t=te(),f=re(t),$=a("batterySoc","battery","电量"),c=$?`${Math.round(Number($)<=1?Number($)*100:Number($))}%`:t!=null?`${Math.round(t.batterySoc<=1?t.batterySoc*100:t.batterySoc)}%`:"—";return[{key:"位姿",value:m("位姿","站点")||"—",warn:!1},{key:"任务",value:f,warn:!1},{key:"电量",value:c,warn:Number.parseFloat(c)<20}]}return s}),y=new Set(["name","x","y","z","th","theta","layerName","layer"]),L=S(()=>A.value!=="vehicle"?[]:Object.entries(B.value).filter(([t,f])=>f!=null&&f!==""&&!y.has(t)).map(([t,f])=>({key:t,value:f})).sort((t,f)=>t.key.localeCompare(f.key)));function X(){const s=v.value,t=G.value,f=O.value;if(t&&s[t]?.length)return s[t];if(f&&s[f]?.length)return s[f];for(const[$,c]of Object.entries(s))if(c.length&&(t&&($===t||$.endsWith("."+f)||t.endsWith("."+$))||f&&($===f||$.endsWith("."+f))))return c;return[]}const W=S(()=>X()),z=S(()=>{const s=W.value;if(!s.length)return[];const t=new Set(s);return x.value.filter(f=>t.has(f.methodName))}),ce=S(()=>R.value?Object.keys(v.value).length?W.value.length?"当前车型无可执行动作。":"当前车型未配置动作,或方法名与运营维护中勾选的不一致。":"未配置动作。请在「配置中心 → 运营维护」按车型勾选动作并保存。":"加载配置中…"),me=S(()=>({name:a("name")||F.value||l.selection?.name||`路径 ${q.value}`})),pe=S(()=>[{key:"layer",label:"图层",value:a("layerName","layer")||"—"},{key:"type",label:"类型",value:O.value||"—"}]);function ue(s){if(!s)return"";const t=s.split(".");return t[t.length-1]??s}function Me(s){return s?`${s.kind}:${s.id}`:""}async function Ee(s=!1){if(!(R.value&&!s))try{const t=await oe.getMonitorConfig();v.value={...t.config.carActionByType??{}},j.value=[...t.config.site?.methods??[]],U.value=[...t.config.track?.methods??[]]}catch{v.value={},j.value=[],U.value=[]}finally{R.value=!0}}async function ye(){if(!l.selection){F.value="",B.value={},P.value=[],x.value=[],I.value=!1;return}const s=E.value,t=Number(l.selection.id);if(!s||!Number.isFinite(t))return;const f=I.value;f?d.value=!0:b.value=!0;try{await Ee(!f);const[$,c]=await Promise.all([oe.getBundle(s,t),oe.listMethods(s,t)]);F.value=$.summary?.name??l.selection.name??"",O.value=$.typeName??"",G.value="fullTypeName"in $&&$.fullTypeName?$.fullTypeName:$.typeName??"",B.value={...$.fields};for(const _e of $.fieldList??[])B.value[_e.key]=_e.value;P.value=$.status??[],x.value=c,I.value=!0}catch($){Q.error(`加载选中信息失败:${$.message}`)}finally{b.value=!1,d.value=!1}}async function ge(s){const t=E.value;if(!t||!l.selection||!s.methodName)return;const f=Number(l.selection.id);if(Number.isFinite(f)){if(t==="car"&&$e(s)){V.value=s,Y.value=`选择目标站点 — ${s.label||s.methodName}`;try{T.value=await Bt()}catch($){Q.error(`加载站点列表失败:${$.message}`);return}M.value=!0;return}p.value=s.methodName;try{await Ut(t,f,s)&&await ye()}finally{p.value=null}}}async function be(s){const t=Number(l.selection?.id);if(Number.isFinite(t)){p.value=V.value?.methodName??"goto";try{await Dt(t,s)&&await ye()}finally{p.value=null,V.value=null}}}async function Te(){const s=await Rt();M.value=!1,s!=null&&await be(s)}let we=0;return Ie(()=>[Me(l.selection),l.refreshKey],()=>{const s=++we;(async()=>await ye())()},{immediate:!0}),(s,t)=>{const f=xe,$=Ce;return o(),i("div",Kt,[h.selection?(o(),i("div",jt,[b.value?(o(),i("div",qt,[_(f,{class:"is-loading"},{default:C(()=>[_(de(Oe))]),_:1}),t[2]||(t[2]=e("span",null,"加载中…",-1))])):A.value==="site"?(o(),i(D,{key:1},[e("section",Xt,[e("div",Ht,[e("span",Gt,"#"+u(q.value),1),t[3]||(t[3]=e("span",{class:"type-tag"},"站点",-1))]),e("div",Yt,u(K.value.name),1)]),e("section",Zt,[t[7]||(t[7]=e("header",{class:"card-hd"},[e("span",null,"位置")],-1)),e("div",Jt,[e("div",Qt,[t[4]||(t[4]=e("span",{class:"k"},"X",-1)),e("span",en,u(K.value.x),1)]),e("div",tn,[t[5]||(t[5]=e("span",{class:"k"},"Y",-1)),e("span",nn,u(K.value.y),1)]),e("div",sn,[t[6]||(t[6]=e("span",{class:"k"},"Z",-1)),e("span",an,u(K.value.z),1)])])]),r.value.length?(o(),i("section",ln,[e("header",on,[t[8]||(t[8]=e("span",null,"状态",-1)),e("span",rn,u(r.value.length),1)]),e("div",cn,[(o(!0),i(D,null,Z(r.value,c=>(o(),i("div",{key:c.key,class:"kv-row"},[e("span",un,u(c.key),1),e("span",{class:"v",title:c.value},u(c.value),9,dn)]))),128))])])):H("",!0),ae.value.length?(o(),i("section",vn,[t[9]||(t[9]=e("header",{class:"card-hd"},[e("span",null,"操作")],-1)),e("div",fn,[(o(!0),i(D,null,Z(ae.value,c=>(o(),i("button",{key:c.methodName,type:"button",class:"action-btn",disabled:p.value===c.methodName,onClick:_e=>ge(c)},u(c.label||c.methodName),9,mn))),128))])])):H("",!0)],64)):A.value==="vehicle"?(o(),i(D,{key:2},[e("section",pn,[e("div",_n,[e("span",hn,u(le.value.displayId),1),_($,{size:"small",type:n.value,effect:"dark"},{default:C(()=>[J(u(le.value.stateLabel),1)]),_:1},8,["type"])]),e("div",kn,u(le.value.name),1),le.value.typeShort?(o(),i("div",yn,u(le.value.typeShort),1)):H("",!0)]),r.value.length?(o(),i("section",gn,[e("header",bn,[t[10]||(t[10]=e("span",null,"状态",-1)),e("span",wn,u(r.value.length),1)]),e("div",$n,[(o(!0),i(D,null,Z(r.value,c=>(o(),i("div",{key:c.key,class:ie(["kv-row",{"is-warn":c.warn}])},[e("span",Sn,u(c.key),1),e("span",{class:"v",title:c.value},u(c.value),9,Cn)],2))),128))])])):H("",!0),L.value.length?(o(),i("section",In,[e("header",Nn,[t[11]||(t[11]=e("span",null,"属性",-1)),e("span",xn,u(L.value.length),1)]),e("div",Mn,[(o(!0),i(D,null,Z(L.value,c=>(o(),i("div",{key:c.key,class:"kv-row"},[e("span",En,u(c.key),1),e("span",{class:"v",title:c.value},u(c.value),9,Tn)]))),128))])])):H("",!0),e("section",An,[e("header",Ln,[t[12]||(t[12]=e("span",null,"动作",-1)),z.value.length?(o(),i("span",Vn,u(z.value.length),1)):H("",!0)]),d.value?(o(),i("div",zn,"加载动作…")):z.value.length?(o(),i("div",Pn,[(o(!0),i(D,null,Z(z.value,c=>(o(),i("button",{key:c.methodName,type:"button",class:ie(["action-btn",{"action-btn--goto":de($e)(c)}]),disabled:p.value===c.methodName,onClick:_e=>ge(c)},u(c.label||c.methodName),11,On))),128))])):(o(),i("div",Fn,u(ce.value),1))])],64)):A.value==="track"?(o(),i(D,{key:3},[e("section",Bn,[e("div",Rn,[e("span",Dn,"#"+u(q.value),1),t[13]||(t[13]=e("span",{class:"type-tag"},"路径",-1))]),e("div",Un,u(me.value.name),1)]),r.value.length||pe.value.length?(o(),i("section",Kn,[t[14]||(t[14]=e("header",{class:"card-hd"},[e("span",null,"信息")],-1)),e("div",Wn,[(o(!0),i(D,null,Z(pe.value,c=>(o(),i("div",{key:c.key,class:"kv-row"},[e("span",jn,u(c.label),1),e("span",qn,u(c.value),1)]))),128)),(o(!0),i(D,null,Z(r.value,c=>(o(),i("div",{key:"s-"+c.key,class:"kv-row"},[e("span",Xn,u(c.key),1),e("span",Hn,u(c.value),1)]))),128))])])):H("",!0),ne.value.length?(o(),i("section",Gn,[t[15]||(t[15]=e("header",{class:"card-hd"},[e("span",null,"动作")],-1)),e("div",Yn,[(o(!0),i(D,null,Z(ne.value,c=>(o(),i("button",{key:c.methodName,type:"button",class:"action-btn",disabled:p.value===c.methodName,onClick:_e=>ge(c)},u(c.label||c.methodName),9,Zn))),128))])])):H("",!0)],64)):(o(),i("div",Jn,"该类型暂不支持监控详情展示。"))])):(o(),i("div",Wt,[...t[1]||(t[1]=[e("span",{class:"empty-title"},"未选中对象",-1),e("span",{class:"empty-desc"},"在 3D 画布或车辆列表中点击以查看信息。",-1)])])),_(Ft,{modelValue:M.value,"onUpdate:modelValue":t[0]||(t[0]=c=>M.value=c),title:Y.value,sites:T.value,onConfirm:be,onPickOnMap:Te},null,8,["modelValue","title","sites"])])}}}),es=fe(Qn,[["__scopeId","data-v-3316dec5"]]),ts={class:"fac-header"},ns={class:"fac-title"},ss={class:"fac-time"},as={class:"fac-body"},ls={class:"fac-info"},os={class:"fac-coord"},is={key:0},rs={key:1,class:"muted"},cs={class:"fac-actions"},us=ve({__name:"FloatingAlarmCard",props:{alarm:{},initialOffset:{}},emits:["close","ack","snooze","locate"],setup(h,{emit:N}){const l=h,b=N,I=g(null),d=g(!1),p=g({right:l.initialOffset?.right??24,bottom:l.initialOffset?.bottom??24}),V=S(()=>typeof l.alarm.x=="number"&&Number.isFinite(l.alarm.x)),F=S(()=>{const E=(l.alarm.info||"").toLowerCase();return E.includes("critical")||E.includes("严重")||E.includes("紧急")?"critical":E.includes("error")||E.includes("故障")?"error":E.includes("warn")||E.includes("告警")?"warn":"info"}),O=S(()=>{try{return new Date(l.alarm.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}}),G=S(()=>({left:p.value.left!==void 0?`${p.value.left}px`:void 0,top:p.value.top!==void 0?`${p.value.top}px`:void 0,right:p.value.right!==void 0?`${p.value.right}px`:void 0,bottom:p.value.bottom!==void 0?`${p.value.bottom}px`:void 0}));let B=0,P=0,x=0,v=0;function j(E){if(!I.value)return;const A=I.value.getBoundingClientRect();x=A.left,v=A.top,B=E.clientX,P=E.clientY,d.value=!0,window.addEventListener("mousemove",U),window.addEventListener("mouseup",R)}function U(E){p.value={left:x+(E.clientX-B),top:v+(E.clientY-P)}}function R(){d.value=!1,window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",R)}Be(()=>{window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",R)});function M(){b("close")}function T(){b("ack")}function Y(){b("snooze")}function se(){b("locate",l.alarm)}return(E,A)=>{const q=xe,ee=ke;return o(),i("div",{ref_key:"cardRef",ref:I,class:ie(["floating-alarm-card",[`lvl-${F.value}`,{dragging:d.value}]]),style:Re(G.value),onMousedown:he(j,["stop"])},[e("div",ts,[A[0]||(A[0]=e("span",{class:"fac-dot"},null,-1)),e("span",ns,u(h.alarm.carName)+" #"+u(h.alarm.carId),1),e("span",ss,u(O.value),1),_(q,{class:"fac-close",onClick:he(M,["stop"])},{default:C(()=>[_(de(De))]),_:1})]),e("div",as,[e("div",ls,u(h.alarm.info),1),e("div",os,[V.value?(o(),i("span",is,"坐标 ("+u(h.alarm.x?.toFixed(0))+", "+u(h.alarm.y?.toFixed(0))+") mm",1)):(o(),i("span",rs,"无坐标"))])]),e("div",cs,[_(ee,{size:"small",plain:"",disabled:!V.value,onClick:he(se,["stop"])},{default:C(()=>[...A[1]||(A[1]=[J("定位",-1)])]),_:1},8,["disabled"]),_(ee,{size:"small",plain:"",onClick:he(T,["stop"])},{default:C(()=>[...A[2]||(A[2]=[J("确认",-1)])]),_:1}),_(ee,{size:"small",plain:"",onClick:he(Y,["stop"])},{default:C(()=>[...A[3]||(A[3]=[J("稍后",-1)])]),_:1})])],38)}}}),ds=fe(us,[["__scopeId","data-v-0b6ee97c"]]),vs={class:"floating-alarm-stack"},fs=ve({__name:"FloatingAlarmStack",props:{alarms:{}},emits:["locate","ack"],setup(h,{emit:N}){const l=h,b=N,I=g(new Set),d=g(new Set);function p(v){return`${v.carId}`}const V=S(()=>l.alarms.filter(v=>v.action!=="clear").filter(v=>!I.value.has(p(v))).filter(v=>!d.value.has(p(v)))),F=S(()=>l.alarms.filter(v=>d.value.has(p(v))));function O(v){I.value=new Set([...I.value,p(v)])}function G(v){I.value=new Set([...I.value,p(v)]),b("ack",v)}function B(v){d.value=new Set([...d.value,p(v)])}function P(v){b("locate",v)}function x(){d.value=new Set}return(v,j)=>{const U=ke,R=Ue;return o(),i("div",vs,[(o(!0),i(D,null,Z(V.value,(M,T)=>(o(),Ne(ds,{key:`${M.carId}-${M.timestamp}`,alarm:M,"initial-offset":{right:24,bottom:24+T*132},onClose:Y=>O(M),onAck:Y=>G(M),onSnooze:Y=>B(M),onLocate:P},null,8,["alarm","initial-offset","onClose","onAck","onSnooze"]))),128)),F.value.length?(o(),i("div",{key:0,class:"snooze-tray",onClick:x},[_(R,{value:F.value.length,type:"warning"},{default:C(()=>[_(U,{size:"small",circle:""},{default:C(()=>[...j[0]||(j[0]=[J("≡",-1)])]),_:1})]),_:1},8,["value"])])):H("",!0)])}}}),ms=fe(fs,[["__scopeId","data-v-c37fdeb1"]]),ps={class:"map-monitor-page"},_s={class:"muted"},hs={class:"canvas-with-alarms"},ks=ve({__name:"MapMonitorView",setup(h){const N=Ke(),l="localhost:8223",b=g([]),I=g([]),d=g(null),p=g(0),V=g(!1),F=g(null),O=g([]);async function G(n){const r=Number(n.carId);if(!Number.isFinite(r)){Q.warning(`报警车辆 id 无法解析:${n.carId}`);return}try{await oe.setSelection("car",r),d.value={kind:"vehicle",id:String(r),name:n.carName??String(n.carId)}}catch(y){Q.error(`定位失败:${y.message}`)}}function B(n){}let P=null;const x=S(()=>b.value.filter(n=>n.state!=="offline").length),v=S(()=>I.value.filter(n=>n.status==="running").length),j=S(()=>I.value.filter(n=>n.status==="queued").length),U=S(()=>{if(!d.value||d.value.kind!=="vehicle")return null;const n=d.value;return b.value.find(y=>y.id===n.id||te(y)===n.id)?.id??null});function R(n){}const M=/^(?:UI)?(?:Car|Vehicle)-(\d+)$/i,T=/^UISite-(\d+)$/i,Y=/^(?:UITrack|UICircularArcTrack|UIBezierTrack|UINurbsTrack)-(\d+)$/i;function se(n){const r=M.exec(n);if(r)return{kind:"vehicle",id:r[1]};const y=T.exec(n);if(y)return{kind:"site",id:y[1]};const L=Y.exec(n);if(L)return{kind:"track",id:L[1]};const X=/^UI([A-Za-z]+)-(\d+)$/.exec(n)??/^([A-Za-z]+)-(\d+)$/.exec(n);if(!X)return null;const W=X[1].toLowerCase(),z=X[2];return W==="site"?{kind:"site",id:z}:W==="car"||W==="vehicle"?{kind:"vehicle",id:z}:W.includes("track")?{kind:"track",id:z}:null}function E(n,r){return!n&&!r?!0:!n||!r?!1:n.kind===r.kind&&n.id===r.id}function A(n,r){let y;if(n.kind==="vehicle"){const L=(r?ae(r):void 0)??b.value.find(X=>te(X)===n.id);y=L?{kind:"vehicle",id:te(L),name:L.name}:{kind:"vehicle",id:n.id,name:`Vehicle ${n.id}`}}else y={kind:n.kind,id:n.id,name:r||`${n.kind==="site"?"Site":"Track"} ${n.id}`};E(d.value,y)||(d.value=y,p.value++)}function q(n,r,y){if(n==="car"){const z=String(r),ce=y?.find(ue=>M.test(ue))??`Car-${r}`,me=ae(ce)??b.value.find(ue=>te(ue)===z||ue.id===z),pe=me?{kind:"vehicle",id:te(me),name:me.name}:{kind:"vehicle",id:z,name:`Vehicle ${z}`};E(d.value,pe)||(d.value=pe,p.value++);return}const L=String(r),X=y?.find(z=>{const ce=se(z);return ce?.kind===n&&ce.id===L}),W={kind:n,id:L,name:X||`${n==="site"?"Site":"Track"} ${L}`};E(d.value,W)||(d.value=W,p.value++)}function ee(n){const r=n.siteIds?.length??0,y=n.trackIds?.length??0,L=n.carIds?.length??0,X=Array.isArray(n.names)?n.names.length:0;if(r+y+L+X===0){d.value=null,p.value++;return}if(Array.isArray(n.names))for(const W of n.names){const z=se(W);if(z){A(z,W);return}}if(n.kind&&n.id){q(n.kind,n.id,n.names);return}if(r>0){q("site",n.siteIds[0],n.names);return}if(y>0){q("track",n.trackIds[0],n.names);return}L>0&&q("car",n.carIds[0],n.names)}function a(n){if(!n.length){w();return}for(const r of n){const y=se(r);if(y){A(y,r);return}}w()}function m(){w()}async function w(){try{const n=await oe.getSelection();if(!n?.kind||n.id==null||n.kind!=="car"&&n.kind!=="site"&&n.kind!=="track")return;q(n.kind,Number(n.id),n.name?[n.name]:void 0)}catch{}}async function K(n){E(d.value,n)||(d.value=n,p.value++);const r=Number(n.id);if(Number.isFinite(r))try{await oe.setSelection("car",r)}catch(y){Q.error(`同步 3D 选中失败:${y.message}`)}}function ae(n){const r=ne(n);return b.value.find(y=>y.name===n||y.id===n||r!=null&&te(y)===r)}function ne(n){return/^(?:UI)?(?:Car|Vehicle)-(\d+)$/i.exec(n)?.[1]??null}function te(n){return n.rawId!=null?String(n.rawId):n.id.replace(/^C/i,"").replace(/^0+/,"")||n.id}async function k(){V.value=!0;try{b.value=await Qe(),I.value=await et()}catch(n){console.warn("[MapMonitor] refreshAll failed",n)}finally{p.value++,V.value=!1}}const re=tt({autoConnect:!0});function le(n){if(n?.kind)switch(n.kind){case"alarm":{const r=n.payload;if(!r)return;O.value=[r,...O.value.filter(y=>y.carId!==r.carId)].slice(0,30);break}case"car-state":case"mission-status":k();break;case"selection-detail":n.payload&&typeof n.payload=="object"&&ee(n.payload);break;case"monitor-config-updated":p.value++;break}}return re.on(le),We(async()=>{await k(),P=setInterval(()=>{(!re.connected.value||b.value.length===0)&&k()},3e3)}),je(()=>{P&&clearInterval(P),re.off(le)}),(n,r)=>{const y=He,L=Xe,X=qe,W=ke,z=Ge;return o(),i("div",ps,[_(X,{gutter:12,class:"kpi-row"},{default:C(()=>[_(L,{span:8},{default:C(()=>[_(y,{title:"在线车辆",value:x.value},{suffix:C(()=>[e("span",_s,"/ "+u(b.value.length),1)]),_:1},8,["value"])]),_:1}),_(L,{span:8},{default:C(()=>[_(y,{title:"运行中任务",value:v.value},null,8,["value"])]),_:1}),_(L,{span:8},{default:C(()=>[_(y,{title:"排队任务",value:j.value},null,8,["value"])]),_:1})]),_:1}),_(X,{gutter:12,class:"main-row"},{default:C(()=>[_(L,{span:16},{default:C(()=>[e("div",hs,[_(Ye,{ref_key:"workspaceRef",ref:F,host:de(l),scope:de(N).scope??"Platform",token:de(N).token??"","read-only":!1,"embed-ui":!0,onPick:R,onSelect:a,onReady:m},null,8,["host","scope","token"]),_(ms,{alarms:O.value,onLocate:G,onAck:B},null,8,["alarms"]),_(Je)])]),_:1}),_(L,{span:8,class:"side-col"},{default:C(()=>[_(z,{shadow:"never",class:"side-card workbench-card"},{header:C(()=>[r[1]||(r[1]=e("span",null,"车辆监控台",-1)),_(W,{link:"",type:"primary",size:"small",loading:V.value,onClick:k},{default:C(()=>[...r[0]||(r[0]=[J(" 刷新 ",-1)])]),_:1},8,["loading"])]),default:C(()=>[_(Et,{cars:b.value,missions:I.value,"selected-id":U.value,onSelect:K},null,8,["cars","missions","selected-id"])]),_:1}),_(z,{shadow:"never",class:"side-card detail-card"},{header:C(()=>[...r[2]||(r[2]=[e("span",null,"选中信息",-1)])]),default:C(()=>[_(es,{selection:d.value,"refresh-key":p.value,cars:b.value,missions:I.value},null,8,["selection","refresh-key","cars","missions"])]),_:1})]),_:1})]),_:1})])}}}),Ws=fe(ks,[["__scopeId","data-v-f1d93793"]]);export{Ws as default}; diff --git a/MiGu.Server/wwwroot/assets/MissionEditorView-DOR5c4wb.css b/MiGu.Server/wwwroot/assets/MissionEditorView-DOR5c4wb.css new file mode 100644 index 0000000..d19c9e2 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MissionEditorView-DOR5c4wb.css @@ -0,0 +1 @@ +.mission-page[data-v-40f885f1]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box} diff --git a/MiGu.Server/wwwroot/assets/MissionEditorView-UptDJACU.js b/MiGu.Server/wwwroot/assets/MissionEditorView-UptDJACU.js new file mode 100644 index 0000000..30758bc --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MissionEditorView-UptDJACU.js @@ -0,0 +1 @@ +import{R as o}from"./ReflectionManagerPanel-BP1OYef-.js";import{aG as i,aC as t,aF as r,b3 as p,al as e}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-Dr3WM5Rz.js";import"./useMapEditStream-DPAdbySW.js";import"./useProjectionStream-DMf_8m8X.js";const m={class:"mission-page"},s=i({__name:"MissionEditorView",setup(a){return(n,c)=>(p(),t("div",m,[r(o,{kind:"process","kind-label":"任务",title:"任务编排(Mission / 进程,含插件 MissionType 实例化)","empty-text":"当前没有任务;点击右上角「新建任务」从已加载的 MissionType 中选一个实例化。"})]))}}),q=e(s,[["__scopeId","data-v-40f885f1"]]);export{q as default}; diff --git a/MiGu.Server/wwwroot/assets/MonitorDashboardView-C0ey2wYu.css b/MiGu.Server/wwwroot/assets/MonitorDashboardView-C0ey2wYu.css new file mode 100644 index 0000000..13a6d44 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MonitorDashboardView-C0ey2wYu.css @@ -0,0 +1 @@ +.muted[data-v-d6b33cf6]{color:#e8d7f58c;font-size:12px} diff --git a/MiGu.Server/wwwroot/assets/MonitorDashboardView-ChnHSdxd.js b/MiGu.Server/wwwroot/assets/MonitorDashboardView-ChnHSdxd.js new file mode 100644 index 0000000..b12e16e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MonitorDashboardView-ChnHSdxd.js @@ -0,0 +1 @@ +import{aG as k,b1 as z,aC as M,aF as t,bB as e,bb as p,a2 as T,b3 as V,x as B,a6 as D,az as d,bj as c,u as N,aa as S,ab as I,ad as P,aE as w,$ as j,av as _,al as A}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as F,a as G}from"./projection-CizY2UtH.js";import{l as R}from"./ops-CZkWvMAR.js";import"./reflection-Dr3WM5Rz.js";const $={class:"muted"},q=k({__name:"MonitorDashboardView",setup(H){const n=p([]),m=p([]),i=p([]),b=_(()=>n.value.filter(l=>l.state!=="offline").length),C=_(()=>m.value.filter(l=>l.status==="running").length),x=_(()=>n.value.filter(l=>l.state==="fault").length);function E(l){switch(l){case"running":return"success";case"idle":return"info";case"charging":return"warning";case"paused":return"warning";case"fault":return"danger";case"offline":return"info";default:return"info"}}return z(async()=>{[n.value,m.value,i.value]=await Promise.all([F(),G(),R()])}),(l,r)=>{const u=D,o=B,f=T,a=I,g=P,y=j,v=S,h=N;return V(),M("div",null,[t(f,{gutter:14,class:"kpi-row"},{default:e(()=>[t(o,{span:6},{default:e(()=>[t(u,{title:"车辆在线",value:b.value},{suffix:e(()=>[d("span",$,"/ "+c(n.value.length),1)]),_:1},8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"任务进行中",value:C.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"故障车辆",value:x.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"今日运维动作",value:i.value.length},null,8,["value"])]),_:1})]),_:1}),t(f,{gutter:14,style:{"margin-top":"14px"}},{default:e(()=>[t(o,{span:14},{default:e(()=>[t(h,{shadow:"never"},{header:e(()=>[...r[0]||(r[0]=[d("span",null,"实时车辆",-1)])]),default:e(()=>[t(v,{data:n.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"name",label:"名称",width:"100"}),t(a,{prop:"state",label:"状态",width:"90"},{default:e(s=>[t(g,{size:"small",type:E(s.row.state)},{default:e(()=>[w(c(s.row.state),1)]),_:2},1032,["type"])]),_:1}),t(a,{prop:"group",label:"分组",width:"100"}),t(a,{label:"电量",width:"160"},{default:e(s=>[t(y,{percentage:Math.round(s.row.batterySoc*100),"stroke-width":8},null,8,["percentage"])]),_:1}),t(a,{prop:"missionId",label:"当前任务"})]),_:1},8,["data"])]),_:1})]),_:1}),t(o,{span:10},{default:e(()=>[t(h,{shadow:"never"},{header:e(()=>[...r[1]||(r[1]=[d("span",null,"最近运维动作",-1)])]),default:e(()=>[t(v,{data:i.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"ts",label:"时间",width:"180"}),t(a,{prop:"opCode",label:"动作"}),t(a,{prop:"target",label:"目标",width:"100"}),t(a,{prop:"result",label:"结果",width:"80"},{default:e(s=>[t(g,{size:"small",type:s.row.result==="ok"?"success":"danger"},{default:e(()=>[w(c(s.row.result),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:1})]),_:1})])}}}),ot=A(q,[["__scopeId","data-v-d6b33cf6"]]);export{ot as default}; diff --git a/MiGu.Server/wwwroot/assets/MonitorMapView-CClr5C8k.js b/MiGu.Server/wwwroot/assets/MonitorMapView-CClr5C8k.js new file mode 100644 index 0000000..c366e90 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MonitorMapView-CClr5C8k.js @@ -0,0 +1,2 @@ +import{aG as A,bo as G,b1 as L,aC as d,aF as a,bB as o,bb as r,E as j,a2 as H,b3 as i,aE as u,bj as _,bm as c,x as Y,az as f,u as Z,a1 as q,a0 as J,a4 as K,ai as b,bd as I,aA as S,F as Q,G as X,ag as ee,R as te,aR as ae,aB as oe,av as le,_ as ne,s as se,Y as g,Z as re,al as ie}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{W as ue}from"./Workspace3D-D7MYl2zT.js";import{W as ce}from"./WorkspaceCanvasToolbar-1mCqpdq_.js";import{O as pe}from"./ops-BCeFEEjY.js";import{l as me,a as de}from"./projection-CizY2UtH.js";import{e as _e}from"./ops-CZkWvMAR.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-Dr3WM5Rz.js";const fe={class:"monitor-map-page"},ve={class:"canvas-with-toolbar"},be={class:"ops-grid"},ge=A({__name:"MonitorMapView",setup(ye){const y=G(),E="localhost:8223",p=r("car"),s=r(""),w=r([]),k=r([]),m=r(null),v=r([]),$=le(()=>p.value==="car"?w.value:k.value);function M(t){return t.target===p.value||t.target==="note"}async function B(t){if(!s.value&&t.target!=="note"){g.warning("请先选择目标");return}if(t.needConfirm)try{await re.confirm(`确认执行 [${t.label}]? +目标:${s.value}`,"二次确认",{type:"warning"})}catch{return}try{const e=await _e({opCode:t.code,targetId:s.value,reason:""});g.success(`已执行 ${t.label},auditId=${e.auditId}`)}catch(e){g.error(`执行失败:${e instanceof Error?e.message:String(e)}`)}}function O(t){m.value=t}function R(t){v.value=t,t.length===1&&t[0].startsWith("UICar-")&&(p.value="car",s.value=t[0].replace("UICar-",""))}return L(async()=>{const t=await me();w.value=t.map(n=>({label:`${n.name} (${n.id})`,value:n.id}));const e=await de();k.value=e.map(n=>({label:`${n.name} (${n.id})`,value:n.id}))}),(t,e)=>{const n=j,x=Y,C=J,T=q,W=ne,D=K,h=X,F=Q,V=Z,z=te,N=ee,P=se,U=H;return i(),d("div",fe,[a(n,{type:"info",closable:!1,"show-icon":"",style:{"margin-bottom":"12px"}},{default:o(()=>[u(" RCSMonitor 只读视图:iframe 嵌入 SimpleLite webVRender("+_(c(E))+"),右侧可执行白名单运维动作。 ",1)]),_:1}),a(U,{gutter:12,class:"main-row"},{default:o(()=>[a(x,{span:17},{default:o(()=>[f("div",ve,[a(ue,{host:c(E),scope:"RCSMonitor",token:c(y).token??"","read-only":!0,"embed-ui":!0,onPick:O,onSelect:R},null,8,["host","token"]),a(ce)])]),_:1}),a(x,{span:7},{default:o(()=>[a(V,{shadow:"never"},{header:o(()=>[...e[2]||(e[2]=[f("span",null,"选中目标",-1)])]),default:o(()=>[a(T,{modelValue:p.value,"onUpdate:modelValue":e[0]||(e[0]=l=>p.value=l),size:"small"},{default:o(()=>[a(C,{label:"car"},{default:o(()=>[...e[3]||(e[3]=[u("车辆",-1)])]),_:1}),a(C,{label:"task"},{default:o(()=>[...e[4]||(e[4]=[u("任务",-1)])]),_:1})]),_:1},8,["modelValue"]),a(D,{modelValue:s.value,"onUpdate:modelValue":e[1]||(e[1]=l=>s.value=l),placeholder:"选择目标 ID",filterable:"",style:{width:"100%","margin-top":"8px"}},{default:o(()=>[(i(!0),d(b,null,I($.value,l=>(i(),S(W,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(F,{column:1,border:"",size:"small",style:{"margin-top":"8px"}},{default:o(()=>[a(h,{label:"最近 Pick"},{default:o(()=>[u(_(m.value?`(${m.value.x.toFixed(0)}, ${m.value.y.toFixed(0)})`:"—"),1)]),_:1}),a(h,{label:"最近 Select"},{default:o(()=>[u(_(v.value.length?v.value.join(", "):"—"),1)]),_:1})]),_:1})]),_:1}),a(V,{shadow:"never",style:{"margin-top":"12px"}},{header:o(()=>[...e[5]||(e[5]=[f("span",null,"运维白名单(按权限隐藏)",-1)])]),default:o(()=>[f("div",be,[(i(!0),d(b,null,I(c(pe),l=>(i(),d(b,{key:l.code},[c(y).hasOp(l.code)&&M(l)?(i(),S(P,{key:0,type:l.needConfirm?"warning":"primary",size:"small",plain:"",onClick:Ee=>B(l)},{default:o(()=>[u(_(l.label)+" ",1),a(N,{content:l.description},{default:o(()=>[a(z,{style:{"margin-left":"4px"}},{default:o(()=>[a(c(ae))]),_:1})]),_:1},8,["content"])]),_:2},1032,["type","onClick"])):oe("",!0)],64))),128))])]),_:1})]),_:1})]),_:1})])}}}),He=ie(ge,[["__scopeId","data-v-96c491ac"]]);export{He as default}; diff --git a/MiGu.Server/wwwroot/assets/MonitorMapView-CS49gkPx.css b/MiGu.Server/wwwroot/assets/MonitorMapView-CS49gkPx.css new file mode 100644 index 0000000..cf27b2e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/MonitorMapView-CS49gkPx.css @@ -0,0 +1 @@ +.monitor-map-page[data-v-96c491ac]{display:flex;flex-direction:column;height:calc(100vh - 124px)}.main-row[data-v-96c491ac]{flex:1;min-height:0}.main-row>.el-col[data-v-96c491ac]{display:flex;flex-direction:column}.main-row>.el-col[data-v-96c491ac]:first-child{min-height:0}.ops-grid[data-v-96c491ac]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.canvas-with-toolbar[data-v-96c491ac]{flex:1;min-height:0;display:flex;flex-direction:column}.canvas-with-toolbar[data-v-96c491ac] .workspace-3d-wrap{flex:1;min-height:0} diff --git a/MiGu.Server/wwwroot/assets/OpsActionPanelView-C3hWMI-V.css b/MiGu.Server/wwwroot/assets/OpsActionPanelView-C3hWMI-V.css new file mode 100644 index 0000000..0d7193d --- /dev/null +++ b/MiGu.Server/wwwroot/assets/OpsActionPanelView-C3hWMI-V.css @@ -0,0 +1 @@ +.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)} diff --git a/MiGu.Server/wwwroot/assets/OpsActionPanelView-OY2jAcDK.js b/MiGu.Server/wwwroot/assets/OpsActionPanelView-OY2jAcDK.js new file mode 100644 index 0000000..fd2d19d --- /dev/null +++ b/MiGu.Server/wwwroot/assets/OpsActionPanelView-OY2jAcDK.js @@ -0,0 +1,2 @@ +import{aG as O,bo as T,b1 as V,aA as m,bB as a,bb as B,b3 as d,aF as o,aa as S,bm as _,ab as A,az as p,bj as r,ad as M,aE as i,S as P,s as $,ae as D,aC as N,bd as F,af as G,ai as L,ba as U,av as j,Y as f,Z as H,u as R}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as W}from"./PermissionGuard-BxagL6-4.js";import{O as b}from"./ops-BCeFEEjY.js";import{l as C,e as Y}from"./ops-CZkWvMAR.js";const Z={style:{display:"flex","align-items":"center",gap:"8px"}},pe=O({__name:"OpsActionPanelView",setup(q){const g=T(),u=U({}),c=B([]),E=j(()=>b.filter(n=>g.hasOp(n.code)));async function x(n){const e=u[n.code];if(!e&&n.target!=="note"){f.warning("请填写目标 ID");return}if(n.needConfirm)try{await H.confirm(`确认执行 [${n.label}]? +目标:${e}`,"二次确认",{type:"warning"})}catch{return}try{const l=await Y({opCode:n.code,targetId:e});f.success(`成功,auditId=${l.auditId}`),c.value=await C()}catch(l){f.error(`失败:${l instanceof Error?l.message:String(l)}`)}}return V(async()=>{c.value=await C()}),(n,e)=>{const l=M,s=A,h=P,k=$,v=S,w=R,I=G,z=D;return d(),m(W,{"widget-id":"OpsActionPanel"},{default:a(()=>[o(w,{shadow:"never"},{header:a(()=>[p("div",Z,[e[1]||(e[1]=p("span",null,"运维操作(架构 §5.1 白名单)",-1)),o(l,{size:"small",type:"info"},{default:a(()=>[...e[0]||(e[0]=[i("scope=RCSMonitor",-1)])]),_:1}),o(l,{size:"small",type:"success"},{default:a(()=>[i(r(E.value.length)+" / "+r(_(b).length)+" 可用",1)]),_:1})])]),default:a(()=>[o(v,{data:_(b),size:"small",border:""},{default:a(()=>[o(s,{prop:"code",label:"权限码",width:"200"},{default:a(t=>[p("code",null,r(t.row.code),1)]),_:1}),o(s,{prop:"label",label:"操作",width:"140"}),o(s,{prop:"target",label:"目标",width:"80"}),o(s,{prop:"needConfirm",label:"二次确认",width:"100"},{default:a(t=>[t.row.needConfirm?(d(),m(l,{key:0,size:"small",type:"warning"},{default:a(()=>[...e[2]||(e[2]=[i("是",-1)])]),_:1})):(d(),m(l,{key:1,size:"small",effect:"plain"},{default:a(()=>[...e[3]||(e[3]=[i("否",-1)])]),_:1}))]),_:1}),o(s,{prop:"description",label:"说明"}),o(s,{label:"操作",width:"200"},{default:a(t=>[o(h,{modelValue:u[t.row.code],"onUpdate:modelValue":y=>u[t.row.code]=y,placeholder:"目标 ID",size:"small",style:{width:"100px","margin-right":"6px"}},null,8,["modelValue","onUpdate:modelValue"]),o(k,{size:"small",type:t.row.needConfirm?"warning":"primary",disabled:!_(g).hasOp(t.row.code),onClick:y=>x(t.row)},{default:a(()=>[...e[4]||(e[4]=[i("执行",-1)])]),_:1},8,["type","disabled","onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),o(w,{shadow:"never",style:{"margin-top":"12px"}},{header:a(()=>[...e[5]||(e[5]=[p("span",null,"本地操作记录(占位 Mock)",-1)])]),default:a(()=>[o(z,null,{default:a(()=>[(d(!0),N(L,null,F(c.value,t=>(d(),m(I,{key:t.id,timestamp:t.ts,type:t.result==="ok"?"success":"danger"},{default:a(()=>[p("strong",null,r(t.opCode),1),i(" → "+r(t.target)+"("+r(t.user)+") ",1)]),_:2},1032,["timestamp","type"]))),128))]),_:1})]),_:1})]),_:1})}}});export{pe as default}; diff --git a/MiGu.Server/wwwroot/assets/OpsConfigView-CYCdWXE0.js b/MiGu.Server/wwwroot/assets/OpsConfigView-CYCdWXE0.js new file mode 100644 index 0000000..b6424e3 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/OpsConfigView-CYCdWXE0.js @@ -0,0 +1 @@ +import{aG as G,b0 as Y,b1 as q,aA as g,bB as n,bm as K,f as J,ba as Q,bb as N,b3 as u,aF as l,I as W,aE as _,P as X,T as Z,E as ee,y as te,aC as k,bd as T,z as oe,w as ae,ai as M,v as le,bj as O,O as ne,Y as $,al as se}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{s as z,n as R,C as ie,l as me}from"./ConfigPageBase-CPF7i-FB.js";import{r as V,e as re}from"./reflection-Dr3WM5Rz.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";const ue=450,ce=G({__name:"OpsConfigView",setup(de){const c=Q(re()),x=N([]),C=N([]),U=N([]),y=N(!1);let d=null,b=null;function A(t){b=t,d&&clearTimeout(d),d=setTimeout(()=>{E()},ue)}async function E(){if(d=null,y.value){d=setTimeout(()=>{E()},200);return}const t=b;if(b=null,!!t){y.value=!0;try{await z(t),$.success({message:"地图监控配置已自动保存",duration:1200,grouping:!0})}catch(e){$.error(`地图监控配置自动保存失败:${e instanceof Error?e.message:String(e)}`)}finally{y.value=!1,b&&A(b)}}}Y(()=>{d&&(clearTimeout(d),d=null),b&&!y.value&&E()});function F(t){return R({monitor:t}).monitor}async function I(t,e){e(await me(t))}function h(t){return F(t.monitor)}function S(t,e,o,m,i){const f=h(e),r={...e,monitor:{...f,[o]:{...f[o],[m]:[...i]}}};t(r),A(r)}function L(t,e,o,m){const i=h(e),f={...i.carActionByType,[o.typeKey]:[...m]};o.shortTypeName!==o.typeKey&&delete f[o.shortTypeName];const r={...e,monitor:{...i,carActionByType:f}};t(r),A(r)}function w(t,e){const o=h(t);return o.carActionByType[e.typeKey]??o.carActionByType[e.shortTypeName]??[]}q(async()=>{try{const t=await V.getMonitorConfig();c.car=t.available.car,c.site=t.available.site,c.track=t.available.track}catch{c.car={fields:[],status:[],methods:[]},c.site={fields:[],status:[],methods:[]},c.track={fields:[],status:[],methods:[]}}try{const t=await V.listMethodsByType("car");x.value=t.map(e=>({typeKey:e.fullTypeName??e.typeName,shortTypeName:e.typeName,title:`${e.typeLabel??e.typeName} / ${e.fullTypeName??e.typeName} [${e.assemblyName}]`,methods:e.methods.map(o=>({methodName:o.methodName,label:o.label||o.methodName})).filter(o=>!!o.methodName)})).filter(e=>e.methods.length>0).sort((e,o)=>e.title.localeCompare(o.title))}catch{x.value=[]}try{const t=await V.listMethodsByType("site");C.value=D(t.flatMap(e=>e.methods))}catch{C.value=c.site.methods.map(t=>({methodName:t,label:t}))}try{const t=await V.listMethodsByType("track");U.value=D(t.flatMap(e=>e.methods))}catch{U.value=c.track.methods.map(t=>({methodName:t,label:t}))}});function D(t){const e=new Map;for(const o of t)o.methodName&&(e.has(o.methodName)||e.set(o.methodName,{methodName:o.methodName,label:o.label||o.methodName}));return[...e.values()].sort((o,m)=>o.label.localeCompare(m.label))}return(t,e)=>{const o=W,m=Z,i=X,f=ee,r=le,B=ae,P=oe,H=te,j=ne;return u(),g(ie,{section:"ops",title:"运营维护",description:"调度回放、日志管理、版本维护(OpsConfig)",defaults:K(J),"normalize-payload":K(R),"after-load":I,"before-save":K(z)},{default:n(({payload:s,update:p})=>[l(j,{"label-width":"200px",model:s},{default:n(()=>[l(o,{"content-position":"left"},{default:n(()=>[...e[0]||(e[0]=[_("调度回放",-1)])]),_:1}),l(i,{label:"保留时长 (天)"},{default:n(()=>[l(m,{"model-value":s.playback.retentionDays,min:1,max:3650,"onUpdate:modelValue":a=>p({...s,playback:{...s.playback,retentionDays:a??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"采样频率 (Hz)"},{default:n(()=>[l(m,{"model-value":s.playback.samplingHz,min:1,max:100,"onUpdate:modelValue":a=>p({...s,playback:{...s.playback,samplingHz:a??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(o,{"content-position":"left"},{default:n(()=>[...e[1]||(e[1]=[_("日志保留",-1)])]),_:1}),l(i,{label:"热数据 (天)"},{default:n(()=>[l(m,{"model-value":s.logRetention.hotDays,min:1,max:365,"onUpdate:modelValue":a=>p({...s,logRetention:{...s.logRetention,hotDays:a??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"冷数据 (天)"},{default:n(()=>[l(m,{"model-value":s.logRetention.coldDays,min:1,max:3650,"onUpdate:modelValue":a=>p({...s,logRetention:{...s.logRetention,coldDays:a??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(o,{"content-position":"left"},{default:n(()=>[...e[2]||(e[2]=[_("版本维护",-1)])]),_:1}),l(i,{label:"保留发布版本"},{default:n(()=>[l(m,{"model-value":s.version.keepReleases,min:1,max:100,"onUpdate:modelValue":a=>p({...s,version:{keepReleases:a??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(o,{"content-position":"left"},{default:n(()=>[...e[3]||(e[3]=[_("地图监控信息与动作管理",-1)])]),_:1}),l(f,{type:"info",closable:!1,"show-icon":"",title:y.value?"正在自动保存…":"支持直接多选,修改后会自动保存到地图监控(simple.json),无需点击上方「保存」。若某组不勾选,表示该组在地图监控中显示全部。",style:{"margin-bottom":"10px"}},null,8,["title"]),l(i,{label:"按车型动作配置"},{default:n(()=>[l(H,{class:"type-actions"},{default:n(()=>[(u(!0),k(M,null,T(x.value,a=>(u(),g(P,{key:a.typeKey,name:a.typeKey,title:`${a.title}(${a.methods.length})`},{default:n(()=>[l(B,{"model-value":w(s,a),class:"cfg-check-grid","onUpdate:modelValue":v=>L(p,s,a,v)},{default:n(()=>[(u(!0),k(M,null,T(a.methods,v=>(u(),g(r,{key:`${a.typeKey}-${v.methodName}`,label:v.methodName},{default:n(()=>[_(O(v.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["name","title"]))),128))]),_:2},1024)]),_:2},1024),l(i,{label:"站点动作显示项"},{default:n(()=>[l(B,{"model-value":h(s).site.actionKeys,class:"cfg-check-grid","onUpdate:modelValue":a=>S(p,s,"site","actionKeys",a)},{default:n(()=>[(u(!0),k(M,null,T(C.value,a=>(u(),g(r,{key:`sa-${a.methodName}`,label:a.methodName},{default:n(()=>[_(O(a.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"路径动作显示项"},{default:n(()=>[l(B,{"model-value":h(s).track.actionKeys,class:"cfg-check-grid","onUpdate:modelValue":a=>S(p,s,"track","actionKeys",a)},{default:n(()=>[(u(!0),k(M,null,T(U.value,a=>(u(),g(r,{key:`ta-${a.methodName}`,label:a.methodName},{default:n(()=>[_(O(a.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults","normalize-payload","before-save"])}}}),Ee=se(ce,[["__scopeId","data-v-e66d9ef7"]]);export{Ee as default}; diff --git a/MiGu.Server/wwwroot/assets/OpsConfigView-DV0HHHQz.css b/MiGu.Server/wwwroot/assets/OpsConfigView-DV0HHHQz.css new file mode 100644 index 0000000..b4cf2aa --- /dev/null +++ b/MiGu.Server/wwwroot/assets/OpsConfigView-DV0HHHQz.css @@ -0,0 +1 @@ +.cfg-check-grid[data-v-e66d9ef7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 10px}.type-actions[data-v-e66d9ef7]{width:100%} diff --git a/MiGu.Server/wwwroot/assets/PermissionGuard-BxagL6-4.js b/MiGu.Server/wwwroot/assets/PermissionGuard-BxagL6-4.js new file mode 100644 index 0000000..ea5df6d --- /dev/null +++ b/MiGu.Server/wwwroot/assets/PermissionGuard-BxagL6-4.js @@ -0,0 +1 @@ +import{aG as i,bo as n,be as o,aC as l,az as u,aB as c,av as m,b3 as p,al as v}from"./index-DrvLDslf.js";const f=["title"],g=i({__name:"PermissionGuard",props:{widgetId:{}},setup(e){const d=e,r=n(),t=m(()=>r.widgetOf(d.widgetId));return(s,a)=>t.value==="interactive"?o(s.$slots,"default",{key:0},void 0,!0):t.value==="readonly"?(p(),l("div",{key:1,class:"pg-readonly",title:`${e.widgetId} 当前为只读`},[o(s.$slots,"default",{},void 0,!0),a[0]||(a[0]=u("div",{class:"pg-mask"},null,-1))],8,f)):c("",!0)}}),k=v(g,[["__scopeId","data-v-3220f2f7"]]);export{k as P}; diff --git a/MiGu.Server/wwwroot/assets/PermissionGuard-CFqrez64.css b/MiGu.Server/wwwroot/assets/PermissionGuard-CFqrez64.css new file mode 100644 index 0000000..594ecc8 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/PermissionGuard-CFqrez64.css @@ -0,0 +1 @@ +.pg-readonly[data-v-3220f2f7]{position:relative}.pg-mask[data-v-3220f2f7]{position:absolute;inset:0;background:#ffffff4d;pointer-events:all;cursor:not-allowed} diff --git a/MiGu.Server/wwwroot/assets/PlaybackView-BUHRaurd.js b/MiGu.Server/wwwroot/assets/PlaybackView-BUHRaurd.js new file mode 100644 index 0000000..66bfd5f --- /dev/null +++ b/MiGu.Server/wwwroot/assets/PlaybackView-BUHRaurd.js @@ -0,0 +1 @@ +import{aG as c,aA as y,bB as a,u as w,b3 as E,aF as e,x as V,S as k,C as x,s as B,aE as n,bm as g,bx as z,ab as N,az as P,bj as v,ba as C,bb as S,a2 as A,aa as D,I}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const K=30,X=c({__name:"PlaybackView",setup(T){const s=C({kw:"",range:null}),i=S([{id:"SNAP-001",ts:"2026-05-19 10:21:33",type:"调度异常",summary:"AGV-005 上线超时 → 故障",size:"128 KB"},{id:"SNAP-002",ts:"2026-05-19 14:05:17",type:"路口死锁",summary:"路口-N 等待链 3 节点 30s",size:"64 KB"},{id:"SNAP-003",ts:"2026-05-20 09:11:02",type:"手动快照",summary:"用户 admin 触发 SnapshotExport",size:"420 KB"}]);return(G,t)=>{const d=k,r=V,m=x,o=B,u=A,_=I,l=N,b=D,f=w;return E(),y(f,{shadow:"never"},{header:a(()=>[P("span",null,"调度回放(PlaybackPolicy.retentionDays="+v(K)+" 天)")]),default:a(()=>[e(u,{gutter:12},{default:a(()=>[e(r,{span:6},{default:a(()=>[e(d,{modelValue:s.kw,"onUpdate:modelValue":t[0]||(t[0]=p=>s.kw=p),placeholder:"按任务 / 车辆检索",clearable:""},null,8,["modelValue"])]),_:1}),e(r,{span:8},{default:a(()=>[e(m,{modelValue:s.range,"onUpdate:modelValue":t[1]||(t[1]=p=>s.range=p),type:"datetimerange","range-separator":"→","start-placeholder":"开始","end-placeholder":"结束",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),e(r,{span:10},{default:a(()=>[e(o,{type:"primary"},{default:a(()=>[...t[2]||(t[2]=[n("检索快照",-1)])]),_:1}),e(o,null,{default:a(()=>[...t[3]||(t[3]=[n("下载日志",-1)])]),_:1}),e(o,{icon:g(z),plain:""},{default:a(()=>[...t[4]||(t[4]=[n("回放选中",-1)])]),_:1},8,["icon"])]),_:1})]),_:1}),e(_),e(b,{data:i.value,stripe:""},{default:a(()=>[e(l,{prop:"id",label:"ID",width:"100"}),e(l,{prop:"ts",label:"时间",width:"180"}),e(l,{prop:"type",label:"类型",width:"140"}),e(l,{prop:"summary",label:"概要"}),e(l,{prop:"size",label:"大小",width:"100"}),e(l,{label:"操作",width:"160"},{default:a(()=>[e(o,{text:"",size:"small"},{default:a(()=>[...t[5]||(t[5]=[n("回放",-1)])]),_:1}),e(o,{text:"",size:"small"},{default:a(()=>[...t[6]||(t[6]=[n("下载",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})}}});export{X as default}; diff --git a/MiGu.Server/wwwroot/assets/PlaybackView-BsrAVvYx.css b/MiGu.Server/wwwroot/assets/PlaybackView-BsrAVvYx.css new file mode 100644 index 0000000..7d96197 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/PlaybackView-BsrAVvYx.css @@ -0,0 +1 @@ +.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker.single-panel{width:322px}.el-date-range-picker.single-panel .el-picker-panel__body{min-width:322px}.el-date-range-picker.single-panel.has-sidebar.has-time{width:434px}.el-date-range-picker.single-panel.has-sidebar{width:438px}.el-date-range-picker.single-panel .el-picker-panel__content{width:292px;margin:15px;padding:0;display:block;position:relative}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto} diff --git a/MiGu.Server/wwwroot/assets/ProcessPanelView-Bgs-UWlW.js b/MiGu.Server/wwwroot/assets/ProcessPanelView-Bgs-UWlW.js new file mode 100644 index 0000000..641631b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ProcessPanelView-Bgs-UWlW.js @@ -0,0 +1 @@ +import{R as o}from"./ReflectionManagerPanel-BP1OYef-.js";import{aG as t,aC as r,aF as e,b3 as i,al as p}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-Dr3WM5Rz.js";import"./useMapEditStream-DPAdbySW.js";import"./useProjectionStream-DMf_8m8X.js";const m={class:"process-page"},s=t({__name:"ProcessPanelView",setup(a){return(n,c)=>(i(),r("div",m,[e(o,{kind:"process","kind-label":"进程",title:"进程管理(Mission / Process)","empty-text":"当前没有进程;点击右上角「新建进程」即可基于已加载的 MissionType 实例化一个。"})]))}}),q=p(s,[["__scopeId","data-v-6a85813e"]]);export{q as default}; diff --git a/MiGu.Server/wwwroot/assets/ProcessPanelView-DLKKlZA4.css b/MiGu.Server/wwwroot/assets/ProcessPanelView-DLKKlZA4.css new file mode 100644 index 0000000..8f09c6c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ProcessPanelView-DLKKlZA4.css @@ -0,0 +1 @@ +.process-page[data-v-6a85813e]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box} diff --git a/MiGu.Server/wwwroot/assets/ProjectPropertiesView-BUmjY6Qh.js b/MiGu.Server/wwwroot/assets/ProjectPropertiesView-BUmjY6Qh.js new file mode 100644 index 0000000..62d762c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ProjectPropertiesView-BUmjY6Qh.js @@ -0,0 +1,2 @@ +import{aG as R,bA as se,b1 as ie,b3 as l,aC as C,az as V,bj as h,aA as i,bB as o,ai as re,bd as ce,G as ue,aB as B,aF as n,S as de,R as pe,bm as M,bh as me,s as fe,bc as _e,aI as ve,aE as N,bC as ye,bt as be,aa as ge,ab as ke,a8 as he,T as Ee,ad as Ce,M as we,bb as d,av as O,Y as P,Z as je,F as Fe,u as Se,ba as Ve,al as q,ac as Be,a9 as Le}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as E}from"./reflection-Dr3WM5Rz.js";const $e={class:"fme-root"},Ie={class:"fme-header"},xe={class:"fme-desc"},Ne={key:0,class:"fme-path"},Pe={key:1,class:"fme-path-empty"},ze={class:"fme-toolbar"},Te={class:"fme-btn-text"},Ae={key:0,class:"fme-locked"},Ue=R({__name:"FieldMemberEditor",props:{targetLabel:{},description:{},loader:{type:Function},onSet:{type:Function},onSave:{type:Function}},setup(L,{expose:f}){const _=L,v=d(!1),y=d(!1),w=d(""),p=d([]),j=d([]),$=d("保存"),c=Ve({}),z=d(!1),s=O(()=>{const e=w.value.trim().toLowerCase();return e?p.value.filter(t=>t.key.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)):p.value}),m=O(()=>p.value.reduce((e,t)=>t.locked?e:c[t.key]!==t.value?e+1:e,0)),g=O(()=>m.value>0);function T(e){return e==="Boolean"}function A(e){return e==="Int32"||e==="Int64"||e==="Int16"||e==="Byte"}function Y(e){return e==="Single"||e==="Double"||e==="Decimal"}function Z(e){const t=(e??"").trim().toLowerCase();return t==="true"||t==="1"||t==="yes"}function K(e){const t=parseInt(e,10);return Number.isFinite(t)?t:0}function Q(e){const t=parseFloat(e);return Number.isFinite(t)?t:0}function I(e){return c[e.key]??e.value}function x(e,t){c[e.key]=t}function W(e){if(e.locked)return!1;const t=c[e.key];return t!==void 0&&t!==e.value}async function k(){v.value=!0;try{const e=await _.loader();p.value=e.fields,j.value=e.pathInfos??[],e.saveButtonLabel&&($.value=e.saveButtonLabel);for(const t of e.fields)c[t.key]=t.value;for(const t of Object.keys(c))e.fields.find(u=>u.key===t)||delete c[t]}catch(e){P.error(`加载${_.targetLabel}失败:${e.message}`)}finally{v.value=!1}}function X(){for(const e of p.value)c[e.key]=e.value}async function ee(){const e=p.value.filter(r=>!r.locked&&c[r.key]!==r.value);y.value=!0;let t=0;const u=[];for(const r of e)try{await _.onSet(r.key,c[r.key]??""),t+=1}catch(F){u.push({key:r.key,reason:F.message})}if(u.length>0){y.value=!1;try{await je.confirm(`共 ${e.length} 项改动:成功 ${t},失败 ${u.length}(首项: ${u[0].key} → ${u[0].reason})。 +是否仍要把已成功应用的改动持久化到磁盘?`,"部分字段写入失败",{confirmButtonText:"仍然保存",cancelButtonText:"取消",type:"warning"})}catch{P.warning(`已取消保存(${t} 项已写入内存,${u.length} 项未生效)`),await k();return}y.value=!0}try{const r=await _.onSave();P.success(`已保存到:${r.path}(应用 ${t} 项改动${u.length>0?`;${u.length} 项失败已忽略`:""})`),await k()}catch(r){P.error(`保存失败:${r.message}`)}finally{y.value=!1}}return se(()=>_.loader,()=>{k()}),ie(k),f({refresh:k}),(e,t)=>{const u=ue,r=Fe,F=pe,H=de,U=fe,S=ke,te=he,J=Ee,D=Ce,ae=ge,le=we,oe=Se,ne=be;return l(),C("div",$e,[V("div",Ie,[V("p",xe,h(L.description),1),j.value.length>0?(l(),i(r,{key:0,column:1,size:"small",border:"",class:"fme-paths"},{default:o(()=>[(l(!0),C(re,null,ce(j.value,a=>(l(),i(u,{key:a.label,label:a.label},{default:o(()=>[a.value?(l(),C("code",Ne,h(a.value),1)):(l(),C("span",Pe,"("+h(a.emptyHint??"空")+")",1))]),_:2},1032,["label"]))),128))]),_:1})):B("",!0),V("div",ze,[n(H,{modelValue:w.value,"onUpdate:modelValue":t[0]||(t[0]=a=>w.value=a),placeholder:"按中文/英文键过滤",size:"small",clearable:"",class:"fme-search"},{prefix:o(()=>[n(F,null,{default:o(()=>[n(M(me))]),_:1})]),_:1},8,["modelValue"]),n(U,{size:"small",loading:v.value,onClick:k},{default:o(()=>[n(F,null,{default:o(()=>[n(M(_e))]),_:1}),t[1]||(t[1]=V("span",{class:"fme-btn-text"},"刷新",-1))]),_:1},8,["loading"]),n(U,{size:"small",type:"primary",disabled:!g.value&&!z.value,loading:y.value,onClick:ee},{default:o(()=>[n(F,null,{default:o(()=>[n(M(ve))]),_:1}),V("span",Te,h($.value)+h(g.value?`(${m.value} 项未应用)`:""),1)]),_:1},8,["disabled","loading"]),g.value?(l(),i(U,{key:0,size:"small",link:"",type:"warning",onClick:X},{default:o(()=>[...t[2]||(t[2]=[N(" 放弃未应用的改动 ",-1)])]),_:1})):B("",!0)])]),ye((l(),i(oe,{shadow:"never",class:"fme-table-card"},{default:o(()=>[n(ae,{data:s.value,stripe:"",border:"",size:"small",height:"100%",class:"fme-table","row-key":"key"},{default:o(()=>[n(S,{label:"中文说明",prop:"label","min-width":"240","show-overflow-tooltip":""}),n(S,{label:"英文键",prop:"key",width:"240","show-overflow-tooltip":""}),n(S,{label:"类型",prop:"typeName",width:"100"}),n(S,{label:"当前值(可编辑)","min-width":"260"},{default:o(({row:a})=>[a.locked?(l(),C("span",Ae,h(a.value)+"(🔒 锁定)",1)):T(a.typeName)?(l(),i(te,{key:1,"model-value":Z(I(a)),"onUpdate:modelValue":b=>x(a,String(!!b))},null,8,["model-value","onUpdate:modelValue"])):A(a.typeName)?(l(),i(J,{key:2,"model-value":K(I(a)),controls:!1,step:1,precision:0,size:"small",class:"fme-input","onUpdate:modelValue":b=>x(a,String(b??0))},null,8,["model-value","onUpdate:modelValue"])):Y(a.typeName)?(l(),i(J,{key:3,"model-value":Q(I(a)),controls:!1,step:.1,size:"small",class:"fme-input","onUpdate:modelValue":b=>x(a,String(b??0))},null,8,["model-value","onUpdate:modelValue"])):(l(),i(H,{key:4,"model-value":I(a),size:"small",class:"fme-input","onUpdate:modelValue":b=>x(a,b)},null,8,["model-value","onUpdate:modelValue"]))]),_:1}),n(S,{label:"状态",width:"100",align:"center"},{default:o(({row:a})=>[a.locked?(l(),i(D,{key:0,size:"small",type:"info",effect:"plain"},{default:o(()=>[...t[3]||(t[3]=[N("只读",-1)])]),_:1})):W(a)?(l(),i(D,{key:1,size:"small",type:"warning",effect:"dark"},{default:o(()=>[...t[4]||(t[4]=[N("已修改",-1)])]),_:1})):(l(),i(D,{key:2,size:"small",type:"success",effect:"plain"},{default:o(()=>[...t[5]||(t[5]=[N("同步",-1)])]),_:1}))]),_:1})]),_:1},8,["data"]),!v.value&&p.value.length===0?(l(),i(le,{key:0,description:`未发现可编辑的 [FieldMember] 字段(target: ${L.targetLabel})`},null,8,["description"])):B("",!0)]),_:1})),[[ne,v.value]])])}}}),G=q(Ue,[["__scopeId","data-v-708f3ec1"]]),De={class:"pp-page"},Me=R({__name:"ProjectPropertiesView",setup(L){const f=d("project"),_=d(null),v=d(null);function y(s){f.value=s}async function w(){const s=await E.getProjectFields();return{fields:s.fields,pathInfos:[{label:"最近加载/保存的项目 JSON",value:s.lastLoadedPath,emptyHint:"尚未通过 SimpleLite 加载或保存过项目"},{label:"simple.json autoload",value:s.autoloadPath,emptyHint:"未配置"}],saveButtonLabel:"保存(写回项目 JSON)"}}function p(s,m){return E.setProjectField(s,m)}async function j(){return{path:(await E.saveProject()).path}}async function $(){const s=await E.getAppConfigFields();return{fields:s.fields,pathInfos:[{label:"保存目标",value:s.savePath,emptyHint:"simple.json"}],saveButtonLabel:"保存(写入 simple.json)"}}function c(s,m){return E.setAppConfigField(s,m)}async function z(){return{path:(await E.saveAppConfig()).path}}return(s,m)=>{const g=Le,T=Be;return l(),C("div",De,[n(T,{modelValue:f.value,"onUpdate:modelValue":m[0]||(m[0]=A=>f.value=A),type:"border-card",class:"pp-tabs admin-tabs",onTabChange:y},{default:o(()=>[n(g,{label:"项目属性 (Scene.conf)",name:"project"},{default:o(()=>[f.value==="project"?(l(),i(G,{key:0,ref_key:"projectEditor",ref:_,"target-label":"项目属性",description:"对应 SimpleLite 桌面端主菜单「项目属性…」。编辑字段后点「保存」即可一次完成内存生效 + 写回项目 JSON 文件(含全部场景/车辆/路径/属性)。",loader:w,"on-set":p,"on-save":j},null,512)):B("",!0)]),_:1}),n(g,{label:"核心配置 (simple.json)",name:"app-config"},{default:o(()=>[f.value==="app-config"?(l(),i(G,{key:0,ref_key:"appConfigEditor",ref:v,"target-label":"核心配置",description:"对应 SimpleLite 桌面端主菜单「核心配置 → 编辑配置…」。修改后点「保存」即可一次完成内存生效 + 写入可执行目录下的 simple.json。",loader:$,"on-set":c,"on-save":z},null,512)):B("",!0)]),_:1})]),_:1},8,["modelValue"])])}}}),st=q(Me,[["__scopeId","data-v-b5a5a932"]]);export{st as default}; diff --git a/MiGu.Server/wwwroot/assets/ProjectPropertiesView-CvKuii5E.css b/MiGu.Server/wwwroot/assets/ProjectPropertiesView-CvKuii5E.css new file mode 100644 index 0000000..75c9141 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ProjectPropertiesView-CvKuii5E.css @@ -0,0 +1 @@ +.fme-root[data-v-708f3ec1]{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px;box-sizing:border-box}.fme-header[data-v-708f3ec1]{display:flex;flex-direction:column;gap:10px}.fme-desc[data-v-708f3ec1]{margin:0;color:var(--el-text-color-primary);font-size:13px;line-height:1.65;background:var(--el-fill-color-light);padding:10px 12px;border-left:3px solid var(--el-color-primary);border-radius:4px}.fme-paths code.fme-path[data-v-708f3ec1]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;word-break:break-all;color:var(--el-text-color-primary)}.fme-path-empty[data-v-708f3ec1]{color:var(--el-text-color-secondary);font-size:12px;font-style:italic}.fme-toolbar[data-v-708f3ec1]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fme-search[data-v-708f3ec1]{width:280px}.fme-btn-text[data-v-708f3ec1]{margin-left:4px}.fme-table-card[data-v-708f3ec1]{flex:1;display:flex;flex-direction:column;overflow:hidden}.fme-table-card[data-v-708f3ec1] .el-card__body{flex:1;display:flex;flex-direction:column;padding:0;overflow:hidden}.fme-table[data-v-708f3ec1]{flex:1}.fme-input[data-v-708f3ec1]{width:100%}.fme-locked[data-v-708f3ec1]{color:var(--el-text-color-secondary);font-style:italic}.pp-page[data-v-b5a5a932]{height:calc(100vh - 56px);padding:12px;box-sizing:border-box;display:flex;flex-direction:column}.pp-tabs[data-v-b5a5a932]{flex:1;display:flex;flex-direction:column;overflow:hidden}.pp-tabs[data-v-b5a5a932] .el-tabs__content{flex:1;overflow:hidden;padding:0}.pp-tabs[data-v-b5a5a932] .el-tab-pane{height:100%} diff --git a/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-BP1OYef-.js b/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-BP1OYef-.js new file mode 100644 index 0000000..80fa138 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-BP1OYef-.js @@ -0,0 +1,4 @@ +import{aG as xe,bA as Ce,b1 as Ve,b3 as o,aA as r,bB as a,aC as v,M as Ne,bC as Se,bt as ze,aa as Be,aF as n,ab as Te,ad as De,aE as p,bj as w,ag as Pe,s as Le,aB as _,az as c,bm as Z,am as fl,bc as Ee,av as j,bb as f,Y as m,Z as Y,u as Fe,al as Ae,S as yl,R as bl,bh as gl,ai as T,b6 as $e,ar as _l,L as kl,bd as ae,K as hl,aw as wl,bE as ne,G as $l,a8 as xl,A as Cl,T as Vl,F as Nl,aZ as Sl,H as zl,O as Bl,a1 as Tl,a0 as Dl,P as Pl,ba as Ll,J as El}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{r as C}from"./reflection-Dr3WM5Rz.js";import{u as Fl}from"./useMapEditStream-DPAdbySW.js";const Al={class:"plg-header"},Ul={class:"plg-title"},Kl={key:0},Il=xe({__name:"PluginListPanel",props:{visible:{type:Boolean}},emits:["changed"],setup($,{expose:ie,emit:g}){const U=$,q=g,D=j(()=>U.visible!==!1),K=f([]),P=f(!1),S=f(!0),W=f(null);async function L(){P.value=!0;try{K.value=await C.listPlugins()}catch(y){m.warning(`插件列表加载失败:${y.message}(旧版 SimpleLite 可能未带 /plugins 接口,请重启)`)}finally{P.value=!1}}async function J(y){try{await Y.confirm(`确认卸载插件 ${y.name}? + +此插件贡献了 ${y.missionTypes} 个进程类型 / ${y.carTypes} 个车/脚本类型;如果当前还有这些类型的实例存在,卸载会失败(请先在管理面板里删除)。`,"卸载插件",{type:"warning",confirmButtonText:"卸载",cancelButtonText:"取消"})}catch{return}W.value=y.name;try{const k=await C.unloadPlugin(y.name);m.success(k.message??`已卸载 ${y.name}`),q("changed"),await L()}catch(k){m.error(`卸载失败:${k.message}`)}finally{W.value=null}}return Ce(()=>U.visible,y=>{y&&L()}),Ve(()=>{D.value&&L()}),ie({refresh:L}),(y,k)=>{const E=Le,Q=Ne,B=Te,I=De,R=Pe,G=Be,u=Fe,F=ze;return D.value?(o(),r(u,{key:0,shadow:"never",class:"plugin-list-card"},{header:a(()=>[c("div",Al,[c("span",Ul,"已加载插件 ("+w(K.value.length)+")",1),n(E,{text:"",size:"small",icon:Z(fl),class:"plg-collapse",onClick:k[0]||(k[0]=x=>S.value=!S.value)},{default:a(()=>[p(w(S.value?"展开":"折叠"),1)]),_:1},8,["icon"]),n(E,{size:"small",loading:P.value,icon:Z(Ee),onClick:L},{default:a(()=>[...k[1]||(k[1]=[p("刷新",-1)])]),_:1},8,["loading","icon"])])]),default:a(()=>[S.value?_("",!0):(o(),v("div",Kl,[!P.value&&K.value.length===0?(o(),r(Q,{key:0,description:"尚未通过 PluginManager 加载任何插件 (重启 SimpleLite 后会自动迁移现有 plugins/ 内的 dll)"})):Se((o(),r(G,{key:1,data:K.value,size:"small",stripe:"",border:"",class:"plg-table"},{default:a(()=>[n(B,{prop:"name",label:"插件名",width:"200","show-overflow-tooltip":""}),n(B,{prop:"assemblyVersion",label:"版本",width:"120"}),n(B,{label:"类型贡献",width:"200"},{default:a(({row:x})=>[n(I,{size:"small",type:"success",effect:"plain",class:"plg-tag"},{default:a(()=>[p(" 进程 "+w(x.missionTypes),1)]),_:2},1024),n(I,{size:"small",type:"primary",effect:"plain",class:"plg-tag"},{default:a(()=>[p(" 车/脚本 "+w(x.carTypes),1)]),_:2},1024),n(I,{size:"small",type:"info",effect:"plain",class:"plg-tag"},{default:a(()=>[p(" 共 "+w(x.loadedTypes)+" type ",1)]),_:2},1024)]),_:1}),n(B,{prop:"dllPath",label:"路径","min-width":"240","show-overflow-tooltip":""}),n(B,{label:"状态",width:"120"},{default:a(({row:x})=>[x.collectible?(o(),r(I,{key:0,size:"small",type:"success"},{default:a(()=>[...k[2]||(k[2]=[p("可卸载",-1)])]),_:1})):(o(),r(R,{key:1,content:"此插件被加到 default ALC(旧路径加载),重启 SimpleLite 后会自动迁移到 collectible",placement:"top"},{default:a(()=>[n(I,{size:"small",type:"warning"},{default:a(()=>[...k[3]||(k[3]=[p("不可卸载",-1)])]),_:1})]),_:1}))]),_:1}),n(B,{label:"操作",width:"100"},{default:a(({row:x})=>[n(E,{text:"",size:"small",type:"danger",disabled:!x.collectible,loading:W.value===x.name,onClick:M=>J(x)},{default:a(()=>[...k[4]||(k[4]=[p(" 卸载 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1},8,["data"])),[[F,P.value]])]))]),_:1})):_("",!0)}}}),Rl=Ae(Il,[["__scopeId","data-v-fc091dff"]]),Ml={class:"ref-mgr-page"},Ol={class:"ref-mgr-header"},jl={class:"ref-mgr-title"},Zl={class:"ref-mgr-actions"},Wl={class:"ref-type-asm"},Gl={class:"ref-mgr-body"},Yl={class:"detail-header"},Hl={class:"detail-title"},Xl={class:"detail-id"},ql={class:"detail-name"},Jl={class:"detail-actions"},Ql={class:"field-section"},et={class:"field-section-title"},lt={key:1,class:"field-empty"},tt={class:"field-section"},at={class:"field-section-title"},nt={class:"dyn-row"},ot={key:1,class:"field-empty"},st={key:0,class:"field-section"},it={class:"field-section-title"},ut=["title"],dt={class:"field-section"},rt={class:"field-section-title"},ct={key:0,class:"field-empty"},mt={key:0,class:"method-grid script-method-grid"},pt=["disabled"],vt={key:0,class:"method-btn-spin"},ft={key:1,class:"method-btn-icon"},yt=["disabled"],bt={key:0,class:"method-btn-spin"},gt={key:1,class:"method-btn-icon"},_t={key:1,class:"field-empty"},kt={key:2,class:"method-grid"},ht=["disabled","onClick"],wt={key:0,class:"method-btn-spin"},$t={key:1,class:"method-btn-icon"},xt={class:"method-btn-label"},Ct={key:2,class:"method-btn-tag"},Vt=xe({__name:"ReflectionManagerPanel",props:{kind:{},kindLabel:{},title:{},emptyText:{},disableCreate:{type:Boolean},disableDelete:{type:Boolean},showSummaryColumn:{type:Boolean},summaryLabel:{},showStatusColumn:{type:Boolean},statusLabel:{},showScriptActions:{type:Boolean}},setup($,{expose:ie}){const g=$,U=f(!1),q=f(!1),D=f(null),K=f(null),P=f(null),S=f(null),W=f(!1),L=f(!1),J=f(""),y=f(null),k=f(null),E=f(!1),Q=f(""),B=f(""),I=f(null),R=f([]),G=f([]),u=f(null),F=f([]),x=f([]),M=f([]),ue=j(()=>F.value.filter(l=>l.source!=="dynamic")),de=j(()=>F.value.filter(l=>l.source==="dynamic")),re=j(()=>!!g.showScriptActions&&g.kind==="script"&&!!u.value),Ue=j(()=>M.value.length+(re.value?2:0)),Ke=j(()=>{let l=110;return g.showScriptActions&&g.kind==="script"&&(l+=130),g.disableDelete||(l+=60),l}),pe=j(()=>{const l=J.value.trim().toLowerCase();return l?R.value.filter(e=>String(e.id).includes(l)||(e.name??"").toLowerCase().includes(l)||(e.typeName??"").toLowerCase().includes(l)):R.value}),Ie=new Set(["process","mission","car","vehicle"]),Re=j(()=>Ie.has(g.kind));async function z(){U.value=!0;try{const[l,e]=await Promise.all([C.listObjects(g.kind),C.listCreatableTypes(g.kind).catch(()=>[])]);R.value=l,G.value=e,u.value&&!R.value.find(i=>i.id===u.value.id)&&(u.value=null,F.value=[],M.value=[],x.value=[])}catch(l){m.error(`加载 ${g.kindLabel} 失败:${l.message}`)}finally{U.value=!1}}async function A(l){if(u.value=l,F.value=[],M.value=[],x.value=[],!!l){q.value=!0;try{const e=l.subKind??g.kind,i=await C.getBundle(e,l.id);i.fieldList&&i.fieldList.length>0?F.value=i.fieldList.map(d=>({...d})):F.value=Object.entries(i.fields??{}).map(([d,b])=>({key:d,value:String(b),source:"dynamic"})),M.value=i.methods??[],x.value=i.status??[]}catch(e){m.error(`加载详情失败:${e.message}`)}finally{q.value=!1}}}function ee(l){return l?.subKind??g.kind}async function Me(){W.value=!0;try{const l=await C.reloadPlugins();m.success(`已扫描 plugins/ 目录:发现 ${l.totalDlls} dll,新加载 ${l.newlyLoaded};进程类型 ${l.missionTypes}、车辆/脚本类型 ${l.carTypes}`),await z(),I.value?.refresh()}catch(l){m.error(`刷新插件失败:${l.message}`)}finally{W.value=!1}}const le=f(!1),V=f(""),s=Ll({name:"",layer:"",x:0,y:0,z:0,siteA:0,siteB:0,trackKind:"line",imagePath:"",modelPath:"",content:"Text"});function Oe(l){switch(l){case"site":return"站点";case"track":return"路径";case"image":return"图片";case"text":return"文本";case"model":return"模型";case"car":return"车辆";default:return l}}function ve(l){const e=l??(g.kind==="special"?"image":g.kind==="scene"?"site":g.kind==="vehicle"?"car":g.kind);V.value=e,s.name="",s.layer="",s.x=0,s.y=0,s.z=0,s.siteA=0,s.siteB=0,s.trackKind="line",s.imagePath="",s.modelPath="",s.content="Text",le.value=!0}ie({openCreateForm:ve,refresh:z});async function fe(){L.value=!0;try{const l=V.value;let e=l;const i={name:s.name||void 0,layer:s.layer||void 0};l==="site"?(i.x=s.x,i.y=s.y,i.z=s.z):l==="track"?(e=s.trackKind==="line"?"track":s.trackKind,i.siteA=s.siteA,i.siteB=s.siteB):l==="image"?(i.x=s.x,i.y=s.y,i.imagePath=s.imagePath):l==="text"?(i.x=s.x,i.y=s.y,i.content=s.content):l==="model"?(i.x=s.x,i.y=s.y,i.modelPath=s.modelPath):l==="car"&&(i.x=s.x,i.y=s.y);const d=await C.createObject(e,"",i);m.success(`已创建 ${d.typeName??l} #${d.id}`),le.value=!1,await z();const b=R.value.find(oe=>oe.id===d.id);b&&await A(b)}catch(l){m.error(`创建失败:${l.message}`)}finally{L.value=!1}}async function je(l){try{let e;try{e=(await Y.prompt(`为新${g.kindLabel}指定名称(可空,留空使用默认名)`,`新建${g.kindLabel}`,{inputValue:"",confirmButtonText:"创建",cancelButtonText:"取消"})).value||void 0}catch{return}const i=await C.createObject(g.kind,l,{name:e});m.success(`已创建 ${i.typeName} #${i.id}`),await z();const d=R.value.find(b=>b.id===i.id);d&&await A(d)}catch(e){m.error(`创建失败:${e.message}`)}}async function Ze(l){try{await Y.confirm(`确认删除 ${l.typeName} #${l.id} (${l.name})?该操作无法撤销。`,`删除${g.kindLabel}`,{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"})}catch{return}K.value=l.id;try{const e=ee(l);await C.deleteObject(e,l.id),m.success(`已删除 ${l.typeName} #${l.id}`),u.value?.id===l.id&&(u.value=null),await z()}catch(e){m.error(`删除失败:${e.message}`)}finally{K.value=null}}async function H(l,e){if(u.value){S.value=l;try{const i=ee(u.value);await C.setField(i,u.value.id,l,e),m.success(`已更新 ${l}`)}catch(i){m.error(`更新 ${l} 失败:${i.message}`),await A(u.value)}finally{S.value=null}}}async function We(l){if(u.value){try{await Y.confirm(`确认删除动态字段 "${l}"?`,"删除字段",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"})}catch{return}P.value=l;try{const e=ee(u.value);await C.deleteField(e,u.value.id,l),m.success(`已删除字段 ${l}`),await A(u.value)}catch(e){m.error(`删除字段失败:${e.message}`)}finally{P.value=null}}}async function Ge(){if(!u.value)return;let l="";try{l=(await Y.prompt("字段名(key)","添加动态字段",{inputValidator:d=>!!d&&/^[A-Za-z_][A-Za-z0-9_\-]*$/.test(d)||"只允许字母/数字/下划线/横线,且首字符非数字",confirmButtonText:"下一步",cancelButtonText:"取消"})).value}catch{return}let e="";try{e=(await Y.prompt(`字段 "${l}" 的初始值(可空)`,"添加动态字段",{inputValue:"",confirmButtonText:"保存",cancelButtonText:"取消"})).value}catch{return}if(F.value.find(i=>i.key===l)){m.warning(`字段 ${l} 已存在,请直接编辑`);return}await H(l,e),await A(u.value)}async function ye(l){if(l)try{const e=ee(l);await C.setSelection(e,l.id),m.success(`已在 3D 视口高亮 ${l.typeName??e} #${l.id}`)}catch(e){m.error(`高亮失败:${e.message}`)}}async function be(l){if(l){y.value="source",k.value=l.id;try{const e=await C.getScriptSource(l.id);Q.value=`脚本 ${e.name||e.typeName}(#${e.id}) 内容`,B.value=e.script||"(无脚本)",E.value=!0}catch(e){m.error(`查看脚本失败:${e.message}`)}finally{y.value=null,k.value=null}}}async function ge(l){if(l){y.value="status",k.value=l.id;try{const e=await C.getScriptExceptionStatus(l.id);Q.value=`脚本 ${e.name||e.typeName}(#${e.id}) 异常状态`,B.value=e.report||"(无异常状态)",E.value=!0}catch(e){m.error(`查看异常状态失败:${e.message}`)}finally{y.value=null,k.value=null}}}function Ye(){u.value&&be(u.value)}function He(){u.value&&ge(u.value)}function _e(l,e){return k.value===l.id&&y.value===e}async function Xe(){try{await navigator.clipboard.writeText(B.value),m.success("已复制到剪贴板")}catch{m.warning("复制失败,请手动选择文本复制")}}async function qe(l){if(!u.value)return;const e=ee(u.value);if(l.hasParams){const i={};for(const d of l.params)try{const b=await Y.prompt(`参数 ${d.name} (${d.typeName})`+(d.hasDefault?` +默认: ${d.defaultValue}`:""),`调用 ${l.label??l.methodName}`,{inputValue:d.defaultValue??""});i[d.name]=b.value}catch{return}D.value=l.methodName;try{const d=await C.execute(e,u.value.id,l.methodName,i);m.success(`${l.label??l.methodName} 完成${d.returnValue?`:${d.returnValue}`:""}`),await A(u.value)}catch(d){m.error(`执行失败:${d.message}`)}finally{D.value=null}return}D.value=l.methodName;try{const i=await C.execute(e,u.value.id,l.methodName);m.success(`${l.label??l.methodName} 完成${i.returnValue?`:${i.returnValue}`:""}`),await A(u.value)}catch(i){m.error(`执行失败:${i.message}`)}finally{D.value=null}}function Je(l){return l.typeName==="Boolean"?!0:l.value==="true"||l.value==="false"||l.value==="True"||l.value==="False"}function Qe(l){return l.key==="color"||l.key==="textColor"?!0:/^#[0-9a-fA-F]{3,8}$/.test(l.value)}function el(l){return l.typeName?["Int32","Int64","Single","Double","Decimal","UInt32","UInt64"].includes(l.typeName):!1}function ll(l){return l==="true"||l==="True"||l==="1"}function tl(l){if(l==null||l==="")return;const e=Number(l);return Number.isFinite(e)?e:void 0}function al(l){const e=l.typeName?.trim();return e&&e!=="String"?`${l.key} (${e})`:l.key}function nl(l){const e=(l.value??"").trim();return e||(l.typeName?`(空 · ${l.typeName})`:"(空)")}function ol(l){if((l.typeName??"").endsWith("[]"))return!0;const i=(l.value??"").trim();return i.startsWith("[")||i.startsWith("{")}return Fl({onObjectCreated:()=>z(),onObjectDeleted:()=>z(),onObjectPatched:()=>{u.value&&A(u.value)},onObjectBatchChanged:()=>z()}),Ce(()=>g.kind,z),Ve(z),(l,e)=>{const i=bl,d=yl,b=Le,oe=hl,sl=kl,il=El,te=Pe,X=Te,ul=Be,ke=Ne,he=Fe,dl=De,rl=xl,cl=Cl,O=Vl,ce=$l,me=Nl,se=Dl,ml=Tl,N=Pl,pl=Bl,we=zl,vl=ze;return o(),v("div",Ml,[n(Rl,{ref_key:"pluginPanelRef",ref:I,visible:!0,onChanged:z},null,512),c("div",Ol,[c("h2",jl,w($.title),1),c("div",Zl,[n(d,{modelValue:J.value,"onUpdate:modelValue":e[0]||(e[0]=t=>J.value=t),placeholder:`搜索 ${$.kindLabel} (id / 名称 / 类型)`,size:"small",clearable:"",class:"ref-mgr-search"},{prefix:a(()=>[n(i,null,{default:a(()=>[n(Z(gl))]),_:1})]),_:1},8,["modelValue","placeholder"]),$.disableCreate?_("",!0):(o(),v(T,{key:0},[Re.value?(o(),r(il,{key:0,trigger:"click",disabled:G.value.length===0,onCommand:je},{dropdown:a(()=>[n(sl,null,{default:a(()=>[(o(!0),v(T,null,ae(G.value,t=>(o(),r(oe,{key:t.typeName,command:t.typeName},{default:a(()=>[p(w(t.label)+" ",1),c("span",Wl,"· "+w(t.shortName),1)]),_:2},1032,["command"]))),128)),G.value.length===0?(o(),r(oe,{key:0,disabled:""},{default:a(()=>[...e[20]||(e[20]=[p(" 未发现可创建的子类型 ",-1)])]),_:1})):_("",!0)]),_:1})]),default:a(()=>[n(b,{type:"primary",size:"small",icon:Z($e),disabled:G.value.length===0},{default:a(()=>[p(" 新建"+w($.kindLabel),1),n(i,{class:"el-icon--right"},{default:a(()=>[n(Z(_l))]),_:1})]),_:1},8,["icon","disabled"])]),_:1},8,["disabled"])):(o(),r(b,{key:1,type:"primary",size:"small",icon:Z($e),onClick:e[1]||(e[1]=t=>ve())},{default:a(()=>[p(" 新建"+w($.kindLabel),1)]),_:1},8,["icon"]))],64)),n(te,{content:"重新扫描 ./plugins 目录加载新增 .dll,并重建可创建类型列表",placement:"bottom"},{default:a(()=>[n(b,{size:"small",loading:W.value,icon:Z(wl),onClick:Me},{default:a(()=>[...e[21]||(e[21]=[p(" 刷新插件 ",-1)])]),_:1},8,["loading","icon"])]),_:1}),n(b,{size:"small",loading:U.value,icon:Z(Ee),onClick:z},{default:a(()=>[...e[22]||(e[22]=[p("刷新",-1)])]),_:1},8,["loading","icon"])])]),c("div",Gl,[n(he,{shadow:"never",class:"ref-mgr-list-card"},{default:a(()=>[Se((o(),r(ul,{data:pe.value,stripe:"",border:"",size:"small","highlight-current-row":"",class:"ref-mgr-table",onCurrentChange:A},{default:a(()=>[n(X,{prop:"id",label:"ID",width:"70"}),n(X,{prop:"name",label:"名称","min-width":"160"}),n(X,{prop:"typeName",label:"类型",width:"160","show-overflow-tooltip":""}),$.showSummaryColumn?(o(),r(X,{key:0,prop:"summary",label:$.summaryLabel??"概况","min-width":"160","show-overflow-tooltip":""},null,8,["label"])):_("",!0),$.showStatusColumn?(o(),r(X,{key:1,prop:"status",label:$.statusLabel??"状态",width:"120","show-overflow-tooltip":""},null,8,["label"])):_("",!0),n(X,{label:"操作",width:Ke.value},{default:a(({row:t})=>[n(b,{text:"",size:"small",onClick:ne(h=>ye(t),["stop"])},{default:a(()=>[...e[23]||(e[23]=[p(" 3D 高亮 ",-1)])]),_:1},8,["onClick"]),$.showScriptActions&&$.kind==="script"?(o(),v(T,{key:0},[n(b,{text:"",size:"small",loading:_e(t,"source"),disabled:y.value!==null,onClick:ne(h=>be(t),["stop"])},{default:a(()=>[...e[24]||(e[24]=[p(" 查看脚本 ",-1)])]),_:1},8,["loading","disabled","onClick"]),n(b,{text:"",size:"small",loading:_e(t,"status"),disabled:y.value!==null,onClick:ne(h=>ge(t),["stop"])},{default:a(()=>[...e[25]||(e[25]=[p(" 异常状态 ",-1)])]),_:1},8,["loading","disabled","onClick"])],64)):_("",!0),$.disableDelete?_("",!0):(o(),r(b,{key:1,text:"",size:"small",type:"danger",loading:K.value===t.id,onClick:ne(h=>Ze(t),["stop"])},{default:a(()=>[...e[26]||(e[26]=[p(" 删除 ",-1)])]),_:1},8,["loading","onClick"]))]),_:1},8,["width"])]),_:1},8,["data"])),[[vl,U.value]]),!U.value&&pe.value.length===0?(o(),r(ke,{key:0,description:$.emptyText},null,8,["description"])):_("",!0)]),_:1}),n(he,{shadow:"never",class:"ref-mgr-detail-card"},{default:a(()=>[u.value?(o(),v(T,{key:1},[c("div",Yl,[c("div",Hl,[n(dl,{size:"small",type:"info"},{default:a(()=>[p(w(u.value.typeName),1)]),_:1}),c("span",Xl,"#"+w(u.value.id),1),c("span",ql,w(u.value.name),1)]),c("div",Jl,[c("button",{class:"header-action-btn",onClick:e[2]||(e[2]=t=>ye(u.value))},"在 3D 中高亮")])]),c("div",Ql,[c("div",et,"强类型字段 ("+w(ue.value.length)+")",1),ue.value.length>0?(o(),r(me,{key:0,column:2,border:"",size:"small"},{default:a(()=>[(o(!0),v(T,null,ae(ue.value,t=>(o(),r(ce,{key:t.key,label:t.key,"label-style":t.locked?{color:"#aaa"}:void 0},{default:a(()=>[Je(t)?(o(),r(rl,{key:0,"model-value":ll(t.value),disabled:!!t.locked||S.value===t.key,size:"small",onChange:h=>H(t.key,h?"true":"false")},null,8,["model-value","disabled","onChange"])):Qe(t)?(o(),r(cl,{key:1,"model-value":t.value||"#ffffff",disabled:!!t.locked||S.value===t.key,"show-alpha":"",size:"small",onChange:h=>H(t.key,h??"")},null,8,["model-value","disabled","onChange"])):el(t)?(o(),r(O,{key:2,"model-value":tl(t.value),controls:!1,disabled:!!t.locked||S.value===t.key,size:"small",class:"field-num",onChange:h=>H(t.key,h==null?"":String(h))},null,8,["model-value","disabled","onChange"])):(o(),r(d,{key:3,modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,size:"small",disabled:!!t.locked||S.value===t.key,onChange:h=>H(t.key,h)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"]))]),_:2},1032,["label","label-style"]))),128))]),_:1})):(o(),v("div",lt,"该对象未声明任何 [FieldMember]"))]),c("div",tt,[c("div",at,[c("span",null,"动态字段 ("+w(de.value.length)+")",1),c("button",{class:"add-field-btn",onClick:Ge},"+ 添加字段")]),de.value.length>0?(o(),r(me,{key:0,column:1,border:"",size:"small"},{default:a(()=>[(o(!0),v(T,null,ae(de.value,t=>(o(),r(ce,{key:t.key,label:t.key},{default:a(()=>[c("div",nt,[n(d,{modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,size:"small",disabled:S.value===t.key,onChange:h=>H(t.key,h)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"]),n(te,{content:"删除该字段",placement:"top"},{default:a(()=>[n(b,{size:"small",text:"",type:"danger",loading:P.value===t.key,onClick:h=>We(t.key)},{default:a(()=>[...e[27]||(e[27]=[p(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:2},1024)])]),_:2},1032,["label"]))),128))]),_:1})):(o(),v("div",ot,"尚无动态字段;点击右上角「+ 添加字段」"))]),x.value.length>0?(o(),v("div",st,[c("div",it,"运行状态 (只读, "+w(x.value.length)+")",1),n(me,{column:1,border:"",size:"small"},{default:a(()=>[(o(!0),v(T,null,ae(x.value,t=>(o(),r(ce,{key:t.key,label:al(t)},{default:a(()=>[c("span",{class:Sl(["status-value",{"status-value--array":ol(t)}]),title:t.typeName},w(nl(t)),11,ut)]),_:2},1032,["label"]))),128))]),_:1})])):_("",!0),c("div",dt,[c("div",rt,"动作 / 方法 ("+w(Ue.value)+")",1),q.value?(o(),v("div",ct,"加载方法中…")):(o(),v(T,{key:1},[re.value?(o(),v("div",mt,[n(te,{content:"弹窗展示当前 CarProgram 的完整 script 内容",placement:"top"},{default:a(()=>[c("button",{class:"method-btn",disabled:y.value!==null,onClick:Ye},[y.value==="source"?(o(),v("span",vt,"⟳")):(o(),v("span",ft,"▶")),e[28]||(e[28]=c("span",{class:"method-btn-label"},"查看脚本",-1))],8,pt)]),_:1}),n(te,{content:"弹窗展示 state、exception、notifies 等异常状态报告",placement:"top"},{default:a(()=>[c("button",{class:"method-btn",disabled:y.value!==null,onClick:He},[y.value==="status"?(o(),v("span",bt,"⟳")):(o(),v("span",gt,"▶")),e[29]||(e[29]=c("span",{class:"method-btn-label"},"查看异常状态",-1))],8,yt)]),_:1})])):_("",!0),M.value.length===0&&!re.value?(o(),v("div",_t,"该类型未暴露 [MethodMember]")):M.value.length>0?(o(),v("div",kt,[(o(!0),v(T,null,ae(M.value,t=>(o(),r(te,{key:t.methodName,content:t.description??t.hint??"",disabled:!t.description&&!t.hint,placement:"top"},{default:a(()=>[c("button",{class:"method-btn",disabled:D.value===t.methodName,onClick:h=>qe(t)},[D.value===t.methodName?(o(),v("span",wt,"⟳")):(o(),v("span",$t,"▶")),c("span",xt,w(t.label??t.methodName),1),t.hasParams?(o(),v("span",Ct,"带参")):_("",!0)],8,ht)]),_:2},1032,["content","disabled"]))),128))])):_("",!0)],64))])],64)):(o(),r(ke,{key:0,description:"左侧选中一行查看 / 编辑详情"}))]),_:1})]),n(we,{modelValue:le.value,"onUpdate:modelValue":e[17]||(e[17]=t=>le.value=t),title:`新建 ${$.kindLabel}${V.value?" · "+Oe(V.value):""}`,width:"480px","append-to-body":""},{footer:a(()=>[n(b,{onClick:e[16]||(e[16]=t=>le.value=!1)},{default:a(()=>[...e[34]||(e[34]=[p("取消",-1)])]),_:1}),n(b,{type:"primary",loading:L.value,onClick:fe},{default:a(()=>[...e[35]||(e[35]=[p("创建",-1)])]),_:1},8,["loading"])]),default:a(()=>[n(pl,{model:s,size:"small","label-width":"100px",onSubmit:ne(fe,["prevent"])},{default:a(()=>[V.value==="track"?(o(),r(N,{key:0,label:"路径类型"},{default:a(()=>[n(ml,{modelValue:s.trackKind,"onUpdate:modelValue":e[3]||(e[3]=t=>s.trackKind=t)},{default:a(()=>[n(se,{value:"line"},{default:a(()=>[...e[30]||(e[30]=[p("直线",-1)])]),_:1}),n(se,{value:"bezier"},{default:a(()=>[...e[31]||(e[31]=[p("贝塞尔",-1)])]),_:1}),n(se,{value:"arc"},{default:a(()=>[...e[32]||(e[32]=[p("圆弧",-1)])]),_:1}),n(se,{value:"nurbs"},{default:a(()=>[...e[33]||(e[33]=[p("NURBS",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):_("",!0),n(N,{label:"名称"},{default:a(()=>[n(d,{modelValue:s.name,"onUpdate:modelValue":e[4]||(e[4]=t=>s.name=t),placeholder:"(可空,留空走默认名)"},null,8,["modelValue"])]),_:1}),n(N,{label:"图层"},{default:a(()=>[n(d,{modelValue:s.layer,"onUpdate:modelValue":e[5]||(e[5]=t=>s.layer=t),placeholder:"g / main / ..."},null,8,["modelValue"])]),_:1}),["site","image","text","model"].includes(V.value)?(o(),v(T,{key:1},[n(N,{label:"X (mm)"},{default:a(()=>[n(O,{modelValue:s.x,"onUpdate:modelValue":e[6]||(e[6]=t=>s.x=t),controls:!1},null,8,["modelValue"])]),_:1}),n(N,{label:"Y (mm)"},{default:a(()=>[n(O,{modelValue:s.y,"onUpdate:modelValue":e[7]||(e[7]=t=>s.y=t),controls:!1},null,8,["modelValue"])]),_:1}),V.value==="site"?(o(),r(N,{key:0,label:"Z (mm)"},{default:a(()=>[n(O,{modelValue:s.z,"onUpdate:modelValue":e[8]||(e[8]=t=>s.z=t),controls:!1},null,8,["modelValue"])]),_:1})):_("",!0)],64)):_("",!0),V.value==="track"?(o(),v(T,{key:2},[n(N,{label:"起点站 ID"},{default:a(()=>[n(O,{modelValue:s.siteA,"onUpdate:modelValue":e[9]||(e[9]=t=>s.siteA=t),controls:!1,min:1},null,8,["modelValue"])]),_:1}),n(N,{label:"终点站 ID"},{default:a(()=>[n(O,{modelValue:s.siteB,"onUpdate:modelValue":e[10]||(e[10]=t=>s.siteB=t),controls:!1,min:1},null,8,["modelValue"])]),_:1})],64)):_("",!0),V.value==="image"?(o(),r(N,{key:3,label:"图片路径"},{default:a(()=>[n(d,{modelValue:s.imagePath,"onUpdate:modelValue":e[11]||(e[11]=t=>s.imagePath=t),placeholder:"/uploads/xxxxx.png"},null,8,["modelValue"])]),_:1})):_("",!0),V.value==="model"?(o(),r(N,{key:4,label:"模型路径"},{default:a(()=>[n(d,{modelValue:s.modelPath,"onUpdate:modelValue":e[12]||(e[12]=t=>s.modelPath=t),placeholder:"/uploads/xxxxx.glb"},null,8,["modelValue"])]),_:1})):_("",!0),V.value==="text"?(o(),r(N,{key:5,label:"文本"},{default:a(()=>[n(d,{modelValue:s.content,"onUpdate:modelValue":e[13]||(e[13]=t=>s.content=t),placeholder:"Text"},null,8,["modelValue"])]),_:1})):_("",!0),V.value==="car"?(o(),r(N,{key:6,label:"X (mm)"},{default:a(()=>[n(O,{modelValue:s.x,"onUpdate:modelValue":e[14]||(e[14]=t=>s.x=t),controls:!1},null,8,["modelValue"])]),_:1})):_("",!0),V.value==="car"?(o(),r(N,{key:7,label:"Y (mm)"},{default:a(()=>[n(O,{modelValue:s.y,"onUpdate:modelValue":e[15]||(e[15]=t=>s.y=t),controls:!1},null,8,["modelValue"])]),_:1})):_("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(we,{modelValue:E.value,"onUpdate:modelValue":e[19]||(e[19]=t=>E.value=t),title:Q.value,width:"720px","append-to-body":""},{footer:a(()=>[n(b,{onClick:Xe},{default:a(()=>[...e[36]||(e[36]=[p("复制",-1)])]),_:1}),n(b,{type:"primary",onClick:e[18]||(e[18]=t=>E.value=!1)},{default:a(()=>[...e[37]||(e[37]=[p("关闭",-1)])]),_:1})]),default:a(()=>[n(d,{"model-value":B.value,type:"textarea",autosize:{minRows:16,maxRows:26},readonly:"",class:"script-dialog-textarea"},null,8,["model-value"])]),_:1},8,["modelValue","title"])])}}}),qt=Ae(Vt,[["__scopeId","data-v-07b20134"]]);export{qt as R}; diff --git a/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-CZMd80yF.css b/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-CZMd80yF.css new file mode 100644 index 0000000..afd6fef --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ReflectionManagerPanel-CZMd80yF.css @@ -0,0 +1 @@ +.plugin-list-card[data-v-fc091dff]{background:#1e0e378c!important;border:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(12px);margin-bottom:12px}.plg-header[data-v-fc091dff]{display:flex;align-items:center;gap:8px}.plg-title[data-v-fc091dff]{font-size:14px;font-weight:600;color:#ffffffeb}.plg-collapse[data-v-fc091dff]{margin-left:auto}.plg-tag[data-v-fc091dff]{margin-right:4px;margin-bottom:2px}.plg-table[data-v-fc091dff],[data-v-fc091dff] .el-table{background:transparent}[data-v-fc091dff] .el-table tr,[data-v-fc091dff] .el-table th.el-table__cell,[data-v-fc091dff] .el-table td.el-table__cell{background:transparent!important;color:#e8d7f5eb;border-color:#ffffff14}[data-v-fc091dff] .el-card__header{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.ref-mgr-page[data-v-07b20134]{height:100%;display:flex;flex-direction:column;gap:12px;color:#e8d7f5eb}.ref-mgr-header[data-v-07b20134]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 4px;border-bottom:1px solid rgba(255,255,255,.08)}.ref-mgr-title[data-v-07b20134]{margin:0;font-size:16px;font-weight:600;color:var(--el-text-color-primary, #fff);letter-spacing:.5px}.ref-mgr-actions[data-v-07b20134]{display:flex;align-items:center;gap:8px}.ref-mgr-search[data-v-07b20134]{width:280px}.ref-type-asm[data-v-07b20134]{margin-left:6px;color:#b4a0dc99;font-size:11px}.ref-mgr-body[data-v-07b20134]{flex:1;display:grid;grid-template-columns:minmax(380px,.9fr) 1.4fr;gap:12px;min-height:0}.ref-mgr-list-card[data-v-07b20134],.ref-mgr-detail-card[data-v-07b20134]{background:#1e0e378c!important;border:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(12px);height:100%;display:flex;flex-direction:column}.ref-mgr-list-card[data-v-07b20134] .el-card__body,.ref-mgr-detail-card[data-v-07b20134] .el-card__body{flex:1;overflow:auto;padding:12px}.ref-mgr-table[data-v-07b20134]{flex:1;min-height:240px}.detail-header[data-v-07b20134]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.1)}.detail-title[data-v-07b20134]{display:flex;align-items:baseline;gap:10px}.detail-actions[data-v-07b20134]{display:flex;align-items:center;gap:8px}.detail-id[data-v-07b20134]{color:#e8d7f5a6;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.detail-name[data-v-07b20134]{color:var(--el-text-color-primary, #fff);font-size:15px;font-weight:600}.field-section[data-v-07b20134]{margin-top:14px}.field-section-title[data-v-07b20134]{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--el-text-color-primary, rgba(255, 255, 255, .85));margin-bottom:8px;letter-spacing:.4px}.field-empty[data-v-07b20134]{color:#e8d7f58c;font-size:12px;padding:6px 2px}.status-value[data-v-07b20134]{display:inline-block;max-width:100%;word-break:break-word;line-height:1.45}.status-value--array[data-v-07b20134]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:#d2befff2}.method-grid[data-v-07b20134]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.script-method-grid[data-v-07b20134]{margin-bottom:8px}.method-btn[data-v-07b20134]{appearance:none;border:0;cursor:pointer;padding:8px 12px;border-radius:7px;background:linear-gradient(135deg,#aa6efa4d,#7846dc4d);border:1px solid rgba(170,110,250,.55);color:#fff;font-size:12.5px;font-weight:500;letter-spacing:.3px;display:flex;align-items:center;gap:6px;text-align:left;transition:background .14s ease,border-color .14s ease,transform .12s ease,box-shadow .14s ease}.method-btn[data-v-07b20134]:hover:not(:disabled){background:linear-gradient(135deg,#aa6efab8,#ff6edc9e);border-color:#ff82dcc7;box-shadow:0 4px 14px #b45adc6b}.method-btn[data-v-07b20134]:active:not(:disabled){transform:scale(.985)}.method-btn[data-v-07b20134]:disabled{opacity:.55;cursor:progress}.method-btn-icon[data-v-07b20134]{font-size:10px;color:#ffc8fad9;flex:none}.method-btn-spin[data-v-07b20134]{display:inline-block;font-size:13px;animation:ref-spin-07b20134 .8s linear infinite}.method-btn-label[data-v-07b20134]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.method-btn-tag[data-v-07b20134]{flex:none;padding:1px 6px;border-radius:4px;background:#ffffff2e;font-size:10px;letter-spacing:.4px}@keyframes ref-spin-07b20134{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.add-field-btn[data-v-07b20134]{appearance:none;border:0;cursor:pointer;padding:4px 10px;border-radius:6px;background:#aa6efa2e;border:1px dashed rgba(170,110,250,.45);color:#ffe6fff2;font-size:12px;font-weight:500;transition:background .14s ease,border-color .14s ease,color .14s ease}.add-field-btn[data-v-07b20134]:hover{background:#aa6efa57;border-color:#aa6efabf;color:#fff}.header-action-btn[data-v-07b20134]{appearance:none;border:0;cursor:pointer;padding:6px 14px;border-radius:6px;background:linear-gradient(135deg,#aa6efa52,#7846dc52);border:1px solid rgba(170,110,250,.55);color:#fff;font-size:12.5px;font-weight:500;letter-spacing:.4px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.header-action-btn[data-v-07b20134]:hover{background:linear-gradient(135deg,#aa6efab8,#ff6edc9e);border-color:#ff82dcc7;box-shadow:0 3px 10px #b45adc66}.script-dialog-textarea[data-v-07b20134] .el-textarea__inner{font-family:ui-monospace,Menlo,Consolas,monospace;line-height:1.45}.dyn-row[data-v-07b20134]{display:flex;align-items:center;gap:8px}.field-num[data-v-07b20134] .el-input-number{width:100%}[data-v-07b20134] .el-descriptions__title{color:#ffffffd9!important;font-size:13px;font-weight:600}[data-v-07b20134] .el-descriptions__label{color:#e8d7f5d9}[data-v-07b20134] .el-descriptions__content{color:#fff}[data-v-07b20134] .el-table{background:transparent}[data-v-07b20134] .el-table__inner-wrapper,[data-v-07b20134] .el-table tr,[data-v-07b20134] .el-table th.el-table__cell,[data-v-07b20134] .el-table td.el-table__cell{background:transparent!important;color:#e8d7f5eb;border-color:#ffffff14}[data-v-07b20134] .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#ffffff0a!important}[data-v-07b20134] .el-table__body tr.current-row>td.el-table__cell{background:#aa6efa33!important} diff --git a/MiGu.Server/wwwroot/assets/RoutingPolicyView-nAYjmKqM.js b/MiGu.Server/wwwroot/assets/RoutingPolicyView-nAYjmKqM.js new file mode 100644 index 0000000..d1b8600 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/RoutingPolicyView-nAYjmKqM.js @@ -0,0 +1 @@ +import{aG as f,aA as w,bB as t,bm as h,g,b3 as v,aF as e,P as E,a4 as I,_ as k,aa as x,ab as z,T as U,O as V}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const W=f({__name:"RoutingPolicyView",setup(T){function _(r){return Object.entries(r).map(([s,a])=>({k:s,v:a}))}return(r,s)=>{const a=k,u=I,m=E,o=z,d=U,n=x,c=V;return v(),w(C,{section:"routing",title:"路径规划策略",description:"算法选择、权重、避障规则、区域限速(RoutingPolicy)",defaults:h(g)},{default:t(({payload:l,update:p})=>[e(c,{"label-width":"140px",model:l},{default:t(()=>[e(m,{label:"算法"},{default:t(()=>[e(u,{"model-value":l.algorithm,"onUpdate:modelValue":i=>p({...l,algorithm:i})},{default:t(()=>[e(a,{label:"Dijkstra",value:"dijkstra"}),e(a,{label:"A*",value:"astar"}),e(a,{label:"自定义",value:"custom"})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(m,{label:"权重"},{default:t(()=>[e(n,{data:_(l.weights),size:"small"},{default:t(()=>[e(o,{label:"维度",prop:"k",width:"140"}),e(o,{label:"权重"},{default:t(i=>[e(d,{"model-value":i.row.v,min:0,max:10,step:.1,"onUpdate:modelValue":b=>p({...l,weights:{...l.weights,[i.row.k]:b??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["data"])]),_:2},1024),e(m,{label:"避障规则"},{default:t(()=>[e(n,{data:l.avoidance,size:"small"},{default:t(()=>[e(o,{label:"ID",prop:"id",width:"100"}),e(o,{label:"区域 ID",prop:"zoneId",width:"140"}),e(o,{label:"规则",prop:"rule"})]),_:1},8,["data"])]),_:2},1024),e(m,{label:"区域限速"},{default:t(()=>[e(n,{data:l.zoneSpeedLimits,size:"small"},{default:t(()=>[e(o,{label:"区域",prop:"zoneId",width:"140"}),e(o,{label:"最大速度 (m/s)",prop:"maxSpeedMps"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{W as default}; diff --git a/MiGu.Server/wwwroot/assets/ScenarioTemplateView-rv7Jf-RX.css b/MiGu.Server/wwwroot/assets/ScenarioTemplateView-rv7Jf-RX.css new file mode 100644 index 0000000..29c260a --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ScenarioTemplateView-rv7Jf-RX.css @@ -0,0 +1 @@ +.tpl-card[data-v-4faf66a8]{margin-bottom:12px}.tpl-title[data-v-4faf66a8]{font-weight:600;margin-bottom:6px}.tpl-meta[data-v-4faf66a8]{display:flex;gap:6px;margin-bottom:8px}.tpl-baseline[data-v-4faf66a8]{margin:0;font-size:11px;background:#f5f7fa;padding:6px;border-radius:4px;max-height:80px;overflow:auto} diff --git a/MiGu.Server/wwwroot/assets/ScenarioTemplateView-w7x237Pe.js b/MiGu.Server/wwwroot/assets/ScenarioTemplateView-w7x237Pe.js new file mode 100644 index 0000000..3e266cc --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ScenarioTemplateView-w7x237Pe.js @@ -0,0 +1 @@ +import{aG as b,aA as _,bB as e,bm as C,h as E,b3 as i,aF as t,aC as h,bd as v,x as S,u as g,az as c,bj as a,ad as w,aE as o,ai as k,G as D,a2 as P,F as V,I as x,al as B}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as T}from"./ConfigPageBase-CPF7i-FB.js";/* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const F={class:"tpl-title"},I={class:"tpl-meta"},L={class:"tpl-baseline"},N=b({__name:"ScenarioTemplateView",setup(z){return(A,R)=>{const r=w,d=g,m=S,p=P,f=x,l=D,u=V;return i(),_(T,{section:"scenario",title:"业务场景模板化",description:"SPS / Pack / 环线 / 点对点;DSL/低代码扩展(ScenarioTemplateConfig)",defaults:C(E)},{default:e(({payload:s})=>[t(p,{gutter:12},{default:e(()=>[(i(!0),h(k,null,v(s.templates,n=>(i(),_(m,{key:n.id,span:6},{default:e(()=>[t(d,{shadow:"hover",class:"tpl-card"},{default:e(()=>[c("div",F,a(n.name),1),c("div",I,[t(r,{size:"small"},{default:e(()=>[o(a(n.category),1)]),_:2},1024),t(r,{size:"small",type:"info"},{default:e(()=>[o("v"+a(n.version),1)]),_:2},1024)]),c("pre",L,a(n.baselineJson||"{}"),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),t(f),t(u,{column:2,border:""},{default:e(()=>[t(l,{label:"DSL 启用"},{default:e(()=>[o(a(s.dslPolicy.enabled?"是":"否"),1)]),_:2},1024),t(l,{label:"Schema 版本"},{default:e(()=>[o(a(s.dslPolicy.schemaVersion),1)]),_:2},1024),t(l,{label:"低代码"},{default:e(()=>[o(a(s.lowCode.enabled?"启用":"关闭"),1)]),_:2},1024),t(l,{label:"编辑器"},{default:e(()=>[o(a(s.lowCode.editor),1)]),_:2},1024),t(l,{label:"保留版本"},{default:e(()=>[o(a(s.versionPolicy.keepVersions),1)]),_:2},1024),t(l,{label:"允许回滚"},{default:e(()=>[o(a(s.versionPolicy.allowRollback?"是":"否"),1)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),W=B(N,[["__scopeId","data-v-4faf66a8"]]);export{W as default}; diff --git a/MiGu.Server/wwwroot/assets/ScriptPanelView-DnxZ-d2X.js b/MiGu.Server/wwwroot/assets/ScriptPanelView-DnxZ-d2X.js new file mode 100644 index 0000000..a2d7cf6 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ScriptPanelView-DnxZ-d2X.js @@ -0,0 +1 @@ +import{R as t}from"./ReflectionManagerPanel-BP1OYef-.js";import{aG as r,aC as o,aF as i,b3 as e,al as a}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-Dr3WM5Rz.js";import"./useMapEditStream-DPAdbySW.js";import"./useProjectionStream-DMf_8m8X.js";const m={class:"script-page"},p=r({__name:"ScriptPanelView",setup(s){return(c,n)=>(e(),o("div",m,[i(t,{kind:"script","kind-label":"脚本",title:"脚本管理(CarProgram 运行实例 · 与 SimpleLite 工作台「脚本」页对齐)","empty-text":"当前无 CarProgram 实例。CarProgram 是 Mission 运行时编译用户脚本后产生的对象,要创建脚本请到「任务编排」页新建 Mission。","disable-create":"","disable-delete":"","show-summary-column":"","summary-label":"车辆","show-status-column":"","status-label":"状态","show-script-actions":""})]))}}),j=a(p,[["__scopeId","data-v-40d1e5dd"]]);export{j as default}; diff --git a/MiGu.Server/wwwroot/assets/ScriptPanelView-zM2-1jjH.css b/MiGu.Server/wwwroot/assets/ScriptPanelView-zM2-1jjH.css new file mode 100644 index 0000000..9ce84ff --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ScriptPanelView-zM2-1jjH.css @@ -0,0 +1 @@ +.script-page[data-v-40d1e5dd]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box} diff --git a/MiGu.Server/wwwroot/assets/ServiceStatusView-BYOao_aT.js b/MiGu.Server/wwwroot/assets/ServiceStatusView-BYOao_aT.js new file mode 100644 index 0000000..ed76fd9 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ServiceStatusView-BYOao_aT.js @@ -0,0 +1 @@ +import{aG as w,b1 as E,b2 as k,aC as y,aF as s,bB as e,u as V,bb as x,b3 as z,F as C,G as D,aE as l,bj as f,bm as B,ad as I,az as m,s as M,bq as W,al as N}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const O={class:"status-page mg-content"},K={class:"status-actions"},R=w({__name:"ServiceStatusView",setup(T){const b=W(),_=new Date().toLocaleString("zh-CN"),i=x("00:00:00");let r;const S=Date.now();function u(){const p=Date.now()-S,t=Math.floor(p/1e3),o=String(Math.floor(t/3600)).padStart(2,"0"),a=String(Math.floor(t%3600/60)).padStart(2,"0"),d=String(t%60).padStart(2,"0");i.value=`${o}:${a}:${d}`}E(()=>{u(),r=window.setInterval(u,1e3)}),k(()=>{r&&clearInterval(r)});function v(){b.back()}return(p,t)=>{const o=I,a=D,d=C,n=M,g=V;return z(),y("div",O,[s(g,{shadow:"never",class:"status-card"},{header:e(()=>[t[1]||(t[1]=m("span",null,"SimpleLite Service Status",-1)),s(o,{type:"success",effect:"dark",style:{"margin-left":"8px"}},{default:e(()=>[...t[0]||(t[0]=[l("Web-Enabled (Mock)",-1)])]),_:1})]),default:e(()=>[s(d,{column:2,border:""},{default:e(()=>[s(a,{label:"模式"},{default:e(()=>[...t[2]||(t[2]=[l("Web-Enabled",-1)])]),_:1}),s(a,{label:"启动时间"},{default:e(()=>[l(f(B(_)),1)]),_:1}),s(a,{label:"运行时长"},{default:e(()=>[l(f(i.value),1)]),_:1}),s(a,{label:"节点角色"},{default:e(()=>[s(o,{type:"success"},{default:e(()=>[...t[3]||(t[3]=[l("Active (ROSE)",-1)])]),_:1})]),_:1}),s(a,{label:"WebAPI"},{default:e(()=>[t[5]||(t[5]=l("http://0.0.0.0:7001 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[4]||(t[4]=[l("OK",-1)])]),_:1})]),_:1}),s(a,{label:"WebSocket"},{default:e(()=>[t[7]||(t[7]=l("ws://0.0.0.0:7002 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[6]||(t[6]=[l("OK",-1)])]),_:1})]),_:1}),s(a,{label:"webVRender"},{default:e(()=>[t[9]||(t[9]=l("http://0.0.0.0:8223 ",-1)),s(o,{size:"small",type:"success"},{default:e(()=>[...t[8]||(t[8]=[l("OK",-1)])]),_:1})]),_:1}),s(a,{label:"Platform.Server"},{default:e(()=>[...t[10]||(t[10]=[l(":8080 (pid=12345)",-1)])]),_:1}),s(a,{label:"在线 Vue 客户端"},{default:e(()=>[...t[11]||(t[11]=[l("admin=3, monitor=4",-1)])]),_:1}),s(a,{label:"调度循环 / 任务"},{default:e(()=>[...t[12]||(t[12]=[l("50 Hz · 14 / 32",-1)])]),_:1})]),_:1}),m("div",K,[s(n,null,{default:e(()=>[...t[13]||(t[13]=[l("查看日志",-1)])]),_:1}),s(n,{type:"warning",plain:""},{default:e(()=>[...t[14]||(t[14]=[l("重启 Web",-1)])]),_:1}),s(n,{type:"danger",plain:""},{default:e(()=>[...t[15]||(t[15]=[l("关闭服务",-1)])]),_:1}),s(n,{onClick:v},{default:e(()=>[...t[16]||(t[16]=[l("返回",-1)])]),_:1})])]),_:1})])}}}),c=N(R,[["__scopeId","data-v-ddc086d3"]]);export{c as default}; diff --git a/MiGu.Server/wwwroot/assets/ServiceStatusView-IGba4H4q.css b/MiGu.Server/wwwroot/assets/ServiceStatusView-IGba4H4q.css new file mode 100644 index 0000000..d31366e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ServiceStatusView-IGba4H4q.css @@ -0,0 +1 @@ +.status-page[data-v-ddc086d3]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.status-card[data-v-ddc086d3]{width:720px}.status-actions[data-v-ddc086d3]{display:flex;gap:8px;margin-top:16px;justify-content:flex-end} diff --git a/MiGu.Server/wwwroot/assets/SystemConfigView-ByKpKyii.js b/MiGu.Server/wwwroot/assets/SystemConfigView-ByKpKyii.js new file mode 100644 index 0000000..ab624c4 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/SystemConfigView-ByKpKyii.js @@ -0,0 +1,2 @@ +import{aG as P,br as N,bb as h,b3 as c,aC as x,az as p,aF as l,y as H,bB as t,ai as U,bd as B,aA as k,O as $,bm as v,aj as G,P as j,A as W,bj as I,s as L,aE as u,a_ as R,ad as D,aB as M,av as Y,aL as J,Y as _,z as q,al as F,b1 as Q,i as X,ba as Z,u as ee,T as le,I as te,a4 as oe,_ as ae,a8 as ne,S as se}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as ie}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css */import{a as O,m as me}from"./mapEdit-DghrYjHu.js";/* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const de={class:"theme-customizer"},re={class:"tc-title-row"},ue={class:"tc-name"},pe={class:"tc-panel"},ce={class:"tc-picker-row"},fe={class:"tc-hex"},_e={class:"tc-field-hint"},be={class:"tc-actions"},ge={class:"tc-footer"},ve=P({__name:"ThemeCustomizer",setup(K){const o=N(),V=h(o.themeId),w=["#7c3aed","#8b5cf6","#c4b5fd","#5b21b6","#4c1d95","#6366f1","#a855f7","#9333ea","#1565c0","#00796b","#b71c1c","#455a64","#e65100"],S=Y(()=>o.availableThemes.some(d=>C(d.id)));function C(d){const n=o.themeOverrides[d];return!!n&&Object.keys(n).length>0}function r(d){const n=o.getMergedTheme(J(d));return{background:`linear-gradient(135deg, ${n.preview} 0%, ${n.previewAccent} 100%)`}}function a(d,n,b){b&&(o.setThemeColor(d,n,b),d===o.themeId&&_.success("已应用当前主题配色"))}function f(d){o.clearThemeOverrides(d),_.info("已恢复该主题默认配色")}function i(){o.clearAllThemeOverrides(),_.info("已恢复全部主题默认配色")}return(d,n)=>{const b=D,z=W,g=j,T=$,y=L,E=q,A=H;return c(),x("div",de,[n[6]||(n[6]=p("p",{class:"tc-hint"}," 为各主题单独调色;修改后立即预览。当前生效主题会同步应用到全站。保存系统配置时一并写入本地。 ",-1)),l(A,{modelValue:V.value,"onUpdate:modelValue":n[0]||(n[0]=e=>V.value=e),accordion:""},{default:t(()=>[(c(!0),x(U,null,B(v(o).availableThemes,e=>(c(),k(E,{key:e.id,name:e.id},{title:t(()=>[p("div",re,[p("span",{class:"tc-swatch",style:R(r(e.id))},null,4),p("span",ue,I(e.name),1),C(e.id)?(c(),k(b,{key:0,size:"small",type:"warning",effect:"plain"},{default:t(()=>[...n[1]||(n[1]=[u("已自定义",-1)])]),_:1})):M("",!0),e.id===v(o).themeId?(c(),k(b,{key:1,size:"small",type:"success",effect:"plain"},{default:t(()=>[...n[2]||(n[2]=[u("当前",-1)])]),_:1})):M("",!0)])]),default:t(()=>[p("div",pe,[l(T,{"label-width":"100px",class:"tc-form"},{default:t(()=>[(c(!0),x(U,null,B(v(G),m=>(c(),k(g,{key:m.key,label:m.label},{default:t(()=>[p("div",ce,[l(z,{"model-value":v(o).getThemeColor(e.id,m.key),"color-format":"hex",predefine:w,"onUpdate:modelValue":s=>a(e.id,m.key,s)},null,8,["model-value","onUpdate:modelValue"]),p("span",fe,I(v(o).getThemeColor(e.id,m.key)),1),p("span",_e,I(m.hint),1)])]),_:2},1032,["label"]))),128))]),_:2},1024),p("div",be,[l(y,{size:"small",onClick:m=>v(o).setThemeId(e.id)},{default:t(()=>[...n[3]||(n[3]=[u("切换到此主题",-1)])]),_:1},8,["onClick"]),l(y,{size:"small",disabled:!C(e.id),onClick:m=>f(e.id)},{default:t(()=>[...n[4]||(n[4]=[u("恢复默认",-1)])]),_:1},8,["disabled","onClick"])])])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]),p("div",ge,[l(y,{size:"small",type:"warning",plain:"",disabled:!S.value,onClick:i},{default:t(()=>[...n[5]||(n[5]=[u(" 重置全部主题配色 ",-1)])]),_:1},8,["disabled"])])])}}}),Ve=F(ve,[["__scopeId","data-v-8a725bd2"]]),ye=P({__name:"SystemConfigView",setup(K){const o=Z({endpoint:"https://api.openai.com/v1/chat/completions",apiKey:"",model:"gpt-4o-mini",systemPrompt:"你是一个 AGV 路网设计师。",temperature:.4,maxTokens:4096,timeoutSec:60,configured:!1}),V=h(!1),w=h(!1);Q(async()=>{try{const r=await O.get();Object.assign(o,r)}catch(r){_.warning(`无法读取 AI 配置:${r.message}`)}});async function S(){try{V.value=!0,await O.save({...o}),_.success("AI 配置已保存"),o.configured=!!o.apiKey}catch(r){_.error(`保存失败:${r.message}`)}finally{V.value=!1}}async function C(){try{w.value=!0;const r=await me.aiMapGenerate({prompt:'测试连通:仅返回 "ok",不要生成任何站点或路径。',mode:"sites",bounds:[0,0,0,0]});_.success(`AI 服务连通正常:返回工具调用 ${r.usedTools} 次`)}catch(r){_.error(`连通失败:${r.message}`)}finally{w.value=!1}}return(r,a)=>{const f=le,i=j,d=te,n=ae,b=oe,z=ne,g=se,T=$,y=D,E=L,A=ee;return c(),x(U,null,[l(ie,{section:"system",title:"系统级配置",description:"运行参数、日志策略、安全策略(对齐 SystemConfig)",defaults:v(X)},{default:t(({payload:e,update:m})=>[l(T,{"label-width":"160px",model:e},{default:t(()=>[l(i,{label:"调度循环 (Hz)"},{default:t(()=>[l(f,{"model-value":e.dispatchLoopHz,min:1,max:200,"onUpdate:modelValue":s=>m({...e,dispatchLoopHz:s??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(d,{"content-position":"left"},{default:t(()=>[...a[7]||(a[7]=[u("日志策略",-1)])]),_:1}),l(i,{label:"日志级别"},{default:t(()=>[l(b,{"model-value":e.log.level,"onUpdate:modelValue":s=>m({...e,log:{...e.log,level:s}})},{default:t(()=>[(c(),x(U,null,B(["trace","debug","info","warn","error"],s=>l(n,{key:s,label:s,value:s},null,8,["label","value"])),64))]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"日志保留 (天)"},{default:t(()=>[l(f,{"model-value":e.log.rollDays,min:1,max:365,"onUpdate:modelValue":s=>m({...e,log:{...e.log,rollDays:s??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"单文件上限 (MB)"},{default:t(()=>[l(f,{"model-value":e.log.maxSizeMB,min:1,max:4096,"onUpdate:modelValue":s=>m({...e,log:{...e.log,maxSizeMB:s??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(d,{"content-position":"left"},{default:t(()=>[...a[8]||(a[8]=[u("安全策略",-1)])]),_:1}),l(i,{label:"JWT 过期 (分钟)"},{default:t(()=>[l(f,{"model-value":e.security.jwtExpireMin,min:5,max:43200,"onUpdate:modelValue":s=>m({...e,security:{...e.security,jwtExpireMin:s??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"启用 Swagger"},{default:t(()=>[l(z,{"model-value":e.security.enableSwagger,"onUpdate:modelValue":s=>m({...e,security:{...e.security,enableSwagger:!!s}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(i,{label:"CORS 白名单"},{default:t(()=>[l(g,{type:"textarea",rows:3,"model-value":e.security.corsWhitelist.join(` +`),"onUpdate:modelValue":s=>m({...e,security:{...e.security,corsWhitelist:s.split(/\s+/).filter(Boolean)}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),l(d,{"content-position":"left"},{default:t(()=>[...a[9]||(a[9]=[u("界面主题配色",-1)])]),_:1}),l(i,{label:"主题取色盘"},{default:t(()=>[l(Ve)]),_:1})]),_:2},1032,["model"])]),_:1},8,["defaults"]),l(A,{class:"ai-service-card",shadow:"never"},{header:t(()=>[a[12]||(a[12]=p("span",null,"AI 服务(地图编辑器「AI 生图」依赖)",-1)),o.configured?(c(),k(y,{key:0,type:"success",size:"small",effect:"dark",class:"ml-8"},{default:t(()=>[...a[10]||(a[10]=[u("已配置",-1)])]),_:1})):(c(),k(y,{key:1,type:"warning",size:"small",effect:"dark",class:"ml-8"},{default:t(()=>[...a[11]||(a[11]=[u("未配置",-1)])]),_:1}))]),default:t(()=>[l(T,{"label-width":"140px",size:"default"},{default:t(()=>[l(i,{label:"Endpoint"},{default:t(()=>[l(g,{modelValue:o.endpoint,"onUpdate:modelValue":a[0]||(a[0]=e=>o.endpoint=e),placeholder:"https://api.openai.com/v1/chat/completions"},null,8,["modelValue"])]),_:1}),l(i,{label:"API Key"},{default:t(()=>[l(g,{modelValue:o.apiKey,"onUpdate:modelValue":a[1]||(a[1]=e=>o.apiKey=e),type:"password","show-password":"",placeholder:"sk-..."},null,8,["modelValue"])]),_:1}),l(i,{label:"模型"},{default:t(()=>[l(g,{modelValue:o.model,"onUpdate:modelValue":a[2]||(a[2]=e=>o.model=e),placeholder:"gpt-4o-mini"},null,8,["modelValue"])]),_:1}),l(i,{label:"System Prompt"},{default:t(()=>[l(g,{modelValue:o.systemPrompt,"onUpdate:modelValue":a[3]||(a[3]=e=>o.systemPrompt=e),type:"textarea",rows:4},null,8,["modelValue"])]),_:1}),l(i,{label:"Temperature"},{default:t(()=>[l(f,{modelValue:o.temperature,"onUpdate:modelValue":a[4]||(a[4]=e=>o.temperature=e),min:0,max:2,step:.1},null,8,["modelValue"])]),_:1}),l(i,{label:"Max Tokens"},{default:t(()=>[l(f,{modelValue:o.maxTokens,"onUpdate:modelValue":a[5]||(a[5]=e=>o.maxTokens=e),min:64,max:32e3,step:64},null,8,["modelValue"])]),_:1}),l(i,{label:"超时 (秒)"},{default:t(()=>[l(f,{modelValue:o.timeoutSec,"onUpdate:modelValue":a[6]||(a[6]=e=>o.timeoutSec=e),min:5,max:600},null,8,["modelValue"])]),_:1}),l(i,null,{default:t(()=>[l(E,{type:"primary",loading:V.value,onClick:S},{default:t(()=>[...a[13]||(a[13]=[u("保存 AI 配置",-1)])]),_:1},8,["loading"]),l(E,{loading:w.value,onClick:C},{default:t(()=>[...a[14]||(a[14]=[u("测试连通",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})],64)}}}),Fe=F(ye,[["__scopeId","data-v-b66101c5"]]);export{Fe as default}; diff --git a/MiGu.Server/wwwroot/assets/SystemConfigView-zK_tPjiF.css b/MiGu.Server/wwwroot/assets/SystemConfigView-zK_tPjiF.css new file mode 100644 index 0000000..11c0a91 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/SystemConfigView-zK_tPjiF.css @@ -0,0 +1 @@ +.theme-customizer[data-v-8a725bd2]{margin-top:8px}.tc-hint[data-v-8a725bd2]{margin:0 0 12px;font-size:12px;color:var(--mg-text-dim, rgba(255, 255, 255, .55));line-height:1.5}.tc-title-row[data-v-8a725bd2]{display:flex;align-items:center;gap:10px;width:100%}.tc-swatch[data-v-8a725bd2]{width:22px;height:22px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 6px #00000059}.tc-name[data-v-8a725bd2]{font-weight:600;color:var(--mg-text-light, #fff)}.tc-panel[data-v-8a725bd2]{padding:4px 8px 12px}.tc-picker-row[data-v-8a725bd2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tc-hex[data-v-8a725bd2]{font-family:ui-monospace,monospace;font-size:12px;color:var(--mg-text-muted, rgba(255, 255, 255, .75))}.tc-field-hint[data-v-8a725bd2]{font-size:11px;color:var(--mg-text-dim, rgba(255, 255, 255, .45))}.tc-actions[data-v-8a725bd2]{display:flex;gap:8px;margin-top:8px;padding-left:100px}.tc-footer[data-v-8a725bd2]{margin-top:16px}.ai-service-card[data-v-b66101c5]{margin:12px 0}.ml-8[data-v-b66101c5]{margin-left:8px} diff --git a/MiGu.Server/wwwroot/assets/TaskAllocationView-DFHXgXFu.js b/MiGu.Server/wwwroot/assets/TaskAllocationView-DFHXgXFu.js new file mode 100644 index 0000000..792bc40 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/TaskAllocationView-DFHXgXFu.js @@ -0,0 +1 @@ +import{aG as p,aA as f,bB as o,bm as c,j as b,b3 as V,aF as e,P as x,a1 as B,a0 as E,aE as n,a8 as U,T as v,O as C}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as T}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const O=p({__name:"TaskAllocationView",setup(k){return(w,l)=>{const m=E,d=B,r=x,s=U,i=v,_=C;return V(),f(T,{section:"task",title:"任务分配机制",description:"负载均衡、就近分配、优先级调度(TaskAllocationPolicy)",defaults:c(b)},{default:o(({payload:t,update:u})=>[e(_,{"label-width":"160px",model:t},{default:o(()=>[e(r,{label:"分配模式"},{default:o(()=>[e(d,{"model-value":t.mode,"onUpdate:modelValue":a=>u({...t,mode:a})},{default:o(()=>[e(m,{label:"roundRobin"},{default:o(()=>[...l[0]||(l[0]=[n("轮询",-1)])]),_:1}),e(m,{label:"nearest"},{default:o(()=>[...l[1]||(l[1]=[n("就近",-1)])]),_:1}),e(m,{label:"leastLoad"},{default:o(()=>[...l[2]||(l[2]=[n("最少负载",-1)])]),_:1}),e(m,{label:"custom"},{default:o(()=>[...l[3]||(l[3]=[n("自定义",-1)])]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(r,{label:"启用负载均衡"},{default:o(()=>[e(s,{"model-value":t.loadBalance,"onUpdate:modelValue":a=>u({...t,loadBalance:!!a})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(r,{label:"单车队列上限"},{default:o(()=>[e(i,{"model-value":t.maxQueuePerCar,min:1,max:100,"onUpdate:modelValue":a=>u({...t,maxQueuePerCar:a??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{O as default}; diff --git a/MiGu.Server/wwwroot/assets/TrackTableView-C-Cp6740.css b/MiGu.Server/wwwroot/assets/TrackTableView-C-Cp6740.css new file mode 100644 index 0000000..a6006cd --- /dev/null +++ b/MiGu.Server/wwwroot/assets/TrackTableView-C-Cp6740.css @@ -0,0 +1 @@ +.scene-mgr-page[data-v-ce41515a]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.scene-tabs[data-v-ce41515a]{flex:1;display:flex;flex-direction:column;overflow:hidden} diff --git a/MiGu.Server/wwwroot/assets/TrackTableView-U1RVSBQt.js b/MiGu.Server/wwwroot/assets/TrackTableView-U1RVSBQt.js new file mode 100644 index 0000000..0de0e0a --- /dev/null +++ b/MiGu.Server/wwwroot/assets/TrackTableView-U1RVSBQt.js @@ -0,0 +1 @@ +import{aG as m,b3 as _,aC as k,aF as e,bB as a,a9 as x,ac as g,bb as l,al as T,aA as v}from"./index-DrvLDslf.js";/* empty css *//* empty css */import{R as s}from"./ReflectionManagerPanel-BP1OYef-.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-Dr3WM5Rz.js";import"./useMapEditStream-DPAdbySW.js";import"./useProjectionStream-DMf_8m8X.js";const y={class:"scene-mgr-page"},P=m({__name:"SceneManagerView",setup(f){const r=l("site"),o=l(null),p=l(null),c=l(null);function u(t){(t==="site"?o.value:t==="track"?p.value:t==="special"?c.value:null)?.refresh?.()}return(t,n)=>{const i=x,d=g;return _(),k("div",y,[e(d,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=b=>r.value=b),type:"border-card",class:"scene-tabs admin-tabs",onTabChange:u},{default:a(()=>[e(i,{label:"站点",name:"site"},{default:a(()=>[e(s,{ref_key:"sitePanelRef",ref:o,kind:"site","kind-label":"站点",title:"站点管理(Site / UISite,含禁用/启用、必空点等动作)","empty-text":"当前没有站点;点击右上角「新建站点」按 x/y 坐标添加。"},null,512)]),_:1}),e(i,{label:"路径",name:"track"},{default:a(()=>[e(s,{ref_key:"trackPanelRef",ref:p,kind:"track","kind-label":"路径",title:"路径管理(Track / UITrack,含方向、冲突、投影、二分等动作)","empty-text":"当前没有路径;点击右上角「新建路径」选起止站点添加。"},null,512)]),_:1}),e(i,{label:"装饰物",name:"special"},{default:a(()=>[e(s,{ref_key:"specialPanelRef",ref:c,kind:"special","kind-label":"装饰物",title:"装饰物管理(UI_Image / UI_Text / UI_Model)","empty-text":"当前没有装饰物;新建图片/文本/模型可用底部按钮,或先在地图编辑里上传资产。"},null,512)]),_:1})]),_:1},8,["modelValue"])])}}}),R=T(P,[["__scopeId","data-v-ce41515a"]]),Y=m({__name:"TrackTableView",setup(f){return(r,o)=>(_(),v(R))}});export{Y as default}; diff --git a/MiGu.Server/wwwroot/assets/TrafficRuleView-BLrd2OSe.js b/MiGu.Server/wwwroot/assets/TrafficRuleView-BLrd2OSe.js new file mode 100644 index 0000000..d305835 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/TrafficRuleView-BLrd2OSe.js @@ -0,0 +1 @@ +import{aG as d,aA as m,bB as e,bm as _,k as c,b3 as f,aF as a,a9 as b,aa as u,ab as w,aE as r,bj as p,ac as I}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as T}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const G=d({__name:"TrafficRuleView",setup(h){return(x,D)=>{const t=w,o=u,l=b,n=I;return f(),m(T,{section:"traffic",title:"交通管制规则",description:"路口策略、区域互斥、动态让行(TrafficRule)",defaults:_(c)},{default:e(({payload:i})=>[a(n,{"model-value":"ix"},{default:e(()=>[a(l,{name:"ix",label:"路口策略"},{default:e(()=>[a(o,{data:i.intersections,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"站点 IDs",prop:"siteIds"},{default:e(s=>[r(p(s.row.siteIds.join(", ")),1)]),_:1}),a(t,{label:"模式",prop:"mode",width:"100"})]),_:1},8,["data"])]),_:2},1024),a(l,{name:"mz",label:"区域互斥"},{default:e(()=>[a(o,{data:i.mutex,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"区域 IDs",prop:"zoneIds"},{default:e(s=>[r(p(s.row.zoneIds.join(", ")),1)]),_:1})]),_:1},8,["data"])]),_:2},1024),a(l,{name:"yd",label:"动态让行"},{default:e(()=>[a(o,{data:i.yields,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"From",prop:"from",width:"140"}),a(t,{label:"To",prop:"to",width:"140"}),a(t,{label:"条件",prop:"condition"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{G as default}; diff --git a/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-BU7QbnHX.js b/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-BU7QbnHX.js new file mode 100644 index 0000000..8e015b2 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-BU7QbnHX.js @@ -0,0 +1 @@ +import{aG as c,aA as f,bB as t,bm as b,l as V,b3 as v,aF as o,P as U,a5 as h,I as R,aE as d,a8 as B,S as E,T as w,O as T}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{C as x}from"./ConfigPageBase-CPF7i-FB.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-BxagL6-4.js";import"./reflection-Dr3WM5Rz.js";const z=c({__name:"VehicleMaintenanceView",setup(C){return(I,m)=>{const i=h,a=U,r=R,u=B,p=E,s=w,_=T;return v(),f(x,{section:"vehicle",title:"车辆维护策略",description:"电量阈值、故障上报、自动报修(VehicleMaintenancePolicy)",defaults:b(V)},{default:t(({payload:e,update:n})=>[o(_,{"label-width":"160px",model:e},{default:t(()=>[o(a,{label:"低电量阈值"},{default:t(()=>[o(i,{"model-value":e.lowBatteryThreshold*100,min:0,max:100,"format-tooltip":l=>`${l}%`,"onUpdate:modelValue":l=>n({...e,lowBatteryThreshold:(Number(l)||0)/100})},null,8,["model-value","format-tooltip","onUpdate:modelValue"])]),_:2},1024),o(a,{label:"临界电量阈值"},{default:t(()=>[o(i,{"model-value":e.criticalBatteryThreshold*100,min:0,max:100,"format-tooltip":l=>`${l}%`,"onUpdate:modelValue":l=>n({...e,criticalBatteryThreshold:(Number(l)||0)/100})},null,8,["model-value","format-tooltip","onUpdate:modelValue"])]),_:2},1024),o(r,{"content-position":"left"},{default:t(()=>[...m[0]||(m[0]=[d("故障上报",-1)])]),_:1}),o(a,{label:"启用"},{default:t(()=>[o(u,{"model-value":e.faultReport.enabled,"onUpdate:modelValue":l=>n({...e,faultReport:{...e.faultReport,enabled:!!l}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),o(a,{label:"接收邮箱"},{default:t(()=>[o(p,{"model-value":e.faultReport.emailTo.join(", "),"onUpdate:modelValue":l=>n({...e,faultReport:{...e.faultReport,emailTo:l.split(/[,\s]+/).filter(Boolean)}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),o(r,{"content-position":"left"},{default:t(()=>[...m[1]||(m[1]=[d("自动报修",-1)])]),_:1}),o(a,{label:"启用"},{default:t(()=>[o(u,{"model-value":e.autoRepair.enabled,"onUpdate:modelValue":l=>n({...e,autoRepair:{...e.autoRepair,enabled:!!l}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),o(a,{label:"冷却时间 (秒)"},{default:t(()=>[o(s,{"model-value":e.autoRepair.cooldownSec,min:0,max:86400,"onUpdate:modelValue":l=>n({...e,autoRepair:{...e.autoRepair,cooldownSec:l??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{z as default}; diff --git a/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-KlqpaRgh.css b/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-KlqpaRgh.css new file mode 100644 index 0000000..cbbc188 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/VehicleMaintenanceView-KlqpaRgh.css @@ -0,0 +1 @@ +.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px} diff --git a/MiGu.Server/wwwroot/assets/Workspace3D-D0NKEi6V.css b/MiGu.Server/wwwroot/assets/Workspace3D-D0NKEi6V.css new file mode 100644 index 0000000..0786b87 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/Workspace3D-D0NKEi6V.css @@ -0,0 +1 @@ +.workspace-3d-wrap[data-v-fdbecbc9]{display:flex;flex-direction:column;height:100%;min-height:480px;border:1px solid rgba(255,255,255,.12);border-radius:var(--mg-radius, 16px);background:#0f042073;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 8px 24px #0a021059,0 0 0 1px #ffffff0f inset;overflow:hidden;transition:all .25s cubic-bezier(.25,.8,.25,1)}.workspace-3d-wrap.workspace-3d--canvas-only[data-v-fdbecbc9]{border:0;border-radius:0;min-height:0;background:transparent;box-shadow:none}.workspace-3d-toolbar[data-v-fdbecbc9]{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#e8d7f5d9}.workspace-3d-toolbar .hint[data-v-fdbecbc9]{color:#c9a6e3b3;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}.workspace-3d-toolbar .spacer[data-v-fdbecbc9]{flex:1}.workspace-3d-frame[data-v-fdbecbc9]{flex:1;position:relative;background:radial-gradient(ellipse at 50% 40%,#2d1456,#1a0930,#0f0420)}.workspace-3d-iframe[data-v-fdbecbc9]{width:100%;height:100%;border:0;background:transparent;display:block}.workspace-3d-mask[data-v-fdbecbc9]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at center,rgba(var(--mg-primary-rgb),.35),rgba(var(--mg-bg-app-deep-rgb),.92) 80%),rgba(var(--mg-bg-app-deep-rgb),.85);color:#e8dcffeb;font-size:13px;backdrop-filter:blur(10px)}.workspace-3d-mask .muted[data-v-fdbecbc9]{color:rgba(var(--mg-accent-rgb),.7);font-size:12px}.workspace-3d-mask .el-icon[data-v-fdbecbc9]{color:var(--mg-accent);filter:drop-shadow(0 0 10px rgba(var(--mg-accent-rgb),.6))} diff --git a/MiGu.Server/wwwroot/assets/Workspace3D-D7MYl2zT.js b/MiGu.Server/wwwroot/assets/Workspace3D-D7MYl2zT.js new file mode 100644 index 0000000..1f4b2db --- /dev/null +++ b/MiGu.Server/wwwroot/assets/Workspace3D-D7MYl2zT.js @@ -0,0 +1 @@ +import{aG as N,b1 as P,b0 as R,aC as m,aZ as $,aF as c,ad as A,bB as o,az as d,bj as l,aA as C,aB as i,s as D,bm as _,bc as I,aO as j,R as q,bb as n,av as S,b3 as r,aE as u,aU as G,al as M}from"./index-DrvLDslf.js";/* empty css *//* empty css *//* empty css */const H={key:0,class:"workspace-3d-toolbar"},Z={class:"hint"},J=["src"],K={key:1,class:"workspace-3d-mask"},Q=N({__name:"Workspace3D",props:{host:{default:void 0},scope:{default:"Platform"},token:{default:""},readOnly:{type:Boolean,default:!1},embedUi:{type:Boolean,default:!1},canvasOnly:{type:Boolean,default:!1},hideToolbar:{type:Boolean,default:!1}},emits:["pick","select","ready"],setup(s,{expose:U,emit:W}){const t=s,y=W,v=n(),g=n(),k=n(!1),f=n(null),b=n([]),w=n(""),p=S(()=>t.host??"localhost:8223"??"localhost:8223"),L=S(()=>{const a=new URLSearchParams;return a.set("scope",t.scope??"Platform"),t.token&&a.set("token",t.token),a.set("ro",t.readOnly?"1":"0"),t.canvasOnly?a.set("ui","canvas-only"):t.embedUi&&a.set("ui","embed"),`http://${p.value}/?${a.toString()}`});async function F(){const a=t.canvasOnly?"/declareCanvasOnly":t.embedUi?"/declareEmbedUi":null;if(a)try{await fetch(`http://${p.value}${a}`,{method:"GET",mode:"no-cors",cache:"no-store",credentials:"omit",keepalive:!0})}catch(e){console.warn(`[Workspace3D] ${a} 请求失败,SimpleLite 可能仍以完整面板模式启动:`,e)}}async function B(){k.value=!1,await F(),w.value=L.value}function T(){k.value=!0,y("ready")}function E(a){if(!v.value||a.source!==v.value.contentWindow)return;const e=a.data;!e||typeof e!="object"||(e.type==="workspace.pick"&&e.payload&&typeof e.payload.x=="number"?(f.value=e.payload,y("pick",e.payload)):e.type==="workspace.select"&&Array.isArray(e.payload)&&(b.value=e.payload,y("select",e.payload)))}function x(){B()}function O(){const a=g.value;a&&(document.fullscreenElement?document.exitFullscreen():a.requestFullscreen())}return P(()=>{window.addEventListener("message",E),B()}),R(()=>{window.removeEventListener("message",E)}),U({reload:x,enterFullscreen:O}),(a,e)=>{const h=A,z=D,V=q;return r(),m("div",{class:$(["workspace-3d-wrap",{"workspace-3d--canvas-only":s.canvasOnly||s.hideToolbar}])},[s.canvasOnly||s.hideToolbar?i("",!0):(r(),m("div",H,[c(h,{type:s.readOnly?"info":"success",effect:"dark",size:"small"},{default:o(()=>[u(l(s.readOnly?"只读":"可交互"),1)]),_:1},8,["type"]),d("span",Z,"webVRender · http://"+l(p.value)+" · scope="+l(s.scope),1),e[2]||(e[2]=d("div",{class:"spacer"},null,-1)),f.value?(r(),C(h,{key:0,type:"warning",size:"small"},{default:o(()=>[u(" Pick ("+l(f.value.x.toFixed(0))+", "+l(f.value.y.toFixed(0))+") ",1)]),_:1})):i("",!0),b.value.length?(r(),C(h,{key:1,type:"primary",size:"small"},{default:o(()=>[u(" Selected: "+l(b.value.length),1)]),_:1})):i("",!0),c(z,{size:"small",icon:_(I),onClick:x},{default:o(()=>[...e[0]||(e[0]=[u("重载",-1)])]),_:1},8,["icon"]),c(z,{size:"small",icon:_(j),onClick:O},{default:o(()=>[...e[1]||(e[1]=[u("全屏",-1)])]),_:1},8,["icon"])])),d("div",{ref_key:"frameWrap",ref:g,class:"workspace-3d-frame"},[w.value?(r(),m("iframe",{key:0,ref_key:"frame",ref:v,src:w.value,class:"workspace-3d-iframe",allow:"fullscreen",onLoad:T},null,40,J)):i("",!0),k.value?i("",!0):(r(),m("div",K,[c(V,{class:"is-loading",size:"32"},{default:o(()=>[c(_(G))]),_:1}),d("span",null,"正在连接 webVRender (http://"+l(p.value)+") ...",1),e[3]||(e[3]=d("span",{class:"muted"},"如长时间未加载,请确认 SimpleLite 已以 Web-Enabled 模式启动且 8223 端口可达。",-1))]))],512)],2)}}}),te=M(Q,[["__scopeId","data-v-fdbecbc9"]]);export{te as W}; diff --git a/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-1mCqpdq_.js b/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-1mCqpdq_.js new file mode 100644 index 0000000..a8a2205 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-1mCqpdq_.js @@ -0,0 +1 @@ +import{aQ as b,aG as oe,b1 as re,b0 as ie,b3 as p,aC as h,aF as e,J as de,bB as l,s as ue,R as ce,bm as f,b4 as pe,az as u,an as R,L as fe,ai as V,bd as x,bE as z,v as ge,bj as y,b7 as me,aM as ye,K as _e,aE as _,aK as be,by as ke,aA as k,bw as ve,bv as we,at as $e,bx as he,aI as Ce,H as Se,ab as Ee,ad as Pe,ag as Re,bb as B,ba as Me,av as De,Y as g,Z as Te,aa as Ve,M as xe,al as ze}from"./index-DrvLDslf.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const v="/sl/projection/toolbar";function I(o,i){return{key:o,value:i,Key:o,Value:i}}function Ne(o,i){return{name:o,visible:i,Name:o,Visible:i}}function Be(o){return{note:o,Note:o}}function Ie(o){return{fileName:o,FileName:o}}async function w(o){const i=(await o).data;if(!i?.success)throw new Error(i?.message??"请求失败");if(i.data==null)throw new Error("服务端返回空数据");return i.data}const $={getState:()=>w(b.get(`${v}/state`)),setAlign:(o,i)=>w(b.post(`${v}/align`,I(o,i))),setSelect:(o,i)=>w(b.post(`${v}/select`,I(o,i))),setDisplay:(o,i)=>w(b.post(`${v}/display`,I(o,i))),setLayerVisibility:(o,i)=>w(b.post(`${v}/layer`,Ne(o,i))),startRecording:o=>w(b.post(`${v}/recording/start`,Be(o??""))),stopRecording:()=>w(b.post(`${v}/recording/stop`)),deleteRecording:o=>w(b.delete(`${v}/recording/${encodeURIComponent(o)}`)),startPlayback:o=>w(b.post(`${v}/playback/start`,Ie(o))),stopPlayback:()=>w(b.post(`${v}/playback/stop`))},Le={class:"canvas-toolbar"},Ae=["onClick"],Fe=["onClick"],Oe={key:0,class:"menu-empty"},We=["onClick"],Ge=["onClick"],Ke={class:"btn-label"},Ue={class:"btn-label"},Ye={class:"muted-hint"},je=oe({__name:"WorkspaceCanvasToolbar",setup(o){const i=[{key:"sites",label:"站点"},{key:"cars",label:"AGV"},{key:"tracks",label:"路径"}],Y=[{key:"tracks",label:"路径"},{key:"cars",label:"AGV"},{key:"decor",label:"区域/装饰"},{key:"sites",label:"站点"}],j=[{key:"labels",label:"场景图元标记"},{key:"primitives",label:"场景图元"},{key:"cars",label:"车辆"}],s=B(null),d=Me({align:!1,select:!1,display:!1,layer:!1,recording:!1,playback:!1}),M=B(!1),D=B(!1);let N=null;const H=De(()=>{const t=s.value?.recording;if(!t?.isRecording)return"录制";const a=Math.floor((t.elapsedMs??0)/1e3),r=String(Math.floor(a/60)).padStart(2,"0"),c=String(a%60).padStart(2,"0");return`停止 ${r}:${c}`});async function T(){try{s.value=await $.getState()}catch(t){g.error(`同步工具栏状态失败:${t.message}`)}}async function J(t){if(s.value){d.align=!0;try{s.value=await $.setAlign(t,!s.value.align[t])}catch(a){g.error(`切换对齐失败:${a.message}`)}finally{d.align=!1}}}async function Q(t){if(s.value){d.select=!0;try{s.value=await $.setSelect(t,!s.value.select[t])}catch(a){g.error(`切换选择过滤失败:${a.message}`)}finally{d.select=!1}}}async function Z(t){if(s.value){d.display=!0;try{s.value=await $.setDisplay(t,!s.value.display[t])}catch(a){g.error(`切换显示内容失败:${a.message}`)}finally{d.display=!1}}}async function q(t,a){d.layer=!0;try{s.value=await $.setLayerVisibility(t,a)}catch(r){g.error(`切换图层失败:${r.message}`)}finally{d.layer=!1}}function X(){g.info("寻路右键动作尚未接入 SimpleLite;请使用 SegmentPlan.FindRoute / 工作台脚本。")}async function ee(){const t=s.value?.recording;if(t){if(t.isPlaying){g.warning("当前在回放中,请先停止回放。");return}d.recording=!0;try{s.value=t.isRecording?await $.stopRecording():await $.startRecording("")}catch(a){g.error(`录制操作失败:${a.message}`)}finally{d.recording=!1}}}async function ae(){const t=s.value?.recording;if(t){if(t.isRecording){g.warning("录制中无法进入回放,请先停止录制。");return}if(t.isPlaying){d.playback=!0;try{s.value=await $.stopPlayback()}catch(a){g.error(`停止回放失败:${a.message}`)}finally{d.playback=!1}return}await T(),M.value=!0}}async function L(t){d.playback=!0;try{s.value=await $.startPlayback(t),M.value=!1,D.value=!1,g.success(`已开始回放 ${t}`)}catch(a){g.error(`启动回放失败:${a.message}`)}finally{d.playback=!1}}async function le(t){try{await Te.confirm(`确认删除录像 ${t}?此操作不可恢复。`,"删除录像",{type:"warning"})}catch{return}try{s.value=await $.deleteRecording(t),g.success(`已删除 ${t}`)}catch(a){g.error(`删除失败:${a.message}`)}}async function te(){await T(),D.value=!0}function A(t){if(!Number.isFinite(t)||t<=0)return"0 B";if(t<1024)return`${t} B`;const a=t/1024;return a<1024?`${a.toFixed(0)} KB`:`${(a/1024).toFixed(1)} MB`}function F(t){if(!Number.isFinite(t)||t<=0)return"00:00:00";const a=Math.floor(t/1e3),r=String(Math.floor(a/3600)).padStart(2,"0"),c=String(Math.floor(a%3600/60)).padStart(2,"0"),C=String(a%60).padStart(2,"0");return`${r}:${c}:${C}`}function O(t){if(!t)return"—";const a=new Date(t);if(isNaN(a.getTime()))return t;const r=c=>String(c).padStart(2,"0");return`${a.getFullYear()}-${r(a.getMonth()+1)}-${r(a.getDate())} ${r(a.getHours())}:${r(a.getMinutes())}`}return re(()=>{T(),N=setInterval(()=>{const t=s.value?.recording;(t?.isRecording||t?.isPlaying)&&T()},1e3)}),ie(()=>{N&&clearInterval(N)}),(t,a)=>{const r=ce,c=ue,C=ge,E=fe,P=de,ne=_e,W=xe,m=Ee,G=Ve,K=Se,U=Pe,se=Re;return p(),h("div",Le,[e(P,{trigger:"click","hide-on-click":!1,placement:"top-start"},{dropdown:l(()=>[e(E,{class:"toolbar-menu"},{default:l(()=>[(p(),h(V,null,x(i,n=>u("div",{key:n.key,class:"menu-row",onClick:z(S=>J(n.key),["stop"])},[e(C,{"model-value":s.value?.align[n.key]??!1},null,8,["model-value"]),u("span",null,y(n.label),1)],8,Ae)),64))]),_:1})]),default:l(()=>[e(c,{size:"small",loading:d.align},{default:l(()=>[e(r,null,{default:l(()=>[e(f(pe))]),_:1}),a[2]||(a[2]=u("span",{class:"btn-label"},"对齐",-1)),e(r,{class:"caret"},{default:l(()=>[e(f(R))]),_:1})]),_:1},8,["loading"])]),_:1}),e(P,{trigger:"click","hide-on-click":!1,placement:"top-start"},{dropdown:l(()=>[e(E,{class:"toolbar-menu"},{default:l(()=>[(p(),h(V,null,x(Y,n=>u("div",{key:n.key,class:"menu-row",onClick:z(S=>Q(n.key),["stop"])},[e(C,{"model-value":s.value?.select[n.key]??!1},null,8,["model-value"]),u("span",null,y(n.label),1)],8,Fe)),64))]),_:1})]),default:l(()=>[e(c,{size:"small",loading:d.select},{default:l(()=>[e(r,null,{default:l(()=>[e(f(me))]),_:1}),a[3]||(a[3]=u("span",{class:"btn-label"},"选择",-1)),e(r,{class:"caret"},{default:l(()=>[e(f(R))]),_:1})]),_:1},8,["loading"])]),_:1}),e(P,{trigger:"click",placement:"top-start"},{dropdown:l(()=>[e(E,{class:"toolbar-menu"},{default:l(()=>[e(ne,{onClick:X},{default:l(()=>[...a[5]||(a[5]=[_("寻路",-1)])]),_:1})]),_:1})]),default:l(()=>[e(c,{size:"small"},{default:l(()=>[e(r,null,{default:l(()=>[e(f(ye))]),_:1}),a[4]||(a[4]=u("span",{class:"btn-label"},"右击功能",-1)),e(r,{class:"caret"},{default:l(()=>[e(f(R))]),_:1})]),_:1})]),_:1}),a[14]||(a[14]=u("span",{class:"separator"},null,-1)),e(P,{trigger:"click","hide-on-click":!1,placement:"top-start"},{dropdown:l(()=>[e(E,{class:"toolbar-menu layer-menu"},{default:l(()=>[!s.value||s.value.layers.length===0?(p(),h("div",Oe,"(无图层)")):(p(!0),h(V,{key:1},x(s.value.layers,n=>(p(),h("div",{key:n.name,class:"menu-row",onClick:z(S=>q(n.name,!n.visible),["stop"])},[e(C,{"model-value":n.visible},null,8,["model-value"]),u("span",null,"图层 "+y(n.name),1)],8,We))),128))]),_:1})]),default:l(()=>[e(c,{size:"small",loading:d.layer},{default:l(()=>[e(r,null,{default:l(()=>[e(f(be))]),_:1}),a[6]||(a[6]=u("span",{class:"btn-label"},"显示图层",-1)),e(r,{class:"caret"},{default:l(()=>[e(f(R))]),_:1})]),_:1},8,["loading"])]),_:1}),e(P,{trigger:"click","hide-on-click":!1,placement:"top-start"},{dropdown:l(()=>[e(E,{class:"toolbar-menu"},{default:l(()=>[(p(),h(V,null,x(j,n=>u("div",{key:n.key,class:"menu-row",onClick:z(S=>Z(n.key),["stop"])},[e(C,{"model-value":s.value?.display[n.key]??!1},null,8,["model-value"]),u("span",null,y(n.label),1)],8,Ge)),64))]),_:1})]),default:l(()=>[e(c,{size:"small",loading:d.display},{default:l(()=>[e(r,null,{default:l(()=>[e(f(ke))]),_:1}),a[7]||(a[7]=u("span",{class:"btn-label"},"显示内容",-1)),e(r,{class:"caret"},{default:l(()=>[e(f(R))]),_:1})]),_:1},8,["loading"])]),_:1}),a[15]||(a[15]=u("span",{class:"separator"},null,-1)),e(c,{size:"small",type:s.value?.recording.isRecording?"danger":"default",loading:d.recording,onClick:ee},{default:l(()=>[s.value?.recording.isRecording?(p(),k(r,{key:0},{default:l(()=>[e(f(ve))]),_:1})):(p(),k(r,{key:1},{default:l(()=>[e(f(we))]),_:1})),u("span",Ke,y(H.value),1)]),_:1},8,["type","loading"]),e(c,{size:"small",type:s.value?.recording.isPlaying?"warning":"default",loading:d.playback,onClick:ae},{default:l(()=>[s.value?.recording.isPlaying?(p(),k(r,{key:0},{default:l(()=>[e(f($e))]),_:1})):(p(),k(r,{key:1},{default:l(()=>[e(f(he))]),_:1})),u("span",Ue,y(s.value?.recording.isPlaying?"退出回放":"回放"),1)]),_:1},8,["type","loading"]),e(c,{size:"small",onClick:te},{default:l(()=>[e(r,null,{default:l(()=>[e(f(Ce))]),_:1}),a[8]||(a[8]=u("span",{class:"btn-label"},"录像管理",-1))]),_:1}),e(K,{modelValue:M.value,"onUpdate:modelValue":a[0]||(a[0]=n=>M.value=n),title:"选择录像回放",width:"640px","append-to-body":"","destroy-on-close":""},{default:l(()=>[!s.value||s.value.recording.entries.length===0?(p(),k(W,{key:0,description:"(无可用录像。点 ● 录制 创建首份录像。)"})):(p(),k(G,{key:1,data:s.value.recording.entries,size:"small",stripe:""},{default:l(()=>[e(m,{prop:"fileName",label:"文件名","min-width":"180"}),e(m,{label:"大小",width:"90"},{default:l(({row:n})=>[_(y(A(n.fileSizeBytes)),1)]),_:1}),e(m,{prop:"frameCount",label:"帧",width:"70"}),e(m,{label:"时长",width:"100"},{default:l(({row:n})=>[_(y(F(n.durationMs)),1)]),_:1}),e(m,{label:"时间",width:"160"},{default:l(({row:n})=>[_(y(O(n.fileWriteTime)),1)]),_:1}),e(m,{label:"操作",width:"100",fixed:"right"},{default:l(({row:n})=>[e(c,{link:"",type:"primary",disabled:!n.headerReadable,onClick:S=>L(n.fileName)},{default:l(()=>[...a[9]||(a[9]=[_("回放",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["data"]))]),_:1},8,["modelValue"]),e(K,{modelValue:D.value,"onUpdate:modelValue":a[1]||(a[1]=n=>D.value=n),title:"录像管理",width:"780px","append-to-body":"","destroy-on-close":""},{default:l(()=>[u("p",Ye,"目录:"+y(s.value?.recording.recordingsDirectory??"—"),1),!s.value||s.value.recording.entries.length===0?(p(),k(W,{key:0,description:"(无可用录像。)"})):(p(),k(G,{key:1,data:s.value.recording.entries,size:"small",stripe:""},{default:l(()=>[e(m,{prop:"fileName",label:"文件名","min-width":"200"}),e(m,{label:"大小",width:"90"},{default:l(({row:n})=>[_(y(A(n.fileSizeBytes)),1)]),_:1}),e(m,{prop:"frameCount",label:"帧",width:"70"}),e(m,{label:"时长",width:"100"},{default:l(({row:n})=>[_(y(F(n.durationMs)),1)]),_:1}),e(m,{label:"时间",width:"160"},{default:l(({row:n})=>[_(y(O(n.fileWriteTime)),1)]),_:1}),e(m,{label:"状态",width:"120"},{default:l(({row:n})=>[n.headerReadable?(p(),k(U,{key:0,type:"success",size:"small"},{default:l(()=>[...a[10]||(a[10]=[_("完整",-1)])]),_:1})):(p(),k(se,{key:1,content:n.error,placement:"top"},{default:l(()=>[e(U,{type:"danger",size:"small"},{default:l(()=>[...a[11]||(a[11]=[_("头部不可读",-1)])]),_:1})]),_:1},8,["content"]))]),_:1}),e(m,{label:"操作",width:"160",fixed:"right"},{default:l(({row:n})=>[e(c,{link:"",type:"primary",disabled:!n.headerReadable,onClick:S=>L(n.fileName)},{default:l(()=>[...a[12]||(a[12]=[_("回放",-1)])]),_:1},8,["disabled","onClick"]),e(c,{link:"",type:"danger",onClick:S=>le(n.fileName)},{default:l(()=>[...a[13]||(a[13]=[_("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]))]),_:1},8,["modelValue"])])}}}),ra=ze(je,[["__scopeId","data-v-8e85cbc4"]]);export{ra as W}; diff --git a/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-CT6FJSzK.css b/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-CT6FJSzK.css new file mode 100644 index 0000000..26dc258 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/WorkspaceCanvasToolbar-CT6FJSzK.css @@ -0,0 +1 @@ +.canvas-toolbar[data-v-8e85cbc4]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#00000073;border-top:1px solid rgba(255,255,255,.1);border-bottom-left-radius:var(--mg-radius, 16px);border-bottom-right-radius:var(--mg-radius, 16px);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);flex-wrap:wrap}.canvas-toolbar[data-v-8e85cbc4] .el-button{display:inline-flex;align-items:center;gap:4px}.btn-label[data-v-8e85cbc4]{margin-left:2px}.caret[data-v-8e85cbc4]{margin-left:2px;font-size:10px;opacity:.7}.separator[data-v-8e85cbc4]{width:1px;height:18px;background:#ffffff2e;margin:0 4px}.toolbar-menu .menu-row[data-v-8e85cbc4]{display:flex;align-items:center;gap:8px;padding:5px 14px;cursor:pointer;user-select:none;font-size:13px;color:var(--el-text-color-primary)}.toolbar-menu .menu-row[data-v-8e85cbc4]:hover{background:var(--el-fill-color-light)}.toolbar-menu .menu-row[data-v-8e85cbc4] .el-checkbox{margin-right:0;pointer-events:none}.layer-menu[data-v-8e85cbc4]{max-height:320px;overflow-y:auto}.menu-empty[data-v-8e85cbc4]{padding:10px 14px;color:var(--el-text-color-secondary);font-size:12px}.muted-hint[data-v-8e85cbc4]{margin:0 0 8px;color:var(--el-text-color-secondary);font-size:12px} diff --git a/MiGu.Server/wwwroot/assets/base-BhyKBIh7.css b/MiGu.Server/wwwroot/assets/base-BhyKBIh7.css new file mode 100644 index 0000000..63afa07 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/base-BhyKBIh7.css @@ -0,0 +1 @@ +:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em} diff --git a/MiGu.Server/wwwroot/assets/el-alert-B6UgayC7.css b/MiGu.Server/wwwroot/assets/el-alert-B6UgayC7.css new file mode 100644 index 0000000..a777c72 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-alert-B6UgayC7.css @@ -0,0 +1 @@ +.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0} diff --git a/MiGu.Server/wwwroot/assets/el-button-ZSOkJyjJ.css b/MiGu.Server/wwwroot/assets/el-button-ZSOkJyjJ.css new file mode 100644 index 0000000..70c5bb5 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-button-ZSOkJyjJ.css @@ -0,0 +1 @@ +.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px} diff --git a/MiGu.Server/wwwroot/assets/el-button-group-B09mLjuS.css b/MiGu.Server/wwwroot/assets/el-button-group-B09mLjuS.css new file mode 100644 index 0000000..c429ad2 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-button-group-B09mLjuS.css @@ -0,0 +1 @@ +.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)} diff --git a/MiGu.Server/wwwroot/assets/el-card-BAyktVMS.css b/MiGu.Server/wwwroot/assets/el-card-BAyktVMS.css new file mode 100644 index 0000000..38d6d98 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-card-BAyktVMS.css @@ -0,0 +1 @@ +.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box} diff --git a/MiGu.Server/wwwroot/assets/el-checkbox-CzNtyWdF.css b/MiGu.Server/wwwroot/assets/el-checkbox-CzNtyWdF.css new file mode 100644 index 0000000..586766b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-checkbox-CzNtyWdF.css @@ -0,0 +1 @@ +.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0} diff --git a/MiGu.Server/wwwroot/assets/el-checkbox-group-D_6SYB2i.css b/MiGu.Server/wwwroot/assets/el-checkbox-group-D_6SYB2i.css new file mode 100644 index 0000000..b2a1822 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-checkbox-group-D_6SYB2i.css @@ -0,0 +1 @@ +.el-checkbox-group{font-size:0;line-height:0} diff --git a/MiGu.Server/wwwroot/assets/el-col-BWEC13sA.css b/MiGu.Server/wwwroot/assets/el-col-BWEC13sA.css new file mode 100644 index 0000000..0a1387c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-col-BWEC13sA.css @@ -0,0 +1 @@ +.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}} diff --git a/MiGu.Server/wwwroot/assets/el-collapse-item-BvmEG8Qn.css b/MiGu.Server/wwwroot/assets/el-collapse-item-BvmEG8Qn.css new file mode 100644 index 0000000..ab5b8af --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-collapse-item-BvmEG8Qn.css @@ -0,0 +1 @@ +.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px} diff --git a/MiGu.Server/wwwroot/assets/el-color-picker-DRNdOQmm.css b/MiGu.Server/wwwroot/assets/el-color-picker-DRNdOQmm.css new file mode 100644 index 0000000..94d053c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-color-picker-DRNdOQmm.css @@ -0,0 +1 @@ +.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,#fff0 0%,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333} diff --git a/MiGu.Server/wwwroot/assets/el-descriptions-BpDzfuC8.css b/MiGu.Server/wwwroot/assets/el-descriptions-BpDzfuC8.css new file mode 100644 index 0000000..d5f3a4f --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-descriptions-BpDzfuC8.css @@ -0,0 +1 @@ +.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px} diff --git a/MiGu.Server/wwwroot/assets/el-dialog-TSZfE1b8.css b/MiGu.Server/wwwroot/assets/el-dialog-TSZfE1b8.css new file mode 100644 index 0000000..9804d16 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-dialog-TSZfE1b8.css @@ -0,0 +1 @@ +.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}} diff --git a/MiGu.Server/wwwroot/assets/el-divider-B0pQhKGi.css b/MiGu.Server/wwwroot/assets/el-divider-B0pQhKGi.css new file mode 100644 index 0000000..3b3325b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-divider-B0pQhKGi.css @@ -0,0 +1 @@ +.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)} diff --git a/MiGu.Server/wwwroot/assets/el-dropdown-item-CtcKg9JC.css b/MiGu.Server/wwwroot/assets/el-dropdown-item-CtcKg9JC.css new file mode 100644 index 0000000..da58b5b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-dropdown-item-CtcKg9JC.css @@ -0,0 +1 @@ +.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0} diff --git a/MiGu.Server/wwwroot/assets/el-empty-S7fQQ3B8.css b/MiGu.Server/wwwroot/assets/el-empty-S7fQQ3B8.css new file mode 100644 index 0000000..7947015 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-empty-S7fQQ3B8.css @@ -0,0 +1 @@ +.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)} diff --git a/MiGu.Server/wwwroot/assets/el-form-item-D_relxjU.css b/MiGu.Server/wwwroot/assets/el-form-item-D_relxjU.css new file mode 100644 index 0000000..bd1d7c4 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-form-item-D_relxjU.css @@ -0,0 +1 @@ +.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline .el-form-item:last-child{margin-right:0}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:-moz-fit-content;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:hover,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field.is-focus,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:hover:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:focus:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field.is-focus:after{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex} diff --git a/MiGu.Server/wwwroot/assets/el-input-BddTPWVI.css b/MiGu.Server/wwwroot/assets/el-input-BddTPWVI.css new file mode 100644 index 0000000..b46c45b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-input-BddTPWVI.css @@ -0,0 +1 @@ +.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input .el-input__clear{transition:color var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important} diff --git a/MiGu.Server/wwwroot/assets/el-input-number-DExoAqKP.css b/MiGu.Server/wwwroot/assets/el-input-number-DExoAqKP.css new file mode 100644 index 0000000..45c90c8 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-input-number-DExoAqKP.css @@ -0,0 +1 @@ +.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px} diff --git a/MiGu.Server/wwwroot/assets/el-link-CPQZ-olG.css b/MiGu.Server/wwwroot/assets/el-link-CPQZ-olG.css new file mode 100644 index 0000000..798a5ec --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-link-CPQZ-olG.css @@ -0,0 +1 @@ +.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)} diff --git a/MiGu.Server/wwwroot/assets/el-loading-Dq8WDDkr.css b/MiGu.Server/wwwroot/assets/el-loading-Dq8WDDkr.css new file mode 100644 index 0000000..22df12e --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-loading-Dq8WDDkr.css @@ -0,0 +1 @@ +:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}} diff --git a/MiGu.Server/wwwroot/assets/el-popper-Wf_ds9r7.css b/MiGu.Server/wwwroot/assets/el-popper-Wf_ds9r7.css new file mode 100644 index 0000000..96022dc --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-popper-Wf_ds9r7.css @@ -0,0 +1 @@ +.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important} diff --git a/MiGu.Server/wwwroot/assets/el-progress-B7X4OvaL.css b/MiGu.Server/wwwroot/assets/el-progress-B7X4OvaL.css new file mode 100644 index 0000000..723c5e4 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-progress-B7X4OvaL.css @@ -0,0 +1 @@ +.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}} diff --git a/MiGu.Server/wwwroot/assets/el-radio-button-TYBaCPcE.css b/MiGu.Server/wwwroot/assets/el-radio-button-TYBaCPcE.css new file mode 100644 index 0000000..a332327 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-radio-button-TYBaCPcE.css @@ -0,0 +1 @@ +.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px} diff --git a/MiGu.Server/wwwroot/assets/el-scrollbar-GF-yQkxY.css b/MiGu.Server/wwwroot/assets/el-scrollbar-GF-yQkxY.css new file mode 100644 index 0000000..99fae7d --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-scrollbar-GF-yQkxY.css @@ -0,0 +1 @@ +.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0} diff --git a/MiGu.Server/wwwroot/assets/el-select-CK58rX4v.css b/MiGu.Server/wwwroot/assets/el-select-CK58rX4v.css new file mode 100644 index 0000000..ee76fbe --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-select-CK58rX4v.css @@ -0,0 +1 @@ +.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translate(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px} diff --git a/MiGu.Server/wwwroot/assets/el-statistic-D5_dVssE.css b/MiGu.Server/wwwroot/assets/el-statistic-D5_dVssE.css new file mode 100644 index 0000000..7c605bb --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-statistic-D5_dVssE.css @@ -0,0 +1 @@ +.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block} diff --git a/MiGu.Server/wwwroot/assets/el-switch-DpR9-s4E.css b/MiGu.Server/wwwroot/assets/el-switch-DpR9-s4E.css new file mode 100644 index 0000000..d74a39f --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-switch-DpR9-s4E.css @@ -0,0 +1 @@ +.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px} diff --git a/MiGu.Server/wwwroot/assets/el-tab-pane-C5lGmld3.css b/MiGu.Server/wwwroot/assets/el-tab-pane-C5lGmld3.css new file mode 100644 index 0000000..c3f7ca6 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-tab-pane-C5lGmld3.css @@ -0,0 +1 @@ +.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}} diff --git a/MiGu.Server/wwwroot/assets/el-table-column-Dp73S2HR.css b/MiGu.Server/wwwroot/assets/el-table-column-Dp73S2HR.css new file mode 100644 index 0000000..6250e62 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-table-column-Dp73S2HR.css @@ -0,0 +1 @@ +.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s 1ms}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0} diff --git a/MiGu.Server/wwwroot/assets/el-tag-1VV9QMa7.css b/MiGu.Server/wwwroot/assets/el-tag-1VV9QMa7.css new file mode 100644 index 0000000..1b3160f --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-tag-1VV9QMa7.css @@ -0,0 +1 @@ +.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag .el-tag__close .el-icon{display:flex}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)} diff --git a/MiGu.Server/wwwroot/assets/el-tooltip-l0sNRNKZ.js b/MiGu.Server/wwwroot/assets/el-tooltip-l0sNRNKZ.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/el-tooltip-l0sNRNKZ.js @@ -0,0 +1 @@ + diff --git a/MiGu.Server/wwwroot/assets/index-CZ3kdi1Q.css b/MiGu.Server/wwwroot/assets/index-CZ3kdi1Q.css new file mode 100644 index 0000000..33b25b9 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/index-CZ3kdi1Q.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;width:var(--el-input-width);display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{cursor:pointer;color:var(--el-text-color-regular);line-height:34px;font-size:var(--el-font-size-base);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 20px;list-style:none;overflow:hidden}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{cursor:default;height:100px;color:var(--el-text-color-secondary);justify-content:center;align-items:center;font-size:20px;display:flex}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-avatar-group{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px;display:inline-flex}.el-avatar-group .el-avatar{border:1px solid var(--el-border-color-extra-light)}.el-avatar-group .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-item-gap)}.el-avatar-group__collapse-avatars{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px}.el-avatar-group__collapse-avatars .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-collapse-item-gap)}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);background-color:var(--el-backtop-bg-color);width:40px;height:40px;color:var(--el-backtop-text-color);box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);justify-content:space-between;padding:12px 20px;display:flex}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar__select-controller .el-select{margin-right:8px}.el-calendar__select-controller .el-calendar-select__year{width:120px}.el-calendar__select-controller .el-calendar-select__month{width:60px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);padding:12px 0;font-weight:400}.el-calendar-table:not(.is-range) td.prev,.el-calendar-table:not(.is-range) td.next{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.el-carousel__item{width:100%;height:100%;z-index:calc(var(--el-index-normal) - 1);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage:hover .el-carousel__mask,.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{background-color:var(--el-color-white);opacity:.24;width:100%;height:100%;transition:var(--el-transition-duration-fast);position:absolute;top:0;left:0}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:#1f2d3d1c;--el-carousel-arrow-hover-background:#1f2d3d3b;--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel.is-vertical-outside{flex-direction:row;align-items:center;display:flex}.el-carousel.is-vertical-outside .el-carousel__container{flex:1}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);background-color:var(--el-carousel-arrow-background);color:#fff;z-index:10;text-align:center;font-size:var(--el-carousel-arrow-font-size);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{z-index:calc(var(--el-index-normal) + 1);margin:0;padding:0;list-style:none;position:absolute}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{top:50%;right:0;transform:translateY(-50%)}.el-carousel__indicators--outside{text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels .el-carousel__button{color:#000;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{cursor:pointer;background-color:#0000}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal);display:inline-block}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width) / 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);cursor:pointer;transition:var(--el-transition-duration);background-color:#fff;border:none;outline:none;margin:0;padding:0;display:block}.el-carousel__indicators--labels .el-carousel__button{width:auto;height:auto}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%)translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%)translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);width:-moz-fit-content;width:fit-content;font-size:var(--el-cascader-menu-font-size);display:flex}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{box-sizing:border-box;min-width:180px;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;min-height:100%;margin:0;padding:6px 0;list-style:none;position:relative}.el-cascader-menu__list.el-vl__window{margin:6px 0;padding:0}.el-cascader-menu__list.el-vl__window ul{margin:0;padding:0}.el-cascader-menu__hover-zone{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.el-cascader-menu__empty-text{color:var(--el-cascader-color-empty);align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{box-sizing:border-box;outline:none;align-items:center;height:34px;padding:0 30px 0 20px;line-height:34px;display:flex;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-selectable.in-checked-path,.el-cascader-node.is-active{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):hover,.el-cascader-node:not(.is-disabled):focus{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;overflow:hidden}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);vertical-align:middle;font-size:var(--el-font-size-base);outline:none;line-height:32px;display:inline-block;position:relative}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:read-only{cursor:pointer}.el-cascader .el-input .el-input__inner:disabled{cursor:not-allowed}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{text-align:left;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:4px;line-height:normal;display:flex;position:absolute;top:50%;left:0;right:30px;transform:translateY(-50%)}.el-cascader__tags .el-tag{text-overflow:ellipsis;background:var(--el-cascader-tag-background);align-items:center;max-width:100%;display:inline-flex}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{text-overflow:ellipsis;background:var(--el-fill-color);align-items:center;max-width:100%;display:inline-flex}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-wrap{max-height:204px}.el-cascader__suggestion-list{font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center;margin:0;padding:6px 0;list-style:none}.el-cascader__suggestion-list.el-vl__window{margin:6px 0;padding:0}.el-cascader__suggestion-list.el-vl__window ul{margin:0;padding:0}.el-cascader__suggestion-item{text-align:left;cursor:pointer;box-sizing:border-box;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 15px;display:flex}.el-cascader__suggestion-item:hover,.el-cascader__suggestion-item:focus{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>:not(.el-icon){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__suggestion-item .el-icon{flex-shrink:0}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{min-width:60px;height:24px;color:var(--el-cascader-menu-text-color);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;margin-left:7px;padding:0}.el-cascader__search-input::placeholder{color:#0000}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);transition:var(--el-transition-all);padding:7px 15px;font-weight:700;display:inline-block}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{background-color:var(--el-color-success-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{background-color:var(--el-color-warning-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{background-color:var(--el-color-danger-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{background-color:var(--el-color-error-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);--el-checkbox-button-disabled-checked-fill:var(--el-border-color-extra-light);display:inline-block;position:relative}.el-checkbox-button__inner{line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button.is-disabled.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-disabled-checked-fill)}.el-checkbox-button:first-child .el-checkbox-button__inner{border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,#fff0 0%,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker.single-panel{width:322px}.el-date-range-picker.single-panel .el-picker-panel__body{min-width:322px}.el-date-range-picker.single-panel.has-sidebar.has-time{width:434px}.el-date-range-picker.single-panel.has-sidebar{width:438px}.el-date-range-picker.single-panel .el-picker-panel__content{width:292px;margin:15px;padding:0;display:block;position:relative}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;box-sizing:border-box;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration);flex-direction:column;display:flex;position:absolute}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{color:var(--el-text-color-primary);padding:var(--el-drawer-padding-primary);align-items:center;margin-bottom:32px;padding-bottom:0;display:flex;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{line-height:inherit;flex:1;margin:0;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);text-align:right;padding-top:10px;overflow:hidden}.el-drawer__close-btn{cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:#0000;border:none;outline:none;display:inline-flex}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{padding:var(--el-drawer-padding-primary);flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;user-select:none;background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:before{content:"";background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);cursor:ew-resize;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{width:3px;top:0;bottom:0}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);cursor:ns-resize;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:#0000!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:-moz-fit-content;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:hover,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field.is-focus,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:hover:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:focus:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field.is-focus:after{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline .el-form-item:last-child{margin-right:0}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{z-index:1;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{width:40px;height:40px;font-size:40px;top:40px;right:40px}.el-image-viewer__canvas{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:static}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;height:44px;padding:0 23px;bottom:30px;left:50%;transform:translate(-50%)}.el-image-viewer__actions__inner{cursor:default;color:#fff;justify-content:space-around;align-items:center;gap:22px;width:100%;height:100%;padding:0 6px;font-size:23px;display:flex}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{cursor:default;color:#fff;bottom:90px;left:50%;transform:translate(-50%)}.el-image-viewer__prev{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;left:40px;transform:translateY(-50%)}.el-image-viewer__next{text-indent:2px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;right:40px;transform:translateY(-50%)}.el-image-viewer__close{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px}.el-image-viewer__mask{opacity:.5;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.el-image-viewer-parent--hidden{overflow:hidden}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{display:inline-block;position:relative;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle;justify-content:center;align-items:center;font-size:14px;display:flex}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input .el-input__clear{transition:color var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;box-sizing:border-box;cursor:pointer;font-size:var(--el-input-tag-font-size);padding:var(--el-input-tag-padding);width:var(--el-input-tag-width);min-height:var(--el-input-tag-mini-height);line-height:var(--el-input-tag-line-height);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;display:flex;transform:translate(0)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;display:flex}.el-input-tag__suffix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:8px;display:flex}.el-input-tag__collapse-tag{line-height:1}.el-input-tag__input-tag-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{cursor:pointer;border-color:#0000}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;gap:var(--el-input-tag-gap);flex-wrap:wrap;flex:1;min-width:0;max-width:100%;display:flex;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;user-select:none}.el-input-tag__drop-indicator{width:1px;height:var(--el-input-tag-line-height);background-color:var(--el-color-primary);position:absolute;top:0}.el-input-tag__inner .el-tag{cursor:pointer;border-color:#0000;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:normal;overflow:hidden}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{color:var(--el-input-tag-text-color);font-size:inherit;font-family:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;padding:0}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-input-otp{--el-input-otp-text-color:var(--el-text-color-regular);--el-input-otp-field-width:calc(var(--el-input-otp-size) - 4px);--el-input-otp-gap:8px;--el-input-otp-font-size:14px;--el-input-otp-size:32px}.el-input-otp--large{--el-input-otp-gap:12px;--el-input-otp-font-size:14px;--el-input-otp-size:40px}.el-input-otp--small{--el-input-otp-gap:6px;--el-input-otp-font-size:12px;--el-input-otp-size:24px}.el-input-otp{align-items:center;column-gap:var(--el-input-otp-gap);font-size:var(--el-input-otp-font-size);height:var(--el-input-otp-size);flex-wrap:nowrap;display:inline-flex}.el-input-otp.is-disabled,.el-input-otp.is-disabled .el-input-otp__input{cursor:not-allowed}.el-input-otp__input-field{width:var(--el-input-otp-field-width,calc(var(--el-input-otp-size) - 4px));border-radius:var(--el-border-radius-base);height:100%;position:relative}.el-input-otp__input{text-align:center;width:100%;height:100%;line-height:1;font-size:inherit;color:var(--el-input-otp-text-color,var(--el-text-color-regular));background-color:#0000;border:none;outline:none;padding:0}.el-input-otp.is-disabled .el-input-otp__input{color:var(--el-text-color-disabled)}.el-input-otp--outlined .el-input-otp__input-field{box-shadow:0 0 0 1px var(--el-border-color) inset}.el-input-otp--outlined .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset}.el-input-otp--outlined .el-input-otp__input-field:focus-within{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--outlined.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}.el-input-otp--outlined.is-disabled .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-border-color) inset}.el-input-otp--filled .el-input-otp__input-field{background-color:var(--el-fill-color)}.el-input-otp--filled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-dark)}.el-input-otp--filled .el-input-otp__input-field:focus-within{background-color:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--filled.is-disabled .el-input-otp__input-field,.el-input-otp--filled.is-disabled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-light)}.el-input-otp--underlined .el-input-otp__input-field:after{content:"";background-color:var(--el-border-color);width:100%;height:1px;display:block;position:absolute;bottom:0;left:0}.el-input-otp--underlined .el-input-otp__input-field:hover:after{background-color:var(--el-color-primary-light-5)}.el-input-otp--underlined .el-input-otp__input-field:focus-within:after{background-color:var(--el-color-primary)}.el-input-otp--underlined.is-disabled .el-input-otp__input-field:hover:after{background-color:var(--el-border-color)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:break-word;z-index:9999;display:flex;position:fixed;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);flex:1}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);color:var(--el-notification-content-color);margin:6px 0 0;line-height:24px}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size);flex-shrink:0}.el-notification .el-notification__closeBtn{cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size);position:absolute;top:18px;right:15px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{justify-content:space-between;align-items:center;line-height:24px;display:flex}.el-page-header__left{align-items:center;margin-right:40px;display:flex;position:relative}.el-page-header__back{cursor:pointer;align-items:center;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;margin-right:10px;font-size:16px;display:flex}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);align-items:center;font-weight:400;display:flex}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select{width:128px}.el-pagination .btn-prev,.el-pagination .btn-next{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pagination .btn-prev *,.el-pagination .btn-next *{pointer-events:none}.el-pagination .btn-prev:focus,.el-pagination .btn-next:focus{outline:none}.el-pagination .btn-prev:hover,.el-pagination .btn-next:hover{color:var(--el-pagination-hover-color)}.el-pagination .btn-prev.is-active,.el-pagination .btn-next.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination .btn-prev.is-active.is-disabled,.el-pagination .btn-next.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination .btn-prev:disabled,.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next:disabled,.el-pagination .btn-next.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-prev .el-icon,.el-pagination .btn-next .el-icon{width:inherit;font-size:12px;font-weight:700;display:block}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);font-weight:400}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);align-items:center;font-weight:400;display:flex}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;justify-content:flex-end;align-items:center;display:flex}.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .el-pager li:disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-prev,.el-pagination--small .btn-next,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small span:not([class*=suffix]),.el-pagination--small button{font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-prev,.el-pagination--large .btn-next,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{-webkit-user-select:none;user-select:none;align-items:center;margin:0;padding:0;font-size:0;list-style:none;display:flex}.el-pager li{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li:disabled,.el-pager li.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm{outline:none}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);min-width:150px;padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);margin-bottom:12px;line-height:1}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);--el-rate-outline-color:var(--el-color-primary-light-5);align-items:center;height:32px;display:inline-flex}.el-rate:focus,.el-rate:active{outline:none}.el-rate:focus-visible .el-rate__item .el-rate__icon.is-focus-visible{outline:2px solid var(--el-rate-outline-color);transition:outline-offset,outline}.el-rate__item{cursor:pointer;vertical-align:middle;color:var(--el-rate-void-color);font-size:0;line-height:normal;display:inline-block;position:relative}.el-rate .el-rate__icon{font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration);display:inline-block;position:relative}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-rate__decimal--box{position:absolute;top:0;left:0}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:not-allowed;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;text-align:center;box-sizing:border-box;padding:var(--el-result-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);margin:0;line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{font-size:var(--el-font-size-base);color:var(--el-text-color-regular);margin:0;line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translate(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{vertical-align:top;display:inline-flex}.el-space__item{flex-wrap:wrap;display:flex}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{vertical-align:middle;display:inline-block}.el-spinner-inner{width:50px;height:50px;animation:2s linear infinite rotate}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-grow:0;flex-shrink:0;flex-basis:auto!important}.el-step:last-of-type .el-step__main,.el-step:last-of-type .el-step__description{padding-right:0}.el-step__head{width:100%;position:relative}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{z-index:1;box-sizing:border-box;background:var(--el-bg-color);justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .15s ease-out;display:inline-flex;position:relative}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;color:inherit;font-weight:700;line-height:1;display:inline-block}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{box-sizing:border-box;border:1px solid;width:0;height:0;transition:all .15s ease-out;display:block}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{margin-top:-5px;padding-right:10%;font-size:12px;font-weight:400;line-height:20px}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{padding-bottom:8px;line-height:24px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{width:auto;padding-right:10px;font-size:0}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8)translateY(1px)}.el-step.is-simple .el-step__main{flex-grow:1;align-items:stretch;display:flex;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{overflow-wrap:break-word;max-width:50%}.el-step.is-simple .el-step__arrow{flex-grow:1;justify-content:center;align-items:center;display:flex}.el-step.is-simple .el-step__arrow:before,.el-step.is-simple .el-step__arrow:after{content:"";background:var(--el-text-color-placeholder);width:1px;height:15px;display:inline-block;position:absolute}.el-step.is-simple .el-step__arrow:before{transform-origin:0 0;transform:rotate(-45deg)translateY(-4px)}.el-step.is-simple .el-step__arrow:after{transform-origin:100% 100%;transform:rotate(45deg)translateY(4px)}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{line-height:normal;display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s 1ms}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__vertical,.el-table-v2__left .el-vl__horizontal{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__vertical,.el-table-v2__right .el-vl__horizontal{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{position:absolute;bottom:0;left:0;right:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{z-index:9999;position:absolute;inset:0}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{-webkit-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color);height:100%;color:var(--el-table-header-text-color);align-items:center;padding:0 8px;font-weight:700;display:flex;overflow:hidden}.el-table-v2__header-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__header-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__sort-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__sort-icon{transition:opacity,display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{opacity:1;display:flex}.el-table-v2__row{border-bottom:var(--el-table-border);transition:background-color var(--el-transition-duration);align-items:center;display:flex}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;height:100%;padding:0 8px;display:flex;overflow:hidden}.el-table-v2__row-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__row-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__expand-icon{-webkit-user-select:none;user-select:none;margin:0 4px}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag .el-tag__close .el-icon{display:flex}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);font-size:var(--el-text-font-size);color:var(--el-text-color);overflow-wrap:break-word;align-self:center;margin:0;padding:0}.el-text.is-truncated{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.el-text.is-line-clamp{-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{min-width:0;margin:5px 0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{vertical-align:middle;padding:0 30px;display:inline-block}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);box-sizing:border-box;max-height:100%;display:inline-block;position:relative;overflow:hidden}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.el-transfer-panel__list{height:var(--el-transfer-panel-body-height);box-sizing:border-box;margin:0;padding:6px 0;list-style:none;overflow:auto}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%;line-height:var(--el-transfer-item-height);padding-left:22px;display:block;overflow:hidden}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;box-sizing:border-box;padding:15px}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);box-sizing:border-box;width:100%;font-size:12px;display:inline-block}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);align-items:center;margin:0;padding-left:15px;display:flex}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;width:100%;display:flex;position:relative}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{min-width:0;color:var(--el-text-color-primary);flex:1;align-items:center;font-size:16px;font-weight:400;display:flex}.el-transfer-panel .el-transfer-panel__header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.el-transfer-panel .el-transfer-panel__header-count{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;margin-right:15px;font-size:12px}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);color:var(--el-text-color-secondary);text-align:center;margin:0;padding:6px 15px 0}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{text-align:center;width:100%;height:100%;min-height:60px;position:relative}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;position:absolute;left:0;right:0}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);height:var(--el-tree-node-content-height);cursor:pointer;align-items:center;display:flex}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);transition:transform var(--el-transition-duration) ease-in-out;font-size:12px;transform:rotate(0)}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:#0000;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:#0000;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{flex:1;height:20px;padding-left:0;line-height:20px;background:0 0!important}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);width:var(--el-tour-width);padding:var(--el-tour-padding-primary);background:var(--el-tour-bg-color);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;overflow-wrap:break-word;outline:none}.el-tour__arrow{background:var(--el-tour-bg-color);pointer-events:none;box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-tour__content[data-side^=top] .el-tour__arrow{border-top-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=right] .el-tour__arrow{border-top-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{cursor:pointer;width:40px;height:40px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size,16px))}.el-tour__title{line-height:var(--el-tour-font-line-height);font-size:var(--el-tour-title-font-size);color:var(--el-tour-title-text-color);font-weight:var(--el-tour-title-font-weight)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{padding-top:var(--el-tour-padding-primary);box-sizing:border-box;justify-content:space-between;display:flex}.el-tour__content .el-tour-indicators{flex:1;display:inline-block}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{color:var(--el-color-primary);border-color:var(--el-color-primary);background:#fff}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-hover-color:var(--el-text-color-regular);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);opacity:0;z-index:0;border-radius:4px;position:absolute}.el-anchor.el-anchor--vertical .el-anchor__marker{width:4px;height:14px;transition:top .25s ease-in-out,opacity .25s;top:8px;left:0}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{content:"";background-color:#0505050f;width:2px;height:100%;position:absolute;left:0}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{width:20px;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;bottom:0}.el-anchor.el-anchor--horizontal .el-anchor__list{padding-bottom:4px;display:flex}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{content:"";background-color:#0505050f;width:100%;height:2px;position:absolute;bottom:0}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{flex-direction:column;display:flex}.el-anchor__link{font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);color:var(--el-anchor-color);transition:color var(--el-transition-duration);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;outline:none;max-width:100%;padding:4px 0;text-decoration:none;overflow:hidden}.el-anchor__link:hover,.el-anchor__link:focus{color:var(--el-hover-color)}.el-anchor__link:focus-visible{border-radius:var(--el-border-radius-base);outline:2px solid var(--el-color-primary)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);background:var(--el-segmented-bg-color);min-height:32px;padding:var(--el-segmented-padding);border-radius:var(--el-border-radius-base);color:var(--el-segmented-color);box-sizing:border-box;align-items:stretch;font-size:14px;display:inline-flex}.el-segmented__group{align-items:stretch;width:100%;display:flex;position:relative}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);pointer-events:none;width:10px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{content:"";border-radius:inherit;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;inset:0}.el-segmented__item{cursor:pointer;border-radius:calc(var(--el-border-radius-base) - 2px);flex:1;align-items:center;padding:0 11px;display:flex}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{color:var(--el-segmented-item-hover-color);background:var(--el-segmented-item-hover-bg-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{cursor:not-allowed;color:var(--el-segmented-item-disabled-color)}.el-segmented__item-input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.el-segmented__item-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;flex:1;line-height:normal;transition:color .3s;overflow:hidden}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);min-height:40px;font-size:16px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);min-height:24px;font-size:14px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px);padding:0 7px}.el-mention{width:100%;position:relative}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{font-size:var(--el-mention-font-size);white-space:nowrap;text-overflow:ellipsis;color:var(--el-mention-option-color);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);box-sizing:border-box;min-width:var(--el-mention-option-min-width);cursor:pointer;padding:0 20px;position:relative;overflow:hidden}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{color:var(--el-mention-option-disabled-color);cursor:not-allowed;background-color:unset}.el-mention-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-mention-dropdown__loading{text-align:center;color:var(--el-mention-option-loading-color);min-width:var(--el-mention-option-min-width);margin:0;padding:10px 0;font-size:12px}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{padding:var(--el-mention-padding);box-sizing:border-box;margin:0;list-style:none}.el-mention-dropdown__header{padding:var(--el-mention-header-padding);border-bottom:var(--el-mention-border)}.el-mention-dropdown__footer{padding:var(--el-mention-footer-padding);border-top:var(--el-mention-border)}.el-splitter{width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.el-splitter__mask{z-index:999;position:absolute;inset:0}.el-splitter__mask-horizontal{cursor:ew-resize}.el-splitter__mask-vertical{cursor:ns-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{-webkit-user-select:none;user-select:none;flex:none;position:relative}.el-splitter-bar__dragger{z-index:1;background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:before,.el-splitter-bar__dragger:after{content:"";background-color:var(--el-border-color-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:not(.is-disabled):before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:before,.el-splitter-bar__dragger-horizontal:after{width:2px;height:100%}.el-splitter-bar__dragger-vertical:before,.el-splitter-bar__dragger-vertical:after{width:100%;height:2px}.el-splitter-bar__dragger-active:before,.el-splitter-bar__dragger-active:after{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{background:var(--el-border-color-light);cursor:pointer;opacity:0;z-index:9;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute}.el-splitter-bar__collapse-icon:hover{opacity:1;background-color:var(--el-color-primary-light-5)}.el-splitter-bar__horizontal-collapse-icon-start{width:16px;height:24px;top:50%;left:-12px;transform:translate(-50%,-50%)}.el-splitter-bar__horizontal-collapse-icon-end{width:16px;height:24px;top:50%;left:12px;transform:translate(-50%,-50%)}.el-splitter-bar__vertical-collapse-icon-start{width:24px;height:16px;top:-12px;right:50%;transform:translate(50%,-50%)}.el-splitter-bar__vertical-collapse-icon-end{width:24px;height:16px;top:12px;right:50%;transform:translate(50%,-50%)}.el-splitter-panel{scrollbar-width:thin;box-sizing:border-box;flex-grow:0;overflow:auto}:root{--mg-status-success: #22c55e;--mg-status-success-rgb: 34, 197, 94;--mg-status-warning: #f59e0b;--mg-status-warning-rgb: 245, 158, 11;--mg-status-danger: #ef4444;--mg-status-danger-rgb: 239, 68, 68;--mg-status-info: #3b82f6;--mg-status-info-rgb: 59, 130, 246;--mg-status-idle: #94a3b8;--mg-status-idle-rgb: 148, 163, 184;--mg-data-c1: #3b82f6;--mg-data-c2: #22c55e;--mg-data-c3: #a855f7;--mg-data-c4: #f59e0b;--mg-data-c5: #ef4444;--mg-data-c6: #06b6d4;--mg-data-c7: #ec4899;--mg-data-c8: #84cc16;--mg-font-sans: "PingFang SC", "Microsoft YaHei", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mg-font-mono: "JetBrains Mono", "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--mg-primary: #7c3aed;--mg-primary-rgb: 124, 58, 237;--mg-primary-hover: #8b5cf6;--mg-primary-hover-rgb: 139, 92, 246;--mg-primary-active: #5b21b6;--mg-accent: #c4b5fd;--mg-accent-rgb: 196, 181, 253;--mg-primary-light-3: #9d6cf2;--mg-primary-light-5: #b594f7;--mg-primary-light-7: #6f4eab;--mg-primary-light-8: #4c357a;--mg-primary-light-9: #2d1f55;--mg-primary-dark-2: #4c1d95;--mg-bg-app-1: #0e0a24;--mg-bg-app-2: #1f1147;--mg-bg-app-3: #06031a;--mg-bg-app-deep-rgb: 6, 3, 26;--mg-bg-aside-1: #0c0820;--mg-bg-aside-2: #03020e;--mg-bg-aside-rgb: 10, 6, 30;--mg-bg-card-rgb: 38, 24, 78;--mg-bg-card-hi-rgb: 58, 38, 110;--mg-bg-card-darker-rgb: 20, 12, 48;--mg-shadow-rgb: 8, 2, 24;--mg-text-tint-rgb: 242, 232, 255;--mg-text-hi-rgb: 220, 200, 252;--mg-orb-a-opacity: .55;--mg-orb-b-opacity: .5;--mg-orb-c-opacity: .4;--mg-glass-bg: rgba(255, 255, 255, .06);--mg-glass-bg-hover: rgba(255, 255, 255, .1);--mg-glass-bg-active: rgba(255, 255, 255, .14);--mg-glass-border: rgba(255, 255, 255, .18);--mg-glass-border-hi: rgba(255, 255, 255, .28);--mg-glass-shadow: 0 10px 28px rgba(var(--mg-shadow-rgb), .55), 0 0 22px rgba(var(--mg-primary-rgb), .18), 0 0 0 1px rgba(255, 255, 255, .06) inset, 0 1px 0 rgba(255, 255, 255, .12) inset;--mg-glass-shadow-hi: 0 18px 44px rgba(var(--mg-shadow-rgb), .7), 0 0 36px rgba(var(--mg-primary-hover-rgb), .3), 0 0 0 1px rgba(var(--mg-accent-rgb), .25) inset, 0 1px 0 rgba(255, 255, 255, .22) inset;--mg-glass-blur: blur(20px) saturate(160%);--mg-glass-blur-hi: blur(30px) saturate(180%);--mg-radius-sm: 8px;--mg-radius: 14px;--mg-radius-lg: 20px;--mg-radius-xl: 24px;--mg-text-light: #ffffff;--mg-text-muted: rgba(255, 255, 255, .7);--mg-text-dim: rgba(255, 255, 255, .5);--mg-text-faint: rgba(255, 255, 255, .35);--mg-divider: rgba(255, 255, 255, .08);--el-color-primary: var(--mg-primary);--el-color-primary-rgb: var(--mg-primary-rgb);--el-color-primary-light-3: var(--mg-primary-light-3);--el-color-primary-light-5: var(--mg-primary-light-5);--el-color-primary-light-7: var(--mg-primary-light-7);--el-color-primary-light-8: var(--mg-primary-light-8);--el-color-primary-light-9: var(--mg-primary-light-9);--el-color-primary-dark-2: var(--mg-primary-dark-2);--mg-transition: all .25s cubic-bezier(.25, .8, .25, 1)}html{--el-color-primary: var(--mg-primary) !important;--el-color-primary-rgb: var(--mg-primary-rgb) !important;--el-color-primary-light-3: var(--mg-primary-light-3) !important;--el-color-primary-light-5: var(--mg-primary-light-5) !important;--el-color-primary-light-7: var(--mg-primary-light-7) !important;--el-color-primary-light-8: var(--mg-primary-light-8) !important;--el-color-primary-light-9: var(--mg-primary-light-9) !important;--el-color-primary-dark-2: var(--mg-primary-dark-2) !important}body{margin:0;font-family:var(--mg-font-sans);color:var(--mg-text-light);background:radial-gradient(ellipse at 20% 0%,rgba(var(--mg-primary-hover-rgb),.45) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(var(--mg-bg-card-rgb),.65) 0%,transparent 55%),linear-gradient(135deg,var(--mg-bg-app-1) 0%,var(--mg-bg-app-2) 50%,var(--mg-bg-app-3) 100%);background-attachment:fixed;min-height:100vh;transition:background-color .35s ease}#app{min-height:100vh;position:relative}#app:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(var(--mg-accent-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mg-accent-rgb),.05) 1px,transparent 1px);background-size:48px 48px,48px 48px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);opacity:.55}#app:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay}.app-shell,.login-page{position:relative;z-index:1}.mg-glass{background:var(--mg-glass-bg);border:1px solid var(--mg-glass-border);border-radius:var(--mg-radius);backdrop-filter:var(--mg-glass-blur);-webkit-backdrop-filter:var(--mg-glass-blur);box-shadow:var(--mg-glass-shadow);transition:var(--mg-transition)}.mg-glass:hover{background:var(--mg-glass-bg-hover);border-color:var(--mg-glass-border-hi);box-shadow:var(--mg-glass-shadow-hi);transform:translateY(-2px)}.mg-glass-lg{background:#ffffff14;border:1px solid rgba(255,255,255,.22);border-radius:var(--mg-radius-lg);backdrop-filter:var(--mg-glass-blur-hi);-webkit-backdrop-filter:var(--mg-glass-blur-hi);box-shadow:0 30px 80px rgba(var(--mg-shadow-rgb),.55),0 0 0 1px #ffffff40 inset,0 1px #fff6 inset}.el-button--primary{--el-button-bg-color: var(--mg-primary);--el-button-border-color: var(--mg-primary);--el-button-hover-bg-color: var(--mg-primary-hover);--el-button-hover-border-color: var(--mg-primary-hover);--el-button-active-bg-color: var(--mg-primary-active);--el-button-active-border-color: var(--mg-primary-active)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:rgba(var(--mg-accent-rgb),.4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--mg-accent-rgb),.7)}::-webkit-scrollbar-track{background:transparent}::selection{background:rgba(var(--mg-accent-rgb),.4);color:#fff}a{color:var(--mg-accent)}a:hover{color:rgba(var(--mg-accent-rgb),.85)}.mg-content{--el-fill-color-blank: transparent;--el-fill-color-light: rgba(var(--mg-bg-card-rgb), .45);--el-fill-color-lighter: rgba(var(--mg-bg-card-rgb), .35);--el-fill-color: rgba(var(--mg-bg-card-rgb), .55);--el-fill-color-dark: rgba(var(--mg-bg-card-rgb), .65);--el-fill-color-darker: rgba(var(--mg-bg-card-rgb), .75);--el-bg-color: rgba(var(--mg-bg-card-rgb), .55);--el-bg-color-page: transparent;--el-bg-color-overlay: rgba(var(--mg-bg-card-rgb), .92);--el-border-color: rgba(255, 255, 255, .14);--el-border-color-light: rgba(255, 255, 255, .1);--el-border-color-lighter: rgba(255, 255, 255, .08);--el-border-color-extra-light: rgba(255, 255, 255, .06);--el-text-color-secondary: rgba(var(--mg-text-hi-rgb), .7);--el-text-color-placeholder: rgba(255, 255, 255, .4);--el-text-color-disabled: rgba(255, 255, 255, .3)}.mg-content .fme-desc{background:rgba(var(--mg-bg-card-rgb),.55)!important;color:var(--mg-text-light)!important;border-left-color:var(--mg-accent)!important}.mg-content .fme-path{color:var(--mg-text-light)!important}.mg-content .fme-path-empty{color:var(--mg-text-muted)!important}.mg-content .admin-tabs.el-tabs--border-card{height:100%;background:rgba(var(--mg-bg-card-rgb),.45)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--mg-radius);box-shadow:var(--mg-glass-shadow);backdrop-filter:var(--mg-glass-blur);-webkit-backdrop-filter:var(--mg-glass-blur);overflow:hidden;display:flex;flex-direction:column}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header{background:rgba(var(--mg-bg-card-darker-rgb),.35)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;margin:0}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__nav{border:0!important}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item{background:transparent!important;color:#dcc8f0bf!important;border:0!important;height:42px;line-height:42px;font-size:13.5px;letter-spacing:.5px;padding:0 18px!important;transition:background .2s ease,color .2s ease}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item:hover{background:rgba(var(--mg-accent-rgb),.1)!important;color:#fff!important}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background:rgba(var(--mg-accent-rgb),.18)!important;color:#fff!important;font-weight:600;box-shadow:inset 0 -2px 0 0 var(--mg-accent)}.mg-content .admin-tabs.el-tabs--border-card>.el-tabs__content{flex:1;padding:14px;overflow:auto;background:transparent!important}.mg-content .admin-tabs.el-tabs--border-card .el-tab-pane{height:100%}:root[data-theme=fame-lavender] .mg-content .admin-tabs.el-tabs--border-card{background:#fff!important;border:1px solid rgba(124,58,237,.18)!important;box-shadow:0 8px 24px #7c3aed0f!important}:root[data-theme=fame-lavender] .mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header{background:#7c3aed0a!important;border-bottom:1px solid rgba(124,58,237,.14)!important}:root[data-theme=fame-lavender] .mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item{color:#4a3d6e!important}:root[data-theme=fame-lavender] .mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item:hover{background:#7c3aed14!important;color:#7c3aed!important}:root[data-theme=fame-lavender] .mg-content .admin-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background:#7c3aed24!important;color:#7c3aed!important}.mg-content .el-card{background:linear-gradient(135deg,rgba(var(--mg-bg-card-rgb),.55),rgba(var(--mg-bg-app-deep-rgb),.6))!important;border:1px solid rgba(255,255,255,.14);border-radius:var(--mg-radius);backdrop-filter:var(--mg-glass-blur);-webkit-backdrop-filter:var(--mg-glass-blur);box-shadow:var(--mg-glass-shadow);color:var(--mg-text-light);transition:var(--mg-transition);overflow:hidden}.mg-content .el-card:hover{background:linear-gradient(135deg,rgba(var(--mg-bg-card-hi-rgb),.65),rgba(var(--mg-bg-card-darker-rgb),.67))!important;border-color:#ffffff38;box-shadow:var(--mg-glass-shadow-hi);transform:translateY(-2px)}.mg-content .el-card.no-hover:hover{transform:none}.mg-content .el-card__header{background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.1);color:var(--mg-text-light);font-weight:600;padding:14px 18px}.mg-content .el-card__body{background:transparent!important;color:var(--mg-text-light)}.mg-content .el-card .el-card{background:#ffffff0a!important;border-color:#ffffff1a;box-shadow:none}.mg-content .el-card .el-card:hover{background:#ffffff0f!important;transform:none;box-shadow:none}.mg-content h1,.mg-content h2,.mg-content h3{color:var(--mg-text-light);margin-top:0}.mg-content p,.mg-content .el-statistic__head{color:var(--mg-text-muted)}.mg-content .el-statistic__number,.mg-content .el-statistic__content{color:var(--mg-text-light)}.mg-content .el-tabs{--el-text-color-primary: #fff}.mg-content .el-tabs__item{color:#ffffffd1!important}.mg-content .el-tabs__item:hover{color:#fff!important}.mg-content .el-tabs__item.is-active{color:#fff!important;font-weight:600}.mg-content .el-tabs__active-bar{background-color:var(--mg-accent)!important}.mg-content .el-tabs__nav-wrap:after{background-color:#ffffff24!important}.mg-content .el-table,.mg-content .el-table tr,.mg-content .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:transparent!important}.mg-content .el-table{--el-table-bg-color: transparent;--el-table-tr-bg-color: transparent;--el-table-header-bg-color: transparent;--el-table-row-hover-bg-color: rgba(var(--mg-accent-rgb), .18);--el-table-border-color: rgba(255, 255, 255, .1);--el-table-header-text-color: rgba(255, 255, 255, .7);--el-table-text-color: var(--mg-text-light);--el-fill-color-blank: transparent;--el-fill-color-light: rgba(255, 255, 255, .04);color:var(--mg-text-light)!important}.mg-content .el-table th.el-table__cell{background:#ffffff0f!important;color:#ffffffbf!important;border-bottom-color:#ffffff1f!important}.mg-content .el-table td.el-table__cell{background:transparent!important;color:var(--mg-text-light)!important;border-bottom-color:#ffffff14!important}.mg-content .el-table--striped .el-table__body tr:nth-child(2n) td.el-table__cell{background:#ffffff08!important}.mg-content .el-table tr:hover>td.el-table__cell,.mg-content .el-table__body tr.hover-row>td.el-table__cell{background:rgba(var(--mg-accent-rgb),.18)!important}.mg-content .el-table__empty-block{background:transparent;color:var(--mg-text-dim)}.mg-content .el-table__inner-wrapper:before,.mg-content .el-table:before{background:#ffffff1a!important}.mg-content .el-input__wrapper,.mg-content .el-textarea__inner{background:#ffffff0f!important;box-shadow:0 0 0 1px #ffffff2e inset!important}.mg-content .el-input__wrapper.is-focus{box-shadow:0 0 0 1px rgba(var(--mg-accent-rgb),.7) inset,0 0 16px rgba(var(--mg-primary-hover-rgb),.35)!important}.mg-content .el-input__inner{color:var(--mg-text-light)!important}.mg-content .el-input__inner::placeholder{color:var(--mg-text-faint)}.mg-content .el-form-item__label{color:var(--mg-text-muted)!important}.mg-content .el-divider__text{background:transparent!important;color:var(--mg-text-muted)}.mg-content .el-divider{background:var(--mg-divider)}.mg-content .el-tag{background:rgba(var(--mg-accent-rgb),.18);color:rgba(var(--mg-text-tint-rgb),1);border-color:rgba(var(--mg-accent-rgb),.4)}.mg-content .el-tag--success{background:#6f8f4c38;color:#c0d99c;border-color:#6f8f4c80}.mg-content .el-tag--warning{background:#c98a1d38;color:#f5cf85;border-color:#c98a1d80}.mg-content .el-tag--danger{background:#b3324f38;color:#ff9bb8;border-color:#b3324f80}.mg-content .el-tag--info{background:#7a6b8738;color:#c9bdd6;border-color:#7a6b8780}.mg-content .el-descriptions{--el-text-color-primary: #fff;--el-text-color-regular: var(--mg-text-muted);--el-border-color-lighter: rgba(255, 255, 255, .12);--el-fill-color-blank: transparent;color:var(--mg-text-light)}.mg-content .el-descriptions__body,.mg-content .el-descriptions__table{background:transparent!important}.mg-content .el-descriptions__label,.mg-content .el-descriptions__cell.is-bordered-label{background:#ffffff0d!important;color:var(--mg-text-muted)!important;border-color:#ffffff1f!important}.mg-content .el-descriptions__content,.mg-content .el-descriptions__cell.is-bordered-content{background:transparent!important;color:#fff!important;border-color:#ffffff1f!important}.mg-content .el-descriptions__title{color:#fff}.mg-content .el-progress-bar__outer{background:#ffffff1a}.mg-content .el-progress-bar__inner{background:linear-gradient(90deg,var(--mg-primary-hover) 0%,var(--mg-accent) 100%)}.mg-content .el-alert{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.14);color:var(--mg-text-light)}.mg-content .el-alert__title,.mg-content .el-alert__description{color:var(--mg-text-light)!important}.mg-content .el-collapse{border-color:#ffffff1a;--el-collapse-header-bg-color: transparent;--el-collapse-content-bg-color: transparent;--el-collapse-header-text-color: #fff;--el-collapse-content-text-color: var(--mg-text-light)}.mg-content .el-collapse-item__header,.mg-content .el-collapse-item__wrap{background:transparent!important;border-color:#ffffff1a!important;color:var(--mg-text-light)!important}.mg-content .el-radio__label,.mg-content .el-checkbox__label{color:var(--mg-text-light)!important}.mg-content .el-radio__inner,.mg-content .el-checkbox__inner{background:#ffffff14;border-color:#ffffff52}.mg-content .el-radio-button__inner{background:#ffffff0f!important;border-color:#ffffff2e!important;color:var(--mg-text-light)!important}.mg-content .el-radio-button.is-active .el-radio-button__inner{background:var(--mg-primary)!important;border-color:var(--mg-primary)!important;color:#fff!important}.mg-content .el-select .el-input__wrapper{background:#ffffff0f!important;box-shadow:0 0 0 1px #ffffff2e inset!important}.mg-content .el-input-number .el-input-number__decrease,.mg-content .el-input-number .el-input-number__increase{background:#ffffff0f!important;color:var(--mg-text-muted)!important;border-color:#ffffff26!important}.mg-content .el-switch.is-checked .el-switch__core{background:var(--mg-primary);border-color:var(--mg-primary)}.mg-content .el-statistic .el-statistic__head{color:var(--mg-text-muted);font-size:13px}.mg-content .el-statistic .el-statistic__number,.mg-content .el-statistic .el-statistic__content{color:#fff;font-weight:600;text-shadow:0 2px 8px rgba(var(--mg-primary-hover-rgb),.4)}.mg-content .kpi-row .el-statistic,.mg-content .kpi-card{background:linear-gradient(135deg,rgba(var(--mg-bg-card-rgb),.55),rgba(var(--mg-bg-app-deep-rgb),.6));border:1px solid rgba(255,255,255,.14);border-radius:var(--mg-radius);padding:16px 18px;backdrop-filter:var(--mg-glass-blur);-webkit-backdrop-filter:var(--mg-glass-blur);box-shadow:var(--mg-glass-shadow);transition:var(--mg-transition)}.mg-content .kpi-row .el-statistic:hover,.mg-content .kpi-card:hover{background:linear-gradient(135deg,rgba(var(--mg-bg-card-hi-rgb),.65),rgba(var(--mg-bg-card-darker-rgb),.67));transform:translateY(-2px);box-shadow:var(--mg-glass-shadow-hi);border-color:#ffffff38}.mg-content .el-pagination{--el-pagination-bg-color: transparent;--el-pagination-button-bg-color: rgba(255, 255, 255, .06);--el-pagination-button-color: var(--mg-text-light);--el-pagination-hover-color: var(--mg-accent);color:var(--mg-text-muted)}.el-dropdown-menu{background:rgba(var(--mg-bg-aside-rgb),.92)!important;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12)!important}.el-dropdown-menu__item{color:#fffc!important}.el-dropdown-menu__item:hover{background:rgba(var(--mg-accent-rgb),.18)!important;color:#fff!important}.mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text){background:#ffffff14;border-color:#fff3;color:var(--mg-text-light)}.mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text):hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.5);color:#fff}.el-dialog h2{color:var(--mg-primary-active)}.el-dialog{border-radius:var(--mg-radius)}:root[data-theme=industrial-purple]{--mg-orb-a-opacity: .55;--mg-orb-b-opacity: .5;--mg-orb-c-opacity: .42;--mg-glass-bg: rgba(28, 14, 62, .62);--mg-glass-bg-hover: rgba(44, 22, 88, .72);--mg-glass-border: rgba(var(--mg-accent-rgb), .18);--mg-glass-border-hi: rgba(var(--mg-accent-rgb), .55);--mg-glass-shadow: 0 12px 32px rgba(0, 0, 0, .55), 0 0 24px rgba(var(--mg-primary-rgb), .25), 0 0 0 1px rgba(var(--mg-accent-rgb), .1) inset, 0 1px 0 rgba(255, 255, 255, .14) inset;--mg-glass-shadow-hi: 0 20px 50px rgba(0, 0, 0, .68), 0 0 42px rgba(var(--mg-primary-hover-rgb), .42), 0 0 0 1px rgba(var(--mg-accent-rgb), .32) inset, 0 1px 0 rgba(255, 255, 255, .24) inset;--mg-text-muted: rgba(255, 255, 255, .86);--mg-text-dim: rgba(220, 200, 252, .7)}:root[data-theme=industrial-purple] body{background:radial-gradient(circle at 8% 8%,rgba(var(--mg-primary-hover-rgb),.55) 0%,transparent 48%),radial-gradient(ellipse at 92% 18%,rgba(var(--mg-accent-rgb),.28) 0%,transparent 42%),radial-gradient(circle at 78% 88%,rgba(var(--mg-primary-rgb),.55) 0%,transparent 46%),radial-gradient(ellipse at 18% 92%,rgba(99,102,241,.3) 0%,transparent 48%),linear-gradient(135deg,var(--mg-bg-app-1) 0%,var(--mg-bg-app-2) 48%,var(--mg-bg-app-3) 100%)}:root[data-theme=industrial-purple] #app:before{background-image:linear-gradient(rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px);opacity:.85}:root[data-theme=industrial-purple] #app:after{background-image:repeating-linear-gradient(0deg,rgba(var(--mg-accent-rgb),.03) 0,rgba(var(--mg-accent-rgb),.03) 1px,transparent 1px,transparent 3px)}:root[data-theme=industrial-purple] .mg-content .el-card,:root[data-theme=industrial-purple] .mg-content .kpi-row .el-statistic,:root[data-theme=industrial-purple] .mg-content .kpi-card{position:relative;background:linear-gradient(145deg,rgba(var(--mg-bg-card-rgb),.78),rgba(var(--mg-bg-app-deep-rgb),.86))!important;border:1px solid rgba(var(--mg-accent-rgb),.14)!important;border-radius:var(--mg-radius)!important;box-shadow:0 12px 30px #00000080,0 0 22px rgba(var(--mg-primary-rgb),.16),inset 0 1px #ffffff1a!important;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);overflow:hidden}:root[data-theme=industrial-purple] .mg-content .el-card:before,:root[data-theme=industrial-purple] .mg-content .kpi-card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.55) 30%,rgba(255,255,255,.85) 50%,rgba(var(--mg-accent-rgb),.55) 70%,transparent 100%);pointer-events:none;opacity:.7}:root[data-theme=industrial-purple] .mg-content .el-card:hover,:root[data-theme=industrial-purple] .mg-content .kpi-row .el-statistic:hover,:root[data-theme=industrial-purple] .mg-content .kpi-card:hover{background:linear-gradient(145deg,rgba(var(--mg-bg-card-hi-rgb),.85),rgba(var(--mg-bg-card-darker-rgb),.92))!important;border-color:rgba(var(--mg-accent-rgb),.42)!important;box-shadow:0 18px 40px #0009,0 0 38px rgba(var(--mg-primary-hover-rgb),.38),inset 0 1px #ffffff2e!important}:root[data-theme=industrial-purple] .mg-content .el-card .el-card{background:rgba(var(--mg-bg-card-darker-rgb),.55)!important}:root[data-theme=industrial-purple] .mg-content .el-card .el-card:before{display:none}:root[data-theme=industrial-purple] .mg-content .el-statistic__head{color:#ffffffc7!important}:root[data-theme=industrial-purple] .mg-content .el-statistic__number,:root[data-theme=industrial-purple] .mg-content .el-statistic__content{background:linear-gradient(135deg,#fff,rgba(var(--mg-accent-rgb),1));-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:0 0 24px rgba(var(--mg-primary-hover-rgb),.5)}:root[data-theme=industrial-purple] .mg-content .el-table th.el-table__cell{background:rgba(var(--mg-bg-card-darker-rgb),.75)!important}:root[data-theme=industrial-purple] .mg-content .el-input__wrapper,:root[data-theme=industrial-purple] .mg-content .el-textarea__inner{background:rgba(var(--mg-bg-card-darker-rgb),.55)!important;box-shadow:0 0 0 1px rgba(var(--mg-accent-rgb),.18) inset!important}:root[data-theme=industrial-purple] .el-button--primary{background:linear-gradient(135deg,var(--mg-primary) 0%,var(--mg-primary-hover) 100%)!important;border:none!important;box-shadow:0 8px 22px rgba(var(--mg-primary-rgb),.45),0 0 0 1px #ffffff2e inset!important;position:relative;overflow:hidden}:root[data-theme=industrial-purple] .el-button--primary:after{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 70%,transparent 100%);transition:left .6s cubic-bezier(.25,.8,.25,1)}:root[data-theme=industrial-purple] .el-button--primary:hover:after{left:120%}:root[data-theme=industrial-purple] .el-button--primary:hover{box-shadow:0 12px 32px rgba(var(--mg-primary-rgb),.6),0 0 28px rgba(var(--mg-primary-hover-rgb),.55),0 0 0 1px rgba(var(--mg-accent-rgb),.4) inset!important;transform:translateY(-1px)}:root[data-theme=industrial-purple] .mg-content .el-tag{background:linear-gradient(135deg,rgba(var(--mg-primary-rgb),.25),rgba(var(--mg-accent-rgb),.18));color:#fff;border-color:rgba(var(--mg-accent-rgb),.45)}.mg-neon-text{background:linear-gradient(135deg,#ffffff 0%,var(--mg-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(var(--mg-primary-hover-rgb),.45)}@keyframes mg-pulse-glow{0%,to{box-shadow:0 0 rgba(var(--mg-accent-rgb),.35),0 0 28px rgba(var(--mg-primary-hover-rgb),.35)}50%{box-shadow:0 0 0 6px rgba(var(--mg-accent-rgb),0),0 0 38px rgba(var(--mg-primary-hover-rgb),.55)}}:root[data-theme=fame-lavender]{--mg-glass-bg: rgba(255, 255, 255, .95);--mg-glass-bg-hover: rgba(249, 246, 255, 1);--mg-glass-bg-active: rgba(245, 240, 251, 1);--mg-glass-border: rgba(124, 58, 237, .14);--mg-glass-border-hi: rgba(124, 58, 237, .35);--mg-glass-shadow: 0 4px 14px rgba(45, 27, 105, .06), 0 0 0 1px rgba(124, 58, 237, .06);--mg-glass-shadow-hi: 0 8px 24px rgba(45, 27, 105, .1), 0 0 0 1px rgba(124, 58, 237, .15);--mg-glass-blur: none;--mg-glass-blur-hi: none;--mg-text-light: #1a0f3d;--mg-text-muted: #4a3d6e;--mg-text-dim: #7a6b9a;--mg-text-faint: #a8a0c0;--mg-divider: #e8e1f0;--mg-status-success: #15803d;--mg-status-success-rgb: 21, 128, 61;--mg-status-warning: #b45309;--mg-status-warning-rgb: 180, 83, 9;--mg-status-danger: #b91c1c;--mg-status-danger-rgb: 185, 28, 28;--mg-status-info: #1d4ed8;--mg-status-info-rgb: 29, 78, 216;--mg-status-idle: #64748b;--mg-status-idle-rgb: 100, 116, 139}:root[data-theme=fame-lavender] body{background:linear-gradient(180deg,#fafaff,#f5f3fb 60%,#f0eaf6)!important;color:#1a0f3d}:root[data-theme=fame-lavender] #app:before,:root[data-theme=fame-lavender] #app:after{display:none!important}:root[data-theme=fame-lavender] .bg-orbs{display:none!important}:root[data-theme=fame-lavender] .aside{background:linear-gradient(180deg,#2e1065,#1c0a4d)!important;border-right:1px solid rgba(0,0,0,.08)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:4px 0 24px #2d1b692e!important}:root[data-theme=fame-lavender] .aside:before{display:none!important}:root[data-theme=fame-lavender] .aside .logo{background:transparent!important;border-bottom:1px solid rgba(196,181,253,.12)!important}:root[data-theme=fame-lavender] .aside .logo-title-zh{background:linear-gradient(135deg,#fff,#c4b5fd)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;text-shadow:none!important;font-weight:700}:root[data-theme=fame-lavender] .aside .el-menu{background:transparent!important;border-right:none!important}:root[data-theme=fame-lavender] .aside .el-menu-item,:root[data-theme=fame-lavender] .aside .el-sub-menu__title{color:#d4cae8!important;font-weight:500!important;background:transparent!important}:root[data-theme=fame-lavender] .aside .el-menu-item:hover,:root[data-theme=fame-lavender] .aside .el-sub-menu__title:hover{background:#c4b5fd1a!important;color:#fff!important}:root[data-theme=fame-lavender] .aside .el-menu-item.is-active,:root[data-theme=fame-lavender] .aside .el-sub-menu.is-active>.el-sub-menu__title{background:linear-gradient(90deg,#a855f74d,#7c3aed29)!important;color:#fff!important;font-weight:700!important;box-shadow:inset 3px 0 #c4b5fd!important;text-shadow:none!important}:root[data-theme=fame-lavender] .aside .el-menu .el-menu-item.is-active{background:linear-gradient(90deg,rgba(168,85,247,.22) 0%,transparent 100%)!important;box-shadow:inset 2px 0 #a855f7!important}:root[data-theme=fame-lavender] .header{background:#fff!important;border-bottom:1px solid #ebe5f4!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 1px 6px #2d1b690d!important}:root[data-theme=fame-lavender] .header:after{display:none!important}:root[data-theme=fame-lavender] .header .el-breadcrumb__inner{color:#4a3d6e!important;font-weight:500}:root[data-theme=fame-lavender] .header .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#7c3aed!important;font-weight:700}:root[data-theme=fame-lavender] .header .el-breadcrumb__separator{color:#a8a0c0!important}:root[data-theme=fame-lavender] .header .el-breadcrumb__inner:hover{color:#7c3aed!important}:root[data-theme=fame-lavender] .header .icon-btn{border-color:#ebe5f4!important;color:#7c3aed!important;background:#f8f4fc!important}:root[data-theme=fame-lavender] .header .icon-btn:hover{background:#ede9fe!important;border-color:#c4b5fd!important;color:#5b21b6!important}:root[data-theme=fame-lavender] .header .runmode-tag{background:#f5f3ff!important;border-color:#ddd6fe!important;color:#5b21b6!important}:root[data-theme=fame-lavender] .header .runmode-tag.WebEnabled{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#047857!important}:root[data-theme=fame-lavender] .header .runmode-tag.WebOnly{background:#ede9fe!important;border-color:#c4b5fd!important;color:#6d28d9!important}:root[data-theme=fame-lavender] .header .el-radio-button__inner{background:#fff!important;border-color:#ddd6fe!important;color:#5b21b6!important;font-weight:500}:root[data-theme=fame-lavender] .header .el-radio-button__inner:hover{color:#6d28d9!important;border-color:#c4b5fd!important;background:#f5f3ff!important}:root[data-theme=fame-lavender] .header .el-radio-button.is-active .el-radio-button__inner{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important;box-shadow:0 2px 6px #7c3aed40}:root[data-theme=fame-lavender] .header .user-link{background:#f8f4fc!important;border-color:#ebe5f4!important;color:#2d1b69!important}:root[data-theme=fame-lavender] .header .user-link:hover{background:#ede9fe!important;border-color:#c4b5fd!important}:root[data-theme=fame-lavender] .header .user-name{color:#2d1b69!important}:root[data-theme=fame-lavender] .main,:root[data-theme=fame-lavender] .mg-content{background:transparent!important;color:#1a0f3d!important}:root[data-theme=fame-lavender] .mg-content h1,:root[data-theme=fame-lavender] .mg-content h2,:root[data-theme=fame-lavender] .mg-content h3{color:#1a0f3d!important;font-weight:700}:root[data-theme=fame-lavender] .mg-content p{color:#4a3d6e!important}:root[data-theme=fame-lavender] .mg-content small,:root[data-theme=fame-lavender] .mg-content .text-secondary{color:#7a6b9a!important}:root[data-theme=fame-lavender] .footer{background:#ffffffb3!important;border-top:1px solid #ebe5f4!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#909399!important}:root[data-theme=fame-lavender] .mg-content .el-card{background:#fff!important;border:1px solid #e8e1f0!important;border-radius:12px!important;box-shadow:0 1px 3px #2d1b690a,0 4px 12px #7c3aed0a!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#1a0f3d!important;overflow:hidden}:root[data-theme=fame-lavender] .mg-content .el-card:before{display:none!important}:root[data-theme=fame-lavender] .mg-content .el-card:hover{background:#fff!important;border-color:#c4b5fd!important;box-shadow:0 4px 12px #2d1b6914,0 12px 28px #7c3aed1f!important;transform:translateY(-1px)!important}:root[data-theme=fame-lavender] .mg-content .el-card .el-card{background:#faf7fd!important;border-color:#f0eaf6!important;box-shadow:none!important}:root[data-theme=fame-lavender] .mg-content .el-card__header{background:#faf7fd!important;border-bottom:1px solid #e8e1f0!important;color:#1a0f3d!important;font-weight:600}:root[data-theme=fame-lavender] .mg-content .el-card__body{background:transparent!important;color:#1a0f3d!important}:root[data-theme=fame-lavender] .mg-content .kpi-row .el-statistic,:root[data-theme=fame-lavender] .mg-content .kpi-card{background:#fff!important;border:1px solid #ebe5f4!important;border-radius:10px!important;box-shadow:0 2px 8px #2d1b690d!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:16px 18px!important}:root[data-theme=fame-lavender] .mg-content .kpi-row .el-statistic:hover,:root[data-theme=fame-lavender] .mg-content .kpi-card:hover{background:#fff!important;border-color:#c4b5fd!important;box-shadow:0 6px 18px #7c3aed1a!important;transform:none!important}:root[data-theme=fame-lavender] .mg-content .el-statistic__head{color:#4a3d6e!important;font-weight:500}:root[data-theme=fame-lavender] .mg-content .el-statistic__number,:root[data-theme=fame-lavender] .mg-content .el-statistic__content{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#1a0f3d!important;text-shadow:none!important;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;font-weight:700}:root[data-theme=fame-lavender] .mg-content .el-table{--el-table-bg-color: #ffffff;--el-table-tr-bg-color: #ffffff;--el-table-header-bg-color: #faf7fd;--el-table-row-hover-bg-color: #f5f3ff;--el-table-border-color: #e8e1f0;--el-table-header-text-color: #1a0f3d;--el-table-text-color: #1a0f3d;--el-fill-color-blank: #ffffff;--el-fill-color-light: #faf7fd;color:#1a0f3d!important}:root[data-theme=fame-lavender] .mg-content .el-table,:root[data-theme=fame-lavender] .mg-content .el-table tr{background:#fff!important}:root[data-theme=fame-lavender] .mg-content .el-table th.el-table__cell{background:#faf7fd!important;color:#1a0f3d!important;border-bottom-color:#e8e1f0!important;font-weight:600}:root[data-theme=fame-lavender] .mg-content .el-table td.el-table__cell{background:#fff!important;color:#1a0f3d!important;border-bottom-color:#f0eaf6!important}:root[data-theme=fame-lavender] .mg-content .el-table--striped .el-table__body tr:nth-child(2n) td.el-table__cell{background:#faf7fd!important}:root[data-theme=fame-lavender] .mg-content .el-table tr:hover>td.el-table__cell{background:#f5f3ff!important}:root[data-theme=fame-lavender] .mg-content .el-input__wrapper,:root[data-theme=fame-lavender] .mg-content .el-textarea__inner,:root[data-theme=fame-lavender] .mg-content .el-select .el-input__wrapper{background:#fff!important;box-shadow:0 0 0 1px #e0d4f5 inset!important}:root[data-theme=fame-lavender] .mg-content .el-input__wrapper:hover{box-shadow:0 0 0 1px #c4b5fd inset!important}:root[data-theme=fame-lavender] .mg-content .el-input__wrapper.is-focus{box-shadow:0 0 0 1px #7c3aed inset,0 0 0 3px #7c3aed26!important}:root[data-theme=fame-lavender] .mg-content .el-input__inner,:root[data-theme=fame-lavender] .mg-content .el-textarea__inner{color:#1a0f3d!important;font-weight:500}:root[data-theme=fame-lavender] .mg-content .el-input__inner::placeholder,:root[data-theme=fame-lavender] .mg-content .el-textarea__inner::placeholder{color:#a8a0c0!important}:root[data-theme=fame-lavender] .mg-content .el-form-item__label{color:#4a3d6e!important;font-weight:500}:root[data-theme=fame-lavender] .mg-content .el-tabs{--el-text-color-primary: #2d1b69 !important;--el-text-color-regular: #303133 !important}:root[data-theme=fame-lavender] .mg-content .el-tabs__item{color:#4a3d6e!important;font-weight:500}:root[data-theme=fame-lavender] .mg-content .el-tabs__item:hover{color:#7c3aed!important}:root[data-theme=fame-lavender] .mg-content .el-tabs__item.is-active{color:#7c3aed!important;font-weight:700}:root[data-theme=fame-lavender] .el-tabs__item{color:#4a3d6e!important}:root[data-theme=fame-lavender] .el-tabs__item:hover{color:#7c3aed!important}:root[data-theme=fame-lavender] .el-tabs__item.is-active{color:#7c3aed!important;font-weight:700}:root[data-theme=fame-lavender] .mg-content .el-tabs__active-bar{background-color:#7c3aed!important;height:3px!important;border-radius:2px}:root[data-theme=fame-lavender] .mg-content .el-tabs__nav-wrap:after{background-color:#e8e1f0!important}:root[data-theme=fame-lavender] .mg-content .ref-mgr-page,:root[data-theme=fame-lavender] .mg-content .ref-mgr-title,:root[data-theme=fame-lavender] .mg-content .field-section-title,:root[data-theme=fame-lavender] .mg-content .detail-name{color:#2d1b69!important}:root[data-theme=fame-lavender] .mg-content .ref-mgr-title{font-weight:700}:root[data-theme=fame-lavender] .mg-content .detail-id,:root[data-theme=fame-lavender] .mg-content .ref-type-asm,:root[data-theme=fame-lavender] .mg-content .field-empty{color:#7a6b9a!important}:root[data-theme=fame-lavender] .mg-content .ref-mgr-list-card,:root[data-theme=fame-lavender] .mg-content .ref-mgr-detail-card{background:#fff!important;border:1px solid rgba(124,58,237,.16)!important;box-shadow:0 8px 24px #7c3aed0f!important}:root[data-theme=fame-lavender] .mg-content .ref-mgr-header,:root[data-theme=fame-lavender] .mg-content .detail-header{border-color:#7c3aed2e!important}:root[data-theme=fame-lavender] .mg-content .field-section{color:#303133}:root[data-theme=fame-lavender] .mg-content .status-value{color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-tag{background:#ede9fe!important;color:#5b21b6!important;border-color:#ddd6fe!important}:root[data-theme=fame-lavender] .mg-content .el-tag--success{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important}:root[data-theme=fame-lavender] .mg-content .el-tag--warning{background:#fffbeb!important;color:#b45309!important;border-color:#fde68a!important}:root[data-theme=fame-lavender] .mg-content .el-tag--danger{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important}:root[data-theme=fame-lavender] .mg-content .el-tag--info{background:#f3f4f6!important;color:#4b5563!important;border-color:#e5e7eb!important}:root[data-theme=fame-lavender] .mg-content .el-descriptions{--el-text-color-primary: #2d1b69;--el-text-color-regular: #606266;--el-border-color-lighter: #ebe5f4;--el-fill-color-blank: #fff;color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-descriptions__label,:root[data-theme=fame-lavender] .mg-content .el-descriptions__cell.is-bordered-label{background:#faf7fd!important;color:#606266!important;border-color:#ebe5f4!important}:root[data-theme=fame-lavender] .mg-content .el-descriptions__content,:root[data-theme=fame-lavender] .mg-content .el-descriptions__cell.is-bordered-content{background:#fff!important;color:#303133!important;border-color:#ebe5f4!important}:root[data-theme=fame-lavender] .mg-content .el-descriptions__title{color:#2d1b69!important}:root[data-theme=fame-lavender] .mg-content .el-alert{background:#faf7fd!important;border:1px solid #ebe5f4!important;color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-alert__title,:root[data-theme=fame-lavender] .mg-content .el-alert__description{color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-collapse{border-color:#ebe5f4!important;--el-collapse-header-text-color: #2d1b69;--el-collapse-content-text-color: #303133}:root[data-theme=fame-lavender] .mg-content .el-collapse-item__header,:root[data-theme=fame-lavender] .mg-content .el-collapse-item__wrap{background:#fff!important;border-color:#ebe5f4!important;color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-radio__label,:root[data-theme=fame-lavender] .mg-content .el-checkbox__label{color:#303133!important}:root[data-theme=fame-lavender] .mg-content .el-radio__inner,:root[data-theme=fame-lavender] .mg-content .el-checkbox__inner{background:#fff!important;border-color:#c4b5fd!important}:root[data-theme=fame-lavender] .mg-content .el-radio-button__inner{background:#fff!important;border-color:#ddd6fe!important;color:#5b21b6!important}:root[data-theme=fame-lavender] .mg-content .el-radio-button.is-active .el-radio-button__inner{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}:root[data-theme=fame-lavender] .el-button--primary{background:#7c3aed!important;border:1px solid #7c3aed!important;color:#fff!important;font-weight:600;box-shadow:0 1px 2px #2d1b6914,0 2px 6px #7c3aed38!important}:root[data-theme=fame-lavender] .el-button--primary:after{display:none!important}:root[data-theme=fame-lavender] .el-button--primary:hover{background:#6d28d9!important;border-color:#6d28d9!important;box-shadow:0 2px 6px #2d1b691f,0 4px 14px #7c3aed52!important;transform:translateY(-1px)!important}:root[data-theme=fame-lavender] .el-button--primary:active{background:#5b21b6!important;border-color:#5b21b6!important;transform:translateY(0)!important}:root[data-theme=fame-lavender] .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text){background:#fff!important;border-color:#ddd6fe!important;color:#5b21b6!important;font-weight:500}:root[data-theme=fame-lavender] .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text):hover{background:#f5f3ff!important;border-color:#a78bfa!important;color:#5b21b6!important;box-shadow:0 2px 6px #7c3aed1a!important}:root[data-theme=fame-lavender] .mg-content .el-progress-bar__outer{background:#ede9fe!important}:root[data-theme=fame-lavender] .mg-content .el-progress-bar__inner{background:linear-gradient(90deg,#7c3aed,#a855f7)!important}:root[data-theme=fame-lavender] .mg-content .el-pagination{--el-pagination-bg-color: #fff;--el-pagination-button-bg-color: #faf7fd;--el-pagination-button-color: #2d1b69;--el-pagination-hover-color: #7c3aed;color:#606266!important}:root[data-theme=fame-lavender] .el-dropdown-menu{background:#fff!important;backdrop-filter:none!important;border:1px solid #ebe5f4!important;box-shadow:0 6px 16px #2d1b691a!important}:root[data-theme=fame-lavender] .el-dropdown-menu__item{color:#303133!important}:root[data-theme=fame-lavender] .el-dropdown-menu__item:hover{background:#f5f3ff!important;color:#7c3aed!important}:root[data-theme=fame-lavender] .mg-content .el-switch.is-checked .el-switch__core{background:#7c3aed!important;border-color:#7c3aed!important}:root[data-theme=fame-lavender] .el-dialog h2{color:#2d1b69!important}:root[data-theme=fame-lavender] .el-dialog{background:#fff!important}:root[data-theme=fame-lavender] .el-dialog__title{color:#2d1b69!important}:root[data-theme=fame-lavender] .el-dialog__body{color:#303133!important}:root[data-theme=fame-lavender] ::-webkit-scrollbar-thumb{background:#7c3aed40}:root[data-theme=fame-lavender] ::-webkit-scrollbar-thumb:hover{background:#7c3aed73}.mg-mono,.mg-num{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.mg-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px;border:1px solid transparent;white-space:nowrap}.mg-pill.is-success{background:rgba(var(--mg-status-success-rgb),.15);color:var(--mg-status-success);border-color:rgba(var(--mg-status-success-rgb),.4)}.mg-pill.is-warning{background:rgba(var(--mg-status-warning-rgb),.15);color:var(--mg-status-warning);border-color:rgba(var(--mg-status-warning-rgb),.4)}.mg-pill.is-danger{background:rgba(var(--mg-status-danger-rgb),.15);color:var(--mg-status-danger);border-color:rgba(var(--mg-status-danger-rgb),.4)}.mg-pill.is-info{background:rgba(var(--mg-status-info-rgb),.15);color:var(--mg-status-info);border-color:rgba(var(--mg-status-info-rgb),.4)}.mg-pill.is-idle{background:rgba(var(--mg-status-idle-rgb),.15);color:var(--mg-status-idle);border-color:rgba(var(--mg-status-idle-rgb),.4)}.mg-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mg-status-info);position:relative}.mg-live-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:mg-live-pulse 1.6s ease-out infinite}.mg-live-dot.is-success{background:var(--mg-status-success);color:var(--mg-status-success)}.mg-live-dot.is-warning{background:var(--mg-status-warning);color:var(--mg-status-warning)}.mg-live-dot.is-danger{background:var(--mg-status-danger);color:var(--mg-status-danger)}.mg-live-dot.is-info{background:var(--mg-status-info);color:var(--mg-status-info)}.mg-live-dot.is-idle{background:var(--mg-status-idle);color:var(--mg-status-idle)}.mg-live-dot.is-idle:after{animation:none}@keyframes mg-live-pulse{0%{transform:scale(.6);opacity:.55}70%{transform:scale(1.5);opacity:0}to{transform:scale(1.8);opacity:0}}@media (prefers-reduced-motion: reduce){.mg-live-dot:after{animation:none}.bg-orb,.hero-orb,.hero-scene .agv-1,.hero-scene .agv-2,.hero-scene .float-data{animation:none!important}}:root[data-theme=fame-lavender] .mg-content .method-btn,:root[data-theme=fame-lavender] .mg-content .header-action-btn{background:#7c3aed!important;border:1px solid #7c3aed!important;color:#fff!important;font-weight:600!important;box-shadow:0 1px 2px #2d1b6914,0 2px 6px #7c3aed38!important}:root[data-theme=fame-lavender] .mg-content .method-btn:hover:not(:disabled),:root[data-theme=fame-lavender] .mg-content .header-action-btn:hover{background:#6d28d9!important;border-color:#6d28d9!important;color:#fff!important;box-shadow:0 2px 6px #2d1b691f,0 4px 14px #7c3aed52!important}:root[data-theme=fame-lavender] .mg-content .method-btn:active:not(:disabled){background:#5b21b6!important;border-color:#5b21b6!important}:root[data-theme=fame-lavender] .mg-content .method-btn:disabled{background:#c4b5fd!important;border-color:#c4b5fd!important;color:#fff!important;box-shadow:none!important;opacity:.85!important}:root[data-theme=fame-lavender] .mg-content .method-btn .method-btn-icon,:root[data-theme=fame-lavender] .mg-content .method-btn .method-btn-spin{color:#ffffffeb!important}:root[data-theme=fame-lavender] .mg-content .method-btn .method-btn-tag{background:#ffffff3d!important;color:#fff!important}:root[data-theme=fame-lavender] .mg-content .add-field-btn{background:#fff!important;border:1px dashed #a78bfa!important;color:#5b21b6!important;font-weight:500!important}:root[data-theme=fame-lavender] .mg-content .add-field-btn:hover{background:#f5f3ff!important;border-color:#7c3aed!important;color:#5b21b6!important}html,body,#app{height:100%;margin:0;padding:0}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#303133;background:#f0f2f5} diff --git a/MiGu.Server/wwwroot/assets/index-DrvLDslf.js b/MiGu.Server/wwwroot/assets/index-DrvLDslf.js new file mode 100644 index 0000000..57c3504 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/index-DrvLDslf.js @@ -0,0 +1,100 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-D_TsC36_.js","assets/el-tooltip-l0sNRNKZ.js","assets/LoginView-CoJzk9R3.css","assets/base-BhyKBIh7.css","assets/el-form-item-D_relxjU.css","assets/el-button-ZSOkJyjJ.css","assets/el-collapse-item-BvmEG8Qn.css","assets/el-input-BddTPWVI.css","assets/el-input-number-DExoAqKP.css","assets/el-link-CPQZ-olG.css","assets/el-checkbox-CzNtyWdF.css","assets/el-popper-Wf_ds9r7.css","assets/ServiceStatusView-BYOao_aT.js","assets/ServiceStatusView-IGba4H4q.css","assets/el-card-BAyktVMS.css","assets/el-descriptions-BpDzfuC8.css","assets/el-tag-1VV9QMa7.css","assets/AppShell-VGUYhBS-.js","assets/AppShell-BiaaUnpv.css","assets/el-scrollbar-GF-yQkxY.css","assets/el-button-group-B09mLjuS.css","assets/el-dropdown-item-CtcKg9JC.css","assets/el-radio-button-TYBaCPcE.css","assets/DashboardView-Cx5dlpj0.js","assets/projection-CizY2UtH.js","assets/reflection-Dr3WM5Rz.js","assets/DashboardView-CtpjnvW0.css","assets/el-tab-pane-C5lGmld3.css","assets/MapMonitorView-C7AnAWKd.js","assets/Workspace3D-D7MYl2zT.js","assets/Workspace3D-D0NKEi6V.css","assets/mapEdit-DghrYjHu.js","assets/WorkspaceCanvasToolbar-1mCqpdq_.js","assets/WorkspaceCanvasToolbar-CT6FJSzK.css","assets/el-dialog-TSZfE1b8.css","assets/el-table-column-Dp73S2HR.css","assets/el-empty-S7fQQ3B8.css","assets/useProjectionStream-DMf_8m8X.js","assets/MapMonitorView-BfZJy2Kd.css","assets/el-col-BWEC13sA.css","assets/el-statistic-D5_dVssE.css","assets/el-progress-B7X4OvaL.css","assets/el-select-CK58rX4v.css","assets/MapEditorView-CaYR0T6s.js","assets/useMapEditStream-DPAdbySW.js","assets/MapEditorView-Cf0wafOo.css","assets/el-color-picker-DRNdOQmm.css","assets/el-switch-DpR9-s4E.css","assets/el-divider-B0pQhKGi.css","assets/el-alert-B6UgayC7.css","assets/el-loading-Dq8WDDkr.css","assets/TrackTableView-U1RVSBQt.js","assets/ReflectionManagerPanel-BP1OYef-.js","assets/ReflectionManagerPanel-CZMd80yF.css","assets/TrackTableView-C-Cp6740.css","assets/CarPanelView-C8B0n-h4.js","assets/CarPanelView-CYaApbj9.css","assets/ProcessPanelView-Bgs-UWlW.js","assets/ProcessPanelView-DLKKlZA4.css","assets/ScriptPanelView-DnxZ-d2X.js","assets/ScriptPanelView-zM2-1jjH.css","assets/MissionEditorView-UptDJACU.js","assets/MissionEditorView-DOR5c4wb.css","assets/ProjectPropertiesView-BUmjY6Qh.js","assets/ProjectPropertiesView-CvKuii5E.css","assets/PlaybackView-BUHRaurd.js","assets/PlaybackView-BsrAVvYx.css","assets/SystemConfigView-ByKpKyii.js","assets/ConfigPageBase-CPF7i-FB.js","assets/PermissionGuard-BxagL6-4.js","assets/PermissionGuard-CFqrez64.css","assets/ConfigPageBase-C8mupMSy.css","assets/SystemConfigView-zK_tPjiF.css","assets/ExternalIntegrationView-ERIDBz7X.js","assets/RoutingPolicyView-nAYjmKqM.js","assets/VehicleMaintenanceView-BU7QbnHX.js","assets/VehicleMaintenanceView-KlqpaRgh.css","assets/ChargePolicyView-BxJAPKKv.js","assets/TaskAllocationView-DFHXgXFu.js","assets/TrafficRuleView-BLrd2OSe.js","assets/AuthRoleView-C2B4SEfx.js","assets/DeviceHubView-DdDpWQEi.js","assets/FleetLifecycleView-qDfurtqR.js","assets/ScenarioTemplateView-w7x237Pe.js","assets/ScenarioTemplateView-rv7Jf-RX.css","assets/LocationView-BM2ilHau.js","assets/OpsConfigView-CYCdWXE0.js","assets/OpsConfigView-DV0HHHQz.css","assets/el-checkbox-group-D_6SYB2i.css","assets/CustomWidgetView-C3i7AzNk.js","assets/CustomWidgetView-Ch0BQYzJ.css","assets/MapMonitorConfigView-BIPqxkT5.js","assets/MapMonitorConfigView-CwieeOtF.css","assets/MonitorDashboardView-ChnHSdxd.js","assets/ops-CZkWvMAR.js","assets/MonitorDashboardView-C0ey2wYu.css","assets/MonitorMapView-CClr5C8k.js","assets/ops-BCeFEEjY.js","assets/MonitorMapView-CS49gkPx.css","assets/OpsActionPanelView-OY2jAcDK.js","assets/OpsActionPanelView-C3hWMI-V.css","assets/AnnotationView-B4kZBtzl.js"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const s of r.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&a(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function a(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/** +* @vue/shared v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function wv(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const vn={},ll=[],ut=()=>{},rw=()=>!1,Td=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Od=e=>e.startsWith("onUpdate:"),Vn=Object.assign,Sv=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},UT=Object.prototype.hasOwnProperty,Nt=(e,t)=>UT.call(e,t),we=Array.isArray,il=e=>hu(e)==="[object Map]",_d=e=>hu(e)==="[object Set]",Ur=e=>hu(e)==="[object Date]",Fe=e=>typeof e=="function",Ae=e=>typeof e=="string",Va=e=>typeof e=="symbol",ot=e=>e!==null&&typeof e=="object",qr=e=>(ot(e)||Fe(e))&&Fe(e.then)&&Fe(e.catch),sw=Object.prototype.toString,hu=e=>sw.call(e),qT=e=>hu(e).slice(8,-1),Vi=e=>hu(e)==="[object Object]",Rd=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bi=wv(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Id=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},YT=/-\w/g,qn=Id(e=>e.replace(YT,t=>t.slice(1).toUpperCase())),GT=/\B([A-Z])/g,br=Id(e=>e.replace(GT,"-$1").toLowerCase()),vu=Id(e=>e.charAt(0).toUpperCase()+e.slice(1)),yi=Id(e=>e?`on${vu(e)}`:""),$o=(e,t)=>!Object.is(e,t),wc=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},lw=(e,t,n,a=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},Cv=e=>{const t=parseFloat(e);return isNaN(t)?e:t},XT=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let zg;const $d=()=>zg||(zg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ze(e){if(we(e)){const t={};for(let n=0;n<e.length;n++){const a=e[n],o=Ae(a)?e4(a):ze(a);if(o)for(const r in o)t[r]=o[r]}return t}else if(Ae(e)||ot(e))return e}const JT=/;(?![^(]*\))/g,ZT=/:([^]+)/,QT=/\/\*[^]*?\*\//g;function e4(e){const t={};return e.replace(QT,"").split(JT).forEach(n=>{if(n){const a=n.split(ZT);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function R(e){let t="";if(Ae(e))t=e;else if(we(e))for(let n=0;n<e.length;n++){const a=R(e[n]);a&&(t+=a+" ")}else if(ot(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function sr(e){if(!e)return null;let{class:t,style:n}=e;return t&&!Ae(t)&&(e.class=R(t)),n&&(e.style=ze(n)),e}const t4="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",n4=wv(t4);function iw(e){return!!e||e===""}function a4(e,t){if(e.length!==t.length)return!1;let n=!0;for(let a=0;n&&a<e.length;a++)n=Ts(e[a],t[a]);return n}function Ts(e,t){if(e===t)return!0;let n=Ur(e),a=Ur(t);if(n||a)return n&&a?e.getTime()===t.getTime():!1;if(n=Va(e),a=Va(t),n||a)return e===t;if(n=we(e),a=we(t),n||a)return n&&a?a4(e,t):!1;if(n=ot(e),a=ot(t),n||a){if(!n||!a)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const s in e){const l=e.hasOwnProperty(s),u=t.hasOwnProperty(s);if(l&&!u||!l&&u||!Ts(e[s],t[s]))return!1}}return String(e)===String(t)}function uw(e,t){return e.findIndex(n=>Ts(n,t))}const cw=e=>!!(e&&e.__v_isRef===!0),Ce=e=>Ae(e)?e:e==null?"":we(e)||ot(e)&&(e.toString===sw||!Fe(e.toString))?cw(e)?Ce(e.value):JSON.stringify(e,dw,2):String(e),dw=(e,t)=>cw(t)?dw(e,t.value):il(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,o],r)=>(n[Bf(a,r)+" =>"]=o,n),{})}:_d(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bf(n))}:Va(t)?Bf(t):ot(t)&&!we(t)&&!Vi(t)?String(t):t,Bf=(e,t="")=>{var n;return Va(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Hn;class fw{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Hn&&(Hn.active?(this.parent=Hn,this.index=(Hn.scopes||(Hn.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=Hn;try{return Hn=this,t()}finally{Hn=n}}}on(){++this._on===1&&(this.prevScope=Hn,Hn=this)}off(){if(this._on>0&&--this._on===0){if(Hn===this)Hn=this.prevScope;else{let t=Hn;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n<a;n++)this.effects[n].stop();for(this.effects.length=0,n=0,a=this.cleanups.length;n<a;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,a=this.scopes.length;n<a;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function kv(e){return new fw(e)}function Nd(){return Hn}function Ev(e,t=!1){Hn&&Hn.cleanups.push(e)}let bn;const Vf=new WeakSet;class pw{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Hn&&(Hn.active?Hn.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Vf.has(this)&&(Vf.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||vw(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Hg(this),mw(this);const t=bn,n=ro;bn=this,ro=!0;try{return this.fn()}finally{gw(this),bn=t,ro=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ov(t);this.deps=this.depsTail=void 0,Hg(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Vf.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Hp(this)&&this.run()}get dirty(){return Hp(this)}}let hw=0,wi,Si;function vw(e,t=!1){if(e.flags|=8,t){e.next=Si,Si=e;return}e.next=wi,wi=e}function xv(){hw++}function Tv(){if(--hw>0)return;if(Si){let t=Si;for(Si=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;wi;){let t=wi;for(wi=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(a){e||(e=a)}t=n}}if(e)throw e}function mw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gw(e){let t,n=e.depsTail,a=n;for(;a;){const o=a.prevDep;a.version===-1?(a===n&&(n=o),Ov(a),o4(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=o}e.deps=t,e.depsTail=n}function Hp(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(bw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function bw(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Fi)||(e.globalVersion=Fi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hp(e))))return;e.flags|=2;const t=e.dep,n=bn,a=ro;bn=e,ro=!0;try{mw(e);const o=e.fn(e._value);(t.version===0||$o(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{bn=n,ro=a,gw(e),e.flags&=-3}}function Ov(e,t=!1){const{dep:n,prevSub:a,nextSub:o}=e;if(a&&(a.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Ov(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function o4(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ro=!0;const yw=[];function dr(){yw.push(ro),ro=!1}function fr(){const e=yw.pop();ro=e===void 0?!0:e}function Hg(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=bn;bn=void 0;try{t()}finally{bn=n}}}let Fi=0;class r4{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class _v{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!bn||!ro||bn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==bn)n=this.activeLink=new r4(bn,this),bn.deps?(n.prevDep=bn.depsTail,bn.depsTail.nextDep=n,bn.depsTail=n):bn.deps=bn.depsTail=n,ww(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=bn.depsTail,n.nextDep=void 0,bn.depsTail.nextDep=n,bn.depsTail=n,bn.deps===n&&(bn.deps=a)}return n}trigger(t){this.version++,Fi++,this.notify(t)}notify(t){xv();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Tv()}}}function ww(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let a=t.deps;a;a=a.nextDep)ww(a)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Hc=new WeakMap,ws=Symbol(""),Kp=Symbol(""),zi=Symbol("");function ta(e,t,n){if(ro&&bn){let a=Hc.get(e);a||Hc.set(e,a=new Map);let o=a.get(n);o||(a.set(n,o=new _v),o.map=a,o.key=n),o.track()}}function nr(e,t,n,a,o,r){const s=Hc.get(e);if(!s){Fi++;return}const l=u=>{u&&u.trigger()};if(xv(),t==="clear")s.forEach(l);else{const u=we(e),c=u&&Rd(n);if(u&&n==="length"){const d=Number(a);s.forEach((f,p)=>{(p==="length"||p===zi||!Va(p)&&p>=d)&&l(f)})}else switch((n!==void 0||s.has(void 0))&&l(s.get(n)),c&&l(s.get(zi)),t){case"add":u?c&&l(s.get("length")):(l(s.get(ws)),il(e)&&l(s.get(Kp)));break;case"delete":u||(l(s.get(ws)),il(e)&&l(s.get(Kp)));break;case"set":il(e)&&l(s.get(ws));break}}Tv()}function s4(e,t){const n=Hc.get(e);return n&&n.get(t)}function Ws(e){const t=Jt(e);return t===e?t:(ta(t,"iterate",zi),Da(e)?t:t.map(io))}function Md(e){return ta(e=Jt(e),"iterate",zi),e}function Ro(e,t){return pr(e)?bl(lr(e)?io(t):t):io(t)}const l4={__proto__:null,[Symbol.iterator](){return Ff(this,Symbol.iterator,e=>Ro(this,e))},concat(...e){return Ws(this).concat(...e.map(t=>we(t)?Ws(t):t))},entries(){return Ff(this,"entries",e=>(e[1]=Ro(this,e[1]),e))},every(e,t){return Xo(this,"every",e,t,void 0,arguments)},filter(e,t){return Xo(this,"filter",e,t,n=>n.map(a=>Ro(this,a)),arguments)},find(e,t){return Xo(this,"find",e,t,n=>Ro(this,n),arguments)},findIndex(e,t){return Xo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xo(this,"findLast",e,t,n=>Ro(this,n),arguments)},findLastIndex(e,t){return Xo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xo(this,"forEach",e,t,void 0,arguments)},includes(...e){return zf(this,"includes",e)},indexOf(...e){return zf(this,"indexOf",e)},join(e){return Ws(this).join(e)},lastIndexOf(...e){return zf(this,"lastIndexOf",e)},map(e,t){return Xo(this,"map",e,t,void 0,arguments)},pop(){return Jl(this,"pop")},push(...e){return Jl(this,"push",e)},reduce(e,...t){return Kg(this,"reduce",e,t)},reduceRight(e,...t){return Kg(this,"reduceRight",e,t)},shift(){return Jl(this,"shift")},some(e,t){return Xo(this,"some",e,t,void 0,arguments)},splice(...e){return Jl(this,"splice",e)},toReversed(){return Ws(this).toReversed()},toSorted(e){return Ws(this).toSorted(e)},toSpliced(...e){return Ws(this).toSpliced(...e)},unshift(...e){return Jl(this,"unshift",e)},values(){return Ff(this,"values",e=>Ro(this,e))}};function Ff(e,t,n){const a=Md(e),o=a[t]();return a!==e&&!Da(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const i4=Array.prototype;function Xo(e,t,n,a,o,r){const s=Md(e),l=s!==e&&!Da(e),u=s[t];if(u!==i4[t]){const f=u.apply(e,r);return l?io(f):f}let c=n;s!==e&&(l?c=function(f,p){return n.call(this,Ro(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const d=u.call(s,c,a);return l&&o?o(d):d}function Kg(e,t,n,a){const o=Md(e),r=o!==e&&!Da(e);let s=n,l=!1;o!==e&&(r?(l=a.length===0,s=function(c,d,f){return l&&(l=!1,c=Ro(e,c)),n.call(this,c,Ro(e,d),f,e)}):n.length>3&&(s=function(c,d,f){return n.call(this,c,d,f,e)}));const u=o[t](s,...a);return l?Ro(e,u):u}function zf(e,t,n){const a=Jt(e);ta(a,"iterate",zi);const o=a[t](...n);return(o===-1||o===!1)&&Dd(n[0])?(n[0]=Jt(n[0]),a[t](...n)):o}function Jl(e,t,n=[]){dr(),xv();const a=Jt(e)[t].apply(e,n);return Tv(),fr(),a}const u4=wv("__proto__,__v_isRef,__isVue"),Sw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Va));function c4(e){Va(e)||(e=String(e));const t=Jt(this);return ta(t,"has",e),t.hasOwnProperty(e)}class Cw{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,a){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return a===(o?r?_w:Ow:r?Tw:xw).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(a)?t:void 0;const s=we(t);if(!o){let u;if(s&&(u=l4[n]))return u;if(n==="hasOwnProperty")return c4}const l=Reflect.get(t,n,Gt(t)?t:a);if((Va(n)?Sw.has(n):u4(n))||(o||ta(t,"get",n),r))return l;if(Gt(l)){const u=s&&Rd(n)?l:l.value;return o&&ot(u)?gl(u):u}return ot(l)?o?gl(l):Dt(l):l}}class kw extends Cw{constructor(t=!1){super(!1,t)}set(t,n,a,o){let r=t[n];const s=we(t)&&Rd(n);if(!this._isShallow){const c=pr(r);if(!Da(a)&&!pr(a)&&(r=Jt(r),a=Jt(a)),!s&&Gt(r)&&!Gt(a))return c||(r.value=a),!0}const l=s?Number(n)<t.length:Nt(t,n),u=Reflect.set(t,n,a,Gt(t)?t:o);return t===Jt(o)&&(l?$o(a,r)&&nr(t,"set",n,a):nr(t,"add",n,a)),u}deleteProperty(t,n){const a=Nt(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&a&&nr(t,"delete",n,void 0),o}has(t,n){const a=Reflect.has(t,n);return(!Va(n)||!Sw.has(n))&&ta(t,"has",n),a}ownKeys(t){return ta(t,"iterate",we(t)?"length":ws),Reflect.ownKeys(t)}}class Ew extends Cw{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const d4=new kw,f4=new Ew,p4=new kw(!0),h4=new Ew(!0),Wp=e=>e,Gu=e=>Reflect.getPrototypeOf(e);function v4(e,t,n){return function(...a){const o=this.__v_raw,r=Jt(o),s=il(r),l=e==="entries"||e===Symbol.iterator&&s,u=e==="keys"&&s,c=o[e](...a),d=n?Wp:t?bl:io;return!t&&ta(r,"iterate",u?Kp:ws),Vn(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:l?[d(f[0]),d(f[1])]:d(f),done:p}}})}}function Xu(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function m4(e,t){const n={get(o){const r=this.__v_raw,s=Jt(r),l=Jt(o);e||($o(o,l)&&ta(s,"get",o),ta(s,"get",l));const{has:u}=Gu(s),c=t?Wp:e?bl:io;if(u.call(s,o))return c(r.get(o));if(u.call(s,l))return c(r.get(l));r!==s&&r.get(o)},get size(){const o=this.__v_raw;return!e&&ta(Jt(o),"iterate",ws),o.size},has(o){const r=this.__v_raw,s=Jt(r),l=Jt(o);return e||($o(o,l)&&ta(s,"has",o),ta(s,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const s=this,l=s.__v_raw,u=Jt(l),c=t?Wp:e?bl:io;return!e&&ta(u,"iterate",ws),l.forEach((d,f)=>o.call(r,c(d),c(f),s))}};return Vn(n,e?{add:Xu("add"),set:Xu("set"),delete:Xu("delete"),clear:Xu("clear")}:{add(o){const r=Jt(this),s=Gu(r),l=Jt(o),u=!t&&!Da(o)&&!pr(o)?l:o;return s.has.call(r,u)||$o(o,u)&&s.has.call(r,o)||$o(l,u)&&s.has.call(r,l)||(r.add(u),nr(r,"add",u,u)),this},set(o,r){!t&&!Da(r)&&!pr(r)&&(r=Jt(r));const s=Jt(this),{has:l,get:u}=Gu(s);let c=l.call(s,o);c||(o=Jt(o),c=l.call(s,o));const d=u.call(s,o);return s.set(o,r),c?$o(r,d)&&nr(s,"set",o,r):nr(s,"add",o,r),this},delete(o){const r=Jt(this),{has:s,get:l}=Gu(r);let u=s.call(r,o);u||(o=Jt(o),u=s.call(r,o)),l&&l.call(r,o);const c=r.delete(o);return u&&nr(r,"delete",o,void 0),c},clear(){const o=Jt(this),r=o.size!==0,s=o.clear();return r&&nr(o,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=v4(o,e,t)}),n}function Pd(e,t){const n=m4(e,t);return(a,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?a:Reflect.get(Nt(n,o)&&o in a?n:a,o,r)}const g4={get:Pd(!1,!1)},b4={get:Pd(!1,!0)},y4={get:Pd(!0,!1)},w4={get:Pd(!0,!0)},xw=new WeakMap,Tw=new WeakMap,Ow=new WeakMap,_w=new WeakMap;function S4(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function C4(e){return e.__v_skip||!Object.isExtensible(e)?0:S4(qT(e))}function Dt(e){return pr(e)?e:Ld(e,!1,d4,g4,xw)}function Ad(e){return Ld(e,!1,p4,b4,Tw)}function gl(e){return Ld(e,!0,f4,y4,Ow)}function Rw(e){return Ld(e,!0,h4,w4,_w)}function Ld(e,t,n,a,o){if(!ot(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=C4(e);if(r===0)return e;const s=o.get(e);if(s)return s;const l=new Proxy(e,r===2?a:n);return o.set(e,l),l}function lr(e){return pr(e)?lr(e.__v_raw):!!(e&&e.__v_isReactive)}function pr(e){return!!(e&&e.__v_isReadonly)}function Da(e){return!!(e&&e.__v_isShallow)}function Dd(e){return e?!!e.__v_raw:!1}function Jt(e){const t=e&&e.__v_raw;return t?Jt(t):e}function Ya(e){return!Nt(e,"__v_skip")&&Object.isExtensible(e)&&lw(e,"__v_skip",!0),e}const io=e=>ot(e)?Dt(e):e,bl=e=>ot(e)?gl(e):e;function Gt(e){return e?e.__v_isRef===!0:!1}function M(e){return Iw(e,!1)}function Tt(e){return Iw(e,!0)}function Iw(e,t){return Gt(e)?e:new k4(e,t)}class k4{constructor(t,n){this.dep=new _v,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Jt(t),this._value=n?t:io(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,a=this.__v_isShallow||Da(t)||pr(t);t=a?t:Jt(t),$o(t,n)&&(this._rawValue=t,this._value=a?t:io(t),this.dep.trigger())}}function Sc(e){e.dep&&e.dep.trigger()}function i(e){return Gt(e)?e.value:e}function xn(e){return Fe(e)?e():i(e)}const E4={get:(e,t,n)=>t==="__v_raw"?e:i(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const o=e[t];return Gt(o)&&!Gt(n)?(o.value=n,!0):Reflect.set(e,t,n,a)}};function $w(e){return lr(e)?e:new Proxy(e,E4)}function Pn(e){const t=we(e)?new Array(e.length):{};for(const n in e)t[n]=Nw(e,n);return t}class x4{constructor(t,n,a){this._object=t,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._key=Va(n)?n:String(n),this._raw=Jt(t);let o=!0,r=t;if(!we(t)||Va(this._key)||!Rd(this._key))do o=!Dd(r)||Da(r);while(o&&(r=r.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Gt(this._raw[this._key])){const n=this._object[this._key];if(Gt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return s4(this._raw,this._key)}}class T4{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Ht(e,t,n){return Gt(e)?e:Fe(e)?new T4(e):ot(e)&&arguments.length>1?Nw(e,t,n):M(e)}function Nw(e,t,n){return new x4(e,t,n)}class O4{constructor(t,n,a){this.fn=t,this.setter=n,this._value=void 0,this.dep=new _v(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&bn!==this)return vw(this,!0),!0}get value(){const t=this.dep.track();return bw(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _4(e,t,n=!1){let a,o;return Fe(e)?a=e:(a=e.get,o=e.set),new O4(a,o,n)}const Ju={},Kc=new WeakMap;let ls;function R4(e,t=!1,n=ls){if(n){let a=Kc.get(n);a||Kc.set(n,a=[]),a.push(e)}}function I4(e,t,n=vn){const{immediate:a,deep:o,once:r,scheduler:s,augmentJob:l,call:u}=n,c=S=>o?S:Da(S)||o===!1||o===0?ar(S,1):ar(S);let d,f,p,g,h=!1,v=!1;if(Gt(e)?(f=()=>e.value,h=Da(e)):lr(e)?(f=()=>c(e),h=!0):we(e)?(v=!0,h=e.some(S=>lr(S)||Da(S)),f=()=>e.map(S=>{if(Gt(S))return S.value;if(lr(S))return c(S);if(Fe(S))return u?u(S,2):S()})):Fe(e)?t?f=u?()=>u(e,2):e:f=()=>{if(p){dr();try{p()}finally{fr()}}const S=ls;ls=d;try{return u?u(e,3,[g]):e(g)}finally{ls=S}}:f=ut,t&&o){const S=f,k=o===!0?1/0:o;f=()=>ar(S(),k)}const m=Nd(),b=()=>{d.stop(),m&&m.active&&Sv(m.effects,d)};if(r&&t){const S=t;t=(...k)=>{S(...k),b()}}let w=v?new Array(e.length).fill(Ju):Ju;const y=S=>{if(!(!(d.flags&1)||!d.dirty&&!S))if(t){const k=d.run();if(o||h||(v?k.some((x,O)=>$o(x,w[O])):$o(k,w))){p&&p();const x=ls;ls=d;try{const O=[k,w===Ju?void 0:v&&w[0]===Ju?[]:w,g];w=k,u?u(t,3,O):t(...O)}finally{ls=x}}}else d.run()};return l&&l(y),d=new pw(f),d.scheduler=s?()=>s(y,!1):y,g=S=>R4(S,!1,d),p=d.onStop=()=>{const S=Kc.get(d);if(S){if(u)u(S,4);else for(const k of S)k();Kc.delete(d)}},t?a?y(!0):w=d.run():s?s(y.bind(null,!0),!0):d.run(),b.pause=d.pause.bind(d),b.resume=d.resume.bind(d),b.stop=b,b}function ar(e,t=1/0,n){if(t<=0||!ot(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Gt(e))ar(e.value,t,n);else if(we(e))for(let a=0;a<e.length;a++)ar(e[a],t,n);else if(_d(e)||il(e))e.forEach(a=>{ar(a,t,n)});else if(Vi(e)){for(const a in e)ar(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&ar(e[a],t,n)}return e}/** +* @vue/runtime-core v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function mu(e,t,n,a){try{return a?e(...a):e()}catch(o){Bd(o,t,n)}}function uo(e,t,n,a){if(Fe(e)){const o=mu(e,t,n,a);return o&&qr(o)&&o.catch(r=>{Bd(r,t,n)}),o}if(we(e)){const o=[];for(let r=0;r<e.length;r++)o.push(uo(e[r],t,n,a));return o}}function Bd(e,t,n,a=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||vn;if(t){let l=t.parent;const u=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const d=l.ec;if(d){for(let f=0;f<d.length;f++)if(d[f](e,u,c)===!1)return}l=l.parent}if(r){dr(),mu(r,null,10,[e,u,c]),fr();return}}$4(e,n,o,a,s)}function $4(e,t,n,a=!0,o=!1){if(o)throw e;console.error(e)}const pa=[];let Oo=-1;const ul=[];let Dr=null,Qs=0;const Mw=Promise.resolve();let Wc=null;function Ne(e){const t=Wc||Mw;return e?t.then(this?e.bind(this):e):t}function N4(e){let t=Oo+1,n=pa.length;for(;t<n;){const a=t+n>>>1,o=pa[a],r=Hi(o);r<e||r===e&&o.flags&2?t=a+1:n=a}return t}function Rv(e){if(!(e.flags&1)){const t=Hi(e),n=pa[pa.length-1];!n||!(e.flags&2)&&t>=Hi(n)?pa.push(e):pa.splice(N4(t),0,e),e.flags|=1,Pw()}}function Pw(){Wc||(Wc=Mw.then(Lw))}function M4(e){we(e)?ul.push(...e):Dr&&e.id===-1?Dr.splice(Qs+1,0,e):e.flags&1||(ul.push(e),e.flags|=1),Pw()}function Wg(e,t,n=Oo+1){for(;n<pa.length;n++){const a=pa[n];if(a&&a.flags&2){if(e&&a.id!==e.uid)continue;pa.splice(n,1),n--,a.flags&4&&(a.flags&=-2),a(),a.flags&4||(a.flags&=-2)}}}function Aw(e){if(ul.length){const t=[...new Set(ul)].sort((n,a)=>Hi(n)-Hi(a));if(ul.length=0,Dr){Dr.push(...t);return}for(Dr=t,Qs=0;Qs<Dr.length;Qs++){const n=Dr[Qs];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Dr=null,Qs=0}}const Hi=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Lw(e){try{for(Oo=0;Oo<pa.length;Oo++){const t=pa[Oo];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),mu(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Oo<pa.length;Oo++){const t=pa[Oo];t&&(t.flags&=-2)}Oo=-1,pa.length=0,Aw(),Wc=null,(pa.length||ul.length)&&Lw()}}let Jn=null,Dw=null;function jc(e){const t=Jn;return Jn=e,Dw=e&&e.type.__scopeId||null,t}function ne(e,t=Jn,n){if(!t||e._n)return e;const a=(...o)=>{a._d&&Yc(-1);const r=jc(t);let s;try{s=e(...o)}finally{jc(r),a._d&&Yc(1)}return s};return a._n=!0,a._c=!0,a._d=!0,a}function ct(e,t){if(Jn===null)return e;const n=Kd(Jn),a=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,s,l,u=vn]=t[o];r&&(Fe(r)&&(r={mounted:r,updated:r}),r.deep&&ar(s),a.push({dir:r,instance:n,value:s,oldValue:void 0,arg:l,modifiers:u}))}return e}function ns(e,t,n,a){const o=e.dirs,r=t&&t.dirs;for(let s=0;s<o.length;s++){const l=o[s];r&&(l.oldValue=r[s].value);let u=l.dir[a];u&&(dr(),uo(u,n,8,[e.el,l,e,t]),fr())}}function St(e,t){if(na){let n=na.provides;const a=na.parent&&na.parent.provides;a===n&&(n=na.provides=Object.create(a)),n[e]=t}}function $e(e,t,n=!1){const a=dt();if(a||Ss){let o=Ss?Ss._context.provides:a?a.parent==null||a.ce?a.vnode.appContext&&a.vnode.appContext.provides:a.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Fe(t)?t.call(a&&a.proxy):t}}function Iv(){return!!(dt()||Ss)}const P4=Symbol.for("v-scx"),A4=()=>$e(P4);function la(e,t){return $v(e,null,t)}function pe(e,t,n){return $v(e,t,n)}function $v(e,t,n=vn){const{immediate:a,deep:o,flush:r,once:s}=n,l=Vn({},n),u=t&&a||!t&&r!=="post";let c;if(ji){if(r==="sync"){const g=A4();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!u){const g=()=>{};return g.stop=ut,g.resume=ut,g.pause=ut,g}}const d=na;l.call=(g,h,v)=>uo(g,d,h,v);let f=!1;r==="post"?l.scheduler=g=>{da(g,d&&d.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(g,h)=>{h?g():Rv(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,d&&(g.id=d.uid,g.i=d))};const p=I4(e,t,l);return ji&&(c?c.push(p):u&&p()),p}function L4(e,t,n){const a=this.proxy,o=Ae(e)?e.includes(".")?Bw(a,e):()=>a[e]:e.bind(a,a);let r;Fe(t)?r=t:(r=t.handler,n=t);const s=bu(this),l=$v(o,r.bind(a),n);return s(),l}function Bw(e,t){const n=t.split(".");return()=>{let a=e;for(let o=0;o<n.length&&a;o++)a=a[n[o]];return a}}const $r=new WeakMap,Vw=Symbol("_vte"),Fw=e=>e.__isTeleport,us=e=>e&&(e.disabled||e.disabled===""),D4=e=>e&&(e.defer||e.defer===""),jg=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ug=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,jp=(e,t)=>{const n=e&&e.to;return Ae(n)?t?t(n):null:n},B4={name:"Teleport",__isTeleport:!0,process(e,t,n,a,o,r,s,l,u,c){const{mc:d,pc:f,pbc:p,o:{insert:g,querySelector:h,createText:v,createComment:m,parentNode:b}}=c,w=us(t.props);let{dynamicChildren:y}=t;const S=(O,T,I)=>{O.shapeFlag&16&&d(O.children,T,I,o,r,s,l,u)},k=(O=t)=>{const T=us(O.props),I=O.target=jp(O.props,h),_=Up(I,O,v,g);I&&(s!=="svg"&&jg(I)?s="svg":s!=="mathml"&&Ug(I)&&(s="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(I),T||(S(O,I,_),di(O,!1)))},x=O=>{const T=()=>{if($r.get(O)===T){if($r.delete(O),us(O.props)){const I=b(O.el)||n;S(O,I,O.anchor),di(O,!0)}k(O)}};$r.set(O,T),da(T,r)};if(e==null){const O=t.el=v(""),T=t.anchor=v("");if(g(O,n,a),g(T,n,a),D4(t.props)||r&&r.pendingBranch){x(t);return}w&&(S(t,n,T),di(t,!0)),k()}else{t.el=e.el;const O=t.anchor=e.anchor,T=$r.get(e);if(T){T.flags|=8,$r.delete(e),x(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,_=t.targetAnchor=e.targetAnchor,N=us(e.props),$=N?n:I,B=N?O:_;if(s==="svg"||jg(I)?s="svg":(s==="mathml"||Ug(I))&&(s="mathml"),y?(p(e.dynamicChildren,y,$,o,r,s,l),Fv(e,t,!0)):u||f(e,t,$,B,o,r,s,l,!1),w)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Zu(t,n,O,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=jp(t.props,h);K&&Zu(t,K,null,c,0)}else N&&Zu(t,I,_,c,1);di(t,w)}},remove(e,t,n,{um:a,o:{remove:o}},r){const{shapeFlag:s,children:l,anchor:u,targetStart:c,targetAnchor:d,target:f,props:p}=e;let g=r||!us(p);const h=$r.get(e);if(h&&(h.flags|=8,$r.delete(e),g=!1),f&&(o(c),o(d)),r&&o(u),s&16)for(let v=0;v<l.length;v++){const m=l[v];a(m,t,n,g,!!m.dynamicChildren)}},move:Zu,hydrate:V4};function Zu(e,t,n,{o:{insert:a},m:o},r=2){r===0&&a(e.targetAnchor,t,n);const{el:s,anchor:l,shapeFlag:u,children:c,props:d}=e,f=r===2;if(f&&a(s,t,n),!$r.has(e)&&(!f||us(d))&&u&16)for(let p=0;p<c.length;p++)o(c[p],t,n,2);f&&a(l,t,n)}function V4(e,t,n,a,o,r,{o:{nextSibling:s,parentNode:l,querySelector:u,insert:c,createText:d}},f){function p(m,b){let w=b;for(;w;){if(w&&w.nodeType===8){if(w.data==="teleport start anchor")t.targetStart=w;else if(w.data==="teleport anchor"){t.targetAnchor=w,m._lpa=t.targetAnchor&&s(t.targetAnchor);break}}w=s(w)}}function g(m,b){b.anchor=f(s(m),b,l(m),n,a,o,r)}const h=t.target=jp(t.props,u),v=us(t.props);if(h){const m=h._lpa||h.firstChild;t.shapeFlag&16&&(v?(g(e,t),p(h,m),t.targetAnchor||Up(h,t,d,c,l(e)===h?e:null)):(t.anchor=s(e),p(h,m),t.targetAnchor||Up(h,t,d,c),f(m&&s(m),t,h,n,a,o,r))),di(t,v)}else v&&t.shapeFlag&16&&(g(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const Bl=B4;function di(e,t){const n=e.ctx;if(n&&n.ut){let a,o;for(t?(a=e.el,o=e.anchor):(a=e.targetStart,o=e.targetAnchor);a&&a!==o;)a.nodeType===1&&a.setAttribute("data-v-owner",n.uid),a=a.nextSibling;n.ut()}}function Up(e,t,n,a,o=null){const r=t.targetStart=n(""),s=t.targetAnchor=n("");return r[Vw]=s,e&&(a(r,e,o),a(s,e,o)),s}const _o=Symbol("_leaveCb"),Zl=Symbol("_enterCb");function zw(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ht(()=>{e.isMounted=!0}),Vt(()=>{e.isUnmounting=!0}),e}const za=[Function,Array],Hw={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:za,onEnter:za,onAfterEnter:za,onEnterCancelled:za,onBeforeLeave:za,onLeave:za,onAfterLeave:za,onLeaveCancelled:za,onBeforeAppear:za,onAppear:za,onAfterAppear:za,onAppearCancelled:za},Kw=e=>{const t=e.subTree;return t.component?Kw(t.component):t},F4={name:"BaseTransition",props:Hw,setup(e,{slots:t}){const n=dt(),a=zw();return()=>{const o=t.default&&Nv(t.default(),!0),r=o&&o.length?Ww(o):n.subTree?re():void 0;if(!r)return;const s=Jt(e),{mode:l}=s;if(a.isLeaving)return Hf(r);const u=qg(r);if(!u)return Hf(r);let c=Ki(u,s,a,n,f=>c=f);u.type!==kn&&Os(u,c);let d=n.subTree&&qg(n.subTree);if(d&&d.type!==kn&&!cs(d,u)&&Kw(n).type!==kn){let f=Ki(d,s,a,n);if(Os(d,f),l==="out-in"&&u.type!==kn)return a.isLeaving=!0,f.afterLeave=()=>{a.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},Hf(r);l==="in-out"&&u.type!==kn?f.delayLeave=(p,g,h)=>{const v=jw(a,d);v[String(d.key)]=d,p[_o]=()=>{g(),p[_o]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{h(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return r}}};function Ww(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==kn){t=n;break}}return t}const z4=F4;function jw(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function Ki(e,t,n,a,o){const{appear:r,mode:s,persisted:l=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:g,onAfterLeave:h,onLeaveCancelled:v,onBeforeAppear:m,onAppear:b,onAfterAppear:w,onAppearCancelled:y}=t,S=String(e.key),k=jw(n,e),x=(I,_)=>{I&&uo(I,a,9,_)},O=(I,_)=>{const N=_[1];x(I,_),we(I)?I.every($=>$.length<=1)&&N():I.length<=1&&N()},T={mode:s,persisted:l,beforeEnter(I){let _=u;if(!n.isMounted)if(r)_=m||u;else return;I[_o]&&I[_o](!0);const N=k[S];N&&cs(e,N)&&N.el[_o]&&N.el[_o](),x(_,[I])},enter(I){if(k[S]===e)return;let _=c,N=d,$=f;if(!n.isMounted)if(r)_=b||c,N=w||d,$=y||f;else return;let B=!1;I[Zl]=j=>{B||(B=!0,j?x($,[I]):x(N,[I]),T.delayedLeave&&T.delayedLeave(),I[Zl]=void 0)};const K=I[Zl].bind(null,!1);_?O(_,[I,K]):K()},leave(I,_){const N=String(e.key);if(I[Zl]&&I[Zl](!0),n.isUnmounting)return _();x(p,[I]);let $=!1;I[_o]=K=>{$||($=!0,_(),K?x(v,[I]):x(h,[I]),I[_o]=void 0,k[N]===e&&delete k[N])};const B=I[_o].bind(null,!1);k[N]=e,g?O(g,[I,B]):B()},clone(I){const _=Ki(I,t,n,a,o);return o&&o(_),_}};return T}function Hf(e){if(Vd(e))return e=Fo(e),e.children=null,e}function qg(e){if(!Vd(e))return Fw(e.type)&&e.children?Ww(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Fe(n.default))return n.default()}}function Os(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Os(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Nv(e,t=!1,n){let a=[],o=0;for(let r=0;r<e.length;r++){let s=e[r];const l=n==null?s.key:String(n)+String(s.key!=null?s.key:r);s.type===Ve?(s.patchFlag&128&&o++,a=a.concat(Nv(s.children,t,l))):(t||s.type!==kn)&&a.push(l!=null?Fo(s,{key:l}):s)}if(o>1)for(let r=0;r<a.length;r++)a[r].patchFlag=-2;return a}function se(e,t){return Fe(e)?Vn({name:e.name},t,{setup:e}):e}function Uw(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Yg(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Uc=new WeakMap;function Ci(e,t,n,a,o=!1){if(we(e)){e.forEach((v,m)=>Ci(v,t&&(we(t)?t[m]:t),n,a,o));return}if(cl(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Ci(e,t,n,a.component.subTree);return}const r=a.shapeFlag&4?Kd(a.component):a.el,s=o?null:r,{i:l,r:u}=e,c=t&&t.r,d=l.refs===vn?l.refs={}:l.refs,f=l.setupState,p=Jt(f),g=f===vn?rw:v=>Yg(d,v)?!1:Nt(p,v),h=(v,m)=>!(m&&Yg(d,m));if(c!=null&&c!==u){if(Gg(t),Ae(c))d[c]=null,g(c)&&(f[c]=null);else if(Gt(c)){const v=t;h(c,v.k)&&(c.value=null),v.k&&(d[v.k]=null)}}if(Fe(u))mu(u,l,12,[s,d]);else{const v=Ae(u),m=Gt(u);if(v||m){const b=()=>{if(e.f){const w=v?g(u)?f[u]:d[u]:h()||!e.k?u.value:d[e.k];if(o)we(w)&&Sv(w,r);else if(we(w))w.includes(r)||w.push(r);else if(v)d[u]=[r],g(u)&&(f[u]=d[u]);else{const y=[r];h(u,e.k)&&(u.value=y),e.k&&(d[e.k]=y)}}else v?(d[u]=s,g(u)&&(f[u]=s)):m&&(h(u,e.k)&&(u.value=s),e.k&&(d[e.k]=s))};if(s){const w=()=>{b(),Uc.delete(e)};w.id=-1,Uc.set(e,w),da(w,n)}else Gg(e),b()}}}function Gg(e){const t=Uc.get(e);t&&(t.flags|=8,Uc.delete(e))}$d().requestIdleCallback;$d().cancelIdleCallback;const cl=e=>!!e.type.__asyncLoader,Vd=e=>e.type.__isKeepAlive;function gu(e,t){qw(e,"a",t)}function Mv(e,t){qw(e,"da",t)}function qw(e,t,n=na){const a=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Fd(t,a,n),n){let o=n.parent;for(;o&&o.parent;)Vd(o.parent.vnode)&&H4(a,t,n,o),o=o.parent}}function H4(e,t,n,a){const o=Fd(t,e,a,!0);Vl(()=>{Sv(a[t],o)},n)}function Fd(e,t,n=na,a=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...s)=>{dr();const l=bu(n),u=uo(t,n,e,s);return l(),fr(),u});return a?o.unshift(r):o.push(r),r}}const yr=e=>(t,n=na)=>{(!ji||e==="sp")&&Fd(e,(...a)=>t(...a),n)},zd=yr("bm"),ht=yr("m"),Pv=yr("bu"),bo=yr("u"),Vt=yr("bum"),Vl=yr("um"),K4=yr("sp"),W4=yr("rtg"),j4=yr("rtc");function U4(e,t=na){Fd("ec",e,t)}const Av="components",q4="directives";function Mt(e,t){return Dv(Av,e,!0,t)||e}const Yw=Symbol.for("v-ndc");function it(e){return Ae(e)?Dv(Av,e,!1)||e:e||Yw}function Lv(e){return Dv(q4,e)}function Dv(e,t,n=!0,a=!1){const o=Jn||na;if(o){const r=o.type;if(e===Av){const l=R3(r,!1);if(l&&(l===t||l===qn(t)||l===vu(qn(t))))return r}const s=Xg(o[e]||r[e],t)||Xg(o.appContext[e],t);return!s&&a?r:s}}function Xg(e,t){return e&&(e[t]||e[qn(t)]||e[vu(qn(t))])}function kt(e,t,n,a){let o;const r=n,s=we(e);if(s||Ae(e)){const l=s&&lr(e);let u=!1,c=!1;l&&(u=!Da(e),c=pr(e),e=Md(e)),o=new Array(e.length);for(let d=0,f=e.length;d<f;d++)o[d]=t(u?c?bl(io(e[d])):io(e[d]):e[d],d,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,r)}else if(ot(e))if(e[Symbol.iterator])o=Array.from(e,(l,u)=>t(l,u,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let u=0,c=l.length;u<c;u++){const d=l[u];o[u]=t(e[d],d,u,r)}}else o=[];return o}function ma(e,t){for(let n=0;n<t.length;n++){const a=t[n];if(we(a))for(let o=0;o<a.length;o++)e[a[o].name]=a[o].fn;else a&&(e[a.name]=a.key?(...o)=>{const r=a.fn(...o);return r&&(r.key=a.key),r}:a.fn)}return e}function oe(e,t,n={},a,o){if(Jn.ce||Jn.parent&&cl(Jn.parent)&&Jn.parent.ce){const c=Object.keys(n).length>0;return t!=="default"&&(n.name=t),E(),le(Ve,null,[X("slot",n,a&&a())],c?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),E();const s=r&&Gw(r(n)),l=n.key||s&&s.key,u=le(Ve,{key:(l&&!Va(l)?l:`_${t}`)+(!s&&a?"_fb":"")},s||(a?a():[]),s&&e._===1?64:-2);return!o&&u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),r&&r._c&&(r._d=!0),u}function Gw(e){return e.some(t=>Zt(t)?!(t.type===kn||t.type===Ve&&!Gw(t.children)):!0)?e:null}function Y4(e,t){const n={};for(const a in e)n[yi(a)]=e[a];return n}const qp=e=>e?v2(e)?Kd(e):qp(e.parent):null,ki=Vn(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>qp(e.parent),$root:e=>qp(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Zw(e),$forceUpdate:e=>e.f||(e.f=()=>{Rv(e.update)}),$nextTick:e=>e.n||(e.n=Ne.bind(e.proxy)),$watch:e=>L4.bind(e)}),Kf=(e,t)=>e!==vn&&!e.__isScriptSetup&&Nt(e,t),G4={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:a,data:o,props:r,accessCache:s,type:l,appContext:u}=e;if(t[0]!=="$"){const p=s[t];if(p!==void 0)switch(p){case 1:return a[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(Kf(a,t))return s[t]=1,a[t];if(o!==vn&&Nt(o,t))return s[t]=2,o[t];if(Nt(r,t))return s[t]=3,r[t];if(n!==vn&&Nt(n,t))return s[t]=4,n[t];Yp&&(s[t]=0)}}const c=ki[t];let d,f;if(c)return t==="$attrs"&&ta(e.attrs,"get",""),c(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==vn&&Nt(n,t))return s[t]=4,n[t];if(f=u.config.globalProperties,Nt(f,t))return f[t]},set({_:e},t,n){const{data:a,setupState:o,ctx:r}=e;return Kf(o,t)?(o[t]=n,!0):a!==vn&&Nt(a,t)?(a[t]=n,!0):Nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:o,props:r,type:s}},l){let u;return!!(n[l]||e!==vn&&l[0]!=="$"&&Nt(e,l)||Kf(t,l)||Nt(r,l)||Nt(a,l)||Nt(ki,l)||Nt(o.config.globalProperties,l)||(u=s.__cssModules)&&u[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Nt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function wn(){return Xw().slots}function wr(){return Xw().attrs}function Xw(e){const t=dt();return t.setupContext||(t.setupContext=g2(t))}function Jg(e){return we(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Yp=!0;function X4(e){const t=Zw(e),n=e.proxy,a=e.ctx;Yp=!1,t.beforeCreate&&Zg(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:s,watch:l,provide:u,inject:c,created:d,beforeMount:f,mounted:p,beforeUpdate:g,updated:h,activated:v,deactivated:m,beforeDestroy:b,beforeUnmount:w,destroyed:y,unmounted:S,render:k,renderTracked:x,renderTriggered:O,errorCaptured:T,serverPrefetch:I,expose:_,inheritAttrs:N,components:$,directives:B,filters:K}=t;if(c&&J4(c,a,null),s)for(const A in s){const P=s[A];Fe(P)&&(a[A]=P.bind(n))}if(o){const A=o.call(n,n);ot(A)&&(e.data=Dt(A))}if(Yp=!0,r)for(const A in r){const P=r[A],V=Fe(P)?P.bind(n,n):Fe(P.get)?P.get.bind(n,n):ut,F=!Fe(P)&&Fe(P.set)?P.set.bind(n):ut,H=C({get:V,set:F});Object.defineProperty(a,A,{enumerable:!0,configurable:!0,get:()=>H.value,set:U=>H.value=U})}if(l)for(const A in l)Jw(l[A],a,n,A);if(u){const A=Fe(u)?u.call(n):u;Reflect.ownKeys(A).forEach(P=>{St(P,A[P])})}d&&Zg(d,e,"c");function W(A,P){we(P)?P.forEach(V=>A(V.bind(n))):P&&A(P.bind(n))}if(W(zd,f),W(ht,p),W(Pv,g),W(bo,h),W(gu,v),W(Mv,m),W(U4,T),W(j4,x),W(W4,O),W(Vt,w),W(Vl,S),W(K4,I),we(_))if(_.length){const A=e.exposed||(e.exposed={});_.forEach(P=>{Object.defineProperty(A,P,{get:()=>n[P],set:V=>n[P]=V,enumerable:!0})})}else e.exposed||(e.exposed={});k&&e.render===ut&&(e.render=k),N!=null&&(e.inheritAttrs=N),$&&(e.components=$),B&&(e.directives=B),I&&Uw(e)}function J4(e,t,n=ut){we(e)&&(e=Gp(e));for(const a in e){const o=e[a];let r;ot(o)?"default"in o?r=$e(o.from||a,o.default,!0):r=$e(o.from||a):r=$e(o),Gt(r)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[a]=r}}function Zg(e,t,n){uo(we(e)?e.map(a=>a.bind(t.proxy)):e.bind(t.proxy),t,n)}function Jw(e,t,n,a){let o=a.includes(".")?Bw(n,a):()=>n[a];if(Ae(e)){const r=t[e];Fe(r)&&pe(o,r)}else if(Fe(e))pe(o,e.bind(n));else if(ot(e))if(we(e))e.forEach(r=>Jw(r,t,n,a));else{const r=Fe(e.handler)?e.handler.bind(n):t[e.handler];Fe(r)&&pe(o,r,e)}}function Zw(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,l=r.get(t);let u;return l?u=l:!o.length&&!n&&!a?u=t:(u={},o.length&&o.forEach(c=>qc(u,c,s,!0)),qc(u,t,s)),ot(t)&&r.set(t,u),u}function qc(e,t,n,a=!1){const{mixins:o,extends:r}=t;r&&qc(e,r,n,!0),o&&o.forEach(s=>qc(e,s,n,!0));for(const s in t)if(!(a&&s==="expose")){const l=Z4[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const Z4={data:Qg,props:eb,emits:eb,methods:fi,computed:fi,beforeCreate:ca,created:ca,beforeMount:ca,mounted:ca,beforeUpdate:ca,updated:ca,beforeDestroy:ca,beforeUnmount:ca,destroyed:ca,unmounted:ca,activated:ca,deactivated:ca,errorCaptured:ca,serverPrefetch:ca,components:fi,directives:fi,watch:e3,provide:Qg,inject:Q4};function Qg(e,t){return t?e?function(){return Vn(Fe(e)?e.call(this,this):e,Fe(t)?t.call(this,this):t)}:t:e}function Q4(e,t){return fi(Gp(e),Gp(t))}function Gp(e){if(we(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ca(e,t){return e?[...new Set([].concat(e,t))]:t}function fi(e,t){return e?Vn(Object.create(null),e,t):t}function eb(e,t){return e?we(e)&&we(t)?[...new Set([...e,...t])]:Vn(Object.create(null),Jg(e),Jg(t??{})):t}function e3(e,t){if(!e)return t;if(!t)return e;const n=Vn(Object.create(null),e);for(const a in t)n[a]=ca(e[a],t[a]);return n}function Qw(){return{app:null,config:{isNativeTag:rw,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let t3=0;function n3(e,t){return function(a,o=null){Fe(a)||(a=Vn({},a)),o!=null&&!ot(o)&&(o=null);const r=Qw(),s=new WeakSet,l=[];let u=!1;const c=r.app={_uid:t3++,_component:a,_props:o,_container:null,_context:r,_instance:null,version:$3,get config(){return r.config},set config(d){},use(d,...f){return s.has(d)||(d&&Fe(d.install)?(s.add(d),d.install(c,...f)):Fe(d)&&(s.add(d),d(c,...f))),c},mixin(d){return r.mixins.includes(d)||r.mixins.push(d),c},component(d,f){return f?(r.components[d]=f,c):r.components[d]},directive(d,f){return f?(r.directives[d]=f,c):r.directives[d]},mount(d,f,p){if(!u){const g=c._ceVNode||X(a,o);return g.appContext=r,p===!0?p="svg":p===!1&&(p=void 0),e(g,d,p),u=!0,c._container=d,d.__vue_app__=c,Kd(g.component)}},onUnmount(d){l.push(d)},unmount(){u&&(uo(l,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(d,f){return r.provides[d]=f,c},runWithContext(d){const f=Ss;Ss=c;try{return d()}finally{Ss=f}}};return c}}let Ss=null;const a3=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${qn(t)}Modifiers`]||e[`${br(t)}Modifiers`];function o3(e,t,...n){if(e.isUnmounted)return;const a=e.vnode.props||vn;let o=n;const r=t.startsWith("update:"),s=r&&a3(a,t.slice(7));s&&(s.trim&&(o=n.map(d=>Ae(d)?d.trim():d)),s.number&&(o=n.map(Cv)));let l,u=a[l=yi(t)]||a[l=yi(qn(t))];!u&&r&&(u=a[l=yi(br(t))]),u&&uo(u,e,6,o);const c=a[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,uo(c,e,6,o)}}const r3=new WeakMap;function e2(e,t,n=!1){const a=n?r3:t.emitsCache,o=a.get(e);if(o!==void 0)return o;const r=e.emits;let s={},l=!1;if(!Fe(e)){const u=c=>{const d=e2(c,t,!0);d&&(l=!0,Vn(s,d))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!r&&!l?(ot(e)&&a.set(e,null),null):(we(r)?r.forEach(u=>s[u]=null):Vn(s,r),ot(e)&&a.set(e,s),s)}function Hd(e,t){return!e||!Td(t)?!1:(t=t.slice(2).replace(/Once$/,""),Nt(e,t[0].toLowerCase()+t.slice(1))||Nt(e,br(t))||Nt(e,t))}function tb(e){const{type:t,vnode:n,proxy:a,withProxy:o,propsOptions:[r],slots:s,attrs:l,emit:u,render:c,renderCache:d,props:f,data:p,setupState:g,ctx:h,inheritAttrs:v}=e,m=jc(e);let b,w;try{if(n.shapeFlag&4){const S=o||a,k=S;b=Io(c.call(k,S,d,f,g,p,h)),w=l}else{const S=t;b=Io(S.length>1?S(f,{attrs:l,slots:s,emit:u}):S(f,null)),w=t.props?l:s3(l)}}catch(S){Ei.length=0,Bd(S,e,1),b=X(kn)}let y=b;if(w&&v!==!1){const S=Object.keys(w),{shapeFlag:k}=y;S.length&&k&7&&(r&&S.some(Od)&&(w=l3(w,r)),y=Fo(y,w,!1,!0))}return n.dirs&&(y=Fo(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Os(y,n.transition),b=y,jc(m),b}const s3=e=>{let t;for(const n in e)(n==="class"||n==="style"||Td(n))&&((t||(t={}))[n]=e[n]);return t},l3=(e,t)=>{const n={};for(const a in e)(!Od(a)||!(a.slice(9)in t))&&(n[a]=e[a]);return n};function i3(e,t,n){const{props:a,children:o,component:r}=e,{props:s,children:l,patchFlag:u}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return a?nb(a,s,c):!!s;if(u&8){const d=t.dynamicProps;for(let f=0;f<d.length;f++){const p=d[f];if(t2(s,a,p)&&!Hd(c,p))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:a===s?!1:a?s?nb(a,s,c):!0:!!s;return!1}function nb(e,t,n){const a=Object.keys(t);if(a.length!==Object.keys(e).length)return!0;for(let o=0;o<a.length;o++){const r=a[o];if(t2(t,e,r)&&!Hd(n,r))return!0}return!1}function t2(e,t,n){const a=e[n],o=t[n];return n==="style"&&ot(a)&&ot(o)?!Ts(a,o):a!==o}function u3({vnode:e,parent:t,suspense:n},a){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=a,e=o),o===e)(e=t.vnode).el=a,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=a)}const n2={},a2=()=>Object.create(n2),o2=e=>Object.getPrototypeOf(e)===n2;function c3(e,t,n,a=!1){const o={},r=a2();e.propsDefaults=Object.create(null),r2(e,t,o,r);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=a?o:Ad(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function d3(e,t,n,a){const{props:o,attrs:r,vnode:{patchFlag:s}}=e,l=Jt(o),[u]=e.propsOptions;let c=!1;if((a||s>0)&&!(s&16)){if(s&8){const d=e.vnode.dynamicProps;for(let f=0;f<d.length;f++){let p=d[f];if(Hd(e.emitsOptions,p))continue;const g=t[p];if(u)if(Nt(r,p))g!==r[p]&&(r[p]=g,c=!0);else{const h=qn(p);o[h]=Xp(u,l,h,g,e,!1)}else g!==r[p]&&(r[p]=g,c=!0)}}}else{r2(e,t,o,r)&&(c=!0);let d;for(const f in l)(!t||!Nt(t,f)&&((d=br(f))===f||!Nt(t,d)))&&(u?n&&(n[f]!==void 0||n[d]!==void 0)&&(o[f]=Xp(u,l,f,void 0,e,!0)):delete o[f]);if(r!==l)for(const f in r)(!t||!Nt(t,f))&&(delete r[f],c=!0)}c&&nr(e.attrs,"set","")}function r2(e,t,n,a){const[o,r]=e.propsOptions;let s=!1,l;if(t)for(let u in t){if(bi(u))continue;const c=t[u];let d;o&&Nt(o,d=qn(u))?!r||!r.includes(d)?n[d]=c:(l||(l={}))[d]=c:Hd(e.emitsOptions,u)||(!(u in a)||c!==a[u])&&(a[u]=c,s=!0)}if(r){const u=Jt(n),c=l||vn;for(let d=0;d<r.length;d++){const f=r[d];n[f]=Xp(o,u,f,c[f],e,!Nt(c,f))}}return s}function Xp(e,t,n,a,o,r){const s=e[n];if(s!=null){const l=Nt(s,"default");if(l&&a===void 0){const u=s.default;if(s.type!==Function&&!s.skipFactory&&Fe(u)){const{propsDefaults:c}=o;if(n in c)a=c[n];else{const d=bu(o);a=c[n]=u.call(null,t),d()}}else a=u;o.ce&&o.ce._setProp(n,a)}s[0]&&(r&&!l?a=!1:s[1]&&(a===""||a===br(n))&&(a=!0))}return a}const f3=new WeakMap;function s2(e,t,n=!1){const a=n?f3:t.propsCache,o=a.get(e);if(o)return o;const r=e.props,s={},l=[];let u=!1;if(!Fe(e)){const d=f=>{u=!0;const[p,g]=s2(f,t,!0);Vn(s,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!r&&!u)return ot(e)&&a.set(e,ll),ll;if(we(r))for(let d=0;d<r.length;d++){const f=qn(r[d]);ab(f)&&(s[f]=vn)}else if(r)for(const d in r){const f=qn(d);if(ab(f)){const p=r[d],g=s[f]=we(p)||Fe(p)?{type:p}:Vn({},p),h=g.type;let v=!1,m=!0;if(we(h))for(let b=0;b<h.length;++b){const w=h[b],y=Fe(w)&&w.name;if(y==="Boolean"){v=!0;break}else y==="String"&&(m=!1)}else v=Fe(h)&&h.name==="Boolean";g[0]=v,g[1]=m,(v||Nt(g,"default"))&&l.push(f)}}const c=[s,l];return ot(e)&&a.set(e,c),c}function ab(e){return e[0]!=="$"&&!bi(e)}const Bv=e=>e==="_"||e==="_ctx"||e==="$stable",Vv=e=>we(e)?e.map(Io):[Io(e)],p3=(e,t,n)=>{if(t._n)return t;const a=ne((...o)=>Vv(t(...o)),n);return a._c=!1,a},l2=(e,t,n)=>{const a=e._ctx;for(const o in e){if(Bv(o))continue;const r=e[o];if(Fe(r))t[o]=p3(o,r,a);else if(r!=null){const s=Vv(r);t[o]=()=>s}}},i2=(e,t)=>{const n=Vv(t);e.slots.default=()=>n},u2=(e,t,n)=>{for(const a in t)(n||!Bv(a))&&(e[a]=t[a])},h3=(e,t,n)=>{const a=e.slots=a2();if(e.vnode.shapeFlag&32){const o=t._;o?(u2(a,t,n),n&&lw(a,"_",o,!0)):l2(t,a)}else t&&i2(e,t)},v3=(e,t,n)=>{const{vnode:a,slots:o}=e;let r=!0,s=vn;if(a.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:u2(o,t,n):(r=!t.$stable,l2(t,o)),s=t}else t&&(i2(e,t),s={default:1});if(r)for(const l in o)!Bv(l)&&s[l]==null&&delete o[l]},da=w3;function m3(e){return g3(e)}function g3(e,t){const n=$d();n.__VUE__=!0;const{insert:a,remove:o,patchProp:r,createElement:s,createText:l,createComment:u,setText:c,setElementText:d,parentNode:f,nextSibling:p,setScopeId:g=ut,insertStaticContent:h}=e,v=(L,q,te,fe=null,he=null,ve=null,Ie=void 0,Le=null,_e=!!q.dynamicChildren)=>{if(L===q)return;L&&!cs(L,q)&&(fe=Z(L),U(L,he,ve,!0),L=null),q.patchFlag===-2&&(_e=!1,q.dynamicChildren=null);const{type:ye,ref:Te,shapeFlag:be}=q;switch(ye){case Fl:m(L,q,te,fe);break;case kn:b(L,q,te,fe);break;case Cc:L==null&&w(q,te,fe,Ie);break;case Ve:$(L,q,te,fe,he,ve,Ie,Le,_e);break;default:be&1?k(L,q,te,fe,he,ve,Ie,Le,_e):be&6?B(L,q,te,fe,he,ve,Ie,Le,_e):(be&64||be&128)&&ye.process(L,q,te,fe,he,ve,Ie,Le,_e,Y)}Te!=null&&he?Ci(Te,L&&L.ref,ve,q||L,!q):Te==null&&L&&L.ref!=null&&Ci(L.ref,null,ve,L,!0)},m=(L,q,te,fe)=>{if(L==null)a(q.el=l(q.children),te,fe);else{const he=q.el=L.el;q.children!==L.children&&c(he,q.children)}},b=(L,q,te,fe)=>{L==null?a(q.el=u(q.children||""),te,fe):q.el=L.el},w=(L,q,te,fe)=>{[L.el,L.anchor]=h(L.children,q,te,fe,L.el,L.anchor)},y=({el:L,anchor:q},te,fe)=>{let he;for(;L&&L!==q;)he=p(L),a(L,te,fe),L=he;a(q,te,fe)},S=({el:L,anchor:q})=>{let te;for(;L&&L!==q;)te=p(L),o(L),L=te;o(q)},k=(L,q,te,fe,he,ve,Ie,Le,_e)=>{if(q.type==="svg"?Ie="svg":q.type==="math"&&(Ie="mathml"),L==null)x(q,te,fe,he,ve,Ie,Le,_e);else{const ye=L.el&&L.el._isVueCE?L.el:null;try{ye&&ye._beginPatch(),I(L,q,he,ve,Ie,Le,_e)}finally{ye&&ye._endPatch()}}},x=(L,q,te,fe,he,ve,Ie,Le)=>{let _e,ye;const{props:Te,shapeFlag:be,transition:Pe,dirs:He}=L;if(_e=L.el=s(L.type,ve,Te&&Te.is,Te),be&8?d(_e,L.children):be&16&&T(L.children,_e,null,fe,he,Wf(L,ve),Ie,Le),He&&ns(L,null,fe,"created"),O(_e,L,L.scopeId,Ie,fe),Te){for(const Qe in Te)Qe!=="value"&&!bi(Qe)&&r(_e,Qe,null,Te[Qe],ve,fe);"value"in Te&&r(_e,"value",null,Te.value,ve),(ye=Te.onVnodeBeforeMount)&&Eo(ye,fe,L)}He&&ns(L,null,fe,"beforeMount");const Je=b3(he,Pe);Je&&Pe.beforeEnter(_e),a(_e,q,te),((ye=Te&&Te.onVnodeMounted)||Je||He)&&da(()=>{try{ye&&Eo(ye,fe,L),Je&&Pe.enter(_e),He&&ns(L,null,fe,"mounted")}finally{}},he)},O=(L,q,te,fe,he)=>{if(te&&g(L,te),fe)for(let ve=0;ve<fe.length;ve++)g(L,fe[ve]);if(he){let ve=he.subTree;if(q===ve||f2(ve.type)&&(ve.ssContent===q||ve.ssFallback===q)){const Ie=he.vnode;O(L,Ie,Ie.scopeId,Ie.slotScopeIds,he.parent)}}},T=(L,q,te,fe,he,ve,Ie,Le,_e=0)=>{for(let ye=_e;ye<L.length;ye++){const Te=L[ye]=Le?er(L[ye]):Io(L[ye]);v(null,Te,q,te,fe,he,ve,Ie,Le)}},I=(L,q,te,fe,he,ve,Ie)=>{const Le=q.el=L.el;let{patchFlag:_e,dynamicChildren:ye,dirs:Te}=q;_e|=L.patchFlag&16;const be=L.props||vn,Pe=q.props||vn;let He;if(te&&as(te,!1),(He=Pe.onVnodeBeforeUpdate)&&Eo(He,te,q,L),Te&&ns(q,L,te,"beforeUpdate"),te&&as(te,!0),(be.innerHTML&&Pe.innerHTML==null||be.textContent&&Pe.textContent==null)&&d(Le,""),ye?_(L.dynamicChildren,ye,Le,te,fe,Wf(q,he),ve):Ie||P(L,q,Le,null,te,fe,Wf(q,he),ve,!1),_e>0){if(_e&16)N(Le,be,Pe,te,he);else if(_e&2&&be.class!==Pe.class&&r(Le,"class",null,Pe.class,he),_e&4&&r(Le,"style",be.style,Pe.style,he),_e&8){const Je=q.dynamicProps;for(let Qe=0;Qe<Je.length;Qe++){const lt=Je[Qe],Ze=be[lt],gt=Pe[lt];(gt!==Ze||lt==="value")&&r(Le,lt,Ze,gt,he,te)}}_e&1&&L.children!==q.children&&d(Le,q.children)}else!Ie&&ye==null&&N(Le,be,Pe,te,he);((He=Pe.onVnodeUpdated)||Te)&&da(()=>{He&&Eo(He,te,q,L),Te&&ns(q,L,te,"updated")},fe)},_=(L,q,te,fe,he,ve,Ie)=>{for(let Le=0;Le<q.length;Le++){const _e=L[Le],ye=q[Le],Te=_e.el&&(_e.type===Ve||!cs(_e,ye)||_e.shapeFlag&198)?f(_e.el):te;v(_e,ye,Te,null,fe,he,ve,Ie,!0)}},N=(L,q,te,fe,he)=>{if(q!==te){if(q!==vn)for(const ve in q)!bi(ve)&&!(ve in te)&&r(L,ve,q[ve],null,he,fe);for(const ve in te){if(bi(ve))continue;const Ie=te[ve],Le=q[ve];Ie!==Le&&ve!=="value"&&r(L,ve,Le,Ie,he,fe)}"value"in te&&r(L,"value",q.value,te.value,he)}},$=(L,q,te,fe,he,ve,Ie,Le,_e)=>{const ye=q.el=L?L.el:l(""),Te=q.anchor=L?L.anchor:l("");let{patchFlag:be,dynamicChildren:Pe,slotScopeIds:He}=q;He&&(Le=Le?Le.concat(He):He),L==null?(a(ye,te,fe),a(Te,te,fe),T(q.children||[],te,Te,he,ve,Ie,Le,_e)):be>0&&be&64&&Pe&&L.dynamicChildren&&L.dynamicChildren.length===Pe.length?(_(L.dynamicChildren,Pe,te,he,ve,Ie,Le),(q.key!=null||he&&q===he.subTree)&&Fv(L,q,!0)):P(L,q,te,Te,he,ve,Ie,Le,_e)},B=(L,q,te,fe,he,ve,Ie,Le,_e)=>{q.slotScopeIds=Le,L==null?q.shapeFlag&512?he.ctx.activate(q,te,fe,Ie,_e):K(q,te,fe,he,ve,Ie,_e):j(L,q,_e)},K=(L,q,te,fe,he,ve,Ie)=>{const Le=L.component=x3(L,fe,he);if(Vd(L)&&(Le.ctx.renderer=Y),T3(Le,!1,Ie),Le.asyncDep){if(he&&he.registerDep(Le,W,Ie),!L.el){const _e=Le.subTree=X(kn);b(null,_e,q,te),L.placeholder=_e.el}}else W(Le,L,q,te,he,ve,Ie)},j=(L,q,te)=>{const fe=q.component=L.component;if(i3(L,q,te))if(fe.asyncDep&&!fe.asyncResolved){A(fe,q,te);return}else fe.next=q,fe.update();else q.el=L.el,fe.vnode=q},W=(L,q,te,fe,he,ve,Ie)=>{const Le=()=>{if(L.isMounted){let{next:be,bu:Pe,u:He,parent:Je,vnode:Qe}=L;{const zt=c2(L);if(zt){be&&(be.el=Qe.el,A(L,be,Ie)),zt.asyncDep.then(()=>{da(()=>{L.isUnmounted||ye()},he)});return}}let lt=be,Ze;as(L,!1),be?(be.el=Qe.el,A(L,be,Ie)):be=Qe,Pe&&wc(Pe),(Ze=be.props&&be.props.onVnodeBeforeUpdate)&&Eo(Ze,Je,be,Qe),as(L,!0);const gt=tb(L),Pt=L.subTree;L.subTree=gt,v(Pt,gt,f(Pt.el),Z(Pt),L,he,ve),be.el=gt.el,lt===null&&u3(L,gt.el),He&&da(He,he),(Ze=be.props&&be.props.onVnodeUpdated)&&da(()=>Eo(Ze,Je,be,Qe),he)}else{let be;const{el:Pe,props:He}=q,{bm:Je,m:Qe,parent:lt,root:Ze,type:gt}=L,Pt=cl(q);as(L,!1),Je&&wc(Je),!Pt&&(be=He&&He.onVnodeBeforeMount)&&Eo(be,lt,q),as(L,!0);{Ze.ce&&Ze.ce._hasShadowRoot()&&Ze.ce._injectChildStyle(gt,L.parent?L.parent.type:void 0);const zt=L.subTree=tb(L);v(null,zt,te,fe,L,he,ve),q.el=zt.el}if(Qe&&da(Qe,he),!Pt&&(be=He&&He.onVnodeMounted)){const zt=q;da(()=>Eo(be,lt,zt),he)}(q.shapeFlag&256||lt&&cl(lt.vnode)&<.vnode.shapeFlag&256)&&L.a&&da(L.a,he),L.isMounted=!0,q=te=fe=null}};L.scope.on();const _e=L.effect=new pw(Le);L.scope.off();const ye=L.update=_e.run.bind(_e),Te=L.job=_e.runIfDirty.bind(_e);Te.i=L,Te.id=L.uid,_e.scheduler=()=>Rv(Te),as(L,!0),ye()},A=(L,q,te)=>{q.component=L;const fe=L.vnode.props;L.vnode=q,L.next=null,d3(L,q.props,fe,te),v3(L,q.children,te),dr(),Wg(L),fr()},P=(L,q,te,fe,he,ve,Ie,Le,_e=!1)=>{const ye=L&&L.children,Te=L?L.shapeFlag:0,be=q.children,{patchFlag:Pe,shapeFlag:He}=q;if(Pe>0){if(Pe&128){F(ye,be,te,fe,he,ve,Ie,Le,_e);return}else if(Pe&256){V(ye,be,te,fe,he,ve,Ie,Le,_e);return}}He&8?(Te&16&&ce(ye,he,ve),be!==ye&&d(te,be)):Te&16?He&16?F(ye,be,te,fe,he,ve,Ie,Le,_e):ce(ye,he,ve,!0):(Te&8&&d(te,""),He&16&&T(be,te,fe,he,ve,Ie,Le,_e))},V=(L,q,te,fe,he,ve,Ie,Le,_e)=>{L=L||ll,q=q||ll;const ye=L.length,Te=q.length,be=Math.min(ye,Te);let Pe;for(Pe=0;Pe<be;Pe++){const He=q[Pe]=_e?er(q[Pe]):Io(q[Pe]);v(L[Pe],He,te,null,he,ve,Ie,Le,_e)}ye>Te?ce(L,he,ve,!0,!1,be):T(q,te,fe,he,ve,Ie,Le,_e,be)},F=(L,q,te,fe,he,ve,Ie,Le,_e)=>{let ye=0;const Te=q.length;let be=L.length-1,Pe=Te-1;for(;ye<=be&&ye<=Pe;){const He=L[ye],Je=q[ye]=_e?er(q[ye]):Io(q[ye]);if(cs(He,Je))v(He,Je,te,null,he,ve,Ie,Le,_e);else break;ye++}for(;ye<=be&&ye<=Pe;){const He=L[be],Je=q[Pe]=_e?er(q[Pe]):Io(q[Pe]);if(cs(He,Je))v(He,Je,te,null,he,ve,Ie,Le,_e);else break;be--,Pe--}if(ye>be){if(ye<=Pe){const He=Pe+1,Je=He<Te?q[He].el:fe;for(;ye<=Pe;)v(null,q[ye]=_e?er(q[ye]):Io(q[ye]),te,Je,he,ve,Ie,Le,_e),ye++}}else if(ye>Pe)for(;ye<=be;)U(L[ye],he,ve,!0),ye++;else{const He=ye,Je=ye,Qe=new Map;for(ye=Je;ye<=Pe;ye++){const me=q[ye]=_e?er(q[ye]):Io(q[ye]);me.key!=null&&Qe.set(me.key,ye)}let lt,Ze=0;const gt=Pe-Je+1;let Pt=!1,zt=0;const nt=new Array(gt);for(ye=0;ye<gt;ye++)nt[ye]=0;for(ye=He;ye<=be;ye++){const me=L[ye];if(Ze>=gt){U(me,he,ve,!0);continue}let je;if(me.key!=null)je=Qe.get(me.key);else for(lt=Je;lt<=Pe;lt++)if(nt[lt-Je]===0&&cs(me,q[lt])){je=lt;break}je===void 0?U(me,he,ve,!0):(nt[je-Je]=ye+1,je>=zt?zt=je:Pt=!0,v(me,q[je],te,null,he,ve,Ie,Le,_e),Ze++)}const ft=Pt?y3(nt):ll;for(lt=ft.length-1,ye=gt-1;ye>=0;ye--){const me=Je+ye,je=q[me],ie=q[me+1],xe=me+1<Te?ie.el||d2(ie):fe;nt[ye]===0?v(null,je,te,xe,he,ve,Ie,Le,_e):Pt&&(lt<0||ye!==ft[lt]?H(je,te,xe,2):lt--)}}},H=(L,q,te,fe,he=null)=>{const{el:ve,type:Ie,transition:Le,children:_e,shapeFlag:ye}=L;if(ye&6){H(L.component.subTree,q,te,fe);return}if(ye&128){L.suspense.move(q,te,fe);return}if(ye&64){Ie.move(L,q,te,Y);return}if(Ie===Ve){a(ve,q,te);for(let be=0;be<_e.length;be++)H(_e[be],q,te,fe);a(L.anchor,q,te);return}if(Ie===Cc){y(L,q,te);return}if(fe!==2&&ye&1&&Le)if(fe===0)Le.beforeEnter(ve),a(ve,q,te),da(()=>Le.enter(ve),he);else{const{leave:be,delayLeave:Pe,afterLeave:He}=Le,Je=()=>{L.ctx.isUnmounted?o(ve):a(ve,q,te)},Qe=()=>{ve._isLeaving&&ve[_o](!0),be(ve,()=>{Je(),He&&He()})};Pe?Pe(ve,Je,Qe):Qe()}else a(ve,q,te)},U=(L,q,te,fe=!1,he=!1)=>{const{type:ve,props:Ie,ref:Le,children:_e,dynamicChildren:ye,shapeFlag:Te,patchFlag:be,dirs:Pe,cacheIndex:He,memo:Je}=L;if(be===-2&&(he=!1),Le!=null&&(dr(),Ci(Le,null,te,L,!0),fr()),He!=null&&(q.renderCache[He]=void 0),Te&256){q.ctx.deactivate(L);return}const Qe=Te&1&&Pe,lt=!cl(L);let Ze;if(lt&&(Ze=Ie&&Ie.onVnodeBeforeUnmount)&&Eo(Ze,q,L),Te&6)ae(L.component,te,fe);else{if(Te&128){L.suspense.unmount(te,fe);return}Qe&&ns(L,null,q,"beforeUnmount"),Te&64?L.type.remove(L,q,te,Y,fe):ye&&!ye.hasOnce&&(ve!==Ve||be>0&&be&64)?ce(ye,q,te,!1,!0):(ve===Ve&&be&384||!he&&Te&16)&&ce(_e,q,te),fe&&J(L)}const gt=Je!=null&&He==null;(lt&&(Ze=Ie&&Ie.onVnodeUnmounted)||Qe||gt)&&da(()=>{Ze&&Eo(Ze,q,L),Qe&&ns(L,null,q,"unmounted"),gt&&(L.el=null)},te)},J=L=>{const{type:q,el:te,anchor:fe,transition:he}=L;if(q===Ve){ee(te,fe);return}if(q===Cc){S(L);return}const ve=()=>{o(te),he&&!he.persisted&&he.afterLeave&&he.afterLeave()};if(L.shapeFlag&1&&he&&!he.persisted){const{leave:Ie,delayLeave:Le}=he,_e=()=>Ie(te,ve);Le?Le(L.el,ve,_e):_e()}else ve()},ee=(L,q)=>{let te;for(;L!==q;)te=p(L),o(L),L=te;o(q)},ae=(L,q,te)=>{const{bum:fe,scope:he,job:ve,subTree:Ie,um:Le,m:_e,a:ye}=L;ob(_e),ob(ye),fe&&wc(fe),he.stop(),ve&&(ve.flags|=8,U(Ie,L,q,te)),Le&&da(Le,q),da(()=>{L.isUnmounted=!0},q)},ce=(L,q,te,fe=!1,he=!1,ve=0)=>{for(let Ie=ve;Ie<L.length;Ie++)U(L[Ie],q,te,fe,he)},Z=L=>{if(L.shapeFlag&6)return Z(L.component.subTree);if(L.shapeFlag&128)return L.suspense.next();const q=p(L.anchor||L.el),te=q&&q[Vw];return te?p(te):q};let de=!1;const ue=(L,q,te)=>{let fe;L==null?q._vnode&&(U(q._vnode,null,null,!0),fe=q._vnode.component):v(q._vnode||null,L,q,null,null,null,te),q._vnode=L,de||(de=!0,Wg(fe),Aw(),de=!1)},Y={p:v,um:U,m:H,r:J,mt:K,mc:T,pc:P,pbc:_,n:Z,o:e};return{render:ue,hydrate:void 0,createApp:n3(ue)}}function Wf({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function as({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function b3(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Fv(e,t,n=!1){const a=e.children,o=t.children;if(we(a)&&we(o))for(let r=0;r<a.length;r++){const s=a[r];let l=o[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[r]=er(o[r]),l.el=s.el),!n&&l.patchFlag!==-2&&Fv(s,l)),l.type===Fl&&(l.patchFlag===-1&&(l=o[r]=er(l)),l.el=s.el),l.type===kn&&!l.el&&(l.el=s.el)}}function y3(e){const t=e.slice(),n=[0];let a,o,r,s,l;const u=e.length;for(a=0;a<u;a++){const c=e[a];if(c!==0){if(o=n[n.length-1],e[o]<c){t[a]=o,n.push(a);continue}for(r=0,s=n.length-1;r<s;)l=r+s>>1,e[n[l]]<c?r=l+1:s=l;c<e[n[r]]&&(r>0&&(t[a]=n[r-1]),n[r]=a)}}for(r=n.length,s=n[r-1];r-- >0;)n[r]=s,s=t[s];return n}function c2(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:c2(t)}function ob(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function d2(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?d2(t.subTree):null}const f2=e=>e.__isSuspense;function w3(e,t){t&&t.pendingBranch?we(e)?t.effects.push(...e):t.effects.push(e):M4(e)}const Ve=Symbol.for("v-fgt"),Fl=Symbol.for("v-txt"),kn=Symbol.for("v-cmt"),Cc=Symbol.for("v-stc"),Ei=[];let Na=null;function E(e=!1){Ei.push(Na=e?null:[])}function S3(){Ei.pop(),Na=Ei[Ei.length-1]||null}let Wi=1;function Yc(e,t=!1){Wi+=e,e<0&&Na&&t&&(Na.hasOnce=!0)}function p2(e){return e.dynamicChildren=Wi>0?Na||ll:null,S3(),Wi>0&&Na&&Na.push(e),e}function D(e,t,n,a,o,r){return p2(z(e,t,n,a,o,r,!0))}function le(e,t,n,a,o){return p2(X(e,t,n,a,o,!0))}function Zt(e){return e?e.__v_isVNode===!0:!1}function cs(e,t){return e.type===t.type&&e.key===t.key}const h2=({key:e})=>e??null,kc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||Gt(e)||Fe(e)?{i:Jn,r:e,k:t,f:!!n}:e:null);function z(e,t=null,n=null,a=0,o=null,r=e===Ve?0:1,s=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&h2(t),ref:t&&kc(t),scopeId:Dw,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:a,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Jn};return l?(zv(u,n),r&128&&e.normalize(u)):n&&(u.shapeFlag|=Ae(n)?8:16),Wi>0&&!s&&Na&&(u.patchFlag>0||r&6)&&u.patchFlag!==32&&Na.push(u),u}const X=C3;function C3(e,t=null,n=null,a=0,o=null,r=!1){if((!e||e===Yw)&&(e=kn),Zt(e)){const l=Fo(e,t,!0);return n&&zv(l,n),Wi>0&&!r&&Na&&(l.shapeFlag&6?Na[Na.indexOf(e)]=l:Na.push(l)),l.patchFlag=-2,l}if(I3(e)&&(e=e.__vccOpts),t){t=ir(t);let{class:l,style:u}=t;l&&!Ae(l)&&(t.class=R(l)),ot(u)&&(Dd(u)&&!we(u)&&(u=Vn({},u)),t.style=ze(u))}const s=Ae(e)?1:f2(e)?128:Fw(e)?64:ot(e)?4:Fe(e)?2:0;return z(e,t,n,a,o,s,r,!0)}function ir(e){return e?Dd(e)||o2(e)?Vn({},e):e:null}function Fo(e,t,n=!1,a=!1){const{props:o,ref:r,patchFlag:s,children:l,transition:u}=e,c=t?pt(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&h2(c),ref:t&&t.ref?n&&r?we(r)?r.concat(kc(t)):[r,kc(t)]:kc(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ve?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Fo(e.ssContent),ssFallback:e.ssFallback&&Fo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&a&&Os(d,u.clone(d)),d}function wt(e=" ",t=0){return X(Fl,null,e,t)}function Uae(e,t){const n=X(Cc,null,e);return n.staticCount=t,n}function re(e="",t=!1){return t?(E(),le(kn,null,e)):X(kn,null,e)}function Io(e){return e==null||typeof e=="boolean"?X(kn):we(e)?X(Ve,null,e.slice()):Zt(e)?er(e):X(Fl,null,String(e))}function er(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Fo(e)}function zv(e,t){let n=0;const{shapeFlag:a}=e;if(t==null)t=null;else if(we(t))n=16;else if(typeof t=="object")if(a&65){const o=t.default;o&&(o._c&&(o._d=!1),zv(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!o2(t)?t._ctx=Jn:o===3&&Jn&&(Jn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Fe(t)?(t={default:t,_ctx:Jn},n=32):(t=String(t),a&64?(n=16,t=[wt(t)]):n=8);e.children=t,e.shapeFlag|=n}function pt(...e){const t={};for(let n=0;n<e.length;n++){const a=e[n];for(const o in a)if(o==="class")t.class!==a.class&&(t.class=R([t.class,a.class]));else if(o==="style")t.style=ze([t.style,a.style]);else if(Td(o)){const r=t[o],s=a[o];s&&r!==s&&!(we(r)&&r.includes(s))?t[o]=r?[].concat(r,s):s:s==null&&r==null&&!Od(o)&&(t[o]=s)}else o!==""&&(t[o]=a[o])}return t}function Eo(e,t,n,a=null){uo(e,t,7,[n,a])}const k3=Qw();let E3=0;function x3(e,t,n){const a=e.type,o=(t?t.appContext:e.appContext)||k3,r={uid:E3++,vnode:e,type:a,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new fw(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:s2(a,o),emitsOptions:e2(a,o),emit:null,emitted:null,propsDefaults:vn,inheritAttrs:a.inheritAttrs,ctx:vn,data:vn,props:vn,attrs:vn,slots:vn,refs:vn,setupState:vn,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=o3.bind(null,r),e.ce&&e.ce(r),r}let na=null;const dt=()=>na||Jn;let Gc,Jp;{const e=$d(),t=(n,a)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(a),r=>{o.length>1?o.forEach(s=>s(r)):o[0](r)}};Gc=t("__VUE_INSTANCE_SETTERS__",n=>na=n),Jp=t("__VUE_SSR_SETTERS__",n=>ji=n)}const bu=e=>{const t=na;return Gc(e),e.scope.on(),()=>{e.scope.off(),Gc(t)}},rb=()=>{na&&na.scope.off(),Gc(null)};function v2(e){return e.vnode.shapeFlag&4}let ji=!1;function T3(e,t=!1,n=!1){t&&Jp(t);const{props:a,children:o}=e.vnode,r=v2(e);c3(e,a,r,t),h3(e,o,n||t);const s=r?O3(e,t):void 0;return t&&Jp(!1),s}function O3(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,G4);const{setup:a}=n;if(a){dr();const o=e.setupContext=a.length>1?g2(e):null,r=bu(e),s=mu(a,e,0,[e.props,o]),l=qr(s);if(fr(),r(),(l||e.sp)&&!cl(e)&&Uw(e),l){if(s.then(rb,rb),t)return s.then(u=>{sb(e,u)}).catch(u=>{Bd(u,e,0)});e.asyncDep=s}else sb(e,s)}else m2(e)}function sb(e,t,n){Fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ot(t)&&(e.setupState=$w(t)),m2(e)}function m2(e,t,n){const a=e.type;e.render||(e.render=a.render||ut);{const o=bu(e);dr();try{X4(e)}finally{fr(),o()}}}const _3={get(e,t){return ta(e,"get",""),e[t]}};function g2(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,_3),slots:e.slots,emit:e.emit,expose:t}}function Kd(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy($w(Ya(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ki)return ki[n](e)},has(t,n){return n in t||n in ki}})):e.proxy}function R3(e,t=!0){return Fe(e)?e.displayName||e.name:e.name||t&&e.__name}function I3(e){return Fe(e)&&"__vccOpts"in e}const C=(e,t)=>_4(e,t,ji);function qe(e,t,n){try{Yc(-1);const a=arguments.length;return a===2?ot(t)&&!we(t)?Zt(t)?X(e,null,[t]):X(e,t):X(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&Zt(n)&&(n=[n]),X(e,t,n))}finally{Yc(1)}}const $3="3.5.34",N3=ut;/** +* @vue/runtime-dom v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Zp;const lb=typeof window<"u"&&window.trustedTypes;if(lb)try{Zp=lb.createPolicy("vue",{createHTML:e=>e})}catch{}const b2=Zp?e=>Zp.createHTML(e):e=>e,M3="http://www.w3.org/2000/svg",P3="http://www.w3.org/1998/Math/MathML",Qo=typeof document<"u"?document:null,ib=Qo&&Qo.createElement("template"),A3={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const o=t==="svg"?Qo.createElementNS(M3,e):t==="mathml"?Qo.createElementNS(P3,e):n?Qo.createElement(e,{is:n}):Qo.createElement(e);return e==="select"&&a&&a.multiple!=null&&o.setAttribute("multiple",a.multiple),o},createText:e=>Qo.createTextNode(e),createComment:e=>Qo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Qo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,o,r){const s=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{ib.innerHTML=b2(a==="svg"?`<svg>${e}</svg>`:a==="mathml"?`<math>${e}</math>`:e);const l=ib.content;if(a==="svg"||a==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Rr="transition",Ql="animation",yl=Symbol("_vtc"),y2={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},w2=Vn({},Hw,y2),L3=e=>(e.displayName="Transition",e.props=w2,e),Yn=L3((e,{slots:t})=>qe(z4,S2(e),t)),os=(e,t=[])=>{we(e)?e.forEach(n=>n(...t)):e&&e(...t)},ub=e=>e?we(e)?e.some(t=>t.length>1):e.length>1:!1;function S2(e){const t={};for(const $ in e)$ in y2||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:a,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:u=r,appearActiveClass:c=s,appearToClass:d=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,h=D3(o),v=h&&h[0],m=h&&h[1],{onBeforeEnter:b,onEnter:w,onEnterCancelled:y,onLeave:S,onLeaveCancelled:k,onBeforeAppear:x=b,onAppear:O=w,onAppearCancelled:T=y}=t,I=($,B,K,j)=>{$._enterCancelled=j,Nr($,B?d:l),Nr($,B?c:s),K&&K()},_=($,B)=>{$._isLeaving=!1,Nr($,f),Nr($,g),Nr($,p),B&&B()},N=$=>(B,K)=>{const j=$?O:w,W=()=>I(B,$,K);os(j,[B,W]),cb(()=>{Nr(B,$?u:r),To(B,$?d:l),ub(j)||db(B,a,v,W)})};return Vn(t,{onBeforeEnter($){os(b,[$]),To($,r),To($,s)},onBeforeAppear($){os(x,[$]),To($,u),To($,c)},onEnter:N(!1),onAppear:N(!0),onLeave($,B){$._isLeaving=!0;const K=()=>_($,B);To($,f),$._enterCancelled?(To($,p),Qp($)):(Qp($),To($,p)),cb(()=>{$._isLeaving&&(Nr($,f),To($,g),ub(S)||db($,a,m,K))}),os(S,[$,K])},onEnterCancelled($){I($,!1,void 0,!0),os(y,[$])},onAppearCancelled($){I($,!0,void 0,!0),os(T,[$])},onLeaveCancelled($){_($),os(k,[$])}})}function D3(e){if(e==null)return null;if(ot(e))return[jf(e.enter),jf(e.leave)];{const t=jf(e);return[t,t]}}function jf(e){return XT(e)}function To(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[yl]||(e[yl]=new Set)).add(t)}function Nr(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.remove(a));const n=e[yl];n&&(n.delete(t),n.size||(e[yl]=void 0))}function cb(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let B3=0;function db(e,t,n,a){const o=e._endId=++B3,r=()=>{o===e._endId&&a()};if(n!=null)return setTimeout(r,n);const{type:s,timeout:l,propCount:u}=C2(e,t);if(!s)return a();const c=s+"end";let d=0;const f=()=>{e.removeEventListener(c,p),r()},p=g=>{g.target===e&&++d>=u&&f()};setTimeout(()=>{d<u&&f()},l+1),e.addEventListener(c,p)}function C2(e,t){const n=window.getComputedStyle(e),a=h=>(n[h]||"").split(", "),o=a(`${Rr}Delay`),r=a(`${Rr}Duration`),s=fb(o,r),l=a(`${Ql}Delay`),u=a(`${Ql}Duration`),c=fb(l,u);let d=null,f=0,p=0;t===Rr?s>0&&(d=Rr,f=s,p=r.length):t===Ql?c>0&&(d=Ql,f=c,p=u.length):(f=Math.max(s,c),d=f>0?s>c?Rr:Ql:null,p=d?d===Rr?r.length:u.length:0);const g=d===Rr&&/\b(?:transform|all)(?:,|$)/.test(a(`${Rr}Property`).toString());return{type:d,timeout:f,propCount:p,hasTransform:g}}function fb(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,a)=>pb(n)+pb(e[a])))}function pb(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Qp(e){return(e?e.ownerDocument:document).body.offsetHeight}function V3(e,t,n){const a=e[yl];a&&(t=(t?[t,...a]:[...a]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xc=Symbol("_vod"),k2=Symbol("_vsh"),$t={name:"show",beforeMount(e,{value:t},{transition:n}){e[Xc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):ei(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),ei(e,!0),a.enter(e)):a.leave(e,()=>{ei(e,!1)}):ei(e,t))},beforeUnmount(e,{value:t}){ei(e,t)}};function ei(e,t){e.style.display=t?e[Xc]:"none",e[k2]=!t}const F3=Symbol(""),z3=/(?:^|;)\s*display\s*:/;function H3(e,t,n){const a=e.style,o=Ae(n);let r=!1;if(n&&!o){if(t)if(Ae(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();n[l]==null&&pi(a,l,"")}else for(const s in t)n[s]==null&&pi(a,s,"");for(const s in n){s==="display"&&(r=!0);const l=n[s];l!=null?W3(e,s,!Ae(t)&&t?t[s]:void 0,l)||pi(a,s,l):pi(a,s,"")}}else if(o){if(t!==n){const s=a[F3];s&&(n+=";"+s),a.cssText=n,r=z3.test(n)}}else t&&e.removeAttribute("style");Xc in e&&(e[Xc]=r?a.display:"",e[k2]&&(a.display="none"))}const hb=/\s*!important$/;function pi(e,t,n){if(we(n))n.forEach(a=>pi(e,t,a));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=K3(e,t);hb.test(n)?e.setProperty(br(a),n.replace(hb,""),"important"):e[a]=n}}const vb=["Webkit","Moz","ms"],Uf={};function K3(e,t){const n=Uf[t];if(n)return n;let a=qn(t);if(a!=="filter"&&a in e)return Uf[t]=a;a=vu(a);for(let o=0;o<vb.length;o++){const r=vb[o]+a;if(r in e)return Uf[t]=r}return t}function W3(e,t,n,a){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&Ae(a)&&n===a}const mb="http://www.w3.org/1999/xlink";function gb(e,t,n,a,o,r=n4(t)){a&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(mb,t.slice(6,t.length)):e.setAttributeNS(mb,t,n):n==null||r&&!iw(n)?e.removeAttribute(t):e.setAttribute(t,r?"":Va(n)?String(n):n)}function bb(e,t,n,a,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?b2(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,u=n==null?e.type==="checkbox"?"on":"":String(n);(l!==u||!("_value"in e))&&(e.value=u),n==null&&e.removeAttribute(t),e._value=n;return}let s=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=iw(n):n==null&&l==="string"?(n="",s=!0):l==="number"&&(n=0,s=!0)}try{e[t]=n}catch{}s&&e.removeAttribute(o||t)}function Vr(e,t,n,a){e.addEventListener(t,n,a)}function j3(e,t,n,a){e.removeEventListener(t,n,a)}const yb=Symbol("_vei");function U3(e,t,n,a,o=null){const r=e[yb]||(e[yb]={}),s=r[t];if(a&&s)s.value=a;else{const[l,u]=q3(t);if(a){const c=r[t]=X3(a,o);Vr(e,l,c,u)}else s&&(j3(e,l,s,u),r[t]=void 0)}}const wb=/(?:Once|Passive|Capture)$/;function q3(e){let t;if(wb.test(e)){t={};let a;for(;a=e.match(wb);)e=e.slice(0,e.length-a[0].length),t[a[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):br(e.slice(2)),t]}let qf=0;const Y3=Promise.resolve(),G3=()=>qf||(Y3.then(()=>qf=0),qf=Date.now());function X3(e,t){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;uo(J3(a,n.value),t,5,[a])};return n.value=e,n.attached=G3(),n}function J3(e,t){if(we(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(a=>o=>!o._stopped&&a&&a(o))}else return t}const Sb=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Z3=(e,t,n,a,o,r)=>{const s=o==="svg";t==="class"?V3(e,a,s):t==="style"?H3(e,n,a):Td(t)?Od(t)||U3(e,t,n,a,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Q3(e,t,a,s))?(bb(e,t,a),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&gb(e,t,a,s,r,t!=="value")):e._isVueCE&&(eO(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ae(a)))?bb(e,qn(t),a,r,t):(t==="true-value"?e._trueValue=a:t==="false-value"&&(e._falseValue=a),gb(e,t,a,s))};function Q3(e,t,n,a){if(a)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sb(t)&&Fe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Sb(t)&&Ae(n)?!1:t in e}function eO(e,t){const n=e._def.props;if(!n)return!1;const a=qn(t);return Array.isArray(n)?n.some(o=>qn(o)===a):Object.keys(n).some(o=>qn(o)===a)}const E2=new WeakMap,x2=new WeakMap,Jc=Symbol("_moveCb"),Cb=Symbol("_enterCb"),tO=e=>(delete e.props.mode,e),nO=tO({name:"TransitionGroup",props:Vn({},w2,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=dt(),a=zw();let o,r;return bo(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!sO(o[0].el,n.vnode.el,s)){o=[];return}o.forEach(aO),o.forEach(oO);const l=o.filter(rO);Qp(n.vnode.el),l.forEach(u=>{const c=u.el,d=c.style;To(c,s),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Jc]=p=>{p&&p.target!==c||(!p||p.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Jc]=null,Nr(c,s))};c.addEventListener("transitionend",f)}),o=[]}),()=>{const s=Jt(e),l=S2(s);let u=s.tag||Ve;if(o=[],r)for(let c=0;c<r.length;c++){const d=r[c];d.el&&d.el instanceof Element&&(o.push(d),Os(d,Ki(d,l,a,n)),E2.set(d,O2(d.el)))}r=t.default?Nv(t.default()):[];for(let c=0;c<r.length;c++){const d=r[c];d.key!=null&&Os(d,Ki(d,l,a,n))}return X(u,null,r)}}}),T2=nO;function aO(e){const t=e.el;t[Jc]&&t[Jc](),t[Cb]&&t[Cb]()}function oO(e){x2.set(e,O2(e.el))}function rO(e){const t=E2.get(e),n=x2.get(e),a=t.left-n.left,o=t.top-n.top;if(a||o){const r=e.el,s=r.style,l=r.getBoundingClientRect();let u=1,c=1;return r.offsetWidth&&(u=l.width/r.offsetWidth),r.offsetHeight&&(c=l.height/r.offsetHeight),(!Number.isFinite(u)||u===0)&&(u=1),(!Number.isFinite(c)||c===0)&&(c=1),Math.abs(u-1)<.01&&(u=1),Math.abs(c-1)<.01&&(c=1),s.transform=s.webkitTransform=`translate(${a/u}px,${o/c}px)`,s.transitionDuration="0s",e}}function O2(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function sO(e,t,n){const a=e.cloneNode(),o=e[yl];o&&o.forEach(l=>{l.split(/\s+/).forEach(u=>u&&a.classList.remove(u))}),n.split(/\s+/).forEach(l=>l&&a.classList.add(l)),a.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(a);const{hasTransform:s}=C2(a);return r.removeChild(a),s}const wl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return we(t)?n=>wc(t,n):t};function lO(e){e.target.composing=!0}function kb(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ur=Symbol("_assign");function Eb(e,t,n){return t&&(e=e.trim()),n&&(e=Cv(e)),e}const _2={created(e,{modifiers:{lazy:t,trim:n,number:a}},o){e[ur]=wl(o);const r=a||o.props&&o.props.type==="number";Vr(e,t?"change":"input",s=>{s.target.composing||e[ur](Eb(e.value,n,r))}),(n||r)&&Vr(e,"change",()=>{e.value=Eb(e.value,n,r)}),t||(Vr(e,"compositionstart",lO),Vr(e,"compositionend",kb),Vr(e,"change",kb))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:o,number:r}},s){if(e[ur]=wl(s),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?Cv(e.value):e.value,u=t??"";if(l===u)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(a&&t===n||o&&e.value.trim()===u)||(e.value=u)}},R2={deep:!0,created(e,t,n){e[ur]=wl(n),Vr(e,"change",()=>{const a=e._modelValue,o=$2(e),r=e.checked,s=e[ur];if(we(a)){const l=uw(a,o),u=l!==-1;if(r&&!u)s(a.concat(o));else if(!r&&u){const c=[...a];c.splice(l,1),s(c)}}else if(_d(a)){const l=new Set(a);r?l.add(o):l.delete(o),s(l)}else s(N2(e,r))})},mounted:xb,beforeUpdate(e,t,n){e[ur]=wl(n),xb(e,t,n)}};function xb(e,{value:t,oldValue:n},a){e._modelValue=t;let o;if(we(t))o=uw(t,a.props.value)>-1;else if(_d(t))o=t.has(a.props.value);else{if(t===n)return;o=Ts(t,N2(e,!0))}e.checked!==o&&(e.checked=o)}const I2={created(e,{value:t},n){e.checked=Ts(t,n.props.value),e[ur]=wl(n),Vr(e,"change",()=>{e[ur]($2(e))})},beforeUpdate(e,{value:t,oldValue:n},a){e[ur]=wl(a),t!==n&&(e.checked=Ts(t,a.props.value))}};function $2(e){return"_value"in e?e._value:e.value}function N2(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const iO=["ctrl","shift","alt","meta"],uO={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>iO.some(n=>e[`${n}Key`]&&!t.includes(n))},Xe=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=(o,...r)=>{for(let s=0;s<t.length;s++){const l=uO[t[s]];if(l&&l(o,t))return}return e(o,...r)})},cO={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},dn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=o=>{if(!("key"in o))return;const r=br(o.key);if(t.some(s=>s===r||cO[s]===r))return e(o)})},dO=Vn({patchProp:Z3},A3);let Tb;function M2(){return Tb||(Tb=m3(dO))}const Yr=(...e)=>{M2().render(...e)},P2=(...e)=>{const t=M2().createApp(...e),{mount:n}=t;return t.mount=a=>{const o=pO(a);if(!o)return;const r=t._component;!Fe(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const s=n(o,!1,fO(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t};function fO(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function pO(e){return Ae(e)?document.querySelector(e):e}/*! + * pinia v2.3.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let A2;const Wd=e=>A2=e,L2=Symbol();function eh(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var xi;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(xi||(xi={}));function hO(){const e=kv(!0),t=e.run(()=>M({}));let n=[],a=[];const o=Ya({install(r){Wd(o),o._a=r,r.provide(L2,o),r.config.globalProperties.$pinia=o,a.forEach(s=>n.push(s)),a=[]},use(r){return this._a?n.push(r):a.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const D2=()=>{};function Ob(e,t,n,a=D2){e.push(t);const o=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),a())};return!n&&Nd()&&Ev(o),o}function js(e,...t){e.slice().forEach(n=>{n(...t)})}const vO=e=>e(),_b=Symbol(),Yf=Symbol();function th(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,a)=>e.set(a,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const a=t[n],o=e[n];eh(o)&&eh(a)&&e.hasOwnProperty(n)&&!Gt(a)&&!lr(a)?e[n]=th(o,a):e[n]=a}return e}const mO=Symbol();function gO(e){return!eh(e)||!e.hasOwnProperty(mO)}const{assign:Mr}=Object;function bO(e){return!!(Gt(e)&&e.effect)}function yO(e,t,n,a){const{state:o,actions:r,getters:s}=t,l=n.state.value[e];let u;function c(){l||(n.state.value[e]=o?o():{});const d=Pn(n.state.value[e]);return Mr(d,r,Object.keys(s||{}).reduce((f,p)=>(f[p]=Ya(C(()=>{Wd(n);const g=n._s.get(e);return s[p].call(g,g)})),f),{}))}return u=B2(e,c,t,n,a,!0),u}function B2(e,t,n={},a,o,r){let s;const l=Mr({actions:{}},n),u={deep:!0};let c,d,f=[],p=[],g;const h=a.state.value[e];!r&&!h&&(a.state.value[e]={});let v;function m(T){let I;c=d=!1,typeof T=="function"?(T(a.state.value[e]),I={type:xi.patchFunction,storeId:e,events:g}):(th(a.state.value[e],T),I={type:xi.patchObject,payload:T,storeId:e,events:g});const _=v=Symbol();Ne().then(()=>{v===_&&(c=!0)}),d=!0,js(f,I,a.state.value[e])}const b=r?function(){const{state:I}=n,_=I?I():{};this.$patch(N=>{Mr(N,_)})}:D2;function w(){s.stop(),f=[],p=[],a._s.delete(e)}const y=(T,I="")=>{if(_b in T)return T[Yf]=I,T;const _=function(){Wd(a);const N=Array.from(arguments),$=[],B=[];function K(A){$.push(A)}function j(A){B.push(A)}js(p,{args:N,name:_[Yf],store:k,after:K,onError:j});let W;try{W=T.apply(this&&this.$id===e?this:k,N)}catch(A){throw js(B,A),A}return W instanceof Promise?W.then(A=>(js($,A),A)).catch(A=>(js(B,A),Promise.reject(A))):(js($,W),W)};return _[_b]=!0,_[Yf]=I,_},S={_p:a,$id:e,$onAction:Ob.bind(null,p),$patch:m,$reset:b,$subscribe(T,I={}){const _=Ob(f,T,I.detached,()=>N()),N=s.run(()=>pe(()=>a.state.value[e],$=>{(I.flush==="sync"?d:c)&&T({storeId:e,type:xi.direct,events:g},$)},Mr({},u,I)));return _},$dispose:w},k=Dt(S);a._s.set(e,k);const O=(a._a&&a._a.runWithContext||vO)(()=>a._e.run(()=>(s=kv()).run(()=>t({action:y}))));for(const T in O){const I=O[T];if(Gt(I)&&!bO(I)||lr(I))r||(h&&gO(I)&&(Gt(I)?I.value=h[T]:th(I,h[T])),a.state.value[e][T]=I);else if(typeof I=="function"){const _=y(I,T);O[T]=_,l.actions[T]=I}}return Mr(k,O),Mr(Jt(k),O),Object.defineProperty(k,"$state",{get:()=>a.state.value[e],set:T=>{m(I=>{Mr(I,T)})}}),a._p.forEach(T=>{Mr(k,s.run(()=>T({store:k,app:a._a,pinia:a,options:l})))}),h&&r&&n.hydrate&&n.hydrate(k.$state,h),c=!0,d=!0,k}/*! #__NO_SIDE_EFFECTS__ */function V2(e,t,n){let a,o;const r=typeof t=="function";typeof e=="string"?(a=e,o=r?n:t):(o=e,a=e.id);function s(l,u){const c=Iv();return l=l||(c?$e(L2,null):null),l&&Wd(l),l=A2,l._s.has(a)||(r?B2(a,t,o,l):yO(a,o,l)),l._s.get(a)}return s.$id=a,s}const Se={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},wO=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],Gf=["sun","mon","tue","wed","thu","fri","sat"],at="update:modelValue",yt="change",Tn="input",Rb=Symbol("INSTALLED_KEY"),yo=["","default","small","large"],Ib=["left","center","right"];var F2=typeof global=="object"&&global&&global.Object===Object&&global,SO=typeof self=="object"&&self&&self.Object===Object&&self,wo=F2||SO||Function("return this")(),Xa=wo.Symbol,z2=Object.prototype,CO=z2.hasOwnProperty,kO=z2.toString,ti=Xa?Xa.toStringTag:void 0;function EO(e){var t=CO.call(e,ti),n=e[ti];try{e[ti]=void 0;var a=!0}catch{}var o=kO.call(e);return a&&(t?e[ti]=n:delete e[ti]),o}var xO=Object.prototype,TO=xO.toString;function OO(e){return TO.call(e)}var _O="[object Null]",RO="[object Undefined]",$b=Xa?Xa.toStringTag:void 0;function Bs(e){return e==null?e===void 0?RO:_O:$b&&$b in Object(e)?EO(e):OO(e)}function zo(e){return e!=null&&typeof e=="object"}var IO="[object Symbol]";function jd(e){return typeof e=="symbol"||zo(e)&&Bs(e)==IO}function Hv(e,t){for(var n=-1,a=e==null?0:e.length,o=Array(a);++n<a;)o[n]=t(e[n],n,e);return o}var ga=Array.isArray,Nb=Xa?Xa.prototype:void 0,Mb=Nb?Nb.toString:void 0;function H2(e){if(typeof e=="string")return e;if(ga(e))return Hv(e,H2)+"";if(jd(e))return Mb?Mb.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var $O=/\s/;function NO(e){for(var t=e.length;t--&&$O.test(e.charAt(t)););return t}var MO=/^\s+/;function PO(e){return e&&e.slice(0,NO(e)+1).replace(MO,"")}function ba(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pb=NaN,AO=/^[-+]0x[0-9a-f]+$/i,LO=/^0b[01]+$/i,DO=/^0o[0-7]+$/i,BO=parseInt;function Ti(e){if(typeof e=="number")return e;if(jd(e))return Pb;if(ba(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ba(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=PO(e);var n=LO.test(e);return n||DO.test(e)?BO(e.slice(2),n?2:8):AO.test(e)?Pb:+e}function Kv(e){return e}var VO="[object AsyncFunction]",FO="[object Function]",zO="[object GeneratorFunction]",HO="[object Proxy]";function Wv(e){if(!ba(e))return!1;var t=Bs(e);return t==FO||t==zO||t==VO||t==HO}var Xf=wo["__core-js_shared__"],Ab=function(){var e=/[^.]+$/.exec(Xf&&Xf.keys&&Xf.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function KO(e){return!!Ab&&Ab in e}var WO=Function.prototype,jO=WO.toString;function Vs(e){if(e!=null){try{return jO.call(e)}catch{}try{return e+""}catch{}}return""}var UO=/[\\^$.*+?()[\]{}|]/g,qO=/^\[object .+?Constructor\]$/,YO=Function.prototype,GO=Object.prototype,XO=YO.toString,JO=GO.hasOwnProperty,ZO=RegExp("^"+XO.call(JO).replace(UO,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function QO(e){if(!ba(e)||KO(e))return!1;var t=Wv(e)?ZO:qO;return t.test(Vs(e))}function e_(e,t){return e?.[t]}function Fs(e,t){var n=e_(e,t);return QO(n)?n:void 0}var nh=Fs(wo,"WeakMap"),Lb=Object.create,t_=function(){function e(){}return function(t){if(!ba(t))return{};if(Lb)return Lb(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function n_(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function a_(){}function K2(e,t){var n=-1,a=e.length;for(t||(t=Array(a));++n<a;)t[n]=e[n];return t}var o_=800,r_=16,s_=Date.now;function l_(e){var t=0,n=0;return function(){var a=s_(),o=r_-(a-n);if(n=a,o>0){if(++t>=o_)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function i_(e){return function(){return e}}var Zc=function(){try{var e=Fs(Object,"defineProperty");return e({},"",{}),e}catch{}}(),u_=Zc?function(e,t){return Zc(e,"toString",{configurable:!0,enumerable:!1,value:i_(t),writable:!0})}:Kv,W2=l_(u_);function c_(e,t){for(var n=-1,a=e==null?0:e.length;++n<a&&t(e[n],n,e)!==!1;);return e}function j2(e,t,n,a){for(var o=e.length,r=n+(a?1:-1);a?r--:++r<o;)if(t(e[r],r,e))return r;return-1}function d_(e){return e!==e}function f_(e,t,n){for(var a=n-1,o=e.length;++a<o;)if(e[a]===t)return a;return-1}function p_(e,t,n){return t===t?f_(e,t,n):j2(e,d_,n)}function h_(e,t){var n=e==null?0:e.length;return!!n&&p_(e,t,0)>-1}var v_=9007199254740991,m_=/^(?:0|[1-9]\d*)$/;function Ud(e,t){var n=typeof e;return t=t??v_,!!t&&(n=="number"||n!="symbol"&&m_.test(e))&&e>-1&&e%1==0&&e<t}function qd(e,t,n){t=="__proto__"&&Zc?Zc(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function yu(e,t){return e===t||e!==e&&t!==t}var g_=Object.prototype,b_=g_.hasOwnProperty;function jv(e,t,n){var a=e[t];(!(b_.call(e,t)&&yu(a,n))||n===void 0&&!(t in e))&&qd(e,t,n)}function zl(e,t,n,a){var o=!n;n||(n={});for(var r=-1,s=t.length;++r<s;){var l=t[r],u=void 0;u===void 0&&(u=e[l]),o?qd(n,l,u):jv(n,l,u)}return n}var Db=Math.max;function U2(e,t,n){return t=Db(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,r=Db(a.length-t,0),s=Array(r);++o<r;)s[o]=a[t+o];o=-1;for(var l=Array(t+1);++o<t;)l[o]=a[o];return l[t]=n(s),n_(e,this,l)}}function q2(e,t){return W2(U2(e,t,Kv),e+"")}var y_=9007199254740991;function Uv(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=y_}function Hl(e){return e!=null&&Uv(e.length)&&!Wv(e)}function w_(e,t,n){if(!ba(n))return!1;var a=typeof t;return(a=="number"?Hl(n)&&Ud(t,n.length):a=="string"&&t in n)?yu(n[t],e):!1}function S_(e){return q2(function(t,n){var a=-1,o=n.length,r=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(r=e.length>3&&typeof r=="function"?(o--,r):void 0,s&&w_(n[0],n[1],s)&&(r=o<3?void 0:r,o=1),t=Object(t);++a<o;){var l=n[a];l&&e(t,l,a,r)}return t})}var C_=Object.prototype;function qv(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||C_;return e===n}function k_(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}var E_="[object Arguments]";function Bb(e){return zo(e)&&Bs(e)==E_}var Y2=Object.prototype,x_=Y2.hasOwnProperty,T_=Y2.propertyIsEnumerable,Ui=Bb(function(){return arguments}())?Bb:function(e){return zo(e)&&x_.call(e,"callee")&&!T_.call(e,"callee")};function O_(){return!1}var G2=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vb=G2&&typeof module=="object"&&module&&!module.nodeType&&module,__=Vb&&Vb.exports===G2,Fb=__?wo.Buffer:void 0,R_=Fb?Fb.isBuffer:void 0,qi=R_||O_,I_="[object Arguments]",$_="[object Array]",N_="[object Boolean]",M_="[object Date]",P_="[object Error]",A_="[object Function]",L_="[object Map]",D_="[object Number]",B_="[object Object]",V_="[object RegExp]",F_="[object Set]",z_="[object String]",H_="[object WeakMap]",K_="[object ArrayBuffer]",W_="[object DataView]",j_="[object Float32Array]",U_="[object Float64Array]",q_="[object Int8Array]",Y_="[object Int16Array]",G_="[object Int32Array]",X_="[object Uint8Array]",J_="[object Uint8ClampedArray]",Z_="[object Uint16Array]",Q_="[object Uint32Array]",Sn={};Sn[j_]=Sn[U_]=Sn[q_]=Sn[Y_]=Sn[G_]=Sn[X_]=Sn[J_]=Sn[Z_]=Sn[Q_]=!0;Sn[I_]=Sn[$_]=Sn[K_]=Sn[N_]=Sn[W_]=Sn[M_]=Sn[P_]=Sn[A_]=Sn[L_]=Sn[D_]=Sn[B_]=Sn[V_]=Sn[F_]=Sn[z_]=Sn[H_]=!1;function eR(e){return zo(e)&&Uv(e.length)&&!!Sn[Bs(e)]}function Yv(e){return function(t){return e(t)}}var X2=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Oi=X2&&typeof module=="object"&&module&&!module.nodeType&&module,tR=Oi&&Oi.exports===X2,Jf=tR&&F2.process,Sl=function(){try{var e=Oi&&Oi.require&&Oi.require("util").types;return e||Jf&&Jf.binding&&Jf.binding("util")}catch{}}(),zb=Sl&&Sl.isTypedArray,Gv=zb?Yv(zb):eR,nR=Object.prototype,aR=nR.hasOwnProperty;function J2(e,t){var n=ga(e),a=!n&&Ui(e),o=!n&&!a&&qi(e),r=!n&&!a&&!o&&Gv(e),s=n||a||o||r,l=s?k_(e.length,String):[],u=l.length;for(var c in e)(t||aR.call(e,c))&&!(s&&(c=="length"||o&&(c=="offset"||c=="parent")||r&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Ud(c,u)))&&l.push(c);return l}function Z2(e,t){return function(n){return e(t(n))}}var oR=Z2(Object.keys,Object),rR=Object.prototype,sR=rR.hasOwnProperty;function lR(e){if(!qv(e))return oR(e);var t=[];for(var n in Object(e))sR.call(e,n)&&n!="constructor"&&t.push(n);return t}function wu(e){return Hl(e)?J2(e):lR(e)}function iR(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var uR=Object.prototype,cR=uR.hasOwnProperty;function dR(e){if(!ba(e))return iR(e);var t=qv(e),n=[];for(var a in e)a=="constructor"&&(t||!cR.call(e,a))||n.push(a);return n}function Su(e){return Hl(e)?J2(e,!0):dR(e)}var fR=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,pR=/^\w*$/;function Xv(e,t){if(ga(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||jd(e)?!0:pR.test(e)||!fR.test(e)||t!=null&&e in Object(t)}var Yi=Fs(Object,"create");function hR(){this.__data__=Yi?Yi(null):{},this.size=0}function vR(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var mR="__lodash_hash_undefined__",gR=Object.prototype,bR=gR.hasOwnProperty;function yR(e){var t=this.__data__;if(Yi){var n=t[e];return n===mR?void 0:n}return bR.call(t,e)?t[e]:void 0}var wR=Object.prototype,SR=wR.hasOwnProperty;function CR(e){var t=this.__data__;return Yi?t[e]!==void 0:SR.call(t,e)}var kR="__lodash_hash_undefined__";function ER(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Yi&&t===void 0?kR:t,this}function _s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}_s.prototype.clear=hR;_s.prototype.delete=vR;_s.prototype.get=yR;_s.prototype.has=CR;_s.prototype.set=ER;function xR(){this.__data__=[],this.size=0}function Yd(e,t){for(var n=e.length;n--;)if(yu(e[n][0],t))return n;return-1}var TR=Array.prototype,OR=TR.splice;function _R(e){var t=this.__data__,n=Yd(t,e);if(n<0)return!1;var a=t.length-1;return n==a?t.pop():OR.call(t,n,1),--this.size,!0}function RR(e){var t=this.__data__,n=Yd(t,e);return n<0?void 0:t[n][1]}function IR(e){return Yd(this.__data__,e)>-1}function $R(e,t){var n=this.__data__,a=Yd(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}function Sr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}Sr.prototype.clear=xR;Sr.prototype.delete=_R;Sr.prototype.get=RR;Sr.prototype.has=IR;Sr.prototype.set=$R;var Gi=Fs(wo,"Map");function NR(){this.size=0,this.__data__={hash:new _s,map:new(Gi||Sr),string:new _s}}function MR(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Gd(e,t){var n=e.__data__;return MR(t)?n[typeof t=="string"?"string":"hash"]:n.map}function PR(e){var t=Gd(this,e).delete(e);return this.size-=t?1:0,t}function AR(e){return Gd(this,e).get(e)}function LR(e){return Gd(this,e).has(e)}function DR(e,t){var n=Gd(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}function Cr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}Cr.prototype.clear=NR;Cr.prototype.delete=PR;Cr.prototype.get=AR;Cr.prototype.has=LR;Cr.prototype.set=DR;var BR="Expected a function";function Xd(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(BR);var n=function(){var a=arguments,o=t?t.apply(this,a):a[0],r=n.cache;if(r.has(o))return r.get(o);var s=e.apply(this,a);return n.cache=r.set(o,s)||r,s};return n.cache=new(Xd.Cache||Cr),n}Xd.Cache=Cr;var VR=500;function FR(e){var t=Xd(e,function(a){return n.size===VR&&n.clear(),a}),n=t.cache;return t}var zR=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HR=/\\(\\)?/g,KR=FR(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(zR,function(n,a,o,r){t.push(o?r.replace(HR,"$1"):a||n)}),t});function WR(e){return e==null?"":H2(e)}function Kl(e,t){return ga(e)?e:Xv(e,t)?[e]:KR(WR(e))}function Rs(e){if(typeof e=="string"||jd(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function Jd(e,t){t=Kl(t,e);for(var n=0,a=t.length;e!=null&&n<a;)e=e[Rs(t[n++])];return n&&n==a?e:void 0}function yn(e,t,n){var a=e==null?void 0:Jd(e,t);return a===void 0?n:a}function Jv(e,t){for(var n=-1,a=t.length,o=e.length;++n<a;)e[o+n]=t[n];return e}var Hb=Xa?Xa.isConcatSpreadable:void 0;function jR(e){return ga(e)||Ui(e)||!!(Hb&&e&&e[Hb])}function Cu(e,t,n,a,o){var r=-1,s=e.length;for(n||(n=jR),o||(o=[]);++r<s;){var l=e[r];t>0&&n(l)?t>1?Cu(l,t-1,n,a,o):Jv(o,l):a||(o[o.length]=l)}return o}function Qc(e){var t=e==null?0:e.length;return t?Cu(e,1):[]}function Q2(e){return W2(U2(e,void 0,Qc),e+"")}var Zv=Z2(Object.getPrototypeOf,Object),UR="[object Object]",qR=Function.prototype,YR=Object.prototype,eS=qR.toString,GR=YR.hasOwnProperty,XR=eS.call(Object);function Qv(e){if(!zo(e)||Bs(e)!=UR)return!1;var t=Zv(e);if(t===null)return!0;var n=GR.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&eS.call(n)==XR}function JR(e,t,n){var a=-1,o=e.length;t<0&&(t=-t>o?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(o);++a<o;)r[a]=e[a+t];return r}function Dn(){if(!arguments.length)return[];var e=arguments[0];return ga(e)?e:[e]}function ZR(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function Ma(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=Ti(n),n=n===n?n:0),t!==void 0&&(t=Ti(t),t=t===t?t:0),ZR(Ti(e),t,n)}function QR(){this.__data__=new Sr,this.size=0}function eI(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function tI(e){return this.__data__.get(e)}function nI(e){return this.__data__.has(e)}var aI=200;function oI(e,t){var n=this.__data__;if(n instanceof Sr){var a=n.__data__;if(!Gi||a.length<aI-1)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new Cr(a)}return n.set(e,t),this.size=n.size,this}function so(e){var t=this.__data__=new Sr(e);this.size=t.size}so.prototype.clear=QR;so.prototype.delete=eI;so.prototype.get=tI;so.prototype.has=nI;so.prototype.set=oI;function rI(e,t){return e&&zl(t,wu(t),e)}function sI(e,t){return e&&zl(t,Su(t),e)}var tS=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kb=tS&&typeof module=="object"&&module&&!module.nodeType&&module,lI=Kb&&Kb.exports===tS,Wb=lI?wo.Buffer:void 0,jb=Wb?Wb.allocUnsafe:void 0;function nS(e,t){if(t)return e.slice();var n=e.length,a=jb?jb(n):new e.constructor(n);return e.copy(a),a}function iI(e,t){for(var n=-1,a=e==null?0:e.length,o=0,r=[];++n<a;){var s=e[n];t(s,n,e)&&(r[o++]=s)}return r}function aS(){return[]}var uI=Object.prototype,cI=uI.propertyIsEnumerable,Ub=Object.getOwnPropertySymbols,em=Ub?function(e){return e==null?[]:(e=Object(e),iI(Ub(e),function(t){return cI.call(e,t)}))}:aS;function dI(e,t){return zl(e,em(e),t)}var fI=Object.getOwnPropertySymbols,oS=fI?function(e){for(var t=[];e;)Jv(t,em(e)),e=Zv(e);return t}:aS;function pI(e,t){return zl(e,oS(e),t)}function rS(e,t,n){var a=t(e);return ga(e)?a:Jv(a,n(e))}function ah(e){return rS(e,wu,em)}function sS(e){return rS(e,Su,oS)}var oh=Fs(wo,"DataView"),rh=Fs(wo,"Promise"),dl=Fs(wo,"Set"),qb="[object Map]",hI="[object Object]",Yb="[object Promise]",Gb="[object Set]",Xb="[object WeakMap]",Jb="[object DataView]",vI=Vs(oh),mI=Vs(Gi),gI=Vs(rh),bI=Vs(dl),yI=Vs(nh),ao=Bs;(oh&&ao(new oh(new ArrayBuffer(1)))!=Jb||Gi&&ao(new Gi)!=qb||rh&&ao(rh.resolve())!=Yb||dl&&ao(new dl)!=Gb||nh&&ao(new nh)!=Xb)&&(ao=function(e){var t=Bs(e),n=t==hI?e.constructor:void 0,a=n?Vs(n):"";if(a)switch(a){case vI:return Jb;case mI:return qb;case gI:return Yb;case bI:return Gb;case yI:return Xb}return t});var wI=Object.prototype,SI=wI.hasOwnProperty;function CI(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&SI.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var ed=wo.Uint8Array;function tm(e){var t=new e.constructor(e.byteLength);return new ed(t).set(new ed(e)),t}function kI(e,t){var n=t?tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var EI=/\w*$/;function xI(e){var t=new e.constructor(e.source,EI.exec(e));return t.lastIndex=e.lastIndex,t}var Zb=Xa?Xa.prototype:void 0,Qb=Zb?Zb.valueOf:void 0;function TI(e){return Qb?Object(Qb.call(e)):{}}function lS(e,t){var n=t?tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var OI="[object Boolean]",_I="[object Date]",RI="[object Map]",II="[object Number]",$I="[object RegExp]",NI="[object Set]",MI="[object String]",PI="[object Symbol]",AI="[object ArrayBuffer]",LI="[object DataView]",DI="[object Float32Array]",BI="[object Float64Array]",VI="[object Int8Array]",FI="[object Int16Array]",zI="[object Int32Array]",HI="[object Uint8Array]",KI="[object Uint8ClampedArray]",WI="[object Uint16Array]",jI="[object Uint32Array]";function UI(e,t,n){var a=e.constructor;switch(t){case AI:return tm(e);case OI:case _I:return new a(+e);case LI:return kI(e,n);case DI:case BI:case VI:case FI:case zI:case HI:case KI:case WI:case jI:return lS(e,n);case RI:return new a;case II:case MI:return new a(e);case $I:return xI(e);case NI:return new a;case PI:return TI(e)}}function iS(e){return typeof e.constructor=="function"&&!qv(e)?t_(Zv(e)):{}}var qI="[object Map]";function YI(e){return zo(e)&&ao(e)==qI}var ey=Sl&&Sl.isMap,GI=ey?Yv(ey):YI,XI="[object Set]";function JI(e){return zo(e)&&ao(e)==XI}var ty=Sl&&Sl.isSet,ZI=ty?Yv(ty):JI,QI=1,e$=2,t$=4,uS="[object Arguments]",n$="[object Array]",a$="[object Boolean]",o$="[object Date]",r$="[object Error]",cS="[object Function]",s$="[object GeneratorFunction]",l$="[object Map]",i$="[object Number]",dS="[object Object]",u$="[object RegExp]",c$="[object Set]",d$="[object String]",f$="[object Symbol]",p$="[object WeakMap]",h$="[object ArrayBuffer]",v$="[object DataView]",m$="[object Float32Array]",g$="[object Float64Array]",b$="[object Int8Array]",y$="[object Int16Array]",w$="[object Int32Array]",S$="[object Uint8Array]",C$="[object Uint8ClampedArray]",k$="[object Uint16Array]",E$="[object Uint32Array]",mn={};mn[uS]=mn[n$]=mn[h$]=mn[v$]=mn[a$]=mn[o$]=mn[m$]=mn[g$]=mn[b$]=mn[y$]=mn[w$]=mn[l$]=mn[i$]=mn[dS]=mn[u$]=mn[c$]=mn[d$]=mn[f$]=mn[S$]=mn[C$]=mn[k$]=mn[E$]=!0;mn[r$]=mn[cS]=mn[p$]=!1;function _i(e,t,n,a,o,r){var s,l=t&QI,u=t&e$,c=t&t$;if(n&&(s=o?n(e,a,o,r):n(e)),s!==void 0)return s;if(!ba(e))return e;var d=ga(e);if(d){if(s=CI(e),!l)return K2(e,s)}else{var f=ao(e),p=f==cS||f==s$;if(qi(e))return nS(e,l);if(f==dS||f==uS||p&&!o){if(s=u||p?{}:iS(e),!l)return u?pI(e,sI(s,e)):dI(e,rI(s,e))}else{if(!mn[f])return o?e:{};s=UI(e,f,l)}}r||(r=new so);var g=r.get(e);if(g)return g;r.set(e,s),ZI(e)?e.forEach(function(m){s.add(_i(m,t,n,m,e,r))}):GI(e)&&e.forEach(function(m,b){s.set(b,_i(m,t,n,b,e,r))});var h=c?u?sS:ah:u?Su:wu,v=d?void 0:h(e);return c_(v||e,function(m,b){v&&(b=m,m=e[b]),jv(s,b,_i(m,t,n,b,e,r))}),s}var x$=1,T$=4;function No(e){return _i(e,x$|T$)}var O$="__lodash_hash_undefined__";function _$(e){return this.__data__.set(e,O$),this}function R$(e){return this.__data__.has(e)}function Xi(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Cr;++t<n;)this.add(e[t])}Xi.prototype.add=Xi.prototype.push=_$;Xi.prototype.has=R$;function I$(e,t){for(var n=-1,a=e==null?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1}function fS(e,t){return e.has(t)}var $$=1,N$=2;function pS(e,t,n,a,o,r){var s=n&$$,l=e.length,u=t.length;if(l!=u&&!(s&&u>l))return!1;var c=r.get(e),d=r.get(t);if(c&&d)return c==t&&d==e;var f=-1,p=!0,g=n&N$?new Xi:void 0;for(r.set(e,t),r.set(t,e);++f<l;){var h=e[f],v=t[f];if(a)var m=s?a(v,h,f,t,e,r):a(h,v,f,e,t,r);if(m!==void 0){if(m)continue;p=!1;break}if(g){if(!I$(t,function(b,w){if(!fS(g,w)&&(h===b||o(h,b,n,a,r)))return g.push(w)})){p=!1;break}}else if(!(h===v||o(h,v,n,a,r))){p=!1;break}}return r.delete(e),r.delete(t),p}function M$(e){var t=-1,n=Array(e.size);return e.forEach(function(a,o){n[++t]=[o,a]}),n}function nm(e){var t=-1,n=Array(e.size);return e.forEach(function(a){n[++t]=a}),n}var P$=1,A$=2,L$="[object Boolean]",D$="[object Date]",B$="[object Error]",V$="[object Map]",F$="[object Number]",z$="[object RegExp]",H$="[object Set]",K$="[object String]",W$="[object Symbol]",j$="[object ArrayBuffer]",U$="[object DataView]",ny=Xa?Xa.prototype:void 0,Zf=ny?ny.valueOf:void 0;function q$(e,t,n,a,o,r,s){switch(n){case U$:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case j$:return!(e.byteLength!=t.byteLength||!r(new ed(e),new ed(t)));case L$:case D$:case F$:return yu(+e,+t);case B$:return e.name==t.name&&e.message==t.message;case z$:case K$:return e==t+"";case V$:var l=M$;case H$:var u=a&P$;if(l||(l=nm),e.size!=t.size&&!u)return!1;var c=s.get(e);if(c)return c==t;a|=A$,s.set(e,t);var d=pS(l(e),l(t),a,o,r,s);return s.delete(e),d;case W$:if(Zf)return Zf.call(e)==Zf.call(t)}return!1}var Y$=1,G$=Object.prototype,X$=G$.hasOwnProperty;function J$(e,t,n,a,o,r){var s=n&Y$,l=ah(e),u=l.length,c=ah(t),d=c.length;if(u!=d&&!s)return!1;for(var f=u;f--;){var p=l[f];if(!(s?p in t:X$.call(t,p)))return!1}var g=r.get(e),h=r.get(t);if(g&&h)return g==t&&h==e;var v=!0;r.set(e,t),r.set(t,e);for(var m=s;++f<u;){p=l[f];var b=e[p],w=t[p];if(a)var y=s?a(w,b,p,t,e,r):a(b,w,p,e,t,r);if(!(y===void 0?b===w||o(b,w,n,a,r):y)){v=!1;break}m||(m=p=="constructor")}if(v&&!m){var S=e.constructor,k=t.constructor;S!=k&&"constructor"in e&&"constructor"in t&&!(typeof S=="function"&&S instanceof S&&typeof k=="function"&&k instanceof k)&&(v=!1)}return r.delete(e),r.delete(t),v}var Z$=1,ay="[object Arguments]",oy="[object Array]",Qu="[object Object]",Q$=Object.prototype,ry=Q$.hasOwnProperty;function eN(e,t,n,a,o,r){var s=ga(e),l=ga(t),u=s?oy:ao(e),c=l?oy:ao(t);u=u==ay?Qu:u,c=c==ay?Qu:c;var d=u==Qu,f=c==Qu,p=u==c;if(p&&qi(e)){if(!qi(t))return!1;s=!0,d=!1}if(p&&!d)return r||(r=new so),s||Gv(e)?pS(e,t,n,a,o,r):q$(e,t,u,n,a,o,r);if(!(n&Z$)){var g=d&&ry.call(e,"__wrapped__"),h=f&&ry.call(t,"__wrapped__");if(g||h){var v=g?e.value():e,m=h?t.value():t;return r||(r=new so),o(v,m,n,a,r)}}return p?(r||(r=new so),J$(e,t,n,a,o,r)):!1}function Zd(e,t,n,a,o){return e===t?!0:e==null||t==null||!zo(e)&&!zo(t)?e!==e&&t!==t:eN(e,t,n,a,Zd,o)}var tN=1,nN=2;function aN(e,t,n,a){var o=n.length,r=o;if(e==null)return!r;for(e=Object(e);o--;){var s=n[o];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<r;){s=n[o];var l=s[0],u=e[l],c=s[1];if(s[2]){if(u===void 0&&!(l in e))return!1}else{var d=new so,f;if(!(f===void 0?Zd(c,u,tN|nN,a,d):f))return!1}}return!0}function hS(e){return e===e&&!ba(e)}function oN(e){for(var t=wu(e),n=t.length;n--;){var a=t[n],o=e[a];t[n]=[a,o,hS(o)]}return t}function vS(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function rN(e){var t=oN(e);return t.length==1&&t[0][2]?vS(t[0][0],t[0][1]):function(n){return n===e||aN(n,e,t)}}function sN(e,t){return e!=null&&t in Object(e)}function lN(e,t,n){t=Kl(t,e);for(var a=-1,o=t.length,r=!1;++a<o;){var s=Rs(t[a]);if(!(r=e!=null&&n(e,s)))break;e=e[s]}return r||++a!=o?r:(o=e==null?0:e.length,!!o&&Uv(o)&&Ud(s,o)&&(ga(e)||Ui(e)))}function mS(e,t){return e!=null&&lN(e,t,sN)}var iN=1,uN=2;function cN(e,t){return Xv(e)&&hS(t)?vS(Rs(e),t):function(n){var a=yn(n,e);return a===void 0&&a===t?mS(n,e):Zd(t,a,iN|uN)}}function dN(e){return function(t){return t?.[e]}}function fN(e){return function(t){return Jd(t,e)}}function pN(e){return Xv(e)?dN(Rs(e)):fN(e)}function gS(e){return typeof e=="function"?e:e==null?Kv:typeof e=="object"?ga(e)?cN(e[0],e[1]):rN(e):pN(e)}function hN(e){return function(t,n,a){for(var o=-1,r=Object(t),s=a(t),l=s.length;l--;){var u=s[++o];if(n(r[u],u,r)===!1)break}return t}}var bS=hN();function vN(e,t){return e&&bS(e,t,wu)}function mN(e,t){return function(n,a){if(n==null)return n;if(!Hl(n))return e(n,a);for(var o=n.length,r=-1,s=Object(n);++r<o&&a(s[r],r,s)!==!1;);return n}}var gN=mN(vN),Qf=function(){return wo.Date.now()},bN="Expected a function",yN=Math.max,wN=Math.min;function Ho(e,t,n){var a,o,r,s,l,u,c=0,d=!1,f=!1,p=!0;if(typeof e!="function")throw new TypeError(bN);t=Ti(t)||0,ba(n)&&(d=!!n.leading,f="maxWait"in n,r=f?yN(Ti(n.maxWait)||0,t):r,p="trailing"in n?!!n.trailing:p);function g(x){var O=a,T=o;return a=o=void 0,c=x,s=e.apply(T,O),s}function h(x){return c=x,l=setTimeout(b,t),d?g(x):s}function v(x){var O=x-u,T=x-c,I=t-O;return f?wN(I,r-T):I}function m(x){var O=x-u,T=x-c;return u===void 0||O>=t||O<0||f&&T>=r}function b(){var x=Qf();if(m(x))return w(x);l=setTimeout(b,v(x))}function w(x){return l=void 0,p&&a?g(x):(a=o=void 0,s)}function y(){l!==void 0&&clearTimeout(l),c=0,a=u=o=l=void 0}function S(){return l===void 0?s:w(Qf())}function k(){var x=Qf(),O=m(x);if(a=arguments,o=this,u=x,O){if(l===void 0)return h(u);if(f)return clearTimeout(l),l=setTimeout(b,t),g(u)}return l===void 0&&(l=setTimeout(b,t)),s}return k.cancel=y,k.flush=S,k}function sh(e,t,n){(n!==void 0&&!yu(e[t],n)||n===void 0&&!(t in e))&&qd(e,t,n)}function yS(e){return zo(e)&&Hl(e)}function lh(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function SN(e){return zl(e,Su(e))}function CN(e,t,n,a,o,r,s){var l=lh(e,n),u=lh(t,n),c=s.get(u);if(c){sh(e,n,c);return}var d=r?r(l,u,n+"",e,t,s):void 0,f=d===void 0;if(f){var p=ga(u),g=!p&&qi(u),h=!p&&!g&&Gv(u);d=u,p||g||h?ga(l)?d=l:yS(l)?d=K2(l):g?(f=!1,d=nS(u,!0)):h?(f=!1,d=lS(u,!0)):d=[]:Qv(u)||Ui(u)?(d=l,Ui(l)?d=SN(l):(!ba(l)||Wv(l))&&(d=iS(u))):f=!1}f&&(s.set(u,d),o(d,u,a,r,s),s.delete(u)),sh(e,n,d)}function wS(e,t,n,a,o){e!==t&&bS(t,function(r,s){if(o||(o=new so),ba(r))CN(e,t,s,n,wS,a,o);else{var l=a?a(lh(e,s),r,s+"",e,t,o):void 0;l===void 0&&(l=r),sh(e,s,l)}},Su)}function kN(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function SS(e,t,n){var a=e==null?0:e.length;if(!a)return-1;var o=a-1;return j2(e,gS(t),o,!0)}function EN(e,t){var n=-1,a=Hl(e)?Array(e.length):[];return gN(e,function(o,r,s){a[++n]=t(o,r,s)}),a}function xN(e,t){var n=ga(e)?Hv:EN;return n(e,gS(t))}function CS(e,t){return Cu(xN(e,t),1)}var TN=1/0;function ON(e){var t=e==null?0:e.length;return t?Cu(e,TN):[]}function Cl(e){for(var t=-1,n=e==null?0:e.length,a={};++t<n;){var o=e[t];qd(a,o[0],o[1])}return a}function _N(e,t){return t.length<2?e:Jd(e,JR(t,0,-1))}function fn(e,t){return Zd(e,t)}function En(e){return e==null}function Qd(e){return e===null}function RN(e){return e===void 0}var kS=S_(function(e,t,n){wS(e,t,n)}),IN=Object.prototype,$N=IN.hasOwnProperty;function NN(e,t){t=Kl(t,e);var n=-1,a=t.length;if(!a)return!0;for(;++n<a;){var o=Rs(t[n]);if(o==="__proto__"&&!$N.call(e,"__proto__")||(o==="constructor"||o==="prototype")&&n<a-1)return!1}var r=_N(e,t);return r==null||delete r[Rs(kN(t))]}function MN(e){return Qv(e)?void 0:e}var PN=1,AN=2,LN=4,ku=Q2(function(e,t){var n={};if(e==null)return n;var a=!1;t=Hv(t,function(r){return r=Kl(r,e),a||(a=r.length>1),r}),zl(e,sS(e),n),a&&(n=_i(n,PN|AN|LN,MN));for(var o=t.length;o--;)NN(n,t[o]);return n});function ES(e,t,n,a){if(!ba(e))return e;t=Kl(t,e);for(var o=-1,r=t.length,s=r-1,l=e;l!=null&&++o<r;){var u=Rs(t[o]),c=n;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(o!=s){var d=l[u];c=void 0,c===void 0&&(c=ba(d)?d:Ud(t[o+1])?[]:{})}jv(l,u,c),l=l[u]}return e}function DN(e,t,n){for(var a=-1,o=t.length,r={};++a<o;){var s=t[a],l=Jd(e,s);n(l,s)&&ES(r,Kl(s,e),l)}return r}function BN(e,t){return DN(e,t,function(n,a){return mS(e,a)})}var hr=Q2(function(e,t){return e==null?{}:BN(e,t)});function VN(e,t,n){return e==null?e:ES(e,t,n)}var FN="Expected a function";function Fr(e,t,n){var a=!0,o=!0;if(typeof e!="function")throw new TypeError(FN);return ba(n)&&(a="leading"in n?!!n.leading:a,o="trailing"in n?!!n.trailing:o),Ho(e,t,{leading:a,maxWait:t,trailing:o})}var zN=1/0,HN=dl&&1/nm(new dl([,-0]))[1]==zN?function(e){return new dl(e)}:a_,KN=200;function WN(e,t,n){var a=-1,o=h_,r=e.length,s=!0,l=[],u=l;if(r>=KN){var c=HN(e);if(c)return nm(c);s=!1,o=fS,u=new Xi}else u=l;e:for(;++a<r;){var d=e[a],f=d;if(d=d!==0?d:0,s&&f===f){for(var p=u.length;p--;)if(u[p]===f)continue e;l.push(d)}else o(u,f,n)||(u!==l&&u.push(f),l.push(d))}return l}var ep=q2(function(e){return WN(Cu(e,1,yS,!0))});const Rt=e=>e===void 0,Wt=e=>typeof e=="boolean",Be=e=>typeof e=="number",ha=e=>!e&&e!==0||we(e)&&e.length===0||ot(e)&&!Object.keys(e).length,ka=e=>typeof Element>"u"?!1:e instanceof Element,Pa=e=>En(e),jN=e=>Ae(e)?!Number.isNaN(Number(e)):!1,Eu=e=>e===window,Ji=e=>Object.keys(e),xS=e=>Object.entries(e),Wr=(e,t,n)=>({get value(){return yn(e,t,n)},set value(a){VN(e,t,a)}}),UN="__epPropKey",G=e=>e,qN=e=>ot(e)&&!!e.__epPropKey,So=(e,t)=>{if(!ot(e)||qN(e))return e;const{values:n,required:a,default:o,type:r,validator:s}=e,l={type:r,required:!!a,validator:n||s?u=>{let c=!1,d=[];if(n&&(d=Array.from(n),Nt(e,"default")&&d.push(o),c||(c=d.includes(u))),s&&(c||(c=s(u))),!c&&d.length>0){const f=[...new Set(d)].map(p=>JSON.stringify(p)).join(", ");N3(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(u)}.`)}return c}:void 0,[UN]:!0};return Nt(e,"default")&&(l.default=o),l},Ee=e=>Cl(Object.entries(e).map(([t,n])=>[t,So(n,t)])),YN=Ee({zIndex:{type:G([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"},teleported:Boolean,appendTo:{type:G([String,Object]),default:"body"}}),GN={scroll:({scrollTop:e,fixed:t})=>Be(e)&&Wt(t),[yt]:e=>Wt(e)};var TS=class extends Error{constructor(e){super(e),this.name="ElementPlusError"}};function sn(e,t){throw new TS(`[${e}] ${t}`)}function jt(e,t){{const n=Ae(e)?new TS(`[${e}] ${t}`):e;console.warn(n)}}const XN=["class","style"],JN=/^on[A-Z]/,ef=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,a=C(()=>(n?.value||[]).concat(XN)),o=dt();return o?C(()=>Cl(Object.entries(o.proxy?.$attrs).filter(([r])=>!a.value.includes(r)&&!(t&&JN.test(r))))):(jt("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),C(()=>({})))};function OS(e,t){var n;const a=Tt();return la(()=>{a.value=e()},{...t,flush:(n=t?.flush)!==null&&n!==void 0?n:"sync"}),gl(a)}function Wl(e,t){return Nd()?(Ev(e,t),!0):!1}const tp=new WeakMap,ZN=(...e)=>{var t;const n=e[0],a=(t=dt())===null||t===void 0?void 0:t.proxy,o=a??Nd();if(o==null&&!Iv())throw new Error("injectLocal must be called in setup");return o&&tp.has(o)&&n in tp.get(o)?tp.get(o)[n]:$e(...e)},Lt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const QN=e=>typeof e<"u",_S=e=>e!=null,e8=Object.prototype.toString,t8=e=>e8.call(e)==="[object Object]",tf=(e,t,n)=>Math.min(n,Math.max(t,e)),ja=()=>{};function RS(e,t){function n(...a){return new Promise((o,r)=>{Promise.resolve(e(()=>t.apply(this,a),{fn:t,thisArg:this,args:a})).then(o).catch(r)})}return n}function n8(e,t={}){let n,a,o=ja;const r=u=>{clearTimeout(u),o(),o=ja};let s;return u=>{const c=xn(e),d=xn(t.maxWait);return n&&r(n),c<=0||d!==void 0&&d<=0?(a&&(r(a),a=void 0),Promise.resolve(u())):new Promise((f,p)=>{o=t.rejectOnCancel?p:f,s=u,d&&!a&&(a=setTimeout(()=>{n&&r(n),a=void 0,f(s())},d)),n=setTimeout(()=>{a&&r(a),a=void 0,f(u())},c)})}}function a8(...e){let t=0,n,a=!0,o=ja,r,s,l,u,c;!Gt(e[0])&&typeof e[0]=="object"?{delay:s,trailing:l=!0,leading:u=!0,rejectOnCancel:c=!1}=e[0]:[s,l=!0,u=!0,c=!1]=e;const d=()=>{n&&(clearTimeout(n),n=void 0,o(),o=ja)};return p=>{const g=xn(s),h=Date.now()-t,v=()=>r=p();return d(),g<=0?(t=Date.now(),v()):(h>g?(t=Date.now(),(u||!a)&&v()):l&&(r=new Promise((m,b)=>{o=c?b:m,n=setTimeout(()=>{t=Date.now(),a=!0,m(v()),d()},Math.max(0,g-h))})),!u&&!n&&(n=setTimeout(()=>a=!0,g)),a=!1,r)}}function sy(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function fl(e){return Array.isArray(e)?e:[e]}function o8(e){return dt()}function r8(e){return Dt(Gt(e)?new Proxy({},{get(t,n,a){return i(Reflect.get(e.value,n,a))},set(t,n,a){return Gt(e.value[n])&&!Gt(a)?e.value[n].value=a:e.value[n]=a,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function s8(e){return r8(C(e))}function xu(e,t=200,n={}){return RS(n8(t,n),e)}function l8(e,t=200,n={}){const a=M(xn(e)),o=xu(()=>{a.value=e.value},t,n);return pe(e,()=>o()),Rw(a)}function IS(e,t=200,n=!1,a=!0,o=!1){return RS(a8(t,n,a,o),e)}function am(e,t=!0,n){o8()?ht(e,n):t?e():Ne(e)}function kl(e,t,n={}){const{immediate:a=!0,immediateCallback:o=!1}=n,r=Tt(!1);let s;function l(){s&&(clearTimeout(s),s=void 0)}function u(){r.value=!1,l()}function c(...d){o&&e(),l(),r.value=!0,s=setTimeout(()=>{r.value=!1,s=void 0,e(...d)},xn(t))}return a&&(r.value=!0,Lt&&c()),Wl(u),{isPending:Rw(r),start:c,stop:u}}function i8(e,t,n){return pe(e,t,{...n,immediate:!0})}const eo=Lt?window:void 0,u8=Lt?window.document:void 0;function Rn(e){var t;const n=xn(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Bt(...e){const t=(a,o,r,s)=>(a.addEventListener(o,r,s),()=>a.removeEventListener(o,r,s)),n=C(()=>{const a=fl(xn(e[0])).filter(o=>o!=null);return a.every(o=>typeof o!="string")?a:void 0});return i8(()=>{var a,o;return[(a=(o=n.value)===null||o===void 0?void 0:o.map(r=>Rn(r)))!==null&&a!==void 0?a:[eo].filter(r=>r!=null),fl(xn(n.value?e[1]:e[0])),fl(i(n.value?e[2]:e[1])),xn(n.value?e[3]:e[2])]},([a,o,r,s],l,u)=>{if(!a?.length||!o?.length||!r?.length)return;const c=t8(s)?{...s}:s,d=a.flatMap(f=>o.flatMap(p=>r.map(g=>t(f,p,g,c))));u(()=>{d.forEach(f=>f())})},{flush:"post"})}function om(e,t,n={}){const{window:a=eo,ignore:o=[],capture:r=!0,detectIframe:s=!1,controls:l=!1}=n;if(!a)return l?{stop:ja,cancel:ja,trigger:ja}:ja;let u=!0;const c=m=>xn(o).some(b=>{if(typeof b=="string")return Array.from(a.document.querySelectorAll(b)).some(w=>w===m.target||m.composedPath().includes(w));{const w=Rn(b);return w&&(m.target===w||m.composedPath().includes(w))}});function d(m){const b=xn(m);return b&&b.$.subTree.shapeFlag===16}function f(m,b){const w=xn(m),y=w.$.subTree&&w.$.subTree.children;return y==null||!Array.isArray(y)?!1:y.some(S=>S.el===b.target||b.composedPath().includes(S.el))}const p=m=>{const b=Rn(e);if(m.target!=null&&!(!(b instanceof Element)&&d(e)&&f(e,m))&&!(!b||b===m.target||m.composedPath().includes(b))){if("detail"in m&&m.detail===0&&(u=!c(m)),!u){u=!0;return}t(m)}};let g=!1;const h=[Bt(a,"click",m=>{g||(g=!0,setTimeout(()=>{g=!1},0),p(m))},{passive:!0,capture:r}),Bt(a,"pointerdown",m=>{const b=Rn(e);u=!c(m)&&!!(b&&!m.composedPath().includes(b))},{passive:!0}),s&&Bt(a,"blur",m=>{setTimeout(()=>{const b=Rn(e);let w=a.document.activeElement;for(;w?.shadowRoot;)w=w.shadowRoot.activeElement;w?.tagName==="IFRAME"&&!b?.contains(a.document.activeElement)&&t(m)},0)},{passive:!0})].filter(Boolean),v=()=>h.forEach(m=>m());return l?{stop:v,cancel:()=>{u=!1},trigger:m=>{u=!0,p(m),u=!1}}:v}function c8(){const e=Tt(!1),t=dt();return t&&ht(()=>{e.value=!0},t),e}function nf(e){const t=c8();return C(()=>(t.value,!!e()))}function Tu(e,t,n={}){const{window:a=eo,...o}=n;let r;const s=nf(()=>a&&"MutationObserver"in a),l=()=>{r&&(r.disconnect(),r=void 0)},u=pe(C(()=>{const f=fl(xn(e)).map(Rn).filter(_S);return new Set(f)}),f=>{l(),s.value&&f.size&&(r=new MutationObserver(t),f.forEach(p=>r.observe(p,o)))},{immediate:!0,flush:"post"}),c=()=>r?.takeRecords(),d=()=>{u(),l()};return Wl(d),{isSupported:s,stop:d,takeRecords:c}}function d8(e,t,n={}){const{window:a=eo,document:o=a?.document,flush:r="sync"}=n;if(!a||!o)return ja;let s;const l=d=>{s?.(),s=d},u=la(()=>{const d=Rn(e);if(d){const{stop:f}=Tu(o,p=>{p.map(g=>[...g.removedNodes]).flat().some(g=>g===d||g.contains(d))&&t(p)},{window:a,childList:!0,subtree:!0});l(f)}},{flush:r}),c=()=>{u(),l()};return Wl(c),c}function f8(e={}){var t;const{window:n=eo,deep:a=!0,triggerOnRemoval:o=!1}=e,r=(t=e.document)!==null&&t!==void 0?t:n?.document,s=()=>{let c=r?.activeElement;if(a)for(var d;c?.shadowRoot;)c=c==null||(d=c.shadowRoot)===null||d===void 0?void 0:d.activeElement;return c},l=Tt(),u=()=>{l.value=s()};if(n){const c={capture:!0,passive:!0};Bt(n,"blur",d=>{d.relatedTarget===null&&u()},c),Bt(n,"focus",u,c)}return o&&d8(l,u,{document:r}),u(),l}const p8=Symbol("vueuse-ssr-width");function h8(){const e=Iv()?ZN(p8,null):null;return typeof e=="number"?e:void 0}function v8(e,t={}){const{window:n=eo,ssrWidth:a=h8()}=t,o=nf(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),r=Tt(typeof a=="number"),s=Tt(),l=Tt(!1),u=c=>{l.value=c.matches};return la(()=>{if(r.value){r.value=!o.value,l.value=xn(e).split(",").some(c=>{const d=c.includes("not all"),f=c.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),p=c.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let g=!!(f||p);return f&&g&&(g=a>=sy(f[1])),p&&g&&(g=a<=sy(p[1])),d?!g:g});return}o.value&&(s.value=n.matchMedia(xn(e)),l.value=s.value.matches)}),Bt(s,"change",u,{passive:!0}),C(()=>l.value)}function m8(e){return JSON.parse(JSON.stringify(e))}function g8(e,t,n={}){const{window:a=eo,initialValue:o,observe:r=!1}=n,s=Tt(o),l=C(()=>{var c;return Rn(t)||(a==null||(c=a.document)===null||c===void 0?void 0:c.documentElement)});function u(){const c=xn(e),d=xn(l);if(d&&a&&c){var f;s.value=((f=a.getComputedStyle(d).getPropertyValue(c))===null||f===void 0?void 0:f.trim())||s.value||o}}return r&&Tu(l,u,{attributeFilter:["style","class"],window:a}),pe([l,()=>xn(e)],(c,d)=>{d[0]&&d[1]&&d[0].style.removeProperty(d[1]),u()},{immediate:!0}),pe([s,l],([c,d])=>{const f=xn(e);d?.style&&f&&(c==null?d.style.removeProperty(f):d.style.setProperty(f,c))},{immediate:!0}),s}function b8(e={}){const{document:t=u8}=e;if(!t)return Tt("visible");const n=Tt(t.visibilityState);return Bt(t,"visibilitychange",()=>{n.value=t.visibilityState},{passive:!0}),n}function an(e,t,n={}){const{window:a=eo,...o}=n;let r;const s=nf(()=>a&&"ResizeObserver"in a),l=()=>{r&&(r.disconnect(),r=void 0)},u=pe(C(()=>{const d=xn(e);return Array.isArray(d)?d.map(f=>Rn(f)):[Rn(d)]}),d=>{if(l(),s.value&&a){r=new ResizeObserver(t);for(const f of d)f&&r.observe(f,o)}},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return Wl(c),{isSupported:s,stop:c}}function ly(e,t={}){const{reset:n=!0,windowResize:a=!0,windowScroll:o=!0,immediate:r=!0,updateTiming:s="sync"}=t,l=Tt(0),u=Tt(0),c=Tt(0),d=Tt(0),f=Tt(0),p=Tt(0),g=Tt(0),h=Tt(0);function v(){const b=Rn(e);if(!b){n&&(l.value=0,u.value=0,c.value=0,d.value=0,f.value=0,p.value=0,g.value=0,h.value=0);return}const w=b.getBoundingClientRect();l.value=w.height,u.value=w.bottom,c.value=w.left,d.value=w.right,f.value=w.top,p.value=w.width,g.value=w.x,h.value=w.y}function m(){s==="sync"?v():s==="next-frame"&&requestAnimationFrame(()=>v())}return an(e,m),pe(()=>Rn(e),b=>!b&&m()),Tu(e,m,{attributeFilter:["style","class"]}),o&&Bt("scroll",m,{capture:!0,passive:!0}),a&&Bt("resize",m,{passive:!0}),am(()=>{r&&m()}),{height:l,bottom:u,left:c,right:d,top:f,width:p,x:g,y:h,update:m}}function ih(e,t={width:0,height:0},n={}){const{window:a=eo,box:o="content-box"}=n,r=C(()=>{var f;return(f=Rn(e))===null||f===void 0||(f=f.namespaceURI)===null||f===void 0?void 0:f.includes("svg")}),s=Tt(t.width),l=Tt(t.height),{stop:u}=an(e,([f])=>{const p=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(a&&r.value){const g=Rn(e);if(g){const h=g.getBoundingClientRect();s.value=h.width,l.value=h.height}}else if(p){const g=fl(p);s.value=g.reduce((h,{inlineSize:v})=>h+v,0),l.value=g.reduce((h,{blockSize:v})=>h+v,0)}else s.value=f.contentRect.width,l.value=f.contentRect.height},n);am(()=>{const f=Rn(e);f&&(s.value="offsetWidth"in f?f.offsetWidth:t.width,l.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=pe(()=>Rn(e),f=>{s.value=f?t.width:0,l.value=f?t.height:0});function d(){u(),c()}return{width:s,height:l,stop:d}}function y8(e,t,n={}){const{root:a,rootMargin:o,threshold:r=0,window:s=eo,immediate:l=!0}=n,u=nf(()=>s&&"IntersectionObserver"in s),c=C(()=>fl(xn(e)).map(Rn).filter(_S));let d=ja;const f=Tt(l),p=u.value?pe(()=>[c.value,Rn(a),xn(o),f.value],([h,v,m])=>{if(d(),!f.value||!h.length)return;const b=new IntersectionObserver(t,{root:Rn(v),rootMargin:m,threshold:r});h.forEach(w=>w&&b.observe(w)),d=()=>{b.disconnect(),d=ja}},{immediate:l,flush:"post"}):ja,g=()=>{d(),p(),f.value=!1};return Wl(g),{isSupported:u,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:g}}function $S(e,t,n,a={}){var o,r;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=a,p=dt(),g=n||p?.emit||(p==null||(o=p.$emit)===null||o===void 0?void 0:o.bind(p))||(p==null||(r=p.proxy)===null||r===void 0||(r=r.$emit)===null||r===void 0?void 0:r.bind(p?.proxy));let h=u;t||(t="modelValue"),h=h||`update:${t.toString()}`;const v=w=>s?typeof s=="function"?s(w):m8(w):w,m=()=>QN(e[t])?v(e[t]):d,b=w=>{f?f(w)&&g(h,w):g(h,w)};if(l){const w=M(m());let y=!1;return pe(()=>e[t],S=>{y||(y=!0,w.value=v(S),Ne(()=>y=!1))}),pe(w,S=>{!y&&(S!==e[t]||c)&&b(S)},{deep:c}),w}else return C({get(){return m()},set(w){b(w)}})}function w8(e={}){const{window:t=eo}=e;if(!t)return Tt(!1);const n=Tt(t.document.hasFocus()),a={passive:!0};return Bt(t,"blur",()=>{n.value=!1},a),Bt(t,"focus",()=>{n.value=!0},a),n}function rm(e={}){const{window:t=eo,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:a=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:r=!0,type:s="inner"}=e,l=Tt(n),u=Tt(a),c=()=>{if(t)if(s==="outer")l.value=t.outerWidth,u.value=t.outerHeight;else if(s==="visual"&&t.visualViewport){const{width:f,height:p,scale:g}=t.visualViewport;l.value=Math.round(f*g),u.value=Math.round(p*g)}else r?(l.value=t.innerWidth,u.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,u.value=t.document.documentElement.clientHeight)};c(),am(c);const d={passive:!0};return Bt("resize",c,d),t&&s==="visual"&&t.visualViewport&&Bt(t.visualViewport,"resize",c,d),o&&pe(v8("(orientation: portrait)"),()=>c()),{width:l,height:u}}function sm(){const e=Tt(),t=M(0),n=C(()=>({minWidth:`${Math.max(t.value,11)}px`}));return an(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}const Po=({from:e,replacement:t,scope:n,version:a,ref:o,type:r="API"},s)=>{pe(()=>i(s),l=>{l&&jt(n,`[${r}] ${e} is about to be deprecated in version ${a}, please use ${t} instead. +For more detail, please visit: ${o} +`)},{immediate:!0})},S8='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',NS=e=>typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot,iy=e=>typeof Element>"u"?!1:e instanceof Element,C8=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,uy=e=>Array.from(e.querySelectorAll(S8)).filter(t=>Is(t)&&C8(t)),Is=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Ec=function(e,t,...n){let a;t.includes("mouse")||t.includes("click")?a="MouseEvents":t.includes("key")?a="KeyboardEvent":a="HTMLEvents";const o=document.createEvent(a);return o.initEvent(t,...n),e.dispatchEvent(o),e},MS=e=>!e.getAttribute("aria-owns"),PS=(e,t,n)=>{const{parentNode:a}=e;if(!a)return null;const o=a.querySelectorAll(n);return o[Array.prototype.indexOf.call(o,e)+t]||null},Ou=(e,t)=>{if(!e||!e.focus)return;let n=!1;iy(e)&&!Is(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),iy(e)&&n&&e.removeAttribute("tabindex")},pl=e=>{e&&(Ou(e),!MS(e)&&e.click())},af=()=>Lt&&/firefox/i.test(window.navigator.userAgent),AS=()=>Lt&&/android/i.test(window.navigator.userAgent),lm=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),np=e=>vu(e),k8="utils/dom/style",LS=(e="")=>e.split(" ").filter(t=>!!t.trim()),Ao=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Ua=(e,t)=>{!e||!t.trim()||e.classList.add(...LS(t))},ra=(e,t)=>{!e||!t.trim()||e.classList.remove(...LS(t))},or=(e,t)=>{if(!Lt||!e||!t||NS(e))return"";let n=qn(t);n==="float"&&(n="cssFloat");try{const a=e.style[n];if(a)return a;const o=document.defaultView?.getComputedStyle(e,"");return o?o[n]:""}catch{return e.style[n]}},DS=(e,t,n)=>{if(!(!e||!t))if(ot(t))xS(t).forEach(([a,o])=>DS(e,a,o));else{const a=qn(t);e.style[a]=n}};function hn(e,t="px"){if(!e&&e!==0)return"";if(Be(e)||jN(e))return`${e}${t}`;if(Ae(e))return e;jt(k8,"binding value must be a string or number")}const BS=(e,t,n,a)=>{const o={offsetX:0,offsetY:0},r=M(!1),s=(p,g)=>{if(e.value){const{offsetX:h,offsetY:v}=o,m=e.value.getBoundingClientRect(),b=Math.max(m.left,0),w=Math.max(m.top,0),y=m.width,S=m.height,k=document.documentElement.clientWidth,x=document.documentElement.clientHeight,O=-b+h,T=-w+v,I=k-b-y+h,_=x-w-(S<x?S:0)+v;a?.value||(p=Ma(p,O,I),g=Ma(g,T,_)),o.offsetX=p,o.offsetY=g,e.value.style.transform=`translate(${hn(p)}, ${hn(g)})`}},l=p=>{const g=p.clientX,h=p.clientY,{offsetX:v,offsetY:m}=o,b=y=>{r.value||(r.value=!0),s(v+y.clientX-g,m+y.clientY-h)},w=()=>{r.value=!1,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",w)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",w)},u=()=>{t.value&&e.value&&(t.value.addEventListener("mousedown",l),window.addEventListener("resize",f))},c=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",l),window.removeEventListener("resize",f))},d=()=>{o.offsetX=0,o.offsetY=0,e.value&&(e.value.style.transform="")},f=()=>{const{offsetX:p,offsetY:g}=o;s(p,g)};return ht(()=>{la(()=>{n.value?u():c()})}),Vt(()=>{c()}),{isDragging:r,resetPosition:d,updatePosition:f}};var E8={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"},inputOTP:{groupLabel:"OTP Input",defaultLabel:"Please enter OTP character {index}"}}};const x8=e=>(t,n)=>T8(t,n,i(e)),T8=(e,t,n)=>yn(n,e,e).replace(/\{(\w+)\}/g,(a,o)=>`${t?.[o]??`{${o}}`}`),O8=e=>({lang:C(()=>i(e).name),locale:Gt(e)?e:M(e),t:x8(e)}),VS=Symbol("localeContextKey"),xt=e=>{const t=e||$e(VS,M());return O8(C(()=>t.value||E8))},_8="is-",rs=(e,t,n,a,o)=>{let r=`${e}-${t}`;return n&&(r+=`-${n}`),a&&(r+=`__${a}`),o&&(r+=`--${o}`),r},FS=Symbol("namespaceContextKey"),im=e=>{const t=e||(dt()?$e(FS,M("el")):M("el"));return C(()=>i(t)||"el")},ge=(e,t)=>{const n=im(t);return{namespace:n,b:(v="")=>rs(n.value,e,v,"",""),e:v=>v?rs(n.value,e,"",v,""):"",m:v=>v?rs(n.value,e,"","",v):"",be:(v,m)=>v&&m?rs(n.value,e,v,m,""):"",em:(v,m)=>v&&m?rs(n.value,e,"",v,m):"",bm:(v,m)=>v&&m?rs(n.value,e,v,"",m):"",bem:(v,m,b)=>v&&m&&b?rs(n.value,e,v,m,b):"",is:(v,...m)=>{const b=m.length>=1?m[0]:!0;return v&&b?`${_8}${v}`:""},cssVar:v=>{const m={};for(const b in v)v[b]&&(m[`--${n.value}-${b}`]=v[b]);return m},cssVarName:v=>`--${n.value}-${v}`,cssVarBlock:v=>{const m={};for(const b in v)v[b]&&(m[`--${n.value}-${e}-${b}`]=v[b]);return m},cssVarBlockName:v=>`--${n.value}-${e}-${v}`}};function R8(e,t,n,a){const o=n-t;return e/=a/2,e<1?o/2*e*e*e+t:o/2*((e-=2)*e*e+2)+t}const Oa=e=>Lt?window.requestAnimationFrame(e):setTimeout(e,16),co=e=>Lt?window.cancelAnimationFrame(e):clearTimeout(e),I8=(e,t)=>{if(!Lt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],a=or(e,n);return["scroll","auto","overlay"].some(o=>a.includes(o))},um=(e,t)=>{if(!Lt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(I8(n,t))return n;NS(n)?n=n.host:n=n.parentNode}return n};let ec;const zS=e=>{if(!Lt)return 0;if(ec!==void 0)return ec;const t=document.createElement("div");t.className=`${e}-scrollbar__wrap`,t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",t.appendChild(a);const o=a.offsetWidth;return t.parentNode?.removeChild(t),ec=n-o,ec};function cm(e,t){if(!Lt)return;if(!t){e.scrollTop=0;return}const n=[];let a=t.offsetParent;for(;a!==null&&e!==a&&e.contains(a);)n.push(a),a=a.offsetParent;const o=t.offsetTop+n.reduce((u,c)=>u+c.offsetTop,0),r=o+t.offsetHeight,s=e.scrollTop,l=s+e.clientHeight;o<s?e.scrollTop=o:r>l&&(e.scrollTop=r-e.clientHeight)}function $8(e,t,n,a,o){const r=Date.now();let s;const l=()=>{const u=Date.now()-r,c=R8(u>a?a:u,t,n,a);Eu(e)?e.scrollTo(window.pageXOffset,c):e.scrollTop=c,u<a?s=Oa(l):Fe(o)&&o()};return l(),()=>{s&&co(s)}}const cy=(e,t)=>Eu(t)?e.ownerDocument.documentElement:t,dy=e=>Eu(e)?window.scrollY:e.scrollTop,of=(e,t={})=>{Gt(e)||sn("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||ge("popup"),a=C(()=>n.bm("parent","hidden"));let o=0,r=!1,s="0",l=!1;const u=()=>{l||(l=!0,setTimeout(()=>{typeof document>"u"||r&&document&&(document.body.style.width=s,ra(document.body,a.value))},200))};pe(e,c=>{if(!c){u();return}l=!1,r=!Ao(document.body,a.value),r&&(s=document.body.style.width,Ua(document.body,a.value)),o=zS(n.namespace.value);const d=document.documentElement.clientHeight<document.body.scrollHeight,f=or(document.body,"overflowY");o>0&&(d||f==="scroll")&&r&&(document.body.style.width=`calc(100% - ${o}px)`)}),Ev(()=>u())},Ln=(e,t,{checkForDefaultPrevented:n=!0}={})=>o=>{const r=e?.(o);if(n===!1||!r)return t?.(o)},fy=e=>t=>t.pointerType==="mouse"?e(t):void 0,qt=e=>{if(e.code&&e.code!=="Unidentified")return e.code;const t=HS(e);if(t){if(Object.values(Se).includes(t))return t;switch(t){case" ":return Se.space;default:return""}}return""},HS=e=>{let t=e.key&&e.key!=="Unidentified"?e.key:"";if(!t&&e.type==="keyup"&&AS()){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},N8=So({type:G(Boolean),default:null}),M8=So({type:G(Function)}),P8=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,a=[t],o={[e]:N8,[n]:M8};return{useModelToggle:({indicator:s,toggleReason:l,shouldHideWhenRouteChanges:u,shouldProceed:c,onShow:d,onHide:f})=>{const p=dt(),{emit:g}=p,h=p.props,v=C(()=>Fe(h[n])),m=C(()=>h[e]===null),b=O=>{s.value!==!0&&(s.value=!0,l&&(l.value=O),Fe(d)&&d(O))},w=O=>{s.value!==!1&&(s.value=!1,l&&(l.value=O),Fe(f)&&f(O))},y=O=>{if(h.disabled===!0||Fe(c)&&!c())return;const T=v.value&≪T&&g(t,!0),(m.value||!T)&&b(O)},S=O=>{if(h.disabled===!0||!Lt)return;const T=v.value&≪T&&g(t,!1),(m.value||!T)&&w(O)},k=O=>{Wt(O)&&(h.disabled&&O?v.value&&g(t,!1):s.value!==O&&(O?b():w()))},x=()=>{s.value?S():y()};return pe(()=>h[e],k),u&&p.appContext.config.globalProperties.$route!==void 0&&pe(()=>({...p.proxy.$route}),()=>{u.value&&s.value&&S()}),ht(()=>{k(h[e])}),{hide:S,show:y,toggle:x,hasUpdateHandler:v}},useModelToggleProps:o,useModelToggleEmits:a}},KS=e=>{const t=dt();return C(()=>t?.proxy?.$props?.[e])};var Ea="top",Ja="bottom",Za="right",xa="left",dm="auto",_u=[Ea,Ja,Za,xa],El="start",Zi="end",A8="clippingParents",WS="viewport",ni="popper",L8="reference",py=_u.reduce(function(e,t){return e.concat([t+"-"+El,t+"-"+Zi])},[]),jo=[].concat(_u,[dm]).reduce(function(e,t){return e.concat([t,t+"-"+El,t+"-"+Zi])},[]),D8="beforeRead",B8="read",V8="afterRead",F8="beforeMain",z8="main",H8="afterMain",K8="beforeWrite",W8="write",j8="afterWrite",U8=[D8,B8,V8,F8,z8,H8,K8,W8,j8];function Ko(e){return e?(e.nodeName||"").toLowerCase():null}function Fa(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function $s(e){var t=Fa(e).Element;return e instanceof t||e instanceof Element}function Ga(e){var t=Fa(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function fm(e){if(typeof ShadowRoot>"u")return!1;var t=Fa(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function q8(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var a=t.styles[n]||{},o=t.attributes[n]||{},r=t.elements[n];!Ga(r)||!Ko(r)||(Object.assign(r.style,a),Object.keys(o).forEach(function(s){var l=o[s];l===!1?r.removeAttribute(s):r.setAttribute(s,l===!0?"":l)}))})}function Y8(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(a){var o=t.elements[a],r=t.attributes[a]||{},s=Object.keys(t.styles.hasOwnProperty(a)?t.styles[a]:n[a]),l=s.reduce(function(u,c){return u[c]="",u},{});!Ga(o)||!Ko(o)||(Object.assign(o.style,l),Object.keys(r).forEach(function(u){o.removeAttribute(u)}))})}}var jS={name:"applyStyles",enabled:!0,phase:"write",fn:q8,effect:Y8,requires:["computeStyles"]};function Lo(e){return e.split("-")[0]}var Cs=Math.max,td=Math.min,xl=Math.round;function uh(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function US(){return!/^((?!chrome|android).)*safari/i.test(uh())}function Tl(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var a=e.getBoundingClientRect(),o=1,r=1;t&&Ga(e)&&(o=e.offsetWidth>0&&xl(a.width)/e.offsetWidth||1,r=e.offsetHeight>0&&xl(a.height)/e.offsetHeight||1);var s=$s(e)?Fa(e):window,l=s.visualViewport,u=!US()&&n,c=(a.left+(u&&l?l.offsetLeft:0))/o,d=(a.top+(u&&l?l.offsetTop:0))/r,f=a.width/o,p=a.height/r;return{width:f,height:p,top:d,right:c+f,bottom:d+p,left:c,x:c,y:d}}function pm(e){var t=Tl(e),n=e.offsetWidth,a=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-a)<=1&&(a=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:a}}function qS(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&fm(n)){var a=t;do{if(a&&e.isSameNode(a))return!0;a=a.parentNode||a.host}while(a)}return!1}function vr(e){return Fa(e).getComputedStyle(e)}function G8(e){return["table","td","th"].indexOf(Ko(e))>=0}function ts(e){return(($s(e)?e.ownerDocument:e.document)||window.document).documentElement}function rf(e){return Ko(e)==="html"?e:e.assignedSlot||e.parentNode||(fm(e)?e.host:null)||ts(e)}function hy(e){return!Ga(e)||vr(e).position==="fixed"?null:e.offsetParent}function X8(e){var t=/firefox/i.test(uh()),n=/Trident/i.test(uh());if(n&&Ga(e)){var a=vr(e);if(a.position==="fixed")return null}var o=rf(e);for(fm(o)&&(o=o.host);Ga(o)&&["html","body"].indexOf(Ko(o))<0;){var r=vr(o);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||t&&r.willChange==="filter"||t&&r.filter&&r.filter!=="none")return o;o=o.parentNode}return null}function Ru(e){for(var t=Fa(e),n=hy(e);n&&G8(n)&&vr(n).position==="static";)n=hy(n);return n&&(Ko(n)==="html"||Ko(n)==="body"&&vr(n).position==="static")?t:n||X8(e)||t}function hm(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ri(e,t,n){return Cs(e,td(t,n))}function J8(e,t,n){var a=Ri(e,t,n);return a>n?n:a}function YS(){return{top:0,right:0,bottom:0,left:0}}function GS(e){return Object.assign({},YS(),e)}function XS(e,t){return t.reduce(function(n,a){return n[a]=e,n},{})}var Z8=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,GS(typeof e!="number"?e:XS(e,_u))};function Q8(e){var t,n=e.state,a=e.name,o=e.options,r=n.elements.arrow,s=n.modifiersData.popperOffsets,l=Lo(n.placement),u=hm(l),c=[xa,Za].indexOf(l)>=0,d=c?"height":"width";if(!(!r||!s)){var f=Z8(o.padding,n),p=pm(r),g=u==="y"?Ea:xa,h=u==="y"?Ja:Za,v=n.rects.reference[d]+n.rects.reference[u]-s[u]-n.rects.popper[d],m=s[u]-n.rects.reference[u],b=Ru(r),w=b?u==="y"?b.clientHeight||0:b.clientWidth||0:0,y=v/2-m/2,S=f[g],k=w-p[d]-f[h],x=w/2-p[d]/2+y,O=Ri(S,x,k),T=u;n.modifiersData[a]=(t={},t[T]=O,t.centerOffset=O-x,t)}}function e6(e){var t=e.state,n=e.options,a=n.element,o=a===void 0?"[data-popper-arrow]":a;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||qS(t.elements.popper,o)&&(t.elements.arrow=o))}var t6={name:"arrow",enabled:!0,phase:"main",fn:Q8,effect:e6,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ol(e){return e.split("-")[1]}var n6={top:"auto",right:"auto",bottom:"auto",left:"auto"};function a6(e,t){var n=e.x,a=e.y,o=t.devicePixelRatio||1;return{x:xl(n*o)/o||0,y:xl(a*o)/o||0}}function vy(e){var t,n=e.popper,a=e.popperRect,o=e.placement,r=e.variation,s=e.offsets,l=e.position,u=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,p=s.x,g=p===void 0?0:p,h=s.y,v=h===void 0?0:h,m=typeof d=="function"?d({x:g,y:v}):{x:g,y:v};g=m.x,v=m.y;var b=s.hasOwnProperty("x"),w=s.hasOwnProperty("y"),y=xa,S=Ea,k=window;if(c){var x=Ru(n),O="clientHeight",T="clientWidth";if(x===Fa(n)&&(x=ts(n),vr(x).position!=="static"&&l==="absolute"&&(O="scrollHeight",T="scrollWidth")),x=x,o===Ea||(o===xa||o===Za)&&r===Zi){S=Ja;var I=f&&x===k&&k.visualViewport?k.visualViewport.height:x[O];v-=I-a.height,v*=u?1:-1}if(o===xa||(o===Ea||o===Ja)&&r===Zi){y=Za;var _=f&&x===k&&k.visualViewport?k.visualViewport.width:x[T];g-=_-a.width,g*=u?1:-1}}var N=Object.assign({position:l},c&&n6),$=d===!0?a6({x:g,y:v},Fa(n)):{x:g,y:v};if(g=$.x,v=$.y,u){var B;return Object.assign({},N,(B={},B[S]=w?"0":"",B[y]=b?"0":"",B.transform=(k.devicePixelRatio||1)<=1?"translate("+g+"px, "+v+"px)":"translate3d("+g+"px, "+v+"px, 0)",B))}return Object.assign({},N,(t={},t[S]=w?v+"px":"",t[y]=b?g+"px":"",t.transform="",t))}function o6(e){var t=e.state,n=e.options,a=n.gpuAcceleration,o=a===void 0?!0:a,r=n.adaptive,s=r===void 0?!0:r,l=n.roundOffsets,u=l===void 0?!0:l,c={placement:Lo(t.placement),variation:Ol(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,vy(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,vy(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var JS={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:o6,data:{}},tc={passive:!0};function r6(e){var t=e.state,n=e.instance,a=e.options,o=a.scroll,r=o===void 0?!0:o,s=a.resize,l=s===void 0?!0:s,u=Fa(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&c.forEach(function(d){d.addEventListener("scroll",n.update,tc)}),l&&u.addEventListener("resize",n.update,tc),function(){r&&c.forEach(function(d){d.removeEventListener("scroll",n.update,tc)}),l&&u.removeEventListener("resize",n.update,tc)}}var ZS={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:r6,data:{}},s6={left:"right",right:"left",bottom:"top",top:"bottom"};function xc(e){return e.replace(/left|right|bottom|top/g,function(t){return s6[t]})}var l6={start:"end",end:"start"};function my(e){return e.replace(/start|end/g,function(t){return l6[t]})}function vm(e){var t=Fa(e),n=t.pageXOffset,a=t.pageYOffset;return{scrollLeft:n,scrollTop:a}}function mm(e){return Tl(ts(e)).left+vm(e).scrollLeft}function i6(e,t){var n=Fa(e),a=ts(e),o=n.visualViewport,r=a.clientWidth,s=a.clientHeight,l=0,u=0;if(o){r=o.width,s=o.height;var c=US();(c||!c&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}return{width:r,height:s,x:l+mm(e),y:u}}function u6(e){var t,n=ts(e),a=vm(e),o=(t=e.ownerDocument)==null?void 0:t.body,r=Cs(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=Cs(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-a.scrollLeft+mm(e),u=-a.scrollTop;return vr(o||n).direction==="rtl"&&(l+=Cs(n.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:l,y:u}}function gm(e){var t=vr(e),n=t.overflow,a=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+a)}function QS(e){return["html","body","#document"].indexOf(Ko(e))>=0?e.ownerDocument.body:Ga(e)&&gm(e)?e:QS(rf(e))}function Ii(e,t){var n;t===void 0&&(t=[]);var a=QS(e),o=a===((n=e.ownerDocument)==null?void 0:n.body),r=Fa(a),s=o?[r].concat(r.visualViewport||[],gm(a)?a:[]):a,l=t.concat(s);return o?l:l.concat(Ii(rf(s)))}function ch(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function c6(e,t){var n=Tl(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function gy(e,t,n){return t===WS?ch(i6(e,n)):$s(t)?c6(t,n):ch(u6(ts(e)))}function d6(e){var t=Ii(rf(e)),n=["absolute","fixed"].indexOf(vr(e).position)>=0,a=n&&Ga(e)?Ru(e):e;return $s(a)?t.filter(function(o){return $s(o)&&qS(o,a)&&Ko(o)!=="body"}):[]}function f6(e,t,n,a){var o=t==="clippingParents"?d6(e):[].concat(t),r=[].concat(o,[n]),s=r[0],l=r.reduce(function(u,c){var d=gy(e,c,a);return u.top=Cs(d.top,u.top),u.right=td(d.right,u.right),u.bottom=td(d.bottom,u.bottom),u.left=Cs(d.left,u.left),u},gy(e,s,a));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function eC(e){var t=e.reference,n=e.element,a=e.placement,o=a?Lo(a):null,r=a?Ol(a):null,s=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,u;switch(o){case Ea:u={x:s,y:t.y-n.height};break;case Ja:u={x:s,y:t.y+t.height};break;case Za:u={x:t.x+t.width,y:l};break;case xa:u={x:t.x-n.width,y:l};break;default:u={x:t.x,y:t.y}}var c=o?hm(o):null;if(c!=null){var d=c==="y"?"height":"width";switch(r){case El:u[c]=u[c]-(t[d]/2-n[d]/2);break;case Zi:u[c]=u[c]+(t[d]/2-n[d]/2);break}}return u}function Qi(e,t){t===void 0&&(t={});var n=t,a=n.placement,o=a===void 0?e.placement:a,r=n.strategy,s=r===void 0?e.strategy:r,l=n.boundary,u=l===void 0?A8:l,c=n.rootBoundary,d=c===void 0?WS:c,f=n.elementContext,p=f===void 0?ni:f,g=n.altBoundary,h=g===void 0?!1:g,v=n.padding,m=v===void 0?0:v,b=GS(typeof m!="number"?m:XS(m,_u)),w=p===ni?L8:ni,y=e.rects.popper,S=e.elements[h?w:p],k=f6($s(S)?S:S.contextElement||ts(e.elements.popper),u,d,s),x=Tl(e.elements.reference),O=eC({reference:x,element:y,placement:o}),T=ch(Object.assign({},y,O)),I=p===ni?T:x,_={top:k.top-I.top+b.top,bottom:I.bottom-k.bottom+b.bottom,left:k.left-I.left+b.left,right:I.right-k.right+b.right},N=e.modifiersData.offset;if(p===ni&&N){var $=N[o];Object.keys(_).forEach(function(B){var K=[Za,Ja].indexOf(B)>=0?1:-1,j=[Ea,Ja].indexOf(B)>=0?"y":"x";_[B]+=$[j]*K})}return _}function p6(e,t){t===void 0&&(t={});var n=t,a=n.placement,o=n.boundary,r=n.rootBoundary,s=n.padding,l=n.flipVariations,u=n.allowedAutoPlacements,c=u===void 0?jo:u,d=Ol(a),f=d?l?py:py.filter(function(h){return Ol(h)===d}):_u,p=f.filter(function(h){return c.indexOf(h)>=0});p.length===0&&(p=f);var g=p.reduce(function(h,v){return h[v]=Qi(e,{placement:v,boundary:o,rootBoundary:r,padding:s})[Lo(v)],h},{});return Object.keys(g).sort(function(h,v){return g[h]-g[v]})}function h6(e){if(Lo(e)===dm)return[];var t=xc(e);return[my(e),t,my(t)]}function v6(e){var t=e.state,n=e.options,a=e.name;if(!t.modifiersData[a]._skip){for(var o=n.mainAxis,r=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!0:s,u=n.fallbackPlacements,c=n.padding,d=n.boundary,f=n.rootBoundary,p=n.altBoundary,g=n.flipVariations,h=g===void 0?!0:g,v=n.allowedAutoPlacements,m=t.options.placement,b=Lo(m),w=b===m,y=u||(w||!h?[xc(m)]:h6(m)),S=[m].concat(y).reduce(function(ee,ae){return ee.concat(Lo(ae)===dm?p6(t,{placement:ae,boundary:d,rootBoundary:f,padding:c,flipVariations:h,allowedAutoPlacements:v}):ae)},[]),k=t.rects.reference,x=t.rects.popper,O=new Map,T=!0,I=S[0],_=0;_<S.length;_++){var N=S[_],$=Lo(N),B=Ol(N)===El,K=[Ea,Ja].indexOf($)>=0,j=K?"width":"height",W=Qi(t,{placement:N,boundary:d,rootBoundary:f,altBoundary:p,padding:c}),A=K?B?Za:xa:B?Ja:Ea;k[j]>x[j]&&(A=xc(A));var P=xc(A),V=[];if(r&&V.push(W[$]<=0),l&&V.push(W[A]<=0,W[P]<=0),V.every(function(ee){return ee})){I=N,T=!1;break}O.set(N,V)}if(T)for(var F=h?3:1,H=function(ee){var ae=S.find(function(ce){var Z=O.get(ce);if(Z)return Z.slice(0,ee).every(function(de){return de})});if(ae)return I=ae,"break"},U=F;U>0;U--){var J=H(U);if(J==="break")break}t.placement!==I&&(t.modifiersData[a]._skip=!0,t.placement=I,t.reset=!0)}}var m6={name:"flip",enabled:!0,phase:"main",fn:v6,requiresIfExists:["offset"],data:{_skip:!1}};function by(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function yy(e){return[Ea,Za,Ja,xa].some(function(t){return e[t]>=0})}function g6(e){var t=e.state,n=e.name,a=t.rects.reference,o=t.rects.popper,r=t.modifiersData.preventOverflow,s=Qi(t,{elementContext:"reference"}),l=Qi(t,{altBoundary:!0}),u=by(s,a),c=by(l,o,r),d=yy(u),f=yy(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}var b6={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:g6};function y6(e,t,n){var a=Lo(e),o=[xa,Ea].indexOf(a)>=0?-1:1,r=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=r[0],l=r[1];return s=s||0,l=(l||0)*o,[xa,Za].indexOf(a)>=0?{x:l,y:s}:{x:s,y:l}}function w6(e){var t=e.state,n=e.options,a=e.name,o=n.offset,r=o===void 0?[0,0]:o,s=jo.reduce(function(d,f){return d[f]=y6(f,t.rects,r),d},{}),l=s[t.placement],u=l.x,c=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[a]=s}var S6={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:w6};function C6(e){var t=e.state,n=e.name;t.modifiersData[n]=eC({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var tC={name:"popperOffsets",enabled:!0,phase:"read",fn:C6,data:{}};function k6(e){return e==="x"?"y":"x"}function E6(e){var t=e.state,n=e.options,a=e.name,o=n.mainAxis,r=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!1:s,u=n.boundary,c=n.rootBoundary,d=n.altBoundary,f=n.padding,p=n.tether,g=p===void 0?!0:p,h=n.tetherOffset,v=h===void 0?0:h,m=Qi(t,{boundary:u,rootBoundary:c,padding:f,altBoundary:d}),b=Lo(t.placement),w=Ol(t.placement),y=!w,S=hm(b),k=k6(S),x=t.modifiersData.popperOffsets,O=t.rects.reference,T=t.rects.popper,I=typeof v=="function"?v(Object.assign({},t.rects,{placement:t.placement})):v,_=typeof I=="number"?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(x){if(r){var B,K=S==="y"?Ea:xa,j=S==="y"?Ja:Za,W=S==="y"?"height":"width",A=x[S],P=A+m[K],V=A-m[j],F=g?-T[W]/2:0,H=w===El?O[W]:T[W],U=w===El?-T[W]:-O[W],J=t.elements.arrow,ee=g&&J?pm(J):{width:0,height:0},ae=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:YS(),ce=ae[K],Z=ae[j],de=Ri(0,O[W],ee[W]),ue=y?O[W]/2-F-de-ce-_.mainAxis:H-de-ce-_.mainAxis,Y=y?-O[W]/2+F+de+Z+_.mainAxis:U+de+Z+_.mainAxis,Q=t.elements.arrow&&Ru(t.elements.arrow),L=Q?S==="y"?Q.clientTop||0:Q.clientLeft||0:0,q=(B=N?.[S])!=null?B:0,te=A+ue-q-L,fe=A+Y-q,he=Ri(g?td(P,te):P,A,g?Cs(V,fe):V);x[S]=he,$[S]=he-A}if(l){var ve,Ie=S==="x"?Ea:xa,Le=S==="x"?Ja:Za,_e=x[k],ye=k==="y"?"height":"width",Te=_e+m[Ie],be=_e-m[Le],Pe=[Ea,xa].indexOf(b)!==-1,He=(ve=N?.[k])!=null?ve:0,Je=Pe?Te:_e-O[ye]-T[ye]-He+_.altAxis,Qe=Pe?_e+O[ye]+T[ye]-He-_.altAxis:be,lt=g&&Pe?J8(Je,_e,Qe):Ri(g?Je:Te,_e,g?Qe:be);x[k]=lt,$[k]=lt-_e}t.modifiersData[a]=$}}var x6={name:"preventOverflow",enabled:!0,phase:"main",fn:E6,requiresIfExists:["offset"]};function T6(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function O6(e){return e===Fa(e)||!Ga(e)?vm(e):T6(e)}function _6(e){var t=e.getBoundingClientRect(),n=xl(t.width)/e.offsetWidth||1,a=xl(t.height)/e.offsetHeight||1;return n!==1||a!==1}function R6(e,t,n){n===void 0&&(n=!1);var a=Ga(t),o=Ga(t)&&_6(t),r=ts(t),s=Tl(e,o,n),l={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(a||!a&&!n)&&((Ko(t)!=="body"||gm(r))&&(l=O6(t)),Ga(t)?(u=Tl(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):r&&(u.x=mm(r))),{x:s.left+l.scrollLeft-u.x,y:s.top+l.scrollTop-u.y,width:s.width,height:s.height}}function I6(e){var t=new Map,n=new Set,a=[];e.forEach(function(r){t.set(r.name,r)});function o(r){n.add(r.name);var s=[].concat(r.requires||[],r.requiresIfExists||[]);s.forEach(function(l){if(!n.has(l)){var u=t.get(l);u&&o(u)}}),a.push(r)}return e.forEach(function(r){n.has(r.name)||o(r)}),a}function $6(e){var t=I6(e);return U8.reduce(function(n,a){return n.concat(t.filter(function(o){return o.phase===a}))},[])}function N6(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function M6(e){var t=e.reduce(function(n,a){var o=n[a.name];return n[a.name]=o?Object.assign({},o,a,{options:Object.assign({},o.options,a.options),data:Object.assign({},o.data,a.data)}):a,n},{});return Object.keys(t).map(function(n){return t[n]})}var wy={placement:"bottom",modifiers:[],strategy:"absolute"};function Sy(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(a){return!(a&&typeof a.getBoundingClientRect=="function")})}function bm(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,a=n===void 0?[]:n,o=t.defaultOptions,r=o===void 0?wy:o;return function(s,l,u){u===void 0&&(u=r);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},wy,r),modifiersData:{},elements:{reference:s,popper:l},attributes:{},styles:{}},d=[],f=!1,p={state:c,setOptions:function(v){var m=typeof v=="function"?v(c.options):v;h(),c.options=Object.assign({},r,c.options,m),c.scrollParents={reference:$s(s)?Ii(s):s.contextElement?Ii(s.contextElement):[],popper:Ii(l)};var b=$6(M6([].concat(a,c.options.modifiers)));return c.orderedModifiers=b.filter(function(w){return w.enabled}),g(),p.update()},forceUpdate:function(){if(!f){var v=c.elements,m=v.reference,b=v.popper;if(Sy(m,b)){c.rects={reference:R6(m,Ru(b),c.options.strategy==="fixed"),popper:pm(b)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(T){return c.modifiersData[T.name]=Object.assign({},T.data)});for(var w=0;w<c.orderedModifiers.length;w++){if(c.reset===!0){c.reset=!1,w=-1;continue}var y=c.orderedModifiers[w],S=y.fn,k=y.options,x=k===void 0?{}:k,O=y.name;typeof S=="function"&&(c=S({state:c,options:x,name:O,instance:p})||c)}}}},update:N6(function(){return new Promise(function(v){p.forceUpdate(),v(c)})}),destroy:function(){h(),f=!0}};if(!Sy(s,l))return p;p.setOptions(u).then(function(v){!f&&u.onFirstUpdate&&u.onFirstUpdate(v)});function g(){c.orderedModifiers.forEach(function(v){var m=v.name,b=v.options,w=b===void 0?{}:b,y=v.effect;if(typeof y=="function"){var S=y({state:c,name:m,instance:p,options:w}),k=function(){};d.push(S||k)}})}function h(){d.forEach(function(v){return v()}),d=[]}return p}}bm();var P6=[ZS,tC,JS,jS];bm({defaultModifiers:P6});var A6=[ZS,tC,JS,jS,S6,m6,x6,t6,b6],L6=bm({defaultModifiers:A6});const D6=(e,t,n={})=>{const a={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const c=B6(u);Object.assign(s.value,c)},requires:["computeStyles"]},o=C(()=>{const{onFirstUpdate:u,placement:c,strategy:d,modifiers:f}=i(n);return{onFirstUpdate:u,placement:c||"bottom",strategy:d||"absolute",modifiers:[...f||[],a,{name:"applyStyles",enabled:!1}]}}),r=Tt(),s=M({styles:{popper:{position:i(o).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),l=()=>{r.value&&(r.value.destroy(),r.value=void 0)};return pe(o,u=>{const c=i(r);c&&c.setOptions(u)},{deep:!0}),pe([e,t],([u,c])=>{l(),!(!u||!c)&&(r.value=L6(u,c,i(o)))}),Vt(()=>{l()}),{state:C(()=>({...i(r)?.state||{}})),styles:C(()=>i(s).styles),attributes:C(()=>i(s).attributes),update:()=>i(r)?.update(),forceUpdate:()=>i(r)?.forceUpdate(),instanceRef:C(()=>i(r))}};function B6(e){const t=Object.keys(e.elements);return{styles:Cl(t.map(n=>[n,e.styles[n]||{}])),attributes:Cl(t.map(n=>[n,e.attributes[n]]))}}const ym=e=>{if(!e)return{onClick:ut,onMousedown:ut,onMouseup:ut};let t=!1,n=!1;return{onClick:s=>{t&&n&&e(s),t=n=!1},onMousedown:s=>{t=s.target===s.currentTarget},onMouseup:s=>{n=s.target===s.currentTarget}}},V6=(e,t=0)=>{if(t===0)return e;const n=M(ot(t)&&!!t.initVal);let a=null;const o=s=>{if(Rt(s)){n.value=e.value;return}a&&clearTimeout(a),a=setTimeout(()=>{n.value=e.value},s)},r=s=>{s==="leading"?Be(t)?o(t):o(t.leading):ot(t)?o(t.trailing):n.value=!1};return ht(()=>r("leading")),pe(()=>e.value,s=>{r(s?"leading":"trailing")}),n};function Cy(){let e;const t=(a,o)=>{n(),e=globalThis.setTimeout(a,o)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return Wl(()=>n()),{registerTimeout:t,cancelTimeout:n}}const dh={prefix:Math.floor(Math.random()*1e4),current:0},F6=Symbol("elIdInjection"),wm=()=>dt()?$e(F6,dh):dh,Gn=e=>{const t=wm();!Lt&&t===dh&&jt("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed +usage: app.provide(ID_INJECTION_KEY, { + prefix: number, + current: number, +})`);const n=im();return OS(()=>i(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let el=[];const ky=e=>{qt(e)===Se.esc&&el.forEach(t=>t(e))},z6=e=>{ht(()=>{el.length===0&&document.addEventListener("keydown",ky),Lt&&el.push(e)}),Vt(()=>{el=el.filter(t=>t!==e),el.length===0&&Lt&&document.removeEventListener("keydown",ky)})},nC=()=>{const e=im(),t=wm(),n=C(()=>`${e.value}-popper-container-${t.prefix}`);return{id:n,selector:C(()=>`#${n.value}`)}},H6=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},K6=()=>{const{id:e,selector:t}=nC();return zd(()=>{Lt&&(document.body.querySelector(t.value)||H6(e.value))}),{id:e,selector:t}},W6=Ee({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),j6=({showAfter:e,hideAfter:t,autoClose:n,open:a,close:o})=>{const{registerTimeout:r}=Cy(),{registerTimeout:s,cancelTimeout:l}=Cy();return{onOpen:(d,f=i(e))=>{r(()=>{a(d);const p=i(n);Be(p)&&p>0&&s(()=>{o(d)},p)},f)},onClose:(d,f=i(t))=>{l(),r(()=>{o(d)},f)}}},aC=Symbol("elForwardRef"),U6=e=>{St(aC,{setForwardRef:n=>{e.value=n}})},q6=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),Ey={current:0},xy=M(0),Y6=2e3,Ty=Symbol("elZIndexContextKey"),oC=Symbol("zIndexContextKey"),Iu=e=>{const t=dt()?$e(Ty,Ey):Ey,n=e||(dt()?$e(oC,void 0):void 0),a=C(()=>{const s=i(n);return Be(s)?s:Y6}),o=C(()=>a.value+xy.value),r=()=>(t.current++,xy.value=t.current,o.value);return!Lt&&!$e(Ty)&&jt("ZIndexInjection",`Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed +usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:a,currentZIndex:o,nextZIndex:r}},_l=Math.min,ks=Math.max,nd=Math.round,nc=Math.floor,Do=e=>({x:e,y:e}),G6={left:"right",right:"left",bottom:"top",top:"bottom"};function fh(e,t,n){return ks(e,_l(t,n))}function $u(e,t){return typeof e=="function"?e(t):e}function Ns(e){return e.split("-")[0]}function Nu(e){return e.split("-")[1]}function rC(e){return e==="x"?"y":"x"}function Sm(e){return e==="y"?"height":"width"}function zr(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Cm(e){return rC(zr(e))}function X6(e,t,n){n===void 0&&(n=!1);const a=Nu(e),o=Cm(e),r=Sm(o);let s=o==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(s=ad(s)),[s,ad(s)]}function J6(e){const t=ad(e);return[ph(e),t,ph(t)]}function ph(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Oy=["left","right"],_y=["right","left"],Z6=["top","bottom"],Q6=["bottom","top"];function eM(e,t,n){switch(e){case"top":case"bottom":return n?t?_y:Oy:t?Oy:_y;case"left":case"right":return t?Z6:Q6;default:return[]}}function tM(e,t,n,a){const o=Nu(e);let r=eM(Ns(e),n==="start",a);return o&&(r=r.map(s=>s+"-"+o),t&&(r=r.concat(r.map(ph)))),r}function ad(e){const t=Ns(e);return G6[t]+e.slice(t.length)}function nM(e){return{top:0,right:0,bottom:0,left:0,...e}}function sC(e){return typeof e!="number"?nM(e):{top:e,right:e,bottom:e,left:e}}function od(e){const{x:t,y:n,width:a,height:o}=e;return{width:a,height:o,top:n,left:t,right:t+a,bottom:n+o,x:t,y:n}}function Ry(e,t,n){let{reference:a,floating:o}=e;const r=zr(t),s=Cm(t),l=Sm(s),u=Ns(t),c=r==="y",d=a.x+a.width/2-o.width/2,f=a.y+a.height/2-o.height/2,p=a[l]/2-o[l]/2;let g;switch(u){case"top":g={x:d,y:a.y-o.height};break;case"bottom":g={x:d,y:a.y+a.height};break;case"right":g={x:a.x+a.width,y:f};break;case"left":g={x:a.x-o.width,y:f};break;default:g={x:a.x,y:a.y}}switch(Nu(t)){case"start":g[s]-=p*(n&&c?-1:1);break;case"end":g[s]+=p*(n&&c?-1:1);break}return g}async function lC(e,t){var n;t===void 0&&(t={});const{x:a,y:o,platform:r,rects:s,elements:l,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:g=0}=$u(t,e),h=sC(g),m=l[p?f==="floating"?"reference":"floating":f],b=od(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(m)))==null||n?m:m.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:u})),w=f==="floating"?{x:a,y:o,width:s.floating.width,height:s.floating.height}:s.reference,y=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l.floating)),S=await(r.isElement==null?void 0:r.isElement(y))?await(r.getScale==null?void 0:r.getScale(y))||{x:1,y:1}:{x:1,y:1},k=od(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:w,offsetParent:y,strategy:u}):w);return{top:(b.top-k.top+h.top)/S.y,bottom:(k.bottom-b.bottom+h.bottom)/S.y,left:(b.left-k.left+h.left)/S.x,right:(k.right-b.right+h.right)/S.x}}const aM=50,oM=async(e,t,n)=>{const{placement:a="bottom",strategy:o="absolute",middleware:r=[],platform:s}=n,l=s.detectOverflow?s:{...s,detectOverflow:lC},u=await(s.isRTL==null?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:f}=Ry(c,a,u),p=a,g=0;const h={};for(let v=0;v<r.length;v++){const m=r[v];if(!m)continue;const{name:b,fn:w}=m,{x:y,y:S,data:k,reset:x}=await w({x:d,y:f,initialPlacement:a,placement:p,strategy:o,middlewareData:h,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,f=S??f,h[b]={...h[b],...k},x&&g<aM&&(g++,typeof x=="object"&&(x.placement&&(p=x.placement),x.rects&&(c=x.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:o}):x.rects),{x:d,y:f}=Ry(c,p,u)),v=-1)}return{x:d,y:f,placement:p,strategy:o,middlewareData:h}},rM=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:o,rects:r,platform:s,elements:l,middlewareData:u}=t,{element:c,padding:d=0}=$u(e,t)||{};if(c==null)return{};const f=sC(d),p={x:n,y:a},g=Cm(o),h=Sm(g),v=await s.getDimensions(c),m=g==="y",b=m?"top":"left",w=m?"bottom":"right",y=m?"clientHeight":"clientWidth",S=r.reference[h]+r.reference[g]-p[g]-r.floating[h],k=p[g]-r.reference[g],x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c));let O=x?x[y]:0;(!O||!await(s.isElement==null?void 0:s.isElement(x)))&&(O=l.floating[y]||r.floating[h]);const T=S/2-k/2,I=O/2-v[h]/2-1,_=_l(f[b],I),N=_l(f[w],I),$=_,B=O-v[h]-N,K=O/2-v[h]/2+T,j=fh($,K,B),W=!u.arrow&&Nu(o)!=null&&K!==j&&r.reference[h]/2-(K<$?_:N)-v[h]/2<0,A=W?K<$?K-$:K-B:0;return{[g]:p[g]+A,data:{[g]:j,centerOffset:K-j-A,...W&&{alignmentOffset:A}},reset:W}}}),sM=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,a;const{placement:o,middlewareData:r,rects:s,initialPlacement:l,platform:u,elements:c}=t,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:v=!0,...m}=$u(e,t);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const b=Ns(o),w=zr(l),y=Ns(l)===l,S=await(u.isRTL==null?void 0:u.isRTL(c.floating)),k=p||(y||!v?[ad(l)]:J6(l)),x=h!=="none";!p&&x&&k.push(...tM(l,v,h,S));const O=[l,...k],T=await u.detectOverflow(t,m),I=[];let _=((a=r.flip)==null?void 0:a.overflows)||[];if(d&&I.push(T[b]),f){const K=X6(o,s,S);I.push(T[K[0]],T[K[1]])}if(_=[..._,{placement:o,overflows:I}],!I.every(K=>K<=0)){var N,$;const K=(((N=r.flip)==null?void 0:N.index)||0)+1,j=O[K];if(j&&(!(f==="alignment"?w!==zr(j):!1)||_.every(P=>zr(P.placement)===w?P.overflows[0]>0:!0)))return{data:{index:K,overflows:_},reset:{placement:j}};let W=($=_.filter(A=>A.overflows[0]<=0).sort((A,P)=>A.overflows[1]-P.overflows[1])[0])==null?void 0:$.placement;if(!W)switch(g){case"bestFit":{var B;const A=(B=_.filter(P=>{if(x){const V=zr(P.placement);return V===w||V==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(V=>V>0).reduce((V,F)=>V+F,0)]).sort((P,V)=>P[1]-V[1])[0])==null?void 0:B[0];A&&(W=A);break}case"initialPlacement":W=l;break}if(o!==W)return{reset:{placement:W}}}return{}}}},lM=new Set(["left","top"]);async function iM(e,t){const{placement:n,platform:a,elements:o}=e,r=await(a.isRTL==null?void 0:a.isRTL(o.floating)),s=Ns(n),l=Nu(n),u=zr(n)==="y",c=lM.has(s)?-1:1,d=r&&u?-1:1,f=$u(t,e);let{mainAxis:p,crossAxis:g,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return l&&typeof h=="number"&&(g=l==="end"?h*-1:h),u?{x:g*d,y:p*c}:{x:p*c,y:g*d}}const uM=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:o,y:r,placement:s,middlewareData:l}=t,u=await iM(t,e);return s===((n=l.offset)==null?void 0:n.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:o+u.x,y:r+u.y,data:{...u,placement:s}}}}},cM=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:o,platform:r}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:b=>{let{x:w,y}=b;return{x:w,y}}},...c}=$u(e,t),d={x:n,y:a},f=await r.detectOverflow(t,c),p=zr(Ns(o)),g=rC(p);let h=d[g],v=d[p];if(s){const b=g==="y"?"top":"left",w=g==="y"?"bottom":"right",y=h+f[b],S=h-f[w];h=fh(y,h,S)}if(l){const b=p==="y"?"top":"left",w=p==="y"?"bottom":"right",y=v+f[b],S=v-f[w];v=fh(y,v,S)}const m=u.fn({...t,[g]:h,[p]:v});return{...m,data:{x:m.x-n,y:m.y-a,enabled:{[g]:s,[p]:l}}}}}};function sf(){return typeof window<"u"}function jl(e){return iC(e)?(e.nodeName||"").toLowerCase():"#document"}function Ba(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Uo(e){var t;return(t=(iC(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function iC(e){return sf()?e instanceof Node||e instanceof Ba(e).Node:!1}function fo(e){return sf()?e instanceof Element||e instanceof Ba(e).Element:!1}function kr(e){return sf()?e instanceof HTMLElement||e instanceof Ba(e).HTMLElement:!1}function Iy(e){return!sf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ba(e).ShadowRoot}function Mu(e){const{overflow:t,overflowX:n,overflowY:a,display:o}=po(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&o!=="inline"&&o!=="contents"}function dM(e){return/^(table|td|th)$/.test(jl(e))}function lf(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const fM=/transform|translate|scale|rotate|perspective|filter/,pM=/paint|layout|strict|content/,ss=e=>!!e&&e!=="none";let ap;function km(e){const t=fo(e)?po(e):e;return ss(t.transform)||ss(t.translate)||ss(t.scale)||ss(t.rotate)||ss(t.perspective)||!Em()&&(ss(t.backdropFilter)||ss(t.filter))||fM.test(t.willChange||"")||pM.test(t.contain||"")}function hM(e){let t=Gr(e);for(;kr(t)&&!Rl(t);){if(km(t))return t;if(lf(t))return null;t=Gr(t)}return null}function Em(){return ap==null&&(ap=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ap}function Rl(e){return/^(html|body|#document)$/.test(jl(e))}function po(e){return Ba(e).getComputedStyle(e)}function uf(e){return fo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Gr(e){if(jl(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Iy(e)&&e.host||Uo(e);return Iy(t)?t.host:t}function uC(e){const t=Gr(e);return Rl(t)?e.ownerDocument?e.ownerDocument.body:e.body:kr(t)&&Mu(t)?t:uC(t)}function eu(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=uC(e),r=o===((a=e.ownerDocument)==null?void 0:a.body),s=Ba(o);if(r){const l=hh(s);return t.concat(s,s.visualViewport||[],Mu(o)?o:[],l&&n?eu(l):[])}else return t.concat(o,eu(o,[],n))}function hh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cC(e){const t=po(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const o=kr(e),r=o?e.offsetWidth:n,s=o?e.offsetHeight:a,l=nd(n)!==r||nd(a)!==s;return l&&(n=r,a=s),{width:n,height:a,$:l}}function xm(e){return fo(e)?e:e.contextElement}function hl(e){const t=xm(e);if(!kr(t))return Do(1);const n=t.getBoundingClientRect(),{width:a,height:o,$:r}=cC(t);let s=(r?nd(n.width):n.width)/a,l=(r?nd(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const vM=Do(0);function dC(e){const t=Ba(e);return!Em()||!t.visualViewport?vM:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function mM(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ba(e)?!1:t}function Ms(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),r=xm(e);let s=Do(1);t&&(a?fo(a)&&(s=hl(a)):s=hl(e));const l=mM(r,n,a)?dC(r):Do(0);let u=(o.left+l.x)/s.x,c=(o.top+l.y)/s.y,d=o.width/s.x,f=o.height/s.y;if(r){const p=Ba(r),g=a&&fo(a)?Ba(a):a;let h=p,v=hh(h);for(;v&&a&&g!==h;){const m=hl(v),b=v.getBoundingClientRect(),w=po(v),y=b.left+(v.clientLeft+parseFloat(w.paddingLeft))*m.x,S=b.top+(v.clientTop+parseFloat(w.paddingTop))*m.y;u*=m.x,c*=m.y,d*=m.x,f*=m.y,u+=y,c+=S,h=Ba(v),v=hh(h)}}return od({width:d,height:f,x:u,y:c})}function cf(e,t){const n=uf(e).scrollLeft;return t?t.left+n:Ms(Uo(e)).left+n}function fC(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-cf(e,n),o=n.top+t.scrollTop;return{x:a,y:o}}function gM(e){let{elements:t,rect:n,offsetParent:a,strategy:o}=e;const r=o==="fixed",s=Uo(a),l=t?lf(t.floating):!1;if(a===s||l&&r)return n;let u={scrollLeft:0,scrollTop:0},c=Do(1);const d=Do(0),f=kr(a);if((f||!f&&!r)&&((jl(a)!=="body"||Mu(s))&&(u=uf(a)),f)){const g=Ms(a);c=hl(a),d.x=g.x+a.clientLeft,d.y=g.y+a.clientTop}const p=s&&!f&&!r?fC(s,u):Do(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+p.x,y:n.y*c.y-u.scrollTop*c.y+d.y+p.y}}function bM(e){return Array.from(e.getClientRects())}function yM(e){const t=Uo(e),n=uf(e),a=e.ownerDocument.body,o=ks(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),r=ks(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+cf(e);const l=-n.scrollTop;return po(a).direction==="rtl"&&(s+=ks(t.clientWidth,a.clientWidth)-o),{width:o,height:r,x:s,y:l}}const $y=25;function wM(e,t){const n=Ba(e),a=Uo(e),o=n.visualViewport;let r=a.clientWidth,s=a.clientHeight,l=0,u=0;if(o){r=o.width,s=o.height;const d=Em();(!d||d&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}const c=cf(a);if(c<=0){const d=a.ownerDocument,f=d.body,p=getComputedStyle(f),g=d.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,h=Math.abs(a.clientWidth-f.clientWidth-g);h<=$y&&(r-=h)}else c<=$y&&(r+=c);return{width:r,height:s,x:l,y:u}}function SM(e,t){const n=Ms(e,!0,t==="fixed"),a=n.top+e.clientTop,o=n.left+e.clientLeft,r=kr(e)?hl(e):Do(1),s=e.clientWidth*r.x,l=e.clientHeight*r.y,u=o*r.x,c=a*r.y;return{width:s,height:l,x:u,y:c}}function Ny(e,t,n){let a;if(t==="viewport")a=wM(e,n);else if(t==="document")a=yM(Uo(e));else if(fo(t))a=SM(t,n);else{const o=dC(e);a={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return od(a)}function pC(e,t){const n=Gr(e);return n===t||!fo(n)||Rl(n)?!1:po(n).position==="fixed"||pC(n,t)}function CM(e,t){const n=t.get(e);if(n)return n;let a=eu(e,[],!1).filter(l=>fo(l)&&jl(l)!=="body"),o=null;const r=po(e).position==="fixed";let s=r?Gr(e):e;for(;fo(s)&&!Rl(s);){const l=po(s),u=km(s);!u&&l.position==="fixed"&&(o=null),(r?!u&&!o:!u&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Mu(s)&&!u&&pC(e,s))?a=a.filter(d=>d!==s):o=l,s=Gr(s)}return t.set(e,a),a}function kM(e){let{element:t,boundary:n,rootBoundary:a,strategy:o}=e;const s=[...n==="clippingAncestors"?lf(t)?[]:CM(t,this._c):[].concat(n),a],l=Ny(t,s[0],o);let u=l.top,c=l.right,d=l.bottom,f=l.left;for(let p=1;p<s.length;p++){const g=Ny(t,s[p],o);u=ks(g.top,u),c=_l(g.right,c),d=_l(g.bottom,d),f=ks(g.left,f)}return{width:c-f,height:d-u,x:f,y:u}}function EM(e){const{width:t,height:n}=cC(e);return{width:t,height:n}}function xM(e,t,n){const a=kr(t),o=Uo(t),r=n==="fixed",s=Ms(e,!0,r,t);let l={scrollLeft:0,scrollTop:0};const u=Do(0);function c(){u.x=cf(o)}if(a||!a&&!r)if((jl(t)!=="body"||Mu(o))&&(l=uf(t)),a){const g=Ms(t,!0,r,t);u.x=g.x+t.clientLeft,u.y=g.y+t.clientTop}else o&&c();r&&!a&&o&&c();const d=o&&!a&&!r?fC(o,l):Do(0),f=s.left+l.scrollLeft-u.x-d.x,p=s.top+l.scrollTop-u.y-d.y;return{x:f,y:p,width:s.width,height:s.height}}function op(e){return po(e).position==="static"}function My(e,t){if(!kr(e)||po(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Uo(e)===n&&(n=n.ownerDocument.body),n}function hC(e,t){const n=Ba(e);if(lf(e))return n;if(!kr(e)){let o=Gr(e);for(;o&&!Rl(o);){if(fo(o)&&!op(o))return o;o=Gr(o)}return n}let a=My(e,t);for(;a&&dM(a)&&op(a);)a=My(a,t);return a&&Rl(a)&&op(a)&&!km(a)?n:a||hM(e)||n}const TM=async function(e){const t=this.getOffsetParent||hC,n=this.getDimensions,a=await n(e.floating);return{reference:xM(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function OM(e){return po(e).direction==="rtl"}const _M={convertOffsetParentRelativeRectToViewportRelativeRect:gM,getDocumentElement:Uo,getClippingRect:kM,getOffsetParent:hC,getElementRects:TM,getClientRects:bM,getDimensions:EM,getScale:hl,isElement:fo,isRTL:OM};function vC(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function RM(e,t){let n=null,a;const o=Uo(e);function r(){var l;clearTimeout(a),(l=n)==null||l.disconnect(),n=null}function s(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),r();const c=e.getBoundingClientRect(),{left:d,top:f,width:p,height:g}=c;if(l||t(),!p||!g)return;const h=nc(f),v=nc(o.clientWidth-(d+p)),m=nc(o.clientHeight-(f+g)),b=nc(d),y={rootMargin:-h+"px "+-v+"px "+-m+"px "+-b+"px",threshold:ks(0,_l(1,u))||1};let S=!0;function k(x){const O=x[0].intersectionRatio;if(O!==u){if(!S)return s();O?s(!1,O):a=setTimeout(()=>{s(!1,1e-7)},1e3)}O===1&&!vC(c,e.getBoundingClientRect())&&s(),S=!1}try{n=new IntersectionObserver(k,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(k,y)}n.observe(e)}return s(!0),r}function IM(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:o=!0,ancestorResize:r=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=a,c=xm(e),d=o||r?[...c?eu(c):[],...t?eu(t):[]]:[];d.forEach(b=>{o&&b.addEventListener("scroll",n,{passive:!0}),r&&b.addEventListener("resize",n)});const f=c&&l?RM(c,n):null;let p=-1,g=null;s&&(g=new ResizeObserver(b=>{let[w]=b;w&&w.target===c&&g&&t&&(g.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var y;(y=g)==null||y.observe(t)})),n()}),c&&!u&&g.observe(c),t&&g.observe(t));let h,v=u?Ms(e):null;u&&m();function m(){const b=Ms(e);v&&!vC(v,b)&&n(),v=b,h=requestAnimationFrame(m)}return n(),()=>{var b;d.forEach(w=>{o&&w.removeEventListener("scroll",n),r&&w.removeEventListener("resize",n)}),f?.(),(b=g)==null||b.disconnect(),g=null,u&&cancelAnimationFrame(h)}}const $M=lC,NM=uM,MM=cM,PM=sM,AM=rM,LM=(e,t,n)=>{const a=new Map,o={platform:_M,...n},r={...o.platform,_c:a};return oM(e,t,{...o,platform:r})};function DM(e){let t;function n(){if(e.value==null)return;const{selectionStart:o,selectionEnd:r,value:s}=e.value;o==null||r==null||(t={selectionStart:o,selectionEnd:r,value:s,beforeTxt:s.slice(0,Math.max(0,o)),afterTxt:s.slice(Math.max(0,r))})}function a(){if(e.value==null||t==null)return;const{value:o}=e.value,{beforeTxt:r,afterTxt:s,selectionStart:l}=t;if(r==null||s==null||l==null)return;let u=o.length;if(o.endsWith(s))u=o.length-s.length;else if(o.startsWith(r))u=r.length;else{const c=r[l-1],d=o.indexOf(c,l-1);d!==-1&&(u=d+1)}e.value.setSelectionRange(u,u)}return[n,a]}const BM="utils/vue/vnode";function vh(e){return Zt(e)&&e.type===Ve}function mC(e){return Zt(e)&&e.type===kn}function VM(e){return Zt(e)&&!vh(e)&&!mC(e)}const FM=e=>{if(!Zt(e))return jt(BM,"[getNormalizedProps] must be a VNode"),{};const t=e.props||{},n=(Zt(e.type)?e.type.props:void 0)||{},a={};return Object.keys(n).forEach(o=>{Nt(n[o],"default")&&(a[o]=n[o].default)}),Object.keys(t).forEach(o=>{a[qn(o)]=t[o]}),a},Aa=e=>{const t=we(e)?e:[e],n=[];return t.forEach(a=>{we(a)?n.push(...Aa(a)):Zt(a)&&a.component?.subTree?n.push(a,...Aa(a.component.subTree)):Zt(a)&&we(a.children)?n.push(...Aa(a.children)):Zt(a)&&a.shapeFlag===2?n.push(...Aa(a.type())):n.push(a)}),n},zM=(e,t,n)=>Aa(e.subTree).filter(a=>Zt(a)&&a.type?.name===t&&!!a.component).map(a=>a.component.uid).map(a=>n[a]).filter(a=>!!a),df=(e,t)=>{const n=Tt({}),a=Tt([]),o=new WeakMap,r=c=>{n.value[c.uid]=c,Sc(n),ht(()=>{const d=c.getVnode().el,f=d.parentNode;if(!o.has(f)){o.set(f,[]);const p=f.insertBefore.bind(f);f.insertBefore=(g,h)=>(o.get(f).some(v=>g===v||h===v)&&Sc(n),p(g,h))}o.get(f).push(d)})},s=c=>{delete n.value[c.uid],Sc(n);const d=c.getVnode().el,f=d.parentNode,p=o.get(f),g=p.indexOf(d);p.splice(g,1)},l=()=>{a.value=zM(e,t,n.value)},u=c=>c.render();return{children:a,addChild:r,removeChild:s,ChildrenSorter:se({setup(c,{slots:d}){return()=>(l(),d.default?qe(u,{render:d.default}):null)}})}},Nn=So({type:String,values:yo,required:!1}),gC=Symbol("size"),bC=()=>{const e=$e(gC,{});return C(()=>i(e.size)||"")};function Er(e,{disabled:t,beforeFocus:n,afterFocus:a,beforeBlur:o,afterBlur:r}={}){const{emit:s}=dt(),l=Tt(),u=M(!1),c=p=>{const g=Fe(n)?n(p):!1;i(t)||u.value||g||(u.value=!0,s("focus",p),a?.())},d=p=>{const g=Fe(o)?o(p):!1;i(t)||p.relatedTarget&&l.value?.contains(p.relatedTarget)||g||(u.value=!1,s("blur",p),r?.())},f=p=>{i(t)||Is(p.target)||l.value?.contains(document.activeElement)&&l.value!==document.activeElement||e.value?.focus()};return pe([l,()=>i(t)],([p,g])=>{p&&(g?p.removeAttribute("tabindex"):p.setAttribute("tabindex","-1"))}),Bt(l,"focus",c,!0),Bt(l,"blur",d,!0),Bt(l,"click",f,!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}function Pu({afterComposition:e,emit:t}){const n=M(!1),a=l=>{t?.("compositionstart",l),n.value=!0},o=l=>{t?.("compositionupdate",l),n.value=!0},r=l=>{t?.("compositionend",l),n.value&&(n.value=!1,Ne(()=>e(l)))};return{isComposing:n,handleComposition:l=>{l.type==="compositionend"?r(l):o(l)},handleCompositionStart:a,handleCompositionUpdate:o,handleCompositionEnd:r}}const yC=Symbol("emptyValuesContextKey"),HM="use-empty-values",KM=["",void 0,null],zs=Ee({emptyValues:Array,valueOnClear:{type:G([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=Fe(e)?e():e,we(e)?e.every(t=>!t):!e)}}),Au=(e,t)=>{const n=dt()?$e(yC,M({})):M({}),a=C(()=>e.emptyValues||n.value.emptyValues||KM),o=C(()=>Fe(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:Fe(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:void 0),r=s=>{let l=!0;return we(s)?l=a.value.some(u=>fn(s,u)):l=a.value.includes(s),l};return r(o.value)||jt(HM,"value-on-clear should be a value of empty-values"),{emptyValues:a,valueOnClear:o,isEmptyValue:r}},WM=Ee({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),ia=e=>hr(WM,e),wC=e=>{const t=e.props,n=we(t)?Cl(t.map(a=>[a,{}])):t;e.setPropsDefaults=a=>{if(n){for(const[o,r]of Object.entries(a)){const s=n[o];if(Nt(n,o)){if(Qv(s)){n[o]={...s,default:r};continue}n[o]={type:s,default:r}}}e.props=n}}},st=(e,t)=>{if(e.install=n=>{for(const a of[e,...Object.values(t??{})])n.component(a.name,a)},t)for(const[n,a]of Object.entries(t))e[n]=a;return wC(e),e},SC=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),jM=(e,t)=>(e.install=n=>{n.directive(t,e)},e),ln=e=>(e.install=ut,wC(e),e),Py="ElAffix";var UM=se({name:Py,__name:"affix",props:YN,emits:GN,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("affix"),s=Tt(),l=Tt(),u=Tt(),{height:c}=rm(),{height:d,width:f,top:p,bottom:g,left:h,update:v}=ly(l,{windowScroll:!1}),m=ly(s),b=M(!1),w=M(0),y=M(0),S=C(()=>!a.teleported||!b.value),k=C(()=>({display:"flow-root",height:b.value?`${d.value}px`:"",width:b.value?`${f.value}px`:""})),x=C(()=>{if(!b.value)return{};const _=hn(a.offset);return{height:`${d.value}px`,width:`${f.value}px`,top:a.position==="top"?_:"",bottom:a.position==="bottom"?_:"",left:a.teleported?`${h.value}px`:"",transform:y.value?`translateY(${y.value}px)`:"",zIndex:a.zIndex}}),O=()=>{if(!u.value)return;w.value=u.value instanceof Window?document.documentElement.scrollTop:u.value.scrollTop||0;const{position:_,target:N,offset:$}=a,B=$+d.value;if(_==="top")if(N){const K=m.bottom.value-B;b.value=$>p.value&&m.bottom.value>0,y.value=K<0?K:0}else b.value=$>p.value;else if(N){const K=c.value-m.top.value-B;b.value=c.value-$<g.value&&c.value>m.top.value,y.value=K<0?-K:0}else b.value=c.value-$<g.value},T=async()=>{if(!b.value){v();return}b.value=!1,await Ne(),v(),b.value=!0},I=async()=>{v(),await Ne(),o("scroll",{scrollTop:w.value,fixed:b.value})};return pe(b,_=>o(yt,_)),ht(()=>{a.target?(s.value=document.querySelector(a.target)??void 0,s.value||sn(Py,`Target does not exist: ${a.target}`)):s.value=document.documentElement,u.value=um(l.value,!0),v()}),gu(()=>{Ne(T)}),Mv(()=>{b.value=!1}),Bt(u,"scroll",I),la(O),t({update:O,updateRoot:T}),(_,N)=>(E(),D("div",{ref_key:"root",ref:l,class:R(i(r).b()),style:ze(k.value)},[(E(),le(Bl,{disabled:S.value,to:e.appendTo},[z("div",{class:R({[i(r).m("fixed")]:b.value}),style:ze(x.value)},[oe(_.$slots,"default")],6)],8,["disabled","to"]))],6))}}),qM=UM;const YM=st(qM);/*! Element Plus Icons Vue v2.3.2 */var GM=se({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),qo=GM,XM=se({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),mr=XM,JM=se({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),sa=JM,ZM=se({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),ff=ZM,QM=se({name:"Avatar",__name:"avatar",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.87 415.87 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0"})]))}}),qae=QM,eP=se({name:"Back",__name:"back",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),z("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),tP=eP,nP=se({name:"Bell",__name:"bell",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64"}),z("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320"}),z("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0"})]))}}),Yae=nP,aP=se({name:"Box",__name:"box",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64"}),z("path",{fill:"currentColor",d:"M64 320h896v64H64z"}),z("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320z"})]))}}),Gae=aP,oP=se({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),rP=oP,sP=se({name:"CaretBottom",__name:"caret-bottom",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}}),Xae=sP,lP=se({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),CC=lP,iP=se({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),uP=iP,cP=se({name:"Check",__name:"check",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),Il=cP,dP=se({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),fP=dP,pP=se({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),z("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Tm=pP,hP=se({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Om=hP,vP=se({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),Yo=vP,mP=se({name:"Clock",__name:"clock",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),z("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),z("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),kC=mP,gP=se({name:"Close",__name:"close",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Qa=gP,bP=se({name:"Connection",__name:"connection",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),z("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.06 192.06 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}}),Jae=bP,yP=se({name:"Coordinate",__name:"coordinate",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M480 512h64v320h-64z"}),z("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64m64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128m256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),Zae=yP,wP=se({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),z("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),Qae=wP,SP=se({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}}),Xr=SP,CP=se({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),Jr=CP,kP=se({name:"Delete",__name:"delete",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),EP=kP,xP=se({name:"Document",__name:"document",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),TP=xP,OP=se({name:"Expand",__name:"expand",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"})]))}}),eoe=OP,_P=se({name:"Files",__name:"files",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),toe=_P,RP=se({name:"FirstAidKit",__name:"first-aid-kit",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),z("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0zM352 128v64h320v-64zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"})]))}}),noe=RP,IP=se({name:"Fold",__name:"fold",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"})]))}}),aoe=IP,$P=se({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),NP=$P,MP=se({name:"Hide",__name:"hide",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),z("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),PP=MP,AP=se({name:"Histogram",__name:"histogram",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M416 896V128h192v768zm-288 0V448h192v448zm576 0V320h192v576z"})]))}}),ooe=AP,LP=se({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),tu=LP,DP=se({name:"Lightning",__name:"lightning",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M288 671.36v64.128A239.81 239.81 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"}),z("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736z"})]))}}),roe=DP,BP=se({name:"List",__name:"list",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),soe=BP,VP=se({name:"Loading",__name:"loading",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),ho=VP,FP=se({name:"Lock",__name:"lock",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),z("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),loe=FP,zP=se({name:"MapLocation",__name:"map-location",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),z("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256m345.6 192L960 960H672v-64H352v64H64l102.4-256zm-68.928 0H235.328l-76.8 192h706.944z"})]))}}),ioe=zP,HP=se({name:"Minus",__name:"minus",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),KP=HP,WP=se({name:"Monitor",__name:"monitor",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64z"})]))}}),uoe=WP,jP=se({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),Ay=jP,UP=se({name:"More",__name:"more",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),qP=UP,YP=se({name:"Notebook",__name:"notebook",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),z("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32"})]))}}),coe=YP,GP=se({name:"Operation",__name:"operation",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z"})]))}}),doe=GP,XP=se({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),JP=XP,ZP=se({name:"PieChart",__name:"pie-chart",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.13 384.13 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.13 448.13 0 0 1 448 68.48"}),z("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28M512 64V33.152A448 448 0 0 1 990.848 512H512z"})]))}}),foe=ZP,QP=se({name:"Plus",__name:"plus",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),EC=QP,eA=se({name:"Pointer",__name:"pointer",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.27 94.27 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128M359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.27 158.27 0 0 1 185.984 8.32z"})]))}}),poe=eA,tA=se({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),hoe=tA,nA=se({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}}),aA=nA,oA=se({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),rA=oA,sA=se({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),lA=sA,iA=se({name:"Refresh",__name:"refresh",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),voe=iA,uA=se({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),cA=uA,dA=se({name:"Search",__name:"search",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),fA=dA,pA=se({name:"Setting",__name:"setting",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),moe=pA,hA=se({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),vA=hA,mA=se({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),gA=mA,bA=se({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),ac=bA,yA=se({name:"Star",__name:"star",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),wA=yA,SA=se({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),xC=SA,CA=se({name:"Tools",__name:"tools",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M764.416 254.72a351.7 351.7 0 0 1 86.336 149.184H960v192.064H850.752a351.7 351.7 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.7 351.7 0 0 1-86.336-149.312H64v-192h109.248a351.7 351.7 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0"})]))}}),goe=CA,kA=se({name:"TrendCharts",__name:"trend-charts",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0"})]))}}),boe=kA,EA=se({name:"UploadFilled",__name:"upload-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.81 239.81 0 0 1 512 192a239.87 239.87 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z"})]))}}),yoe=EA,xA=se({name:"User",__name:"user",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0"})]))}}),woe=xA,TA=se({name:"Van",__name:"van",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672m48.128-192-14.72-96H704v96zM688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160m-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160"})]))}}),Soe=TA,OA=se({name:"VideoCamera",__name:"video-camera",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z"})]))}}),Coe=OA,_A=se({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),koe=_A,RA=se({name:"VideoPlay",__name:"video-play",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"})]))}}),Eoe=RA,IA=se({name:"View",__name:"view",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),$A=IA,NA=se({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),pf=NA,MA=se({name:"Warning",__name:"warning",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),xoe=MA,PA=se({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),TC=PA,AA=se({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(E(),D("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),LA=AA;const Ut=G([String,Object,Function]),OC={Close:Qa},_m={Close:Qa,SuccessFilled:xC,InfoFilled:tu,WarningFilled:pf,CircleCloseFilled:Om},Zr={primary:tu,success:xC,warning:pf,error:Om,info:tu},hf={validating:ho,success:Tm,error:Yo},DA=["light","dark"],BA=Ee({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Ji(Zr),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:DA,default:"light"}}),VA={close:e=>e instanceof MouseEvent},FA=Ee({size:{type:G([Number,String])},color:{type:String}});var zA=se({name:"ElIcon",inheritAttrs:!1,__name:"icon",props:FA,setup(e){const t=e,n=ge("icon"),a=C(()=>{const{size:o,color:r}=t,s=hn(o);return!s&&!r?{}:{fontSize:s,"--color":r}});return(o,r)=>(E(),D("i",pt({class:i(n).b(),style:a.value},o.$attrs),[oe(o.$slots,"default")],16))}}),HA=zA;const De=st(HA);var KA=se({name:"ElAlert",__name:"alert",props:BA,emits:VA,setup(e,{emit:t}){const{Close:n}=_m,a=e,o=t,r=wn(),s=ge("alert"),l=M(!0),u=C(()=>Zr[a.type]),c=C(()=>{if(a.description)return!0;const f=r.default?.();return f?Aa(f).some(p=>!mC(p)):!1}),d=f=>{l.value=!1,o("close",f)};return(f,p)=>(E(),le(Yn,{name:i(s).b("fade"),persisted:""},{default:ne(()=>[ct(z("div",{class:R([i(s).b(),i(s).m(e.type),i(s).is("center",e.center),i(s).is(e.effect)]),role:"alert"},[e.showIcon&&(f.$slots.icon||u.value)?(E(),le(i(De),{key:0,class:R([i(s).e("icon"),i(s).is("big",c.value)])},{default:ne(()=>[oe(f.$slots,"icon",{},()=>[(E(),le(it(u.value)))])]),_:3},8,["class"])):re("v-if",!0),z("div",{class:R(i(s).e("content"))},[e.title||f.$slots.title?(E(),D("span",{key:0,class:R([i(s).e("title"),{"with-description":c.value}])},[oe(f.$slots,"title",{},()=>[wt(Ce(e.title),1)])],2)):re("v-if",!0),c.value?(E(),D("p",{key:1,class:R(i(s).e("description"))},[oe(f.$slots,"default",{},()=>[wt(Ce(e.description),1)])],2)):re("v-if",!0),e.closable?(E(),D(Ve,{key:2},[e.closeText?(E(),D("div",{key:0,class:R([i(s).e("close-btn"),i(s).is("customed")]),onClick:d},Ce(e.closeText),3)):(E(),le(i(De),{key:1,class:R(i(s).e("close-btn")),onClick:d},{default:ne(()=>[X(i(n))]),_:1},8,["class"]))],64)):re("v-if",!0)],2)],2),[[$t,l.value]])]),_:3},8,["name"]))}}),WA=KA;const jA=st(WA),_C=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],RC=Ee({role:{type:String,values:_C,default:"tooltip"}}),Rm=Symbol("popper"),IC=Symbol("popperContent");var UA=se({name:"ElPopperArrow",inheritAttrs:!1,__name:"arrow",setup(e,{expose:t}){const n=ge("popper"),{arrowRef:a,arrowStyle:o}=$e(IC,void 0);return Vt(()=>{a.value=void 0}),t({arrowRef:a}),(r,s)=>(E(),D("span",{ref_key:"arrowRef",ref:a,class:R(i(n).e("arrow")),style:ze(i(o)),"data-popper-arrow":""},null,6))}}),qA=UA;const $C=Ee({virtualRef:{type:G(Object)},virtualTriggering:Boolean,onMouseenter:{type:G(Function)},onMouseleave:{type:G(Function)},onClick:{type:G(Function)},onKeydown:{type:G(Function)},onFocus:{type:G(Function)},onBlur:{type:G(Function)},onContextmenu:{type:G(Function)},id:String,open:Boolean}),rp="ElOnlyChild",NC=se({name:rp,setup(e,{slots:t,attrs:n}){const a=q6($e(aC)?.setForwardRef??ut);return()=>{const o=t.default?.(n);if(!o)return null;const[r,s]=MC(o);return r?(s>1&&jt(rp,"requires exact only one valid child."),ct(Fo(r,n),[[a]])):(jt(rp,"no valid child node found"),null)}}});function MC(e){if(!e)return[null,0];const t=e,n=t.filter(a=>a.type!==kn).length;for(const a of t){if(ot(a))switch(a.type){case kn:continue;case Fl:case"svg":return[Ly(a),n];case Ve:return MC(a.children);default:return[a,n]}return[Ly(a),n]}return[null,0]}function Ly(e){return X("span",{class:ge("only-child").e("content")},[e])}var YA=se({name:"ElPopperTrigger",inheritAttrs:!1,__name:"trigger",props:$C,setup(e,{expose:t}){const n=e,{role:a,triggerRef:o}=$e(Rm,void 0);U6(o);const r=C(()=>l.value?n.id:void 0),s=C(()=>{if(a&&a.value==="tooltip")return n.open&&n.id?n.id:void 0}),l=C(()=>{if(a&&a.value!=="tooltip")return a.value}),u=C(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return ht(()=>{pe(()=>n.virtualRef,f=>{f&&(o.value=Rn(f))},{immediate:!0}),pe(o,(f,p)=>{c?.(),c=void 0,ka(p)&&d.forEach(g=>{const h=n[g];h&&p.removeEventListener(g.slice(2).toLowerCase(),h,["onFocus","onBlur"].includes(g))}),ka(f)&&(d.forEach(g=>{const h=n[g];h&&f.addEventListener(g.slice(2).toLowerCase(),h,["onFocus","onBlur"].includes(g))}),Is(f)&&(c=pe([r,s,l,u],g=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((h,v)=>{En(g[v])?f.removeAttribute(h):f.setAttribute(h,g[v])})},{immediate:!0}))),ka(p)&&Is(p)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(g=>p.removeAttribute(g))},{immediate:!0})}),Vt(()=>{if(c?.(),c=void 0,o.value&&ka(o.value)){const f=o.value;d.forEach(p=>{const g=n[p];g&&f.removeEventListener(p.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(p))}),o.value=void 0}}),t({triggerRef:o}),(f,p)=>e.virtualTriggering?re("v-if",!0):(E(),le(i(NC),pt({key:0},f.$attrs,{"aria-controls":r.value,"aria-describedby":s.value,"aria-expanded":u.value,"aria-haspopup":l.value}),{default:ne(()=>[oe(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}}),GA=YA;const PC=Ee({arrowOffset:{type:Number,default:5}}),XA=Ee({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:G(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:jo,default:"bottom"},popperOptions:{type:G(Object),default:()=>({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),AC=Ee({...XA,...PC,id:String,style:{type:G([String,Array,Object,Boolean]),default:void 0},className:{type:G([String,Array,Object])},effect:{type:G(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:G([String,Array,Object])},popperStyle:{type:G([String,Array,Object,Boolean]),default:void 0},referenceEl:{type:G(Object)},triggerTargetEl:{type:G(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...ia(["ariaLabel"]),loop:Boolean}),JA={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},ZA=Ee({size:{type:String,values:yo},disabled:Boolean}),QA=Ee({...ZA,model:Object,rules:{type:G(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:G([Object,Boolean]),default:!0}}),eL={validate:(e,t,n)=>(we(e)||Ae(e))&&Wt(t)&&Ae(n)},Hs=Symbol("formContextKey"),Wo=Symbol("formItemContextKey"),In=(e,t={})=>{const n=M(void 0),a=t.prop?n:KS("size"),o=t.global?n:bC(),r=t.form?{size:void 0}:$e(Hs,void 0),s=t.formItem?{size:void 0}:$e(Wo,void 0);return C(()=>a.value||i(e)||s?.size||r?.size||o.value||"")},un=e=>{const t=KS("disabled"),n=$e(Hs,void 0);return C(()=>t.value??i(e)??n?.disabled??!1)},Fn=()=>({form:$e(Hs,void 0),formItem:$e(Wo,void 0)}),_a=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:a})=>{n||(n=M(!1)),a||(a=M(!1));const o=dt(),r=()=>{let c=o?.parent;for(;c;){if(c.type.name==="ElFormItem")return!1;if(c.type.name==="ElLabelWrap")return!0;c=c.parent}return!1},s=M();let l;const u=C(()=>!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&t.inputIds?.length<=1));return ht(()=>{l=pe([Ht(e,"id"),n],([c,d])=>{const f=c??(d?void 0:Gn().value);f!==s.value&&(t?.removeInputId&&!r()&&(s.value&&t.removeInputId(s.value),!a?.value&&!d&&f&&t.addInputId(f)),s.value=f)},{immediate:!0})}),Vl(()=>{l&&l(),t?.removeInputId&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:u,inputId:s}},tL=["","error","validating","success"],nL=Ee({label:String,labelWidth:{type:[String,Number]},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:G([String,Array])},required:{type:Boolean,default:void 0},rules:{type:G([Object,Array])},error:String,validateStatus:{type:String,values:tL},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:yo}}),Dy=e=>[...new Set(e)],ai=e=>we(e)?e[0]:e,aa=e=>!e&&e!==0?[]:we(e)?e:[e],aL="ElForm";function oL(){const e=M([]),t=C(()=>{if(!e.value.length)return"0";const r=Math.max(...e.value);return r?`${r}px`:""});function n(r){const s=e.value.indexOf(r);return s===-1&&t.value==="0"&&jt(aL,`unexpected width ${r}`),s}function a(r,s){if(r&&s){const l=n(s);e.value.splice(l,1,r)}else r&&e.value.push(r)}function o(r){const s=n(r);s>-1&&e.value.splice(s,1)}return{autoLabelWidth:t,registerLabelWidth:a,deregisterLabelWidth:o}}const oc=(e,t)=>{const n=Dn(t).map(a=>we(a)?a.join("."):a);return n.length>0?e.filter(a=>a.propString&&n.includes(a.propString)):e},Us="ElForm";var rL=se({name:Us,__name:"form",props:QA,emits:eL,setup(e,{expose:t,emit:n}){const a=e,o=n,r=M(),s=Dt([]),l=new Map,u=In(),c=ge("form"),d=C(()=>{const{labelPosition:O,inline:T}=a;return[c.b(),c.m(u.value||"default"),{[c.m(`label-${O}`)]:O,[c.m("inline")]:T}]}),f=O=>oc(s,[O])[0],p=O=>{s.includes(O)||s.push(O),O.propString&&(l.has(O.propString)?O.setInitialValue(l.get(O.propString)):l.set(O.propString,No(O.fieldValue)))},g=(O,T)=>{if(T){l.delete(T);return}const I=s.indexOf(O);I>-1&&(s.splice(I,1),O.propString&&l.set(O.propString,No(O.getInitialValue())))},h=O=>{if(!a.model){jt(Us,"model is required for setInitialValues to work.");return}if(!O){jt(Us,"initModel is required for setInitialValues to work.");return}for(const T of l.keys())l.set(T,No(Wr(O,T).value));s.forEach(T=>{T.prop&&T.setInitialValue(Wr(O,T.prop).value)})},v=(O=[])=>{if(!a.model){jt(Us,"model is required for resetFields to work.");return}oc(s,O).forEach(_=>_.resetField());const T=new Set(s.map(_=>_.propString).filter(Boolean)),I=O.length>0?Dn(O).map(_=>we(_)?_.join("."):_):[...l.keys()];for(const _ of I)!T.has(_)&&l.has(_)&&(Wr(a.model,_).value=No(l.get(_)))},m=(O=[])=>{oc(s,O).forEach(T=>T.clearValidate())},b=C(()=>{const O=!!a.model;return O||jt(Us,"model is required for validate to work."),O}),w=O=>{if(s.length===0)return[];const T=oc(s,O);return T.length?T:(jt(Us,"please pass correct props!"),[])},y=async O=>k(void 0,O),S=async(O=[])=>{if(!b.value)return!1;const T=w(O);if(T.length===0)return!0;let I={};for(const _ of T)try{await _.validate(""),_.validateState==="error"&&!_.error&&_.resetField()}catch(N){I={...I,...N}}return Object.keys(I).length===0?!0:Promise.reject(I)},k=async(O=[],T)=>{let I=!1;const _=!Fe(T);try{return I=await S(O),I===!0&&await T?.(I),I}catch(N){if(N instanceof Error)throw N;const $=N;return a.scrollToError&&r.value&&r.value.querySelector(`.${c.b()}-item.is-error`)?.scrollIntoView(a.scrollIntoViewOptions),!I&&await T?.(!1,$),_&&Promise.reject($)}},x=O=>{const T=f(O);T&&T.$el?.scrollIntoView(a.scrollIntoViewOptions)};return pe(()=>a.rules,()=>{a.validateOnRuleChange&&y().catch(ut)},{deep:!0,flush:"post"}),St(Hs,Dt({...Pn(a),emit:o,resetFields:v,clearValidate:m,validateField:k,getField:f,addField:p,removeField:g,setInitialValues:h,...oL()})),t({validate:y,validateField:k,resetFields:v,clearValidate:m,scrollToField:x,getField:f,fields:s,setInitialValues:h}),(O,T)=>(E(),D("form",{ref_key:"formRef",ref:r,class:R(d.value)},[oe(O.$slots,"default")],2))}}),sL=rL;const By="ElLabelWrap";var lL=se({name:By,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(e,{slots:t}){const n=$e(Hs,void 0),a=$e(Wo);a||sn(By,"usage: <el-form-item><label-wrap /></el-form-item>");const o=ge("form"),r=M(),s=M(0),l=()=>{if(r.value?.firstElementChild){const d=window.getComputedStyle(r.value.firstElementChild).width;return Math.ceil(Number.parseFloat(d))}else return 0},u=(d="update")=>{Ne(()=>{t.default&&e.isAutoWidth&&(d==="update"?s.value=l():d==="remove"&&n?.deregisterLabelWidth(s.value))})},c=()=>u("update");return ht(()=>{c()}),Vt(()=>{u("remove")}),bo(()=>c()),pe(s,(d,f)=>{e.updateAll&&n?.registerLabelWidth(d,f)}),an(C(()=>r.value?.firstElementChild??null),c),()=>{if(!t)return null;const{isAutoWidth:d}=e;if(d){const f=n?.autoLabelWidth,p=a?.hasLabel,g={};if(p&&f&&f!=="auto"){const h=Math.max(0,Number.parseInt(f,10)-s.value),v=(a.labelPosition||n.labelPosition)==="left"?"marginRight":"marginLeft";h&&(g[v]=`${h}px`)}return X("div",{ref:r,class:[o.be("item","label-wrap")],style:g},[t.default?.()])}else return X(Ve,{ref:r},[t.default?.()])}}});function hs(){return hs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},hs.apply(this,arguments)}function iL(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,nu(e,t)}function mh(e){return mh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},mh(e)}function nu(e,t){return nu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,o){return a.__proto__=o,a},nu(e,t)}function uL(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Tc(e,t,n){return uL()?Tc=Reflect.construct.bind():Tc=function(o,r,s){var l=[null];l.push.apply(l,r);var u=Function.bind.apply(o,l),c=new u;return s&&nu(c,s.prototype),c},Tc.apply(null,arguments)}function cL(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function gh(e){var t=typeof Map=="function"?new Map:void 0;return gh=function(a){if(a===null||!cL(a))return a;if(typeof a!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(a))return t.get(a);t.set(a,o)}function o(){return Tc(a,arguments,mh(this).constructor)}return o.prototype=Object.create(a.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),nu(o,a)},gh(e)}var dL=/%[sdj%]/g,fL=function(){};function bh(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var a=n.field;t[a]=t[a]||[],t[a].push(n)}),t}function La(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];var o=0,r=n.length;if(typeof e=="function")return e.apply(null,n);if(typeof e=="string"){var s=e.replace(dL,function(l){if(l==="%%")return"%";if(o>=r)return l;switch(l){case"%s":return String(n[o++]);case"%d":return Number(n[o++]);case"%j":try{return JSON.stringify(n[o++])}catch{return"[Circular]"}break;default:return l}});return s}return e}function pL(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Kn(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||pL(t)&&typeof e=="string"&&!e)}function hL(e,t,n){var a=[],o=0,r=e.length;function s(l){a.push.apply(a,l||[]),o++,o===r&&n(a)}e.forEach(function(l){t(l,s)})}function Vy(e,t,n){var a=0,o=e.length;function r(s){if(s&&s.length){n(s);return}var l=a;a=a+1,l<o?t(e[l],r):n([])}r([])}function vL(e){var t=[];return Object.keys(e).forEach(function(n){t.push.apply(t,e[n]||[])}),t}var Fy=function(e){iL(t,e);function t(n,a){var o;return o=e.call(this,"Async Validation Error")||this,o.errors=n,o.fields=a,o}return t}(gh(Error));function mL(e,t,n,a,o){if(t.first){var r=new Promise(function(p,g){var h=function(b){return a(b),b.length?g(new Fy(b,bh(b))):p(o)},v=vL(e);Vy(v,n,h)});return r.catch(function(p){return p}),r}var s=t.firstFields===!0?Object.keys(e):t.firstFields||[],l=Object.keys(e),u=l.length,c=0,d=[],f=new Promise(function(p,g){var h=function(m){if(d.push.apply(d,m),c++,c===u)return a(d),d.length?g(new Fy(d,bh(d))):p(o)};l.length||(a(d),p(o)),l.forEach(function(v){var m=e[v];s.indexOf(v)!==-1?Vy(m,n,h):hL(m,n,h)})});return f.catch(function(p){return p}),f}function gL(e){return!!(e&&e.message!==void 0)}function bL(e,t){for(var n=e,a=0;a<t.length;a++){if(n==null)return n;n=n[t[a]]}return n}function zy(e,t){return function(n){var a;return e.fullFields?a=bL(t,e.fullFields):a=t[n.field||e.fullField],gL(n)?(n.field=n.field||e.fullField,n.fieldValue=a,n):{message:typeof n=="function"?n():n,fieldValue:a,field:n.field||e.fullField}}}function Hy(e,t){if(t){for(var n in t)if(t.hasOwnProperty(n)){var a=t[n];typeof a=="object"&&typeof e[n]=="object"?e[n]=hs({},e[n],a):e[n]=a}}return e}var LC=function(t,n,a,o,r,s){t.required&&(!a.hasOwnProperty(t.field)||Kn(n,s||t.type))&&o.push(La(r.messages.required,t.fullField))},yL=function(t,n,a,o,r){(/^\s+$/.test(n)||n==="")&&o.push(La(r.messages.whitespace,t.fullField))},rc,wL=function(){if(rc)return rc;var e="[a-fA-F\\d:]",t=function(S){return S&&S.includeBoundaries?"(?:(?<=\\s|^)(?="+e+")|(?<="+e+")(?=\\s|$))":""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",a="[a-fA-F\\d]{1,4}",o=(` +(?: +(?:`+a+":){7}(?:"+a+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 +(?:`+a+":){6}(?:"+n+"|:"+a+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 +(?:`+a+":){5}(?::"+n+"|(?::"+a+`){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 +(?:`+a+":){4}(?:(?::"+a+"){0,1}:"+n+"|(?::"+a+`){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 +(?:`+a+":){3}(?:(?::"+a+"){0,2}:"+n+"|(?::"+a+`){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 +(?:`+a+":){2}(?:(?::"+a+"){0,3}:"+n+"|(?::"+a+`){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 +(?:`+a+":){1}(?:(?::"+a+"){0,4}:"+n+"|(?::"+a+`){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 +(?::(?:(?::`+a+"){0,5}:"+n+"|(?::"+a+`){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 +)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 +`).replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),r=new RegExp("(?:^"+n+"$)|(?:^"+o+"$)"),s=new RegExp("^"+n+"$"),l=new RegExp("^"+o+"$"),u=function(S){return S&&S.exact?r:new RegExp("(?:"+t(S)+n+t(S)+")|(?:"+t(S)+o+t(S)+")","g")};u.v4=function(y){return y&&y.exact?s:new RegExp(""+t(y)+n+t(y),"g")},u.v6=function(y){return y&&y.exact?l:new RegExp(""+t(y)+o+t(y),"g")};var c="(?:(?:[a-z]+:)?//)",d="(?:\\S+(?::\\S*)?@)?",f=u.v4().source,p=u.v6().source,g="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",h="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",v="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",m="(?::\\d{2,5})?",b='(?:[/?#][^\\s"]*)?',w="(?:"+c+"|www\\.)"+d+"(?:localhost|"+f+"|"+p+"|"+g+h+v+")"+m+b;return rc=new RegExp("(?:^"+w+"$)","i"),rc},Ky={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hi={integer:function(t){return hi.number(t)&&parseInt(t,10)===t},float:function(t){return hi.number(t)&&!hi.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!hi.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(Ky.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(wL())},hex:function(t){return typeof t=="string"&&!!t.match(Ky.hex)}},SL=function(t,n,a,o,r){if(t.required&&n===void 0){LC(t,n,a,o,r);return}var s=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=t.type;s.indexOf(l)>-1?hi[l](n)||o.push(La(r.messages.types[l],t.fullField,t.type)):l&&typeof n!==t.type&&o.push(La(r.messages.types[l],t.fullField,t.type))},CL=function(t,n,a,o,r){var s=typeof t.len=="number",l=typeof t.min=="number",u=typeof t.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,d=n,f=null,p=typeof n=="number",g=typeof n=="string",h=Array.isArray(n);if(p?f="number":g?f="string":h&&(f="array"),!f)return!1;h&&(d=n.length),g&&(d=n.replace(c,"_").length),s?d!==t.len&&o.push(La(r.messages[f].len,t.fullField,t.len)):l&&!u&&d<t.min?o.push(La(r.messages[f].min,t.fullField,t.min)):u&&!l&&d>t.max?o.push(La(r.messages[f].max,t.fullField,t.max)):l&&u&&(d<t.min||d>t.max)&&o.push(La(r.messages[f].range,t.fullField,t.min,t.max))},qs="enum",kL=function(t,n,a,o,r){t[qs]=Array.isArray(t[qs])?t[qs]:[],t[qs].indexOf(n)===-1&&o.push(La(r.messages[qs],t.fullField,t[qs].join(", ")))},EL=function(t,n,a,o,r){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||o.push(La(r.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var s=new RegExp(t.pattern);s.test(n)||o.push(La(r.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},Qt={required:LC,whitespace:yL,type:SL,range:CL,enum:kL,pattern:EL},xL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n,"string")&&!t.required)return a();Qt.required(t,n,o,s,r,"string"),Kn(n,"string")||(Qt.type(t,n,o,s,r),Qt.range(t,n,o,s,r),Qt.pattern(t,n,o,s,r),t.whitespace===!0&&Qt.whitespace(t,n,o,s,r))}a(s)},TL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&Qt.type(t,n,o,s,r)}a(s)},OL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(n===""&&(n=void 0),Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&(Qt.type(t,n,o,s,r),Qt.range(t,n,o,s,r))}a(s)},_L=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&Qt.type(t,n,o,s,r)}a(s)},RL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),Kn(n)||Qt.type(t,n,o,s,r)}a(s)},IL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&(Qt.type(t,n,o,s,r),Qt.range(t,n,o,s,r))}a(s)},$L=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&(Qt.type(t,n,o,s,r),Qt.range(t,n,o,s,r))}a(s)},NL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(n==null&&!t.required)return a();Qt.required(t,n,o,s,r,"array"),n!=null&&(Qt.type(t,n,o,s,r),Qt.range(t,n,o,s,r))}a(s)},ML=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&Qt.type(t,n,o,s,r)}a(s)},PL="enum",AL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r),n!==void 0&&Qt[PL](t,n,o,s,r)}a(s)},LL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n,"string")&&!t.required)return a();Qt.required(t,n,o,s,r),Kn(n,"string")||Qt.pattern(t,n,o,s,r)}a(s)},DL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n,"date")&&!t.required)return a();if(Qt.required(t,n,o,s,r),!Kn(n,"date")){var u;n instanceof Date?u=n:u=new Date(n),Qt.type(t,u,o,s,r),u&&Qt.range(t,u.getTime(),o,s,r)}}a(s)},BL=function(t,n,a,o,r){var s=[],l=Array.isArray(n)?"array":typeof n;Qt.required(t,n,o,s,r,l),a(s)},sp=function(t,n,a,o,r){var s=t.type,l=[],u=t.required||!t.required&&o.hasOwnProperty(t.field);if(u){if(Kn(n,s)&&!t.required)return a();Qt.required(t,n,o,l,r,s),Kn(n,s)||Qt.type(t,n,o,l,r)}a(l)},VL=function(t,n,a,o,r){var s=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(Kn(n)&&!t.required)return a();Qt.required(t,n,o,s,r)}a(s)},$i={string:xL,method:TL,number:OL,boolean:_L,regexp:RL,integer:IL,float:$L,array:NL,object:ML,enum:AL,pattern:LL,date:DL,url:sp,hex:sp,email:sp,required:BL,any:VL};function yh(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var wh=yh(),Lu=function(){function e(n){this.rules=null,this._messages=wh,this.define(n)}var t=e.prototype;return t.define=function(a){var o=this;if(!a)throw new Error("Cannot configure a schema with no rules");if(typeof a!="object"||Array.isArray(a))throw new Error("Rules must be an object");this.rules={},Object.keys(a).forEach(function(r){var s=a[r];o.rules[r]=Array.isArray(s)?s:[s]})},t.messages=function(a){return a&&(this._messages=Hy(yh(),a)),this._messages},t.validate=function(a,o,r){var s=this;o===void 0&&(o={}),r===void 0&&(r=function(){});var l=a,u=o,c=r;if(typeof u=="function"&&(c=u,u={}),!this.rules||Object.keys(this.rules).length===0)return c&&c(null,l),Promise.resolve(l);function d(v){var m=[],b={};function w(S){if(Array.isArray(S)){var k;m=(k=m).concat.apply(k,S)}else m.push(S)}for(var y=0;y<v.length;y++)w(v[y]);m.length?(b=bh(m),c(m,b)):c(null,l)}if(u.messages){var f=this.messages();f===wh&&(f=yh()),Hy(f,u.messages),u.messages=f}else u.messages=this.messages();var p={},g=u.keys||Object.keys(this.rules);g.forEach(function(v){var m=s.rules[v],b=l[v];m.forEach(function(w){var y=w;typeof y.transform=="function"&&(l===a&&(l=hs({},l)),b=l[v]=y.transform(b)),typeof y=="function"?y={validator:y}:y=hs({},y),y.validator=s.getValidationMethod(y),y.validator&&(y.field=v,y.fullField=y.fullField||v,y.type=s.getType(y),p[v]=p[v]||[],p[v].push({rule:y,value:b,source:l,field:v}))})});var h={};return mL(p,u,function(v,m){var b=v.rule,w=(b.type==="object"||b.type==="array")&&(typeof b.fields=="object"||typeof b.defaultField=="object");w=w&&(b.required||!b.required&&v.value),b.field=v.field;function y(x,O){return hs({},O,{fullField:b.fullField+"."+x,fullFields:b.fullFields?[].concat(b.fullFields,[x]):[x]})}function S(x){x===void 0&&(x=[]);var O=Array.isArray(x)?x:[x];!u.suppressWarning&&O.length&&e.warning("async-validator:",O),O.length&&b.message!==void 0&&(O=[].concat(b.message));var T=O.map(zy(b,l));if(u.first&&T.length)return h[b.field]=1,m(T);if(!w)m(T);else{if(b.required&&!v.value)return b.message!==void 0?T=[].concat(b.message).map(zy(b,l)):u.error&&(T=[u.error(b,La(u.messages.required,b.field))]),m(T);var I={};b.defaultField&&Object.keys(v.value).map(function($){I[$]=b.defaultField}),I=hs({},I,v.rule.fields);var _={};Object.keys(I).forEach(function($){var B=I[$],K=Array.isArray(B)?B:[B];_[$]=K.map(y.bind(null,$))});var N=new e(_);N.messages(u.messages),v.rule.options&&(v.rule.options.messages=u.messages,v.rule.options.error=u.error),N.validate(v.value,v.rule.options||u,function($){var B=[];T&&T.length&&B.push.apply(B,T),$&&$.length&&B.push.apply(B,$),m(B.length?B:null)})}}var k;if(b.asyncValidator)k=b.asyncValidator(b,v.value,S,v.source,u);else if(b.validator){try{k=b.validator(b,v.value,S,v.source,u)}catch(x){console.error?.(x),u.suppressValidatorError||setTimeout(function(){throw x},0),S(x.message)}k===!0?S():k===!1?S(typeof b.message=="function"?b.message(b.fullField||b.field):b.message||(b.fullField||b.field)+" fails"):k instanceof Array?S(k):k instanceof Error&&S(k.message)}k&&k.then&&k.then(function(){return S()},function(x){return S(x)})},function(v){d(v)},l)},t.getType=function(a){if(a.type===void 0&&a.pattern instanceof RegExp&&(a.type="pattern"),typeof a.validator!="function"&&a.type&&!$i.hasOwnProperty(a.type))throw new Error(La("Unknown rule type %s",a.type));return a.type||"string"},t.getValidationMethod=function(a){if(typeof a.validator=="function")return a.validator;var o=Object.keys(a),r=o.indexOf("message");return r!==-1&&o.splice(r,1),o.length===1&&o[0]==="required"?$i.required:$i[this.getType(a)]||void 0},e}();Lu.register=function(t,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");$i[t]=n};Lu.warning=fL;Lu.messages=wh;Lu.validators=$i;const FL=["role","aria-labelledby"];var zL=se({name:"ElFormItem",__name:"form-item",props:nL,setup(e,{expose:t}){const n=e,a=wn(),o=$e(Hs,void 0),r=$e(Wo,void 0),s=In(void 0,{formItem:!1}),l=ge("form-item"),u=Gn().value,c=M([]),d=M(""),f=l8(d,100),p=M(""),g=M();let h,v=!1;const m=C(()=>n.labelPosition||o?.labelPosition),b=C(()=>m.value==="top"?{}:{width:hn(n.labelWidth??o?.labelWidth)}),w=C(()=>{if(m.value==="top"||o?.inline)return{};if(!n.label&&!n.labelWidth&&_)return{};const Y=hn(n.labelWidth??o?.labelWidth);return!n.label&&!a.label?{marginLeft:Y}:{}}),y=C(()=>[l.b(),l.m(s.value),l.is("error",d.value==="error"),l.is("validating",d.value==="validating"),l.is("success",d.value==="success"),l.is("required",j.value||n.required),l.is("no-asterisk",o?.hideRequiredAsterisk),o?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[l.m("feedback")]:o?.statusIcon,[l.m(`label-${m.value}`)]:m.value}]),S=C(()=>Wt(n.inlineMessage)?n.inlineMessage:o?.inlineMessage||!1),k=C(()=>[l.e("error"),{[l.em("error","inline")]:S.value}]),x=C(()=>n.prop?we(n.prop)?n.prop.join("."):n.prop:""),O=C(()=>!!(n.label||a.label)),T=C(()=>n.for??(c.value.length===1?c.value[0]:void 0)),I=C(()=>!T.value&&O.value),_=!!r,N=C(()=>{const Y=o?.model;if(!(!Y||!n.prop))return Wr(Y,n.prop).value}),$=C(()=>{const{required:Y}=n,Q=[];n.rules&&Q.push(...Dn(n.rules));const L=o?.rules;if(L&&n.prop){const q=Wr(L,n.prop).value;q&&Q.push(...Dn(q))}if(Y!==void 0){const q=Q.map((te,fe)=>[te,fe]).filter(([te])=>"required"in te);if(q.length>0)for(const[te,fe]of q)te.required!==Y&&(Q[fe]={...te,required:Y});else Q.push({required:Y})}return Q}),B=C(()=>$.value.length>0),K=Y=>$.value.filter(Q=>!Q.trigger||!Y?!0:we(Q.trigger)?Q.trigger.includes(Y):Q.trigger===Y).map(({trigger:Q,...L})=>L),j=C(()=>$.value.some(Y=>Y.required)),W=C(()=>f.value==="error"&&n.showMessage&&(o?.showMessage??!0)),A=C(()=>`${n.label||""}${o?.labelSuffix||""}`),P=Y=>{d.value=Y},V=Y=>{const{errors:Q,fields:L}=Y;(!Q||!L)&&console.error(Y),P("error"),p.value=Q?Q?.[0]?.message??`${n.prop} is required`:"",o?.emit("validate",n.prop,!1,p.value)},F=()=>{P("success"),o?.emit("validate",n.prop,!0,"")},H=async Y=>{const Q=x.value;return new Lu({[Q]:Y}).validate({[Q]:N.value},{firstFields:!0}).then(()=>(F(),!0)).catch(L=>(V(L),Promise.reject(L)))},U=async(Y,Q)=>{if(v||!n.prop)return!1;const L=Fe(Q);if(!B.value)return Q?.(!1),!1;const q=K(Y);return q.length===0?(Q?.(!0),!0):(P("validating"),H(q).then(()=>(Q?.(!0),!0)).catch(te=>{const{fields:fe}=te;return Q?.(!1,fe),L?!1:Promise.reject(fe)}))},J=()=>{P(""),p.value="",v=!1},ee=async()=>{const Y=o?.model;if(!Y||!n.prop)return;const Q=Wr(Y,n.prop);v=!0,Q.value=No(h),await Ne(),J(),v=!1},ae=Y=>{c.value.includes(Y)||c.value.push(Y)},ce=Y=>{c.value=c.value.filter(Q=>Q!==Y)},Z=Y=>{h=No(Y)},de=()=>h;pe(()=>n.error,Y=>{p.value=Y||"",P(Y?"error":"")},{immediate:!0}),pe(()=>n.validateStatus,Y=>P(Y||""));const ue=Dt({...Pn(n),$el:g,size:s,validateMessage:p,validateState:d,labelId:u,inputIds:c,isGroup:I,hasLabel:O,fieldValue:N,addInputId:ae,removeInputId:ce,resetField:ee,clearValidate:J,validate:U,propString:x,setInitialValue:Z,getInitialValue:de});return St(Wo,ue),pe(x,(Y,Q)=>{!o||!Q||(o.removeField(ue,Q),Y&&(Z(N.value),o.addField(ue)))}),ht(()=>{n.prop&&(Z(N.value),o?.addField(ue))}),Vt(()=>{o?.removeField(ue)}),t({size:s,validateMessage:p,validateState:d,validate:U,clearValidate:J,resetField:ee,setInitialValue:Z}),(Y,Q)=>(E(),D("div",{ref_key:"formItemRef",ref:g,class:R(y.value),role:I.value?"group":void 0,"aria-labelledby":I.value?i(u):void 0},[X(i(lL),{"is-auto-width":b.value.width==="auto","update-all":i(o)?.labelWidth==="auto"},{default:ne(()=>[e.label||Y.$slots.label?(E(),le(it(T.value?"label":"div"),{key:0,id:i(u),for:T.value,class:R(i(l).e("label")),style:ze(b.value)},{default:ne(()=>[oe(Y.$slots,"label",{label:A.value},()=>[wt(Ce(A.value),1)])]),_:3},8,["id","for","class","style"])):re("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),z("div",{class:R(i(l).e("content")),style:ze(w.value)},[oe(Y.$slots,"default"),X(T2,{name:`${i(l).namespace.value}-zoom-in-top`},{default:ne(()=>[W.value?oe(Y.$slots,"error",{key:0,error:p.value},()=>[z("div",{class:R(k.value)},Ce(p.value),3)]):re("v-if",!0)]),_:3},8,["name"])],6)],10,FL))}}),DC=zL;const HL=st(sL,{FormItem:DC}),KL=ln(DC),lp="focus-trap.focus-after-trapped",ip="focus-trap.focus-after-released",WL="focus-trap.focusout-prevented",Wy={cancelable:!0,bubbles:!1},jL={cancelable:!0,bubbles:!1},jy="focusAfterTrapped",Uy="focusAfterReleased",BC=Symbol("elFocusTrap"),Im=M(),vf=M(0),$m=M(0);let sc=0;const VC=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const o=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||o?NodeFilter.FILTER_SKIP:a.tabIndex>=0||a===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},qy=(e,t)=>{for(const n of e)if(!UL(n,t))return n},UL=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},qL=e=>{const t=VC(e);return[qy(t,e),qy(t.reverse(),e)]},YL=e=>e instanceof HTMLInputElement&&"select"in e,Pr=(e,t)=>{if(e){const n=document.activeElement;Ou(e,{preventScroll:!0}),$m.value=window.performance.now(),e!==n&&YL(e)&&t&&e.select()}};function Yy(e,t){const n=[...e],a=e.indexOf(t);return a!==-1&&n.splice(a,1),n}const GL=()=>{let e=[];return{push:a=>{const o=e[0];o&&a!==o&&o.pause(),e=Yy(e,a),e.unshift(a)},remove:a=>{e=Yy(e,a),e[0]?.resume?.()}}},XL=(e,t=!1)=>{const n=document.activeElement;for(const a of e)if(Pr(a,t),document.activeElement!==n)return},Gy=GL(),JL=()=>vf.value>$m.value,lc=()=>{Im.value="pointer",vf.value=window.performance.now()},Xy=()=>{Im.value="keyboard",vf.value=window.performance.now()},ZL=()=>(ht(()=>{sc===0&&(document.addEventListener("mousedown",lc),document.addEventListener("touchstart",lc),document.addEventListener("keydown",Xy)),sc++}),Vt(()=>{sc--,sc<=0&&(document.removeEventListener("mousedown",lc),document.removeEventListener("touchstart",lc),document.removeEventListener("keydown",Xy))}),{focusReason:Im,lastUserFocusTimestamp:vf,lastAutomatedFocusTimestamp:$m}),ic=e=>new CustomEvent(WL,{...jL,detail:e});var QL=se({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[jy,Uy,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=M();let a,o;const{focusReason:r}=ZL();z6(h=>{e.trapped&&!s.paused&&t("release-requested",h)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=h=>{if(!e.loop&&!e.trapped||s.paused)return;const{altKey:v,ctrlKey:m,metaKey:b,currentTarget:w,shiftKey:y}=h,{loop:S}=e,k=qt(h)===Se.tab&&!v&&!m&&!b,x=document.activeElement;if(k&&x){const O=w,[T,I]=qL(O);if(T&&I){if(!y&&x===I){const _=ic({focusReason:r.value});t("focusout-prevented",_),_.defaultPrevented||(h.preventDefault(),S&&Pr(T,!0))}else if(y&&[T,O].includes(x)){const _=ic({focusReason:r.value});t("focusout-prevented",_),_.defaultPrevented||(h.preventDefault(),S&&Pr(I,!0))}}else if(x===O){const _=ic({focusReason:r.value});t("focusout-prevented",_),_.defaultPrevented||h.preventDefault()}}};St(BC,{focusTrapRef:n,onKeydown:l}),pe(()=>e.focusTrapEl,h=>{h&&(n.value=h)},{immediate:!0}),pe([n],([h],[v])=>{h&&(h.addEventListener("keydown",l),h.addEventListener("focusin",d),h.addEventListener("focusout",f)),v&&(v.removeEventListener("keydown",l),v.removeEventListener("focusin",d),v.removeEventListener("focusout",f))});const u=h=>{t(jy,h)},c=h=>t(Uy,h),d=h=>{const v=i(n);if(!v)return;const m=h.target,b=h.relatedTarget,w=m&&v.contains(m);e.trapped||b&&v.contains(b)||(a=b),w&&t("focusin",h),!s.paused&&e.trapped&&(w?o=m:Pr(o,!0))},f=h=>{const v=i(n);if(!(s.paused||!v))if(e.trapped){const m=h.relatedTarget;!En(m)&&!v.contains(m)&&setTimeout(()=>{if(!s.paused&&e.trapped){const b=ic({focusReason:r.value});t("focusout-prevented",b),b.defaultPrevented||Pr(o,!0)}},0)}else{const m=h.target;m&&v.contains(m)||t("focusout",h)}};async function p(){await Ne();const h=i(n);if(h){Gy.push(s);const v=h.contains(document.activeElement)?a:document.activeElement;if(a=v,!h.contains(v)){const m=new Event(lp,Wy);h.addEventListener(lp,u),h.dispatchEvent(m),m.defaultPrevented||Ne(()=>{let b=e.focusStartEl;Ae(b)||(Pr(b),document.activeElement!==b&&(b="first")),b==="first"&&XL(VC(h),!0),(document.activeElement===v||b==="container")&&Pr(h)})}}}function g(){const h=i(n);if(h){h.removeEventListener(lp,u);const v=new CustomEvent(ip,{...Wy,detail:{focusReason:r.value}});h.addEventListener(ip,c),h.dispatchEvent(v),!v.defaultPrevented&&(r.value=="keyboard"||!JL()||h.contains(document.activeElement))&&Pr(a??document.body),h.removeEventListener(ip,c),Gy.remove(s),a=null,o=null}}return ht(()=>{e.trapped&&p(),pe(()=>e.trapped,h=>{h?p():g()})}),Vt(()=>{e.trapped&&g(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",f),n.value=void 0),a=null,o=null}),{onKeydown:l}}}),Mn=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n};function eD(e,t,n,a,o,r){return oe(e.$slots,"default",{handleKeydown:e.onKeydown})}var tD=Mn(QL,[["render",eD]]),Ul=tD;const nD=(e,t=[])=>{const{placement:n,strategy:a,popperOptions:o}=e,r={placement:n,strategy:a,...o,modifiers:[...oD(e),...t]};return rD(r,o?.modifiers),r},aD=e=>{if(Lt)return Rn(e)};function oD(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:a}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:a}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function rD(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const sD=0,lD=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:a,role:o}=$e(Rm,void 0),r=M(),s=C(()=>e.arrowOffset),l=C(()=>({name:"eventListeners",enabled:!!e.visible})),u=C(()=>{const w=i(r),y=i(s)??sD;return{name:"arrow",enabled:!RN(w),options:{element:w,padding:y}}}),c=C(()=>({onFirstUpdate:()=>{h()},...nD(e,[i(u),i(l)])})),d=C(()=>aD(e.referenceEl)||i(a)),{attributes:f,state:p,styles:g,update:h,forceUpdate:v,instanceRef:m}=D6(d,n,c);pe(m,w=>t.value=w,{flush:"sync"}),ht(()=>{pe(()=>i(d)?.getBoundingClientRect?.(),()=>{h()})});let b;return pe(()=>e.visible,w=>{b?.(),b=void 0,w&&(b=an(n,h).stop)}),Vt(()=>{t.value=void 0,b?.(),b=void 0}),{attributes:f,arrowRef:r,contentRef:n,instanceRef:m,state:p,styles:g,role:o,forceUpdate:v,update:h}},iD=(e,{attributes:t,styles:n,role:a})=>{const{nextZIndex:o}=Iu(),r=ge("popper"),s=C(()=>i(t).popper),l=M(Be(e.zIndex)?e.zIndex:o()),u=C(()=>[r.b(),r.is("pure",e.pure),r.is(e.effect),e.popperClass]),c=C(()=>[{zIndex:i(l)},i(n).popper,e.popperStyle||{}]),d=C(()=>a.value==="dialog"?"false":void 0),f=C(()=>i(n).arrow||{});return{ariaModal:d,arrowStyle:f,contentAttrs:s,contentClass:u,contentStyle:c,contentZIndex:l,updateZIndex:()=>{l.value=Be(e.zIndex)?e.zIndex:o()}}},uD=(e,t)=>{const n=M(!1),a=M(),o=()=>{t("focus")},r=c=>{c.detail?.focusReason!=="pointer"&&(a.value="first",t("blur"))},s=c=>{e.visible&&!n.value&&(c.target&&(a.value=c.target),n.value=!0)},l=c=>{e.trapping||(c.detail.focusReason==="pointer"&&c.preventDefault(),n.value=!1)},u=()=>{n.value=!1,t("close")};return Vt(()=>{a.value=void 0}),{focusStartRef:a,trapped:n,onFocusAfterReleased:r,onFocusAfterTrapped:o,onFocusInTrap:s,onFocusoutPrevented:l,onReleaseRequested:u}};var cD=se({name:"ElPopperContent",__name:"content",props:AC,emits:JA,setup(e,{expose:t,emit:n}){const a=n,o=e,{focusStartRef:r,trapped:s,onFocusAfterReleased:l,onFocusAfterTrapped:u,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:f}=uD(o,a),{attributes:p,arrowRef:g,contentRef:h,styles:v,instanceRef:m,role:b,update:w}=lD(o),{ariaModal:y,arrowStyle:S,contentAttrs:k,contentClass:x,contentStyle:O,updateZIndex:T}=iD(o,{styles:v,attributes:p,role:b}),I=$e(Wo,void 0);St(IC,{arrowStyle:S,arrowRef:g}),I&&St(Wo,{...I,addInputId:ut,removeInputId:ut});let _;const N=(B=!0)=>{w(),B&&T()},$=()=>{N(!1),o.visible&&o.focusOnShow?s.value=!0:o.visible===!1&&(s.value=!1)};return ht(()=>{pe(()=>o.triggerTargetEl,(B,K)=>{_?.(),_=void 0;const j=i(B||h.value),W=i(K||h.value);ka(j)&&(_=pe([b,()=>o.ariaLabel,y,()=>o.id],A=>{["role","aria-label","aria-modal","id"].forEach((P,V)=>{En(A[V])?j.removeAttribute(P):j.setAttribute(P,A[V])})},{immediate:!0})),W!==j&&ka(W)&&["role","aria-label","aria-modal","id"].forEach(A=>{W.removeAttribute(A)})},{immediate:!0}),pe(()=>o.visible,$,{immediate:!0})}),Vt(()=>{_?.(),_=void 0,h.value=void 0}),t({popperContentRef:h,popperInstanceRef:m,updatePopper:N,contentStyle:O}),(B,K)=>(E(),D("div",pt({ref_key:"contentRef",ref:h},i(k),{style:i(O),class:i(x),tabindex:"-1",onMouseenter:K[0]||(K[0]=j=>B.$emit("mouseenter",j)),onMouseleave:K[1]||(K[1]=j=>B.$emit("mouseleave",j))}),[X(i(Ul),{loop:e.loop,trapped:i(s),"trap-on-focus-in":!0,"focus-trap-el":i(h),"focus-start-el":i(r),onFocusAfterTrapped:i(u),onFocusAfterReleased:i(l),onFocusin:i(c),onFocusoutPrevented:i(d),onReleaseRequested:i(f)},{default:ne(()=>[oe(B.$slots,"default")]),_:3},8,["loop","trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}}),dD=cD,fD=se({name:"ElPopper",inheritAttrs:!1,__name:"popper",props:RC,setup(e,{expose:t}){const n=e,a={triggerRef:M(),popperInstanceRef:M(),contentRef:M(),referenceRef:M(),role:C(()=>n.role)};return t(a),St(Rm,a),(o,r)=>oe(o.$slots,"default")}}),pD=fD;const FC=st(pD),Kt=Ee({...W6,...AC,appendTo:{type:G([String,Object])},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:G(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...ia(["ariaLabel"])}),Bo=Ee({...$C,disabled:Boolean,trigger:{type:G([String,Array]),default:"hover"},triggerKeys:{type:G(Array),default:()=>[Se.enter,Se.numpadEnter,Se.space]},focusOnTarget:Boolean}),{useModelToggleProps:hD,useModelToggleEmits:vD,useModelToggle:mD}=P8("visible"),gD=Ee({...RC,...hD,...Kt,...Bo,...PC,showArrow:{type:Boolean,default:!0}}),bD=[...vD,"before-show","before-hide","show","hide","open","close"],Nm=Symbol("elTooltip"),Sh=(e,t)=>we(e)?e.includes(t):e===t,Ys=(e,t,n)=>a=>{Sh(i(e),t)&&n(a)};var yD=se({name:"ElTooltipTrigger",__name:"trigger",props:Bo,setup(e,{expose:t}){const n=e,a=ge("tooltip"),{controlled:o,id:r,open:s,onOpen:l,onClose:u,onToggle:c}=$e(Nm,void 0),d=M(null),f=()=>{if(i(o)||n.disabled)return!0},p=Ht(n,"trigger"),g=Ln(f,Ys(p,"hover",S=>{l(S),n.focusOnTarget&&S.target&&Ne(()=>{Ou(S.target,{preventScroll:!0})})})),h=Ln(f,Ys(p,"hover",u)),v=Ln(f,Ys(p,"click",S=>{S.button===0&&c(S)})),m=Ln(f,Ys(p,"focus",l)),b=Ln(f,Ys(p,"focus",u)),w=Ln(f,Ys(p,"contextmenu",S=>{S.preventDefault(),c(S)})),y=Ln(f,S=>{const k=qt(S);n.triggerKeys.includes(k)&&(S.preventDefault(),c(S))});return t({triggerRef:d}),(S,k)=>(E(),le(i(GA),{id:i(r),"virtual-ref":e.virtualRef,open:i(s),"virtual-triggering":e.virtualTriggering,class:R(i(a).e("trigger")),onBlur:i(b),onClick:i(v),onContextmenu:i(w),onFocus:i(m),onMouseenter:i(g),onMouseleave:i(h),onKeydown:i(y)},{default:ne(()=>[oe(S.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}}),wD=yD,SD=se({name:"ElTooltipContent",inheritAttrs:!1,__name:"content",props:Kt,setup(e,{expose:t}){const n=e,{selector:a}=nC(),o=ge("tooltip"),r=M(),s=OS(()=>r.value?.popperContentRef);let l;const{controlled:u,id:c,open:d,trigger:f,onClose:p,onOpen:g,onShow:h,onHide:v,onBeforeShow:m,onBeforeHide:b}=$e(Nm,void 0),w=C(()=>n.transition||`${o.namespace.value}-fade-in-linear`),y=C(()=>n.persistent);Vt(()=>{l?.()});const S=C(()=>i(y)?!0:i(d)),k=C(()=>n.disabled?!1:i(d)),x=C(()=>n.appendTo||a.value),O=C(()=>n.style??{}),T=M(!0),I=()=>{v(),A()&&Ou(document.body,{preventScroll:!0}),T.value=!0},_=()=>{if(i(u))return!0},N=Ln(_,()=>{n.enterable&&Sh(i(f),"hover")&&g()}),$=Ln(_,()=>{Sh(i(f),"hover")&&p()}),B=()=>{r.value?.updatePopper?.(),m?.()},K=()=>{b?.()},j=()=>{h()},W=()=>{n.virtualTriggering||p()},A=P=>{const V=r.value?.popperContentRef,F=P?.relatedTarget||document.activeElement;return V?.contains(F)};return pe(()=>i(d),P=>{P?(T.value=!1,l=om(s,()=>{i(u)||aa(i(f)).every(V=>V!=="hover"&&V!=="focus")&&p()},{detectIframe:!0})):l?.()},{flush:"post"}),t({contentRef:r,isFocusInsideContent:A}),(P,V)=>(E(),le(Bl,{disabled:!e.teleported,to:x.value},[S.value||!T.value?(E(),le(Yn,{key:0,name:w.value,appear:!y.value,onAfterLeave:I,onBeforeEnter:B,onAfterEnter:j,onBeforeLeave:K,persisted:""},{default:ne(()=>[ct(X(i(dD),pt({id:i(c),ref_key:"contentRef",ref:r},P.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":T.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,O.value],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:k.value,"z-index":e.zIndex,loop:e.loop,onMouseenter:i(N),onMouseleave:i($),onBlur:W,onClose:i(p)}),{default:ne(()=>[oe(P.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","loop","onMouseenter","onMouseleave","onClose"]),[[$t,k.value]])]),_:3},8,["name","appear"])):re("v-if",!0)],8,["disabled","to"]))}}),CD=SD;const kD=["innerHTML"],ED={key:1};var xD=se({name:"ElTooltip",__name:"tooltip",props:gD,emits:bD,setup(e,{expose:t,emit:n}){const a=e,o=n;K6();const r=ge("tooltip"),s=Gn(),l=M(),u=M(),c=()=>{const S=i(l);S&&S.popperInstanceRef?.update()},d=M(!1),f=M(),{show:p,hide:g,hasUpdateHandler:h}=mD({indicator:d,toggleReason:f}),{onOpen:v,onClose:m}=j6({showAfter:Ht(a,"showAfter"),hideAfter:Ht(a,"hideAfter"),autoClose:Ht(a,"autoClose"),open:p,close:g}),b=C(()=>Wt(a.visible)&&!h.value),w=C(()=>[r.b(),a.popperClass]);St(Nm,{controlled:b,id:s,open:gl(d),trigger:Ht(a,"trigger"),onOpen:v,onClose:m,onToggle:S=>{i(d)?m(S):v(S)},onShow:()=>{o("show",f.value)},onHide:()=>{o("hide",f.value)},onBeforeShow:()=>{o("before-show",f.value)},onBeforeHide:()=>{o("before-hide",f.value)},updatePopper:c}),pe(()=>a.disabled,S=>{S&&d.value&&(d.value=!1),!S&&Wt(a.visible)&&(d.value=a.visible)});const y=S=>u.value?.isFocusInsideContent(S);return Mv(()=>d.value&&g()),Vt(()=>{f.value=void 0}),t({popperRef:l,contentRef:u,isFocusInsideContent:y,updatePopper:c,onOpen:v,onClose:m,hide:g}),(S,k)=>(E(),le(i(FC),{ref_key:"popperRef",ref:l,role:e.role},{default:ne(()=>[X(wD,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:ne(()=>[S.$slots.default?oe(S.$slots,"default",{key:0}):re("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),X(CD,{ref_key:"contentRef",ref:u,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":w.value,"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo,loop:e.loop},{default:ne(()=>[oe(S.$slots,"content",{},()=>[e.rawContent?(E(),D("span",{key:0,innerHTML:e.content},null,8,kD)):(E(),D("span",ED,Ce(e.content),1))]),e.showArrow?(E(),le(i(qA),{key:0})):re("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to","loop"])]),_:3},8,["role"]))}}),TD=xD;const Wn=st(TD),pn=e=>e,Mm=Ee({id:{type:String,default:void 0},size:Nn,disabled:{type:Boolean,default:void 0},modelValue:{type:G([String,Number,Object]),default:""},modelModifiers:{type:G(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:G(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:G([Boolean,Object]),default:!1},autocomplete:{type:G(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Ut,default:Yo},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Ut},prefixIcon:{type:Ut},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:G([Object,Array,String,Boolean]),default:()=>pn({})},countGraphemes:{type:G(Function)},autofocus:Boolean,rows:{type:Number,default:2},...ia(["ariaLabel"]),inputmode:{type:G(String),default:void 0},name:String}),OD={[at]:e=>Ae(e),input:e=>Ae(e),change:(e,t)=>Ae(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:e=>e===void 0||e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};Ya(Yo);let Ha;const _D={height:"0",visibility:"hidden",overflow:af()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},RD=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],Jy=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function ID(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),a=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),o=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:RD.map(r=>[r,t.getPropertyValue(r)]),paddingSize:a,borderSize:o,boxSizing:n}}function Zy(e,t=1,n){if(!Ha){Ha=document.createElement("textarea");let d=document.body;!af()&&e.parentNode&&(d=e.parentNode),d.appendChild(Ha)}const{paddingSize:a,borderSize:o,boxSizing:r,contextStyle:s}=ID(e);s.forEach(([d,f])=>Ha?.style.setProperty(d,f)),Object.entries(_D).forEach(([d,f])=>Ha?.style.setProperty(d,f,"important")),Ha.value=e.value||e.placeholder||"";let l=Ha.scrollHeight;const u={};r==="border-box"?l=l+o:r==="content-box"&&(l=l-a),Ha.value="";const c=Ha.scrollHeight-a;if(Be(t)){let d=c*t;r==="border-box"&&(d=d+a+o),l=Math.max(d,l),u.minHeight=`${d}px`}if(Be(n)){let d=c*n;r==="border-box"&&(d=d+a+o),l=Math.min(d,l)}return u.height=`${l}px`,Ha.parentNode?.removeChild(Ha),Ha=void 0,u}const $D=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],ND=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","inputmode"],Qy="ElInput";var MD=se({name:Qy,inheritAttrs:!1,__name:"input",props:Mm,emits:OD,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wr(),s=wn(),l=C(()=>[a.type==="textarea"?b.b():m.b(),m.m(h.value),m.is("disabled",v.value),m.is("exceed",de.value),{[m.b("group")]:s.prepend||s.append,[m.m("prefix")]:s.prefix||a.prefixIcon,[m.m("suffix")]:s.suffix||a.suffixIcon||a.clearable||a.showPassword,[m.bm("suffix","password-clear")]:ee.value&&ae.value,[m.b("hidden")]:a.type==="hidden"},r.class]),u=C(()=>[m.e("wrapper"),m.is("focus",B.value)]),c=ef(),d=C(()=>a.maxlength?.toString()),{form:f,formItem:p}=Fn(),{inputId:g}=_a(a,{formItemContext:p}),h=In(),v=un(),m=ge("input"),b=ge("textarea"),w=Tt(),y=Tt(),S=M(!1),k=M(!1),x=M(),O=M(),T=Tt(a.inputStyle),I=M(""),_=M(),N=C(()=>w.value||y.value),{wrapperRef:$,isFocused:B,handleFocus:K,handleBlur:j}=Er(N,{disabled:v,afterBlur(){a.validateEvent&&p?.validate?.("blur").catch(ut)}}),W=C(()=>f?.statusIcon??!1),A=C(()=>p?.validateState||""),P=C(()=>A.value&&hf[A.value]),V=C(()=>k.value?$A:PP),F=C(()=>[r.style]),H=C(()=>[a.inputStyle,T.value,{resize:a.resize},_.value?{height:_.value}:void 0]),U=C(()=>En(a.modelValue)?"":String(a.modelValue)),J=C(()=>a.clearable&&!v.value&&!a.readonly),ee=C(()=>J.value&&!!U.value&&(B.value||S.value)),ae=C(()=>a.showPassword&&!v.value&&!!U.value),ce=C(()=>a.showWordLimit&&!!d.value&&(a.type==="text"||a.type==="textarea")&&!v.value&&!a.readonly&&!a.showPassword),Z=C(()=>a.countGraphemes&&a.showWordLimit?a.countGraphemes(U.value):U.value.length),de=C(()=>!!ce.value&&Z.value>Number(d.value)),ue=C(()=>!!s.suffix||!!a.suffixIcon||a.clearable||a.showPassword||ce.value||!!A.value&&W.value),Y=C(()=>!!Object.keys(a.modelModifiers).length),[Q,L]=DM(w);let q;an(y,nt=>{if(he(),!ce.value&&!J.value||a.resize!=="both"&&a.resize!=="horizontal")return;const{width:ft}=nt[0].target.getBoundingClientRect(),me=()=>{q=void 0,x.value={right:`calc(100% - ${ft-10}px)`},O.value={right:`calc(100% - ${ft-11}px)`}};q&&co(q),q=Oa(me)});const te=()=>{const{type:nt,autosize:ft}=a;if(!(!Lt||nt!=="textarea"||!y.value))if(ft){const me=ot(ft)?ft.minRows:void 0,je=ot(ft)?ft.maxRows:void 0,ie=Zy(y.value,me,je);T.value={overflowY:"hidden",...ie},Ne(()=>{y.value.offsetHeight,T.value=ie})}else T.value={minHeight:Zy(y.value).minHeight}},he=(nt=>{let ft=!1;return()=>{if(ft||!a.autosize){a.resize!=="none"&&setTimeout(()=>{_.value=y.value?.style.height});return}y.value?.offsetParent!==null&&(setTimeout(nt),ft=!0)}})(te),ve=()=>{const nt=N.value,ft=a.formatter?a.formatter(U.value):U.value;!nt||nt.value===ft||a.type==="file"||(nt.value=ft)},Ie=nt=>{const{trim:ft,number:me}=a.modelModifiers;return ft&&(nt=nt.trim()),me&&(nt=`${Jy(nt)}`),a.formatter&&a.parser&&(nt=a.parser(nt)),nt},Le=async nt=>{if(ye.value)return;const{lazy:ft}=a.modelModifiers;let{value:me}=nt.target,je=!1;if(ft){o(Tn,me);return}if(me=Ie(me),a.countGraphemes&&d.value!=null){const ie=Number(d.value),xe=a.countGraphemes(me),Ue=a.countGraphemes(I.value);if(xe>ie&&xe>Ue)if(Ue>ie)me=I.value,je=!0;else{const et=I.value,bt=me;let vt=0;for(;vt<et.length&&vt<bt.length&&et[vt]===bt[vt];)vt++;let Et=et.length,Yt=bt.length;for(;Et>vt&&Yt>vt&&et[Et-1]===bt[Yt-1];)Et--,Yt--;const on=bt.slice(0,vt),At=et.slice(vt,Et),en=bt.slice(vt,Yt),Ye=bt.slice(Yt),Ge=Ue-a.countGraphemes(At),tt=Math.max(0,ie-Ge);let Oe="";if(tt>0)if(typeof Intl<"u"&&"Segmenter"in Intl){const Ke=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(const{segment:We}of Ke.segment(en)){const Xt=Oe+We;if(a.countGraphemes(Xt)>tt)break;Oe=Xt}}else for(const Ke of Array.from(en)){const We=Oe+Ke;if(a.countGraphemes(We)>tt)break;Oe=We}me=on+Oe+Ye,je=!0}}if(String(me)===U.value){if(a.formatter||je){const ie=nt.target,xe=ie.value,Ue=ie.selectionStart,et=ie.selectionEnd;if(ve(),je&&N.value&&Ue!=null&&et!=null){const bt=N.value.value,vt=xe.slice(Math.max(0,et));let Et=Math.min(Ue,bt.length);vt&&bt.endsWith(vt)&&(Et=bt.length-vt.length),N.value.setSelectionRange(Et,Et)}}return}I.value=me,Q(),o(at,me),o(Tn,me),await Ne(),(a.formatter&&a.parser||!Y.value)&&ve(),L()},_e=async nt=>{let{value:ft}=nt.target;ft=Ie(ft),a.modelModifiers.lazy&&o(at,ft),o(yt,ft,nt),await Ne(),ve()},{isComposing:ye,handleCompositionStart:Te,handleCompositionUpdate:be,handleCompositionEnd:Pe}=Pu({emit:o,afterComposition:Le}),He=()=>{k.value=!k.value},Je=()=>N.value?.focus(),Qe=()=>N.value?.blur(),lt=nt=>{S.value=!1,o("mouseleave",nt)},Ze=nt=>{S.value=!0,o("mouseenter",nt)},gt=nt=>{o("keydown",nt)},Pt=()=>{N.value?.select()},zt=nt=>{o(at,""),o(yt,""),o("clear",nt),o(Tn,"")};return pe(()=>a.modelValue,()=>{Ne(()=>{te(),a.autosize&&(_.value=void 0)}),a.validateEvent&&p?.validate?.("change").catch(ut)}),pe(()=>U.value,nt=>{I.value=nt},{immediate:!0}),pe(U,nt=>{if(!N.value)return;const{trim:ft,number:me}=a.modelModifiers,je=N.value.value,ie=(me||a.type==="number")&&!/^0\d/.test(je)?`${Jy(je)}`:je;ie!==nt&&(document.activeElement===N.value&&N.value.type!=="range"&&ft&&ie.trim()===nt||ve())}),pe(()=>a.type,async()=>{await Ne(),ve(),te()}),ht(()=>{!a.formatter&&a.parser&&jt(Qy,"If you set the parser, you also need to set the formatter."),ve(),Ne(te)}),Vt(()=>{q&&co(q)}),t({input:w,textarea:y,ref:N,textareaStyle:H,autosize:Ht(a,"autosize"),isComposing:ye,passwordVisible:k,focus:Je,blur:Qe,select:Pt,clear:zt,resizeTextarea:te}),(nt,ft)=>(E(),D("div",{class:R([l.value,{[i(m).bm("group","append")]:nt.$slots.append,[i(m).bm("group","prepend")]:nt.$slots.prepend}]),style:ze(F.value),onMouseenter:Ze,onMouseleave:lt},[re(" input "),e.type!=="textarea"?(E(),D(Ve,{key:0},[re(" prepend slot "),nt.$slots.prepend?(E(),D("div",{key:0,class:R(i(m).be("group","prepend"))},[oe(nt.$slots,"prepend")],2)):re("v-if",!0),z("div",{ref_key:"wrapperRef",ref:$,class:R(u.value)},[re(" prefix slot "),nt.$slots.prefix||e.prefixIcon?(E(),D("span",{key:0,class:R(i(m).e("prefix"))},[z("span",{class:R(i(m).e("prefix-inner"))},[oe(nt.$slots,"prefix"),e.prefixIcon?(E(),le(i(De),{key:0,class:R(i(m).e("icon"))},{default:ne(()=>[(E(),le(it(e.prefixIcon)))]),_:1},8,["class"])):re("v-if",!0)],2)],2)):re("v-if",!0),z("input",pt({id:i(g),ref_key:"input",ref:w,class:i(m).e("inner")},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,type:e.showPassword?k.value?"text":"password":e.type,disabled:i(v),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:ft[0]||(ft[0]=(...me)=>i(Te)&&i(Te)(...me)),onCompositionupdate:ft[1]||(ft[1]=(...me)=>i(be)&&i(be)(...me)),onCompositionend:ft[2]||(ft[2]=(...me)=>i(Pe)&&i(Pe)(...me)),onInput:Le,onChange:_e,onKeydown:gt}),null,16,$D),re(" suffix slot "),ue.value?(E(),D("span",{key:1,class:R(i(m).e("suffix"))},[z("span",{class:R(i(m).e("suffix-inner"))},[J.value?(E(),le(i(De),{key:0,class:R([i(m).e("icon"),i(m).e("clear")]),style:ze({visibility:ee.value?"visible":"hidden"}),onMousedown:Xe(i(ut),["prevent"]),onClick:zt},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):re("v-if",!0),!ee.value||!ae.value||!ce.value?(E(),D(Ve,{key:1},[oe(nt.$slots,"suffix"),e.suffixIcon?(E(),le(i(De),{key:0,class:R(i(m).e("icon"))},{default:ne(()=>[(E(),le(it(e.suffixIcon)))]),_:1},8,["class"])):re("v-if",!0)],64)):re("v-if",!0),ae.value?(E(),le(i(De),{key:2,class:R([i(m).e("icon"),i(m).e("password")]),onClick:He,onMousedown:Xe(i(ut),["prevent"]),onMouseup:Xe(i(ut),["prevent"])},{default:ne(()=>[oe(nt.$slots,"password-icon",{visible:k.value},()=>[(E(),le(it(V.value)))])]),_:3},8,["class","onMousedown","onMouseup"])):re("v-if",!0),ce.value?(E(),D("span",{key:3,class:R([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},[z("span",{class:R(i(m).e("count-inner"))},Ce(Z.value)+" / "+Ce(d.value),3)],2)):re("v-if",!0),A.value&&P.value&&W.value?(E(),le(i(De),{key:4,class:R([i(m).e("icon"),i(m).e("validateIcon"),i(m).is("loading",A.value==="validating")])},{default:ne(()=>[(E(),le(it(P.value)))]),_:1},8,["class"])):re("v-if",!0)],2)],2)):re("v-if",!0)],2),re(" append slot "),nt.$slots.append?(E(),D("div",{key:1,class:R(i(m).be("group","append"))},[oe(nt.$slots,"append")],2)):re("v-if",!0)],64)):(E(),D(Ve,{key:1},[re(" textarea "),z("textarea",pt({id:i(g),ref_key:"textarea",ref:y,class:[i(b).e("inner"),i(m).is("focus",i(B)),i(b).is("clearable",e.clearable)]},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,tabindex:e.tabindex,disabled:i(v),readonly:e.readonly,autocomplete:e.autocomplete,style:H.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:ft[3]||(ft[3]=(...me)=>i(Te)&&i(Te)(...me)),onCompositionupdate:ft[4]||(ft[4]=(...me)=>i(be)&&i(be)(...me)),onCompositionend:ft[5]||(ft[5]=(...me)=>i(Pe)&&i(Pe)(...me)),onInput:Le,onFocus:ft[6]||(ft[6]=(...me)=>i(K)&&i(K)(...me)),onBlur:ft[7]||(ft[7]=(...me)=>i(j)&&i(j)(...me)),onChange:_e,onKeydown:gt}),null,16,ND),ee.value?(E(),le(i(De),{key:0,class:R([i(b).e("icon"),i(b).e("clear")]),style:ze(O.value),onMousedown:Xe(i(ut),["prevent"]),onClick:zt},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):re("v-if",!0),ce.value?(E(),D("span",{key:1,style:ze(x.value),class:R([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},Ce(Z.value)+" / "+Ce(d.value),7)):re("v-if",!0)],64))],38))}}),PD=MD;const Un=st(PD),AD=Ee({...Mm,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:G(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:G([Function,Array]),default:ut},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,popperOptions:Kt.popperOptions,showArrow:{type:Boolean,default:!0},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:Kt.teleported,appendTo:Kt.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),LD={[at]:e=>Ae(e)||Be(e),[Tn]:e=>Ae(e)||Be(e),[yt]:e=>Ae(e)||Be(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>ot(e)},DD=Ee({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:G([String,Object,Array,Boolean]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:G([String,Object,Array,Boolean]),default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...ia(["ariaLabel","ariaOrientation"])}),au={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(Be)},zC={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},BD=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),VD=Ee({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),Pm=Symbol("scrollbarContextKey");function Vo(e,t,n=.03){return e-t>n}const FD=Ee({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),zD="Thumb";var HD=se({__name:"thumb",props:VD,setup(e){const t=e,n=$e(Pm),a=ge("scrollbar");n||sn(zD,"can not inject scrollbar context");const o=M(),r=M(),s=M({}),l=M(!1);let u=!1,c=!1,d=0,f=0,p=Lt?document.onselectstart:null;const g=C(()=>zC[t.vertical?"vertical":"horizontal"]),h=C(()=>BD({size:t.size,move:t.move,bar:g.value})),v=C(()=>o.value[g.value.offset]**2/n.wrapElement[g.value.scrollSize]/t.ratio/r.value[g.value.offset]),m=T=>{if(T.stopPropagation(),T.ctrlKey||[1,2].includes(T.button))return;window.getSelection()?.removeAllRanges(),w(T);const I=T.currentTarget;I&&(s.value[g.value.axis]=I[g.value.offset]-(T[g.value.client]-I.getBoundingClientRect()[g.value.direction]))},b=T=>{if(!r.value||!o.value||!n.wrapElement)return;const I=(Math.abs(T.target.getBoundingClientRect()[g.value.direction]-T[g.value.client])-r.value[g.value.offset]/2)*100*v.value/o.value[g.value.offset];n.wrapElement[g.value.scroll]=I*n.wrapElement[g.value.scrollSize]/100},w=T=>{T.stopImmediatePropagation(),u=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener("mousemove",y),document.addEventListener("mouseup",S),p=document.onselectstart,document.onselectstart=()=>!1},y=T=>{if(!o.value||!r.value||u===!1)return;const I=s.value[g.value.axis];if(!I)return;const _=((o.value.getBoundingClientRect()[g.value.direction]-T[g.value.client])*-1-(r.value[g.value.offset]-I))*100*v.value/o.value[g.value.offset];g.value.scroll==="scrollLeft"?n.wrapElement[g.value.scroll]=_*f/100:n.wrapElement[g.value.scroll]=_*d/100},S=()=>{u=!1,s.value[g.value.axis]=0,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",S),O(),c&&(l.value=!1)},k=()=>{c=!1,l.value=!!t.size},x=()=>{c=!0,l.value=u};Vt(()=>{O(),document.removeEventListener("mouseup",S)});const O=()=>{document.onselectstart!==p&&(document.onselectstart=p)};return Bt(Ht(n,"scrollbarElement"),"mousemove",k),Bt(Ht(n,"scrollbarElement"),"mouseleave",x),(T,I)=>(E(),le(Yn,{name:i(a).b("fade"),persisted:""},{default:ne(()=>[ct(z("div",{ref_key:"instance",ref:o,class:R([i(a).e("bar"),i(a).is(g.value.key)]),onMousedown:b,onClick:I[0]||(I[0]=Xe(()=>{},["stop"]))},[z("div",{ref_key:"thumb",ref:r,class:R(i(a).e("thumb")),style:ze(h.value),onMousedown:m},null,38)],34),[[$t,e.always||l.value]])]),_:1},8,["name"]))}}),e0=HD,KD=se({__name:"bar",props:FD,setup(e,{expose:t}){const n=e,a=$e(Pm),o=M(0),r=M(0),s=M(""),l=M(""),u=M(1),c=M(1);return t({handleScroll:p=>{if(p){const g=p.offsetHeight-4,h=p.offsetWidth-4;r.value=p.scrollTop*100/g*u.value,o.value=p.scrollLeft*100/h*c.value}},update:()=>{const p=a?.wrapElement;if(!p)return;const g=p.offsetHeight-4,h=p.offsetWidth-4,v=g**2/p.scrollHeight,m=h**2/p.scrollWidth,b=Math.max(v,n.minSize),w=Math.max(m,n.minSize);u.value=v/(g-v)/(b/(g-b)),c.value=m/(h-m)/(w/(h-w)),l.value=b+4<g?`${b}px`:"",s.value=w+4<h?`${w}px`:""}}),(p,g)=>(E(),D(Ve,null,[X(e0,{move:o.value,ratio:c.value,size:s.value,always:e.always},null,8,["move","ratio","size","always"]),X(e0,{move:r.value,ratio:u.value,size:l.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),WD=KD;const jD=["tabindex"],up="ElScrollbar";var UD=se({name:up,__name:"scrollbar",props:DD,emits:au,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("scrollbar");let s,l,u,c=0,d=0,f="";const p={bottom:!1,top:!1,right:!1,left:!1},g=M(),h=M(),v=M(),m=M(),b=C(()=>{const $={},B=hn(a.height),K=hn(a.maxHeight);return B&&($.height=B),K&&($.maxHeight=K),[a.wrapStyle,$]}),w=C(()=>[a.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!a.native}]),y=C(()=>[r.e("view"),a.viewClass]),S=$=>p[$]??!1,k={top:"bottom",bottom:"top",left:"right",right:"left"},x=$=>{const B=k[f];if(!B)return;const K=$[f],j=$[B];K&&!p[f]&&(p[f]=!0),!j&&p[B]&&(p[B]=!1)},O=()=>{if(h.value){m.value?.handleScroll(h.value);const $=c,B=d;c=h.value.scrollTop,d=h.value.scrollLeft;const K={bottom:!Vo(h.value.scrollHeight-a.distance,h.value.clientHeight+c),top:c<=a.distance&&$!==0,right:!Vo(h.value.scrollWidth-a.distance,h.value.clientWidth+d)&&B!==d,left:d<=a.distance&&B!==0};if(o("scroll",{scrollTop:c,scrollLeft:d}),$!==c&&(f=c>$?"bottom":"top"),B!==d&&(f=d>B?"right":"left"),a.distance>0){if(S(f))return;x(K)}K[f]&&o("end-reached",f)}};function T($,B){ot($)?h.value.scrollTo($):Be($)&&Be(B)&&h.value.scrollTo($,B)}const I=$=>{if(!Be($)){jt(up,"value must be a number");return}h.value.scrollTop=$},_=$=>{if(!Be($)){jt(up,"value must be a number");return}h.value.scrollLeft=$},N=()=>{m.value?.update(),p[f]=!1,h.value&&m.value?.handleScroll(h.value)};return pe(()=>a.noresize,$=>{$?(s?.(),l?.(),u?.()):({stop:s}=an(v,N),{stop:l}=an(h,N),u=Bt("resize",N))},{immediate:!0}),pe(()=>[a.maxHeight,a.height],()=>{a.native||Ne(()=>{N()})}),St(Pm,Dt({scrollbarElement:g,wrapElement:h})),gu(()=>{h.value&&(h.value.scrollTop=c,h.value.scrollLeft=d)}),ht(()=>{a.native||Ne(()=>{N()})}),bo(()=>N()),t({wrapRef:h,update:N,scrollTo:T,setScrollTop:I,setScrollLeft:_,handleScroll:O}),($,B)=>(E(),D("div",{ref_key:"scrollbarRef",ref:g,class:R(i(r).b())},[z("div",{ref_key:"wrapRef",ref:h,class:R(w.value),style:ze(b.value),tabindex:e.tabindex,onScroll:O},[(E(),le(it(e.tag),{id:e.id,ref_key:"resizeRef",ref:v,class:R(y.value),style:ze(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:ne(()=>[oe($.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,jD),e.native?re("v-if",!0):(E(),le(WD,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}}),qD=UD;const vo=st(qD),YD=["aria-expanded","aria-owns"],GD={key:0},XD=["id","aria-selected","onClick"],t0="ElAutocomplete";var JD=se({name:t0,inheritAttrs:!1,__name:"autocomplete",props:AD,emits:LD,setup(e,{expose:t,emit:n}){const a=e,o=n,r=C(()=>{const Y=Un.props??[];return hr(a,we(Y)?Y:Object.keys(Y))}),s=wr(),l=un(),u=ge("autocomplete"),c=M(),d=M(),f=M(),p=M();let g=!1,h=!1;const v=M([]),m=M(-1),b=M(""),w=M(!1),y=M(!1),S=M(!1),k=Gn(),x=C(()=>s.style),O=C(()=>(v.value.length>0||S.value)&&w.value),T=C(()=>!a.hideLoading&&S.value),I=C(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),_=()=>{O.value&&(b.value=`${c.value.$el.offsetWidth}px`)},N=()=>{m.value=-1},$=async Y=>{if(y.value)return;const Q=L=>{S.value=!1,!y.value&&(we(L)?(v.value=L,m.value=a.highlightFirstItem?0:-1):sn(t0,"autocomplete suggestions must be an array"))};if(S.value=!0,we(a.fetchSuggestions))Q(a.fetchSuggestions);else{const L=await a.fetchSuggestions(Y,Q);we(L)&&Q(L)}},B=xu($,C(()=>a.debounce)),K=Y=>{const Q=!!Y;if(o(Tn,Y),o(at,Y),y.value=!1,w.value||(w.value=Q),!a.triggerOnFocus&&!Y){y.value=!0,v.value=[];return}B(Y)},j=Y=>{l.value||(Y.target?.tagName!=="INPUT"||I.value.includes(document.activeElement))&&(w.value=!0)},W=Y=>{o(yt,Y)},A=Y=>{if(h)h=!1;else{w.value=!0,o("focus",Y);const Q=a.modelValue??"";a.triggerOnFocus&&!g&&B(String(Q))}},P=Y=>{setTimeout(()=>{if(f.value?.isFocusInsideContent()){h=!0;return}w.value&&U(),o("blur",Y)})},V=()=>{w.value=!1,o(at,""),o("clear")},F=async()=>{c.value?.isComposing||(O.value&&m.value>=0&&m.value<v.value.length?ae(v.value[m.value]):(a.selectWhenUnmatched&&(o("select",{value:a.modelValue}),v.value=[],m.value=-1),w.value=!0,B(String(a.modelValue))))},H=Y=>{O.value&&(Y.preventDefault(),Y.stopPropagation(),U())},U=()=>{w.value=!1},J=()=>{c.value?.focus()},ee=()=>{c.value?.blur()},ae=async Y=>{o(Tn,Y[a.valueKey]),o(at,Y[a.valueKey]),o("select",Y),v.value=[],m.value=-1},ce=Y=>{if(!O.value||S.value)return;if(Y<0){if(!a.loopNavigation){m.value=-1;return}Y=v.value.length-1}Y>=v.value.length&&(Y=a.loopNavigation?0:v.value.length-1);const[Q,L]=Z(),q=L[Y],te=Q.scrollTop,{offsetTop:fe,scrollHeight:he}=q;fe+he>te+Q.clientHeight&&(Q.scrollTop=fe+he-Q.clientHeight),fe<te&&(Q.scrollTop=fe),m.value=Y,c.value?.ref?.setAttribute("aria-activedescendant",`${k.value}-item-${m.value}`)},Z=()=>{const Y=d.value.querySelector(`.${u.be("suggestion","wrap")}`);return[Y,Y.querySelectorAll(`.${u.be("suggestion","list")} li`)]},de=om(p,Y=>{if(f.value?.isFocusInsideContent())return;const Q=h;h=!1,O.value&&(Q?P(new FocusEvent("blur",Y)):U())}),ue=Y=>{switch(qt(Y)){case Se.up:Y.preventDefault(),ce(m.value-1);break;case Se.down:Y.preventDefault(),ce(m.value+1);break;case Se.enter:case Se.numpadEnter:Y.preventDefault(),F();break;case Se.tab:U();break;case Se.esc:H(Y);break;case Se.home:Y.preventDefault(),ce(0);break;case Se.end:Y.preventDefault(),ce(v.value.length-1);break;case Se.pageUp:Y.preventDefault(),ce(Math.max(0,m.value-10));break;case Se.pageDown:Y.preventDefault(),ce(Math.min(v.value.length-1,m.value+10));break}};return Vt(()=>{de?.()}),ht(()=>{const Y=c.value?.ref;Y&&([{key:"role",value:"textbox"},{key:"aria-autocomplete",value:"list"},{key:"aria-controls",value:k.value},{key:"aria-activedescendant",value:`${k.value}-item-${m.value}`}].forEach(({key:Q,value:L})=>Y.setAttribute(Q,L)),g=Y.hasAttribute("readonly"))}),t({highlightedIndex:m,activated:w,loading:S,inputRef:c,popperRef:f,suggestions:v,handleSelect:ae,handleKeyEnter:F,focus:J,blur:ee,close:U,highlight:ce,getData:$}),(Y,Q)=>(E(),le(i(Wn),{ref_key:"popperRef",ref:f,visible:O.value,placement:e.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[i(u).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"show-arrow":e.showArrow,teleported:e.teleported,"append-to":e.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${i(u).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:_,onHide:N},{content:ne(()=>[z("div",{ref_key:"regionRef",ref:d,class:R([i(u).b("suggestion"),i(u).is("loading",T.value)]),style:ze({[e.fitInputWidth?"width":"minWidth"]:b.value,outline:"none"}),role:"region"},[Y.$slots.header?(E(),D("div",{key:0,class:R(i(u).be("suggestion","header")),onClick:Q[0]||(Q[0]=Xe(()=>{},["stop"]))},[oe(Y.$slots,"header")],2)):re("v-if",!0),X(i(vo),{id:i(k),tag:"ul","wrap-class":i(u).be("suggestion","wrap"),"view-class":i(u).be("suggestion","list"),role:"listbox"},{default:ne(()=>[T.value?(E(),D("li",GD,[oe(Y.$slots,"loading",{},()=>[X(i(De),{class:R(i(u).is("loading"))},{default:ne(()=>[X(i(ho))]),_:1},8,["class"])])])):(E(!0),D(Ve,{key:1},kt(v.value,(L,q)=>(E(),D("li",{id:`${i(k)}-item-${q}`,key:q,class:R({highlighted:m.value===q}),role:"option","aria-selected":m.value===q,onClick:te=>ae(L)},[oe(Y.$slots,"default",{item:L},()=>[wt(Ce(L[e.valueKey]),1)])],10,XD))),128))]),_:3},8,["id","wrap-class","view-class"]),Y.$slots.footer?(E(),D("div",{key:1,class:R(i(u).be("suggestion","footer")),onClick:Q[1]||(Q[1]=Xe(()=>{},["stop"]))},[oe(Y.$slots,"footer")],2)):re("v-if",!0)],6)]),default:ne(()=>[z("div",{ref_key:"listboxRef",ref:p,class:R([i(u).b(),Y.$attrs.class]),style:ze(x.value),role:"combobox","aria-haspopup":"listbox","aria-expanded":O.value,"aria-owns":i(k)},[X(i(Un),pt({ref_key:"inputRef",ref:c},pt(r.value,Y.$attrs),{"model-value":e.modelValue,disabled:i(l),onInput:K,onChange:W,onFocus:A,onBlur:P,onClear:V,onKeydown:ue,onMousedown:j}),ma({_:2},[Y.$slots.prepend?{name:"prepend",fn:ne(()=>[oe(Y.$slots,"prepend")]),key:"0"}:void 0,Y.$slots.append?{name:"append",fn:ne(()=>[oe(Y.$slots,"append")]),key:"1"}:void 0,Y.$slots.prefix?{name:"prefix",fn:ne(()=>[oe(Y.$slots,"prefix")]),key:"2"}:void 0,Y.$slots.suffix?{name:"suffix",fn:ne(()=>[oe(Y.$slots,"suffix")]),key:"3"}:void 0]),1040,["model-value","disabled"])],14,YD)]),_:3},8,["visible","placement","popper-class","popper-style","popper-options","show-arrow","teleported","append-to","transition"]))}}),ZD=JD;const QD=st(ZD),eB=Ee({size:{type:[Number,String],values:yo,validator:e=>Be(e)},shape:{type:String,values:["circle","square"]},icon:{type:Ut},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:G(String),default:"cover"}}),tB={error:e=>e instanceof Event},HC=Symbol("avatarGroupContextKey"),nB={size:{type:G([Number,String]),values:yo,validator:e=>Be(e)},shape:{type:G(String),values:["circle","square"]},collapseAvatars:Boolean,collapseAvatarsTooltip:Boolean,maxCollapseAvatars:{type:Number,default:1},effect:{type:G(String),default:"light"},placement:{type:G(String),values:jo,default:"top"},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,collapseClass:String,collapseStyle:{type:G([String,Array,Object,Boolean]),default:void 0}},aB=["src","alt","srcset"];var oB=se({name:"ElAvatar",__name:"avatar",props:eB,emits:tB,setup(e,{emit:t}){const n=e,a=t,o=$e(HC,void 0),r=ge("avatar"),s=M(!1),l=C(()=>n.size??o?.size),u=C(()=>n.shape??o?.shape??"circle"),c=C(()=>{const{icon:g}=n,h=[r.b()];return Ae(l.value)&&h.push(r.m(l.value)),g&&h.push(r.m("icon")),u.value&&h.push(r.m(u.value)),h}),d=C(()=>Be(l.value)?r.cssVarBlock({size:hn(l.value)}):void 0),f=C(()=>({objectFit:n.fit}));pe(()=>[n.src,n.srcSet],()=>s.value=!1);function p(g){s.value=!0,a("error",g)}return(g,h)=>(E(),D("span",{class:R(c.value),style:ze(d.value)},[(e.src||e.srcSet)&&!s.value?(E(),D("img",{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:ze(f.value),onError:p},null,44,aB)):e.icon?(E(),le(i(De),{key:1},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1})):oe(g.$slots,"default",{key:2})],6))}}),KC=oB,WC=se({name:"ElAvatarGroup",props:nB,setup(e,{slots:t}){const n=ge("avatar-group");return St(HC,Dt({size:Ht(e,"size"),shape:Ht(e,"shape")})),()=>{const a=Aa(t.default?.()??[]);let o=a;if(e.collapseAvatars&&a.length>e.maxCollapseAvatars){o=a.slice(0,e.maxCollapseAvatars);const r=a.slice(e.maxCollapseAvatars);o.push(X(Wn,{popperClass:e.popperClass,popperStyle:e.popperStyle,placement:e.placement,effect:e.effect,disabled:!e.collapseAvatarsTooltip},{default:()=>X(KC,{size:e.size,shape:e.shape,class:e.collapseClass,style:e.collapseStyle},{default:()=>[wt("+ "),r.length]}),content:()=>X("div",{class:n.e("collapse-avatars")},[r.map((s,l)=>Zt(s)?Fo(s,{key:s.key??l}):s)])}))}return X("div",{class:n.b()},[o])}}});const rB=st(KC,{AvatarGroup:WC}),sB=ln(WC),lB={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},iB={click:e=>e instanceof MouseEvent},uB=(e,t,n)=>{const a=Tt(),o=Tt(),r=M(!1),s=()=>{a.value&&(r.value=a.value.scrollTop>=e.visibilityHeight)},l=u=>{a.value?.scrollTo({top:0,behavior:"smooth"}),t("click",u)};return Bt(o,"scroll",IS(s,300,!0)),ht(()=>{o.value=document,a.value=document.documentElement,e.target&&(a.value=document.querySelector(e.target)??void 0,a.value||sn(n,`target does not exist: ${e.target}`),o.value=a.value),s()}),{visible:r,handleClick:l}},n0="ElBacktop";var cB=se({name:n0,__name:"backtop",props:lB,emits:iB,setup(e,{emit:t}){const n=e,a=t,o=ge("backtop"),{handleClick:r,visible:s}=uB(n,a,n0),l=C(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(u,c)=>(E(),le(Yn,{name:`${i(o).namespace.value}-fade-in`},{default:ne(()=>[i(s)?(E(),D("div",{key:0,style:ze(l.value),class:R(i(o).b()),onClick:c[0]||(c[0]=Xe((...d)=>i(r)&&i(r)(...d),["stop"]))},[oe(u.$slots,"default",{},()=>[X(i(De),{class:R(i(o).e("icon"))},{default:ne(()=>[X(i(uP))]),_:1},8,["class"])])],6)):re("v-if",!0)]),_:3},8,["name"]))}}),dB=cB;const fB=st(dB),pB=Ee({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:G([String,Object,Array,Boolean]),default:void 0},offset:{type:G(Array),default:()=>[0,0]},badgeClass:{type:String}});var hB=se({name:"ElBadge",__name:"badge",props:pB,setup(e,{expose:t}){const n=e,a=ge("badge"),o=C(()=>n.isDot?"":Be(n.value)&&Be(n.max)?n.max<n.value?`${n.max}+`:`${n.value}`:`${n.value}`),r=C(()=>[{backgroundColor:n.color,marginRight:hn(-n.offset[0]),marginTop:hn(n.offset[1])},n.badgeStyle??{}]);return t({content:o}),(s,l)=>(E(),D("div",{class:R(i(a).b())},[oe(s.$slots,"default"),X(Yn,{name:`${i(a).namespace.value}-zoom-in-center`},{default:ne(()=>[!e.hidden&&(o.value||e.isDot||s.$slots.content)?(E(),D("sup",{key:0,class:R([i(a).e("content"),i(a).em("content",e.type),i(a).is("fixed",!!s.$slots.default),i(a).is("dot",e.isDot),i(a).is("hide-zero",!e.showZero&&e.value===0),e.badgeClass]),style:ze(r.value)},[oe(s.$slots,"content",{value:o.value},()=>[wt(Ce(o.value),1)])],6)):re("v-if",!0)]),_:3},8,["name"])],2))}}),vB=hB;const jC=st(vB),mB=Ee({separator:{type:String,default:"/"},separatorIcon:{type:Ut}}),UC=Symbol("breadcrumbKey"),gB=Ee({to:{type:G([String,Object]),default:""},replace:Boolean}),bB=["aria-label"];var yB=se({name:"ElBreadcrumb",__name:"breadcrumb",props:mB,setup(e){const{t}=xt(),n=e,a=ge("breadcrumb"),o=M();return St(UC,n),ht(()=>{const r=o.value.querySelectorAll(`.${a.e("item")}`);r.length&&r[r.length-1].setAttribute("aria-current","page")}),(r,s)=>(E(),D("div",{ref_key:"breadcrumb",ref:o,class:R(i(a).b()),"aria-label":i(t)("el.breadcrumb.label"),role:"navigation"},[oe(r.$slots,"default")],10,bB))}}),wB=yB,SB=se({name:"ElBreadcrumbItem",__name:"breadcrumb-item",props:gB,setup(e){const t=e,n=dt(),a=$e(UC,void 0),o=ge("breadcrumb"),r=n.appContext.config.globalProperties.$router,s=()=>{!t.to||!r||(t.replace?r.replace(t.to):r.push(t.to))};return(l,u)=>(E(),D("span",{class:R(i(o).e("item"))},[z("span",{class:R([i(o).e("inner"),i(o).is("link",!!e.to)]),role:"link",onClick:s},[oe(l.$slots,"default")],2),i(a)?.separatorIcon?(E(),le(i(De),{key:0,class:R(i(o).e("separator"))},{default:ne(()=>[(E(),le(it(i(a).separatorIcon)))]),_:1},8,["class"])):(E(),D("span",{key:1,class:R(i(o).e("separator")),role:"presentation"},Ce(i(a)?.separator),3))],2))}}),qC=SB;const CB=st(wB,{BreadcrumbItem:qC}),kB=ln(qC),Ch=["default","primary","success","warning","info","danger","text",""],EB=["button","submit","reset"],kh=Ee({size:Nn,disabled:{type:Boolean,default:void 0},type:{type:String,values:Ch,default:""},icon:{type:Ut},nativeType:{type:String,values:EB,default:"button"},loading:Boolean,loadingIcon:{type:Ut,default:()=>ho},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,dashed:{type:Boolean,default:void 0},color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:G([String,Object]),default:"button"}}),xB={click:e=>e instanceof MouseEvent},YC=Symbol(),rd=M();function xr(e,t=void 0){const n=dt()?$e(YC,rd):rd;return e?C(()=>n.value?.[e]??t):n}function mf(e,t){const n=xr(),a=ge(e,C(()=>n.value?.namespace||"el")),o=xt(C(()=>n.value?.locale)),r=Iu(C(()=>n.value?.zIndex||2e3)),s=C(()=>i(t)||n.value?.size||"");return Am(C(()=>i(n)||{})),{ns:a,locale:o,zIndex:r,size:s}}const Am=(e,t,n=!1)=>{const a=!!dt(),o=a?xr():void 0,r=t?.provide??(a?St:void 0);if(!r){jt("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const s=C(()=>{const l=i(e);return o?.value?TB(o.value,l):l});return r(YC,s),r(VS,C(()=>s.value.locale)),r(FS,C(()=>s.value.namespace)),r(oC,C(()=>s.value.zIndex)),r(gC,{size:C(()=>s.value.size||"")}),r(yC,C(()=>({emptyValues:s.value.emptyValues,valueOnClear:s.value.valueOnClear}))),(n||!rd.value)&&(rd.value=s.value),s},TB=(e,t)=>{const n=[...new Set([...Ji(e),...Ji(t)])],a={};for(const o of n)a[o]=t[o]!==void 0?t[o]:e[o];return a},OB=Ee({a11y:{type:Boolean,default:!0},locale:{type:G(Object)},size:Nn,button:{type:G(Object)},card:{type:G(Object)},dialog:{type:G(Object)},link:{type:G(Object)},experimentalFeatures:{type:G(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:G(Object)},zIndex:Number,namespace:{type:String,default:"el"},table:{type:G(Object)},...zs}),ea={placement:"top"},_B=se({name:"ElConfigProvider",props:OB,setup(e,{slots:t}){const n=Am(e);return pe(()=>e.message,a=>{Object.assign(ea,n?.value?.message??{},a??{})},{immediate:!0,deep:!0}),()=>oe(t,"default",{config:n?.value})}}),RB=st(_B),GC=Symbol("buttonGroupContextKey"),IB=(e,t)=>{Po({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},C(()=>e.type==="text"));const n=$e(GC,void 0),a=xr("button"),{form:o}=Fn(),r=In(C(()=>n?.size)),s=un(),l=M(),u=wn(),c=C(()=>e.type||n?.type||a.value?.type||""),d=C(()=>e.autoInsertSpace??a.value?.autoInsertSpace??!1),f=C(()=>e.plain??a.value?.plain??!1),p=C(()=>e.round??a.value?.round??!1),g=C(()=>e.text??a.value?.text??!1),h=C(()=>e.dashed??a.value?.dashed??!1),v=C(()=>e.tag==="button"?{ariaDisabled:s.value||e.loading,disabled:s.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=C(()=>{const w=u.default?.();if(d.value&&w?.length===1){const y=w[0];if(y?.type===Fl){const S=y.children;return/^\p{Unified_Ideograph}{2}$/u.test(S.trim())}}return!1});return{_disabled:s,_size:r,_type:c,_ref:l,_props:v,_plain:f,_round:p,_text:g,_dashed:h,shouldAddSpace:m,handleClick:w=>{if(s.value||e.loading){w.stopPropagation();return}e.nativeType==="reset"&&o?.resetFields(),t("click",w)}}};function Zn(e,t){$B(e)&&(e="100%");const n=NB(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function uc(e){return Math.min(1,Math.max(0,e))}function $B(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function NB(e){return typeof e=="string"&&e.indexOf("%")!==-1}function XC(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function cc(e){return Number(e)<=1?`${Number(e)*100}%`:e}function vs(e){return e.length===1?"0"+e:String(e)}function MB(e,t,n){return{r:Zn(e,255)*255,g:Zn(t,255)*255,b:Zn(n,255)*255}}function a0(e,t,n){e=Zn(e,255),t=Zn(t,255),n=Zn(n,255);const a=Math.max(e,t,n),o=Math.min(e,t,n);let r=0,s=0;const l=(a+o)/2;if(a===o)s=0,r=0;else{const u=a-o;switch(s=l>.5?u/(2-a-o):u/(a+o),a){case e:r=(t-n)/u+(t<n?6:0);break;case t:r=(n-e)/u+2;break;case n:r=(e-t)/u+4;break}r/=6}return{h:r,s,l}}function cp(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function PB(e,t,n){let a,o,r;if(e=Zn(e,360),t=Zn(t,100),n=Zn(n,100),t===0)o=n,r=n,a=n;else{const s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;a=cp(l,s,e+1/3),o=cp(l,s,e),r=cp(l,s,e-1/3)}return{r:a*255,g:o*255,b:r*255}}function o0(e,t,n){e=Zn(e,255),t=Zn(t,255),n=Zn(n,255);const a=Math.max(e,t,n),o=Math.min(e,t,n);let r=0;const s=a,l=a-o,u=a===0?0:l/a;if(a===o)r=0;else{switch(a){case e:r=(t-n)/l+(t<n?6:0);break;case t:r=(n-e)/l+2;break;case n:r=(e-t)/l+4;break}r/=6}return{h:r,s:u,v:s}}function AB(e,t,n){e=Zn(e,360)*6,t=Zn(t,100),n=Zn(n,100);const a=Math.floor(e),o=e-a,r=n*(1-t),s=n*(1-o*t),l=n*(1-(1-o)*t),u=a%6,c=[n,s,r,r,l,n][u],d=[l,n,n,s,r,r][u],f=[r,r,l,n,n,s][u];return{r:c*255,g:d*255,b:f*255}}function r0(e,t,n,a){const o=[vs(Math.round(e).toString(16)),vs(Math.round(t).toString(16)),vs(Math.round(n).toString(16))];return a&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function LB(e,t,n,a,o){const r=[vs(Math.round(e).toString(16)),vs(Math.round(t).toString(16)),vs(Math.round(n).toString(16)),vs(BB(a))];return o&&r[0].startsWith(r[0].charAt(1))&&r[1].startsWith(r[1].charAt(1))&&r[2].startsWith(r[2].charAt(1))&&r[3].startsWith(r[3].charAt(1))?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0)+r[3].charAt(0):r.join("")}function DB(e,t,n,a){const o=e/100,r=t/100,s=n/100,l=a/100,u=255*(1-o)*(1-l),c=255*(1-r)*(1-l),d=255*(1-s)*(1-l);return{r:u,g:c,b:d}}function s0(e,t,n){let a=1-e/255,o=1-t/255,r=1-n/255,s=Math.min(a,o,r);return s===1?(a=0,o=0,r=0):(a=(a-s)/(1-s)*100,o=(o-s)/(1-s)*100,r=(r-s)/(1-s)*100),s*=100,{c:Math.round(a),m:Math.round(o),y:Math.round(r),k:Math.round(s)}}function BB(e){return Math.round(parseFloat(e)*255).toString(16)}function l0(e){return $a(e)/255}function $a(e){return parseInt(e,16)}function VB(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}const Eh={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function FB(e){let t={r:0,g:0,b:0},n=1,a=null,o=null,r=null,s=!1,l=!1;return typeof e=="string"&&(e=KB(e)),typeof e=="object"&&(Ia(e.r)&&Ia(e.g)&&Ia(e.b)?(t=MB(e.r,e.g,e.b),s=!0,l=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Ia(e.h)&&Ia(e.s)&&Ia(e.v)?(a=cc(e.s),o=cc(e.v),t=AB(e.h,a,o),s=!0,l="hsv"):Ia(e.h)&&Ia(e.s)&&Ia(e.l)?(a=cc(e.s),r=cc(e.l),t=PB(e.h,a,r),s=!0,l="hsl"):Ia(e.c)&&Ia(e.m)&&Ia(e.y)&&Ia(e.k)&&(t=DB(e.c,e.m,e.y,e.k),s=!0,l="cmyk"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=XC(n),{ok:s,format:e.format||l,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}const zB="[-\\+]?\\d+%?",HB="[-\\+]?\\d*\\.\\d+%?",Hr="(?:"+HB+")|(?:"+zB+")",dp="[\\s|\\(]+("+Hr+")[,|\\s]+("+Hr+")[,|\\s]+("+Hr+")\\s*\\)?",dc="[\\s|\\(]+("+Hr+")[,|\\s]+("+Hr+")[,|\\s]+("+Hr+")[,|\\s]+("+Hr+")\\s*\\)?",Wa={CSS_UNIT:new RegExp(Hr),rgb:new RegExp("rgb"+dp),rgba:new RegExp("rgba"+dc),hsl:new RegExp("hsl"+dp),hsla:new RegExp("hsla"+dc),hsv:new RegExp("hsv"+dp),hsva:new RegExp("hsva"+dc),cmyk:new RegExp("cmyk"+dc),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function KB(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;let t=!1;if(Eh[e])e=Eh[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};let n=Wa.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Wa.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Wa.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Wa.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Wa.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Wa.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Wa.cmyk.exec(e),n?{c:n[1],m:n[2],y:n[3],k:n[4]}:(n=Wa.hex8.exec(e),n?{r:$a(n[1]),g:$a(n[2]),b:$a(n[3]),a:l0(n[4]),format:t?"name":"hex8"}:(n=Wa.hex6.exec(e),n?{r:$a(n[1]),g:$a(n[2]),b:$a(n[3]),format:t?"name":"hex"}:(n=Wa.hex4.exec(e),n?{r:$a(n[1]+n[1]),g:$a(n[2]+n[2]),b:$a(n[3]+n[3]),a:l0(n[4]+n[4]),format:t?"name":"hex8"}:(n=Wa.hex3.exec(e),n?{r:$a(n[1]+n[1]),g:$a(n[2]+n[2]),b:$a(n[3]+n[3]),format:t?"name":"hex"}:!1))))))))))}function Ia(e){return typeof e=="number"?!Number.isNaN(e):Wa.CSS_UNIT.test(e)}class gn{constructor(t="",n={}){if(t instanceof gn)return t;typeof t=="number"&&(t=VB(t)),this.originalInput=t;const a=FB(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3}getLuminance(){const t=this.toRgb();let n,a,o;const r=t.r/255,s=t.g/255,l=t.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),s<=.03928?a=s/12.92:a=Math.pow((s+.055)/1.055,2.4),l<=.03928?o=l/12.92:o=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*a+.0722*o}getAlpha(){return this.a}setAlpha(t){return this.a=XC(t),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:t}=this.toHsl();return t===0}toHsv(){const t=o0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}}toHsvString(){const t=o0(this.r,this.g,this.b),n=Math.round(t.h*360),a=Math.round(t.s*100),o=Math.round(t.v*100);return this.a===1?`hsv(${n}, ${a}%, ${o}%)`:`hsva(${n}, ${a}%, ${o}%, ${this.roundA})`}toHsl(){const t=a0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}}toHslString(){const t=a0(this.r,this.g,this.b),n=Math.round(t.h*360),a=Math.round(t.s*100),o=Math.round(t.l*100);return this.a===1?`hsl(${n}, ${a}%, ${o}%)`:`hsla(${n}, ${a}%, ${o}%, ${this.roundA})`}toHex(t=!1){return r0(this.r,this.g,this.b,t)}toHexString(t=!1){return"#"+this.toHex(t)}toHex8(t=!1){return LB(this.r,this.g,this.b,this.a,t)}toHex8String(t=!1){return"#"+this.toHex8(t)}toHexShortString(t=!1){return this.a===1?this.toHexString(t):this.toHex8String(t)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const t=Math.round(this.r),n=Math.round(this.g),a=Math.round(this.b);return this.a===1?`rgb(${t}, ${n}, ${a})`:`rgba(${t}, ${n}, ${a}, ${this.roundA})`}toPercentageRgb(){const t=n=>`${Math.round(Zn(n,255)*100)}%`;return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}}toPercentageRgbString(){const t=n=>Math.round(Zn(n,255)*100);return this.a===1?`rgb(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%)`:`rgba(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%, ${this.roundA})`}toCmyk(){return{...s0(this.r,this.g,this.b)}}toCmykString(){const{c:t,m:n,y:a,k:o}=s0(this.r,this.g,this.b);return`cmyk(${t}, ${n}, ${a}, ${o})`}toName(){if(this.a===0)return"transparent";if(this.a<1)return!1;const t="#"+r0(this.r,this.g,this.b,!1);for(const[n,a]of Object.entries(Eh))if(t===a)return n;return!1}toString(t){const n=!!t;t=t??this.format;let a=!1;const o=this.a<1&&this.a>=0;return!n&&o&&(t.startsWith("hex")||t==="name")?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(a=this.toRgbString()),t==="prgb"&&(a=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(a=this.toHexString()),t==="hex3"&&(a=this.toHexString(!0)),t==="hex4"&&(a=this.toHex8String(!0)),t==="hex8"&&(a=this.toHex8String()),t==="name"&&(a=this.toName()),t==="hsl"&&(a=this.toHslString()),t==="hsv"&&(a=this.toHsvString()),t==="cmyk"&&(a=this.toCmykString()),a||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new gn(this.toString())}lighten(t=10){const n=this.toHsl();return n.l+=t/100,n.l=uc(n.l),new gn(n)}brighten(t=10){const n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new gn(n)}darken(t=10){const n=this.toHsl();return n.l-=t/100,n.l=uc(n.l),new gn(n)}tint(t=10){return this.mix("white",t)}shade(t=10){return this.mix("black",t)}desaturate(t=10){const n=this.toHsl();return n.s-=t/100,n.s=uc(n.s),new gn(n)}saturate(t=10){const n=this.toHsl();return n.s+=t/100,n.s=uc(n.s),new gn(n)}greyscale(){return this.desaturate(100)}spin(t){const n=this.toHsl(),a=(n.h+t)%360;return n.h=a<0?360+a:a,new gn(n)}mix(t,n=50){const a=this.toRgb(),o=new gn(t).toRgb(),r=n/100,s={r:(o.r-a.r)*r+a.r,g:(o.g-a.g)*r+a.g,b:(o.b-a.b)*r+a.b,a:(o.a-a.a)*r+a.a};return new gn(s)}analogous(t=6,n=30){const a=this.toHsl(),o=360/n,r=[this];for(a.h=(a.h-(o*t>>1)+720)%360;--t;)a.h=(a.h+o)%360,r.push(new gn(a));return r}complement(){const t=this.toHsl();return t.h=(t.h+180)%360,new gn(t)}monochromatic(t=6){const n=this.toHsv(),{h:a}=n,{s:o}=n;let{v:r}=n;const s=[],l=1/t;for(;t--;)s.push(new gn({h:a,s:o,v:r})),r=(r+l)%1;return s}splitcomplement(){const t=this.toHsl(),{h:n}=t;return[this,new gn({h:(n+72)%360,s:t.s,l:t.l}),new gn({h:(n+216)%360,s:t.s,l:t.l})]}onBackground(t){const n=this.toRgb(),a=new gn(t).toRgb(),o=n.a+a.a*(1-n.a);return new gn({r:(n.r*n.a+a.r*a.a*(1-n.a))/o,g:(n.g*n.a+a.g*a.a*(1-n.a))/o,b:(n.b*n.a+a.b*a.a*(1-n.a))/o,a:o})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){const n=this.toHsl(),{h:a}=n,o=[this],r=360/t;for(let s=1;s<t;s++)o.push(new gn({h:(a+s*r)%360,s:n.s,l:n.l}));return o}equals(t){const n=new gn(t);return this.format==="cmyk"||n.format==="cmyk"?this.toCmykString()===n.toCmykString():this.toRgbString()===n.toRgbString()}}function xo(e,t=20){return e.mix("#141414",t).toString()}function WB(e){const t=un(),n=ge("button");return C(()=>{let a={},o=e.color;if(o){const r=o.match(/var\((.*?)\)/);r&&(o=window.getComputedStyle(window.document.documentElement).getPropertyValue(r[1]));const s=new gn(o),l=e.dark?s.tint(20).toString():xo(s,20);if(e.plain)a=n.cssVarBlock({"bg-color":e.dark?xo(s,90):s.tint(90).toString(),"text-color":o,"border-color":e.dark?xo(s,50):s.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":o,"hover-border-color":o,"active-bg-color":l,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":l}),t.value&&(a[n.cssVarBlockName("disabled-bg-color")]=e.dark?xo(s,90):s.tint(90).toString(),a[n.cssVarBlockName("disabled-text-color")]=e.dark?xo(s,50):s.tint(50).toString(),a[n.cssVarBlockName("disabled-border-color")]=e.dark?xo(s,80):s.tint(80).toString());else if(e.link||e.text){const u=e.dark?xo(s,30):s.tint(30).toString();if(a=n.cssVarBlock({"text-color":o,"hover-text-color":u,"active-text-color":l}),e.link&&(a[n.cssVarBlockName("hover-link-text-color")]=u,a[n.cssVarBlockName("active-color")]=l),t.value){const c=e.dark?xo(s,50):s.tint(50).toString();a[n.cssVarBlockName("disabled-bg-color")]="transparent",a[n.cssVarBlockName("disabled-text-color")]=c,a[n.cssVarBlockName("disabled-border-color")]="transparent"}}else{const u=e.dark?xo(s,30):s.tint(30).toString(),c=s.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(a=n.cssVarBlock({"bg-color":o,"text-color":c,"border-color":o,"hover-bg-color":u,"hover-text-color":c,"hover-border-color":u,"active-bg-color":l,"active-border-color":l}),t.value){const d=e.dark?xo(s,50):s.tint(50).toString();a[n.cssVarBlockName("disabled-bg-color")]=d,a[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,a[n.cssVarBlockName("disabled-border-color")]=d}}}return a})}var jB=se({name:"ElButton",__name:"button",props:kh,emits:xB,setup(e,{expose:t,emit:n}){const a=e,o=n,r=WB(a),s=ge("button"),{_ref:l,_size:u,_type:c,_disabled:d,_props:f,_plain:p,_round:g,_text:h,_dashed:v,shouldAddSpace:m,handleClick:b}=IB(a,o),w=C(()=>[s.b(),s.m(c.value),s.m(u.value),s.is("disabled",d.value),s.is("loading",a.loading),s.is("plain",p.value),s.is("round",g.value),s.is("circle",a.circle),s.is("text",h.value),s.is("dashed",v.value),s.is("link",a.link),s.is("has-bg",a.bg)]);return t({ref:l,size:u,type:c,disabled:d,shouldAddSpace:m}),(y,S)=>(E(),le(it(e.tag),pt({ref_key:"_ref",ref:l},i(f),{class:w.value,style:i(r),onClick:i(b)}),{default:ne(()=>[e.loading?(E(),D(Ve,{key:0},[y.$slots.loading?oe(y.$slots,"loading",{key:0}):(E(),le(i(De),{key:1,class:R(i(s).is("loading"))},{default:ne(()=>[(E(),le(it(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||y.$slots.icon?(E(),le(i(De),{key:1},{default:ne(()=>[e.icon?(E(),le(it(e.icon),{key:0})):oe(y.$slots,"icon",{key:1})]),_:3})):re("v-if",!0),y.$slots.default?(E(),D("span",{key:2,class:R({[i(s).em("text","expand")]:i(m)})},[oe(y.$slots,"default")],2)):re("v-if",!0)]),_:3},16,["class","style","onClick"]))}}),UB=jB;const qB={size:kh.size,type:kh.type,direction:{type:G(String),values:["horizontal","vertical"],default:"horizontal"}};var YB=se({name:"ElButtonGroup",__name:"button-group",props:qB,setup(e){const t=e;St(GC,Dt({size:Ht(t,"size"),type:Ht(t,"type")}));const n=ge("button");return(a,o)=>(E(),D("div",{class:R([i(n).b("group"),i(n).bm("group",t.direction)])},[oe(a.$slots,"default")],2))}}),JC=YB;const Bn=st(UB,{ButtonGroup:JC}),ZC=ln(JC),GB=e=>we(e)&&e.length===2&&e.every(t=>Ur(t)),XB=Ee({modelValue:{type:Date},range:{type:G(Array),validator:GB},controllerType:{type:String,values:["button","select"],default:"button"},formatter:{type:G(Function)}}),JB={[at]:e=>Ur(e),[Tn]:e=>Ur(e)},i0=["hours","minutes","seconds"],Go="EP_PICKER_BASE",Lm="ElPopperOptions",QC=Symbol("commonPickerContextKey"),u0="HH:mm:ss",tl="YYYY-MM-DD",ZB={date:tl,dates:tl,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${tl} ${u0}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:tl,datetimerange:`${tl} ${u0}`};var Tr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Or(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ek={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){var n=1e3,a=6e4,o=36e5,r="millisecond",s="second",l="minute",u="hour",c="day",d="week",f="month",p="quarter",g="year",h="date",v="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(K){var j=["th","st","nd","rd"],W=K%100;return"["+K+(j[(W-20)%10]||j[W]||j[0])+"]"}},y=function(K,j,W){var A=String(K);return!A||A.length>=j?K:""+Array(j+1-A.length).join(W)+K},S={s:y,z:function(K){var j=-K.utcOffset(),W=Math.abs(j),A=Math.floor(W/60),P=W%60;return(j<=0?"+":"-")+y(A,2,"0")+":"+y(P,2,"0")},m:function K(j,W){if(j.date()<W.date())return-K(W,j);var A=12*(W.year()-j.year())+(W.month()-j.month()),P=j.clone().add(A,f),V=W-P<0,F=j.clone().add(A+(V?-1:1),f);return+(-(A+(W-P)/(V?P-F:F-P))||0)},a:function(K){return K<0?Math.ceil(K)||0:Math.floor(K)},p:function(K){return{M:f,y:g,w:d,d:c,D:h,h:u,m:l,s,ms:r,Q:p}[K]||String(K||"").toLowerCase().replace(/s$/,"")},u:function(K){return K===void 0}},k="en",x={};x[k]=w;var O="$isDayjsObject",T=function(K){return K instanceof $||!(!K||!K[O])},I=function K(j,W,A){var P;if(!j)return k;if(typeof j=="string"){var V=j.toLowerCase();x[V]&&(P=V),W&&(x[V]=W,P=V);var F=j.split("-");if(!P&&F.length>1)return K(F[0])}else{var H=j.name;x[H]=j,P=H}return!A&&P&&(k=P),P||!A&&k},_=function(K,j){if(T(K))return K.clone();var W=typeof j=="object"?j:{};return W.date=K,W.args=arguments,new $(W)},N=S;N.l=I,N.i=T,N.w=function(K,j){return _(K,{locale:j.$L,utc:j.$u,x:j.$x,$offset:j.$offset})};var $=function(){function K(W){this.$L=I(W.locale,null,!0),this.parse(W),this.$x=this.$x||W.x||{},this[O]=!0}var j=K.prototype;return j.parse=function(W){this.$d=function(A){var P=A.date,V=A.utc;if(P===null)return new Date(NaN);if(N.u(P))return new Date;if(P instanceof Date)return new Date(P);if(typeof P=="string"&&!/Z$/i.test(P)){var F=P.match(m);if(F){var H=F[2]-1||0,U=(F[7]||"0").substring(0,3);return V?new Date(Date.UTC(F[1],H,F[3]||1,F[4]||0,F[5]||0,F[6]||0,U)):new Date(F[1],H,F[3]||1,F[4]||0,F[5]||0,F[6]||0,U)}}return new Date(P)}(W),this.init()},j.init=function(){var W=this.$d;this.$y=W.getFullYear(),this.$M=W.getMonth(),this.$D=W.getDate(),this.$W=W.getDay(),this.$H=W.getHours(),this.$m=W.getMinutes(),this.$s=W.getSeconds(),this.$ms=W.getMilliseconds()},j.$utils=function(){return N},j.isValid=function(){return this.$d.toString()!==v},j.isSame=function(W,A){var P=_(W);return this.startOf(A)<=P&&P<=this.endOf(A)},j.isAfter=function(W,A){return _(W)<this.startOf(A)},j.isBefore=function(W,A){return this.endOf(A)<_(W)},j.$g=function(W,A,P){return N.u(W)?this[A]:this.set(P,W)},j.unix=function(){return Math.floor(this.valueOf()/1e3)},j.valueOf=function(){return this.$d.getTime()},j.startOf=function(W,A){var P=this,V=!!N.u(A)||A,F=N.p(W),H=function(ue,Y){var Q=N.w(P.$u?Date.UTC(P.$y,Y,ue):new Date(P.$y,Y,ue),P);return V?Q:Q.endOf(c)},U=function(ue,Y){return N.w(P.toDate()[ue].apply(P.toDate("s"),(V?[0,0,0,0]:[23,59,59,999]).slice(Y)),P)},J=this.$W,ee=this.$M,ae=this.$D,ce="set"+(this.$u?"UTC":"");switch(F){case g:return V?H(1,0):H(31,11);case f:return V?H(1,ee):H(0,ee+1);case d:var Z=this.$locale().weekStart||0,de=(J<Z?J+7:J)-Z;return H(V?ae-de:ae+(6-de),ee);case c:case h:return U(ce+"Hours",0);case u:return U(ce+"Minutes",1);case l:return U(ce+"Seconds",2);case s:return U(ce+"Milliseconds",3);default:return this.clone()}},j.endOf=function(W){return this.startOf(W,!1)},j.$set=function(W,A){var P,V=N.p(W),F="set"+(this.$u?"UTC":""),H=(P={},P[c]=F+"Date",P[h]=F+"Date",P[f]=F+"Month",P[g]=F+"FullYear",P[u]=F+"Hours",P[l]=F+"Minutes",P[s]=F+"Seconds",P[r]=F+"Milliseconds",P)[V],U=V===c?this.$D+(A-this.$W):A;if(V===f||V===g){var J=this.clone().set(h,1);J.$d[H](U),J.init(),this.$d=J.set(h,Math.min(this.$D,J.daysInMonth())).$d}else H&&this.$d[H](U);return this.init(),this},j.set=function(W,A){return this.clone().$set(W,A)},j.get=function(W){return this[N.p(W)]()},j.add=function(W,A){var P,V=this;W=Number(W);var F=N.p(A),H=function(ee){var ae=_(V);return N.w(ae.date(ae.date()+Math.round(ee*W)),V)};if(F===f)return this.set(f,this.$M+W);if(F===g)return this.set(g,this.$y+W);if(F===c)return H(1);if(F===d)return H(7);var U=(P={},P[l]=a,P[u]=o,P[s]=n,P)[F]||1,J=this.$d.getTime()+W*U;return N.w(J,this)},j.subtract=function(W,A){return this.add(-1*W,A)},j.format=function(W){var A=this,P=this.$locale();if(!this.isValid())return P.invalidDate||v;var V=W||"YYYY-MM-DDTHH:mm:ssZ",F=N.z(this),H=this.$H,U=this.$m,J=this.$M,ee=P.weekdays,ae=P.months,ce=P.meridiem,Z=function(Y,Q,L,q){return Y&&(Y[Q]||Y(A,V))||L[Q].slice(0,q)},de=function(Y){return N.s(H%12||12,Y,"0")},ue=ce||function(Y,Q,L){var q=Y<12?"AM":"PM";return L?q.toLowerCase():q};return V.replace(b,function(Y,Q){return Q||function(L){switch(L){case"YY":return String(A.$y).slice(-2);case"YYYY":return N.s(A.$y,4,"0");case"M":return J+1;case"MM":return N.s(J+1,2,"0");case"MMM":return Z(P.monthsShort,J,ae,3);case"MMMM":return Z(ae,J);case"D":return A.$D;case"DD":return N.s(A.$D,2,"0");case"d":return String(A.$W);case"dd":return Z(P.weekdaysMin,A.$W,ee,2);case"ddd":return Z(P.weekdaysShort,A.$W,ee,3);case"dddd":return ee[A.$W];case"H":return String(H);case"HH":return N.s(H,2,"0");case"h":return de(1);case"hh":return de(2);case"a":return ue(H,U,!0);case"A":return ue(H,U,!1);case"m":return String(U);case"mm":return N.s(U,2,"0");case"s":return String(A.$s);case"ss":return N.s(A.$s,2,"0");case"SSS":return N.s(A.$ms,3,"0");case"Z":return F}return null}(Y)||F.replace(":","")})},j.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},j.diff=function(W,A,P){var V,F=this,H=N.p(A),U=_(W),J=(U.utcOffset()-this.utcOffset())*a,ee=this-U,ae=function(){return N.m(F,U)};switch(H){case g:V=ae()/12;break;case f:V=ae();break;case p:V=ae()/3;break;case d:V=(ee-J)/6048e5;break;case c:V=(ee-J)/864e5;break;case u:V=ee/o;break;case l:V=ee/a;break;case s:V=ee/n;break;default:V=ee}return P?V:N.a(V)},j.daysInMonth=function(){return this.endOf(f).$D},j.$locale=function(){return x[this.$L]},j.locale=function(W,A){if(!W)return this.$L;var P=this.clone(),V=I(W,A,!0);return V&&(P.$L=V),P},j.clone=function(){return N.w(this.$d,this)},j.toDate=function(){return new Date(this.valueOf())},j.toJSON=function(){return this.isValid()?this.toISOString():null},j.toISOString=function(){return this.$d.toISOString()},j.toString=function(){return this.$d.toUTCString()},K}(),B=$.prototype;return _.prototype=B,[["$ms",r],["$s",s],["$m",l],["$H",u],["$W",c],["$M",f],["$y",g],["$D",h]].forEach(function(K){B[K[1]]=function(j){return this.$g(j,K[0],K[1])}}),_.extend=function(K,j){return K.$i||(K(j,$,_),K.$i=!0),_},_.locale=I,_.isDayjs=T,_.unix=function(K){return _(1e3*K)},_.en=x[k],_.Ls=x,_.p={},_})})(ek);var QB=ek.exports;const rt=Or(QB),fp=(e,t)=>[e>0?e-1:void 0,e,e<t?e+1:void 0],jr=e=>Array.from(Array.from({length:e}).keys()),tk=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),nk=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),c0=function(e,t){const n=Ur(e),a=Ur(t);return n&&a?e.getTime()===t.getTime():!n&&!a?e===t:!1},ak=function(e,t){const n=we(e),a=we(t);return n&&a?e.length!==t.length?!1:e.every((o,r)=>c0(o,t[r])):!n&&!a?c0(e,t):!1},d0=function(e,t,n){const a=ha(t)||t==="x"?rt(e).locale(n):rt(e,t).locale(n);return a.isValid()?a:void 0},f0=function(e,t,n){return ha(t)?e:t==="x"?+e:rt(e).locale(n).format(t)},pp=(e,t)=>{const n=[],a=t?.();for(let o=0;o<e;o++)n.push(a?.includes(o)??!1);return n},Oc=e=>we(e)?e.map(t=>t.toDate()):e.toDate(),Dm=Ee({disabledHours:{type:G(Function)},disabledMinutes:{type:G(Function)},disabledSeconds:{type:G(Function)}}),ok=Ee({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),Bm=Ee({automaticDropdown:{type:Boolean,default:!0},id:{type:G([Array,String])},name:{type:G([Array,String])},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:G([String,Object]),default:Yo},editable:{type:Boolean,default:!0},saveOnBlur:{type:Boolean,default:!0},prefixIcon:{type:G([String,Object]),default:""},size:Nn,readonly:Boolean,disabled:{type:Boolean,default:void 0},placeholder:{type:String,default:""},popperOptions:{type:G(Object),default:()=>({})},modelValue:{type:G([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:G([Date,Array])},defaultTime:{type:G([Date,Array])},isRange:Boolean,...Dm,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:G([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,singlePanel:Boolean,placement:{type:G(String),values:jo,default:"bottom"},fallbackPlacements:{type:G(Array),default:["bottom","top","right","left"]},...zs,...ia(["ariaLabel"]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),eV=Ee({id:{type:G(Array)},name:{type:G(Array)},modelValue:{type:G([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),rk=(e,t)=>{const{lang:n}=xt(),a=M(!1),o=M(!1),r=M(null),s=C(()=>{const{modelValue:h}=e;return!h||we(h)&&!h.filter(Boolean).length}),l=h=>{if(!ak(e.modelValue,h)){let v;we(h)?v=h.map(m=>f0(m,e.valueFormat,n.value)):h&&(v=f0(h,e.valueFormat,n.value)),t(at,h&&v,n.value)}},u=C(()=>{let h;if(s.value?c.value.getDefaultValue&&(h=c.value.getDefaultValue()):we(e.modelValue)?h=e.modelValue.map(v=>d0(v,e.valueFormat,n.value)):h=d0(e.modelValue??"",e.valueFormat,n.value),c.value.getRangeAvailableTime){const v=c.value.getRangeAvailableTime(h);fn(v,h)||(h=v,s.value||l(Oc(h)))}return we(h)&&h.some(v=>!v)&&(h=[]),h}),c=M({});return{parsedValue:u,pickerActualVisible:o,pickerOptions:c,pickerVisible:a,userInput:r,valueIsEmpty:s,emitInput:l,onCalendarChange:h=>{t("calendar-change",h)},onPanelChange:(h,v,m)=>{t("panel-change",h,v,m)},onPick:(h="",v=!1)=>{a.value=v;let m;we(h)?m=h.map(b=>b.toDate()):m=h&&h.toDate(),r.value=null,l(m)},onSetPickerOption:h=>{c.value[h[0]]=h[1],c.value.panelReady=!0}}},tV=["id","name","placeholder","value","disabled"],nV=["id","name","placeholder","value","disabled"];var aV=se({name:"PickerRangeTrigger",inheritAttrs:!1,__name:"picker-range-trigger",props:eV,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:t,emit:n}){const a=e,o=n,{formItem:r}=Fn(),{inputId:s}=_a(Dt({id:C(()=>a.id?.[0])}),{formItemContext:r}),l=ef(),u=ge("date"),c=ge("range"),d=M(),f=M(),{wrapperRef:p,isFocused:g}=Er(d,{disabled:C(()=>a.disabled)}),h=T=>{o("click",T)},v=T=>{o("mouseenter",T)},m=T=>{o("mouseleave",T)},b=T=>{o("touchstart",T)},w=T=>{o("startInput",T)},y=T=>{o("endInput",T)},S=T=>{o("startChange",T)},k=T=>{o("endChange",T)};return t({focus:()=>{d.value?.focus()},blur:()=>{d.value?.blur(),f.value?.blur()}}),(T,I)=>(E(),D("div",{ref_key:"wrapperRef",ref:p,class:R([i(u).is("active",i(g)),T.$attrs.class]),style:ze(T.$attrs.style),onClick:h,onMouseenter:v,onMouseleave:m,onTouchstartPassive:b},[oe(T.$slots,"prefix"),z("input",pt(i(l),{id:i(s),ref_key:"inputRef",ref:d,name:T.name&&T.name[0],placeholder:T.startPlaceholder,value:T.modelValue&&T.modelValue[0],class:i(c).b("input"),disabled:T.disabled,onInput:w,onChange:S}),null,16,tV),oe(T.$slots,"range-separator"),z("input",pt(i(l),{id:T.id&&T.id[1],ref_key:"endInputRef",ref:f,name:T.name&&T.name[1],placeholder:T.endPlaceholder,value:T.modelValue&&T.modelValue[1],class:i(c).b("input"),disabled:T.disabled,onInput:y,onChange:k}),null,16,nV),oe(T.$slots,"suffix")],38))}}),oV=aV,rV=se({name:"Picker",__name:"picker",props:Bm,emits:[at,yt,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:n}){const a=e,o=n,r=wr(),s=ge("date"),l=ge("input"),u=ge("range"),{formItem:c}=Fn(),d=$e(Lm,{}),f=Au(a,null),p=M(),g=M(),h=M(null);let v=!1;const m=un(),b=rk(a,o),{parsedValue:w,pickerActualVisible:y,userInput:S,pickerVisible:k,pickerOptions:x,valueIsEmpty:O,emitInput:T,onPick:I,onSetPickerOption:_,onCalendarChange:N,onPanelChange:$}=b,{isFocused:B,handleFocus:K,handleBlur:j}=Er(g,{disabled:m,beforeFocus(){return a.readonly},afterFocus(){a.automaticDropdown&&(k.value=!0)},beforeBlur(ie){return!v&&p.value?.isFocusInsideContent(ie)},afterBlur(){Y.value&&!a.saveOnBlur?O.value||x.value.handleCancel?.():He(),k.value=!1,v=!1,a.validateEvent&&c?.validate("blur").catch(ut)}}),W=M(!1),A=C(()=>[s.b("editor"),s.bm("editor",a.type),l.e("wrapper"),s.is("disabled",m.value),s.is("active",k.value),u.b("editor"),Te?u.bm("editor",Te.value):"",r.class]),P=C(()=>[l.e("icon"),u.e("close-icon"),fe.value?"":u.em("close-icon","hidden")]);pe(k,ie=>{ie?Ne(()=>{ie&&(h.value=a.modelValue)}):(S.value=null,Ne(()=>{V(a.modelValue)}))});const V=(ie,xe)=>{(xe||!ak(ie,h.value))&&(o(yt,ie),xe&&(h.value=ie),a.validateEvent&&c?.validate("change").catch(ut))},F=ie=>{o("keydown",ie)},H=C(()=>g.value?Array.from(g.value.$el.querySelectorAll("input")):[]),U=(ie,xe,Ue)=>{const et=H.value;et.length&&(!Ue||Ue==="min"?(et[0].setSelectionRange(ie,xe),et[0].focus()):Ue==="max"&&(et[1].setSelectionRange(ie,xe),et[1].focus()))},J=()=>{y.value=!0},ee=()=>{o("visible-change",!0)},ae=()=>{y.value=!1,k.value=!1,o("visible-change",!1)},ce=()=>{k.value=!0},Z=()=>{k.value=!1},de=C(()=>{const ie=Qe(w.value);return we(S.value)?[S.value[0]??(ie&&ie[0])??"",S.value[1]??(ie&&ie[1])??""]:S.value!==null?S.value:Y.value&&O.value&&!a.saveOnBlur||!Y.value&&O.value||!k.value&&O.value?"":ie?Q.value||L.value||q.value?ie.join(", "):ie:""}),ue=C(()=>a.type.includes("time")),Y=C(()=>a.type.startsWith("time")),Q=C(()=>a.type==="dates"),L=C(()=>a.type==="months"),q=C(()=>a.type==="years"),te=C(()=>a.prefixIcon||(ue.value?kC:rP)),fe=C(()=>a.clearable&&!m.value&&!a.readonly&&!O.value&&(W.value||B.value)),he=ie=>{a.readonly||m.value||(fe.value&&(ie?.stopPropagation(),x.value.handleClear?x.value.handleClear():T(f.valueOnClear.value),V(f.valueOnClear.value,!0),ae()),o("clear"))},ve=async ie=>{a.readonly||m.value||(ie.target?.tagName!=="INPUT"||B.value||!a.automaticDropdown)&&(k.value=!0)},Ie=()=>{a.readonly||m.value||!O.value&&a.clearable&&(W.value=!0)},Le=()=>{W.value=!1},_e=ie=>{a.readonly||m.value||(ie.touches[0].target?.tagName!=="INPUT"||B.value||!a.automaticDropdown)&&(k.value=!0)},ye=C(()=>a.type.includes("range")),Te=In(),be=C(()=>i(p)?.popperRef?.contentRef),Pe=om(g,ie=>{const xe=i(be),Ue=Rn(g);xe&&(ie.target===xe||ie.composedPath().includes(xe))||ie.target===Ue||Ue&&ie.composedPath().includes(Ue)||(k.value=!1)});Vt(()=>{Pe?.()});const He=()=>{if(Y.value&&!a.saveOnBlur)return;const ie=we(S.value)&&S.value.every(xe=>xe==="");if(S.value&&!ie){const xe=Je(de.value);xe&&(lt(xe)&&T(Oc(xe)),S.value=null)}(S.value===""||ie)&&(T(f.valueOnClear.value),V(f.valueOnClear.value,!0),S.value=null)},Je=ie=>ie?x.value.parseUserInput(ie):null,Qe=ie=>ie?we(ie)?ie.map(xe=>xe.format(a.format)):ie.format(a.format):null,lt=ie=>x.value.isValidValue(ie),Ze=async ie=>{if(a.readonly||m.value)return;const xe=qt(ie);if(F(ie),xe===Se.esc){k.value===!0&&(k.value=!1,ie.preventDefault(),ie.stopPropagation());return}if(xe===Se.down&&(x.value.handleFocusPicker&&(ie.preventDefault(),ie.stopPropagation()),k.value===!1&&(k.value=!0,await Ne()),x.value.handleFocusPicker)){x.value.handleFocusPicker();return}if(xe===Se.tab){v=!0;return}if(xe===Se.enter||xe===Se.numpadEnter){k.value?(S.value===null||S.value===""||lt(Je(de.value)))&&(He(),k.value=!1):k.value=!0,ie.preventDefault(),ie.stopPropagation();return}if(S.value){ie.stopPropagation();return}x.value.handleKeydownInput&&x.value.handleKeydownInput(ie)},gt=ie=>{S.value=ie,k.value||(k.value=!0)},Pt=ie=>{const xe=ie.target;S.value?S.value=[xe.value,S.value[1]]:S.value=[xe.value,null]},zt=ie=>{const xe=ie.target;S.value?S.value=[S.value[0],xe.value]:S.value=[null,xe.value]},nt=()=>{const ie=S.value,xe=Je(ie&&ie[0]),Ue=i(w);if(xe&&xe.isValid()){S.value=[Qe(xe),de.value?.[1]||null];const et=[xe,Ue&&(Ue[1]||null)];lt(et)&&(T(Oc(et)),S.value=null)}},ft=()=>{const ie=i(S),xe=Je(ie&&ie[1]),Ue=i(w);if(xe&&xe.isValid()){S.value=[i(de)?.[0]||null,Qe(xe)];const et=[Ue&&Ue[0],xe];lt(et)&&(T(Oc(et)),S.value=null)}},me=()=>{g.value?.focus()},je=()=>{g.value?.blur()};return St(Go,{props:a,emptyValues:f}),St(QC,b),t({focus:me,blur:je,handleOpen:ce,handleClose:Z,onPick:I}),(ie,xe)=>(E(),le(i(Wn),pt({ref_key:"refPopper",ref:p,visible:i(k),effect:"light",pure:"",trigger:"click"},ie.$attrs,{role:"dialog",teleported:"",transition:`${i(s).namespace.value}-zoom-in-top`,"popper-class":[`${i(s).namespace.value}-picker__popper`,ie.popperClass],"popper-style":ie.popperStyle,"popper-options":i(d),"fallback-placements":ie.fallbackPlacements,"gpu-acceleration":!1,placement:ie.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:J,onShow:ee,onHide:ae}),{default:ne(()=>[ye.value?(E(),le(oV,{key:1,id:ie.id,ref_key:"inputRef",ref:g,"model-value":de.value,name:ie.name,disabled:i(m),readonly:!ie.editable||ie.readonly,"start-placeholder":ie.startPlaceholder,"end-placeholder":ie.endPlaceholder,class:R(A.value),style:ze(ie.$attrs.style),"aria-label":ie.ariaLabel,tabindex:ie.tabindex,autocomplete:"off",role:"combobox",onClick:ve,onFocus:i(K),onBlur:i(j),onStartInput:Pt,onStartChange:nt,onEndInput:zt,onEndChange:ft,onMousedown:ve,onMouseenter:Ie,onMouseleave:Le,onTouchstartPassive:_e,onKeydown:Ze},{prefix:ne(()=>[te.value?(E(),le(i(De),{key:0,class:R([i(l).e("icon"),i(u).e("icon")])},{default:ne(()=>[(E(),le(it(te.value)))]),_:1},8,["class"])):re("v-if",!0)]),"range-separator":ne(()=>[oe(ie.$slots,"range-separator",{},()=>[z("span",{class:R(i(u).b("separator"))},Ce(ie.rangeSeparator),3)])]),suffix:ne(()=>[ie.clearIcon?(E(),le(i(De),{key:0,class:R(P.value),onMousedown:Xe(i(ut),["prevent"]),onClick:he},{default:ne(()=>[(E(),le(it(ie.clearIcon)))]),_:1},8,["class","onMousedown"])):re("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(E(),le(i(Un),{key:0,id:ie.id,ref_key:"inputRef",ref:g,"container-role":"combobox","model-value":de.value,name:ie.name,size:i(Te),disabled:i(m),placeholder:ie.placeholder,class:R([i(s).b("editor"),i(s).bm("editor",ie.type),i(s).is("focus",i(k)),ie.$attrs.class]),style:ze(ie.$attrs.style),readonly:!ie.editable||ie.readonly||Q.value||L.value||q.value||ie.type==="week","aria-label":ie.ariaLabel,tabindex:ie.tabindex,"validate-event":!1,onInput:gt,onFocus:i(K),onBlur:i(j),onKeydown:Ze,onChange:He,onMousedown:ve,onMouseenter:Ie,onMouseleave:Le,onTouchstartPassive:_e,onClick:xe[0]||(xe[0]=Xe(()=>{},["stop"]))},{prefix:ne(()=>[te.value?(E(),le(i(De),{key:0,class:R(i(l).e("icon")),onMousedown:Xe(ve,["prevent"]),onTouchstartPassive:_e},{default:ne(()=>[(E(),le(it(te.value)))]),_:1},8,["class"])):re("v-if",!0)]),suffix:ne(()=>[fe.value&&ie.clearIcon?(E(),le(i(De),{key:0,class:R(`${i(l).e("icon")} clear-icon`),onMousedown:Xe(i(ut),["prevent"]),onClick:he},{default:ne(()=>[(E(),le(it(ie.clearIcon)))]),_:1},8,["class","onMousedown"])):re("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur"]))]),content:ne(()=>[oe(ie.$slots,"default",{visible:i(k),actualVisible:i(y),parsedValue:i(w),format:ie.format,dateFormat:ie.dateFormat,timeFormat:ie.timeFormat,unlinkPanels:ie.unlinkPanels,type:ie.type,defaultValue:ie.defaultValue,showNow:ie.showNow,showConfirm:ie.showConfirm,showFooter:ie.showFooter,showWeekNumber:ie.showWeekNumber,singlePanel:ie.singlePanel,onPick:xe[1]||(xe[1]=(...Ue)=>i(I)&&i(I)(...Ue)),onSelectRange:U,onSetPickerOption:xe[2]||(xe[2]=(...Ue)=>i(_)&&i(_)(...Ue)),onCalendarChange:xe[3]||(xe[3]=(...Ue)=>i(N)&&i(N)(...Ue)),onClear:he,onPanelChange:xe[4]||(xe[4]=(...Ue)=>i($)&&i($)(...Ue)),onMousedown:xe[5]||(xe[5]=Xe(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}}),sk=rV;const Ar=new Map;if(Lt){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const n of Ar.values())for(const{documentHandler:a}of n)a(t,e);e=void 0}})}function p0(e,t){let n=[];return we(t.arg)?n=t.arg:ka(t.arg)&&n.push(t.arg),function(a,o){const r=t.instance.popperRef,s=a.target,l=o?.target,u=!t||!t.instance,c=!s||!l,d=e.contains(s)||e.contains(l),f=e===s,p=n.length&&n.some(h=>h?.contains(s))||n.length&&n.includes(l),g=r&&(r.contains(s)||r.contains(l));u||c||d||f||p||g||t.value(a,o)}}const Qr={beforeMount(e,t){Ar.has(e)||Ar.set(e,[]),Ar.get(e).push({documentHandler:p0(e,t),bindingFn:t.value})},updated(e,t){Ar.has(e)||Ar.set(e,[]);const n=Ar.get(e),a=n.findIndex(r=>r.bindingFn===t.oldValue),o={documentHandler:p0(e,t),bindingFn:t.value};a>=0?n.splice(a,1,o):n.push(o)},unmounted(e){Ar.delete(e)}},fc="_RepeatClick",sd={beforeMount(e,t){const n=t.value,{interval:a=100,delay:o=600}=Fe(n)?{}:n;let r,s;const l=()=>Fe(n)?n():n.handler(),u=()=>{s&&(clearTimeout(s),s=void 0),r&&(clearInterval(r),r=void 0)},c=d=>{d.button===0&&(u(),l(),document.addEventListener("mouseup",u,{once:!0}),s=setTimeout(()=>{r=setInterval(()=>{l()},a)},o))};e[fc]={start:c,clear:u},e.addEventListener("mousedown",c)},unmounted(e){if(!e[fc])return;const{start:t,clear:n}=e[fc];t&&e.removeEventListener("mousedown",t),n&&(n(),document.removeEventListener("mouseup",n)),e[fc]=null}},xh="_trap-focus-children",ms=[],h0=e=>{if(ms.length===0)return;const t=qt(e),n=ms[ms.length-1][xh];if(n.length>0&&t===Se.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const a=e.shiftKey,o=e.target===n[0],r=e.target===n[n.length-1];o&&a&&(e.preventDefault(),n[n.length-1].focus()),r&&!a&&(e.preventDefault(),n[0].focus())}},sV={beforeMount(e){e[xh]=uy(e),ms.push(e),ms.length<=1&&document.addEventListener("keydown",h0)},updated(e){Ne(()=>{e[xh]=uy(e)})},unmounted(){ms.shift(),ms.length===0&&document.removeEventListener("keydown",h0)}};var v0=!1,ds,Th,Oh,_c,Rc,lk,Ic,_h,Rh,Ih,ik,$h,Nh,uk,ck;function Sa(){if(!v0){v0=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if($h=/\b(iPhone|iP[ao]d)/.exec(e),Nh=/\b(iP[ao]d)/.exec(e),Ih=/Android/i.exec(e),uk=/FBAN\/\w+;/i.exec(e),ck=/Mobile/i.exec(e),ik=!!/Win64/.exec(e),t){ds=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,ds&&document&&document.documentMode&&(ds=document.documentMode);var a=/(?:Trident\/(\d+.\d+))/.exec(e);lk=a?parseFloat(a[1])+4:ds,Th=t[2]?parseFloat(t[2]):NaN,Oh=t[3]?parseFloat(t[3]):NaN,_c=t[4]?parseFloat(t[4]):NaN,_c?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Rc=t&&t[1]?parseFloat(t[1]):NaN):Rc=NaN}else ds=Th=Oh=Rc=_c=NaN;if(n){if(n[1]){var o=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);Ic=o?parseFloat(o[1].replace("_",".")):!0}else Ic=!1;_h=!!n[2],Rh=!!n[3]}else Ic=_h=Rh=!1}}var Mh={ie:function(){return Sa()||ds},ieCompatibilityMode:function(){return Sa()||lk>ds},ie64:function(){return Mh.ie()&&ik},firefox:function(){return Sa()||Th},opera:function(){return Sa()||Oh},webkit:function(){return Sa()||_c},safari:function(){return Mh.webkit()},chrome:function(){return Sa()||Rc},windows:function(){return Sa()||_h},osx:function(){return Sa()||Ic},linux:function(){return Sa()||Rh},iphone:function(){return Sa()||$h},mobile:function(){return Sa()||$h||Nh||Ih||ck},nativeApp:function(){return Sa()||uk},android:function(){return Sa()||Ih},ipad:function(){return Sa()||Nh}},lV=Mh,iV=!!(typeof window<"u"&&window.document&&window.document.createElement),uV={canUseDOM:iV},dk=uV,fk;dk.canUseDOM&&(fk=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function cV(e,t){if(!dk.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,a=n in document;if(!a){var o=document.createElement("div");o.setAttribute(n,"return;"),a=typeof o[n]=="function"}return!a&&fk&&e==="wheel"&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}var dV=cV,m0=10,g0=40,b0=800;function pk(e){var t=0,n=0,a=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),a=t*m0,o=n*m0,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(a=e.deltaX),(a||o)&&e.deltaMode&&(e.deltaMode==1?(a*=g0,o*=g0):(a*=b0,o*=b0)),a&&!t&&(t=a<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:a,pixelY:o}}pk.getEventType=function(){return lV.firefox()?"DOMMouseScroll":dV("wheel")?"wheel":"mousewheel"};var fV=pk;/** +* Checks if an event is supported in the current execution environment. +* +* NOTE: This will not work correctly for non-generic events such as `change`, +* `reset`, `load`, `error`, and `select`. +* +* Borrows from Modernizr. +* +* @param {string} eventNameSuffix Event name, e.g. "click". +* @param {?boolean} capture Check if the capture phase is supported. +* @return {boolean} True if the event is supported. +* @internal +* @license Modernizr 3.0.0pre (Custom Build) | MIT +*/const Ph="_Mousewheel",y0=function(e,t){if(e&&e.addEventListener){hk(e);const n=function(a){const o=fV(a);t&&Reflect.apply(t,this,[a,o])};e[Ph]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},hk=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener("wheel",e[Ph].wheelHandler),e[Ph]=null)},pV={beforeMount(e,t){y0(e,t.value)},unmounted(e){hk(e)},updated(e,t){t.value!==t.oldValue&&y0(e,t.value)}},hV=Ee({...ok,datetimeRole:String,parsedValue:{type:G(Object)}}),vk=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{const a=(s,l,u,c)=>{const d={hour:e,minute:t,second:n};let f=s;return["hour","minute","second"].forEach(p=>{if(d[p]){let g;const h=d[p];switch(p){case"minute":g=h(f.hour(),l,c);break;case"second":g=h(f.hour(),f.minute(),l,c);break;default:g=h(l,c);break}if(g?.length&&!g.includes(f[p]())){const v=u?0:g.length-1;f=f[p](g[v])}}}),f},o={};return{timePickerOptions:o,getAvailableTime:a,onSetOption:([s,l])=>{o[s]=l}}},hp=e=>{const t=(a,o)=>a||o,n=a=>a!==!0;return e.map(t).filter(n)},mk=(e,t,n)=>({getHoursList:(s,l)=>pp(24,e&&(()=>e?.(s,l))),getMinutesList:(s,l,u)=>pp(60,t&&(()=>t?.(s,l,u))),getSecondsList:(s,l,u,c)=>pp(60,n&&(()=>n?.(s,l,u,c)))}),gk=(e,t,n)=>{const{getHoursList:a,getMinutesList:o,getSecondsList:r}=mk(e,t,n);return{getAvailableHours:(c,d)=>hp(a(c,d)),getAvailableMinutes:(c,d,f)=>hp(o(c,d,f)),getAvailableSeconds:(c,d,f,p)=>hp(r(c,d,f,p))}},bk=(e,t)=>{const n=M(e.parsedValue);return pe(()=>e.visible,a=>{const o=xn(t.modelValue),r=xn(t.valueOnClear);if(a&&o===r){n.value=r;return}a||(n.value=e.parsedValue)}),n},vV=Ee({role:{type:String,required:!0},spinnerDate:{type:G(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:G(String),default:""},...Dm}),mV=["onClick"],gV=["onMouseenter"];var bV=se({__name:"basic-time-spinner",props:vV,emits:[yt,"select-range","set-option"],setup(e,{emit:t}){const n=e,{isRange:a,format:o,saveOnBlur:r}=$e(Go).props,s=t,l=ge("time"),{getHoursList:u,getMinutesList:c,getSecondsList:d}=mk(n.disabledHours,n.disabledMinutes,n.disabledSeconds);let f=!1;const p={hours:!1,minutes:!1,seconds:!1},g=M(),h={hours:M(),minutes:M(),seconds:M()},v=C(()=>n.showSeconds?i0:i0.slice(0,2)),m=C(()=>{const{spinnerDate:H}=n;return{hours:H.hour(),minutes:H.minute(),seconds:H.second()}}),b=C(()=>{const{hours:H,minutes:U}=i(m),{role:J,spinnerDate:ee}=n,ae=a?void 0:ee;return{hours:u(J,ae),minutes:c(H,J,ae),seconds:d(H,U,J,ae)}}),w=C(()=>{const{hours:H,minutes:U,seconds:J}=i(m);return{hours:fp(H,23),minutes:fp(U,59),seconds:fp(J,59)}}),y=Ho(H=>{f=!1,x(H)},200),S=H=>{if(!n.amPmMode)return"";const U=n.amPmMode==="A";let J=H<12?" am":" pm";return U&&(J=J.toUpperCase()),J},k=H=>{let U=[0,0];const J=o||"HH:mm:ss",ee=J.indexOf("HH"),ae=J.indexOf("mm"),ce=J.indexOf("ss");switch(H){case"hours":ee!==-1&&(U=[ee,ee+2]);break;case"minutes":ae!==-1&&(U=[ae,ae+2]);break;case"seconds":ce!==-1&&(U=[ce,ce+2]);break}const[Z,de]=U;s("select-range",Z,de),g.value=H},x=H=>{I(H,i(m)[H])},O=()=>{x("hours"),x("minutes"),x("seconds")},T=H=>H.querySelector(`.${l.namespace.value}-scrollbar__wrap`),I=(H,U)=>{if(n.arrowControl)return;const J=i(h[H]);J&&J.$el&&(r||(p[H]=!0,Oa(()=>{p[H]=!1})),T(J.$el).scrollTop=Math.max(0,U*_(H)))},_=H=>{const U=i(h[H])?.$el.querySelector("li");return U&&Number.parseFloat(or(U,"height"))||0},N=()=>{B(1)},$=()=>{B(-1)},B=H=>{g.value||k("hours");const U=g.value,J=i(m)[U],ee=K(U,J,H,g.value==="hours"?24:60);j(U,ee),I(U,ee),Ne(()=>k(U))},K=(H,U,J,ee)=>{let ae=(U+J+ee)%ee;const ce=i(b)[H];for(;ce[ae]&&ae!==U;)ae=(ae+J+ee)%ee;return ae},j=(H,U)=>{if(i(b)[H][U])return;const{hours:J,minutes:ee,seconds:ae}=i(m);let ce;switch(H){case"hours":ce=n.spinnerDate.hour(U).minute(ee).second(ae);break;case"minutes":ce=n.spinnerDate.hour(J).minute(U).second(ae);break;case"seconds":ce=n.spinnerDate.hour(J).minute(ee).second(U);break}s(yt,ce)},W=(H,{value:U,disabled:J})=>{J||(j(H,U),k(H),I(H,U))},A=H=>{if(!r&&p[H])return;const U=i(h[H]);U&&(f=!0,y(H),j(H,Math.min(Math.round((T(U.$el).scrollTop-(P(H)*.5-10)/_(H)+3)/_(H)),H==="hours"?23:59)))},P=H=>i(h[H]).$el.offsetHeight,V=()=>{const H=U=>{const J=i(h[U]);J&&J.$el&&(T(J.$el).onscroll=()=>{A(U)})};H("hours"),H("minutes"),H("seconds")};ht(()=>{Ne(()=>{!n.arrowControl&&V(),O(),n.role==="start"&&k("hours")})});const F=(H,U)=>{h[U].value=H??void 0};return s("set-option",[`${n.role}_scrollDown`,B]),s("set-option",[`${n.role}_emitSelectRange`,k]),pe(()=>n.spinnerDate,()=>{f||O()}),(H,U)=>(E(),D("div",{class:R([i(l).b("spinner"),{"has-seconds":H.showSeconds}])},[H.arrowControl?re("v-if",!0):(E(!0),D(Ve,{key:0},kt(v.value,J=>(E(),le(i(vo),{key:J,ref_for:!0,ref:ee=>F(ee,J),class:R(i(l).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":i(l).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:ee=>k(J),onMousemove:ee=>x(J)},{default:ne(()=>[(E(!0),D(Ve,null,kt(b.value[J],(ee,ae)=>(E(),D("li",{key:ae,class:R([i(l).be("spinner","item"),i(l).is("active",ae===m.value[J]),i(l).is("disabled",ee)]),onClick:ce=>W(J,{value:ae,disabled:ee})},[J==="hours"?(E(),D(Ve,{key:0},[wt(Ce(("0"+(H.amPmMode?ae%12||12:ae)).slice(-2))+Ce(S(ae)),1)],64)):(E(),D(Ve,{key:1},[wt(Ce(("0"+ae).slice(-2)),1)],64))],10,mV))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),H.arrowControl?(E(!0),D(Ve,{key:1},kt(v.value,J=>(E(),D("div",{key:J,class:R([i(l).be("spinner","wrapper"),i(l).is("arrow")]),onMouseenter:ee=>k(J)},[ct((E(),le(i(De),{class:R(["arrow-up",i(l).be("spinner","arrow")])},{default:ne(()=>[X(i(ff))]),_:1},8,["class"])),[[i(sd),$]]),ct((E(),le(i(De),{class:R(["arrow-down",i(l).be("spinner","arrow")])},{default:ne(()=>[X(i(qo))]),_:1},8,["class"])),[[i(sd),N]]),z("ul",{class:R(i(l).be("spinner","list"))},[(E(!0),D(Ve,null,kt(w.value[J],(ee,ae)=>(E(),D("li",{key:ae,class:R([i(l).be("spinner","item"),i(l).is("active",ee===m.value[J]),i(l).is("disabled",b.value[J][ee])])},[i(Be)(ee)?(E(),D(Ve,{key:0},[J==="hours"?(E(),D(Ve,{key:0},[wt(Ce(("0"+(H.amPmMode?ee%12||12:ee)).slice(-2))+Ce(S(ee)),1)],64)):(E(),D(Ve,{key:1},[wt(Ce(("0"+ee).slice(-2)),1)],64))],64)):re("v-if",!0)],2))),128))],2)],42,gV))),128)):re("v-if",!0)],2))}}),Ah=bV,yV=se({__name:"panel-time-pick",props:hV,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,a=t,o=$e(Go),{arrowControl:r,disabledHours:s,disabledMinutes:l,disabledSeconds:u,defaultValue:c}=o.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:p}=gk(s,l,u),g=ge("time"),{t:h,lang:v}=xt(),m=M([0,2]),b=bk(n,{modelValue:C(()=>o.props.modelValue),valueOnClear:C(()=>o?.emptyValues?o.emptyValues.valueOnClear.value:null)}),w=C(()=>Rt(n.actualVisible)?`${g.namespace.value}-zoom-in-top`:""),y=C(()=>n.format.includes("ss")),S=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),k=P=>{const V=rt(P).locale(v.value),F=j(V);return V.isSame(F)},x=()=>{const P=b.value;a("pick",P,!1),Ne(()=>{b.value=P})},O=(P=!1,V=!1)=>{V||a("pick",n.parsedValue,P)},T=P=>{n.visible&&a("pick",j(P).millisecond(0),!0)},I=(P,V)=>{a("select-range",P,V),m.value=[P,V]},_=P=>{const V=n.format,F=V.indexOf("HH"),H=V.indexOf("mm"),U=V.indexOf("ss"),J=[],ee=[];F!==-1&&(J.push(F),ee.push("hours")),H!==-1&&(J.push(H),ee.push("minutes")),U!==-1&&y.value&&(J.push(U),ee.push("seconds"));const ae=(J.indexOf(m.value[0])+P+J.length)%J.length;$.start_emitSelectRange(ee[ae])},N=P=>{const V=qt(P),{left:F,right:H,up:U,down:J}=Se;if([F,H].includes(V)){_(V===F?-1:1),P.preventDefault();return}if([U,J].includes(V)){const ee=V===U?-1:1;$.start_scrollDown(ee),P.preventDefault();return}},{timePickerOptions:$,onSetOption:B,getAvailableTime:K}=vk({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:p}),j=P=>K(P,n.datetimeRole||"",!0),W=P=>P?rt(P,n.format).locale(v.value):null,A=()=>rt(c).locale(v.value);return a("set-picker-option",["isValidValue",k]),a("set-picker-option",["parseUserInput",W]),a("set-picker-option",["handleKeydownInput",N]),a("set-picker-option",["getRangeAvailableTime",j]),a("set-picker-option",["getDefaultValue",A]),a("set-picker-option",["handleCancel",x]),(P,V)=>(E(),le(Yn,{name:w.value},{default:ne(()=>[P.actualVisible||P.visible?(E(),D("div",{key:0,class:R(i(g).b("panel"))},[z("div",{class:R([i(g).be("panel","content"),{"has-seconds":y.value}])},[X(Ah,{ref:"spinner",role:P.datetimeRole||"start","arrow-control":i(r),"show-seconds":y.value,"am-pm-mode":S.value,"spinner-date":P.parsedValue,"disabled-hours":i(s),"disabled-minutes":i(l),"disabled-seconds":i(u),onChange:T,onSetOption:i(B),onSelectRange:I},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),z("div",{class:R(i(g).be("panel","footer"))},[z("button",{type:"button",class:R([i(g).be("panel","btn"),"cancel"]),onClick:x},Ce(i(h)("el.datepicker.cancel")),3),z("button",{type:"button",class:R([i(g).be("panel","btn"),"confirm"]),onClick:V[0]||(V[0]=F=>O())},Ce(i(h)("el.datepicker.confirm")),3)],2)],2)):re("v-if",!0)]),_:1},8,["name"]))}}),ld=yV;const wV=Ee({...ok,parsedValue:{type:G(Array)}}),SV=["disabled"];var CV=se({__name:"panel-time-range",props:wV,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,a=t,o=(Q,L)=>{const q=[];for(let te=Q;te<=L;te++)q.push(te);return q},{t:r,lang:s}=xt(),l=ge("time"),u=ge("picker"),c=$e(Go),{arrowControl:d,disabledHours:f,disabledMinutes:p,disabledSeconds:g,defaultValue:h}=c.props,v=C(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),k.value?"has-seconds":""]),m=C(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),k.value?"has-seconds":""]),b=C(()=>n.parsedValue[0]),w=C(()=>n.parsedValue[1]),y=bk(n,{modelValue:C(()=>c.props.modelValue),valueOnClear:C(()=>c?.emptyValues?c.emptyValues.valueOnClear.value:null)}),S=()=>{const Q=y.value;a("pick",Q,!1),Ne(()=>{y.value=Q})},k=C(()=>n.format.includes("ss")),x=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),O=(Q=!1)=>{a("pick",[b.value,w.value],Q)},T=Q=>{N(Q.millisecond(0),w.value)},I=Q=>{N(b.value,Q.millisecond(0))},_=Q=>{const L=Q.map(te=>rt(te).locale(s.value)),q=U(L);return L[0].isSame(q[0])&&L[1].isSame(q[1])},N=(Q,L)=>{n.visible&&a("pick",[Q,L],!0)},$=C(()=>b.value>w.value),B=M([0,2]),K=(Q,L)=>{a("select-range",Q,L,"min"),B.value=[Q,L]},j=C(()=>k.value?11:8),W=(Q,L)=>{a("select-range",Q,L,"max");const q=i(j);B.value=[Q+q,L+q]},A=Q=>{const L=k.value?[0,3,6,11,14,17]:[0,3,8,11],q=["hours","minutes"].concat(k.value?["seconds"]:[]),te=(L.indexOf(B.value[0])+Q+L.length)%L.length,fe=L.length/2;te<fe?ce.start_emitSelectRange(q[te]):ce.end_emitSelectRange(q[te-fe])},P=Q=>{const L=qt(Q),{left:q,right:te,up:fe,down:he}=Se;if([q,te].includes(L)){A(L===q?-1:1),Q.preventDefault();return}if([fe,he].includes(L)){const ve=L===fe?-1:1;ce[`${B.value[0]<j.value?"start":"end"}_scrollDown`](ve),Q.preventDefault();return}},V=(Q,L)=>{const q=f?f(Q):[],te=Q==="start",fe=(L||(te?w.value:b.value)).hour();return ep(q,te?o(fe+1,23):o(0,fe-1))},F=(Q,L,q)=>{const te=p?p(Q,L):[],fe=L==="start",he=q||(fe?w.value:b.value);if(Q!==he.hour())return te;const ve=he.minute();return ep(te,fe?o(ve+1,59):o(0,ve-1))},H=(Q,L,q,te)=>{const fe=g?g(Q,L,q):[],he=q==="start",ve=te||(he?w.value:b.value),Ie=ve.hour(),Le=ve.minute();if(Q!==Ie||L!==Le)return fe;const _e=ve.second();return ep(fe,he?o(_e+1,59):o(0,_e-1))},U=([Q,L])=>[Z(Q,"start",!0,L),Z(L,"end",!1,Q)],{getAvailableHours:J,getAvailableMinutes:ee,getAvailableSeconds:ae}=gk(V,F,H),{timePickerOptions:ce,getAvailableTime:Z,onSetOption:de}=vk({getAvailableHours:J,getAvailableMinutes:ee,getAvailableSeconds:ae}),ue=Q=>Q?we(Q)?Q.map(L=>rt(L,n.format).locale(s.value)):rt(Q,n.format).locale(s.value):null,Y=()=>{if(we(h))return h.map(L=>rt(L).locale(s.value));const Q=rt(h).locale(s.value);return[Q,Q.add(60,"m")]};return a("set-picker-option",["parseUserInput",ue]),a("set-picker-option",["isValidValue",_]),a("set-picker-option",["handleKeydownInput",P]),a("set-picker-option",["getDefaultValue",Y]),a("set-picker-option",["getRangeAvailableTime",U]),a("set-picker-option",["handleCancel",S]),(Q,L)=>Q.actualVisible?(E(),D("div",{key:0,class:R([i(l).b("range-picker"),i(u).b("panel")])},[z("div",{class:R(i(l).be("range-picker","content"))},[z("div",{class:R(i(l).be("range-picker","cell"))},[z("div",{class:R(i(l).be("range-picker","header"))},Ce(i(r)("el.datepicker.startTime")),3),z("div",{class:R(v.value)},[X(Ah,{ref:"minSpinner",role:"start","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":b.value,"disabled-hours":V,"disabled-minutes":F,"disabled-seconds":H,onChange:T,onSetOption:i(de),onSelectRange:K},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),z("div",{class:R(i(l).be("range-picker","cell"))},[z("div",{class:R(i(l).be("range-picker","header"))},Ce(i(r)("el.datepicker.endTime")),3),z("div",{class:R(m.value)},[X(Ah,{ref:"maxSpinner",role:"end","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":w.value,"disabled-hours":V,"disabled-minutes":F,"disabled-seconds":H,onChange:I,onSetOption:i(de),onSelectRange:W},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),z("div",{class:R(i(l).be("panel","footer"))},[z("button",{type:"button",class:R([i(l).be("panel","btn"),"cancel"]),onClick:L[0]||(L[0]=q=>S())},Ce(i(r)("el.datepicker.cancel")),3),z("button",{type:"button",class:R([i(l).be("panel","btn"),"confirm"]),disabled:$.value,onClick:L[1]||(L[1]=q=>O())},Ce(i(r)("el.datepicker.confirm")),11,SV)],2)],2)):re("v-if",!0)}}),kV=CV,yk={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},a=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,r=/\d\d/,s=/\d\d?/,l=/\d*[^-_:/,()\s\d]+/,u={},c=function(m){return(m=+m)+(m>68?1900:2e3)},d=function(m){return function(b){this[m]=+b}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=function(b){if(!b||b==="Z")return 0;var w=b.match(/([+-]|\d\d)/g),y=60*w[1]+(+w[2]||0);return y===0?0:w[0]==="+"?-y:y}(m)}],p=function(m){var b=u[m];return b&&(b.indexOf?b:b.s.concat(b.f))},g=function(m,b){var w,y=u.meridiem;if(y){for(var S=1;S<=24;S+=1)if(m.indexOf(y(S,0,b))>-1){w=S>12;break}}else w=m===(b?"pm":"PM");return w},h={A:[l,function(m){this.afternoon=g(m,!1)}],a:[l,function(m){this.afternoon=g(m,!0)}],Q:[o,function(m){this.month=3*(m-1)+1}],S:[o,function(m){this.milliseconds=100*+m}],SS:[r,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[s,d("seconds")],ss:[s,d("seconds")],m:[s,d("minutes")],mm:[s,d("minutes")],H:[s,d("hours")],h:[s,d("hours")],HH:[s,d("hours")],hh:[s,d("hours")],D:[s,d("day")],DD:[r,d("day")],Do:[l,function(m){var b=u.ordinal,w=m.match(/\d+/);if(this.day=w[0],b)for(var y=1;y<=31;y+=1)b(y).replace(/\[|\]/g,"")===m&&(this.day=y)}],w:[s,d("week")],ww:[r,d("week")],M:[s,d("month")],MM:[r,d("month")],MMM:[l,function(m){var b=p("months"),w=(p("monthsShort")||b.map(function(y){return y.slice(0,3)})).indexOf(m)+1;if(w<1)throw new Error;this.month=w%12||w}],MMMM:[l,function(m){var b=p("months").indexOf(m)+1;if(b<1)throw new Error;this.month=b%12||b}],Y:[/[+-]?\d+/,d("year")],YY:[r,function(m){this.year=c(m)}],YYYY:[/\d{4}/,d("year")],Z:f,ZZ:f};function v(m){var b,w;b=m,w=u&&u.formats;for(var y=(m=b.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(_,N,$){var B=$&&$.toUpperCase();return N||w[$]||n[$]||w[B].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(K,j,W){return j||W.slice(1)})})).match(a),S=y.length,k=0;k<S;k+=1){var x=y[k],O=h[x],T=O&&O[0],I=O&&O[1];y[k]=I?{regex:T,parser:I}:x.replace(/^\[|\]$/g,"")}return function(_){for(var N={},$=0,B=0;$<S;$+=1){var K=y[$];if(typeof K=="string")B+=K.length;else{var j=K.regex,W=K.parser,A=_.slice(B),P=j.exec(A)[0];W.call(N,P),_=_.replace(P,"")}}return function(V){var F=V.afternoon;if(F!==void 0){var H=V.hours;F?H<12&&(V.hours+=12):H===12&&(V.hours=0),delete V.afternoon}}(N),N}}return function(m,b,w){w.p.customParseFormat=!0,m&&m.parseTwoDigitYear&&(c=m.parseTwoDigitYear);var y=b.prototype,S=y.parse;y.parse=function(k){var x=k.date,O=k.utc,T=k.args;this.$u=O;var I=T[1];if(typeof I=="string"){var _=T[2]===!0,N=T[3]===!0,$=_||N,B=T[2];N&&(B=T[2]),u=this.$locale(),!_&&B&&(u=w.Ls[B]),this.$d=function(A,P,V,F){try{if(["x","X"].indexOf(P)>-1)return new Date((P==="X"?1e3:1)*A);var H=v(P)(A),U=H.year,J=H.month,ee=H.day,ae=H.hours,ce=H.minutes,Z=H.seconds,de=H.milliseconds,ue=H.zone,Y=H.week,Q=new Date,L=ee||(U||J?1:Q.getDate()),q=U||Q.getFullYear(),te=0;U&&!J||(te=J>0?J-1:Q.getMonth());var fe,he=ae||0,ve=ce||0,Ie=Z||0,Le=de||0;return ue?new Date(Date.UTC(q,te,L,he,ve,Ie,Le+60*ue.offset*1e3)):V?new Date(Date.UTC(q,te,L,he,ve,Ie,Le)):(fe=new Date(q,te,L,he,ve,Ie,Le),Y&&(fe=F(fe).week(Y).toDate()),fe)}catch{return new Date("")}}(x,I,O,w),this.init(),B&&B!==!0&&(this.$L=this.locale(B).$L),$&&x!=this.format(I)&&(this.$d=new Date("")),u={}}else if(I instanceof Array)for(var K=I.length,j=1;j<=K;j+=1){T[1]=I[j-1];var W=w.apply(this,T);if(W.isValid()){this.$d=W.$d,this.$L=W.$L,this.init();break}j===K&&(this.$d=new Date(""))}else S.call(this,k)}}})})(yk);var EV=yk.exports;const Vm=Or(EV);rt.extend(Vm);var xV=se({name:"ElTimePicker",install:null,props:{...Bm,isRange:Boolean},emits:[at],setup(e,t){const n=M(),[a,o]=e.isRange?["timerange",kV]:["time",ld],r=s=>t.emit(at,s);return St(Lm,e.popperOptions),t.expose({focus:()=>{n.value?.focus()},blur:()=>{n.value?.blur()},handleOpen:()=>{n.value?.handleOpen()},handleClose:()=>{n.value?.handleClose()}}),()=>X(sk,pt(e,{ref:n,type:a,format:e.format??"HH:mm:ss","onUpdate:modelValue":r}),{default:s=>X(o,s,null)})}});const TV=st(xV),gr=Ee({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:yo},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),OV={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},_V=["aria-label"],RV=["aria-label"];var IV=se({name:"ElTag",__name:"tag",props:gr,emits:OV,setup(e,{emit:t}){const n=e,a=t,o=In(),{t:r}=xt(),s=ge("tag"),l=C(()=>{const{type:f,hit:p,effect:g,closable:h,round:v}=n;return[s.b(),s.is("closable",h),s.m(f||"primary"),s.m(o.value),s.m(g),s.is("hit",p),s.is("round",v)]}),u=f=>{a("close",f)},c=f=>{a("click",f)},d=f=>{f?.component?.subTree?.component?.bum&&(f.component.subTree.component.bum=null)};return(f,p)=>e.disableTransitions?(E(),D("span",{key:0,class:R(l.value),style:ze({backgroundColor:e.color}),onClick:c},[z("span",{class:R(i(s).e("content"))},[oe(f.$slots,"default")],2),e.closable?(E(),D("button",{key:0,"aria-label":i(r)("el.tag.close"),class:R(i(s).e("close")),type:"button",onClick:Xe(u,["stop"])},[X(i(De),null,{default:ne(()=>[X(i(Qa))]),_:1})],10,_V)):re("v-if",!0)],6)):(E(),le(Yn,{key:1,name:`${i(s).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:d},{default:ne(()=>[z("span",{class:R(l.value),style:ze({backgroundColor:e.color}),onClick:c},[z("span",{class:R(i(s).e("content"))},[oe(f.$slots,"default")],2),e.closable?(E(),D("button",{key:0,"aria-label":i(r)("el.tag.close"),class:R(i(s).e("close")),type:"button",onClick:Xe(u,["stop"])},[X(i(De),null,{default:ne(()=>[X(i(Qa))]),_:1})],10,RV)):re("v-if",!0)],6)]),_:3},8,["name"]))}}),$V=IV;const cr=st($V),wk=Symbol("ElSelectGroup"),Du=Symbol("ElSelect"),id={label:"label",value:"value",disabled:"disabled",options:"options"};function Bu(e){const t=M({...id,...e.props});let n={...e.props};return pe(()=>e.props,l=>{fn(l,n)||(t.value={...id,...l},n={...l})},{deep:!0}),{aliasProps:t,getLabel:l=>yn(l,t.value.label),getValue:l=>yn(l,t.value.value),getDisabled:l=>yn(l,t.value.disabled),getOptions:l=>yn(l,t.value.options)}}const Sk=Ee({name:String,id:String,modelValue:{type:G([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:Nn,effect:{type:G(String),default:"light"},disabled:{type:Boolean,default:void 0},clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},popperOptions:{type:G(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:G(Function)},filterMethod:{type:G(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:G(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},teleported:Kt.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Ut,default:Yo},fitInputWidth:Boolean,suffixIcon:{type:Ut,default:qo},tagType:{...gr.type,default:"info"},tagEffect:{...gr.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:G(String),values:jo,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:Kt.appendTo,options:{type:G(Array)},props:{type:G(Object),default:()=>id},...zs,...ia(["ariaLabel"])}),NV={[at]:e=>!0,[yt]:e=>!0,"popup-scroll":au.scroll,"end-reached":au["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},Lh="ElOption",MV=Ee({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean});function PV(e,t){const n=$e(Du);n||sn(Lh,"usage: <el-select><el-option /></el-select/>");const a=$e(wk,{disabled:!1}),o=C(()=>d(Dn(n.props.modelValue),e.value)),r=C(()=>{if(n.props.multiple){const g=Dn(n.props.modelValue??[]);return!o.value&&g.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),s=C(()=>e.label??(ot(e.value)?"":e.value)),l=C(()=>e.value||e.label||""),u=C(()=>e.disabled||t.groupDisabled||r.value),c=dt(),d=(g=[],h)=>{if(ot(e.value)){const v=n.props.valueKey;return g&&g.some(m=>Jt(yn(m,v))===yn(h,v))}else return g&&g.includes(h)},f=()=>{u.value||(n.states.hoveringIndex=n.optionsArray.indexOf(c.proxy))},p=g=>{t.visible=new RegExp(lm(g),"i").test(String(s.value))||e.created};return pe(()=>s.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),pe(()=>e.value,(g,h)=>{const{remote:v,valueKey:m}=n.props;if((v?g!==h:!fn(g,h))&&(n.onOptionDestroy(h,c.proxy),n.onOptionCreate(c.proxy)),!e.created&&!v){if(m&&ot(g)&&ot(h)&&g[m]===h[m])return;n.setSelected()}}),pe(()=>a.disabled,()=>{t.groupDisabled=a.disabled},{immediate:!0}),{select:n,currentLabel:s,currentValue:l,itemSelected:o,isDisabled:u,hoverItem:f,updateOption:p}}var AV=se({name:Lh,componentName:Lh,props:MV,setup(e){const t=ge("select"),n=Gn(),a=C(()=>[t.be("dropdown","item"),t.is("disabled",i(l)),t.is("selected",i(s)),t.is("hovering",i(p))]),o=Dt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:r,itemSelected:s,isDisabled:l,select:u,hoverItem:c,updateOption:d}=PV(e,o),{visible:f,hover:p}=Pn(o),g=dt().proxy;u.onOptionCreate(g),Vt(()=>{const m=g.value;Ne(()=>{const{selected:b}=u.states,w=b.some(y=>y.value===g.value);u.states.cachedOptions.get(m)===g&&!w&&u.states.cachedOptions.delete(m)}),u.onOptionDestroy(m,g)});function h(){l.value||u.handleOptionSelect(g)}return{ns:t,id:n,containerKls:a,currentLabel:r,itemSelected:s,isDisabled:l,select:u,visible:f,hover:p,states:o,hoverItem:c,handleMousedown:m=>{let b=m.target;const w=m.currentTarget;for(;b&&b!==w;){if(Is(b))return;b=b.parentElement}m.preventDefault()},updateOption:d,selectOptionClick:h}}});const LV=["id","aria-disabled","aria-selected"];function DV(e,t,n,a,o,r){return ct((E(),D("li",{id:e.id,class:R(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMousemove:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s)),onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=Xe((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))},[oe(e.$slots,"default",{},()=>[z("span",null,Ce(e.currentLabel),1)])],42,LV)),[[$t,e.visible]])}var Fm=Mn(AV,[["render",DV]]),BV=se({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=ge("select"),n=M(),a=dt(),o=M([]);St(wk,Dt({...Pn(e)}));const r=C(()=>o.value.some(c=>c.visible===!0)),s=c=>c.type.name==="ElOption"&&!!c.component?.proxy,l=c=>{const d=Dn(c),f=[];return d.forEach(p=>{Zt(p)&&(s(p)?f.push(p.component.proxy):we(p.children)&&p.children.length?f.push(...l(p.children)):p.component?.subTree&&f.push(...l(p.component.subTree)))}),f},u=()=>{o.value=l(a.subTree)};return ht(()=>{u()}),Tu(n,u,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:r,ns:t}}});function VV(e,t,n,a,o,r){return ct((E(),D("ul",{ref:"groupRef",class:R(e.ns.be("group","wrap"))},[z("li",{class:R(e.ns.be("group","title"))},Ce(e.label),3),z("li",null,[z("ul",{class:R(e.ns.b("group"))},[oe(e.$slots,"default")],2)])],2)),[[$t,e.visible]])}var zm=Mn(BV,[["render",VV]]),FV=se({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=$e(Du),t=ge("select"),n=C(()=>e.props.popperClass),a=C(()=>e.props.multiple),o=C(()=>e.props.fitInputWidth),r=M("");function s(){const l=e.selectRef?.offsetWidth;l?r.value=`${l-2}px`:r.value=""}return ht(()=>{s(),an(e.selectRef,s)}),{ns:t,minWidth:r,popperClass:n,isMultiple:a,isFitInputWidth:o}}});function zV(e,t,n,a,o,r){return E(),D("div",{class:R([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:ze({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(E(),D("div",{key:0,class:R(e.ns.be("dropdown","header"))},[oe(e.$slots,"header")],2)):re("v-if",!0),oe(e.$slots,"default"),e.$slots.footer?(E(),D("div",{key:1,class:R(e.ns.be("dropdown","footer"))},[oe(e.$slots,"footer")],2)):re("v-if",!0)],6)}var HV=Mn(FV,[["render",zV]]);const KV=(e,t)=>{const{t:n}=xt(),a=wn(),o=Gn(),r=ge("select"),s=ge("input"),l=Dt({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),u=M(),c=M(),d=M(),f=M(),p=M(),g=M(),h=M(),v=M(),m=M(),b=M(),w=M(),y=M(!1),S=M(),k=M(!1),{form:x,formItem:O}=Fn(),{inputId:T}=_a(e,{formItemContext:O}),{valueOnClear:I,isEmptyValue:_}=Au(e),{isComposing:N,handleCompositionStart:$,handleCompositionUpdate:B,handleCompositionEnd:K}=Pu({afterComposition:Re=>gt(Re)}),j=un(),{wrapperRef:W,isFocused:A,handleBlur:P}=Er(p,{disabled:j,afterFocus(){e.automaticDropdown&&!y.value&&(y.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(Re){return d.value?.isFocusInsideContent(Re)||f.value?.isFocusInsideContent(Re)},afterBlur(){y.value=!1,l.menuVisibleOnFocus=!1,e.validateEvent&&O?.validate?.("blur").catch(ut)}}),V=C(()=>we(e.modelValue)?e.modelValue.length>0:!_(e.modelValue)),F=C(()=>x?.statusIcon??!1),H=C(()=>e.clearable&&!j.value&&V.value&&(A.value||l.inputHovering)),U=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),J=C(()=>r.is("reverse",!!(U.value&&y.value))),ee=C(()=>O?.validateState||""),ae=C(()=>ee.value&&hf[ee.value]),ce=C(()=>e.remote?e.debounce:0),Z=C(()=>e.remote&&!l.inputValue&&l.options.size===0),de=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&l.inputValue&&l.options.size>0&&ue.value===0?e.noMatchText||n("el.select.noMatch"):l.options.size===0?e.noDataText||n("el.select.noData"):null),ue=C(()=>Y.value.filter(Re=>Re.visible).length),Y=C(()=>{const Re=Array.from(l.options.values()),mt=[];return l.optionValues.forEach(Ft=>{const tn=Re.findIndex(_n=>_n.value===Ft);tn>-1&&mt.push(Re[tn])}),mt.length>=Re.length?mt:Re}),Q=C(()=>Array.from(l.cachedOptions.values())),L=C(()=>{const Re=Y.value.filter(mt=>!mt.created).some(mt=>mt.currentLabel===l.inputValue);return e.filterable&&e.allowCreate&&l.inputValue!==""&&!Re}),q=()=>{e.filterable&&Fe(e.filterMethod)||e.filterable&&e.remote&&Fe(e.remoteMethod)||Y.value.forEach(Re=>{Re.updateOption?.(l.inputValue)})},te=In(),fe=C(()=>["small"].includes(te.value)?"small":"default"),he=C({get(){return y.value&&(e.loading||!Z.value||e.remote&&!!a.empty)&&(!k.value||!ha(l.previousQuery)||l.options.size>0)},set(Re){y.value=Re}}),ve=C(()=>{if(e.multiple&&!Rt(e.modelValue))return Dn(e.modelValue).length===0&&!l.inputValue;const Re=we(e.modelValue)?e.modelValue[0]:e.modelValue;return e.filterable||Rt(Re)?!l.inputValue:!0}),Ie=C(()=>{const Re=e.placeholder??n("el.select.placeholder");return e.multiple||!V.value?Re:l.selectedLabel}),Le="mouseenter";pe(()=>e.modelValue,(Re,mt)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(l.inputValue="",_e("")),Te(),!fn(Re,mt)&&e.validateEvent&&O?.validate("change").catch(ut)},{flush:"post",deep:!0}),pe(()=>y.value,Re=>{Re?_e(l.inputValue):(l.inputValue="",l.previousQuery=null,l.isBeforeHide=!0,l.menuVisibleOnFocus=!1)}),pe(()=>l.options.entries(),()=>{Lt&&(Te(),e.defaultFirstOption&&(e.filterable||e.remote)&&ue.value&&ye())},{flush:"post"}),pe([()=>l.hoveringIndex,Y],([Re])=>{Be(Re)&&Re>-1?S.value=Y.value[Re]||{}:S.value={},Y.value.forEach(mt=>{mt.hover=S.value===mt})}),la(()=>{l.isBeforeHide||q()});const _e=Re=>{l.previousQuery===Re||N.value||(l.previousQuery=Re,e.filterable&&Fe(e.filterMethod)?e.filterMethod(Re):e.filterable&&e.remote&&Fe(e.remoteMethod)&&e.remoteMethod(Re),e.defaultFirstOption&&(e.filterable||e.remote)&&ue.value?Ne(ye):Ne(Pe))},ye=()=>{const Re=Y.value.filter(tn=>tn.visible&&!tn.disabled&&!tn.states.groupDisabled),mt=Re.find(tn=>tn.created),Ft=Re[0];l.hoveringIndex=xe(Y.value.map(tn=>tn.value),mt||Ft)},Te=()=>{if(e.multiple)l.selectedLabel="";else{const mt=be(we(e.modelValue)?e.modelValue[0]:e.modelValue);l.selectedLabel=mt.currentLabel,l.selected=[mt];return}const Re=[];Rt(e.modelValue)||Dn(e.modelValue).forEach(mt=>{Re.push(be(mt))}),l.selected=Re},be=Re=>{let mt;const Ft=Vi(Re);for(let _n=l.cachedOptions.size-1;_n>=0;_n--){const wa=Q.value[_n];if(Ft?yn(wa.value,e.valueKey)===yn(Re,e.valueKey):wa.value===Re){mt={index:Y.value.filter(_r=>!_r.created).indexOf(wa),value:Re,currentLabel:wa.currentLabel,get isDisabled(){return wa.isDisabled}};break}}if(mt)return mt;const tn=l.selected.find(_n=>Ft?yn(_n.value,e.valueKey)===yn(Re,e.valueKey):_n.value===Re);return{index:-1,value:Re,currentLabel:Ft?Re.label:tn?tn.currentLabel:Re??""}},Pe=()=>{const Re=l.selected.length;if(Re>0){const mt=l.selected[Re-1];l.hoveringIndex=Y.value.findIndex(Ft=>Oe(mt)===Oe(Ft))}else l.hoveringIndex=-1},He=()=>{l.selectionWidth=Number.parseFloat(window.getComputedStyle(c.value).width)},Je=()=>{l.collapseItemWidth=b.value.getBoundingClientRect().width},Qe=()=>{d.value?.updatePopper?.()},lt=()=>{f.value?.updatePopper?.()},Ze=()=>{l.inputValue.length>0&&!y.value&&(y.value=!0),_e(l.inputValue)},gt=Re=>{if(l.inputValue=Re.target.value,e.remote)k.value=!0,Pt();else return Ze()},Pt=xu(()=>{Ze(),k.value=!1},ce),zt=Re=>{fn(e.modelValue,Re)||t(yt,Re)},nt=Re=>SS(Re,mt=>{const Ft=l.cachedOptions.get(mt);return!Ft?.disabled&&!Ft?.states.groupDisabled}),ft=Re=>{const mt=qt(Re);if(e.multiple&&mt!==Se.delete&&Re.target.value.length<=0){const Ft=Dn(e.modelValue).slice(),tn=nt(Ft);if(tn<0)return;const _n=Ft[tn];Ft.splice(tn,1),t(at,Ft),zt(Ft),t("remove-tag",_n)}},me=(Re,mt)=>{const Ft=l.selected.indexOf(mt);if(Ft>-1&&!j.value){const tn=Dn(e.modelValue).slice();tn.splice(Ft,1),t(at,tn),zt(tn),t("remove-tag",mt.value)}Re.stopPropagation(),Yt()},je=Re=>{Re.stopPropagation();const mt=e.multiple?[]:I.value;if(e.multiple)for(const Ft of l.selected)Ft.isDisabled&&mt.push(Ft.value);t(at,mt),zt(mt),l.hoveringIndex=-1,y.value=!1,t("clear"),Yt()},ie=Re=>{if(e.multiple){const mt=Dn(e.modelValue??[]).slice(),Ft=xe(mt,Re);Ft>-1?mt.splice(Ft,1):(e.multipleLimit<=0||mt.length<e.multipleLimit)&&mt.push(Re.value),t(at,mt),zt(mt),Re.created&&_e(""),e.filterable&&(Re.created||!e.reserveKeyword)&&(l.inputValue="")}else!fn(e.modelValue,Re.value)&&t("update:modelValue",Re.value),zt(Re.value),y.value=!1;Yt(),!y.value&&Ne(()=>{Ue(Re)})},xe=(Re,mt)=>Rt(mt)?-1:ot(mt.value)?Re.findIndex(Ft=>fn(yn(Ft,e.valueKey),Oe(mt))):Re.indexOf(mt.value),Ue=Re=>{const mt=we(Re)?Re[Re.length-1]:Re;let Ft=null;if(!En(mt?.value)){const tn=Y.value.filter(_n=>_n.value===mt.value);tn.length>0&&(Ft=tn[0].$el)}if(d.value&&Ft){const tn=d.value?.popperRef?.contentRef?.querySelector?.(`.${r.be("dropdown","wrap")}`);tn&&cm(tn,Ft)}w.value?.handleScroll()},et=Re=>{l.options.set(Re.value,Re),l.cachedOptions.set(Re.value,Re)},bt=(Re,mt)=>{l.options.get(Re)===mt&&l.options.delete(Re)},vt=C(()=>d.value?.popperRef?.contentRef),Et=()=>{l.isBeforeHide=!1,Ne(()=>{w.value?.update(),Ue(l.selected)})},Yt=()=>{p.value?.focus()},on=()=>{if(y.value){y.value=!1,Ne(()=>p.value?.blur());return}p.value?.blur()},At=Re=>{je(Re)},en=Re=>{if(y.value=!1,A.value){const mt=new FocusEvent("blur",Re);Ne(()=>P(mt))}},Ye=()=>{l.inputValue.length>0?l.inputValue="":y.value=!1},Ge=Re=>{j.value||e.filterable&&y.value&&Re&&!h.value?.contains(Re.target)||(l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:y.value=!y.value)},tt=()=>{if(!y.value)Ge();else{const Re=Y.value[l.hoveringIndex];Re&&!Re.isDisabled&&ie(Re)}},Oe=Re=>ot(Re.value)?yn(Re.value,e.valueKey):Re.value,Ke=C(()=>Y.value.filter(Re=>Re.visible).every(Re=>Re.isDisabled)),We=C(()=>e.multiple?e.collapseTags?l.selected.slice(0,e.maxCollapseTags):l.selected:[]),Xt=C(()=>e.multiple?e.collapseTags?l.selected.slice(e.maxCollapseTags):[]:[]),cn=Re=>{if(!y.value){y.value=!0;return}if(!(l.options.size===0||ue.value===0||N.value)&&!Ke.value){Re==="next"?(l.hoveringIndex++,l.hoveringIndex===l.options.size&&(l.hoveringIndex=0)):Re==="prev"&&(l.hoveringIndex--,l.hoveringIndex<0&&(l.hoveringIndex=l.options.size-1));const mt=Y.value[l.hoveringIndex];(mt.isDisabled||!mt.visible)&&cn(Re),Ne(()=>Ue(S.value))}},On=(Re,mt,Ft,tn)=>{for(let _n=mt;_n>=0&&_n<tn;_n+=Ft){const wa=Re[_n];if(!wa?.isDisabled&&wa?.visible)return _n}return null},Xn=(Re,mt)=>{const Ft=l.options.size;if(Ft===0)return;const tn=Ma(Re,0,Ft-1),_n=Y.value,wa=mt==="up"?-1:1,_r=On(_n,tn,wa,Ft)??On(_n,tn-wa,-wa,Ft);_r!=null&&(l.hoveringIndex=_r,Ne(()=>Ue(S.value)))},ya=Re=>{const mt=qt(Re);let Ft=!0;switch(mt){case Se.up:cn("prev");break;case Se.down:cn("next");break;case Se.enter:case Se.numpadEnter:N.value||tt();break;case Se.esc:Ye();break;case Se.backspace:Ft=!1,ft(Re);return;case Se.home:if(!y.value)return;Xn(0,"down");break;case Se.end:if(!y.value)return;Xn(l.options.size-1,"up");break;case Se.pageUp:if(!y.value)return;Xn(l.hoveringIndex-10,"up");break;case Se.pageDown:if(!y.value)return;Xn(l.hoveringIndex+10,"down");break;default:Ft=!1;break}Ft&&(Re.preventDefault(),Re.stopPropagation())},to=()=>{if(!c.value)return 0;const Re=window.getComputedStyle(c.value);return Number.parseFloat(Re.gap||"6px")},Mf=C(()=>{const Re=to(),mt=e.filterable?Re+11:0;return{maxWidth:`${b.value&&e.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-Re-mt:l.selectionWidth-mt}px`}}),Pf=C(()=>({maxWidth:`${l.selectionWidth}px`})),Af=Re=>{t("popup-scroll",Re)},Lf=Re=>{t("end-reached",Re)};an(c,He),an(W,Qe),an(m,lt),an(b,Je);let Ks;return pe(()=>he.value,Re=>{Re?Ks=an(v,Qe).stop:(Ks?.(),Ks=void 0),t("visible-change",Re)}),ht(()=>{Te()}),{inputId:T,contentId:o,nsSelect:r,nsInput:s,states:l,isFocused:A,expanded:y,optionsArray:Y,hoverOption:S,selectSize:te,filteredOptionsCount:ue,updateTooltip:Qe,updateTagTooltip:lt,debouncedOnInputChange:Pt,onInput:gt,deletePrevTag:ft,deleteTag:me,deleteSelected:je,handleOptionSelect:ie,scrollToOption:Ue,hasModelValue:V,shouldShowPlaceholder:ve,currentPlaceholder:Ie,mouseEnterEventName:Le,needStatusIcon:F,showClearBtn:H,iconComponent:U,iconReverse:J,validateState:ee,validateIcon:ae,showNewOption:L,updateOptions:q,collapseTagSize:fe,setSelected:Te,selectDisabled:j,emptyText:de,handleCompositionStart:$,handleCompositionUpdate:B,handleCompositionEnd:K,handleKeydown:ya,onOptionCreate:et,onOptionDestroy:bt,handleMenuEnter:Et,focus:Yt,blur:on,handleClearClick:At,handleClickOutside:en,handleEsc:Ye,toggleMenu:Ge,selectOption:tt,getValueKey:Oe,navigateOptions:cn,dropdownMenuVisible:he,showTagList:We,collapseTagList:Xt,popupScroll:Af,getOption:be,endReached:Lf,tagStyle:Mf,collapseTagStyle:Pf,popperRef:vt,inputRef:p,tooltipRef:d,tagTooltipRef:f,prefixRef:g,suffixRef:h,selectRef:u,wrapperRef:W,selectionRef:c,scrollbarRef:w,menuRef:v,tagMenuRef:m,collapseItemRef:b}};var WV=se({name:"ElOptions",setup(e,{slots:t}){const n=$e(Du);let a=[];return()=>{const o=t.default?.(),r=[];function s(l){we(l)&&l.forEach(u=>{const c=(u?.type||{})?.name;c==="ElOptionGroup"?s(!Ae(u.children)&&!we(u.children)&&Fe(u.children?.default)?u.children?.default():u.children):c==="ElOption"?r.push(u.props?.value):we(u.children)&&s(u.children)})}return o.length&&s(o[0]?.children),fn(r,a)||(a=r,n&&(n.states.optionValues=r)),o}}});const w0="ElSelect",ou=new WeakMap,jV=e=>(...t)=>{const n=t[0];if(!n||n.includes('Slot "default" invoked outside of the render function')&&t[2]?.includes("ElTreeSelect"))return;const a=ou.get(e)?.originalWarnHandler;if(a){a(...t);return}console.warn(...t)},UV=e=>{let t=ou.get(e);return t||(t={originalWarnHandler:e.config.warnHandler,handler:jV(e),count:0},ou.set(e,t)),t};var qV=se({name:w0,componentName:w0,components:{ElSelectMenu:HV,ElOption:Fm,ElOptions:WV,ElOptionGroup:zm,ElTag:cr,ElScrollbar:vo,ElTooltip:Wn,ElIcon:De},directives:{ClickOutside:Qr},props:Sk,emits:NV,setup(e,{emit:t,slots:n}){const a=dt(),o=UV(a.appContext);o.count+=1,a.appContext.config.warnHandler=o.handler;const r=C(()=>{const{modelValue:w,multiple:y}=e,S=y?[]:void 0;return we(w)?y?w:S:y?S:w}),s=Dt({...Pn(e),modelValue:r}),l=KV(s,t),{calculatorRef:u,inputStyle:c}=sm(),{getLabel:d,getValue:f,getOptions:p,getDisabled:g}=Bu(e),h=w=>({label:d(w),value:f(w),disabled:g(w)}),v=w=>w.reduce((y,S)=>(y.push(S),S.children&&S.children.length>0&&y.push(...v(S.children)),y),[]),m=w=>{Aa(w||[]).forEach(y=>{if(ot(y)&&(y.type.name==="ElOption"||y.type.name==="ElTree")){const S=y.type.name;if(S==="ElTree")v(y.props?.data||[]).forEach(k=>{k.currentLabel=k.label??(ot(k.value)?"":k.value),l.onOptionCreate(k)});else if(S==="ElOption"){const k={...y.props};k.currentLabel=k.label??(ot(k.value)?"":k.value),l.onOptionCreate(k)}}})};pe(()=>[e.persistent||l.expanded.value||!n.default?void 0:n.default?.(),r.value],()=>{e.persistent||l.expanded.value||n.default&&(l.states.options.clear(),m(n.default?.()))},{immediate:!0}),St(Du,Dt({props:s,states:l.states,selectRef:l.selectRef,optionsArray:l.optionsArray,setSelected:l.setSelected,handleOptionSelect:l.handleOptionSelect,onOptionCreate:l.onOptionCreate,onOptionDestroy:l.onOptionDestroy}));const b=C(()=>e.multiple?l.states.selected.map(w=>w.currentLabel):l.states.selectedLabel);return Vt(()=>{const w=ou.get(a.appContext);w&&(w.count-=1,w.count<=0&&(a.appContext.config.warnHandler=w.originalWarnHandler,ou.delete(a.appContext)))}),{...l,modelValue:r,selectedLabel:b,calculatorRef:u,inputStyle:c,getLabel:d,getValue:f,getOptions:p,getDisabled:g,getOptionProps:h}}});const YV=["id","value","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],GV=["textContent"],XV={key:1};function JV(e,t,n,a,o,r){const s=Mt("el-tag"),l=Mt("el-tooltip"),u=Mt("el-icon"),c=Mt("el-option"),d=Mt("el-option-group"),f=Mt("el-options"),p=Mt("el-scrollbar"),g=Mt("el-select-menu"),h=Lv("click-outside");return ct((E(),D("div",pt({ref:"selectRef",class:[e.nsSelect.b(),e.nsSelect.m(e.selectSize)]},{[yi(e.mouseEnterEventName)]:t[11]||(t[11]=v=>e.states.inputHovering=!0)},{onMouseleave:t[12]||(t[12]=v=>e.states.inputHovering=!1)}),[X(l,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[10]||(t[10]=v=>e.states.isBeforeHide=!1)},{default:ne(()=>[z("div",{ref:"wrapperRef",class:R([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[7]||(t[7]=Xe((...v)=>e.toggleMenu&&e.toggleMenu(...v),["prevent"]))},[e.$slots.prefix?(E(),D("div",{key:0,ref:"prefixRef",class:R(e.nsSelect.e("prefix"))},[oe(e.$slots,"prefix")],2)):re("v-if",!0),z("div",{ref:"selectionRef",class:R([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?oe(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),D(Ve,null,kt(e.showTagList,v=>(E(),D("div",{key:e.getValueKey(v),class:R(e.nsSelect.e("selected-item"))},[X(s,{closable:!e.selectDisabled&&!v.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:ze(e.tagStyle),onClose:m=>e.deleteTag(m,v)},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))},[oe(e.$slots,"label",{index:v.index,label:v.currentLabel,value:v.value},()=>[wt(Ce(v.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(E(),le(l,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ne(()=>[z("div",{ref:"collapseItemRef",class:R(e.nsSelect.e("selected-item"))},[X(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:ze(e.collapseTagStyle)},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))}," + "+Ce(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ne(()=>[z("div",{ref:"tagMenuRef",class:R(e.nsSelect.e("selection"))},[(E(!0),D(Ve,null,kt(e.collapseTagList,v=>(E(),D("div",{key:e.getValueKey(v),class:R(e.nsSelect.e("selected-item"))},[X(s,{class:"in-tooltip",closable:!e.selectDisabled&&!v.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:m=>e.deleteTag(m,v)},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))},[oe(e.$slots,"label",{index:v.index,label:v.currentLabel,value:v.value},()=>[wt(Ce(v.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):re("v-if",!0)]):re("v-if",!0),z("div",{class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||!e.states.inputValue&&!e.isFocused)])},[z("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,type:"text",name:e.name,class:R([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:ze(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":e.hoverOption?.id||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:t[0]||(t[0]=(...v)=>e.handleKeydown&&e.handleKeydown(...v)),onCompositionstart:t[1]||(t[1]=(...v)=>e.handleCompositionStart&&e.handleCompositionStart(...v)),onCompositionupdate:t[2]||(t[2]=(...v)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...v)),onCompositionend:t[3]||(t[3]=(...v)=>e.handleCompositionEnd&&e.handleCompositionEnd(...v)),onInput:t[4]||(t[4]=(...v)=>e.onInput&&e.onInput(...v)),onChange:t[5]||(t[5]=Xe(()=>{},["stop"])),onClick:t[6]||(t[6]=Xe((...v)=>e.toggleMenu&&e.toggleMenu(...v),["stop"]))},null,46,YV),e.filterable?(E(),D("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:R(e.nsSelect.e("input-calculator")),textContent:Ce(e.states.inputValue)},null,10,GV)):re("v-if",!0)],2),e.shouldShowPlaceholder?(E(),D("div",{key:1,class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?oe(e.$slots,"label",{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[z("span",null,Ce(e.currentPlaceholder),1)]):(E(),D("span",XV,Ce(e.currentPlaceholder),1))],2)):re("v-if",!0)],2),z("div",{ref:"suffixRef",class:R(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(E(),le(u,{key:0,class:R([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:ne(()=>[(E(),le(it(e.iconComponent)))]),_:1},8,["class"])):re("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),le(u,{key:1,class:R([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class","onClick"])):re("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),le(u,{key:2,class:R([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ne(()=>[(E(),le(it(e.validateIcon)))]),_:1},8,["class"])):re("v-if",!0)],2)],2)]),content:ne(()=>[X(g,{ref:"menuRef"},{default:ne(()=>[e.$slots.header?(E(),D("div",{key:0,class:R(e.nsSelect.be("dropdown","header")),onClick:t[8]||(t[8]=Xe(()=>{},["stop"]))},[oe(e.$slots,"header")],2)):re("v-if",!0),ct(X(p,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:R([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll,onEndReached:e.endReached},{default:ne(()=>[e.showNewOption?(E(),le(c,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):re("v-if",!0),X(f,null,{default:ne(()=>[oe(e.$slots,"default",{},()=>[(E(!0),D(Ve,null,kt(e.options,(v,m)=>(E(),D(Ve,{key:m},[e.getOptions(v)?.length?(E(),le(d,{key:0,label:e.getLabel(v),disabled:e.getDisabled(v)},{default:ne(()=>[(E(!0),D(Ve,null,kt(e.getOptions(v),b=>(E(),le(c,pt({key:e.getValue(b)},{ref_for:!0},e.getOptionProps(b)),null,16))),128))]),_:2},1032,["label","disabled"])):(E(),le(c,pt({key:1,ref_for:!0},e.getOptionProps(v)),null,16))],64))),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll","onEndReached"]),[[$t,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(E(),D("div",{key:1,class:R(e.nsSelect.be("dropdown","loading"))},[oe(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(E(),D("div",{key:2,class:R(e.nsSelect.be("dropdown","empty"))},[oe(e.$slots,"empty",{},()=>[z("span",null,Ce(e.emptyText),1)])],2)):re("v-if",!0),e.$slots.footer?(E(),D("div",{key:3,class:R(e.nsSelect.be("dropdown","footer")),onClick:t[9]||(t[9]=Xe(()=>{},["stop"]))},[oe(e.$slots,"footer")],2)):re("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],16)),[[h,e.handleClickOutside,e.popperRef]])}var ZV=Mn(qV,[["render",JV]]);const es=st(ZV,{Option:Fm,OptionGroup:zm}),ud=ln(Fm),QV=ln(zm),e5=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return jr(t).map((a,o)=>n-(t-o-1))},t5=e=>jr(e.daysInMonth()).map((t,n)=>n+1),n5=e=>jr(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),a5=Ee({selectedDay:{type:G(Object)},range:{type:G(Array)},date:{type:G(Object),required:!0},hideHeader:{type:Boolean}}),o5={pick:e=>ot(e)};var Ck={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a,o){var r=a.prototype,s=function(f){return f&&(f.indexOf?f:f.s)},l=function(f,p,g,h,v){var m=f.name?f:f.$locale(),b=s(m[p]),w=s(m[g]),y=b||w.map(function(k){return k.slice(0,h)});if(!v)return y;var S=m.weekStart;return y.map(function(k,x){return y[(x+(S||0))%7]})},u=function(){return o.Ls[o.locale()]},c=function(f,p){return f.formats[p]||function(g){return g.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(h,v,m){return v||m.slice(1)})}(f.formats[p.toUpperCase()])},d=function(){var f=this;return{months:function(p){return p?p.format("MMMM"):l(f,"months")},monthsShort:function(p){return p?p.format("MMM"):l(f,"monthsShort","months",3)},firstDayOfWeek:function(){return f.$locale().weekStart||0},weekdays:function(p){return p?p.format("dddd"):l(f,"weekdays")},weekdaysMin:function(p){return p?p.format("dd"):l(f,"weekdaysMin","weekdays",2)},weekdaysShort:function(p){return p?p.format("ddd"):l(f,"weekdaysShort","weekdays",3)},longDateFormat:function(p){return c(f.$locale(),p)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return d.bind(this)()},o.localeData=function(){var f=u();return{firstDayOfWeek:function(){return f.weekStart||0},weekdays:function(){return o.weekdays()},weekdaysShort:function(){return o.weekdaysShort()},weekdaysMin:function(){return o.weekdaysMin()},months:function(){return o.months()},monthsShort:function(){return o.monthsShort()},longDateFormat:function(p){return c(f,p)},meridiem:f.meridiem,ordinal:f.ordinal}},o.months=function(){return l(u(),"months")},o.monthsShort=function(){return l(u(),"monthsShort","months",3)},o.weekdays=function(f){return l(u(),"weekdays",null,null,f)},o.weekdaysShort=function(f){return l(u(),"weekdaysShort","weekdays",3,f)},o.weekdaysMin=function(f){return l(u(),"weekdaysMin","weekdays",2,f)}}})})(Ck);var r5=Ck.exports;const kk=Or(r5),s5=(e,t)=>{rt.extend(kk);const n=rt.localeData().firstDayOfWeek(),{t:a,lang:o}=xt(),r=rt().locale(o.value),s=C(()=>!!e.range&&!!e.range.length),l=C(()=>{let p=[];if(s.value){const[g,h]=e.range,v=jr(h.date()-g.date()+1).map(w=>({text:g.date()+w,type:"current"}));let m=v.length%7;m=m===0?0:7-m;const b=jr(m).map((w,y)=>({text:y+1,type:"next"}));p=v.concat(b)}else{const g=e.date.startOf("month").day(),h=e5(e.date,(g-n+7)%7).map(b=>({text:b,type:"prev"})),v=t5(e.date).map(b=>({text:b,type:"current"}));p=[...h,...v];const m=jr(7-(p.length%7||7)).map((b,w)=>({text:w+1,type:"next"}));p=p.concat(m)}return n5(p)}),u=C(()=>{const p=n;return p===0?Gf.map(g=>a(`el.datepicker.weeks.${g}`)):Gf.slice(p).concat(Gf.slice(0,p)).map(g=>a(`el.datepicker.weeks.${g}`))}),c=(p,g)=>{switch(g){case"prev":return e.date.startOf("month").subtract(1,"month").date(p);case"next":return e.date.startOf("month").add(1,"month").date(p);case"current":return e.date.date(p)}};return{now:r,isInRange:s,rows:l,weekDays:u,getFormattedDate:c,handlePickDay:({text:p,type:g})=>{t("pick",c(p,g))},getSlotData:({text:p,type:g})=>{const h=c(p,g);return{isSelected:h.isSame(e.selectedDay),type:`${g}-month`,day:h.format(tl),date:h.toDate()}}}},l5={key:0},i5=["onClick"];var u5=se({name:"DateTable",__name:"date-table",props:a5,emits:o5,setup(e,{expose:t,emit:n}){const a=e,{isInRange:o,now:r,rows:s,weekDays:l,getFormattedDate:u,handlePickDay:c,getSlotData:d}=s5(a,n),f=ge("calendar-table"),p=ge("calendar-day"),g=({text:h,type:v})=>{const m=[v];if(v==="current"){const b=u(h,v);b.isSame(a.selectedDay,"day")&&m.push(p.is("selected")),b.isSame(r,"day")&&m.push(p.is("today"))}return m};return t({getFormattedDate:u}),(h,v)=>(E(),D("table",{class:R([i(f).b(),i(f).is("range",i(o))]),cellspacing:"0",cellpadding:"0"},[e.hideHeader?re("v-if",!0):(E(),D("thead",l5,[z("tr",null,[(E(!0),D(Ve,null,kt(i(l),m=>(E(),D("th",{key:m,scope:"col"},Ce(m),1))),128))])])),z("tbody",null,[(E(!0),D(Ve,null,kt(i(s),(m,b)=>(E(),D("tr",{key:b,class:R({[i(f).e("row")]:!0,[i(f).em("row","hide-border")]:b===0&&e.hideHeader})},[(E(!0),D(Ve,null,kt(m,(w,y)=>(E(),D("td",{key:y,class:R(g(w)),onClick:S=>i(c)(w)},[z("div",{class:R(i(p).b())},[oe(h.$slots,"date-cell",{data:i(d)(w)},()=>[z("span",null,Ce(w.text),1)])],2)],10,i5))),128))],2))),128))])],2))}}),S0=u5;const c5=(e,t)=>{const n=e.endOf("month"),a=t.startOf("month"),o=n.isSame(a,"week")?a.add(1,"week"):a;return[[e,n],[o.startOf("week"),t]]},d5=(e,t)=>{const n=e.endOf("month"),a=e.add(1,"month").startOf("month"),o=n.isSame(a,"week")?a.add(1,"week"):a,r=o.endOf("month"),s=t.startOf("month"),l=r.isSame(s,"week")?s.add(1,"week"):s;return[[e,n],[o.startOf("week"),r],[l.startOf("week"),t]]},f5=(e,t,n)=>{const{lang:a}=xt(),o=M(),r=rt().locale(a.value),s=C({get(){return e.modelValue?u.value:o.value},set(b){if(!b)return;o.value=b;const w=b.toDate();t(Tn,w),t(at,w)}}),l=C(()=>{if(!e.range||!we(e.range)||e.range.length!==2||e.range.some(y=>!Ur(y)))return[];const[b,w]=e.range.map(y=>rt(y).locale(a.value));return b.isAfter(w)?(jt(n,"end time should be greater than start time"),[]):b.isSame(w,"month")?g(b,w):b.add(1,"month").month()!==w.month()?(jt(n,"start time and end time interval must not exceed two months"),[]):g(b,w)}),u=C(()=>e.modelValue?rt(e.modelValue).locale(a.value):s.value||(l.value.length?l.value[0][0]:r)),c=C(()=>u.value.subtract(1,"month").date(1)),d=C(()=>u.value.add(1,"month").date(1)),f=C(()=>u.value.subtract(1,"year").date(1)),p=C(()=>u.value.add(1,"year").date(1)),g=(b,w)=>{const y=b.startOf("week"),S=w.endOf("week"),k=y.get("month"),x=S.get("month");return k===x?[[y,S]]:(k+1)%12===x?c5(y,S):k+2===x||(k+1)%11===x?d5(y,S):(jt(n,"start time and end time interval must not exceed two months"),[])},h=b=>{s.value=b},v=b=>{const w={"prev-month":c.value,"next-month":d.value,"prev-year":f.value,"next-year":p.value,today:r}[b];w.isSame(u.value,"day")||h(w)};return{calculateValidatedDateRange:g,date:u,realSelectedDay:s,pickDay:h,selectDate:v,validatedRange:l,handleDateChange:b=>{b==="today"?v("today"):h(b)}}},p5=Ee({date:{type:G(Object),required:!0},formatter:{type:G(Function)}}),h5={"date-change":e=>ot(e)||Ae(e)};var v5=se({name:"SelectController",__name:"select-controller",props:p5,emits:h5,setup(e,{emit:t}){const n=e,a=t,o=ge("calendar-select"),{t:r,lang:s}=xt(),l=Array.from({length:12},(h,v)=>{const m=v+1;return{value:m,label:Fe(n.formatter)?n.formatter(m,"month"):m}}),u=C(()=>n.date.year()),c=C(()=>n.date.month()+1),d=C(()=>{const h=[];for(let v=-10;v<10;v++){const m=u.value+v;if(m>0){const b=Fe(n.formatter)?n.formatter(m,"year"):m;h.push({value:m,label:b})}}return h}),f=h=>{a("date-change",rt(new Date(h,c.value-1,1)).locale(s.value))},p=h=>{a("date-change",rt(new Date(u.value,h-1,1)).locale(s.value))},g=()=>{a("date-change","today")};return(h,v)=>(E(),D(Ve,null,[X(i(es),{"model-value":u.value,size:"small",class:R(i(o).e("year")),"validate-event":!1,options:d.value,onChange:f},null,8,["model-value","class","options"]),X(i(es),{"model-value":c.value,size:"small",class:R(i(o).e("month")),"validate-event":!1,options:i(l),onChange:p},null,8,["model-value","class","options"]),X(i(Bn),{size:"small",onClick:g},{default:ne(()=>[wt(Ce(i(r)("el.datepicker.today")),1)]),_:1})],64))}}),m5=v5;const C0="ElCalendar";var g5=se({name:C0,__name:"calendar",props:XB,emits:JB,setup(e,{expose:t,emit:n}){const a=ge("calendar"),{calculateValidatedDateRange:o,date:r,pickDay:s,realSelectedDay:l,selectDate:u,validatedRange:c,handleDateChange:d}=f5(e,n,C0),{t:f}=xt(),p=C(()=>{const g=`el.datepicker.month${r.value.format("M")}`;return`${r.value.year()} ${f("el.datepicker.year")} ${f(g)}`});return t({selectedDay:l,pickDay:s,selectDate:u,calculateValidatedDateRange:o}),(g,h)=>(E(),D("div",{class:R(i(a).b())},[z("div",{class:R(i(a).e("header"))},[oe(g.$slots,"header",{date:p.value},()=>[z("div",{class:R(i(a).e("title"))},Ce(p.value),3),i(c).length===0&&e.controllerType==="button"?(E(),D("div",{key:0,class:R(i(a).e("button-group"))},[X(i(ZC),null,{default:ne(()=>[X(i(Bn),{size:"small",onClick:h[0]||(h[0]=v=>i(u)("prev-month"))},{default:ne(()=>[wt(Ce(i(f)("el.datepicker.prevMonth")),1)]),_:1}),X(i(Bn),{size:"small",onClick:h[1]||(h[1]=v=>i(u)("today"))},{default:ne(()=>[wt(Ce(i(f)("el.datepicker.today")),1)]),_:1}),X(i(Bn),{size:"small",onClick:h[2]||(h[2]=v=>i(u)("next-month"))},{default:ne(()=>[wt(Ce(i(f)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):i(c).length===0&&e.controllerType==="select"?(E(),D("div",{key:1,class:R(i(a).e("select-controller"))},[X(m5,{date:i(r),formatter:e.formatter,onDateChange:i(d)},null,8,["date","formatter","onDateChange"])],2)):re("v-if",!0)])],2),i(c).length===0?(E(),D("div",{key:0,class:R(i(a).e("body"))},[X(S0,{date:i(r),"selected-day":i(l),onPick:i(s)},ma({_:2},[g.$slots["date-cell"]?{name:"date-cell",fn:ne(v=>[oe(g.$slots,"date-cell",sr(ir(v)))]),key:"0"}:void 0]),1032,["date","selected-day","onPick"])],2)):(E(),D("div",{key:1,class:R(i(a).e("body"))},[(E(!0),D(Ve,null,kt(i(c),(v,m)=>(E(),le(S0,{key:m,date:v[0],"selected-day":i(l),range:v,"hide-header":m!==0,onPick:i(s)},ma({_:2},[g.$slots["date-cell"]?{name:"date-cell",fn:ne(b=>[oe(g.$slots,"date-cell",pt({ref_for:!0},b))]),key:"0"}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}}),b5=g5;const y5=st(b5),w5=Ee({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:G([String,Object,Array,Boolean]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}});var S5=se({name:"ElCard",__name:"card",props:w5,setup(e){const t=xr("card"),n=ge("card");return(a,o)=>(E(),D("div",{class:R([i(n).b(),i(n).is(`${e.shadow||i(t)?.shadow||"always"}-shadow`)])},[a.$slots.header||e.header?(E(),D("div",{key:0,class:R([i(n).e("header"),e.headerClass])},[oe(a.$slots,"header",{},()=>[wt(Ce(e.header),1)])],2)):re("v-if",!0),z("div",{class:R([i(n).e("body"),e.bodyClass]),style:ze(e.bodyStyle)},[oe(a.$slots,"default")],6),a.$slots.footer||e.footer?(E(),D("div",{key:1,class:R([i(n).e("footer"),e.footerClass])},[oe(a.$slots,"footer",{},()=>[wt(Ce(e.footer),1)])],2)):re("v-if",!0)],2))}}),C5=S5;const k5=st(C5),E5=Ee({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),x5={change:(e,t)=>[e,t].every(Be)},Ek=Symbol("carouselContextKey"),cd="ElCarouselItem",T5=Ee({name:{type:String,default:""},label:{type:[String,Number],default:""}}),k0=300,O5=(e,t,n)=>{const{children:a,addChild:o,removeChild:r,ChildrenSorter:s}=df(dt(),cd),l=wn(),u=M(-1),c=M(null),d=M(!1),f=M(),p=M(0),g=M(!0),h=C(()=>e.arrow!=="never"&&!i(b)),v=C(()=>a.value.some(ae=>ae.props.label.toString().length>0)),m=C(()=>e.type==="card"),b=C(()=>e.direction==="vertical"),w=C(()=>e.height!=="auto"?{height:e.height}:{height:`${p.value}px`,overflow:"hidden"}),y=Fr(ae=>{I(ae)},k0,{trailing:!0}),S=Fr(ae=>{A(ae)},k0),k=ae=>g.value?u.value<=1?ae<=1:ae>1:!0;function x(){c.value&&(clearInterval(c.value),c.value=null)}function O(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>T(),e.interval))}const T=()=>{u.value<a.value.length-1?u.value=u.value+1:e.loop&&(u.value=0)};function I(ae){if(Ae(ae)){const de=a.value.filter(ue=>ue.props.name===ae);de.length>0&&(ae=a.value.indexOf(de[0]))}if(ae=Number(ae),Number.isNaN(ae)||ae!==Math.floor(ae)){jt(n,"index must be integer.");return}const ce=a.value.length,Z=u.value;ae<0?u.value=e.loop?ce-1:0:ae>=ce?u.value=e.loop?0:ce-1:u.value=ae,Z===u.value&&_(Z),F()}function _(ae){a.value.forEach((ce,Z)=>{ce.translateItem(Z,u.value,ae)})}function N(ae,ce){const Z=i(a),de=Z.length;if(de===0||!ae.states.inStage)return!1;const ue=ce+1,Y=ce-1,Q=de-1,L=Z[Q].states.active,q=Z[0].states.active,te=Z[ue]?.states?.active,fe=Z[Y]?.states?.active;return ce===Q&&q||te?"left":ce===0&&L||fe?"right":!1}function $(){d.value=!0,e.pauseOnHover&&x()}function B(){d.value=!1,O()}function K(ae){i(b)||a.value.forEach((ce,Z)=>{ae===N(ce,Z)&&(ce.states.hover=!0)})}function j(){i(b)||a.value.forEach(ae=>{ae.states.hover=!1})}function W(ae){u.value=ae}function A(ae){e.trigger==="hover"&&ae!==u.value&&(u.value=ae)}function P(){I(u.value-1)}function V(){I(u.value+1)}function F(){x(),(!e.pauseOnHover||!d.value)&&O()}function H(ae){e.height==="auto"&&(p.value=ae)}function U(){const ae=l.default?.();if(!ae)return null;const ce=Aa(ae).filter(Z=>Zt(Z)&&Z.type.name==="ElCarouselItem");return ce?.length===2&&e.loop&&!m.value?(g.value=!0,ce):(g.value=!1,null)}pe(()=>u.value,(ae,ce)=>{_(ce),g.value&&(ae=ae%2,ce=ce%2),ce>-1&&t(yt,ae,ce)});const J=C({get:()=>g.value?u.value%2:u.value,set:ae=>u.value=ae});pe(()=>e.autoplay,ae=>{ae?O():x()}),pe(()=>e.loop,()=>{I(u.value)}),pe(()=>e.interval,()=>{F()});const ee=Tt();return ht(()=>{pe(()=>a.value,()=>{a.value.length>0&&I(e.initialIndex)},{immediate:!0}),ee.value=an(f.value,()=>{_()}),O()}),Vt(()=>{x(),f.value&&ee.value&&ee.value.stop()}),St(Ek,{root:f,isCardType:m,isVertical:b,items:a,loop:e.loop,cardScale:e.cardScale,addItem:o,removeItem:r,setActiveItem:I,setContainerHeight:H}),{root:f,activeIndex:u,exposeActiveIndex:J,arrowDisplay:h,hasLabel:v,hover:d,isCardType:m,items:a,isVertical:b,containerStyle:w,isItemsTwoLength:g,handleButtonEnter:K,handleButtonLeave:j,handleIndicatorClick:W,handleMouseEnter:$,handleMouseLeave:B,setActiveItem:I,prev:P,next:V,PlaceholderItem:U,isTwoLengthShow:k,ItemsSorter:s,throttledArrowClick:y,throttledIndicatorHover:S}},_5=["aria-label"],R5=["aria-label"],I5=["onMouseenter","onClick"],$5=["aria-label"],N5={key:0},M5={key:2,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},E0="ElCarousel";var P5=se({name:E0,__name:"carousel",props:E5,emits:x5,setup(e,{expose:t,emit:n}){const a=e,{root:o,activeIndex:r,exposeActiveIndex:s,arrowDisplay:l,hasLabel:u,hover:c,isCardType:d,items:f,isVertical:p,containerStyle:g,handleButtonEnter:h,handleButtonLeave:v,handleIndicatorClick:m,handleMouseEnter:b,handleMouseLeave:w,setActiveItem:y,prev:S,next:k,PlaceholderItem:x,isTwoLengthShow:O,ItemsSorter:T,throttledArrowClick:I,throttledIndicatorHover:_}=O5(a,n,E0),N=ge("carousel"),{t:$}=xt(),B=C(()=>{const A=[N.b(),N.m(a.direction)];return i(d)&&A.push(N.m("card")),A.push(N.is("vertical-outside",i(p)&&a.indicatorPosition==="outside")),A}),K=C(()=>{const A=[N.e("indicators"),N.em("indicators",a.direction)];return i(u)&&A.push(N.em("indicators","labels")),a.indicatorPosition==="outside"&&A.push(N.em("indicators","outside")),i(p)&&A.push(N.em("indicators","right")),A});function j(A){if(!a.motionBlur)return;const P=i(p)?`${N.namespace.value}-transitioning-vertical`:`${N.namespace.value}-transitioning`;A.currentTarget.classList.add(P)}function W(A){if(!a.motionBlur)return;const P=i(p)?`${N.namespace.value}-transitioning-vertical`:`${N.namespace.value}-transitioning`;A.currentTarget.classList.remove(P)}return t({activeIndex:s,setActiveItem:y,prev:S,next:k}),(A,P)=>(E(),D("div",{ref_key:"root",ref:o,class:R(B.value),onMouseenter:P[6]||(P[6]=Xe((...V)=>i(b)&&i(b)(...V),["stop"])),onMouseleave:P[7]||(P[7]=Xe((...V)=>i(w)&&i(w)(...V),["stop"]))},[i(l)?(E(),le(Yn,{key:0,name:"carousel-arrow-left",persisted:""},{default:ne(()=>[ct(z("button",{type:"button",class:R([i(N).e("arrow"),i(N).em("arrow","left")]),"aria-label":i($)("el.carousel.leftArrow"),onMouseenter:P[0]||(P[0]=V=>i(h)("left")),onMouseleave:P[1]||(P[1]=(...V)=>i(v)&&i(v)(...V)),onClick:P[2]||(P[2]=Xe(V=>i(I)(i(r)-1),["stop"]))},[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1})],42,_5),[[$t,(e.arrow==="always"||i(c))&&(e.loop||i(r)>0)]])]),_:1})):re("v-if",!0),i(l)?(E(),le(Yn,{key:1,name:"carousel-arrow-right",persisted:""},{default:ne(()=>[ct(z("button",{type:"button",class:R([i(N).e("arrow"),i(N).em("arrow","right")]),"aria-label":i($)("el.carousel.rightArrow"),onMouseenter:P[3]||(P[3]=V=>i(h)("right")),onMouseleave:P[4]||(P[4]=(...V)=>i(v)&&i(v)(...V)),onClick:P[5]||(P[5]=Xe(V=>i(I)(i(r)+1),["stop"]))},[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})],42,R5),[[$t,(e.arrow==="always"||i(c))&&(e.loop||i(r)<i(f).length-1)]])]),_:1})):re("v-if",!0),z("div",{class:R(i(N).e("container")),style:ze(i(g)),onTransitionstart:j,onTransitionend:W},[X(i(x)),oe(A.$slots,"default")],38),X(i(T),null,{default:ne(()=>[e.indicatorPosition!=="none"?(E(),D("ul",{key:0,class:R(K.value)},[(E(!0),D(Ve,null,kt(i(f),(V,F)=>ct((E(),D("li",{key:F,class:R([i(N).e("indicator"),i(N).em("indicator",e.direction),i(N).is("active",F===i(r))]),onMouseenter:H=>i(_)(F),onClick:Xe(H=>i(m)(F),["stop"])},[z("button",{class:R(i(N).e("button")),"aria-label":i($)("el.carousel.indicator",{index:F+1})},[i(u)?(E(),D("span",N5,Ce(V.props.label),1)):re("v-if",!0)],10,$5)],42,I5)),[[$t,i(O)(F)]])),128))],2)):re("v-if",!0)]),_:1}),e.motionBlur?(E(),D("svg",M5,[...P[8]||(P[8]=[z("defs",null,[z("filter",{id:"elCarouselHorizontal"},[z("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),z("filter",{id:"elCarouselVertical"},[z("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)])])):re("v-if",!0)],34))}}),A5=P5;const L5=e=>{const t=$e(Ek),n=dt();t||jt(cd,"usage: <el-carousel></el-carousel-item></el-carousel>"),n||jt(cd,"compositional hook can only be invoked inside setups");const a=M(),o=M(!1),r=M(0),s=M(1),l=M(!1),u=M(!1),c=M(!1),d=M(!1),{isCardType:f,isVertical:p,cardScale:g}=t;function h(S,k,x){const O=x-1,T=k-1,I=k+1,_=x/2;return k===0&&S===O?-1:k===O&&S===0?x:S<T&&k-S>=_?x+1:S>I&&S-k>=_?-2:S}function v(S,k){const x=i(p)?t.root.value?.offsetHeight||0:t.root.value?.offsetWidth||0;return c.value?x*((2-g)*(S-k)+1)/4:S<k?-(1+g)*x/4:(3+g)*x/4}function m(S,k,x){const O=t.root.value;return O?((x?O.offsetHeight:O.offsetWidth)||0)*(S-k):0}const b=(S,k,x)=>{const O=i(f),T=t.items.value.length??NaN,I=S===k;!O&&!Rt(x)&&(d.value=I||S===x),!I&&T>2&&t.loop&&(S=h(S,k,T));const _=i(p);l.value=I,O?(c.value=Math.round(Math.abs(S-k))<=1,r.value=v(S,k),s.value=i(l)?1:g):r.value=m(S,k,_),u.value=!0,I&&a.value&&t.setContainerHeight(a.value.offsetHeight)};function w(){if(t&&i(f)){const S=t.items.value.findIndex(({uid:k})=>k===n.uid);t.setActiveItem(S)}}const y={props:e,states:Dt({hover:o,translate:r,scale:s,active:l,ready:u,inStage:c,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:b};return t.addItem(y),Vt(()=>{t.removeItem(y)}),{carouselItemRef:a,active:l,animating:d,hover:o,inStage:c,isVertical:p,translate:r,isCardType:f,scale:s,ready:u,handleItemClick:w}};var D5=se({name:cd,__name:"carousel-item",props:T5,setup(e){const t=e,n=ge("carousel"),{carouselItemRef:a,active:o,animating:r,hover:s,inStage:l,isVertical:u,translate:c,isCardType:d,scale:f,ready:p,handleItemClick:g}=L5(t),h=C(()=>[n.e("item"),n.is("active",o.value),n.is("in-stage",l.value),n.is("hover",s.value),n.is("animating",r.value),{[n.em("item","card")]:d.value,[n.em("item","card-vertical")]:d.value&&u.value}]),v=C(()=>({transform:[`${`translate${i(u)?"Y":"X"}`}(${i(c)}px)`,`scale(${i(f)})`].join(" ")}));return(m,b)=>ct((E(),D("div",{ref_key:"carouselItemRef",ref:a,class:R(h.value),style:ze(v.value),onClick:b[0]||(b[0]=(...w)=>i(g)&&i(g)(...w))},[i(d)?ct((E(),D("div",{key:0,class:R(i(n).e("mask"))},null,2)),[[$t,!i(o)]]):re("v-if",!0),oe(m.$slots,"default")],6)),[[$t,i(p)]])}}),xk=D5;const B5=st(A5,{CarouselItem:xk}),V5=ln(xk),Tk=Ee({modelValue:{type:G([Number,String,Array,Object])},options:{type:G(Array),default:()=>[]},props:{type:G(Object),default:()=>({})},virtualScroll:Boolean,itemSize:{type:Number,default:34},height:{type:Number,default:204}}),F5={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:ut,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},z5=Ee({...Tk,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),x0=e=>!0,H5={[at]:x0,[yt]:x0,close:()=>!0,"expand-change":e=>e},K5=e=>C(()=>({...F5,...e.props})),dd="itemRendered",fd="scroll",vp="end-reached",pd="forward",W5="backward",qa="auto",ru="start",Mo="center",j5="horizontal",Ok="vertical",su="negative",Hm="positive-ascending",Km="positive-descending",U5={[j5]:"left",[Ok]:"top"},Dh=So({type:G([Number,Function]),required:!0}),Bh=So({type:Number}),Vh=So({type:Number,default:2}),q5=So({type:String,values:["ltr","rtl"],default:"ltr"}),Fh=So({type:Number,default:0}),hd=So({type:Number,required:!0}),_k=So({type:String,values:["horizontal","vertical"],default:Ok}),Rk=Ee({className:{type:String,default:""},containerElement:{type:G([String,Object]),default:"div"},data:{type:G(Array),default:()=>pn([])},direction:q5,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},innerProps:{type:G(Object),default:()=>({})},style:{type:G([Object,String,Array,Boolean]),default:void 0},useIsScrolling:Boolean,width:{type:[Number,String],required:!1},innerWidth:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),Ik=Ee({cache:Vh,estimatedItemSize:Bh,layout:_k,initScrollOffset:Fh,total:hd,itemSize:Dh,...Rk}),zh={type:Number,default:6},$k={type:Number,default:0},Nk={type:Number,default:2},Es=Ee({columnCache:Vh,columnWidth:Dh,estimatedColumnWidth:Bh,estimatedRowHeight:Bh,initScrollLeft:Fh,initScrollTop:Fh,itemKey:{type:G(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:Vh,rowHeight:Dh,totalColumn:hd,totalRow:hd,hScrollbarSize:zh,vScrollbarSize:zh,scrollbarStartGap:$k,scrollbarEndGap:Nk,role:String,...Rk}),Mk=Ee({alwaysOn:Boolean,class:String,layout:_k,total:hd,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:zh,startGap:$k,endGap:Nk,visible:Boolean}),vi=(e,t)=>e<t?pd:W5,lu=e=>e==="ltr"||e==="rtl"||e==="horizontal",T0=e=>e==="rtl";let Gs=null;function vd(e=!1){if(Gs===null||e){const t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";const a=document.createElement("div"),o=a.style;return o.width="100px",o.height="100px",t.appendChild(a),document.body.appendChild(t),t.scrollLeft>0?Gs=Km:(t.scrollLeft=1,t.scrollLeft===0?Gs=su:Gs=Hm),document.body.removeChild(t),Gs}return Gs}function Y5({move:e,size:t,bar:n},a){const o={},r=`translate${n.axis}(${e}px)`;return o[n.size]=t,o.transform=r,a==="horizontal"?o.height="100%":o.width="100%",o}var O0=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function G5(e,t){return!!(e===t||O0(e)&&O0(t))}function X5(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!G5(e[n],t[n]))return!1;return!0}function J5(e,t){t===void 0&&(t=X5);var n=null;function a(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];if(n&&n.lastThis===this&&t(o,n.lastArgs))return n.lastResult;var s=e.apply(this,o);return n={lastResult:s,lastArgs:o,lastThis:this},s}return a.clear=function(){n=null},a}const Pk=()=>{const e=dt().proxy.$props;return C(()=>{const t=(n,a,o)=>({});return e.perfMode?Xd(t):J5(t)})},Ak=({atEndEdge:e,atStartEdge:t,layout:n},a)=>{let o,r=0;const s=u=>u<0&&t.value||u>0&&e.value;return{hasReachedEdge:s,onWheel:u=>{co(o);let{deltaX:c,deltaY:d}=u;u.shiftKey&&d!==0&&(c=d,d=0);const f=n.value==="horizontal"?c:d;s(f)||(r+=f,!af()&&f!==0&&u.preventDefault(),o=Oa(()=>{a(r),r=0}))}}},Hh=se({name:"ElVirtualScrollBar",props:Mk,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const n=C(()=>e.startGap+e.endGap),a=ge("virtual-scrollbar"),o=ge("scrollbar"),r=M(),s=M();let l=null,u=null;const c=Dt({isDragging:!1,traveled:0}),d=C(()=>zC[e.layout]),f=C(()=>e.clientSize-i(n)),p=C(()=>({position:"absolute",width:`${e.layout==="horizontal"?f.value:e.scrollbarSize}px`,height:`${e.layout==="horizontal"?e.scrollbarSize:f.value}px`,[U5[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),g=C(()=>{const x=e.ratio;if(x>=100)return Number.POSITIVE_INFINITY;if(x>=50)return x*f.value/100;const O=f.value/3;return Math.floor(Math.min(Math.max(x*f.value/100,20),O))}),h=C(()=>{if(!Number.isFinite(g.value))return{display:"none"};const x=`${g.value}px`;return Y5({bar:d.value,size:x,move:c.traveled},e.layout)}),v=C(()=>Math.ceil(e.clientSize-g.value-i(n))),m=()=>{window.addEventListener("mousemove",S),window.addEventListener("mouseup",y);const x=i(s);x&&(u=document.onselectstart,document.onselectstart=()=>!1,x.addEventListener("touchmove",S,{passive:!0}),x.addEventListener("touchend",y))},b=()=>{window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",y),document.onselectstart=u,u=null;const x=i(s);x&&(x.removeEventListener("touchmove",S),x.removeEventListener("touchend",y))},w=x=>{x.stopImmediatePropagation(),!(x.ctrlKey||[1,2].includes(x.button))&&(c.isDragging=!0,c[d.value.axis]=x.currentTarget[d.value.offset]-(x[d.value.client]-x.currentTarget.getBoundingClientRect()[d.value.direction]),t("start-move"),m())},y=()=>{c.isDragging=!1,c[d.value.axis]=0,t("stop-move"),b()},S=x=>{const{isDragging:O}=c;if(!O||!s.value||!r.value)return;const T=c[d.value.axis];if(!T)return;co(l);const I=(r.value.getBoundingClientRect()[d.value.direction]-x[d.value.client])*-1-(s.value[d.value.offset]-T);l=Oa(()=>{c.traveled=Math.max(0,Math.min(I,v.value)),t("scroll",I,v.value)})},k=x=>{const O=Math.abs(x.target.getBoundingClientRect()[d.value.direction]-x[d.value.client])-s.value[d.value.offset]/2;c.traveled=Math.max(0,Math.min(O,v.value)),t("scroll",O,v.value)};return pe(()=>e.scrollFrom,x=>{c.isDragging||(c.traveled=Math.ceil(x*v.value))}),Vt(()=>{b()}),()=>qe("div",{role:"presentation",ref:r,class:[a.b(),e.class,(e.alwaysOn||c.isDragging)&&"always-on"],style:p.value,onMousedown:Xe(k,["stop","prevent"]),onTouchstartPrevent:w},qe("div",{ref:s,class:o.e("thumb"),style:h.value,onMousedown:w},[]))}}),Lk=({name:e,getOffset:t,getItemSize:n,getItemOffset:a,getEstimatedTotalSize:o,getStartIndexForOffset:r,getStopIndexForStartIndex:s,initCache:l,clearCache:u,validateProps:c})=>se({name:e??"ElVirtualList",props:Ik,emits:[dd,fd,vp],setup(d,{emit:f,expose:p}){c(d);const g=dt(),h=ge("vl"),v=M(l(d,g)),m=Pk(),b=M(),w=M(),y=M(),S=M({isScrolling:!1,scrollDir:pd,scrollOffset:Be(d.initScrollOffset)?d.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1}),k=C(()=>{const{total:L,cache:q}=d,{isScrolling:te,scrollDir:fe,scrollOffset:he}=i(S);if(L===0)return[0,0,0,0];const ve=r(d,he,i(v)),Ie=s(d,ve,he,i(v)),Le=!te||fe==="backward"?Math.max(1,q):1,_e=!te||fe==="forward"?Math.max(1,q):1;return[Math.max(0,ve-Le),Math.max(0,Math.min(L-1,Ie+_e)),ve,Ie]}),x=C(()=>o(d,i(v))),O=C(()=>lu(d.layout)),T=C(()=>[{position:"relative",[`overflow-${O.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:d.direction,height:Be(d.height)?`${d.height}px`:d.height,width:Be(d.width)?`${d.width}px`:d.width},d.style]),I=C(()=>{const L=i(x),q=i(O),te=d.innerWidth;return{height:q?"100%":`${L}px`,pointerEvents:i(S).isScrolling?"none":void 0,width:q?`${L}px`:te!==void 0?Be(te)?`${te}px`:te:"100%",margin:0,boxSizing:"border-box"}}),_=C(()=>O.value?d.width:d.height),N=C(()=>Math.max(0,x.value-_.value)),$=L=>tf(L,0,N.value),B=1,K=L=>({start:!Vo(L,0,B),end:!Vo(N.value,L,B)}),j=C(()=>$(S.value.scrollOffset)),W=C(()=>K(j.value));let A=W.value;const{onWheel:P}=Ak({atStartEdge:C(()=>W.value.start),atEndEdge:C(()=>W.value.end),layout:C(()=>d.layout)},L=>{y.value.onMouseUp?.(),ce(Math.min(S.value.scrollOffset+L,N.value))});Bt(b,"wheel",P,{passive:!1});const V=()=>{const{total:L}=d;if(L>0){const[he,ve,Ie,Le]=i(k);f(dd,he,ve,Ie,Le)}const{scrollDir:q,scrollOffset:te,updateRequested:fe}=i(S);f(fd,q,te,fe)},F=(L,q)=>{const te=K(q),fe=d.direction==="rtl"?"left":"right",he=d.direction==="rtl"?"right":"left";L==="forward"&&te.end&&!A.end&&f(vp,O.value?fe:"bottom"),L==="backward"&&te.start&&!A.start&&f(vp,O.value?he:"top"),A=te},H=(L,{isScrolling:q,updateRequested:te})=>{const fe=i(S),he=Math.max(L,0);if(he===fe.scrollOffset)return;const ve=vi(fe.scrollOffset,he);S.value={...fe,isScrolling:q,scrollDir:ve,scrollOffset:he,updateRequested:te},F(ve,$(he)),Ne(ue)},U=L=>{const{clientHeight:q,scrollHeight:te,scrollTop:fe}=L.currentTarget;i(S).scrollOffset!==fe&&H(Math.min(fe,te-q),{isScrolling:!0,updateRequested:!1})},J=L=>{const{clientWidth:q,scrollLeft:te,scrollWidth:fe}=L.currentTarget;if(i(S).scrollOffset===te)return;const{direction:he}=d;let ve=te;if(he==="rtl")switch(vd()){case su:ve=-te;break;case Km:ve=fe-q-te;break}H(Math.min(ve,fe-q),{isScrolling:!0,updateRequested:!1})},ee=L=>{i(O)?J(L):U(L),V()},ae=(L,q)=>{const te=N.value/q*L;ce(Math.min(N.value,te))},ce=L=>{H(L,{isScrolling:i(S).isScrolling,updateRequested:!0})},Z=(L,q=qa)=>{const{scrollOffset:te}=i(S);L=Math.max(0,Math.min(L,d.total-1)),ce(t(d,L,q,te,i(v)))},de=L=>{const{direction:q,itemSize:te,layout:fe}=d,he=m.value(u&&te,u&&fe,u&&q);let ve;if(Nt(he,String(L)))ve=he[L];else{const Ie=a(d,L,i(v)),Le=n(d,L,i(v)),_e=i(O),ye=q==="rtl",Te=_e?Ie:0;he[L]=ve={position:"absolute",left:ye?void 0:`${Te}px`,right:ye?`${Te}px`:void 0,top:_e?0:`${Ie}px`,height:_e?"100%":`${Le}px`,width:_e?`${Le}px`:"100%"}}return ve},ue=()=>{S.value.isScrolling=!1,Ne(()=>{m.value(-1,null,null)})},Y=()=>{const L=b.value;L&&(L.scrollTop=0)};ht(()=>{if(!Lt)return;const{initScrollOffset:L}=d,q=i(b);Be(L)&&q&&(i(O)?q.scrollLeft=L:q.scrollTop=L),V()}),bo(()=>{const{direction:L,layout:q}=d,{scrollOffset:te,updateRequested:fe}=i(S),he=i(b);if(fe&&he)if(q==="horizontal")if(L==="rtl")switch(vd()){case su:he.scrollLeft=-te;break;case Hm:he.scrollLeft=te;break;default:{const{clientWidth:ve,scrollWidth:Ie}=he;he.scrollLeft=Ie-ve-te;break}}else he.scrollLeft=te;else he.scrollTop=te}),gu(()=>{i(b).scrollTop=i(S).scrollOffset}),pe(N,()=>{A=W.value});const Q={ns:h,clientSize:_,estimatedTotalSize:x,windowStyle:T,windowRef:b,innerRef:w,innerStyle:I,itemsToRender:k,scrollbarRef:y,states:S,getItemStyle:de,onScroll:ee,onScrollbarScroll:ae,onWheel:P,scrollTo:ce,scrollToItem:Z,resetScrollTop:Y};return p({windowRef:b,innerRef:w,getItemStyleCache:m,scrollTo:ce,scrollToItem:Z,resetScrollTop:Y,states:S}),Q},render(d){const{$slots:f,className:p,clientSize:g,containerElement:h,data:v,getItemStyle:m,innerElement:b,itemsToRender:w,innerStyle:y,layout:S,scrollbarAlwaysOn:k,total:x,onScroll:O,onScrollbarScroll:T,states:I,useIsScrolling:_,windowStyle:N,ns:$}=d,[B,K]=w,j=it(h),W=it(b),A=[];if(x>0)for(let H=B;H<=K;H++)A.push(qe(Ve,{key:H},f.default?.({data:v,index:H,isScrolling:_?I.isScrolling:void 0,style:m(H)})));const P=[qe(W,pt(d.innerProps,{style:y,ref:"innerRef"}),Ae(W)?A:{default:()=>A})],V=qe(Hh,{ref:"scrollbarRef",clientSize:g,layout:S,onScroll:T,ratio:g*100/this.estimatedTotalSize,scrollFrom:I.scrollOffset/(this.estimatedTotalSize-g),total:x,alwaysOn:k}),F=qe(j,{class:[$.e("window"),p],style:N,onScroll:O,ref:"windowRef",key:0},Ae(j)?[P]:{default:()=>[P]});return qe("div",{key:0,class:[$.e("wrapper"),k?"always-on":""]},[F,V])}}),gf=Lk({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:n,layout:a,width:o},r,s,l)=>{const u=lu(a)?o:e;Ae(u)&&sn("[ElVirtualList]",` + You should set + width/height + to number when your layout is + horizontal/vertical + `);const c=Math.max(0,t*n-u),d=Math.min(c,r*n),f=Math.max(0,(r+1)*n-u);switch(s==="smart"&&(l>=f-u&&l<=d+u?s=qa:s=Mo),s){case ru:return d;case"end":return f;case Mo:{const p=Math.round(f+(d-f)/2);return p<Math.ceil(u/2)?0:p>c+Math.floor(u/2)?c:p}case qa:default:return l>=f&&l<=d?l:l<f?f:d}},getStartIndexForOffset:({total:e,itemSize:t},n)=>Math.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:a,width:o},r,s)=>{const l=r*n,u=lu(a)?o:e,c=Math.ceil((u+s-l)/n);return Math.max(0,Math.min(t-1,r+c-1))},initCache(){},clearCache:!0,validateProps(){}}),Z5="ElDynamicSizeList",rl=(e,t,n)=>{const{itemSize:a}=e,{items:o,lastVisitedIndex:r}=n;if(t>r){let s=0;if(r>=0){const l=o[r];s=l.offset+l.size}for(let l=r+1;l<=t;l++){const u=a(l);o[l]={offset:s,size:u},s+=u}n.lastVisitedIndex=t}return o[t]},Q5=(e,t,n)=>{const{items:a,lastVisitedIndex:o}=t;return(o>0?a[o].offset:0)>=n?Dk(e,t,0,o,n):eF(e,t,Math.max(0,o),n)},Dk=(e,t,n,a,o)=>{for(;n<=a;){const r=n+Math.floor((a-n)/2),s=rl(e,r,t).offset;if(s===o)return r;s<o?n=r+1:s>o&&(a=r-1)}return Math.max(0,n-1)},eF=(e,t,n,a)=>{const{total:o}=e;let r=1;for(;n<o&&rl(e,n,t).offset<a;)n+=r,r*=2;return Dk(e,t,Math.floor(n/2),Math.min(n,o-1),a)},_0=({total:e},{items:t,estimatedItemSize:n,lastVisitedIndex:a})=>{let o=0;if(a>=e&&(a=e-1),a>=0){const s=t[a];o=s.offset+s.size}const r=(e-a-1)*n;return o+r},tF=Lk({name:"ElDynamicSizeList",getItemOffset:(e,t,n)=>rl(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:_0,getOffset:(e,t,n,a,o)=>{const{height:r,layout:s,width:l}=e,u=lu(s)?l:r,c=rl(e,t,o),d=_0(e,o),f=Math.max(0,Math.min(d-u,c.offset)),p=Math.max(0,c.offset-u+c.size);switch(n==="smart"&&(a>=p-u&&a<=f+u?n=qa:n=Mo),n){case ru:return f;case"end":return p;case Mo:return Math.round(p+(f-p)/2);case qa:default:return a>=p&&a<=f?a:a<p?p:f}},getStartIndexForOffset:(e,t,n)=>Q5(e,n,t),getStopIndexForStartIndex:(e,t,n,a)=>{const{height:o,total:r,layout:s,width:l}=e,u=lu(s)?l:o,c=rl(e,t,a),d=n+u;let f=c.offset+c.size,p=t;for(;p<r-1&&f<d;)p++,f+=rl(e,p,a).size;return p},initCache({estimatedItemSize:e=50},t){const n={items:{},estimatedItemSize:e,lastVisitedIndex:-1};return n.clearCacheAfterIndex=(a,o=!0)=>{n.lastVisitedIndex=Math.min(n.lastVisitedIndex,a-1),t.exposed?.getItemStyleCache(-1),o&&t.proxy?.$forceUpdate()},n},clearCache:!1,validateProps:({itemSize:e})=>{typeof e!="function"&&sn(Z5,` + itemSize is required as function, but the given value was ${typeof e} + `)}}),nF=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:a},o)=>{let r=null,s=0,l=0;const u=(d,f)=>{const p=d<0&&t.value||d>0&&e.value,g=f<0&&a.value||f>0&&n.value;return p||g};return{hasReachedEdge:u,onWheel:d=>{co(r);let f=d.deltaX,p=d.deltaY;if(Math.abs(f)>Math.abs(p)?p=0:f=0,d.shiftKey&&p!==0&&(f=p,p=0),u(f,p)){d.deltaX!==0&&f===0&&d.preventDefault();return}s+=f,l+=p,d.preventDefault(),r=Oa(()=>{o(s,l),s=0,l=0})}}},aF=(e,t,n,a,o,r,s)=>{const l=M(0),u=M(0);let c,d=0,f=0;const p=h=>{co(c),l.value=h.touches[0].clientX,u.value=h.touches[0].clientY,d=0,f=0},g=h=>{h.preventDefault(),co(c),d+=l.value-h.touches[0].clientX,f+=u.value-h.touches[0].clientY,l.value=h.touches[0].clientX,u.value=h.touches[0].clientY,c=Oa(()=>{const v=a.value-i(r),m=o.value-i(s);n({scrollLeft:Math.min(t.value.scrollLeft+d,v),scrollTop:Math.min(t.value.scrollTop+f,m)}),d=0,f=0})};return Bt(e,"touchstart",p,{passive:!0}),Bt(e,"touchmove",g,{passive:!1}),{touchStartX:l,touchStartY:u,handleTouchStart:p,handleTouchMove:g}},Bk=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:a,getColumnStopIndexForStartIndex:o,getEstimatedTotalHeight:r,getEstimatedTotalWidth:s,getColumnOffset:l,getRowOffset:u,getRowPosition:c,getRowStartIndexForOffset:d,getRowStopIndexForStartIndex:f,initCache:p,injectToInstance:g,validateProps:h})=>se({name:e??"ElVirtualList",props:Es,emits:[dd,fd],setup(v,{emit:m,expose:b,slots:w}){const y=ge("vl");h(v);const S=dt(),k=M(p(v,S));g?.(S,k);const x=M(),O=M(),T=M(),I=M(),_=M({isScrolling:!1,scrollLeft:Be(v.initScrollLeft)?v.initScrollLeft:0,scrollTop:Be(v.initScrollTop)?v.initScrollTop:0,updateRequested:!1,xAxisScrollDir:pd,yAxisScrollDir:pd}),N=Pk(),$=C(()=>Number.parseInt(`${v.height}`,10)),B=C(()=>Number.parseInt(`${v.width}`,10)),K=C(()=>{const{totalColumn:ye,totalRow:Te,columnCache:be}=v,{isScrolling:Pe,xAxisScrollDir:He,scrollLeft:Je}=i(_);if(ye===0||Te===0)return[0,0,0,0];const Qe=a(v,Je,i(k)),lt=o(v,Qe,Je,i(k)),Ze=!Pe||He==="backward"?Math.max(1,be):1,gt=!Pe||He==="forward"?Math.max(1,be):1;return[Math.max(0,Qe-Ze),Math.max(0,Math.min(ye-1,lt+gt)),Qe,lt]}),j=C(()=>{const{totalColumn:ye,totalRow:Te,rowCache:be}=v,{isScrolling:Pe,yAxisScrollDir:He,scrollTop:Je}=i(_);if(ye===0||Te===0)return[0,0,0,0];const Qe=d(v,Je,i(k)),lt=f(v,Qe,Je,i(k)),Ze=!Pe||He==="backward"?Math.max(1,be):1,gt=!Pe||He==="forward"?Math.max(1,be):1;return[Math.max(0,Qe-Ze),Math.max(0,Math.min(Te-1,lt+gt)),Qe,lt]}),W=C(()=>r(v,i(k))),A=C(()=>s(v,i(k))),P=C(()=>[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:v.direction,height:Be(v.height)?`${v.height}px`:v.height,width:Be(v.width)?`${v.width}px`:v.width},v.style??{}]),V=C(()=>{const ye=`${i(A)}px`;return{height:`${i(W)}px`,pointerEvents:i(_).isScrolling?"none":void 0,width:ye,margin:0,boxSizing:"border-box"}}),F=()=>{const{totalColumn:ye,totalRow:Te}=v;if(ye>0&&Te>0){const[lt,Ze,gt,Pt]=i(K),[zt,nt,ft,me]=i(j);m(dd,{columnCacheStart:lt,columnCacheEnd:Ze,rowCacheStart:zt,rowCacheEnd:nt,columnVisibleStart:gt,columnVisibleEnd:Pt,rowVisibleStart:ft,rowVisibleEnd:me})}const{scrollLeft:be,scrollTop:Pe,updateRequested:He,xAxisScrollDir:Je,yAxisScrollDir:Qe}=i(_);m(fd,{xAxisScrollDir:Je,scrollLeft:be,yAxisScrollDir:Qe,scrollTop:Pe,updateRequested:He})},H=ye=>{const{clientHeight:Te,clientWidth:be,scrollHeight:Pe,scrollLeft:He,scrollTop:Je,scrollWidth:Qe}=ye.currentTarget,lt=i(_);if(lt.scrollTop===Je&<.scrollLeft===He)return;let Ze=He;if(T0(v.direction))switch(vd()){case su:Ze=-He;break;case Km:Ze=Qe-be-He;break}_.value={...lt,isScrolling:!0,scrollLeft:Ze,scrollTop:Math.max(0,Math.min(Je,Pe-Te)),updateRequested:!0,xAxisScrollDir:vi(lt.scrollLeft,Ze),yAxisScrollDir:vi(lt.scrollTop,Je)},Ne(()=>L()),q(),F()},U=(ye,Te)=>{const be=i($),Pe=(W.value-be)/Te*ye;ae({scrollTop:Math.min(W.value-be,Pe)})},J=(ye,Te)=>{const be=i(B),Pe=(A.value-be)/Te*ye;ae({scrollLeft:Math.min(A.value-be,Pe)})},{onWheel:ee}=nF({atXStartEdge:C(()=>_.value.scrollLeft<=0),atXEndEdge:C(()=>_.value.scrollLeft>=A.value-i(B)),atYStartEdge:C(()=>_.value.scrollTop<=0),atYEndEdge:C(()=>_.value.scrollTop>=W.value-i($))},(ye,Te)=>{O.value?.onMouseUp?.(),T.value?.onMouseUp?.();const be=i(B),Pe=i($);ae({scrollLeft:Math.min(_.value.scrollLeft+ye,A.value-be),scrollTop:Math.min(_.value.scrollTop+Te,W.value-Pe)})});Bt(x,"wheel",ee,{passive:!1});const ae=({scrollLeft:ye=_.value.scrollLeft,scrollTop:Te=_.value.scrollTop})=>{ye=Math.max(ye,0),Te=Math.max(Te,0);const be=i(_);Te===be.scrollTop&&ye===be.scrollLeft||(_.value={...be,xAxisScrollDir:vi(be.scrollLeft,ye),yAxisScrollDir:vi(be.scrollTop,Te),scrollLeft:ye,scrollTop:Te,updateRequested:!0},Ne(()=>L()),q(),F())},{touchStartX:ce,touchStartY:Z,handleTouchStart:de,handleTouchMove:ue}=aF(x,_,ae,A,W,B,$),Y=(ye=0,Te=0,be=qa)=>{const Pe=i(_);Te=Math.max(0,Math.min(Te,v.totalColumn-1)),ye=Math.max(0,Math.min(ye,v.totalRow-1));const He=zS(y.namespace.value),Je=i(k),Qe=r(v,Je),lt=s(v,Je);ae({scrollLeft:l(v,Te,be,Pe.scrollLeft,Je,lt>v.width?He:0),scrollTop:u(v,ye,be,Pe.scrollTop,Je,Qe>v.height?He:0)})},Q=(ye,Te)=>{const{columnWidth:be,direction:Pe,rowHeight:He}=v,Je=N.value(t&&be,t&&He,t&&Pe),Qe=`${ye},${Te}`;if(Nt(Je,Qe))return Je[Qe];{const[,lt]=n(v,Te,i(k)),Ze=i(k),gt=T0(Pe),[Pt,zt]=c(v,ye,Ze),[nt]=n(v,Te,Ze);return Je[Qe]={position:"absolute",left:gt?void 0:`${lt}px`,right:gt?`${lt}px`:void 0,top:`${zt}px`,height:`${Pt}px`,width:`${nt}px`},Je[Qe]}},L=()=>{_.value.isScrolling=!1,Ne(()=>{N.value(-1,null,null)})};ht(()=>{if(!Lt)return;const{initScrollLeft:ye,initScrollTop:Te}=v,be=i(x);be&&(Be(ye)&&(be.scrollLeft=ye),Be(Te)&&(be.scrollTop=Te)),F()});const q=()=>{const{direction:ye}=v,{scrollLeft:Te,scrollTop:be,updateRequested:Pe}=i(_),He=i(x);if(Pe&&He){if(ye==="rtl")switch(vd()){case su:He.scrollLeft=-Te;break;case Hm:He.scrollLeft=Te;break;default:{const{clientWidth:Je,scrollWidth:Qe}=He;He.scrollLeft=Qe-Je-Te;break}}else He.scrollLeft=Math.max(0,Te);He.scrollTop=Math.max(0,be)}},{resetAfterColumnIndex:te,resetAfterRowIndex:fe,resetAfter:he}=S.proxy;b({windowRef:x,innerRef:I,getItemStyleCache:N,touchStartX:ce,touchStartY:Z,handleTouchStart:de,handleTouchMove:ue,scrollTo:ae,scrollToItem:Y,states:_,resetAfterColumnIndex:te,resetAfterRowIndex:fe,resetAfter:he});const ve=()=>{const{scrollbarAlwaysOn:ye,scrollbarStartGap:Te,scrollbarEndGap:be,totalColumn:Pe,totalRow:He}=v,Je=i(B),Qe=i($),lt=i(A),Ze=i(W),{scrollLeft:gt,scrollTop:Pt}=i(_);return{horizontalScrollbar:qe(Hh,{ref:O,alwaysOn:ye,startGap:Te,endGap:be,class:y.e("horizontal"),clientSize:Je,layout:"horizontal",onScroll:J,ratio:Je*100/lt,scrollFrom:gt/(lt-Je),total:He,visible:!0}),verticalScrollbar:qe(Hh,{ref:T,alwaysOn:ye,startGap:Te,endGap:be,class:y.e("vertical"),clientSize:Qe,layout:"vertical",onScroll:U,ratio:Qe*100/Ze,scrollFrom:Pt/(Ze-Qe),total:Pe,visible:!0})}},Ie=()=>{const[ye,Te]=i(K),[be,Pe]=i(j),{data:He,totalColumn:Je,totalRow:Qe,useIsScrolling:lt,itemKey:Ze}=v,gt=[];if(Qe>0&&Je>0)for(let Pt=be;Pt<=Pe;Pt++)for(let zt=ye;zt<=Te;zt++){const nt=Ze({columnIndex:zt,data:He,rowIndex:Pt});gt.push(qe(Ve,{key:nt},w.default?.({columnIndex:zt,data:He,isScrolling:lt?i(_).isScrolling:void 0,style:Q(Pt,zt),rowIndex:Pt})))}return gt},Le=()=>{const ye=it(v.innerElement),Te=Ie();return[qe(ye,pt(v.innerProps,{style:i(V),ref:I}),Ae(ye)?Te:{default:()=>Te})]};return()=>{const ye=it(v.containerElement),{horizontalScrollbar:Te,verticalScrollbar:be}=ve(),Pe=Le();return qe("div",{key:0,class:y.e("wrapper"),role:v.role},[qe(ye,{class:v.className,style:i(P),onScroll:H,ref:x},Ae(ye)?Pe:{default:()=>Pe}),Te,be])}}}),R0="ElFixedSizeGrid",oF=Bk({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:n},a,o,r,s,l)=>{n=Number(n);const u=Math.max(0,e*t-n),c=Math.min(u,a*t),d=Math.max(0,a*t-n+l+t);switch(o==="smart"&&(r>=d-n&&r<=c+n?o=qa:o=Mo),o){case ru:return c;case"end":return d;case Mo:{const f=Math.round(d+(c-d)/2);return f<Math.ceil(n/2)?0:f>u+Math.floor(n/2)?u:f}case qa:default:return r>=d&&r<=c?r:d>c||r<d?d:c}},getRowOffset:({rowHeight:e,height:t,totalRow:n},a,o,r,s,l)=>{t=Number(t);const u=Math.max(0,n*e-t),c=Math.min(u,a*e),d=Math.max(0,a*e-t+l+e);switch(o==="smart"&&(r>=d-t&&r<=c+t?o=qa:o=Mo),o){case ru:return c;case"end":return d;case Mo:{const f=Math.round(d+(c-d)/2);return f<Math.ceil(t/2)?0:f>u+Math.floor(t/2)?u:f}case qa:default:return r>=d&&r<=c?r:d>c||r<d?d:c}},getColumnStartIndexForOffset:({columnWidth:e,totalColumn:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},a,o)=>{const r=a*e,s=Math.ceil((n+o-r)/e);return Math.max(0,Math.min(t-1,a+s-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:n},a,o)=>{const r=a*e,s=Math.ceil((n+o-r)/e);return Math.max(0,Math.min(t-1,a+s-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{Be(e)||sn(R0,` + "columnWidth" must be passed as number, + instead ${typeof e} was given. + `),Be(t)||sn(R0,` + "columnWidth" must be passed as number, + instead ${typeof t} was given. + `)}}),{max:md,min:Vk,floor:Fk}=Math,I0="ElDynamicSizeGrid",rF={column:"columnWidth",row:"rowHeight"},Kh={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},tr=(e,t,n,a)=>{const[o,r,s]=[n[a],e[rF[a]],n[Kh[a]]];if(t>s){let l=0;if(s>=0){const u=o[s];l=u.offset+u.size}for(let u=s+1;u<=t;u++){const c=r(u);o[u]={offset:l,size:c},l+=c}n[Kh[a]]=t}return o[t]},zk=(e,t,n,a,o,r)=>{for(;n<=a;){const s=n+Fk((a-n)/2),l=tr(e,s,t,r).offset;if(l===o)return s;l<o?n=s+1:a=s-1}return md(0,n-1)},sF=(e,t,n,a,o)=>{const r=o==="column"?e.totalColumn:e.totalRow;let s=1;for(;n<r&&tr(e,n,t,o).offset<a;)n+=s,s*=2;return zk(e,t,Fk(n/2),Vk(n,r-1),a,o)},$0=(e,t,n,a)=>{const[o,r]=[t[a],t[Kh[a]]];return(r>0?o[r].offset:0)>=n?zk(e,t,0,r,n,a):sF(e,t,md(0,r),n,a)},Hk=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:a})=>{let o=0;if(n>=e&&(n=e-1),n>=0){const s=a[n];o=s.offset+s.size}const r=(e-n-1)*t;return o+r},Kk=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:a})=>{let o=0;if(a>e&&(a=e-1),a>=0){const s=t[a];o=s.offset+s.size}const r=(e-a-1)*n;return o+r},lF={column:Kk,row:Hk},N0=(e,t,n,a,o,r,s)=>{const[l,u]=[r==="row"?e.height:e.width,lF[r]],c=tr(e,t,o,r),d=md(0,Vk(u(e,o)-l,c.offset)),f=md(0,c.offset-l+s+c.size);switch(n==="smart"&&(a>=f-l&&a<=d+l?n=qa:n=Mo),n){case ru:return d;case"end":return f;case Mo:return Math.round(f+(d-f)/2);case qa:default:return a>=f&&a<=d?a:f>d||a<f?f:d}},iF=Bk({name:"ElDynamicSizeGrid",getColumnPosition:(e,t,n)=>{const a=tr(e,t,n,"column");return[a.size,a.offset]},getRowPosition:(e,t,n)=>{const a=tr(e,t,n,"row");return[a.size,a.offset]},getColumnOffset:(e,t,n,a,o,r)=>N0(e,t,n,a,o,"column",r),getRowOffset:(e,t,n,a,o,r)=>N0(e,t,n,a,o,"row",r),getColumnStartIndexForOffset:(e,t,n)=>$0(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,a)=>{const o=tr(e,t,a,"column"),r=n+e.width;let s=o.offset+o.size,l=t;for(;l<e.totalColumn-1&&s<r;)l++,s+=tr(e,t,a,"column").size;return l},getEstimatedTotalHeight:Hk,getEstimatedTotalWidth:Kk,getRowStartIndexForOffset:(e,t,n)=>$0(e,n,t,"row"),getRowStopIndexForStartIndex:(e,t,n,a)=>{const{totalRow:o,height:r}=e,s=tr(e,t,a,"row"),l=n+r;let u=s.size+s.offset,c=t;for(;c<o-1&&u<l;)c++,u+=tr(e,c,a,"row").size;return c},injectToInstance:(e,t)=>{const n=({columnIndex:r,rowIndex:s},l)=>{l=Rt(l)?!0:l,Be(r)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,r-1)),Be(s)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,s-1)),e.exposed?.getItemStyleCache.value(-1,null,null),l&&e.proxy?.$forceUpdate()},a=(r,s)=>{n({columnIndex:r},s)},o=(r,s)=>{n({rowIndex:r},s)};Object.assign(e.proxy,{resetAfterColumnIndex:a,resetAfterRowIndex:o,resetAfter:n})},initCache:({estimatedColumnWidth:e=50,estimatedRowHeight:t=50})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{Fe(e)||sn(I0,` + "columnWidth" must be passed as function, + instead ${typeof e} was given. + `),Fe(t)||sn(I0,` + "rowHeight" must be passed as function, + instead ${typeof t} was given. + `)}}),Wk={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:{type:Boolean,default:void 0},checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:Nn,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...ia(["ariaControls"])},jk={[at]:e=>Ae(e)||Be(e)||Wt(e),change:e=>Ae(e)||Be(e)||Wt(e)},ql=Symbol("checkboxGroupContextKey"),uF=Ee({modelValue:{type:G(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:Nn,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:G(Array)},props:{type:G(Object),default:()=>Uk},type:{type:String,values:["checkbox","button"],default:"checkbox"},...ia(["ariaLabel"])}),cF={[at]:e=>we(e),change:e=>we(e)},Uk={label:"label",value:"value",disabled:"disabled"},dF=({model:e,isChecked:t})=>{const n=$e(ql,void 0),a=$e(Hs,void 0),o=C(()=>{const r=n?.max?.value,s=n?.min?.value;return!Rt(r)&&e.value.length>=r&&!t.value||!Rt(s)&&e.value.length<=s&&t.value});return{isDisabled:un(C(()=>n===void 0?a?.disabled??o.value:n.disabled?.value||o.value)),isLimitDisabled:o}},fF=(e,{model:t,isLimitExceeded:n,hasOwnLabel:a,isDisabled:o,isLabeledByFormItem:r})=>{const s=$e(ql,void 0),{formItem:l}=Fn(),{emit:u}=dt();function c(h){return[!0,e.trueValue,e.trueLabel].includes(h)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function d(h,v){u(yt,c(h),v)}function f(h){if(n.value)return;const v=h.target;u(yt,c(v.checked),h)}async function p(h){n.value||!a.value&&!o.value&&r.value&&(h.composedPath().some(v=>v.tagName==="LABEL")||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await Ne(),d(t.value,h)))}const g=C(()=>s?.validateEvent||e.validateEvent);return pe(()=>e.modelValue,()=>{g.value&&l?.validate("change").catch(ut)}),{handleChange:f,onClickRoot:p}},pF=e=>{const t=M(!1),{emit:n,vnode:a}=dt(),o=$e(ql,void 0),r=C(()=>Rt(o)===!1),s=M(!1),l=C(()=>{const c=a.props??{};return"modelValue"in c||"model-value"in c}),u=C({get(){return r.value?o?.modelValue?.value:l.value?e.modelValue:t.value},set(c){r.value&&we(c)?(s.value=o?.max?.value!==void 0&&c.length>o?.max.value&&c.length>u.value.length,s.value===!1&&o?.changeEvent?.(c)):(n(at,c),t.value=c)}});return{model:u,isGroup:r,isLimitExceeded:s}},hF=(e,t,{model:n})=>{const a=$e(ql,void 0),o=M(!1),r=C(()=>Pa(e.value)?e.label:e.value),s=C(()=>{const l=n.value;return Wt(l)?l:we(l)?ot(r.value)?l.map(Jt).some(u=>fn(u,r.value)):l.map(Jt).includes(r.value):l!=null?l===e.trueValue||l===e.trueLabel:!!l});return{checkboxButtonSize:In(C(()=>a?.size?.value),{prop:!0}),isChecked:s,isFocused:o,checkboxSize:In(C(()=>a?.size?.value)),hasOwnLabel:C(()=>!!t.default||!Pa(r.value)),actualValue:r}},qk=(e,t)=>{const{formItem:n}=Fn(),{model:a,isGroup:o,isLimitExceeded:r}=pF(e),{isFocused:s,isChecked:l,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,actualValue:f}=hF(e,t,{model:a}),{isDisabled:p}=dF({model:a,isChecked:l}),{inputId:g,isLabeledByFormItem:h}=_a(e,{formItemContext:n,disableIdGeneration:d,disableIdManagement:o}),{handleChange:v,onClickRoot:m}=fF(e,{model:a,isLimitExceeded:r,hasOwnLabel:d,isDisabled:p,isLabeledByFormItem:h});return(()=>{function w(){we(a.value)&&!a.value.includes(f.value)?a.value.push(f.value):a.value=e.trueValue??e.trueLabel??!0}e.checked&&w()})(),Po({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>o.value&&Pa(e.value))),Po({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.trueLabel)),Po({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.falseLabel)),{inputId:g,isLabeledByFormItem:h,isChecked:l,isDisabled:p,isFocused:s,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,model:a,actualValue:f,handleChange:v,onClickRoot:m}},vF=["id","indeterminate","name","tabindex","disabled"];var mF=se({name:"ElCheckbox",__name:"checkbox",props:Wk,emits:jk,setup(e){const t=e,{inputId:n,isLabeledByFormItem:a,isChecked:o,isDisabled:r,isFocused:s,checkboxSize:l,hasOwnLabel:u,model:c,actualValue:d,handleChange:f,onClickRoot:p}=qk(t,wn()),g=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:d.value}),h=ge("checkbox"),v=C(()=>[h.b(),h.m(l.value),h.is("disabled",r.value),h.is("bordered",t.border),h.is("checked",o.value)]),m=C(()=>[h.e("input"),h.is("disabled",r.value),h.is("checked",o.value),h.is("indeterminate",t.indeterminate),h.is("focus",s.value)]);return(b,w)=>(E(),le(it(!i(u)&&i(a)?"span":"label"),{for:!i(u)&&i(a)?null:i(n),class:R(v.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?"mixed":void 0,"aria-label":e.ariaLabel,onClick:i(p)},{default:ne(()=>[z("span",{class:R(m.value)},[ct(z("input",pt({id:i(n),"onUpdate:modelValue":w[0]||(w[0]=y=>Gt(c)?c.value=y:null),class:i(h).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:i(r)},g.value,{onChange:w[1]||(w[1]=(...y)=>i(f)&&i(f)(...y)),onFocus:w[2]||(w[2]=y=>s.value=!0),onBlur:w[3]||(w[3]=y=>s.value=!1),onClick:w[4]||(w[4]=Xe(()=>{},["stop"]))}),null,16,vF),[[R2,i(c)]]),z("span",{class:R(i(h).e("inner"))},null,2)],2),i(u)?(E(),D("span",{key:0,class:R(i(h).e("label"))},[oe(b.$slots,"default"),b.$slots.default?re("v-if",!0):(E(),D(Ve,{key:0},[wt(Ce(e.label),1)],64))],2)):re("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}}),Yk=mF;const gF=["name","tabindex","disabled"];var bF=se({name:"ElCheckboxButton",__name:"checkbox-button",props:Wk,emits:jk,setup(e){const t=e,{isFocused:n,isChecked:a,isDisabled:o,checkboxButtonSize:r,model:s,actualValue:l,handleChange:u}=qk(t,wn()),c=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:l.value}),d=$e(ql,void 0),f=ge("checkbox"),p=C(()=>{const h=d?.fill?.value??"";return{backgroundColor:h,borderColor:h,color:d?.textColor?.value??"",boxShadow:h?`-1px 0 0 0 ${h}`:void 0}}),g=C(()=>[f.b("button"),f.bm("button",r.value),f.is("disabled",o.value),f.is("checked",a.value),f.is("focus",n.value)]);return(h,v)=>(E(),D("label",{class:R(g.value)},[ct(z("input",pt({"onUpdate:modelValue":v[0]||(v[0]=m=>Gt(s)?s.value=m:null),class:i(f).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:i(o)},c.value,{onChange:v[1]||(v[1]=(...m)=>i(u)&&i(u)(...m)),onFocus:v[2]||(v[2]=m=>n.value=!0),onBlur:v[3]||(v[3]=m=>n.value=!1),onClick:v[4]||(v[4]=Xe(()=>{},["stop"]))}),null,16,gF),[[R2,i(s)]]),h.$slots.default||e.label?(E(),D("span",{key:0,class:R(i(f).be("button","inner")),style:ze(i(a)?p.value:void 0)},[oe(h.$slots,"default",{},()=>[wt(Ce(e.label),1)])],6)):re("v-if",!0)],2))}}),Wm=bF,yF=se({name:"ElCheckboxGroup",__name:"checkbox-group",props:uF,emits:cF,setup(e,{emit:t}){const n=e,a=t,o=ge("checkbox"),r=un(),{formItem:s}=Fn(),{inputId:l,isLabeledByFormItem:u}=_a(n,{formItemContext:s}),c=async h=>{a(at,h),await Ne(),a(yt,h)},d=C({get(){return n.modelValue},set(h){c(h)}}),f=C(()=>({...Uk,...n.props})),p=h=>{const{label:v,value:m,disabled:b}=f.value,w={label:h[v],value:h[m],disabled:h[b]};return{...ku(h,[v,m,b]),...w}},g=C(()=>n.type==="button"?Wm:Yk);return St(ql,{...hr(Pn(n),["size","min","max","validateEvent","fill","textColor"]),disabled:r,modelValue:d,changeEvent:c}),pe(()=>n.modelValue,(h,v)=>{n.validateEvent&&!fn(h,v)&&s?.validate("change").catch(ut)}),(h,v)=>(E(),le(it(e.tag),{id:i(l),class:R(i(o).b("group")),role:"group","aria-label":i(u)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":i(u)?i(s)?.labelId:void 0},{default:ne(()=>[oe(h.$slots,"default",{},()=>[(E(!0),D(Ve,null,kt(e.options,(m,b)=>(E(),le(it(g.value),pt({key:b},{ref_for:!0},p(m)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"]))}}),Gk=yF;const mo=st(Yk,{CheckboxButton:Wm,CheckboxGroup:Gk}),wF=ln(Wm),jm=ln(Gk),Xk=Ee({modelValue:{type:[String,Number,Boolean],default:void 0},size:Nn,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),SF=Ee({...Xk,border:Boolean}),Jk={[at]:e=>Ae(e)||Be(e)||Wt(e),[yt]:e=>Ae(e)||Be(e)||Wt(e)},Zk=Symbol("radioGroupKey"),CF=Ee({...Xk}),Qk={label:"label",value:"value",disabled:"disabled"},kF=Ee({id:{type:String,default:void 0},size:Nn,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:G(Array)},props:{type:G(Object),default:()=>Qk},type:{type:String,values:["radio","button"],default:"radio"},...ia(["ariaLabel"])}),EF=Jk,eE=(e,t)=>{const n=M(),a=$e(Zk,void 0),o=C(()=>!!a),r=C(()=>Pa(e.value)?e.label:e.value),s=C({get(){return o.value?a.modelValue:e.modelValue},set(f){o.value?a.changeEvent(f):t&&t("update:modelValue",f),n.value.checked=e.modelValue===r.value}}),l=In(C(()=>a?.size)),u=un(C(()=>a?.disabled)),c=M(!1),d=C(()=>u.value||o.value&&s.value!==r.value?-1:0);return Po({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>o.value&&Pa(e.value))),{radioRef:n,isGroup:o,radioGroup:a,focus:c,size:l,disabled:u,tabIndex:d,modelValue:s,actualValue:r}},xF=["value","name","disabled","checked"];var TF=se({name:"ElRadio",__name:"radio",props:SF,emits:Jk,setup(e,{emit:t}){const n=e,a=t,o=ge("radio"),{radioRef:r,radioGroup:s,focus:l,size:u,disabled:c,modelValue:d,actualValue:f}=eE(n,a);function p(){Ne(()=>a(yt,d.value))}return(g,h)=>(E(),D("label",{class:R([i(o).b(),i(o).is("disabled",i(c)),i(o).is("focus",i(l)),i(o).is("bordered",e.border),i(o).is("checked",i(d)===i(f)),i(o).m(i(u))])},[z("span",{class:R([i(o).e("input"),i(o).is("disabled",i(c)),i(o).is("checked",i(d)===i(f))])},[ct(z("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":h[0]||(h[0]=v=>Gt(d)?d.value=v:null),class:R(i(o).e("original")),value:i(f),name:e.name||i(s)?.name,disabled:i(c),checked:i(d)===i(f),type:"radio",onFocus:h[1]||(h[1]=v=>l.value=!0),onBlur:h[2]||(h[2]=v=>l.value=!1),onChange:p,onClick:h[3]||(h[3]=Xe(()=>{},["stop"]))},null,42,xF),[[I2,i(d)]]),z("span",{class:R(i(o).e("inner"))},null,2)],2),z("span",{class:R(i(o).e("label")),onKeydown:h[4]||(h[4]=Xe(()=>{},["stop"]))},[oe(g.$slots,"default",{},()=>[wt(Ce(e.label),1)])],34)],2))}}),tE=TF;const OF=["value","name","disabled"];var _F=se({name:"ElRadioButton",__name:"radio-button",props:CF,setup(e){const t=e,n=ge("radio"),{radioRef:a,focus:o,size:r,disabled:s,modelValue:l,radioGroup:u,actualValue:c}=eE(t),d=C(()=>({backgroundColor:u?.fill||"",borderColor:u?.fill||"",boxShadow:u?.fill?`-1px 0 0 0 ${u.fill}`:"",color:u?.textColor||""}));return(f,p)=>(E(),D("label",{class:R([i(n).b("button"),i(n).is("active",i(l)===i(c)),i(n).is("disabled",i(s)),i(n).is("focus",i(o)),i(n).bm("button",i(r))])},[ct(z("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":p[0]||(p[0]=g=>Gt(l)?l.value=g:null),class:R(i(n).be("button","original-radio")),value:i(c),type:"radio",name:e.name||i(u)?.name,disabled:i(s),onFocus:p[1]||(p[1]=g=>o.value=!0),onBlur:p[2]||(p[2]=g=>o.value=!1),onClick:p[3]||(p[3]=Xe(()=>{},["stop"]))},null,42,OF),[[I2,i(l)]]),z("span",{class:R(i(n).be("button","inner")),style:ze(i(l)===i(c)?d.value:{}),onKeydown:p[4]||(p[4]=Xe(()=>{},["stop"]))},[oe(f.$slots,"default",{},()=>[wt(Ce(e.label),1)])],38)],2))}}),Um=_F;const RF=["id","aria-label","aria-labelledby"];var IF=se({name:"ElRadioGroup",__name:"radio-group",props:kF,emits:EF,setup(e,{emit:t}){const n=e,a=t,o=ge("radio"),r=Gn(),s=M(),{formItem:l}=Fn(),{inputId:u,isLabeledByFormItem:c}=_a(n,{formItemContext:l}),d=v=>{a(at,v),Ne(()=>a(yt,v))};ht(()=>{const v=s.value.querySelectorAll("[type=radio]"),m=v[0];!Array.from(v).some(b=>b.checked)&&m&&(m.tabIndex=0)});const f=C(()=>n.name||r.value),p=C(()=>({...Qk,...n.props})),g=v=>{const{label:m,value:b,disabled:w}=p.value,y={label:v[m],value:v[b],disabled:v[w]};return{...ku(v,[m,b,w]),...y}},h=C(()=>n.type==="button"?Um:tE);return St(Zk,Dt({...Pn(n),changeEvent:d,name:f})),pe(()=>n.modelValue,(v,m)=>{n.validateEvent&&!fn(v,m)&&l?.validate("change").catch(ut)}),(v,m)=>(E(),D("div",{id:i(u),ref_key:"radioGroupRef",ref:s,class:R(i(o).b("group")),role:"radiogroup","aria-label":i(c)?void 0:e.ariaLabel||"radio-group","aria-labelledby":i(c)?i(l).labelId:void 0},[oe(v.$slots,"default",{},()=>[(E(!0),D(Ve,null,kt(e.options,(b,w)=>(E(),le(it(h.value),pt({key:w},{ref_for:!0},g(b)),null,16))),128))])],10,RF))}}),nE=IF;const aE=st(tE,{RadioButton:Um,RadioGroup:nE}),$F=ln(nE),NF=ln(Um),bf=Symbol();function MF(e){return!!(we(e)?e.every(({type:t})=>t===kn):e?.type===kn)}var PF=se({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=ge("cascader-node"),{renderLabelFn:n}=$e(bf),{node:a}=e,{data:o,label:r}=a,s=()=>{const l=n?.({node:a,data:o});return MF(l)?r:l??r};return()=>X("span",{class:t.e("label")},[s()])}});const AF=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"];var LF=se({name:"ElCascaderNode",__name:"node",props:{node:{type:Object,required:!0},menuId:{type:String,required:!1}},emits:["expand"],setup(e,{emit:t}){const n=e,a=t,o=$e(bf),r=ge("cascader-node"),s=C(()=>o.isHoverMenu),l=C(()=>o.config.multiple),u=C(()=>o.config.checkStrictly),c=C(()=>o.config.showPrefix),d=C(()=>o.checkedNodes[0]?.uid),f=C(()=>n.node.isDisabled),p=C(()=>n.node.isLeaf),g=C(()=>u.value&&!p.value||!f.value),h=C(()=>m(o.expandingNode)),v=C(()=>u.value&&o.checkedNodes.some(m)),m=I=>{const{level:_,uid:N}=n.node;return I?.pathNodes[_-1]?.uid===N},b=()=>{h.value||o.expandNode(n.node)},w=I=>{const{node:_}=n;I!==_.checked&&o.handleCheckChange(_,I)},y=()=>{o.lazyLoad(n.node,()=>{p.value||b()})},S=I=>{s.value&&(k(),!p.value&&a("expand",I))},k=()=>{const{node:I}=n;!g.value||I.loading||(I.loaded?b():y())},x=()=>{p.value&&!f.value&&!u.value&&!l.value?T(!0):(o.config.checkOnClickNode&&(l.value||u.value)||p.value&&o.config.checkOnClickLeaf)&&!f.value?O(!n.node.checked):s.value||k()},O=I=>{u.value?(w(I),n.node.loaded&&b()):T(I)},T=I=>{n.node.loaded?(w(I),!u.value&&b()):y()};return(I,_)=>(E(),D("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!p.value,"aria-owns":p.value?void 0:e.menuId,"aria-expanded":h.value,tabindex:g.value?-1:void 0,class:R([i(r).b(),i(r).is("selectable",u.value),i(r).is("active",e.node.checked),i(r).is("disabled",!g.value),h.value&&"in-active-path",v.value&&"in-checked-path"]),onMouseenter:S,onFocus:S,onClick:x},[re(" prefix "),l.value&&c.value?(E(),le(i(mo),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:f.value,onClick:_[0]||(_[0]=Xe(()=>{},["stop"])),"onUpdate:modelValue":O},null,8,["model-value","indeterminate","disabled"])):u.value&&c.value?(E(),le(i(aE),{key:1,"model-value":d.value,label:e.node.uid,disabled:f.value,"onUpdate:modelValue":O,onClick:_[1]||(_[1]=Xe(()=>{},["stop"]))},{default:ne(()=>[re(` + Add an empty element to avoid render label, + do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 + `),_[2]||(_[2]=z("span",null,null,-1))]),_:1},8,["model-value","label","disabled"])):p.value&&e.node.checked?(E(),le(i(De),{key:2,class:R(i(r).e("prefix"))},{default:ne(()=>[X(i(Il))]),_:1},8,["class"])):re("v-if",!0),re(" content "),X(i(PF),{node:e.node},null,8,["node"]),re(" postfix "),p.value?re("v-if",!0):(E(),D(Ve,{key:3},[e.node.loading?(E(),le(i(De),{key:0,class:R([i(r).is("loading"),i(r).e("postfix")])},{default:ne(()=>[X(i(ho))]),_:1},8,["class"])):(E(),le(i(De),{key:1,class:R(["arrow-right",i(r).e("postfix")])},{default:ne(()=>[X(i(sa))]),_:1},8,["class"]))],64))],42,AF))}}),M0=LF,DF=se({name:"ElCascaderMenu",__name:"menu",props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0},virtualScroll:{type:Boolean,required:!1,default:!1},itemSize:{type:Number,required:!1,default:34},height:{type:Number,required:!1,default:204}},setup(e,{expose:t}){const n=e,a=dt(),o=ge("cascader-menu"),{t:r}=xt(),s=Gn();let l,u;const c=$e(bf),d=M(),f=M(),p=C(()=>!n.nodes.length),g=C(()=>!c.initialLoaded),h=C(()=>`${s.value}-${n.index}`),v=()=>{let O;if(c.expandingNode){const{level:T,pathNodes:I}=c.expandingNode;n.index<T?O=I[n.index]?.uid:n.index===T&&c.checkedNodes.length>0&&(O=c.checkedNodes[0]?.pathNodes[n.index]?.uid)}else c.checkedNodes.length>0&&n.index<c.checkedNodes[0].pathNodes.length&&(O=c.checkedNodes[0].pathNodes[n.index]?.uid);return O!==void 0?n.nodes.findIndex(T=>T.uid===O):-1},m=O=>O?n.nodes.findIndex(T=>`${h.value}-${T.uid}`===O):-1,b=O=>{const T=Ma(O,0,n.nodes.length-1);f.value?.scrollToItem(T)},w=O=>{if(!n.nodes.length)return;const T=Ma(O,0,n.nodes.length-1);b(T),Ne(()=>{const I=a.vnode.el?.querySelector(`#${h.value}-${n.nodes[T].uid}`);I&&pl(I)})},y=O=>{l=O.target},S=O=>{if(!(!c.isHoverMenu||!l||!d.value))if(l.contains(O.target)){k();const T=a.vnode.el,{left:I}=T.getBoundingClientRect(),{offsetWidth:_,offsetHeight:N}=T,$=O.clientX-I,B=l.offsetTop,K=B+l.offsetHeight,j=n.virtualScroll?f.value?.states?.scrollOffset||0:T.querySelector(`.${o.e("wrap")}`)?.scrollTop||0;d.value.innerHTML=` + <path style="pointer-events: auto;" fill="transparent" d="M${$} ${B} L${_} ${j} V${B} Z" /> + <path style="pointer-events: auto;" fill="transparent" d="M${$} ${K} L${_} ${N+j} V${K} Z" /> + `}else u||(u=window.setTimeout(x,c.config.hoverThreshold))},k=()=>{u&&(clearTimeout(u),u=void 0)},x=()=>{d.value&&(d.value.innerHTML="",k())};return t({getActiveNodeIndex:v,getNodeIndexById:m,scrollToItem:b,focusNodeAt:w,virtualListRef:f,get $el(){return a.vnode.el}}),(O,T)=>e.virtualScroll?(E(),D("div",{key:h.value,class:R(i(o).b()),onMousemove:S,onMouseleave:x},[X(i(gf),{ref_key:"virtualListRef",ref:f,height:e.height,"item-size":e.itemSize,data:e.nodes,total:e.nodes.length,"class-name":i(o).e("list"),"inner-element":"ul","inner-props":{role:"menu",class:i(o).is("empty",p.value)}},{default:ne(({data:I,index:_,style:N})=>[(E(),le(M0,{key:I[_].uid,node:I[_],"menu-id":h.value,style:ze(N),onExpand:y},null,8,["node","menu-id","style"]))]),_:1},8,["height","item-size","data","total","class-name","inner-props"]),g.value?(E(),D("div",{key:0,class:R(i(o).e("empty-text"))},[X(i(De),{size:14,class:R(i(o).is("loading"))},{default:ne(()=>[X(i(ho))]),_:1},8,["class"]),wt(" "+Ce(i(r)("el.cascader.loading")),1)],2)):p.value?(E(),D("div",{key:1,class:R(i(o).e("empty-text"))},[oe(O.$slots,"empty",{},()=>[wt(Ce(i(r)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),D(Ve,{key:2},[re(" eslint-disable vue/html-self-closing "),(E(),D("svg",{ref_key:"hoverZone",ref:d,class:R(i(o).e("hover-zone"))},null,2))],2112)):re("v-if",!0),re(" eslint-enable vue/html-self-closing ")],34)):(E(),le(i(vo),{key:h.value,tag:"ul",role:"menu",class:R(i(o).b()),"wrap-class":i(o).e("wrap"),"view-class":[i(o).e("list"),i(o).is("empty",p.value)],onMousemove:S,onMouseleave:x},{default:ne(()=>[(E(!0),D(Ve,null,kt(e.nodes,I=>(E(),le(M0,{key:I.uid,node:I,"menu-id":h.value,onExpand:y},null,8,["node","menu-id"]))),128)),g.value?(E(),D("div",{key:0,class:R(i(o).e("empty-text"))},[X(i(De),{size:14,class:R(i(o).is("loading"))},{default:ne(()=>[X(i(ho))]),_:1},8,["class"]),wt(" "+Ce(i(r)("el.cascader.loading")),1)],2)):p.value?(E(),D("div",{key:1,class:R(i(o).e("empty-text"))},[oe(O.$slots,"empty",{},()=>[wt(Ce(i(r)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),D(Ve,{key:2},[re(" eslint-disable vue/html-self-closing "),(E(),D("svg",{ref_key:"hoverZone",ref:d,class:R(i(o).e("hover-zone"))},null,2))],2112)):re("v-if",!0),re(" eslint-enable vue/html-self-closing ")]),_:3},8,["class","wrap-class","view-class"]))}}),BF=DF;let VF=0;const FF=e=>{const t=[e];let{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t};var Wh=class jh{constructor(t,n,a,o=!1){this.data=t,this.config=n,this.parent=a,this.root=o,this.uid=VF++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:r,label:s,children:l}=n,u=t[l],c=FF(this);this.level=o?0:a?a.level+1:1,this.value=t[r],this.label=t[s],this.pathNodes=c,this.pathValues=c.map(d=>d.value),this.pathLabels=c.map(d=>d.label),this.childrenData=u,this.children=(u||[]).map(d=>new jh(d,n,this)),this.loaded=!n.lazy||this.isLeaf||!ha(u),this.text=""}get isDisabled(){const{data:t,parent:n,config:a}=this,{disabled:o,checkStrictly:r}=a;return(Fe(o)?o(t,this):!!t[o])||!r&&!!n?.isDisabled}get isLeaf(){const{data:t,config:n,childrenData:a,loaded:o}=this,{lazy:r,leaf:s}=n,l=Fe(s)?s(t,this):t[s];return Rt(l)?r&&!o?!1:!(we(a)&&a.length):!!l}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:n,children:a}=this,o=new jh(t,this.config,this);return we(n)?n.push(t):this.childrenData=[t],a.push(o),o}calcText(t,n){const a=t?this.pathLabels.join(n):this.label;return this.text=a,a}broadcast(t){this.children.forEach(n=>{n&&(n.broadcast(t),n.onParentCheck?.(t))})}emit(){const{parent:t}=this;t&&(t.onChildCheck?.(),t.emit())}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,n=t.filter(o=>!o.isDisabled),a=n.length?n.every(o=>o.checked):!1;this.setCheckState(a)}setCheckState(t){const n=this.children.length,a=this.children.reduce((o,r)=>o+(r.checked?1:r.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(o=>!o.isDisabled).every(o=>o.loaded&&o.checked)&&t,this.indeterminate=this.loaded&&a!==n&&a>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:n,multiple:a}=this.config;n||!a?this.checked=t:(this.broadcast(t),this.setCheckState(t),this.emit())}};const Uh=(e,t)=>e.reduce((n,a)=>(a.isLeaf?n.push(a):(!t&&n.push(a),n=n.concat(Uh(a.children,t))),n),[]);var P0=class{constructor(e,t){this.config=t;const n=(e||[]).map(a=>new Wh(a,this.config));this.nodes=n,this.allNodes=Uh(n,!1),this.leafNodes=Uh(n,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const n=t?t.appendChild(e):new Wh(e,this.config);t||this.nodes.push(n),this.appendAllNodesAndLeafNodes(n)}appendNodes(e,t){e.length>0?e.forEach(n=>this.appendNode(n,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(t=>{this.appendAllNodesAndLeafNodes(t)})}getNodeByValue(e,t=!1){return Pa(e)?null:this.getFlattedNodes(t).find(n=>fn(n.value,e)||fn(n.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:t,level:n})=>fn(e.value,t)&&e.level===n)||null}};const mp=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},zF=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():MS(e)&&e.click()},HF=(e,t)=>{const n=t.slice(0),a=n.map(r=>r.uid),o=e.reduce((r,s)=>{const l=a.indexOf(s.uid);return l>-1&&(r.push(s),n.splice(l,1),a.splice(l,1)),r},[]);return o.push(...n),o};var KF=se({name:"ElCascaderPanel",__name:"index",props:z5,emits:H5,setup(e,{expose:t,emit:n}){const a=e,o=n;let r=!1;const s=ge("cascader"),l=K5(a),u=wn();let c;const d=M(!0),f=M(!1),p=M([]),g=M(),h=M([]),v=M(),m=M([]),b=C(()=>l.value.expandTrigger==="hover"),w=C(()=>a.renderLabel||u.default),y=C(()=>a.virtualScroll),S=C(()=>a.itemSize),k=C(()=>a.height),x=()=>{const{options:F}=a,H=l.value;r=!1,c=new P0(F,H),h.value=[c.getNodes()],H.lazy&&ha(a.options)?(d.value=!1,O(void 0,U=>{U&&(c=new P0(U,H),h.value=[c.getNodes()]),d.value=!0,j(!1,!0)})):j(!1,!0)},O=(F,H)=>{const U=l.value;F=F||new Wh({},U,void 0,!0),F.loading=!0;const J=ae=>{const ce=F,Z=ce.root?null:ce;ce.loading=!1,ce.loaded=!0,ce.childrenData=ce.childrenData||[],ae&&c?.appendNodes(ae,Z),ae&&H?.(ae),F.level===0&&(f.value=!0)},ee=()=>{F.loading=!1,F.loaded=!1,F.level===0&&(d.value=!0)};U.lazyLoad(F,J,ee)},T=(F,H)=>{const{level:U}=F,J=h.value.slice(0,U);let ee;F.isLeaf?ee=F.pathNodes[U-2]:(ee=F,J.push(F.children)),v.value?.uid!==ee?.uid&&(v.value=F,h.value=J,!H&&o("expand-change",F?.pathValues||[]))},I=(F,H,U=!0)=>{const{checkStrictly:J,multiple:ee}=l.value,ae=m.value[0];r=!0,!ee&&ae?.doCheck(!1),F.doCheck(H),K(),U&&!ee&&!J&&o("close"),!U&&!ee&&_(F)},_=F=>{F&&(F=F.parent,_(F),F&&T(F))},N=F=>c?.getFlattedNodes(F),$=F=>N(F)?.filter(({checked:H})=>H!==!1),B=()=>{m.value.forEach(F=>F.doCheck(!1)),K(),h.value=h.value.slice(0,1),v.value=void 0,o("expand-change",[])},K=()=>{const{checkStrictly:F,multiple:H}=l.value,U=m.value,J=HF(U,$(!F)),ee=J.map(ae=>ae.valueByOption);m.value=J,g.value=H?ee:ee[0]??null},j=(F=!1,H=!1)=>{const{modelValue:U}=a,{lazy:J,multiple:ee,checkStrictly:ae}=l.value,ce=!ae;if(!(!d.value||r||!H&&fn(U,g.value)))if(J&&!F){const Z=Dy(ON(aa(U))).map(de=>c?.getNodeByValue(de)).filter(de=>!!de&&!de.loaded&&!de.loading);Z.length?Z.forEach(de=>{O(de,()=>j(!1,H))}):j(!0,H)}else W(Dy((ee?aa(U):[U]).map(Z=>c?.getNodeByValue(Z,ce))),H),g.value=No(U??void 0)},W=(F,H=!0)=>{const{checkStrictly:U}=l.value,J=m.value,ee=F.filter(Z=>!!Z&&(U||Z.isLeaf)),ae=c?.getSameNode(v.value),ce=H&&ae||ee[0];ce?ce.pathNodes.forEach(Z=>T(Z,!0)):v.value=void 0,J.forEach(Z=>Z.doCheck(!1)),Dt(ee).forEach(Z=>Z.doCheck(!0)),m.value=ee,Ne(A)},A=()=>{Lt&&p.value.forEach(F=>{const H=F?.$el;if(H)if(y.value){const U=F?.getActiveNodeIndex?.();U!==void 0&&U>=0&&F?.scrollToItem?.(U)}else{const U=H.querySelector(`.${s.namespace.value}-scrollbar__wrap`);let J=H.querySelector(`.${s.b("node")}.in-active-path`);if(!J){const ee=H.querySelectorAll(`.${s.b("node")}.${s.is("active")}`);J=ee[ee.length-1]}cm(U,J)}})},P=F=>{const H=F.target,U=qt(F);switch(U){case Se.up:case Se.down:{F.preventDefault();const J=U===Se.up?-1:1;if(y.value){const ee=mp(H),ae=p.value[ee];if(ae){const ce=ae.getNodeIndexById(H.id);if(ce>=0){const Z=h.value[ee]??[],de=Z.length;let ue=ce+J;for(;ue>=0&&ue<de;){if(!Z[ue].isDisabled){ae.focusNodeAt(ue);return}ue+=J}}}}pl(PS(H,J,`.${s.b("node")}[tabindex="-1"]`));break}case Se.left:{F.preventDefault();const J=p.value[mp(H)-1]?.$el.querySelector(`.${s.b("node")}[aria-expanded="true"]`);pl(J);break}case Se.right:{F.preventDefault();const J=p.value[mp(H)+1]?.$el.querySelector(`.${s.b("node")}[tabindex="-1"]`);pl(J);break}case Se.enter:case Se.numpadEnter:zF(H);break}};St(bf,Dt({config:l,expandingNode:v,checkedNodes:m,isHoverMenu:b,initialLoaded:d,renderLabelFn:w,virtualScroll:y,itemSize:S,height:k,lazyLoad:O,expandNode:T,handleCheckChange:I})),pe(l,(F,H)=>{fn(F,H)||x()},{immediate:!0}),pe(()=>a.options,x,{deep:!0}),pe(()=>a.modelValue,()=>{r=!1,j()},{deep:!0}),pe(()=>g.value,F=>{fn(F,a.modelValue)||(o(at,F),o(yt,F))});const V=()=>{f.value||x()};return Pv(()=>p.value=[]),ht(()=>!ha(a.modelValue)&&j()),t({menuList:p,menus:h,checkedNodes:m,handleKeyDown:P,handleCheckChange:I,getFlattedNodes:N,getCheckedNodes:$,clearCheckedNodes:B,calculateCheckedValue:K,scrollToExpandingNode:A,loadLazyRootNodes:V}),(F,H)=>(E(),D("div",{class:R([i(s).b("panel"),i(s).is("bordered",e.border)]),onKeydown:P},[(E(!0),D(Ve,null,kt(h.value,(U,J)=>(E(),le(BF,{key:J,ref_for:!0,ref:ee=>p.value[J]=ee,index:J,nodes:[...U],"virtual-scroll":y.value,"item-size":S.value,height:k.value},{empty:ne(()=>[oe(F.$slots,"empty")]),_:3},8,["index","nodes","virtual-scroll","item-size","height"]))),128))],34))}}),WF=KF;const oE=st(WF),jF=Ee({...Tk,size:Nn,placeholder:String,disabled:{type:Boolean,default:void 0},clearable:Boolean,clearIcon:{type:Ut,default:Yo},filterable:Boolean,filterMethod:{type:G(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:G(Function),default:()=>!0},placement:{type:G(String),values:jo,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,teleported:Kt.teleported,effect:{type:G(String),default:"light"},tagType:{...gr.type,default:"info"},tagEffect:{...gr.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},fitInputWidth:{type:[Boolean,Number],default:!1},...zs}),A0=e=>!0,UF={[at]:A0,[yt]:A0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>Wt(e),expandChange:e=>!!e,removeTag:e=>!!e},qF=["placeholder"],YF=["onClick"],GF=["id","data-suggestion-index","onClick"],XF=34;var JF=se({name:"ElCascader",__name:"cascader",props:jF,emits:UF,setup(e,{expose:t,emit:n}){const a={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:Oe})=>{const{modifiersData:Ke,placement:We}=Oe;["right","left","bottom","top"].includes(We)||Ke.arrow&&(Ke.arrow.x=35)},requires:["arrow"]}]},o=e,r=n,s=wr(),l=wn();let u=0,c=0;const d=ge("cascader"),f=ge("input"),p={small:7,default:11,large:15},{t:g}=xt(),{formItem:h}=Fn(),v=un(),{valueOnClear:m}=Au(o),{isComposing:b,handleComposition:w}=Pu({afterComposition(Oe){const Ke=Oe.target?.value;en(Ke)}}),y=M(),S=M(),k=M(),x=M(),O=M(),T=M(),I=M(),_=M(!1),N=M(!1),$=M(!1),B=M(""),K=M(""),j=M([]),W=M([]),A=M("100%"),P=C(()=>!!l["suggestion-item"]),V=C(()=>Ma(W.value.length*o.itemSize,o.itemSize,o.height)),F=C(()=>o.props.multiple?o.collapseTags?j.value.slice(0,o.maxCollapseTags):j.value:[]),H=C(()=>o.props.multiple?o.collapseTags?j.value.slice(o.maxCollapseTags):[]:[]),U=C(()=>s.style),J=C(()=>o.placeholder??g("el.cascader.placeholder")),ee=C(()=>K.value||j.value.length>0||b.value?"":J.value),ae=In(),ce=C(()=>ae.value==="small"?"small":"default"),Z=C(()=>!!o.props.multiple),de=C(()=>!o.filterable||Z.value),ue=C(()=>Z.value?K.value:B.value),Y=C(()=>O.value?.checkedNodes||[]),{wrapperRef:Q,isFocused:L,handleBlur:q}=Er(k,{disabled:v,beforeBlur(Oe){return y.value?.isFocusInsideContent(Oe)||S.value?.isFocusInsideContent(Oe)},afterBlur(){o.validateEvent&&h?.validate?.("blur").catch(ut)}}),te=C(()=>!o.clearable||v.value||$.value||!N.value&&!L.value?!1:!!Y.value.length),fe=C(()=>{const{showAllLevels:Oe,separator:Ke}=o,We=Y.value;return We.length?Z.value?"":We[0].calcText(Oe,Ke):""}),he=C(()=>h?.validateState||""),ve=C({get(){return No(o.modelValue)},set(Oe){const Ke=Oe??m.value;r(at,Ke),r(yt,Ke),o.validateEvent&&h?.validate("change").catch(ut)}}),Ie=C(()=>[d.b(),d.m(ae.value),d.is("disabled",v.value),s.class]),Le=C(()=>[f.e("icon"),"icon-arrow-down",d.is("reverse",_.value)]),_e=C(()=>d.is("focus",L.value)),ye=C(()=>y.value?.popperRef?.contentRef),Te=Oe=>{L.value&&q(new FocusEvent("blur",Oe)),be(!1)},be=Oe=>{v.value||(Oe=Oe??!_.value,Oe!==_.value&&(_.value=Oe,k.value?.input?.setAttribute("aria-expanded",`${Oe}`),Oe?(Pe(),O.value&&Ne(O.value.scrollToExpandingNode)):o.filterable&&bt(),r("visibleChange",Oe)))},Pe=()=>{Ne(()=>{y.value?.updatePopper()})},He=()=>{$.value=!1},Je=Oe=>{const{showAllLevels:Ke,separator:We}=o;return{node:Oe,key:Oe.uid,text:Oe.calcText(Ke,We),hitState:!1,closable:!v.value&&!Oe.isDisabled}},Qe=Oe=>{const Ke=Oe.node;Ke.doCheck(!1),O.value?.calculateCheckedValue(),r("removeTag",Ke.valueByOption)},lt=()=>{switch(o.showCheckedStrategy){case"child":return Y.value;case"parent":{const Oe=ie(!1),Ke=Oe.map(We=>We.value);return Oe.filter(We=>!We.parent||!Ke.includes(We.parent.value))}default:return[]}},Ze=()=>{if(!Z.value)return;const Oe=lt(),Ke=[];Oe.forEach(We=>Ke.push(Je(We))),j.value=Ke},gt=()=>{const{filterMethod:Oe,showAllLevels:Ke,separator:We}=o,Xt=O.value?.getFlattedNodes(!o.props.checkStrictly)?.filter(cn=>cn.isDisabled?!1:(cn.calcText(Ke,We),Oe(cn,ue.value)));Z.value&&j.value.forEach(cn=>{cn.hitState=!1}),$.value=!0,W.value=Xt,Ne(()=>{o.virtualScroll&&W.value.length>0&&I.value?.scrollToItem(0),me()}),Pe()},Pt=Oe=>{const Ke=T.value;return Oe?Ke?.querySelector(Oe)??void 0:Ke},zt=()=>{let Oe;$.value&&T.value?Oe=Pt(`.${d.e("suggestion-item")}`):Oe=O.value?.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),Oe&&(Oe.focus(),!$.value&&Oe.getAttribute("aria-haspopup")==="true"&&Oe.click())},nt=Oe=>{const Ke=Pt();if(!Ke)return;const We=Be(o.fitInputWidth)?`${o.fitInputWidth}px`:`${Oe}px`,Xt=On=>{o.fitInputWidth!==!1?(On.style.width=We,On.style.minWidth=""):(On.style.width="",On.style.minWidth=We)};if(Xt(Ke),o.virtualScroll){A.value=o.fitInputWidth!==!1?We:P.value?`${Oe}px`:`${Math.max(Oe,je())}px`;return}const cn=Pt(`.${d.e("suggestion-list")}`);cn&&Xt(cn)},ft=()=>{if(!l.prefix)return 0;const Oe=k.value?.$el.querySelector(`.${f.e("prefix")}`);if(!Oe)return 0;const Ke=Oe.getBoundingClientRect().width;return Ke<=0?0:Ke+p[ae.value||"default"]},me=()=>{const Oe=k.value?.input,Ke=k.value?.$el;if(!Lt||!Oe||!Ke)return;T.value&&nt(Ke.getBoundingClientRect().width);const We=x.value;if(We){const Xt=j.value.length>0?`${Math.max(We.offsetHeight,u)-2}px`:`${u}px`;Oe.style.height=Xt,We.style.left=`${ft()}px`,Pe()}},je=()=>{if(P.value||!W.value.length)return 0;const Oe=document.createElement("canvas").getContext("2d");if(!Oe)return 0;const Ke=Pt(`.${d.e("suggestion-item")}`);if(!Ke||!Lt)return 0;const We=getComputedStyle(Ke),Xt=Number.parseFloat(We.paddingLeft)+Number.parseFloat(We.paddingRight);Oe.font=`bold ${We.fontSize} ${We.fontFamily}`;let cn=0,On=!1;for(const Xn of W.value){const ya=Xn.text||"",to=Oe.measureText(ya);cn=Math.max(cn,to.width),Xn.checked&&!On&&(On=!0)}return cn+Xt+(On?XF:0)},ie=Oe=>O.value?.getCheckedNodes(Oe),xe=Oe=>{Pe(),r("expandChange",Oe)},Ue=Oe=>{if(!b.value)switch(qt(Oe)){case Se.enter:case Se.numpadEnter:be();break;case Se.down:be(!0),Ne(zt),Oe.preventDefault();break;case Se.esc:_.value===!0&&(Oe.preventDefault(),Oe.stopPropagation(),be(!1));break;case Se.tab:be(!1);break}},et=()=>{O.value?.clearCheckedNodes(),!_.value&&o.filterable&&bt(),be(!1),r("clear")},bt=()=>{const{value:Oe}=fe;B.value=Oe,K.value=Oe},vt=Oe=>{const{checked:Ke}=Oe;Z.value?O.value?.handleCheckChange(Oe,!Ke,!1):(!Ke&&O.value?.handleCheckChange(Oe,!0,!1),be(!1))},Et=Oe=>{const Ke=Oe.closest("[data-suggestion-index]")?.dataset.suggestionIndex;if(!Ke)return-1;const We=Number.parseInt(Ke,10);return Number.isNaN(We)||We<0||We>=W.value.length?-1:We},Yt=Oe=>{const Ke=Oe.target,We=qt(Oe);switch(We){case Se.up:case Se.down:{Oe.preventDefault();const Xt=We===Se.up?-1:1;if(o.virtualScroll&&I.value){const cn=Et(Ke);if(cn>=0){const On=W.value.length,Xn=(cn+Xt+On)%On;I.value.scrollToItem(Xn),Ne(()=>{const ya=Pt(`#suggestion-${W.value[Xn].uid}`);ya&&pl(ya)});return}}pl(PS(Ke,Xt,`.${d.e("suggestion-item")}[tabindex="-1"]`));break}case Se.enter:case Se.numpadEnter:Ke.click();break}},on=()=>{const Oe=j.value[j.value.length-1];c=K.value?0:c+1,!(!Oe||!c||o.collapseTags&&j.value.length>1)&&(Oe.hitState?Qe(Oe):Oe.hitState=!0)},At=xu(()=>{const{value:Oe}=ue;if(!Oe)return;const Ke=o.beforeFilter(Oe);qr(Ke)?Ke.then(gt).catch(()=>{}):Ke!==!1?gt():He()},C(()=>o.debounce)),en=(Oe,Ke)=>{if(!_.value&&be(!0),!Ke?.isComposing)if(Oe)At();else{const We=o.beforeFilter("");qr(We)&&We.catch(()=>{}),He()}},Ye=Oe=>Number.parseFloat(g8(f.cssVarName("input-height"),Oe).value)-2,Ge=()=>{k.value?.focus()},tt=()=>{k.value?.blur()};return pe($,Pe),pe([Y,v,()=>o.collapseTags,()=>o.maxCollapseTags],Ze),pe(j,()=>{Ne(()=>me())}),pe(ae,async()=>{await Ne();const Oe=k.value.input;u=Ye(Oe)||u,me()}),pe(fe,bt,{immediate:!0}),pe(()=>_.value,Oe=>{Oe&&o.props.lazy&&o.props.lazyLoad&&O.value?.loadLazyRootNodes()}),ht(()=>{const Oe=k.value.input,Ke=k.value.$el,We=Ye(Oe);u=Oe.offsetHeight||We,an(Ke,me)}),t({getCheckedNodes:ie,cascaderPanelRef:O,togglePopperVisible:be,contentRef:ye,presentText:fe,focus:Ge,blur:tt}),(Oe,Ke)=>(E(),le(i(Wn),{ref_key:"tooltipRef",ref:y,visible:_.value,teleported:e.teleported,"popper-class":[i(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":a,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${i(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:He},{default:ne(()=>[ct((E(),D("div",{ref_key:"wrapperRef",ref:Q,class:R(Ie.value),style:ze(U.value),onClick:Ke[8]||(Ke[8]=()=>be(de.value?void 0:!0)),onKeydown:Ue,onMouseenter:Ke[9]||(Ke[9]=We=>N.value=!0),onMouseleave:Ke[10]||(Ke[10]=We=>N.value=!1)},[X(i(Un),{ref_key:"inputRef",ref:k,modelValue:B.value,"onUpdate:modelValue":Ke[1]||(Ke[1]=We=>B.value=We),placeholder:ee.value,readonly:de.value,disabled:i(v),"validate-event":!1,size:i(ae),class:R(_e.value),tabindex:Z.value&&e.filterable&&!i(v)?-1:void 0,onCompositionstart:i(w),onCompositionupdate:i(w),onCompositionend:i(w),onInput:en},ma({suffix:ne(()=>[te.value?(E(),le(i(De),{key:"clear",class:R([i(f).e("icon"),"icon-circle-close"]),onClick:Xe(et,["stop"])},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class"])):(E(),le(i(De),{key:"arrow-down",class:R(Le.value),onClick:Ke[0]||(Ke[0]=Xe(We=>be(),["stop"]))},{default:ne(()=>[X(i(qo))]),_:1},8,["class"]))]),_:2},[Oe.$slots.prefix?{name:"prefix",fn:ne(()=>[oe(Oe.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),Z.value?(E(),D("div",{key:0,ref_key:"tagWrapper",ref:x,class:R([i(d).e("tags"),i(d).is("validate",!!he.value)])},[oe(Oe.$slots,"tag",{data:j.value,deleteTag:Qe},()=>[(E(!0),D(Ve,null,kt(F.value,We=>(E(),le(i(cr),{key:We.key,type:e.tagType,size:ce.value,effect:e.tagEffect,hit:We.hitState,closable:We.closable,"disable-transitions":"",onClose:Xt=>Qe(We)},{default:ne(()=>[z("span",null,Ce(We.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&j.value.length>e.maxCollapseTags?(E(),le(i(Wn),{key:0,ref_key:"tagTooltipRef",ref:S,disabled:_.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:ne(()=>[X(i(cr),{closable:!1,size:ce.value,type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ne(()=>[z("span",{class:R(i(d).e("tags-text"))}," + "+Ce(j.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:ne(()=>[X(i(vo),{"max-height":e.maxCollapseTagsTooltipHeight},{default:ne(()=>[z("div",{class:R(i(d).e("collapse-tags"))},[(E(!0),D(Ve,null,kt(H.value,(We,Xt)=>(E(),D("div",{key:Xt,class:R(i(d).e("collapse-tag"))},[(E(),le(i(cr),{key:We.key,class:"in-tooltip",type:e.tagType,size:ce.value,effect:e.tagEffect,hit:We.hitState,closable:We.closable,"disable-transitions":"",onClose:cn=>Qe(We)},{default:ne(()=>[z("span",null,Ce(We.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):re("v-if",!0),e.filterable&&!i(v)?ct((E(),D("input",{key:1,"onUpdate:modelValue":Ke[2]||(Ke[2]=We=>K.value=We),type:"text",class:R(i(d).e("search-input")),placeholder:fe.value?"":J.value,onInput:Ke[3]||(Ke[3]=We=>en(K.value,We)),onClick:Ke[4]||(Ke[4]=Xe(We=>be(!0),["stop"])),onKeydown:dn(on,["delete"]),onCompositionstart:Ke[5]||(Ke[5]=(...We)=>i(w)&&i(w)(...We)),onCompositionupdate:Ke[6]||(Ke[6]=(...We)=>i(w)&&i(w)(...We)),onCompositionend:Ke[7]||(Ke[7]=(...We)=>i(w)&&i(w)(...We))},null,42,qF)),[[_2,K.value]]):re("v-if",!0)],2)):re("v-if",!0)],38)),[[i(Qr),Te,ye.value]])]),content:ne(()=>[Oe.$slots.header?(E(),D("div",{key:0,class:R(i(d).e("header")),onClick:Ke[11]||(Ke[11]=Xe(()=>{},["stop"]))},[oe(Oe.$slots,"header")],2)):re("v-if",!0),ct(X(i(oE),{ref_key:"cascaderPanelRef",ref:O,modelValue:ve.value,"onUpdate:modelValue":Ke[12]||(Ke[12]=We=>ve.value=We),options:e.options,props:o.props,border:!1,"render-label":Oe.$slots.default,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,height:e.height,onExpandChange:xe,onClose:Ke[13]||(Ke[13]=We=>Oe.$nextTick(()=>be(!1)))},{empty:ne(()=>[oe(Oe.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label","virtual-scroll","item-size","height"]),[[$t,!$.value]]),e.filterable?(E(),D(Ve,{key:1},[e.virtualScroll?ct((E(),D("div",{key:1,ref_key:"suggestionPanel",ref:T,class:R(i(d).e("suggestion-panel")),onKeydown:Yt},[ct(X(i(gf),{ref_key:"suggestionVirtualListRef",ref:I,height:V.value,"item-size":e.itemSize,data:W.value,total:W.value.length,"class-name":i(d).e("suggestion-list"),"inner-element":"ul","inner-width":A.value},{default:ne(({data:We,index:Xt,style:cn})=>[(E(),D("li",{id:`suggestion-${We[Xt].uid}`,key:We[Xt].uid,"data-suggestion-index":Xt,class:R([i(d).e("suggestion-item"),i(d).is("checked",We[Xt].checked)]),tabindex:-1,style:ze(cn),onClick:On=>vt(We[Xt])},[oe(Oe.$slots,"suggestion-item",{item:We[Xt]},()=>[z("span",null,Ce(We[Xt].text),1),We[Xt].checked?(E(),le(i(De),{key:0},{default:ne(()=>[X(i(Il))]),_:1})):re("v-if",!0)])],14,GF))]),_:3},8,["height","item-size","data","total","class-name","inner-width"]),[[$t,W.value.length]]),W.value.length?re("v-if",!0):oe(Oe.$slots,"empty",{key:0},()=>[z("ul",{class:R(i(d).e("suggestion-list"))},[z("li",{class:R(i(d).e("empty-text"))},Ce(i(g)("el.cascader.noMatch")),3)],2)])],34)),[[$t,$.value]]):ct((E(),le(i(vo),{key:0,ref:We=>T.value=We?.$el,tag:"ul",class:R(i(d).e("suggestion-panel")),"wrap-class":i(d).e("suggestion-wrap"),"view-class":i(d).e("suggestion-list"),onKeydown:Yt},{default:ne(()=>[W.value.length?(E(!0),D(Ve,{key:0},kt(W.value,We=>(E(),D("li",{key:We.uid,class:R([i(d).e("suggestion-item"),i(d).is("checked",We.checked)]),tabindex:-1,onClick:Xt=>vt(We)},[oe(Oe.$slots,"suggestion-item",{item:We},()=>[z("span",null,Ce(We.text),1),We.checked?(E(),le(i(De),{key:0},{default:ne(()=>[X(i(Il))]),_:1})):re("v-if",!0)])],10,YF))),128)):oe(Oe.$slots,"empty",{key:1},()=>[z("li",{class:R(i(d).e("empty-text"))},Ce(i(g)("el.cascader.noMatch")),3)])]),_:3},8,["class","wrap-class","view-class"])),[[$t,$.value]])],64)):re("v-if",!0),Oe.$slots.footer?(E(),D("div",{key:2,class:R(i(d).e("footer")),onClick:Ke[14]||(Ke[14]=Xe(()=>{},["stop"]))},[oe(Oe.$slots,"footer")],2)):re("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}}),ZF=JF;const QF=st(ZF),ez=Ee({checked:Boolean,disabled:Boolean,type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),tz={"update:checked":e=>Wt(e),[yt]:e=>Wt(e)};var nz=se({name:"ElCheckTag",__name:"check-tag",props:ez,emits:tz,setup(e,{emit:t}){const n=e,a=t,o=ge("check-tag"),r=C(()=>[o.b(),o.is("checked",n.checked),o.is("disabled",n.disabled),o.m(n.type||"primary")]),s=()=>{if(n.disabled)return;const l=!n.checked;a(yt,l),a("update:checked",l)};return(l,u)=>(E(),D("span",{class:R(r.value),onClick:s},[oe(l.$slots,"default")],2))}}),az=nz;const oz=st(az),rz=Ee({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:G([Number,Object]),default:()=>pn({})},sm:{type:G([Number,Object]),default:()=>pn({})},md:{type:G([Number,Object]),default:()=>pn({})},lg:{type:G([Number,Object]),default:()=>pn({})},xl:{type:G([Number,Object]),default:()=>pn({})}}),sz=["start","center","end","space-around","space-between","space-evenly"],lz=["top","middle","bottom"],iz=Ee({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:sz,default:"start"},align:{type:String,values:lz}}),rE=Symbol("rowContextKey");var uz=se({name:"ElRow",__name:"row",props:iz,setup(e){const t=e,n=ge("row");St(rE,{gutter:C(()=>t.gutter)});const a=C(()=>{const r={};return t.gutter&&(r.marginRight=r.marginLeft=`-${t.gutter/2}px`),r}),o=C(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(r,s)=>(E(),le(it(e.tag),{class:R(o.value),style:ze(a.value)},{default:ne(()=>[oe(r.$slots,"default")]),_:3},8,["class","style"]))}}),cz=uz;const dz=st(cz);var fz=se({name:"ElCol",__name:"col",props:rz,setup(e){const t=e,{gutter:n}=$e(rE,{gutter:C(()=>0)}),a=ge("col"),o=C(()=>{const s={};return n.value&&(s.paddingLeft=s.paddingRight=`${n.value/2}px`),s}),r=C(()=>{const s=[];return["span","offset","pull","push"].forEach(l=>{const u=t[l];Be(u)&&(l==="span"?s.push(a.b(`${t[l]}`)):u>0&&s.push(a.b(`${l}-${t[l]}`)))}),["xs","sm","md","lg","xl"].forEach(l=>{Be(t[l])?s.push(a.b(`${l}-${t[l]}`)):ot(t[l])&&Object.entries(t[l]).forEach(([u,c])=>{s.push(u!=="span"?a.b(`${l}-${u}-${c}`):a.b(`${l}-${c}`))})}),n.value&&s.push(a.is("guttered")),[a.b(),s]});return(s,l)=>(E(),le(it(e.tag),{class:R(r.value),style:ze(o.value)},{default:ne(()=>[oe(s.$slots,"default")]),_:3},8,["class","style"]))}}),pz=fz;const hz=st(pz),L0=e=>Be(e)||Ae(e)||we(e),vz=Ee({accordion:Boolean,modelValue:{type:G([Array,String,Number]),default:()=>pn([])},expandIconPosition:{type:G([String]),default:"right"},beforeCollapse:{type:G(Function)}}),mz={[at]:L0,[yt]:L0},sE=Symbol("collapseContextKey"),gz=Ee({title:{type:String,default:""},name:{type:G([String,Number]),default:void 0},icon:{type:Ut,default:sa},disabled:Boolean});var bz=se({name:"ElCollapseTransition",__name:"collapse-transition",setup(e){const t=ge("collapse-transition"),n=o=>{o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom},a={beforeEnter(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.style.height&&(o.dataset.elExistsHeight=o.style.height),o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0},enter(o){requestAnimationFrame(()=>{o.dataset.oldOverflow=o.style.overflow,o.dataset.elExistsHeight?o.style.maxHeight=o.dataset.elExistsHeight:o.scrollHeight!==0?o.style.maxHeight=`${o.scrollHeight}px`:o.style.maxHeight=0,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom,o.style.overflow="hidden"})},afterEnter(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow},enterCancelled(o){n(o)},beforeLeave(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.dataset.oldOverflow=o.style.overflow,o.style.maxHeight=`${o.scrollHeight}px`,o.style.overflow="hidden"},leave(o){o.scrollHeight!==0&&(o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0)},afterLeave(o){n(o)},leaveCancelled(o){n(o)}};return(o,r)=>(E(),le(Yn,pt({name:i(t).b()},Y4(a)),{default:ne(()=>[oe(o.$slots,"default")]),_:3},16,["name"]))}}),yz=bz;const yf=st(yz),D0="ElCollapse",wz=(e,t)=>{const n=M(Dn(e.modelValue)),a=s=>{n.value=s;const l=e.accordion?n.value[0]:n.value;t(at,l),t(yt,l)},o=s=>{if(e.accordion)a([n.value[0]===s?"":s]);else{const l=[...n.value],u=l.indexOf(s);u>-1?l.splice(u,1):l.push(s),a(l)}},r=async s=>{const{beforeCollapse:l}=e;if(!l){o(s);return}const u=l(s);[qr(u),Wt(u)].includes(!0)||sn(D0,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),qr(u)?u.then(c=>{c!==!1&&o(s)}).catch(c=>{jt(D0,`some error occurred: ${c}`)}):u&&o(s)};return pe(()=>e.modelValue,()=>n.value=Dn(e.modelValue),{deep:!0}),St(sE,{activeNames:n,handleItemClick:r}),{activeNames:n,setActiveNames:a}},Sz=e=>{const t=ge("collapse");return{rootKls:C(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}};var Cz=se({name:"ElCollapse",__name:"collapse",props:vz,emits:mz,setup(e,{expose:t,emit:n}){const a=e,{activeNames:o,setActiveNames:r}=wz(a,n),{rootKls:s}=Sz(a);return t({activeNames:o,setActiveNames:r}),(l,u)=>(E(),D("div",{class:R(i(s))},[oe(l.$slots,"default")],2))}}),kz=Cz;const Ez=e=>{const t=$e(sE),{namespace:n}=ge("collapse"),a=M(!1),o=M(!1),r=wm(),s=C(()=>r.current++),l=C(()=>e.name??`${n.value}-id-${r.prefix}-${i(s)}`),u=C(()=>t?.activeNames.value.includes(i(l)));return{focusing:a,id:s,isActive:u,handleFocus:()=>{setTimeout(()=>{o.value?o.value=!1:a.value=!0},50)},handleHeaderClick:p=>{e.disabled||p.target?.closest("input, textarea, select")||(t?.handleItemClick(i(l)),a.value=!1,o.value=!0)},handleEnterClick:p=>{p.target?.closest("input, textarea, select")||(p.preventDefault(),t?.handleItemClick(i(l)))}}},xz=(e,{focusing:t,isActive:n,id:a})=>{const o=ge("collapse"),r=C(()=>[o.b("item"),o.is("active",i(n)),o.is("disabled",e.disabled)]),s=C(()=>[o.be("item","header"),o.is("active",i(n)),{focusing:i(t)&&!e.disabled}]),l=C(()=>[o.be("item","arrow"),o.is("active",i(n))]);return{itemTitleKls:C(()=>[o.be("item","title")]),arrowKls:l,headKls:s,rootKls:r,itemWrapperKls:C(()=>o.be("item","wrap")),itemContentKls:C(()=>o.be("item","content")),scopedContentId:C(()=>o.b(`content-${i(a)}`)),scopedHeadId:C(()=>o.b(`head-${i(a)}`))}},Tz=["id","aria-expanded","aria-controls","aria-describedby","tabindex","aria-disabled"],Oz=["id","aria-hidden","aria-labelledby"];var _z=se({name:"ElCollapseItem",__name:"collapse-item",props:gz,setup(e,{expose:t}){const n=e,{focusing:a,id:o,isActive:r,handleFocus:s,handleHeaderClick:l,handleEnterClick:u}=Ez(n),{arrowKls:c,headKls:d,rootKls:f,itemTitleKls:p,itemWrapperKls:g,itemContentKls:h,scopedContentId:v,scopedHeadId:m}=xz(n,{focusing:a,isActive:r,id:o});return t({isActive:r}),(b,w)=>(E(),D("div",{class:R(i(f))},[z("div",{id:i(m),class:R(i(d)),"aria-expanded":i(r),"aria-controls":i(v),"aria-describedby":i(v),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"button",onClick:w[0]||(w[0]=(...y)=>i(l)&&i(l)(...y)),onKeydown:w[1]||(w[1]=dn(Xe((...y)=>i(u)&&i(u)(...y),["stop"]),["space","enter"])),onFocus:w[2]||(w[2]=(...y)=>i(s)&&i(s)(...y)),onBlur:w[3]||(w[3]=y=>a.value=!1)},[z("span",{class:R(i(p))},[oe(b.$slots,"title",{isActive:i(r)},()=>[wt(Ce(e.title),1)])],2),oe(b.$slots,"icon",{isActive:i(r)},()=>[X(i(De),{class:R(i(c))},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1},8,["class"])])],42,Tz),X(i(yf),null,{default:ne(()=>[ct(z("div",{id:i(v),role:"region",class:R(i(g)),"aria-hidden":!i(r),"aria-labelledby":i(m)},[z("div",{class:R(i(h))},[oe(b.$slots,"default")],2)],10,Oz),[[$t,i(r)]])]),_:3})],2))}}),lE=_z;const Rz=st(kz,{CollapseItem:lE}),Iz=ln(lE),iE=Ee({modelValue:{type:G(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:{type:G(String)},disabled:Boolean,predefine:{type:G(Array)},validateEvent:{type:Boolean,default:!0},hueSliderClass:{type:G([String,Array,Object])},hueSliderStyle:{type:G([String,Array,Object,Boolean]),default:void 0}}),$z={[at]:e=>Ae(e)||En(e)},uE=Symbol("colorCommonPickerKey"),cE=Symbol("colorPickerPanelContextKey"),dE=Ee({color:{type:G(Object),required:!0},vertical:Boolean,disabled:Boolean}),Nz=dE,B0=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},qh=(e,t)=>Math.abs(B0(e)-B0(t)),fE=e=>{let t,n;return e.type==="touchend"?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}};let gp=!1;function Yh(e,t){if(!Lt)return;const n=function(r){t.drag?.(r)},a=function(r){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",a),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",a),document.onselectstart=null,document.ondragstart=null,gp=!1,t.end?.(r)},o=function(r){gp||(document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",n),document.addEventListener("mouseup",a),document.addEventListener("touchmove",n),document.addEventListener("touchend",a),gp=!0,t.start?.(r))};e.addEventListener("mousedown",o),e.addEventListener("touchstart",o,{passive:!1})}const pE=(e,{key:t,minValue:n,maxValue:a})=>{const o=dt(),r=Tt(),s=Tt(),l=C(()=>e.color.get(t));function u(p){e.disabled||(p.target!==r.value&&c(p),r.value?.focus())}function c(p){if(!s.value||!r.value||e.disabled)return;const g=o.vnode.el.getBoundingClientRect(),{clientX:h,clientY:v}=fE(p);let m;if(e.vertical){let b=v-g.top;b=Math.max(r.value.offsetHeight/2,b),b=Math.min(b,g.height-r.value.offsetHeight/2),m=Math.round((b-r.value.offsetHeight/2)/(g.height-r.value.offsetHeight)*a)}else{let b=h-g.left;b=Math.max(r.value.offsetWidth/2,b),b=Math.min(b,g.width-r.value.offsetWidth/2),m=Math.round((b-r.value.offsetWidth/2)/(g.width-r.value.offsetWidth)*a)}e.color.set(t,m)}function d(p){if(e.disabled)return;const{shiftKey:g}=p,h=qt(p),v=g?10:1,m=t==="hue"?-1:1;let b=!0;switch(h){case Se.left:case Se.down:f(-v*m);break;case Se.right:case Se.up:f(v*m);break;case Se.home:e.color.set(t,t==="hue"?a:n);break;case Se.end:e.color.set(t,t==="hue"?n:a);break;case Se.pageDown:f(-4*m);break;case Se.pageUp:f(4*m);break;default:b=!1;break}b&&p.preventDefault()}function f(p){let g=l.value+p;g=g<n?n:g>a?a:g,e.color.set(t,g)}return{thumb:r,bar:s,currentValue:l,handleDrag:c,handleClick:u,handleKeydown:d}},hE=(e,{namespace:t,maxValue:n,bar:a,thumb:o,currentValue:r,handleDrag:s,getBackground:l})=>{const u=dt(),c=ge(t),d=M(0),f=M(0),p=M();function g(){if(!o.value||e.vertical)return 0;const y=u.vnode.el,S=r.value;return y?Math.round(S*(y.offsetWidth-o.value.offsetWidth/2)/n):0}function h(){if(!o.value)return 0;const y=u.vnode.el;if(!e.vertical)return 0;const S=r.value;return y?Math.round(S*(y.offsetHeight-o.value.offsetHeight/2)/n):0}function v(){d.value=g(),f.value=h(),p.value=l?.()}ht(()=>{if(!a.value||!o.value)return;const y={drag:S=>{s(S)},end:S=>{s(S)}};Yh(a.value,y),Yh(o.value,y),v()}),pe(r,()=>v()),pe(()=>e.color.value,()=>v());const m=C(()=>[c.b(),c.is("vertical",e.vertical),c.is("disabled",e.disabled)]),b=C(()=>c.e("bar")),w=C(()=>c.e("thumb"));return{rootKls:m,barKls:b,barStyle:C(()=>({background:p.value})),thumbKls:w,thumbStyle:C(()=>({left:hn(d.value),top:hn(f.value)})),thumbLeft:d,thumbTop:f,update:v}},Mz=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],V0=0,bp=100;var Pz=se({name:"ElColorAlphaSlider",__name:"alpha-slider",props:dE,setup(e,{expose:t}){const n=e,{currentValue:a,bar:o,thumb:r,handleDrag:s,handleClick:l,handleKeydown:u}=pE(n,{key:"alpha",minValue:V0,maxValue:bp}),{rootKls:c,barKls:d,barStyle:f,thumbKls:p,thumbStyle:g,update:h}=hE(n,{namespace:"color-alpha-slider",maxValue:bp,currentValue:a,bar:o,thumb:r,handleDrag:s,getBackground:w}),{t:v}=xt(),m=C(()=>v("el.colorpicker.alphaLabel")),b=C(()=>v("el.colorpicker.alphaDescription",{alpha:a.value,color:n.color.value}));function w(){if(n.color&&n.color.value){const{r:y,g:S,b:k}=n.color.toRgb();return`linear-gradient(to right, rgba(${y}, ${S}, ${k}, 0) 0%, rgba(${y}, ${S}, ${k}, 1) 100%)`}return""}return t({update:h,bar:o,thumb:r}),(y,S)=>(E(),D("div",{class:R(i(c))},[z("div",{ref_key:"bar",ref:o,class:R(i(d)),style:ze(i(f)),onClick:S[0]||(S[0]=(...k)=>i(l)&&i(l)(...k))},null,6),z("div",{ref_key:"thumb",ref:r,class:R(i(p)),style:ze(i(g)),"aria-label":m.value,"aria-valuenow":i(a),"aria-valuetext":b.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":V0,"aria-valuemax":bp,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:S[1]||(S[1]=(...k)=>i(u)&&i(u)(...k))},null,46,Mz)],2))}}),Az=Pz;const Lz=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],F0=0,yp=360;var Dz=se({name:"ElColorHueSlider",__name:"hue-slider",props:Nz,setup(e,{expose:t}){const n=e,{currentValue:a,bar:o,thumb:r,handleDrag:s,handleClick:l,handleKeydown:u}=pE(n,{key:"hue",minValue:F0,maxValue:yp}),{rootKls:c,barKls:d,thumbKls:f,thumbStyle:p,thumbTop:g,update:h}=hE(n,{namespace:"color-hue-slider",maxValue:yp,currentValue:a,bar:o,thumb:r,handleDrag:s}),{t:v}=xt(),m=C(()=>v("el.colorpicker.hueLabel")),b=C(()=>v("el.colorpicker.hueDescription",{hue:a.value,color:n.color.value}));return t({bar:o,thumb:r,thumbTop:g,update:h}),(w,y)=>(E(),D("div",{class:R(i(c))},[z("div",{ref_key:"bar",ref:o,class:R(i(d)),onClick:y[0]||(y[0]=(...S)=>i(l)&&i(l)(...S))},null,2),z("div",{ref_key:"thumb",ref:r,class:R(i(f)),style:ze(i(p)),"aria-label":m.value,"aria-valuenow":i(a),"aria-valuetext":b.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":F0,"aria-valuemax":yp,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:y[1]||(y[1]=(...S)=>i(u)&&i(u)(...S))},null,46,Lz)],2))}}),Bz=Dz;const Vz=Ee({colors:{type:G(Array),required:!0},color:{type:G(Object),required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean});var gd=class{constructor(e={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new gn,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const t in e)Nt(e,t)&&(this[t]=e[t]);e.value?this.fromString(e.value):this.doOnChange()}set(e,t){if(arguments.length===1&&typeof e=="object"){for(const n in e)Nt(e,n)&&this.set(n,e[n]);return}this[`_${e}`]=t,this._isValid=!0,this.doOnChange()}get(e){return["hue","saturation","value","alpha"].includes(e)?Math.round(this[`_${e}`]):this[`_${e}`]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(e){const t=new gn(e);if(this._isValid=t.isValid,t.isValid){const{h:n,s:a,v:o,a:r}=t.toHsv();this._hue=n,this._saturation=a*100,this._value=o*100,this._alpha=r*100}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}clear(){this._isValid=!1,this.value="",this._hue=0,this._saturation=100,this._value=100,this._alpha=100}compare(e){const t=new gn({h:e._hue,s:e._saturation/100,v:e._value/100,a:e._alpha/100});return this._tiny.equals(t)}doOnChange(){const{_hue:e,_saturation:t,_value:n,_alpha:a,format:o,enableAlpha:r}=this;let s=o||(r?"rgb":"hex");o==="hex"&&r&&(s="hex8"),this._tiny=new gn({h:e,s:t/100,v:n/100,a:a/100}),this.value=this._isValid?this._tiny.toString(s):""}};const Fz=e=>{const{currentColor:t}=$e(cE),n=M(o(e.colors,e.color));pe(()=>t.value,r=>{const s=new gd({value:r,enableAlpha:e.enableAlpha});n.value.forEach(l=>{l.selected=s.compare(l)})}),la(()=>{n.value=o(e.colors,e.color)});function a(r){e.color.fromString(e.colors[r])}function o(r,s){return r.map(l=>{const u=new gd({value:l,enableAlpha:e.enableAlpha});return u.selected=u.compare(s),u})}return{rgbaColors:n,handleSelect:a}},zz=e=>{const t=ge("color-predefine"),n=C(()=>[t.b(),t.is("disabled",e.disabled)]),a=C(()=>t.e("colors"));function o(r){return[t.e("color-selector"),t.is("alpha",r.get("alpha")<100),{selected:r.selected}]}return{rootKls:n,colorsKls:a,colorSelectorKls:o}},Hz=["disabled","aria-label","onClick"];var Kz=se({name:"ElColorPredefine",__name:"predefine",props:Vz,setup(e){const t=e,{rgbaColors:n,handleSelect:a}=Fz(t),{rootKls:o,colorsKls:r,colorSelectorKls:s}=zz(t),{t:l}=xt(),u=c=>l("el.colorpicker.predefineDescription",{value:c});return(c,d)=>(E(),D("div",{class:R(i(o))},[z("div",{class:R(i(r))},[(E(!0),D(Ve,null,kt(i(n),(f,p)=>(E(),D("button",{key:e.colors[p],type:"button",disabled:e.disabled,"aria-label":u(f.value),class:R(i(s)(f)),onClick:g=>i(a)(p)},[z("div",{style:ze({backgroundColor:f.value})},null,4)],10,Hz))),128))],2)],2))}}),Wz=Kz;const jz=Ee({color:{type:G(Object),required:!0},disabled:Boolean}),Uz=e=>{const t=dt(),n=M(),a=M(0),o=M(0),r=M("hsl(0, 100%, 50%)"),s=C(()=>e.color.get("saturation")),l=C(()=>e.color.get("value")),u=C(()=>e.color.get("hue"));function c(h){e.disabled||(h.target!==n.value&&d(h),n.value?.focus({preventScroll:!0}))}function d(h){if(e.disabled)return;const v=t.vnode.el.getBoundingClientRect(),{clientX:m,clientY:b}=fE(h);let w=m-v.left,y=b-v.top;w=Math.max(0,w),w=Math.min(w,v.width),y=Math.max(0,y),y=Math.min(y,v.height),o.value=w,a.value=y,e.color.set({saturation:w/v.width*100,value:100-y/v.height*100})}function f(h){if(e.disabled)return;const{shiftKey:v}=h,m=qt(h),b=v?10:1;let w=!0;switch(m){case Se.left:p(-b);break;case Se.right:p(b);break;case Se.up:g(b);break;case Se.down:g(-b);break;default:w=!1;break}w&&h.preventDefault()}function p(h){let v=s.value+h;v=v<0?0:v>100?100:v,e.color.set("saturation",v)}function g(h){let v=l.value+h;v=v<0?0:v>100?100:v,e.color.set("value",v)}return{cursorRef:n,cursorTop:a,cursorLeft:o,background:r,saturation:s,brightness:l,hue:u,handleClick:c,handleDrag:d,handleKeydown:f}},qz=(e,{cursorTop:t,cursorLeft:n,background:a,handleDrag:o})=>{const r=dt(),s=ge("color-svpanel");function l(){const u=e.color.get("saturation"),c=e.color.get("value"),{clientWidth:d,clientHeight:f}=r.vnode.el;n.value=u*d/100,t.value=(100-c)*f/100,a.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}return ht(()=>{Yh(r.vnode.el,{drag:u=>{o(u)},end:u=>{o(u)}}),l()}),pe([()=>e.color.get("hue"),()=>e.color.get("value"),()=>e.color.value],()=>l()),{rootKls:C(()=>s.b()),cursorKls:C(()=>s.e("cursor")),rootStyle:C(()=>({backgroundColor:a.value})),cursorStyle:C(()=>({top:hn(t.value),left:hn(n.value)})),update:l}},Yz=["tabindex","aria-disabled","aria-label","aria-valuenow","aria-valuetext"];var Gz=se({name:"ElSvPanel",__name:"sv-panel",props:jz,setup(e,{expose:t}){const n=e,{cursorRef:a,cursorTop:o,cursorLeft:r,background:s,saturation:l,brightness:u,handleClick:c,handleDrag:d,handleKeydown:f}=Uz(n),{rootKls:p,cursorKls:g,rootStyle:h,cursorStyle:v,update:m}=qz(n,{cursorTop:o,cursorLeft:r,background:s,handleDrag:d}),{t:b}=xt(),w=C(()=>b("el.colorpicker.svLabel")),y=C(()=>b("el.colorpicker.svDescription",{saturation:l.value,brightness:u.value,color:n.color.value}));return t({update:m}),(S,k)=>(E(),D("div",{class:R(i(p)),style:ze(i(h)),onClick:k[1]||(k[1]=(...x)=>i(c)&&i(c)(...x))},[z("div",{ref_key:"cursorRef",ref:a,class:R(i(g)),style:ze(i(v)),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"slider","aria-valuemin":"0,0","aria-valuemax":"100,100","aria-label":w.value,"aria-valuenow":`${i(l)},${i(u)}`,"aria-valuetext":y.value,onKeydown:k[0]||(k[0]=(...x)=>i(f)&&i(f)(...x))},null,46,Yz)],6))}}),Xz=Gz;const vE=(e,t)=>{const n=Dt(new gd({enableAlpha:e.showAlpha,format:e.colorFormat||"",value:e.modelValue}));return pe(()=>[e.colorFormat,e.showAlpha],()=>{n.enableAlpha=e.showAlpha,n.format=e.colorFormat||n.format,n.doOnChange(),t(at,n.value)}),{color:n}};var Jz=se({name:"ElColorPickerPanel",__name:"color-picker-panel",props:iE,emits:$z,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("color-picker-panel"),{formItem:s}=Fn(),l=un(),u=M(),c=M(),d=M(),f=M(),p=M(""),{color:g}=$e(uE,()=>vE(a,o),!0);function h(){g.fromString(p.value),g.value!==p.value&&(p.value=g.value)}function v(){a.validateEvent&&s?.validate?.("blur").catch(ut)}function m(){u.value?.update(),c.value?.update(),d.value?.update()}return ht(()=>{a.modelValue&&(p.value=g.value),Ne(m)}),pe(()=>a.modelValue,b=>{b!==g.value&&(b?g.fromString(b):g.clear())}),pe(()=>g.value,b=>{o(at,b),p.value=b,a.validateEvent&&s?.validate("change").catch(ut)}),St(cE,{currentColor:C(()=>g.value)}),t({color:g,inputRef:f,update:m}),(b,w)=>(E(),D("div",{class:R([i(r).b(),i(r).is("disabled",i(l)),i(r).is("border",e.border)]),onFocusout:v},[z("div",{class:R(i(r).e("wrapper"))},[X(Bz,{ref_key:"hueRef",ref:u,color:i(g),vertical:"",disabled:i(l),class:R(["hue-slider",e.hueSliderClass]),style:ze(e.hueSliderStyle)},null,8,["color","disabled","class","style"]),X(Xz,{ref_key:"svRef",ref:c,color:i(g),disabled:i(l)},null,8,["color","disabled"])],2),e.showAlpha?(E(),le(Az,{key:0,ref_key:"alphaRef",ref:d,color:i(g),disabled:i(l)},null,8,["color","disabled"])):re("v-if",!0),e.predefine?(E(),le(Wz,{key:1,ref:"predefine","enable-alpha":e.showAlpha,color:i(g),colors:e.predefine,disabled:i(l)},null,8,["enable-alpha","color","colors","disabled"])):re("v-if",!0),z("div",{class:R(i(r).e("footer"))},[X(i(Un),{ref_key:"inputRef",ref:f,modelValue:p.value,"onUpdate:modelValue":w[0]||(w[0]=y=>p.value=y),"validate-event":!1,size:"small",disabled:i(l),onChange:h},null,8,["modelValue","disabled"]),oe(b.$slots,"footer")],2)],34))}}),Zz=Jz;const mE=st(Zz),Qz=Ee({persistent:{type:Boolean,default:!0},modelValue:{type:G(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:{type:G(String)},disabled:{type:Boolean,default:void 0},clearable:{type:Boolean,default:!0},size:Nn,popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,tabindex:{type:[String,Number],default:0},teleported:Kt.teleported,appendTo:Kt.appendTo,predefine:{type:G(Array)},validateEvent:{type:Boolean,default:!0},...zs,...ia(["ariaLabel"])}),eH={[at]:e=>Ae(e)||En(e),[yt]:e=>Ae(e)||En(e),activeChange:e=>Ae(e)||En(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},tH=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"];var nH=se({name:"ElColorPicker",__name:"color-picker",props:Qz,emits:eH,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:r}=xt(),s=ge("color"),{formItem:l}=Fn(),u=In(),c=un(),{valueOnClear:d,isEmptyValue:f}=Au(a,null),p=vE(a,o),{inputId:g,isLabeledByFormItem:h}=_a(a,{formItemContext:l}),v=M(),m=M(),b=M(),w=M(!1),y=M(!1);let S=!0;const{isFocused:k,handleFocus:x,handleBlur:O}=Er(m,{disabled:c,beforeBlur(Y){return v.value?.isFocusInsideContent(Y)},afterBlur(){W(!1),F(),a.validateEvent&&l?.validate?.("blur").catch(ut)}}),T=s8(()=>b.value?.color??p.color),I=C(()=>hr(a,Object.keys(iE))),_=C(()=>!a.modelValue&&!y.value?"transparent":j(T,a.showAlpha)),N=C(()=>!a.modelValue&&!y.value?"":T.value),$=C(()=>h.value?void 0:a.ariaLabel||r("el.colorpicker.defaultLabel")),B=C(()=>h.value?l?.labelId:void 0),K=C(()=>[s.b("picker"),s.is("disabled",c.value),s.bm("picker",u.value),s.is("focused",k.value)]);function j(Y,Q){const{r:L,g:q,b:te,a:fe}=Y.toRgb();return Q?`rgba(${L}, ${q}, ${te}, ${fe})`:`rgb(${L}, ${q}, ${te})`}function W(Y){w.value=Y}const A=Ho(W,100,{leading:!0});function P(){c.value||W(!0)}function V(){A(!1),F()}function F(){Ne(()=>{a.modelValue?T.fromString(a.modelValue):(T.value="",Ne(()=>{y.value=!1}))})}function H(){c.value||(w.value&&F(),A(!w.value))}function U(){const Y=f(T.value)?d.value:T.value;o(at,Y),o(yt,Y),a.validateEvent&&l?.validate("change").catch(ut),A(!1),Ne(()=>{const Q=new gd({enableAlpha:a.showAlpha,format:a.colorFormat||"",value:a.modelValue});T.compare(Q)||F()})}function J(){A(!1),o(at,d.value),o(yt,d.value),a.modelValue!==d.value&&a.validateEvent&&l?.validate("change").catch(ut),F(),o("clear")}function ee(){b?.value?.inputRef?.focus()}function ae(){w.value&&(V(),k.value&&de())}function ce(Y){Y.preventDefault(),Y.stopPropagation(),W(!1),F()}function Z(Y){switch(qt(Y)){case Se.enter:case Se.numpadEnter:case Se.space:Y.preventDefault(),Y.stopPropagation(),P();break;case Se.esc:ce(Y);break}}function de(){m.value.focus()}function ue(){m.value.blur()}return pe(()=>N.value,Y=>{S&&o("activeChange",Y),S=!0}),pe(()=>T.value,()=>{!a.modelValue&&!y.value&&(y.value=!0)}),pe(()=>a.modelValue,Y=>{Y?Y&&Y!==T.value&&(S=!1,T.fromString(Y)):y.value=!1}),pe(()=>w.value,()=>{b.value&&Ne(b.value.update)}),St(uE,p),t({color:T,show:P,hide:V,focus:de,blur:ue}),(Y,Q)=>(E(),le(i(Wn),{ref_key:"popper",ref:v,visible:w.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[i(s).be("picker","panel"),e.popperClass],"popper-style":e.popperStyle,"stop-popper-mouse-event":!1,pure:"",loop:"",role:"dialog",effect:"light",trigger:"click",teleported:e.teleported,transition:`${i(s).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onShow:ee,onHide:Q[2]||(Q[2]=L=>W(!1))},{content:ne(()=>[ct((E(),le(i(mE),pt({ref_key:"pickerPanelRef",ref:b},I.value,{border:!1,"validate-event":!1,onKeydown:dn(ce,["esc"])}),{footer:ne(()=>[z("div",null,[e.clearable?(E(),le(i(Bn),{key:0,class:R(i(s).be("footer","link-btn")),text:"",size:"small",onClick:J},{default:ne(()=>[wt(Ce(i(r)("el.colorpicker.clear")),1)]),_:1},8,["class"])):re("v-if",!0),X(i(Bn),{plain:"",size:"small",class:R(i(s).be("footer","btn")),onClick:U},{default:ne(()=>[wt(Ce(i(r)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16)),[[i(Qr),ae,m.value]])]),default:ne(()=>[z("div",pt({id:i(g),ref_key:"triggerRef",ref:m},Y.$attrs,{class:K.value,role:"button","aria-label":$.value,"aria-labelledby":B.value,"aria-description":i(r)("el.colorpicker.description",{color:e.modelValue||""}),"aria-disabled":i(c),tabindex:i(c)?void 0:e.tabindex,onKeydown:Z,onFocus:Q[0]||(Q[0]=(...L)=>i(x)&&i(x)(...L)),onBlur:Q[1]||(Q[1]=(...L)=>i(O)&&i(O)(...L))}),[z("div",{class:R(i(s).be("picker","trigger")),onClick:H},[z("span",{class:R([i(s).be("picker","color"),i(s).is("alpha",e.showAlpha)])},[z("span",{class:R(i(s).be("picker","color-inner")),style:ze({backgroundColor:_.value})},[ct(X(i(De),{class:R([i(s).be("picker","icon"),i(s).is("icon-arrow-down")])},{default:ne(()=>[X(i(qo))]),_:1},8,["class"]),[[$t,e.modelValue||y.value]]),ct(X(i(De),{class:R([i(s).be("picker","empty"),i(s).is("icon-close")])},{default:ne(()=>[X(i(Qa))]),_:1},8,["class"]),[[$t,!e.modelValue&&!y.value]])],6)],2)],2)],16,tH)]),_:1},8,["visible","popper-class","popper-style","teleported","transition","persistent","append-to"]))}}),aH=nH;const oH=st(aH);var rH=se({name:"ElContainer",__name:"container",props:{direction:{type:String,required:!1}},setup(e){const t=e,n=wn(),a=ge("container"),o=C(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(r=>{const s=r.type.name;return s==="ElHeader"||s==="ElFooter"}):!1);return(r,s)=>(E(),D("section",{class:R([i(a).b(),i(a).is("vertical",o.value)])},[oe(r.$slots,"default")],2))}}),sH=rH,lH=se({name:"ElAside",__name:"aside",props:{width:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ge("aside"),a=C(()=>t.width?n.cssVarBlock({width:t.width}):{});return(o,r)=>(E(),D("aside",{class:R(i(n).b()),style:ze(a.value)},[oe(o.$slots,"default")],6))}}),gE=lH,iH=se({name:"ElFooter",__name:"footer",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ge("footer"),a=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(o,r)=>(E(),D("footer",{class:R(i(n).b()),style:ze(a.value)},[oe(o.$slots,"default")],6))}}),bE=iH,uH=se({name:"ElHeader",__name:"header",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ge("header"),a=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(o,r)=>(E(),D("header",{class:R(i(n).b()),style:ze(a.value)},[oe(o.$slots,"default")],6))}}),yE=uH,cH=se({name:"ElMain",__name:"main",setup(e){const t=ge("main");return(n,a)=>(E(),D("main",{class:R(i(t).b())},[oe(n.$slots,"default")],2))}}),wE=cH;const dH=st(sH,{Aside:gE,Footer:bE,Header:yE,Main:wE}),fH=ln(gE),pH=ln(bE),hH=ln(yE),vH=ln(wE),mH=Ee({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:G([Number,Object]),default:0},valueStyle:{type:G([String,Object,Array,Boolean]),default:void 0}}),gH={finish:()=>!0,[yt]:e=>Be(e)},bH=Ee({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:G([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:G([String,Object,Array,Boolean]),default:void 0}});var yH=se({name:"ElStatistic",__name:"statistic",props:bH,setup(e,{expose:t}){const n=e,a=ge("statistic"),o=C(()=>{const{value:r,formatter:s,precision:l,decimalSeparator:u,groupSeparator:c}=n;if(Fe(s))return s(r);if(!Be(r)||Number.isNaN(r))return r;let[d,f=""]=String(r).split(".");return f=f.padEnd(l,"0").slice(0,l>0?l:0),d=d.replace(/\B(?=(\d{3})+(?!\d))/g,c),[d,f].join(f?u:"")});return t({displayValue:o}),(r,s)=>(E(),D("div",{class:R(i(a).b())},[r.$slots.title||e.title?(E(),D("div",{key:0,class:R(i(a).e("head"))},[oe(r.$slots,"title",{},()=>[wt(Ce(e.title),1)])],2)):re("v-if",!0),z("div",{class:R(i(a).e("content"))},[r.$slots.prefix||e.prefix?(E(),D("div",{key:0,class:R(i(a).e("prefix"))},[oe(r.$slots,"prefix",{},()=>[z("span",null,Ce(e.prefix),1)])],2)):re("v-if",!0),z("span",{class:R(i(a).e("number")),style:ze(e.valueStyle)},Ce(o.value),7),r.$slots.suffix||e.suffix?(E(),D("div",{key:1,class:R(i(a).e("suffix"))},[oe(r.$slots,"suffix",{},()=>[z("span",null,Ce(e.suffix),1)])],2)):re("v-if",!0)],2)],2))}}),wH=yH;const SE=st(wH),SH=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],z0=e=>Be(e)?new Date(e).getTime():e.valueOf(),H0=(e,t)=>{let n=e;return SH.reduce((a,[o,r])=>{const s=new RegExp(`${o}+(?![^\\[\\]]*\\])`,"g");if(s.test(a)){const l=Math.floor(n/r);return n-=l*r,a.replace(s,u=>String(l).padStart(u.length,"0"))}return a},t).replace(/\[([^\]]*)]/g,"$1")};var CH=se({name:"ElCountdown",__name:"countdown",props:mH,emits:gH,setup(e,{expose:t,emit:n}){const a=e,o=n;let r;const s=M(0),l=C(()=>H0(s.value,a.format)),u=f=>H0(f,a.format),c=()=>{r&&(co(r),r=void 0)},d=()=>{const f=z0(a.value),p=()=>{let g=f-Date.now();o(yt,g),g<=0?(g=0,c(),o("finish")):r=Oa(p),s.value=g};r=Oa(p)};return ht(()=>{s.value=z0(a.value)-Date.now(),pe(()=>[a.value,a.format],()=>{c(),d()},{immediate:!0})}),Vt(()=>{c()}),t({displayValue:l}),(f,p)=>(E(),le(i(SE),{value:s.value,title:e.title,prefix:e.prefix,suffix:e.suffix,"value-style":e.valueStyle,formatter:u},ma({_:2},[kt(f.$slots,(g,h)=>({name:h,fn:ne(()=>[oe(f.$slots,h)])}))]),1032,["value","title","prefix","suffix","value-style"]))}}),kH=CH;const EH=st(kH),xH=Ee({valueFormat:String,dateFormat:String,timeFormat:String,disabled:{type:Boolean,default:void 0},modelValue:{type:G([Date,Array,String,Number]),default:""},defaultValue:{type:G([Date,Array])},defaultTime:{type:G([Date,Array])},isRange:Boolean,...Dm,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:G(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}}),qm=Symbol("rootPickerContextKey"),Vu="ElIsDefaultFormat",TH=["date","dates","year","years","month","months","week","range"],Ym=Ee({cellClassName:{type:G(Function)},disabledDate:{type:G(Function)},date:{type:G(Object),required:!0},minDate:{type:G(Object)},maxDate:{type:G(Object)},parsedValue:{type:G([Object,Array])},rangeState:{type:G(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),CE=Ee({type:{type:G(String),required:!0,values:wO},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean,editable:{type:Boolean,default:!0}}),Gm=Ee({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:G(Array)},singlePanel:Boolean}),Xm=e=>({type:String,values:TH,default:e}),OH=Ee({...CE,parsedValue:{type:G([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),iu=e=>{if(!we(e))return!1;const[t,n]=e;return rt.isDayjs(t)&&rt.isDayjs(n)&&rt(t).isValid()&&rt(n).isValid()&&t.isSameOrBefore(n)},wf=(e,{lang:t,step:n=1,unit:a,unlinkPanels:o})=>{let r;if(we(e)){let[s,l]=e.map(u=>rt(u).locale(t));return o||(l=s.add(n,a)),[s,l]}else e?r=rt(e):r=rt();return r=r.locale(t),[r,r.add(n,a)]},_H=(e,t,{columnIndexOffset:n,startDate:a,nextEndDate:o,now:r,unit:s,relativeDateGetter:l,setCellMetadata:u,setRowMetadata:c})=>{for(let d=0;d<e.row;d++){const f=t[d];for(let p=0;p<e.column;p++){let g=f[p+n];g||(g={row:d,column:p,type:"normal",inRange:!1,start:!1,end:!1});const h=l(d*e.column+p);g.dayjs=h,g.date=h.toDate(),g.timestamp=h.valueOf(),g.type="normal",g.inRange=!!(a&&h.isSameOrAfter(a,s)&&o&&h.isSameOrBefore(o,s))||!!(a&&h.isSameOrBefore(a,s)&&o&&h.isSameOrAfter(o,s)),a?.isSameOrAfter(o)?(g.start=!!o&&h.isSame(o,s),g.end=a&&h.isSame(a,s)):(g.start=!!a&&h.isSame(a,s),g.end=!!o&&h.isSame(o,s)),h.isSame(r,s)&&(g.type="today"),u?.(g,{rowIndex:d,columnIndex:p}),f[p+n]=g}c?.(f)}},bd=(e,t,n,a)=>{const o=rt().locale(a).startOf("month").month(n).year(t).hour(e.hour()).minute(e.minute()).second(e.second());return jr(o.daysInMonth()).map(r=>o.add(r,"day").toDate())},$l=(e,t,n,a,o)=>{const r=rt().year(t).month(n).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),s=bd(e,t,n,a).find(l=>!o?.(l));return s?rt(s).locale(a):r.locale(a)},yd=(e,t,n)=>{const a=e.year();if(!n?.(e.toDate()))return e.locale(t);const o=e.month();if(!bd(e,a,o,t).every(n))return $l(e,a,o,t,n);for(let r=0;r<12;r++)if(!bd(e,a,r,t).every(n))return $l(e,a,r,t,n);return e},Nl=(e,t,n,a)=>{if(we(e))return e.map(o=>Nl(o,t,n,a));if(Ae(e)){const o=a?.value?rt(e):rt(e,t);if(!o.isValid())return o}return rt(e,t).locale(n)},RH=Ee({...Ym,showWeekNumber:Boolean,selectionMode:Xm("date")}),IH=["changerange","pick","select"],wd=(e="")=>["normal","today"].includes(e),$H=(e,t)=>{const{lang:n}=xt(),a=M(),o=M(),r=M(),s=M(),l=M([[],[],[],[],[],[]]);let u=!1;const c=e.date.$locale().weekStart||7,d=e.date.locale("en").localeData().weekdaysShort().map(V=>V.toLowerCase()),f=C(()=>c>3?7-c:-c),p=C(()=>{const V=e.date.startOf("month");return V.subtract(V.day()||7,"day")}),g=C(()=>d.concat(d).slice(c,c+7)),h=C(()=>Qc(i(S)).some(V=>V.isCurrent)),v=C(()=>{const V=e.date.startOf("month");return{startOfMonthDay:V.day()||7,dateCountOfMonth:V.daysInMonth(),dateCountOfLastMonth:V.subtract(1,"month").daysInMonth()}}),m=C(()=>e.selectionMode==="dates"?aa(e.parsedValue):[]),b=(V,{count:F,rowIndex:H,columnIndex:U})=>{const{startOfMonthDay:J,dateCountOfMonth:ee,dateCountOfLastMonth:ae}=i(v),ce=i(f);if(H>=0&&H<=1){const Z=J+ce<0?7+J+ce:J+ce;if(U+H*7>=Z)return V.text=F,!0;V.text=ae-(Z-U%7)+1+H*7,V.type="prev-month"}else return F<=ee?V.text=F:(V.text=F-ee,V.type="next-month"),!0;return!1},w=(V,{columnIndex:F,rowIndex:H},U)=>{const{disabledDate:J,cellClassName:ee}=e,ae=i(m),ce=b(V,{count:U,rowIndex:H,columnIndex:F}),Z=V.dayjs.toDate();return V.selected=ae.find(de=>de.isSame(V.dayjs,"day")),V.isSelected=!!V.selected,V.isCurrent=x(V),V.disabled=J?.(Z),V.customClass=ee?.(Z),ce},y=V=>{if(e.selectionMode==="week"){const[F,H]=e.showWeekNumber?[1,7]:[0,6],U=P(V[F+1]);V[F].inRange=U,V[F].start=U,V[H].inRange=U,V[H].end=U}},S=C(()=>{const{minDate:V,maxDate:F,rangeState:H,showWeekNumber:U}=e,J=i(f),ee=i(l),ae="day";let ce=1;if(_H({row:6,column:7},ee,{startDate:V,columnIndexOffset:U?1:0,nextEndDate:H.endDate||F||H.selecting&&V||null,now:rt().locale(i(n)).startOf(ae),unit:ae,relativeDateGetter:Z=>i(p).add(Z-J,ae),setCellMetadata:(...Z)=>{w(...Z,ce)&&(ce+=1)},setRowMetadata:y}),U)for(let Z=0;Z<6;Z++)ee[Z][1].dayjs&&(ee[Z][0]={type:"week",text:ee[Z][1].dayjs.week()});return ee});pe(()=>e.date,async()=>{i(a)?.contains(document.activeElement)&&(await Ne(),await k())});const k=async()=>i(o)?.focus(),x=V=>e.selectionMode==="date"&&wd(V.type)&&O(V,e.parsedValue),O=(V,F)=>F?rt(F).locale(i(n)).isSame(e.date.date(Number(V.text)),"day"):!1,T=(V,F)=>{const H=i(v).startOfMonthDay,U=i(f),J=H+U<0?7+H+U:H+U,ee=V*7+(F-(e.showWeekNumber?1:0));return e.date.startOf("month").subtract(J,"day").add(ee,"day")},I=V=>{if(!e.rangeState.selecting)return;let F=V.target;if(F.tagName==="SPAN"&&(F=F.parentNode?.parentNode),F.tagName==="DIV"&&(F=F.parentNode),F.tagName!=="TD")return;const H=F.parentNode.rowIndex-1,U=F.cellIndex;i(S)[H][U].disabled||(H!==i(r)||U!==i(s))&&(r.value=H,s.value=U,t("changerange",{selecting:!0,endDate:T(H,U)}))},_=V=>!i(h)&&V?.text===1&&wd(V.type)||V.isCurrent,N=V=>{u||i(h)||e.selectionMode!=="date"||A(V,!0)},$=V=>{V.target.closest("td")&&(u=!0)},B=V=>{V.target.closest("td")&&(u=!1)},K=V=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:V,maxDate:null}),t("select",!0)):(V>=e.minDate?t("pick",{minDate:e.minDate,maxDate:V}):t("pick",{minDate:V,maxDate:e.minDate}),t("select",!1))},j=V=>{const F=V.week(),H=`${V.year()}w${F}`;t("pick",{year:V.year(),week:F,value:H,date:V.startOf("week")})},W=(V,F)=>{t("pick",F?aa(e.parsedValue).filter(H=>H?.valueOf()!==V.valueOf()):aa(e.parsedValue).concat([V]))},A=(V,F=!1)=>{if(e.disabled)return;const H=V.target.closest("td");if(!H)return;const U=H.parentNode.rowIndex-1,J=H.cellIndex,ee=i(S)[U][J];if(ee.disabled||ee.type==="week")return;const ae=T(U,J);switch(e.selectionMode){case"range":K(ae);break;case"date":t("pick",ae,F);break;case"week":j(ae);break;case"dates":W(ae,!!ee.selected);break}},P=V=>{if(e.selectionMode!=="week")return!1;let F=e.date.startOf("day");if(V.type==="prev-month"&&(F=F.subtract(1,"month")),V.type==="next-month"&&(F=F.add(1,"month")),F=F.date(Number.parseInt(V.text,10)),e.parsedValue&&!we(e.parsedValue)){const H=(e.parsedValue.day()-c+7)%7-1;return e.parsedValue.subtract(H,"day").isSame(F,"day")}return!1};return{WEEKS:g,rows:S,tbodyRef:a,currentCellRef:o,focus:k,isCurrent:x,isWeekActive:P,isSelectedCell:_,handlePickDate:A,handleMouseUp:B,handleMouseDown:$,handleMouseMove:I,handleFocus:N}},NH=(e,{isCurrent:t,isWeekActive:n})=>{const a=ge("date-table"),{t:o}=xt(),r=C(()=>[a.b(),a.is("week-mode",e.selectionMode==="week"&&!e.disabled)]),s=C(()=>o("el.datepicker.dateTablePrompt")),l=c=>{const d=[];return wd(c.type)&&!c.disabled?(d.push("available"),c.type==="today"&&d.push("today")):d.push(c.type),t(c)&&d.push("current"),c.inRange&&(wd(c.type)||e.selectionMode==="week")&&(d.push("in-range"),c.start&&d.push("start-date"),c.end&&d.push("end-date")),(c.disabled||e.disabled)&&d.push("disabled"),c.selected&&d.push("selected"),c.customClass&&d.push(c.customClass),d.join(" ")},u=c=>[a.e("row"),{current:n(c)}];return{tableKls:r,tableLabel:s,weekHeaderClass:a.e("week-header"),getCellClasses:l,getRowKls:u,t:o}},MH=Ee({cell:{type:G(Object)}});var Jm=se({name:"ElDatePickerCell",props:MH,setup(e){const t=ge("date-table-cell"),{slots:n}=$e(qm);return()=>{const{cell:a}=e;return oe(n,"default",{...a},()=>[X("div",{class:t.b()},[X("span",{class:t.e("text")},[a?.renderText??a?.text])])])}}});const PH=["aria-label"],AH=["aria-label"],LH=["aria-current","aria-selected","tabindex","aria-disabled"];var DH=se({__name:"basic-date-table",props:RH,emits:IH,setup(e,{expose:t,emit:n}){const a=e,{WEEKS:o,rows:r,tbodyRef:s,currentCellRef:l,focus:u,isCurrent:c,isWeekActive:d,isSelectedCell:f,handlePickDate:p,handleMouseUp:g,handleMouseDown:h,handleMouseMove:v,handleFocus:m}=$H(a,n),{tableLabel:b,tableKls:w,getCellClasses:y,getRowKls:S,weekHeaderClass:k,t:x}=NH(a,{isCurrent:c,isWeekActive:d});let O=!1;return Vt(()=>{O=!0}),t({focus:u}),(T,I)=>(E(),D("table",{"aria-label":i(b),class:R(i(w)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:I[1]||(I[1]=(..._)=>i(p)&&i(p)(..._)),onMousemove:I[2]||(I[2]=(..._)=>i(v)&&i(v)(..._)),onMousedown:I[3]||(I[3]=(..._)=>i(h)&&i(h)(..._)),onMouseup:I[4]||(I[4]=(..._)=>i(g)&&i(g)(..._))},[z("tbody",{ref_key:"tbodyRef",ref:s},[z("tr",null,[T.showWeekNumber?(E(),D("th",{key:0,scope:"col",class:R(i(k))},null,2)):re("v-if",!0),(E(!0),D(Ve,null,kt(i(o),(_,N)=>(E(),D("th",{key:N,"aria-label":i(x)("el.datepicker.weeksFull."+_),scope:"col"},Ce(i(x)("el.datepicker.weeks."+_)),9,AH))),128))]),(E(!0),D(Ve,null,kt(i(r),(_,N)=>(E(),D("tr",{key:N,class:R(i(S)(T.showWeekNumber?_[2]:_[1]))},[(E(!0),D(Ve,null,kt(_,($,B)=>(E(),D("td",{key:`${N}.${B}`,ref_for:!0,ref:K=>!i(O)&&i(f)($)&&(l.value=K),class:R(i(y)($)),"aria-current":$.isCurrent?"date":void 0,"aria-selected":$.isCurrent,tabindex:T.disabled?void 0:i(f)($)?0:-1,"aria-disabled":T.disabled,onFocus:I[0]||(I[0]=(...K)=>i(m)&&i(m)(...K))},[X(i(Jm),{cell:$},null,8,["cell"])],42,LH))),128))],2))),128))],512)],42,PH))}}),Gh=DH;const BH=Ee({...Ym,selectionMode:Xm("month")}),VH=["aria-label"],FH=["aria-selected","aria-label","tabindex","onKeydown"];var zH=se({__name:"basic-month-table",props:BH,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("month-table"),{t:s,lang:l}=xt(),u=M(),c=M(),d=M(a.date.locale("en").localeData().monthsShort().map(S=>S.toLowerCase())),f=M([[],[],[]]),p=M(),g=M(),h=C(()=>{const S=f.value,k=rt().locale(l.value).startOf("month");for(let x=0;x<3;x++){const O=S[x];for(let T=0;T<4;T++){const I=O[T]||(O[T]={row:x,column:T,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0});I.type="normal";const _=x*4+T,N=a.date.startOf("year").month(_),$=a.rangeState.endDate||a.maxDate||a.rangeState.selecting&&a.minDate||null;I.inRange=!!(a.minDate&&N.isSameOrAfter(a.minDate,"month")&&$&&N.isSameOrBefore($,"month"))||!!(a.minDate&&N.isSameOrBefore(a.minDate,"month")&&$&&N.isSameOrAfter($,"month")),a.minDate?.isSameOrAfter($)?(I.start=!!($&&N.isSame($,"month")),I.end=a.minDate&&N.isSame(a.minDate,"month")):(I.start=!!(a.minDate&&N.isSame(a.minDate,"month")),I.end=!!($&&N.isSame($,"month"))),k.isSame(N)&&(I.type="today");const B=N.toDate();I.text=_,I.disabled=a.disabledDate?.(B)||!1,I.date=B,I.customClass=a.cellClassName?.(B),I.dayjs=N,I.timestamp=N.valueOf(),I.isSelected=b(I)}}return S}),v=()=>{c.value?.focus()},m=S=>{const k={},x=a.date.year(),O=new Date,T=S.text;return k.disabled=a.disabled||(a.disabledDate?bd(a.date,x,T,l.value).every(a.disabledDate):!1),k.current=aa(a.parsedValue).some(I=>rt.isDayjs(I)&&I.year()===x&&I.month()===T),k.today=O.getFullYear()===x&&O.getMonth()===T,S.customClass&&(k[S.customClass]=!0),S.inRange&&(k["in-range"]=!0,S.start&&(k["start-date"]=!0),S.end&&(k["end-date"]=!0)),k},b=S=>{const k=a.date.year(),x=S.text;return aa(a.date).some(O=>O.year()===k&&O.month()===x)},w=S=>{if(!a.rangeState.selecting)return;let k=S.target;if(k.tagName==="SPAN"&&(k=k.parentNode?.parentNode),k.tagName==="DIV"&&(k=k.parentNode),k.tagName!=="TD")return;const x=k.parentNode.rowIndex,O=k.cellIndex;h.value[x][O].disabled||(x!==p.value||O!==g.value)&&(p.value=x,g.value=O,o("changerange",{selecting:!0,endDate:a.date.startOf("year").month(x*4+O)}))},y=S=>{if(a.disabled)return;const k=S.target?.closest("td");if(k?.tagName!=="TD"||Ao(k,"disabled"))return;const x=k.cellIndex,O=k.parentNode.rowIndex*4+x,T=a.date.startOf("year").month(O);if(a.selectionMode==="months"){if(S.type==="keydown"){o("pick",aa(a.parsedValue),!1);return}const I=$l(a.date,a.date.year(),O,l.value,a.disabledDate);o("pick",Ao(k,"current")?aa(a.parsedValue).filter(_=>_?.year()!==I.year()||_?.month()!==I.month()):aa(a.parsedValue).concat([rt(I)]))}else a.selectionMode==="range"?a.rangeState.selecting?(a.minDate&&T>=a.minDate?o("pick",{minDate:a.minDate,maxDate:T}):o("pick",{minDate:T,maxDate:a.minDate}),o("select",!1)):(o("pick",{minDate:T,maxDate:null}),o("select",!0)):o("pick",O)};return pe(()=>a.date,async()=>{u.value?.contains(document.activeElement)&&(await Ne(),c.value?.focus())}),t({focus:v}),(S,k)=>(E(),D("table",{role:"grid","aria-label":i(s)("el.datepicker.monthTablePrompt"),class:R(i(r).b()),onClick:y,onMousemove:w},[z("tbody",{ref_key:"tbodyRef",ref:u},[(E(!0),D(Ve,null,kt(h.value,(x,O)=>(E(),D("tr",{key:O},[(E(!0),D(Ve,null,kt(x,(T,I)=>(E(),D("td",{key:I,ref_for:!0,ref:_=>T.isSelected&&(c.value=_),class:R(m(T)),"aria-selected":!!T.isSelected,"aria-label":i(s)(`el.datepicker.month${+T.text+1}`),tabindex:T.isSelected?0:-1,onKeydown:[dn(Xe(y,["prevent","stop"]),["space"]),dn(Xe(y,["prevent","stop"]),["enter"])]},[X(i(Jm),{cell:{...T,renderText:i(s)("el.datepicker.months."+d.value[T.text])}},null,8,["cell"])],42,FH))),128))]))),128))],512)],42,VH))}}),uu=zH;const HH=Ee({...Ym,selectionMode:Xm("year")}),KH=["aria-label"],WH=["aria-selected","aria-label","tabindex","onKeydown"];var jH=se({__name:"basic-year-table",props:HH,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const a=(k,x)=>{const O=rt(String(k)).locale(x).startOf("year");return jr(O.endOf("year").dayOfYear()).map(T=>O.add(T,"day").toDate())},o=e,r=n,s=ge("year-table"),{t:l,lang:u}=xt(),c=M(),d=M(),f=C(()=>Math.floor(o.date.year()/10)*10),p=M([[],[],[]]),g=M(),h=M(),v=C(()=>{const k=p.value,x=rt().locale(u.value).startOf("year");for(let O=0;O<3;O++){const T=k[O];for(let I=0;I<4&&!(O*4+I>=10);I++){let _=T[I];_||(_={row:O,column:I,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),_.type="normal";const N=O*4+I+f.value,$=rt().year(N),B=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;_.inRange=!!(o.minDate&&$.isSameOrAfter(o.minDate,"year")&&B&&$.isSameOrBefore(B,"year"))||!!(o.minDate&&$.isSameOrBefore(o.minDate,"year")&&B&&$.isSameOrAfter(B,"year")),o.minDate?.isSameOrAfter(B)?(_.start=!!(B&&$.isSame(B,"year")),_.end=!!(o.minDate&&$.isSame(o.minDate,"year"))):(_.start=!!(o.minDate&&$.isSame(o.minDate,"year")),_.end=!!(B&&$.isSame(B,"year"))),x.isSame($)&&(_.type="today"),_.text=N;const K=$.toDate();_.disabled=o.disabledDate?.(K)||!1,_.date=K,_.customClass=o.cellClassName?.(K),_.dayjs=$,_.timestamp=$.valueOf(),_.isSelected=w(_),T[I]=_}}return k}),m=()=>{d.value?.focus()},b=k=>{const x={},O=rt().locale(u.value),T=k.text;return x.disabled=o.disabled||(o.disabledDate?a(T,u.value).every(o.disabledDate):!1),x.today=O.year()===T,x.current=aa(o.parsedValue).some(I=>I.year()===T),k.customClass&&(x[k.customClass]=!0),k.inRange&&(x["in-range"]=!0,k.start&&(x["start-date"]=!0),k.end&&(x["end-date"]=!0)),x},w=k=>{const x=k.text;return aa(o.date).some(O=>O.year()===x)},y=k=>{if(o.disabled)return;const x=k.target?.closest("td");if(!x||!x.textContent||Ao(x,"disabled"))return;const O=x.cellIndex,T=x.parentNode.rowIndex*4+O+f.value,I=rt().year(T);if(o.selectionMode==="range")o.rangeState.selecting?(o.minDate&&I>=o.minDate?r("pick",{minDate:o.minDate,maxDate:I}):r("pick",{minDate:I,maxDate:o.minDate}),r("select",!1)):(r("pick",{minDate:I,maxDate:null}),r("select",!0));else if(o.selectionMode==="years"){if(k.type==="keydown"){r("pick",aa(o.parsedValue),!1);return}const _=yd(I.startOf("year"),u.value,o.disabledDate);r("pick",Ao(x,"current")?aa(o.parsedValue).filter(N=>N?.year()!==T):aa(o.parsedValue).concat([_]))}else r("pick",T)},S=k=>{if(!o.rangeState.selecting)return;const x=k.target?.closest("td");if(!x)return;const O=x.parentNode.rowIndex,T=x.cellIndex;v.value[O][T].disabled||(O!==g.value||T!==h.value)&&(g.value=O,h.value=T,r("changerange",{selecting:!0,endDate:rt().year(f.value).add(O*4+T,"year")}))};return pe(()=>o.date,async()=>{c.value?.contains(document.activeElement)&&(await Ne(),d.value?.focus())}),t({focus:m}),(k,x)=>(E(),D("table",{role:"grid","aria-label":i(l)("el.datepicker.yearTablePrompt"),class:R(i(s).b()),onClick:y,onMousemove:S},[z("tbody",{ref_key:"tbodyRef",ref:c},[(E(!0),D(Ve,null,kt(v.value,(O,T)=>(E(),D("tr",{key:T},[(E(!0),D(Ve,null,kt(O,(I,_)=>(E(),D("td",{key:`${T}_${_}`,ref_for:!0,ref:N=>I.isSelected&&(d.value=N),class:R(["available",b(I)]),"aria-selected":I.isSelected,"aria-label":String(I.text),tabindex:I.isSelected?0:-1,onKeydown:[dn(Xe(y,["prevent","stop"]),["space"]),dn(Xe(y,["prevent","stop"]),["enter"])]},[X(i(Jm),{cell:I},null,8,["cell"])],42,WH))),128))]))),128))],512)],42,KH))}}),cu=jH;const UH=["disabled","onClick"],qH=["aria-label","disabled"],YH=["aria-label","disabled"],GH=["tabindex","aria-disabled"],XH=["tabindex","aria-disabled"],JH=["aria-label","disabled"],ZH=["aria-label","disabled"];var QH=se({__name:"panel-date-pick",props:OH,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const n=(me,je,ie)=>!0,a=e,o=t,r=ge("picker-panel"),s=ge("date-picker"),l=wr(),u=wn(),{t:c,lang:d}=xt(),f=$e(Go),p=$e(Vu,void 0),{shortcuts:g,disabledDate:h,cellClassName:v,defaultTime:m}=f.props,b=Ht(f.props,"defaultValue"),w=M(),y=M(rt().locale(d.value)),S=M(!1);let k=!1;const x=C(()=>rt(m).locale(d.value)),O=C(()=>y.value.month()),T=C(()=>y.value.year()),I=M([]),_=M(null),N=M(null),$=me=>I.value.length>0?n(me,I.value,a.format||"HH:mm:ss"):!0,B=me=>m&&!Ie.value&&!S.value&&!k?x.value.year(me.year()).month(me.month()).date(me.date()):ue.value?me.millisecond(0):me.startOf("day"),K=(me,...je)=>{me?we(me)?o("pick",me.map(B),...je):o("pick",B(me),...je):o("pick",me,...je),_.value=null,N.value=null,S.value=!1,k=!1},j=async(me,je)=>{if(H.value==="date"&&rt.isDayjs(me)){const ie=ai(a.parsedValue);let xe=ie?ie.year(me.year()).month(me.month()).date(me.date()):me;$(xe),y.value=xe,K(xe,ue.value||je)}else H.value==="week"?K(me.date):H.value==="dates"&&K(me,!0)},W=me=>{const je=me?"add":"subtract";y.value=y.value[je](1,"month"),ft("month")},A=me=>{const je=y.value,ie=me?"add":"subtract";y.value=P.value==="year"?je[ie](10,"year"):je[ie](1,"year"),ft("year")},P=M("date"),V=C(()=>{const me=c("el.datepicker.year");if(P.value==="year"){const je=Math.floor(T.value/10)*10;return me?`${je} ${me} - ${je+9} ${me}`:`${je} - ${je+9}`}return`${T.value} ${me}`}),F=me=>{const je=Fe(me.value)?me.value():me.value;if(je){k=!0,K(rt(je).locale(d.value));return}me.onClick&&me.onClick({attrs:l,slots:u,emit:o})},H=C(()=>{const{type:me}=a;return["week","month","months","year","years","dates"].includes(me)?me:"date"}),U=C(()=>H.value==="dates"||H.value==="months"||H.value==="years"),J=C(()=>H.value==="date"?P.value:H.value),ee=C(()=>!!g.length),ae=async(me,je)=>{H.value==="month"?(y.value=$l(y.value,y.value.year(),me,d.value,h),K(y.value,!1)):H.value==="months"?K(me,je??!0):(y.value=$l(y.value,y.value.year(),me,d.value,h),P.value="date",["month","year","date","week"].includes(H.value)&&(K(y.value,!0),await Ne(),gt())),ft("month")},ce=async(me,je)=>{H.value==="year"?(y.value=yd(y.value.startOf("year").year(me),d.value,h),K(y.value,!1)):H.value==="years"?K(me,je??!0):(y.value=yd(y.value.year(me),d.value,h),P.value="month",["month","year","date","week"].includes(H.value)&&(K(y.value,!0),await Ne(),gt())),ft("year")},Z=un(),de=async me=>{Z.value||(P.value=me,await Ne(),gt())},ue=C(()=>a.type==="datetime"||a.type==="datetimerange"),Y=C(()=>{const me=ue.value||H.value==="dates",je=H.value==="years",ie=H.value==="months",xe=P.value==="date",Ue=P.value==="year",et=P.value==="month";return me&&xe||je&&Ue||ie&&et}),Q=C(()=>!U.value&&a.showNow||a.showConfirm),L=C(()=>h?a.parsedValue?we(a.parsedValue)?h(a.parsedValue[0].toDate()):h(a.parsedValue.toDate()):!0:!1),q=()=>{if(U.value)K(a.parsedValue);else{let me=ai(a.parsedValue);if(!me){const je=rt(m).locale(d.value),ie=Ze();me=je.year(ie.year()).month(ie.month()).date(ie.date())}y.value=me,K(me)}},te=C(()=>h?h(rt().locale(d.value).toDate()):!1),fe=()=>{const me=rt().locale(d.value).toDate();S.value=!0,(!h||!h(me))&&$(me)&&(y.value=rt().locale(d.value),K(y.value))},he=C(()=>a.timeFormat||nk(a.format)||"HH:mm:ss"),ve=C(()=>a.dateFormat||tk(a.format)||"YYYY-MM-DD"),Ie=C(()=>{if(N.value)return N.value;if(!(!a.parsedValue&&!b.value))return(ai(a.parsedValue)||y.value).format(he.value)}),Le=C(()=>{if(_.value)return _.value;if(!(!a.parsedValue&&!b.value))return(ai(a.parsedValue)||y.value).format(ve.value)}),_e=M(!1),ye=()=>{_e.value=!0},Te=()=>{_e.value=!1},be=me=>({hour:me.hour(),minute:me.minute(),second:me.second(),year:me.year(),month:me.month(),date:me.date()}),Pe=(me,je,ie)=>{const{hour:xe,minute:Ue,second:et}=be(me),bt=ai(a.parsedValue);y.value=bt?bt.hour(xe).minute(Ue).second(et):me,K(y.value,!0),ie||(_e.value=je)},He=me=>{const je=rt(me,he.value).locale(d.value);if(je.isValid()&&$(je)){const{year:ie,month:xe,date:Ue}=be(y.value);y.value=je.year(ie).month(xe).date(Ue),N.value=null,_e.value=!1,K(y.value,!0)}},Je=me=>{const je=Nl(me,ve.value,d.value,p);if(je.isValid()){if(h&&h(je.toDate()))return;const{hour:ie,minute:xe,second:Ue}=be(y.value);y.value=je.hour(ie).minute(xe).second(Ue),_.value=null,K(y.value,!0)}},Qe=me=>rt.isDayjs(me)&&me.isValid()&&(h?!h(me.toDate()):!0),lt=me=>Nl(me,a.format,d.value,p),Ze=()=>{const me=rt(b.value).locale(d.value);if(!b.value){const je=x.value;return rt().hour(je.hour()).minute(je.minute()).second(je.second()).locale(d.value)}return me},gt=()=>{["week","month","year","date"].includes(H.value)&&w.value?.focus()},Pt=()=>{gt(),H.value==="week"&&nt(Se.down)},zt=me=>{const je=qt(me);[Se.up,Se.down,Se.left,Se.right,Se.home,Se.end,Se.pageUp,Se.pageDown].includes(je)&&(nt(je),me.stopPropagation(),me.preventDefault()),[Se.enter,Se.space,Se.numpadEnter].includes(je)&&_.value===null&&N.value===null&&(me.preventDefault(),K(y.value,!1))},nt=me=>{const{up:je,down:ie,left:xe,right:Ue,home:et,end:bt,pageUp:vt,pageDown:Et}=Se,Yt={year:{[je]:-4,[ie]:4,[xe]:-1,[Ue]:1,offset:(At,en)=>At.setFullYear(At.getFullYear()+en)},month:{[je]:-4,[ie]:4,[xe]:-1,[Ue]:1,offset:(At,en)=>At.setMonth(At.getMonth()+en)},week:{[je]:-1,[ie]:1,[xe]:-1,[Ue]:1,offset:(At,en)=>At.setDate(At.getDate()+en*7)},date:{[je]:-7,[ie]:7,[xe]:-1,[Ue]:1,[et]:At=>-At.getDay(),[bt]:At=>-At.getDay()+6,[vt]:At=>-new Date(At.getFullYear(),At.getMonth(),0).getDate(),[Et]:At=>new Date(At.getFullYear(),At.getMonth()+1,0).getDate(),offset:(At,en)=>At.setDate(At.getDate()+en)}},on=y.value.toDate();for(;Math.abs(y.value.diff(on,"year",!0))<1;){const At=Yt[J.value];if(!At)return;if(At.offset(on,Fe(At[me])?At[me](on):At[me]??0),h&&h(on))break;const en=rt(on).locale(d.value);y.value=en,o("pick",en,!0);break}},ft=me=>{o("panel-change",y.value.toDate(),me,P.value)};return pe(()=>H.value,me=>{if(["month","year"].includes(me)){P.value=me;return}else if(me==="years"){P.value="year";return}else if(me==="months"){P.value="month";return}P.value="date"},{immediate:!0}),pe(()=>b.value,me=>{me&&(y.value=Ze())},{immediate:!0}),pe(()=>a.parsedValue,me=>{if(me){if(U.value||we(me))return;y.value=me}else y.value=Ze()},{immediate:!0}),o("set-picker-option",["isValidValue",Qe]),o("set-picker-option",["parseUserInput",lt]),o("set-picker-option",["handleFocusPicker",Pt]),(me,je)=>(E(),D("div",{class:R([i(r).b(),i(s).b(),i(r).is("border",me.border),i(r).is("disabled",i(Z)),{"has-sidebar":me.$slots.sidebar||ee.value,"has-time":ue.value}])},[z("div",{class:R(i(r).e("body-wrapper"))},[oe(me.$slots,"sidebar",{class:R(i(r).e("sidebar"))}),ee.value?(E(),D("div",{key:0,class:R(i(r).e("sidebar"))},[(E(!0),D(Ve,null,kt(i(g),(ie,xe)=>(E(),D("button",{key:xe,type:"button",disabled:i(Z),class:R(i(r).e("shortcut")),onClick:Ue=>F(ie)},Ce(ie.text),11,UH))),128))],2)):re("v-if",!0),z("div",{class:R(i(r).e("body"))},[ue.value?(E(),D("div",{key:0,class:R(i(s).e("time-header"))},[z("span",{class:R(i(s).e("editor-wrap"))},[X(i(Un),{placeholder:i(c)("el.datepicker.selectDate"),"model-value":Le.value,size:"small","validate-event":!1,disabled:i(Z),readonly:!me.editable,onInput:je[0]||(je[0]=ie=>_.value=ie),onChange:Je},null,8,["placeholder","model-value","disabled","readonly"])],2),ct((E(),D("span",{class:R(i(s).e("editor-wrap"))},[X(i(Un),{placeholder:i(c)("el.datepicker.selectTime"),"model-value":Ie.value,size:"small","validate-event":!1,disabled:i(Z),readonly:!me.editable,onFocus:ye,onInput:je[1]||(je[1]=ie=>N.value=ie),onChange:He},null,8,["placeholder","model-value","disabled","readonly"]),X(i(ld),{visible:_e.value,format:he.value,"parsed-value":y.value,onPick:Pe},null,8,["visible","format","parsed-value"])],2)),[[i(Qr),Te]])],2)):re("v-if",!0),ct(z("div",{class:R([i(s).e("header"),(P.value==="year"||P.value==="month")&&i(s).em("header","bordered")])},[z("span",{class:R(i(s).e("prev-btn"))},[z("button",{type:"button","aria-label":i(c)("el.datepicker.prevYear"),class:R(["d-arrow-left",i(r).e("icon-btn")]),disabled:i(Z),onClick:je[2]||(je[2]=ie=>A(!1))},[oe(me.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,qH),ct(z("button",{type:"button","aria-label":i(c)("el.datepicker.prevMonth"),class:R([i(r).e("icon-btn"),"arrow-left"]),disabled:i(Z),onClick:je[3]||(je[3]=ie=>W(!1))},[oe(me.$slots,"prev-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1})])],10,YH),[[$t,P.value==="date"]])],2),z("span",{role:"button",class:R(i(s).e("header-label")),"aria-live":"polite",tabindex:me.disabled?void 0:0,"aria-disabled":me.disabled,onKeydown:je[4]||(je[4]=dn(ie=>de("year"),["enter"])),onClick:je[5]||(je[5]=ie=>de("year"))},Ce(V.value),43,GH),ct(z("span",{role:"button","aria-live":"polite",tabindex:me.disabled?void 0:0,"aria-disabled":me.disabled,class:R([i(s).e("header-label"),{active:P.value==="month"}]),onKeydown:je[6]||(je[6]=dn(ie=>de("month"),["enter"])),onClick:je[7]||(je[7]=ie=>de("month"))},Ce(i(c)(`el.datepicker.month${O.value+1}`)),43,XH),[[$t,P.value==="date"]]),z("span",{class:R(i(s).e("next-btn"))},[ct(z("button",{type:"button","aria-label":i(c)("el.datepicker.nextMonth"),class:R([i(r).e("icon-btn"),"arrow-right"]),disabled:i(Z),onClick:je[8]||(je[8]=ie=>W(!0))},[oe(me.$slots,"next-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})])],10,JH),[[$t,P.value==="date"]]),z("button",{type:"button","aria-label":i(c)("el.datepicker.nextYear"),class:R([i(r).e("icon-btn"),"d-arrow-right"]),disabled:i(Z),onClick:je[9]||(je[9]=ie=>A(!0))},[oe(me.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,ZH)],2)],2),[[$t,P.value!=="time"]]),z("div",{class:R(i(r).e("content")),onKeydown:zt},[P.value==="date"?(E(),le(Gh,{key:0,ref_key:"currentViewRef",ref:w,"selection-mode":H.value,date:y.value,"parsed-value":me.parsedValue,"disabled-date":i(h),disabled:i(Z),"cell-class-name":i(v),"show-week-number":me.showWeekNumber,onPick:j},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):re("v-if",!0),P.value==="year"?(E(),le(cu,{key:1,ref_key:"currentViewRef",ref:w,"selection-mode":H.value,date:y.value,"disabled-date":i(h),disabled:i(Z),"parsed-value":me.parsedValue,"cell-class-name":i(v),onPick:ce},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):re("v-if",!0),P.value==="month"?(E(),le(uu,{key:2,ref_key:"currentViewRef",ref:w,"selection-mode":H.value,date:y.value,"parsed-value":me.parsedValue,"disabled-date":i(h),disabled:i(Z),"cell-class-name":i(v),onPick:ae},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):re("v-if",!0)],34)],2)],2),me.showFooter&&Y.value&&Q.value?(E(),D("div",{key:0,class:R(i(r).e("footer"))},[ct(X(i(Bn),{text:"",size:"small",class:R(i(r).e("link-btn")),disabled:te.value,onClick:fe},{default:ne(()=>[wt(Ce(i(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[$t,!U.value&&me.showNow]]),me.showConfirm?(E(),le(i(Bn),{key:0,plain:"",size:"small",class:R(i(r).e("link-btn")),disabled:L.value,onClick:q},{default:ne(()=>[wt(Ce(i(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):re("v-if",!0)],2)):re("v-if",!0)],2))}}),e9=QH;const t9=Ee({...CE,...Gm}),n9=e=>{const{emit:t}=dt(),n=wr(),a=wn();return r=>{const s=Fe(r.value)?r.value():r.value;if(s){t("pick",[rt(s[0]).locale(e.value),rt(s[1]).locale(e.value)]);return}r.onClick&&r.onClick({attrs:n,slots:a,emit:t})}},Zm=(e,{defaultValue:t,defaultTime:n,leftDate:a,rightDate:o,step:r,unit:s,sortDates:l})=>{const{emit:u}=dt(),{pickerNs:c}=$e(qm),d=ge("date-range-picker"),{t:f,lang:p}=xt(),g=n9(p),h=M(),v=M(),m=M({endDate:null,selecting:!1}),b=x=>{m.value=x},w=(x=!1)=>{const O=i(h),T=i(v);iu([O,T])&&u("pick",[O,T],x)},y=x=>{m.value.selecting=x,x||(m.value.endDate=null)},S=x=>{if(we(x)&&x.length===2){const[O,T]=x;h.value=O,a.value=O,v.value=T,l(i(h),i(v))}else k()},k=()=>{let[x,O]=wf(i(t),{lang:i(p),step:r,unit:s,unlinkPanels:e.unlinkPanels});const T=_=>_.diff(_.startOf("d"),"ms"),I=i(n);if(I){let _=0,N=0;if(we(I)){const[$,B]=I.map(rt);_=T($),N=T(B)}else{const $=T(rt(I));_=$,N=$}x=x.startOf("d").add(_,"ms"),O=O.startOf("d").add(N,"ms")}h.value=void 0,v.value=void 0,a.value=x,o.value=O};return pe(t,x=>{x&&k()},{immediate:!0}),pe(()=>e.parsedValue,x=>{(!x?.length||!fn(x,[h.value,v.value]))&&S(x)},{immediate:!0}),pe(()=>e.visible,()=>{e.visible&&S(e.parsedValue)},{immediate:!0}),{minDate:h,maxDate:v,rangeState:m,lang:p,ppNs:c,drpNs:d,handleChangeRange:b,handleRangeConfirm:w,handleShortcutClick:g,onSelect:y,parseValue:S,t:f}},a9=(e,t,n,a)=>{const o=M("date"),r=M(),s=M("date"),l=M(),{disabledDate:u}=$e(Go).props,{t:c,lang:d}=xt(),f=C(()=>n.value.year()),p=C(()=>n.value.month()),g=C(()=>a.value.year()),h=C(()=>a.value.month());function v(k,x){const O=c("el.datepicker.year");if(k.value==="year"){const T=Math.floor(x.value/10)*10;return O?`${T} ${O} - ${T+9} ${O}`:`${T} - ${T+9}`}return`${x.value} ${O}`}function m(k){k?.focus()}async function b(k,x){if(e.disabled)return;const O=k==="left"?o:s,T=k==="left"?r:l;O.value=x,await Ne(),m(T.value)}async function w(k,x,O){if(e.disabled)return;const T=x==="left",I=T?n:a,_=T?a:n,N=T?o:s,$=T?r:l;k==="year"&&(I.value=yd(I.value.year(O),d.value,u)),k==="month"&&(I.value=$l(I.value,I.value.year(),O,d.value,u)),e.unlinkPanels||(_.value=x==="left"?I.value.add(1,"month"):I.value.subtract(1,"month")),N.value=k==="year"?"month":"date",await Ne(),m($.value),y(k)}function y(k){t("panel-change",[n.value.toDate(),a.value.toDate()],k)}function S(k,x,O){const T=O?"add":"subtract";return k==="year"?x[T](10,"year"):x[T](1,"year")}return{leftCurrentView:o,rightCurrentView:s,leftCurrentViewRef:r,rightCurrentViewRef:l,leftYear:f,rightYear:g,leftMonth:p,rightMonth:h,leftYearLabel:C(()=>v(o,f)),rightYearLabel:C(()=>v(s,g)),showLeftPicker:k=>b("left",k),showRightPicker:k=>b("right",k),handleLeftYearPick:k=>w("year","left",k),handleRightYearPick:k=>w("year","right",k),handleLeftMonthPick:k=>w("month","left",k),handleRightMonthPick:k=>w("month","right",k),handlePanelChange:y,adjustDateByView:S}},o9=["disabled","onClick"],r9=["aria-label","disabled"],s9=["aria-label","disabled"],l9=["disabled","aria-label"],i9=["disabled","aria-label"],u9=["tabindex","aria-disabled"],c9=["tabindex","aria-disabled"],d9=["disabled","aria-label"],f9=["disabled","aria-label"],p9=["aria-label","disabled"],h9=["disabled","aria-label"],v9=["tabindex","aria-disabled"],m9=["tabindex","aria-disabled"],pc="month";var g9=se({__name:"panel-date-range",props:t9,emits:["pick","set-picker-option","calendar-change","panel-change","clear"],setup(e,{emit:t}){const n=e,a=t,o=$e(Go),r=$e(Vu,void 0),{disabledDate:s,cellClassName:l,defaultTime:u,clearable:c}=o.props,d=Ht(o.props,"format"),f=Ht(o.props,"shortcuts"),p=Ht(o.props,"defaultValue"),{lang:g}=xt(),h=M(rt().locale(g.value)),v=M(rt().locale(g.value).add(1,pc)),{minDate:m,maxDate:b,rangeState:w,ppNs:y,drpNs:S,handleChangeRange:k,handleRangeConfirm:x,handleShortcutClick:O,onSelect:T,parseValue:I,t:_}=Zm(n,{defaultValue:p,defaultTime:u,leftDate:h,rightDate:v,unit:pc,sortDates:en});pe(()=>n.visible,Ye=>{!Ye&&w.value.selecting&&(I(n.parsedValue),T(!1))});const N=M({min:null,max:null}),$=M({min:null,max:null}),{leftCurrentView:B,rightCurrentView:K,leftCurrentViewRef:j,rightCurrentViewRef:W,leftYear:A,rightYear:P,leftMonth:V,rightMonth:F,leftYearLabel:H,rightYearLabel:U,showLeftPicker:J,showRightPicker:ee,handleLeftYearPick:ae,handleRightYearPick:ce,handleLeftMonthPick:Z,handleRightMonthPick:de,handlePanelChange:ue,adjustDateByView:Y}=a9(n,a,h,v),Q=C(()=>!!f.value.length),L=C(()=>N.value.min!==null?N.value.min:m.value?m.value.format(ve.value):""),q=C(()=>N.value.max!==null?N.value.max:b.value||m.value?(b.value||m.value).format(ve.value):""),te=C(()=>$.value.min!==null?$.value.min:m.value?m.value.format(he.value):""),fe=C(()=>$.value.max!==null?$.value.max:b.value||m.value?(b.value||m.value).format(he.value):""),he=C(()=>n.timeFormat||nk(d.value||"")||"HH:mm:ss"),ve=C(()=>n.dateFormat||tk(d.value||"")||"YYYY-MM-DD"),Ie=Ye=>iu(Ye)&&(s?!s(Ye[0].toDate())&&!s(Ye[1].toDate()):!0),Le=()=>{h.value=Y(B.value,h.value,!1),n.unlinkPanels||(v.value=h.value.add(1,"month")),ue("year")},_e=()=>{h.value=h.value.subtract(1,"month"),n.unlinkPanels||(v.value=h.value.add(1,"month")),ue("month")},ye=()=>{n.unlinkPanels?v.value=Y(K.value,v.value,!0):(h.value=Y(K.value,h.value,!0),v.value=h.value.add(1,"month")),ue("year")},Te=()=>{n.unlinkPanels?v.value=v.value.add(1,"month"):(h.value=h.value.add(1,"month"),v.value=h.value.add(1,"month")),ue("month")},be=()=>{h.value=Y(B.value,h.value,!0),ue("year")},Pe=()=>{h.value=h.value.add(1,"month"),ue("month")},He=()=>{v.value=Y(K.value,v.value,!1),ue("year")},Je=()=>{v.value=v.value.subtract(1,"month"),ue("month")},Qe=C(()=>{const Ye=(V.value+1)%12,Ge=V.value+1>=12?1:0;return n.singlePanel||n.unlinkPanels&&new Date(A.value+Ge,Ye)<new Date(P.value,F.value)}),lt=C(()=>n.singlePanel||n.unlinkPanels&&P.value*12+F.value-(A.value*12+V.value+1)>=12),Ze=un(),gt=C(()=>!(m.value&&b.value&&!w.value.selecting&&iu([m.value,b.value])&&!Ze.value)),Pt=C(()=>n.type==="datetime"||n.type==="datetimerange"),zt=(Ye,Ge)=>{if(Ye)return u?rt(u[Ge]||u).locale(g.value).year(Ye.year()).month(Ye.month()).date(Ye.date()):Ye},nt=(Ye,Ge=!0)=>{const tt=Ye.minDate,Oe=Ye.maxDate,Ke=zt(tt,0),We=zt(Oe,1);b.value===We&&m.value===Ke||(a("calendar-change",[tt.toDate(),Oe&&Oe.toDate()]),b.value=We,m.value=Ke,!Pt.value&&Ge&&(Ge=!Ke||!We),x(Ge))},ft=M(!1),me=M(!1),je=()=>{ft.value=!1},ie=()=>{me.value=!1},xe=(Ye,Ge)=>{N.value[Ge]=Ye;const tt=rt(Ye,ve.value).locale(g.value);if(tt.isValid()){if(s&&s(tt.toDate()))return;Ge==="min"?(h.value=tt,m.value=(m.value||h.value).year(tt.year()).month(tt.month()).date(tt.date()),!n.unlinkPanels&&(!b.value||b.value.isBefore(m.value))&&(v.value=tt.add(1,"month"),b.value=m.value.add(1,"month"))):(v.value=tt,b.value=(b.value||v.value).year(tt.year()).month(tt.month()).date(tt.date()),!n.unlinkPanels&&(!m.value||m.value.isAfter(b.value))&&(h.value=tt.subtract(1,"month"),m.value=b.value.subtract(1,"month"))),en(m.value,b.value),x(!0)}},Ue=(Ye,Ge)=>{N.value[Ge]=null},et=(Ye,Ge)=>{$.value[Ge]=Ye;const tt=rt(Ye,he.value).locale(g.value);tt.isValid()&&(Ge==="min"?(ft.value=!0,m.value=(m.value||h.value).hour(tt.hour()).minute(tt.minute()).second(tt.second()),h.value=m.value):(me.value=!0,b.value=(b.value||v.value).hour(tt.hour()).minute(tt.minute()).second(tt.second()),v.value=b.value))},bt=(Ye,Ge)=>{$.value[Ge]=null,Ge==="min"?(h.value=m.value,ft.value=!1,(!b.value||b.value.isBefore(m.value))&&(b.value=m.value)):(v.value=b.value,me.value=!1,b.value&&b.value.isBefore(m.value)&&(m.value=b.value)),x(!0)},vt=(Ye,Ge,tt)=>{$.value.min||(Ye&&(m.value=(m.value||h.value).hour(Ye.hour()).minute(Ye.minute()).second(Ye.second())),tt||(ft.value=Ge),(!b.value||b.value.isBefore(m.value))&&(b.value=m.value,v.value=Ye,Ne(()=>{I(n.parsedValue)})),x(!0))},Et=(Ye,Ge,tt)=>{$.value.max||(Ye&&(b.value=(b.value||v.value).hour(Ye.hour()).minute(Ye.minute()).second(Ye.second())),tt||(me.value=Ge),b.value&&b.value.isBefore(m.value)&&(m.value=b.value),x(!0))},Yt=()=>{on(),a("clear")},on=()=>{let Ye=null;o?.emptyValues&&(Ye=o.emptyValues.valueOnClear.value),h.value=wf(i(p),{lang:i(g),unit:"month",unlinkPanels:n.unlinkPanels})[0],v.value=h.value.add(1,"month"),b.value=void 0,m.value=void 0,x(!0),a("pick",Ye)},At=Ye=>Nl(Ye,d.value||"",g.value,r);function en(Ye,Ge){if(n.unlinkPanels&&Ge){const tt=Ye?.year()||0,Oe=Ye?.month()||0,Ke=Ge.year(),We=Ge.month();v.value=tt===Ke&&Oe===We?Ge.add(1,pc):Ge}else v.value=h.value.add(1,pc),Ge&&(v.value=v.value.hour(Ge.hour()).minute(Ge.minute()).second(Ge.second()))}return a("set-picker-option",["isValidValue",Ie]),a("set-picker-option",["parseUserInput",At]),a("set-picker-option",["handleClear",on]),(Ye,Ge)=>(E(),D("div",{class:R([i(y).b(),i(S).b(),i(y).is("border",Ye.border),i(y).is("disabled",i(Ze)),{"has-sidebar":Ye.$slots.sidebar||Q.value,"has-time":Pt.value,"single-panel":Ye.singlePanel}])},[z("div",{class:R(i(y).e("body-wrapper"))},[oe(Ye.$slots,"sidebar",{class:R(i(y).e("sidebar"))}),Q.value?(E(),D("div",{key:0,class:R(i(y).e("sidebar"))},[(E(!0),D(Ve,null,kt(f.value,(tt,Oe)=>(E(),D("button",{key:Oe,type:"button",disabled:i(Ze),class:R(i(y).e("shortcut")),onClick:Ke=>i(O)(tt)},Ce(tt.text),11,o9))),128))],2)):re("v-if",!0),z("div",{class:R(i(y).e("body"))},[Pt.value?(E(),D("div",{key:0,class:R(i(S).e("time-header"))},[z("span",{class:R(i(S).e("editors-wrap"))},[z("span",{class:R(i(S).e("time-picker-wrap"))},[X(i(Un),{size:"small",disabled:i(w).selecting||i(Ze),placeholder:i(_)("el.datepicker.startDate"),class:R(i(S).e("editor")),"model-value":L.value,"validate-event":!1,readonly:!Ye.editable,onInput:Ge[0]||(Ge[0]=tt=>xe(tt,"min")),onChange:Ge[1]||(Ge[1]=tt=>Ue(tt,"min"))},null,8,["disabled","placeholder","class","model-value","readonly"])],2),ct((E(),D("span",{class:R(i(S).e("time-picker-wrap"))},[X(i(Un),{size:"small",class:R(i(S).e("editor")),disabled:i(w).selecting||i(Ze),placeholder:i(_)("el.datepicker.startTime"),"model-value":te.value,"validate-event":!1,readonly:!Ye.editable,onFocus:Ge[2]||(Ge[2]=tt=>ft.value=!0),onInput:Ge[3]||(Ge[3]=tt=>et(tt,"min")),onChange:Ge[4]||(Ge[4]=tt=>bt(tt,"min"))},null,8,["class","disabled","placeholder","model-value","readonly"]),X(i(ld),{visible:ft.value,format:he.value,"datetime-role":"start","parsed-value":i(m)||h.value,onPick:vt},null,8,["visible","format","parsed-value"])],2)),[[i(Qr),je]])],2),z("span",null,[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})]),z("span",{class:R([i(S).e("editors-wrap"),"is-right"])},[z("span",{class:R(i(S).e("time-picker-wrap"))},[X(i(Un),{size:"small",class:R(i(S).e("editor")),disabled:i(w).selecting||i(Ze),placeholder:i(_)("el.datepicker.endDate"),"model-value":q.value,readonly:!i(m)||!Ye.editable,"validate-event":!1,onInput:Ge[5]||(Ge[5]=tt=>xe(tt,"max")),onChange:Ge[6]||(Ge[6]=tt=>Ue(tt,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),ct((E(),D("span",{class:R(i(S).e("time-picker-wrap"))},[X(i(Un),{size:"small",class:R(i(S).e("editor")),disabled:i(w).selecting||i(Ze),placeholder:i(_)("el.datepicker.endTime"),"model-value":fe.value,readonly:!i(m)||!Ye.editable,"validate-event":!1,onFocus:Ge[7]||(Ge[7]=tt=>i(m)&&(me.value=!0)),onInput:Ge[8]||(Ge[8]=tt=>et(tt,"max")),onChange:Ge[9]||(Ge[9]=tt=>bt(tt,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),X(i(ld),{"datetime-role":"end",visible:me.value,format:he.value,"parsed-value":i(b)||v.value,onPick:Et},null,8,["visible","format","parsed-value"])],2)),[[i(Qr),ie]])],2)],2)):re("v-if",!0),z("div",{class:R([i(y).e("content"),i(S).e("content"),i(S).is("left",!Ye.singlePanel)])},[z("div",{class:R(i(S).e("header"))},[z("button",{type:"button",class:R([i(y).e("icon-btn"),"d-arrow-left"]),"aria-label":i(_)("el.datepicker.prevYear"),disabled:i(Ze),onClick:Le},[oe(Ye.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,r9),ct(z("button",{type:"button",class:R([i(y).e("icon-btn"),"arrow-left"]),"aria-label":i(_)("el.datepicker.prevMonth"),disabled:i(Ze),onClick:_e},[oe(Ye.$slots,"prev-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1})])],10,s9),[[$t,i(B)==="date"]]),Ye.unlinkPanels||Ye.singlePanel?(E(),D("button",{key:0,type:"button",disabled:!lt.value||i(Ze),class:R([[i(y).e("icon-btn"),i(y).is("disabled",!lt.value||i(Ze))],"d-arrow-right"]),"aria-label":i(_)("el.datepicker.nextYear"),onClick:be},[oe(Ye.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,l9)):re("v-if",!0),Ye.unlinkPanels&&i(B)==="date"||Ye.singlePanel?(E(),D("button",{key:1,type:"button",disabled:!Qe.value||i(Ze),class:R([[i(y).e("icon-btn"),i(y).is("disabled",!Qe.value||i(Ze))],"arrow-right"]),"aria-label":i(_)("el.datepicker.nextMonth"),onClick:Pe},[oe(Ye.$slots,"next-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})])],10,i9)):re("v-if",!0),z("div",null,[z("span",{role:"button",class:R(i(S).e("header-label")),"aria-live":"polite",tabindex:Ye.disabled?void 0:0,"aria-disabled":Ye.disabled,onKeydown:Ge[10]||(Ge[10]=dn(tt=>i(J)("year"),["enter"])),onClick:Ge[11]||(Ge[11]=tt=>i(J)("year"))},Ce(i(H)),43,u9),ct(z("span",{role:"button","aria-live":"polite",tabindex:Ye.disabled?void 0:0,"aria-disabled":Ye.disabled,class:R([i(S).e("header-label"),{active:i(B)==="month"}]),onKeydown:Ge[12]||(Ge[12]=dn(tt=>i(J)("month"),["enter"])),onClick:Ge[13]||(Ge[13]=tt=>i(J)("month"))},Ce(i(_)(`el.datepicker.month${h.value.month()+1}`)),43,c9),[[$t,i(B)==="date"]])])],2),i(B)==="date"?(E(),le(Gh,{key:0,ref_key:"leftCurrentViewRef",ref:j,"selection-mode":"range",date:h.value,"min-date":i(m),"max-date":i(b),"range-state":i(w),"disabled-date":i(s),"cell-class-name":i(l),"show-week-number":Ye.showWeekNumber,disabled:i(Ze),onChangerange:i(k),onPick:nt,onSelect:i(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):re("v-if",!0),i(B)==="year"?(E(),le(cu,{key:1,ref_key:"leftCurrentViewRef",ref:j,"selection-mode":"year",date:h.value,"disabled-date":i(s),"parsed-value":Ye.parsedValue,disabled:i(Ze),onPick:i(ae)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):re("v-if",!0),i(B)==="month"?(E(),le(uu,{key:2,ref_key:"leftCurrentViewRef",ref:j,"selection-mode":"month",date:h.value,"parsed-value":Ye.parsedValue,"disabled-date":i(s),disabled:i(Ze),onPick:i(Z)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):re("v-if",!0)],2),Ye.singlePanel?re("v-if",!0):(E(),D("div",{key:1,class:R([[i(y).e("content"),i(S).e("content")],"is-right"])},[z("div",{class:R(i(S).e("header"))},[Ye.unlinkPanels?(E(),D("button",{key:0,type:"button",disabled:!lt.value||i(Ze),class:R([[i(y).e("icon-btn"),i(y).is("disabled",!lt.value||i(Ze))],"d-arrow-left"]),"aria-label":i(_)("el.datepicker.prevYear"),onClick:He},[oe(Ye.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,d9)):re("v-if",!0),Ye.unlinkPanels&&i(K)==="date"?(E(),D("button",{key:1,type:"button",disabled:!Qe.value||i(Ze),class:R([[i(y).e("icon-btn"),i(y).is("disabled",!Qe.value||i(Ze))],"arrow-left"]),"aria-label":i(_)("el.datepicker.prevMonth"),onClick:Je},[oe(Ye.$slots,"prev-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1})])],10,f9)):re("v-if",!0),z("button",{type:"button","aria-label":i(_)("el.datepicker.nextYear"),class:R([i(y).e("icon-btn"),"d-arrow-right"]),disabled:i(Ze),onClick:ye},[oe(Ye.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,p9),ct(z("button",{type:"button",class:R([i(y).e("icon-btn"),"arrow-right"]),disabled:i(Ze),"aria-label":i(_)("el.datepicker.nextMonth"),onClick:Te},[oe(Ye.$slots,"next-month",{},()=>[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})])],10,h9),[[$t,i(K)==="date"]]),z("div",null,[z("span",{role:"button",class:R(i(S).e("header-label")),"aria-live":"polite",tabindex:Ye.disabled?void 0:0,"aria-disabled":Ye.disabled,onKeydown:Ge[14]||(Ge[14]=dn(tt=>i(ee)("year"),["enter"])),onClick:Ge[15]||(Ge[15]=tt=>i(ee)("year"))},Ce(i(U)),43,v9),ct(z("span",{role:"button","aria-live":"polite",tabindex:Ye.disabled?void 0:0,"aria-disabled":Ye.disabled,class:R([i(S).e("header-label"),{active:i(K)==="month"}]),onKeydown:Ge[16]||(Ge[16]=dn(tt=>i(ee)("month"),["enter"])),onClick:Ge[17]||(Ge[17]=tt=>i(ee)("month"))},Ce(i(_)(`el.datepicker.month${v.value.month()+1}`)),43,m9),[[$t,i(K)==="date"]])])],2),i(K)==="date"?(E(),le(Gh,{key:0,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"range",date:v.value,"min-date":i(m),"max-date":i(b),"range-state":i(w),"disabled-date":i(s),"cell-class-name":i(l),"show-week-number":Ye.showWeekNumber,disabled:i(Ze),onChangerange:i(k),onPick:nt,onSelect:i(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):re("v-if",!0),i(K)==="year"?(E(),le(cu,{key:1,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"year",date:v.value,"disabled-date":i(s),"parsed-value":Ye.parsedValue,disabled:i(Ze),onPick:i(ce)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):re("v-if",!0),i(K)==="month"?(E(),le(uu,{key:2,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"month",date:v.value,"parsed-value":Ye.parsedValue,"disabled-date":i(s),disabled:i(Ze),onPick:i(de)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):re("v-if",!0)],2))],2)],2),Ye.showFooter&&Pt.value&&(Ye.showConfirm||i(c))?(E(),D("div",{key:0,class:R(i(y).e("footer"))},[i(c)?(E(),le(i(Bn),{key:0,text:"",size:"small",class:R(i(y).e("link-btn")),onClick:Yt},{default:ne(()=>[wt(Ce(i(_)("el.datepicker.clear")),1)]),_:1},8,["class"])):re("v-if",!0),Ye.showConfirm?(E(),le(i(Bn),{key:1,plain:"",size:"small",class:R(i(y).e("link-btn")),disabled:gt.value,onClick:Ge[18]||(Ge[18]=tt=>i(x)(!1))},{default:ne(()=>[wt(Ce(i(_)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):re("v-if",!0)],2)):re("v-if",!0)],2))}}),b9=g9;const y9=Ee({...Gm}),w9=["pick","set-picker-option","calendar-change"],S9=({unlinkPanels:e,leftDate:t,rightDate:n})=>{const{t:a}=xt();return{leftPrevYear:()=>{t.value=t.value.subtract(1,"year"),e.value||(n.value=n.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(1,"year")),n.value=n.value.add(1,"year")},leftNextYear:()=>{t.value=t.value.add(1,"year")},rightPrevYear:()=>{n.value=n.value.subtract(1,"year")},leftLabel:C(()=>`${t.value.year()} ${a("el.datepicker.year")}`),rightLabel:C(()=>`${n.value.year()} ${a("el.datepicker.year")}`),leftYear:C(()=>t.value.year()),rightYear:C(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year())}},C9=["disabled","onClick"],k9=["disabled"],E9=["disabled"],x9=["disabled"],T9=["disabled"],hc="year";var O9=se({name:"DatePickerMonthRange",__name:"panel-month-range",props:y9,emits:w9,setup(e,{emit:t}){const n=e,a=t,{lang:o}=xt(),r=$e(Go),s=$e(Vu,void 0),{shortcuts:l,disabledDate:u,cellClassName:c}=r.props,d=Ht(r.props,"format"),f=Ht(r.props,"defaultValue"),p=M(rt().locale(o.value)),g=M(rt().locale(o.value).add(1,hc)),{minDate:h,maxDate:v,rangeState:m,ppNs:b,drpNs:w,handleChangeRange:y,handleRangeConfirm:S,handleShortcutClick:k,onSelect:x,parseValue:O}=Zm(n,{defaultValue:f,leftDate:p,rightDate:g,unit:hc,sortDates:H}),T=C(()=>!!l.length),{leftPrevYear:I,rightNextYear:_,leftNextYear:N,rightPrevYear:$,leftLabel:B,rightLabel:K,leftYear:j,rightYear:W}=S9({unlinkPanels:Ht(n,"unlinkPanels"),leftDate:p,rightDate:g}),A=C(()=>n.singlePanel||n.unlinkPanels&&W.value>j.value+1),P=(J,ee=!0)=>{const ae=J.minDate,ce=J.maxDate;v.value===ce&&h.value===ae||(a("calendar-change",[ae.toDate(),ce&&ce.toDate()]),v.value=ce,h.value=ae,ee&&S())},V=()=>{let J=null;r?.emptyValues&&(J=r.emptyValues.valueOnClear.value),p.value=wf(i(f),{lang:i(o),unit:"year",unlinkPanels:n.unlinkPanels})[0],g.value=p.value.add(1,"year"),a("pick",J)},F=J=>Nl(J,d.value,o.value,s);function H(J,ee){n.unlinkPanels&&ee?g.value=(J?.year()||0)===ee.year()?ee.add(1,hc):ee:g.value=p.value.add(1,hc)}const U=un();return pe(()=>n.visible,J=>{!J&&m.value.selecting&&(O(n.parsedValue),x(!1))}),a("set-picker-option",["isValidValue",iu]),a("set-picker-option",["parseUserInput",F]),a("set-picker-option",["handleClear",V]),(J,ee)=>(E(),D("div",{class:R([i(b).b(),i(w).b(),i(b).is("border",J.border),i(b).is("disabled",i(U)),{"has-sidebar":!!J.$slots.sidebar||T.value,"single-panel":J.singlePanel}])},[z("div",{class:R(i(b).e("body-wrapper"))},[oe(J.$slots,"sidebar",{class:R(i(b).e("sidebar"))}),T.value?(E(),D("div",{key:0,class:R(i(b).e("sidebar"))},[(E(!0),D(Ve,null,kt(i(l),(ae,ce)=>(E(),D("button",{key:ce,type:"button",class:R(i(b).e("shortcut")),disabled:i(U),onClick:Z=>i(k)(ae)},Ce(ae.text),11,C9))),128))],2)):re("v-if",!0),z("div",{class:R(i(b).e("body"))},[z("div",{class:R([i(b).e("content"),i(w).e("content"),i(w).is("left",!J.singlePanel)])},[z("div",{class:R(i(w).e("header"))},[z("button",{type:"button",class:R([i(b).e("icon-btn"),"d-arrow-left"]),disabled:i(U),onClick:ee[0]||(ee[0]=(...ae)=>i(I)&&i(I)(...ae))},[oe(J.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,k9),J.unlinkPanels||J.singlePanel?(E(),D("button",{key:0,type:"button",disabled:!A.value||i(U),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!A.value||i(U))],"d-arrow-right"]),onClick:ee[1]||(ee[1]=(...ae)=>i(N)&&i(N)(...ae))},[oe(J.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,E9)):re("v-if",!0),z("div",null,Ce(i(B)),1)],2),X(uu,{"selection-mode":"range",date:p.value,"min-date":i(h),"max-date":i(v),"range-state":i(m),"disabled-date":i(u),disabled:i(U),"cell-class-name":i(c),onChangerange:i(y),onPick:P,onSelect:i(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),J.singlePanel?re("v-if",!0):(E(),D("div",{key:0,class:R([[i(b).e("content"),i(w).e("content")],"is-right"])},[z("div",{class:R(i(w).e("header"))},[J.unlinkPanels?(E(),D("button",{key:0,type:"button",disabled:!A.value||i(U),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!A.value||i(U))],"d-arrow-left"]),onClick:ee[2]||(ee[2]=(...ae)=>i($)&&i($)(...ae))},[oe(J.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,x9)):re("v-if",!0),z("button",{type:"button",class:R([i(b).e("icon-btn"),"d-arrow-right"]),disabled:i(U),onClick:ee[3]||(ee[3]=(...ae)=>i(_)&&i(_)(...ae))},[oe(J.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,T9),z("div",null,Ce(i(K)),1)],2),X(uu,{"selection-mode":"range",date:g.value,"min-date":i(h),"max-date":i(v),"range-state":i(m),"disabled-date":i(u),disabled:i(U),"cell-class-name":i(c),onChangerange:i(y),onPick:P,onSelect:i(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),_9=O9;const R9=Ee({...Gm}),I9=["pick","set-picker-option","calendar-change"],$9=({unlinkPanels:e,leftDate:t,rightDate:n})=>({leftPrevYear:()=>{t.value=t.value.subtract(10,"year"),e.value||(n.value=n.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(10,"year")),n.value=n.value.add(10,"year")},leftNextYear:()=>{t.value=t.value.add(10,"year")},rightPrevYear:()=>{n.value=n.value.subtract(10,"year")},leftLabel:C(()=>{const l=Math.floor(t.value.year()/10)*10;return`${l}-${l+9}`}),rightLabel:C(()=>{const l=Math.floor(n.value.year()/10)*10;return`${l}-${l+9}`}),leftYear:C(()=>Math.floor(t.value.year()/10)*10+9),rightYear:C(()=>Math.floor(n.value.year()/10)*10)}),N9=["disabled","onClick"],M9=["disabled"],P9=["disabled"],A9=["disabled"],L9=["disabled"],Xs=10,oi="year";var D9=se({name:"DatePickerYearRange",__name:"panel-year-range",props:R9,emits:I9,setup(e,{emit:t}){const n=e,a=t,{lang:o}=xt(),r=M(rt().locale(o.value)),s=M(rt().locale(o.value).add(Xs,oi)),l=$e(Vu,void 0),u=$e(Go),{shortcuts:c,disabledDate:d,cellClassName:f}=u.props,p=Ht(u.props,"format"),g=Ht(u.props,"defaultValue"),{minDate:h,maxDate:v,rangeState:m,ppNs:b,drpNs:w,handleChangeRange:y,handleRangeConfirm:S,handleShortcutClick:k,onSelect:x,parseValue:O}=Zm(n,{defaultValue:g,leftDate:r,rightDate:s,step:Xs,unit:oi,sortDates:ce}),{leftPrevYear:T,rightNextYear:I,leftNextYear:_,rightPrevYear:N,leftLabel:$,rightLabel:B,leftYear:K,rightYear:j}=$9({unlinkPanels:Ht(n,"unlinkPanels"),leftDate:r,rightDate:s}),W=un(),A=C(()=>!!c.length),P=C(()=>[b.b(),w.b(),b.is("border",n.border),b.is("disabled",W.value),{"has-sidebar":!!wn().sidebar||A.value,"single-panel":n.singlePanel}]),V=C(()=>({content:[b.e("content"),w.e("content"),w.is("left",!n.singlePanel)],arrowLeftBtn:[b.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[b.e("icon-btn"),b.is("disabled",!H.value||W.value),"d-arrow-right"]})),F=C(()=>({content:[b.e("content"),w.e("content"),"is-right"],arrowLeftBtn:[b.e("icon-btn"),b.is("disabled",!H.value||W.value),"d-arrow-left"],arrowRightBtn:[b.e("icon-btn"),"d-arrow-right"]})),H=C(()=>n.singlePanel||n.unlinkPanels&&j.value>K.value+1),U=(Z,de=!0)=>{const ue=Z.minDate,Y=Z.maxDate;v.value===Y&&h.value===ue||(a("calendar-change",[ue.toDate(),Y&&Y.toDate()]),v.value=Y,h.value=ue,de&&S())},J=Z=>Nl(Z,p.value,o.value,l),ee=Z=>iu(Z)&&(d?!d(Z[0].toDate())&&!d(Z[1].toDate()):!0),ae=()=>{let Z=null;u?.emptyValues&&(Z=u.emptyValues.valueOnClear.value);const de=wf(i(g),{lang:i(o),step:Xs,unit:oi,unlinkPanels:n.unlinkPanels});r.value=de[0],s.value=de[1],a("pick",Z)};function ce(Z,de){if(n.unlinkPanels&&de){const ue=Z?.year()||0,Y=de.year();s.value=ue+Xs>Y?de.add(Xs,oi):de}else s.value=r.value.add(Xs,oi)}return pe(()=>n.visible,Z=>{!Z&&m.value.selecting&&(O(n.parsedValue),x(!1))}),a("set-picker-option",["isValidValue",ee]),a("set-picker-option",["parseUserInput",J]),a("set-picker-option",["handleClear",ae]),(Z,de)=>(E(),D("div",{class:R(P.value)},[z("div",{class:R(i(b).e("body-wrapper"))},[oe(Z.$slots,"sidebar",{class:R(i(b).e("sidebar"))}),A.value?(E(),D("div",{key:0,class:R(i(b).e("sidebar"))},[(E(!0),D(Ve,null,kt(i(c),(ue,Y)=>(E(),D("button",{key:Y,type:"button",class:R(i(b).e("shortcut")),disabled:i(W),onClick:Q=>i(k)(ue)},Ce(ue.text),11,N9))),128))],2)):re("v-if",!0),z("div",{class:R(i(b).e("body"))},[z("div",{class:R(V.value.content)},[z("div",{class:R(i(w).e("header"))},[z("button",{type:"button",class:R(V.value.arrowLeftBtn),disabled:i(W),onClick:de[0]||(de[0]=(...ue)=>i(T)&&i(T)(...ue))},[oe(Z.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,M9),Z.unlinkPanels||Z.singlePanel?(E(),D("button",{key:0,type:"button",disabled:!H.value||i(W),class:R(V.value.arrowRightBtn),onClick:de[1]||(de[1]=(...ue)=>i(_)&&i(_)(...ue))},[oe(Z.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,P9)):re("v-if",!0),z("div",null,Ce(i($)),1)],2),X(cu,{"selection-mode":"range",date:r.value,"min-date":i(h),"max-date":i(v),"range-state":i(m),"disabled-date":i(d),disabled:i(W),"cell-class-name":i(f),onChangerange:i(y),onPick:U,onSelect:i(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),Z.singlePanel?re("v-if",!0):(E(),D("div",{key:0,class:R(F.value.content)},[z("div",{class:R(i(w).e("header"))},[Z.unlinkPanels?(E(),D("button",{key:0,type:"button",disabled:!H.value||i(W),class:R(F.value.arrowLeftBtn),onClick:de[2]||(de[2]=(...ue)=>i(N)&&i(N)(...ue))},[oe(Z.$slots,"prev-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Xr))]),_:1})])],10,A9)):re("v-if",!0),z("button",{type:"button",class:R(F.value.arrowRightBtn),disabled:i(W),onClick:de[3]||(de[3]=(...ue)=>i(I)&&i(I)(...ue))},[oe(Z.$slots,"next-year",{},()=>[X(i(De),null,{default:ne(()=>[X(i(Jr))]),_:1})])],10,L9),z("div",null,Ce(i(B)),1)],2),X(cu,{"selection-mode":"range",date:s.value,"min-date":i(h),"max-date":i(v),"range-state":i(m),"disabled-date":i(d),disabled:i(W),"cell-class-name":i(f),onChangerange:i(y),onPick:U,onSelect:i(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),B9=D9;const V9=function(e){switch(e){case"daterange":case"datetimerange":return b9;case"monthrange":return _9;case"yearrange":return B9;default:return e9}};var kE={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a){var o=a.prototype,r=o.format;o.format=function(s){var l=this,u=this.$locale();if(!this.isValid())return r.bind(this)(s);var c=this.$utils(),d=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(f){switch(f){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return u.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return u.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),f==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),f==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),f==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return f}});return r.bind(this)(d)}}})})(kE);var F9=kE.exports;const z9=Or(F9);var EE={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){var n="week",a="year";return function(o,r,s){var l=r.prototype;l.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=s(this).startOf(a).add(1,a).date(c),f=s(this).endOf(n);if(d.isBefore(f))return 1}var p=s(this).startOf(a).date(c).startOf(n).subtract(1,"millisecond"),g=this.diff(p,n,!0);return g<0?s(this).startOf("week").week():Math.ceil(g)},l.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}})})(EE);var H9=EE.exports;const K9=Or(H9);var xE={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a){a.prototype.weekYear=function(){var o=this.month(),r=this.week(),s=this.year();return r===1&&o===11?s+1:o===0&&r>=52?s-1:s}}})})(xE);var W9=xE.exports;const j9=Or(W9);var TE={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a,o){a.prototype.dayOfYear=function(r){var s=Math.round((o(this).startOf("day")-o(this).startOf("year"))/864e5)+1;return r==null?s:this.add(r-s,"day")}}})})(TE);var U9=TE.exports;const q9=Or(U9);var OE={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a){a.prototype.isSameOrAfter=function(o,r){return this.isSame(o,r)||this.isAfter(o,r)}}})})(OE);var Y9=OE.exports;const G9=Or(Y9);var _E={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(Tr,function(){return function(n,a){a.prototype.isSameOrBefore=function(o,r){return this.isSame(o,r)||this.isBefore(o,r)}}})})(_E);var X9=_E.exports;const J9=Or(X9);function Z9(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}rt.extend(kk);rt.extend(z9);rt.extend(Vm);rt.extend(K9);rt.extend(j9);rt.extend(q9);rt.extend(G9);rt.extend(J9);var Q9=se({name:"ElDatePickerPanel",install:null,inheritAttrs:!1,props:xH,emits:[at,"calendar-change","panel-change","visible-change","clear"],setup(e,{slots:t,emit:n,attrs:a}){const o=ge("picker-panel");Rt($e("EP_PICKER_BASE",void 0))&&St(Go,{props:Dt({...Pn(e)})}),St(qm,{slots:t,pickerNs:o});const{parsedValue:r,onCalendarChange:s,onPanelChange:l,onSetPickerOption:u,onPick:c}=$e(QC,()=>rk(e,n),!0);return()=>X(V9(e.type),pt(ku(a,"onPick"),e,{parsedValue:r.value,"onSet-picker-option":u,"onCalendar-change":s,"onPanel-change":l,onClear:()=>n("clear"),onPick:c}),Z9(t)?t:{default:()=>[t]})}});const RE=st(Q9),e7=Ee({...Bm,type:{type:G(String),default:"date"}});function t7(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}var n7=se({name:"ElDatePicker",install:null,props:e7,emits:[at],setup(e,{expose:t,emit:n,slots:a}){St(Vu,C(()=>!e.format)),St(Lm,Dt(Ht(e,"popperOptions")));const o=M();t({focus:()=>{o.value?.focus()},blur:()=>{o.value?.blur()},handleOpen:()=>{o.value?.handleOpen()},handleClose:()=>{o.value?.handleClose()}});const r=s=>{n(at,s)};return()=>X(sk,pt(e,{format:e.format??(ZB[e.type]||"YYYY-MM-DD"),type:e.type,ref:o,"onUpdate:modelValue":r}),{default:s=>X(RE,pt({disabled:e.disabled,editable:e.editable,border:!1},s),t7(a)?a:{default:()=>[a]}),"range-separator":a["range-separator"]})}});const a7=st(n7),o7=Ee({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Nn,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number]}}),IE="ElDescriptionsItem",r7=Ee({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number]},align:{type:String,values:Ib,default:"left"},labelAlign:{type:String,values:Ib},className:{type:String,default:""},labelClassName:{type:String,default:""}}),$E=se({name:IE,props:r7}),Qm=Symbol("elDescriptions"),s7=Ee({row:{type:G(Array),default:()=>[]}});var ri=se({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:$e(Qm,{})}},render(){const e=FM(this.cell),t=(this.cell?.dirs||[]).map(v=>{const{dir:m,arg:b,modifiers:w,value:y}=v;return[m,y,b,w]}),{border:n,direction:a}=this.descriptions,o=a==="vertical",r=()=>this.cell?.children?.label?.()||e.label,s=()=>this.cell?.children?.default?.(),l=e.span,u=e.rowspan,c=e.align?`is-${e.align}`:"",d=e.labelAlign?`is-${e.labelAlign}`:c,f=e.className,p=e.labelClassName,g={width:hn(this.type==="label"?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:hn(e.minWidth)},h=ge("descriptions");switch(this.type){case"label":return ct(qe(this.tag,{style:g,class:[h.e("cell"),h.e("label"),h.is("bordered-label",n),h.is("vertical-label",o),d,p],colSpan:o?l:1,rowspan:o?1:u},r()),t);case"content":return ct(qe(this.tag,{style:g,class:[h.e("cell"),h.e("content"),h.is("bordered-content",n),h.is("vertical-content",o),c,f],colSpan:o?l:l*2-1,rowspan:o?u*2-1:u},s()),t);default:{const v=r(),m={},b=hn(e.labelWidth??this.descriptions.labelWidth);return b&&(m.width=b,m.display="inline-block"),ct(qe("td",{style:g,class:[h.e("cell"),c],colSpan:l,rowspan:u},[En(v)?void 0:qe("span",{style:m,class:[h.e("label"),p]},v),qe("span",{class:[h.e("content"),f]},s())]),t)}}}});const l7={key:1};var i7=se({name:"ElDescriptionsRow",__name:"descriptions-row",props:s7,setup(e){const t=$e(Qm,{});return(n,a)=>i(t).direction==="vertical"?(E(),D(Ve,{key:0},[z("tr",null,[(E(!0),D(Ve,null,kt(e.row,(o,r)=>(E(),le(i(ri),{key:`tr1-${r}`,cell:o,tag:"th",type:"label"},null,8,["cell"]))),128))]),z("tr",null,[(E(!0),D(Ve,null,kt(e.row,(o,r)=>(E(),le(i(ri),{key:`tr2-${r}`,cell:o,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(E(),D("tr",l7,[(E(!0),D(Ve,null,kt(e.row,(o,r)=>(E(),D(Ve,{key:`tr3-${r}`},[i(t).border?(E(),D(Ve,{key:0},[X(i(ri),{cell:o,tag:"td",type:"label"},null,8,["cell"]),X(i(ri),{cell:o,tag:"td",type:"content"},null,8,["cell"])],64)):(E(),le(i(ri),{key:1,cell:o,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}}),u7=i7,c7=se({name:"ElDescriptions",__name:"description",props:o7,setup(e){const t=e,n=ge("descriptions"),a=In(),o=wn();St(Qm,t);const r=C(()=>[n.b(),n.m(a.value)]),s=(u,c,d,f=!1)=>(u.props||(u.props={}),c>d&&(u.props.span=d),f&&(u.props.span=c),u),l=()=>{if(!o.default)return[];const u=Aa(o.default()).filter(h=>h?.type?.name===IE),c=[];let d=[],f=t.column,p=0;const g=[];return u.forEach((h,v)=>{var y;const m=h.props?.span||1,b=h.props?.rowspan||1,w=c.length;if(g[w]||(g[w]=0),b>1)for(let S=1;S<b;S++)g[y=w+S]||(g[y]=0),g[w+S]++,p++;if(g[w]>0&&(f-=g[w],g[w]=0),v<u.length-1&&(p+=m>f?f:m),v===u.length-1){const S=t.column-p%t.column;d.push(s(h,S,f,!0)),c.push(d);return}m<f?(f-=m,d.push(h)):(d.push(s(h,m,f)),c.push(d),f=t.column,d=[])}),c};return(u,c)=>(E(),D("div",{class:R(r.value)},[e.title||e.extra||u.$slots.title||u.$slots.extra?(E(),D("div",{key:0,class:R(i(n).e("header"))},[z("div",{class:R(i(n).e("title"))},[oe(u.$slots,"title",{},()=>[wt(Ce(e.title),1)])],2),z("div",{class:R(i(n).e("extra"))},[oe(u.$slots,"extra",{},()=>[wt(Ce(e.extra),1)])],2)],2)):re("v-if",!0),z("div",{class:R(i(n).e("body"))},[z("table",{class:R([i(n).e("table"),i(n).is("bordered",e.border)])},[z("tbody",null,[(E(!0),D(Ve,null,kt(l(),(d,f)=>(E(),le(u7,{key:f,row:d},null,8,["row"]))),128))])],2)],2)],2))}}),d7=c7;const f7=st(d7,{DescriptionsItem:$E}),p7=ln($E),NE=Ee({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:Ut},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),h7={close:()=>!0},ME=Ee({...NE,appendToBody:Boolean,appendTo:{type:G([String,Object]),default:"body"},beforeClose:{type:G(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:G([String,Object]),default:void 0}}),PE={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[at]:e=>Wt(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},v7=Ee({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:G([String,Array,Object])},zIndex:{type:G([String,Number])}}),m7={click:e=>e instanceof MouseEvent},g7="overlay";var b7=se({name:"ElOverlay",props:v7,emits:m7,setup(e,{slots:t,emit:n}){const a=ge(g7),o=u=>{n("click",u)},{onClick:r,onMousedown:s,onMouseup:l}=ym(e.customMaskEvent?void 0:o);return()=>e.mask?X("div",{class:[a.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:r,onMousedown:s,onMouseup:l},[oe(t,"default")],14,["onClick","onMouseup","onMousedown"]):qe("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[oe(t,"default")])}});const eg=b7,AE=Symbol("dialogInjectionKey"),K0="dialog-fade",y7="ElDialog",LE=(e,t)=>{const n=dt().emit,{nextZIndex:a}=Iu();let o="";const r=Gn(),s=Gn(),l=M(!1),u=M(!1),c=M(!1),d=M(e.zIndex??a()),f=M(!1);let p,g;const h=xr(),v=C(()=>h.value?.namespace??"el"),m=C(()=>h.value?.dialog),b=C(()=>{const U={},J=`--${v.value}-dialog`;if(!e.fullscreen){e.top&&(U[`${J}-margin-top`]=e.top);const ee=hn(e.width);ee&&(U[`${J}-width`]=ee)}return U}),w=C(()=>(e.draggable??m.value?.draggable??!1)&&!e.fullscreen),y=C(()=>e.alignCenter??m.value?.alignCenter??!1),S=C(()=>e.overflow??m.value?.overflow??!1),k=C(()=>e.modalPenetrable&&!e.modal&&!e.fullscreen),x=C(()=>y.value?{display:"flex"}:{}),O=C(()=>{const U=e.transition??m.value?.transition??"dialog-fade",J={name:U,onAfterEnter:T,onBeforeLeave:_,onAfterLeave:I};if(ot(U)){const ee={...U},ae=(ce,Z)=>de=>{we(ce)?ce.forEach(ue=>{Fe(ue)&&ue(de)}):Fe(ce)&&ce(de),Z()};return ee.onAfterEnter=ae(ee.onAfterEnter,T),ee.onBeforeLeave=ae(ee.onBeforeLeave,_),ee.onAfterLeave=ae(ee.onAfterLeave,I),ee.name||(ee.name=K0,jt(y7,`transition.name is missing when using object syntax, fallback to '${K0}'`)),ee}return J});function T(){n("opened")}function I(){n("closed"),n(at,!1),e.destroyOnClose&&(c.value=!1),f.value=!1}function _(){f.value=!0,n("close")}function N(){g?.(),p?.(),e.openDelay&&e.openDelay>0?{stop:p}=kl(()=>j(),e.openDelay):j()}function $(){p?.(),g?.(),e.closeDelay&&e.closeDelay>0?{stop:g}=kl(()=>W(),e.closeDelay):W()}function B(){function U(J){J||(u.value=!0,l.value=!1)}e.beforeClose?e.beforeClose(U):$()}function K(){e.closeOnClickModal&&B()}function j(){Lt&&(l.value=!0)}function W(){l.value=!1}function A(){n("openAutoFocus")}function P(){n("closeAutoFocus")}function V(U){U.detail?.focusReason==="pointer"&&U.preventDefault()}e.lockScroll&&of(l);function F(){e.closeOnPressEscape&&B()}function H(){!l.value||!k.value||e.zIndex!==void 0||(d.value=a())}return pe(()=>e.zIndex,()=>{d.value=e.zIndex??a()}),pe(()=>e.modelValue,U=>{U?(u.value=!1,f.value=!1,N(),c.value=!0,d.value=e.zIndex??a(),Ne(()=>{n("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):l.value&&$()}),pe(()=>e.fullscreen,U=>{t.value&&(U?(o=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=o)}),ht(()=>{e.modelValue&&(l.value=!0,c.value=!0,N())}),{afterEnter:T,afterLeave:I,beforeLeave:_,handleClose:B,onModalClick:K,close:$,doClose:W,onOpenAutoFocus:A,onCloseAutoFocus:P,onCloseRequested:F,onFocusoutPrevented:V,bringToFront:H,titleId:r,bodyId:s,closed:u,style:b,overlayDialogStyle:x,rendered:c,visible:l,zIndex:d,transitionConfig:O,_draggable:w,_alignCenter:y,_overflow:S,closing:f,penetrable:k}},tg=(...e)=>t=>{e.forEach(n=>{n.value=t})},w7=["aria-level"],S7=["aria-label"],C7=["id"];var k7=se({name:"ElDialogContent",__name:"dialog-content",props:NE,emits:h7,setup(e,{expose:t}){const{t:n}=xt(),{Close:a}=OC,o=e,{dialogRef:r,headerRef:s,bodyId:l,ns:u,style:c}=$e(AE),{focusTrapRef:d}=$e(BC),f=tg(d,r),p=C(()=>!!o.draggable),{resetPosition:g,updatePosition:h,isDragging:v}=BS(r,s,p,C(()=>!!o.overflow)),m=C(()=>[u.b(),u.is("fullscreen",o.fullscreen),u.is("draggable",p.value),u.is("dragging",v.value),u.is("align-center",!!o.alignCenter),{[u.m("center")]:o.center}]);return t({resetPosition:g,updatePosition:h}),(b,w)=>(E(),D("div",{ref:i(f),class:R(m.value),style:ze(i(c)),tabindex:"-1"},[z("header",{ref_key:"headerRef",ref:s,class:R([i(u).e("header"),e.headerClass,{"show-close":e.showClose}])},[oe(b.$slots,"header",{},()=>[z("span",{role:"heading","aria-level":e.ariaLevel,class:R(i(u).e("title"))},Ce(e.title),11,w7)]),e.showClose?(E(),D("button",{key:0,"aria-label":i(n)("el.dialog.close"),class:R(i(u).e("headerbtn")),type:"button",onClick:w[0]||(w[0]=y=>b.$emit("close"))},[X(i(De),{class:R(i(u).e("close"))},{default:ne(()=>[(E(),le(it(e.closeIcon||i(a))))]),_:1},8,["class"])],10,S7)):re("v-if",!0)],2),z("div",{id:i(l),class:R([i(u).e("body"),e.bodyClass])},[oe(b.$slots,"default")],10,C7),b.$slots.footer?(E(),D("footer",{key:0,class:R([i(u).e("footer"),e.footerClass])},[oe(b.$slots,"footer")],2)):re("v-if",!0)],6))}}),E7=k7;const x7=["aria-label","aria-labelledby","aria-describedby"];var T7=se({name:"ElDialog",inheritAttrs:!1,__name:"dialog",props:ME,emits:PE,setup(e,{expose:t}){const n=e,a=wn();Po({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},C(()=>!!a.title));const o=ge("dialog"),r=M(),s=M(),l=M(),{visible:u,titleId:c,bodyId:d,style:f,overlayDialogStyle:p,rendered:g,transitionConfig:h,zIndex:v,_draggable:m,_alignCenter:b,_overflow:w,penetrable:y,handleClose:S,onModalClick:k,onOpenAutoFocus:x,onCloseAutoFocus:O,onCloseRequested:T,onFocusoutPrevented:I,bringToFront:_,closing:N}=LE(n,r);St(AE,{dialogRef:r,headerRef:s,bodyId:d,ns:o,rendered:g,style:f});const $=ym(k);return t({visible:u,dialogContentRef:l,resetPosition:()=>{l.value?.resetPosition()},handleClose:S}),(K,j)=>(E(),le(Bl,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[X(Yn,pt(i(h),{persisted:""}),{default:ne(()=>[ct(X(i(eg),{"custom-mask-event":"",mask:e.modal,"overlay-class":[e.modalClass??"",`${i(o).namespace.value}-modal-dialog`,i(o).is("penetrable",i(y))],"z-index":i(v)},{default:ne(()=>[z("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(c),"aria-describedby":i(d),class:R([`${i(o).namespace.value}-overlay-dialog`,i(o).is("closing",i(N))]),style:ze(i(p)),onClick:j[0]||(j[0]=(...W)=>i($).onClick&&i($).onClick(...W)),onMousedown:j[1]||(j[1]=(...W)=>i($).onMousedown&&i($).onMousedown(...W)),onMouseup:j[2]||(j[2]=(...W)=>i($).onMouseup&&i($).onMouseup(...W))},[X(i(Ul),{loop:"",trapped:i(u),"focus-start-el":"container",onFocusAfterTrapped:i(x),onFocusAfterReleased:i(O),onFocusoutPrevented:i(I),onReleaseRequested:i(T)},{default:ne(()=>[i(g)?(E(),le(E7,pt({key:0,ref_key:"dialogContentRef",ref:l},K.$attrs,{center:e.center,"align-center":i(b),"close-icon":e.closeIcon,draggable:i(m),overflow:i(w),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:i(S),onMousedown:i(_)}),ma({header:ne(()=>[K.$slots.title?oe(K.$slots,"title",{key:1}):oe(K.$slots,"header",{key:0,close:i(S),titleId:i(c),titleClass:i(o).e("title")})]),default:ne(()=>[oe(K.$slots,"default")]),_:2},[K.$slots.footer?{name:"footer",fn:ne(()=>[oe(K.$slots,"footer")]),key:"0"}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose","onMousedown"])):re("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,x7)]),_:3},8,["mask","overlay-class","z-index"]),[[$t,i(u)]])]),_:3},16)],8,["to","disabled"]))}}),O7=T7;const _7=st(O7),R7=Ee({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:G(String),default:"solid"}});var I7=se({name:"ElDivider",__name:"divider",props:R7,setup(e){const t=e,n=ge("divider"),a=C(()=>n.cssVar({"border-style":t.borderStyle}));return(o,r)=>(E(),D("div",{class:R([i(n).b(),i(n).m(e.direction)]),style:ze(a.value),role:"separator"},[o.$slots.default&&e.direction!=="vertical"?(E(),D("div",{key:0,class:R([i(n).e("text"),i(n).is(e.contentPosition)])},[oe(o.$slots,"default")],2)):re("v-if",!0)],6))}}),$7=I7;const DE=st($7),N7=Ee({...ME,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),M7={...PE,"resize-start":(e,t)=>e instanceof MouseEvent&&typeof t=="number",resize:(e,t)=>e instanceof MouseEvent&&typeof t=="number","resize-end":(e,t)=>e instanceof MouseEvent&&typeof t=="number"};function P7(e,t,n){const{width:a,height:o}=rm(),r=C(()=>["ltr","rtl"].includes(e.direction)),s=C(()=>["ltr","ttb"].includes(e.direction)?1:-1),l=C(()=>r.value?a.value:o.value),u=C(()=>tf(c.value+s.value*d.value,4,l.value)),c=M(0),d=M(0),f=M(!1),p=M(!1);let g=[],h=[];const v=()=>{const S=t.value?.closest('[aria-modal="true"]');return S?r.value?S.offsetWidth:S.offsetHeight:100};pe(()=>[e.size,e.resizable],()=>{p.value=!1,c.value=0,d.value=0,w()});const m=S=>{e.resizable&&(p.value||(c.value=v(),p.value=!0),g=[S.pageX,S.pageY],f.value=!0,n("resize-start",S,c.value),h.push(Bt(window,"mouseup",w),Bt(window,"mousemove",b)))},b=S=>{const{pageX:k,pageY:x}=S,O=k-g[0],T=x-g[1];d.value=r.value?O:T,n("resize",S,u.value)},w=S=>{f.value&&(g=[],c.value=u.value,d.value=0,f.value=!1,h.forEach(k=>k?.()),h=[],S&&n("resize-end",S,c.value))},y=Bt(t,"mousedown",m);return Vt(()=>{y(),w()}),{size:C(()=>p.value?`${u.value}px`:hn(e.size)),isResizing:f,isHorizontal:r}}const A7=["aria-label","aria-labelledby","aria-describedby"],L7=["id","aria-level"],D7=["aria-label"],B7=["id"];var V7=se({name:"ElDrawer",inheritAttrs:!1,__name:"drawer",props:N7,emits:M7,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wn();Po({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},C(()=>!!r.title));const s=M(),l=M(),u=M(),c=ge("drawer"),{t:d}=xt(),{afterEnter:f,afterLeave:p,beforeLeave:g,visible:h,rendered:v,titleId:m,bodyId:b,zIndex:w,onModalClick:y,onOpenAutoFocus:S,onCloseAutoFocus:k,onFocusoutPrevented:x,onCloseRequested:O,handleClose:T}=LE(a,s),{isHorizontal:I,size:_,isResizing:N}=P7(a,u,o),$=C(()=>a.modalPenetrable&&!a.modal);return t({handleClose:T,afterEnter:f,afterLeave:p}),(B,K)=>(E(),le(Bl,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[X(Yn,{name:i(c).b("fade"),onAfterEnter:i(f),onAfterLeave:i(p),onBeforeLeave:i(g),persisted:""},{default:ne(()=>[ct(X(i(eg),{mask:e.modal,"overlay-class":[i(c).is("drawer"),e.modalClass??"",`${i(c).namespace.value}-modal-drawer`,i(c).is("penetrable",$.value)],"z-index":i(w),onClick:i(y)},{default:ne(()=>[X(i(Ul),{loop:"",trapped:i(h),"focus-trap-el":s.value,"focus-start-el":l.value,onFocusAfterTrapped:i(S),onFocusAfterReleased:i(k),onFocusoutPrevented:i(x),onReleaseRequested:i(O)},{default:ne(()=>[z("div",pt({ref_key:"drawerRef",ref:s,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(m),"aria-describedby":i(b)},B.$attrs,{class:[i(c).b(),e.direction,i(h)&&"open",i(c).is("dragging",i(N))],style:{[i(I)?"width":"height"]:i(_)},role:"dialog",onClick:K[1]||(K[1]=Xe(()=>{},["stop"]))}),[z("span",{ref_key:"focusStartRef",ref:l,class:R(i(c).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(E(),D("header",{key:0,class:R([i(c).e("header"),e.headerClass])},[B.$slots.title?oe(B.$slots,"title",{key:1},()=>[re(" DEPRECATED SLOT ")]):oe(B.$slots,"header",{key:0,close:i(T),titleId:i(m),titleClass:i(c).e("title")},()=>[z("span",{id:i(m),role:"heading","aria-level":e.headerAriaLevel,class:R(i(c).e("title"))},Ce(e.title),11,L7)]),e.showClose?(E(),D("button",{key:2,"aria-label":i(d)("el.drawer.close"),class:R(i(c).e("close-btn")),type:"button",onClick:K[0]||(K[0]=(...j)=>i(T)&&i(T)(...j))},[X(i(De),{class:R(i(c).e("close"))},{default:ne(()=>[X(i(Qa))]),_:1},8,["class"])],10,D7)):re("v-if",!0)],2)):re("v-if",!0),i(v)?(E(),D("div",{key:1,id:i(b),class:R([i(c).e("body"),e.bodyClass])},[oe(B.$slots,"default")],10,B7)):re("v-if",!0),B.$slots.footer?(E(),D("div",{key:2,class:R([i(c).e("footer"),e.footerClass])},[oe(B.$slots,"footer")],2)):re("v-if",!0),e.resizable?(E(),D("div",{key:3,ref_key:"draggerRef",ref:u,style:ze({zIndex:i(w)}),class:R(i(c).e("dragger"))},null,6)):re("v-if",!0)],16,A7)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[$t,i(h)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}}),F7=V7;const z7=st(F7),$c=Ee({trigger:{...Bo.trigger,type:G([String,Array])},triggerKeys:{type:G(Array),default:()=>[Se.enter,Se.numpadEnter,Se.space,Se.down]},virtualTriggering:Bo.virtualTriggering,virtualRef:Bo.virtualRef,effect:{...Kt.effect,default:"light"},type:{type:G(String)},placement:{type:G(String),default:"bottom"},popperOptions:{type:G(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:G([Number,String]),default:0},maxHeight:{type:G([Number,String]),default:""},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,disabled:Boolean,role:{type:String,values:_C,default:"menu"},buttonProps:{type:G(Object)},teleported:Kt.teleported,appendTo:Kt.appendTo,persistent:{type:Boolean,default:!0}}),BE=Ee({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Ut}}),H7=Ee({onKeydown:{type:G(Function)}}),Sf=Symbol("elDropdown"),VE="elDropdown";var K7=se({inheritAttrs:!1});function W7(e,t,n,a,o,r){return oe(e.$slots,"default")}var j7=Mn(K7,[["render",W7]]),U7=se({name:"ElCollectionItem",inheritAttrs:!1});function q7(e,t,n,a,o,r){return oe(e.$slots,"default")}var Y7=Mn(U7,[["render",q7]]);const FE="data-el-collection-item",G7=e=>{const t=`El${e}Collection`,n=`${t}Item`,a=Symbol(t),o=Symbol(n);return{COLLECTION_INJECTION_KEY:a,COLLECTION_ITEM_INJECTION_KEY:o,ElCollection:Object.assign({},j7,{name:t,setup(){const r=M(),s=new Map;St(a,{itemMap:s,getItems:()=>{const u=i(r);if(!u)return[];const c=Array.from(u.querySelectorAll(`[${FE}]`));return[...s.values()].sort((d,f)=>c.indexOf(d.ref)-c.indexOf(f.ref))},collectionRef:r})}}),ElCollectionItem:Object.assign({},Y7,{name:n,setup(r,{attrs:s}){const l=M(),u=$e(a,void 0);St(o,{collectionItemRef:l}),ht(()=>{const c=i(l);c&&u.itemMap.set(c,{ref:c,...s})}),Vt(()=>{const c=i(l);u.itemMap.delete(c)})}})}},X7=Ee({style:{type:G([String,Array,Object,Boolean]),default:void 0},currentTabId:{type:G(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:G(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:J7,ElCollectionItem:Z7,COLLECTION_INJECTION_KEY:zE,COLLECTION_ITEM_INJECTION_KEY:Q7}=G7("RovingFocusGroup"),ng=Symbol("elRovingFocusGroup"),HE=Symbol("elRovingFocusGroupItem"),eK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},tK=(e,t)=>e,nK=(e,t,n)=>{const a=tK(qt(e));return eK[a]},aK=(e,t)=>e.map((n,a)=>e[(a+t)%e.length]),W0=e=>{const{activeElement:t}=document;for(const n of e)if(n===t||(n.focus(),t!==document.activeElement))return},j0="currentTabIdChange",U0="rovingFocusGroup.entryFocus",oK={bubbles:!1,cancelable:!0};var rK=se({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:X7,emits:[j0,"entryFocus"],setup(e,{emit:t}){const n=M((e.currentTabId||e.defaultCurrentTabId)??null),a=M(!1),o=M(!1),r=M(),{getItems:s}=$e(zE,void 0),l=C(()=>[{outline:"none"},e.style]),u=v=>{t(j0,v)},c=()=>{a.value=!0},d=Ln(v=>{e.onMousedown?.(v)},()=>{o.value=!0}),f=Ln(v=>{e.onFocus?.(v)},v=>{const m=!i(o),{target:b,currentTarget:w}=v;if(b===w&&m&&!i(a)){const y=new Event(U0,oK);if(w?.dispatchEvent(y),!y.defaultPrevented){const S=s().filter(k=>k.focusable);W0([S.find(k=>k.active),S.find(k=>k.id===i(n)),...S].filter(Boolean).map(k=>k.ref))}}o.value=!1}),p=Ln(v=>{e.onBlur?.(v)},()=>{a.value=!1}),g=(...v)=>{t("entryFocus",...v)},h=v=>{const m=nK(v);if(m){v.preventDefault();let b=s().filter(w=>w.focusable).map(w=>w.ref);switch(m){case"last":b.reverse();break;case"prev":case"next":{m==="prev"&&b.reverse();const w=b.indexOf(v.currentTarget);b=e.loop?aK(b,w+1):b.slice(w+1);break}}Ne(()=>{W0(b)})}};St(ng,{currentTabbedId:gl(n),loop:Ht(e,"loop"),tabIndex:C(()=>i(a)?-1:0),rovingFocusGroupRef:r,rovingFocusGroupRootStyle:l,orientation:Ht(e,"orientation"),dir:Ht(e,"dir"),onItemFocus:u,onItemShiftTab:c,onBlur:p,onFocus:f,onMousedown:d,onKeydown:h}),pe(()=>e.currentTabId,v=>{n.value=v??null}),Bt(r,U0,g)}});function sK(e,t,n,a,o,r){return oe(e.$slots,"default")}var lK=Mn(rK,[["render",sK]]),iK=se({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:J7,ElRovingFocusGroupImpl:lK}});function uK(e,t,n,a,o,r){const s=Mt("el-roving-focus-group-impl"),l=Mt("el-focus-group-collection");return E(),le(l,null,{default:ne(()=>[X(s,sr(ir(e.$attrs)),{default:ne(()=>[oe(e.$slots,"default")]),_:3},16)]),_:3})}var cK=Mn(iK,[["render",uK]]),dK=se({components:{ElRovingFocusCollectionItem:Z7},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,onItemFocus:a,onItemShiftTab:o,onKeydown:r}=$e(ng,void 0),s=Gn(),l=M(),u=Ln(p=>{t("mousedown",p)},p=>{e.focusable?a(i(s)):p.preventDefault()}),c=Ln(p=>{t("focus",p)},()=>{a(i(s))}),d=Ln(p=>{t("keydown",p)},p=>{const{shiftKey:g,target:h,currentTarget:v}=p;if(qt(p)===Se.tab&&g){o();return}h===v&&r(p)}),f=C(()=>n.value===i(s));return St(HE,{rovingFocusGroupItemRef:l,tabIndex:C(()=>i(f)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:s,handleKeydown:d,handleFocus:c,handleMousedown:u}}});function fK(e,t,n,a,o,r){const s=Mt("el-roving-focus-collection-item");return E(),le(s,{id:e.id,focusable:e.focusable,active:e.active},{default:ne(()=>[oe(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var pK=Mn(dK,[["render",fK]]),hK=cK;const{ButtonGroup:vK}=Bn;var mK=se({name:"ElDropdown",components:{ElButton:Bn,ElButtonGroup:vK,ElScrollbar:vo,ElTooltip:Wn,ElRovingFocusGroup:hK,ElOnlyChild:NC,ElIcon:De,ArrowDown:qo},props:$c,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=dt(),a=ge("dropdown"),{t:o}=xt(),r=M(),s=M(),l=M(),u=M(),c=M(null),d=M(null),f=M(!1),p=C(()=>({maxHeight:hn(e.maxHeight)})),g=C(()=>[a.m(S.value)]),h=C(()=>Dn(e.trigger)),v=Gn().value,m=C(()=>e.id||v);function b(){l.value?.onClose(void 0,0)}function w(){l.value?.onClose()}function y(){l.value?.onOpen()}const S=In();function k(...B){t("command",...B)}function x(){}function O(){const B=i(u);h.value.includes("hover")&&B?.focus({preventScroll:!0}),d.value=null}function T(B){d.value=B}function I(){t("visible-change",!0)}function _(B){f.value=B?.type==="keydown",u.value?.focus()}function N(){t("visible-change",!1)}return St(Sf,{contentRef:u,role:C(()=>e.role),triggerId:m,isUsingKeyboard:f,onItemEnter:x,onItemLeave:O,handleClose:w}),St(VE,{instance:n,dropdownSize:S,handleClick:b,commandHandler:k,trigger:Ht(e,"trigger"),hideOnClick:Ht(e,"hideOnClick")}),{t:o,ns:a,scrollbar:c,wrapStyle:p,dropdownTriggerKls:g,dropdownSize:S,triggerId:m,currentTabId:d,handleCurrentTabIdChange:T,handlerMainButtonClick:B=>{t("click",B)},handleClose:w,handleOpen:y,handleBeforeShowTooltip:I,handleShowTooltip:_,handleBeforeHideTooltip:N,popperRef:l,contentRef:u,triggeringElementRef:r,referenceElementRef:s}}});function gK(e,t,n,a,o,r){const s=Mt("el-roving-focus-group"),l=Mt("el-scrollbar"),u=Mt("el-only-child"),c=Mt("el-tooltip"),d=Mt("el-button"),f=Mt("arrow-down"),p=Mt("el-icon"),g=Mt("el-button-group");return E(),D("div",{class:R([e.ns.b(),e.ns.is("disabled",e.disabled)])},[X(c,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"popper-style":e.popperStyle,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":e.trigger==="hover"?e.showTimeout:0,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"virtual-ref":e.virtualRef??e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,"append-to":e.appendTo,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},ma({content:ne(()=>[X(l,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:ne(()=>[X(s,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange},{default:ne(()=>[oe(e.$slots,"dropdown")]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:ne(()=>[X(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:ne(()=>[oe(e.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","placement","popper-class","popper-style","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","append-to","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(E(),le(g,{key:0},{default:ne(()=>[X(d,pt({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:ne(()=>[oe(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),X(d,pt({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:ne(()=>[X(p,{class:R(e.ns.e("icon"))},{default:ne(()=>[X(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):re("v-if",!0)],2)}var bK=Mn(mK,[["render",gK]]),yK=se({name:"DropdownItemImpl",components:{ElIcon:De},props:BE,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=ge("dropdown"),{role:a}=$e(Sf,void 0),{collectionItemRef:o}=$e(Q7,void 0),{rovingFocusGroupItemRef:r,tabIndex:s,handleFocus:l,handleKeydown:u,handleMousedown:c}=$e(HE,void 0),d=tg(o,r),f=C(()=>a.value==="menu"?"menuitem":a.value==="navigation"?"link":"button"),p=Ln(g=>{const h=qt(g);if([Se.enter,Se.numpadEnter,Se.space].includes(h))return g.preventDefault(),g.stopImmediatePropagation(),t("clickimpl",g),!0},u);return{ns:n,itemRef:d,dataset:{[FE]:""},role:f,tabIndex:s,handleFocus:l,handleKeydown:p,handleMousedown:c}}});const wK=["aria-disabled","tabindex","role"];function SK(e,t,n,a,o,r){const s=Mt("el-icon");return E(),D(Ve,null,[e.divided?(E(),D("li",{key:0,role:"separator",class:R(e.ns.bem("menu","item","divided"))},null,2)):re("v-if",!0),z("li",pt({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=l=>e.$emit("clickimpl",l)),onFocus:t[1]||(t[1]=(...l)=>e.handleFocus&&e.handleFocus(...l)),onKeydown:t[2]||(t[2]=Xe((...l)=>e.handleKeydown&&e.handleKeydown(...l),["self"])),onMousedown:t[3]||(t[3]=(...l)=>e.handleMousedown&&e.handleMousedown(...l)),onPointermove:t[4]||(t[4]=l=>e.$emit("pointermove",l)),onPointerleave:t[5]||(t[5]=l=>e.$emit("pointerleave",l))}),[e.icon||e.$slots.icon?(E(),le(s,{key:0},{default:ne(()=>[oe(e.$slots,"icon",{},()=>[(E(),le(it(e.icon)))])]),_:3})):re("v-if",!0),oe(e.$slots,"default")],16,wK)],64)}var CK=Mn(yK,[["render",SK]]);const KE=()=>{const e=$e(VE,{});return{elDropdown:e,_elDropdownSize:C(()=>e?.dropdownSize)}};var kK=se({name:"ElDropdownItem",components:{ElRovingFocusItem:pK,ElDropdownItemImpl:CK},inheritAttrs:!1,props:BE,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:a}=KE(),o=dt(),{onItemEnter:r,onItemLeave:s}=$e(Sf,void 0),l=Ln(c=>(t("pointermove",c),c.defaultPrevented),fy(c=>{if(e.disabled){s(c);return}const d=c.currentTarget;d===document.activeElement||d.contains(document.activeElement)||(r(c),c.defaultPrevented||d?.focus({preventScroll:!0}))})),u=Ln(c=>(t("pointerleave",c),c.defaultPrevented),fy(s));return{handleClick:Ln(c=>{if(!e.disabled)return t("click",c),c.type!=="keydown"&&c.defaultPrevented},c=>{if(e.disabled){c.stopImmediatePropagation();return}a?.hideOnClick?.value&&a.handleClick?.(),a.commandHandler?.(e.command,o,c)}),handlePointerMove:l,handlePointerLeave:u,propsAndAttrs:C(()=>({...e,...n}))}}});function EK(e,t,n,a,o,r){const s=Mt("el-dropdown-item-impl"),l=Mt("el-roving-focus-item");return E(),le(l,{focusable:!e.disabled},{default:ne(()=>[X(s,pt(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),ma({default:ne(()=>[oe(e.$slots,"default")]),_:2},[e.$slots.icon?{name:"icon",fn:ne(()=>[oe(e.$slots,"icon")]),key:"0"}:void 0]),1040,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])}var WE=Mn(kK,[["render",EK]]),xK=se({name:"ElDropdownMenu",props:H7,setup(e){const t=ge("dropdown"),{_elDropdownSize:n}=KE(),a=n.value,{contentRef:o,role:r,triggerId:s,isUsingKeyboard:l,handleClose:u}=$e(Sf,void 0),{rovingFocusGroupRef:c,rovingFocusGroupRootStyle:d,onBlur:f,onFocus:p,onKeydown:g,onMousedown:h}=$e(ng,void 0),{collectionRef:v}=$e(zE,void 0),m=C(()=>[t.b("menu"),t.bm("menu",a?.value)]),b=tg(o,c,v),w=Ln(S=>{e.onKeydown?.(S)},S=>{const{currentTarget:k,target:x}=S,O=qt(S);if(k.contains(x),Se.tab===O)return u();g(S)});function y(S){l.value&&p(S)}return{size:a,rovingFocusGroupRootStyle:d,dropdownKls:m,role:r,triggerId:s,dropdownListWrapperRef:b,handleKeydown:w,onBlur:f,handleFocus:y,onMousedown:h}}});const TK=["role","aria-labelledby"];function OK(e,t,n,a,o,r){return E(),D("ul",{ref:e.dropdownListWrapperRef,class:R(e.dropdownKls),style:ze(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onFocusin:t[0]||(t[0]=(...s)=>e.handleFocus&&e.handleFocus(...s)),onFocusout:t[1]||(t[1]=(...s)=>e.onBlur&&e.onBlur(...s)),onKeydown:t[2]||(t[2]=Xe((...s)=>e.handleKeydown&&e.handleKeydown(...s),["self"])),onMousedown:t[3]||(t[3]=Xe((...s)=>e.onMousedown&&e.onMousedown(...s),["self"]))},[oe(e.$slots,"default")],46,TK)}var jE=Mn(xK,[["render",OK]]);const _K=st(bK,{DropdownItem:WE,DropdownMenu:jE}),RK=ln(WE),IK=ln(jE),$K=Ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),NK={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},MK=["id"],PK=["stop-color"],AK=["stop-color"],LK=["id"],DK=["stop-color"],BK=["stop-color"],VK=["id"],FK={stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},zK={transform:"translate(-1268.000000, -535.000000)"},HK={transform:"translate(1268.000000, 535.000000)"},KK=["fill"],WK=["fill"],jK={transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},UK=["fill"],qK=["fill"],YK=["fill"],GK=["fill"],XK=["fill"],JK={transform:"translate(53.000000, 45.000000)"},ZK=["fill","xlink:href"],QK=["fill","mask"],eW=["fill"];var tW=se({name:"ImgEmpty",__name:"img-empty",setup(e){const t=ge("empty"),n=Gn();return(a,o)=>(E(),D("svg",NK,[z("defs",null,[z("linearGradient",{id:`linearGradient-1-${i(n)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,PK),z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,AK)],8,MK),z("linearGradient",{id:`linearGradient-2-${i(n)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,DK),z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,BK)],8,LK),z("rect",{id:`path-3-${i(n)}`,x:"0",y:"0",width:"17",height:"36"},null,8,VK)]),z("g",FK,[z("g",zK,[z("g",HK,[z("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${i(t).cssVarBlockName("fill-color-3")})`},null,8,KK),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,WK),z("g",jK,[z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,UK),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,qK),z("rect",{fill:`url(#linearGradient-1-${i(n)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,YK),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,GK)]),z("rect",{fill:`url(#linearGradient-2-${i(n)})`,x:"13",y:"45",width:"40",height:"36"},null,8,XK),z("g",JK,[z("use",{fill:`var(${i(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${i(n)}`},null,8,ZK),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${i(n)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,QK)]),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,eW)])])])]))}}),nW=tW;const aW=["src"],oW={key:1};var rW=se({name:"ElEmpty",__name:"empty",props:$K,setup(e){const t=e,{t:n}=xt(),a=ge("empty"),o=C(()=>t.description||n("el.table.emptyText")),r=C(()=>({width:hn(t.imageSize)}));return(s,l)=>(E(),D("div",{class:R(i(a).b())},[z("div",{class:R(i(a).e("image")),style:ze(r.value)},[e.image?(E(),D("img",{key:0,src:e.image,ondragstart:"return false"},null,8,aW)):oe(s.$slots,"image",{key:1},()=>[X(nW)])],6),z("div",{class:R(i(a).e("description"))},[s.$slots.description?oe(s.$slots,"description",{key:0}):(E(),D("p",oW,Ce(o.value),1))],2),s.$slots.default?(E(),D("div",{key:0,class:R(i(a).e("bottom"))},[oe(s.$slots,"default")],2)):re("v-if",!0)],2))}}),sW=rW;const UE=st(sW),lW=Ee({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:G([String,Object])},previewSrcList:{type:G(Array),default:()=>pn([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:G(String)}}),iW={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>Be(e),close:()=>!0,show:()=>!0},uW=Ee({urlList:{type:G(Array),default:()=>pn([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:G(String)}}),cW={close:()=>!0,error:e=>e instanceof Event,switch:e=>Be(e),rotate:e=>Be(e)},dW=["src","crossorigin"];var fW=se({name:"ElImageViewer",__name:"image-viewer",props:uW,emits:cW,setup(e,{expose:t,emit:n}){const a={CONTAIN:{name:"contain",icon:Ya(NP)},ORIGINAL:{name:"original",icon:Ya(cA)}},o=e,r=n;let s;const{t:l}=xt(),u=ge("image-viewer"),{nextZIndex:c}=Iu(),d=M(),f=M(),p=kv(),g=C(()=>{const{scale:ue,minScale:Y,maxScale:Q}=o;return tf(ue,Y,Q)}),h=M(!0),v=M(!1),m=M(!1),b=M(o.initialIndex),w=Tt(a.CONTAIN),y=M({scale:g.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),S=M(o.zIndex??c());of(m,{ns:u});const k=C(()=>{const{urlList:ue}=o;return ue.length<=1}),x=C(()=>b.value===0),O=C(()=>b.value===o.urlList.length-1),T=C(()=>o.urlList[b.value]),I=C(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!o.infinite&&x.value)]),_=C(()=>[u.e("btn"),u.e("next"),u.is("disabled",!o.infinite&&O.value)]),N=C(()=>{const{scale:ue,deg:Y,offsetX:Q,offsetY:L,enableTransition:q}=y.value;let te=Q/ue,fe=L/ue;const he=Y*Math.PI/180,ve=Math.cos(he),Ie=Math.sin(he);te=te*ve+fe*Ie,fe=fe*ve-Q/ue*Ie;const Le={transform:`scale(${ue}) rotate(${Y}deg) translate(${te}px, ${fe}px)`,transition:q?"transform .3s":""};return w.value.name===a.CONTAIN.name&&(Le.maxWidth=Le.maxHeight="100%"),Le}),$=C(()=>`${b.value+1} / ${o.urlList.length}`);function B(){j(),s?.(),m.value=!1,r("close")}function K(){const ue=Fr(Q=>{switch(qt(Q)){case Se.esc:o.closeOnPressEscape&&B();break;case Se.space:H();break;case Se.left:J();break;case Se.up:ae("zoomIn");break;case Se.right:ee();break;case Se.down:ae("zoomOut");break}}),Y=Fr(Q=>{ae((Q.deltaY||Q.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:o.zoomRate,enableTransition:!1})});p.run(()=>{Bt(document,"keydown",ue),Bt(d,"wheel",Y)})}function j(){p.stop()}function W(){h.value=!1}function A(ue){v.value=!0,h.value=!1,r("error",ue),ue.target.alt=l("el.image.error")}function P(ue){if(h.value||ue.button!==0||!d.value)return;y.value.enableTransition=!1;const{offsetX:Y,offsetY:Q}=y.value,L=ue.pageX,q=ue.pageY,te=Fr(ve=>{y.value={...y.value,offsetX:Y+ve.pageX-L,offsetY:Q+ve.pageY-q}}),fe=Bt(document,"mousemove",te),he=Bt(document,"mouseup",()=>{fe(),he()});ue.preventDefault()}function V(ue){if(h.value||!d.value||ue.touches.length!==1)return;y.value.enableTransition=!1;const{offsetX:Y,offsetY:Q}=y.value,{pageX:L,pageY:q}=ue.touches[0],te=Fr(ve=>{const Ie=ve.touches[0];y.value={...y.value,offsetX:Y+Ie.pageX-L,offsetY:Q+Ie.pageY-q}}),fe=Bt(document,"touchmove",te),he=Bt(document,"touchend",()=>{fe(),he()});ue.preventDefault()}function F(){y.value={scale:g.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function H(){if(h.value||v.value)return;const ue=Ji(a),Y=Object.values(a),Q=w.value.name;w.value=a[ue[(Y.findIndex(L=>L.name===Q)+1)%ue.length]],F()}function U(ue){v.value=!1;const Y=o.urlList.length;b.value=(ue+Y)%Y}function J(){x.value&&!o.infinite||U(b.value-1)}function ee(){O.value&&!o.infinite||U(b.value+1)}function ae(ue,Y={}){if(h.value||v.value)return;const{minScale:Q,maxScale:L}=o,{zoomRate:q,rotateDeg:te,enableTransition:fe}={zoomRate:o.zoomRate,rotateDeg:90,enableTransition:!0,...Y};switch(ue){case"zoomOut":y.value.scale>Q&&(y.value.scale=Number.parseFloat((y.value.scale/q).toFixed(3)));break;case"zoomIn":y.value.scale<L&&(y.value.scale=Number.parseFloat((y.value.scale*q).toFixed(3)));break;case"clockwise":y.value.deg+=te,r("rotate",y.value.deg);break;case"anticlockwise":y.value.deg-=te,r("rotate",y.value.deg);break}y.value.enableTransition=fe}function ce(ue){ue.detail?.focusReason==="pointer"&&ue.preventDefault()}function Z(){o.closeOnPressEscape&&B()}function de(ue){if(ue.ctrlKey){if(ue.deltaY<0)return ue.preventDefault(),!1;if(ue.deltaY>0)return ue.preventDefault(),!1}}return pe(()=>g.value,ue=>{y.value.scale=ue}),pe(T,()=>{Ne(()=>{f.value?.complete||(h.value=!0)})}),pe(b,ue=>{F(),r("switch",ue)}),ht(()=>{m.value=!0,K(),s=Bt("wheel",de,{passive:!1})}),t({setActiveItem:U}),(ue,Y)=>(E(),le(Bl,{to:"body",disabled:!e.teleported},[X(Yn,{name:"viewer-fade",appear:""},{default:ne(()=>[z("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:R(i(u).e("wrapper")),style:ze({zIndex:S.value})},[X(i(Ul),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:ce,onReleaseRequested:Z},{default:ne(()=>[z("div",{class:R(i(u).e("mask")),onClick:Y[0]||(Y[0]=Xe(Q=>e.hideOnClickModal&&B(),["self"]))},null,2),re(" CLOSE "),z("span",{class:R([i(u).e("btn"),i(u).e("close")]),onClick:B},[X(i(De),null,{default:ne(()=>[X(i(Qa))]),_:1})],2),re(" ARROW "),k.value?re("v-if",!0):(E(),D(Ve,{key:0},[z("span",{class:R(I.value),onClick:J},[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1})],2),z("span",{class:R(_.value),onClick:ee},[X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})],2)],64)),ue.$slots.progress||e.showProgress?(E(),D("div",{key:1,class:R([i(u).e("btn"),i(u).e("progress")])},[oe(ue.$slots,"progress",{activeIndex:b.value,total:e.urlList.length},()=>[wt(Ce($.value),1)])],2)):re("v-if",!0),re(" ACTIONS "),z("div",{class:R([i(u).e("btn"),i(u).e("actions")])},[z("div",{class:R(i(u).e("actions__inner"))},[oe(ue.$slots,"toolbar",{actions:ae,prev:J,next:ee,reset:H,activeIndex:b.value,setActiveItem:U},()=>[X(i(De),{onClick:Y[1]||(Y[1]=Q=>ae("zoomOut"))},{default:ne(()=>[X(i(LA))]),_:1}),X(i(De),{onClick:Y[2]||(Y[2]=Q=>ae("zoomIn"))},{default:ne(()=>[X(i(TC))]),_:1}),z("i",{class:R(i(u).e("actions__divider"))},null,2),X(i(De),{onClick:H},{default:ne(()=>[(E(),le(it(w.value.icon)))]),_:1}),z("i",{class:R(i(u).e("actions__divider"))},null,2),X(i(De),{onClick:Y[3]||(Y[3]=Q=>ae("anticlockwise"))},{default:ne(()=>[X(i(rA))]),_:1}),X(i(De),{onClick:Y[4]||(Y[4]=Q=>ae("clockwise"))},{default:ne(()=>[X(i(lA))]),_:1})])],2)],2),re(" CANVAS "),z("div",{class:R(i(u).e("canvas"))},[v.value&&ue.$slots["viewer-error"]?oe(ue.$slots,"viewer-error",{key:0,activeIndex:b.value,src:T.value}):(E(),D("img",{ref_key:"imgRef",ref:f,key:T.value,src:T.value,style:ze(N.value),class:R(i(u).e("img")),crossorigin:e.crossorigin,onLoad:W,onError:A,onMousedown:P,onTouchstart:V},null,46,dW))],2),oe(ue.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})],8,["disabled"]))}}),pW=fW;const qE=st(pW),hW=["src","loading","crossorigin"],vW={key:0};var mW=se({name:"ElImage",inheritAttrs:!1,__name:"image",props:lW,emits:iW,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:r}=xt(),s=ge("image"),l=wr(),u=C(()=>Cl(Object.entries(l).filter(([A])=>/^(data-|on[A-Z])/i.test(A)||["id","style"].includes(A)))),c=ef({excludeListeners:!0,excludeKeys:C(()=>Object.keys(u.value))}),d=M(),f=M(!1),p=M(!0),g=M(!1),h=M(),v=M(),m=Lt&&"loading"in HTMLImageElement.prototype;let b;const w=C(()=>[s.e("inner"),S.value&&s.e("preview"),p.value&&s.is("loading")]),y=C(()=>{const{fit:A}=a;return Lt&&A?{objectFit:A}:{}}),S=C(()=>{const{previewSrcList:A}=a;return we(A)&&A.length>0}),k=C(()=>{const{previewSrcList:A,initialIndex:P}=a;let V=P;return P>A.length-1&&(V=0),V}),x=C(()=>a.loading==="eager"?!1:!m&&a.loading==="lazy"||a.lazy),O=()=>{Lt&&(p.value=!0,f.value=!1,d.value=a.src)};function T(A){p.value=!1,f.value=!1,o("load",A)}function I(A){p.value=!1,f.value=!0,o("error",A)}function _(A){A&&(O(),B())}const N=IS(_,200,!0);async function $(){if(!Lt)return;await Ne();const{scrollContainer:A}=a;if(ka(A))v.value=A;else if(Ae(A)&&A!=="")v.value=document.querySelector(A)??void 0;else if(h.value){const V=um(h.value);v.value=Eu(V)?void 0:V}const{stop:P}=y8(h,([V])=>{N(V.isIntersecting)},{root:v});b=P}function B(){!Lt||!N||(b?.(),v.value=void 0,b=void 0)}function K(){S.value&&(g.value=!0,o("show"))}function j(){g.value=!1,o("close")}function W(A){o("switch",A)}return pe(()=>a.src,()=>{x.value?(p.value=!0,f.value=!1,B(),$()):O()}),ht(()=>{x.value?$():O()}),t({showPreview:K}),(A,P)=>(E(),D("div",pt({ref_key:"container",ref:h},u.value,{class:[i(s).b(),A.$attrs.class]}),[f.value?oe(A.$slots,"error",{key:0},()=>[z("div",{class:R(i(s).e("error"))},Ce(i(r)("el.image.error")),3)]):(E(),D(Ve,{key:1},[d.value!==void 0?(E(),D("img",pt({key:0},i(c),{src:d.value,loading:e.loading,style:y.value,class:w.value,crossorigin:e.crossorigin,onClick:K,onLoad:T,onError:I}),null,16,hW)):re("v-if",!0),p.value?(E(),D("div",{key:1,class:R(i(s).e("wrapper"))},[oe(A.$slots,"placeholder",{},()=>[z("div",{class:R(i(s).e("placeholder"))},null,2)])],2)):re("v-if",!0)],64)),S.value?(E(),D(Ve,{key:2},[g.value?(E(),le(i(qE),{key:0,"z-index":e.zIndex,"initial-index":k.value,infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:j,onSwitch:W},ma({toolbar:ne(V=>[oe(A.$slots,"toolbar",sr(ir(V)))]),default:ne(()=>[A.$slots.viewer?(E(),D("div",vW,[oe(A.$slots,"viewer")])):re("v-if",!0)]),_:2},[A.$slots.progress?{name:"progress",fn:ne(V=>[oe(A.$slots,"progress",sr(ir(V)))]),key:"0"}:void 0,A.$slots["viewer-error"]?{name:"viewer-error",fn:ne(V=>[oe(A.$slots,"viewer-error",sr(ir(V)))]),key:"1"}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):re("v-if",!0)],64)):re("v-if",!0)],16))}}),gW=mW;const bW=st(gW),yW=Ee({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:{type:Boolean,default:void 0},size:Nn,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:G([String,Number,null]),validator:e=>e===null||Be(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...ia(["ariaLabel"]),inputmode:{type:G(String),default:void 0},align:{type:G(String),default:"center"},disabledScientific:Boolean,formatter:{type:Function},parser:{type:Function},tabindex:{type:[String,Number],default:0}}),wW={[yt]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Tn]:e=>Be(e)||En(e),[at]:e=>Be(e)||En(e)},SW=["aria-label"],CW=["aria-label"];var kW=se({name:"ElInputNumber",__name:"input-number",props:yW,emits:wW,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:r}=xt(),s=ge("input-number"),l=M(),u=Dt({currentValue:a.modelValue,userInput:null}),{formItem:c}=Fn(),d=C(()=>Be(a.modelValue)&&a.modelValue<=a.min),f=C(()=>Be(a.modelValue)&&a.modelValue>=a.max),p=C(()=>{const A=w(a.step);return Rt(a.precision)?Math.max(w(a.modelValue),A):(A>a.precision&&jt("InputNumber","precision should not be less than the decimal places of step"),a.precision)}),g=C(()=>a.controls&&a.controlsPosition==="right"),h=In(),v=un(),m=C(()=>{if(u.userInput!==null)return u.userInput;let A=u.currentValue;if(En(A))return"";if(Be(A)){if(Number.isNaN(A))return"";Rt(a.precision)||(A=A.toFixed(a.precision))}return A}),b=(A,P)=>{if(Rt(P)&&(P=p.value),P===0)return Math.round(A);let V=String(A);const F=V.indexOf(".");if(F===-1||!V.replace(".","").split("")[F+P])return A;const H=V.length;return V.charAt(H-1)==="5"&&(V=`${V.slice(0,Math.max(0,H-1))}6`),Number.parseFloat(Number(V).toFixed(P))},w=A=>{if(En(A))return 0;const P=A.toString(),V=P.indexOf(".");let F=0;return V!==-1&&(F=P.length-V-1),F},y=(A,P=1)=>Be(A)?A>=Number.MAX_SAFE_INTEGER&&P===1?(jt("InputNumber","The value has reached the maximum safe integer limit."),A):A<=Number.MIN_SAFE_INTEGER&&P===-1?(jt("InputNumber","The value has reached the minimum safe integer limit."),A):b(A+a.step*P):u.currentValue,S=A=>{const P=qt(A),V=HS(A);if(a.disabledScientific&&["e","E"].includes(V)){A.preventDefault();return}switch(P){case Se.up:A.preventDefault(),k();break;case Se.down:A.preventDefault(),x();break}},k=()=>{a.readonly||v.value||f.value||(T(y(Number(m.value)||0)),o(Tn,u.currentValue),j())},x=()=>{a.readonly||v.value||d.value||(T(y(Number(m.value)||0,-1)),o(Tn,u.currentValue),j())},O=(A,P)=>{const{max:V,min:F,step:H,precision:U,stepStrictly:J,valueOnClear:ee}=a;V<F&&sn("InputNumber","min should not be greater than max.");let ae=A?Number.parseFloat(String(A)):Number(A);if(En(A)||Number.isNaN(ae))return null;if(A===""){if(ee===null)return null;ae=Ae(ee)?{min:F,max:V}[ee]:ee}return J&&(ae=b(Math.round(b(ae/H))*H,U),ae!==A&&P&&o("update:modelValue",ae)),Rt(U)||(ae=b(ae,U)),(ae>V||ae<F)&&(ae=ae>V?V:F,P&&o("update:modelValue",ae)),ae},T=(A,P=!0)=>{const V=u.currentValue,F=O(A);if(!P){o(at,F);return}u.userInput=null,!(V===F&&A)&&(o(at,F),V!==F&&o(yt,F,V),a.validateEvent&&c?.validate?.("change").catch(ut),u.currentValue=F)},I=A=>{u.userInput=A;let P=A===""?null:Number.parseFloat(A);Number.isNaN(P)&&(P=null),o(Tn,P),T(P,!1)},_=A=>{const P=A!==""?Number.parseFloat(A):"";(Be(P)&&!Number.isNaN(P)||a.formatter&&Number.isNaN(P)||P==="")&&T(P),j(),u.userInput=null},N=()=>{l.value?.focus?.()},$=()=>{l.value?.blur?.()},B=A=>{o("focus",A)},K=A=>{u.userInput=null,u.currentValue===null&&l.value?.input&&(l.value.input.value=a.formatter?.("")??""),o("blur",A),a.validateEvent&&c?.validate?.("blur").catch(ut)},j=()=>{u.currentValue!==a.modelValue&&(u.currentValue=a.modelValue)},W=A=>{document.activeElement===A.target&&A.preventDefault()};return pe(()=>a.modelValue,(A,P)=>{const V=O(A,!0);u.userInput===null&&V!==P&&(u.currentValue=V)},{immediate:!0}),pe(()=>a.precision,()=>{u.currentValue=O(a.modelValue)}),ht(()=>{const{min:A,max:P,modelValue:V}=a,F=l.value?.input;if(F.setAttribute("role","spinbutton"),Number.isFinite(P)?F.setAttribute("aria-valuemax",String(P)):F.removeAttribute("aria-valuemax"),Number.isFinite(A)?F.setAttribute("aria-valuemin",String(A)):F.removeAttribute("aria-valuemin"),F.setAttribute("aria-valuenow",u.currentValue||u.currentValue===0?String(u.currentValue):""),F.setAttribute("aria-disabled",String(v.value)),!Be(V)&&V!=null){let H=Number(V);Number.isNaN(H)&&(H=null),o(at,H)}F.addEventListener("wheel",W,{passive:!1})}),bo(()=>{l.value?.input?.setAttribute("aria-valuenow",`${u.currentValue??""}`)}),t({focus:N,blur:$}),(A,P)=>(E(),D("div",{class:R([i(s).b(),i(s).m(i(h)),i(s).is("disabled",i(v)),i(s).is("without-controls",!e.controls),i(s).is("controls-right",g.value),i(s).is(e.align,!!e.align)]),onDragstart:P[0]||(P[0]=Xe(()=>{},["prevent"]))},[e.controls?ct((E(),D("span",{key:0,role:"button","aria-label":i(r)("el.inputNumber.decrease"),class:R([i(s).e("decrease"),i(s).is("disabled",d.value)]),onKeydown:dn(x,["enter"])},[oe(A.$slots,"decrease-icon",{},()=>[X(i(De),null,{default:ne(()=>[g.value?(E(),le(i(qo),{key:0})):(E(),le(i(KP),{key:1}))]),_:1})])],42,SW)),[[i(sd),x]]):re("v-if",!0),e.controls?ct((E(),D("span",{key:1,role:"button","aria-label":i(r)("el.inputNumber.increase"),class:R([i(s).e("increase"),i(s).is("disabled",f.value)]),onKeydown:dn(k,["enter"])},[oe(A.$slots,"increase-icon",{},()=>[X(i(De),null,{default:ne(()=>[g.value?(E(),le(i(ff),{key:0})):(E(),le(i(EC),{key:1}))]),_:1})])],42,CW)),[[i(sd),k]]):re("v-if",!0),X(i(Un),{id:e.id,ref_key:"input",ref:l,type:e.formatter?"text":"number",step:e.step,"model-value":m.value,placeholder:e.placeholder,readonly:e.readonly,disabled:i(v),size:i(h),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,formatter:e.formatter,parser:e.parser,tabindex:e.tabindex,onKeydown:S,onBlur:K,onFocus:B,onInput:I,onChange:_},ma({_:2},[A.$slots.prefix?{name:"prefix",fn:ne(()=>[oe(A.$slots,"prefix")]),key:"0"}:void 0,A.$slots.suffix?{name:"suffix",fn:ne(()=>[oe(A.$slots,"suffix")]),key:"1"}:void 0]),1032,["id","type","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode","formatter","parser","tabindex"])],34))}}),EW=kW;const YE=st(EW),xW=Ee({modelValue:{type:G(Array)},max:Number,tagType:{...gr.type,default:"info"},tagEffect:gr.effect,effect:{type:G(String),default:"light"},trigger:{type:G(String),default:Se.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:""},size:Nn,clearable:Boolean,clearIcon:{type:Ut,default:Yo},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:G(String),default:"off"},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),TW={[at]:e=>we(e)||Rt(e),[yt]:e=>we(e)||Rt(e),[Tn]:e=>Ae(e),"add-tag":e=>Ae(e)||we(e),"remove-tag":(e,t)=>Ae(e)&&Be(t),"drag-tag":(e,t,n)=>Be(e)&&Be(t)&&Ae(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function OW({wrapperRef:e,handleDragged:t,afterDragged:n}){const a=ge("input-tag"),o=Tt(),r=M(!1);let s,l,u,c;function d(h){return`.${a.e("inner")} .${a.namespace.value}-tag:nth-child(${h+1})`}function f(h,v){s=v,l=e.value.querySelector(d(v)),l&&(l.style.opacity="0.5"),h.dataTransfer.effectAllowed="move"}function p(h,v){if(u=v,h.preventDefault(),h.dataTransfer.dropEffect="move",Rt(s)||s===v){r.value=!1;return}const m=e.value.querySelector(d(v)).getBoundingClientRect(),b=s+1!==v,w=s-1!==v,y=h.clientX-m.left,S=b?w?.5:1:-1,k=w?b?.5:0:1;y<=m.width*S?c="before":y>m.width*k?c="after":c=void 0;const x=e.value.querySelector(`.${a.e("inner")}`),O=x.getBoundingClientRect(),T=Number.parseFloat(or(x,"gap"))/2,I=m.top-O.top;let _=-9999;if(c==="before")_=Math.max(m.left-O.left-T,Math.floor(-T/2));else if(c==="after"){const N=m.right-O.left;_=N+(O.width===N?Math.floor(T/2):T)}DS(o.value,{top:`${I}px`,left:`${_}px`}),r.value=!!c}function g(h){h.preventDefault(),l&&(l.style.opacity=""),c&&!Rt(s)&&!Rt(u)&&s!==u&&t(s,u,c),r.value=!1,s=void 0,l=null,u=void 0,c=void 0,n?.()}return{dropIndicatorRef:o,showDropIndicator:r,handleDragStart:f,handleDragOver:p,handleDragEnd:g}}function _W(){const e=M(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function RW({props:e,emit:t,formItem:n}){const a=un(),o=In(),r=Tt(),s=M(),l=M(),u=C(()=>["small"].includes(o.value)?"small":"default"),c=C(()=>e.modelValue?.length?void 0:e.placeholder),d=C(()=>!(e.readonly||a.value)),f=C(()=>Rt(e.max)?!1:(e.modelValue?.length??0)>=e.max),p=C(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),g=C(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),h=W=>{const A=[...e.modelValue??[],...Dn(W)];t(at,A),t(yt,A),t("add-tag",W),s.value=void 0},v=W=>{const A=W.split(e.delimiter),P=A.length>1?A.map(V=>V.trim()).filter(Boolean):[];if(e.max){const V=e.max-(e.modelValue?.length??0);P.splice(V)}return P.length===1?P[0]:P},m=W=>{const A=W.clipboardData?.getData("text");if(e.readonly||f.value||!e.delimiter||!A)return;const{selectionStart:P=0,selectionEnd:V=0,value:F}=W.target,H=F.slice(0,P)+A+F.slice(V),U=v(H);U.length&&(h(U),t(Tn,H),W.preventDefault())},b=W=>{if(f.value){s.value=void 0;return}if(!$.value){if(e.delimiter&&s.value){const A=v(s.value);A.length&&h(A)}t(Tn,W.target.value)}},w=W=>{if(!$.value)switch(qt(W)){case e.trigger:W.preventDefault(),W.stopPropagation(),S();break;case Se.numpadEnter:e.trigger===Se.enter&&(W.preventDefault(),W.stopPropagation(),S());break;case Se.backspace:!s.value&&e.modelValue?.length&&(W.preventDefault(),W.stopPropagation(),k(e.modelValue.length-1));break}},y=W=>{if(!($.value||!AS()))switch(qt(W)){case Se.space:e.trigger===Se.space&&(W.preventDefault(),W.stopPropagation(),S());break}},S=()=>{const W=s.value?.trim();!W||f.value||h(W)},k=W=>{const A=(e.modelValue??[]).slice(),[P]=A.splice(W,1);t(at,A),t(yt,A),t("remove-tag",P,W)},x=()=>{s.value=void 0,t(at,void 0),t(yt,void 0),t("clear")},O=(W,A,P)=>{const V=(e.modelValue??[]).slice(),[F]=V.splice(W,1),H=A>W&&P==="before"?-1:A<W&&P==="after"?1:0;V.splice(A+H,0,F),t(at,V),t(yt,V),t("drag-tag",W,A+H,F)},T=()=>{r.value?.focus()},I=()=>{r.value?.blur()},{wrapperRef:_,isFocused:N}=Er(r,{disabled:a,beforeBlur(W){return l.value?.isFocusInsideContent(W)},afterBlur(){e.saveOnBlur?S():s.value=void 0,e.validateEvent&&n?.validate?.("blur").catch(ut)}}),{isComposing:$,handleCompositionStart:B,handleCompositionUpdate:K,handleCompositionEnd:j}=Pu({afterComposition:b});return pe(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(yt).catch(ut)}),{inputRef:r,wrapperRef:_,tagTooltipRef:l,isFocused:N,isComposing:$,inputValue:s,size:o,tagSize:u,placeholder:c,closable:d,disabled:a,inputLimit:f,showTagList:p,collapseTagList:g,handleDragged:O,handlePaste:m,handleInput:b,handleKeydown:w,handleKeyup:y,handleAddTag:S,handleRemoveTag:k,handleClear:x,handleCompositionStart:B,handleCompositionUpdate:K,handleCompositionEnd:j,focus:T,blur:I}}function IW({props:e,isFocused:t,hovering:n,disabled:a,inputValue:o,size:r,validateState:s,validateIcon:l,needStatusIcon:u}){const c=wr(),d=wn(),f=ge("input-tag"),p=ge("input"),g=M(),h=M(),v=C(()=>[f.b(),f.is("focused",t.value),f.is("hovering",n.value),f.is("disabled",a.value),f.m(r.value),f.e("wrapper"),c.class]),m=C(()=>[c.style]),b=C(()=>[f.e("inner"),f.is("draggable",e.draggable),f.is("left-space",!e.modelValue?.length&&!d.prefix),f.is("right-space",!e.modelValue?.length&&!y.value)]),w=C(()=>e.clearable&&!a.value&&!e.readonly&&(e.modelValue?.length||o.value)&&(t.value||n.value)),y=C(()=>d.suffix||w.value||s.value&&l.value&&u.value),S=Dt({innerWidth:0,collapseItemWidth:0}),k=()=>{if(!h.value)return 0;const I=window.getComputedStyle(h.value);return Number.parseFloat(I.gap||"6px")},x=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(h.value).width)},O=()=>{S.collapseItemWidth=g.value.getBoundingClientRect().width},T=C(()=>{if(!e.collapseTags)return{};const I=k(),_=I+11,N=g.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-I-_:S.innerWidth-_;return{maxWidth:`${Math.max(N,0)}px`}});return an(h,x),an(g,O),{ns:f,nsInput:p,containerKls:v,containerStyle:m,innerKls:b,showClear:w,showSuffix:y,tagStyle:T,collapseItemRef:g,innerRef:h}}const $W=["id","minlength","maxlength","disabled","readonly","autocomplete","tabindex","placeholder","autofocus","ariaLabel"],NW=["textContent"];var MW=se({name:"ElInputTag",inheritAttrs:!1,__name:"input-tag",props:xW,emits:TW,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ef(),s=wn(),{form:l,formItem:u}=Fn(),{inputId:c}=_a(a,{formItemContext:u}),d=C(()=>l?.statusIcon??!1),f=C(()=>u?.validateState||""),p=C(()=>f.value&&hf[f.value]),{inputRef:g,wrapperRef:h,tagTooltipRef:v,isFocused:m,inputValue:b,size:w,tagSize:y,placeholder:S,closable:k,disabled:x,showTagList:O,collapseTagList:T,handleDragged:I,handlePaste:_,handleInput:N,handleKeydown:$,handleKeyup:B,handleRemoveTag:K,handleClear:j,handleCompositionStart:W,handleCompositionUpdate:A,handleCompositionEnd:P,focus:V,blur:F}=RW({props:a,emit:o,formItem:u}),{hovering:H,handleMouseEnter:U,handleMouseLeave:J}=_W(),{calculatorRef:ee,inputStyle:ae}=sm(),{dropIndicatorRef:ce,showDropIndicator:Z,handleDragStart:de,handleDragOver:ue,handleDragEnd:Y}=OW({wrapperRef:h,handleDragged:I,afterDragged:V}),{ns:Q,nsInput:L,containerKls:q,containerStyle:te,innerKls:fe,showClear:he,showSuffix:ve,tagStyle:Ie,collapseItemRef:Le,innerRef:_e}=IW({props:a,hovering:H,isFocused:m,inputValue:b,disabled:x,size:w,validateState:f,validateIcon:p,needStatusIcon:d});return t({focus:V,blur:F}),(ye,Te)=>(E(),D("div",{ref_key:"wrapperRef",ref:h,class:R(i(q)),style:ze(i(te)),onMouseenter:Te[9]||(Te[9]=(...be)=>i(U)&&i(U)(...be)),onMouseleave:Te[10]||(Te[10]=(...be)=>i(J)&&i(J)(...be))},[i(s).prefix?(E(),D("div",{key:0,class:R(i(Q).e("prefix"))},[oe(ye.$slots,"prefix")],2)):re("v-if",!0),z("div",{ref_key:"innerRef",ref:_e,class:R(i(fe))},[(E(!0),D(Ve,null,kt(i(O),(be,Pe)=>(E(),le(i(cr),{key:Pe,size:i(y),closable:i(k),type:e.tagType,effect:e.tagEffect,draggable:i(k)&&e.draggable,style:ze(i(Ie)),"disable-transitions":"",onClose:He=>i(K)(Pe),onDragstart:He=>i(de)(He,Pe),onDragover:He=>i(ue)(He,Pe),onDragend:i(Y),onDrop:Te[0]||(Te[0]=Xe(()=>{},["stop"]))},{default:ne(()=>[oe(ye.$slots,"tag",{value:be,index:Pe},()=>[wt(Ce(be),1)])]),_:2},1032,["size","closable","type","effect","draggable","style","onClose","onDragstart","onDragover","onDragend"]))),128)),e.collapseTags&&e.modelValue&&e.modelValue.length>e.maxCollapseTags?(E(),le(i(Wn),{key:0,ref_key:"tagTooltipRef",ref:v,disabled:!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom"},{default:ne(()=>[z("div",{ref_key:"collapseItemRef",ref:Le,class:R(i(Q).e("collapse-tag"))},[X(i(cr),{closable:!1,size:i(y),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ne(()=>[wt(" + "+Ce(e.modelValue.length-e.maxCollapseTags),1)]),_:1},8,["size","type","effect"])],2)]),content:ne(()=>[z("div",{class:R(i(Q).e("input-tag-list"))},[(E(!0),D(Ve,null,kt(i(T),(be,Pe)=>(E(),le(i(cr),{key:Pe,size:i(y),closable:i(k),type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:He=>i(K)(Pe+e.maxCollapseTags)},{default:ne(()=>[oe(ye.$slots,"tag",{value:be,index:Pe+e.maxCollapseTags},()=>[wt(Ce(be),1)])]),_:2},1032,["size","closable","type","effect","onClose"]))),128))],2)]),_:3},8,["disabled","effect"])):re("v-if",!0),z("div",{class:R(i(Q).e("input-wrapper"))},[ct(z("input",pt({id:i(c),ref_key:"inputRef",ref:g,"onUpdate:modelValue":Te[1]||(Te[1]=be=>Gt(b)?b.value=be:null)},i(r),{type:"text",minlength:e.minlength,maxlength:e.maxlength,disabled:i(x),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,placeholder:i(S),autofocus:e.autofocus,ariaLabel:e.ariaLabel,class:i(Q).e("input"),style:i(ae),onCompositionstart:Te[2]||(Te[2]=(...be)=>i(W)&&i(W)(...be)),onCompositionupdate:Te[3]||(Te[3]=(...be)=>i(A)&&i(A)(...be)),onCompositionend:Te[4]||(Te[4]=(...be)=>i(P)&&i(P)(...be)),onPaste:Te[5]||(Te[5]=(...be)=>i(_)&&i(_)(...be)),onInput:Te[6]||(Te[6]=(...be)=>i(N)&&i(N)(...be)),onKeydown:Te[7]||(Te[7]=(...be)=>i($)&&i($)(...be)),onKeyup:Te[8]||(Te[8]=(...be)=>i(B)&&i(B)(...be))}),null,16,$W),[[_2,i(b)]]),z("span",{ref_key:"calculatorRef",ref:ee,"aria-hidden":"true",class:R(i(Q).e("input-calculator")),textContent:Ce(i(b))},null,10,NW)],2),ct(z("div",{ref_key:"dropIndicatorRef",ref:ce,class:R(i(Q).e("drop-indicator"))},null,2),[[$t,i(Z)]])],2),i(ve)?(E(),D("div",{key:1,class:R(i(Q).e("suffix"))},[oe(ye.$slots,"suffix"),i(he)?(E(),le(i(De),{key:0,class:R([i(Q).e("icon"),i(Q).e("clear")]),onMousedown:Xe(i(ut),["prevent"]),onClick:i(j)},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class","onMousedown","onClick"])):re("v-if",!0),f.value&&p.value&&d.value?(E(),le(i(De),{key:1,class:R([i(L).e("icon"),i(L).e("validateIcon"),i(L).is("loading",f.value==="validating")])},{default:ne(()=>[(E(),le(it(p.value)))]),_:1},8,["class"])):re("v-if",!0)],2)):re("v-if",!0)],38))}}),PW=MW;const AW=st(PW),LW={[at]:e=>Ae(e),[yt]:e=>Ae(e),finish:e=>Ae(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},DW=["id","aria-label","aria-labelledby"],BW=["value","type","disabled","readonly","inputmode","aria-label","onClick","onKeydown","onInput"];var VW=se({name:"ElInputOtp",__name:"input-otp",props:{modelValue:{type:[String,Number],required:!1},length:{type:Number,required:!1,default:6},validator:{type:Function,required:!1,default:()=>!0},inputmode:{type:null,required:!1},type:{type:String,required:!1,default:"outlined"},size:{type:null,required:!1,default:"default"},mask:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1,default:void 0},readonly:{type:Boolean,required:!1},id:{type:String,required:!1},validateEvent:{type:Boolean,required:!1,default:!0},separator:{type:[String,Object,Function],required:!1},ariaLabel:{type:String,required:!1}},emits:LW,setup(e,{expose:t,emit:n}){const a=e,o=n,r=C(()=>{const _=String(a.modelValue??"");return Array.from({length:a.length},(N,$)=>_.charAt($))}),s=C(()=>{const{separator:_}=a,N=Fe(_)?_:()=>_;return Array.from({length:a.length-1},($,B)=>N(B))}),l=M(r.value),u=M(!1),c=M([]),d=ge("input-otp"),{t:f}=xt(),{formItem:p}=Fn(),{inputId:g,isLabeledByFormItem:h}=_a(a,{formItemContext:p}),v=un();let m=a.modelValue;const b=_=>{const N=l.value.findIndex(($,B)=>!$&&B<=_);return N===-1?_:N},w=_=>{c.value?.includes(_.relatedTarget)||(u.value=!0,o("focus",_))},y=_=>{c.value?.includes(_.relatedTarget)||(u.value=!1,o("blur",_),a.validateEvent&&p?.validate?.("blur").catch(ut))},S=(_=!0)=>{const N=l.value.join("").slice(0,a.length);N!==a.modelValue&&(o(at,N),_&&N.length===a.length&&o("finish",N))},k=(_,N)=>{const $=qt(_);let B=!0;switch($){case Se.backspace:if(a.readonly)break;l.value[N]="",T(N-1),S();break;case Se.delete:if(a.readonly)break;l.value[N]="",T(N),S();break;case Se.up:case Se.left:T(N-1);break;case Se.down:case Se.right:T(N+1);break;default:B=!1}B&&_.preventDefault()},x=(_,N)=>{const $=_.target,B=b(N);let K=B+1,j=$.value;if(j.length>1){const W=O(j,B);$.value=l.value[N]??"",W.forEach((A,P)=>l.value[B+P]=A),T(B+W.length),S();return}a.validator(j,B)||($.value=l.value[N]??"",j=$.value,K=B),l.value[B]=j,B!==N&&($.value=l.value[N]??""),T(K),S()},O=(_,N=0)=>{const $=`${_??""}`.split(""),B=[];for(const K of $){if(B.length+N>=a.length)break;a.validator(K,B.length+N)&&B.push(K)}return B},T=(_=0)=>{const N=tf(_,0,a.length-1),$=c.value?.[N];document.activeElement!==$&&$?.focus(),Oa(()=>{!a.readonly&&document.activeElement===$&&$?.select()})},I=()=>{c.value?.find(_=>document.activeElement===_)?.blur()};return pe(()=>a.modelValue,()=>{l.value=r.value,a.validateEvent&&p?.validate?.("change").catch(ut)}),pe(()=>a.length,()=>{l.value=r.value,S(!1)}),pe(u,_=>{if(_){m=a.modelValue;return}m!==a.modelValue&&o(yt,a.modelValue)}),t({inputRefs:c,focus:T,blur:I}),(_,N)=>(E(),D("div",{id:i(g),class:R([i(d).b(),i(d).m(e.size),i(d).m(e.type),i(d).is("disabled",i(v))]),role:"group","aria-label":i(h)?void 0:e.ariaLabel||i(f)("el.inputOTP.groupLabel"),"aria-labelledby":i(h)?i(p)?.labelId:void 0},[(E(!0),D(Ve,null,kt(e.length,($,B)=>(E(),D(Ve,{key:B},[z("label",{class:R(i(d).e("input-field"))},[z("input",{ref_for:!0,ref_key:"inputRefs",ref:c,value:l.value[B],class:R(i(d).e("input")),type:e.mask?"password":"text",disabled:i(v),readonly:e.readonly,inputmode:e.inputmode,autocomplete:"one-time-code","aria-label":i(f)("el.inputOTP.defaultLabel",{index:B+1}),onFocus:w,onBlur:y,onClick:K=>T(B),onKeydown:K=>k(K,B),onInput:K=>x(K,B)},null,42,BW)],2),(_.$slots.separator||s.value[B])&&B<e.length-1?oe(_.$slots,"separator",{key:0,index:B},()=>[(E(),le(it(()=>s.value[B])))]):re("v-if",!0)],64))),128))],10,DW))}}),FW=VW;const zW=st(FW),HW=Ee({type:{type:String,values:["primary","success","warning","info","danger","default"],default:void 0},underline:{type:[Boolean,String],values:[!0,!1,"always","never","hover"],default:void 0},disabled:Boolean,href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Ut}}),KW={click:e=>e instanceof MouseEvent},WW=["href","target"];var jW=se({name:"ElLink",__name:"link",props:HW,emits:KW,setup(e,{emit:t}){const n=e,a=t,o=xr("link");Po({scope:"el-link",from:"The underline option (boolean)",replacement:"'always' | 'hover' | 'never'",version:"3.0.0",ref:"https://element-plus.org/en-US/component/link.html#underline"},C(()=>Wt(n.underline)));const r=ge("link"),s=C(()=>[r.b(),r.m(n.type??o.value?.type??"default"),r.is("disabled",n.disabled),r.is("underline",l.value==="always"),r.is("hover-underline",l.value==="hover"&&!n.disabled)]),l=C(()=>Wt(n.underline)?n.underline?"hover":"never":n.underline??o.value?.underline??"hover");function u(c){n.disabled||a("click",c)}return(c,d)=>(E(),D("a",{class:R(s.value),href:e.disabled||!e.href?void 0:e.href,target:e.disabled||!e.href?void 0:e.target,onClick:u},[e.icon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1})):re("v-if",!0),c.$slots.default?(E(),D("span",{key:1,class:R(i(r).e("inner"))},[oe(c.$slots,"default")],2)):re("v-if",!0),c.$slots.icon?oe(c.$slots,"icon",{key:2}):re("v-if",!0)],10,WW))}}),UW=jW;const qW=st(UW),ag="rootMenu",Sd="subMenu:";function GE(e,t){const n=C(()=>{let a=e.parent;const o=[t.value];for(;a.type.name!=="ElMenu";)a.props.index&&o.unshift(a.props.index),a=a.parent;return o});return{parentMenu:C(()=>{let a=e.parent;for(;a&&!["ElMenu","ElSubMenu"].includes(a.type.name);)a=a.parent;return a}),indexPath:n}}function YW(e){return C(()=>{const t=e.backgroundColor;return t?new gn(t).shade(20).toString():""})}const XE=(e,t)=>{const n=ge("menu");return C(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":YW(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},GW=Ee({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,popperStyle:{type:G([String,Object])},disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Ut},expandOpenIcon:{type:Ut},collapseCloseIcon:{type:Ut},collapseOpenIcon:{type:Ut}}),wp="ElSubMenu";var og=se({name:wp,props:GW,setup(e,{slots:t,expose:n}){const a=dt(),{indexPath:o,parentMenu:r}=GE(a,C(()=>e.index)),s=ge("menu"),l=ge("sub-menu"),u=$e(ag);u||sn(wp,"can not inject root menu");const c=$e(`${Sd}${r.value.uid}`);c||sn(wp,"can not inject sub menu");const d=M({}),f=M({});let p;const g=M(!1),h=M(),v=M(),m=C(()=>c.level===0),b=C(()=>T.value==="horizontal"&&m.value?"bottom-start":"right-start"),w=C(()=>T.value==="horizontal"&&m.value||T.value==="vertical"&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?x.value?e.expandOpenIcon:e.expandCloseIcon:qo:e.collapseCloseIcon&&e.collapseOpenIcon?x.value?e.collapseOpenIcon:e.collapseCloseIcon:sa),y=C(()=>{const U=e.teleported;return Rt(U)?m.value:U}),S=C(()=>u.props.collapse?`${s.namespace.value}-zoom-in-left`:`${s.namespace.value}-zoom-in-top`),k=C(()=>T.value==="horizontal"&&m.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),x=C(()=>u.openedMenus.includes(e.index)),O=C(()=>[...Object.values(d.value),...Object.values(f.value)].some(({active:U})=>U)),T=C(()=>u.props.mode),I=C(()=>u.props.persistent),_=Dt({index:e.index,indexPath:o,active:O}),N=XE(u.props,c.level+1),$=C(()=>e.popperOffset??u.props.popperOffset),B=C(()=>e.popperClass??u.props.popperClass),K=C(()=>e.popperStyle??u.props.popperStyle),j=C(()=>e.showTimeout??u.props.showTimeout),W=C(()=>e.hideTimeout??u.props.hideTimeout),A=()=>v.value?.popperRef?.popperInstanceRef?.destroy(),P=U=>{U||A()},V=()=>{u.props.menuTrigger==="hover"&&u.props.mode==="horizontal"||u.props.collapse&&u.props.mode==="vertical"||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:o.value,active:O.value})},F=(U,J=j.value)=>{if(U.type!=="focus"){if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"||e.disabled){c.mouseInChild.value=!0;return}c.mouseInChild.value=!0,p?.(),{stop:p}=kl(()=>{u.openMenu(e.index,o.value)},J),y.value&&r.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),U.type==="mouseenter"&&U.target&&Ne(()=>{Ou(U.target,{preventScroll:!0})})}},H=(U=!1)=>{if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"){c.mouseInChild.value=!1;return}p?.(),c.mouseInChild.value=!1,{stop:p}=kl(()=>!g.value&&u.closeMenu(e.index,o.value),W.value),y.value&&U&&c.handleMouseleave?.(!0)};pe(()=>u.props.collapse,U=>P(!!U));{const U=ee=>{f.value[ee.index]=ee},J=ee=>{delete f.value[ee.index]};St(`${Sd}${a.uid}`,{addSubMenu:U,removeSubMenu:J,handleMouseleave:H,mouseInChild:g,level:c.level+1})}return n({opened:x}),ht(()=>{u.addSubMenu(_),c.addSubMenu(_)}),Vt(()=>{c.removeSubMenu(_),u.removeSubMenu(_)}),()=>{const U=[t.title?.(),qe(De,{class:l.e("icon-arrow"),style:{transform:x.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>Ae(w.value)?qe(a.appContext.components[w.value]):qe(w.value)})],J=u.isMenuPopup?qe(Wn,{ref:v,visible:x.value,effect:"light",pure:!0,offset:$.value,showArrow:!1,persistent:I.value,popperClass:B.value,popperStyle:K.value,placement:b.value,teleported:y.value,fallbackPlacements:k.value,transition:S.value,gpuAcceleration:!1},{content:()=>qe("div",{class:[s.m(T.value),s.m("popup-container"),B.value],onMouseenter:ee=>F(ee,100),onMouseleave:()=>H(!0),onFocus:ee=>F(ee,100)},[qe("ul",{class:[s.b(),s.m("popup"),s.m(`popup-${b.value}`)],style:N.value},[t.default?.()])]),default:()=>qe("div",{class:l.e("title"),onClick:V},U)}):qe(Ve,{},[qe("div",{class:l.e("title"),ref:h,onClick:V},U),qe(yf,{},{default:()=>ct(qe("ul",{role:"menu",class:[s.b(),s.m("inline")],style:N.value},[t.default?.()]),[[$t,x.value]])})]);return qe("li",{class:[l.b(),l.is("active",O.value),l.is("opened",x.value),l.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:x.value,onMouseenter:F,onMouseleave:()=>H(),onFocus:F},[J])}}}),XW=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;this.subMenuItems.forEach(t=>{t.addEventListener("keydown",n=>{const a=qt(n);let o=!1;switch(a){case Se.down:this.gotoSubIndex(this.subIndex+1),o=!0;break;case Se.up:this.gotoSubIndex(this.subIndex-1),o=!0;break;case Se.tab:Ec(e,"mouseleave");break;case Se.enter:case Se.numpadEnter:case Se.space:o=!0,n.currentTarget.click();break}return o&&(n.preventDefault(),n.stopPropagation()),!1})})}},JW=class{constructor(e,t){this.domNode=e,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new XW(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{const t=qt(e);let n=!1;switch(t){case Se.down:Ec(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(0),n=!0;break;case Se.up:Ec(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break;case Se.tab:Ec(e.currentTarget,"mouseleave");break;case Se.enter:case Se.numpadEnter:case Se.space:n=!0,e.currentTarget.click();break}n&&e.preventDefault()})}},ZW=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(n=>{n.nodeType===1&&new JW(n,e)})}},QW=se({name:"ElMenuCollapseTransition",__name:"menu-collapse-transition",setup(e){const t=ge("menu"),n={onBeforeEnter:a=>a.style.opacity="0.2",onEnter(a,o){Ua(a,`${t.namespace.value}-opacity-transition`),a.style.opacity="1",o()},onAfterEnter(a){ra(a,`${t.namespace.value}-opacity-transition`),a.style.opacity=""},onBeforeLeave(a){a.dataset||(a.dataset={}),Ao(a,t.m("collapse"))?(ra(a,t.m("collapse")),a.dataset.oldOverflow=a.style.overflow,a.dataset.scrollWidth=a.clientWidth.toString(),Ua(a,t.m("collapse"))):(Ua(a,t.m("collapse")),a.dataset.oldOverflow=a.style.overflow,a.dataset.scrollWidth=a.clientWidth.toString(),ra(a,t.m("collapse"))),a.style.width=`${a.scrollWidth}px`,a.style.overflow="hidden"},onLeave(a){Ua(a,"horizontal-collapse-transition"),a.style.width=`${a.dataset.scrollWidth}px`}};return(a,o)=>(E(),le(Yn,pt({mode:"out-in"},n),{default:ne(()=>[oe(a.$slots,"default")]),_:3},16))}}),ej=QW;const tj=Ee({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:G(Array),default:()=>pn([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Ut,default:()=>qP},popperEffect:{type:G(String),default:"dark"},popperClass:String,popperStyle:{type:G([String,Object])},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Sp=e=>we(e)&&e.every(t=>Ae(t)),nj={close:(e,t)=>Ae(e)&&Sp(t),open:(e,t)=>Ae(e)&&Sp(t),select:(e,t,n,a)=>Ae(e)&&Sp(t)&&ot(n)&&(Rt(a)||a instanceof Promise)},q0=64;var aj=se({name:"ElMenu",props:tj,emits:nj,setup(e,{emit:t,slots:n,expose:a}){const o=dt(),r=o.appContext.config.globalProperties.$router,s=M(),l=M(),u=ge("menu"),c=ge("sub-menu");let d=q0;const f=M(-1),p=M(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),g=M(e.defaultActive),h=M({}),v=M({}),m=C(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),b=()=>{const A=g.value&&h.value[g.value];!A||e.mode==="horizontal"||e.collapse||A.indexPath.forEach(P=>{const V=v.value[P];V&&w(P,V.indexPath)})},w=(A,P)=>{p.value.includes(A)||(e.uniqueOpened&&(p.value=p.value.filter(V=>P.includes(V))),p.value.push(A),t("open",A,P))},y=A=>{const P=p.value.indexOf(A);P!==-1&&p.value.splice(P,1)},S=(A,P)=>{y(A),t("close",A,P)},k=({index:A,indexPath:P})=>{p.value.includes(A)?S(A,P):w(A,P)},x=A=>{(e.mode==="horizontal"||e.collapse)&&(p.value=[]);const{index:P,indexPath:V}=A;if(!(En(P)||En(V)))if(e.router&&r){const F=A.route||P,H=r.push(F).then(U=>(U||(g.value=P),U));t("select",P,V,{index:P,indexPath:V,route:F},H)}else g.value=P,t("select",P,V,{index:P,indexPath:V})},O=A=>{const P=h.value;g.value=(P[A]||g.value&&P[g.value]||P[e.defaultActive])?.index??A},T=A=>{const P=getComputedStyle(A),V=Number.parseInt(P.marginLeft,10),F=Number.parseInt(P.marginRight,10);return A.offsetWidth+V+F||0},I=()=>{if(!s.value)return-1;const A=Array.from(s.value.childNodes).filter(ee=>ee.nodeName!=="#comment"&&(ee.nodeName!=="#text"||ee.nodeValue)),P=getComputedStyle(s.value),V=Number.parseInt(P.paddingLeft,10),F=Number.parseInt(P.paddingRight,10),H=s.value.clientWidth-V-F;let U=0,J=0;return A.forEach((ee,ae)=>{U+=T(ee),U<=H-d&&(J=ae+1)}),J===A.length?-1:J},_=A=>v.value[A].indexPath,N=(A,P=33.34)=>{let V;return()=>{V&&clearTimeout(V),V=setTimeout(()=>{A()},P)}};let $=!0;const B=()=>{const A=Rn(l);if(A&&(d=T(A)||q0),f.value===I())return;const P=()=>{f.value=-1,Ne(()=>{f.value=I()})};$?P():N(P)(),$=!1};pe(()=>e.defaultActive,A=>{h.value[A]||(g.value=""),O(A)}),pe(()=>e.collapse,A=>{A&&(p.value=[])}),pe(h.value,b);let K;la(()=>{e.mode==="horizontal"&&e.ellipsis?K=an(s,B).stop:K?.()});const j=M(!1);{const A=H=>{v.value[H.index]=H},P=H=>{delete v.value[H.index]};St(ag,Dt({props:e,openedMenus:p,items:h,subMenus:v,activeIndex:g,isMenuPopup:m,addMenuItem:H=>{h.value[H.index]=H},removeMenuItem:H=>{delete h.value[H.index]},addSubMenu:A,removeSubMenu:P,openMenu:w,closeMenu:S,handleMenuItemClick:x,handleSubMenuClick:k})),St(`${Sd}${o.uid}`,{addSubMenu:A,removeSubMenu:P,mouseInChild:j,level:0})}ht(()=>{e.mode==="horizontal"&&new ZW(o.vnode.el,u.namespace.value)}),a({open:P=>{const{indexPath:V}=v.value[P];V.forEach(F=>w(F,V))},close:y,updateActiveIndex:O,handleResize:B});const W=XE(e,0);return()=>{let A=n.default?.()??[];const P=[];if(e.mode==="horizontal"&&s.value){const H=Aa(A).filter(ee=>ee?.shapeFlag!==8),U=f.value===-1?H:H.slice(0,f.value),J=f.value===-1?[]:H.slice(f.value);J?.length&&e.ellipsis&&(A=U,P.push(qe(og,{ref:l,index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>qe(De,{class:c.e("icon-more")},{default:()=>qe(e.ellipsisIcon)}),default:()=>J})))}const V=e.closeOnClickOutside?[[Qr,()=>{p.value.length&&(j.value||(p.value.forEach(H=>t("close",H,_(H))),p.value=[]))}]]:[],F=ct(qe("ul",{key:String(e.collapse),role:"menubar",ref:s,style:W.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m("collapse")]:e.collapse}},[...A,...P]),V);return e.collapseTransition&&e.mode==="vertical"?qe(ej,()=>F):F}}});const oj=Ee({index:{type:String,required:!0},route:{type:G([String,Object])},disabled:Boolean}),rj={click:e=>Ae(e.index)&&we(e.indexPath)},sj={title:String},Cp="ElMenuItem";var lj=se({name:Cp,__name:"menu-item",props:oj,emits:rj,setup(e,{expose:t,emit:n}){const a=e,o=n,r=dt(),s=$e(ag),l=ge("menu"),u=ge("menu-item");s||sn(Cp,"can not inject root menu");const{parentMenu:c,indexPath:d}=GE(r,Ht(a,"index")),f=$e(`${Sd}${c.value.uid}`);f||sn(Cp,"can not inject sub menu");const p=C(()=>a.index===s.activeIndex),g=Dt({index:a.index,indexPath:d,active:p}),h=()=>{a.disabled||(s.handleMenuItemClick({index:a.index,indexPath:d.value,route:a.route}),o("click",g))};return ht(()=>{f.addSubMenu(g),s.addMenuItem(g)}),Vt(()=>{f.removeSubMenu(g),s.removeMenuItem(g)}),t({parentMenu:c,rootMenu:s,active:p,nsMenu:l,nsMenuItem:u,handleClick:h}),(v,m)=>(E(),D("li",{class:R([i(u).b(),i(u).is("active",p.value),i(u).is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:h},[i(c).type.name==="ElMenu"&&i(s).props.collapse&&v.$slots.title?(E(),le(i(Wn),{key:0,effect:i(s).props.popperEffect,placement:"right","fallback-placements":["left"],"popper-class":i(s).props.popperClass,"popper-style":i(s).props.popperStyle,persistent:i(s).props.persistent,"focus-on-target":""},{content:ne(()=>[oe(v.$slots,"title")]),default:ne(()=>[z("div",{class:R(i(l).be("tooltip","trigger"))},[oe(v.$slots,"default")],2)]),_:3},8,["effect","popper-class","popper-style","persistent"])):(E(),D(Ve,{key:1},[oe(v.$slots,"default"),oe(v.$slots,"title")],64))],2))}}),JE=lj,ij=se({name:"ElMenuItemGroup",__name:"menu-item-group",props:sj,setup(e){const t=ge("menu-item-group");return(n,a)=>(E(),D("li",{class:R(i(t).b())},[z("div",{class:R(i(t).e("title"))},[n.$slots.title?oe(n.$slots,"title",{key:1}):(E(),D(Ve,{key:0},[wt(Ce(e.title),1)],64))],2),z("ul",null,[oe(n.$slots,"default")])],2))}}),ZE=ij;const uj=st(aj,{MenuItem:JE,MenuItemGroup:ZE,SubMenu:og}),cj=ln(JE),dj=ln(ZE),fj=ln(og),pj=Ee({icon:{type:Ut,default:()=>tP},title:String,content:{type:String,default:""}}),hj={back:()=>!0},vj=["aria-label"];var mj=se({name:"ElPageHeader",__name:"page-header",props:pj,emits:hj,setup(e,{emit:t}){const n=t,{t:a}=xt(),o=ge("page-header");function r(){n("back")}return(s,l)=>(E(),D("div",{class:R([i(o).b(),i(o).is("contentful",!!s.$slots.default),{[i(o).m("has-breadcrumb")]:!!s.$slots.breadcrumb,[i(o).m("has-extra")]:!!s.$slots.extra}])},[s.$slots.breadcrumb?(E(),D("div",{key:0,class:R(i(o).e("breadcrumb"))},[oe(s.$slots,"breadcrumb")],2)):re("v-if",!0),z("div",{class:R(i(o).e("header"))},[z("div",{class:R(i(o).e("left"))},[z("div",{class:R(i(o).e("back")),role:"button",tabindex:"0",onClick:r},[e.icon||s.$slots.icon?(E(),D("div",{key:0,"aria-label":e.title||i(a)("el.pageHeader.title"),class:R(i(o).e("icon"))},[oe(s.$slots,"icon",{},()=>[e.icon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1})):re("v-if",!0)])],10,vj)):re("v-if",!0),z("div",{class:R(i(o).e("title"))},[oe(s.$slots,"title",{},()=>[wt(Ce(e.title||i(a)("el.pageHeader.title")),1)])],2)],2),X(i(DE),{direction:"vertical"}),z("div",{class:R(i(o).e("content"))},[oe(s.$slots,"content",{},()=>[wt(Ce(e.content),1)])],2)],2),s.$slots.extra?(E(),D("div",{key:0,class:R(i(o).e("extra"))},[oe(s.$slots,"extra")],2)):re("v-if",!0)],2),s.$slots.default?(E(),D("div",{key:1,class:R(i(o).e("main"))},[oe(s.$slots,"default")],2)):re("v-if",!0)],2))}}),gj=mj;const bj=st(gj),QE=Symbol("elPaginationKey"),yj=Ee({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Ut}}),wj={click:e=>e instanceof MouseEvent},Sj=["disabled","aria-label","aria-disabled"],Cj={key:0};var kj=se({name:"ElPaginationPrev",__name:"prev",props:yj,emits:wj,setup(e){const t=e,{t:n}=xt(),a=C(()=>t.disabled||t.currentPage<=1);return(o,r)=>(E(),D("button",{type:"button",class:"btn-prev",disabled:a.value,"aria-label":o.prevText||i(n)("el.pagination.prev"),"aria-disabled":a.value,onClick:r[0]||(r[0]=s=>o.$emit("click",s))},[o.prevText?(E(),D("span",Cj,Ce(o.prevText),1)):(E(),le(i(De),{key:1},{default:ne(()=>[(E(),le(it(o.prevIcon)))]),_:1}))],8,Sj))}}),Ej=kj;const xj=Ee({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Ut}}),Tj=["disabled","aria-label","aria-disabled"],Oj={key:0};var _j=se({name:"ElPaginationNext",__name:"next",props:xj,emits:["click"],setup(e){const t=e,{t:n}=xt(),a=C(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(o,r)=>(E(),D("button",{type:"button",class:"btn-next",disabled:a.value,"aria-label":o.nextText||i(n)("el.pagination.next"),"aria-disabled":a.value,onClick:r[0]||(r[0]=s=>o.$emit("click",s))},[o.nextText?(E(),D("span",Oj,Ce(o.nextText),1)):(E(),le(i(De),{key:1},{default:ne(()=>[(E(),le(it(o.nextIcon)))]),_:1}))],8,Tj))}}),Rj=_j;const rg=()=>$e(QE,{}),Ij=Ee({pageSize:{type:Number,required:!0},pageSizes:{type:G(Array),default:()=>pn([10,20,30,40,50,100])},popperClass:{type:String},popperStyle:{type:G([String,Object])},disabled:Boolean,teleported:Boolean,size:{type:String,values:yo},appendSizeTo:String});var $j=se({name:"ElPaginationSizes",__name:"sizes",props:Ij,emits:["page-size-change"],setup(e,{emit:t}){const n=e,a=t,{t:o}=xt(),r=ge("pagination"),s=rg(),l=M(n.pageSize);pe(()=>n.pageSizes,(d,f)=>{fn(d,f)||we(d)&&a("page-size-change",d.includes(n.pageSize)?n.pageSize:n.pageSizes[0])}),pe(()=>n.pageSize,d=>{l.value=d});const u=C(()=>n.pageSizes);function c(d){d!==l.value&&(l.value=d,s.handleSizeChange?.(Number(d)))}return(d,f)=>(E(),D("span",{class:R(i(r).e("sizes"))},[X(i(es),{"model-value":l.value,disabled:d.disabled,"popper-class":d.popperClass,"popper-style":d.popperStyle,size:d.size,teleported:d.teleported,"validate-event":!1,"append-to":d.appendSizeTo,onChange:c},{default:ne(()=>[(E(!0),D(Ve,null,kt(u.value,p=>(E(),le(i(ud),{key:p,value:p,label:p+i(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","popper-style","size","teleported","append-to"])],2))}}),Nj=$j;const Mj=Ee({size:{type:String,values:yo}}),Pj=["disabled"];var Aj=se({name:"ElPaginationJumper",__name:"jumper",props:Mj,setup(e){const{t}=xt(),n=ge("pagination"),{pageCount:a,disabled:o,currentPage:r,changeEvent:s}=rg(),l=M(),u=C(()=>l.value??r?.value);function c(f){l.value=f?+f:""}function d(f){f=Math.trunc(+f),s?.(f),l.value=void 0}return(f,p)=>(E(),D("span",{class:R(i(n).e("jump")),disabled:i(o)},[z("span",{class:R([i(n).e("goto")])},Ce(i(t)("el.pagination.goto")),3),X(i(Un),{size:f.size,class:R([i(n).e("editor"),i(n).is("in-pagination")]),min:1,max:i(a),disabled:i(o),"model-value":u.value,"validate-event":!1,"aria-label":i(t)("el.pagination.page"),type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value","aria-label"]),z("span",{class:R([i(n).e("classifier")])},Ce(i(t)("el.pagination.pageClassifier")),3)],10,Pj))}}),Lj=Aj;const Dj=Ee({total:{type:Number,default:1e3}}),Bj=["disabled"];var Vj=se({name:"ElPaginationTotal",__name:"total",props:Dj,setup(e){const{t}=xt(),n=ge("pagination"),{disabled:a}=rg();return(o,r)=>(E(),D("span",{class:R(i(n).e("total")),disabled:i(a)},Ce(i(t)("el.pagination.total",{total:o.total})),11,Bj))}}),Fj=Vj;const zj=Ee({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),Hj=["aria-current","aria-label","tabindex"],Kj=["tabindex","aria-label"],Wj=["aria-current","aria-label","tabindex"],jj=["tabindex","aria-label"],Uj=["aria-current","aria-label","tabindex"];var qj=se({name:"ElPaginationPager",__name:"pager",props:zj,emits:[yt],setup(e,{emit:t}){const n=e,a=t,o=ge("pager"),r=ge("icon"),{t:s}=xt(),l=M(!1),u=M(!1),c=M(!1),d=M(!1),f=M(!1),p=M(!1),g=C(()=>{const k=n.pagerCount,x=(k-1)/2,O=Number(n.currentPage),T=Number(n.pageCount);let I=!1,_=!1;T>k&&(O>k-x&&(I=!0),O<T-x&&(_=!0));const N=[];if(I&&!_){const $=T-(k-2);for(let B=$;B<T;B++)N.push(B)}else if(!I&&_)for(let $=2;$<k;$++)N.push($);else if(I&&_){const $=Math.floor(k/2)-1;for(let B=O-$;B<=O+$;B++)N.push(B)}else for(let $=2;$<T;$++)N.push($);return N}),h=C(()=>["more","btn-quickprev",r.b(),o.is("disabled",n.disabled)]),v=C(()=>["more","btn-quicknext",r.b(),o.is("disabled",n.disabled)]),m=C(()=>n.disabled?-1:0);pe(()=>[n.pageCount,n.pagerCount,n.currentPage],([k,x,O])=>{const T=(x-1)/2;let I=!1,_=!1;k>x&&(I=O>x-T,_=O<k-T),c.value&&(c.value=I),d.value&&(d.value=_),l.value=I,u.value=_},{immediate:!0});function b(k=!1){n.disabled||(k?c.value=!0:d.value=!0)}function w(k=!1){k?f.value=!0:p.value=!0}function y(k){const x=k.target;if(x.tagName.toLowerCase()==="li"&&Array.from(x.classList).includes("number")){const O=Number(x.textContent);O!==n.currentPage&&a(yt,O)}else x.tagName.toLowerCase()==="li"&&Array.from(x.classList).includes("more")&&S(k)}function S(k){const x=k.target;if(x.tagName.toLowerCase()==="ul"||n.disabled)return;let O=Number(x.textContent);const T=n.pageCount,I=n.currentPage,_=n.pagerCount-2;x.className.includes("more")&&(x.className.includes("quickprev")?O=I-_:x.className.includes("quicknext")&&(O=I+_)),Number.isNaN(+O)||(O<1&&(O=1),O>T&&(O=T)),O!==I&&a(yt,O)}return(k,x)=>(E(),D("ul",{class:R(i(o).b()),onClick:S,onKeyup:dn(y,["enter"])},[k.pageCount>0?(E(),D("li",{key:0,class:R([[i(o).is("active",k.currentPage===1),i(o).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===1,"aria-label":i(s)("el.pagination.currentPage",{pager:1}),tabindex:m.value}," 1 ",10,Hj)):re("v-if",!0),l.value?(E(),D("li",{key:1,class:R(h.value),tabindex:m.value,"aria-label":i(s)("el.pagination.prevPages",{pager:k.pagerCount-2}),onMouseenter:x[0]||(x[0]=O=>b(!0)),onMouseleave:x[1]||(x[1]=O=>c.value=!1),onFocus:x[2]||(x[2]=O=>w(!0)),onBlur:x[3]||(x[3]=O=>f.value=!1)},[(c.value||f.value)&&!k.disabled?(E(),le(i(Xr),{key:0})):(E(),le(i(Ay),{key:1}))],42,Kj)):re("v-if",!0),(E(!0),D(Ve,null,kt(g.value,O=>(E(),D("li",{key:O,class:R([[i(o).is("active",k.currentPage===O),i(o).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===O,"aria-label":i(s)("el.pagination.currentPage",{pager:O}),tabindex:m.value},Ce(O),11,Wj))),128)),u.value?(E(),D("li",{key:2,class:R(v.value),tabindex:m.value,"aria-label":i(s)("el.pagination.nextPages",{pager:k.pagerCount-2}),onMouseenter:x[4]||(x[4]=O=>b()),onMouseleave:x[5]||(x[5]=O=>d.value=!1),onFocus:x[6]||(x[6]=O=>w()),onBlur:x[7]||(x[7]=O=>p.value=!1)},[(d.value||p.value)&&!k.disabled?(E(),le(i(Jr),{key:0})):(E(),le(i(Ay),{key:1}))],42,jj)):re("v-if",!0),k.pageCount>1?(E(),D("li",{key:3,class:R([[i(o).is("active",k.currentPage===k.pageCount),i(o).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===k.pageCount,"aria-label":i(s)("el.pagination.currentPage",{pager:k.pageCount}),tabindex:m.value},Ce(k.pageCount),11,Uj)):re("v-if",!0)],34))}}),Yj=qj;const ua=e=>typeof e!="number",Gj=Ee({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>Be(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:G(Array),default:()=>pn([10,20,30,40,50,100])},popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},prevText:{type:String,default:""},prevIcon:{type:Ut,default:()=>mr},nextText:{type:String,default:""},nextIcon:{type:Ut,default:()=>sa},teleported:{type:Boolean,default:!0},small:Boolean,size:Nn,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),Xj={"update:current-page":e=>Be(e),"update:page-size":e=>Be(e),"size-change":e=>Be(e),change:(e,t)=>Be(e)&&Be(t),"current-change":e=>Be(e),"prev-click":e=>Be(e),"next-click":e=>Be(e)},Y0="ElPagination";var Jj=se({name:Y0,props:Gj,emits:Xj,setup(e,{emit:t,slots:n}){const{t:a}=xt(),o=ge("pagination"),r=dt().vnode.props||{},s=bC(),l=C(()=>e.small?"small":e.size??s.value);Po({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},C(()=>!!e.small));const u="onUpdate:currentPage"in r||"onUpdate:current-page"in r||"onCurrentChange"in r,c="onUpdate:pageSize"in r||"onUpdate:page-size"in r||"onSizeChange"in r,d=C(()=>{if(ua(e.total)&&ua(e.pageCount)||!ua(e.currentPage)&&!u)return!1;if(e.layout.includes("sizes")){if(ua(e.pageCount)){if(!ua(e.total)&&!ua(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),f=M(ua(e.defaultPageSize)?10:e.defaultPageSize),p=M(ua(e.defaultCurrentPage)?1:e.defaultCurrentPage),g=C({get(){return ua(e.pageSize)?f.value:e.pageSize},set(k){ua(e.pageSize)&&(f.value=k),c&&(t("update:page-size",k),t("size-change",k))}}),h=C(()=>{let k=0;return ua(e.pageCount)?ua(e.total)||(k=Math.max(1,Math.ceil(e.total/g.value))):k=e.pageCount,k}),v=C({get(){return ua(e.currentPage)?p.value:e.currentPage},set(k){let x=k;k<1?x=1:k>h.value&&(x=h.value),ua(e.currentPage)&&(p.value=x),u&&(t("update:current-page",x),t("current-change",x))}});pe(h,k=>{v.value>k&&(v.value=k)}),pe([v,g],k=>{t(yt,...k)},{flush:"post"});function m(k){v.value=k}function b(k){g.value=k;const x=h.value;v.value>x&&(v.value=x)}function w(){e.disabled||(v.value-=1,t("prev-click",v.value))}function y(){e.disabled||(v.value+=1,t("next-click",v.value))}function S(k,x){k&&(k.props||(k.props={}),k.props.class=[k.props.class,x].join(" "))}return St(QE,{pageCount:h,disabled:C(()=>e.disabled),currentPage:v,changeEvent:m,handleSizeChange:b}),()=>{if(!d.value)return jt(Y0,a("el.pagination.deprecationWarning")),null;if(!e.layout||e.hideOnSinglePage&&h.value<=1)return null;const k=[],x=[],O=qe("div",{class:o.e("rightwrapper")},x),T={prev:qe(Ej,{disabled:e.disabled,currentPage:v.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:w}),jumper:qe(Lj,{size:l.value}),pager:qe(Yj,{currentPage:v.value,pageCount:h.value,pagerCount:e.pagerCount,onChange:m,disabled:e.disabled}),next:qe(Rj,{disabled:e.disabled,currentPage:v.value,pageCount:h.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:y}),sizes:qe(Nj,{pageSize:g.value,pageSizes:e.pageSizes,popperClass:e.popperClass,popperStyle:e.popperStyle,disabled:e.disabled,teleported:e.teleported,size:l.value,appendSizeTo:e.appendSizeTo}),slot:n?.default?.()??null,total:qe(Fj,{total:ua(e.total)?0:e.total})},I=e.layout.split(",").map(N=>N.trim());let _=!1;return I.forEach(N=>{if(N==="->"){_=!0;return}_?x.push(T[N]):k.push(T[N])}),S(k[0],o.is("first")),S(k[k.length-1],o.is("last")),_&&x.length>0&&(S(x[0],o.is("first")),S(x[x.length-1],o.is("last")),k.push(O)),qe("div",{class:[o.b(),o.is("background",e.background),o.m(l.value)]},k)}}});const Zj=st(Jj),Qj=Ee({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:Ch,default:"primary"},cancelButtonType:{type:String,values:Ch,default:"text"},icon:{type:Ut,default:()=>aA},iconColor:{type:String,default:"#f90"},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:{...Kt.effect,default:"light"},teleported:Kt.teleported,persistent:Kt.persistent,width:{type:[String,Number],default:150},virtualTriggering:Bo.virtualTriggering,virtualRef:Bo.virtualRef}),eU={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent};var tU=se({name:"ElPopconfirm",__name:"popconfirm",props:Qj,emits:eU,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:r}=xt(),s=ge("popconfirm"),l=M(),u=M(),c=C(()=>i(l)?.popperRef),d=()=>{u.value?.focus?.()},f=()=>{l.value?.onClose?.()},p=C(()=>({width:hn(a.width)})),g=b=>{o("confirm",b),f()},h=b=>{o("cancel",b),f()},v=C(()=>a.confirmButtonText||r("el.popconfirm.confirmButtonText")),m=C(()=>a.cancelButtonText||r("el.popconfirm.cancelButtonText"));return t({popperRef:c,hide:f}),(b,w)=>(E(),le(i(Wn),pt({ref_key:"tooltipRef",ref:l,trigger:"click",effect:e.effect},b.$attrs,{"virtual-triggering":e.virtualTriggering,"virtual-ref":e.virtualRef,"popper-class":`${i(s).namespace.value}-popover`,"popper-style":p.value,teleported:e.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":e.hideAfter,persistent:e.persistent,loop:"",onShow:d}),{content:ne(()=>[z("div",{ref_key:"rootRef",ref:u,tabindex:"-1",class:R(i(s).b())},[z("div",{class:R(i(s).e("main"))},[!e.hideIcon&&e.icon?(E(),le(i(De),{key:0,class:R(i(s).e("icon")),style:ze({color:e.iconColor})},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1},8,["class","style"])):re("v-if",!0),wt(" "+Ce(e.title),1)],2),z("div",{class:R(i(s).e("action"))},[oe(b.$slots,"actions",{confirm:g,cancel:h},()=>[X(i(Bn),{size:"small",type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",onClick:h},{default:ne(()=>[wt(Ce(m.value),1)]),_:1},8,["type","text"]),X(i(Bn),{size:"small",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",onClick:g},{default:ne(()=>[wt(Ce(v.value),1)]),_:1},8,["type","text"])])],2)],2)]),default:ne(()=>[b.$slots.reference?oe(b.$slots,"reference",{key:0}):re("v-if",!0)]),_:3},16,["effect","virtual-triggering","virtual-ref","popper-class","popper-style","teleported","hide-after","persistent"]))}}),nU=tU;const aU=st(nU),oU=Ee({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:G(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:G([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:G(Function),default:e=>`${e}%`}}),rU=["aria-valuenow"],sU={viewBox:"0 0 100 100"},lU=["d","stroke","stroke-linecap","stroke-width"],iU=["d","stroke","opacity","stroke-linecap","stroke-width"],uU={key:0};var cU=se({name:"ElProgress",__name:"progress",props:oU,setup(e){const t={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},n=e,a=ge("progress"),o=C(()=>{const y={width:`${n.percentage}%`,animationDuration:`${n.duration}s`},S=w(n.percentage);return S.includes("gradient")?y.background=S:y.backgroundColor=S,y}),r=C(()=>(n.strokeWidth/n.width*100).toFixed(1)),s=C(()=>["circle","dashboard"].includes(n.type)?Number.parseInt(`${50-Number.parseFloat(r.value)/2}`,10):0),l=C(()=>{const y=s.value,S=n.type==="dashboard";return` + M 50 50 + m 0 ${S?"":"-"}${y} + a ${y} ${y} 0 1 1 0 ${S?"-":""}${y*2} + a ${y} ${y} 0 1 1 0 ${S?"":"-"}${y*2} + `}),u=C(()=>2*Math.PI*s.value),c=C(()=>n.type==="dashboard"?.75:1),d=C(()=>`${-1*u.value*(1-c.value)/2}px`),f=C(()=>({strokeDasharray:`${u.value*c.value}px, ${u.value}px`,strokeDashoffset:d.value})),p=C(()=>({strokeDasharray:`${u.value*c.value*(n.percentage/100)}px, ${u.value}px`,strokeDashoffset:d.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),g=C(()=>{let y;return n.color?y=w(n.percentage):y=t[n.status]||t.default,y}),h=C(()=>n.status==="warning"?pf:n.type==="line"?n.status==="success"?Tm:Yo:n.status==="success"?Il:Qa),v=C(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),m=C(()=>n.format(n.percentage));function b(y){const S=100/y.length;return y.map((k,x)=>Ae(k)?{color:k,percentage:(x+1)*S}:k).sort((k,x)=>k.percentage-x.percentage)}const w=y=>{const{color:S}=n;if(Fe(S))return S(y);if(Ae(S))return S;{const k=b(S);for(const x of k)if(x.percentage>y)return x.color;return k[k.length-1]?.color}};return(y,S)=>(E(),D("div",{class:R([i(a).b(),i(a).m(e.type),i(a).is(e.status),{[i(a).m("without-text")]:!e.showText,[i(a).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(E(),D("div",{key:0,class:R(i(a).b("bar"))},[z("div",{class:R(i(a).be("bar","outer")),style:ze({height:`${e.strokeWidth}px`})},[z("div",{class:R([i(a).be("bar","inner"),{[i(a).bem("bar","inner","indeterminate")]:e.indeterminate},{[i(a).bem("bar","inner","striped")]:e.striped},{[i(a).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:ze(o.value)},[(e.showText||y.$slots.default)&&e.textInside?(E(),D("div",{key:0,class:R(i(a).be("bar","innerText"))},[oe(y.$slots,"default",{percentage:e.percentage},()=>[z("span",null,Ce(m.value),1)])],2)):re("v-if",!0)],6)],6)],2)):(E(),D("div",{key:1,class:R(i(a).b("circle")),style:ze({height:`${e.width}px`,width:`${e.width}px`})},[(E(),D("svg",sU,[z("path",{class:R(i(a).be("circle","track")),d:l.value,stroke:`var(${i(a).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":r.value,fill:"none",style:ze(f.value)},null,14,lU),z("path",{class:R(i(a).be("circle","path")),d:l.value,stroke:g.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":r.value,style:ze(p.value)},null,14,iU)]))],6)),(e.showText||y.$slots.default)&&!e.textInside?(E(),D("div",{key:2,class:R(i(a).e("text")),style:ze({fontSize:`${v.value}px`})},[oe(y.$slots,"default",{percentage:e.percentage},()=>[e.status?(E(),le(i(De),{key:1},{default:ne(()=>[(E(),le(it(h.value)))]),_:1})):(E(),D("span",uU,Ce(m.value),1))])],6)):re("v-if",!0)],10,rU))}}),dU=cU;const ex=st(dU),fU=Ee({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:G([Array,Object]),default:()=>pn(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:G([Array,Object]),default:()=>[ac,ac,ac]},voidIcon:{type:Ut,default:()=>wA},disabledVoidIcon:{type:Ut,default:()=>ac},disabled:{type:Boolean,default:void 0},allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:G(Array),default:()=>pn(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:Nn,clearable:Boolean,...ia(["ariaLabel"])}),pU={[yt]:e=>Be(e),[at]:e=>Be(e)},hU=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax","tabindex","aria-disabled"],vU=["onMousemove","onClick"];var mU=se({name:"ElRate",__name:"rate",props:fU,emits:pU,setup(e,{expose:t,emit:n}){function a(P,V){const F=U=>ot(U),H=V[Object.keys(V).map(U=>+U).filter(U=>{const J=V[U];return F(J)&&J.excluded?P<U:P<=U}).sort((U,J)=>U-J)[0]];return F(H)&&H.value||H}const o=e,r=n,s=$e(Wo,void 0),l=In(),u=ge("rate"),{inputId:c,isLabeledByFormItem:d}=_a(o,{formItemContext:s}),f=M(Ma(o.modelValue,0,o.max)),p=M(-1),g=M(!0),h=M([]),v=C(()=>h.value.map(P=>P.$el.clientWidth)),m=C(()=>[u.b(),u.m(l.value)]),b=un(),w=C(()=>u.cssVarBlock({"void-color":o.voidColor,"disabled-void-color":o.disabledVoidColor,"fill-color":x.value})),y=C(()=>{let P="";return o.showScore?P=o.scoreTemplate.replace(/\{\s*value\s*\}/,b.value?`${o.modelValue}`:`${f.value}`):o.showText&&(P=o.texts[Math.ceil(f.value)-1]),P}),S=C(()=>o.modelValue*100-Math.floor(o.modelValue)*100),k=C(()=>we(o.colors)?{[o.lowThreshold]:o.colors[0],[o.highThreshold]:{value:o.colors[1],excluded:!0},[o.max]:o.colors[2]}:o.colors),x=C(()=>{const P=a(f.value,k.value);return ot(P)?"":P}),O=C(()=>{let P="";return b.value?P=`${S.value}%`:o.allowHalf&&(P="50%"),{color:x.value,width:P}}),T=C(()=>{let P=we(o.icons)?[...o.icons]:{...o.icons};return P=Ya(P),we(P)?{[o.lowThreshold]:P[0],[o.highThreshold]:{value:P[1],excluded:!0},[o.max]:P[2]}:P}),I=C(()=>a(o.modelValue,T.value)),_=C(()=>b.value?Ae(o.disabledVoidIcon)?o.disabledVoidIcon:Ya(o.disabledVoidIcon):Ae(o.voidIcon)?o.voidIcon:Ya(o.voidIcon)),N=C(()=>a(f.value,T.value));function $(P){const V=b.value&&S.value>0&&P-1<o.modelValue&&P>o.modelValue,F=o.allowHalf&&g.value&&P-.5<=f.value&&P>f.value;return V||F}function B(P){o.clearable&&P===o.modelValue&&(P=0),r(at,P),o.modelValue!==P&&r(yt,P)}function K(P){b.value||(o.allowHalf&&g.value?B(f.value):B(P))}function j(P){if(b.value)return;const V=qt(P),F=o.allowHalf?.5:1;let H=f.value;switch(V){case Se.up:case Se.right:H+=F;break;case Se.left:case Se.down:H-=F;break}if(H=Ma(H,0,o.max),H!==f.value)return P.stopPropagation(),P.preventDefault(),r(at,H),r(yt,H),H}function W(P,V){b.value||(o.allowHalf&&V?(g.value=V.offsetX*2<=v.value[P-1],f.value=g.value?P-.5:P):f.value=P,p.value=P)}function A(){b.value||(o.allowHalf&&(g.value=o.modelValue!==Math.floor(o.modelValue)),f.value=Ma(o.modelValue,0,o.max),p.value=-1)}return pe(()=>o.modelValue,P=>{f.value=Ma(P,0,o.max),g.value=o.modelValue!==Math.floor(o.modelValue)}),o.modelValue||r(at,0),t({setCurrentValue:W,resetCurrentValue:A}),(P,V)=>(E(),D("div",{id:i(c),class:R([m.value,i(u).is("disabled",i(b))]),role:"slider","aria-label":i(d)?void 0:e.ariaLabel||"rating","aria-labelledby":i(d)?i(s)?.labelId:void 0,"aria-valuenow":f.value,"aria-valuetext":y.value||void 0,"aria-valuemin":"0","aria-valuemax":e.max,style:ze(w.value),tabindex:i(b)?void 0:0,"aria-disabled":i(b),onKeydown:j},[(E(!0),D(Ve,null,kt(e.max,(F,H)=>(E(),D("span",{key:H,class:R(i(u).e("item")),onMousemove:U=>W(F,U),onMouseleave:A,onClick:U=>K(F)},[X(i(De),{ref_for:!0,ref_key:"iconRefs",ref:h,class:R([i(u).e("icon"),{hover:p.value===F},i(u).is("active",F<=f.value),i(u).is("focus-visible",F===Math.ceil(f.value||1))])},{default:ne(()=>[ct((E(),le(it(N.value),null,null,512)),[[$t,!$(F)&&F<=f.value]]),ct((E(),le(it(_.value),null,null,512)),[[$t,!$(F)&&F>f.value]]),ct((E(),le(it(_.value),{class:R([i(u).em("decimal","box")])},null,8,["class"])),[[$t,$(F)]]),ct(X(i(De),{style:ze(O.value),class:R([i(u).e("icon"),i(u).e("decimal")])},{default:ne(()=>[(E(),le(it(I.value)))]),_:1},8,["style","class"]),[[$t,$(F)]])]),_:2},1032,["class"])],42,vU))),128)),e.showText||e.showScore?(E(),D("span",{key:0,class:R(i(u).e("text")),style:ze({color:e.textColor})},Ce(y.value),7)):re("v-if",!0)],46,hU))}}),gU=mU;const bU=st(gU),fs={primary:"icon-primary",success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},G0={[fs.primary]:tu,[fs.success]:fP,[fs.warning]:pf,[fs.error]:Om,[fs.info]:tu},yU=Ee({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["primary","success","warning","info","error"],default:"info"}});var wU=se({name:"ElResult",__name:"result",props:yU,setup(e){const t=e,n=ge("result"),a=C(()=>{const o=t.icon,r=o&&fs[o]?fs[o]:"icon-info";return{class:r,component:G0[r]||G0["icon-info"]}});return(o,r)=>(E(),D("div",{class:R(i(n).b())},[z("div",{class:R(i(n).e("icon"))},[oe(o.$slots,"icon",{},()=>[a.value.component?(E(),le(it(a.value.component),{key:0,class:R(a.value.class)},null,8,["class"])):re("v-if",!0)])],2),e.title||o.$slots.title?(E(),D("div",{key:0,class:R(i(n).e("title"))},[oe(o.$slots,"title",{},()=>[z("p",null,Ce(e.title),1)])],2)):re("v-if",!0),e.subTitle||o.$slots["sub-title"]?(E(),D("div",{key:1,class:R(i(n).e("subtitle"))},[oe(o.$slots,"sub-title",{},()=>[z("p",null,Ce(e.subTitle),1)])],2)):re("v-if",!0),o.$slots.extra?(E(),D("div",{key:2,class:R(i(n).e("extra"))},[oe(o.$slots,"extra")],2)):re("v-if",!0)],2))}}),SU=wU;const CU=st(SU),sg=Symbol("ElSelectV2Injection"),kU=Ee({allowCreate:Boolean,autocomplete:{type:G(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Ut,default:Yo},effect:{type:G(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:G(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:{type:Boolean,default:void 0},estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:{type:G(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:G([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:G(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:G(Array),required:!0},placeholder:{type:String},teleported:Kt.teleported,persistent:{type:Boolean,default:!0},popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,popperOptions:{type:G(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:Nn,props:{type:G(Object),default:()=>id},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},placement:{type:G(String),values:jo,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","top-start","right","left"]},tagType:{...gr.type,default:"info"},tagEffect:{...gr.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:Kt.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return Wt(e)||Be(e)}},suffixIcon:{type:Ut,default:qo},...zs,...ia(["ariaLabel"])}),EU=Ee({data:Array,disabled:Boolean,hovering:Boolean,item:{type:G(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),xU={[at]:e=>!0,[yt]:e=>!0,"end-reached":au["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},TU={hover:e=>Be(e),select:(e,t)=>!0};var OU=se({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:ge("select")}}});function _U(e,t,n,a,o,r){return E(),D("div",{class:R(e.ns.be("group","title")),style:ze({...e.style,lineHeight:`${e.height}px`})},Ce(e.item.label),7)}var RU=Mn(OU,[["render",_U]]);function IU(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}var $U=se({props:EU,emits:TU,setup(e,{emit:t}){const n=$e(sg),a=ge("select"),{hoverItem:o,selectOptionClick:r}=IU(e,{emit:t}),{getLabel:s}=Bu(n.props),l=n.contentId;return{ns:a,contentId:l,hoverItem:o,handleMousedown:c=>{let d=c.target;const f=c.currentTarget;for(;d&&d!==f;){if(Is(d))return;d=d.parentElement}c.preventDefault()},selectOptionClick:r,getLabel:s}}});const NU=["id","aria-selected","aria-disabled"];function MU(e,t,n,a,o,r){return E(),D("li",{id:`${e.contentId}-${e.index}`,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:ze(e.style),class:R([e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]),onMousemove:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s)),onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=Xe((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))},[oe(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[z("span",null,Ce(e.getLabel(e.item)),1)])],46,NU)}var PU=Mn($U,[["render",MU]]),AU=se({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String},emits:{"end-reached":au["end-reached"]},setup(e,{slots:t,expose:n,emit:a}){const o=$e(sg),r=ge("select"),{getLabel:s,getValue:l,getDisabled:u}=Bu(o.props),c=M([]),d=M(),f=C(()=>e.data.length);pe(()=>f.value,()=>{o.tooltipRef.value?.updatePopper?.()});const p=C(()=>Rt(o.props.estimatedOptionHeight)),g=C(()=>p.value?{itemSize:o.props.itemHeight}:{estimatedSize:o.props.estimatedOptionHeight,itemSize:$=>c.value[$]}),h=($=[],B)=>{const{props:{valueKey:K}}=o;return ot(B)?$&&$.some(j=>Jt(yn(j,K))===yn(B,K)):$.includes(B)},v=($,B)=>{if(ot(B)){const{valueKey:K}=o.props;return yn($,K)===yn(B,K)}else return $===B},m=($,B)=>o.props.multiple?h($,l(B)):v($,l(B)),b=($,B)=>{const{disabled:K,multiple:j,multipleLimit:W}=o.props;return K||!B&&(j?W>0&&$.length>=W:!1)},w=$=>e.hoveringIndex===$;n({listRef:d,isSized:p,isItemDisabled:b,isItemHovering:w,isItemSelected:m,scrollToItem:$=>{const B=d.value;B&&B.scrollToItem($)},resetScrollTop:()=>{const $=d.value;$&&$.resetScrollTop()}});const k=$=>{const{index:B,data:K,style:j}=$,W=i(p),{itemSize:A,estimatedSize:P}=i(g),{modelValue:V}=o.props,{onSelect:F,onHover:H}=o,U=K[B];if(U.type==="Group")return X(RU,{item:U,style:j,height:W?A:P},null);const J=m(V,U),ee=b(V,J),ae=w(B);return X(PU,pt($,{selected:J,disabled:u(U)||ee,created:!!U.created,hovering:ae,item:U,onSelect:F,onHover:H}),{default:ce=>t.default?.(ce)||X("span",null,[s(U)])})},{onKeyboardNavigate:x,onKeyboardSelect:O}=o,T=()=>{x("forward")},I=()=>{x("backward")},_=$=>{const B=qt($),{tab:K,esc:j,down:W,up:A,enter:P,numpadEnter:V}=Se;switch([j,W,A,P,V].includes(B)&&($.preventDefault(),$.stopPropagation()),B){case K:case j:break;case W:T();break;case A:I();break;case P:case V:O();break}},N=$=>{a("end-reached",$)};return()=>{const{data:$,width:B}=e,{height:K,multiple:j,scrollbarAlwaysOn:W}=o.props,A=W,P=i(p)?gf:tF;return X("div",{class:[r.b("dropdown"),r.is("multiple",j)],style:{width:`${B}px`}},[t.header?.(),t.loading?.()||t.empty?.()||X(P,pt({ref:d},i(g),{className:r.be("dropdown","list"),scrollbarAlwaysOn:A,data:$,height:K,width:B,total:$.length,innerElement:"ul",innerProps:{id:e.id,role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},onEndReached:N,onKeydown:_}),{default:V=>X(k,V,null)}),t.footer?.()])}}});function LU(e,t){const{aliasProps:n,getLabel:a,getValue:o}=Bu(e),r=M(0),s=M(),l=C(()=>e.allowCreate&&e.filterable);pe(()=>e.options,g=>{const h=new Set(g.map(v=>a(v)));t.createdOptions=t.createdOptions.filter(v=>!h.has(a(v)))});function u(g){const h=v=>a(v)===g;return e.options&&e.options.some(h)||t.createdOptions.some(h)}function c(g){l.value&&(e.multiple&&g.created?r.value++:s.value=g)}function d(g){if(l.value)if(g&&g.length>0){if(u(g)){t.createdOptions=t.createdOptions.filter(v=>a(v)!==t.previousQuery);return}const h={[n.value.value]:g,[n.value.label]:g,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=r.value?t.createdOptions[r.value]=h:t.createdOptions.push(h)}else if(e.multiple)t.createdOptions.length=r.value;else{const h=s.value;t.createdOptions.length=0,h&&h.created&&t.createdOptions.push(h)}}function f(g){if(!l.value||!g||!g.created||g.created&&e.reserveKeyword&&t.inputValue===a(g))return;const h=t.createdOptions.findIndex(v=>o(v)===o(g));~h&&(t.createdOptions.splice(h,1),r.value--)}function p(){l.value&&(t.createdOptions.length=0,r.value=0)}return{createNewOption:d,removeNewOption:f,selectNewOption:c,clearAllNewOption:p}}const DU=(e,t)=>{const{t:n}=xt(),a=wn(),o=ge("select"),r=ge("input"),{form:s,formItem:l}=Fn(),{inputId:u}=_a(e,{formItemContext:l}),{aliasProps:c,getLabel:d,getValue:f,getDisabled:p,getOptions:g}=Bu(e),{valueOnClear:h,isEmptyValue:v}=Au(e),m=Dt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),b=M(-1),w=M(!1),y=M(),S=M(),k=M(),x=M(),O=M(),T=M(),I=M(),_=M(),N=M(),$=M(),{isComposing:B,handleCompositionStart:K,handleCompositionEnd:j,handleCompositionUpdate:W}=Pu({afterComposition:Me=>tn(Me)}),A=un(),{wrapperRef:P,isFocused:V,handleBlur:F}=Er(O,{disabled:A,afterFocus(){e.automaticDropdown&&!ee.value&&(ee.value=!0,m.menuVisibleOnFocus=!0)},beforeBlur(Me){return k.value?.isFocusInsideContent(Me)||x.value?.isFocusInsideContent(Me)},afterBlur(){ee.value=!1,m.menuVisibleOnFocus=!1,e.validateEvent&&l?.validate?.("blur").catch(ut)}}),H=C(()=>Ie("")),U=C(()=>e.loading?!1:e.options.length>0||m.createdOptions.length>0),J=M([]),ee=M(!1),ae=C(()=>s?.statusIcon??!1),ce=C(()=>{const Me=J.value.length*e.itemHeight;return Me>e.height?e.height:Me}),Z=C(()=>e.multiple?we(e.modelValue)&&e.modelValue.length>0:!v(e.modelValue)),de=C(()=>e.clearable&&!A.value&&Z.value&&(V.value||m.inputHovering)),ue=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),Y=C(()=>ue.value&&o.is("reverse",ee.value)),Q=C(()=>l?.validateState||""),L=C(()=>{if(Q.value)return hf[Q.value]}),q=C(()=>e.remote?e.debounce:0),te=C(()=>e.remote&&!m.inputValue&&!U.value),fe=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&m.inputValue&&U.value&&J.value.length===0?e.noMatchText||n("el.select.noMatch"):U.value?null:e.noDataText||n("el.select.noData")),he=C(()=>e.filterable&&Fe(e.filterMethod)),ve=C(()=>e.filterable&&e.remote&&Fe(e.remoteMethod)),Ie=Me=>{const It=new RegExp(lm(Me),"i"),_t=Ot=>he.value||ve.value?!0:Me?It.test(d(Ot)||""):!0;return e.loading?[]:[...m.createdOptions,...e.options].reduce((Ot,jn)=>{const Ra=g(jn);if(we(Ra)){const Yu=Ra.filter(_t);Yu.length>0&&Ot.push({label:d(jn),type:"Group"},...Yu)}else(e.remote||_t(jn))&&Ot.push(jn);return Ot},[])},Le=()=>{J.value=Ie(m.inputValue)},_e=C(()=>{const Me=new Map;return H.value.forEach((It,_t)=>{Me.set(Ge(f(It)),{option:It,index:_t})}),Me}),ye=C(()=>{const Me=new Map;return J.value.forEach((It,_t)=>{Me.set(Ge(f(It)),{option:It,index:_t})}),Me}),Te=C(()=>J.value.every(Me=>p(Me))),be=In(),Pe=C(()=>be.value==="small"?"small":"default"),He=()=>{if(Be(e.fitInputWidth)){b.value=e.fitInputWidth;return}const Me=y.value?.offsetWidth||200;!e.fitInputWidth&&U.value?Ne(()=>{b.value=Math.max(Me,Je())}):b.value=Me},Je=()=>{const Me=document.createElement("canvas").getContext("2d"),It=o.be("dropdown","item"),_t=(_.value?.listRef?.innerRef||document).querySelector(`.${It}`);if(_t===null||Me===null)return 0;const Ot=getComputedStyle(_t),jn=Number.parseFloat(Ot.paddingLeft)+Number.parseFloat(Ot.paddingRight);return Me.font=`bold ${Ot.font.replace(new RegExp(`\\b${Ot.fontWeight}\\b`),"")}`,J.value.reduce((Ra,Yu)=>{const jT=Me.measureText(d(Yu));return Math.max(jT.width,Ra)},0)+jn},Qe=()=>{if(!S.value)return 0;const Me=window.getComputedStyle(S.value);return Number.parseFloat(Me.gap||"6px")},lt=C(()=>{const Me=Qe(),It=e.filterable?Me+11:0;return{maxWidth:`${$.value&&e.maxCollapseTags===1?m.selectionWidth-m.collapseItemWidth-Me-It:m.selectionWidth-It}px`}}),Ze=C(()=>({maxWidth:`${m.selectionWidth}px`})),gt=C(()=>we(e.modelValue)?e.modelValue.length===0&&!m.inputValue:e.filterable?!m.inputValue:!0),Pt=C(()=>{const Me=e.placeholder??n("el.select.placeholder");return e.multiple||!Z.value?Me:m.selectedLabel}),zt=C(()=>k.value?.popperRef?.contentRef),nt=C(()=>{if(e.multiple){const Me=e.modelValue.length;if(Me>0&&ye.value.has(e.modelValue[Me-1])){const{index:It}=ye.value.get(e.modelValue[Me-1]);return It}}else if(!v(e.modelValue)&&ye.value.has(e.modelValue)){const{index:Me}=ye.value.get(e.modelValue);return Me}return-1}),ft=C({get(){return ee.value&&(e.loading||!te.value||e.remote&&!!a.empty)&&(!w.value||!ha(m.previousQuery)||U.value)},set(Me){ee.value=Me}}),me=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(0,e.maxCollapseTags):m.cachedOptions:[]),je=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:ie,removeNewOption:xe,selectNewOption:Ue,clearAllNewOption:et}=LU(e,m),bt=Me=>{A.value||e.filterable&&ee.value&&Me&&!I.value?.contains(Me.target)||(m.menuVisibleOnFocus?m.menuVisibleOnFocus=!1:ee.value=!ee.value)},vt=()=>{m.inputValue.length>0&&!ee.value&&(ee.value=!0),ie(m.inputValue),Ne(()=>{Yt(m.inputValue)})},Et=xu(()=>{vt(),w.value=!1},q),Yt=Me=>{m.previousQuery===Me||B.value||(m.previousQuery=Me,e.filterable&&Fe(e.filterMethod)?e.filterMethod(Me):e.filterable&&e.remote&&Fe(e.remoteMethod)&&e.remoteMethod(Me),e.defaultFirstOption&&(e.filterable||e.remote)&&J.value.length?Ne(on):Ne(Ft))},on=()=>{const Me=J.value.filter(Ot=>!Ot.disabled&&Ot.type!=="Group"),It=Me.find(Ot=>Ot.created),_t=Me[0];m.hoveringIndex=Ye(J.value,It||_t)},At=Me=>{fn(e.modelValue,Me)||t(yt,Me)},en=Me=>{t(at,Me),At(Me),m.previousValue=e.multiple?String(Me):Me,Ne(()=>{if(e.multiple&&we(e.modelValue)){const It=m.cachedOptions.slice(),_t=e.modelValue.map(Ot=>Fg(Ot,It));fn(m.cachedOptions,_t)||(m.cachedOptions=_t)}else qu(!0)})},Ye=(Me=[],It)=>{if(!ot(It))return Me.indexOf(It);const _t=e.valueKey;let Ot=-1;return Me.some((jn,Ra)=>yn(jn,_t)===yn(It,_t)?(Ot=Ra,!0):!1),Ot},Ge=Me=>ot(Me)?yn(Me,e.valueKey):Me,tt=()=>{He()},Oe=Me=>{t("end-reached",Me)},Ke=()=>{m.selectionWidth=Number.parseFloat(window.getComputedStyle(S.value).width)},We=()=>{m.collapseItemWidth=$.value.getBoundingClientRect().width},Xt=()=>{k.value?.updatePopper?.()},cn=()=>{x.value?.updatePopper?.()},On=Me=>{const It=f(Me);if(e.multiple){let _t=e.modelValue.slice();const Ot=Ye(_t,It);Ot>-1?(_t=[..._t.slice(0,Ot),..._t.slice(Ot+1)],m.cachedOptions.splice(Ot,1),xe(Me)):(e.multipleLimit<=0||_t.length<e.multipleLimit)&&(_t=[..._t,It],m.cachedOptions.push(Me),Ue(Me)),en(_t),Me.created&&Yt(""),e.filterable&&(Me.created||!e.reserveKeyword)&&(m.inputValue="")}else m.selectedLabel=d(Me),!fn(e.modelValue,It)&&en(It),ee.value=!1,Ue(Me),Me.created||et();ya()},Xn=(Me,It)=>{let _t=e.modelValue.slice();const Ot=Ye(_t,f(It));Ot>-1&&!A.value&&(_t=[...e.modelValue.slice(0,Ot),...e.modelValue.slice(Ot+1)],m.cachedOptions.splice(Ot,1),en(_t),t("remove-tag",f(It)),xe(It)),Me.stopPropagation(),ya()},ya=()=>{O.value?.focus()},to=()=>{if(ee.value){ee.value=!1,Ne(()=>O.value?.blur());return}O.value?.blur()},Mf=()=>{m.inputValue.length>0?m.inputValue="":ee.value=!1},Pf=Me=>SS(Me,It=>!m.cachedOptions.some(_t=>f(_t)===It&&p(_t))),Af=Me=>{const It=qt(Me);if(e.multiple&&It!==Se.delete&&m.inputValue.length===0){Me.preventDefault();const _t=e.modelValue.slice(),Ot=Pf(_t);if(Ot<0)return;const jn=_t[Ot];_t.splice(Ot,1);const Ra=m.cachedOptions[Ot];m.cachedOptions.splice(Ot,1),xe(Ra),en(_t),t("remove-tag",jn)}},Lf=()=>{let Me;we(e.modelValue)?Me=[]:Me=h.value,m.selectedLabel="",ee.value=!1,en(Me),t("clear"),et(),ya()},Ks=(Me,It=void 0)=>{const _t=J.value;if(!["forward","backward"].includes(Me)||A.value||_t.length<=0||Te.value||B.value)return;if(!ee.value)return bt();Rt(It)&&(It=m.hoveringIndex);let Ot=-1;Me==="forward"?(Ot=It+1,Ot>=_t.length&&(Ot=0)):Me==="backward"&&(Ot=It-1,(Ot<0||Ot>=_t.length)&&(Ot=_t.length-1));const jn=_t[Ot];if(p(jn)||jn.type==="Group")return Ks(Me,Ot);m.hoveringIndex=Ot,_r(Ot)},Re=()=>{if(ee.value)~m.hoveringIndex&&J.value[m.hoveringIndex]&&On(J.value[m.hoveringIndex]);else return bt()},mt=Me=>{m.hoveringIndex=Me??-1},Ft=()=>{if(!e.multiple)m.hoveringIndex=J.value.findIndex(Me=>Ge(f(Me))===Ge(e.modelValue));else{const Me=e.modelValue.length;if(Me>0){const It=e.modelValue[Me-1];m.hoveringIndex=J.value.findIndex(_t=>Ge(It)===Ge(f(_t)))}else m.hoveringIndex=-1}},tn=Me=>{if(m.inputValue=Me.target.value,e.remote)w.value=!0,Et();else return vt()},_n=Me=>{ee.value=!1,V.value&&F(new FocusEvent("blur",Me))},wa=()=>(m.isBeforeHide=!1,Ne(()=>{~nt.value&&_r(nt.value)})),_r=Me=>{_.value.scrollToItem(Me)},Fg=(Me,It)=>{const _t=Ge(Me);if(_e.value.has(_t)){const{option:Ot}=_e.value.get(_t);return Ot}if(It&&It.length){const Ot=It.find(jn=>Ge(f(jn))===_t);if(Ot)return Ot}return{[c.value.value]:Me,[c.value.label]:Me}},WT=Me=>_e.value.get(f(Me))?.index??-1,qu=(Me=!1)=>{if(e.multiple)if(e.modelValue.length>0){const It=m.cachedOptions.slice();m.cachedOptions.length=0,m.previousValue=e.modelValue.toString();for(const _t of e.modelValue){const Ot=Fg(_t,It);m.cachedOptions.push(Ot)}}else m.cachedOptions=[],m.previousValue=void 0;else if(Z.value){m.previousValue=e.modelValue;const It=J.value,_t=It.findIndex(Ot=>Ge(f(Ot))===Ge(e.modelValue));~_t?m.selectedLabel=d(It[_t]):(!m.selectedLabel||Me)&&(m.selectedLabel=Ge(e.modelValue))}else m.selectedLabel="",m.previousValue=void 0;et(),He()};pe(()=>e.fitInputWidth,()=>{He()}),pe(ee,Me=>{Me?(e.persistent||He(),Yt("")):(m.inputValue="",m.previousQuery=null,m.isBeforeHide=!0,m.menuVisibleOnFocus=!1,ie(""))}),pe(()=>e.modelValue,(Me,It)=>{(!Me||we(Me)&&Me.length===0||e.multiple&&!fn(Me.toString(),m.previousValue)||!e.multiple&&Ge(Me)!==Ge(m.previousValue))&&qu(!0),!fn(Me,It)&&e.validateEvent&&l?.validate?.("change").catch(ut)},{deep:!0}),pe(()=>e.options,()=>{const Me=O.value;(!Me||Me&&document.activeElement!==Me)&&qu()},{deep:!0,flush:"post"}),pe(()=>J.value,()=>(He(),_.value&&Ne(_.value.resetScrollTop))),la(()=>{m.isBeforeHide||Le()}),la(()=>{const{valueKey:Me,options:It}=e,_t=new Map;for(const Ot of It){const jn=f(Ot);let Ra=jn;if(ot(Ra)&&(Ra=yn(jn,Me)),_t.get(Ra)){jt("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else _t.set(Ra,!0)}}),ht(()=>{qu()}),an(y,tt),an(S,Ke),an(P,Xt),an(N,cn),an($,We);let Df;return pe(()=>ft.value,Me=>{Me?Df=an(_,Xt).stop:(Df?.(),Df=void 0),t("visible-change",Me)}),{inputId:u,collapseTagSize:Pe,currentPlaceholder:Pt,expanded:ee,emptyText:fe,popupHeight:ce,debounce:q,allOptions:H,allOptionsValueMap:_e,filteredOptions:J,iconComponent:ue,iconReverse:Y,tagStyle:lt,collapseTagStyle:Ze,popperSize:b,dropdownMenuVisible:ft,hasModelValue:Z,shouldShowPlaceholder:gt,selectDisabled:A,selectSize:be,needStatusIcon:ae,showClearBtn:de,states:m,isFocused:V,nsSelect:o,nsInput:r,inputRef:O,menuRef:_,tagMenuRef:N,tooltipRef:k,tagTooltipRef:x,selectRef:y,wrapperRef:P,selectionRef:S,prefixRef:T,suffixRef:I,collapseItemRef:$,popperRef:zt,validateState:Q,validateIcon:L,showTagList:me,collapseTagList:je,debouncedOnInputChange:Et,deleteTag:Xn,getLabel:d,getValue:f,getDisabled:p,getValueKey:Ge,getIndex:WT,handleClear:Lf,handleClickOutside:_n,handleDel:Af,handleEsc:Mf,focus:ya,blur:to,handleMenuEnter:wa,handleResize:tt,resetSelectionWidth:Ke,updateTooltip:Xt,updateTagTooltip:cn,updateOptions:Le,toggleMenu:bt,scrollTo:_r,onInput:tn,onKeyboardNavigate:Ks,onKeyboardSelect:Re,onEndReached:Oe,onSelect:On,onHover:mt,handleCompositionStart:K,handleCompositionEnd:j,handleCompositionUpdate:W}};var BU=se({name:"ElSelectV2",components:{ElSelectMenu:AU,ElTag:cr,ElTooltip:Wn,ElIcon:De},directives:{ClickOutside:Qr},props:kU,emits:xU,setup(e,{emit:t}){const n=C(()=>{const{modelValue:u,multiple:c}=e,d=c?[]:void 0;return we(u)?c?u:d:c?d:u}),a=DU(Dt({...Pn(e),modelValue:n}),t),{calculatorRef:o,inputStyle:r}=sm(),s=Gn();St(sg,{props:Dt({...Pn(e),height:a.popupHeight,modelValue:n}),expanded:a.expanded,tooltipRef:a.tooltipRef,contentId:s,onSelect:a.onSelect,onHover:a.onHover,onKeyboardNavigate:a.onKeyboardNavigate,onKeyboardSelect:a.onKeyboardSelect});const l=C(()=>e.multiple?a.states.cachedOptions.map(u=>a.getLabel(u)):a.states.selectedLabel);return{...a,modelValue:n,selectedLabel:l,calculatorRef:o,inputStyle:r,contentId:s,BORDER_HORIZONTAL_WIDTH:2}}});const VU=["id","value","autocomplete","tabindex","aria-expanded","aria-label","disabled","aria-controls","aria-activedescendant","readonly","name"],FU=["textContent"],zU={key:1};function HU(e,t,n,a,o,r){const s=Mt("el-tag"),l=Mt("el-tooltip"),u=Mt("el-icon"),c=Mt("el-select-menu"),d=Lv("click-outside");return ct((E(),D("div",{ref:"selectRef",class:R([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=f=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=f=>e.states.inputHovering=!1)},[X(l,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=f=>e.states.isBeforeHide=!1)},{default:ne(()=>[z("div",{ref:"wrapperRef",class:R([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[11]||(t[11]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["prevent"]))},[e.$slots.prefix?(E(),D("div",{key:0,ref:"prefixRef",class:R(e.nsSelect.e("prefix"))},[oe(e.$slots,"prefix")],2)):re("v-if",!0),z("div",{ref:"selectionRef",class:R([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?oe(e.$slots,"tag",{key:0,data:e.states.cachedOptions,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),D(Ve,null,kt(e.showTagList,f=>(E(),D("div",{key:e.getValueKey(e.getValue(f)),class:R(e.nsSelect.e("selected-item"))},[X(s,{closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:ze(e.tagStyle),onClose:p=>e.deleteTag(p,f)},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))},[oe(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[wt(Ce(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.cachedOptions.length>e.maxCollapseTags?(E(),le(l,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ne(()=>[z("div",{ref:"collapseItemRef",class:R(e.nsSelect.e("selected-item"))},[X(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,style:ze(e.collapseTagStyle),"disable-transitions":""},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))}," + "+Ce(e.states.cachedOptions.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ne(()=>[z("div",{ref:"tagMenuRef",class:R(e.nsSelect.e("selection"))},[(E(!0),D(Ve,null,kt(e.collapseTagList,f=>(E(),D("div",{key:e.getValueKey(e.getValue(f)),class:R(e.nsSelect.e("selected-item"))},[X(s,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:p=>e.deleteTag(p,f)},{default:ne(()=>[z("span",{class:R(e.nsSelect.e("tags-text"))},[oe(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[wt(Ce(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):re("v-if",!0)]):re("v-if",!0),z("div",{class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||!e.states.inputValue&&!e.isFocused)])},[z("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,style:ze(e.inputStyle),autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-autocomplete":"none","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:R([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox","aria-controls":e.contentId,"aria-activedescendant":e.states.hoveringIndex>=0?`${e.contentId}-${e.states.hoveringIndex}`:"",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onInput:t[0]||(t[0]=(...f)=>e.onInput&&e.onInput(...f)),onChange:t[1]||(t[1]=Xe(()=>{},["stop"])),onCompositionstart:t[2]||(t[2]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[3]||(t[3]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[4]||(t[4]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onKeydown:[t[5]||(t[5]=dn(Xe(f=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[6]||(t[6]=dn(Xe(f=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[7]||(t[7]=dn(Xe((...f)=>e.onKeyboardSelect&&e.onKeyboardSelect(...f),["stop","prevent"]),["enter"])),t[8]||(t[8]=dn(Xe((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[9]||(t[9]=dn(Xe((...f)=>e.handleDel&&e.handleDel(...f),["stop"]),["delete"]))],onClick:t[10]||(t[10]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,VU),e.filterable?(E(),D("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:R(e.nsSelect.e("input-calculator")),textContent:Ce(e.states.inputValue)},null,10,FU)):re("v-if",!0)],2),e.shouldShowPlaceholder?(E(),D("div",{key:1,class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?oe(e.$slots,"label",{key:0,index:e.allOptionsValueMap.get(e.modelValue)?.index??-1,label:e.currentPlaceholder,value:e.modelValue},()=>[z("span",null,Ce(e.currentPlaceholder),1)]):(E(),D("span",zU,Ce(e.currentPlaceholder),1))],2)):re("v-if",!0)],2),z("div",{ref:"suffixRef",class:R(e.nsSelect.e("suffix"))},[e.iconComponent?ct((E(),le(u,{key:0,class:R([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:ne(()=>[(E(),le(it(e.iconComponent)))]),_:1},8,["class"])),[[$t,!e.showClearBtn]]):re("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),le(u,{key:1,class:R([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.nsSelect.e("clear")]),onClick:Xe(e.handleClear,["prevent","stop"])},{default:ne(()=>[(E(),le(it(e.clearIcon)))]),_:1},8,["class","onClick"])):re("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),le(u,{key:2,class:R([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ne(()=>[(E(),le(it(e.validateIcon)))]),_:1},8,["class"])):re("v-if",!0)],2)],2)]),content:ne(()=>[X(c,{id:e.contentId,ref:"menuRef",data:e.filteredOptions,width:e.popperSize-e.BORDER_HORIZONTAL_WIDTH,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn,"aria-label":e.ariaLabel,onEndReached:e.onEndReached},ma({default:ne(f=>[oe(e.$slots,"default",sr(ir(f)))]),_:2},[e.$slots.header?{name:"header",fn:ne(()=>[z("div",{class:R(e.nsSelect.be("dropdown","header")),onClick:t[12]||(t[12]=Xe(()=>{},["stop"]))},[oe(e.$slots,"header")],2)]),key:"0"}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:ne(()=>[z("div",{class:R(e.nsSelect.be("dropdown","loading"))},[oe(e.$slots,"loading")],2)]),key:"1"}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:ne(()=>[z("div",{class:R(e.nsSelect.be("dropdown","empty"))},[oe(e.$slots,"empty",{},()=>[z("span",null,Ce(e.emptyText),1)])],2)]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:ne(()=>[z("div",{class:R(e.nsSelect.be("dropdown","footer")),onClick:t[13]||(t[13]=Xe(()=>{},["stop"]))},[oe(e.$slots,"footer")],2)]),key:"3"}:void 0]),1032,["id","data","width","hovering-index","scrollbar-always-on","aria-label","onEndReached"])]),_:3},8,["visible","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","placement","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],34)),[[d,e.handleClickOutside,e.popperRef]])}var KU=Mn(BU,[["render",HU]]);const WU=st(KU),jU=Ee({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:G([Number,Object])}}),UU=Ee({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var qU=se({name:"ElSkeletonItem",__name:"skeleton-item",props:UU,setup(e){const t=ge("skeleton");return(n,a)=>(E(),D("div",{class:R([i(t).e("item"),i(t).e(e.variant)])},[e.variant==="image"?(E(),le(i(JP),{key:0})):re("v-if",!0)],2))}}),Cd=qU,YU=se({name:"ElSkeleton",__name:"skeleton",props:jU,setup(e,{expose:t}){const n=e,a=ge("skeleton"),o=V6(Ht(n,"loading"),n.throttle);return t({uiLoading:o}),(r,s)=>i(o)?(E(),D("div",pt({key:0,class:[i(a).b(),i(a).is("animated",e.animated)]},r.$attrs),[(E(!0),D(Ve,null,kt(e.count,l=>(E(),D(Ve,{key:l},[i(o)?oe(r.$slots,"template",{key:l},()=>[X(Cd,{class:R(i(a).is("first")),variant:"p"},null,8,["class"]),(E(!0),D(Ve,null,kt(e.rows,u=>(E(),le(Cd,{key:u,class:R([i(a).e("paragraph"),i(a).is("last",u===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):re("v-if",!0)],64))),128))],16)):oe(r.$slots,"default",sr(pt({key:1},r.$attrs)))}}),GU=YU;const XU=st(GU,{SkeletonItem:Cd}),JU=ln(Cd),tx=Symbol("sliderContextKey"),ZU=Ee({modelValue:{type:G([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:G([Number,String]),default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Nn,inputSize:Nn,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:G(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:G(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:jo,default:"top"},marks:{type:G(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...ia(["ariaLabel"])}),kp=e=>Be(e)||we(e)&&e.every(Be),QU={[at]:kp,[Tn]:kp,[yt]:kp},eq=(e,t,n)=>{const a=M();return ht(async()=>{e.range?(we(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!Be(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),Bt(window,"resize",n),await Ne(),n()}),{sliderWrapper:a}},tq=e=>{const t=C(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((n,a)=>n-a).filter(n=>n<=e.max&&n>=e.min).map(n=>({point:n,position:(n-e.min)*100/(e.max-e.min),mark:e.marks[n]})):[]);return la(()=>{if(e.step==="mark"&&!e.marks&&jt("ElSlider","marks prop must be provided when step is mark"),e.marks){const n=Object.keys(e.marks),a=t.value.map(r=>r.point),o=n.filter(r=>{const s=Number.parseFloat(r);return Number.isNaN(s)||!a.includes(s)});o.length>0&&jt("ElSlider",`Some marks keys are invalid (not a number or out of [min, max]): [${o.map(r=>`'${r}'`).join(", ")}] and will be ignored.`)}}),t},nq=(e,t,n)=>{const{formItem:a}=Fn(),o=Tt(),r=M(),s=M(),l={firstButton:r,secondButton:s},u=un(),c=C(()=>Math.min(t.firstValue,t.secondValue)),d=C(()=>Math.max(t.firstValue,t.secondValue)),f=C(()=>e.range?`${100*(d.value-c.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),p=C(()=>e.range?`${100*(c.value-e.min)/(e.max-e.min)}%`:"0%"),g=C(()=>e.vertical?{height:e.height}:{}),h=C(()=>e.vertical?{height:f.value,bottom:p.value}:{width:f.value,left:p.value}),v=()=>{o.value&&(t.sliderSize=o.value.getBoundingClientRect()[e.vertical?"height":"width"])},m=N=>{const $=e.min+N*(e.max-e.min)/100;if(!e.range)return r;let B;return Math.abs(c.value-$)<Math.abs(d.value-$)?B=t.firstValue<t.secondValue?"firstButton":"secondButton":B=t.firstValue>t.secondValue?"firstButton":"secondButton",l[B]},b=N=>{const $=m(N);return $.value.setPosition(N),$},w=N=>{t.firstValue=N??e.min,S(e.range?[c.value,d.value]:N??e.min)},y=N=>{t.secondValue=N,e.range&&S([c.value,d.value])},S=N=>{n(at,N),n(Tn,N)},k=async()=>{await Ne(),n(yt,e.range?[c.value,d.value]:e.modelValue)},x=N=>{if(u.value||t.dragging)return;v();let $=0;if(e.vertical){const B=N.touches?.item(0)?.clientY??N.clientY;$=(o.value.getBoundingClientRect().bottom-B)/t.sliderSize*100}else $=((N.touches?.item(0)?.clientX??N.clientX)-o.value.getBoundingClientRect().left)/t.sliderSize*100;if(!($<0||$>100))return b($)};return{elFormItem:a,slider:o,firstButton:r,secondButton:s,sliderDisabled:u,minValue:c,maxValue:d,runwayStyle:g,barStyle:h,resetSize:v,setPosition:b,emitChange:k,onSliderWrapperPrevent:N=>{(l.firstButton.value?.dragging||l.secondButton.value?.dragging)&&N.preventDefault()},onSliderClick:N=>{x(N)&&k()},onSliderDown:async N=>{const $=x(N);$&&(await Ne(),$.value.onButtonDown(N))},onSliderMarkerDown:N=>{u.value||t.dragging||b(N)&&k()},setFirstValue:w,setSecondValue:y}},aq=(e,t,n,a)=>({stops:C(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step==="mark"||e.step===0)return e.step===0&&jt("ElSlider","step should not be 0."),[];const s=Math.ceil((e.max-e.min)/e.step),l=100*e.step/(e.max-e.min),u=Array.from({length:s-1}).map((c,d)=>(d+1)*l);return e.range?u.filter(c=>c<100*(n.value-e.min)/(e.max-e.min)||c>100*(a.value-e.min)/(e.max-e.min)):u.filter(c=>c>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:s=>e.vertical?{bottom:`${s}%`}:{left:`${s}%`}}),oq=(e,t,n,a,o,r)=>{const s=c=>{o(at,c),o(Tn,c)},l=()=>e.range?![n.value,a.value].every((c,d)=>c===t.oldValue[d]):e.modelValue!==t.oldValue,u=()=>{e.min>e.max&&sn("Slider","min should not be greater than max.");const c=e.modelValue;e.range&&we(c)?c[1]<e.min?s([e.min,e.min]):c[0]>e.max?s([e.max,e.max]):c[0]<e.min?s([e.min,c[1]]):c[1]>e.max?s([c[0],e.max]):(t.firstValue=c[0],t.secondValue=c[1],l()&&(e.validateEvent&&r?.validate?.("change").catch(ut),t.oldValue=c.slice())):!e.range&&Be(c)&&!Number.isNaN(c)&&(c<e.min?s(e.min):c>e.max?s(e.max):(t.firstValue=c,l()&&(e.validateEvent&&r?.validate?.("change").catch(ut),t.oldValue=c)))};u(),pe(()=>t.dragging,c=>{c||u()}),pe(()=>e.modelValue,(c,d)=>{t.dragging||we(c)&&we(d)&&c.every((f,p)=>f===d[p])&&t.firstValue===c[0]&&t.secondValue===c[1]||u()},{deep:!0}),pe(()=>[e.min,e.max],()=>{u()})},rq=(e,t,n)=>{const a=M(),o=M(!1),r=C(()=>t.value instanceof Function);return{tooltip:a,tooltipVisible:o,formatValue:C(()=>r.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:Ho(()=>{n.value&&(o.value=!0)},50),hideTooltip:Ho(()=>{n.value&&(o.value=!1)},50)}},sq=(e,t,n)=>{const{disabled:a,min:o,max:r,step:s,showTooltip:l,persistent:u,precision:c,sliderSize:d,formatTooltip:f,emitChange:p,resetSize:g,updateDragging:h,markList:v}=$e(tx),{tooltip:m,tooltipVisible:b,formatValue:w,displayTooltip:y,hideTooltip:S}=rq(e,f,l),k=M(),x=C(()=>`${(e.modelValue-o.value)/(r.value-o.value)*100}%`),O=C(()=>e.vertical?{bottom:x.value}:{left:x.value}),T=C(()=>s.value==="mark"&&v.value.length>0),I=()=>{t.hovering=!0,y()},_=()=>{t.hovering=!1,t.dragging||S()},N=ce=>{a.value||(ce.preventDefault(),U(ce),window.addEventListener("mousemove",J),window.addEventListener("touchmove",J),window.addEventListener("mouseup",ee),window.addEventListener("touchend",ee),window.addEventListener("contextmenu",ee),k.value.focus())},$=ce=>{a.value||(t.newPosition=Number.parseFloat(x.value)+ce/(r.value-o.value)*100,ae(t.newPosition),p())},B=ce=>{if(a.value||!v.value.length)return;const Z=e.modelValue,de=Number.EPSILON,ue=Math.abs(ce);let Y;if(ce>0){const Q=v.value.findIndex(L=>L.point>Z+de);if(Q!==-1){const L=Math.min(Q+ue-1,v.value.length-1);Y=v.value[L].point}}else{let Q=-1;for(let L=v.value.length-1;L>=0;L--)if(v.value[L].point<Z-de){Q=L;break}if(Q!==-1){const L=Math.max(Q-(ue-1),0);Y=v.value[L].point}}Y!==void 0&&Y!==Z&&(ae((Y-o.value)/(r.value-o.value)*100),p())},K=()=>{T.value?B(-1):Be(s.value)&&$(-s.value)},j=()=>{T.value?B(1):Be(s.value)&&$(s.value)},W=()=>{T.value?B(-4):Be(s.value)&&$(-s.value*4)},A=()=>{T.value?B(4):Be(s.value)&&$(s.value*4)},P=()=>{a.value||(ae(0),p())},V=()=>{a.value||(ae(100),p())},F=ce=>{const Z=qt(ce);let de=!0;switch(Z){case Se.left:case Se.down:K();break;case Se.right:case Se.up:j();break;case Se.home:P();break;case Se.end:V();break;case Se.pageDown:W();break;case Se.pageUp:A();break;default:de=!1;break}de&&ce.preventDefault()},H=ce=>{let Z,de;return ce.type.startsWith("touch")?(de=ce.touches[0].clientY,Z=ce.touches[0].clientX):(de=ce.clientY,Z=ce.clientX),{clientX:Z,clientY:de}},U=ce=>{t.dragging=!0,t.isClick=!0;const{clientX:Z,clientY:de}=H(ce);e.vertical?t.startY=de:t.startX=Z,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},J=ce=>{if(t.dragging){t.isClick=!1,y(),g();let Z;const{clientX:de,clientY:ue}=H(ce);e.vertical?(t.currentY=ue,Z=(t.startY-t.currentY)/d.value*100):(t.currentX=de,Z=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+Z,ae(t.newPosition)}},ee=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||S(),t.isClick||ae(t.newPosition),p()},0),window.removeEventListener("mousemove",J),window.removeEventListener("touchmove",J),window.removeEventListener("mouseup",ee),window.removeEventListener("touchend",ee),window.removeEventListener("contextmenu",ee))},ae=async ce=>{if(ce===null||Number.isNaN(+ce))return;ce=Ma(ce,0,100);let Z;if(s.value==="mark")v.value.length===0?Z=ce<=50?o.value:r.value:Z=v.value.reduce((de,ue)=>Math.abs(ue.position-ce)<Math.abs(de.position-ce)?ue:de).point;else{const de=Math.floor((r.value-o.value)/s.value),ue=de*s.value/(r.value-o.value)*100,Y=ue+(100-ue)/2;if(ce<ue){const Q=ue/de,L=Math.round(ce/Q);Z=o.value+L*s.value}else ce<Y?Z=o.value+de*s.value:Z=r.value;Z=Number.parseFloat(Z.toFixed(c.value))}Z!==e.modelValue&&n(at,Z),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await Ne(),t.dragging&&y(),m.value.updatePopper()};return pe(()=>t.dragging,ce=>{h(ce)}),Bt(k,"touchstart",N,{passive:!1}),{disabled:a,button:k,tooltip:m,tooltipVisible:b,showTooltip:l,persistent:u,wrapperStyle:O,formatValue:w,handleMouseEnter:I,handleMouseLeave:_,onButtonDown:N,onKeyDown:F,setPosition:ae}},lq=Ee({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:jo,default:"top"}}),iq={[at]:e=>Be(e)},uq=["tabindex"];var cq=se({name:"ElSliderButton",__name:"button",props:lq,emits:iq,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("slider"),s=Dt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:a.modelValue}),l=C(()=>f.value?p.value:!1),{disabled:u,button:c,tooltip:d,showTooltip:f,persistent:p,tooltipVisible:g,wrapperStyle:h,formatValue:v,handleMouseEnter:m,handleMouseLeave:b,onButtonDown:w,onKeyDown:y,setPosition:S}=sq(a,s,o),{hovering:k,dragging:x}=Pn(s);return t({onButtonDown:w,onKeyDown:y,setPosition:S,hovering:k,dragging:x}),(O,T)=>(E(),D("div",{ref_key:"button",ref:c,class:R([i(r).e("button-wrapper"),{hover:i(k),dragging:i(x)}]),style:ze(i(h)),tabindex:i(u)?void 0:0,onMouseenter:T[0]||(T[0]=(...I)=>i(m)&&i(m)(...I)),onMouseleave:T[1]||(T[1]=(...I)=>i(b)&&i(b)(...I)),onMousedown:T[2]||(T[2]=(...I)=>i(w)&&i(w)(...I)),onFocus:T[3]||(T[3]=(...I)=>i(m)&&i(m)(...I)),onBlur:T[4]||(T[4]=(...I)=>i(b)&&i(b)(...I)),onKeydown:T[5]||(T[5]=(...I)=>i(y)&&i(y)(...I))},[X(i(Wn),{ref_key:"tooltip",ref:d,visible:i(g),placement:O.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":O.tooltipClass,disabled:!i(f),persistent:l.value},{content:ne(()=>[z("span",null,Ce(i(v)),1)]),default:ne(()=>[z("div",{class:R([i(r).e("button"),{hover:i(k),dragging:i(x)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled","persistent"])],46,uq))}}),X0=cq;const dq=Ee({mark:{type:G([String,Object]),default:void 0}});var fq=se({name:"ElSliderMarker",props:dq,setup(e){const t=ge("slider"),n=C(()=>Ae(e.mark)?e.mark:e.mark.label),a=C(()=>Ae(e.mark)?void 0:e.mark.style);return()=>qe("div",{class:t.e("marks-text"),style:a.value},n.value)}});const pq=["id","role","aria-label","aria-labelledby"],hq={key:1};var vq=se({name:"ElSlider",__name:"slider",props:ZU,emits:QU,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("slider"),{t:s}=xt(),l=Dt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:u,slider:c,firstButton:d,secondButton:f,sliderDisabled:p,minValue:g,maxValue:h,runwayStyle:v,barStyle:m,resetSize:b,emitChange:w,onSliderWrapperPrevent:y,onSliderClick:S,onSliderDown:k,onSliderMarkerDown:x,setFirstValue:O,setSecondValue:T}=nq(a,l,o),{stops:I,getStopStyle:_}=aq(a,l,g,h),{inputId:N,isLabeledByFormItem:$}=_a(a,{formItemContext:u}),B=In(),K=C(()=>a.inputSize||B.value),j=C(()=>a.showInput&&!a.range&&a.step!=="mark"),W=C(()=>a.ariaLabel||s("el.slider.defaultLabel",{min:a.min,max:a.max})),A=C(()=>a.range?a.rangeStartLabel||s("el.slider.defaultRangeStartLabel"):W.value),P=C(()=>a.formatValueText?a.formatValueText(ce.value):`${ce.value}`),V=C(()=>a.rangeEndLabel||s("el.slider.defaultRangeEndLabel")),F=C(()=>a.formatValueText?a.formatValueText(Z.value):`${Z.value}`),H=C(()=>[r.b(),r.m(B.value),r.is("vertical",a.vertical),{[r.m("with-input")]:j.value}]),U=tq(a);oq(a,l,g,h,o,u);const J=C(()=>Be(a.step)?a.step:1),ee=C(()=>{const Y=Be(a.step)?a.step:1,Q=[a.min,a.max,Y].map(L=>{const q=`${L}`.split(".")[1];return q?q.length:0});return Math.max.apply(null,Q)}),{sliderWrapper:ae}=eq(a,l,b),{firstValue:ce,secondValue:Z,sliderSize:de}=Pn(l),ue=Y=>{l.dragging=Y};return Bt(ae,"touchstart",y,{passive:!1}),Bt(ae,"touchmove",y,{passive:!1}),St(tx,{...Pn(a),sliderSize:de,disabled:p,precision:ee,markList:U,emitChange:w,resetSize:b,updateDragging:ue}),t({onSliderClick:S}),(Y,Q)=>(E(),D("div",{id:Y.range?i(N):void 0,ref_key:"sliderWrapper",ref:ae,class:R(H.value),role:Y.range?"group":void 0,"aria-label":Y.range&&!i($)?W.value:void 0,"aria-labelledby":Y.range&&i($)?i(u)?.labelId:void 0},[z("div",{ref_key:"slider",ref:c,class:R([i(r).e("runway"),{"show-input":j.value},i(r).is("disabled",i(p))]),style:ze(i(v)),onMousedown:Q[0]||(Q[0]=(...L)=>i(k)&&i(k)(...L)),onTouchstartPassive:Q[1]||(Q[1]=(...L)=>i(k)&&i(k)(...L))},[z("div",{class:R(i(r).e("bar")),style:ze(i(m))},null,6),X(X0,{id:Y.range?void 0:i(N),ref_key:"firstButton",ref:d,"model-value":i(ce),vertical:Y.vertical,"tooltip-class":Y.tooltipClass,placement:Y.placement,role:"slider","aria-label":Y.range||!i($)?A.value:void 0,"aria-labelledby":!Y.range&&i($)?i(u)?.labelId:void 0,"aria-valuemin":Y.min,"aria-valuemax":Y.range?i(Z):Y.max,"aria-valuenow":i(ce),"aria-valuetext":P.value,"aria-orientation":Y.vertical?"vertical":"horizontal","aria-disabled":i(p),"onUpdate:modelValue":i(O)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),Y.range?(E(),le(X0,{key:0,ref_key:"secondButton",ref:f,"model-value":i(Z),vertical:Y.vertical,"tooltip-class":Y.tooltipClass,placement:Y.placement,role:"slider","aria-label":V.value,"aria-valuemin":i(ce),"aria-valuemax":Y.max,"aria-valuenow":i(Z),"aria-valuetext":F.value,"aria-orientation":Y.vertical?"vertical":"horizontal","aria-disabled":i(p),"onUpdate:modelValue":i(T)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):re("v-if",!0),Y.showStops?(E(),D("div",hq,[(E(!0),D(Ve,null,kt(i(I),(L,q)=>(E(),D("div",{key:q,class:R(i(r).e("stop")),style:ze(i(_)(L))},null,6))),128))])):re("v-if",!0),i(U).length>0?(E(),D(Ve,{key:2},[z("div",null,[(E(!0),D(Ve,null,kt(i(U),(L,q)=>(E(),D("div",{key:q,style:ze(i(_)(L.position)),class:R([i(r).e("stop"),i(r).e("marks-stop")])},null,6))),128))]),z("div",{class:R(i(r).e("marks"))},[(E(!0),D(Ve,null,kt(i(U),(L,q)=>(E(),le(i(fq),{key:q,mark:L.mark,style:ze(i(_)(L.position)),onMousedown:Xe(te=>i(x)(L.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):re("v-if",!0)],38),j.value?(E(),le(i(YE),{key:0,ref:"input","model-value":i(ce),class:R(i(r).e("input")),step:J.value,disabled:i(p),controls:Y.showInputControls,min:Y.min,max:Y.max,precision:ee.value,size:K.value,"onUpdate:modelValue":i(O),onChange:i(w)},null,8,["model-value","class","step","disabled","controls","min","max","precision","size","onUpdate:modelValue","onChange"])):re("v-if",!0)],10,pq))}}),mq=vq;const gq=st(mq),bq=Ee({prefixCls:{type:String}}),J0=se({name:"ElSpaceItem",props:bq,setup(e,{slots:t}){const n=ge("space"),a=C(()=>`${e.prefixCls||n.b()}__item`);return()=>qe("div",{class:a.value},oe(t,"default"))}}),Z0={small:8,default:12,large:16};function yq(e){const t=ge("space"),n=C(()=>[t.b(),t.m(e.direction),e.class]),a=M(0),o=M(0),r=C(()=>[e.wrap||e.fill?{flexWrap:"wrap"}:{},{alignItems:e.alignment},{rowGap:`${o.value}px`,columnGap:`${a.value}px`},e.style]),s=C(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return la(()=>{const{size:l="small",wrap:u,direction:c,fill:d}=e;if(we(l)){const[f=0,p=0]=l;a.value=f,o.value=p}else{let f;Be(l)?f=l:f=Z0[l||"small"]||Z0.small,(u||d)&&c==="horizontal"?a.value=o.value=f:c==="horizontal"?(a.value=f,o.value=0):(o.value=f,a.value=0)}}),{classes:n,containerStyle:r,itemStyle:s}}const wq=Ee({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:G([String,Object,Array]),default:""},style:{type:G([String,Array,Object,Boolean]),default:""},alignment:{type:G(String),default:"center"},prefixCls:{type:String},spacer:{type:G([Object,String,Number,Array]),default:null,validator:e=>Zt(e)||Be(e)||Ae(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:yo,validator:e=>Be(e)||we(e)&&e.length===2&&e.every(Be)}}),Sq=se({name:"ElSpace",props:wq,setup(e,{slots:t}){const{classes:n,containerStyle:a,itemStyle:o}=yq(e);function r(s,l="",u=[]){const{prefixCls:c}=e;return s.forEach((d,f)=>{vh(d)?we(d.children)&&d.children.forEach((p,g)=>{vh(p)&&we(p.children)?r(p.children,`${l+g}-`,u):Zt(p)&&p?.type===kn?u.push(p):u.push(X(J0,{style:o.value,prefixCls:c,key:`nested-${l+g}`},{default:()=>[p]},12,["style","prefixCls"]))}):VM(d)&&u.push(X(J0,{style:o.value,prefixCls:c,key:`LoopKey${l+f}`},{default:()=>[d]},12,["style","prefixCls"]))}),u}return()=>{const{spacer:s,direction:l}=e,u=oe(t,"default",{key:0},()=>[]);if((u.children??[]).length===0)return null;if(we(u.children)){let c=r(u.children);if(s){const d=c.length-1;c=c.reduce((f,p,g)=>{const h=[...f,p];return g!==d&&h.push(X("span",{style:[o.value,l==="vertical"?"width: 100%":null],key:g},[Zt(s)?s:wt(s,1)],4)),h},[])}return X("div",{class:n.value,style:a.value},c,6)}return u.children}}}),Cq=st(Sq),kq=Ee({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Eq={[yt]:(e,t)=>[e,t].every(Be)},nx="ElSteps",xq=Ee({title:{type:String,default:""},icon:{type:Ut},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var Tq=se({name:"ElSteps",__name:"steps",props:kq,emits:Eq,setup(e,{emit:t}){const n=e,a=t,o=ge("steps"),{children:r,addChild:s,removeChild:l,ChildrenSorter:u}=df(dt(),"ElStep");return pe(r,()=>{r.value.forEach((c,d)=>{c.setIndex(d)})}),St(nx,{props:n,steps:r,addStep:s,removeStep:l}),pe(()=>n.active,(c,d)=>{a(yt,c,d)}),(c,d)=>(E(),D("div",{class:R([i(o).b(),i(o).m(e.simple?"simple":e.direction)])},[oe(c.$slots,"default"),X(i(u))],2))}}),Oq=Tq,_q=se({name:"ElStep",__name:"item",props:xq,setup(e){const t=e,n=ge("step"),a=M(-1),o=M({}),r=M(""),s=$e(nx),l=dt();let u=0,c=0;ht(()=>{pe([()=>s.props.active,()=>s.props.processStatus,()=>s.props.finishStatus],([T],[I])=>{c=I||0,u=T-c,x(T)},{immediate:!0})});const d=C(()=>t.status||r.value),f=C(()=>{const T=s.steps.value[a.value-1];return T?T.internalStatus.value:"wait"}),p=C(()=>s.props.alignCenter),g=C(()=>s.props.direction==="vertical"),h=C(()=>s.props.simple),v=C(()=>s.steps.value.length),m=C(()=>s.steps.value[v.value-1]?.uid===l.uid),b=C(()=>h.value?"":s.props.space),w=C(()=>[n.b(),n.is(h.value?"simple":s.props.direction),n.is("flex",m.value&&!b.value&&!p.value),n.is("center",p.value&&!g.value&&!h.value)]),y=C(()=>{const T={flexBasis:Be(b.value)?`${b.value}px`:b.value?b.value:`${100/(v.value-(p.value?0:1))}%`};return g.value||m.value&&(T.maxWidth=`${100/v.value}%`),T}),S=T=>{a.value=T},k=T=>{const I=T==="wait",_={transitionDelay:`${Math.abs(u)===1?0:u>0?(a.value+1-c)*150:-(a.value+1-s.props.active)*150}ms`},N=T===s.props.processStatus||I?0:100;_.borderWidth=N&&!h.value?"1px":0,_[s.props.direction==="vertical"?"height":"width"]=`${N}%`,o.value=_},x=T=>{T>a.value?r.value=s.props.finishStatus:T===a.value&&f.value!=="error"?r.value=s.props.processStatus:r.value="wait";const I=s.steps.value[a.value-1];I&&I.calcProgress(r.value)},O={uid:l.uid,getVnode:()=>l.vnode,currentStatus:d,internalStatus:r,setIndex:S,calcProgress:k};return s.addStep(O),Vt(()=>{s.removeStep(O)}),(T,I)=>(E(),D("div",{style:ze(y.value),class:R(w.value)},[re(" icon & line "),z("div",{class:R([i(n).e("head"),i(n).is(d.value)])},[h.value?re("v-if",!0):(E(),D("div",{key:0,class:R(i(n).e("line"))},[z("i",{class:R(i(n).e("line-inner")),style:ze(o.value)},null,6)],2)),z("div",{class:R([i(n).e("icon"),i(n).is(e.icon||T.$slots.icon?"icon":"text")])},[oe(T.$slots,"icon",{},()=>[e.icon?(E(),le(i(De),{key:0,class:R(i(n).e("icon-inner"))},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1},8,["class"])):d.value==="success"?(E(),le(i(De),{key:1,class:R([i(n).e("icon-inner"),i(n).is("status")])},{default:ne(()=>[X(i(Il))]),_:1},8,["class"])):d.value==="error"?(E(),le(i(De),{key:2,class:R([i(n).e("icon-inner"),i(n).is("status")])},{default:ne(()=>[X(i(Qa))]),_:1},8,["class"])):h.value?re("v-if",!0):(E(),D("div",{key:3,class:R(i(n).e("icon-inner"))},Ce(a.value+1),3))])],2)],2),re(" title & description "),z("div",{class:R(i(n).e("main"))},[z("div",{class:R([i(n).e("title"),i(n).is(d.value)])},[oe(T.$slots,"title",{},()=>[wt(Ce(e.title),1)])],2),h.value?(E(),D("div",{key:0,class:R(i(n).e("arrow"))},null,2)):(E(),D("div",{key:1,class:R([i(n).e("description"),i(n).is(d.value)])},[oe(T.$slots,"description",{},()=>[wt(Ce(e.description),1)])],2))],2)],6))}}),ax=_q;const Rq=st(Oq,{Step:ax}),Iq=ln(ax),ox=e=>["",...yo].includes(e),$q=Ee({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:ox},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Ut},activeActionIcon:{type:Ut},activeIcon:{type:Ut},inactiveIcon:{type:Ut},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:G(Function)},id:String,tabindex:{type:[String,Number]},...ia(["ariaLabel"])}),Nq={[at]:e=>Wt(e)||Ae(e)||Be(e),[yt]:e=>Wt(e)||Ae(e)||Be(e),[Tn]:e=>Wt(e)||Ae(e)||Be(e)},Mq=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],Pq=["aria-hidden"],Aq={key:1},Lq={key:1},Dq=["aria-hidden"],Ep="ElSwitch";var Bq=se({name:Ep,__name:"switch",props:$q,emits:Nq,setup(e,{expose:t,emit:n}){const a=e,o=n,{formItem:r}=Fn(),s=In(),l=ge("switch"),{inputId:u}=_a(a,{formItemContext:r}),c=un(C(()=>{if(a.loading)return!0})),d=M(a.modelValue!==!1),f=Tt(),p=C(()=>[l.b(),l.m(s.value),l.is("disabled",c.value),l.is("checked",b.value)]),g=C(()=>[l.e("label"),l.em("label","left"),l.is("active",!b.value)]),h=C(()=>[l.e("label"),l.em("label","right"),l.is("active",b.value)]),v=C(()=>({width:hn(a.width)}));pe(()=>a.modelValue,()=>{d.value=!0});const m=C(()=>d.value?a.modelValue:!1),b=C(()=>m.value===a.activeValue);[a.activeValue,a.inactiveValue].includes(m.value)||(o(at,a.inactiveValue),o(yt,a.inactiveValue),o(Tn,a.inactiveValue)),pe(b,k=>{f.value.checked=k,a.validateEvent&&r?.validate?.("change").catch(ut)});const w=()=>{const k=b.value?a.inactiveValue:a.activeValue;o(at,k),o(yt,k),o(Tn,k),Ne(()=>{f.value.checked=b.value})},y=()=>{if(c.value)return;const{beforeChange:k}=a;if(!k){w();return}const x=k();[qr(x),Wt(x)].includes(!0)||sn(Ep,"beforeChange must return type `Promise<boolean>` or `boolean`"),qr(x)?x.then(O=>{O&&w()}).catch(O=>{jt(Ep,`some error occurred: ${O}`)}):x&&w()},S=()=>{f.value?.focus?.()};return ht(()=>{f.value.checked=b.value}),t({focus:S,checked:b}),(k,x)=>(E(),D("div",{class:R(p.value),onClick:Xe(y,["prevent"])},[z("input",{id:i(u),ref_key:"input",ref:f,class:R(i(l).e("input")),type:"checkbox",role:"switch","aria-checked":b.value,"aria-disabled":i(c),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:i(c),tabindex:e.tabindex,onChange:w,onKeydown:dn(y,["enter"])},null,42,Mq),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||k.$slots.inactive)?(E(),D("span",{key:0,class:R(g.value)},[oe(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.inactiveIcon)))]),_:1})):re("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),D("span",{key:1,"aria-hidden":b.value},Ce(e.inactiveText),9,Pq)):re("v-if",!0)])],2)):re("v-if",!0),z("span",{class:R(i(l).e("core")),style:ze(v.value)},[e.inlinePrompt?(E(),D("div",{key:0,class:R(i(l).e("inner"))},[b.value?(E(),D("div",{key:1,class:R(i(l).e("inner-wrapper"))},[oe(k.$slots,"active",{},()=>[e.activeIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.activeIcon)))]),_:1})):re("v-if",!0),!e.activeIcon&&e.activeText?(E(),D("span",Lq,Ce(e.activeText),1)):re("v-if",!0)])],2)):(E(),D("div",{key:0,class:R(i(l).e("inner-wrapper"))},[oe(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.inactiveIcon)))]),_:1})):re("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),D("span",Aq,Ce(e.inactiveText),1)):re("v-if",!0)])],2))],2)):re("v-if",!0),z("div",{class:R(i(l).e("action"))},[e.loading?(E(),le(i(De),{key:0,class:R(i(l).is("loading"))},{default:ne(()=>[X(i(ho))]),_:1},8,["class"])):b.value?oe(k.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.activeActionIcon)))]),_:1})):re("v-if",!0)]):b.value?re("v-if",!0):oe(k.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.inactiveActionIcon)))]),_:1})):re("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||k.$slots.active)?(E(),D("span",{key:1,class:R(h.value)},[oe(k.$slots,"active",{},()=>[e.activeIcon?(E(),le(i(De),{key:0},{default:ne(()=>[(E(),le(it(e.activeIcon)))]),_:1})):re("v-if",!0),!e.activeIcon&&e.activeText?(E(),D("span",{key:1,"aria-hidden":!b.value},Ce(e.activeText),9,Dq)):re("v-if",!0)])],2)):re("v-if",!0)],2))}}),Vq=Bq;const Fq=st(Vq),xp=function(e){return e.target?.closest("td")},zq=function(e,t,n,a,o){if(!t&&!a&&(!o||we(o)&&!o.length))return e;Ae(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const r=a?null:function(l,u){return o?CS(Dn(o),c=>Ae(c)?yn(l,c):c(l,u,e)):(t!=="$key"&&ot(l)&&"$value"in l&&(l=l.$value),[ot(l)?t?yn(l,t):null:l])},s=function(l,u){if(a)return a(l.value,u.value);for(let c=0,d=l.key?.length??0;c<d;c++){if(l.key?.[c]<u.key?.[c])return-1;if(l.key?.[c]>u.key?.[c])return 1}return 0};return e.map((l,u)=>({value:l,index:u,key:r?r(l,u):null})).sort((l,u)=>{let c=s(l,u);return c||(c=l.index-u.index),c*+n}).map(l=>l.value)},rx=function(e,t){let n=null;return e.columns.forEach(a=>{a.id===t&&(n=a)}),n},Hq=function(e,t){let n=null;for(let a=0;a<e.columns.length;a++){const o=e.columns[a];if(o.columnKey===t){n=o;break}}return n||sn("ElTable",`No column matching with column-key: ${t}`),n},Q0=function(e,t,n){const a=(t.className||"").match(new RegExp(`${n}-table_[^\\s]+`,"gm"));return a?rx(e,a[0]):null},Cn=(e,t)=>{if(!e)throw new Error("Row is required when get row identity");if(Ae(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let a=e;for(const o of n)a=a[o];return`${a}`}else if(Fe(t))return t.call(null,e);return""},vl=function(e,t,n=!1,a="children"){const o=e||[],r={};return o.forEach((s,l)=>{if(r[Cn(s,t)]={row:s,index:l},n){const u=s[a];we(u)&&Object.assign(r,vl(u,t,!0,a))}}),r};function Kq(e,t){const n={};let a;for(a in e)n[a]=e[a];for(a in t)if(Nt(t,a)){const o=t[a];Rt(o)||(n[a]=o)}return n}function lg(e){return e===""||Rt(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function sx(e){return e===""||Rt(e)||(e=lg(e),Number.isNaN(e)&&(e=80)),e}function Wq(e){return Be(e)?e:Ae(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function jq(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...a)=>t(n(...a)))}function sl(e,t,n,a,o,r,s){let l=r??0,u=!1;const d=(()=>{if(!s)return e.indexOf(t);const v=Cn(t,s);return e.findIndex(m=>Cn(m,s)===v)})(),f=d!==-1,p=o?.call(null,t,l),g=v=>{v==="add"?e.push(t):e.splice(d,1),u=!0},h=v=>{let m=0;const b=a?.children&&v[a.children];return b&&we(b)&&(m+=b.length,b.forEach(w=>{m+=h(w)})),m};return(!o||p)&&(Wt(n)?n&&!f?g("add"):!n&&f&&g("remove"):g(f?"remove":"add")),!a?.checkStrictly&&a?.children&&we(t[a.children])&&t[a.children].forEach(v=>{const m=sl(e,v,n??!f,a,o,l+1,s);l+=h(v)+1,m&&(u=m)}),u}function Uq(e,t,n="children",a="hasChildren",o=!1){const r=l=>!(we(l)&&l.length);function s(l,u,c){t(l,u,c),u.forEach(d=>{if(d[a]&&o){t(d,null,c+1);return}const f=d[n];r(f)||s(d,f,c+1)})}e.forEach(l=>{if(l[a]&&o){t(l,null,0);return}const u=l[n];r(u)||s(l,u,0)})}const qq=(e,t,n,a)=>{const o={strategy:"fixed",...e.popperOptions},r=Fe(a?.tooltipFormatter)?a.tooltipFormatter({row:n,column:a,cellValue:Wr(n,a.property).value}):void 0;return Zt(r)?{slotContent:r,content:null,...e,popperOptions:o}:{slotContent:null,content:r??t,...e,popperOptions:o}};let Ca=null;function Yq(e,t,n,a,o,r){const s=qq(e,t,n,a),l={...s,slotContent:void 0};if(Ca?.trigger===o){const g=Ca.vm?.component;kS(g?.props,l),g&&s.slotContent&&(g.slots.content=()=>[s.slotContent]);return}Ca?.();const u=r?.refs.tableWrapper,c=u?.dataset.prefix,d=X(Wn,{virtualTriggering:!0,virtualRef:o,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...l},s.slotContent?{content:()=>s.slotContent}:void 0);d.appContext={...r.appContext,...r};const f=document.createElement("div");Yr(d,f),d.component.exposed.onOpen();const p=u?.querySelector(`.${c}-scrollbar__wrap`);Ca=()=>{d.component?.exposed?.onClose&&d.component.exposed.onClose(),Yr(null,f);const g=Ca;p?.removeEventListener("scroll",g),g.trigger=void 0,g.vm=void 0,Ca=null},Ca.trigger=o??void 0,Ca.vm=d,p?.addEventListener("scroll",Ca)}function lx(e){return e.children?CS(e.children,lx):[e]}function e1(e,t){return e+t.colSpan}const ix=(e,t,n,a)=>{let o=0,r=e;const s=n.states.columns.value;if(a){const u=lx(a[e]);o=s.slice(0,s.indexOf(u[0])).reduce(e1,0),r=o+u.reduce(e1,0)-1}else o=e;let l;switch(t){case"left":r<n.states.fixedLeafColumnsLength.value&&(l="left");break;case"right":o>=s.length-n.states.rightFixedLeafColumnsLength.value&&(l="right");break;default:r<n.states.fixedLeafColumnsLength.value?l="left":o>=s.length-n.states.rightFixedLeafColumnsLength.value&&(l="right")}return l?{direction:l,start:o,after:r}:{}},ig=(e,t,n,a,o,r=0)=>{const s=[],{direction:l,start:u,after:c}=ix(t,n,a,o);if(l){const d=l==="left";s.push(`${e}-fixed-column--${l}`),d&&c+r===a.states.fixedLeafColumnsLength.value-1?s.push("is-last-column"):!d&&u-r===a.states.columns.value.length-a.states.rightFixedLeafColumnsLength.value&&s.push("is-first-column")}return s};function t1(e,t){return e+(Qd(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const ug=(e,t,n,a)=>{const{direction:o,start:r=0,after:s=0}=ix(e,t,n,a);if(!o)return;const l={},u=o==="left",c=n.states.columns.value;return u?l.left=c.slice(0,r).reduce(t1,0):l.right=c.slice(s+1).reverse().reduce(t1,0),l},Ml=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function ux(e){return e.some(t=>Zt(t)?!(t.type===kn||t.type===Ve&&!ux(t.children)):!0)?e:null}function Gq(e){const t=dt(),n=M(!1),a=M([]),o=(c,d)=>{const f=t.store.states.rowExpandable.value;return f?.(c,d)??!0};return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(n.value)a.value=t.store.states.rowExpandable.value?c.filter(o):c.slice();else if(d){const f=vl(a.value,d);a.value=c.filter((p,g)=>!!f[Cn(p,d)]&&o(p,g))}else a.value=[]},toggleRowExpansion:(c,d)=>{const f=(e.data.value||[]).indexOf(c);f>-1&&!o(c,f)||sl(a.value,c,d,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",c,a.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],f=e.rowKey.value,p=vl(d,f);a.value=c.reduce((g,h)=>{const v=p[h];return v&&o(v.row,v.index)&&g.push(v.row),g},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!vl(a.value,d)[Cn(c,d)]:a.value.includes(c)},states:{expandRows:a,defaultExpandAll:n}}}function Xq(e){const t=dt(),n=M(null),a=M(null),o=c=>{t.store.assertRowKey(),n.value=c,s(c)},r=()=>{n.value=null},s=c=>{const{data:d,rowKey:f}=e,p=a.value;let g=null;f.value&&(g=(i(d)||[]).find(h=>Cn(h,f.value)===c)??null),a.value=g??null,t.emit("current-change",a.value,p)};return{setCurrentRowKey:o,restoreCurrentRowKey:r,setCurrentRowByKey:s,updateCurrentRow:c=>{const d=a.value;if(c&&c!==d){a.value=c,t.emit("current-change",a.value,d);return}!c&&d&&(a.value=null,t.emit("current-change",null,d))},updateCurrentRowData:()=>{const c=e.rowKey.value,d=e.data.value||[],f=a.value;f&&!d.includes(f)?c?s(Cn(f,c)):(a.value=null,t.emit("current-change",null,f)):n.value&&(s(n.value),r())},states:{_currentRowKey:n,currentRow:a}}}function Jq(e){const t=M([]),n=M({}),a=M(16),o=M(!1),r=M({}),s=M("hasChildren"),l=M("children"),u=M(!1),c=dt(),d=C(()=>e.rowKey.value?p(e.data.value||[]):{}),f=C(()=>{const S=e.rowKey.value,k=Object.keys(r.value),x={};return k.length&&k.forEach(O=>{if(r.value[O].length){const T={children:[]};r.value[O].forEach(I=>{const _=Cn(I,S);T.children.push(_),I[s.value]&&!x[_]&&(x[_]={children:[]})}),x[O]=T}}),x}),p=S=>{const k=e.rowKey.value,x={};return Uq(S,(O,T,I)=>{const _=Cn(O,k);we(T)?x[_]={children:T.map(N=>Cn(N,k)),level:I}:o.value&&(x[_]={children:[],lazy:!0,level:I})},l.value,s.value,o.value),x},g=(S=!1,k)=>{k||(k=c.store?.states.defaultExpandAll.value);const x=d.value,O=f.value,T=Object.keys(x),I={};if(T.length){const _=i(n),N=[],$=(K,j)=>{if(S)return t.value?k||t.value.includes(j):!!(k||K?.expanded);{const W=k||t.value&&t.value.includes(j);return!!(K?.expanded||W)}};T.forEach(K=>{const j=_[K],W={...x[K]};if(W.expanded=$(j,K),W.lazy){const{loaded:A=!1,loading:P=!1}=j||{};W.loaded=!!A,W.loading=!!P,N.push(K)}I[K]=W});const B=Object.keys(O);o.value&&B.length&&N.length&&B.forEach(K=>{const j=_[K],W=O[K].children;if(N.includes(K)){if(I[K].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");I[K].children=W}else{const{loaded:A=!1,loading:P=!1}=j||{};I[K]={lazy:!0,loaded:!!A,loading:!!P,expanded:$(j,K),children:W,level:void 0}}})}n.value=I,c.store?.updateTableScrollY()};pe(()=>t.value,()=>{g(!0)},{deep:!0}),pe(()=>d.value,()=>{g()}),pe(()=>f.value,()=>{g()});const h=S=>{t.value=S,g()},v=S=>o.value&&S&&"loaded"in S&&!S.loaded,m=(S,k)=>{c.store.assertRowKey();const x=e.rowKey.value,O=Cn(S,x),T=O&&n.value[O];if(O&&T&&"expanded"in T){const I=T.expanded;k=Rt(k)?!T.expanded:k,n.value[O].expanded=k,I!==k&&c.emit("expand-change",S,k),k&&v(T)&&w(S,O,T),c.store.updateTableScrollY()}},b=S=>{c.store.assertRowKey();const k=e.rowKey.value,x=Cn(S,k),O=n.value[x];v(O)?w(S,x,O):m(S,void 0)},w=(S,k,x)=>{const{load:O}=c.props;O&&!n.value[k].loaded&&(n.value[k].loading=!0,O(S,x,T=>{if(!we(T))throw new TypeError("[ElTable] data must be an array");n.value[k].loading=!1,n.value[k].loaded=!0,n.value[k].expanded=!0,T.length&&(r.value={...r.value,[k]:T}),c.emit("expand-change",S,!0)}))};return{loadData:w,loadOrToggle:b,toggleTreeExpansion:m,updateTreeExpandKeys:h,updateTreeData:g,updateKeyChildren:(S,k)=>{const{lazy:x,rowKey:O}=c.props;if(x){if(!O)throw new Error("[Table] rowKey is required in updateKeyChild");r.value[S]&&(r.value={...r.value,[S]:k})}},normalize:p,states:{expandRowKeys:t,treeData:n,indent:a,lazy:o,lazyTreeNodeMap:r,lazyColumnIdentifier:s,childrenColumnName:l,checkStrictly:u}}}const Zq=(e,t)=>{const n=t.sortingColumn;return!n||Ae(n.sortable)?e:zq(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},Nc=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,Nc(n.children)):t.push(n)}),t};function Qq(){const e=dt(),{size:t}=Pn(e.proxy?.$props),n=M(null),a=M([]),o=M([]),r=M(!1),s=M([]),l=M([]),u=M([]),c=M([]),d=M([]),f=M([]),p=M([]),g=M([]),h=[],v=M(0),m=M(0),b=M(0),w=M(!1),y=M([]),S=M({}),k=M(!1),x=M(!1),O=M(null),T=M(null),I=M({}),_=M(null),N=M(null),$=M(null),B=M(null),K=M(null),j=C(()=>n.value?vl(y.value,n.value):void 0),W=ie=>{const{childrenColumnName:xe,lazyTreeNodeMap:Ue}=e.store.states,et=ie[xe.value]??[];if(!n.value)return et;const bt=Cn(ie,n.value);return[...Ue.value?.[bt]??[],...et]};pe(a,()=>{e.state&&(F(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const A=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},P=ie=>{ie.children?.forEach(xe=>{xe.fixed=ie.fixed,P(xe)})},V=()=>{s.value.forEach(Et=>{P(Et)}),c.value=s.value.filter(Et=>[!0,"left"].includes(Et.fixed));const ie=s.value.find(Et=>Et.type==="selection");let xe;ie&&ie.fixed!=="right"&&!c.value.includes(ie)&&s.value.indexOf(ie)===0&&c.value.length&&(c.value.unshift(ie),xe=!0),d.value=s.value.filter(Et=>Et.fixed==="right");const Ue=s.value.filter(Et=>(xe?Et.type!=="selection":!0)&&!Et.fixed);l.value=Array.from(c.value).concat(Ue).concat(d.value);const et=Nc(Ue),bt=Nc(c.value),vt=Nc(d.value);v.value=et.length,m.value=bt.length,b.value=vt.length,u.value=Array.from(bt).concat(et).concat(vt),r.value=c.value.length>0||d.value.length>0},F=(ie,xe=!1)=>{ie&&V(),xe?e.state.doLayout():e.state.debouncedUpdateLayout()},H=ie=>j.value?!!j.value[Cn(ie,n.value)]:y.value.includes(ie),U=C(()=>{const ie=new Map;if(!n.value||!O.value)return ie;let xe=0;const Ue=et=>{we(et)&&et.forEach(bt=>{const vt=Cn(bt,n.value);ie.set(vt,xe),xe+=1;const Et=W(bt);Et.length&&Ue(Et)})};return Ue(a.value||[]),ie}),J=(ie={})=>{const{emitChange:xe=!0}=ie;if(gt.checkStrictly.value||!n.value){S.value={};return}const Ue=n.value,et=ie.rowIndexMap??U.value,bt=O.value,vt=new WeakMap,Et=tt=>{const Oe=vt.get(tt);if(Oe)return Oe;const Ke=Cn(tt,Ue);return vt.set(tt,Ke),Ke},Yt={},on=new Set(y.value.map(tt=>Et(tt))),At=[];let en=!1;const Ye=(tt,Oe,Ke)=>{const We=on.has(Oe);Ke&&!We?(At.push(tt),on.add(Oe),en=!0):!Ke&&We&&(on.delete(Oe),en=!0)},Ge=tt=>{let Oe=0,Ke=0;return we(tt)?(tt.forEach(We=>{const Xt=Et(We),cn=W(We);let On=0,Xn=0;if(cn.length){const to=Ge(cn);On=to.selectedCount,Xn=to.selectableCount}const ya=bt?bt.call(null,We,et.get(Xt)??0):!0;if(ya&&Xn>0){const to=On===Xn;!to&&On!==0&&(Yt[Xt]=!0),Ye(We,Xt,to)}ya&&(Ke+=1,on.has(Xt)&&(Oe+=1)),Oe+=On,Ke+=Xn}),{selectedCount:Oe,selectableCount:Ke}):{selectedCount:Oe,selectableCount:Ke}};if(Ge(a.value||[]),en){const tt=y.value.filter(Oe=>on.has(Et(Oe)));At.forEach(Oe=>{on.has(Et(Oe))&&tt.push(Oe)}),y.value=tt}S.value=Yt,en&&xe&&e.emit("selection-change",y.value?y.value.slice():[])},ee=()=>{w.value=!1;const ie=y.value;y.value=[],S.value={},ie.length&&e.emit("selection-change",[])},ae=()=>{let ie;if(n.value){ie=[];const xe=e?.store?.states?.childrenColumnName.value,Ue=vl(a.value,n.value,!0,xe),{lazyTreeNodeMap:et}=e.store.states;et.value&&Object.entries(et.value).forEach(([bt,vt])=>{Ue[bt]&&vt.forEach(Et=>{const Yt=Cn(Et,n.value);Ue[Yt]||(Ue[Yt]={row:Et,index:-1})})});for(const bt in j.value)Nt(j.value,bt)&&!Ue[bt]&&ie.push(j.value[bt].row)}else ie=y.value.filter(xe=>!a.value.includes(xe));if(ie.length){const xe=y.value.filter(Ue=>!ie.includes(Ue));y.value=xe,J({emitChange:!1}),e.emit("selection-change",[...xe])}},ce=()=>(y.value||[]).slice(),Z=(ie,xe,Ue)=>{if(!n.value||gt.checkStrictly.value||!gt.lazy.value)return;const{lazyTreeNodeMap:et,childrenColumnName:bt}=e.store.states,vt=Cn(ie,n.value),Et=et.value?.[vt]??[],Yt=ie[bt.value]??[],on={children:bt.value,checkStrictly:!1};for(const At of Et){const en=Ue.get(Cn(At,n.value))??0;sl(y.value,At,xe,on,O.value,en,n.value),Z(At,xe,Ue)}for(const At of Yt)Z(At,xe,Ue)},de=(ie,xe,Ue=!0,et=!1)=>{const bt={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(sl(y.value,ie,xe,bt,et?void 0:O.value,a.value.indexOf(ie),n.value)){gt.lazy.value&&!gt.checkStrictly.value?(Z(ie,xe??H(ie),U.value),J({emitChange:!1,rowIndexMap:U.value})):J({emitChange:!1});const vt=(y.value||[]).slice();Ue&&e.emit("select",vt,ie),e.emit("selection-change",vt)}},ue=()=>{const ie=x.value?!w.value:!(w.value||y.value.length);w.value=ie;let xe=!1,Ue=0;const et=e?.store?.states?.rowKey.value,{childrenColumnName:bt}=e.store.states,vt={children:bt.value,checkStrictly:!1};a.value.forEach((Yt,on)=>{const At=on+Ue;sl(y.value,Yt,ie,vt,O.value,At,et)&&(xe=!0),Ue+=L(Cn(Yt,et))});const Et=U.value;if(gt.lazy.value&&!gt.checkStrictly.value&&et)for(const Yt of Object.values(gt.lazyTreeNodeMap.value))for(const on of Yt){const At=Et.get(Cn(on,et))??0;sl(y.value,on,ie,vt,O.value,At,et)&&(xe=!0),Z(on,ie,Et)}J({emitChange:!1,rowIndexMap:Et}),xe&&e.emit("selection-change",y.value?[...y.value]:[]),e.emit("select-all",(y.value||[]).slice())},Y=()=>{if(a.value?.length===0){w.value=!1;return}let ie=0,xe=0;const Ue=bt=>{for(const vt of bt){const Et=O.value&&O.value.call(null,vt,ie);if(H(vt))xe++;else if(!O.value||Et)return!1;ie++;const Yt=W(vt);if(Yt.length&&!Ue(Yt))return!1}return!0},et=Ue(a.value||[]);w.value=xe===0?!1:et},Q=ie=>{if(!n.value)return!1;const xe=Cn(ie,n.value);return!!S.value[xe]},L=ie=>{if(!e||!e.store)return 0;const{treeData:xe}=e.store.states;let Ue=0;const et=xe.value[ie]?.children;return et&&(Ue+=et.length,et.forEach(bt=>{Ue+=L(bt)})),Ue},q=(ie,xe)=>{const Ue={};return Dn(ie).forEach(et=>{I.value[et.id]=xe,Ue[et.columnKey||et.id]=xe}),Ue},te=(ie,xe,Ue)=>{N.value&&N.value!==ie&&(N.value.order=null),N.value=ie,$.value=xe,B.value=Ue},fe=()=>{let ie=i(o);Object.keys(I.value).forEach(xe=>{const Ue=I.value[xe];if(!Ue||Ue.length===0)return;const et=rx({columns:u.value},xe);et&&et.filterMethod&&(ie=ie.filter(bt=>Ue.some(vt=>et.filterMethod.call(null,vt,bt,et))))}),_.value=ie},he=()=>{a.value=Zq(_.value??[],{sortingColumn:N.value,sortProp:$.value,sortOrder:B.value})},ve=(ie=void 0)=>{ie?.filter||fe(),he()},Ie=ie=>{const{tableHeaderRef:xe}=e.refs;if(!xe)return;const Ue=Object.assign({},xe.filterPanels),et=Object.keys(Ue);if(et.length)if(Ae(ie)&&(ie=[ie]),we(ie)){const bt=ie.map(vt=>Hq({columns:u.value},vt));et.forEach(vt=>{const Et=bt.find(Yt=>Yt.id===vt);Et&&(Et.filteredValue=[])}),e.store.commit("filterChange",{column:bt,values:[],silent:!0,multi:!0})}else et.forEach(bt=>{const vt=u.value.find(Et=>Et.id===bt);vt&&(vt.filteredValue=[])}),I.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},Le=()=>{N.value&&(te(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:_e,toggleRowExpansion:ye,updateExpandRows:Te,states:be,isRowExpanded:Pe}=Gq({data:a,rowKey:n}),{updateTreeExpandKeys:He,toggleTreeExpansion:Je,updateTreeData:Qe,updateKeyChildren:lt,loadOrToggle:Ze,states:gt}=Jq({data:a,rowKey:n}),{updateCurrentRowData:Pt,updateCurrentRow:zt,setCurrentRowKey:nt,states:ft}=Xq({data:a,rowKey:n}),me=ie=>{_e(ie),He(ie)},je=(ie,xe)=>{u.value.some(({type:Ue})=>Ue==="expand")?ye(ie,xe):Je(ie,xe)};return pe(()=>gt.checkStrictly.value,ie=>{ie?S.value={}:J({emitChange:!1}),Y()}),pe(()=>gt.lazyTreeNodeMap.value,()=>{if(!gt.lazy.value||gt.checkStrictly.value||!n.value)return;const ie=U.value,xe=y.value.length;for(const et of Object.keys(gt.lazyTreeNodeMap.value))j.value?.[et]&&Z(j.value[et].row,!0,ie);const Ue=y.value.length!==xe;J({emitChange:!Ue,rowIndexMap:ie}),Y(),Ue&&e.emit("selection-change",[...y.value])}),{assertRowKey:A,updateColumns:V,scheduleLayout:F,isSelected:H,clearSelection:ee,cleanSelection:ae,getSelectionRows:ce,toggleRowSelection:de,_toggleAllSelection:ue,toggleAllSelection:null,updateAllSelected:Y,updateSelectionByChildren:J,getRowIndeterminate:Q,updateFilters:q,updateCurrentRow:zt,updateSort:te,execFilter:fe,execSort:he,execQuery:ve,clearFilter:Ie,clearSort:Le,toggleRowExpansion:ye,setExpandRowKeysAdapter:me,setCurrentRowKey:nt,toggleRowExpansionAdapter:je,isRowExpanded:Pe,updateExpandRows:Te,updateCurrentRowData:Pt,loadOrToggle:Ze,updateTreeData:Qe,updateKeyChildren:lt,states:{tableSize:t,rowKey:n,data:a,_data:o,isComplex:r,_columns:s,originColumns:l,columns:u,fixedColumns:c,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:p,rightFixedLeafColumns:g,updateOrderFns:h,leafColumnsLength:v,fixedLeafColumnsLength:m,rightFixedLeafColumnsLength:b,isAllSelected:w,selection:y,selectionIndeterminate:S,reserveSelection:k,selectOnIndeterminate:x,selectable:O,rowExpandable:T,filters:I,filteredData:_,sortingColumn:N,sortProp:$,sortOrder:B,hoverRow:K,...be,...gt,...ft}}}function Xh(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=Xh(n.children,t)),n))}function Jh(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&Jh(t.children)}),e.sort((t,n)=>t.no-n.no)}function eY(){const e=dt(),t=Qq(),n=ge("table"),{t:a}=xt();return{ns:n,t:a,...t,mutations:{setData(l,u){const c=i(l._data)!==u;l.data.value=u,l._data.value=u,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),i(l.reserveSelection)?e.store.assertRowKey():c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(l,u,c,d){const f=i(l._columns);let p=[];c?(c&&!c.children&&(c.children=[]),c.children?.push(u),p=Xh(f,c)):(f.push(u),p=f),Jh(p),l._columns.value=p,l.updateOrderFns.push(d),u.type==="selection"&&(l.selectable.value=u.selectable,l.reserveSelection.value=u.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(l,u){u.getColumnIndex?.()!==u.no&&(Jh(l._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(l,u,c,d){const f=i(l._columns)||[];if(c)c.children?.splice(c.children.findIndex(g=>g.id===u.id),1),Ne(()=>{c.children?.length===0&&delete c.children}),l._columns.value=Xh(f,c);else{const g=f.indexOf(u);g>-1&&(f.splice(g,1),l._columns.value=f)}const p=l.updateOrderFns.indexOf(d);p>-1&&l.updateOrderFns.splice(p,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(l,u){const{prop:c,order:d,init:f}=u;if(c){const p=i(l.columns).find(g=>g.property===c);p&&(p.order=d,e.store.updateSort(p,c,d),e.store.commit("changeSortCondition",{init:f}))}},changeSortCondition(l,u){const{sortingColumn:c,sortProp:d,sortOrder:f}=l,p=i(c),g=i(d),h=i(f);Qd(h)&&(l.sortingColumn.value=null,l.sortProp.value=null),e.store.execQuery({filter:!0}),(!u||!(u.silent||u.init))&&e.emit("sort-change",{column:p,prop:g,order:h}),e.store.updateTableScrollY()},filterChange(l,u){const{column:c,values:d,silent:f}=u,p=e.store.updateFilters(c,d);e.store.execQuery(),f||e.emit("filter-change",p),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(l,u){e.store.toggleRowSelection(u),e.store.updateAllSelected()},setHoverRow(l,u){l.hoverRow.value=u},setCurrentRow(l,u){e.store.updateCurrentRow(u)}},commit:function(l,...u){const c=e.store.mutations;if(c[l])c[l].apply(e,[e.store.states,...u]);else throw new Error(`Action not found: ${l}`)},updateTableScrollY:function(){Ne(()=>e.layout.updateScrollY.apply(e.layout))}}}const cg={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function tY(e,t){if(!e)throw new Error("Table is required.");const n=eY();return n.toggleAllSelection=Ho(n._toggleAllSelection,10),Object.keys(cg).forEach(a=>{cx(dx(t,a),a,n)}),nY(n,t),n}function nY(e,t){Object.keys(cg).forEach(n=>{pe(()=>dx(t,n),a=>{cx(a,n,e)})})}function cx(e,t,n){let a=e,o=cg[t];ot(o)&&(a=a||o.default,o=o.key),n.states[o].value=a}function dx(e,t){if(t.includes(".")){const n=t.split(".");let a=e;return n.forEach(o=>{a=a[o]}),a}else return e[t]}var aY=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=M(null),this.scrollX=M(!1),this.scrollY=M(!1),this.bodyWidth=M(null),this.fixedWidth=M(null),this.rightFixedWidth=M(null),this.gutterWidth=0;for(const t in e)Nt(e,t)&&(Gt(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(Qd(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const a=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,a!==n}return!1}setHeight(e,t="height"){if(!Lt)return;const n=this.table.vnode.el;if(e=Wq(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){Ne(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&Be(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&Ae(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!Lt)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const a=this.getFlattenColumns(),o=a.filter(l=>!Be(l.width));if(a.forEach(l=>{Be(l.width)&&l.realWidth&&(l.realWidth=null)}),o.length>0&&e){if(a.forEach(l=>{n+=Number(l.width||l.minWidth||80)}),n<=t){this.scrollX.value=!1;const l=t-n;if(o.length===1)o[0].realWidth=Number(o[0].minWidth||80)+l;else{const u=l/o.reduce((d,f)=>d+Number(f.minWidth||80),0);let c=0;o.forEach((d,f)=>{if(f===0)return;const p=Math.floor(Number(d.minWidth||80)*u);c+=p,d.realWidth=Number(d.minWidth||80)+p}),o[0].realWidth=Number(o[0].minWidth||80)+l-c}}else this.scrollX.value=!0,o.forEach(l=>{l.realWidth=Number(l.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else a.forEach(l=>{!l.width&&!l.minWidth?l.realWidth=80:l.realWidth=Number(l.width||l.minWidth),n+=l.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const r=this.store.states.fixedColumns.value;if(r.length>0){let l=0;r.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.fixedWidth.value=l}const s=this.store.states.rightFixedColumns.value;if(s.length>0){let l=0;s.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.rightFixedWidth.value=l}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const Co=Symbol("ElTable"),fx=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,fx(n.children))):t.push(n)}),t},px=e=>{let t=1;const n=(o,r)=>{if(r&&(o.level=r.level+1,t<o.level&&(t=o.level)),o.children){let s=0;o.children.forEach(l=>{n(l,o),s+=l.colSpan}),o.colSpan=s}else o.colSpan=1};e.forEach(o=>{o.level=1,n(o,void 0)});const a=[];for(let o=0;o<t;o++)a.push([]);return fx(e).forEach(o=>{o.children?(o.rowSpan=1,o.children.forEach(r=>r.isSubColumn=!0)):o.rowSpan=t-o.level+1,a[o.level-1].push(o)}),a};function oY(e){const t=$e(Co),n=C(()=>px(e.store.states.originColumns.value));return{isGroup:C(()=>{const r=n.value.length>1;return r&&t&&(t.state.isGroup.value=!0),r}),toggleAllSelection:r=>{r.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var rY=se({name:"ElTableFilterPanel",components:{ElCheckbox:mo,ElCheckboxGroup:jm,ElScrollbar:vo,ElTooltip:Wn,ElIcon:De,ArrowDown:qo,ArrowUp:ff},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:Kt.appendTo},setup(e){const t=dt(),{t:n}=xt(),a=ge("table-filter"),o=t?.parent;e.column&&!o.filterPanels.value[e.column.id]&&(o.filterPanels.value[e.column.id]=t);const r=M(null),s=M(null),l=M(0),u=C(()=>e.column&&e.column.filters),c=C(()=>e.column&&e.column.filterClassName?`${a.b()} ${e.column.filterClassName}`:a.b()),d=C({get:()=>(e.column?.filteredValue||[])[0],set:O=>{f.value&&(Pa(O)?f.value.splice(0,1):f.value.splice(0,1,O))}}),f=C({get(){return e.column?e.column.filteredValue||[]:[]},set(O){e.column&&e.upDataColumn?.("filteredValue",O)}}),p=C(()=>e.column?e.column.filterMultiple:!0),g=O=>O.value===d.value,h=()=>{r.value?.onClose()},v=()=>{w(f.value),h()},m=()=>{f.value=[],w(f.value),h()},b=(O,T)=>{d.value=O,l.value=T,Pa(O)?w([]):w(f.value),h()},w=O=>{e.store?.commit("filterChange",{column:e.column,values:O}),e.store?.updateAllSelected()},y=()=>{s.value?.focus(),!p.value&&k(),e.column&&e.upDataColumn?.("filterOpened",!0)},S=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},k=()=>{if(Pa(d)){l.value=0;return}const O=(u.value||[]).findIndex(T=>T.value===d.value);l.value=O>=0?O+1:0};return{multiple:p,filterClassName:c,filteredValue:f,filterValue:d,filters:u,handleConfirm:v,handleReset:m,handleSelect:b,isPropAbsent:Pa,isActive:g,t:n,ns:a,tooltipRef:r,rootRef:s,checkedIndex:l,handleShowTooltip:y,handleHideTooltip:S,handleKeydown:O=>{const T=qt(O),I=(u.value?u.value.length:0)+1;let _=l.value,N=!0;switch(T){case Se.down:case Se.right:_=(_+1)%I;break;case Se.up:case Se.left:_=(_-1+I)%I;break;case Se.tab:h(),N=!1;break;case Se.enter:case Se.space:if(_===0)b(null,0);else{const $=(u.value||[])[_-1];$.value&&b($.value,_)}break;default:N=!1;break}N&&O.preventDefault(),l.value=_,s.value?.querySelector(`.${a.e("list-item")}:nth-child(${_+1})`)?.focus()}}}});const sY=["disabled"],lY=["tabindex","aria-checked"],iY=["tabindex","aria-checked","onClick"],uY=["aria-label"];function cY(e,t,n,a,o,r){const s=Mt("el-checkbox"),l=Mt("el-checkbox-group"),u=Mt("el-scrollbar"),c=Mt("arrow-up"),d=Mt("arrow-down"),f=Mt("el-icon"),p=Mt("el-tooltip");return E(),le(p,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:ne(()=>[e.multiple?(E(),D("div",{key:0,ref:"rootRef",tabindex:"-1",class:R(e.ns.e("multiple"))},[z("div",{class:R(e.ns.e("content"))},[X(u,{"wrap-class":e.ns.e("wrap")},{default:ne(()=>[X(l,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=g=>e.filteredValue=g),class:R(e.ns.e("checkbox-group"))},{default:ne(()=>[(E(!0),D(Ve,null,kt(e.filters,g=>(E(),le(s,{key:g.value,value:g.value},{default:ne(()=>[wt(Ce(g.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),z("div",{class:R(e.ns.e("bottom"))},[z("button",{class:R(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...g)=>e.handleConfirm&&e.handleConfirm(...g))},Ce(e.t("el.table.confirmFilter")),11,sY),z("button",{type:"button",onClick:t[2]||(t[2]=(...g)=>e.handleReset&&e.handleReset(...g))},Ce(e.t("el.table.resetFilter")),1)],2)],2)):(E(),D("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:R(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...g)=>e.handleKeydown&&e.handleKeydown(...g))},[z("li",{role:"radio",class:R([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=g=>e.handleSelect(null,0))},Ce(e.t("el.table.clearFilter")),11,lY),(E(!0),D(Ve,null,kt(e.filters,(g,h)=>(E(),D("li",{key:g.value,role:"radio",class:R([e.ns.e("list-item"),e.ns.is("active",e.isActive(g))]),tabindex:e.checkedIndex===h+1?0:-1,"aria-checked":e.isActive(g),onClick:v=>e.handleSelect(g.value,h+1)},Ce(g.text),11,iY))),128))],34))]),default:ne(()=>[z("button",{type:"button",class:R(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[X(f,null,{default:ne(()=>[oe(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(E(),le(c,{key:0})):(E(),le(d,{key:1}))])]),_:3})],10,uY)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var dY=Mn(rY,[["render",cY]]);function dg(e){const t=dt();zd(()=>{n.value.addObserver(t)}),ht(()=>{a(n.value),o(n.value)}),bo(()=>{a(n.value),o(n.value)}),Vl(()=>{n.value.removeObserver(t)});const n=C(()=>{const r=e.layout;if(!r)throw new Error("Can not find table layout.");return r}),a=r=>{const s=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!s.length)return;const l=r.getFlattenColumns(),u={};l.forEach(c=>{u[c.id]=c});for(let c=0,d=s.length;c<d;c++){const f=s[c],p=u[f.getAttribute("name")];p&&f.setAttribute("width",p.realWidth||p.width)}},o=r=>{const s=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let u=0,c=s.length;u<c;u++)s[u].setAttribute("width",r.scrollY.value?r.gutterWidth:"0");const l=e.vnode.el?.querySelectorAll("th.gutter")||[];for(let u=0,c=l.length;u<c;u++){const d=l[u];d.style.width=r.scrollY.value?`${r.gutterWidth}px`:"0",d.style.display=r.scrollY.value?"":"none"}};return{tableLayout:n.value,onColumnsChange:a,onScrollableChange:o}}function fY(e,t){const n=dt(),a=$e(Co),o=v=>{v.stopPropagation()},r=(v,m)=>{!m.filters&&m.sortable?h(v,m,!1):m.filterable&&!m.sortable&&o(v),a?.emit("header-click",m,v)},s=(v,m)=>{a?.emit("header-contextmenu",m,v)},l=M(null),u=M(!1),c=M(),d=(v,m)=>{if(Lt&&!(m.children&&m.children.length>0)&&l.value&&e.border&&l.value.id===m.id){u.value=!0;const b=a;t("set-drag-visible",!0);const w=b?.vnode.el?.getBoundingClientRect().left,y=n?.vnode?.el?.querySelector(`th.${m.id}`),S=y.getBoundingClientRect(),k=S.left-w+30;Ua(y,"noclick"),c.value={startMouseLeft:v.clientX,startLeft:S.right-w,startColumnLeft:S.left-w,tableLeft:w};const x=b?.refs.resizeProxy;x.style.left=`${c.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const O=I=>{const _=I.clientX-c.value.startMouseLeft,N=c.value.startLeft+_;x.style.left=`${Math.max(k,N)}px`},T=()=>{if(u.value){const{startColumnLeft:I,startLeft:_}=c.value;m.width=m.realWidth=Number.parseInt(x.style.left,10)-I,b?.emit("header-dragend",m.width,_-I,m,v),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",u.value=!1,l.value=null,c.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",T),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ra(y,"noclick")},0)};document.addEventListener("mousemove",O),document.addEventListener("mouseup",T)}},f=(v,m)=>{if(!e.border||m.children&&m.children.length>0)return;const b=v.target,w=ka(b)?b.closest("th"):null;if(!w)return;const y=Ao(w,"is-sortable");if(y){const I=u.value?"col-resize":"";w.style.cursor=I;const _=w.querySelector(".caret-wrapper");_&&(_.style.cursor=I)}if(!m.resizable||u.value){l.value=null;return}const S=w.getBoundingClientRect(),k=w.parentNode?.lastElementChild===w,x=e.allowDragLastColumn||!k,O=S.width>12&&S.right-v.clientX<8&&x,T=O?"col-resize":"";document.body.style.cursor=T,l.value=O?m:null,y&&(w.style.cursor=T)},p=()=>{!Lt||u.value||(document.body.style.cursor="")},g=({order:v,sortOrders:m})=>{if(v==="")return m[0];const b=m.indexOf(v||null);return m[b>m.length-2?0:b+1]},h=(v,m,b)=>{v.stopPropagation();const w=m.order===b?null:b||g(m),y=v.target?.closest("th");if(y&&Ao(y,"noclick")){ra(y,"noclick");return}if(!m.sortable)return;const S=v.currentTarget;if(["ascending","descending"].some(I=>Ao(S,I)&&!m.sortOrders.includes(I)))return;const k=e.store.states;let x=k.sortProp.value,O;const T=k.sortingColumn.value;(T!==m||T===m&&Qd(T.order))&&(T&&(T.order=null),k.sortingColumn.value=m,x=m.property),w?O=m.order=w:O=m.order=null,k.sortProp.value=x,k.sortOrder.value=O,a?.store.commit("changeSortCondition")};return{handleHeaderClick:r,handleHeaderContextMenu:s,handleMouseDown:d,handleMouseMove:f,handleMouseOut:p,handleSortClick:h,handleFilterClick:o}}function pY(e){const t=$e(Co),n=ge("table");return{getHeaderRowStyle:l=>{const u=t?.props.headerRowStyle;return Fe(u)?u.call(null,{rowIndex:l}):u},getHeaderRowClass:l=>{const u=[],c=t?.props.headerRowClassName;return Ae(c)?u.push(c):Fe(c)&&u.push(c.call(null,{rowIndex:l})),u.join(" ")},getHeaderCellStyle:(l,u,c,d)=>{let f=t?.props.headerCellStyle??{};Fe(f)&&(f=f.call(null,{rowIndex:l,columnIndex:u,row:c,column:d}));const p=ug(u,d.fixed,e.store,c);return Ml(p,"left"),Ml(p,"right"),Object.assign({},f,p)},getHeaderCellClass:(l,u,c,d)=>{const f=ig(n.b(),u,d.fixed,e.store,c),p=[d.id,d.order,d.headerAlign,d.className,d.labelClassName,...f];d.children||p.push("is-leaf"),d.sortable&&p.push("is-sortable");const g=t?.props.headerCellClassName;return Ae(g)?p.push(g):Fe(g)&&p.push(g.call(null,{rowIndex:l,columnIndex:u,row:c,column:d})),p.push(n.e("cell")),p.filter(h=>!!h).join(" ")}}}var hY=se({name:"ElTableHeader",components:{ElCheckbox:mo},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=dt(),a=$e(Co),o=ge("table"),r=M({}),{onColumnsChange:s,onScrollableChange:l}=dg(a),u=a?.props.tableLayout==="auto",c=Dt(new Map),d=M();let f;const p=()=>{f=setTimeout(()=>{c.size>0&&(c.forEach(($,B)=>{const K=d.value.querySelector(`.${B.replace(/\s/g,".")}`);K&&($.width=K.getBoundingClientRect().width||$.width)}),c.clear())})};pe(c,p),Vt(()=>{f&&(clearTimeout(f),f=void 0)}),ht(async()=>{await Ne(),await Ne();const{prop:$,order:B}=e.defaultSort;a?.store.commit("sort",{prop:$,order:B,init:!0}),p()});const{handleHeaderClick:g,handleHeaderContextMenu:h,handleMouseDown:v,handleMouseMove:m,handleMouseOut:b,handleSortClick:w,handleFilterClick:y}=fY(e,t),{getHeaderRowStyle:S,getHeaderRowClass:k,getHeaderCellStyle:x,getHeaderCellClass:O}=pY(e),{isGroup:T,toggleAllSelection:I,columnRows:_}=oY(e),{t:N}=xt();return n.state={onColumnsChange:s,onScrollableChange:l},n.filterPanels=r,{ns:o,t:N,filterPanels:r,onColumnsChange:s,onScrollableChange:l,columnRows:_,getHeaderRowClass:k,getHeaderRowStyle:S,getHeaderCellClass:O,getHeaderCellStyle:x,handleHeaderClick:g,handleHeaderContextMenu:h,handleMouseDown:v,handleMouseMove:m,handleMouseOut:b,handleSortClick:w,handleFilterClick:y,isGroup:T,toggleAllSelection:I,saveIndexSelection:c,isTableLayoutAuto:u,theadRef:d,updateFixedColumnStyle:p}},render(){const{ns:e,t,isGroup:n,columnRows:a,getHeaderCellStyle:o,getHeaderCellClass:r,getHeaderRowClass:s,getHeaderRowStyle:l,handleHeaderClick:u,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:f,handleSortClick:p,handleMouseOut:g,store:h,$parent:v,saveIndexSelection:m,isTableLayoutAuto:b}=this;let w=1;return qe("thead",{ref:"theadRef",class:e.is("group",n)},a.map((y,S)=>qe("tr",{class:s(S),key:S,style:l(S)},y.map((k,x)=>{k.rowSpan>w&&(w=k.rowSpan);const O=r(S,x,y,k);return b&&k.fixed&&m.set(O,k),qe("th",{class:O,colspan:k.colSpan,key:`${k.id}-thead`,rowspan:k.rowSpan,scope:k.colSpan>1?"colgroup":"col",ariaSort:k.sortable?k.order:void 0,style:o(S,x,y,k),onClick:T=>{T.currentTarget?.classList.contains("noclick")||u(T,k)},onContextmenu:T=>c(T,k),onMousedown:T=>d(T,k),onMousemove:T=>f(T,k),onMouseout:g},[qe("div",{class:["cell",k.filteredValue&&k.filteredValue.length>0?"highlight":""]},[k.renderHeader?k.renderHeader({column:k,$index:x,store:h,_self:v}):k.label,k.sortable&&qe("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:k.label||""}),onClick:T=>p(T,k)},[qe("i",{onClick:T=>p(T,k,"ascending"),class:"sort-caret ascending"}),qe("i",{onClick:T=>p(T,k,"descending"),class:"sort-caret descending"})]),k.filterable&&qe(dY,{store:h,placement:k.filterPlacement||"bottom-start",appendTo:v?.appendFilterPanelTo,column:k,upDataColumn:(T,I)=>{k[T]=I}},{"filter-icon":()=>k.renderFilterIcon?k.renderFilterIcon({filterOpened:k.filterOpened}):null})])])}))))}});function vY(e){const t=$e(Co),n=M(""),a=M(qe("div")),o=(h,v,m)=>{const b=t,w=xp(h);let y=null;const S=b?.vnode.el?.dataset.prefix;w&&(y=Q0({columns:e.store?.states.columns.value??[]},w,S),y&&b?.emit(`cell-${m}`,v,y,w,h)),b?.emit(`row-${m}`,v,y,h)},r=(h,v)=>{o(h,v,"dblclick")},s=(h,v)=>{e.store?.commit("setCurrentRow",v),o(h,v,"click")},l=(h,v)=>{o(h,v,"contextmenu")},u=Ho(h=>{e.store?.commit("setHoverRow",h)},30),c=Ho(()=>{e.store?.commit("setHoverRow",null)},30),d=h=>{const v=window.getComputedStyle(h,null);return{left:Number.parseInt(v.paddingLeft,10)||0,right:Number.parseInt(v.paddingRight,10)||0,top:Number.parseInt(v.paddingTop,10)||0,bottom:Number.parseInt(v.paddingBottom,10)||0}},f=(h,v,m)=>{let b=v?.target?.parentNode;for(;h>1&&(b=b?.nextSibling,!(!b||b.nodeName!=="TR"));)m(b,"hover-row hover-fixed-row"),h--};return{handleDoubleClick:r,handleClick:s,handleContextMenu:l,handleMouseEnter:u,handleMouseLeave:c,handleCellMouseEnter:(h,v,m)=>{if(!t)return;const b=t,w=xp(h),y=b?.vnode.el?.dataset.prefix;let S=null;if(w){if(S=Q0({columns:e.store?.states.columns.value??[]},w,y),!S)return;w.rowSpan>1&&f(w.rowSpan,h,Ua);const A=b.hoverState={cell:w,column:S,row:v};b?.emit("cell-mouse-enter",A.row,A.column,A.cell,h)}if(!m){Ca?.trigger===w&&Ca?.();return}const k=h.target.querySelector(".cell");if(!(Ao(k,`${y}-tooltip`)&&k.childNodes.length&&k.textContent?.trim()))return;const x=document.createRange();x.setStart(k,0),x.setEnd(k,k.childNodes.length);const{width:O,height:T}=x.getBoundingClientRect(),{width:I,height:_}=k.getBoundingClientRect(),{top:N,left:$,right:B,bottom:K}=d(k),j=$+B,W=N+K;Vo(O+j,I)||Vo(T+W,_)||Vo(k.scrollWidth,I)?Yq(m,(w?.innerText||w?.textContent)??"",v,S,w,b):Ca?.trigger===w&&Ca?.()},handleCellMouseLeave:h=>{const v=xp(h);if(!v)return;v.rowSpan>1&&f(v.rowSpan,h,ra);const m=t?.hoverState;t?.emit("cell-mouse-leave",m?.row,m?.column,m?.cell,h)},tooltipContent:n,tooltipTrigger:a}}function mY(e){const t=$e(Co),n=ge("table");return{getRowStyle:(c,d)=>{const f=t?.props.rowStyle;return Fe(f)?f.call(null,{row:c,rowIndex:d}):f||null},getRowClass:(c,d,f)=>{const p=[n.e("row")];t?.props.highlightCurrentRow&&c===e.store?.states.currentRow.value&&p.push("current-row"),e.stripe&&f%2===1&&p.push(n.em("row","striped"));const g=t?.props.rowClassName;return Ae(g)?p.push(g):Fe(g)&&p.push(g.call(null,{row:c,rowIndex:d})),p},getCellStyle:(c,d,f,p)=>{const g=t?.props.cellStyle;let h=g??{};Fe(g)&&(h=g.call(null,{rowIndex:c,columnIndex:d,row:f,column:p}));const v=ug(d,e?.fixed,e.store);return Ml(v,"left"),Ml(v,"right"),Object.assign({},h,v)},getCellClass:(c,d,f,p,g)=>{const h=ig(n.b(),d,e?.fixed,e.store,void 0,g),v=[p.id,p.align,p.className,...h],m=t?.props.cellClassName;return Ae(m)?v.push(m):Fe(m)&&v.push(m.call(null,{rowIndex:c,columnIndex:d,row:f,column:p})),v.push(n.e("cell")),v.filter(b=>!!b).join(" ")},getSpan:(c,d,f,p)=>{let g=1,h=1;const v=t?.props.spanMethod;if(Fe(v)){const m=v({row:c,column:d,rowIndex:f,columnIndex:p});we(m)?(g=m[0],h=m[1]):ot(m)&&(g=m.rowspan,h=m.colspan)}return{rowspan:g,colspan:h}},getColspanRealWidth:(c,d,f)=>{if(d<1)return c[f].realWidth;const p=c.map(({realWidth:g,width:h})=>g||h).slice(f,f+d);return Number(p.reduce((g,h)=>Number(g)+Number(h),-1))}}}const gY=["colspan","rowspan"];var bY=se({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(E(),D("td",{colspan:e.colspan,rowspan:e.rowspan},[oe(t.$slots,"default")],8,gY))}}),yY=bY;function wY(e){const t=$e(Co),n=ge("table"),{handleDoubleClick:a,handleClick:o,handleContextMenu:r,handleMouseEnter:s,handleMouseLeave:l,handleCellMouseEnter:u,handleCellMouseLeave:c,tooltipContent:d,tooltipTrigger:f}=vY(e),{getRowStyle:p,getRowClass:g,getCellStyle:h,getCellClass:v,getSpan:m,getColspanRealWidth:b}=mY(e);let w=-1;const y=C(()=>e.store?.states.columns.value.findIndex(({type:T})=>T==="default")),S=(T,I)=>{const _=t?.props?.rowKey;return _?Cn(T,_):I},k=(T,I,_,N=!1)=>{const{tooltipEffect:$,tooltipOptions:B,store:K}=e,{indent:j,columns:W}=K.states,A=[];let P=!0;return _&&(A.push(n.em("row",`level-${_.level}`)),P=!!_.display),I===0&&(w=-1),e.stripe&&P&&w++,A.push(...g(T,I,w)),qe("tr",{style:[P?null:{display:"none"},p(T,I)],class:A,key:S(T,I),onDblclick:V=>a(V,T),onClick:V=>o(V,T),onContextmenu:V=>r(V,T),onMouseenter:()=>s(I),onMouseleave:l},W.value.map((V,F)=>{const{rowspan:H,colspan:U}=m(T,V,I,F);if(!H||!U)return null;const J=Object.assign({},V);J.realWidth=b(W.value,U,F);const ee={store:K,_self:e.context||t,column:J,row:T,$index:I,cellIndex:F,expanded:N};F===y.value&&_&&(ee.treeNode={indent:_.level&&_.level*j.value,level:_.level},Wt(_.expanded)&&(ee.treeNode.expanded=_.expanded,"loading"in _&&(ee.treeNode.loading=_.loading),"noLazyChildren"in _&&(ee.treeNode.noLazyChildren=_.noLazyChildren)));const ae=`${S(T,I)},${F}`,ce=J.columnKey||J.rawColumnKey||"",Z=V.showOverflowTooltip&&kS({effect:$},B,V.showOverflowTooltip);return qe(yY,{style:h(I,F,T,V),class:v(I,F,T,V,U-1),key:`${ce}${ae}`,rowspan:H,colspan:U,onMouseenter:de=>u(de,T,Z),onMouseleave:c},{default:()=>x(F,V,ee)})}))},x=(T,I,_)=>I.renderCell(_);return{wrappedRowRender:(T,I)=>{const _=e.store,{isRowExpanded:N,assertRowKey:$}=_,{treeData:B,lazyTreeNodeMap:K,childrenColumnName:j,rowKey:W}=_.states,A=_.states.columns.value;if(A.some(({type:P})=>P==="expand")){const P=N(T),V=k(T,I,void 0,P),F=t?.renderExpanded;if(!F)return console.error("[Element Error]renderExpanded is required."),V;const H=[[V]];return(t.props.preserveExpandedContent||P)&&H[0].push(qe("tr",{key:`expanded-row__${V.key}`,style:{display:P?"":"none"}},[qe("td",{colspan:A.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[F({row:T,$index:I,store:_,expanded:P})])])),H}else if(Object.keys(B.value).length){$();const P=Cn(T,W.value);let V=B.value[P],F=null;V&&(F={expanded:V.expanded,level:V.level,display:!0,noLazyChildren:void 0,loading:void 0},Wt(V.lazy)&&(F&&Wt(V.loaded)&&V.loaded&&(F.noLazyChildren=!(V.children&&V.children.length)),F.loading=V.loading));const H=[k(T,I,F??void 0)];if(V){let U=0;const J=(ee,ae)=>{ee&&ee.length&&ae&&ee.forEach(ce=>{const Z={display:ae.display&&ae.expanded,level:ae.level+1,expanded:!1,noLazyChildren:!1,loading:!1},de=Cn(ce,W.value);if(Pa(de))throw new Error("For nested data item, row-key is required.");V={...B.value[de]},V&&(Z.expanded=V.expanded,V.level=V.level||Z.level,V.display=!!(V.expanded&&Z.display),Wt(V.lazy)&&(Wt(V.loaded)&&V.loaded&&(Z.noLazyChildren=!(V.children&&V.children.length)),Z.loading=V.loading)),U++,H.push(k(ce,I+U,Z)),V&&J(K.value[de]||ce[j.value],V)})};V.display=!0,J(K.value[P]||T[j.value],V)}return H}else return k(T,I,void 0)},tooltipContent:d,tooltipTrigger:f}}const SY={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var CY=se({name:"ElTableBody",props:SY,setup(e){const t=dt(),n=$e(Co),a=ge("table"),{wrappedRowRender:o,tooltipContent:r,tooltipTrigger:s}=wY(e),{onColumnsChange:l,onScrollableChange:u}=dg(n),c=[];return pe(e.store?.states.hoverRow,(d,f)=>{const p=t?.vnode.el,g=Array.from(p?.children||[]).filter(m=>m?.classList.contains(`${a.e("row")}`));let h=d;const v=g[h]?.childNodes;if(v?.length){let m=0;Array.from(v).reduce((b,w,y)=>(v[y]?.colSpan>1&&(m=v[y]?.colSpan),w.nodeName!=="TD"&&m===0&&b.push(y),m>0&&m--,b),[]).forEach(b=>{for(h=d;h>0;){const w=g[h-1]?.childNodes;if(w[b]&&w[b].nodeName==="TD"&&w[b].rowSpan>1){Ua(w[b],"hover-cell"),c.push(w[b]);break}h--}})}else c.forEach(m=>ra(m,"hover-cell")),c.length=0;!e.store?.states.isComplex.value||!Lt||Oa(()=>{const m=g[f],b=g[d];m&&!m.classList.contains("hover-fixed-row")&&ra(m,"hover-row"),b&&Ua(b,"hover-row")})}),Vl(()=>{Ca?.()}),{ns:a,onColumnsChange:l,onScrollableChange:u,wrappedRowRender:o,tooltipContent:r,tooltipTrigger:s}},render(){const{wrappedRowRender:e,store:t}=this;return qe("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,a)=>n.concat(e(a,n.length)),[])])}});function kY(){const e=$e(Co)?.store;return{leftFixedLeafCount:C(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:C(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:C(()=>e?.states.columns.value.length??0),leftFixedCount:C(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:C(()=>e?.states.rightFixedColumns.value.length??0),columns:C(()=>e?.states.columns.value??[])}}function EY(e){const{columns:t}=kY(),n=ge("table");return{getCellClasses:(r,s)=>{const l=r[s],u=[n.e("cell"),l.id,l.align,l.labelClassName,...ig(n.b(),s,l.fixed,e.store)];return l.className&&u.push(l.className),l.children||u.push(n.is("leaf")),u},getCellStyles:(r,s)=>{const l=ug(s,r.fixed,e.store);return Ml(l,"left"),Ml(l,"right"),l},columns:t}}var xY=se({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=$e(Co),n=ge("table"),{getCellClasses:a,getCellStyles:o,columns:r}=EY(e),{onScrollableChange:s,onColumnsChange:l}=dg(t);return{ns:n,onScrollableChange:s,onColumnsChange:l,getCellClasses:a,getCellStyles:o,columns:r}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:a,sumText:o}=this,r=this.store.states.data.value;let s=[];return a?s=a({columns:e,data:r}):e.forEach((l,u)=>{if(u===0){s[u]=o;return}const c=r.map(g=>Number(g[l.property])),d=[];let f=!0;c.forEach(g=>{if(!Number.isNaN(+g)){f=!1;const h=`${g}`.split(".")[1];d.push(h?h.length:0)}});const p=Math.max.apply(null,d);f?s[u]="":s[u]=c.reduce((g,h)=>{const v=Number(h);return Number.isNaN(+v)?g:Number.parseFloat((g+h).toFixed(Math.min(p,20)))},0)}),qe(qe("tfoot",[qe("tr",{},[...e.map((l,u)=>qe("td",{key:u,colspan:l.colSpan,rowspan:l.rowSpan,class:n(e,u),style:t(l,u)},[qe("div",{class:["cell",l.labelClassName]},[s[u]])]))])]))}});function TY(e){return{setCurrentRow:f=>{e.commit("setCurrentRow",f)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(f,p,g=!0)=>{e.toggleRowSelection(f,p,!1,g),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:f=>{e.clearFilter(f)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(f,p)=>{e.toggleRowExpansionAdapter(f,p)},clearSort:()=>{e.clearSort()},sort:(f,p)=>{e.commit("sort",{prop:f,order:p})},updateKeyChildren:(f,p)=>{e.updateKeyChildren(f,p)}}}function OY(e,t,n,a){const o=M(!1),r=M(null),s=M(!1),l=j=>{s.value=j},u=M({width:null,height:null,headerHeight:null}),c=M(!1),d={display:"inline-block",verticalAlign:"middle"},f=M(),p=M(0),g=M(0),h=M(0),v=M(0),m=M(0);pe(()=>e.height,j=>{t.setHeight(j??null)},{immediate:!0}),pe(()=>e.maxHeight,j=>{t.setMaxHeight(j??null)},{immediate:!0}),pe(()=>[e.currentRowKey,n.states.rowKey],([j,W])=>{!i(W)||!i(j)||n.setCurrentRowKey(`${j}`)},{immediate:!0}),pe(()=>e.data,j=>{a.store.commit("setData",j)},{immediate:!0,deep:!0}),la(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const b=()=>{a.store.commit("setHoverRow",null),a.hoverState&&(a.hoverState=null)},w=(j,W)=>{const{pixelX:A,pixelY:P}=W;Math.abs(A)>=Math.abs(P)&&(a.refs.bodyWrapper.scrollLeft+=W.pixelX/5)},y=C(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),S=C(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),k=()=>{y.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(I)};ht(async()=>{await Ne(),n.updateColumns(),_(),requestAnimationFrame(k);const j=a.vnode.el,W=a.refs.headerWrapper;e.flexible&&j&&j.parentElement&&(j.parentElement.style.minWidth="0"),u.value={width:f.value=j.offsetWidth,height:j.offsetHeight,headerHeight:e.showHeader&&W?W.offsetHeight:null},n.states.columns.value.forEach(A=>{A.filteredValue&&A.filteredValue.length&&a.store.commit("filterChange",{column:A,values:A.filteredValue,silent:!0})}),a.$ready=!0});const x=(j,W)=>{if(!j)return;const A=Array.from(j.classList).filter(P=>!P.startsWith("is-scrolling-"));A.push(t.scrollX.value?W:"is-scrolling-none"),j.className=A.join(" ")},O=j=>{const{tableWrapper:W}=a.refs;x(W,j)},T=j=>{const{tableWrapper:W}=a.refs;return!!(W&&W.classList.contains(j))},I=function(){if(!a.refs.scrollBarRef)return;if(!t.scrollX.value){const H="is-scrolling-none";T(H)||O(H);return}const j=a.refs.scrollBarRef.wrapRef;if(!j)return;const{scrollLeft:W,offsetWidth:A,scrollWidth:P}=j,{headerWrapper:V,footerWrapper:F}=a.refs;V&&(V.scrollLeft=W),F&&(F.scrollLeft=W),W>=P-A-1?O("is-scrolling-right"):O(W===0?"is-scrolling-left":"is-scrolling-middle")},_=()=>{a.refs.scrollBarRef&&(a.refs.scrollBarRef.wrapRef&&Bt(a.refs.scrollBarRef.wrapRef,"scroll",I,{passive:!0}),e.fit?an(a.vnode.el,N):Bt(window,"resize",N),an(a.refs.tableInnerWrapper,()=>{N(),a.refs?.scrollBarRef?.update()}))},N=()=>{const j=a.vnode.el;if(!a.$ready||!j)return;let W=!1;const{width:A,height:P,headerHeight:V}=u.value,F=f.value=j.offsetWidth;A!==F&&(W=!0);const H=j.offsetHeight;(e.height||y.value)&&P!==H&&(W=!0);const U=e.tableLayout==="fixed"?a.refs.headerWrapper:a.refs.tableHeaderRef?.$el;e.showHeader&&U?.offsetHeight!==V&&(W=!0),p.value=a.refs.tableWrapper?.scrollHeight||0,h.value=U?.scrollHeight||0,v.value=a.refs.footerWrapper?.offsetHeight||0,m.value=a.refs.appendWrapper?.offsetHeight||0,g.value=p.value-h.value-v.value-m.value,W&&(u.value={width:F,height:H,headerHeight:e.showHeader&&U?.offsetHeight||0},k())},$=In(),B=C(()=>{const{bodyWidth:j,scrollY:W,gutterWidth:A}=t;return j.value?`${j.value-(W.value?A:0)}px`:""}),K=C(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:o,renderExpanded:r,setDragVisible:l,isGroup:c,handleMouseLeave:b,handleHeaderFooterMousewheel:w,tableSize:$,emptyBlockStyle:C(()=>{if(e.data&&e.data.length)return;let j="100%";e.height&&g.value&&(j=`${g.value}px`);const W=f.value;return{width:W?`${W}px`:"",height:j}}),resizeProxyVisible:s,bodyWidth:B,resizeState:u,doLayout:k,tableBodyStyles:S,tableLayout:K,scrollbarViewStyle:d,scrollbarStyle:C(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${h.value+v.value}px)`}:{maxHeight:`${+e.maxHeight-h.value-v.value}px`}:{})}}function _Y(e){let t;const n=()=>{const a=e.vnode.el.querySelector(".hidden-columns"),o={childList:!0,subtree:!0},r=e.store.states.updateOrderFns;t=new MutationObserver(()=>{r.forEach(s=>s())}),t.observe(a,o)};ht(()=>{n()}),Vl(()=>{t?.disconnect()})}var RY={data:{type:Array,default:()=>[]},size:Nn,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array,Boolean],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function hx(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:o})=>Rt(o))&&(n=[]);const a=o=>{const r={key:`${e.tableLayout}_${o.id}`,style:{},name:void 0};return t?r.style={width:`${o.width}px`}:r.name=o.id,r};return qe("colgroup",{},n.map(o=>qe("col",a(o))))}hx.props=["columns","tableLayout"];const IY=()=>{const e=M(),t=(r,s)=>{const l=e.value;l&&l.scrollTo(r,s)},n=(r,s)=>{const l=e.value;l&&Be(s)&&["Top","Left"].includes(r)&&l[`setScroll${r}`](s)};return{scrollBarRef:e,scrollTo:t,setScrollTop:r=>n("Top",r),setScrollLeft:r=>n("Left",r)}};let $Y=1;var NY=se({name:"ElTable",directives:{Mousewheel:pV},components:{TableHeader:hY,TableBody:CY,TableFooter:xY,ElScrollbar:vo,hColgroup:hx},props:RY,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t}=xt(),n=ge("table"),a=xr("table"),o=dt();St(Co,o);const r=tY(o,e);o.store=r;const s=new aY({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=s;const l=C(()=>(r.states.data.value||[]).length===0),{setCurrentRow:u,getSelectionRows:c,toggleRowSelection:d,clearSelection:f,clearFilter:p,toggleAllSelection:g,toggleRowExpansion:h,clearSort:v,sort:m,updateKeyChildren:b}=TY(r),{isHidden:w,renderExpanded:y,setDragVisible:S,isGroup:k,handleMouseLeave:x,handleHeaderFooterMousewheel:O,tableSize:T,emptyBlockStyle:I,resizeProxyVisible:_,bodyWidth:N,resizeState:$,doLayout:B,tableBodyStyles:K,tableLayout:j,scrollbarViewStyle:W,scrollbarStyle:A}=OY(e,s,r,o),{scrollBarRef:P,scrollTo:V,setScrollLeft:F,setScrollTop:H}=IY(),U=Ho(B,50),J=`${n.namespace.value}-table_${$Y++}`;o.tableId=J,o.state={isGroup:k,resizeState:$,doLayout:B,debouncedUpdateLayout:U};const ee=C(()=>e.sumText??t("el.table.sumText")),ae=C(()=>e.emptyText??t("el.table.emptyText")),ce=C(()=>e.tooltipEffect??a.value?.tooltipEffect),Z=C(()=>e.tooltipOptions??a.value?.tooltipOptions),de=C(()=>px(r.states.originColumns.value)[0]);return _Y(o),Vt(()=>{U.cancel()}),{ns:n,layout:s,store:r,columns:de,handleHeaderFooterMousewheel:O,handleMouseLeave:x,tableId:J,tableSize:T,isHidden:w,isEmpty:l,renderExpanded:y,resizeProxyVisible:_,resizeState:$,isGroup:k,bodyWidth:N,tableBodyStyles:K,emptyBlockStyle:I,debouncedUpdateLayout:U,setCurrentRow:u,getSelectionRows:c,toggleRowSelection:d,clearSelection:f,clearFilter:p,toggleAllSelection:g,toggleRowExpansion:h,clearSort:v,doLayout:B,sort:m,updateKeyChildren:b,t,setDragVisible:S,context:o,computedSumText:ee,computedEmptyText:ae,computedTooltipEffect:ce,computedTooltipOptions:Z,tableLayout:j,scrollbarViewStyle:W,scrollbarStyle:A,scrollBarRef:P,scrollTo:V,setScrollLeft:F,setScrollTop:H,allowDragLastColumn:e.allowDragLastColumn}}});const MY=["data-prefix"],PY={ref:"hiddenColumns",class:"hidden-columns"};function AY(e,t,n,a,o,r){const s=Mt("hColgroup"),l=Mt("table-header"),u=Mt("table-body"),c=Mt("table-footer"),d=Mt("el-scrollbar"),f=Lv("mousewheel");return E(),D("div",{ref:"tableWrapper",class:R([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:ze(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[1]||(t[1]=(...p)=>e.handleMouseLeave&&e.handleMouseLeave(...p))},[z("div",{ref:"tableInnerWrapper",class:R(e.ns.e("inner-wrapper"))},[z("div",PY,[oe(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?ct((E(),D("div",{key:0,ref:"headerWrapper",class:R(e.ns.e("header-wrapper"))},[z("table",{ref:"tableHeader",class:R(e.ns.e("header")),style:ze(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[X(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),X(l,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[f,e.handleHeaderFooterMousewheel]]):re("v-if",!0),z("div",{ref:"bodyWrapper",class:R(e.ns.e("body-wrapper"))},[X(d,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:t[0]||(t[0]=p=>e.$emit("scroll",p))},{default:ne(()=>[z("table",{ref:"tableBody",class:R(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:ze({width:e.bodyWidth,tableLayout:e.tableLayout})},[X(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(E(),le(l,{key:0,ref:"tableHeaderRef",class:R(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):re("v-if",!0),X(u,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.computedTooltipEffect,"tooltip-options":e.computedTooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(E(),le(c,{key:1,class:R(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):re("v-if",!0)],6),e.isEmpty?(E(),D("div",{key:0,ref:"emptyBlock",style:ze(e.emptyBlockStyle),class:R(e.ns.e("empty-block"))},[z("span",{class:R(e.ns.e("empty-text"))},[oe(e.$slots,"empty",{},()=>[wt(Ce(e.computedEmptyText),1)])],2)],6)):re("v-if",!0),e.$slots.append?(E(),D("div",{key:1,ref:"appendWrapper",class:R(e.ns.e("append-wrapper"))},[oe(e.$slots,"append")],2)):re("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&e.tableLayout==="fixed"?ct((E(),D("div",{key:1,ref:"footerWrapper",class:R(e.ns.e("footer-wrapper"))},[z("table",{class:R(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:ze(e.tableBodyStyles)},[X(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),X(c,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[$t,!e.isEmpty],[f,e.handleHeaderFooterMousewheel]]):re("v-if",!0),e.border||e.isGroup?(E(),D("div",{key:2,class:R(e.ns.e("border-left-patch"))},null,2)):re("v-if",!0)],2),ct(z("div",{ref:"resizeProxy",class:R(e.ns.e("column-resize-proxy"))},null,2),[[$t,e.resizeProxyVisible]])],46,MY)}var LY=Mn(NY,[["render",AY]]);const DY={selection:"table-column--selection",expand:"table__expand-column"},BY={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},VY=e=>DY[e]||"",FY={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return qe(mo,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:a}){return qe(mo,{disabled:t.selectable?!t.selectable.call(null,e,a):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:o=>o.stopPropagation(),modelValue:n.isSelected(e),indeterminate:n.getRowIndeterminate(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const a=e.index;return Be(a)?n=t+a:Fe(a)&&(n=a(t)),qe("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:a,$index:o}){const{ns:r}=n,s=[r.e("expand-icon")];!e.renderExpand&&a&&s.push(r.em("expand-icon","expanded"));const l=function(c){c.stopPropagation(),n.toggleRowExpansion(t)},u=n.states.rowExpandable.value?.(t,o)??!0;return u||s.push(r.is("disabled")),qe("button",{type:"button",disabled:!u,"aria-label":n.t(a?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":a,class:s,onClick:l},{default:()=>e.renderExpand?[e.renderExpand({expanded:a,expandable:u})]:[qe(De,null,{default:()=>[qe(sa)]})]})},sortable:!1,resizable:!1}};function zY({row:e,column:t,$index:n}){const a=t.property,o=a&&Wr(e,a).value;return t&&t.formatter?t.formatter(e,t,o,n):o?.toString?.()||""}function HY({row:e,treeNode:t,store:n},a=!1){const{ns:o}=n;if(!t)return a?[qe("span",{class:o.e("placeholder")})]:null;const r=[],s=function(l){l.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&r.push(qe("span",{class:o.e("indent"),style:{"padding-left":`${t.indent}px`}})),Wt(t.expanded)&&!t.noLazyChildren){const l=[o.e("expand-icon"),t.expanded?o.em("expand-icon","expanded"):""];let u=sa;t.loading&&(u=ho),r.push(qe("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:l,onClick:s},{default:()=>[qe(De,{class:o.is("loading",t.loading)},{default:()=>[qe(u)]})]}))}else r.push(qe("span",{class:o.e("placeholder")}));return r}function n1(e,t){return e.reduce((n,a)=>(n[a]=a,n),t)}function KY(e,t){const n=dt();return{registerComplexWatchers:()=>{const r=["fixed"],s={realWidth:"width",realMinWidth:"minWidth"},l=n1(r,s);Object.keys(l).forEach(u=>{const c=s[u];Nt(t,c)&&pe(()=>t[c],d=>{let f=d;c==="width"&&u==="realWidth"&&(f=lg(d)),c==="minWidth"&&u==="realMinWidth"&&(f=sx(d)),n.columnConfig.value[c]=f,n.columnConfig.value[u]=f;const p=c==="fixed";e.value.store.scheduleLayout(p)})})},registerNormalWatchers:()=>{const r=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],s=["showOverflowTooltip"],l={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},u=n1(r,l);Object.keys(u).forEach(d=>{const f=l[d];Nt(t,f)&&pe(()=>t[f],p=>{n.columnConfig.value[d]=p,(d==="filters"||d==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),s.forEach(d=>{Nt(e.value.props,d)&&pe(()=>e.value.props[d],f=>{n.columnConfig.value.type!=="selection"&&Rt(t[d])&&(n.columnConfig.value[d]=f)})});const c=xr("table");c.value&&Nt(c.value,"showOverflowTooltip")&&pe(()=>c.value?.showOverflowTooltip,d=>{n.columnConfig.value.type!=="selection"&&(!Rt(t.showOverflowTooltip)||!Rt(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=d))})}}}function WY(e,t,n){const a=dt(),o=M(""),r=M(!1),s=M(),l=M(),u=ge("table");la(()=>{s.value=e.align?`is-${e.align}`:null,s.value}),la(()=>{l.value=e.headerAlign?`is-${e.headerAlign}`:s.value,l.value});const c=C(()=>{let S=a.vnode.vParent||a.parent;for(;S&&!S.tableId&&!S.columnId;)S=S.vnode.vParent||S.parent;return S}),d=C(()=>{const{store:S}=a.parent;if(!S)return!1;const{treeData:k}=S.states,x=k.value;return x&&Object.keys(x).length>0}),f=M(lg(e.width)),p=M(sx(e.minWidth)),g=S=>(f.value&&(S.width=f.value),p.value&&(S.minWidth=p.value),!f.value&&p.value&&(S.width=void 0),S.minWidth||(S.minWidth=80),S.realWidth=Number(Rt(S.width)?S.minWidth:S.width),S),h=S=>{const k=S.type,x=FY[k]||{};Object.keys(x).forEach(T=>{const I=x[T];T!=="className"&&!Rt(I)&&(S[T]=I)});const O=VY(k);if(O){const T=`${i(u.namespace)}-${O}`;S.className=S.className?`${S.className} ${T}`:T}return S},v=S=>{we(S)?S.forEach(x=>k(x)):k(S);function k(x){x?.type?.name==="ElTableColumn"&&(x.vParent=a)}};return{columnId:o,realAlign:s,isSubColumn:r,realHeaderAlign:l,columnOrTableParent:c,setColumnWidth:g,setColumnForcedProps:h,setColumnRenders:S=>{e.renderHeader?jt("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):S.type!=="selection"&&(S.renderHeader=x=>{if(a.columnConfig.value.label,t.header){const O=t.header(x);if(ux(O))return qe(Ve,O)}return wt(S.label)}),t["filter-icon"]&&(S.renderFilterIcon=x=>oe(t,"filter-icon",x)),t.expand&&(S.renderExpand=x=>oe(t,"expand",x));let k=S.renderCell;return S.type==="expand"?(S.renderCell=x=>qe("div",{class:"cell"},[k(x)]),n.value.renderExpanded=x=>t.default?t.default(x):t.default):(k=k||zY,S.renderCell=x=>{let O=null;if(t.default){const $=t.default(x);O=$.some(B=>B.type!==kn)?$:k(x)}else O=k(x);const{columns:T}=n.value.store.states,I=T.value.findIndex($=>$.type==="default"),_=HY(x,d.value&&x.cellIndex===I),N={class:"cell",style:{}};return S.showOverflowTooltip&&(N.class=`${N.class} ${i(u.namespace)}-tooltip`,N.style={width:`${(x.column.realWidth||Number(x.column.width))-1}px`}),v(O),qe("div",N,[_,O])}),S},getPropsData:(...S)=>S.reduce((k,x)=>(we(x)&&x.forEach(O=>{k[O]=e[O]}),k),{}),getColumnElIndex:(S,k)=>Array.prototype.indexOf.call(S,k),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",a.columnConfig.value)}}}var jY={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let UY=1;var qY=se({name:"ElTableColumn",components:{ElCheckbox:mo},props:jY,setup(e,{slots:t}){const n=dt(),a=xr("table"),o=M({}),r=C(()=>{let S=n.parent;for(;S&&!S.tableId;)S=S.parent;return S}),{registerNormalWatchers:s,registerComplexWatchers:l}=KY(r,e),{columnId:u,isSubColumn:c,realHeaderAlign:d,columnOrTableParent:f,setColumnWidth:p,setColumnForcedProps:g,setColumnRenders:h,getPropsData:v,getColumnElIndex:m,realAlign:b,updateColumnOrder:w}=WY(e,t,r),y=f.value;u.value=`${"tableId"in y&&y.tableId||"columnId"in y&&y.columnId}_column_${UY++}`,zd(()=>{c.value=r.value!==y;const S=e.type||"default",k=e.sortable===""?!0:e.sortable,x=S==="selection"?!1:Rt(e.showOverflowTooltip)?y.props.showOverflowTooltip??a.value?.showOverflowTooltip:e.showOverflowTooltip,O=Rt(e.tooltipFormatter)?y.props.tooltipFormatter??a.value?.tooltipFormatter:e.tooltipFormatter,T={...BY[S],id:u.value,type:S,property:e.prop||e.property,align:b,headerAlign:d,showOverflowTooltip:x,tooltipFormatter:O,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:k,index:e.index,rawColumnKey:n.vnode.key};let I=v(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);I=Kq(T,I),I=jq(h,p,g)(I),o.value=I,s(),l()}),ht(()=>{const S=f.value,k=c.value?S.vnode.el?.children:S.refs.hiddenColumns?.children,x=()=>m(k||[],n.vnode.el);o.value.getColumnIndex=x,x()>-1&&r.value.store.commit("insertColumn",o.value,c.value?"columnConfig"in S&&S.columnConfig.value:null,w)}),Vt(()=>{const S=o.value.getColumnIndex;(S?S():-1)>-1&&r.value.store.commit("removeColumn",o.value,c.value?"columnConfig"in y&&y.columnConfig.value:null,w)}),n.columnId=u.value,n.columnConfig=o},render(){try{const e=this.$slots.default?.({row:{},column:{},$index:-1}),t=[];if(we(e))for(const n of e)n.type?.name==="ElTableColumn"||n.shapeFlag&2?t.push(n):n.type===Ve&&we(n.children)&&n.children.forEach(a=>{a?.patchFlag!==1024&&!Ae(a?.children)&&t.push(a)});return qe("div",t)}catch{return qe("div",[])}}}),vx=qY;const YY=st(LY,{TableColumn:vx}),GY=ln(vx),Zh={asc:"desc",desc:"asc"},du=Symbol("placeholder"),mx=String,Fu={type:G(Array),required:!0},fg={type:G(Array)},gx={...fg,required:!0},XY=String,a1={type:G(Array),default:()=>pn([])},ps={type:Number,required:!0},bx={type:G([String,Number,Symbol]),default:"id"},o1={type:G(Object)},gs=Ee({class:String,columns:Fu,columnsStyles:{type:G(Object),required:!0},depth:Number,expandColumnKey:XY,estimatedRowHeight:{...Es.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:G(Function)},onRowHover:{type:G(Function)},onRowHeightChange:{type:G(Function)},rowData:{type:G(Object),required:!0},rowEventHandlers:{type:G(Object)},rowIndex:{type:Number,required:!0},rowKey:bx,style:{type:G(Object)}}),Tp={type:Number,required:!0},pg=Ee({class:String,columns:Fu,fixedHeaderData:{type:G(Array)},headerData:{type:G(Array),required:!0},headerHeight:{type:G([Number,Array]),default:50},rowWidth:Tp,rowHeight:{type:Number,default:50},height:Tp,width:Tp}),Mc=Ee({columns:Fu,data:gx,fixedData:fg,estimatedRowHeight:gs.estimatedRowHeight,width:ps,height:ps,headerWidth:ps,headerHeight:pg.headerHeight,bodyWidth:ps,rowHeight:ps,cache:Ik.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:Es.scrollbarAlwaysOn,scrollbarStartGap:Es.scrollbarStartGap,scrollbarEndGap:Es.scrollbarEndGap,class:mx,style:o1,containerStyle:o1,getRowHeight:{type:G(Function),required:!0},rowKey:gs.rowKey,onRowsRendered:{type:G(Function)},onScroll:{type:G(Function)}}),JY=Ee({cache:Mc.cache,estimatedRowHeight:gs.estimatedRowHeight,rowKey:bx,headerClass:{type:G([String,Function])},headerProps:{type:G([Object,Function])},headerCellProps:{type:G([Object,Function])},headerHeight:pg.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:G([String,Function])},rowProps:{type:G([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:G([Object,Function])},columns:Fu,data:gx,dataGetter:{type:G(Function)},fixedData:fg,expandColumnKey:gs.expandColumnKey,expandedRowKeys:a1,defaultExpandedRowKeys:a1,class:mx,fixed:Boolean,style:{type:G(Object)},width:ps,height:ps,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:Es.hScrollbarSize,vScrollbarSize:Es.vScrollbarSize,scrollbarAlwaysOn:Mk.alwaysOn,sortBy:{type:G(Object),default:()=>({})},sortState:{type:G(Object),default:void 0},onColumnSort:{type:G(Function)},onExpandedRowsChange:{type:G(Function)},onEndReached:{type:G(Function)},onRowExpand:gs.onRowExpand,onScroll:Mc.onScroll,onRowsRendered:Mc.onRowsRendered,rowEventHandlers:gs.rowEventHandlers}),ZY=(e,t,n)=>{const a={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},o={...e.style??{},...a,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(o.maxWidth=e.maxWidth),e.minWidth&&(o.minWidth=e.minWidth)),o};function QY(e,t,n){const a=C(()=>i(t).map((m,b)=>({...m,key:m.key??m.dataKey??b}))),o=C(()=>i(a).filter(m=>!m.hidden)),r=C(()=>i(o).filter(m=>m.fixed==="left"||m.fixed===!0)),s=C(()=>i(o).filter(m=>m.fixed==="right")),l=C(()=>i(o).filter(m=>!m.fixed)),u=C(()=>{const m=[];return i(r).forEach(b=>{m.push({...b,placeholderSign:du})}),i(l).forEach(b=>{m.push(b)}),i(s).forEach(b=>{m.push({...b,placeholderSign:du})}),m}),c=C(()=>i(r).length||i(s).length),d=C(()=>i(a).reduce((m,b)=>(m[b.key]=ZY(b,i(n),e.fixed),m),{})),f=C(()=>i(o).reduce((m,b)=>m+b.width,0)),p=m=>i(a).find(b=>b.key===m),g=m=>i(d)[m],h=(m,b)=>{m.width=b};function v(m){const{key:b}=m.currentTarget.dataset;if(!b)return;const{sortState:w,sortBy:y}=e;let S="asc";ot(w)?S=Zh[w[b]]:S=Zh[y.order],e.onColumnSort?.({column:p(b),key:b,order:S})}return{columns:a,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:r,fixedColumnsOnRight:s,hasFixedColumns:c,mainColumns:u,normalColumns:l,visibleColumns:o,getColumn:p,getColumnStyle:g,updateColumnWidth:h,onColumnSorted:v}}const eG=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,onMaybeEndReached:o})=>{const r=M({scrollLeft:0,scrollTop:0});function s(g){const{scrollTop:h}=g;t.value?.scrollTo(g),n.value?.scrollToTop(h),a.value?.scrollToTop(h)}function l(g){r.value=g,s(g)}function u(g){r.value.scrollTop=g,s(i(r))}function c(g){r.value.scrollLeft=g,t.value?.scrollTo?.(i(r))}function d(g){l(g),e.onScroll?.(g)}function f({scrollTop:g}){const{scrollTop:h}=i(r);g!==h&&u(g)}function p(g,h="auto"){t.value?.scrollToRow(g,h)}return pe(()=>i(r).scrollTop,(g,h)=>{g>h&&o()}),{scrollPos:r,scrollTo:l,scrollToLeft:c,scrollToTop:u,scrollToRow:p,onScroll:d,onVerticalScroll:f}},tG=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,tableInstance:o,ns:r,isScrolling:s})=>{const l=dt(),{emit:u}=l,c=Tt(!1),d=M(e.defaultExpandedRowKeys||[]),f=M(-1),p=Tt(null),g=M({}),h=M({}),v=Tt({}),m=Tt({}),b=Tt({}),w=C(()=>Be(e.estimatedRowHeight));function y(_){e.onRowsRendered?.(_),_.rowCacheEnd>i(f)&&(f.value=_.rowCacheEnd)}function S({hovered:_,rowKey:N}){s.value||o.vnode.el.querySelectorAll(`[rowkey="${String(N)}"]`).forEach($=>{_?$.classList.add(r.is("hovered")):$.classList.remove(r.is("hovered"))})}function k({expanded:_,rowData:N,rowIndex:$,rowKey:B}){const K=[...i(d)],j=K.indexOf(B);_?j===-1&&K.push(B):j>-1&&K.splice(j,1),d.value=K,u("update:expandedRowKeys",K),e.onRowExpand?.({expanded:_,rowData:N,rowIndex:$,rowKey:B}),e.onExpandedRowsChange?.(K),o.vnode.el.querySelector(`.${r.is("hovered")}[rowkey="${String(B)}"]`)&&Ne(()=>S({hovered:!0,rowKey:B}))}const x=Ho(()=>{c.value=!0,g.value={...i(g),...i(h)},O(i(p),!1),h.value={},p.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),a.value?.forceUpdate(),l.proxy?.$forceUpdate(),c.value=!1},0);function O(_,N=!1){i(w)&&[t,n,a].forEach($=>{const B=i($);B&&B.resetAfterRowIndex(_,N)})}function T(_,N,$){const B=i(p);(B===null||B>$)&&(p.value=$),h.value[_]=N}function I({rowKey:_,height:N,rowIndex:$},B){B?B==="right"?b.value[_]=N:v.value[_]=N:m.value[_]=N;const K=Math.max(...[v,b,m].map(j=>j.value[_]||0));i(g)[_]!==K&&(T(_,K,$),x())}return{expandedRowKeys:d,lastRenderedRowIndex:f,isDynamic:w,isResetting:c,rowHeights:g,resetAfterIndex:O,onRowExpanded:k,onRowHovered:S,onRowsRendered:y,onRowHeightChange:I}},nG=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:a})=>{const o=M({}),r=C(()=>{const l={},{data:u,rowKey:c}=e,d=i(t);if(!d||!d.length)return u;const f=[],p=new Set;d.forEach(h=>p.add(h));let g=u.slice();for(g.forEach(h=>l[h[c]]=0);g.length>0;){const h=g.shift();f.push(h),p.has(h[c])&&we(h.children)&&h.children.length>0&&(g=[...h.children,...g],h.children.forEach(v=>l[v[c]]=l[h[c]]+1))}return o.value=l,f}),s=C(()=>{const{data:l,expandColumnKey:u}=e;return u?i(r):l});return pe(s,(l,u)=>{l!==u&&(n.value=-1,a(0,!0))}),{data:s,depthMap:o}},aG=(e,t)=>e+t,Pc=e=>we(e)?e.reduce(aG,0):e,Ps=(e,t,n={})=>Fe(e)?e(t):e??n,Kr=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=hn(e[t])}),e),yx=e=>Zt(e)?t=>qe(e,t):e,oG=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:a,fixedColumnsOnRight:o})=>{const r=C(()=>{const{fixed:v,width:m,vScrollbarSize:b}=e,w=m-b;return v?Math.max(Math.round(i(t)),w):w}),s=C(()=>{const{height:v=0,maxHeight:m=0,footerHeight:b,hScrollbarSize:w}=e;if(m>0){const y=i(p),S=i(n),k=i(f)+y+S+w;return Math.min(k,m-b)}return v-b}),l=C(()=>{const{maxHeight:v}=e,m=i(s);if(Be(v)&&v>0)return m;const b=i(n)+i(f)+i(p);return Math.min(m,b)}),u=v=>v.width,c=C(()=>Pc(i(a).map(u))),d=C(()=>Pc(i(o).map(u))),f=C(()=>Pc(e.headerHeight)),p=C(()=>(e.fixedData?.length||0)*e.rowHeight),g=C(()=>i(s)-i(f)-i(p)),h=C(()=>{const{style:v={},height:m,width:b}=e;return Kr({...v,height:m,width:b})});return{bodyWidth:r,fixedTableHeight:l,mainTableHeight:s,leftTableWidth:c,rightTableWidth:d,windowHeight:g,footerHeight:C(()=>Kr({height:e.footerHeight})),emptyStyle:C(()=>({top:hn(i(f)),bottom:hn(e.footerHeight),width:hn(e.width)})),rootStyle:h,headerHeight:f}};function rG(e){const t=M(),n=M(),a=M(),{columns:o,columnsStyles:r,columnsTotalWidth:s,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,hasFixedColumns:c,mainColumns:d,onColumnSorted:f}=QY(e,Ht(e,"columns"),Ht(e,"fixed")),{scrollTo:p,scrollToLeft:g,scrollToTop:h,scrollToRow:v,onScroll:m,onVerticalScroll:b,scrollPos:w}=eG(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,onMaybeEndReached:q}),y=ge("table-v2"),S=dt(),k=Tt(!1),{expandedRowKeys:x,lastRenderedRowIndex:O,isDynamic:T,isResetting:I,rowHeights:_,resetAfterIndex:N,onRowExpanded:$,onRowHeightChange:B,onRowHovered:K,onRowsRendered:j}=tG(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,tableInstance:S,ns:y,isScrolling:k}),{data:W,depthMap:A}=nG(e,{expandedRowKeys:x,lastRenderedRowIndex:O,resetAfterIndex:N}),P=C(()=>{const{estimatedRowHeight:te,rowHeight:fe}=e,he=i(W);return Be(te)?Object.values(i(_)).reduce((ve,Ie)=>ve+Ie,0):he.length*fe}),{bodyWidth:V,fixedTableHeight:F,mainTableHeight:H,leftTableWidth:U,rightTableWidth:J,windowHeight:ee,footerHeight:ae,emptyStyle:ce,rootStyle:Z,headerHeight:de}=oG(e,{columnsTotalWidth:s,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,rowsHeight:P}),ue=M(),Y=C(()=>{const te=i(W).length===0;return we(e.fixedData)?e.fixedData.length===0&&te:te});function Q(te){const{estimatedRowHeight:fe,rowHeight:he,rowKey:ve}=e;return fe?i(_)[i(W)[te][ve]]||fe:he}const L=M(!1);function q(){const{onEndReached:te}=e;if(!te)return;const{scrollTop:fe}=i(w),he=i(P),ve=he-(fe+i(ee))+e.hScrollbarSize;!L.value&&i(O)>=0&&he<=fe+i(H)-i(de)?(L.value=!0,te(ve)):L.value=!1}return pe(()=>i(P),()=>L.value=!1),pe(()=>e.expandedRowKeys,te=>x.value=te,{deep:!0}),{columns:o,containerRef:ue,mainTableRef:t,leftTableRef:n,rightTableRef:a,isDynamic:T,isResetting:I,isScrolling:k,hasFixedColumns:c,columnsStyles:r,columnsTotalWidth:s,data:W,expandedRowKeys:x,depthMap:A,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,mainColumns:d,bodyWidth:V,emptyStyle:ce,rootStyle:Z,footerHeight:ae,mainTableHeight:H,fixedTableHeight:F,leftTableWidth:U,rightTableWidth:J,showEmpty:Y,getRowHeight:Q,onColumnSorted:f,onRowHovered:K,onRowExpanded:$,onRowsRendered:j,onRowHeightChange:B,scrollTo:p,scrollToLeft:g,scrollToTop:h,scrollToRow:v,onScroll:m,onVerticalScroll:b}}const hg=Symbol("tableV2"),wx="tableV2GridScrollLeft",sG=se({name:"ElTableV2Header",props:pg,setup(e,{slots:t,expose:n}){const a=ge("table-v2"),o=$e(wx),r=M(),s=C(()=>Kr({width:e.width,height:e.height})),l=C(()=>Kr({width:e.rowWidth,height:e.height})),u=C(()=>Dn(i(e.headerHeight))),c=p=>{const g=i(r);Ne(()=>{g?.scroll&&g.scroll({left:p})})},d=()=>{const p=a.e("fixed-header-row"),{columns:g,fixedHeaderData:h,rowHeight:v}=e;return h?.map((m,b)=>{const w=Kr({height:v,width:"100%"});return t.fixed?.({class:p,columns:g,rowData:m,rowIndex:-(b+1),style:w})})},f=()=>{const p=a.e("dynamic-header-row"),{columns:g}=e;return i(u).map((h,v)=>{const m=Kr({width:"100%",height:h});return t.dynamic?.({class:p,columns:g,headerIndex:v,style:m})})};return bo(()=>{o?.value&&c(o.value)}),n({scrollToLeft:c}),()=>{if(!(e.height<=0))return X("div",{ref:r,class:e.class,style:i(s),role:"rowgroup"},[X("div",{style:i(l),class:a.e("header")},[f(),d()])])}}}),lG="ElTableV2Grid",iG=e=>{const t=M(),n=M(),a=M(0),o=C(()=>{const{data:m,rowHeight:b,estimatedRowHeight:w}=e;if(!w)return m.length*b}),r=C(()=>{const{fixedData:m,rowHeight:b}=e;return(m?.length||0)*b}),s=C(()=>Pc(e.headerHeight)),l=C(()=>{const{height:m}=e;return Math.max(0,m-i(s)-i(r))}),u=C(()=>i(s)+i(r)>0),c=({data:m,rowIndex:b})=>m[b][e.rowKey];function d({rowCacheStart:m,rowCacheEnd:b,rowVisibleStart:w,rowVisibleEnd:y}){e.onRowsRendered?.({rowCacheStart:m,rowCacheEnd:b,rowVisibleStart:w,rowVisibleEnd:y})}function f(m,b){n.value?.resetAfterRowIndex(m,b)}function p(m,b){const w=i(t),y=i(n);ot(m)?(w?.scrollToLeft(m.scrollLeft),a.value=m.scrollLeft,y?.scrollTo(m)):(w?.scrollToLeft(m),a.value=m,y?.scrollTo({scrollLeft:m,scrollTop:b}))}function g(m){i(n)?.scrollTo({scrollTop:m})}function h(m,b){const w=i(n);if(!w)return;const y=a.value;w.scrollToItem(m,0,b),y&&p({scrollLeft:y})}function v(){i(n)?.$forceUpdate(),i(t)?.$forceUpdate()}return pe(()=>e.bodyWidth,()=>{Be(e.estimatedRowHeight)&&n.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:n,forceUpdate:v,fixedRowHeight:r,gridHeight:l,hasHeader:u,headerHeight:s,headerRef:t,totalHeight:o,itemKey:c,onItemRendered:d,resetAfterRowIndex:f,scrollTo:p,scrollToTop:g,scrollToRow:h,scrollLeft:a}},vg=se({name:lG,props:Mc,setup(e,{slots:t,expose:n}){const{ns:a}=$e(hg),{bodyRef:o,fixedRowHeight:r,gridHeight:s,hasHeader:l,headerRef:u,headerHeight:c,totalHeight:d,forceUpdate:f,itemKey:p,onItemRendered:g,resetAfterRowIndex:h,scrollTo:v,scrollToTop:m,scrollToRow:b,scrollLeft:w}=iG(e);St(wx,w),gu(async()=>{await Ne();const S=o.value?.states.scrollTop;S&&m(Math.round(S)+1)}),n({forceUpdate:f,totalHeight:d,scrollTo:v,scrollToTop:m,scrollToRow:b,resetAfterRowIndex:h});const y=()=>e.bodyWidth;return()=>{const{cache:S,columns:k,data:x,fixedData:O,useIsScrolling:T,scrollbarAlwaysOn:I,scrollbarEndGap:_,scrollbarStartGap:N,style:$,rowHeight:B,bodyWidth:K,estimatedRowHeight:j,headerWidth:W,height:A,width:P,getRowHeight:V,onScroll:F}=e,H=Be(j),U=H?iF:oF,J=i(c);return X("div",{role:"table",class:[a.e("table"),e.class],style:$},[X(U,{ref:o,data:x,useIsScrolling:T,itemKey:p,columnCache:0,columnWidth:H?y:K,totalColumn:1,totalRow:x.length,rowCache:S,rowHeight:H?V:B,width:P,height:i(s),class:a.e("body"),role:"rowgroup",scrollbarStartGap:N,scrollbarEndGap:_,scrollbarAlwaysOn:I,onScroll:F,onItemRendered:g,perfMode:!1},{default:ee=>{const ae=x[ee.rowIndex];return t.row?.({...ee,columns:k,rowData:ae})}}),i(l)&&X(sG,{ref:u,class:a.e("header-wrapper"),columns:k,headerData:x,headerHeight:e.headerHeight,fixedHeaderData:O,rowWidth:W,rowHeight:B,width:P,height:Math.min(J+i(r),A)},{dynamic:t.header,fixed:t.row})])}}});function uG(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const cG=(e,{slots:t})=>{const{mainTableRef:n,...a}=e;return X(vg,pt({ref:n},a),uG(t)?t:{default:()=>[t]})};function dG(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const fG=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:n,...a}=e;return X(vg,pt({ref:n},a),dG(t)?t:{default:()=>[t]})};function pG(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const hG=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:n,...a}=e;return X(vg,pt({ref:n},a),pG(t)?t:{default:()=>[t]})},vG=e=>{const{isScrolling:t}=$e(hg),n=M(!1),a=M(),o=C(()=>Be(e.estimatedRowHeight)&&e.rowIndex>=0),r=(u=!1)=>{const c=i(a);if(!c)return;const{columns:d,onRowHeightChange:f,rowKey:p,rowIndex:g,style:h}=e,{height:v}=c.getBoundingClientRect();n.value=!0,Ne(()=>{if(u||v!==Number.parseInt(h.height)){const m=d[0],b=m?.placeholderSign===du;f?.({rowKey:p,height:v,rowIndex:g},m&&!b&&m.fixed)}})},s=C(()=>{const{rowData:u,rowIndex:c,rowKey:d,onRowHover:f}=e,p=e.rowEventHandlers||{},g={};return Object.entries(p).forEach(([h,v])=>{Fe(v)&&(g[h]=m=>{v({event:m,rowData:u,rowIndex:c,rowKey:d})})}),f&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:h,hovered:v})=>{const m=g[h];g[h]=b=>{f({event:b,hovered:v,rowData:u,rowIndex:c,rowKey:d}),m?.(b)}}),g}),l=u=>{const{onRowExpand:c,rowData:d,rowIndex:f,rowKey:p}=e;c?.({expanded:u,rowData:d,rowIndex:f,rowKey:p})};return ht(()=>{i(o)&&r(!0)}),{isScrolling:t,measurable:o,measured:n,rowRef:a,eventHandlers:s,onExpand:l}},mG=se({name:"ElTableV2TableRow",props:gs,setup(e,{expose:t,slots:n,attrs:a}){const{eventHandlers:o,isScrolling:r,measurable:s,measured:l,rowRef:u,onExpand:c}=vG(e);return t({onExpand:c}),()=>{const{columns:d,columnsStyles:f,expandColumnKey:p,depth:g,rowData:h,rowIndex:v,style:m}=e;let b=d.map((w,y)=>{const S=we(h.children)&&h.children.length>0&&w.key===p;return n.cell({column:w,columns:d,columnIndex:y,depth:g,style:f[w.key],rowData:h,rowIndex:v,isScrolling:i(r),expandIconProps:S?{rowData:h,rowIndex:v,onExpand:c}:void 0})});if(n.row&&(b=n.row({cells:b.map(w=>we(w)&&w.length===1?w[0]:w),style:m,columns:d,depth:g,rowData:h,rowIndex:v,isScrolling:i(r)})),i(s)){const{height:w,...y}=m||{},S=i(l);return X("div",pt({ref:u,class:e.class,style:S?m:y,role:"row"},a,i(o)),[b])}return X("div",pt(a,{ref:u,class:e.class,style:m,role:"row"},i(o)),[b])}}});function gG(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const bG=(e,{slots:t})=>{const{columns:n,columnsStyles:a,depthMap:o,expandColumnKey:r,expandedRowKeys:s,estimatedRowHeight:l,hasFixedColumns:u,rowData:c,rowIndex:d,style:f,isScrolling:p,rowProps:g,rowClass:h,rowKey:v,rowEventHandlers:m,ns:b,onRowHovered:w,onRowExpanded:y}=e,S=Ps(h,{columns:n,rowData:c,rowIndex:d},""),k=Ps(g,{columns:n,rowData:c,rowIndex:d}),x=c[v],O=o[x]||0,T=!!r,I=d<0,_=[b.e("row"),S,b.is("expanded",T&&s.includes(x)),b.is("fixed",!O&&I),b.is("customized",!!t.row),{[b.e(`row-depth-${O}`)]:T&&d>=0}],N=u?w:void 0,$={...k,columns:n,columnsStyles:a,class:_,depth:O,expandColumnKey:r,estimatedRowHeight:I?void 0:l,isScrolling:p,rowIndex:d,rowData:c,rowKey:x,rowEventHandlers:m,style:f};return X(mG,pt($,{onRowExpand:y,onMouseenter:j=>{N?.({hovered:!0,rowKey:x,event:j,rowData:c,rowIndex:d})},onMouseleave:j=>{N?.({hovered:!1,rowKey:x,event:j,rowData:c,rowIndex:d})},rowkey:x}),gG(t)?t:{default:()=>[t]})},mg=(e,{slots:t})=>{const{cellData:n,style:a}=e,o=n?.toString?.()||"",r=oe(t,"default",e,()=>[o]);return X("div",{class:e.class,title:o,style:a},[r])};mg.displayName="ElTableV2Cell";mg.inheritAttrs=!1;const Sx=e=>{const{expanded:t,expandable:n,onExpand:a,style:o,size:r,ariaLabel:s}=e;return X("button",pt({onClick:n?()=>a(!t):void 0,ariaLabel:s,ariaExpanded:t,class:e.class},{type:"button"}),[X(De,{size:r,style:o},{default:()=>[X(sa,null,null)]})])};Sx.inheritAttrs=!1;const Qh=({columns:e,column:t,columnIndex:n,depth:a,expandIconProps:o,isScrolling:r,rowData:s,rowIndex:l,style:u,expandedRowKeys:c,ns:d,t:f,cellProps:p,expandColumnKey:g,indentSize:h,iconSize:v,rowKey:m},{slots:b})=>{const w=Kr(u);if(t.placeholderSign===du)return X("div",{class:d.em("row-cell","placeholder"),style:w},null);const{cellRenderer:y,dataKey:S,dataGetter:k}=t,x=Fe(k)?k({columns:e,column:t,columnIndex:n,rowData:s,rowIndex:l}):yn(s,S??""),O=Ps(p,{cellData:x,columns:e,column:t,columnIndex:n,rowIndex:l,rowData:s}),T={class:d.e("cell-text"),columns:e,column:t,columnIndex:n,cellData:x,isScrolling:r,rowData:s,rowIndex:l},I=yx(y),_=I?I(T):oe(b,"default",T,()=>[X(mg,T,null)]),N=[d.e("row-cell"),t.class,t.align==="center"&&d.is("align-center"),t.align==="right"&&d.is("align-right")],$=l>=0&&g&&t.key===g,B=l>=0&&c.includes(s[m]);let K;const j=`margin-inline-start: ${a*h}px;`;return $&&(ot(o)?K=X(Sx,pt(o,{class:[d.e("expand-icon"),d.is("expanded",B)],size:v,expanded:B,ariaLabel:f(B?"el.table.collapseRowLabel":"el.table.expandRowLabel"),style:j,expandable:!0}),null):K=X("div",{style:[j,`width: ${v}px; height: ${v}px;`].join(" ")},null)),X("div",pt({class:N,style:w},O,{role:"cell"}),[K,_])};Qh.inheritAttrs=!1;const yG=Ee({class:String,columns:Fu,columnsStyles:{type:G(Object),required:!0},headerIndex:Number,style:{type:G(Object)}}),wG=se({name:"ElTableV2HeaderRow",props:yG,setup(e,{slots:t}){return()=>{const{columns:n,columnsStyles:a,headerIndex:o,style:r}=e;let s=n.map((l,u)=>t.cell({columns:n,column:l,columnIndex:u,headerIndex:o,style:a[l.key]}));return t.header&&(s=t.header({cells:s.map(l=>we(l)&&l.length===1?l[0]:l),columns:n,headerIndex:o})),X("div",{class:e.class,style:r,role:"row"},[s])}}});function SG(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const CG=({columns:e,columnsStyles:t,headerIndex:n,style:a,headerClass:o,headerProps:r,ns:s},{slots:l})=>{const u={columns:e,headerIndex:n},c=[s.e("header-row"),Ps(o,u,""),s.is("customized",!!l.header)];return X(wG,{...Ps(r,u),columnsStyles:t,class:c,columns:e,headerIndex:n,style:a},SG(l)?l:{default:()=>[l]})},gg=(e,{slots:t})=>oe(t,"default",e,()=>[X("div",{class:e.class,title:e.column?.title},[e.column?.title])]);gg.displayName="ElTableV2HeaderCell";gg.inheritAttrs=!1;const kG=e=>{const{sortOrder:t}=e;return X("button",{type:"button","aria-label":e.ariaLabel,class:e.class},[X(De,{size:14},{default:()=>[X(t==="asc"?gA:vA,null,null)]})])},r1=(e,{slots:t})=>{const{column:n,ns:a,t:o,style:r,onColumnSorted:s}=e,l=Kr(r);if(n.placeholderSign===du)return X("div",{class:a.em("header-row-cell","placeholder"),style:l},null);const{headerCellRenderer:u,headerClass:c,sortable:d}=n,f={...e,class:a.e("header-cell-text")},p=yx(u),g=p?p(f):oe(t,"default",f,()=>[X(gg,f,null)]),{sortBy:h,sortState:v,headerCellProps:m}=e;let b,w,y;if(v){const k=v[n.key];b=!!Zh[k],w=b?k:"asc"}else b=n.key===h.key,w=b?h.order:"asc";w==="asc"?y="ascending":w==="desc"?y="descending":y=void 0;const S=[a.e("header-cell"),Ps(c,e,""),n.align==="center"&&a.is("align-center"),n.align==="right"&&a.is("align-right"),d&&a.is("sortable")];return X("div",pt({...Ps(m,e),onClick:n.sortable?s:void 0,ariaSort:d?y:void 0,class:S,style:l,"data-key":n.key},{role:"columnheader"}),[g,d&&X(kG,{class:[a.e("sort-icon"),b&&a.is("sorting")],sortOrder:w,ariaLabel:o("el.table.sortLabel",{column:n.title||""})},null)])},Cx=(e,{slots:t})=>X("div",{class:e.class,style:e.style},[t.default?.()]);Cx.displayName="ElTableV2Footer";const kx=(e,{slots:t})=>{const n=oe(t,"default",{},()=>[X(UE,null,null)]);return X("div",{class:e.class,style:e.style},[n])};kx.displayName="ElTableV2Empty";const Ex=(e,{slots:t})=>X("div",{class:e.class,style:e.style},[t.default?.()]);Ex.displayName="ElTableV2Overlay";function si(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Zt(e)}const EG=se({name:"ElTableV2",props:JY,slots:Object,setup(e,{slots:t,expose:n}){const a=ge("table-v2"),{t:o}=xt(),{columnsStyles:r,fixedColumnsOnLeft:s,fixedColumnsOnRight:l,mainColumns:u,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:p,data:g,depthMap:h,expandedRowKeys:v,hasFixedColumns:m,mainTableRef:b,leftTableRef:w,rightTableRef:y,isDynamic:S,isResetting:k,isScrolling:x,bodyWidth:O,emptyStyle:T,rootStyle:I,footerHeight:_,showEmpty:N,scrollTo:$,scrollToLeft:B,scrollToTop:K,scrollToRow:j,getRowHeight:W,onColumnSorted:A,onRowHeightChange:P,onRowHovered:V,onRowExpanded:F,onRowsRendered:H,onScroll:U,onVerticalScroll:J}=rG(e);return n({scrollTo:$,scrollToLeft:B,scrollToTop:K,scrollToRow:j}),St(hg,{ns:a,isResetting:k,isScrolling:x}),()=>{const{cache:ee,cellProps:ae,estimatedRowHeight:ce,expandColumnKey:Z,fixedData:de,headerHeight:ue,headerClass:Y,headerProps:Q,headerCellProps:L,sortBy:q,sortState:te,rowHeight:fe,rowClass:he,rowEventHandlers:ve,rowKey:Ie,rowProps:Le,scrollbarAlwaysOn:_e,indentSize:ye,iconSize:Te,useIsScrolling:be,vScrollbarSize:Pe,width:He}=e,Je=i(g),Qe={cache:ee,class:a.e("main"),columns:i(u),data:Je,fixedData:de,estimatedRowHeight:ce,bodyWidth:i(O),headerHeight:ue,headerWidth:i(O),height:i(c),mainTableRef:b,rowKey:Ie,rowHeight:fe,scrollbarAlwaysOn:_e,scrollbarStartGap:2,scrollbarEndGap:Pe,useIsScrolling:be,width:He,getRowHeight:W,onRowsRendered:H,onScroll:U},lt=i(f),Ze=i(d),gt={cache:ee,class:a.e("left"),columns:i(s),data:Je,fixedData:de,estimatedRowHeight:ce,leftTableRef:w,rowHeight:fe,bodyWidth:lt,headerWidth:lt,headerHeight:ue,height:Ze,rowKey:Ie,scrollbarAlwaysOn:_e,scrollbarStartGap:2,scrollbarEndGap:Pe,useIsScrolling:be,width:lt,getRowHeight:W,onScroll:J},Pt=i(p),zt={cache:ee,class:a.e("right"),columns:i(l),data:Je,fixedData:de,estimatedRowHeight:ce,rightTableRef:y,rowHeight:fe,bodyWidth:Pt,headerWidth:Pt,headerHeight:ue,height:Ze,rowKey:Ie,scrollbarAlwaysOn:_e,scrollbarStartGap:2,scrollbarEndGap:Pe,width:Pt,style:`${a.cssVarName("table-scrollbar-size")}: ${Pe}px`,useIsScrolling:be,getRowHeight:W,onScroll:J},nt=i(r),ft={ns:a,depthMap:i(h),columnsStyles:nt,expandColumnKey:Z,expandedRowKeys:i(v),estimatedRowHeight:ce,hasFixedColumns:i(m),rowProps:Le,rowClass:he,rowKey:Ie,rowEventHandlers:ve,onRowHovered:V,onRowExpanded:F,onRowHeightChange:P},me={cellProps:ae,expandColumnKey:Z,indentSize:ye,iconSize:Te,rowKey:Ie,expandedRowKeys:i(v),ns:a,t:o},je={ns:a,headerClass:Y,headerProps:Q,columnsStyles:nt},ie={ns:a,t:o,sortBy:q,sortState:te,headerCellProps:L,onColumnSorted:A},xe={row:bt=>X(bG,pt(bt,ft),{row:t.row,cell:vt=>{let Et;return t.cell?X(Qh,pt(vt,me,{style:nt[vt.column.key]}),si(Et=t.cell(vt))?Et:{default:()=>[Et]}):X(Qh,pt(vt,me,{style:nt[vt.column.key]}),null)}}),header:bt=>X(CG,pt(bt,je),{header:t.header,cell:vt=>{let Et;return t["header-cell"]?X(r1,pt(vt,ie,{style:nt[vt.column.key]}),si(Et=t["header-cell"](vt))?Et:{default:()=>[Et]}):X(r1,pt(vt,ie,{style:nt[vt.column.key]}),null)}})},Ue=[e.class,a.b(),a.e("root"),a.is("dynamic",i(S))],et={class:a.e("footer"),style:i(_)};return X("div",{class:Ue,style:i(I)},[X(cG,Qe,si(xe)?xe:{default:()=>[xe]}),X(fG,gt,si(xe)?xe:{default:()=>[xe]}),X(hG,zt,si(xe)?xe:{default:()=>[xe]}),t.footer&&X(Cx,et,{default:t.footer}),i(N)&&X(kx,{class:a.e("empty"),style:i(T)},{default:t.empty}),t.overlay&&X(Ex,{class:a.e("overlay")},{default:t.overlay})])}}}),xG=Ee({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:G(Function)}}),TG=e=>{const t=M(),n=M(0),a=M(0);let o;return ht(()=>{o=an(t,([r])=>{const{width:s,height:l}=r.contentRect,{paddingLeft:u,paddingRight:c,paddingTop:d,paddingBottom:f}=getComputedStyle(r.target),p=Number.parseInt(u)||0,g=Number.parseInt(c)||0,h=Number.parseInt(d)||0,v=Number.parseInt(f)||0;n.value=s-p-g,a.value=l-h-v}).stop}),Vt(()=>{o?.()}),pe([n,a],([r,s])=>{e.onResize?.({width:r,height:s})}),{sizer:t,width:n,height:a}},OG=se({name:"ElAutoResizer",props:xG,setup(e,{slots:t}){const n=ge("auto-resizer"),{height:a,width:o,sizer:r}=TG(e),s={width:"100%",height:"100%"};return()=>X("div",{ref:r,class:n.b(),style:s},[t.default?.({height:a.value,width:o.value})])}}),_G=st(EG),RG=st(OG),Cf=Symbol("tabsRootContextKey"),IG=Ee({tabs:{type:G(Array),default:()=>pn([])},tabRefs:{type:G(Object),default:()=>pn({})}}),s1="ElTabBar";var $G=se({name:s1,__name:"tab-bar",props:IG,setup(e,{expose:t}){const n=e,a=$e(Cf);a||sn(s1,"<el-tabs><el-tab-bar /></el-tabs>");const o=ge("tabs"),r=M(),s=M(),l=C(()=>Rt(a.props.defaultValue)||!!s.value?.transform),u=()=>{let g=0,h=0;const v=["top","bottom"].includes(a.props.tabPosition)?"width":"height",m=v==="width"?"x":"y",b=m==="x"?"left":"top";return n.tabs.every(w=>{if(Rt(w.paneName))return!1;const y=n.tabRefs[w.paneName];if(!y)return!1;if(!w.active)return!0;g=y[`offset${np(b)}`],h=y[`client${np(v)}`];const S=window.getComputedStyle(y);return v==="width"&&(h-=Number.parseFloat(S.paddingLeft)+Number.parseFloat(S.paddingRight),g+=Number.parseFloat(S.paddingLeft)),!1}),{[v]:`${h}px`,transform:`translate${np(m)}(${g}px)`}},c=()=>s.value=u(),d=[],f=()=>{d.forEach(g=>g.stop()),d.length=0,Object.values(n.tabRefs).forEach(g=>{d.push(an(g,c))})};pe(()=>n.tabs,async()=>{await Ne(),c(),f()},{immediate:!0});const p=an(r,()=>c());return Vt(()=>{d.forEach(g=>g.stop()),d.length=0,p.stop()}),t({ref:r,update:c}),(g,h)=>l.value?(E(),D("div",{key:0,ref_key:"barRef",ref:r,class:R([i(o).e("active-bar"),i(o).is(i(a).props.tabPosition)]),style:ze(s.value)},null,6)):re("v-if",!0)}}),NG=$G;const MG=Ee({panes:{type:G(Array),default:()=>pn([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),PG={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},l1="ElTabNav",AG=se({name:l1,props:MG,emits:PG,setup(e,{expose:t,emit:n}){const a=$e(Cf);a||sn(l1,"<el-tabs><tab-nav /></el-tabs>");const o=ge("tabs"),r=b8(),s=w8(),l=M(),u=M(),c=M(),d=M({}),f=M(),p=M(!1),g=M(0),h=M(!1),v=M(!0),m=M(!1),b=Tt(),w=C(()=>["top","bottom"].includes(a.props.tabPosition)),y=C(()=>w.value?"width":"height"),S=C(()=>{const U=y.value==="width"?"X":"Y";return{transition:m.value?"none":void 0,transform:`translate${U}(-${g.value}px)`}}),{width:k,height:x}=ih(l),{width:O,height:T}=ih(u,{width:0,height:0},{box:"border-box"}),I=C(()=>w.value?k.value:x.value),_=C(()=>w.value?O.value:T.value),{onWheel:N}=Ak({atStartEdge:C(()=>g.value<=0),atEndEdge:C(()=>_.value-g.value<=I.value),layout:C(()=>w.value?"horizontal":"vertical")},U=>{g.value=Ma(g.value+U,0,_.value-I.value)}),$=U=>{m.value=!0,N(U),Oa(()=>{m.value=!1})},B=()=>{if(!l.value)return;const U=l.value.getBoundingClientRect()[y.value],J=g.value;J&&(g.value=J>U?J-U:0)},K=()=>{if(!l.value||!u.value)return;const U=u.value.getBoundingClientRect()[y.value],J=l.value.getBoundingClientRect()[y.value],ee=g.value;Vo(U-ee,J)&&(g.value=U-ee>J*2?ee+J:U-J)},j=async()=>{const U=u.value;if(!p.value||!c.value||!l.value||!U)return;await Ne();const J=d.value[e.currentName];if(!J)return;const ee=l.value,ae=J.getBoundingClientRect(),ce=ee.getBoundingClientRect(),Z=ce.left+1,de=ce.right-1,ue=U.getBoundingClientRect(),Y=w.value?ue.width-ce.width:ue.height-ce.height,Q=g.value;let L=Q;w.value?(ae.left<Z&&(L=Q-(Z-ae.left)),ae.right>de&&(L=Q+ae.right-de)):(ae.top<ce.top&&(L=Q-(ce.top-ae.top)),ae.bottom>ce.bottom&&(L=Q+(ae.bottom-ce.bottom))),L=Math.max(L,0),g.value=Math.min(L,Y)},W=()=>{if(!u.value||!l.value)return;e.stretch&&f.value?.update();const U=u.value.getBoundingClientRect()[y.value],J=l.value.getBoundingClientRect()[y.value],ee=g.value;J<U?(p.value=p.value||{},p.value.prev=ee,p.value.next=Vo(U,ee+J),Vo(J,U-ee)&&(g.value=U-J)):(p.value=!1,ee>0&&(g.value=0))},A=U=>{const J=qt(U);let ee=0;switch(J){case Se.left:case Se.up:ee=-1;break;case Se.right:case Se.down:ee=1;break;default:return}const ae=Array.from(U.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let ce=ae.indexOf(U.target)+ee;ce<0?ce=ae.length-1:ce>=ae.length&&(ce=0),ae[ce].focus({preventScroll:!0}),ae[ce].click(),P()},P=()=>{v.value&&(h.value=!0)},V=()=>h.value=!1,F=(U,J)=>{d.value[J]=U},H=async()=>{await Ne(),d.value[e.currentName]?.focus({preventScroll:!0})};return pe(r,U=>{U==="hidden"?v.value=!1:U==="visible"&&setTimeout(()=>v.value=!0,50)}),pe(s,U=>{U?setTimeout(()=>v.value=!0,50):v.value=!1}),an(c,()=>{Oa(W)}),ht(()=>setTimeout(()=>j(),0)),bo(()=>W()),t({scrollToActiveTab:j,removeFocus:V,focusActiveTab:H,tabListRef:u,tabBarRef:f,scheduleRender:()=>Sc(b)}),()=>{const U=p.value?[X("span",{class:[o.e("nav-prev"),o.is("disabled",!p.value.prev)],onClick:B},[X(De,null,{default:()=>[X(mr,null,null)]})]),X("span",{class:[o.e("nav-next"),o.is("disabled",!p.value.next)],onClick:K},[X(De,null,{default:()=>[X(sa,null,null)]})])]:null,J=e.panes.map((ee,ae)=>{const ce=ee.uid,Z=ee.props.disabled,de=ee.props.name??ee.index??`${ae}`,ue=!Z&&(ee.isClosable||ee.props.closable!==!1&&e.editable);ee.index=`${ae}`;const Y=ue?X(De,{class:"is-icon-close",onClick:q=>n("tabRemove",ee,q)},{default:()=>[X(Qa,null,null)]}):null,Q=ee.slots.label?.()||ee.props.label,L=!Z&&ee.active?e.tabindex??a.props.tabindex:-1;return X("div",{ref:q=>F(q,de),class:[o.e("item"),o.is(a.props.tabPosition),o.is("active",ee.active),o.is("disabled",Z),o.is("closable",ue),o.is("focus",h.value)],id:`tab-${de}`,key:`tab-${ce}`,"aria-controls":`pane-${de}`,role:"tab","aria-selected":ee.active,tabindex:L,onFocus:()=>P(),onBlur:()=>V(),onClick:q=>{V(),n("tabClick",ee,de,q)},onKeydown:q=>{const te=qt(q);ue&&(te===Se.delete||te===Se.backspace)&&n("tabRemove",ee,q)}},[Q,Y])});return b.value,X("div",{ref:c,class:[o.e("nav-wrap"),o.is("scrollable",!!p.value),o.is(a.props.tabPosition)]},[U,X("div",{class:o.e("nav-scroll"),ref:l},[e.panes.length>0?X("div",{class:[o.e("nav"),o.is(a.props.tabPosition),o.is("stretch",e.stretch&&["top","bottom"].includes(a.props.tabPosition))],ref:u,style:S.value,role:"tablist",onKeydown:A,onWheel:$},[e.type?null:X(NG,{ref:f,tabs:[...e.panes],tabRefs:d.value},null),J]):null])])}}}),LG=Ee({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:G(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),Op=e=>Ae(e)||Be(e),DG={[at]:e=>Op(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>Op(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>Op(e),tabAdd:()=>!0},BG=se({name:"ElTabs",props:LG,emits:DG,setup(e,{emit:t,slots:n,expose:a}){const o=ge("tabs"),r=C(()=>["left","right"].includes(e.tabPosition)),{children:s,addChild:l,removeChild:u,ChildrenSorter:c}=df(dt(),"ElTabPane"),d=M(),f=M((Rt(e.modelValue)?e.defaultValue:e.modelValue)??"0"),p=async(w,y=!1)=>{if(!(f.value===w||Rt(w)))try{let S;if(e.beforeLeave){const k=e.beforeLeave(w,f.value);S=k instanceof Promise?await k:k}else S=!0;if(S!==!1){const k=s.value.find(x=>x.paneName===f.value)?.isFocusInsidePane();f.value=w,y&&(t(at,w),t("tabChange",w)),d.value?.removeFocus?.(),k&&d.value?.focusActiveTab()}}catch{}},g=(w,y,S)=>{w.props.disabled||(t("tabClick",w,S),p(y,!0))},h=(w,y)=>{w.props.disabled||Rt(w.props.name)||(y.stopPropagation(),t("edit",w.props.name,"remove"),t("tabRemove",w.props.name))},v=()=>{t("edit",void 0,"add"),t("tabAdd")},m=w=>{const y=qt(w);[Se.enter,Se.numpadEnter].includes(y)&&v()},b=w=>{const y=w.el.firstChild,S=["bottom","right"].includes(e.tabPosition)?w.children[0].el:w.children[1].el;y!==S&&y.before(S)};return pe(()=>e.modelValue,w=>p(w)),pe(f,async()=>{await Ne(),d.value?.scrollToActiveTab()}),St(Cf,{props:e,currentName:f,registerPane:l,unregisterPane:u,nav$:d}),a({currentName:f,get tabNavRef(){return ku(d.value,["scheduleRender"])}}),()=>{const w=n["add-icon"],y=e.editable||e.addable?X("div",{class:[o.e("new-tab"),r.value&&o.e("new-tab-vertical")],tabindex:e.tabindex,onClick:v,onKeydown:m},[w?oe(n,"add-icon"):X(De,{class:o.is("icon-plus")},{default:()=>[X(EC,null,null)]})]):null,S=()=>X(AG,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:s.value,stretch:e.stretch,onTabClick:g,onTabRemove:h},null),k=X("div",{class:[o.e("header"),r.value&&o.e("header-vertical"),o.is(e.tabPosition)]},[X(c,null,{default:S,$stable:!0}),y]),x=X("div",{class:o.e("content")},[oe(n,"default")]);return X("div",{class:[o.b(),o.m(e.tabPosition),{[o.m("card")]:e.type==="card",[o.m("border-card")]:e.type==="border-card"}],onVnodeMounted:b,onVnodeUpdated:b},[x,k])}}}),VG=Ee({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),FG=["id","aria-hidden","aria-labelledby"],i1="ElTabPane";var zG=se({name:i1,__name:"tab-pane",props:VG,setup(e){const t=e,n=dt(),a=wn(),o=$e(Cf);o||sn(i1,"usage: <el-tabs><el-tab-pane /></el-tabs/>");const r=ge("tab-pane"),s=M(),l=M(),u=C(()=>t.closable??o.props.closable),c=C(()=>o.currentName.value===(t.name??l.value)),d=M(c.value),f=C(()=>t.name??l.value),p=C(()=>!t.lazy||d.value||c.value),g=()=>s.value?.contains(document.activeElement);pe(c,v=>{v&&(d.value=!0)});const h=Dt({uid:n.uid,getVnode:()=>n.vnode,slots:a,props:t,paneName:f,active:c,index:l,isClosable:u,isFocusInsidePane:g});return o.registerPane(h),Vt(()=>{o.unregisterPane(h)}),Pv(()=>{a.label&&o.nav$.value?.scheduleRender()}),(v,m)=>p.value?ct((E(),D("div",{key:0,id:`pane-${f.value}`,ref_key:"paneRef",ref:s,class:R(i(r).b()),role:"tabpanel","aria-hidden":!c.value,"aria-labelledby":`tab-${f.value}`},[oe(v.$slots,"default")],10,FG)),[[$t,c.value]]):re("v-if",!0)}}),xx=zG;const HG=st(BG,{TabPane:xx}),KG=ln(xx),WG=Ee({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:yo,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var jG=se({name:"ElText",__name:"text",props:WG,setup(e){const t=e,n=M(),a=In(),o=ge("text"),r=C(()=>[o.b(),o.m(t.type),o.m(a.value),o.is("truncated",t.truncated),o.is("line-clamp",!Rt(t.lineClamp))]),s=()=>{if(wr().title)return;let l=!1;const u=n.value?.textContent||"";if(t.truncated){const c=n.value?.offsetWidth,d=n.value?.scrollWidth;c&&d&&d>c&&(l=!0)}else if(!Rt(t.lineClamp)){const c=n.value?.offsetHeight,d=n.value?.scrollHeight;c&&d&&d>c&&(l=!0)}l?n.value?.setAttribute("title",u):n.value?.removeAttribute("title")};return ht(s),bo(s),(l,u)=>(E(),le(it(e.tag),{ref_key:"textRef",ref:n,class:R(r.value),style:ze({"-webkit-line-clamp":e.lineClamp})},{default:ne(()=>[oe(l.$slots,"default")]),_:3},8,["class","style"]))}}),UG=jG;const bg=st(UG),ev="00:30",qG=Ee({format:{type:String,default:"HH:mm"},modelValue:{type:G(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:G(String),default:"light"},clearable:{type:Boolean,default:!0},size:Nn,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:ev},minTime:{type:G(String)},maxTime:{type:G(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:G([String,Object]),default:()=>kC},clearIcon:{type:G([String,Object]),default:()=>Yo},popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},...zs}),rr=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const a=Number.parseInt(t[1],10),o=e.toUpperCase();return o.includes("AM")&&n===12?n=0:o.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:a}}return null},_p=(e,t)=>{const n=rr(e);if(!n)return-1;const a=rr(t);if(!a)return-1;const o=n.minutes+n.hours*60,r=a.minutes+a.hours*60;return o===r?0:o>r?1:-1},u1=e=>`${e}`.padStart(2,"0"),nl=e=>`${u1(e.hours)}:${u1(e.minutes)}`,YG=(e,t)=>{const n=rr(e);if(!n)return"";const a=rr(t);if(!a)return"";const o={hours:n.hours,minutes:n.minutes};return o.minutes+=a.minutes,o.hours+=a.hours,o.hours+=Math.floor(o.minutes/60),o.minutes=o.minutes%60,nl(o)};var GG=se({name:"ElTimeSelect",__name:"time-select",props:qG,emits:[yt,"blur","focus","clear",at],setup(e,{expose:t}){rt.extend(Vm);const{Option:n}=es,a=e,o=ge("input"),r=M(),s=un(),{lang:l}=xt(),u=C(()=>a.modelValue),c=C(()=>{const b=rr(a.start);return b?nl(b):null}),d=C(()=>{const b=rr(a.end);return b?nl(b):null}),f=C(()=>{const b=rr(a.minTime||"");return b?nl(b):null}),p=C(()=>{const b=rr(a.maxTime||"");return b?nl(b):null}),g=C(()=>{const b=rr(a.step),w=!b||b.hours<0||b.minutes<0||Number.isNaN(b.hours)||Number.isNaN(b.minutes)||b.hours===0&&b.minutes===0;return w&&jt("ElTimeSelect",`invalid step, fallback to default step (${ev}).`),w?ev:nl(b)}),h=C(()=>{const b=[],w=(y,S)=>{b.push({value:y,rawValue:S,disabled:_p(S,f.value||"-1:-1")<=0||_p(S,p.value||"100:100")>=0})};if(a.start&&a.end&&a.step){let y=c.value,S;for(;y&&d.value&&_p(y,d.value)<=0;)S=rt(y,"HH:mm").locale(l.value).format(a.format),w(S,y),y=YG(y,g.value);a.includeEndTime&&d.value&&b[b.length-1]?.rawValue!==d.value&&w(rt(d.value,"HH:mm").locale(l.value).format(a.format),d.value)}return b});return t({blur:()=>{r.value?.blur?.()},focus:()=>{r.value?.focus?.()}}),(b,w)=>(E(),le(i(es),{ref_key:"select",ref:r,name:e.name,"model-value":u.value,disabled:i(s),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":w[0]||(w[0]=y=>b.$emit(i("update:modelValue"),y)),onChange:w[1]||(w[1]=y=>b.$emit(i("change"),y)),onBlur:w[2]||(w[2]=y=>b.$emit("blur",y)),onFocus:w[3]||(w[3]=y=>b.$emit("focus",y)),onClear:w[4]||(w[4]=()=>b.$emit("clear"))},{prefix:ne(()=>[e.prefixIcon?(E(),le(i(De),{key:0,class:R(i(o).e("prefix-icon"))},{default:ne(()=>[(E(),le(it(e.prefixIcon)))]),_:1},8,["class"])):re("v-if",!0)]),default:ne(()=>[(E(!0),D(Ve,null,kt(h.value,y=>(E(),le(i(n),{key:y.value,label:y.value,value:y.value,disabled:y.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}}),XG=GG;const JG=st(XG),Tx="timeline",ZG=Ee({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),QG=se({name:"ElTimeline",props:ZG,setup(e,{slots:t}){const n=ge("timeline");St(Tx,{props:e,slots:t});const a=C(()=>[n.b(),n.is(e.mode)]);return()=>{const o=Aa(t.default?.()??[]);return qe("ul",{class:a.value},e.reverse?o.reverse():o)}}}),eX=Ee({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Ut},hollow:Boolean});var tX=se({name:"ElTimelineItem",__name:"timeline-item",props:eX,setup(e){const t=e,{props:n}=$e(Tx),a=ge("timeline-item"),o=C(()=>[a.e("node"),a.em("node",t.size||""),a.em("node",t.type||""),a.is("hollow",t.hollow)]),r=C(()=>[a.b(),{[a.e("center")]:t.center},a.is(n.mode)]);return(s,l)=>(E(),D("li",{class:R(r.value)},[z("div",{class:R(i(a).e("tail"))},null,2),s.$slots.dot?re("v-if",!0):(E(),D("div",{key:0,class:R(o.value),style:ze({backgroundColor:e.color})},[e.icon?(E(),le(i(De),{key:0,class:R(i(a).e("icon"))},{default:ne(()=>[(E(),le(it(e.icon)))]),_:1},8,["class"])):re("v-if",!0)],6)),s.$slots.dot?(E(),D("div",{key:1,class:R(i(a).e("dot"))},[oe(s.$slots,"dot")],2)):re("v-if",!0),z("div",{class:R(i(a).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(E(),D("div",{key:0,class:R([i(a).e("timestamp"),i(a).is("top")])},Ce(e.timestamp),3)):re("v-if",!0),z("div",{class:R(i(a).e("content"))},[oe(s.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(E(),D("div",{key:1,class:R([i(a).e("timestamp"),i(a).is("bottom")])},Ce(e.timestamp),3)):re("v-if",!0)],2)],2))}}),Ox=tX;const nX=st(QG,{TimelineItem:Ox}),aX=ln(Ox),_x="left-check-change",Rx="right-check-change",al=Ee({data:{type:G(Array),default:()=>[]},titles:{type:G(Array),default:()=>[]},buttonTexts:{type:G(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:G(Function)},leftDefaultChecked:{type:G(Array),default:()=>[]},rightDefaultChecked:{type:G(Array),default:()=>[]},renderContent:{type:G(Function)},modelValue:{type:G(Array),default:()=>[]},format:{type:G(Object),default:()=>({})},filterable:Boolean,props:{type:G(Object),default:()=>pn({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0}}),tv=(e,t)=>[e,t].every(we)||we(e)&&En(t),oX={[yt]:(e,t,n)=>[e,n].every(we)&&["left","right"].includes(t),[at]:e=>we(e),[_x]:tv,[Rx]:tv},zu=e=>{const t={label:"label",key:"key",disabled:"disabled"};return C(()=>({...t,...e.props}))},rX=(e,t)=>({onSourceCheckedChange:(o,r)=>{e.leftChecked=o,r&&t(_x,o,r)},onTargetCheckedChange:(o,r)=>{e.rightChecked=o,r&&t(Rx,o,r)}}),sX=e=>{const t=zu(e),n=C(()=>e.data.reduce((a,o)=>(a[o[t.value.key]]=o,a),{}));return{sourceData:C(()=>e.data.filter(a=>!e.modelValue.includes(a[t.value.key]))),targetData:C(()=>e.targetOrder==="original"?e.data.filter(a=>e.modelValue.includes(a[t.value.key])):e.modelValue.reduce((a,o)=>{const r=n.value[o];return r&&a.push(r),a},[]))}},lX=(e,t,n)=>{const a=zu(e),o=(l,u,c)=>{n(at,l),n(yt,l,u,c)};return{addToLeft:()=>{const l=e.modelValue.slice();t.rightChecked.forEach(u=>{const c=l.indexOf(u);c>-1&&l.splice(c,1)}),o(l,"left",t.rightChecked)},addToRight:()=>{let l=e.modelValue.slice();const u=e.data.filter(c=>{const d=c[a.value.key];return t.leftChecked.includes(d)&&!e.modelValue.includes(d)}).map(c=>c[a.value.key]);l=e.targetOrder==="unshift"?u.concat(l):l.concat(u),e.targetOrder==="original"&&(l=e.data.filter(c=>l.includes(c[a.value.key])).map(c=>c[a.value.key])),o(l,"right",t.leftChecked)}}},nv="checked-change",iX=Ee({data:al.data,optionRender:{type:G(Function)},placeholder:String,title:String,filterable:Boolean,format:al.format,filterMethod:al.filterMethod,defaultChecked:al.leftDefaultChecked,props:al.props}),uX={[nv]:tv},cX=(e,t,n)=>{const a=zu(e),o=C(()=>e.data.filter(d=>Fe(e.filterMethod)?e.filterMethod(t.query,d):String(d[a.value.label]||d[a.value.key]).toLowerCase().includes(t.query.toLowerCase()))),r=C(()=>o.value.filter(d=>!d[a.value.disabled])),s=C(()=>{const d=t.checked.length,f=e.data.length,{noChecked:p,hasChecked:g}=e.format;return p&&g?d>0?g.replace(/\${checked}/g,d.toString()).replace(/\${total}/g,f.toString()):p.replace(/\${total}/g,f.toString()):`${d}/${f}`}),l=C(()=>{const d=t.checked.length;return d>0&&d<r.value.length}),u=()=>{const d=r.value.map(f=>f[a.value.key]);t.allChecked=d.length>0&&d.every(f=>t.checked.includes(f))},c=d=>{t.checked=d?r.value.map(f=>f[a.value.key]):[]};return pe(()=>t.checked,(d,f)=>{u(),t.checkChangeByUser?n(nv,d,d.concat(f).filter(p=>!d.includes(p)||!f.includes(p))):(n(nv,d),t.checkChangeByUser=!0)}),pe(r,()=>{u()}),pe(()=>e.data,()=>{const d=[],f=o.value.map(p=>p[a.value.key]);t.checked.forEach(p=>{f.includes(p)&&d.push(p)}),t.checkChangeByUser=!1,t.checked=d}),pe(()=>e.defaultChecked,(d,f)=>{if(f&&d.length===f.length&&d.every(h=>f.includes(h)))return;const p=[],g=r.value.map(h=>h[a.value.key]);d.forEach(h=>{g.includes(h)&&p.push(h)}),t.checkChangeByUser=!1,t.checked=p},{immediate:!0}),{filteredData:o,checkableData:r,checkedSummary:s,isIndeterminate:l,updateAllChecked:u,handleAllCheckedChange:c}};var dX=se({name:"ElTransferPanel",__name:"transfer-panel",props:iX,emits:uX,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wn(),s=({option:S})=>S,{t:l}=xt(),u=ge("transfer"),c=Dt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=zu(a),{filteredData:f,checkedSummary:p,isIndeterminate:g,handleAllCheckedChange:h}=cX(a,c,o),v=C(()=>!ha(c.query)&&ha(f.value)),m=C(()=>!ha(r.default()[0].children)),{checked:b,allChecked:w,query:y}=Pn(c);return t({query:y}),(S,k)=>(E(),D("div",{class:R(i(u).b("panel"))},[z("p",{class:R(i(u).be("panel","header"))},[X(i(mo),{modelValue:i(w),"onUpdate:modelValue":k[0]||(k[0]=x=>Gt(w)?w.value=x:null),indeterminate:i(g),"validate-event":!1,onChange:i(h)},{default:ne(()=>[z("span",{class:R(i(u).be("panel","header-title"))},Ce(e.title),3),z("span",{class:R(i(u).be("panel","header-count"))},Ce(i(p)),3)]),_:1},8,["modelValue","indeterminate","onChange"])],2),z("div",{class:R([i(u).be("panel","body"),i(u).is("with-footer",m.value)])},[e.filterable?(E(),le(i(Un),{key:0,modelValue:i(y),"onUpdate:modelValue":k[1]||(k[1]=x=>Gt(y)?y.value=x:null),class:R(i(u).be("panel","filter")),size:"default",placeholder:e.placeholder,"prefix-icon":i(fA),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):re("v-if",!0),ct(X(i(jm),{modelValue:i(b),"onUpdate:modelValue":k[2]||(k[2]=x=>Gt(b)?b.value=x:null),"validate-event":!1,class:R([i(u).is("filterable",e.filterable),i(u).be("panel","list")])},{default:ne(()=>[(E(!0),D(Ve,null,kt(i(f),x=>(E(),le(i(mo),{key:x[i(d).key],class:R(i(u).be("panel","item")),value:x[i(d).key],disabled:x[i(d).disabled],"validate-event":!1},{default:ne(()=>[X(s,{option:e.optionRender?.(x)},null,8,["option"])]),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[$t,!v.value&&!i(ha)(e.data)]]),ct(z("div",{class:R(i(u).be("panel","empty"))},[oe(S.$slots,"empty",{},()=>[wt(Ce(v.value?i(l)("el.transfer.noMatch"):i(l)("el.transfer.noData")),1)])],2),[[$t,v.value||i(ha)(e.data)]])],2),m.value?(E(),D("p",{key:0,class:R(i(u).be("panel","footer"))},[oe(S.$slots,"default")],2)):re("v-if",!0)],2))}}),c1=dX;const fX={key:0},pX={key:0};var hX=se({name:"ElTransfer",__name:"transfer",props:al,emits:oX,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wn(),{t:s}=xt(),l=ge("transfer"),{formItem:u}=Fn(),c=Dt({leftChecked:[],rightChecked:[]}),d=zu(a),{sourceData:f,targetData:p}=sX(a),{onSourceCheckedChange:g,onTargetCheckedChange:h}=rX(c,o),{addToLeft:v,addToRight:m}=lX(a,c,o),b=M(),w=M(),y=I=>{switch(I){case"left":b.value.query="";break;case"right":w.value.query="";break}},S=C(()=>a.buttonTexts.length===2),k=C(()=>a.titles[0]||s("el.transfer.titles.0")),x=C(()=>a.titles[1]||s("el.transfer.titles.1")),O=C(()=>a.filterPlaceholder||s("el.transfer.filterPlaceholder"));pe(()=>a.modelValue,()=>{a.validateEvent&&u?.validate?.("change").catch(ut)});const T=C(()=>I=>{if(a.renderContent)return a.renderContent(qe,I);const _=(r.default?.({option:I})||[]).filter(N=>N.type!==kn);return _.length?_:qe("span",I[d.value.label]||I[d.value.key])});return t({clearQuery:y,leftPanel:b,rightPanel:w}),(I,_)=>(E(),D("div",{class:R(i(l).b())},[X(c1,{ref_key:"leftPanel",ref:b,data:i(f),"option-render":T.value,placeholder:O.value,title:k.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,"default-checked":e.leftDefaultChecked,props:a.props,onCheckedChange:i(g)},{empty:ne(()=>[oe(I.$slots,"left-empty")]),default:ne(()=>[oe(I.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","onCheckedChange"]),z("div",{class:R(i(l).e("buttons"))},[X(i(Bn),{type:"primary",class:R([i(l).e("button"),i(l).is("with-texts",S.value)]),disabled:i(ha)(c.rightChecked),onClick:i(v)},{default:ne(()=>[X(i(De),null,{default:ne(()=>[X(i(mr))]),_:1}),i(Rt)(e.buttonTexts[0])?re("v-if",!0):(E(),D("span",fX,Ce(e.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),X(i(Bn),{type:"primary",class:R([i(l).e("button"),i(l).is("with-texts",S.value)]),disabled:i(ha)(c.leftChecked),onClick:i(m)},{default:ne(()=>[i(Rt)(e.buttonTexts[1])?re("v-if",!0):(E(),D("span",pX,Ce(e.buttonTexts[1]),1)),X(i(De),null,{default:ne(()=>[X(i(sa))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),X(c1,{ref_key:"rightPanel",ref:w,data:i(p),"option-render":T.value,placeholder:O.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,title:x.value,"default-checked":e.rightDefaultChecked,props:a.props,onCheckedChange:i(h)},{empty:ne(()=>[oe(I.$slots,"right-empty")]),default:ne(()=>[oe(I.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","onCheckedChange"])],2))}}),vX=hX;const mX=st(vX),yg="RootTree",Ix="NodeInstance",d1="TreeNodeMap",$x=Ee({data:{type:G(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:G(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:G(Function)},allowDrop:{type:G(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Ut}}),gX={"check-change":(e,t,n)=>e&&Wt(t)&&Wt(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,a)=>e&&t&&a instanceof Event,"node-contextmenu":(e,t,n,a)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,a)=>e&&a,"node-drop":(e,t,n,a)=>e&&t&&a,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n},Nx="$treeNodeId",f1=function(e,t){!t||t.$treeNodeId||Object.defineProperty(t,Nx,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},wg=(e,t)=>t?.[e||"$treeNodeId"],av=(e,t,n)=>{const a=e.value.currentNode;n();const o=e.value.currentNode;a!==o&&t("current-change",o?o.data:null,o)},Mx=e=>{let t=!0,n=!0,a=!0,o=!0;for(let r=0,s=e.length;r<s;r++){const l=e[r];(l.checked!==!0||l.indeterminate)&&(t=!1,l.disabled||(a=!1)),(l.checked!==!1||l.indeterminate)&&(n=!1),l.isEffectivelyChecked||(o=!1)}return{all:t,none:n,allWithoutDisable:a,half:!t&&!n,isEffectivelyChecked:o}},mi=function(e){if(e.childNodes.length===0||e.loading){e.isEffectivelyChecked=e.disabled||e.checked;return}const{all:t,none:n,half:a,isEffectivelyChecked:o}=Mx(e.childNodes);e.isEffectivelyChecked=o,t?(e.checked=!0,e.indeterminate=!1):a?(e.checked=!1,e.indeterminate=!0):n&&(e.checked=!1,e.indeterminate=!1);const r=e.parent;!r||r.level===0||e.store.checkStrictly||mi(r)},vc=function(e,t){const n=e.store.props,a=e.data||{},o=n[t];if(Fe(o))return o(a,e);if(Ae(o))return a[o];if(Rt(o)){const r=a[t];return Rt(r)?"":r}},ov=function(e,t){e.forEach(n=>{n.canFocus=t,ov(n.childNodes,t)})};let bX=0;var rv=class Ac{constructor(t){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=bX++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)Nt(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&typeof n.isLeaf<"u"){const r=vc(this,"isLeaf");Wt(r)&&(this.isLeafByUser=r)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),we(this.data)||f1(this,this.data),!this.data)return;const a=t.defaultExpandedKeys,o=t.key;o&&!En(this.key)&&a&&a.includes(this.key)&&this.expand(null,t.autoExpandParent),o&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode&&(t.currentNode.isCurrent=!1),t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(t){we(t)||f1(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&we(this.data)?n=this.data:n=vc(this,"children")||[];for(let a=0,o=n.length;a<o;a++)this.insertChild({data:n[a]})}get label(){return vc(this,"label")}get key(){const t=this.store.key;return this.data?this.data[t]:null}get disabled(){return vc(this,"disabled")}get nextSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(a=>a===t||n&&a.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,a){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof Ac)){if(!a){const o=this.getChildren(!0);o?.includes(t.data)||(Rt(n)||n<0?o?.push(t.data):o?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=Dt(new Ac(t)),t instanceof Ac&&t.initialize()}t.level=this.level+1,Rt(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let a;n&&(a=this.childNodes.indexOf(n)),this.insertChild(t,a)}insertAfter(t,n){let a;n&&(a=this.childNodes.indexOf(n),a!==-1&&(a+=1)),this.insertChild(t,a)}removeChild(t){const n=this.getChildren()||[],a=n.indexOf(t.data);a>-1&&n.splice(a,1);const o=this.childNodes.indexOf(t);o>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(o,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(a=>a.data===t);n&&this.removeChild(n)}expand(t,n){const a=()=>{if(n){let o=this.parent;for(;o&&o.level>0;)o.expanded=!0,o=o.parent}this.expanded=!0,t&&t(),ov(this.childNodes,!0)};this.shouldLoadData()?this.loadData(o=>{we(o)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||mi(this),a())}):a()}doCreateChildren(t,n={}){t.forEach(a=>{this.insertChild(Object.assign({data:a},n),void 0,!0)})}collapse(){this.expanded=!1,ov(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,a,o){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly&&!n)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const s=()=>{if(n){const l=this.childNodes;for(let f=0,p=l.length;f<p;f++){const g=l[f];o=o||t!==!1;const h=g.disabled&&g.isLeaf?g.checked:o;g.setChecked(h,n,!0,o)}const{half:u,all:c,isEffectivelyChecked:d}=Mx(l);c||(this.checked=c,this.indeterminate=u),this.isEffectivelyChecked=this.childNodes.length?d:this.disabled||this.checked}};if(this.shouldLoadData()){this.loadData(()=>{s(),mi(this)},{checked:t!==!1});return}else s()}const r=this.parent;!r||r.level===0||!a&&!this.store.checkStrictly&&mi(r)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const a=this.store.props;let o="children";return a&&(o=a.children||"children"),Rt(n[o])&&(n[o]=null),t&&!n[o]&&(n[o]=[]),n[o]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(r=>r.data),a={},o=[];t.forEach((r,s)=>{const l=r[Nx];l&&n.some(u=>u?.$treeNodeId===l)?a[l]={index:s,data:r}:o.push({index:s,data:r})}),this.store.lazy||n.forEach(r=>{a[r?.$treeNodeId]||this.removeChildByData(r)}),o.forEach(({index:r,data:s})=>{this.insertChild({data:s},r)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const a=r=>{this.childNodes=[],this.doCreateChildren(r,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,r)},o=()=>{this.loading=!1};this.store.load(this,a,o)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const a=n.shift();n.unshift(...a.childNodes),t(a)}}reInitChecked(){this.store.checkStrictly||mi(this)}},yX=class{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)Nt(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new rv({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const e=this.load;e(this.root,t=>{this.root.doCreateChildren(t),this._initDefaultCheckedNodes()},ut)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,a=async function(o){const r=o.root?o.root.childNodes:o.childNodes;for(const[s,l]of r.entries())l.visible=!!t?.call(l,e,l.data,l),s%80===0&&s>0&&await Ne(),await a(l);if(!o.visible&&r.length){let s=!0;s=!r.some(l=>l.visible),o.root?o.root.visible=s===!1:o.visible=s===!1}e&&o.visible&&!o.isLeaf&&(!n||o.loaded)&&o.expand()};a(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof rv)return e;const t=ot(e)?wg(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){const n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=Pa(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(n=>{const a=t[n];a&&a.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!En(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{const n=e.key;En(n)||(this.nodesMap[n]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(t=>{this.deregisterNode(t)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],a=function(o){(o.root?o.root.childNodes:o.childNodes).forEach(r=>{(r.checked||t&&r.indeterminate)&&(!e||e&&r.isLeaf)&&n.push(r.data),a(r)})};return a(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(t=>(t||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(a=>{a.indeterminate&&e.push(a.data),t(a)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)Nt(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const a=n.childNodes;for(let o=a.length-1;o>=0;o--){const r=a[o];this.remove(r.data)}for(let o=0,r=t.length;o<r;o++){const s=t[o];this.append(s,n.data)}}_setCheckedKeys(e,t=!1,n){const a=this._getAllNodes().sort((l,u)=>l.level-u.level),o=Object.create(null),r=Object.keys(n);a.forEach(l=>l.setChecked(!1,!1));const s=l=>{l.childNodes.forEach(u=>{o[u.data[e]]=!0,u.childNodes?.length&&s(u)})};for(let l=0,u=a.length;l<u;l++){const c=a[l],d=c.data[e].toString();if(!r.includes(d)){c.checked&&!o[d]&&c.setChecked(!1,!1);continue}if(c.childNodes.length&&s(c),c.isLeaf||this.checkStrictly){c.setChecked(!0,!1);continue}if(c.setChecked(!0,!0),t){c.setChecked(!1,!1,!0);const f=function(p){p.childNodes.forEach(g=>{g.isLeaf||g.setChecked(!1,!1,!0),f(g)}),p.reInitChecked()};f(c)}}}setCheckedNodes(e,t=!1){const n=this.key,a={};e.forEach(o=>{a[(o||{})[n]]=!0}),this._setCheckedKeys(n,t,a)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,a={};e.forEach(o=>{a[o]=!0}),this._setCheckedKeys(n,t,a)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(t=>{const n=this.getNode(t);n&&n.expand(null,this.autoExpandParent)})}setChecked(e,t,n){const a=this.getNode(e);a&&a.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],a=this.nodesMap[n];this.setCurrentNode(a),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,Pa(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function Px(e){const t=$e(d1,null);let n={treeNodeExpand:a=>{e.node!==a&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),Vt(()=>{t&&t.children.delete(n),n=null}),St(d1,n),{broadcastExpanded:a=>{if(e.accordion)for(const o of n.children)o.treeNodeExpand(a)}}}const Ax=Symbol("dragEvents");function wX({props:e,ctx:t,el$:n,dropIndicator$:a,store:o}){const r=ge("tree"),s=M({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return St(Ax,{treeNodeDragStart:({event:d,treeNode:f})=>{if(d.dataTransfer){if(Fe(e.allowDrag)&&!e.allowDrag(f.node))return d.preventDefault(),!1;d.dataTransfer.effectAllowed="move";try{d.dataTransfer.setData("text/plain","")}catch{}s.value.draggingNode=f,t.emit("node-drag-start",f.node,d)}},treeNodeDragOver:({event:d,treeNode:f})=>{if(!d.dataTransfer)return;const p=f,g=s.value.dropNode;g&&g.node.id!==p.node.id&&ra(g.$el,r.is("drop-inner"));const h=s.value.draggingNode;if(!h||!p)return;let v=!0,m=!0,b=!0,w=!0;Fe(e.allowDrop)&&(v=e.allowDrop(h.node,p.node,"prev"),w=m=e.allowDrop(h.node,p.node,"inner"),b=e.allowDrop(h.node,p.node,"next")),d.dataTransfer.dropEffect=m||v||b?"move":"none",(v||m||b)&&g?.node.id!==p.node.id&&(g&&t.emit("node-drag-leave",h.node,g.node,d),t.emit("node-drag-enter",h.node,p.node,d)),v||m||b?s.value.dropNode=p:s.value.dropNode=null,p.node.nextSibling===h.node&&(b=!1),p.node.previousSibling===h.node&&(v=!1),p.node.contains(h.node,!1)&&(m=!1),(h.node===p.node||h.node.contains(p.node))&&(v=!1,m=!1,b=!1);const y=p.$el,S=y.querySelector(`.${r.be("node","content")}`).getBoundingClientRect(),k=n.value.getBoundingClientRect(),x=n.value.scrollTop;let O;const T=v?m?.25:b?.45:1:Number.NEGATIVE_INFINITY,I=b?m?.75:v?.55:0:Number.POSITIVE_INFINITY;let _=-9999;const N=d.clientY-S.top;N<S.height*T?O="before":N>S.height*I?O="after":m?O="inner":O="none";const $=y.querySelector(`.${r.be("node","expand-icon")}`).getBoundingClientRect(),B=a.value;O==="before"?_=$.top-k.top+x:O==="after"&&(_=$.bottom-k.top+x),B.style.top=`${_}px`,B.style.left=`${$.right-k.left}px`,O==="inner"?Ua(y,r.is("drop-inner")):ra(y,r.is("drop-inner")),s.value.showDropIndicator=O==="before"||O==="after",s.value.allowDrop=s.value.showDropIndicator||w,s.value.dropType=O,t.emit("node-drag-over",h.node,p.node,d)},treeNodeDragEnd:d=>{const{draggingNode:f,dropType:p,dropNode:g}=s.value;if(d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),f?.node.data&&g){const h={data:f.node.data};p!=="none"&&f.node.remove(),p==="before"?g.node.parent?.insertBefore(h,g.node):p==="after"?g.node.parent?.insertAfter(h,g.node):p==="inner"&&g.node.insertChild(h),p!=="none"&&(o.value.registerNode(h),o.value.key&&f.node.eachNode(v=>{o.value.nodesMap[v.data[o.value.key]]?.setChecked(v.checked,!o.value.checkStrictly)})),ra(g.$el,r.is("drop-inner")),t.emit("node-drag-end",f.node,g.node,p,d),p!=="none"&&t.emit("node-drop",f.node,g.node,p,d)}f&&!g&&t.emit("node-drag-end",f.node,null,p,d),s.value.showDropIndicator=!1,s.value.draggingNode=null,s.value.dropNode=null,s.value.allowDrop=!0}}),{dragState:s}}var SX=se({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ge("tree"),n=$e(Ix),a=$e(yg);return()=>{const o=e.node,{data:r,store:s}=o;return e.renderContent?e.renderContent(qe,{_self:n,node:o,data:r,store:s}):oe(a.ctx.slots,"default",{node:o,data:r},()=>[qe(bg,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[o.label])])}}}),CX=SX,kX=se({name:"ElTreeNode",components:{ElCollapseTransition:yf,ElCheckbox:mo,NodeContent:CX,ElIcon:De,Loading:ho},props:{node:{type:rv,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=ge("tree"),{broadcastExpanded:a}=Px(e),o=$e(yg),r=M(!1),s=M(!1),l=M(),u=M(),c=M(),d=$e(Ax),f=dt();St(Ix,f),o||jt("Tree","Can not find node's tree."),e.node.expanded&&(r.value=!0,s.value=!0);const p=o.props.props.children||"children";pe(()=>{const I=e.node.data?.[p];return I&&[...I]},()=>{e.node.updateChildren()}),pe(()=>e.node.indeterminate,I=>{v(e.node.checked,I)}),pe(()=>e.node.checked,I=>{v(I,e.node.indeterminate)}),pe(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),pe(()=>e.node.expanded,I=>{Ne(()=>r.value=I),I&&(s.value=!0)});const g=I=>o.props.nodeKey?wg(o.props.nodeKey,I.data):I.id,h=I=>{const _=e.props.class;if(!_)return{};let N;if(Fe(_)){const{data:$}=I;N=_($,I)}else N=_;return Ae(N)?{[N]:!0}:N},v=(I,_)=>{(l.value!==I||u.value!==_)&&o.ctx.emit("check-change",e.node.data,I,_),l.value=I,u.value=_},m=I=>{av(o.store,o.ctx.emit,()=>{if(o?.props?.nodeKey){const _=g(e.node);o.store.value.setCurrentNodeKey(_)}else o.store.value.setCurrentNode(e.node)}),o.currentNode.value=e.node,o.props.expandOnClickNode&&w(),(o.props.checkOnClickNode||e.node.isLeaf&&o.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&y(!e.node.checked),o.ctx.emit("node-click",e.node.data,e.node,f,I)},b=I=>{o.instance.vnode.props?.onNodeContextmenu&&(I.stopPropagation(),I.preventDefault()),o.ctx.emit("node-contextmenu",I,e.node.data,e.node,f)},w=()=>{e.node.isLeaf||(r.value?(o.ctx.emit("node-collapse",e.node.data,e.node,f),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,f)}))},y=I=>{const _=o?.props.checkStrictly,N=e.node.childNodes;!_&&N.length&&(I=N.some($=>!$.isEffectivelyChecked)),e.node.setChecked(I,!_),Ne(()=>{const $=o.store.value;o.ctx.emit("check",e.node.data,{checkedNodes:$.getCheckedNodes(),checkedKeys:$.getCheckedKeys(),halfCheckedNodes:$.getHalfCheckedNodes(),halfCheckedKeys:$.getHalfCheckedKeys()})})};return{ns:n,node$:c,tree:o,expanded:r,childNodeRendered:s,oldChecked:l,oldIndeterminate:u,getNodeKey:g,getNodeClass:h,handleSelectChange:v,handleClick:m,handleContextMenu:b,handleExpandIconClick:w,handleCheckChange:y,handleChildNodeExpand:(I,_,N)=>{a(_),o.ctx.emit("node-expand",I,_,N)},handleDragStart:I=>{o.props.draggable&&d.treeNodeDragStart({event:I,treeNode:e})},handleDragOver:I=>{I.preventDefault(),o.props.draggable&&d.treeNodeDragOver({event:I,treeNode:{$el:c.value,node:e.node}})},handleDrop:I=>{I.preventDefault()},handleDragEnd:I=>{o.props.draggable&&d.treeNodeDragEnd(I)},CaretRight:CC}}});const EX=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],xX=["aria-expanded"];function TX(e,t,n,a,o,r){const s=Mt("el-icon"),l=Mt("el-checkbox"),u=Mt("loading"),c=Mt("node-content"),d=Mt("el-tree-node"),f=Mt("el-collapse-transition");return ct((E(),D("div",{ref:"node$",class:R([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=Xe((...p)=>e.handleClick&&e.handleClick(...p),["stop"])),onContextmenu:t[3]||(t[3]=(...p)=>e.handleContextMenu&&e.handleContextMenu(...p)),onDragstart:t[4]||(t[4]=Xe((...p)=>e.handleDragStart&&e.handleDragStart(...p),["stop"])),onDragover:t[5]||(t[5]=Xe((...p)=>e.handleDragOver&&e.handleDragOver(...p),["stop"])),onDragend:t[6]||(t[6]=Xe((...p)=>e.handleDragEnd&&e.handleDragEnd(...p),["stop"])),onDrop:t[7]||(t[7]=Xe((...p)=>e.handleDrop&&e.handleDrop(...p),["stop"]))},[z("div",{class:R(e.ns.be("node","content")),style:ze({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(E(),le(s,{key:0,class:R([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Xe(e.handleExpandIconClick,["stop"])},{default:ne(()=>[(E(),le(it(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):re("v-if",!0),e.showCheckbox?(E(),le(l,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Xe(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):re("v-if",!0),e.node.loading?(E(),le(s,{key:2,class:R([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:ne(()=>[X(u)]),_:1},8,["class"])):re("v-if",!0),X(c,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),X(f,null,{default:ne(()=>[!e.renderAfterExpand||e.childNodeRendered?ct((E(),D("div",{key:0,class:R(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=Xe(()=>{},["stop"]))},[(E(!0),D(Ve,null,kt(e.node.childNodes,p=>(E(),le(d,{key:e.getNodeKey(p),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:p,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,xX)),[[$t,e.expanded]]):re("v-if",!0)]),_:1})],42,EX)),[[$t,e.node.visible]])}var OX=Mn(kX,[["render",TX]]);function _X({el$:e},t){const n=ge("tree");ht(()=>{r()}),bo(()=>{e.value?.querySelectorAll("input[type=checkbox]").forEach(s=>{s.setAttribute("tabindex","-1")})});function a(s,l){const u=t.value.getNode(s[l].dataset.key);return u.canFocus&&u.visible&&(u.parent?.expanded||u.parent?.level===0)}Bt(e,"keydown",s=>{const l=s.target;if(!l.className.includes(n.b("node")))return;const u=qt(s),c=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),d=c.indexOf(l);let f;if([Se.up,Se.down].includes(u)){if(s.preventDefault(),u===Se.up){f=d===-1?0:d!==0?d-1:c.length-1;const g=f;for(;!a(c,f);){if(f--,f===g){f=-1;break}f<0&&(f=c.length-1)}}else{f=d===-1?0:d<c.length-1?d+1:0;const g=f;for(;!a(c,f);){if(f++,f===g){f=-1;break}f>=c.length&&(f=0)}}f!==-1&&c[f].focus()}[Se.left,Se.right].includes(u)&&(s.preventDefault(),l.click());const p=l.querySelector('[type="checkbox"]');[Se.enter,Se.numpadEnter,Se.space].includes(u)&&p&&(s.preventDefault(),p.click())});const r=()=>{if(!e.value)return;const s=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(u=>{u.setAttribute("tabindex","-1")});const l=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(l.length){l[0].setAttribute("tabindex","0");return}s[0]?.setAttribute("tabindex","0")}}var RX=se({name:"ElTree",components:{ElTreeNode:OX},props:$x,emits:gX,setup(e,t){const{t:n}=xt(),a=ge("tree"),o=M(new yX({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));o.value.initialize();const r=M(o.value.root),s=M(null),l=M(null),u=M(null),{broadcastExpanded:c}=Px(e),{dragState:d}=wX({props:e,ctx:t,el$:l,dropIndicator$:u,store:o});_X({el$:l},o);const f=dt(),p=C(()=>{let F=f?.parent;for(;F;){if(F.type.name==="ElTreeSelect")return!0;F=F.parent}return!1}),g=C(()=>{const{childNodes:F}=r.value;return(!F||F.length===0||F.every(({visible:H})=>!H))&&!p.value});pe(()=>e.currentNodeKey,F=>{o.value.setCurrentNodeKey(F??null)}),pe(()=>e.defaultCheckedKeys,(F,H)=>{fn(F,H)||o.value.setDefaultCheckedKey(F??[])}),pe(()=>e.defaultExpandedKeys,F=>{o.value.setDefaultExpandedKeys(F??[])}),pe(()=>e.data,F=>{o.value.setData(F)},{deep:!0}),pe(()=>e.checkStrictly,F=>{o.value.checkStrictly=F});const h=F=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");o.value.filter(F)},v=F=>e.nodeKey?wg(e.nodeKey,F.data):F.id,m=F=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${F}`)},b=F=>{m("getNodePath");const H=o.value.getNode(F);if(!H)return[];const U=[H.data];let J=H.parent;for(;J&&J!==r.value;)U.push(J.data),J=J.parent;return U.reverse()},w=(F,H)=>o.value.getCheckedNodes(F,H),y=F=>o.value.getCheckedKeys(F),S=()=>{const F=o.value.getCurrentNode();return F?F.data:null},k=()=>{m("getCurrentKey");const F=S();return F?F[e.nodeKey]:null},x=(F,H)=>{m("setCheckedNodes"),o.value.setCheckedNodes(F,H)},O=(F,H)=>{m("setCheckedKeys"),o.value.setCheckedKeys(F,H)},T=(F,H,U=!1)=>{o.value.setChecked(F,H,U)},I=()=>o.value.getHalfCheckedNodes(),_=()=>o.value.getHalfCheckedKeys(),N=(F,H=!0)=>{m("setCurrentNode"),av(o,t.emit,()=>{c(F),o.value.setUserCurrentNode(F,H)})},$=(F=null,H=!0)=>{m("setCurrentKey"),av(o,t.emit,()=>{c(),o.value.setCurrentNodeKey(F,H)})},B=F=>o.value.getNode(F),K=F=>{o.value.remove(F)},j=(F,H)=>{o.value.append(F,H)},W=(F,H)=>{o.value.insertBefore(F,H)},A=(F,H)=>{o.value.insertAfter(F,H)},P=(F,H,U)=>{c(H),t.emit("node-expand",F,H,U)},V=(F,H)=>{m("updateKeyChildren"),o.value.updateChildren(F,H)};return St(yg,{ctx:t,props:e,store:o,root:r,currentNode:s,instance:f}),St(Wo,void 0),{ns:a,store:o,root:r,currentNode:s,dragState:d,el$:l,dropIndicator$:u,isEmpty:g,filter:h,getNodeKey:v,getNodePath:b,getCheckedNodes:w,getCheckedKeys:y,getCurrentNode:S,getCurrentKey:k,setCheckedNodes:x,setCheckedKeys:O,setChecked:T,getHalfCheckedNodes:I,getHalfCheckedKeys:_,setCurrentNode:N,setCurrentKey:$,t:n,getNode:B,remove:K,append:j,insertBefore:W,insertAfter:A,handleNodeExpand:P,updateKeyChildren:V}}});function IX(e,t,n,a,o,r){const s=Mt("el-tree-node");return E(),D("div",{ref:"el$",class:R([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(E(!0),D(Ve,null,kt(e.root.childNodes,l=>(E(),le(s,{key:e.getNodeKey(l),node:l,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(E(),D("div",{key:0,class:R(e.ns.e("empty-block"))},[oe(e.$slots,"empty",{},()=>[z("span",{class:R(e.ns.e("empty-text"))},Ce(e.emptyText??e.t("el.tree.emptyText")),3)])],2)):re("v-if",!0),ct(z("div",{ref:"dropIndicator$",class:R(e.ns.e("drop-indicator"))},null,2),[[$t,e.dragState.showDropIndicator]])],2)}var $X=Mn(RX,[["render",IX]]);const Sg=st($X),NX=(e,{attrs:t,emit:n},{select:a,tree:o,key:r})=>{const s=ge("tree-select");pe(()=>e.data,()=>{e.filterable&&Ne(()=>{o.value?.filter(a.value?.states.inputValue)})},{flush:"post"});const l=u=>{const c=u.at(-1);if(c.expanded&&c.childNodes.at(-1))l([c.childNodes.at(-1)]);else{o.value.el$?.querySelector(`[data-key="${u.at(-1).key}"]`)?.focus({preventScroll:!0});return}};return ht(()=>{Bt(()=>a.value?.$el,"keydown",async u=>{const c=qt(u),{dropdownMenuVisible:d}=a.value;[Se.down,Se.up].includes(c)&&d&&(await Ne(),setTimeout(()=>{if(Se.up===c){const f=o.value.store.root.childNodes;l(f);return}a.value.optionsArray[a.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...hr(Pn(e),Object.keys(es.props)),...t,class:C(()=>t.class),style:C(()=>t.style),"onUpdate:modelValue":u=>n(at,u),valueKey:r,popperClass:C(()=>{const u=[s.e("popper")];return e.popperClass&&u.push(e.popperClass),u.join(" ")}),filterMethod:(u="")=>{e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):o.value?.filter(u)}}},MX=se({extends:ud,setup(e,t){const n=ud.setup(e,t);delete n.selectOptionClick;const a=dt().proxy;return Ne(()=>{n.select.states.cachedOptions.get(a.value)||n.select.onOptionCreate(a)}),pe(()=>t.attrs.visible,o=>{Ne(()=>{n.states.visible=o})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function sv(e){return e||e===0}function Cg(e){return we(e)&&e.length}function Js(e){return we(e)?e:sv(e)?[e]:[]}function Lc(e,t,n,a,o){for(let r=0;r<e.length;r++){const s=e[r];if(t(s,r,e,o))return a?a(s,r,e,o):s;{const l=n(s);if(Cg(l)){const u=Lc(l,t,n,a,s);if(u)return u}}}}function Dc(e,t,n,a){for(let o=0;o<e.length;o++){const r=e[o];t(r,o,e,a);const s=n(r);Cg(s)&&Dc(s,t,n,r)}}const PX=(e,{attrs:t,slots:n,emit:a},{select:o,tree:r,key:s})=>{pe([()=>e.modelValue,r],()=>{e.showCheckbox&&Ne(()=>{const h=r.value;h&&!fn(h.getCheckedKeys(),Js(e.modelValue))&&h.setCheckedKeys(Js(e.modelValue))})},{immediate:!0,deep:!0});const l=C(()=>({value:s.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),u=(h,v)=>{const m=l.value[h];return Fe(m)?m(v,r.value?.getNode(u("value",v))):v[m]},c=Js(e.modelValue).map(h=>Lc(e.data||[],v=>u("value",v)===h,v=>u("children",v),(v,m,b,w)=>w&&u("value",w))).filter(h=>sv(h)),d=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const h=[];return Dc(e.data.concat(e.cacheData),v=>{const m=u("value",v);h.push({value:m,currentLabel:u("label",v),isDisabled:u("disabled",v)})},v=>u("children",v)),h}),f=()=>r.value?.getCheckedKeys().filter(h=>{const v=r.value?.getNode(h);return!En(v)&&ha(v.childNodes)}),p=h=>{fn(e.modelValue,h)||a(yt,h)};function g(h){a(at,h),p(h)}return{...hr(Pn(e),Object.keys(Sg.props)),...t,nodeKey:s,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(c):c),renderContent:(h,{node:v,data:m,store:b})=>h(MX,{value:u("value",m),label:u("label",m),disabled:u("disabled",m),visible:v.visible},e.renderContent?()=>e.renderContent(h,{node:v,data:m,store:b}):n.default?()=>n.default({node:v,data:m,store:b}):void 0),filterNodeMethod:(h,v,m)=>e.filterNodeMethod?e.filterNodeMethod(h,v,m):h?new RegExp(lm(h),"i").test(u("label",v)||""):!0,onNodeClick:(h,v,m)=>{if(t.onNodeClick?.(h,v,m),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||v.isLeaf)){if(!u("disabled",h)){const b=o.value?.states.options.get(u("value",h));o.value?.handleOptionSelect(b)}}else e.expandOnClickNode&&m.proxy.handleExpandIconClick()},onCheck:(h,v)=>{if(!e.showCheckbox)return;const m=u("value",h),b={};Dc([r.value.store.root],k=>b[k.key]=k,k=>k.childNodes);const w=v.checkedKeys,y=e.multiple?Js(e.modelValue).filter(k=>!(k in b)&&!w.includes(k)):[],S=y.concat(w);if(e.checkStrictly)g(e.multiple?S:S.includes(m)?m:void 0);else if(e.multiple){const k=f();g(y.concat(k))}else{const k=Lc([h],T=>!Cg(u("children",T))&&!u("disabled",T),T=>u("children",T)),x=k?u("value",k):void 0,O=sv(e.modelValue)&&!!Lc([h],T=>u("value",T)===e.modelValue,T=>u("children",T));g(x===e.modelValue||O?void 0:x)}Ne(()=>{const k=Js(e.modelValue);r.value.setCheckedKeys(k),t.onCheck?.(h,{checkedKeys:r.value.getCheckedKeys(),checkedNodes:r.value.getCheckedNodes(),halfCheckedKeys:r.value.getHalfCheckedKeys(),halfCheckedNodes:r.value.getHalfCheckedNodes()})}),o.value?.focus()},onNodeExpand:(h,v,m)=>{t.onNodeExpand?.(h,v,m),Ne(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&v.checked){const b={},w=r.value.getCheckedKeys();Dc([r.value.store.root],k=>b[k.key]=k,k=>k.childNodes);const y=Js(e.modelValue).filter(k=>!(k in b)&&!w.includes(k)),S=f();g(y.concat(S))}})},cacheOptions:d}};var AX=se({props:{data:{type:Array,default:()=>[]}},setup(e){const t=$e(Du);return pe(()=>e.data,()=>{e.data.forEach(a=>{t.states.cachedOptions.has(a.value)||t.states.cachedOptions.set(a.value,a)});const n=t.selectRef?.querySelectorAll("input")||[];Lt&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),LX=se({name:"ElTreeSelect",inheritAttrs:!1,props:{...Sk,...$x,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:a,emit:o,attrs:r}=t,s={...r,onChange:void 0},l=M(),u=M(),c=C(()=>e.nodeKey||e.valueKey||"value"),d=NX(e,{attrs:r,emit:o},{select:l,tree:u,key:c}),{cacheOptions:f,...p}=PX(e,{attrs:s,slots:n,emit:o},{select:l,tree:u,key:c}),g=Dt({});return a(g),ht(()=>{Object.assign(g,{...hr(u.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...hr(l.value,["focus","blur","selectedLabel"]),treeRef:u.value,selectRef:l.value})}),()=>qe(es,Dt({...d,ref:h=>l.value=h}),{...n,default:()=>[qe(AX,{data:f.value}),qe(Sg,Dt({...p,ref:h=>u.value=h}))]})}}),DX=LX;const BX=st(DX),kg=Symbol(),VX={key:-1,level:-1,data:{}},Lx={type:Number,default:26},FX=Ee({data:{type:G(Array),default:()=>pn([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:G(Object),default:()=>pn({children:"children",label:"label",disabled:"disabled",value:"id",class:""})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:G(Array),default:()=>pn([])},checkStrictly:Boolean,defaultExpandedKeys:{type:G(Array),default:()=>pn([])},indent:{type:Number,default:16},itemSize:Lx,icon:{type:Ut},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:G([String,Number])},accordion:Boolean,filterMethod:{type:G(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),zX=Ee({node:{type:G(Object),default:()=>pn(VX)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:Lx}),HX=Ee({node:{type:G(Object),required:!0}}),Dx="node-click",Bx="node-drop",Vx="node-expand",Fx="node-collapse",zx="current-change",Hx="check",Kx="check-change",Wx="node-contextmenu",KX={[Dx]:(e,t,n)=>e&&t&&n,[Bx]:(e,t,n)=>e&&t&&n,[Vx]:(e,t)=>e&&t,[Fx]:(e,t)=>e&&t,[zx]:(e,t)=>e&&t,[Hx]:(e,t)=>e&&t,[Kx]:(e,t)=>e&&Wt(t),[Wx]:(e,t,n)=>e&&t&&n},WX={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&Wt(t)};function jX(e,t){const n=M(new Set),a=M(new Set),{emit:o}=dt();pe([()=>t.value,()=>e.defaultCheckedKeys],()=>Ne(()=>{w(e.defaultCheckedKeys)}),{immediate:!0});const r=(y=!1)=>{if(!t.value||!e.showCheckbox||e.checkStrictly&&!y)return;const{levelTreeNodeMap:S,maxLevel:k}=t.value,x=n.value,O=new Set;for(let T=k;T>=1;--T){const I=S.get(T);I&&I.forEach(_=>{const N=_.children;let $=!_.isLeaf||_.disabled||x.has(_.key);if(N){let B=!0,K=!1;for(const j of N){const W=j.key;if(j.isEffectivelyChecked||($=!1),x.has(W))K=!0;else if(O.has(W)){B=!1,K=!0;break}else B=!1}B?x.add(_.key):K?(O.add(_.key),x.delete(_.key)):(x.delete(_.key),O.delete(_.key))}_.isEffectivelyChecked=$})}a.value=O},s=y=>n.value.has(y.key),l=y=>a.value.has(y.key),u=(y,S,k=!0,x=!0,O=!1)=>{const T=n.value,I=y.children;(!e.checkStrictly||O)&&k&&I?.length&&(S=I.some(N=>!N.isEffectivelyChecked));const _=(N,$)=>{T[$?"add":"delete"](N.key);const B=N.children;(!e.checkStrictly||O)&&B&&B.forEach(K=>{(!K.disabled||K.children)&&_(K,$)})};_(y,S),x&&r(),k&&c(y,S)},c=(y,S)=>{const{checkedNodes:k,checkedKeys:x}=h(),{halfCheckedNodes:O,halfCheckedKeys:T}=v();o(Hx,y.data,{checkedKeys:x,checkedNodes:k,halfCheckedKeys:T,halfCheckedNodes:O}),o(Kx,y.data,S)};function d(y=!1){return h(y).checkedKeys}function f(y=!1){return h(y).checkedNodes}function p(){return v().halfCheckedKeys}function g(){return v().halfCheckedNodes}function h(y=!1){const S=[],k=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:x}=t.value;n.value.forEach(O=>{const T=x.get(O);T&&(!y||y&&T.isLeaf)&&(k.push(O),S.push(T.data))})}return{checkedKeys:k,checkedNodes:S}}function v(){const y=[],S=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:k}=t.value;a.value.forEach(x=>{const O=k.get(x);O&&(S.push(x),y.push(O.data))})}return{halfCheckedNodes:y,halfCheckedKeys:S}}function m(y){n.value.clear(),a.value.clear(),Ne(()=>{w(y)})}function b(y,S,k){if(t?.value&&e.showCheckbox){const x=t.value.treeNodeMap.get(y);x&&u(x,S,!1,void 0,k)}}function w(y){if(t?.value){const{treeNodeMap:S}=t.value;if(e.showCheckbox&&S&&y?.length>0){for(const k of y){const x=S.get(k);x&&!s(x)&&u(x,!0,!1,!1)}r()}}}return{updateCheckedKeys:r,toggleCheckbox:u,isChecked:s,isIndeterminate:l,getCheckedKeys:d,getCheckedNodes:f,getHalfCheckedKeys:p,getHalfCheckedNodes:g,setChecked:b,setCheckedKeys:m}}function UX(e,t){const n=M(new Set([])),a=M(new Set([])),o=C(()=>Fe(e.filterMethod));function r(l){if(!o.value)return;const u=new Set,c=a.value,d=n.value,f=[],p=t.value?.treeNodes||[],g=e.filterMethod;d.clear();function h(v){v.forEach(m=>{f.push(m),g?.(l,m.data,m)?f.forEach(w=>{u.add(w.key),w.expanded=!0}):(m.expanded=!1,m.isLeaf&&d.add(m.key));const b=m.children;if(b&&h(b),!m.isLeaf){if(!u.has(m.key))d.add(m.key);else if(b){let w=!0;for(const y of b)if(!d.has(y.key)){w=!1;break}w?c.add(m.key):c.delete(m.key)}}f.pop()})}return h(p),u}function s(l){return a.value.has(l.key)}return{hiddenExpandIconKeySet:a,hiddenNodeKeySet:n,doFilter:r,isForceHiddenExpandIcon:s}}function qX(e,t){const n=M(new Set),a=M(),o=Tt(),r=M(),{isIndeterminate:s,isChecked:l,toggleCheckbox:u,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:g,setCheckedKeys:h}=jX(e,o),{doFilter:v,hiddenNodeKeySet:m,isForceHiddenExpandIcon:b}=UX(e,o),w=C(()=>e.props?.value||"id"),y=C(()=>e.props?.children||"children"),S=C(()=>e.props?.disabled||"disabled"),k=C(()=>e.props?.label||"label"),x=C(()=>{const Q=n.value,L=m.value,q=[],te=o.value?.treeNodes||[],fe=[];for(let he=te.length-1;he>=0;--he)fe.push(te[he]);for(;fe.length;){const he=fe.pop();if(!L.has(he.key)&&(q.push(he),he.children&&Q.has(he.key)))for(let ve=he.children.length-1;ve>=0;--ve)fe.push(he.children[ve])}return q}),O=C(()=>x.value.length>0);function T(Q){const L=new Map,q=new Map;let te=1;function fe(ve,Ie=1,Le=void 0){const _e=[];for(const ye of ve){const Te=N(ye),be={level:Ie,key:Te,data:ye};be.label=B(ye),be.parent=Le;const Pe=_(ye);be.disabled=$(ye),be.isLeaf=!Pe||Pe.length===0,be.expanded=n.value.has(Te),Pe&&Pe.length&&(be.children=fe(Pe,Ie+1,be)),_e.push(be),L.set(Te,be),q.has(Ie)||q.set(Ie,[]),q.get(Ie)?.push(be)}return Ie>te&&(te=Ie),_e}const he=fe(Q);return{treeNodeMap:L,levelTreeNodeMap:q,maxLevel:te,treeNodes:he}}function I(Q){const L=v(Q);L&&(n.value=L)}function _(Q){return Q[y.value]}function N(Q){return Q?Q[w.value]:""}function $(Q){return Q[S.value]}function B(Q){return Q[k.value]}function K(Q){n.value.has(Q.key)?H(Q):F(Q)}function j(Q){const L=new Set,q=o.value.treeNodeMap;n.value.forEach(te=>{const fe=q.get(te);fe&&(fe.expanded=!1)}),Q.forEach(te=>{let fe=q.get(te);for(;fe&&!L.has(fe.key);)L.add(fe.key),fe.expanded=!0,fe=fe.parent}),n.value=L}function W(Q,L){t(Dx,Q.data,Q,L),P(Q),e.expandOnClickNode&&K(Q),e.showCheckbox&&(e.checkOnClickNode||Q.isLeaf&&e.checkOnClickLeaf)&&!Q.disabled&&u(Q,!l(Q),!0)}function A(Q,L){t(Bx,Q.data,Q,L)}function P(Q){J(Q)||(a.value=Q.key,t(zx,Q.data,Q))}function V(Q,L){u(Q,L)}function F(Q){const L=n.value;if(o.value&&e.accordion){const{treeNodeMap:te}=o.value;L.forEach(fe=>{const he=te.get(fe);Q&&Q.level===he?.level&&(L.delete(fe),he.expanded=!1)})}L.add(Q.key);const q=de(Q.key);q&&(q.expanded=!0,t(Vx,q.data,q))}function H(Q){n.value.delete(Q.key);const L=de(Q.key);L&&(L.expanded=!1,t(Fx,L.data,L))}function U(Q){return!!Q.disabled}function J(Q){const L=a.value;return L!==void 0&&L===Q.key}function ee(){if(a.value)return o.value?.treeNodeMap.get(a.value)?.data}function ae(){return a.value}function ce(Q){a.value=Q}function Z(Q){o.value=T(Q)}function de(Q){const L=ot(Q)?N(Q):Q;return o.value?.treeNodeMap.get(L)}function ue(Q,L="auto"){const q=de(Q);q&&r.value&&r.value.scrollToItem(x.value.indexOf(q),L)}function Y(Q){r.value?.scrollTo(Q)}return pe(()=>e.currentNodeKey,Q=>{a.value=Q},{immediate:!0}),pe(()=>e.defaultExpandedKeys,Q=>{j(Q||[])}),pe(()=>e.data,Q=>{Z(Q),j(e.defaultExpandedKeys||[])},{immediate:!0}),{tree:o,flattenTree:x,isNotEmpty:O,listRef:r,getKey:N,getChildren:_,toggleExpand:K,toggleCheckbox:u,isChecked:l,isIndeterminate:s,isDisabled:U,isCurrent:J,isForceHiddenExpandIcon:b,handleNodeClick:W,handleNodeDrop:A,handleNodeCheck:V,getCurrentNode:ee,getCurrentKey:ae,setCurrentKey:ce,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:g,setCheckedKeys:h,filter:I,setData:Z,getNode:de,expandNode:F,collapseNode:H,setExpandedKeys:j,scrollToNode:ue,scrollTo:Y}}var YX=se({name:"ElTreeNodeContent",props:HX,setup(e){const t=$e(kg),n=ge("tree");return()=>{const a=e.node,{data:o}=a;return t?.ctx.slots.default?t.ctx.slots.default({node:a,data:o}):qe(bg,{tag:"span",truncated:!0,class:n.be("node","label")},()=>[a?.label])}}});const GX=["aria-expanded","aria-disabled","aria-checked","data-key"];var XX=se({name:"ElTreeNode",__name:"tree-node",props:zX,emits:WX,setup(e,{emit:t}){const n=e,a=t,o=$e(kg),r=ge("tree"),s=C(()=>o?.props.indent??16),l=C(()=>o?.props.icon??CC),u=h=>{const v=o?.props.props?.class;if(!v)return{};let m;if(Fe(v)){const{data:b}=h;m=v(b,h)}else m=v;return Ae(m)?{[m]:!0}:m},c=h=>{a("click",n.node,h)},d=h=>{a("drop",n.node,h)},f=()=>{a("toggle",n.node)},p=h=>{a("check",n.node,h)},g=h=>{o?.instance?.vnode?.props?.onNodeContextmenu&&(h.stopPropagation(),h.preventDefault()),o?.ctx.emit(Wx,h,n.node?.data,n.node)};return(h,v)=>(E(),D("div",{ref:"node$",class:R([i(r).b("node"),i(r).is("expanded",e.expanded),i(r).is("current",e.current),i(r).is("focusable",!e.disabled),i(r).is("checked",!e.disabled&&e.checked),u(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.disabled,"aria-checked":e.checked,"data-key":e.node?.key,onClick:Xe(c,["stop"]),onContextmenu:g,onDragover:v[1]||(v[1]=Xe(()=>{},["prevent"])),onDragenter:v[2]||(v[2]=Xe(()=>{},["prevent"])),onDrop:Xe(d,["stop"])},[z("div",{class:R(i(r).be("node","content")),style:ze({paddingLeft:`${(e.node.level-1)*s.value}px`,height:e.itemSize+"px"})},[l.value?(E(),le(i(De),{key:0,class:R([i(r).is("leaf",!!e.node?.isLeaf),i(r).is("hidden",e.hiddenExpandIcon),{expanded:!e.node?.isLeaf&&e.expanded},i(r).be("node","expand-icon")]),onClick:Xe(f,["stop"])},{default:ne(()=>[(E(),le(it(l.value)))]),_:1},8,["class"])):re("v-if",!0),e.showCheckbox?(E(),le(i(mo),{key:1,"model-value":e.checked,indeterminate:e.indeterminate,disabled:e.disabled,onChange:p,onClick:v[0]||(v[0]=Xe(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):re("v-if",!0),X(i(YX),{node:{...e.node,expanded:e.expanded}},null,8,["node"])],6)],42,GX))}}),JX=XX,ZX=se({name:"ElTreeV2",__name:"tree",props:FX,emits:KX,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wn(),s=C(()=>a.itemSize);St(kg,{ctx:{emit:o,slots:r},props:a,instance:dt()}),St(Wo,void 0);const{t:l}=xt(),u=ge("tree"),{flattenTree:c,isNotEmpty:d,listRef:f,toggleExpand:p,isIndeterminate:g,isChecked:h,isDisabled:v,isCurrent:m,isForceHiddenExpandIcon:b,handleNodeClick:w,handleNodeDrop:y,handleNodeCheck:S,toggleCheckbox:k,getCurrentNode:x,getCurrentKey:O,setCurrentKey:T,getCheckedKeys:I,getCheckedNodes:_,getHalfCheckedKeys:N,getHalfCheckedNodes:$,setChecked:B,setCheckedKeys:K,filter:j,setData:W,getNode:A,expandNode:P,collapseNode:V,setExpandedKeys:F,scrollToNode:H,scrollTo:U}=qX(a,o);return t({toggleCheckbox:k,getCurrentNode:x,getCurrentKey:O,setCurrentKey:T,getCheckedKeys:I,getCheckedNodes:_,getHalfCheckedKeys:N,getHalfCheckedNodes:$,setChecked:B,setCheckedKeys:K,filter:j,setData:W,getNode:A,expandNode:P,collapseNode:V,setExpandedKeys:F,scrollToNode:H,scrollTo:U}),(J,ee)=>(E(),D("div",{class:R([i(u).b(),{[i(u).m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[i(d)?(E(),le(i(gf),{key:0,ref_key:"listRef",ref:f,"class-name":i(u).b("virtual-list"),data:i(c),total:i(c).length,height:e.height,"item-size":s.value,"perf-mode":e.perfMode,"scrollbar-always-on":e.scrollbarAlwaysOn},{default:ne(({data:ae,index:ce,style:Z})=>[(E(),le(JX,{key:ae[ce].key,style:ze(Z),node:ae[ce],expanded:ae[ce].expanded,"show-checkbox":e.showCheckbox,checked:i(h)(ae[ce]),indeterminate:i(g)(ae[ce]),"item-size":s.value,disabled:i(v)(ae[ce]),current:i(m)(ae[ce]),"hidden-expand-icon":i(b)(ae[ce]),onClick:i(w),onToggle:i(p),onCheck:i(S),onDrop:i(y)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck","onDrop"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode","scrollbar-always-on"])):(E(),D("div",{key:1,class:R(i(u).e("empty-block"))},[oe(J.$slots,"empty",{},()=>[z("span",{class:R(i(u).e("empty-text"))},Ce(e.emptyText??i(l)("el.tree.emptyText")),3)])],2))],2))}}),QX=ZX;const eJ=st(QX),tJ="ElUpload";var nJ=class extends Error{constructor(e,t,n,a){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=a}};function p1(e,t,n){let a;return n.response?a=`${n.response.error||n.response}`:n.responseText?a=`${n.responseText}`:a=`fail to ${t.method} ${e} ${n.status}`,new nJ(a,n.status,t.method,e)}function aJ(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const oJ=e=>{typeof XMLHttpRequest>"u"&&sn(tJ,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",r=>{const s=r;s.percent=r.total>0?r.loaded/r.total*100:0,e.onProgress(s)});const a=new FormData;if(e.data)for(const[r,s]of Object.entries(e.data))we(s)?s.length===2&&s[0]instanceof Blob&&Ae(s[1])?a.append(r,s[0],s[1]):s.forEach(l=>{a.append(r,l)}):a.append(r,s);a.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(p1(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(p1(n,e,t));e.onSuccess(aJ(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const o=e.headers||{};if(o instanceof Headers)o.forEach((r,s)=>t.setRequestHeader(s,r));else for(const[r,s]of Object.entries(o))En(s)||t.setRequestHeader(r,String(s));return t.send(a),t},jx=["text","picture","picture-card"];let rJ=1;const lv=()=>Date.now()+rJ++,Ux=Ee({action:{type:String,default:"#"},headers:{type:G(Object)},method:{type:String,default:"post"},data:{type:G([Object,Function,Promise]),default:()=>pn({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:G(Array),default:()=>pn([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:jx,default:"text"},httpRequest:{type:G(Function),default:oJ},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),sJ=Ee({...Ux,beforeUpload:{type:G(Function),default:ut},beforeRemove:{type:G(Function)},onRemove:{type:G(Function),default:ut},onChange:{type:G(Function),default:ut},onPreview:{type:G(Function),default:ut},onSuccess:{type:G(Function),default:ut},onProgress:{type:G(Function),default:ut},onError:{type:G(Function),default:ut},onExceed:{type:G(Function),default:ut},crossorigin:{type:G(String)}}),qx=Symbol("uploadContextKey"),lJ=Ee({files:{type:G(Array),default:()=>pn([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:G(Function),default:ut},listType:{type:String,values:jx,default:"text"},crossorigin:{type:G(String)}}),iJ={remove:e=>!!e},uJ=Ee({...Ux,beforeUpload:{type:G(Function),default:ut},onRemove:{type:G(Function),default:ut},onStart:{type:G(Function),default:ut},onSuccess:{type:G(Function),default:ut},onProgress:{type:G(Function),default:ut},onError:{type:G(Function),default:ut},onExceed:{type:G(Function),default:ut}}),cJ=Ee({disabled:{type:Boolean,default:void 0},directory:Boolean}),dJ={file:e=>we(e)},fJ=["tabindex","aria-disabled","onKeydown"],pJ=["src","crossorigin"],hJ=["onClick"],vJ=["title"],mJ=["onClick"],gJ=["onClick"];var bJ=se({name:"ElUploadList",__name:"upload-list",props:lJ,emits:iJ,setup(e,{emit:t}){const n=e,a=t,{t:o}=xt(),r=ge("upload"),s=ge("icon"),l=ge("list"),u=un(),c=M(!1),d=C(()=>[r.b("list"),r.bm("list",n.listType),r.is("disabled",u.value)]),f=p=>{a("remove",p)};return(p,g)=>(E(),le(T2,{tag:"ul",class:R(d.value),name:i(l).b()},{default:ne(()=>[(E(!0),D(Ve,null,kt(e.files,(h,v)=>(E(),D("li",{key:h.uid||h.name,class:R([i(r).be("list","item"),i(r).is(h.status),{focusing:c.value}]),tabindex:i(u)?void 0:0,"aria-disabled":i(u),role:"button",onKeydown:dn(m=>!i(u)&&f(h),["delete"]),onFocus:g[0]||(g[0]=m=>c.value=!0),onBlur:g[1]||(g[1]=m=>c.value=!1),onClick:g[2]||(g[2]=m=>c.value=!1)},[oe(p.$slots,"default",{file:h,index:v},()=>[e.listType==="picture"||h.status!=="uploading"&&e.listType==="picture-card"?(E(),D("img",{key:0,class:R(i(r).be("list","item-thumbnail")),src:h.url,crossorigin:e.crossorigin,alt:""},null,10,pJ)):re("v-if",!0),h.status==="uploading"||e.listType!=="picture-card"?(E(),D("div",{key:1,class:R(i(r).be("list","item-info"))},[z("a",{class:R(i(r).be("list","item-name")),onClick:Xe(m=>e.handlePreview(h),["prevent"])},[X(i(De),{class:R(i(s).m("document"))},{default:ne(()=>[X(i(TP))]),_:1},8,["class"]),z("span",{class:R(i(r).be("list","item-file-name")),title:h.name},Ce(h.name),11,vJ)],10,hJ),h.status==="uploading"?(E(),le(i(ex),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(h.percentage),style:ze(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):re("v-if",!0)],2)):re("v-if",!0),z("label",{class:R(i(r).be("list","item-status-label"))},[e.listType==="text"?(E(),le(i(De),{key:0,class:R([i(s).m("upload-success"),i(s).m("circle-check")])},{default:ne(()=>[X(i(Tm))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(E(),le(i(De),{key:1,class:R([i(s).m("upload-success"),i(s).m("check")])},{default:ne(()=>[X(i(Il))]),_:1},8,["class"])):re("v-if",!0)],2),i(u)?re("v-if",!0):(E(),le(i(De),{key:2,class:R(i(s).m("close")),"aria-label":i(o)("el.upload.delete"),role:"button",tabindex:"0",onClick:m=>f(h),onKeydown:dn(Xe(m=>f(h),["prevent"]),["enter","space"])},{default:ne(()=>[X(i(Qa))]),_:1},8,["class","aria-label","onClick","onKeydown"])),i(u)?re("v-if",!0):(E(),D("i",{key:3,class:R(i(s).m("close-tip"))},Ce(i(o)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(E(),D("span",{key:4,class:R(i(r).be("list","item-actions"))},[z("span",{class:R(i(r).be("list","item-preview")),onClick:m=>e.handlePreview(h)},[X(i(De),{class:R(i(s).m("zoom-in"))},{default:ne(()=>[X(i(TC))]),_:1},8,["class"])],10,mJ),i(u)?re("v-if",!0):(E(),D("span",{key:0,class:R(i(r).be("list","item-delete")),onClick:m=>f(h)},[X(i(De),{class:R(i(s).m("delete"))},{default:ne(()=>[X(i(EP))]),_:1},8,["class"])],10,gJ))],2)):re("v-if",!0)])],42,fJ))),128)),oe(p.$slots,"append")]),_:3},8,["class","name"]))}}),h1=bJ;const v1="ElUploadDrag";var yJ=se({name:v1,__name:"upload-dragger",props:cJ,emits:dJ,setup(e,{emit:t}){const n=e,a=t;$e(qx)||sn(v1,"usage: <el-upload><el-upload-dragger /></el-upload>");const o=ge("upload"),r=M(!1),s=un(),l=p=>new Promise((g,h)=>p.file(g,h)),u=async p=>{try{if(p.isFile){const g=await l(p);return g.isDirectory=!1,[g]}if(p.isDirectory){const g=p.createReader(),h=()=>new Promise((w,y)=>g.readEntries(w,y)),v=[];let m=await h();for(;m.length>0;)v.push(...m),m=await h();const b=v.map(w=>u(w).catch(()=>[]));return Qc(await Promise.all(b))}}catch{return[]}return[]},c=async p=>{if(s.value)return;r.value=!1,p.stopPropagation();const g=Array.from(p.dataTransfer.files),h=p.dataTransfer.items||[];if(n.directory){const v=Array.from(h).map(m=>m?.webkitGetAsEntry?.()).filter(m=>m);a("file",Qc(await Promise.all(v.map(u))));return}g.forEach((v,m)=>{const b=h[m]?.webkitGetAsEntry?.();b&&(v.isDirectory=b.isDirectory)}),a("file",g)},d=()=>{s.value||(r.value=!0)},f=p=>{p.currentTarget.contains(p.relatedTarget)||(r.value=!1)};return(p,g)=>(E(),D("div",{class:R([i(o).b("dragger"),i(o).is("dragover",r.value)]),onDrop:Xe(c,["prevent"]),onDragover:Xe(d,["prevent"]),onDragleave:Xe(f,["prevent"])},[oe(p.$slots,"default")],34))}}),wJ=yJ;const SJ=["tabindex","aria-disabled","onKeydown"],CJ=["name","disabled","multiple","accept","webkitdirectory"];var kJ=se({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:uJ,setup(e,{expose:t}){const n=e,a=ge("upload"),o=un(),r=Tt({}),s=Tt(),l=v=>{if(v.length===0)return;const{autoUpload:m,limit:b,fileList:w,multiple:y,onStart:S,onExceed:k}=n;if(b&&w.length+v.length>b){k(v,w);return}y||(v=v.slice(0,1));for(const x of v){const O=x;O.uid=lv(),S(O),m&&u(O)}},u=async v=>{if(s.value.value="",!n.beforeUpload)return d(v);let m,b={};try{const y=n.data,S=n.beforeUpload(v);b=Vi(n.data)?No(n.data):n.data,m=await S,Vi(n.data)&&fn(y,b)&&(b=No(n.data))}catch{m=!1}if(m===!1){n.onRemove(v);return}let w=v;m instanceof Blob&&(m instanceof File?w=m:w=new File([m],v.name,{type:v.type})),d(Object.assign(w,{uid:v.uid}),b)},c=async(v,m)=>Fe(v)?v(m):v,d=async(v,m)=>{const{headers:b,data:w,method:y,withCredentials:S,name:k,action:x,onProgress:O,onSuccess:T,onError:I,httpRequest:_}=n;try{m=await c(m??w,v)}catch{n.onRemove(v);return}const{uid:N}=v,$={headers:b||{},withCredentials:S,file:v,data:m,method:y,filename:k,action:x,onProgress:K=>{O(K,v)},onSuccess:K=>{T(K,v),delete r.value[N]},onError:K=>{I(K,v),delete r.value[N]}},B=_($);r.value[N]=B,B instanceof Promise&&B.then($.onSuccess,$.onError)},f=v=>{const m=v.target.files;m&&l(Array.from(m))},p=()=>{o.value||(s.value.value="",s.value.click())},g=()=>{p()};return t({abort:v=>{xS(r.value).filter(v?([m])=>String(v.uid)===m:()=>!0).forEach(([m,b])=>{b instanceof XMLHttpRequest&&b.abort(),delete r.value[m]})},upload:u}),(v,m)=>(E(),D("div",{class:R([i(a).b(),i(a).m(e.listType),i(a).is("drag",e.drag),i(a).is("disabled",i(o))]),tabindex:i(o)?void 0:0,"aria-disabled":i(o),role:"button",onClick:p,onKeydown:dn(Xe(g,["self"]),["enter","space"])},[e.drag?(E(),le(wJ,{key:0,disabled:i(o),directory:e.directory,onFile:l},{default:ne(()=>[oe(v.$slots,"default")]),_:3},8,["disabled","directory"])):oe(v.$slots,"default",{key:1}),z("input",{ref_key:"inputRef",ref:s,class:R(i(a).e("input")),name:e.name,disabled:i(o),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:f,onClick:m[0]||(m[0]=Xe(()=>{},["stop"]))},null,42,CJ)],42,SJ))}}),m1=kJ;const g1="ElUpload",b1=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},EJ=(e,t)=>{const n=$S(e,"fileList",void 0,{passive:!0}),a=h=>n.value.find(v=>v.uid===h.uid);function o(h){t.value?.abort(h)}function r(h=["ready","uploading","success","fail"]){n.value=n.value.filter(v=>!h.includes(v.status))}function s(h){n.value=n.value.filter(v=>v.uid!==h.uid)}const l=h=>{Ne(()=>e.onChange(h,n.value))},u=(h,v)=>{const m=a(v);m&&(console.error(h),m.status="fail",s(m),e.onError(h,m,n.value),l(m))},c=(h,v)=>{const m=a(v);m&&(e.onProgress(h,m,n.value),m.status="uploading",m.percentage=Math.round(h.percent))},d=(h,v)=>{const m=a(v);m&&(m.status="success",m.response=h,e.onSuccess(h,m,n.value),l(m))},f=h=>{En(h.uid)&&(h.uid=lv());const v={name:h.name,percentage:0,status:"ready",size:h.size,raw:h,uid:h.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(h)}catch(m){jt(g1,m.message),e.onError(m,v,n.value)}n.value=[...n.value,v],l(v)},p=async h=>{const v=h instanceof File?a(h):h;v||sn(g1,"file to be removed not found");const m=b=>{o(b),s(b),e.onRemove(b,n.value),b1(b)};e.beforeRemove?await e.beforeRemove(v,n.value)!==!1&&m(v):m(v)};function g(){n.value.filter(({status:h})=>h==="ready").forEach(({raw:h})=>h&&t.value?.upload(h))}return pe(()=>e.listType,h=>{h!=="picture-card"&&h!=="picture"||(n.value=n.value.map(v=>{const{raw:m,url:b}=v;if(!b&&m)try{v.url=URL.createObjectURL(m)}catch(w){e.onError(w,v,n.value)}return v}))}),pe(n,h=>{for(const v of h)v.uid||(v.uid=lv()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:o,clearFiles:r,handleError:u,handleProgress:c,handleStart:f,handleSuccess:d,handleRemove:p,submit:g,revokeFileObjectURL:b1}};var xJ=se({name:"ElUpload",__name:"upload",props:sJ,setup(e,{expose:t}){const n=e,a=un(),o=Tt(),{abort:r,submit:s,clearFiles:l,uploadFiles:u,handleStart:c,handleError:d,handleRemove:f,handleSuccess:p,handleProgress:g,revokeFileObjectURL:h}=EJ(n,o),v=C(()=>n.listType==="picture-card"),m=C(()=>({...n,fileList:u.value,onStart:c,onProgress:g,onSuccess:p,onError:d,onRemove:f}));return Vt(()=>{u.value.forEach(h)}),St(qx,{accept:Ht(n,"accept")}),t({abort:r,submit:s,clearFiles:l,handleStart:c,handleRemove:f}),(b,w)=>(E(),D("div",null,[v.value&&e.showFileList?(E(),le(h1,{key:0,disabled:i(a),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},ma({append:ne(()=>[X(m1,pt({ref_key:"uploadRef",ref:o},m.value),{default:ne(()=>[b.$slots.trigger?oe(b.$slots,"trigger",{key:0}):re("v-if",!0),!b.$slots.trigger&&b.$slots.default?oe(b.$slots,"default",{key:1}):re("v-if",!0)]),_:3},16)]),_:2},[b.$slots.file?{name:"default",fn:ne(({file:y,index:S})=>[oe(b.$slots,"file",{file:y,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):re("v-if",!0),!v.value||v.value&&!e.showFileList?(E(),le(m1,pt({key:1,ref_key:"uploadRef",ref:o},m.value),{default:ne(()=>[b.$slots.trigger?oe(b.$slots,"trigger",{key:0}):re("v-if",!0),!b.$slots.trigger&&b.$slots.default?oe(b.$slots,"default",{key:1}):re("v-if",!0)]),_:3},16)):re("v-if",!0),b.$slots.trigger?oe(b.$slots,"default",{key:2}):re("v-if",!0),oe(b.$slots,"tip"),!v.value&&e.showFileList?(E(),le(h1,{key:3,disabled:i(a),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},ma({_:2},[b.$slots.file?{name:"default",fn:ne(({file:y,index:S})=>[oe(b.$slots,"file",{file:y,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):re("v-if",!0)]))}}),TJ=xJ;const OJ=st(TJ),_J=Ee({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:G([String,Array]),default:"Element Plus"},font:{type:G(Object)},gap:{type:G(Array),default:()=>[100,100]},offset:{type:G(Array)}});function RJ(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function IJ(e){return Object.keys(e).map(t=>`${RJ(t)}: ${e[t]};`).join(" ")}function $J(){return window.devicePixelRatio||1}const NJ=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(n=!0),n},MJ={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function Rp(e,t,n=1){const a=document.createElement("canvas"),o=a.getContext("2d"),r=e*n,s=t*n;return a.setAttribute("width",`${r}px`),a.setAttribute("height",`${s}px`),o.save(),[o,a,r,s]}function PJ(){function e(t,n,a,o,r,s,l,u,c){const[d,f,p,g]=Rp(o,r,a);let h=0;if(t instanceof HTMLImageElement)d.drawImage(t,0,0,p,g);else{const{color:U,fontSize:J,fontStyle:ee,fontWeight:ae,fontFamily:ce,textAlign:Z,textBaseline:de}=s,ue=Number(J)*a;d.font=`${ee} normal ${ae} ${ue}px/${r}px ${ce}`,d.fillStyle=U,d.textAlign=Z,d.textBaseline=de;const Y=we(t)?t:[t];if(de!=="top"&&Y[0]){const Q=d.measureText(Y[0]);d.textBaseline="top";const L=d.measureText(Y[0]);h=Q.actualBoundingBoxAscent-L.actualBoundingBoxAscent}Y?.forEach((Q,L)=>{const[q,te]=MJ[Z];d.fillText(Q??"",p*q+c*te,L*(ue+s.fontGap*a))})}const v=Math.PI/180*Number(n),m=Math.max(o,r),[b,w,y]=Rp(m,m,a);b.translate(y/2,y/2),b.rotate(v),p>0&&g>0&&b.drawImage(f,-p/2,-g/2);function S(U,J){return[U*Math.cos(v)-J*Math.sin(v),U*Math.sin(v)+J*Math.cos(v)]}let k=0,x=0,O=0,T=0;const I=p/2,_=g/2;[[0-I,0-_],[0+I,0-_],[0+I,0+_],[0-I,0+_]].forEach(([U,J])=>{const[ee,ae]=S(U,J);k=Math.min(k,ee),x=Math.max(x,ee),O=Math.min(O,ae),T=Math.max(T,ae)});const N=k+y/2,$=O+y/2,B=x-k,K=T-O,j=l*a,W=u*a,A=(B+j)*2,P=K+W,[V,F]=Rp(A,P);function H(U=0,J=0){V.drawImage(w,N,$,B,K,U,J+h,B,K)}return H(),H(B+j,-K/2-W/2),H(B+j,+K/2+W/2),[F.toDataURL(),A/a,P/a]}return e}var AJ=se({name:"ElWatermark",__name:"watermark",props:_J,setup(e){const t={position:"relative"},n=e,a=C(()=>n.font?.fontGap??3),o=C(()=>n.font?.color??"rgba(0,0,0,.15)"),r=C(()=>n.font?.fontSize??16),s=C(()=>n.font?.fontWeight??"normal"),l=C(()=>n.font?.fontStyle??"normal"),u=C(()=>n.font?.fontFamily??"sans-serif"),c=C(()=>n.font?.textAlign??"center"),d=C(()=>n.font?.textBaseline??"hanging"),f=C(()=>n.gap[0]),p=C(()=>n.gap[1]),g=C(()=>f.value/2),h=C(()=>p.value/2),v=C(()=>n.offset?.[0]??g.value),m=C(()=>n.offset?.[1]??h.value),b=()=>{const N={zIndex:n.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let $=v.value-g.value,B=m.value-h.value;return $>0&&(N.left=`${$}px`,N.width=`calc(100% - ${$}px)`,$=0),B>0&&(N.top=`${B}px`,N.height=`calc(100% - ${B}px)`,B=0),N.backgroundPosition=`${$}px ${B}px`,N},w=Tt(null),y=Tt(),S=M(!1),k=()=>{y.value&&(y.value.remove(),y.value=void 0)},x=(N,$)=>{w.value&&y.value&&(S.value=!0,y.value.setAttribute("style",IJ({...b(),backgroundImage:`url('${N}')`,backgroundSize:`${Math.floor($)}px`})),w.value?.append(y.value),setTimeout(()=>{S.value=!1}))},O=N=>{let $=120,B=64,K=0;const{image:j,content:W,width:A,height:P,rotate:V}=n;if(!j&&N.measureText){N.font=`${Number(r.value)}px ${u.value}`;const F=we(W)?W:[W];let H=0,U=0;F.forEach(ee=>{const{width:ae,fontBoundingBoxAscent:ce,fontBoundingBoxDescent:Z,actualBoundingBoxAscent:de,actualBoundingBoxDescent:ue}=N.measureText(ee),Y=Rt(ce)?de+ue:ce+Z;ae>H&&(H=Math.ceil(ae)),Y>U&&(U=Math.ceil(Y))}),$=H,B=U*F.length+(F.length-1)*a.value;const J=Math.PI/180*Number(V);K=Math.ceil(Math.abs(Math.sin(J)*B)/2),$+=K}return[A??$,P??B,K]},T=PJ(),I=()=>{const N=document.createElement("canvas").getContext("2d"),$=n.image,B=n.content,K=n.rotate;if(N){y.value||(y.value=document.createElement("div"));const j=$J(),[W,A,P]=O(N),V=F=>{const[H,U]=T(F||"",K,j,W,A,{color:o.value,fontSize:r.value,fontStyle:l.value,fontWeight:s.value,fontFamily:u.value,fontGap:a.value,textAlign:c.value,textBaseline:d.value},f.value,p.value,P);x(H,U)};if($){const F=new Image;F.onload=()=>{V(F)},F.onerror=()=>{V(B)},F.crossOrigin="anonymous",F.referrerPolicy="no-referrer",F.src=$}else V(B)}};return ht(()=>{I()}),pe(()=>n,()=>{I()},{deep:!0,flush:"post"}),Vt(()=>{k()}),Tu(w,N=>{S.value||N.forEach($=>{NJ($,y.value)&&(k(),I())})},{attributes:!0,subtree:!0,childList:!0}),(N,$)=>(E(),D("div",{ref_key:"containerRef",ref:w,style:ze([t])},[oe(N.$slots,"default")],4))}}),LJ=AJ;const DJ=st(LJ),BJ=["absolute","fixed"],VJ=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],Eg=Ee({placement:{type:G(String),values:VJ,default:"bottom"},reference:{type:G(Object),default:null},strategy:{type:G(String),values:BJ,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),FJ={close:()=>!0},zJ=Ee({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Ut},placement:Eg.placement,contentStyle:{type:G([Object])},mask:{type:G([Boolean,Object]),default:!0},gap:{type:G(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:G([Boolean,Object]),default:()=>({block:"center"})},type:{type:G(String)},appendTo:{type:G([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),HJ={[at]:e=>Wt(e),"update:current":e=>Be(e),close:e=>Be(e),finish:()=>!0,change:e=>Be(e)},KJ=Ee({target:{type:G([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Ut},showArrow:{type:Boolean,default:void 0},placement:Eg.placement,mask:{type:G([Boolean,Object]),default:void 0},contentStyle:{type:G([Object])},prevButtonProps:{type:G(Object)},nextButtonProps:{type:G(Object)},scrollIntoViewOptions:{type:G([Boolean,Object]),default:void 0},type:{type:G(String)}}),WJ={close:()=>!0},jJ=(e,t,n,a,o)=>{const r=M(null),s=()=>{let d;return Ae(e.value)?d=document.querySelector(e.value):Fe(e.value)?d=e.value():d=e.value,d},l=()=>{const d=s();if(!d||!t.value){r.value=null;return}UJ(d)||d.scrollIntoView(o.value);const{left:f,top:p,width:g,height:h}=d.getBoundingClientRect();r.value={left:f,top:p,width:g,height:h,radius:0}};ht(()=>{pe([t,e],()=>{l()},{immediate:!0}),window.addEventListener("resize",l)}),Vt(()=>{window.removeEventListener("resize",l)});const u=d=>(we(n.value.offset)?n.value.offset[d]:n.value.offset)??6,c=C(()=>{if(!r.value)return r.value;const d=u(0),f=u(1),p=n.value?.radius||2;return{left:r.value.left-d,top:r.value.top-f,width:r.value.width+d*2,height:r.value.height+f*2,radius:p}});return{mergedPosInfo:c,triggerTarget:C(()=>{const d=s();return!a.value||!d||!window.DOMRect?d||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:c.value?.width||0,height:c.value?.height||0,x:c.value?.left||0,y:c.value?.top||0})}}})}},kf=Symbol("ElTour");function UJ(e){const t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:a,right:o,bottom:r,left:s}=e.getBoundingClientRect();return a>=0&&s>=0&&o<=t&&r<=n}const qJ=(e,t,n,a,o,r,s,l)=>{const u=M(),c=M(),d=M({}),f={x:u,y:c,placement:a,strategy:o,middlewareData:d},p=C(()=>{const b=[NM(i(r)),PM(),MM(),YJ()];return i(l)&&i(n)&&b.push(AM({element:i(n)})),b}),g=async()=>{if(!Lt)return;const b=i(e),w=i(t);if(!b||!w)return;const y=await LM(b,w,{placement:i(a),strategy:i(o),middleware:i(p)});Ji(f).forEach(S=>{f[S].value=y[S]})},h=C(()=>{if(!i(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:i(s)};const{overflow:b}=i(d);return{position:i(o),zIndex:i(s),top:i(c)!=null?`${i(c)}px`:"",left:i(u)!=null?`${i(u)}px`:"",maxWidth:b?.maxWidth?`${b?.maxWidth}px`:""}}),v=C(()=>{if(!i(l))return{};const{arrow:b}=i(d);return{left:b?.x!=null?`${b?.x}px`:"",top:b?.y!=null?`${b?.y}px`:""}});let m;return ht(()=>{const b=i(e),w=i(t);b&&w&&(m=IM(b,w,g)),la(()=>{g()})}),Vt(()=>{m&&m()}),{update:g,contentStyle:h,arrowStyle:v}},YJ=()=>({name:"overflow",async fn(e){const t=await $M(e);let n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),GJ=Ee({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:G(Object)},targetAreaClickable:{type:Boolean,default:!0}}),XJ={style:{width:"100%",height:"100%"}},JJ=["d"];var ZJ=se({name:"ElTourMask",inheritAttrs:!1,__name:"mask",props:GJ,setup(e){const t=e,{ns:n}=$e(kf),a=C(()=>t.pos?.radius??2),o=C(()=>{const d=a.value,f=`a${d},${d} 0 0 1`;return{topRight:`${f} ${d},${d}`,bottomRight:`${f} ${-d},${d}`,bottomLeft:`${f} ${-d},${-d}`,topLeft:`${f} ${d},${-d}`}}),{width:r,height:s}=rm(),l=C(()=>{const d=r.value,f=s.value,p=o.value,g=`M${d},0 L0,0 L0,${f} L${d},${f} L${d},0 Z`,h=a.value;return t.pos?`${g} M${t.pos.left+h},${t.pos.top} h${t.pos.width-h*2} ${p.topRight} v${t.pos.height-h*2} ${p.bottomRight} h${-t.pos.width+h*2} ${p.bottomLeft} v${-t.pos.height+h*2} ${p.topLeft} z`:g}),u=C(()=>({position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?"none":"auto"})),c=C(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return of(Ht(t,"visible"),{ns:n}),(d,f)=>e.visible?(E(),D("div",pt({key:0,class:i(n).e("mask"),style:u.value},d.$attrs),[(E(),D("svg",XJ,[z("path",{class:R(i(n).e("hollow")),style:ze(c.value),d:l.value},null,14,JJ)]))],16)):re("v-if",!0)}}),QJ=ZJ;const eZ=["data-side"];var tZ=se({name:"ElTourContent",__name:"content",props:Eg,emits:FJ,setup(e,{emit:t}){const n=e,a=t,o=M(n.placement),r=M(n.strategy),s=M(null),l=M(null);pe(()=>n.placement,()=>{o.value=n.placement});const{contentStyle:u,arrowStyle:c}=qJ(Ht(n,"reference"),s,l,o,r,Ht(n,"offset"),Ht(n,"zIndex"),Ht(n,"showArrow")),d=C(()=>o.value.split("-")[0]),{ns:f}=$e(kf),p=()=>{a("close")},g=h=>{h.detail.focusReason==="pointer"&&h.preventDefault()};return(h,v)=>(E(),D("div",{ref_key:"contentRef",ref:s,style:ze(i(u)),class:R(i(f).e("content")),"data-side":d.value,tabindex:"-1"},[X(i(Ul),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":s.value||void 0,onReleaseRequested:p,onFocusoutPrevented:g},{default:ne(()=>[oe(h.$slots,"default")]),_:3},8,["focus-trap-el"]),e.showArrow?(E(),D("span",{key:0,ref_key:"arrowRef",ref:l,style:ze(i(c)),class:R(i(f).e("arrow"))},null,6)):re("v-if",!0)],14,eZ))}}),nZ=tZ,aZ=se({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:n}){let a=0;return()=>{const o=t.default?.(),r=[];let s=0;function l(u){we(u)&&u.forEach(c=>{(c?.type||{})?.name==="ElTourStep"&&(r.push(c),s+=1)})}return o.length&&l(Aa(o[0]?.children)),a!==s&&(a=s,n("update-total",s)),r.length?r[e.current]:null}}}),oZ=se({name:"ElTour",inheritAttrs:!1,__name:"tour",props:zJ,emits:HJ,setup(e,{emit:t}){const n=e,a=t,o=ge("tour"),r=M(0),s=M(),l=$S(n,"current",a,{passive:!0}),u=C(()=>s.value?.target),c=C(()=>[o.b(),b.value==="primary"?o.m("primary"):""]),d=C(()=>s.value?.placement||n.placement),f=C(()=>s.value?.contentStyle??n.contentStyle),p=C(()=>s.value?.mask??n.mask),g=C(()=>!!p.value&&n.modelValue),h=C(()=>Wt(p.value)?void 0:p.value),v=C(()=>!!u.value&&(s.value?.showArrow??n.showArrow)),m=C(()=>s.value?.scrollIntoViewOptions??n.scrollIntoViewOptions),b=C(()=>s.value?.type??n.type),{nextZIndex:w}=Iu(),y=w(),S=C(()=>n.zIndex??y),{mergedPosInfo:k,triggerTarget:x}=jJ(u,Ht(n,"modelValue"),Ht(n,"gap"),p,m);pe(()=>n.modelValue,_=>{_||(l.value=0)});const O=()=>{n.closeOnPressEscape&&(a(at,!1),a("close",l.value))},T=_=>{r.value=_},I=wn();return St(kf,{currentStep:s,current:l,total:r,showClose:Ht(n,"showClose"),closeIcon:Ht(n,"closeIcon"),mergedType:b,ns:o,slots:I,updateModelValue(_){a(at,_)},onClose(){a("close",l.value)},onFinish(){a("finish")},onChange(){a(yt,l.value)}}),(_,N)=>(E(),D(Ve,null,[(E(),le(Bl,{to:e.appendTo},[z("div",pt({class:c.value},_.$attrs),[X(QJ,{visible:g.value,fill:h.value?.color,style:ze(h.value?.style),pos:i(k),"z-index":S.value,"target-area-clickable":e.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),e.modelValue?(E(),le(nZ,{key:i(l),reference:i(x),placement:d.value,"show-arrow":v.value,"z-index":S.value,style:ze(f.value),onClose:O},{default:ne(()=>[X(i(aZ),{current:i(l),onUpdateTotal:T},{default:ne(()=>[oe(_.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):re("v-if",!0)],16)],8,["to"])),re(" just for IDE "),re("v-if",!0)],64))}}),rZ=oZ;const sZ=["aria-label"];var lZ=se({name:"ElTourStep",__name:"step",props:KJ,emits:WJ,setup(e,{emit:t}){const n=e,a=t,{Close:o}=OC,{t:r}=xt(),{currentStep:s,current:l,total:u,showClose:c,closeIcon:d,mergedType:f,ns:p,slots:g,updateModelValue:h,onClose:v,onFinish:m,onChange:b}=$e(kf);pe(n,_=>{s.value=_},{immediate:!0});const w=C(()=>n.showClose??c.value),y=C(()=>n.closeIcon??d.value??o),S=_=>{if(_)return ku(_,["children","onClick"])},k=()=>{l.value-=1,n.prevButtonProps?.onClick&&n.prevButtonProps?.onClick(),b()},x=()=>{l.value>=u.value-1?O():l.value+=1,n.nextButtonProps?.onClick&&n.nextButtonProps.onClick(),b()},O=()=>{T(),m()},T=()=>{h(!1),v(),a("close")},I=_=>{if(!_.target?.isContentEditable)switch(qt(_)){case Se.left:_.preventDefault(),l.value>0&&k();break;case Se.right:_.preventDefault(),x();break}};return ht(()=>{window.addEventListener("keydown",I)}),Vt(()=>{window.removeEventListener("keydown",I)}),(_,N)=>(E(),D(Ve,null,[w.value?(E(),D("button",{key:0,"aria-label":i(r)("el.tour.close"),class:R(i(p).e("closebtn")),type:"button",onClick:T},[X(i(De),{class:R(i(p).e("close"))},{default:ne(()=>[(E(),le(it(y.value)))]),_:1},8,["class"])],10,sZ)):re("v-if",!0),z("header",{class:R([i(p).e("header"),{"show-close":i(c)}])},[oe(_.$slots,"header",{},()=>[z("span",{role:"heading",class:R(i(p).e("title"))},Ce(e.title),3)])],2),z("div",{class:R(i(p).e("body"))},[oe(_.$slots,"default",{},()=>[z("span",null,Ce(e.description),1)])],2),z("footer",{class:R(i(p).e("footer"))},[z("div",{class:R(i(p).b("indicators"))},[i(g).indicators?(E(),le(it(i(g).indicators),{key:0,current:i(l),total:i(u)},null,8,["current","total"])):(E(!0),D(Ve,{key:1},kt(i(u),($,B)=>(E(),D("span",{key:$,class:R([i(p).b("indicator"),i(p).is("active",B===i(l))])},null,2))),128))],2),z("div",{class:R(i(p).b("buttons"))},[i(l)>0?(E(),le(i(Bn),pt({key:0,size:"small",type:i(f)},S(e.prevButtonProps),{onClick:k}),{default:ne(()=>[wt(Ce(e.prevButtonProps?.children??i(r)("el.tour.previous")),1)]),_:1},16,["type"])):re("v-if",!0),i(l)<=i(u)-1?(E(),le(i(Bn),pt({key:1,size:"small",type:i(f)==="primary"?"default":"primary"},S(e.nextButtonProps),{onClick:x}),{default:ne(()=>[wt(Ce(e.nextButtonProps?.children??(i(l)===i(u)-1?i(r)("el.tour.finish"):i(r)("el.tour.next"))),1)]),_:1},16,["type"])):re("v-if",!0)],2)],2)],64))}}),Yx=lZ;const iZ=st(rZ,{TourStep:Yx}),uZ=ln(Yx),cZ=Ee({container:{type:G([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:G(String),default:"default"},direction:{type:G(String),default:"vertical"},selectScrollTop:Boolean}),dZ={change:e=>Ae(e),click:(e,t)=>e instanceof MouseEvent&&(Ae(t)||Rt(t))},mc=e=>{if(!Lt||e==="")return null;if(Ae(e))try{return document.querySelector(e)}catch{return null}return e};function fZ(e){let t=0;const n=(...a)=>{t&&co(t),t=Oa(()=>{e(...a),t=0})};return n.cancel=()=>{co(t),t=0},n}const Gx=Symbol("anchor");var pZ=se({name:"ElAnchor",__name:"anchor",props:cZ,emits:dZ,setup(e,{expose:t,emit:n}){const a=e,o=n,r=wn(),s=M(""),l=M({}),u=M(null),c=M(null),d=M(),f={};let p=!1,g=0;const h=ge("anchor"),v=C(()=>[h.b(),a.type==="underline"?h.m("underline"):"",h.m(a.direction)]),m=$=>{f[$.href]=$.el},b=$=>{delete f[$]},w=$=>{s.value!==$&&(s.value=$,o(yt,$))};let y=null,S="";const k=$=>{if(!d.value)return;const B=mc($);if(!B)return;if(y){if(S===$)return;y()}S=$,p=!0;const K=cy(B,d.value),j=qh(B,K),W=K.scrollHeight-K.clientHeight,A=Math.min(j-a.offset,W);y=$8(d.value,g,A,a.duration,()=>{setTimeout(()=>{p=!1,S=""},20)})},x=$=>{$&&(w($),k($))},O=($,B)=>{o("click",$,B),x(B)},T=fZ(()=>{d.value&&(g=dy(d.value));const $=I();p||Rt($)||w($)}),I=()=>{if(!d.value)return;const $=dy(d.value),B=[];for(const K of Object.keys(f)){const j=mc(K);if(!j)continue;const W=qh(j,cy(j,d.value));B.push({top:W-a.offset-a.bound,href:K})}B.sort((K,j)=>K.top-j.top);for(let K=0;K<B.length;K++){const j=B[K],W=B[K+1];if(K===0&&$===0)return a.selectScrollTop?j.href:"";if(j.top<=$&&(!W||W.top>$))return j.href}},_=()=>{const $=mc(a.container);!$||Eu($)?d.value=window:d.value=$};Bt(d,"scroll",T);const N=()=>{Ne(()=>{if(!u.value||!c.value||!s.value){l.value={};return}const $=f[s.value];if(!$){l.value={};return}const B=u.value.getBoundingClientRect(),K=c.value.getBoundingClientRect(),j=$.getBoundingClientRect();a.direction==="horizontal"?l.value={left:`${j.left-B.left}px`,width:`${j.width}px`,opacity:1}:l.value={top:`${j.top-B.top+(j.height-K.height)/2}px`,opacity:1}})};return pe(s,N),pe(()=>r.default?.(),N),ht(()=>{_();const $=decodeURIComponent(window.location.hash);mc($)?x($):T()}),pe(()=>a.container,()=>{_()}),St(Gx,{ns:h,direction:a.direction,currentAnchor:s,addLink:m,removeLink:b,handleClick:O}),t({scrollTo:x}),($,B)=>(E(),D("div",{ref_key:"anchorRef",ref:u,class:R(v.value)},[e.marker?(E(),D("div",{key:0,ref_key:"markerRef",ref:c,class:R(i(h).e("marker")),style:ze(l.value)},null,6)):re("v-if",!0),z("div",{class:R(i(h).e("list"))},[oe($.$slots,"default")],2)],2))}}),hZ=pZ;const vZ=Ee({title:String,href:String}),mZ=["href"];var gZ=se({name:"ElAnchorLink",__name:"anchor-link",props:vZ,setup(e){const t=e,n=M(null),{ns:a,direction:o,currentAnchor:r,addLink:s,removeLink:l,handleClick:u}=$e(Gx),c=C(()=>[a.e("link"),a.is("active",r.value===t.href)]),d=f=>{u(f,t.href)};return pe(()=>t.href,(f,p)=>{Ne(()=>{p&&l(p),f&&s({href:f,el:n.value})})}),ht(()=>{const{href:f}=t;f&&s({href:f,el:n.value})}),Vt(()=>{const{href:f}=t;f&&l(f)}),(f,p)=>(E(),D("div",{class:R(i(a).e("item"))},[z("a",{ref_key:"linkRef",ref:n,class:R(c.value),href:e.href,onClick:d},[oe(f.$slots,"default",{},()=>[wt(Ce(e.title),1)])],10,mZ),f.$slots["sub-link"]&&i(o)==="vertical"?(E(),D("div",{key:0,class:R(i(a).e("list"))},[oe(f.$slots,"sub-link")],2)):re("v-if",!0)],2))}}),Xx=gZ;const bZ=st(hZ,{AnchorLink:Xx}),yZ=ln(Xx),Jx={label:"label",value:"value",disabled:"disabled"},wZ=Ee({direction:{type:G(String),default:"horizontal"},options:{type:G(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:G(Object),default:()=>Jx},block:Boolean,size:Nn,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...ia(["ariaLabel"])}),SZ={[at]:e=>Ae(e)||Be(e)||Wt(e),[yt]:e=>Ae(e)||Be(e)||Wt(e)},CZ=["id","aria-label","aria-labelledby"],kZ=["name","disabled","checked","onChange"];var EZ=se({name:"ElSegmented",__name:"segmented",props:wZ,emits:SZ,setup(e,{emit:t}){const n=e,a=t,o=ge("segmented"),r=Gn(),s=In(),l=un(),{formItem:u}=Fn(),{inputId:c,isLabeledByFormItem:d}=_a(n,{formItemContext:u}),f=M(null),p=f8(),g=Dt({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),h=(N,$)=>{const B=m($);a(at,B),a(yt,B),N.target.checked=B===n.modelValue},v=C(()=>({...Jx,...n.props})),m=N=>ot(N)?N[v.value.value]:N,b=N=>ot(N)?N[v.value.label]:N,w=N=>!!(l.value||ot(N)&&N[v.value.disabled]),y=N=>n.modelValue===m(N),S=N=>n.options.find($=>m($)===N),k=N=>[o.e("item"),o.is("selected",y(N)),o.is("disabled",w(N))],x=()=>{if(!f.value)return;const N=f.value.querySelector(".is-selected"),$=f.value.querySelector(".is-selected input");if(!N||!$){g.width=0,g.height=0,g.translateX=0,g.translateY=0,g.focusVisible=!1;return}g.isInit=!0,n.direction==="vertical"?(g.height=N.offsetHeight,g.translateY=N.offsetTop):(g.width=N.offsetWidth,g.translateX=N.offsetLeft);try{g.focusVisible=$.matches(":focus-visible")}catch{}},O=C(()=>[o.b(),o.m(s.value),o.is("block",n.block)]),T=C(()=>({width:n.direction==="vertical"?"100%":`${g.width}px`,height:n.direction==="vertical"?`${g.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${g.translateY}px)`:`translateX(${g.translateX}px)`,display:g.isInit?"block":"none"})),I=C(()=>[o.e("item-selected"),o.is("disabled",w(S(n.modelValue))),o.is("focus-visible",g.focusVisible)]),_=C(()=>n.name||r.value);return an(f,x),pe(p,x),pe(()=>n.options,x,{deep:!0,flush:"post"}),pe(()=>n.modelValue,()=>{x(),n.validateEvent&&u?.validate?.("change").catch(ut)},{flush:"post"}),(N,$)=>e.options.length?(E(),D("div",{key:0,id:i(c),ref_key:"segmentedRef",ref:f,class:R(O.value),role:"radiogroup","aria-label":i(d)?void 0:e.ariaLabel||"segmented","aria-labelledby":i(d)?i(u).labelId:void 0},[z("div",{class:R([i(o).e("group"),i(o).m(e.direction)])},[z("div",{style:ze(T.value),class:R(I.value)},null,6),(E(!0),D(Ve,null,kt(e.options,(B,K)=>(E(),D("label",{key:K,class:R(k(B))},[z("input",{class:R(i(o).e("item-input")),type:"radio",name:_.value,disabled:w(B),checked:y(B),onChange:j=>h(j,B)},null,42,kZ),z("div",{class:R(i(o).e("item-label"))},[oe(N.$slots,"default",{item:B},()=>[wt(Ce(b(B)),1)])],2)],2))),128))],2)],10,CZ)):re("v-if",!0)}}),xZ=EZ;const TZ=st(xZ),OZ=(e,t)=>{const n=e.toLowerCase();return(t.label||t.value||"").toLowerCase().includes(n)},_Z=(e,t,n)=>{const{selectionEnd:a}=e;if(a===null)return;const o=e.value,r=Dn(t);let s=-1,l;for(let u=a-1;u>=0;--u){const c=o[u];if(s===-1&&(c===n||c===` +`||c==="\r")){s=u;continue}if(r.includes(c)){const d=s===-1?a:s;l={pattern:o.slice(u+1,d),start:u+1,end:d,prefix:c,prefixIndex:u,splitIndex:s,selectionEnd:a};break}}return l},RZ=(e,t={debug:!1,useSelectionEnd:!1})=>{const n=e.selectionStart!==null?e.selectionStart:0,a=e.selectionEnd!==null?e.selectionEnd:0,o=t.useSelectionEnd?a:n,r=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];if(t.debug){const p=document.querySelector("#input-textarea-caret-position-mirror-div");p?.parentNode&&p.parentNode.removeChild(p)}const s=document.createElement("div");s.id="input-textarea-caret-position-mirror-div",document.body.appendChild(s);const l=s.style,u=window.getComputedStyle(e),c=e.nodeName==="INPUT";l.whiteSpace=c?"nowrap":"pre-wrap",c||(l.wordWrap="break-word"),l.position="absolute",t.debug||(l.visibility="hidden"),r.forEach(p=>{if(c&&p==="lineHeight")if(u.boxSizing==="border-box"){const g=Number.parseInt(u.height),h=Number.parseInt(u.paddingTop)+Number.parseInt(u.paddingBottom)+Number.parseInt(u.borderTopWidth)+Number.parseInt(u.borderBottomWidth),v=h+Number.parseInt(u.lineHeight);g>v?l.lineHeight=`${g-h}px`:g===v?l.lineHeight=u.lineHeight:l.lineHeight="0"}else l.lineHeight=u.height;else l[p]=u[p]}),af()?e.scrollHeight>Number.parseInt(u.height)&&(l.overflowY="scroll"):l.overflow="hidden",s.textContent=e.value.slice(0,Math.max(0,o)),c&&s.textContent&&(s.textContent=s.textContent.replace(/\s/g," "));const d=document.createElement("span");d.textContent=e.value.slice(Math.max(0,o))||".",d.style.position="relative",d.style.left=`${-e.scrollLeft}px`,d.style.top=`${-e.scrollTop}px`,s.appendChild(d);const f={top:d.offsetTop+Number.parseInt(u.borderTopWidth),left:d.offsetLeft+Number.parseInt(u.borderLeftWidth),height:Number.parseInt(u.fontSize)*1.5};return t.debug?d.style.backgroundColor="#aaa":document.body.removeChild(s),f.left>=e.clientWidth&&(f.left=e.clientWidth),f},IZ=Ee({...Mm,options:{type:G(Array),default:()=>[]},prefix:{type:G([String,Array]),default:"@",validator:e=>Ae(e)?e.length===1:e.every(t=>Ae(t)&&t.length===1)},split:{type:String,default:" ",validator:e=>e.length===1},filterOption:{type:G([Boolean,Function]),default:()=>OZ,validator:e=>e===!1?!0:Fe(e)},placement:{type:G(String),default:"bottom"},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:G(Function)},modelValue:String,loading:Boolean,popperClass:Kt.popperClass,popperStyle:Kt.popperStyle,popperOptions:{type:G(Object),default:()=>({})},props:{type:G(Object),default:()=>Zx}}),$Z={[at]:e=>Ae(e),"whole-remove":(e,t)=>Ae(e)&&Ae(t),input:e=>Ae(e),search:(e,t)=>Ae(e)&&Ae(t),select:(e,t)=>ot(e)&&Ae(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},Zx={value:"value",label:"label",disabled:"disabled"},NZ=Ee({options:{type:G(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),MZ={select:e=>Ae(e.value)},PZ=["id","aria-disabled","aria-selected","onMousemove","onClick"];var AZ=se({name:"ElMentionDropdown",__name:"mention-dropdown",props:NZ,emits:MZ,setup(e,{expose:t,emit:n}){const a=e,o=n,r=ge("mention"),{t:s}=xt(),l=M(-1),u=M(),c=M(),d=M(),f=(S,k)=>[r.be("dropdown","item"),r.is("hovering",l.value===k),r.is("disabled",S.disabled||a.disabled)],p=S=>{S.disabled||a.disabled||o("select",S)},g=S=>{l.value=S},h=C(()=>a.disabled||a.options.every(S=>S.disabled)),v=C(()=>a.options[l.value]),m=()=>{!v.value||v.value.disabled||a.disabled||o("select",v.value)},b=S=>{const{options:k}=a;if(k.length===0||h.value)return;S==="next"?(l.value++,l.value===k.length&&(l.value=0)):S==="prev"&&(l.value--,l.value<0&&(l.value=k.length-1));const x=k[l.value];if(x.disabled){b(S);return}Ne(()=>w(x))},w=S=>{const{options:k}=a,x=k.findIndex(T=>T.value===S.value),O=c.value?.[x];if(O){const T=d.value?.querySelector?.(`.${r.be("dropdown","wrap")}`);T&&cm(T,O)}u.value?.handleScroll()};return pe(()=>a.options,()=>{h.value||a.options.length===0?l.value=-1:l.value=a.options.findIndex(S=>!S.disabled)},{immediate:!0}),t({hoveringIndex:l,navigateOptions:b,selectHoverOption:m,hoverOption:v}),(S,k)=>(E(),D("div",{ref_key:"dropdownRef",ref:d,class:R(i(r).b("dropdown"))},[S.$slots.header?(E(),D("div",{key:0,class:R(i(r).be("dropdown","header"))},[oe(S.$slots,"header")],2)):re("v-if",!0),ct(X(i(vo),{id:e.contentId,ref_key:"scrollbarRef",ref:u,tag:"ul","wrap-class":i(r).be("dropdown","wrap"),"view-class":i(r).be("dropdown","list"),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:ne(()=>[(E(!0),D(Ve,null,kt(e.options,(x,O)=>(E(),D("li",{id:`${e.contentId}-${O}`,ref_for:!0,ref_key:"optionRefs",ref:c,key:O,class:R(f(x,O)),role:"option","aria-disabled":x.disabled||e.disabled||void 0,"aria-selected":l.value===O,onMousemove:T=>g(O),onClick:Xe(T=>p(x),["stop"])},[oe(S.$slots,"label",{item:x,index:O},()=>[z("span",null,Ce(x.label??x.value),1)])],42,PZ))),128))]),_:3},8,["id","wrap-class","view-class","aria-label"]),[[$t,e.options.length>0&&!e.loading]]),e.loading?(E(),D("div",{key:1,class:R(i(r).be("dropdown","loading"))},[oe(S.$slots,"loading",{},()=>[wt(Ce(i(s)("el.mention.loading")),1)])],2)):re("v-if",!0),S.$slots.footer?(E(),D("div",{key:2,class:R(i(r).be("dropdown","footer"))},[oe(S.$slots,"footer")],2)):re("v-if",!0)],2))}}),LZ=AZ,DZ=se({name:"ElMention",inheritAttrs:!1,__name:"mention",props:IZ,emits:$Z,setup(e,{expose:t,emit:n}){const a=e,o=n,r=C(()=>{const A=Un.props??[];return hr(a,we(A)?A:Object.keys(A))}),s=ge("mention"),l=un(),u=Gn(),c=M(),d=M(),f=M(),p=M(!1),g=M(),h=M(),v=C(()=>a.showArrow?a.placement:`${a.placement}-start`),m=C(()=>a.showArrow?["bottom","top"]:["bottom-start","top-start"]),b=C(()=>({...Zx,...a.props})),w=A=>{const P={label:A[b.value.label],value:A[b.value.value],disabled:A[b.value.disabled]};return{...A,...P}},y=C(()=>a.options.map(w)),S=C(()=>{const{filterOption:A}=a;return!h.value||!A?y.value:y.value.filter(P=>A(h.value.pattern,P))}),k=C(()=>p.value&&(!!S.value.length||a.loading)),x=C(()=>`${u.value}-${f.value?.hoveringIndex}`),O=A=>{o(at,A),o(Tn,A),K()},T=A=>{if(c.value?.isComposing)return;const P=qt(A);switch(P){case Se.left:case Se.right:K();break;case Se.up:case Se.down:if(!p.value)return;A.preventDefault(),f.value?.navigateOptions(P===Se.up?"prev":"next");break;case Se.enter:case Se.numpadEnter:if(!p.value){a.type!=="textarea"&&K();return}A.preventDefault(),f.value?.hoverOption?f.value?.selectHoverOption():p.value=!1;break;case Se.esc:if(!p.value)return;A.preventDefault(),p.value=!1;break;case Se.backspace:if(a.whole&&h.value){const{splitIndex:V,selectionEnd:F,pattern:H,prefixIndex:U,prefix:J}=h.value,ee=B();if(!ee)return;const ae=ee.value,ce=y.value.find(Z=>Z.value===H);if((Fe(a.checkIsWhole)?a.checkIsWhole(H,J):ce)&&V!==-1&&V+1===F){A.preventDefault();const Z=ae.slice(0,U)+ae.slice(V+1);o(at,Z),o(Tn,Z),o("whole-remove",H,J);const de=U;Ne(()=>{ee.selectionStart=de,ee.selectionEnd=de,W()})}}}},{wrapperRef:I}=Er(c,{disabled:l,afterFocus(){K()},beforeBlur(A){return d.value?.isFocusInsideContent(A)},afterBlur(){p.value=!1}}),_=()=>{K()},N=A=>a.options.find(P=>A.value===P[b.value.value]),$=A=>{if(!h.value)return;const P=B();if(!P)return;const V=P.value,{split:F}=a,H=V.slice(h.value.end),U=H.startsWith(F),J=`${A.value}${U?"":F}`,ee=V.slice(0,h.value.start)+J+H;o(at,ee),o(Tn,ee),o("select",N(A),h.value.prefix);const ae=h.value.start+J.length+(U?1:0);Ne(()=>{P.selectionStart=ae,P.selectionEnd=ae,P.focus(),W()})},B=()=>a.type==="textarea"?c.value?.textarea:c.value?.input,K=()=>{setTimeout(()=>{j(),W(),Ne(()=>d.value?.updatePopper())},0)},j=()=>{const A=B();if(!A)return;const P=RZ(A),V=A.getBoundingClientRect(),F=I.value.getBoundingClientRect();g.value={position:"absolute",width:0,height:`${P.height}px`,left:`${P.left+V.left-F.left}px`,top:`${P.top+V.top-F.top}px`}},W=()=>{const A=B();if(document.activeElement!==A){p.value=!1;return}const{prefix:P,split:V}=a;if(h.value=_Z(A,P,V),h.value&&h.value.splitIndex===-1){p.value=!0,o("search",h.value.pattern,h.value.prefix);return}p.value=!1};return t({input:c,tooltip:d,dropdownVisible:k}),(A,P)=>(E(),D("div",{ref_key:"wrapperRef",ref:I,class:R(i(s).b())},[X(i(Un),pt(pt(r.value,A.$attrs),{ref_key:"elInputRef",ref:c,"model-value":e.modelValue,disabled:i(l),role:k.value?"combobox":void 0,"aria-activedescendant":k.value?x.value||"":void 0,"aria-controls":k.value?i(u):void 0,"aria-expanded":k.value||void 0,"aria-label":e.ariaLabel,"aria-autocomplete":k.value?"none":void 0,"aria-haspopup":k.value?"listbox":void 0,onInput:O,onKeydown:T,onMousedown:_}),ma({_:2},[kt(A.$slots,(V,F)=>({name:F,fn:ne(H=>[oe(A.$slots,F,sr(ir(H)))])}))]),1040,["model-value","disabled","role","aria-activedescendant","aria-controls","aria-expanded","aria-label","aria-autocomplete","aria-haspopup"]),X(i(Wn),{ref_key:"tooltipRef",ref:d,visible:k.value,"popper-class":[i(s).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,placement:v.value,"fallback-placements":m.value,effect:"light",pure:"",offset:e.offset,"show-arrow":e.showArrow},{default:ne(()=>[z("div",{style:ze(g.value)},null,4)]),content:ne(()=>[X(LZ,{ref_key:"dropdownRef",ref:f,options:S.value,disabled:i(l),loading:e.loading,"content-id":i(u),"aria-label":e.ariaLabel,onSelect:$,onClick:P[0]||(P[0]=Xe(V=>c.value?.focus(),["stop"]))},ma({_:2},[kt(A.$slots,(V,F)=>({name:F,fn:ne(H=>[oe(A.$slots,F,sr(ir(H)))])}))]),1032,["options","disabled","loading","content-id","aria-label"])]),_:3},8,["visible","popper-class","popper-style","popper-options","placement","fallback-placements","offset","show-arrow"])],2))}}),BZ=DZ;const VZ=st(BZ),FZ=Ee({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),zZ={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},HZ=Ee({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),KZ={"update:size":e=>typeof e=="number"||typeof e=="string"};function WZ(e){const t=M(),{width:n,height:a}=ih(t);return{containerEl:t,containerSize:C(()=>e.value==="horizontal"?n.value:a.value)}}function xg(e){return Number(e.slice(0,-1))/100}function Tg(e){return Number(e.slice(0,-2))}function Og(e){return Ae(e)&&e.endsWith("%")}function _g(e){return Ae(e)&&e.endsWith("px")}function jZ(e,t){const n=C(()=>e.value.map(s=>s.size)),a=C(()=>e.value.length),o=M([]);pe([n,a,t],()=>{let s=[],l=0;for(let c=0;c<a.value;c+=1){const d=e.value[c]?.size;if(Og(d))s[c]=xg(d);else if(_g(d))s[c]=Tg(d)/t.value;else if(d||d===0){const f=Number(d);Number.isNaN(f)||(s[c]=f/t.value)}else l+=1,s[c]=void 0}const u=s.reduce((c,d)=>c+(d||0),0);if(u>1||!l){const c=1/u;s=s.map(d=>d===void 0?0:d*c)}else{const c=(1-u)/l;s=s.map(d=>d===void 0?c:d)}o.value=s});const r=s=>s*t.value;return{percentSizes:o,pxSizes:C(()=>o.value.map(r))}}function UZ(e,t,n,a){const o=m=>m*t.value||0;function r(m,b){return Og(m)?o(xg(m)):_g(m)?Tg(m):m??b}const s=M(0),l=M(null);let u=[],c=ut;const d=C(()=>e.value.map(m=>[m.min,m.max]));pe(a,()=>{if(s.value){const m=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(m)}});const f=m=>{s.value=0,l.value={index:m,confirmed:!1},u=n.value},p=(m,b)=>{let w=null;if((!l.value||!l.value.confirmed)&&b!==0){if(b>0)w=m,l.value={index:m,confirmed:!0};else for(let N=m;N>=0;N-=1)if(u[N]>0){w=N,l.value={index:N,confirmed:!0};break}}const y=w??l.value?.index??m,S=[...u],k=y+1,x=r(d.value[y][0],0),O=r(d.value[k][0],0),T=r(d.value[y][1],t.value||0),I=r(d.value[k][1],t.value||0);let _=b;S[y]+_<x&&(_=x-S[y]),S[k]-_<O&&(_=S[k]-O),S[y]+_>T&&(_=T-S[y]),S[k]-_>I&&(_=S[k]-I),S[y]+=_,S[k]-=_,s.value=_,c=()=>{e.value.forEach((N,$)=>{N.size=S[$]}),c=ut},a.value||c()},g=()=>{a.value&&c(),s.value=0,l.value=null,u=[]},h=[];return{lazyOffset:s,onMoveStart:f,onMoving:p,onMoveEnd:g,movingIndex:l,onCollapse:(m,b)=>{h.length||h.push(...n.value.map((O,T)=>O<=0?r(d.value[T]?.[0],0):O));const w=n.value,y=b==="start"?m:m+1,S=b==="start"?m+1:m,k=w[y],x=w[S];if(k!==0&&x!==0)w[y]=0,w[S]+=k,h[m]=k;else{const O=k+x,T=Ma(h[m],0,O),I=O-T;w[S]=T,w[y]=I}e.value.forEach((O,T)=>{O.size=w[T]})}}}const Qx=Symbol("splitterRootContextKey");var qZ=se({name:"ElSplitter",__name:"splitter",props:FZ,emits:zZ,setup(e,{emit:t}){const n=ge("splitter"),a=t,o=e,r=Ht(o,"layout"),s=Ht(o,"lazy"),{containerEl:l,containerSize:u}=WZ(r),{removeChild:c,children:d,addChild:f,ChildrenSorter:p}=df(dt(),"ElSplitterPanel");pe(d,()=>{m.value=null,d.value.forEach((_,N)=>{_.setIndex(N)})});const{percentSizes:g,pxSizes:h}=jZ(d,u),{lazyOffset:v,movingIndex:m,onMoveStart:b,onMoving:w,onMoveEnd:y,onCollapse:S}=UZ(d,u,h,s),k=C(()=>({[n.cssVarBlockName("bar-offset")]:s.value?`${v.value}px`:void 0}));return St(Qx,Dt({panels:d,percentSizes:g,pxSizes:h,layout:r,lazy:s,movingIndex:m,containerSize:u,onMoveStart:_=>{b(_),a("resizeStart",_,h.value)},onMoving:(_,N)=>{w(_,N),s.value||a("resize",_,h.value)},onMoveEnd:async _=>{y(),await Ne(),a("resizeEnd",_,h.value)},onCollapse:(_,N)=>{S(_,N),a("collapse",_,N,h.value)},registerPanel:f,unregisterPanel:c})),(_,N)=>(E(),D("div",{ref_key:"containerEl",ref:l,class:R([i(n).b(),i(n).e(r.value)]),style:ze(k.value)},[oe(_.$slots,"default"),X(i(p)),re(" Prevent iframe touch events from breaking "),i(m)?(E(),D("div",{key:0,class:R([i(n).e("mask"),i(n).e(`mask-${r.value}`)])},null,2)):re("v-if",!0)],6))}}),YZ=qZ;function GZ(e){return e&&ot(e)?e:{start:!!e,end:!!e}}function y1(e,t,n,a){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&a===0&&t>0)}var XZ=se({name:"ElSplitterBar",__name:"split-bar",props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=ge("splitter-bar"),a=e,o=t,r=C(()=>a.layout==="horizontal"),s=C(()=>r.value?{width:0}:{height:0}),l=C(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:a.resizable?r.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),u=C(()=>{const w=n.e("dragger");return{[`${w}-horizontal`]:r.value,[`${w}-vertical`]:!r.value,[`${w}-active`]:!!c.value}}),c=M(null),d=w=>{a.resizable&&(c.value=[w.pageX,w.pageY],o("moveStart",a.index),window.addEventListener("mouseup",h),window.addEventListener("mousemove",p))},f=w=>{if(a.resizable&&w.touches.length===1){w.preventDefault();const y=w.touches[0];c.value=[y.pageX,y.pageY],o("moveStart",a.index),window.addEventListener("touchend",v),window.addEventListener("touchmove",g)}},p=w=>{const{pageX:y,pageY:S}=w,k=y-c.value[0],x=S-c.value[1],O=r.value?k:x;o("moving",a.index,O)},g=w=>{if(w.touches.length===1){w.preventDefault();const y=w.touches[0],S=y.pageX-c.value[0],k=y.pageY-c.value[1],x=r.value?S:k;o("moving",a.index,x)}},h=()=>{c.value=null,window.removeEventListener("mouseup",h),window.removeEventListener("mousemove",p),o("moveEnd",a.index)},v=()=>{c.value=null,window.removeEventListener("touchend",v),window.removeEventListener("touchmove",g),o("moveEnd",a.index)},m=C(()=>r.value?mr:ff),b=C(()=>r.value?sa:qo);return(w,y)=>(E(),D("div",{class:R([i(n).b()]),style:ze(s.value)},[e.startCollapsible?(E(),D("div",{key:0,class:R([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-start`)]),onClick:y[0]||(y[0]=S=>o("collapse",e.index,"start"))},[oe(w.$slots,"start-collapsible",{},()=>[(E(),le(it(m.value),{style:{width:"12px",height:"12px"}}))])],2)):re("v-if",!0),z("div",{class:R([i(n).e("dragger"),u.value,i(n).is("disabled",!e.resizable),i(n).is("lazy",e.resizable&&e.lazy)]),style:ze(l.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(E(),D("div",{key:1,class:R([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-end`)]),onClick:y[1]||(y[1]=S=>o("collapse",e.index,"end"))},[oe(w.$slots,"end-collapsible",{},()=>[(E(),le(it(b.value),{style:{width:"12px",height:"12px"}}))])],2)):re("v-if",!0)],6))}}),JZ=XZ;const w1="ElSplitterPanel";var ZZ=se({name:w1,__name:"split-panel",props:HZ,emits:KZ,setup(e,{expose:t,emit:n}){const a=ge("splitter-panel"),o=e,r=n,s=$e(Qx);s||sn(w1,"usage: <el-splitter><el-splitter-panel /></el-splitter/>");const{panels:l,layout:u,lazy:c,containerSize:d,pxSizes:f}=Pn(s),{registerPanel:p,unregisterPanel:g,onCollapse:h,onMoveEnd:v,onMoveStart:m,onMoving:b}=s,w=M(),y=dt(),S=y.uid,k=M(0),x=C(()=>l.value[k.value]),O=P=>{k.value=P},T=C(()=>x.value?f.value[k.value]??0:0),I=C(()=>x.value?f.value[k.value+1]??0:0),_=C(()=>x.value?l.value[k.value+1]:null),N=C(()=>_.value?o.resizable&&_.value?.resizable&&(T.value!==0||!o.min)&&(I.value!==0||!_.value.min):!1),$=C(()=>x.value?k.value!==l.value.length-1:!1),B=C(()=>y1(x.value,T.value,_.value,I.value)),K=C(()=>y1(_.value,I.value,x.value,T.value));function j(P){return Og(P)?xg(P)*d.value||0:_g(P)?Tg(P):P??0}let W=!1;pe(()=>o.size,()=>{if(!W&&x.value){if(!d.value){x.value.size=o.size;return}const P=j(o.size),V=j(o.max),F=j(o.min),H=Math.min(Math.max(P,F||0),V||P);H!==P&&r("update:size",H),x.value.size=H}}),pe(()=>x.value?.size,P=>{P!==o.size&&(W=!0,r("update:size",P),Ne(()=>W=!1))}),pe(()=>o.resizable,P=>{x.value&&(x.value.resizable=P)});const A=Dt({uid:S,getVnode:()=>y.vnode,setIndex:O,...o,collapsible:C(()=>GZ(o.collapsible))});return p(A),Vt(()=>g(A)),t({splitterPanelRef:w}),(P,V)=>(E(),D(Ve,null,[z("div",pt({ref_key:"panelEl",ref:w,class:[i(a).b()],style:{flexBasis:`${T.value}px`}},P.$attrs),[oe(P.$slots,"default")],16),$.value?(E(),le(JZ,{key:0,index:k.value,layout:i(u),lazy:i(c),resizable:N.value,"start-collapsible":B.value,"end-collapsible":K.value,onMoveStart:i(m),onMoving:i(b),onMoveEnd:i(v),onCollapse:i(h)},{"start-collapsible":ne(()=>[oe(P.$slots,"start-collapsible")]),"end-collapsible":ne(()=>[oe(P.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):re("v-if",!0)],64))}}),eT=ZZ;const QZ=st(YZ,{SplitPanel:eT}),eQ=ln(eT),oo="ElInfiniteScroll",tQ={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Rg=(e,t)=>Object.entries(tQ).reduce((n,[a,o])=>{const{type:r,default:s}=o,l=e.getAttribute(`infinite-scroll-${a}`);let u=t[l]??l??s;return u=u==="false"?!1:u,u=r(u),n[a]=Number.isNaN(u)?s:u,n},{}),tT=e=>{const{observer:t}=e[oo];t&&(t.disconnect(),delete e[oo].observer)},nQ=(e,t)=>{const{container:n,containerEl:a,instance:o,observer:r,lastScrollTop:s}=e[oo],{disabled:l,distance:u}=Rg(e,o),{clientHeight:c,scrollHeight:d,scrollTop:f}=a,p=f-s;if(e[oo].lastScrollTop=f,r||l||p<0)return;let g=!1;if(n===e)g=d-(c+f)<=u;else{const{clientTop:h,scrollHeight:v}=e,m=qh(e,a);g=f+c>=m+h+v-u}g&&t.call(o)};function Ip(e,t){const{containerEl:n,instance:a}=e[oo],{disabled:o}=Rg(e,a);o||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(a):tT(e))}const aQ={async mounted(e,t){const{instance:n,value:a}=t;Po({scope:oo,from:"the directive v-infinite-scroll",replacement:"the el-scrollbar infinite scroll",version:"3.0.0",ref:"https://element-plus.org/en-US/component/scrollbar#infinite-scroll"},!0),Fe(a)||sn(oo,"'v-infinite-scroll' binding value must be a function"),await Ne();const{delay:o,immediate:r}=Rg(e,n),s=um(e,!0),l=s===window?document.documentElement:s,u=Fr(nQ.bind(null,e,a),o);if(s){if(e[oo]={instance:n,container:s,containerEl:l,delay:o,cb:a,onScroll:u,lastScrollTop:l.scrollTop},r){const c=new MutationObserver(Fr(Ip.bind(null,e,a),50));e[oo].observer=c,c.observe(e,{childList:!0,subtree:!0}),Ip(e,a)}s.addEventListener("scroll",u)}},unmounted(e){if(!e.ElInfiniteScroll)return;const{container:t,onScroll:n}=e[oo];t?.removeEventListener("scroll",n),tT(e)},async updated(e){if(!e.ElInfiniteScroll)await Ne();else{const{containerEl:t,cb:n,observer:a}=e[oo];t.clientHeight&&a&&Ip(e,n)}}},iv=aQ;iv.install=e=>{e.directive("InfiniteScroll",iv)};const oQ=iv;function rQ(e,t){let n;const a=M(!1),o=Dt({...e,originalPosition:"",originalOverflow:"",visible:!1});function r(p){o.text=p}function s(){const p=o.parent,g=f.ns;if(!p.vLoadingAddClassList){let h=p.getAttribute("loading-number");h=Number.parseInt(h)-1,h?p.setAttribute("loading-number",h.toString()):(ra(p,g.bm("parent","relative")),p.removeAttribute("loading-number")),ra(p,g.bm("parent","hidden"))}l(),d.unmount()}function l(){f.$el?.parentNode?.removeChild(f.$el)}function u(){e.beforeClose&&!e.beforeClose()||(a.value=!0,clearTimeout(n),n=setTimeout(c,400),o.visible=!1,e.closed?.())}function c(){if(!a.value)return;const p=o.parent;a.value=!1,p.vLoadingAddClassList=void 0,s()}const d=P2(se({name:"ElLoading",setup(p,{expose:g}){const{ns:h,zIndex:v}=mf("loading");return g({ns:h,zIndex:v}),()=>{const m=o.spinner||o.svg,b=qe("svg",{class:"circular",viewBox:o.svgViewBox?o.svgViewBox:"0 0 50 50",...m?{innerHTML:m}:{}},[qe("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),w=o.text?qe("p",{class:h.b("text")},[o.text]):void 0;return qe(Yn,{name:h.b("fade"),onAfterLeave:c},{default:ne(()=>[ct(X("div",{style:{backgroundColor:o.background||""},class:[h.b("mask"),o.customClass,h.is("fullscreen",o.fullscreen)]},[qe("div",{class:h.b("spinner")},[b,w])]),[[$t,o.visible]])])})}}}));Object.assign(d._context,t??{});const f=d.mount(document.createElement("div"));return{...Pn(o),setText:r,removeElLoadingChild:l,close:u,handleAfterLeave:c,vm:f,get $el(){return f.$el}}}let gc;const ml=function(e={},t){if(!Lt)return;const n=sQ(e);if(n.fullscreen&&gc)return gc;const a=rQ({...n,closed:()=>{n.closed?.(),n.fullscreen&&(gc=void 0)}},t??ml._context);lQ(n,n.parent,a),S1(n,n.parent,a),n.parent.vLoadingAddClassList=()=>S1(n,n.parent,a);let o=n.parent.getAttribute("loading-number");return o?o=`${Number.parseInt(o)+1}`:o="1",n.parent.setAttribute("loading-number",o),n.parent.appendChild(a.$el),Ne(()=>a.visible.value=n.visible),n.fullscreen&&(gc=a),a},sQ=e=>{let t;return Ae(e.target)?t=document.querySelector(e.target)??document.body:t=e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||"",visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},lQ=async(e,t,n)=>{const{nextZIndex:a}=n.vm.zIndex||n.vm._.exposed.zIndex,o={};if(e.fullscreen)n.originalPosition.value=or(document.body,"position"),n.originalOverflow.value=or(document.body,"overflow"),o.zIndex=a();else if(e.parent===document.body){n.originalPosition.value=or(document.body,"position"),await Ne();for(const r of["top","left"]){const s=r==="top"?"scrollTop":"scrollLeft";o[r]=`${e.target.getBoundingClientRect()[r]+document.body[s]+document.documentElement[s]-Number.parseInt(or(document.body,`margin-${r}`),10)}px`}for(const r of["height","width"])o[r]=`${e.target.getBoundingClientRect()[r]}px`}else n.originalPosition.value=or(t,"position");for(const[r,s]of Object.entries(o))n.$el.style[r]=s},S1=(e,t,n)=>{const a=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?ra(t,a.bm("parent","relative")):Ua(t,a.bm("parent","relative")),e.fullscreen&&e.lock?Ua(t,a.bm("parent","hidden")):ra(t,a.bm("parent","hidden"))};ml._context=null;const gi=Symbol("ElLoading"),is=e=>`element-loading-${br(e)}`,C1=(e,t)=>{const n=t.instance,a=c=>ot(t.value)?t.value[c]:void 0,o=c=>M(Ae(c)&&n?.[c]||c),r=c=>o(a(c)||e.getAttribute(is(c))),s=a("fullscreen")??t.modifiers.fullscreen,l={text:r("text"),svg:r("svg"),svgViewBox:r("svgViewBox"),spinner:r("spinner"),background:r("background"),customClass:r("customClass"),fullscreen:s,target:a("target")??(s?void 0:e),body:a("body")??t.modifiers.body,lock:a("lock")??t.modifiers.lock},u=ml(l);u._context=Ni._context,e[gi]={options:l,instance:u}},iQ=(e,t)=>{for(const n of Object.keys(e))Gt(e[n])&&(e[n].value=t[n])},Ni={mounted(e,t){t.value&&C1(e,t)},updated(e,t){const n=e[gi];if(!t.value){n?.instance.close(),e[gi]=null;return}n?iQ(n.options,ot(t.value)?t.value:{text:e.getAttribute(is("text")),svg:e.getAttribute(is("svg")),svgViewBox:e.getAttribute(is("svgViewBox")),spinner:e.getAttribute(is("spinner")),background:e.getAttribute(is("background")),customClass:e.getAttribute(is("customClass"))}):C1(e,t)},unmounted(e){e[gi]?.instance.close(),e[gi]=null}};Ni._context=null;const uQ={install(e){ml._context=e._context,Ni._context=e._context,e.directive("loading",Ni),e.config.globalProperties.$loading=ml},directive:Ni,service:ml},nT=["primary","success","info","warning","error"],aT=["top","top-left","top-right","bottom","bottom-left","bottom-right"],Qn=pn({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Lt?document.body:void 0}),cQ=Ee({customClass:{type:String,default:Qn.customClass},dangerouslyUseHTMLString:{type:Boolean,default:Qn.dangerouslyUseHTMLString},duration:{type:Number,default:Qn.duration},icon:{type:Ut,default:Qn.icon},id:{type:String,default:Qn.id},message:{type:G([String,Object,Function]),default:Qn.message},onClose:{type:G(Function),default:Qn.onClose},showClose:{type:Boolean,default:Qn.showClose},type:{type:String,values:nT,default:Qn.type},plain:{type:Boolean,default:Qn.plain},offset:{type:Number,default:Qn.offset},placement:{type:String,values:aT,default:Qn.placement},zIndex:{type:Number,default:Qn.zIndex},grouping:{type:Boolean,default:Qn.grouping},repeatNum:{type:Number,default:Qn.repeatNum}}),dQ={destroy:()=>!0},lo=Ad({}),fQ=e=>(lo[e]||(lo[e]=Ad([])),lo[e]),pQ=(e,t)=>{const n=lo[t]||[],a=n.findIndex(s=>s.id===e),o=n[a];let r;return a>0&&(r=n[a-1]),{current:o,prev:r}},hQ=(e,t)=>{const{prev:n}=pQ(e,t);return n?n.vm.exposed.bottom.value:0},vQ=(e,t,n)=>(lo[n]||[]).findIndex(a=>a.id===e)>0?16:t,mQ=["id"],gQ=["innerHTML"];var bQ=se({name:"ElMessage",__name:"message",props:cQ,emits:dQ,setup(e,{expose:t,emit:n}){const{Close:a}=_m,o=e,r=n,s=M(!1),{ns:l,zIndex:u}=mf("message"),{currentZIndex:c,nextZIndex:d}=u,f=M(),p=M(!1),g=M(0);let h;const v=C(()=>o.type?o.type==="error"?"danger":o.type:"info"),m=C(()=>{const B=o.type;return{[l.bm("icon",B)]:B&&Zr[B]}}),b=C(()=>o.icon||Zr[o.type]||""),w=C(()=>o.placement||"top"),y=C(()=>hQ(o.id,w.value)),S=C(()=>Math.max(vQ(o.id,o.offset,w.value)+y.value,o.offset)),k=C(()=>g.value+S.value),x=C(()=>w.value.includes("left")?l.is("left"):w.value.includes("right")?l.is("right"):l.is("center")),O=C(()=>w.value.startsWith("top")?"top":"bottom"),T=C(()=>({[O.value]:`${S.value}px`,zIndex:c.value}));function I(){o.duration!==0&&({stop:h}=kl(()=>{N()},o.duration))}function _(){h?.()}function N(){p.value=!1,Ne(()=>{s.value||(o.onClose?.(),r("destroy"))})}function $(B){qt(B)===Se.esc&&N()}return ht(()=>{I(),d(),p.value=!0}),pe(()=>o.repeatNum,()=>{_(),I()}),Bt(document,"keydown",$),an(f,()=>{g.value=f.value.getBoundingClientRect().height}),t({visible:p,bottom:k,close:N}),(B,K)=>(E(),le(Yn,{name:i(l).b("fade"),onBeforeEnter:K[0]||(K[0]=j=>s.value=!0),onBeforeLeave:e.onClose,onAfterLeave:K[1]||(K[1]=j=>B.$emit("destroy")),persisted:""},{default:ne(()=>[ct(z("div",{id:e.id,ref_key:"messageRef",ref:f,class:R([i(l).b(),{[i(l).m(e.type)]:e.type},i(l).is("closable",e.showClose),i(l).is("plain",e.plain),i(l).is("bottom",O.value==="bottom"),x.value,e.customClass]),style:ze(T.value),role:"alert",onMouseenter:_,onMouseleave:I},[e.repeatNum>1?(E(),le(i(jC),{key:0,value:e.repeatNum,type:v.value,class:R(i(l).e("badge"))},null,8,["value","type","class"])):re("v-if",!0),b.value?(E(),le(i(De),{key:1,class:R([i(l).e("icon"),m.value])},{default:ne(()=>[(E(),le(it(b.value)))]),_:1},8,["class"])):re("v-if",!0),!e.dangerouslyUseHTMLString||B.$slots.default?(E(),D("p",{key:2,class:R(i(l).e("content"))},[oe(B.$slots,"default",{},()=>[wt(Ce(e.message),1)])],2)):(E(),D(Ve,{key:3},[re(" Caution here, message could've been compromised, never use user's input as message "),z("p",{class:R(i(l).e("content")),innerHTML:e.message},null,10,gQ)],2112)),e.showClose?(E(),le(i(De),{key:4,class:R(i(l).e("closeBtn")),onClick:Xe(N,["stop"])},{default:ne(()=>[X(i(a))]),_:1},8,["class"])):re("v-if",!0)],46,mQ),[[$t,p.value]])]),_:3},8,["name","onBeforeLeave"]))}}),yQ=bQ;let wQ=1;const SQ=e=>{if(!e.appendTo)e.appendTo=document.body;else if(Ae(e.appendTo)){let t=document.querySelector(e.appendTo);ka(t)||(jt("ElMessage","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body),e.appendTo=t}},CQ=e=>{!e.placement&&Ae(ea.placement)&&ea.placement&&(e.placement=ea.placement),e.placement||(e.placement="top"),aT.includes(e.placement)||(jt("ElMessage",`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement="top")},oT=e=>{const t=!e||Ae(e)||Zt(e)||Fe(e)?{message:e}:e,n={...Qn,...t};return SQ(n),CQ(n),Wt(ea.grouping)&&!n.grouping&&(n.grouping=ea.grouping),Be(ea.duration)&&n.duration===3e3&&(n.duration=ea.duration),Be(ea.offset)&&n.offset===16&&(n.offset=ea.offset),Wt(ea.showClose)&&!n.showClose&&(n.showClose=ea.showClose),Wt(ea.plain)&&!n.plain&&(n.plain=ea.plain),n},kQ=e=>{const t=lo[e.props.placement||"top"],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);const{handler:a}=e;a.close()},EQ=({appendTo:e,...t},n)=>{const a=`message_${wQ++}`,o=t.onClose,r=document.createElement("div"),s={...t,id:a,onClose:()=>{o?.(),kQ(c)},onDestroy:()=>{Yr(null,r)}},l=X(yQ,s,Fe(s.message)||Zt(s.message)?{default:Fe(s.message)?s.message:()=>s.message}:null);l.appContext=n||As._context,Yr(l,r),e.appendChild(r.firstElementChild);const u=l.component,c={id:a,vnode:l,vm:u,handler:{close:()=>{u.exposed.close()}},props:l.component.props};return c},As=(e={},t)=>{if(!Lt)return{close:()=>{}};const n=oT(e),a=fQ(n.placement||"top");if(n.grouping&&a.length){const r=a.find(({vnode:s})=>s.props?.message===n.message);if(r)return r.props.repeatNum+=1,r.props.type=n.type,r.handler}if(Be(ea.max)&&a.length>=ea.max)return{close:()=>{}};const o=EQ(n,t);return a.push(o),o.handler};nT.forEach(e=>{As[e]=(t={},n)=>As({...oT(t),type:e},n)});function xQ(e){for(const t in lo)if(Nt(lo,t)){const n=[...lo[t]];for(const a of n)(!e||e===a.props.type)&&a.handler.close()}}function TQ(e){lo[e]&&[...lo[e]].forEach(t=>t.handler.close())}As.closeAll=xQ;As.closeAllByPlacement=TQ;As._context=null;const OQ=SC(As,"$message");var _Q=se({name:"ElMessageBox",directives:{TrapFocus:sV},components:{ElButton:Bn,ElFocusTrap:Ul,ElInput:Un,ElOverlay:eg,ElIcon:De,..._m},inheritAttrs:!1,props:{buttonSize:{type:String,validator:ox},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:a,ns:o,size:r}=mf("message-box",C(()=>e.buttonSize)),{t:s}=n,{nextZIndex:l}=a,u=M(!1),c=Dt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:Ya(ho),cancelButtonLoadingIcon:Ya(ho),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:l()}),d=C(()=>{const j=c.type;return{[o.bm("icon",j)]:j&&Zr[j]}}),f=Gn(),p=Gn(),g=C(()=>{const j=c.type;return c.icon||j&&Zr[j]||""}),h=C(()=>!!c.message),v=M(),m=M(),b=M(),w=M(),y=M(),S=C(()=>c.confirmButtonClass);pe(()=>c.inputValue,async j=>{await Ne(),e.boxType==="prompt"&&j&&N()},{immediate:!0}),pe(()=>u.value,j=>{j&&(e.boxType!=="prompt"&&(c.autofocus?b.value=y.value?.$el??v.value:b.value=v.value),c.zIndex=l()),e.boxType==="prompt"&&(j?Ne().then(()=>{w.value&&w.value.$el&&(c.autofocus?b.value=$()??v.value:b.value=v.value)}):(c.editorErrorMessage="",c.validateError=!1))});const{isDragging:k}=BS(v,m,C(()=>e.draggable),C(()=>e.overflow));ht(async()=>{await Ne(),e.closeOnHashChange&&window.addEventListener("hashchange",x)}),Vt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",x)});function x(){u.value&&(u.value=!1,Ne(()=>{c.action&&t("action",c.action)}))}const O=()=>{e.closeOnClickModal&&_(c.distinguishCancelAndClose?"close":"cancel")},T=ym(O),I=j=>{if(c.inputType!=="textarea"&&!w.value?.isComposing)return j.preventDefault(),_("confirm")},_=j=>{e.boxType==="prompt"&&j==="confirm"&&!N()||(c.action=j,c.beforeClose?c.beforeClose?.(j,c,x):x())},N=()=>{if(e.boxType==="prompt"){const j=c.inputPattern;if(j&&!j.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;const W=c.inputValidator;if(Fe(W)){const A=W(c.inputValue);if(A===!1)return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;if(Ae(A))return c.editorErrorMessage=A,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},$=()=>{const j=w.value?.$refs;return j?.input??j?.textarea},B=()=>{_("close")},K=()=>{e.closeOnPressEscape&&B()};return e.lockScroll&&of(u,{ns:o}),{...Pn(c),ns:o,overlayEvent:T,visible:u,hasMessage:h,typeClass:d,contentId:f,inputId:p,btnSize:r,iconComponent:g,confirmButtonClasses:S,rootRef:v,focusStartRef:b,headerRef:m,inputRef:w,isDragging:k,confirmRef:y,doClose:x,handleClose:B,onCloseRequested:K,handleWrapperClick:O,handleInputEnter:I,handleAction:_,t:s}}});const RQ=["aria-label","aria-describedby"],IQ=["aria-label"],$Q=["id"];function NQ(e,t,n,a,o,r){const s=Mt("el-icon"),l=Mt("el-input"),u=Mt("el-button"),c=Mt("el-focus-trap"),d=Mt("el-overlay");return E(),le(Yn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=f=>e.$emit("vanish")),persisted:""},{default:ne(()=>[ct(X(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:ne(()=>[z("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:R(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...f)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...f)),onMousedown:t[9]||(t[9]=(...f)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...f)),onMouseup:t[10]||(t[10]=(...f)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...f))},[X(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:ne(()=>[z("div",{ref:"rootRef",class:R([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:ze(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Xe(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(E(),D("div",{key:0,ref:"headerRef",class:R([e.ns.e("header"),{"show-close":e.showClose}])},[z("div",{class:R(e.ns.e("title"))},[e.iconComponent&&e.center?(E(),le(s,{key:0,class:R([e.ns.e("status"),e.typeClass])},{default:ne(()=>[(E(),le(it(e.iconComponent)))]),_:1},8,["class"])):re("v-if",!0),z("span",null,Ce(e.title),1)],2),e.showClose?(E(),D("button",{key:0,type:"button",class:R(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=dn(Xe(f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[X(s,{class:R(e.ns.e("close"))},{default:ne(()=>[(E(),le(it(e.closeIcon||"close")))]),_:1},8,["class"])],42,IQ)):re("v-if",!0)],2)):re("v-if",!0),z("div",{id:e.contentId,class:R(e.ns.e("content"))},[z("div",{class:R(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(E(),le(s,{key:0,class:R([e.ns.e("status"),e.typeClass])},{default:ne(()=>[(E(),le(it(e.iconComponent)))]),_:1},8,["class"])):re("v-if",!0),e.hasMessage?(E(),D("div",{key:1,class:R(e.ns.e("message"))},[oe(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),le(it(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(E(),le(it(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:Ce(e.message)},null,8,["for","textContent"]))])],2)):re("v-if",!0)],2),ct(z("div",{class:R(e.ns.e("input"))},[X(l,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=f=>e.inputValue=f),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:R({invalid:e.validateError}),onKeydown:dn(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),z("div",{class:R(e.ns.e("errormsg")),style:ze({visibility:e.editorErrorMessage?"visible":"hidden"})},Ce(e.editorErrorMessage),7)],2),[[$t,e.showInput]])],10,$Q),z("div",{class:R(e.ns.e("btns"))},[e.showCancelButton?(E(),le(u,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:R([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=f=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=dn(Xe(f=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:ne(()=>[wt(Ce(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):re("v-if",!0),ct(X(u,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:R([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=f=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=dn(Xe(f=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:ne(()=>[wt(Ce(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[$t,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,RQ)]),_:3},8,["z-index","overlay-class","mask"]),[[$t,e.visible]])]),_:3})}var MQ=Mn(_Q,[["render",NQ]]);const fu=new Map,PQ=e=>{let t=document.body;return e.appendTo&&(Ae(e.appendTo)&&(t=document.querySelector(e.appendTo)),ka(e.appendTo)&&(t=e.appendTo),ka(t)||(jt("ElMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body)),t},$p=(e,t)=>{const n=e.component?.proxy;return()=>n.handleAction(t)},AQ=(e,t,n=null)=>{const a=X(MQ,e,Fe(e.message)||Zt(e.message)?{default:Fe(e.message)?()=>e.message({confirm:$p(a,"confirm"),cancel:$p(a,"cancel"),close:$p(a,"close")}):()=>e.message}:null);return a.appContext=n,Yr(a,t),PQ(e).appendChild(t.firstElementChild),a.component},LQ=()=>document.createElement("div"),DQ=(e,t)=>{const n=LQ();e.onVanish=()=>{Yr(null,n),fu.delete(o)},e.onAction=r=>{const s=fu.get(o);let l;e.showInput?l={value:o.inputValue,action:r}:l=r,e.callback?e.callback(l,a.proxy):r==="cancel"||r==="close"?e.distinguishCancelAndClose&&r!=="cancel"?s.reject("close"):s.reject("cancel"):s.resolve(l)};const a=AQ(e,n,t),o=a.proxy;for(const r in e)Nt(e,r)&&!Nt(o.$props,r)&&(r==="closeIcon"&&ot(e[r])?o[r]=Ya(e[r]):o[r]=e[r]);return o.visible=!0,o};function Yl(e,t=null){if(!Lt)return Promise.reject();let n;return Ae(e)||Zt(e)?e={message:e}:n=e.callback,new Promise((a,o)=>{const r=DQ(e,t??Yl._context);fu.set(r,{options:e,callback:n,resolve:a,reject:o})})}const BQ=["alert","confirm","prompt"],VQ={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};BQ.forEach(e=>{Yl[e]=FQ(e)});function FQ(e){return(t,n,a,o)=>{let r="";return ot(n)?(a=n,r=""):Rt(n)?r="":r=n,Yl(Object.assign({title:r,message:t,type:"",...VQ[e]},a,{boxType:e}),o)}}Yl.close=()=>{fu.forEach((e,t)=>{t.doClose()}),fu.clear()};Yl._context=null;const Lr=Yl;Lr.install=e=>{Lr._context=e._context,e.config.globalProperties.$msgbox=Lr,e.config.globalProperties.$messageBox=Lr,e.config.globalProperties.$alert=Lr.alert,e.config.globalProperties.$confirm=Lr.confirm,e.config.globalProperties.$prompt=Lr.prompt};const zQ=Lr,rT=["primary","success","info","warning","error"],HQ=Ee({customClass:{type:String,default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Ut},id:{type:String,default:""},message:{type:G([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:G(Function),default:()=>{}},onClose:{type:G(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...rT,""],default:""},zIndex:Number,closeIcon:{type:Ut,default:Qa}}),KQ={destroy:()=>!0},WQ=["id"],jQ=["textContent"],UQ={key:0},qQ=["innerHTML"];var YQ=se({name:"ElNotification",__name:"notification",props:HQ,emits:KQ,setup(e,{expose:t}){const n=e,{ns:a,zIndex:o}=mf("notification"),{nextZIndex:r,currentZIndex:s}=o,l=M(!1);let u;const c=C(()=>{const w=n.type;return w&&Zr[n.type]?a.m(w):""}),d=C(()=>n.type&&Zr[n.type]||n.icon),f=C(()=>n.position.endsWith("right")?"right":"left"),p=C(()=>n.position.startsWith("top")?"top":"bottom"),g=C(()=>({[p.value]:`${n.offset}px`,zIndex:n.zIndex??s.value}));function h(){n.duration>0&&({stop:u}=kl(()=>{l.value&&m()},n.duration))}function v(){u?.()}function m(){l.value=!1}function b(w){switch(qt(w)){case Se.delete:case Se.backspace:v();break;case Se.esc:l.value&&m();break;default:h();break}}return ht(()=>{h(),r(),l.value=!0}),Bt(document,"keydown",b),t({visible:l,close:m}),(w,y)=>(E(),le(Yn,{name:i(a).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:y[1]||(y[1]=S=>w.$emit("destroy")),persisted:""},{default:ne(()=>[ct(z("div",{id:e.id,class:R([i(a).b(),e.customClass,f.value]),style:ze(g.value),role:"alert",onMouseenter:v,onMouseleave:h,onClick:y[0]||(y[0]=(...S)=>e.onClick&&e.onClick(...S))},[d.value?(E(),le(i(De),{key:0,class:R([i(a).e("icon"),c.value])},{default:ne(()=>[(E(),le(it(d.value)))]),_:1},8,["class"])):re("v-if",!0),z("div",{class:R(i(a).e("group"))},[z("h2",{class:R(i(a).e("title")),textContent:Ce(e.title)},null,10,jQ),ct(z("div",{class:R(i(a).e("content")),style:ze(e.title?void 0:{margin:0})},[oe(w.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),D(Ve,{key:1},[re(" Caution here, message could've been compromised, never use user's input as message "),z("p",{innerHTML:e.message},null,8,qQ)],2112)):(E(),D("p",UQ,Ce(e.message),1))])],6),[[$t,e.message]]),e.showClose?(E(),le(i(De),{key:0,class:R(i(a).e("closeBtn")),onClick:Xe(m,["stop"])},{default:ne(()=>[(E(),le(it(e.closeIcon)))]),_:1},8,["class"])):re("v-if",!0)],2)],46,WQ),[[$t,l.value]])]),_:3},8,["name","onBeforeLeave"]))}}),GQ=YQ;const Pl={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},kd=16;let XQ=1;const Ls=function(e={},t){if(!Lt)return{close:()=>{}};(Ae(e)||Zt(e))&&(e={message:e});const n=e.position||"top-right";let a=e.offset||0;Pl[n].forEach(({vm:d})=>{a+=(d.el?.offsetHeight||0)+kd}),a+=kd;const o=`notification_${XQ++}`,r=e.onClose,s={...e,offset:a,id:o,onClose:()=>{JQ(o,n,r)}};let l=document.body;ka(e.appendTo)?l=e.appendTo:Ae(e.appendTo)&&(l=document.querySelector(e.appendTo)),ka(l)||(jt("ElNotification","the appendTo option is not an HTMLElement. Falling back to document.body."),l=document.body);const u=document.createElement("div"),c=X(GQ,s,Fe(s.message)?s.message:Zt(s.message)?()=>s.message:null);return c.appContext=Rt(t)?Ls._context:t,c.props.onDestroy=()=>{Yr(null,u)},Yr(c,u),Pl[n].push({vm:c}),l.appendChild(u.firstElementChild),{close:()=>{c.component.exposed.visible.value=!1}}};rT.forEach(e=>{Ls[e]=(t={},n)=>((Ae(t)||Zt(t))&&(t={message:t}),Ls({...t,type:e},n))});function JQ(e,t,n){const a=Pl[t],o=a.findIndex(({vm:c})=>c.component?.props.id===e);if(o===-1)return;const{vm:r}=a[o];if(!r)return;n?.(r);const s=r.el.offsetHeight,l=t.split("-")[0];a.splice(o,1);const u=a.length;if(!(u<1))for(let c=o;c<u;c++){const{el:d,component:f}=a[c].vm,p=Number.parseInt(d.style[l],10)-s-kd;f.props.offset=p}}function ZQ(){for(const e of Object.values(Pl))e.forEach(({vm:t})=>{t.component.exposed.visible.value=!1})}function QQ(e="top-right"){let t=Pl[e][0]?.vm.component?.props?.offset||0;for(const{vm:n}of Pl[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+kd}Ls.closeAll=ZQ;Ls.updateOffsets=QQ;Ls._context=null;const eee=SC(Ls,"$notify"),tee=Ee({trigger:Bo.trigger,triggerKeys:Bo.triggerKeys,placement:$c.placement,disabled:Bo.disabled,visible:Kt.visible,transition:Kt.transition,popperOptions:$c.popperOptions,tabindex:$c.tabindex,content:Kt.content,popperStyle:Kt.popperStyle,popperClass:Kt.popperClass,enterable:{...Kt.enterable,default:!0},effect:{...Kt.effect,default:"light"},teleported:Kt.teleported,appendTo:Kt.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),nee={"update:visible":e=>Wt(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},aee="onUpdate:visible";var oee=se({name:"ElPopover",__name:"popover",props:tee,emits:nee,setup(e,{expose:t,emit:n}){const a=e,o=n,r=C(()=>a[aee]),s=ge("popover"),l=M(),u=C(()=>i(l)?.popperRef),c=C(()=>[{width:hn(a.width)},a.popperStyle]),d=C(()=>[s.b(),a.popperClass,{[s.m("plain")]:!!a.content}]),f=C(()=>a.transition===`${s.namespace.value}-fade-in-linear`),p=()=>{l.value?.hide()},g=()=>{o("before-enter")},h=()=>{o("before-leave")},v=()=>{o("after-enter")},m=()=>{o("update:visible",!1),o("after-leave")};return t({popperRef:u,hide:p}),(b,w)=>(E(),le(i(Wn),pt({ref_key:"tooltipRef",ref:l},b.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":d.value,"popper-style":c.value,teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":f.value,"onUpdate:visible":r.value,onBeforeShow:g,onBeforeHide:h,onShow:v,onHide:m}),{content:ne(()=>[e.title?(E(),D("div",{key:0,class:R(i(s).e("title")),role:"title"},Ce(e.title),3)):re("v-if",!0),oe(b.$slots,"default",{hide:p},()=>[wt(Ce(e.content),1)])]),default:ne(()=>[b.$slots.reference?oe(b.$slots,"reference",{key:0}):re("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}}),ree=oee;const k1=(e,t)=>{const n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)};var see={mounted(e,t){k1(e,t)},updated(e,t){k1(e,t)}};const lee="popover",sT=jM(see,lee),iee=st(ree,{directive:sT}),uee="2.14.0",cee=(e=[])=>({version:uee,install:(n,a)=>{n[Rb]||(n[Rb]=!0,e.forEach(o=>n.use(o)),a&&Am(a,n,!0))}});var dee=[YM,jA,QD,RG,rB,sB,fB,jC,CB,kB,Bn,ZC,y5,k5,B5,V5,QF,oE,oz,mo,wF,jm,hz,Rz,Iz,yf,mE,oH,RB,dH,fH,pH,hH,vH,a7,RE,f7,p7,_7,DE,z7,_K,RK,IK,UE,HL,KL,De,bW,qE,Un,YE,AW,zW,qW,uj,cj,dj,fj,bj,Zj,aU,iee,FC,ex,aE,NF,$F,bU,CU,dz,vo,es,ud,QV,WU,XU,JU,gq,Cq,SE,EH,Rq,Iq,Fq,YY,GY,_G,HG,KG,cr,bg,TV,JG,nX,aX,Wn,mX,Sg,BX,eJ,OJ,DJ,iZ,uZ,bZ,yZ,TZ,VZ,QZ,eQ],fee=[oQ,uQ,OQ,zQ,eee,sT],Ig=cee([...dee,...fee]);Ig.install;Ig.version;var pee=Ig,hee={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"},inputOTP:{groupLabel:"一次性密码输入框",defaultLabel:"请输入第 {index} 位 OTP 字符"}}};const vee=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n},mee={};function gee(e,t){const n=Mt("router-view");return E(),le(n,null,{default:ne(({Component:a})=>[(E(),le(it(a)))]),_:1})}const bee=vee(mee,[["render",gee]]),yee="modulepreload",wee=function(e){return"/"+e},E1={},nn=function(t,n,a){let o=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),l=s?.nonce||s?.getAttribute("nonce");o=Promise.allSettled(n.map(u=>{if(u=wee(u),u in E1)return;E1[u]=!0;const c=u.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${d}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":yee,c||(f.as="script"),f.crossOrigin="",f.href=u,l&&f.setAttribute("nonce",l),document.head.appendChild(f),c)return new Promise((p,g)=>{f.addEventListener("load",p),f.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function r(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return o.then(s=>{for(const l of s||[])l.status==="rejected"&&r(l.reason);return t().catch(r)})};/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const ol=typeof document<"u";function lT(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function See(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&lT(e.default)}const rn=Object.assign;function Np(e,t){const n={};for(const a in t){const o=t[a];n[a]=go(o)?o.map(e):e(o)}return n}const Mi=()=>{},go=Array.isArray;function x1(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}const iT=/#/g,Cee=/&/g,kee=/\//g,Eee=/=/g,xee=/\?/g,uT=/\+/g,Tee=/%5B/g,Oee=/%5D/g,cT=/%5E/g,_ee=/%60/g,dT=/%7B/g,Ree=/%7C/g,fT=/%7D/g,Iee=/%20/g;function $g(e){return e==null?"":encodeURI(""+e).replace(Ree,"|").replace(Tee,"[").replace(Oee,"]")}function $ee(e){return $g(e).replace(dT,"{").replace(fT,"}").replace(cT,"^")}function uv(e){return $g(e).replace(uT,"%2B").replace(Iee,"+").replace(iT,"%23").replace(Cee,"%26").replace(_ee,"`").replace(dT,"{").replace(fT,"}").replace(cT,"^")}function Nee(e){return uv(e).replace(Eee,"%3D")}function Mee(e){return $g(e).replace(iT,"%23").replace(xee,"%3F")}function Pee(e){return Mee(e).replace(kee,"%2F")}function pu(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Aee=/\/$/,Lee=e=>e.replace(Aee,"");function Mp(e,t,n="/"){let a,o={},r="",s="";const l=t.indexOf("#");let u=t.indexOf("?");return u=l>=0&&u>l?-1:u,u>=0&&(a=t.slice(0,u),r=t.slice(u,l>0?l:t.length),o=e(r.slice(1))),l>=0&&(a=a||t.slice(0,l),s=t.slice(l,t.length)),a=Fee(a??t,n),{fullPath:a+r+s,path:a,query:o,hash:pu(s)}}function Dee(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function T1(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Bee(e,t,n){const a=t.matched.length-1,o=n.matched.length-1;return a>-1&&a===o&&Al(t.matched[a],n.matched[o])&&pT(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Al(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pT(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Vee(e[n],t[n]))return!1;return!0}function Vee(e,t){return go(e)?O1(e,t):go(t)?O1(t,e):e?.valueOf()===t?.valueOf()}function O1(e,t){return go(t)?e.length===t.length&&e.every((n,a)=>n===t[a]):e.length===1&&e[0]===t}function Fee(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),a=e.split("/"),o=a[a.length-1];(o===".."||o===".")&&a.push("");let r=n.length-1,s,l;for(s=0;s<a.length;s++)if(l=a[s],l!==".")if(l==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+a.slice(s).join("/")}const Ir={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let cv=function(e){return e.pop="pop",e.push="push",e}({}),Pp=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function zee(e){if(!e)if(ol){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Lee(e)}const Hee=/^[^#]+#/;function Kee(e,t){return e.replace(Hee,"#")+t}function Wee(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}const Ef=()=>({left:window.scrollX,top:window.scrollY});function jee(e){let t;if("el"in e){const n=e.el,a=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Wee(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function _1(e,t){return(history.state?history.state.position-t:-1)+e}const dv=new Map;function Uee(e,t){dv.set(e,t)}function qee(e){const t=dv.get(e);return dv.delete(e),t}function Yee(e){return typeof e=="string"||e&&typeof e=="object"}function hT(e){return typeof e=="string"||typeof e=="symbol"}let $n=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const vT=Symbol("");$n.MATCHER_NOT_FOUND+"",$n.NAVIGATION_GUARD_REDIRECT+"",$n.NAVIGATION_ABORTED+"",$n.NAVIGATION_CANCELLED+"",$n.NAVIGATION_DUPLICATED+"";function Ll(e,t){return rn(new Error,{type:e,[vT]:!0},t)}function Jo(e,t){return e instanceof Error&&vT in e&&(t==null||!!(e.type&t))}const Gee=["params","query","hash"];function Xee(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Gee)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Jee(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let a=0;a<n.length;++a){const o=n[a].replace(uT," "),r=o.indexOf("="),s=pu(r<0?o:o.slice(0,r)),l=r<0?null:pu(o.slice(r+1));if(s in t){let u=t[s];go(u)||(u=t[s]=[u]),u.push(l)}else t[s]=l}return t}function R1(e){let t="";for(let n in e){const a=e[n];if(n=Nee(n),a==null){a!==void 0&&(t+=(t.length?"&":"")+n);continue}(go(a)?a.map(o=>o&&uv(o)):[a&&uv(a)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Zee(e){const t={};for(const n in e){const a=e[n];a!==void 0&&(t[n]=go(a)?a.map(o=>o==null?null:""+o):a==null?a:""+a)}return t}const Qee=Symbol(""),I1=Symbol(""),xf=Symbol(""),Ng=Symbol(""),fv=Symbol("");function li(){let e=[];function t(a){return e.push(a),()=>{const o=e.indexOf(a);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Br(e,t,n,a,o,r=s=>s()){const s=a&&(a.enterCallbacks[o]=a.enterCallbacks[o]||[]);return()=>new Promise((l,u)=>{const c=p=>{p===!1?u(Ll($n.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?u(p):Yee(p)?u(Ll($n.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(s&&a.enterCallbacks[o]===s&&typeof p=="function"&&s.push(p),l())},d=r(()=>e.call(a&&a.instances[o],t,n,c));let f=Promise.resolve(d);e.length<3&&(f=f.then(c)),f.catch(p=>u(p))})}function Ap(e,t,n,a,o=r=>r()){const r=[];for(const s of e)for(const l in s.components){let u=s.components[l];if(!(t!=="beforeRouteEnter"&&!s.instances[l]))if(lT(u)){const c=(u.__vccOpts||u)[t];c&&r.push(Br(c,n,a,s,l,o))}else{let c=u();r.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${l}" at "${s.path}"`);const f=See(d)?d.default:d;s.mods[l]=d,s.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Br(p,n,a,s,l,o)()}))}}return r}function ete(e,t){const n=[],a=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let s=0;s<r;s++){const l=t.matched[s];l&&(e.matched.find(c=>Al(c,l))?a.push(l):n.push(l));const u=e.matched[s];u&&(t.matched.find(c=>Al(c,u))||o.push(u))}return[n,a,o]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let tte=()=>location.protocol+"//"+location.host;function mT(e,t){const{pathname:n,search:a,hash:o}=t,r=e.indexOf("#");if(r>-1){let s=o.includes(e.slice(r))?e.slice(r).length:1,l=o.slice(s);return l[0]!=="/"&&(l="/"+l),T1(l,"")}return T1(n,e)+a+o}function nte(e,t,n,a){let o=[],r=[],s=null;const l=({state:p})=>{const g=mT(e,location),h=n.value,v=t.value;let m=0;if(p){if(n.value=g,t.value=p,s&&s===h){s=null;return}m=v?p.position-v.position:0}else a(g);o.forEach(b=>{b(n.value,h,{delta:m,type:cv.pop,direction:m?m>0?Pp.forward:Pp.back:Pp.unknown})})};function u(){s=n.value}function c(p){o.push(p);const g=()=>{const h=o.indexOf(p);h>-1&&o.splice(h,1)};return r.push(g),g}function d(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(rn({},p.state,{scroll:Ef()}),"")}}function f(){for(const p of r)p();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:u,listen:c,destroy:f}}function $1(e,t,n,a=!1,o=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:o?Ef():null}}function ate(e){const{history:t,location:n}=window,a={value:mT(e,n)},o={value:t.state};o.value||r(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(u,c,d){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+u:tte()+e+u;try{t[d?"replaceState":"pushState"](c,"",p),o.value=c}catch(g){console.error(g),n[d?"replace":"assign"](p)}}function s(u,c){r(u,rn({},t.state,$1(o.value.back,u,o.value.forward,!0),c,{position:o.value.position}),!0),a.value=u}function l(u,c){const d=rn({},o.value,t.state,{forward:u,scroll:Ef()});r(d.current,d,!0),r(u,rn({},$1(a.value,u,null),{position:d.position+1},c),!1),a.value=u}return{location:a,state:o,push:l,replace:s}}function ote(e){e=zee(e);const t=ate(e),n=nte(e,t.state,t.location,t.replace);function a(r,s=!0){s||n.pauseListeners(),history.go(r)}const o=rn({location:"",base:e,go:a,createHref:Kee.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let bs=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var zn=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(zn||{});const rte={type:bs.Static,value:""},ste=/[a-zA-Z0-9_]/;function lte(e){if(!e)return[[]];if(e==="/")return[[rte]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=zn.Static,a=n;const o=[];let r;function s(){r&&o.push(r),r=[]}let l=0,u,c="",d="";function f(){c&&(n===zn.Static?r.push({type:bs.Static,value:c}):n===zn.Param||n===zn.ParamRegExp||n===zn.ParamRegExpEnd?(r.length>1&&(u==="*"||u==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:bs.Param,value:c,regexp:d,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=u}for(;l<e.length;){if(u=e[l++],u==="\\"&&n!==zn.ParamRegExp){a=n,n=zn.EscapeNext;continue}switch(n){case zn.Static:u==="/"?(c&&f(),s()):u===":"?(f(),n=zn.Param):p();break;case zn.EscapeNext:p(),n=a;break;case zn.Param:u==="("?n=zn.ParamRegExp:ste.test(u)?p():(f(),n=zn.Static,u!=="*"&&u!=="?"&&u!=="+"&&l--);break;case zn.ParamRegExp:u===")"?d[d.length-1]=="\\"?d=d.slice(0,-1)+u:n=zn.ParamRegExpEnd:d+=u;break;case zn.ParamRegExpEnd:f(),n=zn.Static,u!=="*"&&u!=="?"&&u!=="+"&&l--,d="";break;default:t("Unknown state");break}}return n===zn.ParamRegExp&&t(`Unfinished custom RegExp for param "${c}"`),f(),s(),o}const N1="[^/]+?",ite={sensitive:!1,strict:!1,start:!0,end:!0};var fa=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(fa||{});const ute=/[.+*?^${}()[\]/\\]/g;function cte(e,t){const n=rn({},ite,t),a=[];let o=n.start?"^":"";const r=[];for(const c of e){const d=c.length?[]:[fa.Root];n.strict&&!c.length&&(o+="/");for(let f=0;f<c.length;f++){const p=c[f];let g=fa.Segment+(n.sensitive?fa.BonusCaseSensitive:0);if(p.type===bs.Static)f||(o+="/"),o+=p.value.replace(ute,"\\$&"),g+=fa.Static;else if(p.type===bs.Param){const{value:h,repeatable:v,optional:m,regexp:b}=p;r.push({name:h,repeatable:v,optional:m});const w=b||N1;if(w!==N1){g+=fa.BonusCustomRegExp;try{`${w}`}catch(S){throw new Error(`Invalid custom RegExp for param "${h}" (${w}): `+S.message)}}let y=v?`((?:${w})(?:/(?:${w}))*)`:`(${w})`;f||(y=m&&c.length<2?`(?:/${y})`:"/"+y),m&&(y+="?"),o+=y,g+=fa.Dynamic,m&&(g+=fa.BonusOptional),v&&(g+=fa.BonusRepeatable),w===".*"&&(g+=fa.BonusWildcard)}d.push(g)}a.push(d)}if(n.strict&&n.end){const c=a.length-1;a[c][a[c].length-1]+=fa.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const s=new RegExp(o,n.sensitive?"":"i");function l(c){const d=c.match(s),f={};if(!d)return null;for(let p=1;p<d.length;p++){const g=d[p]||"",h=r[p-1];f[h.name]=g&&h.repeatable?g.split("/"):g}return f}function u(c){let d="",f=!1;for(const p of e){(!f||!d.endsWith("/"))&&(d+="/"),f=!1;for(const g of p)if(g.type===bs.Static)d+=g.value;else if(g.type===bs.Param){const{value:h,repeatable:v,optional:m}=g,b=h in c?c[h]:"";if(go(b)&&!v)throw new Error(`Provided param "${h}" is an array but it is not repeatable (* or + modifiers)`);const w=go(b)?b.join("/"):b;if(!w)if(m)p.length<2&&(d.endsWith("/")?d=d.slice(0,-1):f=!0);else throw new Error(`Missing required param "${h}"`);d+=w}}return d||"/"}return{re:s,score:a,keys:r,parse:l,stringify:u}}function dte(e,t){let n=0;for(;n<e.length&&n<t.length;){const a=t[n]-e[n];if(a)return a;n++}return e.length<t.length?e.length===1&&e[0]===fa.Static+fa.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===fa.Static+fa.Segment?1:-1:0}function gT(e,t){let n=0;const a=e.score,o=t.score;for(;n<a.length&&n<o.length;){const r=dte(a[n],o[n]);if(r)return r;n++}if(Math.abs(o.length-a.length)===1){if(M1(a))return 1;if(M1(o))return-1}return o.length-a.length}function M1(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const fte={strict:!1,end:!0,sensitive:!1};function pte(e,t,n){const a=cte(lte(e.path),n),o=rn(a,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function hte(e,t){const n=[],a=new Map;t=x1(fte,t);function o(f){return a.get(f)}function r(f,p,g){const h=!g,v=A1(f);v.aliasOf=g&&g.record;const m=x1(t,f),b=[v];if("alias"in f){const S=typeof f.alias=="string"?[f.alias]:f.alias;for(const k of S)b.push(A1(rn({},v,{components:g?g.record.components:v.components,path:k,aliasOf:g?g.record:v})))}let w,y;for(const S of b){const{path:k}=S;if(p&&k[0]!=="/"){const x=p.record.path,O=x[x.length-1]==="/"?"":"/";S.path=p.record.path+(k&&O+k)}if(w=pte(S,p,m),g?g.alias.push(w):(y=y||w,y!==w&&y.alias.push(w),h&&f.name&&!L1(w)&&s(f.name)),bT(w)&&u(w),v.children){const x=v.children;for(let O=0;O<x.length;O++)r(x[O],w,g&&g.children[O])}g=g||w}return y?()=>{s(y)}:Mi}function s(f){if(hT(f)){const p=a.get(f);p&&(a.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(s),p.alias.forEach(s))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&a.delete(f.record.name),f.children.forEach(s),f.alias.forEach(s))}}function l(){return n}function u(f){const p=gte(f,n);n.splice(p,0,f),f.record.name&&!L1(f)&&a.set(f.record.name,f)}function c(f,p){let g,h={},v,m;if("name"in f&&f.name){if(g=a.get(f.name),!g)throw Ll($n.MATCHER_NOT_FOUND,{location:f});m=g.record.name,h=rn(P1(p.params,g.keys.filter(y=>!y.optional).concat(g.parent?g.parent.keys.filter(y=>y.optional):[]).map(y=>y.name)),f.params&&P1(f.params,g.keys.map(y=>y.name))),v=g.stringify(h)}else if(f.path!=null)v=f.path,g=n.find(y=>y.re.test(v)),g&&(h=g.parse(v),m=g.record.name);else{if(g=p.name?a.get(p.name):n.find(y=>y.re.test(p.path)),!g)throw Ll($n.MATCHER_NOT_FOUND,{location:f,currentLocation:p});m=g.record.name,h=rn({},p.params,f.params),v=g.stringify(h)}const b=[];let w=g;for(;w;)b.unshift(w.record),w=w.parent;return{name:m,path:v,params:h,matched:b,meta:mte(b)}}e.forEach(f=>r(f));function d(){n.length=0,a.clear()}return{addRoute:r,resolve:c,removeRoute:s,clearRoutes:d,getRoutes:l,getRecordMatcher:o}}function P1(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function A1(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:vte(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function vte(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]=typeof n=="object"?n[a]:n;return t}function L1(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function mte(e){return e.reduce((t,n)=>rn(t,n.meta),{})}function gte(e,t){let n=0,a=t.length;for(;n!==a;){const r=n+a>>1;gT(e,t[r])<0?a=r:n=r+1}const o=bte(e);return o&&(a=t.lastIndexOf(o,a-1)),a}function bte(e){let t=e;for(;t=t.parent;)if(bT(t)&&gT(e,t)===0)return t}function bT({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function D1(e){const t=$e(xf),n=$e(Ng),a=C(()=>{const u=i(e.to);return t.resolve(u)}),o=C(()=>{const{matched:u}=a.value,{length:c}=u,d=u[c-1],f=n.matched;if(!d||!f.length)return-1;const p=f.findIndex(Al.bind(null,d));if(p>-1)return p;const g=B1(u[c-2]);return c>1&&B1(d)===g&&f[f.length-1].path!==g?f.findIndex(Al.bind(null,u[c-2])):p}),r=C(()=>o.value>-1&&kte(n.params,a.value.params)),s=C(()=>o.value>-1&&o.value===n.matched.length-1&&pT(n.params,a.value.params));function l(u={}){if(Cte(u)){const c=t[i(e.replace)?"replace":"push"](i(e.to)).catch(Mi);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:a,href:C(()=>a.value.href),isActive:r,isExactActive:s,navigate:l}}function yte(e){return e.length===1?e[0]:e}const wte=se({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:D1,setup(e,{slots:t}){const n=Dt(D1(e)),{options:a}=$e(xf),o=C(()=>({[V1(e.activeClass,a.linkActiveClass,"router-link-active")]:n.isActive,[V1(e.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&yte(t.default(n));return e.custom?r:qe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),Ste=wte;function Cte(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function kte(e,t){for(const n in t){const a=t[n],o=e[n];if(typeof a=="string"){if(a!==o)return!1}else if(!go(o)||o.length!==a.length||a.some((r,s)=>r.valueOf()!==o[s].valueOf()))return!1}return!0}function B1(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const V1=(e,t,n)=>e??t??n,Ete=se({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const a=$e(fv),o=C(()=>e.route||a.value),r=$e(I1,0),s=C(()=>{let c=i(r);const{matched:d}=o.value;let f;for(;(f=d[c])&&!f.components;)c++;return c}),l=C(()=>o.value.matched[s.value]);St(I1,C(()=>s.value+1)),St(Qee,l),St(fv,o);const u=M();return pe(()=>[u.value,l.value,e.name],([c,d,f],[p,g,h])=>{d&&(d.instances[f]=c,g&&g!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=g.leaveGuards),d.updateGuards.size||(d.updateGuards=g.updateGuards))),c&&d&&(!g||!Al(d,g)||!p)&&(d.enterCallbacks[f]||[]).forEach(v=>v(c))},{flush:"post"}),()=>{const c=o.value,d=e.name,f=l.value,p=f&&f.components[d];if(!p)return F1(n.default,{Component:p,route:c});const g=f.props[d],h=g?g===!0?c.params:typeof g=="function"?g(c):g:null,m=qe(p,rn({},h,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[d]=null)},ref:u}));return F1(n.default,{Component:m,route:c})||m}}});function F1(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const xte=Ete;function Tte(e){const t=hte(e.routes,e),n=e.parseQuery||Jee,a=e.stringifyQuery||R1,o=e.history,r=li(),s=li(),l=li(),u=Tt(Ir);let c=Ir;ol&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Np.bind(null,Z=>""+Z),f=Np.bind(null,Pee),p=Np.bind(null,pu);function g(Z,de){let ue,Y;return hT(Z)?(ue=t.getRecordMatcher(Z),Y=de):Y=Z,t.addRoute(Y,ue)}function h(Z){const de=t.getRecordMatcher(Z);de&&t.removeRoute(de)}function v(){return t.getRoutes().map(Z=>Z.record)}function m(Z){return!!t.getRecordMatcher(Z)}function b(Z,de){if(de=rn({},de||u.value),typeof Z=="string"){const te=Mp(n,Z,de.path),fe=t.resolve({path:te.path},de),he=o.createHref(te.fullPath);return rn(te,fe,{params:p(fe.params),hash:pu(te.hash),redirectedFrom:void 0,href:he})}let ue;if(Z.path!=null)ue=rn({},Z,{path:Mp(n,Z.path,de.path).path});else{const te=rn({},Z.params);for(const fe in te)te[fe]==null&&delete te[fe];ue=rn({},Z,{params:f(te)}),de.params=f(de.params)}const Y=t.resolve(ue,de),Q=Z.hash||"";Y.params=d(p(Y.params));const L=Dee(a,rn({},Z,{hash:$ee(Q),path:Y.path})),q=o.createHref(L);return rn({fullPath:L,hash:Q,query:a===R1?Zee(Z.query):Z.query||{}},Y,{redirectedFrom:void 0,href:q})}function w(Z){return typeof Z=="string"?Mp(n,Z,u.value.path):rn({},Z)}function y(Z,de){if(c!==Z)return Ll($n.NAVIGATION_CANCELLED,{from:de,to:Z})}function S(Z){return O(Z)}function k(Z){return S(rn(w(Z),{replace:!0}))}function x(Z,de){const ue=Z.matched[Z.matched.length-1];if(ue&&ue.redirect){const{redirect:Y}=ue;let Q=typeof Y=="function"?Y(Z,de):Y;return typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=w(Q):{path:Q},Q.params={}),rn({query:Z.query,hash:Z.hash,params:Q.path!=null?{}:Z.params},Q)}}function O(Z,de){const ue=c=b(Z),Y=u.value,Q=Z.state,L=Z.force,q=Z.replace===!0,te=x(ue,Y);if(te)return O(rn(w(te),{state:typeof te=="object"?rn({},Q,te.state):Q,force:L,replace:q}),de||ue);const fe=ue;fe.redirectedFrom=de;let he;return!L&&Bee(a,Y,ue)&&(he=Ll($n.NAVIGATION_DUPLICATED,{to:fe,from:Y}),H(Y,Y,!0,!1)),(he?Promise.resolve(he):_(fe,Y)).catch(ve=>Jo(ve)?Jo(ve,$n.NAVIGATION_GUARD_REDIRECT)?ve:F(ve):P(ve,fe,Y)).then(ve=>{if(ve){if(Jo(ve,$n.NAVIGATION_GUARD_REDIRECT))return O(rn({replace:q},w(ve.to),{state:typeof ve.to=="object"?rn({},Q,ve.to.state):Q,force:L}),de||fe)}else ve=$(fe,Y,!0,q,Q);return N(fe,Y,ve),ve})}function T(Z,de){const ue=y(Z,de);return ue?Promise.reject(ue):Promise.resolve()}function I(Z){const de=ee.values().next().value;return de&&typeof de.runWithContext=="function"?de.runWithContext(Z):Z()}function _(Z,de){let ue;const[Y,Q,L]=ete(Z,de);ue=Ap(Y.reverse(),"beforeRouteLeave",Z,de);for(const te of Y)te.leaveGuards.forEach(fe=>{ue.push(Br(fe,Z,de))});const q=T.bind(null,Z,de);return ue.push(q),ce(ue).then(()=>{ue=[];for(const te of r.list())ue.push(Br(te,Z,de));return ue.push(q),ce(ue)}).then(()=>{ue=Ap(Q,"beforeRouteUpdate",Z,de);for(const te of Q)te.updateGuards.forEach(fe=>{ue.push(Br(fe,Z,de))});return ue.push(q),ce(ue)}).then(()=>{ue=[];for(const te of L)if(te.beforeEnter)if(go(te.beforeEnter))for(const fe of te.beforeEnter)ue.push(Br(fe,Z,de));else ue.push(Br(te.beforeEnter,Z,de));return ue.push(q),ce(ue)}).then(()=>(Z.matched.forEach(te=>te.enterCallbacks={}),ue=Ap(L,"beforeRouteEnter",Z,de,I),ue.push(q),ce(ue))).then(()=>{ue=[];for(const te of s.list())ue.push(Br(te,Z,de));return ue.push(q),ce(ue)}).catch(te=>Jo(te,$n.NAVIGATION_CANCELLED)?te:Promise.reject(te))}function N(Z,de,ue){l.list().forEach(Y=>I(()=>Y(Z,de,ue)))}function $(Z,de,ue,Y,Q){const L=y(Z,de);if(L)return L;const q=de===Ir,te=ol?history.state:{};ue&&(Y||q?o.replace(Z.fullPath,rn({scroll:q&&te&&te.scroll},Q)):o.push(Z.fullPath,Q)),u.value=Z,H(Z,de,ue,q),F()}let B;function K(){B||(B=o.listen((Z,de,ue)=>{if(!ae.listening)return;const Y=b(Z),Q=x(Y,ae.currentRoute.value);if(Q){O(rn(Q,{replace:!0,force:!0}),Y).catch(Mi);return}c=Y;const L=u.value;ol&&Uee(_1(L.fullPath,ue.delta),Ef()),_(Y,L).catch(q=>Jo(q,$n.NAVIGATION_ABORTED|$n.NAVIGATION_CANCELLED)?q:Jo(q,$n.NAVIGATION_GUARD_REDIRECT)?(O(rn(w(q.to),{force:!0}),Y).then(te=>{Jo(te,$n.NAVIGATION_ABORTED|$n.NAVIGATION_DUPLICATED)&&!ue.delta&&ue.type===cv.pop&&o.go(-1,!1)}).catch(Mi),Promise.reject()):(ue.delta&&o.go(-ue.delta,!1),P(q,Y,L))).then(q=>{q=q||$(Y,L,!1),q&&(ue.delta&&!Jo(q,$n.NAVIGATION_CANCELLED)?o.go(-ue.delta,!1):ue.type===cv.pop&&Jo(q,$n.NAVIGATION_ABORTED|$n.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),N(Y,L,q)}).catch(Mi)}))}let j=li(),W=li(),A;function P(Z,de,ue){F(Z);const Y=W.list();return Y.length?Y.forEach(Q=>Q(Z,de,ue)):console.error(Z),Promise.reject(Z)}function V(){return A&&u.value!==Ir?Promise.resolve():new Promise((Z,de)=>{j.add([Z,de])})}function F(Z){return A||(A=!Z,K(),j.list().forEach(([de,ue])=>Z?ue(Z):de()),j.reset()),Z}function H(Z,de,ue,Y){const{scrollBehavior:Q}=e;if(!ol||!Q)return Promise.resolve();const L=!ue&&qee(_1(Z.fullPath,0))||(Y||!ue)&&history.state&&history.state.scroll||null;return Ne().then(()=>Q(Z,de,L)).then(q=>q&&jee(q)).catch(q=>P(q,Z,de))}const U=Z=>o.go(Z);let J;const ee=new Set,ae={currentRoute:u,listening:!0,addRoute:g,removeRoute:h,clearRoutes:t.clearRoutes,hasRoute:m,getRoutes:v,resolve:b,options:e,push:S,replace:k,go:U,back:()=>U(-1),forward:()=>U(1),beforeEach:r.add,beforeResolve:s.add,afterEach:l.add,onError:W.add,isReady:V,install(Z){Z.component("RouterLink",Ste),Z.component("RouterView",xte),Z.config.globalProperties.$router=ae,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>i(u)}),ol&&!J&&u.value===Ir&&(J=!0,S(o.location).catch(Y=>{}));const de={};for(const Y in Ir)Object.defineProperty(de,Y,{get:()=>u.value[Y],enumerable:!0});Z.provide(xf,ae),Z.provide(Ng,Ad(de)),Z.provide(fv,u);const ue=Z.unmount;ee.add(Z),Z.unmount=function(){ee.delete(Z),ee.size<1&&(c=Ir,B&&B(),B=null,u.value=Ir,J=!1,A=!1),ue()}}};function ce(Z){return Z.reduce((de,ue)=>de.then(()=>I(ue)),Promise.resolve())}return ae}function Toe(){return $e(xf)}function Ooe(e){return $e(Ng)}function yT(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ote}=Object.prototype,{getPrototypeOf:Tf}=Object,{iterator:Of,toStringTag:wT}=Symbol,_f=(e=>t=>{const n=Ote.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ko=e=>(e=e.toLowerCase(),t=>_f(t)===e),Rf=e=>t=>typeof t===e,{isArray:Gl}=Array,Dl=Rf("undefined");function Hu(e){return e!==null&&!Dl(e)&&e.constructor!==null&&!Dl(e.constructor)&&Ta(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const ST=ko("ArrayBuffer");function _te(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ST(e.buffer),t}const Rte=Rf("string"),Ta=Rf("function"),CT=Rf("number"),Ku=e=>e!==null&&typeof e=="object",Ite=e=>e===!0||e===!1,Bc=e=>{if(_f(e)!=="object")return!1;const t=Tf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(wT in e)&&!(Of in e)},$te=e=>{if(!Ku(e)||Hu(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Nte=ko("Date"),Mte=ko("File"),Pte=e=>!!(e&&typeof e.uri<"u"),Ate=e=>e&&typeof e.getParts<"u",Lte=ko("Blob"),Dte=ko("FileList"),Bte=e=>Ku(e)&&Ta(e.pipe);function Vte(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const z1=Vte(),H1=typeof z1.FormData<"u"?z1.FormData:void 0,Fte=e=>{if(!e)return!1;if(H1&&e instanceof H1)return!0;const t=Tf(e);if(!t||t===Object.prototype||!Ta(e.append))return!1;const n=_f(e);return n==="formdata"||n==="object"&&Ta(e.toString)&&e.toString()==="[object FormData]"},zte=ko("URLSearchParams"),[Hte,Kte,Wte,jte]=["ReadableStream","Request","Response","Headers"].map(ko),Ute=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Wu(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let a,o;if(typeof e!="object"&&(e=[e]),Gl(e))for(a=0,o=e.length;a<o;a++)t.call(null,e[a],a,e);else{if(Hu(e))return;const r=n?Object.getOwnPropertyNames(e):Object.keys(e),s=r.length;let l;for(a=0;a<s;a++)l=r[a],t.call(null,e[l],l,e)}}function kT(e,t){if(Hu(e))return null;t=t.toLowerCase();const n=Object.keys(e);let a=n.length,o;for(;a-- >0;)if(o=n[a],t===o.toLowerCase())return o;return null}const ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ET=e=>!Dl(e)&&e!==ys;function pv(...e){const{caseless:t,skipUndefined:n}=ET(this)&&this||{},a={},o=(r,s)=>{if(s==="__proto__"||s==="constructor"||s==="prototype")return;const l=t&&kT(a,s)||s,u=hv(a,l)?a[l]:void 0;Bc(u)&&Bc(r)?a[l]=pv(u,r):Bc(r)?a[l]=pv({},r):Gl(r)?a[l]=r.slice():(!n||!Dl(r))&&(a[l]=r)};for(let r=0,s=e.length;r<s;r++)e[r]&&Wu(e[r],o);return a}const qte=(e,t,n,{allOwnKeys:a}={})=>(Wu(t,(o,r)=>{n&&Ta(o)?Object.defineProperty(e,r,{__proto__:null,value:yT(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:a}),e),Yte=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Gte=(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},Xte=(e,t,n,a)=>{let o,r,s;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),r=o.length;r-- >0;)s=o[r],(!a||a(s,e,t))&&!l[s]&&(t[s]=e[s],l[s]=!0);e=n!==!1&&Tf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Jte=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return a!==-1&&a===n},Zte=e=>{if(!e)return null;if(Gl(e))return e;let t=e.length;if(!CT(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Qte=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Tf(Uint8Array)),ene=(e,t)=>{const a=(e&&e[Of]).call(e);let o;for(;(o=a.next())&&!o.done;){const r=o.value;t.call(e,r[0],r[1])}},tne=(e,t)=>{let n;const a=[];for(;(n=e.exec(t))!==null;)a.push(n);return a},nne=ko("HTMLFormElement"),ane=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,a,o){return a.toUpperCase()+o}),hv=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),one=ko("RegExp"),xT=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};Wu(n,(o,r)=>{let s;(s=t(o,r,e))!==!1&&(a[r]=s||o)}),Object.defineProperties(e,a)},rne=e=>{xT(e,(t,n)=>{if(Ta(e)&&["arguments","caller","callee"].includes(n))return!1;const a=e[n];if(Ta(a)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},sne=(e,t)=>{const n={},a=o=>{o.forEach(r=>{n[r]=!0})};return Gl(e)?a(e):a(String(e).split(t)),n},lne=()=>{},ine=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function une(e){return!!(e&&Ta(e.append)&&e[wT]==="FormData"&&e[Of])}const cne=e=>{const t=new WeakSet,n=a=>{if(Ku(a)){if(t.has(a))return;if(Hu(a))return a;if(!("toJSON"in a)){t.add(a);const o=Gl(a)?[]:{};return Wu(a,(r,s)=>{const l=n(r);!Dl(l)&&(o[s]=l)}),t.delete(a),o}}return a};return n(e)},dne=ko("AsyncFunction"),fne=e=>e&&(Ku(e)||Ta(e))&&Ta(e.then)&&Ta(e.catch),TT=((e,t)=>e?setImmediate:t?((n,a)=>(ys.addEventListener("message",({source:o,data:r})=>{o===ys&&r===n&&a.length&&a.shift()()},!1),o=>{a.push(o),ys.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ta(ys.postMessage)),pne=typeof queueMicrotask<"u"?queueMicrotask.bind(ys):typeof process<"u"&&process.nextTick||TT,hne=e=>e!=null&&Ta(e[Of]),ke={isArray:Gl,isArrayBuffer:ST,isBuffer:Hu,isFormData:Fte,isArrayBufferView:_te,isString:Rte,isNumber:CT,isBoolean:Ite,isObject:Ku,isPlainObject:Bc,isEmptyObject:$te,isReadableStream:Hte,isRequest:Kte,isResponse:Wte,isHeaders:jte,isUndefined:Dl,isDate:Nte,isFile:Mte,isReactNativeBlob:Pte,isReactNative:Ate,isBlob:Lte,isRegExp:one,isFunction:Ta,isStream:Bte,isURLSearchParams:zte,isTypedArray:Qte,isFileList:Dte,forEach:Wu,merge:pv,extend:qte,trim:Ute,stripBOM:Yte,inherits:Gte,toFlatObject:Xte,kindOf:_f,kindOfTest:ko,endsWith:Jte,toArray:Zte,forEachEntry:ene,matchAll:tne,isHTMLForm:nne,hasOwnProperty:hv,hasOwnProp:hv,reduceDescriptors:xT,freezeMethods:rne,toObjectSet:sne,toCamelCase:ane,noop:lne,toFiniteNumber:ine,findKey:kT,global:ys,isContextDefined:ET,isSpecCompliantForm:une,toJSONObject:cne,isAsyncFn:dne,isThenable:fne,setImmediate:TT,asap:pne,isIterable:hne},vne=ke.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),mne=e=>{const t={};let n,a,o;return e&&e.split(` +`).forEach(function(s){o=s.indexOf(":"),n=s.substring(0,o).trim().toLowerCase(),a=s.substring(o+1).trim(),!(!n||t[n]&&vne[n])&&(n==="set-cookie"?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t};function gne(e){let t=0,n=e.length;for(;t<n;){const a=e.charCodeAt(t);if(a!==9&&a!==32)break;t+=1}for(;n>t;){const a=e.charCodeAt(n-1);if(a!==9&&a!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const bne=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),yne=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Mg(e,t){return ke.isArray(e)?e.map(n=>Mg(n,t)):gne(String(e).replace(t,""))}const wne=e=>Mg(e,bne),Sne=e=>Mg(e,yne);function OT(e){const t=Object.create(null);return ke.forEach(e.toJSON(),(n,a)=>{t[a]=Sne(n)}),t}const K1=Symbol("internals");function ii(e){return e&&String(e).trim().toLowerCase()}function Vc(e){return e===!1||e==null?e:ke.isArray(e)?e.map(Vc):wne(String(e))}function Cne(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}const kne=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Lp(e,t,n,a,o){if(ke.isFunction(a))return a.call(this,t,n);if(o&&(t=n),!!ke.isString(t)){if(ke.isString(a))return t.indexOf(a)!==-1;if(ke.isRegExp(a))return a.test(t)}}function Ene(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,a)=>n.toUpperCase()+a)}function xne(e,t){const n=ke.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{__proto__:null,value:function(o,r,s){return this[a].call(this,t,o,r,s)},configurable:!0})})}let va=class{constructor(t){t&&this.set(t)}set(t,n,a){const o=this;function r(l,u,c){const d=ii(u);if(!d)throw new Error("header name must be a non-empty string");const f=ke.findKey(o,d);(!f||o[f]===void 0||c===!0||c===void 0&&o[f]!==!1)&&(o[f||u]=Vc(l))}const s=(l,u)=>ke.forEach(l,(c,d)=>r(c,d,u));if(ke.isPlainObject(t)||t instanceof this.constructor)s(t,n);else if(ke.isString(t)&&(t=t.trim())&&!kne(t))s(mne(t),n);else if(ke.isObject(t)&&ke.isIterable(t)){let l={},u,c;for(const d of t){if(!ke.isArray(d))throw TypeError("Object iterator must return a key-value pair");l[c=d[0]]=(u=l[c])?ke.isArray(u)?[...u,d[1]]:[u,d[1]]:d[1]}s(l,n)}else t!=null&&r(n,t,a);return this}get(t,n){if(t=ii(t),t){const a=ke.findKey(this,t);if(a){const o=this[a];if(!n)return o;if(n===!0)return Cne(o);if(ke.isFunction(n))return n.call(this,o,a);if(ke.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=ii(t),t){const a=ke.findKey(this,t);return!!(a&&this[a]!==void 0&&(!n||Lp(this,this[a],a,n)))}return!1}delete(t,n){const a=this;let o=!1;function r(s){if(s=ii(s),s){const l=ke.findKey(a,s);l&&(!n||Lp(a,a[l],l,n))&&(delete a[l],o=!0)}}return ke.isArray(t)?t.forEach(r):r(t),o}clear(t){const n=Object.keys(this);let a=n.length,o=!1;for(;a--;){const r=n[a];(!t||Lp(this,this[r],r,t,!0))&&(delete this[r],o=!0)}return o}normalize(t){const n=this,a={};return ke.forEach(this,(o,r)=>{const s=ke.findKey(a,r);if(s){n[s]=Vc(o),delete n[r];return}const l=t?Ene(r):String(r).trim();l!==r&&delete n[r],n[l]=Vc(o),a[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return ke.forEach(this,(a,o)=>{a!=null&&a!==!1&&(n[o]=t&&ke.isArray(a)?a.join(", "):a)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const a=new this(t);return n.forEach(o=>a.set(o)),a}static accessor(t){const a=(this[K1]=this[K1]={accessors:{}}).accessors,o=this.prototype;function r(s){const l=ii(s);a[l]||(xne(o,s),a[l]=!0)}return ke.isArray(t)?t.forEach(r):r(t),this}};va.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ke.reduceDescriptors(va.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(a){this[n]=a}}});ke.freezeMethods(va);const Tne="[REDACTED ****]";function One(e){if(ke.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(ke.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function _ne(e,t){const n=new Set(t.map(r=>String(r).toLowerCase())),a=[],o=r=>{if(r===null||typeof r!="object"||ke.isBuffer(r))return r;if(a.indexOf(r)!==-1)return;r instanceof va&&(r=r.toJSON()),a.push(r);let s;if(ke.isArray(r))s=[],r.forEach((l,u)=>{const c=o(l);ke.isUndefined(c)||(s[u]=c)});else{if(!ke.isPlainObject(r)&&One(r))return a.pop(),r;s=Object.create(null);for(const[l,u]of Object.entries(r)){const c=n.has(l.toLowerCase())?Tne:o(u);ke.isUndefined(c)||(s[l]=c)}}return a.pop(),s};return o(e)}let Ct=class _T extends Error{static from(t,n,a,o,r,s){const l=new _T(t.message,n||t.code,a,o,r);return l.cause=t,l.name=t.name,t.status!=null&&l.status==null&&(l.status=t.status),s&&Object.assign(l,s),l}constructor(t,n,a,o,r){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),a&&(this.config=a),o&&(this.request=o),r&&(this.response=r,this.status=r.status)}toJSON(){const t=this.config,n=t&&ke.hasOwnProp(t,"redact")?t.redact:void 0,a=ke.isArray(n)&&n.length>0?_ne(t,n):ke.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a,code:this.code,status:this.status}}};Ct.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Ct.ERR_BAD_OPTION="ERR_BAD_OPTION";Ct.ECONNABORTED="ECONNABORTED";Ct.ETIMEDOUT="ETIMEDOUT";Ct.ECONNREFUSED="ECONNREFUSED";Ct.ERR_NETWORK="ERR_NETWORK";Ct.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Ct.ERR_DEPRECATED="ERR_DEPRECATED";Ct.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Ct.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Ct.ERR_CANCELED="ERR_CANCELED";Ct.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Ct.ERR_INVALID_URL="ERR_INVALID_URL";Ct.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Rne=null;function vv(e){return ke.isPlainObject(e)||ke.isArray(e)}function RT(e){return ke.endsWith(e,"[]")?e.slice(0,-2):e}function Dp(e,t,n){return e?e.concat(t).map(function(o,r){return o=RT(o),!n&&r?"["+o+"]":o}).join(n?".":""):t}function Ine(e){return ke.isArray(e)&&!e.some(vv)}const $ne=ke.toFlatObject(ke,{},null,function(t){return/^is[A-Z]/.test(t)});function If(e,t,n){if(!ke.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=ke.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,b){return!ke.isUndefined(b[m])});const a=n.metaTokens,o=n.visitor||f,r=n.dots,s=n.indexes,l=n.Blob||typeof Blob<"u"&&Blob,u=n.maxDepth===void 0?100:n.maxDepth,c=l&&ke.isSpecCompliantForm(t);if(!ke.isFunction(o))throw new TypeError("visitor must be a function");function d(v){if(v===null)return"";if(ke.isDate(v))return v.toISOString();if(ke.isBoolean(v))return v.toString();if(!c&&ke.isBlob(v))throw new Ct("Blob is not supported. Use a Buffer instead.");return ke.isArrayBuffer(v)||ke.isTypedArray(v)?c&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function f(v,m,b){let w=v;if(ke.isReactNative(t)&&ke.isReactNativeBlob(v))return t.append(Dp(b,m,r),d(v)),!1;if(v&&!b&&typeof v=="object"){if(ke.endsWith(m,"{}"))m=a?m:m.slice(0,-2),v=JSON.stringify(v);else if(ke.isArray(v)&&Ine(v)||(ke.isFileList(v)||ke.endsWith(m,"[]"))&&(w=ke.toArray(v)))return m=RT(m),w.forEach(function(S,k){!(ke.isUndefined(S)||S===null)&&t.append(s===!0?Dp([m],k,r):s===null?m:m+"[]",d(S))}),!1}return vv(v)?!0:(t.append(Dp(b,m,r),d(v)),!1)}const p=[],g=Object.assign($ne,{defaultVisitor:f,convertValue:d,isVisitable:vv});function h(v,m,b=0){if(!ke.isUndefined(v)){if(b>u)throw new Ct("Object is too deeply nested ("+b+" levels). Max depth: "+u,Ct.ERR_FORM_DATA_DEPTH_EXCEEDED);if(p.indexOf(v)!==-1)throw Error("Circular reference detected in "+m.join("."));p.push(v),ke.forEach(v,function(y,S){(!(ke.isUndefined(y)||y===null)&&o.call(t,y,ke.isString(S)?S.trim():S,m,g))===!0&&h(y,m?m.concat(S):[S],b+1)}),p.pop()}}if(!ke.isObject(e))throw new TypeError("data must be an object");return h(e),t}function W1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(a){return t[a]})}function Pg(e,t){this._pairs=[],e&&If(e,this,t)}const IT=Pg.prototype;IT.append=function(t,n){this._pairs.push([t,n])};IT.toString=function(t){const n=t?function(a){return t.call(this,a,W1)}:W1;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function Nne(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function $T(e,t,n){if(!t)return e;const a=n&&n.encode||Nne,o=ke.isFunction(n)?{serialize:n}:n,r=o&&o.serialize;let s;if(r?s=r(t,o):s=ke.isURLSearchParams(t)?t.toString():new Pg(t,o).toString(a),s){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class j1{constructor(){this.handlers=[]}use(t,n,a){return this.handlers.push({fulfilled:t,rejected:n,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ke.forEach(this.handlers,function(a){a!==null&&t(a)})}}const Ag={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Mne=typeof URLSearchParams<"u"?URLSearchParams:Pg,Pne=typeof FormData<"u"?FormData:null,Ane=typeof Blob<"u"?Blob:null,Lne={isBrowser:!0,classes:{URLSearchParams:Mne,FormData:Pne,Blob:Ane},protocols:["http","https","file","blob","url","data"]},Lg=typeof window<"u"&&typeof document<"u",mv=typeof navigator=="object"&&navigator||void 0,Dne=Lg&&(!mv||["ReactNative","NativeScript","NS"].indexOf(mv.product)<0),Bne=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Vne=Lg&&window.location.href||"http://localhost",Fne=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Lg,hasStandardBrowserEnv:Dne,hasStandardBrowserWebWorkerEnv:Bne,navigator:mv,origin:Vne},Symbol.toStringTag,{value:"Module"})),oa={...Fne,...Lne};function zne(e,t){return If(e,new oa.classes.URLSearchParams,{visitor:function(n,a,o,r){return oa.isNode&&ke.isBuffer(n)?(this.append(a,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}function Hne(e){return ke.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Kne(e){const t={},n=Object.keys(e);let a;const o=n.length;let r;for(a=0;a<o;a++)r=n[a],t[r]=e[r];return t}function NT(e){function t(n,a,o,r){let s=n[r++];if(s==="__proto__")return!0;const l=Number.isFinite(+s),u=r>=n.length;return s=!s&&ke.isArray(o)?o.length:s,u?(ke.hasOwnProp(o,s)?o[s]=ke.isArray(o[s])?o[s].concat(a):[o[s],a]:o[s]=a,!l):((!ke.hasOwnProp(o,s)||!ke.isObject(o[s]))&&(o[s]=[]),t(n,a,o[s],r)&&ke.isArray(o[s])&&(o[s]=Kne(o[s])),!l)}if(ke.isFormData(e)&&ke.isFunction(e.entries)){const n={};return ke.forEachEntry(e,(a,o)=>{t(Hne(a),o,n,0)}),n}return null}const Zs=(e,t)=>e!=null&&ke.hasOwnProp(e,t)?e[t]:void 0;function Wne(e,t,n){if(ke.isString(e))try{return(t||JSON.parse)(e),ke.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(n||JSON.stringify)(e)}const ju={transitional:Ag,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const a=n.getContentType()||"",o=a.indexOf("application/json")>-1,r=ke.isObject(t);if(r&&ke.isHTMLForm(t)&&(t=new FormData(t)),ke.isFormData(t))return o?JSON.stringify(NT(t)):t;if(ke.isArrayBuffer(t)||ke.isBuffer(t)||ke.isStream(t)||ke.isFile(t)||ke.isBlob(t)||ke.isReadableStream(t))return t;if(ke.isArrayBufferView(t))return t.buffer;if(ke.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(r){const u=Zs(this,"formSerializer");if(a.indexOf("application/x-www-form-urlencoded")>-1)return zne(t,u).toString();if((l=ke.isFileList(t))||a.indexOf("multipart/form-data")>-1){const c=Zs(this,"env"),d=c&&c.FormData;return If(l?{"files[]":t}:t,d&&new d,u)}}return r||o?(n.setContentType("application/json",!1),Wne(t)):t}],transformResponse:[function(t){const n=Zs(this,"transitional")||ju.transitional,a=n&&n.forcedJSONParsing,o=Zs(this,"responseType"),r=o==="json";if(ke.isResponse(t)||ke.isReadableStream(t))return t;if(t&&ke.isString(t)&&(a&&!o||r)){const l=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t,Zs(this,"parseReviver"))}catch(u){if(l)throw u.name==="SyntaxError"?Ct.from(u,Ct.ERR_BAD_RESPONSE,this,null,Zs(this,"response")):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:oa.classes.FormData,Blob:oa.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ke.forEach(["delete","get","head","post","put","patch","query"],e=>{ju.headers[e]={}});function Bp(e,t){const n=this||ju,a=t||n,o=va.from(a.headers);let r=a.data;return ke.forEach(e,function(l){r=l.call(n,r,o.normalize(),t?t.status:void 0)}),o.normalize(),r}function MT(e){return!!(e&&e.__CANCEL__)}let Uu=class extends Ct{constructor(t,n,a){super(t??"canceled",Ct.ERR_CANCELED,n,a),this.name="CanceledError",this.__CANCEL__=!0}};function PT(e,t,n){const a=n.config.validateStatus;!n.status||!a||a(n.status)?e(n):t(new Ct("Request failed with status code "+n.status,n.status>=400&&n.status<500?Ct.ERR_BAD_REQUEST:Ct.ERR_BAD_RESPONSE,n.config,n.request,n))}function jne(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Une(e,t){e=e||10;const n=new Array(e),a=new Array(e);let o=0,r=0,s;return t=t!==void 0?t:1e3,function(u){const c=Date.now(),d=a[r];s||(s=c),n[o]=u,a[o]=c;let f=r,p=0;for(;f!==o;)p+=n[f++],f=f%e;if(o=(o+1)%e,o===r&&(r=(r+1)%e),c-s<t)return;const g=d&&c-d;return g?Math.round(p*1e3/g):void 0}}function qne(e,t){let n=0,a=1e3/t,o,r;const s=(c,d=Date.now())=>{n=d,o=null,r&&(clearTimeout(r),r=null),e(...c)};return[(...c)=>{const d=Date.now(),f=d-n;f>=a?s(c,d):(o=c,r||(r=setTimeout(()=>{r=null,s(o)},a-f)))},()=>o&&s(o)]}const Ed=(e,t,n=3)=>{let a=0;const o=Une(50,250);return qne(r=>{if(!r||typeof r.loaded!="number")return;const s=r.loaded,l=r.lengthComputable?r.total:void 0,u=l!=null?Math.min(s,l):s,c=Math.max(0,u-a),d=o(c);a=Math.max(a,u);const f={loaded:u,total:l,progress:l?u/l:void 0,bytes:c,rate:d||void 0,estimated:d&&l?(l-u)/d:void 0,event:r,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},U1=(e,t)=>{const n=e!=null;return[a=>t[0]({lengthComputable:n,total:e,loaded:a}),t[1]]},q1=e=>(...t)=>ke.asap(()=>e(...t)),Yne=oa.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,oa.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(oa.origin),oa.navigator&&/(msie|trident)/i.test(oa.navigator.userAgent)):()=>!0,Gne=oa.hasStandardBrowserEnv?{write(e,t,n,a,o,r,s){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];ke.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),ke.isString(a)&&l.push(`path=${a}`),ke.isString(o)&&l.push(`domain=${o}`),r===!0&&l.push("secure"),ke.isString(s)&&l.push(`SameSite=${s}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const a=t[n].replace(/^\s+/,""),o=a.indexOf("=");if(o!==-1&&a.slice(0,o)===e)return decodeURIComponent(a.slice(o+1))}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Xne(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Jne(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function AT(e,t,n){let a=!Xne(t);return e&&(a||n===!1)?Jne(e,t):t}const Y1=e=>e instanceof va?{...e}:e;function Ds(e,t){t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function a(c,d,f,p){return ke.isPlainObject(c)&&ke.isPlainObject(d)?ke.merge.call({caseless:p},c,d):ke.isPlainObject(d)?ke.merge({},d):ke.isArray(d)?d.slice():d}function o(c,d,f,p){if(ke.isUndefined(d)){if(!ke.isUndefined(c))return a(void 0,c,f,p)}else return a(c,d,f,p)}function r(c,d){if(!ke.isUndefined(d))return a(void 0,d)}function s(c,d){if(ke.isUndefined(d)){if(!ke.isUndefined(c))return a(void 0,c)}else return a(void 0,d)}function l(c,d,f){if(ke.hasOwnProp(t,f))return a(c,d);if(ke.hasOwnProp(e,f))return a(void 0,c)}const u={url:r,method:r,data:r,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,allowedSocketPaths:s,responseEncoding:s,validateStatus:l,headers:(c,d,f)=>o(Y1(c),Y1(d),f,!0)};return ke.forEach(Object.keys({...e,...t}),function(d){if(d==="__proto__"||d==="constructor"||d==="prototype")return;const f=ke.hasOwnProp(u,d)?u[d]:o,p=ke.hasOwnProp(e,d)?e[d]:void 0,g=ke.hasOwnProp(t,d)?t[d]:void 0,h=f(p,g,d);ke.isUndefined(h)&&f!==l||(n[d]=h)}),n}const Zne=["content-type","content-length"];function Qne(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t).forEach(([a,o])=>{Zne.includes(a.toLowerCase())&&e.set(a,o)})}const eae=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),LT=e=>{const t=Ds({},e),n=p=>ke.hasOwnProp(t,p)?t[p]:void 0,a=n("data");let o=n("withXSRFToken");const r=n("xsrfHeaderName"),s=n("xsrfCookieName");let l=n("headers");const u=n("auth"),c=n("baseURL"),d=n("allowAbsoluteUrls"),f=n("url");if(t.headers=l=va.from(l),t.url=$T(AT(c,f,d),e.params,e.paramsSerializer),u&&l.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?eae(u.password):""))),ke.isFormData(a)&&(oa.hasStandardBrowserEnv||oa.hasStandardBrowserWebWorkerEnv?l.setContentType(void 0):ke.isFunction(a.getHeaders)&&Qne(l,a.getHeaders(),n("formDataHeaderPolicy"))),oa.hasStandardBrowserEnv&&(ke.isFunction(o)&&(o=o(t)),o===!0||o==null&&Yne(t.url))){const g=r&&s&&Gne.read(s);g&&l.set(r,g)}return t},tae=typeof XMLHttpRequest<"u",nae=tae&&function(e){return new Promise(function(n,a){const o=LT(e);let r=o.data;const s=va.from(o.headers).normalize();let{responseType:l,onUploadProgress:u,onDownloadProgress:c}=o,d,f,p,g,h;function v(){g&&g(),h&&h(),o.cancelToken&&o.cancelToken.unsubscribe(d),o.signal&&o.signal.removeEventListener("abort",d)}let m=new XMLHttpRequest;m.open(o.method.toUpperCase(),o.url,!0),m.timeout=o.timeout;function b(){if(!m)return;const y=va.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),k={data:!l||l==="text"||l==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:y,config:e,request:m};PT(function(O){n(O),v()},function(O){a(O),v()},k),m=null}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.startsWith("file:"))||setTimeout(b)},m.onabort=function(){m&&(a(new Ct("Request aborted",Ct.ECONNABORTED,e,m)),v(),m=null)},m.onerror=function(S){const k=S&&S.message?S.message:"Network Error",x=new Ct(k,Ct.ERR_NETWORK,e,m);x.event=S||null,a(x),v(),m=null},m.ontimeout=function(){let S=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const k=o.transitional||Ag;o.timeoutErrorMessage&&(S=o.timeoutErrorMessage),a(new Ct(S,k.clarifyTimeoutError?Ct.ETIMEDOUT:Ct.ECONNABORTED,e,m)),v(),m=null},r===void 0&&s.setContentType(null),"setRequestHeader"in m&&ke.forEach(OT(s),function(S,k){m.setRequestHeader(k,S)}),ke.isUndefined(o.withCredentials)||(m.withCredentials=!!o.withCredentials),l&&l!=="json"&&(m.responseType=o.responseType),c&&([p,h]=Ed(c,!0),m.addEventListener("progress",p)),u&&m.upload&&([f,g]=Ed(u),m.upload.addEventListener("progress",f),m.upload.addEventListener("loadend",g)),(o.cancelToken||o.signal)&&(d=y=>{m&&(a(!y||y.type?new Uu(null,e,m):y),m.abort(),v(),m=null)},o.cancelToken&&o.cancelToken.subscribe(d),o.signal&&(o.signal.aborted?d():o.signal.addEventListener("abort",d)));const w=jne(o.url);if(w&&!oa.protocols.includes(w)){a(new Ct("Unsupported protocol "+w+":",Ct.ERR_BAD_REQUEST,e));return}m.send(r||null)})},aae=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let a=!1;const o=function(u){if(!a){a=!0,s();const c=u instanceof Error?u:this.reason;n.abort(c instanceof Ct?c:new Uu(c instanceof Error?c.message:c))}};let r=t&&setTimeout(()=>{r=null,o(new Ct(`timeout of ${t}ms exceeded`,Ct.ETIMEDOUT))},t);const s=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));const{signal:l}=n;return l.unsubscribe=()=>ke.asap(s),l},oae=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let a=0,o;for(;a<n;)o=a+t,yield e.slice(a,o),a=o},rae=async function*(e,t){for await(const n of sae(e))yield*oae(n,t)},sae=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:a}=await t.read();if(n)break;yield a}}finally{await t.cancel()}},G1=(e,t,n,a)=>{const o=rae(e,t);let r=0,s,l=u=>{s||(s=!0,a&&a(u))};return new ReadableStream({async pull(u){try{const{done:c,value:d}=await o.next();if(c){l(),u.close();return}let f=d.byteLength;if(n){let p=r+=f;n(p)}u.enqueue(new Uint8Array(d))}catch(c){throw l(c),c}},cancel(u){return l(u),o.return()}},{highWaterMark:2})};function lae(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),a=e.slice(t+1);if(/;base64/i.test(n)){let s=a.length;const l=a.length;for(let g=0;g<l;g++)if(a.charCodeAt(g)===37&&g+2<l){const h=a.charCodeAt(g+1),v=a.charCodeAt(g+2);(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(v>=48&&v<=57||v>=65&&v<=70||v>=97&&v<=102)&&(s-=2,g+=2)}let u=0,c=l-1;const d=g=>g>=2&&a.charCodeAt(g-2)===37&&a.charCodeAt(g-1)===51&&(a.charCodeAt(g)===68||a.charCodeAt(g)===100);c>=0&&(a.charCodeAt(c)===61?(u++,c--):d(c)&&(u++,c-=3)),u===1&&c>=0&&(a.charCodeAt(c)===61||d(c))&&u++;const p=Math.floor(s/4)*3-(u||0);return p>0?p:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(a,"utf8");let r=0;for(let s=0,l=a.length;s<l;s++){const u=a.charCodeAt(s);if(u<128)r+=1;else if(u<2048)r+=2;else if(u>=55296&&u<=56319&&s+1<l){const c=a.charCodeAt(s+1);c>=56320&&c<=57343?(r+=4,s++):r+=3}else r+=3}return r}const Dg="1.16.1",X1=64*1024,{isFunction:bc}=ke,J1=(e,...t)=>{try{return!!e(...t)}catch{return!1}},iae=e=>{const t=ke.global!==void 0&&ke.global!==null?ke.global:globalThis,{ReadableStream:n,TextEncoder:a}=t;e=ke.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:o,Request:r,Response:s}=e,l=o?bc(o):typeof fetch=="function",u=bc(r),c=bc(s);if(!l)return!1;const d=l&&bc(n),f=l&&(typeof a=="function"?(b=>w=>b.encode(w))(new a):async b=>new Uint8Array(await new r(b).arrayBuffer())),p=u&&d&&J1(()=>{let b=!1;const w=new r(oa.origin,{body:new n,method:"POST",get duplex(){return b=!0,"half"}}),y=w.headers.has("Content-Type");return w.body!=null&&w.body.cancel(),b&&!y}),g=c&&d&&J1(()=>ke.isReadableStream(new s("").body)),h={stream:g&&(b=>b.body)};l&&["text","arrayBuffer","blob","formData","stream"].forEach(b=>{!h[b]&&(h[b]=(w,y)=>{let S=w&&w[b];if(S)return S.call(w);throw new Ct(`Response type '${b}' is not supported`,Ct.ERR_NOT_SUPPORT,y)})});const v=async b=>{if(b==null)return 0;if(ke.isBlob(b))return b.size;if(ke.isSpecCompliantForm(b))return(await new r(oa.origin,{method:"POST",body:b}).arrayBuffer()).byteLength;if(ke.isArrayBufferView(b)||ke.isArrayBuffer(b))return b.byteLength;if(ke.isURLSearchParams(b)&&(b=b+""),ke.isString(b))return(await f(b)).byteLength},m=async(b,w)=>{const y=ke.toFiniteNumber(b.getContentLength());return y??v(w)};return async b=>{let{url:w,method:y,data:S,signal:k,cancelToken:x,timeout:O,onDownloadProgress:T,onUploadProgress:I,responseType:_,headers:N,withCredentials:$="same-origin",fetchOptions:B,maxContentLength:K,maxBodyLength:j}=LT(b);const W=ke.isNumber(K)&&K>-1,A=ke.isNumber(j)&&j>-1;let P=o||fetch;_=_?(_+"").toLowerCase():"text";let V=aae([k,x&&x.toAbortSignal()],O),F=null;const H=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let U;try{if(W&&typeof w=="string"&&w.startsWith("data:")&&lae(w)>K)throw new Ct("maxContentLength size of "+K+" exceeded",Ct.ERR_BAD_RESPONSE,b,F);if(A&&y!=="get"&&y!=="head"){const de=await m(N,S);if(typeof de=="number"&&isFinite(de)&&de>j)throw new Ct("Request body larger than maxBodyLength limit",Ct.ERR_BAD_REQUEST,b,F)}if(I&&p&&y!=="get"&&y!=="head"&&(U=await m(N,S))!==0){let de=new r(w,{method:"POST",body:S,duplex:"half"}),ue;if(ke.isFormData(S)&&(ue=de.headers.get("content-type"))&&N.setContentType(ue),de.body){const[Y,Q]=U1(U,Ed(q1(I)));S=G1(de.body,X1,Y,Q)}}ke.isString($)||($=$?"include":"omit");const J=u&&"credentials"in r.prototype;if(ke.isFormData(S)){const de=N.getContentType();de&&/^multipart\/form-data/i.test(de)&&!/boundary=/i.test(de)&&N.delete("content-type")}N.set("User-Agent","axios/"+Dg,!1);const ee={...B,signal:V,method:y.toUpperCase(),headers:OT(N.normalize()),body:S,duplex:"half",credentials:J?$:void 0};F=u&&new r(w,ee);let ae=await(u?P(F,B):P(w,ee));if(W){const de=ke.toFiniteNumber(ae.headers.get("content-length"));if(de!=null&&de>K)throw new Ct("maxContentLength size of "+K+" exceeded",Ct.ERR_BAD_RESPONSE,b,F)}const ce=g&&(_==="stream"||_==="response");if(g&&ae.body&&(T||W||ce&&H)){const de={};["status","statusText","headers"].forEach(te=>{de[te]=ae[te]});const ue=ke.toFiniteNumber(ae.headers.get("content-length")),[Y,Q]=T&&U1(ue,Ed(q1(T),!0))||[];let L=0;const q=te=>{if(W&&(L=te,L>K))throw new Ct("maxContentLength size of "+K+" exceeded",Ct.ERR_BAD_RESPONSE,b,F);Y&&Y(te)};ae=new s(G1(ae.body,X1,q,()=>{Q&&Q(),H&&H()}),de)}_=_||"text";let Z=await h[ke.findKey(h,_)||"text"](ae,b);if(W&&!g&&!ce){let de;if(Z!=null&&(typeof Z.byteLength=="number"?de=Z.byteLength:typeof Z.size=="number"?de=Z.size:typeof Z=="string"&&(de=typeof a=="function"?new a().encode(Z).byteLength:Z.length)),typeof de=="number"&&de>K)throw new Ct("maxContentLength size of "+K+" exceeded",Ct.ERR_BAD_RESPONSE,b,F)}return!ce&&H&&H(),await new Promise((de,ue)=>{PT(de,ue,{data:Z,headers:va.from(ae.headers),status:ae.status,statusText:ae.statusText,config:b,request:F})})}catch(J){if(H&&H(),V&&V.aborted&&V.reason instanceof Ct){const ee=V.reason;throw ee.config=b,F&&(ee.request=F),J!==ee&&(ee.cause=J),ee}throw J&&J.name==="TypeError"&&/Load failed|fetch/i.test(J.message)?Object.assign(new Ct("Network Error",Ct.ERR_NETWORK,b,F,J&&J.response),{cause:J.cause||J}):Ct.from(J,J&&J.code,b,F,J&&J.response)}}},uae=new Map,DT=e=>{let t=e&&e.env||{};const{fetch:n,Request:a,Response:o}=t,r=[a,o,n];let s=r.length,l=s,u,c,d=uae;for(;l--;)u=r[l],c=d.get(u),c===void 0&&d.set(u,c=l?new Map:iae(t)),d=c;return c};DT();const Bg={http:Rne,xhr:nae,fetch:{get:DT}};ke.forEach(Bg,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const Z1=e=>`- ${e}`,cae=e=>ke.isFunction(e)||e===null||e===!1;function dae(e,t){e=ke.isArray(e)?e:[e];const{length:n}=e;let a,o;const r={};for(let s=0;s<n;s++){a=e[s];let l;if(o=a,!cae(a)&&(o=Bg[(l=String(a)).toLowerCase()],o===void 0))throw new Ct(`Unknown adapter '${l}'`);if(o&&(ke.isFunction(o)||(o=o.get(t))))break;r[l||"#"+s]=o}if(!o){const s=Object.entries(r).map(([u,c])=>`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build"));let l=n?s.length>1?`since : +`+s.map(Z1).join(` +`):" "+Z1(s[0]):"as no adapter specified";throw new Ct("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o}const BT={getAdapter:dae,adapters:Bg};function Vp(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Uu(null,e)}function Q1(e){return Vp(e),e.headers=va.from(e.headers),e.data=Bp.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),BT.getAdapter(e.adapter||ju.adapter,e)(e).then(function(a){Vp(e),e.response=a;try{a.data=Bp.call(e,e.transformResponse,a)}finally{delete e.response}return a.headers=va.from(a.headers),a},function(a){if(!MT(a)&&(Vp(e),a&&a.response)){e.response=a.response;try{a.response.data=Bp.call(e,e.transformResponse,a.response)}finally{delete e.response}a.response.headers=va.from(a.response.headers)}return Promise.reject(a)})}const $f={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{$f[e]=function(a){return typeof a===e||"a"+(t<1?"n ":" ")+e}});const ew={};$f.transitional=function(t,n,a){function o(r,s){return"[Axios v"+Dg+"] Transitional option '"+r+"'"+s+(a?". "+a:"")}return(r,s,l)=>{if(t===!1)throw new Ct(o(s," has been removed"+(n?" in "+n:"")),Ct.ERR_DEPRECATED);return n&&!ew[s]&&(ew[s]=!0,console.warn(o(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,s,l):!0}};$f.spelling=function(t){return(n,a)=>(console.warn(`${a} is likely a misspelling of ${t}`),!0)};function fae(e,t,n){if(typeof e!="object")throw new Ct("options must be an object",Ct.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let o=a.length;for(;o-- >0;){const r=a[o],s=Object.prototype.hasOwnProperty.call(t,r)?t[r]:void 0;if(s){const l=e[r],u=l===void 0||s(l,r,e);if(u!==!0)throw new Ct("option "+r+" must be "+u,Ct.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ct("Unknown option "+r,Ct.ERR_BAD_OPTION)}}const Fc={assertOptions:fae,validators:$f},Ka=Fc.validators;let xs=class{constructor(t){this.defaults=t||{},this.interceptors={request:new j1,response:new j1}}async request(t,n){try{return await this._request(t,n)}catch(a){if(a instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const r=(()=>{if(!o.stack)return"";const s=o.stack.indexOf(` +`);return s===-1?"":o.stack.slice(s+1)})();try{if(!a.stack)a.stack=r;else if(r){const s=r.indexOf(` +`),l=s===-1?-1:r.indexOf(` +`,s+1),u=l===-1?"":r.slice(l+1);String(a.stack).endsWith(u)||(a.stack+=` +`+r)}}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ds(this.defaults,n);const{transitional:a,paramsSerializer:o,headers:r}=n;a!==void 0&&Fc.assertOptions(a,{silentJSONParsing:Ka.transitional(Ka.boolean),forcedJSONParsing:Ka.transitional(Ka.boolean),clarifyTimeoutError:Ka.transitional(Ka.boolean),legacyInterceptorReqResOrdering:Ka.transitional(Ka.boolean)},!1),o!=null&&(ke.isFunction(o)?n.paramsSerializer={serialize:o}:Fc.assertOptions(o,{encode:Ka.function,serialize:Ka.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Fc.assertOptions(n,{baseUrl:Ka.spelling("baseURL"),withXsrfToken:Ka.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=r&&ke.merge(r.common,r[n.method]);r&&ke.forEach(["delete","get","head","post","put","patch","query","common"],h=>{delete r[h]}),n.headers=va.concat(s,r);const l=[];let u=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;u=u&&v.synchronous;const m=n.transitional||Ag;m&&m.legacyInterceptorReqResOrdering?l.unshift(v.fulfilled,v.rejected):l.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let d,f=0,p;if(!u){const h=[Q1.bind(this),void 0];for(h.unshift(...l),h.push(...c),p=h.length,d=Promise.resolve(n);f<p;)d=d.then(h[f++],h[f++]);return d}p=l.length;let g=n;for(;f<p;){const h=l[f++],v=l[f++];try{g=h(g)}catch(m){v.call(this,m);break}}try{d=Q1.call(this,g)}catch(h){return Promise.reject(h)}for(f=0,p=c.length;f<p;)d=d.then(c[f++],c[f++]);return d}getUri(t){t=Ds(this.defaults,t);const n=AT(t.baseURL,t.url,t.allowAbsoluteUrls);return $T(n,t.params,t.paramsSerializer)}};ke.forEach(["delete","get","head","options"],function(t){xs.prototype[t]=function(n,a){return this.request(Ds(a||{},{method:t,url:n,data:(a||{}).data}))}});ke.forEach(["post","put","patch","query"],function(t){function n(a){return function(r,s,l){return this.request(Ds(l||{},{method:t,headers:a?{"Content-Type":"multipart/form-data"}:{},url:r,data:s}))}}xs.prototype[t]=n(),t!=="query"&&(xs.prototype[t+"Form"]=n(!0))});let pae=class VT{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(r){n=r});const a=this;this.promise.then(o=>{if(!a._listeners)return;let r=a._listeners.length;for(;r-- >0;)a._listeners[r](o);a._listeners=null}),this.promise.then=o=>{let r;const s=new Promise(l=>{a.subscribe(l),r=l}).then(o);return s.cancel=function(){a.unsubscribe(r)},s},t(function(r,s,l){a.reason||(a.reason=new Uu(r,s,l),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new VT(function(o){t=o}),cancel:t}}};function hae(e){return function(n){return e.apply(null,n)}}function vae(e){return ke.isObject(e)&&e.isAxiosError===!0}const gv={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(gv).forEach(([e,t])=>{gv[t]=e});function FT(e){const t=new xs(e),n=yT(xs.prototype.request,t);return ke.extend(n,xs.prototype,t,{allOwnKeys:!0}),ke.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return FT(Ds(e,o))},n}const An=FT(ju);An.Axios=xs;An.CanceledError=Uu;An.CancelToken=pae;An.isCancel=MT;An.VERSION=Dg;An.toFormData=If;An.AxiosError=Ct;An.Cancel=An.CanceledError;An.all=function(t){return Promise.all(t)};An.spread=hae;An.isAxiosError=vae;An.mergeConfig=Ds;An.AxiosHeaders=va;An.formToJSON=e=>NT(ke.isHTMLForm(e)?new FormData(e):e);An.getAdapter=BT.getAdapter;An.HttpStatusCode=gv;An.default=An;const{Axios:$oe,AxiosError:Noe,CanceledError:Moe,isCancel:Poe,CancelToken:Aoe,VERSION:Loe,all:Doe,Cancel:Boe,isAxiosError:Voe,spread:Foe,toFormData:zoe,AxiosHeaders:Hoe,HttpStatusCode:Koe,formToJSON:Woe,getAdapter:joe,mergeConfig:Uoe,create:qoe}=An,mae="/api",Xl=An.create({baseURL:mae,timeout:15e3,headers:{"Content-Type":"application/json"},withCredentials:!0});Xl.interceptors.request.use(e=>{const t=localStorage.getItem("simple.auth.token");t&&e.headers.set("Authorization",`Bearer ${t}`);const n=localStorage.getItem("simple.auth.scope");return n&&e.headers.set("X-Scope",n),e});function gae(e){const t=e.response?.status,n=e.config?.url??"",a=n.startsWith("/sl/")||n.startsWith("sl/");if(t===502||t===504||e.code==="ECONNABORTED"||e.code==="ERR_NETWORK")return a?"SimpleLite 未连接:请先启动 SimpleLite 后端(监听端口 8222)后重试。":`网关无法连接到下游服务(${t??e.code??"network"})。`;const o=e.response?.data;return o?.message?o.message:e.message}Xl.interceptors.response.use(e=>e,e=>{if(e.response?.status===401){try{localStorage.removeItem("simple.auth.token"),localStorage.removeItem("simple.auth.user"),localStorage.removeItem("simple.auth.scope"),localStorage.removeItem("simple.auth.runMode"),localStorage.removeItem("simple.auth.perm")}catch{}location.pathname!=="/login"&&location.assign("/login")}const t=gae(e);try{Object.defineProperty(e,"message",{value:t,configurable:!0})}catch{}return Promise.reject(e)});new Date().toISOString();new Date().toISOString();const bae={dispatchLoopHz:50,log:{level:"info",rollDays:7,maxSizeMB:256},security:{jwtExpireMin:1440,enableSwagger:!1,corsWhitelist:["http://localhost:5173","https://*.intra"]}},yae={mes:[{id:"mes-1",name:"MES 主线",url:"http://mes.lan/api",enabled:!0}],wms:[{id:"wms-1",name:"WMS 仓储",url:"http://wms.lan/api",enabled:!0}],rcs:[]},wae={algorithm:"astar",weights:{distance:1,congestion:.5,turnPenalty:.2},avoidance:[{id:"AV1",zoneId:"Z-NORTH",rule:"no-entry-while-loading"}],zoneSpeedLimits:[{zoneId:"Z-NARROW",maxSpeedMps:.5}]},Sae={lowBatteryThreshold:.3,criticalBatteryThreshold:.15,faultReport:{enabled:!0,emailTo:["ops@example.com"]},autoRepair:{enabled:!1,cooldownSec:600}},Cae={allowMidTaskCharge:!1,idleChargeAfterSec:300,priority:[{id:"CP1",condition:"soc<0.2",weight:100},{id:"CP2",condition:"idle>5min",weight:30}]},kae={mode:"leastLoad",loadBalance:!0,maxQueuePerCar:3},Eae={intersections:[{id:"IX1",siteIds:["S006","S007"],mode:"mutex"}],mutex:[{id:"MZ1",zoneIds:["Z-CROSS"]}],yields:[{id:"YD1",from:"A 区",to:"B 区",condition:"priority<peer"}]},xae={roles:[{id:"role-admin",name:"管理员",scope:"Platform",permissions:["*"],widgetGrants:[]},{id:"role-ops",name:"运营",scope:"RCSMonitor",permissions:["ops.car.pause","ops.car.resume","ops.car.gohome","ops.task.pause","ops.task.cancel","ops.task.reassign","ops.task.boostPriority","monitor.note.write"],widgetGrants:[{widgetId:"MapEditor",visibility:"readonly"},{widgetId:"CadToolbar",visibility:"hidden"}]}],users:[{id:"u-admin",username:"admin",roles:["role-admin"],enabled:!0},{id:"u-ops",username:"ops",roles:["role-ops"],enabled:!0}]},Tae={drivers:[{id:"drv-elev",deviceType:"电梯",driverName:"OpcUaElevatorDriver",version:"1.2.0"},{id:"drv-chrg",deviceType:"充电桩",driverName:"ModbusChargerDriver",version:"1.0.5"},{id:"drv-cam",deviceType:"摄像头",driverName:"OnvifCameraDriver",version:"2.1.0"}],devices:[{id:"dev-elev-1",name:"#1 电梯",deviceType:"电梯",protocol:"opc-ua",address:"opc.tcp://10.0.2.20:4840",driverId:"drv-elev",enabled:!0},{id:"dev-chrg-1",name:"充电桩-A1",deviceType:"充电桩",protocol:"modbus-tcp",address:"10.0.2.30:502",driverId:"drv-chrg",enabled:!0}],healthPolicy:{heartbeatSec:5,offlineSec:30},alarmPolicy:{enabled:!0,rules:[{level:"warn",condition:"offline>30s"},{level:"error",condition:"driverException"}]}},Oae={groups:[{id:"G-A",name:"A 区车队",floor:"F1",region:"A",carIds:["C01","C02","C03"]},{id:"G-B",name:"B 区车队",floor:"F1",region:"B",carIds:["C04","C05"]}],ota:{enabled:!0,batchSize:2,rollbackOnFail:!0},batchOps:{confirmationRequired:!0,maxBatch:10},networkDiag:{rttThresholdMs:80,packetLossThreshold:.02}},_ae={templates:[{id:"tpl-sps",name:"SPS 物料配送",category:"SPS",version:"1.0.0",baselineJson:"{}"},{id:"tpl-pack",name:"电池 Pack 自动化产线",category:"BatteryPack",version:"1.0.0",baselineJson:"{}"},{id:"tpl-loop",name:"环线运行",category:"Loop",version:"1.0.0",baselineJson:"{}"},{id:"tpl-p2p",name:"点对点柔性搬运",category:"P2P",version:"1.0.0",baselineJson:"{}"}],dslPolicy:{enabled:!0,schemaVersion:"1"},lowCode:{enabled:!1,editor:"json"},versionPolicy:{keepVersions:10,allowRollback:!0}},Rae={locations:[{id:"L01",code:"A-01",name:"A 区货架 1",siteId:"S001",capacity:20,occupied:12},{id:"L02",code:"A-02",name:"A 区货架 2",siteId:"S002",capacity:20,occupied:7},{id:"L03",code:"B-01",name:"B 区缓存",siteId:"S003",capacity:30,occupied:25}],inventoryRules:[{id:"IR1",itemType:"PalletA",minQty:5,maxQty:30}]},Iae={playback:{retentionDays:30,samplingHz:5},logRetention:{hotDays:7,coldDays:180},version:{keepReleases:5},monitor:{car:{propertyKeys:[],statusKeys:[],actionKeys:[]},site:{propertyKeys:[],statusKeys:[],actionKeys:[]},track:{propertyKeys:[],statusKeys:[],actionKeys:[]},carActionByType:{}}},$ae={items:[{id:"widget-call-button",name:"呼叫按钮",schemaJson:'{"fields":[{"name":"siteId"}]}',layoutJson:'{"x":0,"y":0,"w":2,"h":1}',bindToScopes:["RCSMonitor"]}]},zT={system:bae,integrations:yae,routing:wae,vehicle:Sae,charge:Cae,task:kae,traffic:Eae,auth:xae,device:Tae,fleet:Oae,scenario:_ae,location:Rae,ops:Iae,widget:$ae};function bv(){return new Date().toISOString()}const Nae="simple-platform-mock-config",tw=new Map;function Mae(){try{const e=localStorage.getItem(Nae);if(e)return JSON.parse(e)}catch{}return{}}function Pae(e){let t=tw.get(e);return t||(t=Mae()[e]??{section:e,version:1,updatedAt:bv(),payload:zT[e]},tw.set(e,t)),t}for(const e of Object.keys(zT))Pae(e);bv(),bv();async function Aae(e){const{data:t}=await Xl.post("/auth/login",e);return t}async function Lae(){await Xl.post("/auth/logout")}async function Dae(e){const{data:t}=await Xl.post("/auth/switch-scope",{scope:e});return t}async function Bae(){const{data:e}=await Xl.get("/auth/me");return e}const xd="simple.auth.token",Pi="simple.auth.user",Ai="simple.auth.scope",Li="simple.auth.runMode",Di="simple.auth.perm";function nw(e){try{const t=localStorage.getItem(e);return t==null?null:JSON.parse(t)}catch{return null}}function Fp(e){try{return localStorage.getItem(e)}catch{return null}}function Vae(){return{token:Fp(xd),user:nw(Pi),scope:Fp(Ai),runMode:Fp(Li),effectivePermissions:nw(Di),validated:!1}}function zp(e){e.token=null,e.user=null,e.scope=null,e.runMode=null,e.effectivePermissions=null,e.validated=!1;try{localStorage.removeItem(xd),localStorage.removeItem(Pi),localStorage.removeItem(Ai),localStorage.removeItem(Li),localStorage.removeItem(Di)}catch{}}const Fae=V2("auth",{state:()=>Vae(),getters:{isAuthed:e=>!!e.token,hasOp:e=>t=>{const n=e.effectivePermissions?.allowedOps??[];return n.includes("*")||n.includes(t)},widgetOf:e=>t=>e.effectivePermissions?.visibleWidgets.find(a=>a.widgetId===t)?.visibility??"interactive"},actions:{async login(e){const t=await Aae(e);return this.token=t.token,this.user=t.user,this.scope=t.scope,this.runMode=t.runMode,this.effectivePermissions=t.effectivePermissions,this.validated=!0,localStorage.setItem(xd,t.token),localStorage.setItem(Pi,JSON.stringify(t.user)),localStorage.setItem(Ai,t.scope),localStorage.setItem(Li,t.runMode),localStorage.setItem(Di,JSON.stringify(t.effectivePermissions)),t},async logout(){try{await Lae()}catch{}zp(this)},async validate(){if(!this.token)throw zp(this),new Error("no-token");try{const e=await Bae();this.user=e.user,this.scope=e.scope,this.runMode=e.runMode,this.effectivePermissions=e.effectivePermissions,this.validated=!0,localStorage.setItem(Pi,JSON.stringify(e.user)),localStorage.setItem(Ai,e.scope),localStorage.setItem(Li,e.runMode),localStorage.setItem(Di,JSON.stringify(e.effectivePermissions))}catch(e){if(e instanceof Error&&e.message==="mock-mode-skip-me-validation"){this.validated=!0;return}throw zp(this),e}},async switchScope(e){const t=await Dae(e);return this.token=t.token,this.user=t.user,this.scope=t.scope,this.runMode=t.runMode,this.effectivePermissions=t.effectivePermissions,this.validated=!0,localStorage.setItem(xd,t.token),localStorage.setItem(Pi,JSON.stringify(t.user)),localStorage.setItem(Ai,t.scope),localStorage.setItem(Li,t.runMode),localStorage.setItem(Di,JSON.stringify(t.effectivePermissions)),t}}}),zae=[{path:"/login",name:"login",component:()=>nn(()=>import("./LoginView-D_TsC36_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])),meta:{layout:"blank",public:!0,title:"登录"}},{path:"/status",name:"status",component:()=>nn(()=>import("./ServiceStatusView-BYOao_aT.js"),__vite__mapDeps([12,13,3,14,5,15,16])),meta:{layout:"blank",public:!0,title:"服务状态"}},{path:"/admin",component:()=>nn(()=>import("./AppShell-VGUYhBS-.js"),__vite__mapDeps([17,1,18,3,19,11,5,20,21,22])),meta:{scope:"Platform"},redirect:"/admin/dashboard",children:[{path:"dashboard",name:"admin-dashboard",component:()=>nn(()=>import("./DashboardView-Cx5dlpj0.js"),__vite__mapDeps([23,24,25,26,3,27,9,14])),meta:{title:"总览"}},{path:"map-monitor",name:"admin-map-monitor",component:()=>nn(()=>import("./MapMonitorView-C7AnAWKd.js"),__vite__mapDeps([28,29,30,3,5,16,25,31,32,1,33,11,34,19,10,35,36,21,20,24,37,38,14,39,40,41,42,7])),meta:{title:"地图监控"}},{path:"map-editor",name:"admin-map-editor",component:()=>nn(()=>import("./MapEditorView-CaYR0T6s.js"),__vite__mapDeps([43,1,29,30,3,5,16,31,44,37,25,45,34,19,11,10,35,7,46,47,20,21,27,4,48,49,8,42,6,22,41,9,50])),meta:{title:"地图编辑"}},{path:"tracks",name:"admin-tracks",component:()=>nn(()=>import("./TrackTableView-U1RVSBQt.js"),__vite__mapDeps([51,52,1,25,44,37,53,3,50,34,4,22,15,7,8,5,46,47,16,14,36,19,11,10,35,20,21,54,27])),meta:{title:"场景管理"}},{path:"cars",name:"admin-cars",component:()=>nn(()=>import("./CarPanelView-C8B0n-h4.js"),__vite__mapDeps([55,52,1,25,44,37,53,3,50,34,4,22,15,7,8,5,46,47,16,14,36,19,11,10,35,20,21,56,27,6,39])),meta:{title:"车辆管理"}},{path:"processes",name:"admin-processes",component:()=>nn(()=>import("./ProcessPanelView-Bgs-UWlW.js"),__vite__mapDeps([57,52,1,25,44,37,53,3,50,34,4,22,15,7,8,5,46,47,16,14,36,19,11,10,35,20,21,58])),meta:{title:"进程管理"}},{path:"scripts",name:"admin-scripts",component:()=>nn(()=>import("./ScriptPanelView-DnxZ-d2X.js"),__vite__mapDeps([59,52,1,25,44,37,53,3,50,34,4,22,15,7,8,5,46,47,16,14,36,19,11,10,35,20,21,60])),meta:{title:"脚本管理"}},{path:"missions",name:"admin-missions",component:()=>nn(()=>import("./MissionEditorView-UptDJACU.js"),__vite__mapDeps([61,52,1,25,44,37,53,3,50,34,4,22,15,7,8,5,46,47,16,14,36,19,11,10,35,20,21,62])),meta:{title:"任务编排"}},{path:"project-properties",name:"admin-project-properties",component:()=>nn(()=>import("./ProjectPropertiesView-BUmjY6Qh.js"),__vite__mapDeps([63,1,25,64,3,27,50,14,36,19,11,10,35,16,7,8,47,5,15])),meta:{title:"项目属性"}},{path:"playback",name:"admin-playback",component:()=>nn(()=>import("./PlaybackView-BUHRaurd.js"),__vite__mapDeps([65,1,66,3,14,19,11,10,35,16,48,39,5,7])),meta:{title:"调度回放"}},{path:"config/system",name:"admin-config-system",component:()=>nn(()=>import("./SystemConfigView-ByKpKyii.js"),__vite__mapDeps([67,68,69,70,25,71,3,39,14,5,16,31,72,4,7,47,19,11,42,48,8,6,46])),meta:{title:"系统级配置"}},{path:"config/integrations",name:"admin-config-integrations",component:()=>nn(()=>import("./ExternalIntegrationView-ERIDBz7X.js"),__vite__mapDeps([73,1,68,69,70,25,71,3,39,14,5,16,27,19,11,10,35,47,7])),meta:{title:"外部系统对接"}},{path:"config/routing",name:"admin-config-routing",component:()=>nn(()=>import("./RoutingPolicyView-nAYjmKqM.js"),__vite__mapDeps([74,1,68,69,70,25,71,3,39,14,5,16,4,19,11,10,35,7,8,42])),meta:{title:"路径规划策略"}},{path:"config/vehicle",name:"admin-config-vehicle",component:()=>nn(()=>import("./VehicleMaintenanceView-BU7QbnHX.js"),__vite__mapDeps([75,1,68,69,70,25,71,3,39,14,5,16,76,4,7,8,47,48,11])),meta:{title:"车辆维护策略"}},{path:"config/charge",name:"admin-config-charge",component:()=>nn(()=>import("./ChargePolicyView-BxJAPKKv.js"),__vite__mapDeps([77,1,68,69,70,25,71,3,39,14,5,16,4,19,11,10,35,7,8,47])),meta:{title:"充电逻辑"}},{path:"config/task",name:"admin-config-task",component:()=>nn(()=>import("./TaskAllocationView-DFHXgXFu.js"),__vite__mapDeps([78,68,69,70,25,71,3,39,14,5,16,4,7,8,47,22])),meta:{title:"任务分配"}},{path:"config/traffic",name:"admin-config-traffic",component:()=>nn(()=>import("./TrafficRuleView-BLrd2OSe.js"),__vite__mapDeps([79,1,68,69,70,25,71,3,39,14,5,16,27,19,11,10,35])),meta:{title:"交通管制"}},{path:"config/auth",name:"admin-config-auth",component:()=>nn(()=>import("./AuthRoleView-C2B4SEfx.js"),__vite__mapDeps([80,1,68,69,70,25,71,3,39,14,5,16,27,47,19,11,10,35])),meta:{title:"权限角色"}},{path:"config/device",name:"admin-config-device",component:()=>nn(()=>import("./DeviceHubView-DdDpWQEi.js"),__vite__mapDeps([81,1,68,69,70,25,71,3,39,14,5,16,27,15,47,19,11,10,35])),meta:{title:"设备接入"}},{path:"config/fleet",name:"admin-config-fleet",component:()=>nn(()=>import("./FleetLifecycleView-qDfurtqR.js"),__vite__mapDeps([82,1,68,69,70,25,71,3,39,14,5,16,27,15,19,11,10,35])),meta:{title:"车队生命周期"}},{path:"config/scenario",name:"admin-config-scenario",component:()=>nn(()=>import("./ScenarioTemplateView-w7x237Pe.js"),__vite__mapDeps([83,68,69,70,25,71,3,39,14,5,16,84,15,48])),meta:{title:"场景模板"}},{path:"config/location",name:"admin-config-location",component:()=>nn(()=>import("./LocationView-BM2ilHau.js"),__vite__mapDeps([85,1,68,69,70,25,71,3,39,14,5,16,27,19,11,10,35,41])),meta:{title:"库位管理"}},{path:"config/ops",name:"admin-config-ops",component:()=>nn(()=>import("./OpsConfigView-CYCdWXE0.js"),__vite__mapDeps([86,68,69,70,25,71,3,39,14,5,16,87,4,6,10,88,49,7,8,48])),meta:{title:"运营维护"}},{path:"config/widget",name:"admin-config-widget",component:()=>nn(()=>import("./CustomWidgetView-C3i7AzNk.js"),__vite__mapDeps([89,1,68,69,70,25,71,3,39,14,5,16,90,19,11,10,35])),meta:{title:"自定义控件"}},{path:"config/map-monitor",name:"admin-config-map-monitor",component:()=>nn(()=>import("./MapMonitorConfigView-BIPqxkT5.js"),__vite__mapDeps([91,69,70,25,92,3,50,14,27,5,16,49,10,88,20])),meta:{title:"地图监控配置"}}]},{path:"/monitor",component:()=>nn(()=>import("./AppShell-VGUYhBS-.js"),__vite__mapDeps([17,1,18,3,19,11,5,20,21,22])),meta:{scope:"RCSMonitor"},redirect:"/monitor/map",children:[{path:"dashboard",name:"monitor-dashboard",component:()=>nn(()=>import("./MonitorDashboardView-ChnHSdxd.js"),__vite__mapDeps([93,1,24,25,94,95,3,14,19,11,10,35,41,16,39,40])),meta:{title:"运营总览"}},{path:"map",name:"monitor-map",component:()=>nn(()=>import("./MonitorMapView-CClr5C8k.js"),__vite__mapDeps([96,1,29,30,3,5,16,32,33,11,34,19,10,35,36,21,20,97,24,25,94,98,39,14,15,42,22,49])),meta:{title:"地图监控"}},{path:"ops",name:"monitor-ops",component:()=>nn(()=>import("./OpsActionPanelView-OY2jAcDK.js"),__vite__mapDeps([99,1,69,70,97,94,100,3,14,19,11,10,35,5,7,16])),meta:{title:"运维操作"}},{path:"notes",name:"monitor-notes",component:()=>nn(()=>import("./AnnotationView-B4kZBtzl.js"),__vite__mapDeps([101,1,3,14,19,11,10,35,16,48,4,5,42,7])),meta:{title:"运营备注"}}]},{path:"/",redirect:"/login"},{path:"/:pathMatch(.*)*",redirect:"/login"}],Vg=Tte({history:ote(),routes:zae});Vg.beforeEach(async e=>{const t=Fae();if(e.meta.public)return!0;if(!t.isAuthed)return{path:"/login",query:{redirect:e.fullPath}};if(!t.validated)try{await t.validate()}catch{return{path:"/login",query:{redirect:e.fullPath}}}try{e.path.startsWith("/admin")&&t.scope!=="Platform"?await t.switchScope("Platform"):e.path.startsWith("/monitor")&&t.scope!=="RCSMonitor"&&await t.switchScope("RCSMonitor")}catch{}return!0});Vg.afterEach(e=>{const t="迷毂";document.title=e.meta.title?`${e.meta.title} · ${t}`:t});const Hae="fame-lavender",zc=[{id:"fame-lavender",name:"迷毂浅紫",description:"参考 FAME 系统:深紫侧栏 + 浅紫白主区,柔和耐看,长时间使用不刺眼",preview:"#7c3aed",previewAccent:"#a855f7",vars:{"--mg-primary":"#7c3aed","--mg-primary-rgb":"124, 58, 237","--mg-primary-hover":"#8b5cf6","--mg-primary-hover-rgb":"139, 92, 246","--mg-primary-active":"#5b21b6","--mg-accent":"#a855f7","--mg-accent-rgb":"168, 85, 247","--mg-primary-light-3":"#a78bfa","--mg-primary-light-5":"#c4b5fd","--mg-primary-light-7":"#ddd6fe","--mg-primary-light-8":"#ede9fe","--mg-primary-light-9":"#f5f3ff","--mg-primary-dark-2":"#6d28d9","--mg-bg-app-1":"#f5f0fb","--mg-bg-app-2":"#f0eaf6","--mg-bg-app-3":"#faf7fd","--mg-bg-app-deep-rgb":"240, 234, 246","--mg-bg-aside-1":"#2d1b69","--mg-bg-aside-2":"#1a1040","--mg-bg-aside-rgb":"45, 27, 105","--mg-bg-card-rgb":"255, 255, 255","--mg-bg-card-hi-rgb":"249, 246, 255","--mg-bg-card-darker-rgb":"245, 240, 251","--mg-shadow-rgb":"124, 58, 237","--mg-text-tint-rgb":"45, 27, 105","--mg-text-hi-rgb":"96, 98, 102","--mg-orb-a-opacity":"0","--mg-orb-b-opacity":"0","--mg-orb-c-opacity":"0"}},{id:"industrial-purple",name:"星云紫",description:"科幻紫主色,辅以蓝紫渐变,磨砂玻璃 · 霓虹辉光",preview:"#7c3aed",previewAccent:"#c4b5fd",vars:{"--mg-primary":"#7c3aed","--mg-primary-rgb":"124, 58, 237","--mg-primary-hover":"#8b5cf6","--mg-primary-hover-rgb":"139, 92, 246","--mg-primary-active":"#5b21b6","--mg-accent":"#c4b5fd","--mg-accent-rgb":"196, 181, 253","--mg-primary-light-3":"#9d6cf2","--mg-primary-light-5":"#b594f7","--mg-primary-light-7":"#6f4eab","--mg-primary-light-8":"#4c357a","--mg-primary-light-9":"#2d1f55","--mg-primary-dark-2":"#4c1d95","--mg-bg-app-1":"#0e0a24","--mg-bg-app-2":"#1f1147","--mg-bg-app-3":"#06031a","--mg-bg-app-deep-rgb":"6, 3, 26","--mg-bg-aside-1":"#0c0820","--mg-bg-aside-2":"#03020e","--mg-bg-aside-rgb":"10, 6, 30","--mg-bg-card-rgb":"38, 24, 78","--mg-bg-card-hi-rgb":"58, 38, 110","--mg-bg-card-darker-rgb":"20, 12, 48","--mg-shadow-rgb":"8, 2, 24","--mg-text-tint-rgb":"242, 232, 255","--mg-text-hi-rgb":"220, 200, 252","--mg-orb-a-opacity":"0.55","--mg-orb-b-opacity":"0.50","--mg-orb-c-opacity":"0.40"}},{id:"deep-azure",name:"深邃蓝",description:"科技感深蓝,沉静稳重",preview:"#1565c0",previewAccent:"#82b1ff",vars:{"--mg-primary":"#1565c0","--mg-primary-rgb":"21, 101, 192","--mg-primary-hover":"#1976d2","--mg-primary-hover-rgb":"25, 118, 210","--mg-primary-active":"#0d47a1","--mg-accent":"#82b1ff","--mg-accent-rgb":"130, 177, 255","--mg-primary-light-3":"#5a8fce","--mg-primary-light-5":"#83aedb","--mg-primary-light-7":"#adcde7","--mg-primary-light-8":"#c4dbed","--mg-primary-light-9":"#e3eef8","--mg-primary-dark-2":"#0d47a1","--mg-bg-app-1":"#051a3a","--mg-bg-app-2":"#0a2f6b","--mg-bg-app-3":"#020a1f","--mg-bg-app-deep-rgb":"2, 8, 26","--mg-bg-aside-1":"#06122a","--mg-bg-aside-2":"#02060f","--mg-bg-aside-rgb":"8, 18, 42","--mg-bg-card-rgb":"12, 36, 80","--mg-bg-card-hi-rgb":"18, 50, 110","--mg-bg-card-darker-rgb":"6, 18, 44","--mg-shadow-rgb":"2, 4, 14","--mg-text-tint-rgb":"218, 234, 252","--mg-text-hi-rgb":"170, 200, 240"}},{id:"emerald-forge",name:"翡翠绿",description:"机械翡翠绿,沉稳活力",preview:"#00796b",previewAccent:"#80cbc4",vars:{"--mg-primary":"#00796b","--mg-primary-rgb":"0, 121, 107","--mg-primary-hover":"#00897b","--mg-primary-hover-rgb":"0, 137, 123","--mg-primary-active":"#004d40","--mg-accent":"#80cbc4","--mg-accent-rgb":"128, 203, 196","--mg-primary-light-3":"#4ca094","--mg-primary-light-5":"#79b9b0","--mg-primary-light-7":"#a6d2cc","--mg-primary-light-8":"#bfdfdb","--mg-primary-light-9":"#e1f0ee","--mg-primary-dark-2":"#004d40","--mg-bg-app-1":"#06241f","--mg-bg-app-2":"#0a4538","--mg-bg-app-3":"#020f0c","--mg-bg-app-deep-rgb":"2, 12, 10","--mg-bg-aside-1":"#061a16","--mg-bg-aside-2":"#020a08","--mg-bg-aside-rgb":"8, 26, 22","--mg-bg-card-rgb":"10, 50, 42","--mg-bg-card-hi-rgb":"14, 66, 56","--mg-bg-card-darker-rgb":"6, 28, 24","--mg-shadow-rgb":"2, 10, 8","--mg-text-tint-rgb":"220, 244, 240","--mg-text-hi-rgb":"170, 220, 210"}},{id:"crimson-iron",name:"熔铁赤",description:"熔铁炉火般的暗红工业风",preview:"#b71c1c",previewAccent:"#ff8a80",vars:{"--mg-primary":"#b71c1c","--mg-primary-rgb":"183, 28, 28","--mg-primary-hover":"#d32f2f","--mg-primary-hover-rgb":"211, 47, 47","--mg-primary-active":"#8a0c0c","--mg-accent":"#ff8a80","--mg-accent-rgb":"255, 138, 128","--mg-primary-light-3":"#c95a5a","--mg-primary-light-5":"#d68585","--mg-primary-light-7":"#e4afaf","--mg-primary-light-8":"#edc8c8","--mg-primary-light-9":"#f7e6e6","--mg-primary-dark-2":"#8a0c0c","--mg-bg-app-1":"#2a0606","--mg-bg-app-2":"#4a0c0c","--mg-bg-app-3":"#150303","--mg-bg-app-deep-rgb":"20, 4, 4","--mg-bg-aside-1":"#200505","--mg-bg-aside-2":"#0c0202","--mg-bg-aside-rgb":"36, 6, 6","--mg-bg-card-rgb":"60, 10, 10","--mg-bg-card-hi-rgb":"80, 14, 14","--mg-bg-card-darker-rgb":"34, 5, 5","--mg-shadow-rgb":"10, 1, 1","--mg-text-tint-rgb":"252, 220, 220","--mg-text-hi-rgb":"240, 175, 175"}},{id:"graphite-steel",name:"石墨钢",description:"中性冷灰,纯粹工业",preview:"#455a64",previewAccent:"#b0bec5",vars:{"--mg-primary":"#455a64","--mg-primary-rgb":"69, 90, 100","--mg-primary-hover":"#607d8b","--mg-primary-hover-rgb":"96, 125, 139","--mg-primary-active":"#263238","--mg-accent":"#b0bec5","--mg-accent-rgb":"176, 190, 197","--mg-primary-light-3":"#7a8a92","--mg-primary-light-5":"#9aa6ac","--mg-primary-light-7":"#bac2c7","--mg-primary-light-8":"#ccd2d6","--mg-primary-light-9":"#e8ebed","--mg-primary-dark-2":"#263238","--mg-bg-app-1":"#161e24","--mg-bg-app-2":"#243038","--mg-bg-app-3":"#0a0e12","--mg-bg-app-deep-rgb":"10, 14, 18","--mg-bg-aside-1":"#11181d","--mg-bg-aside-2":"#060a0d","--mg-bg-aside-rgb":"18, 26, 32","--mg-bg-card-rgb":"30, 42, 50","--mg-bg-card-hi-rgb":"42, 56, 66","--mg-bg-card-darker-rgb":"16, 22, 28","--mg-shadow-rgb":"4, 6, 10","--mg-text-tint-rgb":"226, 232, 238","--mg-text-hi-rgb":"186, 198, 210"}},{id:"amber-forge",name:"琥珀金",description:"高对比的橙金调,警示与活力并存",preview:"#e65100",previewAccent:"#ffb74d",vars:{"--mg-primary":"#e65100","--mg-primary-rgb":"230, 81, 0","--mg-primary-hover":"#f57c00","--mg-primary-hover-rgb":"245, 124, 0","--mg-primary-active":"#bf360c","--mg-accent":"#ffb74d","--mg-accent-rgb":"255, 183, 77","--mg-primary-light-3":"#ec8344","--mg-primary-light-5":"#f2a474","--mg-primary-light-7":"#f7c4a3","--mg-primary-light-8":"#fad6bc","--mg-primary-light-9":"#fdeadd","--mg-primary-dark-2":"#bf360c","--mg-bg-app-1":"#2a1404","--mg-bg-app-2":"#4a2a0c","--mg-bg-app-3":"#150a02","--mg-bg-app-deep-rgb":"20, 10, 4","--mg-bg-aside-1":"#200f04","--mg-bg-aside-2":"#0c0602","--mg-bg-aside-rgb":"34, 16, 6","--mg-bg-card-rgb":"62, 32, 8","--mg-bg-card-hi-rgb":"82, 44, 12","--mg-bg-card-darker-rgb":"34, 16, 4","--mg-shadow-rgb":"10, 4, 1","--mg-text-tint-rgb":"252, 232, 210","--mg-text-hi-rgb":"240, 196, 140"}}];function ui(e){return e?zc.find(t=>t.id===e)??zc[0]:zc[0]}function ci(e){const t=document.documentElement;for(const[n,a]of Object.entries(e.vars))t.style.setProperty(n,a);t.setAttribute("data-theme",e.id)}const Yoe=[{key:"--mg-primary",label:"主色(背景基色)",hint:"全页背景、左侧导航、卡片底色、按钮"},{key:"--mg-primary-hover",label:"悬停/辉光",hint:"背景光晕、菜单高亮、悬停态"},{key:"--mg-accent",label:"强调/高光",hint:"点缀、边框高光、Logo 光晕"}];function yv(e){const t=e.trim().replace(/^#/,"");return/^[0-9a-f]{6}$/i.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]:null}function Zo(e){const t=yv(e);return t?`${t[0]}, ${t[1]}, ${t[2]}`:"0, 0, 0"}function Bi(e,t,n){const a=yv(e),o=yv(t);if(!a||!o)return e;const r=l=>Math.round(a[l]+(o[l]-a[l])*n),s=l=>l.toString(16).padStart(2,"0");return`#${s(r(0))}${s(r(1))}${s(r(2))}`}function aw(e,t){return Bi(e,"#ffffff",t)}function no(e,t){return Bi(e,"#000000",t)}function Kae(e,t){const n={...e.vars},a=t["--mg-primary"]??n["--mg-primary"],o=t["--mg-primary-hover"]??n["--mg-primary-hover"],r=t["--mg-accent"]??n["--mg-accent"];if(t["--mg-primary"]){const s=no(a,.72),l=no(a,.48),u=no(a,.58),c=no(a,.54),d=no(a,.7),f=no(a,.38),p=no(a,.28),g=no(a,.62);n["--mg-primary"]=a,n["--mg-primary-rgb"]=Zo(a),n["--mg-primary-active"]=no(a,.35),n["--mg-primary-dark-2"]=no(a,.35),n["--mg-primary-light-3"]=aw(a,.22),n["--mg-primary-light-5"]=aw(a,.35),n["--mg-primary-light-7"]=Bi(a,"#888888",.45),n["--mg-primary-light-8"]=Bi(a,"#666666",.55),n["--mg-primary-light-9"]=Bi(a,"#444444",.65),n["--mg-bg-app-1"]=u,n["--mg-bg-app-2"]=l,n["--mg-bg-app-3"]=s,n["--mg-bg-app-deep-rgb"]=Zo(s),n["--mg-bg-aside-1"]=c,n["--mg-bg-aside-2"]=d,n["--mg-bg-aside-rgb"]=Zo(c),n["--mg-bg-card-rgb"]=Zo(f),n["--mg-bg-card-hi-rgb"]=Zo(p),n["--mg-bg-card-darker-rgb"]=Zo(g),n["--mg-shadow-rgb"]=Zo(no(a,.78))}return t["--mg-primary-hover"]&&(n["--mg-primary-hover"]=o,n["--mg-primary-hover-rgb"]=Zo(o)),t["--mg-accent"]&&(n["--mg-accent"]=r,n["--mg-accent-rgb"]=Zo(r)),n}function ow(e,t){if(!t||Object.keys(t).length===0)return e;const n=Kae(e,t);return{...e,preview:t["--mg-primary"]??e.preview,previewAccent:t["--mg-accent"]??e.previewAccent,vars:n}}const HT="simple.ui.state",yc={sidebarCollapsed:!1,theme:"light",themeId:Hae,themeOverrides:{}};function Wae(){try{const e=localStorage.getItem(HT);if(!e)return{...yc};const t=JSON.parse(e);return{sidebarCollapsed:t.sidebarCollapsed??yc.sidebarCollapsed,theme:t.theme==="dark"?"dark":"light",themeId:t.themeId??yc.themeId,themeOverrides:t.themeOverrides??{}}}catch(e){return console.warn("[ui.store] localStorage 中的 UI 状态解析失败,已回退默认:",e),{...yc}}}const jae=V2("ui",{state:()=>Wae(),getters:{activeTheme(e){return ow(ui(e.themeId),e.themeOverrides[e.themeId])},availableThemes(){return zc}},actions:{toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed,this.persist()},setTheme(e){this.theme=e,document.documentElement.classList.toggle("dark",e==="dark"),this.persist()},getMergedTheme(e){return ow(e,this.themeOverrides[e.id])},getThemeColor(e,t){const n=ui(e);return this.themeOverrides[e]?.[t]??n.vars[t]},setThemeColor(e,t,n){this.themeOverrides[e]||(this.themeOverrides[e]={}),this.themeOverrides[e][t]=n,this.themeId===e&&ci(this.getMergedTheme(ui(e))),this.persist()},clearThemeOverrides(e){delete this.themeOverrides[e],this.themeId===e&&ci(ui(e)),this.persist()},clearAllThemeOverrides(){this.themeOverrides={},ci(this.activeTheme),this.persist()},setThemeId(e){const t=ui(e);this.themeId=t.id,ci(this.getMergedTheme(t)),this.persist()},applyCurrentTheme(){ci(this.activeTheme)},persist(){const e={sidebarCollapsed:this.sidebarCollapsed,theme:this.theme,themeId:this.themeId,themeOverrides:this.themeOverrides};try{localStorage.setItem(HT,JSON.stringify(e))}catch(t){console.warn("[ui.store] 持久化 UI 状态失败:",t)}}}}),Nf=P2(bee),KT=hO();Nf.use(KT);jae(KT).applyCurrentTheme();Nf.use(Vg);Nf.use(pee,{locale:hee});Nf.mount("#app");export{ex as $,oH as A,dH as B,a7 as C,xae as D,jA as E,f7 as F,p7 as G,_7 as H,DE as I,_K as J,RK as K,IK as L,UE as M,pH as N,HL as O,KL as P,hH as Q,De as R,Un as S,YE as T,qW as U,vH as V,uj as W,cj as X,OQ as Y,zQ as Z,ud as _,Cae as a,coe as a$,NF as a0,$F as a1,dz as a2,vo as a3,es as a4,gq as a5,SE as a6,fj as a7,Fq as a8,KG as a9,le as aA,re as aB,D as aC,Uae as aD,wt as aE,X as aF,se as aG,V2 as aH,TP as aI,eoe as aJ,toe as aK,ui as aL,noe as aM,aoe as aN,NP as aO,ooe as aP,Xl as aQ,tu as aR,roe as aS,soe as aT,ho as aU,loe as aV,ioe as aW,uoe as aX,Ne as aY,R as aZ,ze as a_,YY as aa,GY as ab,HG as ac,cr as ad,nX as ae,aX as af,Wn as ag,OJ as ah,Ve as ai,Yoe as aj,Yn as ak,vee as al,qo as am,ff as an,qae as ao,Yae as ap,Gae as aq,Xae as ar,Il as as,Yo as at,Qa as au,C as av,Jae as aw,Zae as ax,Qae as ay,z as az,Tae as b,Vt as b0,ht as b1,Vl as b2,E as b3,doe as b4,foe as b5,EC as b6,poe as b7,hoe as b8,aA as b9,pe as bA,ne as bB,ct as bC,dn as bD,Xe as bE,Dt as ba,M as bb,voe as bc,kt as bd,oe as be,Mt as bf,it as bg,fA as bh,moe as bi,Ce as bj,goe as bk,boe as bl,i as bm,yoe as bn,Fae as bo,Ooe as bp,Toe as bq,jae as br,woe as bs,Ni as bt,Soe as bu,Coe as bv,koe as bw,Eoe as bx,$A as by,xoe as bz,Oae as c,yae as d,Rae as e,Iae as f,wae as g,_ae as h,bae as i,kae as j,Eae as k,Sae as l,$ae as m,fH as n,rB as o,jC as p,CB as q,kB as r,Bn as s,ZC as t,k5 as u,mo as v,jm as w,hz as x,Rz as y,Iz as z}; diff --git a/MiGu.Server/wwwroot/assets/mapEdit-DghrYjHu.js b/MiGu.Server/wwwroot/assets/mapEdit-DghrYjHu.js new file mode 100644 index 0000000..8e9caa1 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/mapEdit-DghrYjHu.js @@ -0,0 +1 @@ +import{aQ as t}from"./index-DrvLDslf.js";const a="/sl/projection/map-edit",r="/sl/projection/ai-config";async function o(e){const{data:s}=await e;if(!s?.success)throw new Error(s?.message??"request failed");return s.data}const n={createSite:e=>o(t.post(`${a}/objects/site`,e)),createTrack:(e,s)=>o(t.post(`${a}/objects/${e}`,s)),createImage:e=>o(t.post(`${a}/objects/image`,e)),createText:e=>o(t.post(`${a}/objects/text`,e)),createModel:e=>o(t.post(`${a}/objects/model`,e)),createCar:e=>o(t.post(`${a}/objects/car`,e)),deleteObject:(e,s)=>o(t.delete(`${a}/objects/${e}/${s}`)),batch:e=>o(t.post(`${a}/objects/batch`,{ops:e})),copyFieldsTo:(e,s,p,c)=>o(t.post(`${a}/objects/${e}/${s}/fields/copy-to`,{fieldNames:p,targets:c})),pick:()=>o(t.post(`${a}/pick`)),dashboardSummary:()=>o(t.get(`${a}/dashboard/summary`)),uploadAsset:(e,s)=>o(t.post(`${a}/assets/upload`,{filename:e,data:s},{headers:{"Content-Type":"multipart/form-data"}})),aiMapGenerate:e=>o(t.post(`${a}/ai/map-generate`,e)),projectSave:e=>o(t.post(`${a}/project/save`,{path:e??""})),projectLoad:e=>o(t.post(`${a}/project/load`,{path:e})),projectCurrent:()=>o(t.get(`${a}/project/current`)),projectBrowse:e=>o(t.get(`${a}/project/browse`,{params:e?{dir:e}:{}})),projectNativePickOpen:e=>o(t.post(`${a}/project/native-pick-open`,{initialDir:e??""})),projectNativePickSave:(e,s)=>o(t.post(`${a}/project/native-pick-save`,{initialDir:e??"",suggestedFileName:s??"project.current.json"})),sampleSitesAlongTrack:(e,s)=>o(t.post(`${a}/objects/track/${e}/sample-sites`,s)),getViewFilter:()=>o(t.get(`${a}/view-filter`)),setViewFilter:e=>o(t.post(`${a}/view-filter`,e))},$={get:()=>o(t.get(`${r}/`)),save:e=>o(t.post(`${r}/`,e))};export{$ as a,n as m}; diff --git a/MiGu.Server/wwwroot/assets/ops-BCeFEEjY.js b/MiGu.Server/wwwroot/assets/ops-BCeFEEjY.js new file mode 100644 index 0000000..a38145b --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ops-BCeFEEjY.js @@ -0,0 +1 @@ +const e=[{code:"ops.car.pause",label:"暂停车辆",target:"car",needConfirm:!1,description:"将单车暂停"},{code:"ops.car.resume",label:"恢复车辆",target:"car",needConfirm:!1,description:"将单车恢复运行"},{code:"ops.car.gohome",label:"回原点",target:"car",needConfirm:!0,description:"指派车辆回原点"},{code:"ops.car.resetSession",label:"重置车辆会话",target:"car",needConfirm:!0,description:"重置车辆通信会话"},{code:"ops.car.manualCharge",label:"手动充电",target:"car",needConfirm:!1,description:"触发手动充电"},{code:"ops.task.pause",label:"暂停任务",target:"task",needConfirm:!1,description:"暂停指定任务"},{code:"ops.task.cancel",label:"取消任务",target:"task",needConfirm:!0,description:"取消指定任务"},{code:"ops.task.reassign",label:"重派任务",target:"task",needConfirm:!0,description:"重新分配任务给其他车辆"},{code:"ops.task.boostPriority",label:"提升优先级",target:"task",needConfirm:!1,description:"提升任务优先级"},{code:"monitor.note.write",label:"写运营备注",target:"note",needConfirm:!1,description:"写入运营备注(标注层)"}];export{e as O}; diff --git a/MiGu.Server/wwwroot/assets/ops-CZkWvMAR.js b/MiGu.Server/wwwroot/assets/ops-CZkWvMAR.js new file mode 100644 index 0000000..bf5b695 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/ops-CZkWvMAR.js @@ -0,0 +1 @@ +import{aQ as a}from"./index-DrvLDslf.js";async function n(t){const{data:s}=await a.post("/sl/ops/execute",t);return s}async function o(){const{data:t}=await a.get("/sl/ops/audits");return t}export{n as e,o as l}; diff --git a/MiGu.Server/wwwroot/assets/projection-CizY2UtH.js b/MiGu.Server/wwwroot/assets/projection-CizY2UtH.js new file mode 100644 index 0000000..5c9bd13 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/projection-CizY2UtH.js @@ -0,0 +1 @@ +import{aQ as e}from"./index-DrvLDslf.js";import{r as s}from"./reflection-Dr3WM5Rz.js";async function p(){const{data:t}=await e.get("/sl/projection/sites");return t}async function d(){const{data:t}=await e.get("/sl/projection/tracks");return t}function i(t){if(!t)return"idle";const r=t.toLowerCase();return/fault|error|failed|故障|异常|失联|超时|检修/.test(r)?"fault":/charg|充电/.test(r)?"charging":/pause|暂停|挂起/.test(r)?"paused":/offline|离线/.test(r)?"offline":/run|busy|working|运行|工作|执行|忙/.test(r)?"running":"idle"}function o(t){if(!t)return"queued";const r=t.toLowerCase();return/run|运行|执行/.test(r)?"running":/pause|暂停|挂起/.test(r)?"paused":/complete|done|完成|成功/.test(r)?"completed":/cancel|取消|中止/.test(r)?"cancelled":/fail|error|fault|失败|异常/.test(r)?"failed":/assign|分配/.test(r)?"assigned":"queued"}function u(t){return{id:`C${String(t.id).padStart(2,"0")}`,rawId:t.id,name:t.name,typeName:t.typeName,x:0,y:0,theta:0,batterySoc:.8,state:i(t.status),lastUpdate:new Date().toISOString(),group:t.layer??void 0}}function c(t){return{id:`M${String(t.id).padStart(2,"0")}`,name:t.name,typeName:t.typeName,priority:50,status:o(t.status),steps:[],createdAt:new Date().toISOString()}}async function n(){return(await s.listObjects("car")).map(u)}async function a(){return(await s.listObjects("mission")).map(c)}async function m(){try{const{data:t}=await e.get("/sl/projection/cars");if(Array.isArray(t)&&t.length>0)return t;const r=await n();return r.length>0?r:Array.isArray(t)?t:[]}catch{return n()}}async function y(){try{const{data:t}=await e.get("/sl/projection/missions");if(Array.isArray(t)&&t.length>0)return t;const r=await a();return r.length>0?r:Array.isArray(t)?t:[]}catch{return a()}}export{y as a,p as b,d as c,m as l}; diff --git a/MiGu.Server/wwwroot/assets/reflection-Dr3WM5Rz.js b/MiGu.Server/wwwroot/assets/reflection-Dr3WM5Rz.js new file mode 100644 index 0000000..2559826 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/reflection-Dr3WM5Rz.js @@ -0,0 +1 @@ +import{aQ as a}from"./index-DrvLDslf.js";const r="/sl/projection/reflection";function l(){return{fields:[],status:[],methods:[]}}function f(){return{car:l(),site:l(),track:l()}}const $=f;async function s(e){const{data:t}=await a.get(`${r}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}async function n(e,t){const{data:o}=await a.post(`${r}${e}`,null,{params:t});if(!o?.success)throw new Error(o?.message??`reflection ${e} failed`);return o.data}async function d(e){const{data:t}=await a.delete(`${r}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}const g={listKinds:()=>s("/kinds"),listAssemblies:()=>s("/assemblies"),listObjects:e=>s(`/objects/${e}`),listCreatableTypes:e=>s(`/types/${e}`),createObject:(e,t,o)=>{const i={};if(t&&(i.typeName=t),o)for(const[p,c]of Object.entries(o))c==null||c===""||(i[p]=c);return n(`/objects/${e}`,i)},deleteObject:(e,t)=>d(`/objects/${e}/${t}`),reloadPlugins:()=>n("/plugins/reload"),listPlugins:()=>s("/plugins"),unloadPlugin:e=>n(`/plugins/${encodeURIComponent(e)}/unload`),listMethods:(e,t)=>s(`/methods/${e}/${t}`),listMethodsByType:e=>s(`/methods-by-type/${e}`),getStatus:(e,t)=>s(`/status/${e}/${t}`),getFields:(e,t)=>s(`/fields/${e}/${t}`),setField:(e,t,o,i)=>n(`/fields/${e}/${t}/${encodeURIComponent(o)}`,{value:i}),deleteField:(e,t,o)=>d(`/fields/${e}/${t}/${encodeURIComponent(o)}`),getBundle:(e,t)=>s(`/bundle/${e}/${t}`),execute:(e,t,o,i)=>n(`/execute/${e}/${t}/${encodeURIComponent(o)}`,i),gotoCarSite:(e,t)=>n(`/car/${e}/goto-site`,{siteId:t}),getScriptSource:e=>s(`/scripts/${e}/source`),getScriptExceptionStatus:e=>s(`/scripts/${e}/exception-status`),getMonitorConfig:()=>s("/monitor-config"),saveMonitorConfig:async e=>{const{data:t}=await a.post(`${r}/monitor-config`,e);if(!t?.success)throw new Error(t?.message??"saveMonitorConfig failed");return t.data},getSelection:()=>s("/selection"),setSelection:(e,t)=>n("/selection",{kind:e,id:t}),clearSelection:()=>n("/selection/clear"),getProjectFields:()=>s("/project/fields"),setProjectField:(e,t)=>n(`/project/fields/${encodeURIComponent(e)}`,{value:t}),saveProject:e=>n("/project/save",e?{path:e}:void 0),getAppConfigFields:()=>s("/app-config/fields"),setAppConfigField:(e,t)=>n(`/app-config/fields/${encodeURIComponent(e)}`,{value:t}),saveAppConfig:()=>n("/app-config/save"),getCarStyleTypes:()=>s("/car-style/types"),getCarStyle:e=>s(`/car-style/${encodeURIComponent(e)}`),putCarStyle:async(e,t)=>{const{data:o}=await a.post(`${r}/car-style/${encodeURIComponent(e)}`,t);if(!o?.success)throw new Error(o?.message??"putCarStyle failed");return o.data},deleteCarStyle:e=>d(`/car-style/${encodeURIComponent(e)}`),getAlarmColors:()=>s("/car-style/alarm-colors"),putAlarmColors:async e=>{const{data:t}=await a.post(`${r}/car-style/alarm-colors`,e);if(!t?.success)throw new Error(t?.message??"putAlarmColors failed");return t.data},saveCarStyle:()=>n("/car-style/save")};export{f as a,$ as e,g as r}; diff --git a/MiGu.Server/wwwroot/assets/useMapEditStream-DPAdbySW.js b/MiGu.Server/wwwroot/assets/useMapEditStream-DPAdbySW.js new file mode 100644 index 0000000..511ee60 --- /dev/null +++ b/MiGu.Server/wwwroot/assets/useMapEditStream-DPAdbySW.js @@ -0,0 +1 @@ +import{u as n}from"./useProjectionStream-DMf_8m8X.js";import{b1 as r,b0 as b}from"./index-DrvLDslf.js";function d(t){const c=n({autoConnect:!1});function o(a){const e=a?.payload;if(e)switch(a.kind){case"alarm":t.onAlarm?.(e);break;case"object-created":t.onObjectCreated?.(e);break;case"object-deleted":t.onObjectDeleted?.(e);break;case"object-patched":t.onObjectPatched?.(e);break;case"object-batch-changed":t.onObjectBatchChanged?.(e);break;case"pick-result":t.onPickResult?.(e);break;case"selection-detail":t.onSelectionDetail?.(e);break}}return r(()=>{c.on(o),c.connect()}),b(()=>{c.off(o),c.disconnect()}),{connected:c.connected}}export{d as u}; diff --git a/MiGu.Server/wwwroot/assets/useProjectionStream-DMf_8m8X.js b/MiGu.Server/wwwroot/assets/useProjectionStream-DMf_8m8X.js new file mode 100644 index 0000000..ad88c6c --- /dev/null +++ b/MiGu.Server/wwwroot/assets/useProjectionStream-DMf_8m8X.js @@ -0,0 +1 @@ +import{b2 as k,bb as h}from"./index-DrvLDslf.js";const g=["snapshot-tick","selection-detail","alarm","object-created","object-deleted","object-patched","object-batch-changed","pick-result","project-saved","project-loaded","car-state","mission-status","monitor-config-updated"];function D(a={}){const b=a.url??"/api/sl/projection/stream",j=a.reconnectDelayMs??3e3,r=h(!1),u=h(null),l=new Set;let e=null,c=null,s=!1;function i(){if(s||e)return;try{e=new EventSource(b)}catch{p();return}e.onopen=()=>{r.value=!0},e.onerror=()=>{r.value=!1,f(),p()},e.onmessage=t=>{d(void 0,t.data)};const n=new Set([...g,...a.extraEventKinds??[]]);for(const t of n)e.addEventListener(t,o=>{d(t,o.data)})}function d(n,t){if(!(typeof t!="string"||!t))try{const o=JSON.parse(t),v=typeof o=="object"&&o!==null&&"kind"in o?o:{kind:n??"message",payload:o};u.value=v,l.forEach(S=>{try{S(v)}catch{}})}catch{}}function f(){if(e){try{e.close()}catch{}e=null}}function p(){s||c||(c=setTimeout(()=>{c=null,i()},j))}function m(){s=!0,c&&(clearTimeout(c),c=null),f(),r.value=!1}function y(n){l.add(n)}function E(n){l.delete(n)}return a.autoConnect!==!1&&i(),k(()=>{m(),l.clear()}),{connected:r,lastEvent:u,connect:i,disconnect:m,on:y,off:E}}export{D as u}; diff --git a/MiGu.Server/wwwroot/favicon.svg b/MiGu.Server/wwwroot/favicon.svg new file mode 100644 index 0000000..dc64553 --- /dev/null +++ b/MiGu.Server/wwwroot/favicon.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"> + <defs> + <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"> + <stop offset="0%" stop-color="#7d2bac"/> + <stop offset="100%" stop-color="#3b0b58"/> + </linearGradient> + </defs> + <rect width="32" height="32" rx="7" fill="url(#bg)"/> + <text x="16" y="22.5" text-anchor="middle" font-family="'PingFang SC','Microsoft YaHei',sans-serif" font-size="15" font-weight="700" fill="#fff">迷</text> +</svg> diff --git a/MiGu.Server/wwwroot/index.html b/MiGu.Server/wwwroot/index.html new file mode 100644 index 0000000..b252ad2 --- /dev/null +++ b/MiGu.Server/wwwroot/index.html @@ -0,0 +1,15 @@ +<!doctype html> +<html lang="zh-CN"> + <head> + <meta charset="UTF-8" /> + <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>迷毂 · 智能调度平台 + + + + + +
+ + diff --git a/MiGu.Server/wwwroot/login-bg.jpg b/MiGu.Server/wwwroot/login-bg.jpg new file mode 100644 index 0000000..374a9db Binary files /dev/null and b/MiGu.Server/wwwroot/login-bg.jpg differ diff --git a/PLATFORM_V3_CHANGES.md b/PLATFORM_V3_CHANGES.md new file mode 100644 index 0000000..0aa3f59 --- /dev/null +++ b/PLATFORM_V3_CHANGES.md @@ -0,0 +1,194 @@ +# 平台 v3 重构 — 阶段 0~6 实际改动 + +> 范围:把 SimpleLite WebTerminal 由"全功能浮动 Panel"模式收敛到"纯 3D Canvas",所有 UI 改由 Vue 平台前端 (`frontends/apps/simple-platform-vue`) 接管;同时补齐反射 / 编辑 / 监控 / 编排 4 大业务面板与撤销栈、AI 生图、报警 SSE 等关键能力。 +> +> 基线:上一份方案见 `ARCHITECTURE.md` v2/v3 章节;后续以本文件为准。 + +## 编译验证 + +- `dotnet build SimpleLite/SimpleLite.csproj` —— 0 警告 0 错误 +- `dotnet build MiGu.Server/MiGu.Server.csproj` —— 0 警告 0 错误 +- `build-platform-frontend.bat` —— vite build 46.5s,无 vue-tsc / ts 错误,robocopy /MIR 已同步 MiGu.Server/wwwroot +- 旧 `SimpleComposer` (WinForms) 在 v3 之外,不在本次构建目标里 +- 旧 `HttpClientHelper` 提升 LangVersion=latest 修通 + +## 阶段 0:后端 SimpleLite 平台化(已完成) + +### 新增文件 + +| 文件 | 作用 | +|------|------| +| `SimpleLite/Web/MapEditApiController.cs` | 写操作 8 路 API:create/delete/batch/copy-to/pick/dashboard/upload/ai-generate;阶段 6 又补:**project/save**、**project/load**、**project/current**、**sample-sites-along-track** | +| `SimpleLite/Web/ReflectionApiController.cs` | 只读 + execute API;listKinds / listObjects / methods-by-type / setField / getBundle / selection 等 | +| `SimpleLite/Web/ReflectionApiDtos.cs` | 反射 API DTO + 统一信封 `ReflectionEnvelope` | +| `SimpleLite/Web/AiCompletionService.cs` | OpenAI Function Calling 调用 + map-generate 工具桥(真实 LLM,不再桩) | +| `SimpleLite/Web/AiConfigController.cs` | AI 服务配置(endpoint/apiKey/model/system prompt/temperature/maxTokens/timeout)读写 | +| `SimpleLite/Web/AlarmStreamService.cs` | 1s 周期 diff `car.status.enums.AlarmInfo`(语义与 `E:\Work\FRLD\StandardScene\Forklift.cs` 的 `Commons.GetCarStatus(this, "AlarmInfo")` 等价),变化时通过 SSE `alarm` 事件推送 raise/update/clear | +| `SimpleLite/Web/ProjectionStreamModule.cs` | 平台 SSE 总线,对外广播 `object-created` / `object-deleted` / `object-patched` / `object-batch-changed` / `alarm` / `pick-result` / `project-saved` / `project-loaded` | +| `SimpleLite/Web/PluginAssemblyScan.cs` | 反射扫描 plugins/*.dll,把 `MethodMember` 标注的方法 + Car/Mission/CarProgram/Site/Track 子类型暴露给反射 API | + +### 修改文件 + +| 文件 | 关键改动 | +|------|----------| +| `SimpleLite/Startup.cs` | EntryPoint 第一步 `EnsureImguiIniFromEmbedded()`;启动 AlarmStreamService、ProjectionStreamModule、AiConfig 加载 | +| `SimpleLite/UI/SimpleUI.cs` | `CreateRemotePanelSetForTerminal` 检测 CanvasOnly 旗标:不创建 Workbench / Toolbar / BottomBar / CAD / Welcome;保留 SelectionAction、SceneInput、SceneDrawable、2DMapView | +| `SimpleLite/Workspace/WorkspaceWebUiContext.cs` | 增加 `IsCanvasOnly(terminal)` 旗标 + `/declareCanvasOnly` 注册器(与 `/declareEmbedUi` 互斥) | +| `SimpleLite/Web/ProjectionWebHost.cs` | `/declareCanvasOnly` 路由注册 | +| `SimpleLite/Web/ProjectionWebApiController.cs` | 现有 projection API 上挂 `selection-detail` SSE hook | +| `SimpleLite/UI/ComposerDockPanel.cs` | CanvasOnly 时 PrepareWelcomePanel 返回空 | +| `SimpleLite/Props/UIHelpers.cs` | 增加 `UI_Image` / `UI_Text` / `UI_Model` PropType。`UI_Model` 用于 CycleGUI 装饰物挂模型(obj/glb/gltf/cyclemodel) | + +### 关键 API 路径 + +``` +POST /projection/map-edit/objects/{kind} # site|track|bezier|arc|nurbs|image|text|model +DELETE /projection/map-edit/objects/{kind}/{id} +POST /projection/map-edit/objects/batch # create/delete/patch 混合 +POST /projection/map-edit/objects/{kind}/{id}/fields/copy-to +POST /projection/map-edit/pick # 拾取会话 +GET /projection/map-edit/dashboard/summary # KPI 聚合 +POST /projection/map-edit/assets/upload # 图片/模型 base64 +POST /projection/map-edit/ai/map-generate # 真实 LLM 生图 + +# 阶段 6 新增(本会话) +POST /projection/map-edit/project/save # body: { path?: string } +POST /projection/map-edit/project/load # body: { path: string } +GET /projection/map-edit/project/current +POST /projection/map-edit/objects/track/{id}/sample-sites + # body: { spacingMm, includeEndpoints?, layer? } + +GET /projection/ai-config # 读 AI 服务配置 +POST /projection/ai-config # 写 AI 服务配置 + +GET /projection/reflection/kinds | objects/{kind} | methods/{kind}/{id} | ... +SSE /projection/stream # 所有 SSE 事件 +``` + +## 阶段 1:MapEditorView 四栏壳(已完成) + +`frontends/apps/simple-platform-vue/src/views/admin/MapEditorView.vue` 完整重写为: + +``` +┌─────────────────────────────────────────────────────┐ +│ EditTopBar:项目 / 文件 / 编辑 / 视图 / 图层 / 对齐吸附 │ +│ + 撤销/重做 + AI 生图 + 保存 │ +├──────┬─────────────────────────┬───────────────────┤ +│ Edit │ Workspace3D │ EditPropertyPanel │ +│ Tool │ (canvas-only iframe) │ 对象/类型默认/图层 │ +│ Rail │ │ │ +├──────┴─────────────────────────┴───────────────────┤ +│ EditStatusBar:选中 / 鼠标坐标 / 工具 / 吸附 / undo │ +└─────────────────────────────────────────────────────┘ +``` + +### 新增组件 + +- `components/map-editor/EditTopBar.vue` —— 6 个 dropdown 菜单(项目/文件/编辑/视图/图层/对齐吸附)+ 撤销重做按钮 + AI 生图入口 + 保存 +- `components/map-editor/EditToolRail.vue` —— 6 组 CAD 工具按钮 + 吸附组(网格/对象/端点/中点 + 网格步长) +- `components/map-editor/EditPropertyPanel.vue` —— 3 Tab(对象 / 类型默认 / 图层),自动反射出 `getFields`,每行可改可保存;多选时统一字段写入;不一致字段显示「-」;执行 reflectionApi.execute 调任何 MethodMember +- `components/map-editor/EditStatusBar.vue` —— 状态栏 +- `components/map-editor/AiGenerateDialog.vue` —— AI 生图对话框 + +### 反射 API 接入 + +- `api/mapEdit.ts` —— MapEditApiController 全 8+4 路 API 胶水(本会话补的 4 个:projectSave / projectLoad / projectCurrent / sampleSitesAlongTrack) +- `api/reflection.ts` —— ReflectionApiController 全套胶水(含 MOCK 离线 fallback) + +## 阶段 2:对齐 / 批量生成 / 复制字段 / 类型默认 / 图层(已完成) + +- `composables/useAlignment.ts` —— 11 种对齐模式:left/right/top/bottom/centerH/centerV/center/distributeH/distributeV/toFirst/toLast +- `composables/useBatchGenerate.ts` —— 横向/纵向/矩阵/环形 4 种批量生成器,输出 BatchOp[] +- `composables/useClipboard.ts` —— 对象/字段剪贴板 +- `transform.copyFields` 工具:MapEditorView `runCopyFields` 读取多选(第 1 个为源,其余目标),prompt 字段名列表,调 `mapEditApi.copyFieldsTo`;撤销时用前置 patch 回滚 +- 类型默认 Tab:站点/路径默认 layer/前缀/颜色/线宽,存 localStorage `mapEditor.defaults` +- 图层 Tab:图层名列表 + 可见 / 可选 / 颜色,本地状态 + +## 阶段 3:AI 生图 + 状态栏 + 项目保存/加载(已完成) + +- AiGenerateDialog 通过 `mapEditApi.aiMapGenerate` 真实调用 LLM,后端走 `AiCompletionService.GenerateMapAsync`:用 OpenAI Function Calling 让 LLM 直接调 create_site / create_track / batch_create 等"工具",落地到 SimpleLib +- 入口:EditTopBar 「AI 生图」按钮 → 弹对话框,参数:prompt / mode (sites/tracks/sites+tracks/full) / bounds / referenceImageBase64 / layer / constraints +- 项目保存/加载:EditTopBar「保存」/「另存为」/「加载项目」→ prompt 输入路径 → 调 `mapEditApi.projectSave/Load` → 服务端走 `SimpleProject.ToFile / FromFile`;最近路径缓存到 localStorage `mapEditor.lastProjectPath` + +## 阶段 4:MapMonitor 浮动报警卡 + KPI + 实时列表(已完成) + +`frontends/apps/simple-platform-vue/src/views/admin/MapMonitorView.vue` 改动: + +- 删除原 `AlarmTicker.vue` 底部滚动条 +- 新增 `components/map-monitor/FloatingAlarmStack.vue` + `FloatingAlarmCard.vue`,可拖动 / 可吸边 / 可堆叠 +- 报警来源走 `useMapEditStream.onAlarm`(订阅 SSE 的 `alarm` 事件,由 AlarmStreamService 1s diff 推送) +- KPI 3 卡:在线车辆 / 运行中任务 / 排队任务 +- 实时列表:左侧 Workspace3D + 右侧 VehicleMonitorPanel + SelectionDetailPanel +- 「定位」按钮通过 `reflectionApi.setSelection('car', id)` 让 SimpleLite 3D 高亮该车(视觉上等效 flyTo) + +## 阶段 5:OrchestrationView 设计与编排(已完成) + +`views/admin/OrchestrationView.vue` 5-Tab 壳: + +| Tab | 来源 | +|-----|------| +| 车辆 | 复用现有 `CarPanelView` | +| 进程 | 复用现有 `MissionEditorView` | +| 脚本 | `components/orchestration/ReflectionKindTable.vue`(kind=script):动态列表 + 反射 method 执行 | +| 任务流 | ReflectionKindTable(kind=mission, extraFilter='taskflow')| +| 触发器 | ReflectionKindTable(kind=mission, extraFilter='trigger')| + +Tab 状态缓存到 sessionStorage。 + +## 阶段 6:联调 / 撤销栈做实 / 文档(已完成) + +### 撤销栈做实 + +`composables/useHistory.ts` 提供 `run/undo/redo/composite`,每个命令 `apply/revert` 双向。本次把 MapEditorView 里所有占位 revert 改成真实回滚: + +| 命令 | 原 revert | 现 revert | +|------|-----------|-----------| +| `runCreateSite` | delete 创建的 id | (未变)| +| `handleTrackPick` 创建路径 | delete 创建的 id | (未变)| +| `deleteSelection` | ⚠️ 仅本地撤销 | **getBundle 抓快照 → batch.create 重建(id 重排)** | +| `onSetField` 字段修改 | ⚠️ 不回滚 | **getBundle 抓原值 → setField 回去** | +| `applyAlignment` | (已用 patch 反向恢复) | (未变)| +| `applyBatchAsCommand` | (已用 delete 反向移除) | (未变)| +| `runAlongPathSampling`(新增)| —— | delete 所有采样产生的 site id | +| `runCopyFields`(新增)| —— | patch 反向把 targets 字段值恢复 | + +### 沿路径采样 + +- 后端:`POST /projection/map-edit/objects/track/{id}/sample-sites { spacingMm, includeEndpoints?, layer? }` —— 当前在 siteA → siteB 之间欧式直线均分(贝塞尔/弧的真实参数化采样留待后续 Track 子类 PR) +- 前端:选中 1+ 条 track,工具栏「沿路径」→ prompt 间距和端点开关 → 调后端,撤销可回退 + +### 编译相关清理 + +- `SimpleLite/Recording/`(之前的录制/回放实验目录)误用 `SimpleLite.Rendering` namespace、`Car` 找不到、`Start(string, out)` 默认参数顺序等 3 个错误 → 修 +- `SimpleLite/Props/UISite.cs` 在 `SimpleLite.Props` namespace 下 `Workspace.AddProp` 被解析成 `SimpleLite.Workspace.AddProp` → 改为全限定 `CycleGUI.Workspace.AddProp` +- `SimpleLite/Workspace/WorkspaceBottomBar.cs` 缺 `using SimpleLite.Workspace;` → 补 +- `HttpClientHelper.csproj` LangVersion 7.3 → latest + +## 已知 TODO(不阻塞 v3 上线) + +1. 贝塞尔/弧/Nurbs 路径的真实参数化采样(当前直线均分) +2. 撤销栈跨 Tab / 跨 session 共享(当前仅 MapEditor 视图局部) +3. Workspace3D 真正的 postMessage 'workspace.flyTo' 双向桥(当前用 setSelection 代替) +4. 复制字段 UI 支持类型化字段挑选器(当前 prompt 输入字段名) +5. AI 生图 OAuth/键持久化加密(当前明文存 config) +6. Recording 录制/回放模块未完工(PlaybackController 已修通编译,UI 已挂底栏,但实际录制/回放业务逻辑需要后续单独 PR 完成) + +## 启动方式 + +``` +# 1. 后端 build(SimpleLite + MiGu.Server) +dotnet build SimpleLite\SimpleLite.csproj +dotnet build MiGu.Server\MiGu.Server.csproj + +# 2. 前端打包并同步到 wwwroot +.\build-platform-frontend.bat + +# 3. 启动平台 + SimpleLite +dotnet run --project MiGu.Server # 监听 0.0.0.0:8080 +# SimpleLite 端口 8222/8223 由 SimpleLite 自己启动 + +# 4. 访问 +http://127.0.0.1:8080/admin/map-editor # 地图编辑(v3 四栏壳) +http://127.0.0.1:8080/admin/map-monitor # 地图监控(驾驶舱 + 浮动报警) +http://127.0.0.1:8080/admin/orchestration # 设计与编排(5 Tab) +``` diff --git a/README.md b/README.md index e3a7f2f..776c02c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,68 @@ # Migu2.0 +「**迷毂 · 智能调度平台**」后端仓库。由原 Simple-FR monorepo 中的 `Platform.Server` 拆出并重命名为 **`MiGu.Server`**。 + +## 仓库结构 + +``` +Migu2.0/ +├── MiGu.Server/ # ASP.NET Core 8 主入口(Kestrel :8080 + YARP + 静态 SPA) +│ ├── wwwroot/ # 已构建的平台前端(克隆即可运行) +│ └── data/ # 运行时配置持久化(config-*.json,git 忽略) +├── frontends/ # 平台 Vue 源码(simple-platform-vue) +├── build-platform-frontend.bat +├── ARCHITECTURE.md # 总体架构(已从 Simple 移植并更新路径) +├── PLATFORM_V3_CHANGES.md +└── Doc/ # 代码复审记录 +``` + +## 与 Simple 仓库的关系 + +| 组件 | 本仓库 | Simple 仓库 (`../Simple`) | +|------|--------|---------------------------| +| 平台后端 | **MiGu.Server** | 已移除 `Platform.Server` | +| 调度内核 | — | SimpleLite | +| 前端源码 | `frontends/apps/simple-platform-vue` | 已迁出 | +| 前端构建 | `.\build-platform-frontend.bat` → `MiGu.Server/wwwroot` | — | + +登录后 `MiGu.Server` 按所选启动模式拉起 **SimpleLite.exe**。开发环境路径见 `MiGu.Server/appsettings.Development.json`(默认指向 `../Simple/SimpleLite/bin/Debug`)。 + +## 快速启动 + +```pwsh +cd MiGu.Server +dotnet run +# 浏览器: http://localhost:8080/login +# 默认账号: admin/admin、ops/ops(仅开发用) +``` + +仅调试平台 UI、不拉 SimpleLite:将 `appsettings.json` 中 `SimpleLite.Enabled` 设为 `false`。 + +## 配置 SimpleLite(开发机) + +1. 在 Simple 仓库编译内核: + +```pwsh +cd ..\Simple +dotnet build SimpleLite\SimpleLite.csproj -c Debug +``` + +2. 打开 **`MiGu.Server/appsettings.json`**,找到 **`"SimpleLite"`**,确认 `ExecutablePath` 指向你的 `SimpleLite.exe`(默认相对路径 `..\\..\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe`)。也可访问 **http://localhost:8080/api/health/simplelite** 查看是否解析成功。 + +3. 启动 MiGu.Server 后登录,选择「本地 + Web」或「仅 Web」即可拉起 SimpleLite。 + +详细说明见 [MiGu.Server/README.md — 配置 SimpleLite 路径](MiGu.Server/README.md#配置-simplelite-路径)。 + +## 文档 + +- [MiGu.Server/README.md](MiGu.Server/README.md) — 部署、YARP、鉴权、联调 +- [ARCHITECTURE.md](ARCHITECTURE.md) — 架构总览 +- [PLATFORM_V3_CHANGES.md](PLATFORM_V3_CHANGES.md) — V3 变更说明 + +## 更新前端 + +```pwsh +# 在本仓库根目录 +.\build-platform-frontend.bat +# 产物同步到 MiGu.Server\wwwroot\ +``` diff --git a/build-platform-frontend.bat b/build-platform-frontend.bat new file mode 100644 index 0000000..c7819fa --- /dev/null +++ b/build-platform-frontend.bat @@ -0,0 +1,92 @@ +@echo off +chcp 65001 >nul 2>nul +setlocal enableextensions + +rem ============================================================================ +rem Migu2.0 platform frontend build (sync to MiGu.Server\wwwroot) +rem ---------------------------------------------------------------------------- +rem Usage: +rem build-platform-frontend.bat [--reinstall] [--npm | --pnpm] [--no-start] +rem ============================================================================ + +set "ROOT=%~dp0" +set "FE_ROOT=%ROOT%frontends" +set "FE_APP=%ROOT%frontends\apps\simple-platform-vue" +set "DEST=%ROOT%MiGu.Server\wwwroot" +set "MIGU_BAT=%ROOT%MiGu.Server\build-and-run.bat" + +set "NEED_INSTALL=0" +set "FORCE_PM=" +set "START_MODE=platform" + +:argloop +if "%~1"=="" goto argdone +if /I "%~1"=="--reinstall" set "NEED_INSTALL=1" +if /I "%~1"=="--npm" set "FORCE_PM=npm" +if /I "%~1"=="--pnpm" set "FORCE_PM=pnpm" +if /I "%~1"=="--no-start" set "START_MODE=none" +shift +goto argloop +:argdone + +set "PM=%FORCE_PM%" +if "%PM%"=="" ( + where pnpm >nul 2>nul + if not errorlevel 1 set "PM=pnpm" +) +if "%PM%"=="" set "PM=npm" + +echo ============================================================ +echo Migu2.0 platform frontend build +echo workspace : %FE_ROOT% +echo wwwroot : %DEST% +echo pm : %PM% +echo ============================================================ + +if not exist "%FE_ROOT%\package.json" ( + echo [ERROR] Missing %FE_ROOT%\package.json + exit /b 1 +) + +pushd "%FE_ROOT%" +if errorlevel 1 exit /b 1 + +if not exist "node_modules" set "NEED_INSTALL=1" +if "%NEED_INSTALL%"=="1" ( + echo [1/3] %PM% install ... + call %PM% install + if errorlevel 1 ( popd & exit /b 1 ) +) else ( + echo [1/3] node_modules exists, skip install. Use --reinstall to force. +) + +echo [2/3] %PM% --filter simple-platform-vue build ... +if /I "%PM%"=="pnpm" ( + call pnpm --filter simple-platform-vue build +) else ( + pushd "%FE_APP%" + call npm run build + popd +) +if errorlevel 1 ( popd & exit /b 1 ) +popd + +if not exist "%FE_APP%\dist\index.html" ( + echo [ERROR] dist not found + exit /b 1 +) + +echo [3/3] robocopy dist to wwwroot ... +if not exist "%DEST%" mkdir "%DEST%" +robocopy "%FE_APP%\dist" "%DEST%" /MIR /NFL /NDL /NJH /NJS /NP +set "RC=%ERRORLEVEL%" +if %RC% GEQ 8 exit /b %RC% + +echo Done: %DEST% +if /I "%START_MODE%"=="none" exit /b 0 +if not exist "%MIGU_BAT%" ( + echo [WARN] Missing %MIGU_BAT% + exit /b 0 +) +start "" cmd /k "%MIGU_BAT%" +exit /b 0 diff --git a/frontends/.gitignore b/frontends/.gitignore new file mode 100644 index 0000000..bf4d455 --- /dev/null +++ b/frontends/.gitignore @@ -0,0 +1,11 @@ +node_modules +dist +dist-ssr +*.local +.DS_Store +.vscode/* +!.vscode/extensions.json +.idea +*.log +*.tsbuildinfo +.cache diff --git a/frontends/.npmrc b/frontends/.npmrc new file mode 100644 index 0000000..8bd1926 --- /dev/null +++ b/frontends/.npmrc @@ -0,0 +1,4 @@ +registry=https://registry.npmmirror.com +shamefully-hoist=false +strict-peer-dependencies=false +auto-install-peers=true diff --git a/frontends/README.md b/frontends/README.md new file mode 100644 index 0000000..5f3764d --- /dev/null +++ b/frontends/README.md @@ -0,0 +1,157 @@ +# 迷毂 · 前端 (frontends/) + +> 产品代号 **迷毂**(Mí Gǔ),全称「迷毂 · 智能调度平台」。 +> 单一 Vue 工程 `simple-platform-vue` 承载 admin(管理员 / Platform)与 monitor(运营 / RCSMonitor)双视图; +> 通过路由前缀 `/admin/*` 与 `/monitor/*` 切换,后续可按 ARCHITECTURE.md §13 拆分为独立工程。 +> +> 落地范围与依据:本目录是 [ARCHITECTURE.md](../ARCHITECTURE.md) v1.7 §6/§9/§13/§17/§18 中前端形态的初版骨架; +> 真实业务接入由 `Platform.Server`(同仓库新增的 .NET 8 工程)反代 SimpleLite 完成。 +> +> 品牌主色:默认 **工业紫** `#6a1b9a`(6 套主题可切换),详见 ARCHITECTURE.md §17.7。 +> 工程包名 `simple-platform-vue` / 仓库目录 `frontends/apps/simple-platform-vue` 保持不动,避免破坏 pnpm/CI 脚本,仅用户可见文案统一为「迷毂」。 + +## 目录结构 + +``` +frontends/ +├── package.json # workspace 根 +├── pnpm-workspace.yaml # pnpm monorepo 占位(当前只有一个 app) +└── apps/ + └── simple-platform-vue/ + ├── package.json + ├── vite.config.ts # base=/ ;dev 时 /api 代理到 http://127.0.0.1:8080 + ├── index.html + ├── env.d.ts + ├── .env.development + ├── public/ + │ ├── favicon.svg # 紫色渐变方块 + 「迷」字 + │ └── login-bg.jpg # 登录页背景图 (1.8MB,来源 C:\Tool\wallpapper\wall_Beach.jpg) + └── src/ + ├── main.ts # Pinia + applyCurrentTheme() + Element Plus + ├── App.vue + ├── styles/ + │ ├── theme.css # --mg-* 玻璃令牌 + Element Plus 覆盖 + │ └── themes.ts # 6 套主题预设 + applyThemeVars() + ├── router/index.ts # /login /status /admin/* /monitor/* (title base="迷毂") + ├── stores/ {auth, config, ui}.ts + ├── api/ {http, auth, config, projection, ops}.ts + ├── layouts/{AppShell, BlankLayout}.vue # 紫色渐变侧边栏 / 紫色三段渐变背景 + ├── components/ + │ ├── Workspace3D.vue # ★ iframe 包 http://localhost:8223 + │ ├── ThemeSwitcher.vue # 顶栏主题下拉(§17.7) + │ ├── ScopeSwitcher.vue + │ ├── PermissionGuard.vue + │ ├── DataTablePro.vue + │ └── ConfigPageBase.vue + ├── views/ + │ ├── LoginView.vue + │ ├── ServiceStatusView.vue # 复刻 §3.4 状态窗 + │ ├── admin/ + │ │ ├── DashboardView.vue + │ │ ├── MapMonitorView.vue # ★ 地图监控页(iframe 8223 + 实时车辆侧栏) + │ │ ├── MapEditorView.vue / TrackTableView.vue + │ │ ├── CarPanelView.vue / MissionEditorView.vue + │ │ ├── CadToolbarView.vue / PlaybackView.vue + │ │ └── config/ # 14 个配置中心页(§9) + │ └── monitor/ + │ ├── MonitorDashboardView.vue + │ ├── MonitorMapView.vue # ★ 只读 iframe 8223 + 运维白名单 + │ ├── OpsActionPanelView.vue + │ └── AnnotationView.vue + ├── types/ {auth, map, car, mission, ops, config}.ts + └── mock/ {server.ts, data/*.ts} +``` + +## 启动 + +```pwsh +# 1) 安装依赖(首次) +cd frontends +pnpm install + +# 2) 启动 Vite 开发服务器(默认 :5173) +pnpm dev + +# 3) 打开浏览器 +# http://localhost:5173/login +# 任意非空用户名 + 任意密码即可登录(鉴权全为 Mock) +# scope=Platform → /admin/map-monitor (★ 地图监控页) +# scope=RCSMonitor → /monitor/map (★ 只读地图监控页) +``` + +## 地图监控页与 webVRender + +地图监控页(`/admin/map-monitor` 与 `/monitor/map`)通过 `` 组件以 iframe 嵌入 +SimpleLite WebTerminal 提供的 webVRender,默认 URL: + +``` +http://localhost:8223/?scope=Platform&token=&ro=0 # 管理员,可交互 +http://localhost:8223/?scope=RCSMonitor&token=&ro=1 # 运营,只读 +``` + +可通过 `.env.development` 中的 `VITE_VRENDER_HOST` 覆盖默认主机,或直接给组件传 `host` 属性。 + +### iframe 嵌入注意事项(CORS / X-Frame-Options) + +- 当前 SimpleLite WebTerminal 暂未声明 `X-Frame-Options`/`Content-Security-Policy: frame-ancestors`, + 浏览器多数情况下会按默认策略放行同源 / 局域网嵌入。 +- 若浏览器控制台报「Refused to display 'http://localhost:8223/' in a frame」,请在 SimpleLite WebTerminal + 侧加上 `X-Frame-Options: ALLOWALL` 或 `Content-Security-Policy: frame-ancestors *`(本轮代码未改动 SimpleLite)。 +- 若需通过 `Platform.Server` 走同源代理,可以让 iframe 指向 `http://localhost:8080/vr/`,由 YARP + 转发到 `http://127.0.0.1:8223/`(见 `Platform.Server/appsettings.json` 的 `vrender-route`)。 + +## 与后端联调 + +- Vite dev 模式下,所有 `/api/*` 请求经 Vite proxy 转到 `http://127.0.0.1:8080`,由 `Platform.Server` 处理: + - `/api/auth/login` → `Platform.Server` `AuthController`(Mock JWT) + - `/api/config/{section}` → `Platform.Server` `ConfigController`(14 维度占位) + - `/api/health` → `Platform.Server` `HealthController` + - `/api/projection/*` → `Platform.Server` `ProjectionController`(占位) + - `/api/sl/*` → YARP 反代 SimpleLite WebAPI `http://127.0.0.1:8222/` + - `/api/sl/ops/execute` 与 `/api/sl/ops/audits` → `Platform.Server` `OpsController`(白名单网关占位) + +### Mock 开关:`VITE_USE_MOCK` + +`api/auth.ts`、`api/config.ts`、`api/ops.ts` 读取 `import.meta.env.VITE_USE_MOCK`: + +| 环境 | 文件 | 默认值 | 行为 | +|---------------|---------------------|--------|---------------------------------------------------| +| dev (`pnpm dev`) | `.env.development` | `true` | 走 `mock/server.ts`,**无后端也能跑通 UI** | +| prod (`pnpm build`) | `.env.production` | `false` | 强制打到 Platform.Server,没启后端会失败(这是期望行为)| + +要在 dev 环境联调真实后端,把 `.env.development` 里的 `VITE_USE_MOCK` 注释掉或改为 `false` 即可。 +不要再像旧版那样改源码里的 `const MOCK = true` —— 那条常量已经下线,统一由 env 控制。 + +> 其他 `api/*.ts`(如 `reflection.ts`、`projection.ts`、`workbench.ts`)从一开始就直连真实 API, +> 不受 `VITE_USE_MOCK` 影响;它们后端必到位才能用。 + +## 生产构建 + +```pwsh +# 在 frontends 目录 +pnpm --filter simple-platform-vue build # 产出 apps/simple-platform-vue/dist/ + +# 部署到 Platform.Server (一次拷贝,单一合并工程) +# Windows / PowerShell +Remove-Item ..\Platform.Server\wwwroot\* -Recurse -Force -ErrorAction SilentlyContinue +Copy-Item apps\simple-platform-vue\dist\* ..\Platform.Server\wwwroot\ -Recurse +``` + +部署完成后访问 `http://localhost:8080/login`、`/admin/dashboard`、`/admin/map-monitor`、`/monitor/map`,所有非 API 路径都会回退到 `wwwroot/index.html`,由 vue-router 内部解析。 + +> 已通过冒烟验证:`pnpm build` 通过 vue-tsc 严格类型检查 + Vite 生产构建(2412 模块、44 chunk),`Platform.Server` 启动后 `/`、`/admin/map-monitor`、`/monitor/map`、`/api/health`、`/api/config/system` 与 `/assets/index-*.js` 均返回 200。 + +## 品牌与主题(v1.6.1 对齐 FRLD / ddms) + +- 产品名「**迷毂**」全局可见文案:登录窗标题/副标题、``、侧边栏顶部、favicon。 +- 母公司 logo:`public/FRLD-logo-white.png`(11.5 KB 展开态)+ `public/FRLD-logo-white-no_title.png`(3.5 KB 折叠态)。来源 `E:\ddms\frontend\public`,与法睿兰达 FAIRYLAND 运营管理引擎(FAME / ddms)共用同一品牌资产。 +- 中英双标题:中文 `迷 毂 · 智能调度平台`、英文 `Mi Gu · Intelligent Dispatch Platform`(首字母加粗)。 +- 品牌主色 `#7c3aed`(Tailwind violet-600):通过 `src/styles/theme.css` 覆盖 Element Plus 的 `--el-color-primary` 与 `--el-color-primary-rgb`(双重 `:root` + `html !important` 兜底)。配套 `--mg-primary-{50..950}` 阶梯、`--mg-accent #a855f7`、`--mg-bg-aside-{1,2}` 侧栏深紫渐变。 +- 登录卡:单列 460px,背景 `linear-gradient(135deg, #2d1b69 0%, #7c3aed 100%)`(ddms 同款),透明输入 + 白底紫字大按钮 + 双卡 scope 选择器。 +- 侧边栏顶端 logo 块:FRLD logo 38px + 中英双标题居中(折叠时变 28px logo + 「迷毂」缩写)。 +- 完整视觉规范与色卡见 [`../ARCHITECTURE.md` §17](../ARCHITECTURE.md#17-视觉规范v16-新增v161-对齐-frld)。 + +## 相关文档 + +- [../ARCHITECTURE.md](../ARCHITECTURE.md) — v1.6 总体架构(§3 启动登录、§5 三端职责、§6 共享内核、§9 配置中心、§10 关键交互、§17 视觉规范) +- [../Platform.Server/README.md](../Platform.Server/README.md) — 后端骨架启动说明 diff --git a/frontends/apps/simple-platform-vue/.env.development b/frontends/apps/simple-platform-vue/.env.development new file mode 100644 index 0000000..3f161ce --- /dev/null +++ b/frontends/apps/simple-platform-vue/.env.development @@ -0,0 +1,5 @@ +VITE_API_BASE=/api +VITE_VRENDER_HOST=localhost:8223 +# dev 默认走前端 mock,方便无后端时直接 pnpm dev 调 UI; +# 想接 Platform.Server 真实接口时把下一行注释掉或改成 false。 +VITE_USE_MOCK=true diff --git a/frontends/apps/simple-platform-vue/.env.production b/frontends/apps/simple-platform-vue/.env.production new file mode 100644 index 0000000..c9f5b85 --- /dev/null +++ b/frontends/apps/simple-platform-vue/.env.production @@ -0,0 +1,6 @@ +# 生产构建(pnpm build / build-platform-frontend.bat)默认值。 +# - VITE_USE_MOCK=false:强制走 Platform.Server 真实 API,不再被 const MOCK=true 锁死。 +# - VITE_API_BASE 与 dev 保持一致,由 Platform.Server 同源托管。 +VITE_API_BASE=/api +VITE_VRENDER_HOST=localhost:8223 +VITE_USE_MOCK=false diff --git a/frontends/apps/simple-platform-vue/auto-imports.d.ts b/frontends/apps/simple-platform-vue/auto-imports.d.ts new file mode 100644 index 0000000..9d24007 --- /dev/null +++ b/frontends/apps/simple-platform-vue/auto-imports.d.ts @@ -0,0 +1,10 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +// biome-ignore lint: disable +export {} +declare global { + +} diff --git a/frontends/apps/simple-platform-vue/components.d.ts b/frontends/apps/simple-platform-vue/components.d.ts new file mode 100644 index 0000000..31baef1 --- /dev/null +++ b/frontends/apps/simple-platform-vue/components.d.ts @@ -0,0 +1,98 @@ +/* eslint-disable */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + AiGenerateDialog: typeof import('./src/components/map-editor/AiGenerateDialog.vue')['default'] + ConfigPageBase: typeof import('./src/components/ConfigPageBase.vue')['default'] + DataTablePro: typeof import('./src/components/DataTablePro.vue')['default'] + EditPropertyPanel: typeof import('./src/components/map-editor/EditPropertyPanel.vue')['default'] + EditStatusBar: typeof import('./src/components/map-editor/EditStatusBar.vue')['default'] + EditToolRail: typeof import('./src/components/map-editor/EditToolRail.vue')['default'] + EditTopBar: typeof import('./src/components/map-editor/EditTopBar.vue')['default'] + ElAlert: typeof import('element-plus/es')['ElAlert'] + ElAside: typeof import('element-plus/es')['ElAside'] + ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElBadge: typeof import('element-plus/es')['ElBadge'] + ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] + ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElCollapse: typeof import('element-plus/es')['ElCollapse'] + ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] + ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] + ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElDivider: typeof import('element-plus/es')['ElDivider'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] + ElFooter: typeof import('element-plus/es')['ElFooter'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElLink: typeof import('element-plus/es')['ElLink'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElProgress: typeof import('element-plus/es')['ElProgress'] + ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSlider: typeof import('element-plus/es')['ElSlider'] + ElStatistic: typeof import('element-plus/es')['ElStatistic'] + ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTabPane: typeof import('element-plus/es')['ElTabPane'] + ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElTimeline: typeof import('element-plus/es')['ElTimeline'] + ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] + ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElUpload: typeof import('element-plus/es')['ElUpload'] + FieldMemberEditor: typeof import('./src/components/orchestration/FieldMemberEditor.vue')['default'] + FloatingAlarmCard: typeof import('./src/components/map-monitor/FloatingAlarmCard.vue')['default'] + FloatingAlarmStack: typeof import('./src/components/map-monitor/FloatingAlarmStack.vue')['default'] + MapMonitorConfigGroup: typeof import('./src/components/config/MapMonitorConfigGroup.vue')['default'] + MonitorSelectionPanel: typeof import('./src/components/workbench/MonitorSelectionPanel.vue')['default'] + PermissionGuard: typeof import('./src/components/PermissionGuard.vue')['default'] + PluginListPanel: typeof import('./src/components/reflection/PluginListPanel.vue')['default'] + ProjectBrowseDialog: typeof import('./src/components/map-editor/ProjectBrowseDialog.vue')['default'] + ReflectionKindTable: typeof import('./src/components/orchestration/ReflectionKindTable.vue')['default'] + ReflectionManagerPanel: typeof import('./src/components/reflection/ReflectionManagerPanel.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + ScopeSwitcher: typeof import('./src/components/ScopeSwitcher.vue')['default'] + SelectionDetailPanel: typeof import('./src/components/workbench/SelectionDetailPanel.vue')['default'] + SitePickDialog: typeof import('./src/components/workbench/SitePickDialog.vue')['default'] + ThemeCustomizer: typeof import('./src/components/ThemeCustomizer.vue')['default'] + ThemeSwitcher: typeof import('./src/components/ThemeSwitcher.vue')['default'] + VehicleMonitorPanel: typeof import('./src/components/workbench/VehicleMonitorPanel.vue')['default'] + WorkbenchSidePanel: typeof import('./src/components/workbench/WorkbenchSidePanel.vue')['default'] + Workspace3D: typeof import('./src/components/Workspace3D.vue')['default'] + WorkspaceCanvasToolbar: typeof import('./src/components/workspace/WorkspaceCanvasToolbar.vue')['default'] + } + export interface ComponentCustomProperties { + vLoading: typeof import('element-plus/es')['ElLoadingDirective'] + } +} diff --git a/frontends/apps/simple-platform-vue/design-system/MASTER.md b/frontends/apps/simple-platform-vue/design-system/MASTER.md new file mode 100644 index 0000000..358c067 --- /dev/null +++ b/frontends/apps/simple-platform-vue/design-system/MASTER.md @@ -0,0 +1,200 @@ +# 迷毂智能调度平台 · 设计系统 (MASTER) + +> 由 ui-ux-pro-max skill 推导生成 (v1)。本文档是项目的**单一设计真理**。 +> 页面级覆盖请放在 `design-system/pages/<page-name>.md`,覆盖优先级高于本 MASTER。 + +--- + +## 1. 产品定位 (Product Identity) + +| 维度 | 取值 | +|---|---| +| **产品类型** | B2B 工业 SaaS · AGV 智能调度平台 · 实时监控仪表板 | +| **行业** | 智能制造 / 物流自动化 / 仓储机器人 | +| **匹配 reasoning rule** | `Autonomous Drone Fleet` (id=97) 主匹配 / `Logistics-Delivery` (id=25) + `Smart Home/IoT Dashboard` (id=54) + `SaaS Dashboard` (id=19) 辅助 | +| **目标用户** | 现场调度员、运维工程师、车队管理员、平台管理员 | +| **使用环境** | 桌面端为主 (1920×1080 / 2560×1440)、长时间在线、信息密集 | + +--- + +## 2. 设计模式与风格 (Pattern & Style) + +| 维度 | 主选 | 辅助 | +|---|---|---| +| **Landing/页面模式** | Real-Time + Feature-Rich | Bento Grid (主体布局) | +| **核心 UI 风格** | Real-Time Monitoring + Data-Dense Dashboard | Glassmorphism (卡片层级) + Dimensional Layering (z-轴层级) | +| **可选风格元素** | HUD/Sci-Fi FUI 微元素 (装饰用,不主导) | — | + +### Real-Time Monitoring 必备特征 +- 实时状态指示器(脉动 dot / pulsing badge) +- 流式图表(数值平滑过渡而非跳变) +- 告警通知层级(critical → warning → info) +- 连接状态/自动刷新指示 +- 数值用 `font-variant-numeric: tabular-nums` 防抖动 + +### Data-Dense Dashboard 必备特征 +- 多 widget 并排(KPI 行 + 主图 + 列表) +- 紧凑 padding(卡片 12-18px、KPI 项 10-12px) +- 高效栅格布局(CSS Grid) +- 表头常驻 hover tooltip +- 列表行 hover 高亮 + 平滑过渡 + +--- + +## 3. 颜色系统 (Color System) + +### 3.1 状态色(项目级强约束 · 跨主题保持语义) + +> **关键原则**:状态色与品牌色解耦。不要把品牌紫色当 "执行中"、把品牌橙色当 "警告"。 + +| Token | 浅色主题 (light) | 深色主题 (dark) | 语义 | +|---|---|---|---| +| `--mg-status-success` | `#16A34A` | `#22C55E` | 正常 / 成功 / 已完成 | +| `--mg-status-warning` | `#D97706` | `#F59E0B` | 异常 / 警告 / 等待人工 | +| `--mg-status-danger` | `#DC2626` | `#EF4444` | 严重故障 / critical / 阻断 | +| `--mg-status-info` | `#2563EB` | `#3B82F6` | 信息 / 进行中 / 通信 | +| `--mg-status-idle` | `#64748B` | `#94A3B8` | 待执行 / 已暂停 / 静默 | + +### 3.2 数据可视化色板 (ECharts / Progress / Chart) + +按"冷色→暖色"递进,避免单一色相被多 series 共用: + +``` +'#3B82F6' 蓝 优先级 1 +'#22C55E' 绿 优先级 2 +'#A855F7' 紫 优先级 3 (品牌色复用) +'#F59E0B' 琥珀 优先级 4 +'#EF4444' 红 优先级 5 (告警语义保留时慎用) +'#06B6D4' 青 优先级 6 +'#EC4899' 粉 优先级 7 +'#84CC16' 黄绿 优先级 8 +``` + +### 3.3 品牌主色(保留现有 7 套主题) + +当前默认 `fame-lavender`(浅紫白主区 + 深紫侧栏)保持不变,所有变量在 `themes.ts` 中维护。 +新增的状态色变量在每个主题预设里要补齐。 + +### 3.4 文字与对比度 + +| Context | 浅色主题 | 深色主题 | +|---|---|---| +| `text-light` (主文字) | `#0F172A` (slate-900) | `#FFFFFF` | +| `text-muted` (次要) | `#475569` (slate-600 ≥ 4.5:1) | `rgba(255,255,255,0.72)` | +| `text-dim` (装饰) | `#94A3B8` | `rgba(255,255,255,0.50)` | +| `text-faint` (占位) | `#CBD5E1` | `rgba(255,255,255,0.35)` | + +> ⚠ 不要用 `slate-400 (#94A3B8)` 做正文 (light mode) ——对比度不够。 + +--- + +## 4. 字体 (Typography) + +> 选自 `Minimal Swiss` (Inter) + `Developer Mono` (JetBrains Mono) 组合,Dashboard Data 类目最佳实践。 + +| 用途 | 字体栈 | 备注 | +|---|---|---| +| **UI 主字体** | `'PingFang SC', 'Microsoft YaHei', Inter, -apple-system, 'Segoe UI', sans-serif` | 中文优先,英文 fallback Inter | +| **数据数字** (KPI/坐标/ID) | `'JetBrains Mono', 'Cascadia Mono', Menlo, Consolas, monospace` | 等宽,`font-variant-numeric: tabular-nums` | +| **代码/JSON** | 同数据数字 | — | + +### 字号分级 + +| Token | 用途 | 字号 | +|---|---|---| +| `text-xs` | 标签/时间戳 | 11-12px | +| `text-sm` | 次要说明 | 12.5-13px | +| `text-base` | 正文/列表 | 14px | +| `text-md` | 卡片标题 | 15-16px | +| `text-lg` | 模块标题 | 18-20px | +| `text-xl` | 页面标题 | 24-28px | +| `text-2xl` | KPI 数值 | 28-32px | +| `text-hero` | Hero 标题 | 36-44px | + +--- + +## 5. 间距与圆角 (Spacing & Radius) + +### 5.1 间距尺度 (8pt 网格) + +`4 / 8 / 12 / 16 / 18 / 24 / 32 / 48 / 64` + +### 5.2 圆角 + +| Token | 值 | 用途 | +|---|---|---| +| `--mg-radius-sm` | 8px | 小标签、按钮、tag | +| `--mg-radius` | 14px | 卡片、面板 | +| `--mg-radius-lg` | 20px | Hero 区、对话框 | +| `--mg-radius-xl` | 24px | 全屏覆盖、巨型卡片 | + +### 5.3 卡片层级 (Dimensional Layering) + +``` +z-0 背景 / orb / 网格 +z-1 body 主区 +z-2 普通卡片 shadow: 0 4px 14px rgba(_, .06) light / 0 12px 30px rgba(0,0,0,.5) dark +z-3 浮起卡片 (hover) shadow: 0 8px 24px rgba(_, .10) light / 0 18px 40px rgba(0,0,0,.6) dark +z-4 Header / 侧栏 shadow: 0 1px 6px rgba(_, .05) +z-5 Dropdown / Toast +z-6 Modal / Dialog +``` + +--- + +## 6. 动画 (Motion) + +| 场景 | 时长 | 缓动 | +|---|---|---| +| 颜色/边框变化 | 200ms | `ease-out` | +| 卡片 hover (transform) | 250ms | `cubic-bezier(.25, .8, .25, 1)` | +| 路由切换 | 250ms | 同上 | +| 状态脉动 (live dot) | 1.5-2s | `ease-in-out infinite` | +| Real-time 数值平滑 | 600-800ms | 同卡片 hover | + +> ⚠ 严禁 hover 用 `transform: scale()` 引起 layout shift;用 `translateY(-2px)` + `box-shadow` 增强即可。 +> ⚠ 必须遵守 `prefers-reduced-motion: reduce` —— 关闭装饰性动画。 + +--- + +## 7. 反模式清单 (Anti-Patterns) + +来自 ui-reasoning.csv (Autonomous Drone Fleet + SaaS Dashboard) + Common Rules: + +| 禁忌 | 原因 | +|---|---| +| ❌ 把品牌紫当作 "执行中" 状态色 | 状态色与品牌色冲突,扫读时干扰 | +| ❌ KPI 数值用变宽字体 | 实时跳动时数字晃动,影响阅读 | +| ❌ 浅色主题用 `slate-400` 做正文 | 对比度 < 4.5:1,违反 WCAG AA | +| ❌ 侧栏 active 用 4+ 重 box-shadow + text-shadow | 视觉噪音,装饰过度 | +| ❌ 硬编码 `#1a0b3d` 等颜色 | 跨主题切换失效 | +| ❌ 用 emoji 做 UI icon (🚀⚙️🎨) | 不统一,在不同 OS 渲染差异大 — 用 Heroicons / Element Plus icons | +| ❌ 实时图表用 hard refresh (闪一下) | 视觉干扰 — 用 `series.universalTransition` 或 `dataset` 平滑过渡 | + +--- + +## 8. 实施清单 (Pre-Delivery Checklist) + +每次发版前对照检查: + +- [ ] 所有状态色用 `--mg-status-*` token,不直接 hardcode `#22c55e` +- [ ] 所有 KPI / 坐标 / ID 数字用 `font-family: var(--mg-font-mono)` + `font-variant-numeric: tabular-nums` +- [ ] 卡片/表单 hover 不引起 layout shift +- [ ] 浅色主题文字对比度 ≥ 4.5:1 (WCAG AA) +- [ ] 浮动元素 (header / aside) 在两套主题下都可见 +- [ ] 响应式断点:375 / 768 / 1024 / 1440 / 1920 都过一遍 +- [ ] 主题切换时无硬编码色 (grep `#[0-9a-f]{3,6}` in DashboardView/AppShell) + +--- + +## 9. 引用与扩展 + +- **设计系统生成依据**:`.cursor/skills/ui-ux-pro-max/data/ui-reasoning.csv` (rows 19, 25, 54, 97), `colors.csv` (rows 26, 51, 53), `styles.csv` (rows 28, 31, 39, 46), `typography.csv` (rows 5, 9, 42) +- **页面级覆盖**:`design-system/pages/<page-name>.md` +- **变量来源**:`src/styles/theme.css` (CSS 变量声明) + `src/styles/themes.ts` (TS 主题预设) +- **Element Plus 适配**:`theme.css` 中 `.mg-content .el-*` 选择器统一管理 + +--- + +> **Generated**: ui-ux-pro-max v2.0 推理 + 项目实际代码 cross-check +> **Last sync**: 2026-05-24 diff --git a/frontends/apps/simple-platform-vue/design-system/pages/dashboard.md b/frontends/apps/simple-platform-vue/design-system/pages/dashboard.md new file mode 100644 index 0000000..6d1302c --- /dev/null +++ b/frontends/apps/simple-platform-vue/design-system/pages/dashboard.md @@ -0,0 +1,128 @@ +# Dashboard 页面 · 设计覆盖 (page override) + +> 作用域:`/admin/dashboard` (DashboardView.vue) + AppShell 左侧导航。 +> 优先级:本文件 > MASTER.md。仅记录 deviation,共性规则继承自 MASTER。 + +--- + +## 1. 页面布局结构 (Bento Grid) + +``` +┌────────────────────────────────────────────────────────────────┐ +│ Hero Banner (深色沉浸 · 跨主题保持工业感) │ +│ Left: tag + title + 8 个 quick-entry (4×2) │ +│ Right: AGV 工业 SVG 插画 (主题色驱动 gradient) │ +├──────────────────────────────────┬─────────────────────────────┤ +│ KPI Strip (6 项 · 等宽数字) │ 待办事项 (Tabs) │ +│ 任务占比 (4 行 · progress) │ - 故障告警 (danger) │ +│ 任务执行情况 (donut + legend) │ - 异常任务 (warning) │ +│ │ - 通信异常 (info) │ +│ │ - 服务器报警 (warning) │ +└──────────────────────────────────┴─────────────────────────────┘ +``` + +栅格:1.45fr : 1fr,断点见 MASTER §6。 + +--- + +## 2. Hero Banner 颜色规则(关键变更) + +**原问题**:`hero-banner` 内嵌 `linear-gradient(135deg, #1a0b3d 0%, #2d1b69 50%, #14082e 100%)` 这种**硬编码紫色**,在切换到 `deep-azure` / `emerald-forge` 等主题时会"撞色"。 + +**新规则**:使用 `--mg-bg-aside-1` / `--mg-bg-aside-2` + 主色 RGB,跨主题保持工业沉浸感。 + +```css +.hero-banner { + background: + radial-gradient(ellipse at 0% 0%, rgba(var(--mg-primary-hover-rgb), 0.50) 0%, transparent 55%), + radial-gradient(ellipse at 100% 100%, rgba(var(--mg-accent-rgb), 0.45) 0%, transparent 55%), + linear-gradient(135deg, var(--mg-bg-aside-1) 0%, var(--mg-bg-aside-2) 100%); + border: 1px solid rgba(var(--mg-accent-rgb), 0.30); +} +``` + +SVG `linearGradient` 中的 `#3b1e7a/#0e0a24` 等也建议改为接受 `var()` 注入,但 SVG 内联色本身允许多套主题保留紫色装饰风(hero scene 是装饰艺术,可保留 stylized 颜色)。 + +--- + +## 3. KPI 数字 (高优先级 · 必改) + +| 元素 | 原 | 新 | +|---|---|---| +| 字体 | 默认 sans (PingFang/Inter) | `var(--mg-font-mono)` JetBrains Mono | +| `font-variant-numeric` | normal | `tabular-nums` | +| 颜色 (light theme) | `var(--mg-text-light)` | 同 — 保留 | +| 颜色 (industrial-purple) | gradient text | 保留 | +| 字号 | 22px | 26px (突出主指标) | +| `letter-spacing` | 0.5px | 0 (mono 自带间距) | + +实现:在 `.kpi-value` 中加 `font-family: var(--mg-font-mono); font-variant-numeric: tabular-nums;` + +--- + +## 4. 状态色规范化 (DashboardView.vue 强约束) + +### 4.1 任务执行情况 (donut) + +| 状态 | 原 (hardcoded) | 新 (token) | +|---|---|---| +| 待执行 | `#a78bfa` (品牌紫色挪用) | `var(--mg-status-idle)` | +| 执行中 | `#7c3aed` (品牌紫色挪用) | `var(--mg-status-info)` | +| 待整理 | `#f59e0b` | `var(--mg-status-warning)` | + +不要再用品牌紫色当作运行状态——会造成"系统色"和"品牌色"语义混淆。 + +### 4.2 待办事项 tab tone + +| Tab | tone class | 颜色 (light) | 颜色 (dark) | +|---|---|---|---| +| 故障告警 | `danger` | `--mg-status-danger` | 同 | +| 异常任务 | `warning` | `--mg-status-warning` | 同 | +| 通信异常 | `info` | `--mg-status-info` | 同 | +| 服务器报警 | `warning` | `--mg-status-warning` | 同 | + +`.tab-count.danger / .warning / .info / .success` 在 theme.css 内统一,不再每个组件 hardcode。 + +--- + +## 5. 卡片层级 (Bento) + +| 卡片 | z-level | 浮起 | +|---|---|---| +| Hero Banner | z-2 | 不浮起(始终展示) | +| 主体两栏 (map-card / todo-card) | z-2 | hover 升 z-3 (translateY -2px) | +| KPI 项 (.kpi-item) | z-2 inner | hover translateY -1px | +| 待办列表 (.todo-list li) | z-2 inner | hover bg 加深 | + +--- + +## 6. AppShell 侧栏调整 + +### 6.1 active 菜单项 (高优先级 · 减噪) + +**原问题**:active 菜单堆叠了 5 重 box-shadow + text-shadow + 多重 background gradient。 + +**新规则**: +- 用单一 left-border (`inset 3px 0 0 var(--mg-accent)`) + 一层柔和 bg gradient (角度从 90° 改为 270° 减少撞色) + 一层窄阴影 +- 删除 text-shadow(在浅色主题里不可见,在深色里造成模糊) +- font-weight 600 即可强调,不需要发光 + +### 6.2 子菜单缩进 +- 父菜单 padding-left 16px,子菜单 24px +- 子菜单 active 颜色不再用霓虹紫,而是 `color: var(--mg-accent); border-left: 2px solid var(--mg-primary-hover)` 提供清晰但克制的视觉线索 + +### 6.3 滚动条 +- 侧栏菜单 `.menu` 自定义滚动条宽 4px、半透明色,避免影响紧凑视觉 + +--- + +## 7. 检查清单(与 MASTER §8 互补) + +实施完成后核对: + +- [ ] DashboardView 中无任何 `#7c3aed/#a78bfa` 状态色 hardcode +- [ ] KPI value 等宽对齐(tabular-nums) +- [ ] 切换主题:fame-lavender → deep-azure → emerald-forge,Hero/卡片/侧栏色彩跟随 +- [ ] 侧栏 active 项视觉清晰,无 5+ shadow 叠加 +- [ ] `prefers-reduced-motion: reduce` 下 quick-item 入场动画 / live dot 关闭 +- [ ] 浏览器缩放到 100%/125%/150% 不破坏栅格 diff --git a/frontends/apps/simple-platform-vue/env.d.ts b/frontends/apps/simple-platform-vue/env.d.ts new file mode 100644 index 0000000..eedcf6e --- /dev/null +++ b/frontends/apps/simple-platform-vue/env.d.ts @@ -0,0 +1,18 @@ +/// <reference types="vite/client" /> + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<Record<string, unknown>, Record<string, unknown>, unknown> + export default component +} + +interface ImportMetaEnv { + readonly VITE_API_BASE: string + readonly VITE_VRENDER_HOST: string + // 'true' = 走前端 mock;其余值(含未设置)一律走真实后端。 + readonly VITE_USE_MOCK?: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/frontends/apps/simple-platform-vue/index.html b/frontends/apps/simple-platform-vue/index.html new file mode 100644 index 0000000..e4e1248 --- /dev/null +++ b/frontends/apps/simple-platform-vue/index.html @@ -0,0 +1,14 @@ +<!doctype html> +<html lang="zh-CN"> + <head> + <meta charset="UTF-8" /> + <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>迷毂 · 智能调度平台 + + + +
+ + + diff --git a/frontends/apps/simple-platform-vue/package.json b/frontends/apps/simple-platform-vue/package.json new file mode 100644 index 0000000..8d62894 --- /dev/null +++ b/frontends/apps/simple-platform-vue/package.json @@ -0,0 +1,31 @@ +{ + "name": "simple-platform-vue", + "private": true, + "version": "0.1.0", + "type": "module", + "description": "Simple-FR 管理员 + 运营双视图前端(admin/monitor 单工程切换)。", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview", + "lint": "eslint . --ext .ts,.vue --fix" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.7", + "echarts": "^5.5.1", + "element-plus": "^2.8.4", + "pinia": "^2.2.4", + "vue": "^3.5.12", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@types/node": "^22.7.7", + "@vitejs/plugin-vue": "^5.1.4", + "typescript": "^5.6.3", + "unplugin-auto-import": "^0.18.3", + "unplugin-vue-components": "^0.27.4", + "vite": "^5.4.10", + "vue-tsc": "^2.1.6" + } +} diff --git a/frontends/apps/simple-platform-vue/public/FRLD-logo-white-no_title.png b/frontends/apps/simple-platform-vue/public/FRLD-logo-white-no_title.png new file mode 100644 index 0000000..23af5a5 Binary files /dev/null and b/frontends/apps/simple-platform-vue/public/FRLD-logo-white-no_title.png differ diff --git a/frontends/apps/simple-platform-vue/public/FRLD-logo-white.png b/frontends/apps/simple-platform-vue/public/FRLD-logo-white.png new file mode 100644 index 0000000..bc6af75 Binary files /dev/null and b/frontends/apps/simple-platform-vue/public/FRLD-logo-white.png differ diff --git a/frontends/apps/simple-platform-vue/public/favicon.svg b/frontends/apps/simple-platform-vue/public/favicon.svg new file mode 100644 index 0000000..dc64553 --- /dev/null +++ b/frontends/apps/simple-platform-vue/public/favicon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/frontends/apps/simple-platform-vue/public/login-bg.jpg b/frontends/apps/simple-platform-vue/public/login-bg.jpg new file mode 100644 index 0000000..374a9db Binary files /dev/null and b/frontends/apps/simple-platform-vue/public/login-bg.jpg differ diff --git a/frontends/apps/simple-platform-vue/src/App.vue b/frontends/apps/simple-platform-vue/src/App.vue new file mode 100644 index 0000000..02e3512 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/App.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/frontends/apps/simple-platform-vue/src/api/auth.ts b/frontends/apps/simple-platform-vue/src/api/auth.ts new file mode 100644 index 0000000..fb8562f --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/auth.ts @@ -0,0 +1,50 @@ +import http from './http' +import type { LoginRequest, LoginResponse, MeResponse, Scope } from '@/types/auth' +import { mockLogin } from '@/mock/server' + +// 是否走前端 Mock。由 VITE_USE_MOCK 控制: +// - .env.development 默认 'true' → 本地无后端即可联调 +// - .env.production 默认 'false' → 生产强制走 Platform.Server 真实 API +// 任何不等于字符串 'true' 的取值都视为 false,避免 build 时静态替换出错。 +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +export async function login(req: LoginRequest): Promise { + if (MOCK) return mockLogin(req) + const { data } = await http.post('/auth/login', req) + return data +} + +export async function logout(): Promise { + if (MOCK) return + await http.post('/auth/logout') +} + +/** + * AR-6 (会话 45):服务端切换 scope 并重发 token + perms。 + * 替代过去 stores/auth.ts switchScope 客户端硬编码 allowedOps 的伪权限做法。 + * Mock 模式下退化为本地翻转 scope(mockLogin 已经依据 scope 返回不同 perms)。 + */ +export async function switchScope(scope: Scope): Promise { + if (MOCK) { + // mock 直接复用 mockLogin 的 perm 推算逻辑,伪造一次「免密码登录」。 + return mockLogin({ username: 'mock-user', password: 'mock', scope }) + } + const { data } = await http.post('/auth/switch-scope', { scope }) + return data +} + +/** + * 拿当前 token / Cookie 让后端实校一次身份。成功表示 token 仍被服务端接受, + * 失败(401)由 http 拦截器统一清 state + 跳 /login。 + * + * 解决「Platform.Server 随机 secret 重启 → 老 token 失效 → 前端 isAuthed 仍 true 误放行」的窗口。 + */ +export async function getMe(): Promise { + if (MOCK) { + // mock 模式下没有 secret 概念,本地 store 里有什么就是什么;直接 throw 让守卫 + // 走「认可本地状态」分支,避免 mock 联调误判为「身份失效」。 + throw new Error('mock-mode-skip-me-validation') + } + const { data } = await http.get('/auth/me') + return data +} diff --git a/frontends/apps/simple-platform-vue/src/api/config.ts b/frontends/apps/simple-platform-vue/src/api/config.ts new file mode 100644 index 0000000..d6c300c --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/config.ts @@ -0,0 +1,22 @@ +import http from './http' +import type { ConfigEnvelope, ConfigSection } from '@/types/config' +import { mockGetConfig, mockPutConfig } from '@/mock/server' + +// 见 auth.ts 中关于 VITE_USE_MOCK 的说明:生产默认走 Platform.Server `/api/config/*`, +// 仅当 `.env.development` 显式声明 `VITE_USE_MOCK=true` 时才回到前端假数据。 +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +export async function getConfig(section: ConfigSection): Promise> { + if (MOCK) return mockGetConfig(section) + const { data } = await http.get>(`/config/${section}`) + return data +} + +export async function putConfig( + section: ConfigSection, + payload: T +): Promise> { + if (MOCK) return mockPutConfig(section, payload) + const { data } = await http.put>(`/config/${section}`, payload) + return data +} diff --git a/frontends/apps/simple-platform-vue/src/api/http.ts b/frontends/apps/simple-platform-vue/src/api/http.ts new file mode 100644 index 0000000..7b37a87 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/http.ts @@ -0,0 +1,75 @@ +import axios, { AxiosError, type AxiosInstance, type InternalAxiosRequestConfig } from 'axios' + +const baseURL = (import.meta.env.VITE_API_BASE as string | undefined) ?? '/api' + +// AR-5 (会话 45):withCredentials=true 让后端下发的 httpOnly Cookie (simple.auth.token) +// 自动随请求带回。Platform.Server `/api/auth/login` 同时下发 Cookie 和返回 token 字段, +// 过渡期内 Authorization: Bearer header 仍然兼容(旧浏览器 / 跨进程脚本)。 +const http: AxiosInstance = axios.create({ + baseURL, + timeout: 15000, + headers: { 'Content-Type': 'application/json' }, + withCredentials: true +}) + +http.interceptors.request.use((config: InternalAxiosRequestConfig) => { + // 双轨:优先用 localStorage 里的 token(过渡期 fallback),Cookie 会自动带; + // 后端首先看 Authorization: Bearer,没有再看 Cookie,两路任一通过即可。 + const token = localStorage.getItem('simple.auth.token') + if (token) { + config.headers.set('Authorization', `Bearer ${token}`) + } + const scope = localStorage.getItem('simple.auth.scope') + if (scope) { + config.headers.set('X-Scope', scope) + } + return config +}) + +/** + * 把 axios 异常翻译成更友好的中文文案,特别是 SimpleLite 链路: + * + * /api/sl/projection/** → Platform.Server YARP → SimpleLite EmbedIO :8222 + * + * 如果 SimpleLite 没启动 / 端口未监听,YARP 一定回 502;超时一般是 504。把这两种 + * 情况单独识别,写成「SimpleLite 未连接,请先启动 SimpleLite (端口 8222)」之类, + * 比直接抛 `Request failed with status code 502` 友好得多,也避免用户怀疑前端 bug。 + */ +function describeError(err: AxiosError): string { + const status = err.response?.status + const url = err.config?.url ?? '' + const isSimpleLite = url.startsWith('/sl/') || url.startsWith('sl/') + if (status === 502 || status === 504 || err.code === 'ECONNABORTED' || err.code === 'ERR_NETWORK') { + if (isSimpleLite) { + return 'SimpleLite 未连接:请先启动 SimpleLite 后端(监听端口 8222)后重试。' + } + return `网关无法连接到下游服务(${status ?? err.code ?? 'network'})。` + } + // 后端 envelope 模式:{ success: false, message: 'xxx' } + const data = err.response?.data as { message?: string } | undefined + if (data?.message) return data.message + return err.message +} + +http.interceptors.response.use( + (resp) => resp, + (err: AxiosError) => { + if (err.response?.status === 401) { + // 会话 45 HC-1:401 全量清 state,避免老 user/scope/perm 残留导致 UI 误判。 + try { + localStorage.removeItem('simple.auth.token') + localStorage.removeItem('simple.auth.user') + localStorage.removeItem('simple.auth.scope') + localStorage.removeItem('simple.auth.runMode') + localStorage.removeItem('simple.auth.perm') + } catch { /* 某些隐私模式 / iframe 沙箱可能禁用 localStorage */ } + if (location.pathname !== '/login') location.assign('/login') + } + // 用 Object.defineProperty 覆盖 message,避免后续 `(err as Error).message` 还是看到原文。 + const friendly = describeError(err) + try { Object.defineProperty(err, 'message', { value: friendly, configurable: true }) } catch { /* ignore */ } + return Promise.reject(err) + } +) + +export default http diff --git a/frontends/apps/simple-platform-vue/src/api/mapEdit.ts b/frontends/apps/simple-platform-vue/src/api/mapEdit.ts new file mode 100644 index 0000000..8d63565 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/mapEdit.ts @@ -0,0 +1,282 @@ +import http from './http' + +/** + * 与 SimpleLite `MapEditApiController` 对应的前端胶水。 + * 路径前缀:`/sl/projection/map-edit`(YARP → SimpleLite `/projection/map-edit`)。 + * + * 也覆盖 AI 服务配置 `/sl/projection/ai-config`(GET / POST),由 AiConfigController 提供。 + * + * 所有方法都通过统一信封 `{ success, code, data, message }` 返回;调用方拿到的是 `data` 部分, + * 失败时直接抛 Error,让上层 try/catch 或 ElMessage.error 统一处理。 + */ + +const BASE = '/sl/projection/map-edit' +const AI_BASE = '/sl/projection/ai-config' + +export interface MapEditEnvelope { + success: boolean + code: number + data: T | null + message: string +} + +export type MapEditKind = + | 'site' + | 'track' + | 'bezier' + | 'arc' + | 'nurbs' + | 'image' + | 'text' + | 'model' + | 'special' + +export interface CreateSitePayload { + x: number + y: number + z?: number + name?: string + layer?: string + [k: string]: unknown +} + +export interface CreateTrackPayload { + siteA: number + siteB: number + name?: string + layer?: string + [k: string]: unknown +} + +export interface CreateImagePayload { + x: number + y: number + imagePath: string + size?: number + angle?: number + opacity?: number + name?: string + layer?: string +} + +export interface CreateTextPayload { + x: number + y: number + content: string + color?: string + size?: number + name?: string + layer?: string +} + +export interface CreateModelPayload { + x: number + y: number + modelPath: string + scale?: number + rotation?: number + zOffset?: number + name?: string + layer?: string +} + +export interface CreateCarPayload { + x: number + y: number + /** 朝向,弧度。可省略,默认 0。 */ + theta?: number + name?: string + layer?: string +} + +export interface BatchOp { + action: 'create' | 'delete' | 'patch' + kind?: MapEditKind | string + id?: number + data?: Record +} + +export interface PickResult { + x: number + y: number + siteId: number +} + +export interface DashboardSummary { + cars: number + onlineCars: number + alarmingCars: number + sites: number + tracks: number + specials: number + maps: number + missions: number + timestamp: string +} + +export interface AssetUploadResult { + fileName: string + savedPath: string + /** 相对 url,前端拼上 webVRender host 即可显示。 */ + url: string +} + +export interface ViewFilterSnapshot { + selectFilter: { sites: boolean; tracks: boolean; cars: boolean; decor: boolean } + alignSnap: { sites: boolean; cars: boolean; tracks: boolean } + showViewport: { sceneLabels: boolean; scenePrimitives: boolean; cars: boolean } +} + +/** 部分更新;只传你要改的字段即可。后端不会覆盖未传字段。 */ +export interface ViewFilterPatch { + selectFilter?: Partial + alignSnap?: Partial + showViewport?: Partial +} + +export interface AiMapGenerateRequest { + prompt: string + mode?: 'sites' | 'tracks' | 'sites+tracks' | 'full' + bounds?: [number, number, number, number] + referenceImageBase64?: string + layer?: string + constraints?: string +} + +export interface AiMapGenerateResult { + created: Array<{ tool: string; kind: string; id: number; typeName?: string; error?: string }> + assistantText?: string + usedTools: number +} + +export interface AiConfig { + endpoint: string + apiKey: string + model: string + systemPrompt: string + temperature: number + maxTokens: number + timeoutSec: number + /** 仅 GET 返回时携带:apiKey 非空 → true。 */ + configured?: boolean +} + +async function unwrap(promise: Promise<{ data: MapEditEnvelope }>): Promise { + const { data } = await promise + if (!data?.success) throw new Error(data?.message ?? 'request failed') + return data.data as T +} + +export const mapEditApi = { + // 对象创建/删除 + createSite: (p: CreateSitePayload) => + unwrap<{ kind: 'site'; id: number; name?: string }>(http.post(`${BASE}/objects/site`, p)), + + createTrack: (kind: 'track' | 'bezier' | 'arc' | 'nurbs', p: CreateTrackPayload) => + unwrap<{ kind: 'track'; id: number; typeName: string }>(http.post(`${BASE}/objects/${kind}`, p)), + + createImage: (p: CreateImagePayload) => + unwrap<{ kind: 'image'; id: number }>(http.post(`${BASE}/objects/image`, p)), + + createText: (p: CreateTextPayload) => + unwrap<{ kind: 'text'; id: number }>(http.post(`${BASE}/objects/text`, p)), + + createModel: (p: CreateModelPayload) => + unwrap<{ kind: 'model'; id: number }>(http.post(`${BASE}/objects/model`, p)), + + /** 直接创建一辆模拟车 (DummyCar),不经过画布 pick。 */ + createCar: (p: CreateCarPayload) => + unwrap<{ kind: 'car'; id: number; typeName: string }>(http.post(`${BASE}/objects/car`, p)), + + deleteObject: (kind: MapEditKind | string, id: number) => + unwrap<{ kind: string; id: number; deleted: boolean }>(http.delete(`${BASE}/objects/${kind}/${id}`)), + + batch: (ops: BatchOp[]) => + unwrap<{ count: number; results: unknown[] }>(http.post(`${BASE}/objects/batch`, { ops })), + + copyFieldsTo: (kind: MapEditKind | string, id: number, fieldNames: string[], targets: Array<{ kind: string; id: number }>) => + unwrap<{ copied: number }>(http.post(`${BASE}/objects/${kind}/${id}/fields/copy-to`, { fieldNames, targets })), + + // 拾取 / 仪表盘 + pick: () => unwrap(http.post(`${BASE}/pick`)), + + dashboardSummary: () => + unwrap(http.get(`${BASE}/dashboard/summary`)), + + // 资产上传:传 base64 + uploadAsset: (filename: string, dataBase64: string) => + unwrap(http.post(`${BASE}/assets/upload`, { filename, data: dataBase64 }, { + headers: { 'Content-Type': 'multipart/form-data' } + })), + + // AI 生图 + aiMapGenerate: (req: AiMapGenerateRequest) => + unwrap(http.post(`${BASE}/ai/map-generate`, req)), + + projectSave: (path?: string) => + unwrap<{ path: string; savedAt: string }>(http.post(`${BASE}/project/save`, { path: path ?? '' })), + + projectLoad: (path: string) => + unwrap<{ path: string; sites: number; tracks: number; specials: number; missions: number }>( + http.post(`${BASE}/project/load`, { path }) + ), + + projectCurrent: () => + unwrap<{ sites: number; tracks: number; specials: number; maps: number; missions: number; timestamp: string; cwd: string }>( + http.get(`${BASE}/project/current`) + ), + + projectBrowse: (dir?: string) => + unwrap<{ + dir: string + parent: string | null + subdirs: Array<{ name: string; fullPath: string }> + jsons: Array<{ name: string; fullPath: string; sizeBytes: number; modified: string }> + }>(http.get(`${BASE}/project/browse`, { params: dir ? { dir } : {} })), + + /** + * 在 SimpleLite 桌面进程上弹 Windows 原生「打开文件」对话框, + * 让用户挑一个项目 JSON。返回 { path, cancelled };cancelled=true 时 path 为 null。 + * initialDir 默认 SimpleLite 程序工作目录。 + */ + projectNativePickOpen: (initialDir?: string) => + unwrap<{ path: string | null; cancelled: boolean }>( + http.post(`${BASE}/project/native-pick-open`, { initialDir: initialDir ?? '' }) + ), + + /** + * 弹 Windows 原生「另存为」对话框。返回 { path, cancelled }。 + * suggestedFileName 默认 project.current.json。 + */ + projectNativePickSave: (initialDir?: string, suggestedFileName?: string) => + unwrap<{ path: string | null; cancelled: boolean }>( + http.post(`${BASE}/project/native-pick-save`, { + initialDir: initialDir ?? '', + suggestedFileName: suggestedFileName ?? 'project.current.json' + }) + ), + + sampleSitesAlongTrack: (trackId: number, opts: { spacingMm: number; includeEndpoints?: boolean; layer?: string }) => + unwrap<{ created: number; ids: number[] }>( + http.post(`${BASE}/objects/track/${trackId}/sample-sites`, opts) + ), + + /** + * 读取后端「过滤」菜单当前的三组开关。编辑器载入时拉一次,让前端 reactive 状态 + * 与 SimpleLite 真实开关一致(避免「前端勾着、后端没改」的偏差)。 + */ + getViewFilter: () => unwrap(http.get(`${BASE}/view-filter`)), + + /** + * 部分更新「过滤」菜单。只传要改的字段即可,未传字段保持原状。 + * 后端写入对应 SimpleUI 静态字段 + 触发 SimpleSceneRenderer.NotifyStateChanged() + * 立即重画工作区,对 SelectFilter 变化还会同步 CycleGUI 引擎层 SelectObject 模式。 + */ + setViewFilter: (patch: ViewFilterPatch) => + unwrap(http.post(`${BASE}/view-filter`, patch)) +} + +export const aiConfigApi = { + get: () => unwrap(http.get(`${AI_BASE}/`)), + save: (cfg: AiConfig) => unwrap<{ saved: boolean }>(http.post(`${AI_BASE}/`, cfg)) +} diff --git a/frontends/apps/simple-platform-vue/src/api/ops.ts b/frontends/apps/simple-platform-vue/src/api/ops.ts new file mode 100644 index 0000000..b5aafbe --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/ops.ts @@ -0,0 +1,32 @@ +import http from './http' +import type { OpsAuditEntry } from '@/types/ops' +import { mockOpsExecute, mockOpsAudits } from '@/mock/server' + +// 见 auth.ts 中关于 VITE_USE_MOCK 的说明:运维白名单网关默认走真实 `/api/sl/ops/*`, +// 仅在前端 dev 调试时由 `.env.development` 把 VITE_USE_MOCK 设为 'true' 回到假数据。 +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +export interface OpsExecuteReq { + opCode: string + targetId: string + reason?: string + idempotencyKey?: string +} + +export interface OpsExecuteResp { + ok: boolean + auditId: string + message?: string +} + +export async function executeOp(req: OpsExecuteReq): Promise { + if (MOCK) return mockOpsExecute(req) + const { data } = await http.post('/sl/ops/execute', req) + return data +} + +export async function listAudits(): Promise { + if (MOCK) return mockOpsAudits() + const { data } = await http.get('/sl/ops/audits') + return data +} diff --git a/frontends/apps/simple-platform-vue/src/api/projection.ts b/frontends/apps/simple-platform-vue/src/api/projection.ts new file mode 100644 index 0000000..26476e7 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/projection.ts @@ -0,0 +1,110 @@ +import http from './http' +import { reflectionApi, type ReflectionObject } from './reflection' +import type { Site, Track } from '@/types/map' +import type { Car, CarState } from '@/types/car' +import type { Mission, MissionStatus } from '@/types/mission' +import { mockSites, mockTracks, mockCars, mockMissions } from '@/mock/server' + +/** 设为 true 时使用本地 Mock;默认走 YARP → SimpleLite :8222。 + * 与 auth.ts / config.ts / ops.ts 统一走 VITE_USE_MOCK 开关(替代旧的 VITE_PROJECTION_MOCK)。 */ +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +export async function listSites(): Promise { + if (MOCK) return mockSites() + const { data } = await http.get('/sl/projection/sites') + return data +} + +export async function listTracks(): Promise { + if (MOCK) return mockTracks() + const { data } = await http.get('/sl/projection/tracks') + return data +} + +function mapStatusToCarState(status?: string | null): CarState { + if (!status) return 'idle' + const s = status.toLowerCase() + if (/fault|error|failed|故障|异常|失联|超时|检修/.test(s)) return 'fault' + if (/charg|充电/.test(s)) return 'charging' + if (/pause|暂停|挂起/.test(s)) return 'paused' + if (/offline|离线/.test(s)) return 'offline' + if (/run|busy|working|运行|工作|执行|忙/.test(s)) return 'running' + return 'idle' +} + +function mapStatusToMissionStatus(status?: string | null): MissionStatus { + if (!status) return 'queued' + const s = status.toLowerCase() + if (/run|运行|执行/.test(s)) return 'running' + if (/pause|暂停|挂起/.test(s)) return 'paused' + if (/complete|done|完成|成功/.test(s)) return 'completed' + if (/cancel|取消|中止/.test(s)) return 'cancelled' + if (/fail|error|fault|失败|异常/.test(s)) return 'failed' + if (/assign|分配/.test(s)) return 'assigned' + return 'queued' +} + +function carFromReflection(row: ReflectionObject): Car { + return { + id: `C${String(row.id).padStart(2, '0')}`, + rawId: row.id, + name: row.name, + typeName: row.typeName, + x: 0, + y: 0, + theta: 0, + batterySoc: 0.8, + state: mapStatusToCarState(row.status), + lastUpdate: new Date().toISOString(), + group: row.layer ?? undefined + } +} + +function missionFromReflection(row: ReflectionObject): Mission { + return { + id: `M${String(row.id).padStart(2, '0')}`, + name: row.name, + typeName: row.typeName, + priority: 50, + status: mapStatusToMissionStatus(row.status), + steps: [], + createdAt: new Date().toISOString() + } +} + +async function listCarsFromReflection(): Promise { + const rows = await reflectionApi.listObjects('car') + return rows.map(carFromReflection) +} + +async function listMissionsFromReflection(): Promise { + const rows = await reflectionApi.listObjects('mission') + return rows.map(missionFromReflection) +} + +/** 优先走 SimpleLite /projection/cars;502 或空列表时回退 reflection 对象列表(与 3D 场景同源)。 */ +export async function listCars(): Promise { + if (MOCK) return mockCars() + try { + const { data } = await http.get('/sl/projection/cars') + if (Array.isArray(data) && data.length > 0) return data + const fallback = await listCarsFromReflection() + if (fallback.length > 0) return fallback + return Array.isArray(data) ? data : [] + } catch { + return listCarsFromReflection() + } +} + +export async function listMissions(): Promise { + if (MOCK) return mockMissions() + try { + const { data } = await http.get('/sl/projection/missions') + if (Array.isArray(data) && data.length > 0) return data + const fallback = await listMissionsFromReflection() + if (fallback.length > 0) return fallback + return Array.isArray(data) ? data : [] + } catch { + return listMissionsFromReflection() + } +} diff --git a/frontends/apps/simple-platform-vue/src/api/reflection.ts b/frontends/apps/simple-platform-vue/src/api/reflection.ts new file mode 100644 index 0000000..9cdf478 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/reflection.ts @@ -0,0 +1,620 @@ +import http from './http' +import { + mockReflectionAssemblies, + mockReflectionBundle, + mockReflectionDeleteField, + mockReflectionExecute, + mockReflectionFields, + mockReflectionKinds, + mockReflectionMethods, + mockReflectionMethodsByType, + mockReflectionObjects, + mockReflectionSetField, + mockReflectionStatus +} from '@/mock/data/reflection' + +// 与 auth.ts / config.ts / ops.ts 统一走 VITE_USE_MOCK 开关,避免 PROJECTION/USE 双命名造成 +// .env 改一个忘改另一个的诡异半 mock 状态。env.d.ts 已声明 VITE_USE_MOCK 类型。 +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +/** + * 与 SimpleLite `ReflectionApiController` 一一对应的前端胶水。 + * 路径前缀:`/sl/projection/reflection`(迷榖平台 YARP 反代下游 → SimpleLite EmbedIO)。 + * + * 该客户端覆盖了 SimpleLite 主体以及通过 plugins/*.dll 动态加载的 Standard 等 + * 插件中所有标注了 `MethodMember` 的方法与所有继承自 Car/Mission/CarProgram/Site/Track + * 的子类型,平台前端可据此动态渲染列表、属性、动作按钮。 + */ + +const BASE = '/sl/projection/reflection' + +export type ReflectionKind = + | 'car' + | 'vehicle' + | 'mission' + | 'process' + | 'site' + | 'track' + | 'map' + | 'special' + | 'script' + // 顶级合成 kind:等于 site + track + special 的并集,由 SimpleLite 后端 /objects/scene 直接返回, + // 每行带 subKind 字段,前端 bundle / execute / setField 走对应底层 kind。 + | 'scene' + +export interface ReflectionEnvelope { + success: boolean + code: number + data: T | null + message: string +} + +export interface ReflectionParam { + name: string + typeName: string + hasDefault: boolean + defaultValue?: string | null +} + +export interface ReflectionMethod { + methodName: string + label?: string | null + description?: string | null + hint?: string | null + returnType: string + hasParams: boolean + params: ReflectionParam[] +} + +export interface ReflectionObject { + id: number + name: string + typeName: string + layer?: string | null + status?: string | null + summary?: string | null + /** 当顶级 kind 是合成 kind(如 "scene")时,此字段标记底层真实 kind。 */ + subKind?: string | null +} + +export interface ReflectionKv { + key: string + value: string + locked?: boolean + /** "typed" = 强类型 [FieldMember],不可删;"dynamic" = Prop.fields 动态字段,可删。 */ + source?: 'typed' | 'dynamic' + /** 后端字段的 .NET 类型名(String / Single / Int32 / Boolean 等),用于前端渲染对应控件。 */ + typeName?: string +} + +export interface ReflectionTypeMethods { + typeName: string + fullTypeName?: string + typeLabel?: string + assemblyName: string + methods: ReflectionMethod[] +} + +export interface ReflectionAssembly { + name: string + version?: string + location?: string +} + +/** 通过 GET /reflection/types/{kind} 拿到的可创建子类型行(进程 / 脚本 / 车辆管理面板的「新建」下拉用)。 */ +export interface ReflectionCreatableType { + typeName: string + shortName: string + label: string + assemblyName: string +} + +/** GET /reflection/plugins 返回的单个插件元信息。 */ +export interface PluginEntry { + name: string + dllPath: string + assemblyName: string + assemblyVersion: string + collectible: boolean + loadedTypes: number + loadedAt: string + missionTypes: number + carTypes: number +} + +export interface ReflectionKindMeta { + kind: ReflectionKind + count: number + label: string + /** "primary" 表示顶级 5 分类;undefined / 其他视为底层 kind。 */ + group?: string +} + +export interface ReflectionSubKindMeta extends ReflectionKindMeta { + parent: ReflectionKind +} + +export interface ReflectionSelection { + kind: ReflectionKind | null + id: number + name: string + typeName?: string +} + +export interface ScriptSourcePayload { + id: number + name: string + typeName: string + state?: string | null + script: string +} + +export interface ScriptExceptionStatusPayload { + id: number + name: string + typeName: string + car: string + state?: string | null + exception: string + notifies: string + report: string +} + +// ────────────────────────────────────────────────────────────────────────── +// 地图监控可见性配置(与后端 MonitorVisibilityConfig / MonitorVisibilityForKind 对应) +// +// `config` = 管理员勾选的白名单。空数组 = 显示全部;非空 = 仅显示列表中的 key。 +// `available` = 当前 SimpleLite 进程里能扫描到的全部可勾选项(基类 + 已加载子类 + +// 运行时实例的 Prop.fields / status 反射键)。是 GET 返回的副产物, +// POST 写入时不需要、也不该回传。 +// ────────────────────────────────────────────────────────────────────────── + +export type MonitorVisibilityKind = 'car' | 'site' | 'track' + +export interface MonitorVisibilityForKind { + fields: string[] + status: string[] + methods: string[] +} + +export interface MonitorVisibilityMap { + car: MonitorVisibilityForKind + site: MonitorVisibilityForKind + track: MonitorVisibilityForKind +} + +/** POST /monitor-config 请求体:三组白名单 + 可选按车型动作。 */ +export interface MonitorConfigSaveBody extends MonitorVisibilityMap { + carActionByType?: Record +} + +export interface MonitorConfigPayload { + config: MonitorVisibilityMap & { carActionByType?: Record } + available: MonitorVisibilityMap +} + +const MOCK_MONITOR_STORAGE_KEY = 'simple-platform-mock-monitor-config' + +function loadMockMonitorConfig(): MonitorConfigSaveBody { + try { + const raw = localStorage.getItem(MOCK_MONITOR_STORAGE_KEY) + if (raw) return JSON.parse(raw) as MonitorConfigSaveBody + } catch { /* ignore */ } + return emptyMonitorVisibilityMap() +} + +function saveMockMonitorConfig(cfg: MonitorConfigSaveBody) { + try { + localStorage.setItem(MOCK_MONITOR_STORAGE_KEY, JSON.stringify(cfg)) + } catch { /* ignore */ } +} + +export function emptyMonitorVisibilityForKind(): MonitorVisibilityForKind { + return { fields: [], status: [], methods: [] } +} + +export function emptyMonitorVisibilityMap(): MonitorVisibilityMap { + return { + car: emptyMonitorVisibilityForKind(), + site: emptyMonitorVisibilityForKind(), + track: emptyMonitorVisibilityForKind() + } +} + +// 语义上 available 与 config 同构(都是按 kind 分组的三组 key 列表),所以共用一个工厂。 +// 单独保留命名是为了表达"业务含义不同"——可勾选全集 vs 已勾选白名单。 +export const emptyMonitorAvailableMap = emptyMonitorVisibilityMap + +async function get(path: string): Promise { + const { data } = await http.get>(`${BASE}${path}`) + if (!data?.success) throw new Error(data?.message ?? `reflection ${path} failed`) + return data.data as T +} + +async function post(path: string, params?: Record): Promise { + const { data } = await http.post>(`${BASE}${path}`, null, { params }) + if (!data?.success) throw new Error(data?.message ?? `reflection ${path} failed`) + return data.data as T +} + +async function del(path: string): Promise { + const { data } = await http.delete>(`${BASE}${path}`) + if (!data?.success) throw new Error(data?.message ?? `reflection ${path} failed`) + return data.data as T +} + +export const reflectionApi = { + listKinds: () => MOCK + ? Promise.resolve(mockReflectionKinds()) + : get<{ kinds: ReflectionKindMeta[]; subKinds?: ReflectionSubKindMeta[] }>('/kinds'), + + listAssemblies: () => MOCK + ? Promise.resolve(mockReflectionAssemblies()) + : get('/assemblies'), + + listObjects: (kind: ReflectionKind) => MOCK + ? Promise.resolve(mockReflectionObjects(kind)) + : get(`/objects/${kind}`), + + /** 列出当前可实例化的子类型(用于「新建」下拉);mock 模式直接给空。 */ + listCreatableTypes: (kind: ReflectionKind): Promise => MOCK + ? Promise.resolve([]) + : get(`/types/${kind}`), + + /** + * 创建一条对象。底层 POST `/objects/{kind}?...`,所有 extras 字段都作为 query 传给后端。 + * + * 三类典型用法: + * - process/script + UiDiscoveryCache 子类:`createObject('process', 'TaskFlow')` + * - car(DummyCar 兜底,typeName 可空):`createObject('car', '', { name: 'AGV-1', x: 0, y: 0 })` + * - site/track/image/text/model:`createObject('site', '', { x: 100, y: 200, name: 'A' })` + * + * 后端 BuildAndPersist 会做完整的字段类型转换;前端只负责传字符串。 + */ + createObject: ( + kind: ReflectionKind, + typeName?: string, + extras?: Record + ) => { + if (MOCK) return Promise.resolve({ kind, id: -1, typeName: typeName ?? '' }) + const params: Record = {} + if (typeName) params.typeName = typeName + if (extras) { + for (const [k, v] of Object.entries(extras)) { + if (v === undefined || v === null || v === '') continue + params[k] = v + } + } + return post<{ kind: string; id: number; typeName: string }>(`/objects/${kind}`, params) + }, + + /** 删除一条对象(process / script / car / site / track / special)。 */ + deleteObject: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve({ kind, id, deleted: true }) + : del<{ kind: string; id: number; deleted: boolean }>(`/objects/${kind}/${id}`), + + /** + * 触发 SimpleLite 重新扫描 ./plugins 目录、加载新增 dll 并重建 UiDiscoveryCache。 + * 已加载的 dll 不会重复加载。 + * 返回:本次发现的 dll 总数、新加载的 assembly 数、当前可创建的 mission/car 类型计数。 + */ + reloadPlugins: () => MOCK + ? Promise.resolve({ totalDlls: 0, newlyLoaded: 0, failed: 0, missionTypes: 0, carTypes: 0 }) + : post<{ totalDlls: number; newlyLoaded: number; failed: number; missionTypes: number; carTypes: number }>( + '/plugins/reload' + ), + + /** 列出当前已加载的所有 collectible 插件(PluginManager 跟踪范围内)。 */ + listPlugins: () => MOCK + ? Promise.resolve([]) + : get('/plugins'), + + /** + * 卸载一个 collectible 插件。 + * 失败原因常见:仍有 Mission / Car 实例占用插件类型 → 409。 + */ + unloadPlugin: (name: string) => MOCK + ? Promise.resolve({ name, message: 'mock', missionTypes: 0, carTypes: 0 }) + : post<{ name: string; message: string; missionTypes: number; carTypes: number }>( + `/plugins/${encodeURIComponent(name)}/unload` + ), + + listMethods: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve(mockReflectionMethods(kind)) + : get(`/methods/${kind}/${id}`), + + listMethodsByType: (kind: ReflectionKind) => MOCK + ? Promise.resolve(mockReflectionMethodsByType(kind)) + : get(`/methods-by-type/${kind}`), + + getStatus: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve(mockReflectionStatus(kind, id)) + : get(`/status/${kind}/${id}`), + + getFields: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve(mockReflectionFields(kind, id)) + : get(`/fields/${kind}/${id}`), + + setField: (kind: ReflectionKind, id: number, field: string, value: string) => MOCK + ? Promise.resolve(mockReflectionSetField(kind, id, field, value)) + : post<{ kind: ReflectionKind; id: number; field: string; value: string }>( + `/fields/${kind}/${id}/${encodeURIComponent(field)}`, + { value } + ), + + deleteField: (kind: ReflectionKind, id: number, field: string) => MOCK + ? Promise.resolve(mockReflectionDeleteField(kind, id, field)) + : del<{ kind: ReflectionKind; id: number; field: string }>( + `/fields/${kind}/${id}/${encodeURIComponent(field)}` + ), + + getBundle: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve(mockReflectionBundle(kind, id)) + : get<{ + kind: string + id: number + typeName: string + fullTypeName?: string + assembly: string + summary: ReflectionObject + methods: ReflectionMethod[] + status: ReflectionKv[] + /** 扁平 key→value 兼容旧组件。 */ + fields: Record + /** 带 source/locked/typeName 的字段表,新版「对象管理」面板用。 */ + fieldList?: ReflectionKv[] + }>(`/bundle/${kind}/${id}`), + + execute: (kind: ReflectionKind, id: number, method: string, params?: Record) => MOCK + ? Promise.resolve(mockReflectionExecute( + kind, + id, + method, + Object.fromEntries(Object.entries(params ?? {}).map(([k, v]) => [k, String(v)])) + )) + : post<{ returnValue: string }>( + `/execute/${kind}/${id}/${encodeURIComponent(method)}`, + params + ), + + /** 车辆前往指定站点(Web「去某地」;不依赖 SimpleUI.GetPoint)。 */ + gotoCarSite: (carId: number, siteId: number) => MOCK + ? Promise.resolve({ carId, siteId, message: `mock goto ${carId} -> ${siteId}` }) + : post<{ carId: number; siteId: number; message: string }>( + `/car/${carId}/goto-site`, + { siteId } + ), + + getScriptSource: (id: number): Promise => MOCK + ? Promise.resolve({ + id, + name: `MockScript#${id}`, + typeName: 'CarProgram', + state: 'Running', + script: '// mock script' + }) + : get(`/scripts/${id}/source`), + + getScriptExceptionStatus: (id: number): Promise => MOCK + ? Promise.resolve({ + id, + name: `MockScript#${id}`, + typeName: 'CarProgram', + car: 'AGV-1(#1)', + state: 'Running', + exception: '(无)', + notifies: '(无)', + report: '=== CarProgram 异常状态报告 ===\nstate : Running\n\n--- exception ---\n(无)' + }) + : get(`/scripts/${id}/exception-status`), + + // ────────────────────────────────────────────────────────────────────────── + // 地图监控配置(Configuration.conf.monitorVisibility) + // /monitor-config GET 现有配置 + 各 kind 可勾选 fields/status/methods 全集 + // /monitor-config POST body JSON 全量覆盖 + // 空白名单 = 显示全部;非空 = 仅显示列表中的 key。 + // ────────────────────────────────────────────────────────────────────────── + + getMonitorConfig: (): Promise => MOCK + ? Promise.resolve({ + config: loadMockMonitorConfig(), + available: emptyMonitorAvailableMap() + }) + : get('/monitor-config'), + + saveMonitorConfig: async (cfg: MonitorConfigSaveBody): Promise => { + if (MOCK) { + saveMockMonitorConfig(cfg) + return cfg + } + const { data } = await http.post>( + `${BASE}/monitor-config`, + cfg + ) + if (!data?.success) throw new Error(data?.message ?? 'saveMonitorConfig failed') + return data.data as MonitorConfigSaveBody + }, + + // 选中同步:让 SimpleLite 3D 场景同步高亮被点击对象 + getSelection: () => MOCK + ? Promise.resolve({ kind: null, id: 0, name: '' }) + : get('/selection'), + + setSelection: (kind: ReflectionKind, id: number) => MOCK + ? Promise.resolve({ kind, id, name: `mock(${kind}#${id})` }) + : post<{ kind: ReflectionKind; id: number; name: string }>('/selection', { kind, id }), + + clearSelection: () => MOCK + ? Promise.resolve({ cleared: true }) + : post<{ cleared: boolean }>('/selection/clear'), + + // ────────────────────────────────────────────────────────────────────────── + // 项目属性(Scene.conf 单例) + // /project/fields GET → 列出 Scene.conf 全部 [FieldMember] 字段 + // /project/fields/{key} POST → ?value=xxx 写入单字段 + // /project/save POST → 把内存项目(含修改后的 conf)写回 JSON + // ────────────────────────────────────────────────────────────────────────── + + getProjectFields: (): Promise => MOCK + ? Promise.resolve({ + target: 'Scene.conf', + lastLoadedPath: null, + autoloadPath: null, + fields: [] + }) + : get('/project/fields'), + + setProjectField: (field: string, value: string) => MOCK + ? Promise.resolve({ field, value }) + : post<{ field: string; value: string }>( + `/project/fields/${encodeURIComponent(field)}`, + { value } + ), + + /** 保存当前项目到磁盘。path 为空则后端用 LastLoadedPath / Configuration.conf.autoload。 */ + saveProject: (path?: string) => MOCK + ? Promise.resolve({ path: path ?? '(mock)' }) + : post<{ path: string }>('/project/save', path ? { path } : undefined), + + // ────────────────────────────────────────────────────────────────────────── + // 核心配置(simple.json / Configuration.conf) + // /app-config/fields GET → 列出 Configuration.conf 全部 [FieldMember] + // /app-config/fields/{key} POST → ?value=xxx 写入单字段 + // /app-config/save POST → 调 Configuration.ToFile("simple.json") + // ────────────────────────────────────────────────────────────────────────── + + getAppConfigFields: (): Promise => MOCK + ? Promise.resolve({ target: 'Configuration.conf', savePath: 'simple.json', fields: [] }) + : get('/app-config/fields'), + + setAppConfigField: (field: string, value: string) => MOCK + ? Promise.resolve({ field, value }) + : post<{ field: string; value: string }>( + `/app-config/fields/${encodeURIComponent(field)}`, + { value } + ), + + saveAppConfig: () => MOCK + ? Promise.resolve({ path: 'simple.json' }) + : post<{ path: string }>('/app-config/save'), + + // ────────────────────────────────────────────────────────────────────────── + // 车型样式(WorkspaceCarStylesByType / WorkspaceAlarmColorScheme) + // /car-style/types GET 列出所有 Car 子类型样式 + // /car-style/{typeFullName} GET 单个车型当前样式 + // /car-style/{typeFullName} POST body JSON 全量覆盖 + // /car-style/{typeFullName} DELETE 恢复为默认 + // /car-style/alarm-colors GET 7 种报警键 → 颜色 + // /car-style/alarm-colors POST body JSON 全量覆盖映射 + // /car-style/save POST 写回 simple.json + // ────────────────────────────────────────────────────────────────────────── + + getCarStyleTypes: () => MOCK + ? Promise.resolve({ globalDefault: defaultCarStyleDto(), types: [] }) + : get('/car-style/types'), + + getCarStyle: (typeFullName: string) => MOCK + ? Promise.resolve(defaultCarStyleDto()) + : get(`/car-style/${encodeURIComponent(typeFullName)}`), + + /** 用 axios 直接以 JSON body 提交,避免拼 query。 */ + putCarStyle: async (typeFullName: string, body: CarStyleDto) => { + if (MOCK) return body + const { data } = await http.post>( + `${BASE}/car-style/${encodeURIComponent(typeFullName)}`, + body + ) + if (!data?.success) throw new Error(data?.message ?? 'putCarStyle failed') + return data.data as CarStyleDto + }, + + deleteCarStyle: (typeFullName: string) => MOCK + ? Promise.resolve({ typeFullName, removed: true }) + : del<{ typeFullName: string; removed: boolean }>(`/car-style/${encodeURIComponent(typeFullName)}`), + + getAlarmColors: () => MOCK + ? Promise.resolve({ defaultKeys: [], entries: [] }) + : get('/car-style/alarm-colors'), + + putAlarmColors: async (palette: Record) => { + if (MOCK) return { count: Object.keys(palette).length } + const { data } = await http.post>( + `${BASE}/car-style/alarm-colors`, + palette + ) + if (!data?.success) throw new Error(data?.message ?? 'putAlarmColors failed') + return data.data as { count: number } + }, + + saveCarStyle: () => MOCK + ? Promise.resolve({ path: 'simple.json' }) + : post<{ path: string }>('/car-style/save') +} + +export interface CarStyleDto { + bodyLengthM: number + bodyWidthM: number + bodyColorArgb: number + outlineColorArgb: number + labelColorArgb: number + showLabel: boolean + modelPath: string +} + +export interface CarStyleTypeRow { + typeName: string + shortName: string + label: string + assemblyName: string + hasOverride: boolean + style: CarStyleDto +} + +export interface CarStyleTypesPayload { + globalDefault: CarStyleDto + types: CarStyleTypeRow[] +} + +export interface AlarmColorEntry { + key: string + colorArgb: number + isDefault: boolean +} + +export interface AlarmColorsPayload { + defaultKeys: string[] + entries: AlarmColorEntry[] +} + +function defaultCarStyleDto(): CarStyleDto { + return { + bodyLengthM: 0.64, + bodyWidthM: 0.42, + bodyColorArgb: 0xffffffff, + outlineColorArgb: 0xff2a2a2a, + labelColorArgb: 0xffffffff, + showLabel: true, + modelPath: '' + } +} + +export interface ProjectPropertyRow { + key: string + label: string + value: string + typeName: string + locked: boolean +} + +export interface ProjectPropertiesPayload { + target: string + lastLoadedPath: string | null + autoloadPath: string | null + fields: ProjectPropertyRow[] +} + +export interface AppConfigPayload { + target: string + savePath: string + fields: ProjectPropertyRow[] +} diff --git a/frontends/apps/simple-platform-vue/src/api/workbench.ts b/frontends/apps/simple-platform-vue/src/api/workbench.ts new file mode 100644 index 0000000..eaae178 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/workbench.ts @@ -0,0 +1,24 @@ +import http from './http' +import type { WorkbenchList, WorkbenchNav, SelectionDetail, DetailTab } from '@/types/workbench' +import { mockWorkbenchList, mockSelectionDetail } from '@/mock/data/workbench' + +// 与 api/* 其它模块统一走 VITE_USE_MOCK 开关(替代旧的 VITE_PROJECTION_MOCK)。 +const MOCK = import.meta.env.VITE_USE_MOCK === 'true' + +export async function listWorkbench(nav: WorkbenchNav): Promise { + if (MOCK) return mockWorkbenchList(nav) + const { data } = await http.get(`/sl/projection/workbench/${nav}`) + return data +} + +export async function getSelectionDetail( + objectKind: string, + objectId: string, + tab: DetailTab +): Promise { + if (MOCK) return mockSelectionDetail(objectKind, objectId, tab) + const { data } = await http.get('/sl/projection/selection/detail', { + params: { objectKind, objectId, tab } + }) + return data +} diff --git a/frontends/apps/simple-platform-vue/src/api/workspaceToolbar.ts b/frontends/apps/simple-platform-vue/src/api/workspaceToolbar.ts new file mode 100644 index 0000000..97e5935 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/api/workspaceToolbar.ts @@ -0,0 +1,113 @@ +import http from './http' + +/** + * 工作区画布工具栏 API(对应 SimpleLite `WorkspaceToolbarApiController`)。 + * + * 历史背景(会话33):原 SimpleLite iframe 内 ImGui 底栏 (`Panel_4` / + * `WorkspaceBottomBar.DefineForTerminalEmbedMinimal`) 提供 8 个按钮,平台 iframe + * 嵌入时该底栏会盖在画布上影响交互。本会话把这条底栏整体迁到 Vue 端 + * `WorkspaceCanvasToolbar.vue` 渲染,状态读写改走该 HTTP API。 + * + * 路径前缀:`/sl/projection/toolbar` (Platform.Server YARP → SimpleLite EmbedIO :8222) + */ + +const BASE = '/sl/projection/toolbar' + +export type AlignKey = 'sites' | 'cars' | 'tracks' +export type SelectKey = 'tracks' | 'cars' | 'decor' | 'sites' +export type DisplayKey = 'labels' | 'primitives' | 'cars' + +export interface ToolbarRecordingEntry { + fileName: string + fileSizeBytes: number + fileWriteTime: string + note: string + durationMs: number + frameCount: number + headerReadable: boolean + error: string +} + +export interface ToolbarRecordingState { + isRecording: boolean + mode: string + isPlaying: boolean + elapsedMs: number + frameCount: number + droppedFrames: number + currentRecordingFile: string | null + recordingsDirectory: string + entries: ToolbarRecordingEntry[] +} + +export interface ToolbarLayer { + name: string + visible: boolean +} + +export interface ToolbarState { + align: { sites: boolean; cars: boolean; tracks: boolean } + select: { tracks: boolean; cars: boolean; decor: boolean; sites: boolean } + display: { labels: boolean; primitives: boolean; cars: boolean } + layers: ToolbarLayer[] + recording: ToolbarRecordingState +} + +interface Envelope { + success: boolean + code: number + data: T | null + message: string +} + +function compatTogglePayload(key: string, value: boolean) { + return { key, value, Key: key, Value: value } +} + +function compatLayerPayload(name: string, visible: boolean) { + return { name, visible, Name: name, Visible: visible } +} + +function compatNotePayload(note: string) { + return { note, Note: note } +} + +function compatFilePayload(fileName: string) { + return { fileName, FileName: fileName } +} + +async function unwrap(p: Promise<{ data: Envelope }>): Promise { + const resp = (await p).data + if (!resp?.success) throw new Error(resp?.message ?? '请求失败') + if (resp.data == null) throw new Error('服务端返回空数据') + return resp.data +} + +export const workspaceToolbarApi = { + getState: () => unwrap(http.get(`${BASE}/state`)), + + setAlign: (key: AlignKey, value: boolean) => + unwrap(http.post(`${BASE}/align`, compatTogglePayload(key, value))), + + setSelect: (key: SelectKey, value: boolean) => + unwrap(http.post(`${BASE}/select`, compatTogglePayload(key, value))), + + setDisplay: (key: DisplayKey, value: boolean) => + unwrap(http.post(`${BASE}/display`, compatTogglePayload(key, value))), + + setLayerVisibility: (name: string, visible: boolean) => + unwrap(http.post(`${BASE}/layer`, compatLayerPayload(name, visible))), + + startRecording: (note?: string) => + unwrap(http.post(`${BASE}/recording/start`, compatNotePayload(note ?? ''))), + + stopRecording: () => unwrap(http.post(`${BASE}/recording/stop`)), + + deleteRecording: (fileName: string) => + unwrap(http.delete(`${BASE}/recording/${encodeURIComponent(fileName)}`)), + + startPlayback: (fileName: string) => + unwrap(http.post(`${BASE}/playback/start`, compatFilePayload(fileName))), + + stopPlayback: () => unwrap(http.post(`${BASE}/playback/stop`)) +} diff --git a/frontends/apps/simple-platform-vue/src/components/ConfigPageBase.vue b/frontends/apps/simple-platform-vue/src/components/ConfigPageBase.vue new file mode 100644 index 0000000..0db98eb --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/ConfigPageBase.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/frontends/apps/simple-platform-vue/src/components/DataTablePro.vue b/frontends/apps/simple-platform-vue/src/components/DataTablePro.vue new file mode 100644 index 0000000..19a238e --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/DataTablePro.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/frontends/apps/simple-platform-vue/src/components/PermissionGuard.vue b/frontends/apps/simple-platform-vue/src/components/PermissionGuard.vue new file mode 100644 index 0000000..f3e78b5 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/PermissionGuard.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/frontends/apps/simple-platform-vue/src/components/ScopeSwitcher.vue b/frontends/apps/simple-platform-vue/src/components/ScopeSwitcher.vue new file mode 100644 index 0000000..77ebabd --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/ScopeSwitcher.vue @@ -0,0 +1,37 @@ + + + diff --git a/frontends/apps/simple-platform-vue/src/components/ThemeCustomizer.vue b/frontends/apps/simple-platform-vue/src/components/ThemeCustomizer.vue new file mode 100644 index 0000000..0ad95a6 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/ThemeCustomizer.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/frontends/apps/simple-platform-vue/src/components/ThemeSwitcher.vue b/frontends/apps/simple-platform-vue/src/components/ThemeSwitcher.vue new file mode 100644 index 0000000..b3bfd3c --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/ThemeSwitcher.vue @@ -0,0 +1,131 @@ + + + + + + + diff --git a/frontends/apps/simple-platform-vue/src/components/Workspace3D.vue b/frontends/apps/simple-platform-vue/src/components/Workspace3D.vue new file mode 100644 index 0000000..9896d09 --- /dev/null +++ b/frontends/apps/simple-platform-vue/src/components/Workspace3D.vue @@ -0,0 +1,217 @@ +