From fe8ea784d0f2d0a9bb5bf00a5bf49088ff48801d Mon Sep 17 00:00:00 2001 From: renjue Date: Tue, 23 Jun 2026 15:58:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Prism=20HTTP/SOCKS5=20=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E7=BD=91=E5=85=B3=E5=8F=8A=E7=AE=A1=E7=90=86=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .dockerignore | 10 + .gitea/README.md | 182 ++ .gitea/act-runner/.env.example | 3 + .gitea/act-runner/README.md | 144 + .gitea/act-runner/config.yaml | 26 + .gitea/act-runner/docker-compose.yml | 22 + .gitea/workflows/ci.yml | 236 ++ .gitignore | 42 + CONTRIBUTING.md | 96 + Dockerfile | 71 + LICENSE | 34 + Makefile | 27 + README.md | 258 ++ SECURITY.md | 57 + THIRD-PARTY-NOTICES.md | 53 + cmd/prism/geo.go | 10 + cmd/prism/main.go | 183 ++ docker-compose.yml | 16 + docs/UI-DESIGN-SYSTEM.md | 2013 +++++++++++++ docs/image/代理节点.png | Bin 0 -> 289981 bytes docs/image/出站管理.png | Bin 0 -> 207320 bytes docs/image/登陆页.png | Bin 0 -> 62221 bytes docs/image/监控大盘.png | Bin 0 -> 212833 bytes docs/image/系统设置.png | Bin 0 -> 176687 bytes docs/image/订阅管理.png | Bin 0 -> 108038 bytes docs/image/请求日志.png | Bin 0 -> 345838 bytes docs/image/路由规则.png | Bin 0 -> 300306 bytes docs/image/运行日志.png | Bin 0 -> 245694 bytes go.env | 2 + go.mod | 179 ++ go.sum | 443 +++ internal/api/auth_token.go | 35 + internal/api/auth_token_test.go | 35 + internal/api/client_ip.go | 23 + internal/api/handlers.go | 498 ++++ internal/api/handlers_apikeys.go | 96 + internal/api/handlers_apikeys_test.go | 66 + internal/api/handlers_auth.go | 116 + internal/api/handlers_country.go | 26 + internal/api/handlers_geo.go | 79 + internal/api/handlers_outbound.go | 52 + internal/api/handlers_proxies_io.go | 124 + internal/api/handlers_rules.go | 70 + internal/api/handlers_rules_io.go | 142 + internal/api/handlers_settings.go | 97 + internal/api/handlers_traffic.go | 18 + internal/api/openapi.go | 51 + internal/api/openapi/docs.html | 30 + internal/api/openapi/spec.yaml | 753 +++++ internal/api/openapi_test.go | 48 + internal/api/pagination.go | 35 + internal/api/static.go | 47 + .../api/static/assets/AppCard-ClnBgZ-s.js | 1 + .../static/assets/DashboardView-BVv1KNO9.js | 39 + .../api/static/assets/LoginView-CogloP1s.js | 1 + .../api/static/assets/LogsView-SE35ruFF.js | 1 + .../api/static/assets/ProxiesView-CGCYPjQ-.js | 1 + .../api/static/assets/RulesView-4vpiUKI8.js | 1 + .../static/assets/SettingsView-D_MdXCJL.js | 1 + .../assets/SubscriptionsView-BwdRKwvh.js | 1 + internal/api/static/assets/client-CiT_nDm8.js | 9 + internal/api/static/assets/index-B4K9RppJ.js | 51 + internal/api/static/assets/index-CxbpOrcM.css | 1 + internal/api/static/favicon.svg | 1 + internal/api/static/icons.svg | 24 + internal/api/static/index.html | 15 + internal/auth/apikey.go | 51 + internal/auth/apikey_test.go | 19 + internal/auth/loginlimiter.go | 137 + internal/auth/loginlimiter_test.go | 63 + internal/cache/cache.go | 68 + internal/configbuilder/builder.go | 367 +++ internal/configbuilder/builder_test.go | 89 + internal/core/home.go | 10 + internal/core/mihomo.go | 74 + internal/country/catalog.go | 261 ++ internal/country/detect.go | 166 ++ internal/country/detect_test.go | 56 + internal/geodata/geodata.go | 149 + internal/geodata/geodata_test.go | 23 + internal/health/checker.go | 170 ++ internal/log/collector.go | 67 + internal/metrics/breakdown.go | 173 ++ internal/metrics/breakdown_test.go | 46 + internal/metrics/collector.go | 237 ++ internal/mihomoapi/chain.go | 40 + internal/mihomoapi/chain_test.go | 27 + internal/mihomoapi/client.go | 163 ++ internal/mihomoapi/connections.go | 99 + internal/mihomoapi/connections_test.go | 58 + internal/mihomoapi/traffic.go | 42 + internal/mihomoapi/traffic_test.go | 35 + internal/proxyio/proxyio.go | 269 ++ internal/proxyio/proxyio_test.go | 40 + internal/ruleio/ruleio.go | 189 ++ internal/ruleio/ruleio_test.go | 64 + internal/rulematch/matcher.go | 168 ++ internal/rulematch/matcher_test.go | 35 + internal/service/app.go | 150 + internal/service/names.go | 70 + internal/service/outbound.go | 166 ++ internal/settings/defaults.go | 61 + internal/settings/defaults_test.go | 27 + internal/settings/keys.go | 25 + internal/settings/locale.go | 29 + internal/store/api_keys_repo.go | 110 + internal/store/country_repo.go | 80 + internal/store/login_attempts.go | 65 + internal/store/migrations/001_init.sql | 112 + internal/store/migrations/002_country.sql | 5 + .../store/migrations/003_traffic_logs.sql | 23 + .../migrations/004_traffic_agg_index.sql | 5 + .../store/migrations/005_login_attempts.sql | 15 + internal/store/migrations/006_proxy_auth.sql | 7 + internal/store/migrations/007_geo_urls.sql | 8 + internal/store/migrations/008_api_keys.sql | 13 + internal/store/migrations/009_ui_locale.sql | 5 + internal/store/models.go | 108 + internal/store/repo.go | 508 ++++ internal/store/store.go | 238 ++ internal/store/traffic_repo.go | 197 ++ internal/subscription/links.go | 32 + internal/subscription/links_test.go | 13 + internal/subscription/service.go | 464 +++ internal/subscription/service_test.go | 63 + internal/trafficlog/collector.go | 227 ++ web/.gitignore | 24 + web/.npmrc | 1 + web/.vscode/extensions.json | 3 + web/README.md | 5 + web/index.html | 13 + web/package-lock.json | 2502 +++++++++++++++++ web/package.json | 29 + web/public/favicon.svg | 29 + web/public/icons.svg | 24 + web/src/App.vue | 14 + web/src/api/client.ts | 30 + web/src/assets/hero.png | Bin 0 -> 13057 bytes web/src/assets/prism-icon.svg | 28 + web/src/assets/vite.svg | 1 + web/src/assets/vue.svg | 1 + web/src/components/AppCard.vue | 19 + web/src/components/PageHeader.vue | 18 + web/src/components/PrismIcon.vue | 45 + web/src/components/StatCard.vue | 13 + web/src/i18n/index.ts | 45 + web/src/i18n/locales/en.ts | 344 +++ web/src/i18n/locales/zh-CN.ts | 344 +++ web/src/i18n/locales/zh-TW.ts | 344 +++ web/src/i18n/types.ts | 11 + web/src/layouts/MainLayout.vue | 69 + web/src/main.ts | 23 + web/src/router/index.ts | 46 + web/src/stores/auth.ts | 22 + web/src/stores/locale.ts | 28 + web/src/style.css | 296 ++ web/src/styles/theme.css | 524 ++++ web/src/views/DashboardView.vue | 267 ++ web/src/views/LoginView.vue | 73 + web/src/views/LogsView.vue | 126 + web/src/views/OutboundView.vue | 194 ++ web/src/views/ProxiesView.vue | 392 +++ web/src/views/RulesView.vue | 430 +++ web/src/views/SettingsView.vue | 383 +++ web/src/views/SubscriptionsView.vue | 126 + web/src/views/TrafficLogsView.vue | 119 + web/tsconfig.app.json | 19 + web/tsconfig.json | 7 + web/tsconfig.node.json | 24 + web/vite.config.ts | 25 + 170 files changed, 20056 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitea/README.md create mode 100644 .gitea/act-runner/.env.example create mode 100644 .gitea/act-runner/README.md create mode 100644 .gitea/act-runner/config.yaml create mode 100644 .gitea/act-runner/docker-compose.yml create mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitignore create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 SECURITY.md create mode 100644 THIRD-PARTY-NOTICES.md create mode 100644 cmd/prism/geo.go create mode 100644 cmd/prism/main.go create mode 100644 docker-compose.yml create mode 100644 docs/UI-DESIGN-SYSTEM.md create mode 100644 docs/image/代理节点.png create mode 100644 docs/image/出站管理.png create mode 100644 docs/image/登陆页.png create mode 100644 docs/image/监控大盘.png create mode 100644 docs/image/系统设置.png create mode 100644 docs/image/订阅管理.png create mode 100644 docs/image/请求日志.png create mode 100644 docs/image/路由规则.png create mode 100644 docs/image/运行日志.png create mode 100644 go.env create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/api/auth_token.go create mode 100644 internal/api/auth_token_test.go create mode 100644 internal/api/client_ip.go create mode 100644 internal/api/handlers.go create mode 100644 internal/api/handlers_apikeys.go create mode 100644 internal/api/handlers_apikeys_test.go create mode 100644 internal/api/handlers_auth.go create mode 100644 internal/api/handlers_country.go create mode 100644 internal/api/handlers_geo.go create mode 100644 internal/api/handlers_outbound.go create mode 100644 internal/api/handlers_proxies_io.go create mode 100644 internal/api/handlers_rules.go create mode 100644 internal/api/handlers_rules_io.go create mode 100644 internal/api/handlers_settings.go create mode 100644 internal/api/handlers_traffic.go create mode 100644 internal/api/openapi.go create mode 100644 internal/api/openapi/docs.html create mode 100644 internal/api/openapi/spec.yaml create mode 100644 internal/api/openapi_test.go create mode 100644 internal/api/pagination.go create mode 100644 internal/api/static.go create mode 100644 internal/api/static/assets/AppCard-ClnBgZ-s.js create mode 100644 internal/api/static/assets/DashboardView-BVv1KNO9.js create mode 100644 internal/api/static/assets/LoginView-CogloP1s.js create mode 100644 internal/api/static/assets/LogsView-SE35ruFF.js create mode 100644 internal/api/static/assets/ProxiesView-CGCYPjQ-.js create mode 100644 internal/api/static/assets/RulesView-4vpiUKI8.js create mode 100644 internal/api/static/assets/SettingsView-D_MdXCJL.js create mode 100644 internal/api/static/assets/SubscriptionsView-BwdRKwvh.js create mode 100644 internal/api/static/assets/client-CiT_nDm8.js create mode 100644 internal/api/static/assets/index-B4K9RppJ.js create mode 100644 internal/api/static/assets/index-CxbpOrcM.css create mode 100644 internal/api/static/favicon.svg create mode 100644 internal/api/static/icons.svg create mode 100644 internal/api/static/index.html create mode 100644 internal/auth/apikey.go create mode 100644 internal/auth/apikey_test.go create mode 100644 internal/auth/loginlimiter.go create mode 100644 internal/auth/loginlimiter_test.go create mode 100644 internal/cache/cache.go create mode 100644 internal/configbuilder/builder.go create mode 100644 internal/configbuilder/builder_test.go create mode 100644 internal/core/home.go create mode 100644 internal/core/mihomo.go create mode 100644 internal/country/catalog.go create mode 100644 internal/country/detect.go create mode 100644 internal/country/detect_test.go create mode 100644 internal/geodata/geodata.go create mode 100644 internal/geodata/geodata_test.go create mode 100644 internal/health/checker.go create mode 100644 internal/log/collector.go create mode 100644 internal/metrics/breakdown.go create mode 100644 internal/metrics/breakdown_test.go create mode 100644 internal/metrics/collector.go create mode 100644 internal/mihomoapi/chain.go create mode 100644 internal/mihomoapi/chain_test.go create mode 100644 internal/mihomoapi/client.go create mode 100644 internal/mihomoapi/connections.go create mode 100644 internal/mihomoapi/connections_test.go create mode 100644 internal/mihomoapi/traffic.go create mode 100644 internal/mihomoapi/traffic_test.go create mode 100644 internal/proxyio/proxyio.go create mode 100644 internal/proxyio/proxyio_test.go create mode 100644 internal/ruleio/ruleio.go create mode 100644 internal/ruleio/ruleio_test.go create mode 100644 internal/rulematch/matcher.go create mode 100644 internal/rulematch/matcher_test.go create mode 100644 internal/service/app.go create mode 100644 internal/service/names.go create mode 100644 internal/service/outbound.go create mode 100644 internal/settings/defaults.go create mode 100644 internal/settings/defaults_test.go create mode 100644 internal/settings/keys.go create mode 100644 internal/settings/locale.go create mode 100644 internal/store/api_keys_repo.go create mode 100644 internal/store/country_repo.go create mode 100644 internal/store/login_attempts.go create mode 100644 internal/store/migrations/001_init.sql create mode 100644 internal/store/migrations/002_country.sql create mode 100644 internal/store/migrations/003_traffic_logs.sql create mode 100644 internal/store/migrations/004_traffic_agg_index.sql create mode 100644 internal/store/migrations/005_login_attempts.sql create mode 100644 internal/store/migrations/006_proxy_auth.sql create mode 100644 internal/store/migrations/007_geo_urls.sql create mode 100644 internal/store/migrations/008_api_keys.sql create mode 100644 internal/store/migrations/009_ui_locale.sql create mode 100644 internal/store/models.go create mode 100644 internal/store/repo.go create mode 100644 internal/store/store.go create mode 100644 internal/store/traffic_repo.go create mode 100644 internal/subscription/links.go create mode 100644 internal/subscription/links_test.go create mode 100644 internal/subscription/service.go create mode 100644 internal/subscription/service_test.go create mode 100644 internal/trafficlog/collector.go create mode 100644 web/.gitignore create mode 100644 web/.npmrc create mode 100644 web/.vscode/extensions.json create mode 100644 web/README.md create mode 100644 web/index.html create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/public/favicon.svg create mode 100644 web/public/icons.svg create mode 100644 web/src/App.vue create mode 100644 web/src/api/client.ts create mode 100644 web/src/assets/hero.png create mode 100644 web/src/assets/prism-icon.svg create mode 100644 web/src/assets/vite.svg create mode 100644 web/src/assets/vue.svg create mode 100644 web/src/components/AppCard.vue create mode 100644 web/src/components/PageHeader.vue create mode 100644 web/src/components/PrismIcon.vue create mode 100644 web/src/components/StatCard.vue create mode 100644 web/src/i18n/index.ts create mode 100644 web/src/i18n/locales/en.ts create mode 100644 web/src/i18n/locales/zh-CN.ts create mode 100644 web/src/i18n/locales/zh-TW.ts create mode 100644 web/src/i18n/types.ts create mode 100644 web/src/layouts/MainLayout.vue create mode 100644 web/src/main.ts create mode 100644 web/src/router/index.ts create mode 100644 web/src/stores/auth.ts create mode 100644 web/src/stores/locale.ts create mode 100644 web/src/style.css create mode 100644 web/src/styles/theme.css create mode 100644 web/src/views/DashboardView.vue create mode 100644 web/src/views/LoginView.vue create mode 100644 web/src/views/LogsView.vue create mode 100644 web/src/views/OutboundView.vue create mode 100644 web/src/views/ProxiesView.vue create mode 100644 web/src/views/RulesView.vue create mode 100644 web/src/views/SettingsView.vue create mode 100644 web/src/views/SubscriptionsView.vue create mode 100644 web/src/views/TrafficLogsView.vue create mode 100644 web/tsconfig.app.json create mode 100644 web/tsconfig.json create mode 100644 web/tsconfig.node.json create mode 100644 web/vite.config.ts diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..db29fba --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.git/ +dist/ +data/ +web/node_modules/ +web/dist/ +**/.DS_Store +*.md +!README.md +.cursor/ +agent-transcripts/ diff --git a/.gitea/README.md b/.gitea/README.md new file mode 100644 index 0000000..5ac4542 --- /dev/null +++ b/.gitea/README.md @@ -0,0 +1,182 @@ +# Gitea Actions CI 模板(Go + Vue) + +复制整个 `.gitea/` 目录到新仓库即可启用 CI:**可选 go test** + **Docker 构建/推送**(Go 编译与 Vue 构建在 Dockerfile 内完成)。 + +## 项目约定 + +| 路径 | 说明 | +|------|------| +| `go.mod` | 仓库根目录 | +| `Dockerfile` | 仓库根目录,多阶段构建(含前端 `web/`) | +| `web/` | 可选;由 Dockerfile 内 `npm run build` 处理,CI 不再单独构建 | + +## Dockerfile 要求 + +工作流的 **Build image** 步骤在仓库根目录(或 Variable `DOCKERFILE` 指定路径)执行 `docker buildx build`,**不会**在 CI 里单独装 Node / 跑 `npm`。因此 Dockerfile 必须能独立完成构建与(运行时)启动。 + +### 基本要求 + +| 项 | 要求 | +|----|------| +| 位置 | 默认仓库根目录 `Dockerfile`;其他路径用 Variable `DOCKERFILE` | +| 构建上下文 | 仓库根目录 `.`(整个仓库会被 `COPY` 进镜像) | +| Go 版本 | `go.mod` 里 `go` 行与 `golang` 基础镜像大版本一致 | +| 多架构 | `go build` 须使用 `GOARCH="$TARGETARCH"`(buildx 注入);推荐 `CGO_ENABLED=0` | +| Go 模块代理 | **必须**在镜像内显式设置 `GOPROXY` / `GOSUMDB`(见下);容器内不会自动读取 `go.env` | +| 基础镜像加速 | 支持构建参数 `IMAGE_PREFIX`(CI 默认 `docker.1panel.live/library/`) | +| 前端(可选) | 存在 `web/` 时在 Dockerfile 内完成 `npm ci` + `npm run build` | + +### CI 自动传入的构建参数 + +| 参数 | 默认 | 说明 | +|------|------|------| +| `IMAGE_PREFIX` | `docker.1panel.live/library/` | 基础镜像前缀;`hub` 表示 Docker Hub | +| `GOPROXY` | `https://goproxy.cn,direct` | 与 workflow / Variable 一致 | +| `GOSUMDB` | `sum.golang.google.cn` | checksum 数据库 | + +buildx 还会注入 `TARGETARCH`、`BUILDPLATFORM` 等,无需在 workflow 里写。 + +### 推荐:Go + Vue 多阶段模板 + +```dockerfile +# syntax=docker/dockerfile:1 +ARG IMAGE_PREFIX= + +# 1) 前端(无 web/ 时可删整个 stage,并去掉 go-builder 里 COPY dist) +FROM --platform=$BUILDPLATFORM ${IMAGE_PREFIX}node:20-alpine AS web-builder +WORKDIR /src/web +COPY web/package.json web/package-lock.json web/.npmrc ./ +RUN npm ci +COPY web/ ./ +RUN npm run build + +# 2) Go 编译 +FROM --platform=$BUILDPLATFORM ${IMAGE_PREFIX}golang:1.25-alpine AS go-builder +ARG TARGETARCH +ARG GOPROXY=https://goproxy.cn,direct +ARG GOSUMDB=sum.golang.google.cn +ENV GOPROXY=${GOPROXY} GOSUMDB=${GOSUMDB} + +WORKDIR /src +COPY go.mod go.sum ./ +RUN --mount=type=cache,target=/go/pkg/mod go mod download + +COPY cmd/ ./cmd/ +COPY internal/ ./internal/ +# 若静态资源嵌入 Go:COPY --from=web-builder /src/web/dist/ ./path/to/static/ + +RUN --mount=type=cache,target=/go/pkg/mod \ + --mount=type=cache,target=/root/.cache/go-build \ + CGO_ENABLED=0 GOOS=linux GOARCH="$TARGETARCH" \ + go build -ldflags="-w -s" -o /app ./cmd/yourapp + +# 3) 运行镜像 +FROM ${IMAGE_PREFIX}alpine:3.20 +RUN apk add --no-cache ca-certificates tzdata +COPY --from=go-builder /app /usr/local/bin/yourapp +ENTRYPOINT ["/usr/local/bin/yourapp"] +``` + +按项目调整:`./cmd/yourapp`、静态资源路径、运行用户、`EXPOSE` / `VOLUME` 等。 + +### 仅 Go(无前端) + +删除 `web-builder` stage;`go-builder` 中不要 `COPY` 前端产物;其余 `GOPROXY` / `TARGETARCH` / `IMAGE_PREFIX` 要求相同。 + +### 前端 npm 源(国内) + +在 `web/.npmrc` 配置 registry,并在 Dockerfile 里与 `package.json` 一并 `COPY`: + +```ini +registry=https://registry.npmmirror.com +``` + +### 本地验证(与 CI 一致) + +```bash +docker buildx build --platform linux/amd64 \ + --build-arg IMAGE_PREFIX=docker.1panel.live/library/ \ + --build-arg GOPROXY=https://goproxy.cn,direct \ + -f Dockerfile -t myapp:test . +``` + +### 常见 Dockerfile 构建错误 + +| 报错 | 原因 | 处理 | +|------|------|------| +| `proxy.golang.org` timeout | 镜像内未设 `ENV GOPROXY` | go-builder 阶段加 `ARG`/`ENV GOPROXY` | +| `node` / Vite 版本不符 | 基础镜像 Node 过旧 | 使用 `node:20-alpine` 及以上 | +| 某架构 build 失败 | 未使用 `TARGETARCH` | `GOARCH="$TARGETARCH"` | +| 拉基础镜像 timeout | Hub 不可达 | `--build-arg IMAGE_PREFIX=docker.1panel.live/library/` 或 1Panel 配镜像加速 | + +## 一次性配置 + +1. **Runner**:部署 act_runner,标签含 `ubuntu-latest`,并挂载 `docker.sock`(见 [act-runner/README.md](act-runner/README.md))。 +2. **Secret**:仓库 Settings → Actions → Secrets,添加 `REGISTRY_TOKEN`(PAT,`write:package` 权限)。 +3. **Variable(推荐)**:若 runner 与 Gitea 同机、或 `gitea.server_url` 为内网地址,必须设置 `REGISTRY=你的公网域名`(如 `git.example.com`,**不要**填 `172.17.0.1:13827`)。 +4. **Gitea Registry**:服务端 `[packages] ENABLED = true`,`ROOT_URL` 正确;穿透场景建议 `PUBLIC_URL_DETECTION = never`(Gitea 1.26+)。 + +`REGISTRY` 未设置时,会从 `GITEA_ROOT_URL` 或 `gitea.server_url` 推断;均为内网地址时 workflow 会提前失败并提示。 + +## 可选 Variables + +仓库 Settings → Actions → Variables(留空则用默认值): + +| 变量 | 默认 | 说明 | +|------|------|------| +| `REGISTRY` | 见下方推断顺序 | **公网** Registry 主机名,如 `git.example.com`(勿用内网 IP:13827) | +| `GITEA_ROOT_URL` | (空) | 当 `gitea.server_url` 为内网时,可设 `https://git.example.com/` | +| `IMAGE_NAME` | 仓库名小写 | 镜像名,非 owner/repo 全路径 | +| `DOCKERFILE` | `Dockerfile` | Dockerfile 路径 | +| `DOCKER_PLATFORMS` | `linux/amd64,linux/arm64` | push 时 buildx 平台 | +| `GO_TEST_SCOPE` | `./...` | `go test` 包路径 | +| `RUN_GO_TEST` | (空,即运行) | 设 `false` 跳过 go test,仅 Docker 构建 | +| `DOCKER_IMAGE_PREFIX` | `1panel` | 基础镜像前缀;可选 `hub` / `daocloud` | +| `GOPROXY` | `https://goproxy.cn,direct` | Go 模块代理 | +| `GOSUMDB` | `sum.golang.google.cn` | Go checksum 数据库 | + +## 触发与镜像 tag + +- **pull_request**:go test(可关)+ 单架构 `docker build` 验证(不推送) +- **push main/master**:go test + 多架构构建并推送 `:latest`、`:sha-xxxxxxx` +- **push tag v\***:额外推送 `:v1.2.3` 等 + +示例(仓库 `rose_cat707/Prism`,Gitea 在 `git.example.com`): + +```text +git.example.com/rose_cat707/prism:latest +git.example.com/rose_cat707/prism:sha-35b3b48 +``` + +## 目录结构 + +```text +.gitea/ +├── README.md # 本文件 +├── workflows/ +│ └── ci.yml # 主工作流 +└── act-runner/ # runner 部署参考(可选) + ├── README.md + ├── config.yaml + ├── docker-compose.yml + └── .env.example +``` + +## 本地验证 Registry + +```bash +host=$(echo "https://你的-gitea-地址/" | sed -e 's|^https://||' -e 's|/.*||') +curl -s -D - "https://${host}/v2/" -o /dev/null | grep -i www-authenticate +docker pull "${host}/owner/image:latest" # 公开 Registry 无需 login +``` + +推送镜像(CI)仍需仓库 Secret `REGISTRY_TOKEN`(`write:package`)。仅拉取公开包不需要登录。 + +`realm` 应指向公网 Gitea 域名,而非 `127.0.0.1`。 + +## 常见 Registry 错误 + +| 报错 | 原因 | 处理 | +|------|------|------| +| `Get "https://172.17.0.1:13827/v2/"` HTTP/HTTPS | Variable `REGISTRY` 或 `gitea.server_url` 为内网地址 | 设 `REGISTRY=git.example.com` | +| token 指向 `127.0.0.1` | Gitea `realm` 配置错误 | `PUBLIC_URL_DETECTION=never` + 正确 `ROOT_URL` | diff --git a/.gitea/act-runner/.env.example b/.gitea/act-runner/.env.example new file mode 100644 index 0000000..06b3c00 --- /dev/null +++ b/.gitea/act-runner/.env.example @@ -0,0 +1,3 @@ +GITEA_INSTANCE_URL=https://git.example.com +GITEA_RUNNER_REGISTRATION_TOKEN=从仓库_Settings_Actions_Runners_复制 +GITEA_RUNNER_NAME=go-vue-ci-runner diff --git a/.gitea/act-runner/README.md b/.gitea/act-runner/README.md new file mode 100644 index 0000000..df3f009 --- /dev/null +++ b/.gitea/act-runner/README.md @@ -0,0 +1,144 @@ +# act_runner 配置参考 + +工作流 `runs-on: ubuntu-latest`;`docker` job 额外使用 `catthehacker/ubuntu:act-22.04` 容器(含 Docker CLI)。 + +## 构建镜像必须:挂载 Docker Socket + +`docker` job 需要访问宿主机 Docker 引擎。在 **runner 所在机器** 的 `config.yaml` 中配置: + +```yaml +container: + options: -v /var/run/docker.sock:/var/run/docker.sock + valid_volumes: + - /var/run/docker.sock +``` + +推荐 job 镜像(含 Node + Docker CLI): + +```yaml +runner: + labels: + - "ubuntu-latest:docker://catthehacker/ubuntu:act-22.04" + - "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04" +``` + +修改后 **重启 runner**(例如 `docker restart ` 或重启 Gitea Runner 服务)。 + +## 1Panel 宿主机:配置 Docker 镜像加速(推荐) + +Runner 通过 `docker.sock` 使用宿主机 Docker。在 **1Panel** 中配置加速器后,普通 `docker pull` 会走加速;**buildx 多架构构建**仍建议配合 workflow 内的 `IMAGE_PREFIX`(默认 `docker.1panel.live`)。 + +1. 登录 1Panel → **容器** → **配置** +2. **镜像加速地址** 填入: + ```text + https://docker.1panel.live + ``` +3. 保存并 **重启 Docker** + +验证(在 runner 宿主机): + +```bash +docker info | grep -A5 'Registry Mirrors' +docker pull alpine:3.20 +``` + +等价 `daemon.json`: + +```json +{ + "registry-mirrors": ["https://docker.1panel.live"] +} +``` + +CI 工作流默认 `IMAGE_PREFIX=docker.1panel.live/library/`(buildkit 拉基础镜像)。若 1Panel 加速不可用,可在仓库 Variables 设 `DOCKER_IMAGE_PREFIX=daocloud` 或 `hub`。 + +参考:[1Panel 容器配置文档](https://1panel.cn/docs/user_manual/containers/setting) + +## 验证 + +在 runner 宿主机执行: + +```bash +docker info +ls -l /var/run/docker.sock +``` + +## 从零部署 runner(可选) + +```bash +cd .gitea/act-runner +cp .env.example .env # 填入 Registration Token +docker compose up -d +``` + +## 常见错误 + +| 报错 | 原因 | 处理 | +|------|------|------| +| `docker: command not found` | job 容器无 Docker CLI | 工作流已指定 act 镜像;或 runner 改用 catthehacker/ubuntu | +| `Cannot connect to Docker daemon` | 未挂载 docker.sock | 按上文修改 config.yaml 并重启 runner | +| `node not in PATH` | job 镜像无 Node | 标签映射改用 catthehacker/ubuntu:act-22.04 | +| `registry-1.docker.io` i/o timeout | Docker Hub 不可达 | 1Panel 配 `docker.1panel.live`;Variable `DOCKER_IMAGE_PREFIX=1panel` | +| `http: server gave HTTP response to HTTPS client` 且 token 指向 `127.0.0.1` | **Gitea Registry 配置/反代错误** | 见下文「Registry 登录失败」 | + +## Registry 登录失败(127.0.0.1 / HTTP vs HTTPS) + +若 `docker login git.rc707blog.top` 报错类似: + +```text +Get "https://127.0.0.1:xxxxx/v2/token?...": http: server gave HTTP response to HTTPS client +``` + +说明 Gitea 把 **Docker 认证 token 地址** 配成了本机内网地址,CI runner 访问不到。需在 **Gitea 服务器** 修复,而非改 workflow。 + +### 1. 检查 `app.ini` + +```ini +[server] +ROOT_URL = https://git.example.com/ +LOCAL_ROOT_URL = http://127.0.0.1:3000/ +; 内网穿透 / 错误 Host 时(Gitea 1.26+): +; PUBLIC_URL_DETECTION = never + +[packages] +ENABLED = true +``` + +`ROOT_URL` 必须与浏览器访问 Gitea 的 **HTTPS 外网地址** 完全一致(含末尾 `/`)。 + +### 2. 反向代理必须转发 `/v2` 并带上头 + +Container Registry 固定使用根路径 `/v2`。Nginx 示例: + +```nginx +location / { + client_max_body_size 0; + proxy_pass http://127.0.0.1:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} +``` + +关键:`X-Forwarded-Proto: https` 和正确的 `Host`(与 Gitea `ROOT_URL` 域名一致)。 + +### 3. 在 runner 宿主机验证(修复后) + +```bash +GITEA_HOST=git.example.com # 改成你的 Gitea 域名 +curl -s -D - "https://${GITEA_HOST}/v2/" -o /dev/null | grep -i www-authenticate +echo "$REGISTRY_TOKEN" | docker login "${GITEA_HOST}" -u 你的用户名 --password-stdin +``` + +应返回 `401 Unauthorized`(正常,表示 registry 可达)且 `docker login` 显示 **Login Succeeded**。 + +参考:[Gitea 反向代理文档](https://docs.gitea.com/administration/reverse-proxies) + +## Gitea Runner v0.6.x(个人 runner) + +1. 找到 runner 的配置文件或环境(安装目录 / docker compose) +2. 确保 runner 进程能访问宿主机 `/var/run/docker.sock` +3. Runners 页标签含 `ubuntu-latest` 且状态 **空闲/在线** + +若使用 Gitea 网页注册的个人 runner(docker 模式),通常需在 runner 启动参数或 `config.yaml` 里加入 socket 挂载,具体路径取决于你的安装方式。 diff --git a/.gitea/act-runner/config.yaml b/.gitea/act-runner/config.yaml new file mode 100644 index 0000000..9349211 --- /dev/null +++ b/.gitea/act-runner/config.yaml @@ -0,0 +1,26 @@ +# act_runner 配置(可选参考部署) +# 工作流 runs-on: ubuntu-latest + +log: + level: info + +runner: + file: .runner + capacity: 2 + timeout: 3h + insecure: false + fetch_timeout: 5s + fetch_interval: 2s + labels: + - "ubuntu-latest:docker://catthehacker/ubuntu:act-22.04" + - "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04" + +cache: + enabled: false + +container: + network: bridge + privileged: false + options: -v /var/run/docker.sock:/var/run/docker.sock + valid_volumes: + - /var/run/docker.sock diff --git a/.gitea/act-runner/docker-compose.yml b/.gitea/act-runner/docker-compose.yml new file mode 100644 index 0000000..cd192f1 --- /dev/null +++ b/.gitea/act-runner/docker-compose.yml @@ -0,0 +1,22 @@ +# Gitea act_runner — 可选参考部署(标签 default,与工作流一致) +# +# 若已在 Gitea 注册个人/仓库 runner 且标签为 default,无需使用本目录。 + +services: + act-runner: + image: docker.io/gitea/act_runner:0.2.12 + container_name: prism-act-runner + restart: unless-stopped + environment: + CONFIG_FILE: /config.yaml + GITEA_INSTANCE_URL: ${GITEA_INSTANCE_URL:-https://git.rc707blog.top} + GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} + GITEA_RUNNER_NAME: ${GITEA_RUNNER_NAME:-prism-ci-runner} + volumes: + - ./config.yaml:/config.yaml:ro + - act-runner-data:/data + - /var/run/docker.sock:/var/run/docker.sock + working_dir: /data + +volumes: + act-runner-data: diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..d95b279 --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,236 @@ +# 通用 Go + Vue 项目 CI(Gitea Actions) +# +# 单 job:可选 go test + Docker 多架构构建/推送 +# 约定:go.mod、Dockerfile(详见 .gitea/README.md「Dockerfile 要求」);前端(可选)在 web/ +# +# 前置:act_runner(ubuntu-latest + docker.sock)、Secret REGISTRY_TOKEN +# Variables:REGISTRY、IMAGE_NAME、DOCKER_IMAGE_PREFIX、RUN_GO_TEST 等 + +name: CI + +on: + push: + branches: [main, master] + tags: ['v*'] + pull_request: + +env: + REGISTRY: ${{ vars.REGISTRY }} + GITEA_ROOT_URL: ${{ vars.GITEA_ROOT_URL }} + IMAGE_NAME: ${{ vars.IMAGE_NAME }} + DOCKERFILE: ${{ vars.DOCKERFILE }} + DOCKER_PLATFORMS: ${{ vars.DOCKER_PLATFORMS }} + GO_TEST_SCOPE: ${{ vars.GO_TEST_SCOPE }} + RUN_GO_TEST: ${{ vars.RUN_GO_TEST }} + DOCKER_IMAGE_PREFIX: ${{ vars.DOCKER_IMAGE_PREFIX }} + GOPROXY: ${{ vars.GOPROXY }} + GOSUMDB: ${{ vars.GOSUMDB }} + +jobs: + docker: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Run Go tests + if: vars.RUN_GO_TEST != 'false' + shell: bash + run: | + set -euo pipefail + export GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" + export GOSUMDB="${GOSUMDB:-sum.golang.google.cn}" + + GO_VERSION=$(grep '^go ' go.mod | awk '{print $2}') + ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/') + TAR="go${GO_VERSION}.linux-${ARCH}.tar.gz" + + if ! command -v go >/dev/null 2>&1 || ! go version | grep -q "go${GO_VERSION} "; then + downloaded=0 + for url in \ + "https://mirrors.aliyun.com/golang/${TAR}" \ + "https://golang.google.cn/dl/${TAR}" \ + "https://go.dev/dl/${TAR}"; do + echo "trying ${url}" + if curl -fsSL --connect-timeout 20 --retry 3 --retry-delay 5 --max-time 600 \ + "$url" -o /tmp/go.tgz; then + downloaded=1 + break + fi + done + [ "$downloaded" -eq 1 ] || { echo "failed to download Go ${GO_VERSION}" >&2; exit 1; } + rm -rf /usr/local/go + tar -C /usr/local -xzf /tmp/go.tgz + export PATH="/usr/local/go/bin:${PATH}" + fi + go version + go test "${GO_TEST_SCOPE:-./...}" + + - name: Setup Docker + run: | + set -eux + if ! command -v docker >/dev/null 2>&1; then + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io + fi + if [ ! -S /var/run/docker.sock ]; then + echo "ERROR: /var/run/docker.sock 未挂载到 job 容器。" >&2 + echo "请在 act_runner config.yaml 中配置:" >&2 + echo " container.options: -v /var/run/docker.sock:/var/run/docker.sock" >&2 + echo " container.valid_volumes: [/var/run/docker.sock]" >&2 + exit 1 + fi + docker info + + - name: Resolve registry + id: reg + if: gitea.event_name == 'push' + shell: bash + env: + GITEA_SERVER_URL: ${{ gitea.server_url }} + run: | + set -euo pipefail + + url_to_host() { + echo "$1" | sed -e 's|^https://||' -e 's|^http://||' -e 's|/.*||' + } + + is_internal_host() { + local host="${1%%:*}" + case "$host" in + localhost|127.*|10.*|192.168.*) return 0 ;; + 172.*) + local second + second=$(echo "$host" | cut -d. -f2) + [ "$second" -ge 16 ] && [ "$second" -le 31 ] + return + ;; + *) return 1 ;; + esac + } + + registry="${REGISTRY:-}" + if [ -z "$registry" ] && [ -n "${GITEA_ROOT_URL:-}" ]; then + registry=$(url_to_host "${GITEA_ROOT_URL}") + fi + if [ -z "$registry" ]; then + registry=$(url_to_host "${GITEA_SERVER_URL}") + fi + + if is_internal_host "$registry"; then + echo "ERROR: Registry 主机 '${registry}' 是内网地址。" >&2 + echo "请设置 Variable REGISTRY=公网 Gitea 域名(如 git.example.com)。" >&2 + exit 1 + fi + + echo "registry host: ${registry}" + + auth_header="" + if auth_header=$(curl -fsS -D - "https://${registry}/v2/" -o /dev/null 2>&1 | grep -i '^www-authenticate:'); then + if echo "$auth_header" | grep -qiE '127\.0\.0\.1|172\.(1[6-9]|2[0-9]|3[01])\.|localhost|:13827'; then + echo "ERROR: Registry token realm 指向内网地址:${auth_header}" >&2 + exit 1 + fi + fi + + echo "host=${registry}" >> "${GITHUB_OUTPUT}" + + - name: Log in to Container Registry + if: gitea.event_name == 'push' + shell: bash + run: | + set -euo pipefail + echo "${{ secrets.REGISTRY_TOKEN }}" | \ + docker login "${{ steps.reg.outputs.host }}" -u "${{ gitea.actor }}" --password-stdin + + - name: Build image + shell: bash + env: + GITEA_SHA: ${{ gitea.sha }} + GITEA_REF: ${{ gitea.ref }} + GITEA_REPOSITORY: ${{ gitea.repository }} + GITEA_REPOSITORY_OWNER: ${{ gitea.repository_owner }} + GITEA_EVENT_NAME: ${{ gitea.event_name }} + REGISTRY_HOST: ${{ steps.reg.outputs.host }} + run: | + set -euo pipefail + + dockerfile="${DOCKERFILE:-Dockerfile}" + + if [ "${DOCKER_IMAGE_PREFIX:-}" = "hub" ] || [ "${DOCKER_IMAGE_PREFIX:-}" = "docker.io" ]; then + image_prefix="" + elif [ -z "${DOCKER_IMAGE_PREFIX:-}" ] || [ "${DOCKER_IMAGE_PREFIX}" = "1panel" ]; then + image_prefix="docker.1panel.live/library/" + elif [ "${DOCKER_IMAGE_PREFIX}" = "daocloud" ]; then + image_prefix="docker.m.daocloud.io/library/" + else + image_prefix="${DOCKER_IMAGE_PREFIX}" + [[ "${image_prefix}" == */ ]] || image_prefix="${image_prefix}/" + fi + echo "using IMAGE_PREFIX=${image_prefix:-}" + build_args=( + --build-arg "IMAGE_PREFIX=${image_prefix}" + --build-arg "GOPROXY=${GOPROXY:-https://goproxy.cn,direct}" + --build-arg "GOSUMDB=${GOSUMDB:-sum.golang.google.cn}" + ) + + builder_id="gitea-buildx-${GITEA_REPOSITORY//\//-}" + + if [ "${GITEA_EVENT_NAME}" = "push" ]; then + install_binfmt() { + for img in \ + "docker.1panel.live/tonistiigi/binfmt:latest" \ + "docker.m.daocloud.io/tonistiigi/binfmt:latest" \ + "tonistiigi/binfmt:latest"; do + echo "trying binfmt image: ${img}" + if docker run --privileged --rm "${img}" --install all; then + return 0 + fi + done + return 1 + } + install_binfmt || true + + registry="${REGISTRY_HOST}" + image_name="${IMAGE_NAME:-$(echo "${GITEA_REPOSITORY##*/}" | tr '[:upper:]' '[:lower:]')}" + platforms="${DOCKER_PLATFORMS:-linux/amd64,linux/arm64}" + image="${registry}/${GITEA_REPOSITORY_OWNER}/${image_name}" + tags="${image}:sha-${GITEA_SHA:0:7}" + case "${GITEA_REF}" in + refs/heads/main|refs/heads/master) + tags="${tags},${image}:latest" + ;; + refs/tags/v*) + tags="${tags},${image}:${GITEA_REF#refs/tags/}" + ;; + esac + + docker buildx create --name "${builder_id}" --use 2>/dev/null || docker buildx use "${builder_id}" + docker buildx inspect --bootstrap + + tag_args=() + IFS=',' read -r -a tag_list <<< "$tags" + for t in "${tag_list[@]}"; do + tag_args+=(-t "$t") + done + + docker buildx build \ + --platform "${platforms}" \ + -f "${dockerfile}" \ + "${build_args[@]}" \ + "${tag_args[@]}" \ + --push \ + . + else + # PR:仅单架构构建验证 Dockerfile,不推送 + docker buildx create --name "${builder_id}" --use 2>/dev/null || docker buildx use "${builder_id}" + docker buildx inspect --bootstrap + docker buildx build \ + --platform linux/amd64 \ + -f "${dockerfile}" \ + "${build_args[@]}" \ + --load \ + . + fi diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be53e56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# --- Go --- +*.exe +*.exe~ +*.dll +*.so +*.dylib +*.test +*.out +*.coverprofile +coverage.html +coverage.out +go.work +go.work.sum +dist/ +vendor/ +/prism + +# --- Runtime data (docker-compose ./data, local -data) --- +data/ + +# --- Secrets --- +.env +.env.* +!.env.example + +# --- Frontend (see also web/.gitignore) --- +web/node_modules/ +web/dist/ + +# --- IDE & OS --- +.DS_Store +.idea/ +.vscode/* +!.vscode/extensions.json +.cursor/ + +# --- Gitea act-runner (local deploy) --- +.gitea/act-runner/.env +.gitea/act-runner/.runner + +# --- Logs --- +*.log diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..dedddf1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,96 @@ +# 贡献指南 + +感谢关注 Prism!本仓库托管于 [git.rc707blog.top](https://git.rc707blog.top/rose_cat707/Prism)。 + +## 开发环境 + +### 依赖 + +- Go 1.25+(见 `go.mod`) +- Node.js 20+(仅前端开发/构建) + +国内网络可使用仓库内已配置的镜像: + +- Go:`go.env` → `GOPROXY=https://goproxy.cn,direct` +- npm:`web/.npmrc` → `registry.npmmirror.com` + +海外用户可将 `GOPROXY` 改为 `https://proxy.golang.org,direct`,npm 使用默认 registry 即可。 + +### 启动 + +```bash +# 终端 1:后端 +make run + +# 终端 2:前端(Vite 代理 /api → :8080) +make dev-web +``` + +浏览器访问 http://localhost:5173 ,默认密码 `admin`。 + +### 测试与构建 + +```bash +make test # 运行 Go 单元测试 +make build # 构建含前端的单二进制 dist/prism +``` + +## 提交规范 + +- 一个 PR 聚焦一个主题,避免混合无关重构 +- 涉及 API 变更时同步更新 `internal/api/openapi/spec.yaml` +- 涉及 UI 变更请参考 `UI-DESIGN-SYSTEM.md` +- 确保 `go test ./...` 通过 + +## CI / 镜像发布 + +仓库使用 **Gitea Actions**(`.gitea/workflows/ci.yml`): + +| 触发 | 行为 | +|------|------| +| Pull Request | 仅运行 `go test ./...` | +| 推送到 `main` / `master` | 测试 + 构建并推送 `latest` 与 `sha-xxxxxxx` 镜像 | +| 推送 tag `v*` | 测试 + 额外推送版本 tag 镜像 | + +镜像发布到 Gitea Container Registry: + +``` +git.rc707blog.top/{owner}/prism:{tag} +``` + +### 维护者:配置 CI Secret + +在仓库 **Settings → Secrets → Actions** 添加: + +| Secret | 说明 | +|--------|------| +| `REGISTRY_TOKEN` | 具有 `write:package` 权限的 Personal Access Token | + +> **注意:** Secret 名称不能以 `GITEA_` 或 `GITHUB_` 开头(Gitea 保留前缀),因此使用 `REGISTRY_TOKEN` 而非 `GITEA_TOKEN`。 + +> Gitea Actions 的 job token 暂不支持直接推送软件包,需使用 PAT。见 [Gitea 文档](https://docs.gitea.com/usage/actions/comparison#package-repository-authorization)。 + +### Runner 配置 + +CI 使用 **`runs-on: ubuntu-latest`**(须与 Runners 页「**标签**」列一致)。 + +1. **Settings → Actions → Runners** 确认 runner **在线**,标签含 `ubuntu-latest` +2. 标签映射的 job 镜像须含 **Node.js**(否则 `actions/checkout` 会报 `node not in PATH`) +3. **构建镜像**:runner 须挂载 `/var/run/docker.sock`(见 [.gitea/act-runner/README.md](.gitea/act-runner/README.md)) +4. CI 使用 shell 安装 Go(阿里云 / golang.google.cn 镜像),避免 `setup-go` 从 GitHub 下载超时 + +## 目录结构 + +``` +cmd/prism/ 进程入口 +internal/api/ HTTP 层、OpenAPI、嵌入静态资源 +internal/store/ SQLite 与迁移 +internal/service/ 业务编排 +internal/configbuilder/ Mihomo YAML 合成 +web/ Vue 3 管理台 +.gitea/workflows/ CI 工作流 +``` + +## 许可 + +提交代码即表示你同意在 [MIT License](LICENSE) 下授权你的贡献。嵌入的 Mihomo 内核遵循其自身许可,见 [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)。 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8bc9cab --- /dev/null +++ b/Dockerfile @@ -0,0 +1,71 @@ +# Prism 代理网关(Go 控制面 + 嵌入 Mihomo + Vue 管理台) +# +# 构建: +# docker build -t prism:latest . +# +# 运行: +# docker run -d --name prism \ +# -p 8080:8080 -p 7890:7890 -p 7891:7891 \ +# -v prism-data:/app/data \ +# prism:latest +# +# 生产镜像由 Gitea Actions 构建,见 README「部署」 + +# syntax=docker/dockerfile:1 + +# 基础镜像默认 Docker Hub;CI 默认 1Panel 加速(docker.1panel.live),本地可传: +# docker build --build-arg IMAGE_PREFIX=docker.1panel.live/library/ -t prism:latest . +ARG IMAGE_PREFIX= + +FROM --platform=$BUILDPLATFORM ${IMAGE_PREFIX}node:20-alpine AS web-builder + +WORKDIR /src/web +COPY web/package.json web/package-lock.json web/.npmrc ./ +RUN npm ci +COPY web/ ./ +RUN npm run build + +FROM --platform=$BUILDPLATFORM ${IMAGE_PREFIX}golang:1.25-alpine AS go-builder + +ARG TARGETARCH +ARG GOPROXY=https://goproxy.cn,direct +ARG GOSUMDB=sum.golang.google.cn +ENV GOPROXY=${GOPROXY} GOSUMDB=${GOSUMDB} + +WORKDIR /src +COPY go.mod go.sum go.env ./ +RUN --mount=type=cache,target=/go/pkg/mod \ + go mod download + +COPY cmd/ ./cmd/ +COPY internal/ ./internal/ + +RUN rm -rf internal/api/static/* && mkdir -p internal/api/static +COPY --from=web-builder /src/web/dist/ ./internal/api/static/ + +RUN --mount=type=cache,target=/go/pkg/mod \ + --mount=type=cache,target=/root/.cache/go-build \ + CGO_ENABLED=0 GOOS=linux GOARCH="$TARGETARCH" \ + go build -ldflags="-w -s" -o /prism ./cmd/prism + +FROM ${IMAGE_PREFIX}alpine:3.20 + +RUN apk add --no-cache ca-certificates tzdata \ + && addgroup -S prism \ + && adduser -S prism -G prism + +WORKDIR /app + +COPY --from=go-builder /prism /usr/local/bin/prism + +RUN mkdir -p /app/data/geo \ + && chown -R prism:prism /app + +USER prism + +VOLUME ["/app/data"] + +EXPOSE 8080 7890 7891 + +ENTRYPOINT ["/usr/local/bin/prism"] +CMD ["-data", "/app/data"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..05c4140 --- /dev/null +++ b/LICENSE @@ -0,0 +1,34 @@ +MIT License + +Copyright (c) 2026 Prism Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +## Embedded components + +This project statically links [Mihomo](https://github.com/MetaCubeX/mihomo) +(github.com/metacubex/mihomo) as the proxy data plane. Mihomo is dual-licensed +under **GPL-3.0 OR MIT** (recipient's choice). See the Mihomo repository and +[THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) for details. + +Prism control-plane code (`cmd/`, `internal/`, `web/`) is MIT-licensed as above. +When you distribute Prism binaries or container images, you must comply with +the license terms of Mihomo and all bundled dependencies. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..48aa0fb --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +.PHONY: dev dev-web build build-web run test clean + +dev: + @echo "Run backend and frontend in separate terminals:" + @echo " make run" + @echo " make dev-web" + +dev-web: + cd web && npm run dev + +build-web: + cd web && npm run build + rm -rf internal/api/static/* + cp -r web/dist/* internal/api/static/ + +build: build-web + go build -o dist/prism ./cmd/prism + +run: + go run ./cmd/prism + +test: + go test ./... + +clean: + rm -rf dist web/dist internal/api/static/* + @echo 'Prism' > internal/api/static/index.html diff --git a/README.md b/README.md new file mode 100644 index 0000000..3671899 --- /dev/null +++ b/README.md @@ -0,0 +1,258 @@ +# Prism + +HTTP / SOCKS5 代理网关,带 Web 管理台。控制面自研(Go + SQLite),数据面嵌入 [Mihomo](https://github.com/MetaCubeX/mihomo)。 + +**源码仓库:** [git.rc707blog.top/rose_cat707/Prism](https://git.rc707blog.top/rose_cat707/Prism) + +管理台支持**简体中文、繁体中文、英文**三种界面语言,可在「系统设置 → 显示语言」中随时切换。 + +## 界面预览 + +以下为 Web 管理台主要页面(点击可查看原图)。 + +| 登录 | 监控大盘 | +|:---:|:---:| +| ![登录页](docs/image/登陆页.png) | ![监控大盘](docs/image/监控大盘.png) | +| 默认密码 `admin`,首次登录后请修改 | 实时速率、连接趋势与流量分布 | + +| 订阅管理 | 代理节点 | +|:---:|:---:| +| ![订阅管理](docs/image/订阅管理.png) | ![代理节点](docs/image/代理节点.png) | +| Clash YAML / 节点链接,自动识别与定时拉取 | 延迟测速、国家标签、导入导出 | + +| 出站管理 | 路由规则 | +|:---:|:---:| +| ![出站管理](docs/image/出站管理.png) | ![路由规则](docs/image/路由规则.png) | +| 默认出站、策略组与国家 url-test 池 | 手动规则、合成预览与命中测试 | + +| 请求日志 | 运行日志 | +|:---:|:---:| +| ![请求日志](docs/image/请求日志.png) | ![运行日志](docs/image/运行日志.png) | +| 代理请求明细与分页检索 | 内核与系统运行日志 | + +| 系统设置 | +|:---:| +| ![系统设置](docs/image/系统设置.png) | +| 端口、认证、Geo 数据、API Key、界面语言 | + +## 功能概览 + +| 模块 | 说明 | +|------|------| +| 订阅管理 | Clash YAML、节点链接、自动识别;定时拉取与热重载 | +| 代理节点 | 订阅/手动节点、国家标签、延迟测速、导入导出 | +| 出站管理 | 默认出站、策略组切换、国家 url-test 池 | +| 路由规则 | 手动高优先级规则、合成预览、命中测试、导入导出 | +| 监控大盘 | 实时速率、域名/节点流量、连接趋势 | +| 日志 | 请求日志、运行日志、审计日志(分页,单页最多 500 条) | +| 系统设置 | 端口、认证、Geo 数据、API Key、界面语言 | +| OpenAPI | `/api/docs` 交互文档,`/api/v1/openapi.json` | + +## 架构 + +``` +客户端 → Mihomo 入站 (HTTP/SOCKS5) → 规则引擎 → 出站节点 + ↑ + Prism 控制面 (配置合成 / REST API / Vue UI) + ↓ + SQLite + 内存缓存 +``` + +## 快速开始(开发) + +### 依赖 + +- Go 1.25+(见 `go.mod`) +- Node.js 20+(仅开发/构建前端) + +依赖镜像(已写入 `go.env`、`web/.npmrc`,国内网络友好): + +- Go:`GOPROXY=https://goproxy.cn,direct` +- npm:`registry=https://registry.npmmirror.com` + +海外用户可将 `GOPROXY` 改为 `https://proxy.golang.org,direct`,npm 使用默认 registry 即可。 + +### 启动 + +```bash +# 终端 1:后端 +make run + +# 终端 2:前端(Vite 代理 /api → :8080) +make dev-web +``` + +访问 http://localhost:5173 ,默认密码 `admin`(**首次登录后请立即修改**)。 + +```bash +make test # 运行单元测试 +make build # 构建 dist/prism +``` + +## 部署 + +镜像由 Gitea Actions 自动构建并发布到 Container Registry,**无需自行编译**。直接拉取运行即可。 + +```bash +docker pull git.rc707blog.top/rose_cat707/prism:latest +``` + +| Tag | 说明 | +|-----|------| +| `latest` | `main` / `master` 分支最新构建 | +| `sha-xxxxxxx` | 对应 commit 短 SHA | +| `v1.2.3` | 推送 Git tag `v1.2.3` 时发布 | + +### docker run + +```bash +docker pull git.rc707blog.top/rose_cat707/prism:latest + +docker run -d --name prism \ + --restart unless-stopped \ + -p 8080:8080 \ + -p 7890:7890 \ + -p 7891:7891 \ + -v prism-data:/app/data \ + git.rc707blog.top/rose_cat707/prism:latest +``` + +### Docker Compose + +仓库根目录 `docker-compose.yml` 已指向上述镜像: + +```bash +docker compose pull +docker compose up -d +``` + +数据持久化在 `./data`,升级时 `docker compose pull && docker compose up -d` 即可保留数据卷。 + +**端口(默认)** + +| 服务 | 端口 | 说明 | +|------|------|------| +| 管理 API / Web UI | 8080 | 浏览器访问管理台 | +| HTTP 代理 | 7890 | 客户端 HTTP 代理 | +| SOCKS5 代理 | 7891 | 客户端 SOCKS5 代理 | + +代理端口可在管理台「系统设置」修改并保存后重载内核。 + +若通过域名 + HTTPS 访问管理台,可在前面加 Nginx/Caddy 反代到 `8080`。**勿将代理端口 7890/7891 无防护暴露公网**;建议 VPN、IP 白名单或强密码 + 入站认证。 + +## 数据目录 + +`-data` 指定数据目录(默认 `./data`): + +``` +data/ +├── prism.db # SQLite:订阅、节点、规则、设置、日志 +└── geo/ # Country.mmdb、geoip.dat、geosite.dat +``` + +首次使用含 `GEOIP`/`GEOSITE` 规则时,可在「系统设置 → Geo 数据」一键下载,或手动放入 `data/geo/`。 + +## 使用攻略(简要) + +### 1. 首次登录 + +1. 打开 `http://<主机>:8080` +2. 默认密码 `admin`,登录后进入「系统设置」修改密码 +3. 按需切换「显示语言」 + +### 2. 添加订阅 + +1. 「订阅管理」→「添加订阅」 +2. 类型选 **自动识别**(兼容 Clash YAML、Base64 链接、短链) +3. 保存后自动拉取节点并重载内核 + +### 3. 配置出站 + +1. 「出站管理」设置**默认出站**(未命中规则时生效) +2. 在策略组中切换当前节点;国家池为自动测速选最快 + +### 4. 配置规则 + +1. 「路由规则」添加手动规则(优先级高于订阅规则) +2. 可将域名指向 `country:HK` 等国家池,或 `DIRECT` / `PROXY` +3. 使用「规则命中测试」验证 URL 走向 + +### 5. 客户端接入 + +| 类型 | 地址 | 默认 | +|------|------|------| +| HTTP 代理 | `<服务器IP>:7890` | 无认证(可在设置中启用) | +| SOCKS5 | `<服务器IP>:7891` | 同上 | + +本机 `127.0.0.1` 访问代理可免认证(若已配置入站认证)。 + +### 6. API 与自动化 + +- 交互文档:`http://<主机>:8080/api/docs` +- 登录获取 Token:`POST /api/v1/auth/login` +- 或在「系统设置」申请 **API Key**,请求头: + - `Authorization: Bearer ` 或 + - `X-API-Key: ` +- 修改配置后:`POST /api/v1/system/reload` 热重载内核 + +### 7. 日常运维 + +| 操作 | 位置 / API | +|------|------------| +| 查看流量与连接 | 监控大盘 | +| 节点测速 | 代理节点 → 全部测速 | +| 查看请求明细 | 请求日志 | +| 更新 Geo | 系统设置 → Geo 数据 | +| 重载配置 | 系统设置 → 重载内核 | + +## 订阅类型 + +| 类型 | 说明 | +|------|------| +| `auto` | 自动识别(推荐) | +| `clash` | Clash / Mihomo YAML | +| `links` | Base64 或纯文本节点链接 | + +## API 前缀 + +REST API:`/api/v1` +认证:`Authorization: Bearer ` 或 API Key。 + +主要端点:`/dashboard`、`/subscriptions`、`/proxies`、`/rules`、`/settings`、`/traffic-logs`、`/logs`、`/system/reload`。 + +## 项目结构 + +``` +cmd/prism/ # 进程入口 +internal/ + api/ # HTTP 层(按域拆分 handlers_*.go) + settings/ # 设置键名、展示/提交规范化、语言 + store/ # SQLite 与仓储 + service/ # 编排与热重载 + configbuilder/ # Mihomo YAML 合成 + subscription/ # 订阅拉取解析 +web/ # Vue 3 管理台 + src/i18n/ # 多语言资源 + src/views/ # 页面 + src/styles/ # 设计系统 theme.css +docs/ + image/ # README 界面截图 + UI-DESIGN-SYSTEM.md +.gitea/workflows/ # Gitea Actions CI +``` + +## CI / 镜像发布 + +推送 `main` / `master` 或 tag `v*` 时,Gitea Actions 构建多架构镜像并推送到 Registry。工作流与 Dockerfile 约定见 [.gitea/README.md](.gitea/README.md);维护者配置见 [CONTRIBUTING.md](CONTRIBUTING.md)。 + +## 贡献与安全 + +- [CONTRIBUTING.md](CONTRIBUTING.md) — 开发环境、CI 配置、提交规范 +- [SECURITY.md](SECURITY.md) — 漏洞报告与部署安全建议 +- [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) — 第三方组件与许可 + +## 许可 + +Prism 控制面代码采用 [MIT License](LICENSE)。 + +嵌入的 [Mihomo](https://github.com/MetaCubeX/mihomo) 内核采用 **GPL-3.0 OR MIT** 双重许可。分发二进制或容器镜像时,请保留相关版权声明并遵守 Mihomo 及全部依赖的许可条款。详见 [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)。 diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..63282b9 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,57 @@ +# 安全策略 + +## 支持的版本 + +| 版本 | 支持状态 | +|------|----------| +| 最新 `main` / `master` 分支 | ✅ 接受安全报告 | +| 最新发布的容器镜像 tag | ✅ 接受安全报告 | +| 更早版本 | ❌ 不保证修复 | + +## 报告漏洞 + +**请勿在公开 Issue 中披露可被利用的安全漏洞。** + +请通过以下方式私下联系维护者: + +- Gitea Issues 的「私有安全报告」功能(若实例已启用) +- 或仓库维护者提供的私密联系渠道 + +报告请尽量包含: + +1. 漏洞类型与影响范围 +2. 复现步骤或 PoC +3. 受影响版本 / 提交 +4. 建议修复思路(如有) + +我们会在确认后尽快回复,并在修复发布后公开致谢(除非你希望匿名)。 + +## 威胁模型说明 + +Prism 是**自托管代理网关**,默认设计面向受信任的内网或个人 VPS,而非多租户公网 SaaS。 + +部署时请注意: + +| 风险 | 说明 | 建议 | +|------|------|------| +| 默认管理密码 | 首次安装默认 `admin` | 登录后立即修改 | +| 管理 API 暴露 | 8080 端口可控制全部配置 | 勿对公网裸奔;使用 VPN / IP 白名单 / 反向代理 + HTTPS | +| 代理端口暴露 | 7890/7891 可被滥用为开放代理 | 启用入站认证;限制来源 IP | +| Mihomo 内部 API | 9090 仅应监听 127.0.0.1 | 勿映射到公网 | +| CORS `*` | 便于开发,生产需配合鉴权 | 管理台不要与不可信站点共享 Cookie 场景 | +| API Key / Token | 等同管理员权限 | 定期轮换,勿提交到版本库 | +| 订阅 URL | 可能含敏感节点信息 | 妥善保护数据库与备份 | + +## 依赖安全 + +- Go 依赖见 `go.mod` / `go.sum` +- 前端依赖见 `web/package-lock.json` +- 嵌入内核 [Mihomo](https://github.com/MetaCubeX/mihomo) 的安全更新需跟随上游版本升级 + +## 安全更新 + +安全修复将通过: + +1. 向 `main` / `master` 提交补丁 +2. 推送新容器镜像(`latest` 与对应版本 tag) +3. 在 Release / Issue 中简要说明(不含 exploit 细节) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md new file mode 100644 index 0000000..49a451b --- /dev/null +++ b/THIRD-PARTY-NOTICES.md @@ -0,0 +1,53 @@ +# 第三方组件与许可声明 + +Prism 在 MIT 许可下发布(见 [LICENSE](LICENSE))。以下列出主要直接依赖及嵌入组件。**完整依赖树**见 `go.mod`、`go.sum` 与 `web/package-lock.json`。 + +## 嵌入内核 + +| 组件 | 用途 | 许可 | +|------|------|------| +| [Mihomo](https://github.com/MetaCubeX/mihomo) | HTTP/SOCKS5 代理数据面(Go 静态链接嵌入) | GPL-3.0 **或** MIT(双重许可,由使用者选择) | + +### Mihomo 许可说明 + +Mihomo 以 **GPL-3.0 / MIT 双许可** 发布。分发包含 Mihomo 的 Prism 二进制或容器镜像时: + +1. **保留** Mihomo 及所有依赖的版权声明与许可全文 +2. 若选择 GPL-3.0 路径,需按 GPL-3.0 要求提供对应源码获取方式 +3. 若选择 MIT 路径(针对 Mihomo 部分),需保留 Mihomo 的 MIT 版权声明 + +Prism **自研控制面代码**(`cmd/`、`internal/`、`web/`)采用 MIT 许可,与 Mihomo 通过 Go 包导入方式组合为单一可执行文件。 + +## Go 直接依赖 + +| 组件 | 用途 | 许可 | +|------|------|------| +| [gin-gonic/gin](https://github.com/gin-gonic/gin) | HTTP 框架 | MIT | +| [pressly/goose](https://github.com/pressly/goose) | 数据库迁移 | MIT | +| [robfig/cron](https://github.com/robfig/cron) | 定时任务 | MIT | +| [golang.org/x/crypto](https://pkg.go.dev/golang.org/x/crypto) | bcrypt 等 | BSD-3-Clause | +| [gopkg.in/yaml.v3](https://github.com/go-yaml/yaml) | YAML 解析 | Apache-2.0 / MIT | +| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | 纯 Go SQLite 驱动 | BSD-3-Clause | + +Mihomo 还引入大量间接依赖(Tailscale、gVisor、quic-go 等),其许可信息见 `vendor/`(若本地生成)或各模块仓库。 + +## 前端直接依赖 + +| 组件 | 用途 | 许可 | +|------|------|------| +| [Vue 3](https://vuejs.org/) | UI 框架 | MIT | +| [Element Plus](https://element-plus.org/) | 组件库 | MIT | +| [vue-i18n](https://vue-i18n.intlify.dev/) | 国际化 | MIT | +| [ECharts](https://echarts.apache.org/) | 图表 | Apache-2.0 | +| [axios](https://axios-http.com/) | HTTP 客户端 | MIT | +| [Vite](https://vitejs.dev/) | 构建工具 | MIT | + +## 生成 vendor 目录(可选) + +如需离线/可复现构建,可在本地执行: + +```bash +go mod vendor +``` + +`vendor/` 已加入 `.gitignore`,默认由 CI 与 Docker 构建在线拉取依赖。 diff --git a/cmd/prism/geo.go b/cmd/prism/geo.go new file mode 100644 index 0000000..43d83dd --- /dev/null +++ b/cmd/prism/geo.go @@ -0,0 +1,10 @@ +package main + +import ( + "github.com/prism/proxy/internal/geodata" +) + +func applyGeoSettingsOnStart(dataDir string, settings map[string]string) { + geodata.InitHomeDir(dataDir) + geodata.ApplyMihomoURLs(geodata.ConfigFromSettings(settings)) +} diff --git a/cmd/prism/main.go b/cmd/prism/main.go new file mode 100644 index 0000000..5af8619 --- /dev/null +++ b/cmd/prism/main.go @@ -0,0 +1,183 @@ +package main + +import ( + "context" + "flag" + "fmt" + "log" + "net/http" + "os" + "os/signal" + "strconv" + "syscall" + "time" + + "github.com/robfig/cron/v3" + + "github.com/prism/proxy/internal/api" + "github.com/prism/proxy/internal/cache" + "github.com/prism/proxy/internal/configbuilder" + "github.com/prism/proxy/internal/core" + "github.com/prism/proxy/internal/geodata" + "github.com/prism/proxy/internal/health" + applog "github.com/prism/proxy/internal/log" + "github.com/prism/proxy/internal/metrics" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/service" + "github.com/prism/proxy/internal/store" + "github.com/prism/proxy/internal/subscription" + "github.com/prism/proxy/internal/trafficlog" +) + +func main() { + dataDir := flag.String("data", "data", "data directory") + flag.Parse() + + log.Printf("Prism starting, data dir: %s", *dataDir) + + if err := os.MkdirAll(*dataDir, 0o755); err != nil { + log.Fatal(err) + } + + st, err := store.Open(*dataDir) + if err != nil { + log.Fatal(err) + } + defer st.Close() + log.Printf("database ready") + + if n, err := st.BackfillNodeCountries(context.Background()); err != nil { + log.Printf("country backfill: %v", err) + } else if n > 0 { + log.Printf("country tags backfilled for %d nodes", n) + } + + core.InitDataDir(*dataDir) + + c := cache.New() + engine := core.NewEngine() + builder := configbuilder.New(st, *dataDir) + logCollector := applog.NewCollector(st, 5000, true) + subSvc := subscription.NewService(st) + + app := &service.App{ + Store: st, + Cache: c, + Engine: engine, + Builder: builder, + Subscription: subSvc, + Logs: logCollector, + DataDir: *dataDir, + } + + ctx := context.Background() + apiBase, secret, _ := app.MihomoAPIBase(ctx) + hc := health.NewChecker(st, c, apiBase, secret) + mc := metrics.NewCollector(st, c, apiBase, secret) + trafficCollector := trafficlog.NewCollector(st, 5000) + trafficCollector.Start(ctx, mihomoapi.New(apiBase, secret)) + + settings, _ := st.GetSettings(ctx) + applyGeoSettingsOnStart(*dataDir, settings) + if settings["geo_auto_download"] != "false" { + go func() { + log.Printf("checking geo data in background...") + cfg := geodata.ConfigFromSettings(settings) + if updated, err := geodata.Ensure(*dataDir, cfg, false); err != nil { + log.Printf("geo data: %v", err) + logCollector.Add("warn", "prism", "geo data: "+err.Error()) + } else if len(updated) > 0 { + log.Printf("geo data downloaded: %v", updated) + } + }() + } + + logCollector.Add("info", "prism", "Prism started") + log.Printf("loading proxy engine...") + + if err := app.ReloadEngine(ctx); err != nil { + log.Printf("initial engine reload: %v (will retry after config)", err) + } else { + log.Printf("proxy engine ready") + } + go func() { + warmCtx, cancel := context.WithTimeout(context.Background(), 8*time.Second) + defer cancel() + _, _ = mc.Refresh(warmCtx) + app.RefreshEngineStatusAsync() + }() + + srv := api.NewServer(app, hc, mc, subSvc, logCollector, trafficCollector) + router := srv.Router() + + apiPort := settings["api_port"] + if apiPort == "" { + apiPort = "8080" + } + + httpServer := &http.Server{ + Addr: ":" + apiPort, + Handler: router, + } + + cr := cron.New() + _, _ = cr.AddFunc("@every 1m", func() { + _, _ = mc.Refresh(context.Background()) + }) + _, _ = cr.AddFunc("@every 5m", func() { + settings, _ := st.GetSettings(context.Background()) + sec, _ := strconv.Atoi(settings["health_interval_sec"]) + if sec <= 0 { + sec = 300 + } + // health checker runs on its own schedule approximation + _ = hc.TestAll(context.Background(), nil) + }) + _, _ = cr.AddFunc("@every 10m", func() { + syncSubscriptions(app, subSvc) + }) + cr.Start() + + go func() { + log.Printf("Prism API listening on :%s", apiPort) + if err := httpServer.ListenAndServe(); err != nil && err != http.ErrServerClosed { + log.Fatal(err) + } + }() + + sig := make(chan os.Signal, 1) + signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM) + <-sig + + shutdownCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + _ = httpServer.Shutdown(shutdownCtx) + cr.Stop() + engine.Shutdown() +} + +func syncSubscriptions(app *service.App, subSvc *subscription.Service) { + ctx := context.Background() + settings, err := app.Store.GetSettings(ctx) + if err != nil || settings["sub_sync_enabled"] != "true" { + return + } + subs, err := app.Store.ListSubscriptions(ctx) + if err != nil { + return + } + now := time.Now() + for _, sub := range subs { + if !sub.Enabled { + continue + } + if sub.LastFetchAt != nil && now.Sub(*sub.LastFetchAt) < time.Duration(sub.IntervalSec)*time.Second { + continue + } + if err := subSvc.FetchAndStore(ctx, sub.ID); err != nil { + app.Logs.Add("error", "subscription", fmt.Sprintf("sync %s failed: %v", sub.Name, err)) + continue + } + } + _ = app.ReloadEngine(ctx) +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..08fa77a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +# Prism 一键部署示例 +# 镜像由 Gitea Actions 构建并发布到 Container Registry +# +# docker compose pull && docker compose up -d + +services: + prism: + image: git.rc707blog.top/rose_cat707/prism:latest + container_name: prism + restart: unless-stopped + ports: + - "8080:8080" # 管理 API / Web UI + - "7890:7890" # HTTP 代理 + - "7891:7891" # SOCKS5 代理 + volumes: + - ./data:/app/data diff --git a/docs/UI-DESIGN-SYSTEM.md b/docs/UI-DESIGN-SYSTEM.md new file mode 100644 index 0000000..c6adb10 --- /dev/null +++ b/docs/UI-DESIGN-SYSTEM.md @@ -0,0 +1,2013 @@ +# UI 设计规范 + +> 适用范围:基于 Vue 3 + Element Plus 2.x 的后台管理系统 Web 页面 +> **本文档为唯一设计规范**:色彩、间距、布局、组件样式、全局 CSS 均定义于本文件(§6 分模块说明 + §8.9 完整 CSS)。项目实施时从本文档复制代码即可,不依赖其他设计资产文件。 + +--- + +## 目录 + +1. [页面整体风格](#1-页面整体风格) +2. [布局标准](#2-布局标准) +3. [字体标准](#3-字体标准) +4. [颜色规范](#4-颜色规范) +5. [图标使用规范](#5-图标使用规范) +6. [组件与页面标准样式](#6-组件与页面标准样式) +7. [交互原则](#7-交互原则) +8. [附录:复刻指南](#8-附录复刻指南) + +--- + +## 1. 页面整体风格 + +### 1.1 设计定位 + +本规范定义一套**浅色、克制、数据导向**的后台界面风格。视觉语言强调可读性与操作效率,避免装饰性元素喧宾夺主。 + +| 维度 | 规范 | +|------|------| +| 整体调性 | 专业、冷静、工具感;类似现代 SaaS 控制台 | +| 色彩策略 | 大面积中性灰白底 + 青绿品牌色点缀 | +| 层次表达 | 靠**字号阶梯**与**灰度阶梯**区分,不靠重阴影 | +| 容器形态 | 白底细边框卡片(`1px` + `8px` 圆角),无浮起阴影 | +| 信息密度 | 列表/表格偏紧凑(`size="small"`),表单区留白充分 | +| 技术底座 | Element Plus 组件 + 全局 CSS 变量覆盖 | + +### 1.2 核心设计原则 + +| 原则 | 说明 | +|------|------| +| **浅色优先** | 页面背景 `#f4f4f5`,内容区白卡片;禁止深色全屏侧栏 | +| **克制用色** | 主色青绿仅用于品牌、主按钮、导航激活态、关键正向状态 | +| **细边框卡片** | 白底 + `1px` 浅灰边框 + `8px` 圆角,禁止大面积 box-shadow | +| **8px 间距节奏** | 所有间距使用间距 Token(4px 仅用于极紧凑场景) | +| **层次靠字号与灰度** | 标题 `#18181b`,正文 `#3f3f46`,辅助 `#71717a` | +| **组件复用优先** | 使用 `PageHeader`、`AppCard`、`StatCard` 等标准壳层,禁止页面内自建容器体系 | +| **国际化友好** | 文案走 i18n;布局预留中英文长度差异(按钮组 `flex-wrap`) | + +### 1.3 视觉示意 + +``` +┌──────────────┬────────────────────────────────────┐ +│ Sidebar │ Topbar(52px,白底,底部分割线) │ +│ 240px ├────────────────────────────────────┤ +│ 半透明浅灰 │ Main Content(padding 24px) │ +│ 品牌区+导航 │ .page(max-width 1400px) │ +│ │ PageHeader → StatGrid → AppCard │ +└──────────────┴────────────────────────────────────┘ +``` + +登录页为独立全屏居中布局,无侧栏与顶栏。 + +--- + +## 2. 布局标准 + +### 2.1 栅格系统 + +#### PC 端(≥1025px) + +| 项目 | 规范 | +|------|------| +| 基准栅格 | **12 列**逻辑栅格(内容区 `max-width: 1400px` 内划分) | +| 列间距(gutter) | `16px`(`--space-4`) | +| 页面水平边距 | 主内容区内边距 `24px`(`--space-6`) | +| 典型列分配 | 统计卡 4×3 列;双栏内容 `1.4fr : 1fr` 或 `1fr : 1fr`;三栏等分 `1fr × 3` | + +常用网格类: + +| 类名 | PC 列数 | 说明 | +|------|---------|------| +| `.stat-grid` | 4 列 | 概览指标卡 | +| `.content-grid--2` | 2 列等宽 | 并列卡片 | +| `.content-grid--2-1` | 2 列(约 7:5) | 主内容 + 侧信息 | +| `.content-grid--3` | 3 列等宽 | 三列面板(按需扩展) | + +#### 平板(641px – 1024px) + +| 项目 | 规范 | +|------|------| +| 有效栅格 | **8 列**逻辑栅格 | +| `.stat-grid` | 2 列 | +| `.content-grid--*` | 全部折叠为 **1 列** | +| 主内容 padding | 保持 `24px` | + +#### 移动端(≤640px) + +| 项目 | 规范 | +|------|------| +| 有效栅格 | **4 列**逻辑栅格 | +| `.stat-grid` | 1 列 | +| `.page-header` | 纵向堆叠(标题在上,操作在下) | +| 主内容 padding | `16px`(`--space-4`) | +| 底部 Tab(若启用) | 固定底部,高度 `56px`,图标 `20px` + 文字 `10px` | + +> 默认以 PC 为主、移动端通过响应式折叠适配;若启用底部 Tab 导航,须使用本节尺寸,不得自定义高度。 + +### 2.2 间距体系(8px 基准) + +**硬性规则:页面级、组件级外边距与内边距必须使用间距 Token,禁止出现 5px、7px、10px、15px 等非体系数值。** + +| Token | 值 | 是否 8 的倍数 | 典型用途 | +|-------|-----|---------------|----------| +| `--space-1` | 4px | ½×8,仅紧凑场景 | 标题与副标题间距、行内 code 水平 padding | +| `--space-2` | 8px | ✓ | 按钮组 gap、导航项内边距、表格单元格垂直 padding | +| `--space-3` | 12px | — | 列表项间距、卡片底栏提示 | +| `--space-4` | 16px | ✓ | 卡片间距、工具栏下边距、移动端页面 padding | +| `--space-5` | 20px | — | 卡片水平内边距、统计卡内边距 | +| `--space-6` | 24px | ✓ | 页头下边距、主内容 padding、区块分隔 | +| `--space-8` | 32px | ✓ | 登录卡片内边距、大区块分隔 | + +**垂直节奏(页面级)** + +- `.page-header` 下方:`24px` +- `.stat-grid`、`.content-grid` 下方:`24px` +- 相邻 `.app-card` 间距:`16px`;页面最后一个卡片无底边距 + +**已知例外(保留,勿改)** + +| 位置 | 值 | 原因 | +|------|-----|------| +| `.form-hint` 的 `margin-top` | `6px` | 紧贴表单项控件底部,视觉上等同 8px 体系 | + +`--primary-hover` 已定义但未写独立 CSS 规则,主按钮 hover 由 Element Plus 通过 `--el-color-primary-dark-2` 自动处理。 + +### 2.3 布局组件尺寸 + +| 组件 | 尺寸 | 其他规则 | +|------|------|----------| +| **侧栏** `.sidebar` | 宽 `240px`(`15rem`) | 右边框 `1px`;背景半透明 + `backdrop-filter: blur(8px)` | +| **侧栏品牌区** `.sidebar-brand` | 高随内容;padding `20px 16px` | 品牌图标 `32×32px` | +| **导航项** `.nav-item` | 高随内容;padding `8px 12px`;margin 左右 `8px` | 圆角 `8px`;图标 `16px` | +| **导航分组标签** `.nav-group-label` | padding `16px 16px 8px` | 字号 `12px`,全大写 | +| **顶栏** `.topbar` | 高 **`52px`** | 左右 padding `24px`;白底 + 底边框 | +| **主内容** `.main-content` | flex 填满剩余高度 | padding `24px`(移动端 `16px`);纵向滚动 | +| **页面容器** `.page` | max-width **`1400px`** | 无水平居中强制(随主内容左对齐) | +| **底部 Tab**(预留) | 高 **`56px`** | 图标 `20px`,标签 `10px`,最多 5 项 | +| **登录卡片** `.login-card` | max-width 外层 `400px`;内边距 `32px` | 品牌图标 `48×48px`,圆角 `12px` | + +### 2.4 断点 + +| 断点 | 媒体查询 | 主要变化 | +|------|----------|----------| +| 平板 | `max-width: 1024px` | 统计 2 列;内容网格单列 | +| 手机 | `max-width: 640px` | 统计 1 列;页头纵向;主内容 16px padding | + +### 2.5 布局结构(ASCII) + +``` +PC (≥1025px) +┌─ sidebar 240px ─┬──────────── main-area ────────────────────┐ +│ [brand 32px] │ topbar 52px │ +│ [nav × N] ├───────────────────────────────────────────┤ +│ │ padding 24px │ +│ │ ┌─ page max 1400px ─────────────────┐ │ +│ │ │ page-header │ │ +│ │ │ stat-grid (4 col, gap 16) │ │ +│ │ │ app-card │ │ +│ │ └────────────────────────────────────┘ │ +└─────────────────┴───────────────────────────────────────────┘ + +Mobile (≤640px) +┌──────────────── main-area 100% ────────────────┐ +│ topbar 52px │ +├────────────────────────────────────────────────┤ +│ padding 16px │ +│ page-header (column) │ +│ stat-grid (1 col) │ +│ app-card │ +├────────────────────────────────────────────────┤ +│ [optional bottom-tab 56px] │ +└────────────────────────────────────────────────┘ +``` + +--- + +## 3. 字体标准 + +### 3.1 字体族 + +| 场景 | 字体栈 | +|------|--------| +| **中文界面** | `"PingFang SC"`, `"Microsoft YaHei"`, `"Noto Sans SC"`, `"Helvetica Neue"`, `Arial`, `sans-serif` | +| **英文界面** | `ui-sans-serif`, `system-ui`, `-apple-system`, `"Segoe UI"`, `Roboto`, `"Helvetica Neue"`, `Arial`, `sans-serif` | +| **合并栈(推荐默认)** | `ui-sans-serif`, `system-ui`, `-apple-system`, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif` | +| **等宽(代码/文件名)** | `ui-monospace`, `SFMono-Regular`, `Menlo`, `Monaco`, `Consolas`, monospace` | + +> 中英文共用同一 sans 栈:西文优先 system 字体,CJK 由系统自动 fallback 至苹方/微软雅黑。禁止为中文单独引入 Web Font,保持加载性能。 + +### 3.2 字号阶梯 + +根元素 `font-size: 14px`(`1rem = 14px`)。所有字号使用 `rem` 相对根字号。 + +| 层级 | 类名 / 场景 | 字号 | 字重 | 行高 | 颜色 | +|------|-------------|------|------|------|------| +| 页面标题 | `.page-title` | `1.5rem`(21px) | 600 | 默认 | `--foreground` | +| 登录品牌标题 | `.page-title`(登录页) | 同上 | 600 | 默认 | `--foreground` | +| 卡片标题 | `.app-card__title` | `0.9375rem`(13px) | 600 | 默认 | `--foreground` | +| 品牌名 | `.brand-name` | `1.125rem`(15.75px) | 600 | 默认 | `--foreground` | +| 统计数值 | `.stat-card__value` | `1.75rem`(24.5px) | 600 | 默认 | `--foreground` | +| 正文 / 导航 / 顶栏 | `.nav-item`, `.topbar-title`, 表格正文 | `0.875rem`(12.25px) | 400–500 | 1.4(表格) | `--el-text-color-regular` 或 `--muted-foreground` | +| 描述 / 标签说明 | `.page-desc`, `.stat-card__label` | `0.875rem` | 400 | 默认 | `--muted-foreground` | +| 表头 / 辅助 | 表头 `th`, `.form-hint`, `.nav-group-label` | `0.75rem`(10.5px) | 600(表头)/ 400 | 默认 | `--muted-foreground` | +| 极小说明 | `.form-hint`, `code.inline-code` | `0.75rem` | 400 | 默认 | `--muted-foreground` | +| 等宽数据 | `.kv-block code`, `.meta-list` | `0.8125rem` | 400 | 默认 | 继承 | + +### 3.3 字重与样式 + +| 样式 | 使用场景 | 禁止场景 | +|------|----------|----------| +| **600(Semibold)** | 页面标题、卡片标题、表头、导航激活态、分组标题 `.section-title` | 大段正文 | +| **500(Medium)** | 导航默认态、顶栏次要文字 | — | +| **400(Regular)** | 正文、描述、表单标签 | — | +| **加粗 ``** | 行内强调少量关键词 | 整段文字 | +| **斜体 ``** | 极少使用;仅引用或术语首次出现 | 按钮、导航、表头 | +| **`letter-spacing: -0.02em`** | 仅 `.page-title` | 其他文字 | +| **`text-transform: uppercase`** | 仅 `.nav-group-label` | 其他文字 | + +### 3.4 Element Plus 表单标签 + +| 场景 | `label-width` | +|------|---------------| +| 简单 CRUD 对话框 | `100px` | +| 字段名较长 | `110px` | +| 系统设置长表单 | `120px` | +| 嵌套子表单 | `90px` | +| 登录页 | `size="large"`(EP 默认大号控件) | + +--- + +## 4. 颜色规范 + +### 4.1 色彩角色一览 + +``` +品牌层:primary 系列(操作引导) +中性层:background / card / muted / border(结构) +语义层:success / warning / danger / info(状态) +文本层:foreground / regular / muted-foreground(可读性) +``` + +### 4.2 完整色板 + +#### 品牌色 + +| Token | 色值 | 用途 | +|-------|------|------| +| `--primary` | `#0f7a62` | 主按钮、品牌图标底、导航激活文字、链接强调 | +| `--primary-hover` | `#0d6b56` | 主按钮 hover | +| `--primary-foreground` | `#fafafa` | 主色背景上的文字/图标 | +| `--el-color-primary-light-3` | `#4da08c` | EP 组件浅色变体 | +| `--el-color-primary-light-5` | `#76b8a8` | — | +| `--el-color-primary-light-7` | `#a0d0c4` | — | +| `--el-color-primary-light-8` | `#b8dcd2` | — | +| `--el-color-primary-light-9` | `#d0e8e1` | 浅色背景提示 | +| `--el-color-primary-dark-2` | `#0c624e` | 主色按下/深色态 | + +#### 中性色 + +| Token | 色值 | 用途 | +|-------|------|------| +| `--background` | `#f4f4f5` | 页面底色、登录页背景 | +| `--foreground` | `#18181b` | 主标题、强强调正文 | +| `--card` | `#ffffff` | 卡片、顶栏、弹窗内容区背景 | +| `--card-foreground` | `#18181b` | 卡片上主文字 | +| `--muted` | `#f4f4f5` | 表头背景、内嵌块、行内 code 底 | +| `--muted-foreground` | `#71717a` | 描述、表头文字、顶栏标题、占位性文字 | +| `--border` | `#e4e4e7` | 卡片边框、分割线、顶栏底边 | +| `--input` | `#e4e4e7` | 输入框边框(与 border 一致) | + +#### 侧栏专用 + +| Token | 色值 | 用途 | +|-------|------|------| +| `--sidebar` | `rgba(250, 250, 250, 0.85)` | 侧栏背景(半透明) | +| `--sidebar-foreground` | `#18181b` | 侧栏主文字 | +| `--sidebar-accent` | `#f4f4f5` | 导航 hover / active 背景 | +| `--sidebar-border` | `#e4e4e7` | 侧栏右边框 | + +#### 语义色 + +| Token / 类名 | 色值 | 用途 | +|--------------|------|------| +| `--success` | `#047857` | 成功状态(与 EP success 同步) | +| `--warning` | `#b45309` | 警告状态 | +| `--danger` / `--destructive` | `#dc2626` | 危险、错误、删除 | +| `--info` | `#a1a1aa` | 中性、禁用、分类标签 | +| `--el-color-success` | `#047857` | `el-tag type="success"` | +| `--el-color-warning` | `#b45309` | `el-tag type="warning"` | +| `--el-color-danger` | `#dc2626` | `el-tag type="danger"` | +| `--el-color-info` | `#a1a1aa` | `el-tag type="info"` | +| `.status-good` | `#047857` | 数值/状态优良 | +| `.status-warn` | `#b45309` | 数值/状态偏高 | +| `.status-bad` | `#dc2626` | 数值/状态很差 | +| `.status-muted` | `--muted-foreground` | 无数据/超时/不可用 | +| `.meta-list__ok` | `var(--success)` | 列表项就绪 | +| `.meta-list__warn` | `var(--warning)` | 列表项缺失/警告 | + +#### 文本色(Element Plus 对齐) + +| Token | 色值 | 用途 | +|-------|------|------| +| `--el-text-color-primary` | `#18181b` | EP 主要文字 | +| `--el-text-color-regular` | `#3f3f46` | 表格正文 | +| `--el-text-color-secondary` | `#71717a` | EP 次要文字 | + +### 4.3 颜色使用规范 + +| 规则 | 说明 | +|------|------| +| **禁止硬编码色值** | 新样式必须使用 CSS 变量 | +| **主色克制** | 单屏主色面积不超过 15%;除主按钮与激活导航外不大面积铺主色 | +| **状态色统一** | 成功/失败/禁用一律用 `el-tag` 语义 type,不自创色块 | +| **边框优先于阴影** | 容器分隔用 `1px solid var(--border)`,不用阴影 | +| **危险操作** | 破坏性操作用 `type="danger"` + `link`(表格行内)或二次确认弹框 | +| **图表** | 遵循 [§6.16](#616-图表规范echarts) 配色与 grid 配置 | + +### 4.4 圆角 + +| Token | 值 | 用途 | +|-------|-----|------| +| `--radius` | `0.5rem`(8px) | 卡片、按钮、输入框、导航项、内嵌块 | +| 登录品牌图标 | `12px` | 仅 `.login-brand-icon`,略大以强化品牌 | + +--- + +## 5. 图标使用规范 + +### 5.1 图标体系 + +| 类型 | 来源 | 说明 | +|------|------|------| +| **品牌图标** | 项目自有 Logo(自行实现) | 产品标识;仅用于侧栏 `.brand-icon`、登录页 `.login-brand-icon`;**各项目图形不同,本文档不提供参考实现** | +| **功能图标** | `@element-plus/icons-vue` | 导航、操作提示;通过 `` 包裹 | +| **状态** | 优先 `el-tag` 文字 | 不以图标替代明确状态文案 | + +### 5.2 尺寸规范 + +| 场景 | 尺寸 | +|------|------| +| 侧栏品牌区 Logo | `20px` | +| 登录页品牌 Logo | `24px` | +| 侧栏导航图标 | `16px`(``) | +| 按钮内图标(若使用) | `14px` | +| 底部 Tab(预留) | `20px` | + +### 5.3 常见场景图标推荐 + +图标库统一使用 `@element-plus/icons-vue`(Outlined 线型)。下表为常见导航/功能场景的推荐映射,各项目可按业务替换,但须保持风格一致。 + +| 场景 | 推荐图标 | 含义 | +|------|----------|------| +| 首页 / 仪表盘 | `Odometer`、`HomeFilled` | 总览、监控 | +| 列表 / 规则 / 配置项 | `List`、`Menu` | 条目化管理 | +| 连接 / 网络 | `Connection`、`Share` | 链路、拓扑 | +| 外部关联 / 链接 | `Link` | 外部数据源 | +| 切换 / 路由 / 策略 | `Switch` | 分流、调度 | +| 日志 / 文档 | `Document`、`Tickets` | 记录、流水 | +| 用户 / 权限 | `User`、`Lock` | 身份、安全 | +| 系统设置 | `Setting` | 全局配置 | +| 新建 | `Plus` | 创建资源 | +| 编辑 | `Edit` | 修改 | +| 删除 | `Delete` | 移除(配合 danger 按钮,不单用图标) | +| 刷新 | `Refresh` | 重新加载 | +| 导入 / 导出 | `Upload`、`Download` | 数据交换 | + +### 5.4 使用原则 + +| 原则 | 说明 | +|------|------| +| **导航必带图标** | 侧栏每项左侧固定 `16px` 图标,增强扫读性 | +| **颜色跟随文字** | 图标 `currentColor`,不单独设色 | +| **禁止混用风格** | 统一 Outlined 线型图标(Element Plus Icons) | +| **操作按钮** | 主操作优先文字按钮;图标-only 按钮需 `aria-label` | +| **品牌图标不外借** | Logo 仅用于品牌区,不用于普通操作按钮 | + +--- + +## 6. 组件与页面标准样式 + +> 本节 6.1–6.14 为**分模块说明**(便于查阅);**合并后的完整全局 CSS 见 [§8.9](#89-完整全局样式一键复制)**。两处内容须保持一致。 + +### 6.0 技术栈与引入 + +| 项目 | 要求 | +|------|------| +| Vue | `^3.4` | +| Element Plus | `^2.4`(2.x 均可,须使用 CSS 变量主题) | +| 图标 | `@element-plus/icons-vue` | +| 图表(可选) | `echarts` `^5` | + +**`main.ts` 引入顺序(顺序不可颠倒):** + +```ts +import { createApp } from 'vue' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' // ① 先 Element Plus 基础样式 +import './styles/global.css' // ② 再将本文档 §8.9 复制为全局样式文件后引入 + +const app = createApp(App) +app.use(ElementPlus) // ③ 全量注册(或按需,但变量须生效) +app.mount('#app') +``` + +**依赖说明:** + +- 全局样式**仅来源于本文档 §8.9**,文件名与存放路径由项目自定(如 `global.css`、`app.css`)。 +- 按钮、输入框、弹框、Tabs 等**无需逐组件写 CSS**,通过 `:root` 中的 `--el-*` 变量与品牌色对齐。 +- 表格、卡片容器、布局壳层使用本文档自定义 class,须与 §8.1 壳层 DOM 结构配合。 + +### 6.1 设计 Token 与基础重置 + +```css +:root { + --background: #f4f4f5; + --foreground: #18181b; + --card: #ffffff; + --card-foreground: #18181b; + --primary: #0f7a62; + --primary-hover: #0d6b56; + --primary-foreground: #fafafa; + --muted: #f4f4f5; + --muted-foreground: #71717a; + --border: #e4e4e7; + --input: #e4e4e7; + --destructive: #dc2626; + --success: #047857; + --warning: #b45309; + --danger: #dc2626; + --info: #a1a1aa; + --sidebar: rgba(250, 250, 250, 0.85); + --sidebar-foreground: #18181b; + --sidebar-accent: #f4f4f5; + --sidebar-border: #e4e4e7; + --sidebar-width: 15rem; + --radius: 0.5rem; + --space-1: 4px; + --space-2: 8px; + --space-3: 12px; + --space-4: 16px; + --space-5: 20px; + --space-6: 24px; + --space-8: 32px; + + --el-color-primary: #0f7a62; + --el-color-primary-light-3: #4da08c; + --el-color-primary-light-5: #76b8a8; + --el-color-primary-light-7: #a0d0c4; + --el-color-primary-light-8: #b8dcd2; + --el-color-primary-light-9: #d0e8e1; + --el-color-primary-dark-2: #0c624e; + --el-color-success: #047857; + --el-color-warning: #b45309; + --el-color-danger: #dc2626; + --el-color-info: #a1a1aa; + --el-border-radius-base: 0.5rem; + --el-border-color: #e4e4e7; + --el-bg-color-page: #f4f4f5; + --el-text-color-primary: #18181b; + --el-text-color-regular: #3f3f46; + --el-text-color-secondary: #71717a; + --el-font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; +} + +* { box-sizing: border-box; } + +html, body, #app { + margin: 0; + padding: 0; + height: 100%; + font-size: 14px; + font-family: var(--el-font-family); + background: var(--background); + color: var(--foreground); +} +``` + +### 6.2 布局壳层(侧栏 / 顶栏 / 主内容) + +```css +.layout { + display: flex; + height: 100vh; +} + +.sidebar { + width: var(--sidebar-width); + flex-shrink: 0; + background: var(--sidebar); + border-right: 1px solid var(--sidebar-border); + backdrop-filter: blur(8px); + display: flex; + flex-direction: column; + overflow-y: auto; +} + +.sidebar-brand { + display: flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-5) var(--space-4); +} + +.brand-icon { + width: 32px; + height: 32px; + border-radius: var(--radius); + background: var(--primary); + color: var(--primary-foreground); + display: flex; + align-items: center; + justify-content: center; +} + +.brand-name { + font-size: 1.125rem; + font-weight: 600; +} + +.nav-group-label { + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.04em; + color: var(--muted-foreground); + padding: var(--space-4) var(--space-4) var(--space-2); +} + +.nav-item { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-2) var(--space-3); + margin: 0 var(--space-2); + border-radius: var(--radius); + color: var(--muted-foreground); + text-decoration: none; + font-size: 0.875rem; + font-weight: 500; +} + +.nav-item:hover { background: var(--sidebar-accent); } + +.nav-item.active { + background: var(--sidebar-accent); + color: var(--primary); + font-weight: 600; +} + +.main-area { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; +} + +.topbar { + height: 52px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 var(--space-6); + background: var(--card); + border-bottom: 1px solid var(--border); +} + +.topbar-title { + font-size: 0.875rem; + color: var(--muted-foreground); +} + +.main-content { + flex: 1; + overflow-y: auto; + padding: var(--space-6); +} +``` + +### 6.3 页面头与网格 + +```css +.page { + max-width: 1400px; +} + +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: var(--space-6); + gap: var(--space-4); +} + +.page-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-shrink: 0; + flex-wrap: wrap; +} + +.page-title { + font-size: 1.5rem; + font-weight: 600; + letter-spacing: -0.02em; + margin: 0 0 var(--space-1); +} + +.page-desc { + font-size: 0.875rem; + color: var(--muted-foreground); + margin: 0; +} + +.stat-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.stat-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-5); +} + +.stat-card__label { + font-size: 0.875rem; + color: var(--muted-foreground); + margin-bottom: var(--space-2); +} + +.stat-card__value { + font-size: 1.75rem; + font-weight: 600; +} + +.content-grid { + display: grid; + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.content-grid--2-1 { grid-template-columns: 1.4fr 1fr; } +.content-grid--2 { grid-template-columns: 1fr 1fr; } +.content-grid--3 { grid-template-columns: repeat(3, 1fr); } +``` + +### 6.4 卡片与工具栏 + +```css +.app-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + margin-bottom: var(--space-4); +} + +.page > .app-card:last-child, +.page > .content-grid:last-child { + margin-bottom: 0; +} + +.app-card__header { + padding: var(--space-4) var(--space-5); + border-bottom: 1px solid var(--border); +} + +.app-card__title { + font-size: 0.9375rem; + font-weight: 600; + margin: 0; +} + +.app-card__body--padded { padding: var(--space-5); } + +.card-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-4) var(--space-5) 0; + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.card-toolbar--desc { + align-items: flex-start; +} + +.card-pager { + padding: var(--space-4) var(--space-5); + display: flex; + justify-content: flex-end; +} + +.card-footer-hint { + padding: 0 var(--space-5) var(--space-3); + margin: 0; +} + +.card-footer-hint + .card-pager { + padding-top: var(--space-3); +} + +.card-inset-block { + margin: 0 var(--space-5) var(--space-4); + padding: var(--space-3); + background: var(--muted); + border-radius: var(--radius); + font-size: 0.875rem; +} + +.tabs-bar { + padding: 0 var(--space-5); + border-bottom: 1px solid var(--border); +} + +.tabs-bar .el-tabs__header { margin-bottom: 0; } + +.page-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.inline-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-wrap: wrap; +} + +.card-header-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-4); +} +``` + +### 6.5 表单、间距工具类 + +```css +.form-hint { + margin-top: 6px; + font-size: 0.75rem; + color: var(--muted-foreground); +} + +.form-hint--flush { margin-top: 0; } + +.u-mt-3 { margin-top: var(--space-3); } +.u-mt-4 { margin-top: var(--space-4); } +.u-mb-3 { margin-bottom: var(--space-3); } +.u-mb-4 { margin-bottom: var(--space-4); } +.u-mb-6 { margin-bottom: var(--space-6); } +.text-center { text-align: center; } +.w-full { width: 100%; } + +code.inline-code { + font-size: 0.75rem; + padding: 0 var(--space-1); + background: var(--muted); + border-radius: var(--radius); +} + +.section-title { + font-size: 0.875rem; + font-weight: 600; + margin-bottom: var(--space-4); +} + +.section-title:not(:first-child) { margin-top: var(--space-6); } + +.el-form .el-select { width: 100%; } +``` + +### 6.6 登录页 + +```css +.login-page { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: var(--background); + padding: var(--space-6); +} + +.login-wrap { max-width: 400px; width: 100%; text-align: center; } + +.login-brand-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: var(--primary); + color: var(--primary-foreground); + display: inline-flex; + align-items: center; + justify-content: center; + margin-bottom: var(--space-4); +} + +.login-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-8); + margin-top: var(--space-6); + text-align: left; +} +``` + +### 6.7 表格 + +```css +.app-card .el-table { + --el-table-header-bg-color: var(--muted); + font-size: 0.875rem; +} + +.app-card .el-table--small .el-table__cell { + padding: var(--space-2) var(--space-3); +} + +.app-card .el-table--small th.el-table__cell { + font-size: 0.75rem; + font-weight: 600; + color: var(--muted-foreground); +} + +.app-card .el-table--small td.el-table__cell { + color: var(--el-text-color-regular); +} + +.app-card .el-table--small .el-table__row { + height: 40px; +} + +.app-card .el-table .el-button.is-link { + padding: 0; + height: auto; +} + +.app-card .el-table .cell { + line-height: 1.4; +} + +.table-scroll--sm { max-height: 320px; } +.table-scroll--md { max-height: 360px; } +.table-scroll--lg { max-height: 480px; } + +.card-pager .el-pagination { + font-size: 0.875rem; +} +``` + +**表格列宽约定** + +| 列类型 | 宽度 | +|--------|------| +| 时间 | `168px` | +| 状态 / 布尔 | `80–100px` | +| 操作 | `120–160px`,`fixed="right"` | +| 主文本 | `min-width`,不设固定宽 | + +### 6.8 工具栏控件宽度 + +```css +.toolbar-select { width: 120px; } +.toolbar-select--country { width: 160px; } +.toolbar-select--wide { width: 280px; } +.toolbar-input { width: 200px; } +.toolbar-input--wide { width: 260px; } +.toolbar-input--grow { flex: 1; min-width: 200px; } +.table-cell-select { width: 100%; min-width: 200px; } + +.card-toolbar .toolbar-input--grow { + flex: 1; + min-width: 200px; +} +``` + +### 6.9 按钮规范(Element Plus 约定) + +| 场景 | 写法 | +|------|------| +| 页面主操作 | `` | +| 页头次要操作 | 默认按钮(无 type) | +| 表格行内操作 | `` | +| 表格行内删除 | `` | +| 顶栏退出 | `` | +| 登录提交 | `` | +| 加载中 | `:loading="true"`,禁止重复点击 | + +### 6.10 弹框与抽屉 + +| 类型 | 宽度 | 属性 | +|------|------|------| +| 简单 CRUD | `480–520px` | `destroy-on-close` | +| 导入/中等表单 | `560–640px` | 同上 | +| 复杂列表弹窗 | `720px` | 同上 | +| 二级编辑 | 抽屉 `50%` | — | + +**底部按钮顺序**:取消(默认)在左,确认(`type="primary"`)在右。 + +### 6.11 标签(Tag) + +统一 `size="small"`: + +| 语义 | type | +|------|------| +| 启用 / 成功 / 存活 | `success` | +| 禁用 / 中性 | `info` | +| 失败 / 错误 | `danger` | +| 警告 / 未就绪 | `warning` | +| 可选项高亮 | `primary` | + +### 6.12 状态色与辅助块 + +```css +.status-good { color: #047857; } +.status-warn { color: #b45309; } +.status-bad { color: #dc2626; } +.status-muted { color: var(--muted-foreground); } + +.kv-block p { + margin: 0 0 var(--space-2); +} + +.kv-block p:last-child { + margin-bottom: 0; +} + +.kv-block .label { + display: inline-block; + width: 5rem; + color: var(--muted-foreground); +} + +.kv-block code { + font-size: 0.8125rem; +} + +.cell-stack { + display: flex; + flex-direction: column; + gap: var(--space-2); + width: 100%; +} + +.meta-list { + margin: 0; + padding: 0; + list-style: none; + font-size: 0.8125rem; + color: var(--muted-foreground); +} + +.meta-list li { + display: flex; + justify-content: space-between; + gap: var(--space-3); + padding: var(--space-1) 0; +} + +.meta-list__mono { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; +} + +.meta-list__ok { color: var(--el-color-success); } +.meta-list__warn { color: var(--el-color-warning); } + +.chart-box { + height: 280px; +} +``` + +### 6.13 滚动条与响应式 + +```css +.custom-scrollbar { + scrollbar-width: thin; + scrollbar-color: #e4e4e7 transparent; +} + +.custom-scrollbar::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #e4e4e7; + border-radius: 3px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: transparent; +} + +@media (max-width: 1024px) { + .stat-grid { grid-template-columns: repeat(2, 1fr); } + .content-grid--2-1, + .content-grid--2, + .content-grid--3 { grid-template-columns: 1fr; } +} + +@media (max-width: 640px) { + .stat-grid { grid-template-columns: 1fr; } + .main-content { padding: var(--space-4); } + .page-header { flex-direction: column; } +} +``` + +### 6.14 全局工具类速查 + +| 类名 | 用途 | +|------|------| +| `.card-toolbar` | 卡片内筛选行 | +| `.card-pager` | 卡片内分页(右对齐) | +| `.card-header-row` | 卡片头标题 + 右侧操作 | +| `.form-hint` | 表单项下方说明 | +| `.section-title` | 长表单分组标题 | +| `.page-toolbar` | 页内独立工具条 | +| `.tabs-bar` | 卡片内 Tab 容器 | +| `.toolbar-select` / `.toolbar-input` | 工具栏控件宽度 | +| `.table-scroll--sm/md/lg` | 表格最大高度 | +| `.w-full` | 宽度 100% | +| `.u-mb-4` / `.u-mt-3` 等 | 标准外边距 | +| `.status-good` / `.status-warn` / `.status-bad` | 行内数值/状态语义色 | +| `.kv-block` | 键值对结果展示(常配合 `.card-inset-block`) | +| `.cell-stack` | 表格单元格内纵向堆叠 | +| `.meta-list` | 元数据清单列表 | +| `.custom-scrollbar` | 细滚动条(Firefox + WebKit) | + +### 6.15 Element Plus 适配说明 + +以下组件**依靠 EP 默认样式 + `:root` 变量**即可,禁止重复覆盖(除非本节另有说明): + +| 组件 | 使用约定 | 自定义 CSS | +|------|----------|------------| +| `el-button` | 主操作 `type="primary"`;行内 `size="small" link` | 无(颜色来自 `--el-color-primary*`) | +| `el-input` / `el-select` | 表单内 select 宽度 `100%` | 仅 `.el-form .el-select { width: 100% }` | +| `el-dialog` | `destroy-on-close`;宽度见 §6.10 | 无 | +| `el-drawer` | 二级编辑 `size="50%"` | 无 | +| `el-tabs` | 放在 `.tabs-bar` 内 | 仅 `.tabs-bar .el-tabs__header { margin-bottom: 0 }`;激活色来自 `--el-color-primary` | +| `el-pagination` | 放在 `.card-pager` 内 | 仅 `font-size: 0.875rem` | +| `el-tag` | 统一 `size="small"` | 语义色来自 `--el-color-success` 等 | +| `el-message` / `el-message-box` | 操作反馈 | 无 | +| `el-form` | `label-width` 见 §3.4 | 无 | + +**Tabs 推荐结构:** + +```vue + +
+ + + + +
+ +
+``` + +**Dialog 推荐结构:** + +```vue + + + + +``` + +### 6.16 图表规范(ECharts) + +含折线图的统计页使用 `.chart-box` 容器(高度 `280px`)。图表配置须与品牌色一致: + +| 配置项 | 值 | +|--------|-----| +| 容器 class | `chart-box`(`height: 280px`) | +| 主系列色 | `#0f7a62`(`var(--primary)`) | +| 次系列色 | `#71717a`(`var(--muted-foreground)`) | +| 第三系列及以后 | `#4da08c`、`#76b8a8`、`#a0d0c4`(primary-light 阶梯) | +| `grid` | `{ left: 40, right: 16, top: 16, bottom: 24 }` | +| 坐标轴字号 | `12`(与 `0.857rem` 接近) | +| 坐标轴颜色 | `#71717a` | +| 分割线 | `#e4e4e7` | +| 折线 | `smooth: true`;线宽 `2` | +| tooltip | `trigger: 'axis'` | +| 图例 | 顶部或底部,字号 `12` | + +```ts +chart.setOption({ + grid: { left: 40, right: 16, top: 16, bottom: 24 }, + xAxis: { + type: 'category', + data: labels, + axisLabel: { color: '#71717a', fontSize: 12 }, + axisLine: { lineStyle: { color: '#e4e4e7' } }, + }, + yAxis: { + type: 'value', + axisLabel: { color: '#71717a', fontSize: 12 }, + splitLine: { lineStyle: { color: '#e4e4e7' } }, + }, + series: [ + { name: '主指标', type: 'line', smooth: true, data: a, color: '#0f7a62' }, + { name: '次指标', type: 'line', smooth: true, data: b, color: '#71717a' }, + ], + tooltip: { trigger: 'axis' }, +}) +``` + +--- + +## 7. 交互原则 + +### 7.1 反馈与状态 + +| 原则 | 规范 | +|------|------| +| **操作反馈** | 成功/失败使用消息提示(如 `ElMessage`);破坏性操作须二次确认(如 `ElMessageBox.confirm`) | +| **加载态** | 列表 `v-loading`;按钮 `:loading`;全页加载用卡片级 loading | +| **空状态** | 表格无数据依赖 EP 默认 empty;需文案时走 i18n | +| **禁用态** | 批量任务进行中禁用与之互斥的行内操作 | +| **乐观更新** | 不做乐观更新;等 API 成功后再刷新列表 | + +### 7.2 导航与层级 + +| 原则 | 规范 | +|------|------| +| **路由即导航** | 侧栏链接与当前路由同步,激活态高亮 | +| **顶栏标题** | 显示当前一级导航名称,非重复页面 H1 | +| **页内标题** | `PageHeader` 的 `title` 为页面 H1,描述可选 | +| **退出登录** | 顶栏右侧 `text` 按钮,清除会话后跳转登录页 | + +### 7.3 表单与对话框 + +| 原则 | 规范 | +|------|------| +| **关闭销毁** | 对话框统一 `destroy-on-close`,避免脏数据残留 | +| **提交防重** | 提交按钮 `loading` 期间禁止重复提交 | +| **取消不保存** | 取消仅关闭弹层,不触发 API | +| **密码字段** | `type="password"` + `show-password` | +| **字段说明** | 用 `.form-hint`,不用 placeholder 替代说明 | + +### 7.4 列表与表格 + +| 原则 | 规范 | +|------|------| +| **主操作位置** | 新建/导入放 `PageHeader#actions`;筛选放 `.card-toolbar` | +| **行内操作** | 链接式小按钮,删除放最右 | +| **分页** | 放 `.card-pager`,右对齐 | +| **刷新** | 提供显式「刷新」按钮;除监控大屏等实时场景外,不依赖隐式自动刷新 | +| **固定列** | 操作列 `fixed="right"` | + +### 7.5 动效与过渡 + +| 原则 | 规范 | +|------|------| +| **克制动效** | 仅使用 EP 默认过渡(对话框、下拉、Message) | +| **禁止花哨动画** | 不加自定义 page transition、弹跳、视差 | +| **侧栏** | 桌面端固定展开,不用折叠动画(移动端待扩展) | + +### 7.6 无障碍与可用性 + +| 原则 | 规范 | +|------|------| +| **对比度** | 正文与背景对比度 ≥ 4.5:1 | +| **焦点** | 依赖 EP 默认 focus ring,不自行移除 | +| **点击目标** | 按钮最小高度遵循 EP(默认 32px,large 40px) | +| **错误信息** | 接口错误映射为用户可读的本地化文案(如限流、权限不足) | + +### 7.7 国际化 + +| 原则 | 规范 | +|------|------| +| **文案** | 所有可见文字走国际化方案(如 i18n),禁止硬编码用户可见字符串 | +| **时间** | 显示格式 `YYYY-MM-DD HH:mm:ss`(ISO 替换 `T` 并截断) | +| **布局弹性** | 按钮组、工具栏 `flex-wrap: wrap` 适配长文案 | + +--- + +## 8. 附录:复刻指南 + +按以下顺序实施,可在新项目中复刻本文档定义的全部视觉(Vue 3 + Element Plus 2.x)。 + +### 8.1 壳层布局完整模板 + +**DOM 层级(class 名称不可改):** + +``` +.layout +├── .sidebar.custom-scrollbar +│ ├── .sidebar-brand +│ │ ├── .brand-icon → 项目自有 Logo(20px) +│ │ └── .brand-name +│ ├── .nav-group-label(可选分组) +│ └── a.nav-item[.active] × N(含 el-icon 16px) +└── .main-area + ├── header.topbar + │ ├── .topbar-title + │ └── 顶栏操作(如 el-button text) + └── main.main-content.custom-scrollbar + └── router-view → 各页面 .page +``` + +```vue + + + + +``` + +### 8.2 登录页完整模板 + +```vue + + + + +``` + +### 8.3 公共组件完整源码 + +```vue + + + + +``` + +```vue + + + + +``` + +```vue + + + + +``` + +品牌 Logo 由各项目自行提供,放入 `.brand-icon`(20px)与 `.login-brand-icon`(24px)容器即可;须使用 `currentColor` 或适配主色底上的 `--primary-foreground`。 + +### 8.4 标准页面模板 + +```vue + +``` + +### 8.5 带 Tab 的列表页 + +```vue + +
+ + + + +
+
+ +
+
+``` + +### 8.6 新页面 Checklist + +1. 将 §8.9 复制为项目全局样式文件,按 §6.0 顺序在 `main.ts` 中引入 +2. 复制 §8.1 壳层布局、§8.3 公共组件(文件名自定) +3. 页面根节点 `
` +4. `PageHeader`(标题 + 描述 + actions) +5. 主内容 `AppCard`;表单页加 `padded` +6. 列表筛选用 `.card-toolbar`,分页用 `.card-pager` +7. 间距与颜色仅使用 CSS 变量与全局类 +8. 在主布局中注册导航项与图标(§5.3) + +### 8.7 反模式 + +| 不要 | 应该 | +|------|------| +| 深色侧栏 | 浅色半透明侧栏 | +| 页面内裸 `el-card` 作主容器 | `AppCard` | +| 无标题直接上表格 | 先 `PageHeader` | +| 硬编码色值 | CSS 变量 | +| 重阴影 | 细边框 | +| 每页自定义 `.toolbar` / `.pager` | `.card-toolbar` / `.card-pager` | +| 表单卡片不加 `padded` | `AppCard padded` | +| `style="margin-top: 12px"` | `.u-mt-3` 等工具类 | +| 非 8px 倍数的随意间距 | 间距 Token | +| 在 EP 样式之前引入全局样式 | 先 `element-plus/dist/index.css`,再引入 §8.9 全局样式 | + +### 8.8 推荐目录结构(示例) + +``` +styles/global.css ← 由本文档 §8.9 复制生成,路径与文件名自定 +components/PageHeader.vue +components/StatCard.vue +components/AppCard.vue +layouts/MainLayout.vue ← 见 §8.1,文件名自定 +views/Login.vue ← 见 §8.2,文件名自定 +``` + +样式变更时,须同时更新本文档 **§6.1–6.14** 与 **§8.9** 两处 CSS,保持内容一致。 + +### 8.9 完整全局样式(一键复制) + +以下为**设计规范定义的完整全局 CSS**,直接复制到项目全局样式文件即可(§6.1–6.14 为分模块对照版,内容须与本节一致)。 + +```css +:root { + --background: #f4f4f5; + --foreground: #18181b; + --card: #ffffff; + --card-foreground: #18181b; + --primary: #0f7a62; + --primary-hover: #0d6b56; + --primary-foreground: #fafafa; + --muted: #f4f4f5; + --muted-foreground: #71717a; + --border: #e4e4e7; + --input: #e4e4e7; + --destructive: #dc2626; + --success: #047857; + --warning: #b45309; + --danger: #dc2626; + --info: #a1a1aa; + --sidebar: rgba(250, 250, 250, 0.85); + --sidebar-foreground: #18181b; + --sidebar-accent: #f4f4f5; + --sidebar-border: #e4e4e7; + --sidebar-width: 15rem; + --radius: 0.5rem; + --space-1: 4px; + --space-2: 8px; + --space-3: 12px; + --space-4: 16px; + --space-5: 20px; + --space-6: 24px; + --space-8: 32px; + + --el-color-primary: #0f7a62; + --el-color-primary-light-3: #4da08c; + --el-color-primary-light-5: #76b8a8; + --el-color-primary-light-7: #a0d0c4; + --el-color-primary-light-8: #b8dcd2; + --el-color-primary-light-9: #d0e8e1; + --el-color-primary-dark-2: #0c624e; + --el-color-success: #047857; + --el-color-warning: #b45309; + --el-color-danger: #dc2626; + --el-color-info: #a1a1aa; + --el-border-radius-base: 0.5rem; + --el-border-color: #e4e4e7; + --el-bg-color-page: #f4f4f5; + --el-text-color-primary: #18181b; + --el-text-color-regular: #3f3f46; + --el-text-color-secondary: #71717a; + --el-font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; +} + +* { box-sizing: border-box; } + +html, body, #app { + margin: 0; + padding: 0; + height: 100%; + font-size: 14px; + font-family: var(--el-font-family); + background: var(--background); + color: var(--foreground); +} + +.layout { + display: flex; + height: 100vh; +} + +.sidebar { + width: var(--sidebar-width); + flex-shrink: 0; + background: var(--sidebar); + border-right: 1px solid var(--sidebar-border); + backdrop-filter: blur(8px); + display: flex; + flex-direction: column; + overflow-y: auto; +} + +.sidebar-brand { + display: flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-5) var(--space-4); +} + +.brand-icon { + width: 32px; + height: 32px; + border-radius: var(--radius); + background: var(--primary); + color: var(--primary-foreground); + display: flex; + align-items: center; + justify-content: center; +} + +.brand-name { + font-size: 1.125rem; + font-weight: 600; +} + +.nav-group-label { + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.04em; + color: var(--muted-foreground); + padding: var(--space-4) var(--space-4) var(--space-2); +} + +.nav-item { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-2) var(--space-3); + margin: 0 var(--space-2); + border-radius: var(--radius); + color: var(--muted-foreground); + text-decoration: none; + font-size: 0.875rem; + font-weight: 500; +} + +.nav-item:hover { background: var(--sidebar-accent); } + +.nav-item.active { + background: var(--sidebar-accent); + color: var(--primary); + font-weight: 600; +} + +.main-area { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; +} + +.topbar { + height: 52px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 var(--space-6); + background: var(--card); + border-bottom: 1px solid var(--border); +} + +.topbar-title { + font-size: 0.875rem; + color: var(--muted-foreground); +} + +.main-content { + flex: 1; + overflow-y: auto; + padding: var(--space-6); +} + +.page { + max-width: 1400px; +} + +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: var(--space-6); + gap: var(--space-4); +} + +.page-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-shrink: 0; + flex-wrap: wrap; +} + +.page-title { + font-size: 1.5rem; + font-weight: 600; + letter-spacing: -0.02em; + margin: 0 0 var(--space-1); +} + +.page-desc { + font-size: 0.875rem; + color: var(--muted-foreground); + margin: 0; +} + +.stat-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.stat-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-5); +} + +.stat-card__label { + font-size: 0.875rem; + color: var(--muted-foreground); + margin-bottom: var(--space-2); +} + +.stat-card__value { + font-size: 1.75rem; + font-weight: 600; +} + +.app-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + margin-bottom: var(--space-4); +} + +.page > .app-card:last-child, +.page > .content-grid:last-child { + margin-bottom: 0; +} + +.app-card__header { + padding: var(--space-4) var(--space-5); + border-bottom: 1px solid var(--border); +} + +.app-card__title { + font-size: 0.9375rem; + font-weight: 600; + margin: 0; +} + +.app-card__body--padded { padding: var(--space-5); } + +.content-grid { + display: grid; + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.content-grid--2-1 { grid-template-columns: 1.4fr 1fr; } +.content-grid--2 { grid-template-columns: 1fr 1fr; } +.content-grid--3 { grid-template-columns: repeat(3, 1fr); } + +.card-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-4) var(--space-5) 0; + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.card-toolbar--desc { + align-items: flex-start; +} + +.card-pager { + padding: var(--space-4) var(--space-5); + display: flex; + justify-content: flex-end; +} + +.card-footer-hint { + padding: 0 var(--space-5) var(--space-3); + margin: 0; +} + +.card-footer-hint + .card-pager { + padding-top: var(--space-3); +} + +.card-inset-block { + margin: 0 var(--space-5) var(--space-4); + padding: var(--space-3); + background: var(--muted); + border-radius: var(--radius); + font-size: 0.875rem; +} + +.tabs-bar { + padding: 0 var(--space-5); + border-bottom: 1px solid var(--border); +} + +.tabs-bar .el-tabs__header { margin-bottom: 0; } + +.page-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.inline-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-wrap: wrap; +} + +.card-header-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-4); +} + +.form-hint { + margin-top: 6px; + font-size: 0.75rem; + color: var(--muted-foreground); +} + +.form-hint--flush { margin-top: 0; } + +.u-mt-3 { margin-top: var(--space-3); } +.u-mt-4 { margin-top: var(--space-4); } +.u-mb-3 { margin-bottom: var(--space-3); } +.u-mb-4 { margin-bottom: var(--space-4); } +.u-mb-6 { margin-bottom: var(--space-6); } +.text-center { text-align: center; } +.w-full { width: 100%; } + +code.inline-code { + font-size: 0.75rem; + padding: 0 var(--space-1); + background: var(--muted); + border-radius: var(--radius); +} + +.section-title { + font-size: 0.875rem; + font-weight: 600; + margin-bottom: var(--space-4); +} + +.section-title:not(:first-child) { margin-top: var(--space-6); } + +.login-page { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: var(--background); + padding: var(--space-6); +} + +.login-wrap { max-width: 400px; width: 100%; text-align: center; } + +.login-brand-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: var(--primary); + color: var(--primary-foreground); + display: inline-flex; + align-items: center; + justify-content: center; + margin-bottom: var(--space-4); +} + +.login-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-8); + margin-top: var(--space-6); + text-align: left; +} + +.status-good { color: #047857; } +.status-warn { color: #b45309; } +.status-bad { color: #dc2626; } +.status-muted { color: var(--muted-foreground); } + +.toolbar-select { width: 120px; } +.toolbar-select--country { width: 160px; } +.toolbar-select--wide { width: 280px; } +.toolbar-input { width: 200px; } +.toolbar-input--wide { width: 260px; } +.toolbar-input--grow { flex: 1; min-width: 200px; } +.table-cell-select { width: 100%; min-width: 200px; } + +.el-form .el-select { width: 100%; } + +.app-card .el-table { + --el-table-header-bg-color: var(--muted); + font-size: 0.875rem; +} + +.app-card .el-table--small .el-table__cell { + padding: var(--space-2) var(--space-3); +} + +.app-card .el-table--small th.el-table__cell { + font-size: 0.75rem; + font-weight: 600; + color: var(--muted-foreground); +} + +.app-card .el-table--small td.el-table__cell { + color: var(--el-text-color-regular); +} + +.app-card .el-table--small .el-table__row { + height: 40px; +} + +.app-card .el-table .el-button.is-link { + padding: 0; + height: auto; +} + +.app-card .el-table .cell { + line-height: 1.4; +} + +.table-scroll--sm { max-height: 320px; } +.table-scroll--md { max-height: 360px; } +.table-scroll--lg { max-height: 480px; } + +.card-toolbar .toolbar-input--grow { + flex: 1; + min-width: 200px; +} + +.card-pager .el-pagination { + font-size: 0.875rem; +} + +.kv-block p { + margin: 0 0 var(--space-2); +} + +.kv-block p:last-child { + margin-bottom: 0; +} + +.kv-block .label { + display: inline-block; + width: 5rem; + color: var(--muted-foreground); +} + +.kv-block code { + font-size: 0.8125rem; +} + +.cell-stack { + display: flex; + flex-direction: column; + gap: var(--space-2); + width: 100%; +} + +.meta-list { + margin: 0; + padding: 0; + list-style: none; + font-size: 0.8125rem; + color: var(--muted-foreground); +} + +.meta-list li { + display: flex; + justify-content: space-between; + gap: var(--space-3); + padding: var(--space-1) 0; +} + +.meta-list__mono { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; +} + +.meta-list__ok { color: var(--el-color-success); } +.meta-list__warn { color: var(--el-color-warning); } + +.chart-box { + height: 280px; +} + +.custom-scrollbar { + scrollbar-width: thin; + scrollbar-color: #e4e4e7 transparent; +} + +.custom-scrollbar::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #e4e4e7; + border-radius: 3px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: transparent; +} + +@media (max-width: 1024px) { + .stat-grid { grid-template-columns: repeat(2, 1fr); } + .content-grid--2-1, + .content-grid--2, + .content-grid--3 { grid-template-columns: 1fr; } +} + +@media (max-width: 640px) { + .stat-grid { grid-template-columns: 1fr; } + .main-content { padding: var(--space-4); } + .page-header { flex-direction: column; } +} +``` + +--- + +*浅色后台管理系统 UI 设计规范* diff --git a/docs/image/代理节点.png b/docs/image/代理节点.png new file mode 100644 index 0000000000000000000000000000000000000000..4472ba860d4a217022ec96dd2b627b85634959f4 GIT binary patch literal 289981 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

jo<)1$O7fF}e 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�j=qMfrQ|N14sPO38XjiM$kh9Jlok%kdwr#pKP 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 d=15mgvBHjO_AZvLahx(B0kL-3{~I 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%0DJz+C~SwCU3yt0cOCO8SFIeq169T-sHC9eN~w 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%0ARgA-mwNI1*^>!LNp2n<3o|pB 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

c-V#U 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

    IL`nQBkzir%v&4XkEQ2 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

    O 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 z ztwn{YQfECto%$SZo7i}eo_-v|FA^jn^Dn184U%uwNFz-aP0g^@^vm${@Gd68{1))^!L2Z3+u4KB6PDt|Wzy?Lg|Dv8f^OlW$%)!Q1 zQ3&Efi$2cgpxhUY1x z#6uXZG*4!&8LX|8LpAujIR|m4OiJN`cS%&R!J5^UzFzF`8CohITzXscex!op(}(E* zx<~i{L4$bUzyVH2yh}U%@@NGO2@2e*-~m$K*vAypKe3XTeE8G~wZ%QJ9%Zp^@RV3t zSbRukQThh!(E``Fb~V4s$yr_dy^fS@5Rzr2dywmWio&XMKis^Rnv__ZEBPtIZxq4k z1%xgT*1b6e1V-k@HREMoShMV>6Si#k%tfLZ>@KyCQ1T1>n_mlh{a?Q(xd+$v&kR~% z^j`4hP0Hr(-L!)Bjg5_+Z)_kxO%xPB;OWJeD$2?~;Ftm11LA9ow&*)|RzT2BRj0ps zOO80egxMylhse)I2*Hsi27V3T zW+p2}Cd}05U0=Ujya4#@0nc6(N=HUM4bC(&{%;Xd<^tPja*CGp%PtLZPCPzdP_zT1 zi9hFmI1UT-P=AtL`N!@^VT)*DASr8Pp}p88(>VtAA1^cHft=CsMpRBsiyG`P^t+&Mg{i&-{uM(ftOo~92dYN-?l9#_>cIj(74uSZodrC z?nnRExQ*6^g0y}#4d1{n#N1VbvCd_4_s2?(&08kbl?CxLd`-J)p4xyaGw4YV zNmpVl5EamU^Kx^)wnEqU^4%a0W`UFMy%e-QNQ21H(_bMbB7o=)O)MLIH63?JZgg_?2X8H-)(90{(Ittj+~X0MIFn{R?gt zp_2q6K;pS#?+@(?$;nXz7Z8(4$g$@iFkNa%8~l<^={L|md^%Dj9qNo*)5Gw7dCuu7 z5tDgk(|;2i&}aDJz6*c)l;l=xugOQN7JqJz)IiI+T%=muopEJPkSvrLK_T3$*v4OG z)upN>Ya4v@X4Vnea{IIZWB{$k;Q~*=vU`R!H*Y$KIpeIJLb})8V?o)lw)$Y_&YcqP zq;6A^^o~g1!kl5PuGj6p@DuwD1PM9Q9m4z19NMnBdGp6R-o>#Q89gm^8ST47_V1$J zzsq62ba_drhGSbr94FWIc4hJn6ch=L0BNsDn<81o^&*xVmn%f zJ^uK?O$2X$f3n@X<3bU%8F+|{@MEU)5FPTFcW*Ulh+F#Jg9;XTG|cuiW@fY)ovG4@ zyC0O(e`{Fa0qu+YLz4sCeLJ2^JGM4bA!nZV_oSv+&3+c^e)~9)yL3m--bk zcFJ{e(f-3`2g#KrHbJHs0uFs2;wL;?QTDRCl4p~ElM%xwruOect7p= zb7f1jn?H+YXCDRzQWDUq8~)be3*$*o=}%5JF*F&Lwa!aQ5@G(TVQQ*{KWE=_e=gCxAS&_4j(@^cjVZ@g5()G%-^Z~^O(2poshit zUMr>U?i_s!KR9|O3t0#vH6a; z%lrm{U-`3RCg;@17@21c_Wd^J<>A@6XAd%sj&O4)R|JQIRDOJ0;K)Ba*`+>qQvSTI zuCB51Mf|$B63AAU3#A9=N=d2ix%)xPm{69AyU~Tj=p7QtPD?w1iv+mWh93f<(NWqs zTZ?bK4ICiC3`)!l^PSz!e2@G;f4T7jVg!S3)06R{{Vm+|Cqb@hX{8!&chKng z?&-g=Tku#;rrx^3*jQTzJTFR0t{{I|$`vR z?)#)%6Tng{Ms`pAa1{2fLIzJd}+M(5vW#HG$YDKNtwnRY@Kq!O7NS6pd zK~_=mq{kX1p7c9UXjOu($%BG|FsRWt-hR9@*lB)3i~v70#At2a-0l6)6=4|4=2WWh zu|x5xPe%9myAaBZEnZ%kgMabbm2B;ds(Q8$uOB_Xpfu(q||#tHYB`RztkH8nJ-Qdwc82WrbM0){{H3z8QGXEqQ{o{Yo{+%J&^ zZ*bom`(!OG6DWjUXclpE=TtR;ucq?z4sKtyWOemRkncd4Ji^O6fP%!(5$qgTwQck)_oIQOu19^1C;9SMWxaGL z&AUtc0)pE&5vct@U-M-Yf3vzYOr_WNq4^fI-{?RN92|A*Secm@kk`RY7gMc&wD_$E zI>qR*LX?I9b!P&<*VS4jj%0EpyCq!oI(5(|HYJ3KVvI;e$hX$jR9_jM+DN$Js23C- zE^hK=cf&^m#g3E9uM-lk5pfUHd-Q*j<=$Id9_DvXH#_Grj;#n{OXSgE%~jT|^Tac(-ltKJGNr26HRCr3wtn zYHGGK-!t!S3&5AB#rm_cmq_4Y+zP%9fl}^2`cq~J(N|o{XU{!4SYkiUP77ts<7X?>1R{5va_8$Tf+se= zG>(%+68#lbRkD_^e0+|Yc^hk=)(gw9-bH!%FH{=R)_zcd1+P7@ zmw+JCl9C4zxz_QBp@8H0Ileio_E$-^!xxxJ6?J>46FNKNWuCz7hH|GDTOB!eIY`pm z`{CWX!Lu&&yn;gf30Bsaji(o;bU)EA{P;S6aF=WZ2Zw%ieN3~DaO-X0y?aE$4LiH% z8TcX;Naj0K}G_GZ`;T+$Z9e2)Q%rOjUxT1yt6Zq&DqD_e_^(p zhkSd=QH+W8iX2#}tfahlN)u0YzIx|(V!bsxF~iG?wqrX%OY5n&*3(?mSXP5+gkg5P zHlz2+YiMX-*NfKSt823LYi=@944>R~h@U^EFX6ey7?H{T=;G3^$_I9D zby~pI)s`7Vr158x1mM1rfTY2hc`NupokUECjLVwq=-@_|*^zS_Z^CA3*Dk+XZz%(7 zNurk|ml`?(YXM$-&-fjBF89ae=Mi_t4I{Nx)Kr*B>^ zx&Ai$=Dp2&1&etviN%euP$LRg-LM4RXQpWnZKmJsx*uCA@2 zVXJ3%_cGm1-pkeU@2?pf%bzvD1-7!{ZIJGHBL)Yn(3-)X5{6R_69*ckMXfh)@XX3m zDROYwV-?;loDd&xWo5O8u=;xeY{8v7cHq~(DK)B;U~^;Sxbf#I$+ZH?{rkJqBh_&7 zMU-R!TCA@eCVV=VV;OD{BT;M^keSl2sjeGinf$DFoA7bdM?Px&HWTph7AHe zJsAPLYg;|J(uT$)|1Eyy-+yrr4Cv)qTWusD@sy2F)zENzmT(%C$IJ;1j^xLTTxu7t zU2}6gY-_7V8zg!(RnnhTJ3uatLy2X*B$#t>MM>(s;`s36$gZo6tOyOCX-v$JTwmFD z_gzYAYDZ}w|DpbKs;V}I-_^LbHGYYbV2iIq#fgN3l!OE=c+|J)iQ=xDnb3Y65HRga zrLdu_+$hbjra9{50$5;xNtTx;gNnyNxefeOhAitEi%kygXL3bVTk8{TkJQTL*21#xQ zfsfBtZWsxjhR<&4yuBsi<8k8F4`6hHOOJUj=XrCfd6S=2#8`4{FgJQd%VTY2i`?^D zYb%Eh4B~Z*-hP^9^H{m*Wmx4G;322)hcH*U6MRUTjyjp2nwGYG^Ly+Iki`623c(&8 zxH2hp?AY(J+u|Z3RvY?zPENtm8gB3I>!iT%ftKdx2;pI}_LIwO0w4CE3YzT^6cMp; zm>Qnw&V=<{vzv&k`ydSebacZ|g!=f??DV>vKlMD$>i%xp*ZSpw=*H`w9#z!SBO|D) zs_N1BacQtm3UR{!?wOK2=p~0%Ai( zU^vmfFxE0)p|q`n-^TU7TmWGf{>-)I{AN#j-Jazl317eQX-4+J#7nu9O4m0Lgy?G9 z+qV-01?g6rsN9^?r{Wx^3lh#uZOPBcd2-3vTi^I16Pt=EOLWD#3yOgncgRy zJw#6GRw`ky@M~sf(?)B{&e#6u<5BAQmk0)5Ods2HCSr!s|G-f@00?p~1Hml_S>xbM zFUix@&=5YdU)Xupn}T)hI+uZ9cT;6$Zza8#wZCQV=lW)C;YQrfcX$GD>CnVE`+W{tPBa_A9AEz5f;UtlR_<|h- z7SEtQNFw7Z{2H0&D#qo37WYZ zW6d4d!9j3q}u3H6B-x@x2+ECoFq|4>A(7h`i0n( zlv^FyA+GK?xw32$yV|1nnjh52CYp0yy!>{?Dx&*h4%C z&(qR&5}I4ebJDzH<;zvLeV0d*Z=-(v^68VGuk%#DvR(z}sZ)1c)d46=X}qGuVp15J zQw}#kvJJ)(6m)cq`}dzRtWv5KJFcv%s#EG-`%-&XmDs-P*ZEU#lR|&@Y&m^^_U6Y% z;V1Iv?`8mMBRtkHx z210$V1q~_=!boenf}P#xAdV;SJm2E^^eGLYK0R_@ZtlW#U(kJD-|Xf|HJEh6P(9^m zut{B9RMZ1mU88{td%?gc*+5u^=Li?*L^sz3KD`ii!dpV)qA`jMkf#w0@;DmxN?-*t zQa-ja2%9g?jo&6bj)>sPJs)kEd8K%(CwM1x2S)tnZI9oF1;_3kJ6u+m?QKoEQeM5< z-k1W{shXMq?_07GxAWkw?J#jjWU)O<4Usy5-QJHL&ErUDZWK)H1D&{KC$iP_CYgZWh{>qAqZCkgh{5%S|L4vg?;g*vXxqsdU z!q&TBu&luD{I8bd!+RFlN5rFl0Tc=E-#o1hVEy!ohjyxuY#UmI(QkrtWw$?U*dPjg zjhW+S#9(*fF5NfB+dDgj{%3)D=;FKs*``2;(XYHax8|~W#s1m!hNc(myVM0sw-EO4 zZ`M1O)T<~Z^#Q!J`(y7PyW^iqk}9*Y*r7>Dw|9kr12i=XQtm64+V(LaIXUQlbNxXS z7nFByOkN^T-LM_3wkI4Avw51GZ6ihVg2ZbiSmxa?aj&VaUOvsok<5qv03B3Lb~Z#( z5w@-{auIRK^DABV0dZsN=FNNQ=X1V4jf?w6du&L4UTRZI7R-_L0F$(3E_}0bx^kt< zVS1jLd+%ZMrX+iC0RvY9z2dghgdJh)HwO7#HAtG`JJ+EYJ&do63_tpK-`Y-qh=yH( z;oyl4r&U!2!)i3t)Bq>k_Rxz>=*@lj@H}n4dP_?SrV1MfpZ3*r!Vd;wN;Tp12=AJ~ zC;QYQBK#ll$t6iMXR_G~Pu4~*FKg>_)Dt{+2FqQzU}jzBugv+-&+kEL=7g^qS^`rEf-Ftg}#_&v|7_*UrTwf6-85qLZMvnm)xo< zGRyrRJ@N_g07Q&Pa|Bcf9!pGqaV_hqexJL#ZVlO^KGS7D9Ph4HeY*Dg&#^A0qN&-J zTjK&78&`LutNn^x{lG0Ab#KTsZE#JcI5smg14ekHklBeCJz6?CcG?>sz8*l*v0mv~ zSaVCJE+PjpOAUN{kxRASt^PUU`sUeNlmI)JU(6l#*|+XEaE?5z2BW4fl)KGQkc@hk z{yOw$gPe^*iE<^!So{++q-f{TUh^$in3-p5^RUP0X)7yp76!AK)i*RG@kPNp?(C)( zRW!z*gzZ(oZF6Hq4PoY@&Zj2OMsxqHnU6Xup?;cv3 z>N@`V7Auq)f}cMB{8iWZYkDIgMo(@`+qUp+j5{5(SpQVdV+gy22MdUh>%!R@!m&kh z7uPNb5f2^`)(~J0zk0v6^{Kea)~E}tsiyk+`e=p3UGfy9F4woVHa0X^FI#G;t5->$ zNaMS&j<~=RCpyvn0n@NM5w%&s9<4Z!u;91HiSWrZZK?Ktc9AmuG*Op$Ud{xp2 zQrm>aSl>ZmT_>k4PPB<7kta@EB9slzq@|@vOI@amvWh2q=wxfXbeOcn*cE>g&vhvq zhVrrYvkME)P5=BhjXQ6L4K--fd;mc%DAXLcAA9-G zW6S0x>kXb{3Ol{X&oaSLx>UBjB5Cpa&D*t|C=oYr+`zEO8mDb6lRv4U<_iK?+%qAq zG3Q`sXKE^~s3@`{X~&*Dnd#|Nml0$pOF(=cpGI6{U`Pl9E$tQpnBCT<1E?y#yC-4z zhE)La<947EJ!Y-300u2u3pSyWdXhOEYn<-)7b>@`^ddF2=hZt>V@R;?yq>_C)cq}^F;*V1T&9WnQnNsHl|oU^)mu-HMVnOAvv zC`xz;@PY(<+0wm9PBukpcT-+^@b8Zies7Ji+5(MU;eD5Fk9pX9W{--71~dOv2Zu-B zRcDM+;^S98?YeVN(*3FP;__6um@Ui$qv$&QlGr1i)iBtALD&WY$~l@EODnUE`$D~M zYTN!o)-5_4H}A_>S$d(@(v;#LT`A4+ovIwqBhi zVoDmE6&D_U#7y>Fi{1DT@xspT5(b{UkqZAq1OX8d%Hle?&pk!Vgy;X;i*E6J{1|=F zOwvJ$@^`TVPmi*0IK;_${M5>soL1?-dgxUd0LZYIfXHJ%LBv`IbMLTBan|NjZ2d!D zqFfMb8@GyDBf;0-^c@4&)1j#z<*dog+xk{rb{iKgU4*UiWjIt4j-OnJuReEDtYw{b zZcbcXSC`km98K@pnafqOkIu$7oC{#wKmZ8)aCv5ln z?>?;=Rp4+1kXDS!P%tn6VWTC$s3%CJJ8krH?YPoQxz^F==4>j%^%3P?zHFu2PE@$y zzKbx~+2LMhEV=JQl!)Wh`9}EX*v9#tKmQQM5rlpaMpOqL5DqbarCJiT04bcVN<&2j zSglu66~2 z&JeBVPKt`@TBD!qvK*T^x87~Ix>t&HBDhti6rJlW9tb>#={NzJP;U)pDyb-*$8Q6a zFFZPP!A!T94os_*wY0Rc7n++0S3zmrBfY%y@15G%$}O#@v&RGlF$Rq4MxWO8<=Z#M zT3v>}!2H>mfpM3SFHz(Kts)1b%q!w0^LENPPgsO?_@+_d`_9K;Ub$ZjRu$qcsmaL- z83T+b9kSo9#6$}D`uZx7pq$W9YNU+l84t&7Np3id_<$ zB~WLI!Scb3j85ou1s`hlT^Nl3Gdo6jrFA|qSQ`BOJ0l|p2nWQSH~W?EcOfl(zA?2Y zmur!#unwUA@sevhH5=`LkxZS@tpr#1L{#eczXeI`gApA8p!px1z9B1UL=~Qy*}>g2 z&9QfH@utI8lihz0y-0FWk`HhCix)V1=?kwMx9&E@a_@u_dUU_=fm;v2*g2Z}r}kev&9m4>48+`zp*Kq?^7tQ15790>g8 zy?fE29WwY)6PQz6*g{VM5A7`kiPA<46qeX&a3oHA{VLa~et- z6pUe{IT7%Sb73R5~p82n%bZ{Q}ekY~KBcNNUXS%qxd|=le>T&e5rh z#s66?vC7^XL`ijX07eu3LMcr`->1mY(sXdEdbK1*_bs7UB0LTXqM@35Hny8A;E;!U zO#v$}JA3FeUzp|4j3TOzIXOl4+MKbX>5iL!7Rno7{ep@f;B%d95VS&3nx0> zoSFmi%Qnxo)!#_w#U=C;|Jaxwe_a`qWVzk74e=Z?k{)MHFrB&uhYceFRHWpJZfBC4 zFrkIZl6xXL$?9r(0w*tTS8>;a-G>w!XhLK3ek@475yh`L)iZw5DZA!N)ZF!ID1>L{ z)=4vsV6dY7jSY-e#Bw{~5h|ZMJLN6y5$KI#_3?bR z5%=A@(}6S>50SGUF4oSsZX$Jr*qX(yI=?4{<8hXwZiKPeI8p3(F-=K{|lXf`i|> zEJ)Z8b4-frN7r>cS!1qAl+JuBm-O}P`*eKz`$TuZ!T#mBE7z`304YpNOk9|L5adBY zx)FcRuX*l}A)cC@?VcDd4DY_VU{?EV^ei3en44r0{LV4+RZgKstFV!keQ1l1Xj*Ej z+v1O(Xoc1!Xxr6h)n*re2EkN{06We7pBAK$j~GLo*C}!J-+x?cd+hZ+J5CMSIDzU_ zF*sATWxJzeKmwa~`J7=>YwOy{qOK<&KehpjPfJ@yZHXbK$L-?ybATko==@vjH8}t5 zb(txVzCuD{bsNkqERqwAF#ZTFMl#q5Gub`0NNK=YH9_l;Yq4SPUIsZ1v7h2L-vy8> zpT+hd7_$fhAu>G{)3aw>TL}N`p(4X}!vxE6-jc>+eIH_*_iW#uV4XsVyYZAkg-+^= zm=lBi5g7;nvmMsTD=0|XkL@<=E8KT>rrTT0&NK#5d|^>E=8RkKejP1zn4j<>yu!?~ z@VMgIJ;SW0jEvmnlu00QE#STS&QNO0aqq*?=R1oYGK#-%X!z>KwBZi+X4yNJkMdB1 z+0}xc(|69oJR4(@!KtZtgELS)e_9pcp;i;})kiJ|yadeb+VFRYyZGbRD6-n?1!9$D z&969)HJ^dS-Plu@u)(^_h;VE1hYA#(^gX$3Nc;n2s`*mu*M{+Gf$P05!}#}M83Pn+ z@62NmcwRcv$Z&FAUbhCNTjq3hKzHt4sY>+Cg!*J9{!eeKbc-CA!!@5hJHgG#DVqUg zK4E6Y7j4?j!neGa9S9TTE@5H^@4`IeF_GOL_$4OL_wyI5`NAAW8)FbXPpKP$3fHU6 z8`V_jy&dcE(bP0F=r=YHs4g_?KoG&h#kF^P!5PLlKa8YAuDw6r5Dkn2H5eUXWmReM zcMNXB_HX5l!>RG{#U^$0TXu!sD119NUQDFP(n7UUOusx*JwI!vZfbhmuYBcu!&Smn zb8|t{$F?9RVYV3`Z;(Qi!L;<(&>l=f5WE-Q=Td0sb5eGNe!3x^Uap^%H;-<68v%3& znlLl{lQy=OPZ?F8$NpSX^ZRr702kNOPrI3Ct!^S)tf2usyAw_`yN?*j!hZnT?y^v4fkW%XjjH$*cyhgwH=R{IL7aK1}Aj(;T?uO3}Nmo(N6!_1#I! zUE=gBR47H3;V9ed!z|xa+}$@2F!y-&`0;jvgpD@X0(|lyeiyrOHPh6H`p$)9Xq;TXeO#^?R)1YP(ZRQi`t#CTH5tYD%*^4D zk^ZTYiG{v8Ib>l$6ebg}j43T=+JiTgeW_{>aP={$j%hE|8%rHwn!^{MF(cF$7X`tn zv_;9EIVL~Cv+%6v3eScOO_bZ0BXA}!#TMnzpa1^R- z+2XZ_{*s`z*=C~xV3D-%y)aJ58Bp)JR!L_*nB0czfe(whU9 z6l#_)$u<{#);|hpS4FZrk^7G?fY= zDoT_P4N_JmvXYUJ5oKkMl5AQsLUzcE%*^ai$xe1Q$sSqR!vDB?p7(v;_xJn#@6Ypj zK9%Bo-{0$dUFUh6$5725u{nkP4j>nC=sfcy1ol~;j3(CByA0o%Z^+Vf8o3ONU&-O_ zkbT_%cE&l=4i-Nf7yg*hreoY1Y);Nd86JEiGoJ9BaqO&3rfS0pf{VNROoULUSd$&e zMUYk<9jqDXErm^TV%x5xZ4lLBqmMMDk9C@mEM_7gB`nsU9?Q{BStAH4{iHsa%nta)W@6x`Gqo^=eHeh=A>}U_M4)$wLPCP zqkZ9Rn@LW|28o|H0DUiBW98@cXQWJ4Pp8UAT)PEqK{~kL?zxRF|A~>2bjMX%8XCO@ z8Qwcn&E+#`u|BMO$qj)_FKs<0G9sXS=%~cIzMHm@K8NzJN28PfdN<+hx6YL zn2U{zLyE(G0;-)4`dLp!`rsx7Dg#)0$YhT#vUg0ox$0REEoE}DUBqI#8yiXGxdR6e z{`91)Qz+RCC~LB(h>0L_+1&l$EC@u%hLyZOG&F>%C=CGuMo^YB?+zk2r{CvZN5{PL z0H5M{IM_4%Rf(*tXJ-BS{%b?*xpQBPtn{HhZ{EBCCxry>%;|NNIKXHia+vEOK#!VQ zM@i|b&2*%qswz;gn>TLUP*<V?NM z-pVMdsa5v}8W2OS6#nr1s}}RtNDBgdT))Z=Cm(QzpLF>uuLwzkBz5ATZiP$kBG^meRI78d?kS zZEJ@hKxU!laS{Z9j5oVnM@G1*$5)Yu!OOcfZ043UX9%%B#b9vS?_ z@%Ygrl3U2H$B2l*OIco?@_<8K@5VX$9Fvgbi9&0Px?L&u-(9o2b@eJI;Wu_>Tia#V zExmMY4^;vy4UcjyncC zyASfmHr&MjmsaL4HU`NbKvG0c9_1zib_uYF1NiYIN0e+h(GwVj9pEK1b>+bc$(uJF zYZ(?XAawXpF!Br~g~->u`y;nDPMweY^=k(ZzduyIlndPxe=ri|+CuG1_p=Rrw58V; zH!q9$hJD^w&3<>|TKJmL*LNL_RHgZ;6Pk`BQQmcFCn$HPzd5y!{KWcw*l>Eecs#Ko z7@WGhv#I%a6XQ1G+g<0N<$5Lkx`BtM`Oi(1t~m={>$}X%-yPJK@bzLo(uWtlue{#= z^i!G;H9kMBT6krmnkIAc_kSIyw?89}^x;XKIVZXLpM2&DSfgLQs1ZK~poA2rZ=<57 z!Qv}&2ze10XsY`;Bi9@@82iqu_y1xfGhzTdyz5z0vWkypQ30PKNe5g|M&wI8={63X z;v!rW>$DnczKz8I*8)2ArykN#O`|cL896yuB_t+#x+PT>BRvl^?_==VMKJGuT;%jn5J;T1;!5 zZamF9w!UU@;es|d=wN&-(Q&U%WAACXPf+F6B zQHXL}QBDpHNXAX&8aHo#b6;0Uqk^MucxWgh>Se5NV_ab~edzji>W15bnpJ@ut%Qr} z>dDa~Z9tI|5)23<-Gz5RK}Me1u|3<`OuRrvlROyd?{7b@e3FQ9NUiU3sgL(7*4e@L zyV$^|^l`$bV0XX~Ew7DQzs}ZgZ#Wfbetm4|cYz1_Y`}gyzWbi>1LZ%{dV^XUnN52h zTNv$}x^$!SI^BTo`uJtya$ZbQNn_NqC)e_hj(!*&{joJ-Gw~sI{6wtR=K4W50$jDU zbbv)R`yCIWo8f8HnmX?=J8-<^`i&cNBl59X_exrlgFUaP?2(tR>+VvPmjy8ZvH&iP zrM2n4HNR-Vk*osC{;{oT$#36g-}-m})0U8scK8)!XJ?z7E!2}Pa;=ugHqzS*rd?)l zoq42gyf3A=RXR4$=KEr3gfbGIVu(9B9O+E8|J%sn!h)~&?uQ?<--!!twnAIA#d+h? zksJvvEpyCD4tO7K`86anJK99Cr4NFVS{((ltN-ExlRVM*Wv?%RbK2- zhuPlNXWo9)zh-7Yb|H1ix+5#WB{m{WMZSsf!ntpv@P&XH*_PaWLOG+xej6&qGPeE2 zPsW_I?2x z!)E+jZ6fZnwe?vFu}v0e$exekGGr`;O7V4MA)|5 z8Ab1vcdkbW;LO&A<+}YoU9NqKSm-``wwk151_++nxI3RZ(jb&k0r_vyYcB4Ql*GM@cmg#$h(ycbHt9$nf3jz#;d4a^NCMRPKTczW1_r*A zch#3K1x`YH2>kcQ(!u{zIGcc->DSN+48epQSGww>F9UT-m?>FTb8cE#_!$ONk`Sd+ zv2gTgIU{2PhP7p$&WI@<{>4O3{F(K1ym0fI>EEb&cX%)PR1Zb_d)QjlbmrfiT3;(H zD=#eMrgl_QQW_i{cE&MfV&VYVTht}81ThfcS)bAgSfzuJ>Tj?f2F!#@^SvM|D=(sc zCfavkP|mv6(V>QE1CdM@Tq9srsb!_r*SCAJYdZ-650YuejThJS^n$`Ve`Fi;q5Qo0 zerXttoWvPiCJuSR2P|65sa|Uyc@pXx{aKeS+3i7Qz^K$0eN*vl$F1jSXx7782~oTj zC%vwvN!Wx;Wc+r#L_)BjtOjuti!-?$-j5U&)Q=8rjZ2($pG6) zqQrg7SUOxsI7lJ0+<5j6(w-TmX?uuy=B|ePtDEm($n4IWf5#BtvAJm)LMXT(b2clw2p1xL~$hn z_>icWP|3YvO$P@Nl>S>8_lu0!UwYku$YlY?67Z3qlDU3fS$s{HuV1VSyl64;52xuj<6TqtZ1LgvylFv>6+0wMrn$#sO zuI$P7eo?-bBKy|K?r_3)Xu;6ZDQ>`FTGApXtWz7k-ca$bZH_nNtJrexI@dmj-`TEYj45~d5c6>Ymb(**v89I@WlhLN__eCrDe z&ovi-6orL_zRaWwzS7Moe~{iw{d1~58oP!J7M`8mmX;74L<~e!;^5WS4H_D6xNeT^ zB7o+PQDo%gHsU7_0y5ZH5|WZMKVR{TI%5^SW+o*8$s6n0?b2gVPbc3QHl0l>v40Q` zQgv`p5X@GO0W=-M4TEAzn#Gx(>-cdY2v#LGU$Qv21%eSoqR{SN9#0#-_G&564z%N7 zuKQ~r9*b^s6o-2dDm^j+^ucDWU#~6PLVt(QgjcWL57%wv_b@T8yYOI~gcxbA{2q|^Ij5#v})}3FiL29qj7T>;2tSK zORL1R^F84ZFYnLa%hH6C1~0OT91HcCE{JG#78ZUa9IDg5cX@K?rl9zIYf#`DTl1KR z>MUN#L)R#RSB+Ao!yKQ%g>rp1>+hKno_uG@#~(lZIVq38rgrJu+b~^FqAuQ@RVSpU zpY+!dt=@w^@VZcY`#cHXl`B`YAIn^QF8P?e`qH*&edNwy`o-&>gNb{2`F!sgK%VCu zS6&S)0iVJnGfzQFIb#4vNDdV{;IJR|`-;c4d8Ti@n* z{YguU7#}I&qJ8Db7VllL*Bd^-XW#6%(mo3>JH_|cHWB8(dK02_bz`-gBy9c^)Wlu- z$sVyod)#{4UC{}M*T+2do*={Dkf%jea)Vmdun=mYjfGq?NZmq(Rbkd?V#gA01@7HIInR*+qM25n!A|R zvpj3|0zCvLyYRtfu=HX2GccO3R~PY9_p0`faiE5z;J^9?w{F>0A$Mp`u~Yav{n`~! z`MGBr4?QWqEh%X(QCeM{+3-5K;kAC7-a$$K&?nh0Dm(`qo&6AF|a-Y z%#FT;3;0{XRoC&e+ifd;FO%DivD=9w7!_q@uAGAKaIfTXL4{H=d3np}@0X~LKHuyD zSJRjn=F>x{#v9w-xBKfpk7_bhRyM_$cF|pn6boF&$>}2uzK9cfiA)AX8JQFFHjCb? zK;`44yCsX_(a!sxQq(*^KWe%S-3;Mk@v$;ajdLnh5uwmm)!-rrj<28@KzF#vfj5r9X8g-z#P5 z?4NSw&;KOvTJc|I+w1hx5cSzg&h)ZFqa4Qh8r8a|HyD+jc@tt{NC_{mj^;keyuoRN z%9mFfY$O8U7lf72{Zvsw`*;(`SOWrhgA(9I(}=L@APqG+xr+>n>-+!k)7Yx+ZrL=-2d3g2wb(Yt zDJp6$GMA@M^9N#}bn(3cNVMwI<&p8+fP&*RfzCJWmE~TT8^rr97oaq}LF62T_|1N6 zXt;z8%01i6lsUg3(a?Bj-ldTWSRWKQ6$R^-#K!~K?GDY{jQ7r+HqW9$5uK#Qbm!NC zY3KwdWYpV^#}APG0OEFyFS6=x2Q2UX8Z+K6HU%t9{ zXz35EGk4rKvasg&C`;aMWoC(&#rsxaD2D7b=y!^4l{+bJtA z#E0(|8Bs?-I=Y35vySf#OlrIG&%l?kZdhe~p))SzOuXl=tlV6jLV##f6BB)dgCl&C z6B67uZ9q2Xwg8$r>Sq6ikB?zFWDYJrs(jE>ii(P+Q}@qNFzZDOw1+DC$Q?SQYPzqQ zNnuE`s!cRn%yV(`X1!DLZ}#W51O>@?+ECuMrTa>9aeQ7AFwk~oozRy~)4%`y!OW4x zG>uyEAFRv9YVrF7u#o^EI%;F7cO|j0EX+R+^SVSmGKA=art=!0>ynCFuKSv1gm3!>$+BKq1BGK;+m%O}&GFEn{w89e@iI%Cv+CL0fj^ zJLJ*k57SdqU28TIY~MO7aBOGikbE3H3k;GFrQNxUP#qzDN~TuH$l+X0X zi>-#gDtHldAN+#dJHvR{yV{Df<3E zbm@vjt(IH8ilX|bBNPoUg87{`8#+k1?vIwc@hie48lPNrI@`3}5J}|AzQ@(tF&ph- zwzj{QOKPq-(&uJxo@K4aA6Rth2m#*9~J~ozPn!G`)mZ5!INeJRBON^poi%dJOah~uhKF%vP&uXwiV{u*c z3WJqc*^t>u{SlWtMd4D6LYoM0+})#+POl~~5rK;8pbgRZQ#flUCP<=Aepf@s=5vnp zUmxSPwWxvOg-uvmj;{gt#}9X4{gZxZjGG)_9RKu*nfTmbZk{N8PPD|y5yCRN;cMG$ z(MAC^(`~@80%M}$B}&wnTQP>h=uEx9N(`9(`kE7qDVbiWD=!FIjJ)-m2=-@%A*Aad>#Wh{TgTIRX zvFfi8DXEwv6#8HLdv=q!Ja;Ti@mVM5Nh$FD`@uxp^x+R?KX1S@^X?8T)t~M9*;&}i z2lwqK9R!!~@LI^Tz=F*9XvJ?jSUre|1FSm<1ojU71(V>7wW;7b!3QjpAeex)jWGoT z@g66@gf6i@fSzGZ7_IO<$nyI#lL{rrug6tOOC|H&|PC3M*3l(iW(d* zV7r?MWLx>i$8-1Yw_P-oxN_xV1r%wDF*7a<{_!rj*W z+-Gr)Y|GquTLxJ;my;LEshN53r#|!3?A;63&yIJeR8&;Vt8Fk*gBvB>o~kZi)N;){ zUDIiwRkAS?6?H4AsjbamtXUGE1Jyyv_@=}SDXQ`Km@SD;V@C$Y_n2u`r7_fB#4Zbv4Hdhw8O!sUQIpEbfj8 z5+zICFr?hexPIu&naR@oCZndd&{eU1Etm6E_Y#rGa{g*LkgdntB;67A@P|wiO(gFc8Ffd3+ zPHqtXWjaFo5E9#x)YNP0>YkXt3SM1;00yWxV*Y-YU*6_;6s`+=e7Si`;c{%vFy80k z`M`Z(&M_f5!Huz=nsAlRv}uAbO7QGZ%X@l4R71AF)a@sIuQs2E&l^~`V;--(M6+K# z`AB>Mjj;#0j_Ynxmv6>=Mr(6t2z$G?Np%0%PFQf>T$9C1a`A@BqW027zn=2yjlDOo zMWn_CJebkw%dR2ZdN3Lq^YHe4YvqZyK0;J`Zb@S60=MJuNG)q?Mu+thw+(gYKIXq~ z@Cx?|amwp2_phPTZhWDai$7f7$Vl6$qtYuDO*&DCA9-JDq!f1!ezdF&XOUD6t&}p)`Zo8XZ3Fqo6@Oq2V_1pD#`ll`!WaX(wPVhxiVpFnGD! z9;UVM2dyr~l<ZYBUxxVc!^I8HpTM;FSl?2HUjuQh@!Pi*((8cy(ote!cxGHj z8ZDb9IJw!7O}&%lYouzR?-s(WiFH|WFd@poAmE*qljHz3;TBsm;o|z!Ec#-5dQRno zk+RCV*%?L#{XAPr$EK_H*6}iQ+p(*^v;EfTuJ-v>#$Ky=!o`LUa*M$mrvjAb;%k?# zRzOwy7tkI(MfLdbv1biui5R#~)SEZonwp^7r6&jqc7?w>z*@2MzzC;mx8xT$%2KoL z0)G(noJ+J?Q?D5rB{j!j&MqY>xtWMDB_*~z+b6(p4V^CpDX5@hHao_EvSh70a0Wi_ zblln`A9{Mc$)CcafDv$67Vq!h3)v>ibw9HJ5I`EdXOG3>y0oqg9RyVuvT%@tS@6FQ z_q-bedk8i*dDl%JUW7JmeL#{Wv8k{B-iy*cqEX($4m68+BMfohGW@@N_&9Yhi$;B{ z)xuNqEJJwo5mn`HRms80_a_2I3&Wo4E{^RWaPE*MK*8D^UT|7Hth%i@=5WPW&!G&Br^n#lFX{5mZ3&bB<%=PeMo=!zX zWhEQI;(oYvocS`$WlC#JX8>oS#7Edz@CkKMVu^{t3K_xPUZCM87;o#?jG@CZG73fW znFK$>c*WJe(u$bAbD#t0CWQ+;h_PFkoM%P*NfFaEm`p>>VO z^bz?3c&}&Okw@8u-N288FJ{DwUvl=db_RG6gbzctJ;7Yz{=vciMRb22NtXRGn$hze zUP>Y0i`#V%EsAYU`KIsTdVr8FwD{~*!Ig0ebt4bYfX*Af*Yx%a)R2i+7NBIMnWspQ zNo>pM=LFwo=h1Pk!doXLN_D%-)fjhUt3P+ws8^BH=$~DE5y`mxSN=?_dW(*TdvDp= zyV(U*tv91kX2VQowxQ0YvCB707?%)l-)IZIU!%o6bJ9}KbIB7@)K3fA8LOu zXZ>+WxOOc%2xK!?o&?U*aC?tUfJ@^aNR@$jS^7l%Ur&Ye3u2t)}^ zwGCk(pq0<=8)RTdEdI8=`nvy5t0dPyVil)cPKYw;4(iU@y*-75z^X${kjtKmYBwje zNUF%mnfAI1ib9if(OoB&@3u$JljBx6a8~6_45Lh1l-rX|{PpJkJWeD1r}pifd9;K0 zo0YE`1#=acGLe3OlmY~SS;?I9m{FWnCnGFOc54w^(u0@Bgpl$WQhI9d!Nk~DWd9Hd zr%r8r&Sqg@c>y}_rxijmbSLFTZ?1+YCMvMbPkJ%%vM`5ma-Ton{w;?VIi-{$qP3y6l=4k) zCJ`^Ud$&(zZQ$tm4o^?d%OWDGLVP0D3ul<&7S{JG+w^JG<}Pq5UcTJN!Nkt_+xcr4 zpjMBvA7CqGm?k+m7Q)45vrol6OG_A8hlPZwE@=KSVvQ`iL!~Ol{kN;-_kJWf@zWF$ zU1*o&@{r*}zO8M1Xs9F4vUKs>`e*lkWNTDagJ;2EXaNa1cw?-jAKwvKPrU!8&i z0Y9&Ye5orHN~4Mbf~uOK}&B z;#75lKR(`?m)G1XoI(yoD06k4O89>otP_fHsEUYl1^=??SigbjdV=sxEQt&2OQlb? z`|D;3I&UnaAX1cEi!u4&B8(9iQmn(+5;5r7&u{fT_2#OZ!9<%pD@D!lFF_$8(1%M) zryh*X))v|KiRyaHenSfKA%djnB}F46h2$U#%F&ULr6rs23(lhpKTmRV*MWt>oSBnz z`plXBDg*?u6D19@h8c%CgqFLezB{vws+1nzp7B7eL=VG5c zH2;1t4mpjw-0XJSli;MxL`+^LL}uWmYfjYR(<$G}>{m5Q%XvcqXTCzeQA-l=u>@z! z5S?a_2QwZ?=qBjV6XSxd7AJ+63!r_YbX>c?V=^IF{ znHdk=*V@{a)6yDUN0e_#8U!FG&3_e^XQom7P3e#-QSd`yrkL~ibt-@aYZ(wg@%e*4z=t`^cY z;3~_BNQQOJDfiFi9;(r|FXzqzLHpEG)US3Qvaiuand3fo5s-RgH8?0ZL zVO>}cH^2+CFh6<@w}1F^vilEG`X(puc%aBa1(i8fL!>j~`fx(>-3P$DmD}=Wf?;gu zb^Z5zYXi|xAF|)Tg)$pk+f0iPxadKe8nng<8+#;hR#l%+Wc$AZAG#(#zG~l6Syt;nYp>~ z)o=q2v(V#Cdo$L3?CQR{n5TFauv4rpS!RkvAHve;(y1U_TN}>OcXFb>DkHu7X`)J9 zB8;X)!Rdb5*7j_SBJUnt8nxlQ+!VixV3#w*h$|CQ({k^FN@IKf;}Qwe^i7E)#QXT6 z;@5oZ3G^!9^15RV24#_K*ibwSe=|Pd$MISVKHy4Mh?AN+eSZz7TzhHh&A|k~mlC>c zz7p;Umi?|{-CoZ{!O61gc-Kzl&I6qu8{12_Cn7>Qn`zG2%}uA?6bQByg1cIw!!kRi zX?rH}Qh3?LE1oZF>ZApoP`?^J7Vj4UXTpD8#R!@Afx|k79k_;s=}QJ(0<(ovR|NPw zs2h;k2@h(8@@T0)e*e|yL;~3Z!_MA6#*6|Vy?3^yjY-|{Xt}zNA2s{8!Fm^VeWTr- z!O49wrlCBB@AYeEACj#mrubKIST0`0!-gH{NQ|3X0%R9PhTK&2{O8ZFtXM-@1}o)t z_RgDs@4tVp?nCgEXt`<45-weV)3~!inVAR@jJ`eZp;=iX5y$OTSzY};hK_Vvvbv^5 zT2c}sc+hC6+=)qYdhJ)piQnV9Gz7VqnAZ8Uf4f3mO?)wRR4h~EzPDO(aI&0iHeV1VU68lwOCs`kKs zLPKu**N^Na4T!koX%tB@K-)!!tHCMgPkd-$izd z7FV#!9K-+mN5T|vqpTY~Qi@ol|9)KzVcSbytdW}Vf4!g6OEg9Q{nzn37uoIqhX;N& zJQDubU)6&T`yS-N{g0QN@?G0gh(=JF!`=NKFJTJOhr6_*{H_;O5$^o=CiP!G<-0$u$F11y{`2f%pA!e&hr7Gx=^@hbjB-)v09BfuBD|2NYEX6Esru9G0h|qEMM^=jZ2NSjaB4 z{yEX#uheKD8>zoGQxS>g18~gQv){07j3A3vLU-wQ9X#24ozsytm48KCy!G>E#L~M0 zGfp)-?!1Wd#&%2*)gkh-jLghZy}ZC5x{r*;uI~LHlTT?S@}LFR5oD|@FE4;wZ-@A< zor2-v;fM@}1*%G%l-~Rn5E1Pc*DXitePIZV2GRHc%h`q75|t-}BQIEu916TnRHc9W zqOOy6O!oAnM_(!BOPq@4=jPs}U02wwW{{4kD>!ZLt~RYBVR(Y;0MKP^b+abUQ#u1 zdX7A2>E{;8`wKr>?z|nevM*n5We@gr1NZ#0h}q3N3pfD^@$%Nz*MDei%)CUF3%L-i z6%*5jX9qdJMQ0CeNm9CZH_6ysOMI})f%(~O3_#cu-x^{QIQU?WR=aP8K&6kE}~2OJbs zRB~g2e;NKs)B1ajFAcbt&ABH#Wc#>*jKZ)d{c`^~fUqfEcW-Ta zfW4*D)YLd}(QcOI@jT4HuiKKE#ij(u$3MdxP*i*u*}IcD^BvDrM|PIfs$X8gx2fht zvdB97dG^Kn=p&-KdU|oE-Wk9kJv#aUF-5)C4aAMUN?#cKXXw}mj(F79cbX`;i;fM) zGg#c4{;qZVb{}YM)xjLcM`u!0@4+`Sj{$v&kWl~E@bqv2vf@=UD-fm?%a`#aqeePD z`ktszv$5F7%r!>}I;8Z?IxmY4;4R=26^)(Qe8%Ed34-}JS`D192k(uthGG+S%JEic zNRP3yY8BFE-YyL)^Bm?i>v9u7FxV)VSZ)ZlD#RQ^Y4;CkpzFVelZf)%8&YJ3hZxFT zR@#akPwj9YQX?9MQ7Wyk??4*>|9*toAq4Nkvv_QBIFQyW$p}#*g8r2#yZ>Gyk?)^8 z5!WeqsH=8dS^Ac0N+fu{c%hDWjch!2Hk%@YhAxkrhb34VVMC5o`s>nRNDxXl*l#}d z1`jnH!|@2XySb6?D!yfCDD1GbXRsX0oU`K!Tl0Ql2Z^5@*1H)$udf&r;FBxUTVx*( zIn-7`ruxs{zLkIc_|R=HxvjP~LK2uMt8{IV(6^1ED9dV;l-l3I?_RX3>9@6&Z4T)%fEuM<_oDAF5uw7jr*!tuIVD!4Fg9tOPmhU z(q0qgBmpA7T8|yWvnM?}oA}Hk+se$$OjOj$VtO<4%3$!p_V&8s4X2cq6*1<^W^DNy z5fSSw%*-Bc){{GJmS@YBW|D3`5h>EIb+~b!gM$P9RDq8lbHjT|2VX?HH_cc-U0^{}3Cn#YHas0Xy!hl30$e?Gg{xwlqR|N5KX zPoCg#owj`6u8{Os!}8b4n-01bPR`8iTWQf>p52wR7eBnvZhi&3m1dEh5TD8$R*EeS z25^78H^iyC{0wIia!oGHp9OUQ7OBiJ@Neh7S@2>lIUDf7gI<}vp8cr5TeFSt3?6#i zUD(TFcq2nQ18omwejy*)mvABb;;TUq@I*71_mpmJiN0J2x`oAVEx3Ne@M}*x-&ti& z+6r!sJd?E*rRoq545DGHEy`SaLft7R{p9d2ihcEW)>dTjx#?xT#|Urz_b;PAM(az{ z4Su9%ICxawyV0VL@< z3U*$gwdu55ak0hh0MptUU2Oav*iGCxFZBFsP_9|`6=I+L<8-aX!{aasttR0^1Eax^ zl#((rFt8UE?2`#M4%CrrF#ETrX>qG&K6-j-CquJ2Xk%SxZ$pwh*;}&cM%nK+f~`*` z?5w|C z132thk;}-eL%E*uce;~s08hK8hvugWxf?h3?zQrEvs+vkj4^dX#4r)^KyTv?=2J&g z)9X(`OJ#*lLZZyR9-^)oY#DUr`Iftcow@Th^HW>Kk^B-$nr)lVplf%IY}%^zeR8$f zVR;N5V4}?kvY|CCMVp&n@XhD>b78BIO8kTSR#w6zwhygal2u?Yn4(fQ`i$vlTx_hE zsAxDp&F8X;y|lC$hjufoy)%foOHAk8^vIpM;ux!t_w(oYuNczBnjo!2S>J$w12i=K zKYpY*jSSVw4GInMtPqPv9JfSo!lpNGu_8gEnxW+mb6nkp#+|KXZ|`e5Zp~{EDCBCY z1Et5CGwjEsL-`gBd%9LTvR~lX>Ud{ZwRv))yD-uV_u5BeC@e`SIrG8w8*OW7uI90_RhI&)S9DS?9lg|{+_!*scWtM!f)j< z)#ilT2*hh9A#9}F|`_yCEk4Hw92R@E$a0I6tt zqWvC7XsEY=qXllkmS$);Dyo?ECh+1Rba>w0-iZ)9J$~$%ZKM>q)plJ&+gLprkmCFa z|8wAFLsf)&;I-ZS7%FBl=9XH&eNROw>4M=WoSK|$Y^*N5njh@z?p`&~-h|8n03zKb zOo>z$ufMkE_sCvYOSc+jcNYadTkhD|UA$I%kI(7%zCnZiZ!SN}0SN_hF0$C#rg|`|0T|jXC-!rWsK-jvpc>eg6FtmM499 zYp|MC6k#99cO|$~(jPs%H1AVzRIdMLw^hfxD)vR0K=`py5~Cdz6`mv3y0W&Gm6>^L zre8M|g}N6F1cR|%FDv?qORO>0P&6Q9d9J9-%k_coty}4K^Rt+tRO;G7OWj9m#>~vD z+Eorbl=sS)k+CtZ8z=A7NA;an?LjHhOlAfjdqBX52TIIXo#}rl3VWo8hzR+{jvE&> z!5hMnoNw5q4Akpuc;Q$EsoKs1ZBuijhulRAEc!BCTz;;stVnI8(PN5d!L0@?u0z7X zp~BT*^JWlol_ld=5jTVW@)I>dCzxYkMY*=R!4l(rurqO!I*;iXB|W|4qS;H0)bFHv zlU@1ZqEO3%B#$TN^5rRqRa2GJ9i5-5Dk?lX>yMpVVn(>Q>zO;(u494*x6iG+CSaQQ zFd*O^V46(Py^UK&7SVJDrLliv2n1ULkH0Y|UZk?-}79>|zpz{!2NvNG>7Q zX^mZ6eCs@Ynnpe-{Z|H;(lJr>ravPRr)p%>@!r<6?V9OT{F|dPp>kuR!POr=MBOgk z0)gQB2UAEFdMsrME4i@NzQZDMx;}fBRS5@7Sz>;$ZH!@)KK4hig8~ZY_p7SvKU6X-Ql( z_WeDIc(a@0%u-TzUs_`0inixvz>3+>q=eJ*)gGFtC>0yl1E0 z<`eDl&!3BOejY#_jBSWr9Bt_(Q8Y3yr0yy1LL|Xc*B;gwzsWV~hW?7GiCvE4-|!&1 zhXM|Z!P*QSZ$`xcO)I55$c*J)B>~Cii8z?BILgiD0gWabHXWT3eiNcfk<+OrA%T#c z!{kpN4boGQ&m*$tZDU(^(P3gGjLEu&p1}w*YHov5lYa4Xe<=fiA`bkL$vBG41~{w%0vi0 z?)3LP;wu3w0T})qrlQZ36=CML{LyS)^3$nMFWA`Hh8z756aABaZJB^{K+9eHozHUQ z$ggs*Fucv3kZFRImzg{mtn1kV%lzGh|C<-+qUBk zrTfnN_mv)O^kvdxkre;>)K}EEJ}YqMj6V%nn4idLX=&B?J33o$Z=O#G)vtZuZW?=U z_>t1CaN&cZ#7zm+Od!uJ3`^ZAo0~tkw}-f)s*(}KM`61>tEBqXt-r6YCs}1TGsZ;v zlEOVZkYeYwb~MPVyv|%CSy{{2JTi=mJ_P^gv? zbt*=z8`#B0msE;U(8ASle)DhB1MWew;+N3dA0lqG2ZiiT9=aud>w6!saZuBRMbZ2l z)Yn8re#D5~!^xa?r_LM(-MWFRiyN@!`PHhmieLrc-yfNr_KAz0R%Lv^dOjmVJ6g`X z=}q=AS;qDf=hpQ#k_p#w%mSu*eFj2_rz|Uf=s8OVxq5fFZ*SScIN6zdEZDB^=3Y8F z_`6ccm%6eRYXx9N^^hj7`*Ys0RHWXj@qbIat{x|Z+VIAA21*=d-eok)t9A8MvGe^t z{i?Tr4ZTGtQ?9ui@V;dQHK8Xsch#n@j{Da60w}J?$aZhtG;z*h>4W#du=d64W?Pl? zjvqIKQVVuW-@m=x?{nb%hvFRv_^k%YJnv5J`c0cvYX5NOKiKE=`L_4AVQJb1zuR>g%VV1_~=-)bEsTNs0^Yadop1jClK& zf|B*vk?%tnp48l&`%}JRNvO+%a|^G)cTtCf zB}OeK&Uodwd<}=yB3`5Bru2nSKC)Mo_ABe2ZGb9KE&98mSt$E) zE|3dNsc}OLJqMprGeoC+DtEuWQibv~r3(+p*-$BcI{kGAXS(1OAl+^-0-@!6SvvV# z^Sw<7FFI?Q9Yre(ovFpe-N}lHS4DvWB8)m9Xp_8NtQ;Fm((7_g%kP%s;Nlueb%tmL zyL@NP8bafqxh230M&m=%uVHhp<8+T+`-X>~;E;$@2)qn97A%{7#)YZg!b@Z-CoaP! z1TG}5Zd_W$c4LZrDA6V%IE_FUoW*8^GBJqjX1c?&c8=rW$hvzL=~In^7%o#3mHxD; z3Ax~$<0~pBECbqM!A=6Om1ZBFoK9ube%YU5ULe zT)>lfT%Z%aoA^=@4g!u{Pf$H$ZuSlZZk9+((n`|hjs5mdEqma}^~ukpGRu44&dw$9_3gOO$k zk0EJmO4RpSYL)!Etn8{-VXBve2KA%9VSe}y^e5RdB+$Q8Lp z^DV&VyqR|EMjsZnnj6{9j3}S5;$kOBzGMW8%A%K!j*Ao1>yX;EXYDKWN_f>HPfI`NY;_^SxzAh9CF?;o|xCs*2fXO(%DhI1S9s$SAh{xrNf! zmRC<)NHBB{lI6L5C5V0wKBy% zEL6umGm#kD*ya-VHHIql&iV5#6gze}FUj$KFK=#ETt4i%+T7ZzBH0~F^|7?iTK&3m zVa^H4vT_d)(X6bj(3pN6JHh!yNzKT1QtC9`#JrSB>k5Z5=k5G^QoOe=_JRn@&Nmd1 z2dJOtD7#J`N6LEUm%2Kw3~k;;i}|tpNOR;Gje#c>KR80+g0@>Iu`TTLnh7Nk%zxe# z?rCa@eDd_ExR{tUOCzMbc;<6XMDa(<$qpXz)q4|7C8A#wGm%xg8iO^{@?eI@%K7WH zw0CCN0V^E`Wpmn;pi%RK)2f;mKSa=U4YT`2F>F5@ZHoJH>%Qw7L z50(y2)hML(3t4Xdl5zzM&l-xRIO%x5@_?$@8w~s1MOSM1dXxC_EczPJ!&KkZtX^68 zdHK(ky;cD2QVbtIe{O4T zj-5z;tCr1f-(5nopBy`BQa_ZV{ zl=3FZmj?7$Ki++!EuH=9)gHk>DtBn_pRDdw^vTnndVRMq^V1$*IX08}4=o^})YdBL zyputr1ut`bnA#r!TqsLChLjAyZ0=%V75YYH0lViVS^E|}^WOFSo!_b}D#lTgqWuDW zD*OF+`pG${S+>fP5F8wUh3X2N4JxzWP0QIjF06HS)vGDxvAh%d?~5EwQ_HKzWKPPU0+;$h&Gp(H7G}@XI0AatRw;=nQ%jOw ztr6hCy70n_qR7_-mo1&n{OxK3W zh+))>yne4t;=e$ym? zudDBoA(uv8%4rDGo;r6NDy?-cix6@~8ApkfB2#QyH{x;^!#?-ys1xIGc{o7KJ4W`=)j?zI%*0IqKIBU4)U3et zg1lLg49m|LY1r2e=)ecl$$ULS!+DOAtl0`=NeW$zF@fi&wjd^t|FM^MXDb7KFF$*wOoLREFIfZJlvQ48oU1 zS$rih47(~S60P}bNSKxP>lX(G;*1Le8;-qWi4MHRL$#B0_k7g{F;nRTy(oSDefPGp zloU=l_FhGQ*8>W+w1@1h!~-X|xDWwIU#QiVYhH)tVxV;uWAHXJ2-T|4wQ%!;7pMxi;-zH3^t> zwICIl8K-EZ)5=3P3?&gR{F5wv2WGAxti@^EcLED3S1QK(MEPhgbTs(j^vB0H23JZp zia(KiI4krzxV1+sf_s%FS1E1&A4pfPj>-Sy>@A?GO#63XY)4c?R1`&YlLCSwp`@`< zK$kZ#Vk9p`=Lf6n>Vx4v($S<4xRrF%d7 zdG7mnUwP~E_V||Jh=vaDDsX~N=sv*tM7H;SSu>z9#>J|z(#0oolsW^gsET^(bvGTR2MfjwdRCM%tJwd zHmu@GeCyyslgZfv**^cs242;bLv@*i7@?4nqsl(lW}=c~!ke}zcH3PH_|FCAQJ*~4 z@(XDPBHo9lg#_Aitjdy#%sx~CsQvJO5&leJ`zk280kLjz~PduDcWklyk&#|>EWmi!5K(( zM>wKik(DEbg7A`48OF2zQ{+GK_(w}^p_C01E;KV+?^a86TFx95SjM#c>En38d>X`< z=T&-QiGVe}H?`UCr+9lP& z$;FMXO99&dEI!cUKB(|>nVHw#bC_*ybzTVf>lKy;`9g95lO~0Lbh5Ro%^N>puZC&s zJkgIyQg_1v_ObgiF?d++fQ{=Y#L5BwQW#aI%OnbuSAD2;T3uS&$H#dq%)(oa3LJ>h z;@mfkWBs?PD*33caU?PG(X<87qD z4%Z*x2MEUXk$`i3OL?(^Sr2}pB;?+vkF*{Mh>}XEEkjq*vwxB@C^@>zMkF;>S$l&37k8JL(|pXHSLLT z#keH+feH+~h9$p2Z`#(PVnu;`Q*=fn0*>$0~{2`Comlfv0#DrQnU zg(RTv?Aug15|{!j{jC`Ho|wNhwe1ycdan+J?tgBng-E>nTWIWbS?_9ULZh(R#9yxV zlEJy=ZRtw=ncOQ^V%EQ3)Y;lvDPlu@PF7IRA?3OZousTQKF?dOMrr2pGM>!S5@J3uQ4)Sy?3;-{ z{hph`eE?t62C_PyUmZ^L77&;fXZw46QPRr2qiDZG)jt=tTV?Mo8I5&^o0*oDWTTH| zYc#5t!<}Ea<3Ry6M$JAsFemmSR39+s;FtTDTVyJnKil74SNxi&c^E=klDS|S(zO0L zRyZ&RLGAYIz(8PZJT#j3S2Rd)05WpB|N7x3m-BIy zF*+_zet0O^5}F%Gg-lw$NZQq`t$iyf5K_!tUarGn8e-XxJgAiwCf2&DJ4u(WtDPBb`<9*?jOn*?w;rt^aQTHxG;gAo9cfTYZy2{U}s@A!ee@V6% zKn z4DHO2d@Oe~Wb5zV@!%QZW-3|S4nba;aihI&`6Qf+!#d(vOqmB<6<8A#VxL3XbVWrE zIv*vaOvIyMc?vMs0&CgY+Uh9Wjf1cF&|QA(B_*b+U|!hFGNUQpXJ?;fWSkxP#vXJH zu__s$8BCheS$XDg7_fr-VWv;~a(|`2B+iw+NetM-!9&5e1l1g!%iQ_{pXtM9c0>Pz z`$g~lMZjTCw6^3635O|1duxX9-_^fme*OBFWSxf;xeN>2{|KF(=@*`Y(~MzGi`@el zgxJ^H8+Cfmqq5#ZG^BHfWBTmi2^}`FUV^F-%qEzcVe?g7e}k#a@peJKzfy(pA?7 z1Qr||?B8|}|EtRv(MnbQPyQD1|7YDOF55#A+6ot~sGw7i*bpBiEy@WPqvz^d`LBQU z+<$&}LCkqU=SVx>`*7;1P#`t4^I=*^q4Ixz{65+z|Mgmsb6mA1Nkg{DroB^y{BnN* zEcC{u*fpX-U zk05wp2TmT4aYkh-X90)&`0-=b;D0A}ya$;BAYfn6LV`rr^X>mdVCJ~C9$^miB&I<| z!d{P^S+^EjQ86sQef@kGFq17?Ljx+NloBSVADsmSMu|<#~dGLl{HI+?Ij9 zK8*rsQ6Zc5ZJGfc<0Y?tei(ycHJmqdsM2zwHCs?!%37Snd*4Qczp? z#2xG)M0h{EK~4gJ_4TJd`6~K|=_Ml6Bj5}%8+ovBaV-J;rim5<{`=&~S6h+<$%FXb z$<<}u$)6-_`Ay=1$N}D2X?wR4U;Um#hh`7Z{*OmRB1(oOnIy|E4lMb-x%6Lrdz2Eo zZ?`xfcXxa_ze!3sqlRg5en3*|Cw>TnL<=@}_MW@_BeK-ahmL}QkjbMcj`HWLL~QNm zow#z^eYgy%GyC z)z!x7w-)!4kXke)s`l3ezm4x18j_W}LQhZWS(4+p_}+dz2zs17Um?zotUuy^39?p_ zXgCH3K*n8b3%4zA#lLh{%UWwI7i&n56`&+33^k&e_8zKz#p8v@l~g{nl_(9T|8XHI zH>ykEHyqz0phV^P|06rBdN=6*H#=NtKWm?}^j{MKKK=`m>*T*KHeMLTlx){DKJLId z#2v~X*Sh8dPpke0Z=QW=u&0>RB`b)V#C`@>X~G8bewkwEB)j8 z`FRL5JjQ3+yNz2@6(MlvG`IP4)&KtGBm@wP*w_DD`xfBuwL1VF$0PPbnureQHUVH< zad#BvYWQeLhPhsd%{BUAV}pvBrd?e2;(qjd6ciIEe=)Q%L#KR8!{Ap=) ztD&Ss=*AWfxhtYsW}2ioIi@BCj2=4&Rw(2n5F7qKq3gymUH9q+0voa-6O#V@X2{&P zA2P#l6cXnrt^mZ2QH~4XiGycK*k*hqrI7s#=)L6R$_5AF2+hd&+DvVH>r3+6;EW7K z35ho7upuM6gUU35rFDWfCJ}L6D5Nhf8zap0jP2xk;UdQir?A-ktd3n>reF+bysEU5 zPM8>VKQ^|)l|1_DuzF(7zu!$y)ra0+3zj+gf1Hnv{{y$|B6i~|NI~vr(Y}5AZjLTA zYhQs}-#rGd7RFt*y}#_|Rs!6?R=tq0LIb@x5fpGn{6KY(6;aRB)Ou;=w0{!R(R-lW zxvQtAuqge4oxK{O771cX$`9xz;`sKw=sEfG-%r*(&PSv;$kuD5hg?_$a=6xGjl!vQCtzmx>{bq8Po31jCmAD5Twt*(xS z@SfO!qXyuQO64?zF48)=Wt%ojx7}I<)QC_*TpzK^qx|<(AydHdeFa$a--A=W%iq`z zfgl(8?j3}VhYsB3gldx(sh#g3JGNZ@i>ef9%IZv2AHf4J<3j^k5%_jli#BDw{Xr3I+5NR<{%w{#XFJJxp!XtC zBVE#u$qQ*yz2jYCQRF^lx?B3`SdSbT1=fU;R2XM@VYwd8;T1d@<__=JjYBpV3gqik zM;fib%~e!Z7GkOyX*!uxNb}d`R}^-(+4G}|V~}dL^f6j*>seToWQHx*0LjEp8soJJ zgpVJ;y)gL!RZ;K1L~ST`DOp?H2Hv=)qT=hfZx7?rGZTkKHKc{OIR7?#`B%c-ixsUo zVdVPt>u>bKVUmOVG4SQf7f{Z=vw)5PdPf{KDr;bSLmvheB)7N4zor0ru$h1y7;q)f zJ(IdnC(9fST$H(XGn#flZ08(!Uy@MxMwhJ!W8D!Z;zzxYrCA{}*>ROy{_TtBs&BLv zqwTHxc_~VFv)TK~TXk&y+MM7Kqr${iDO+>1oN7C3<0<*X3Sruphp9w~=w+{u>z#C# z{$~s-JOX8mvdm;IY1x?Epsz1PPq_4HI4X1HLy-&J{qvKznPA1;v?|bJ039glETJF5?-ciXvs6%2)Z&x9WO6cRr^)rj`T2<962wV*-g6#Z|<^L-WeIC|K;(z*Mi8@Vdxu3FUL~hTJ!Aw zj|0=z`*!36h)``KyI1EAI4#4t6ZsDr>8;tf$@4xyqMUv;P|7j~O;q%_b-;eGpR9qx zFT4YpEncGS+gcE0s?Fms{puOHt(Wy41?GxOAgirKs+`SQ7+m!ncNI0D5YeSKxY zT44MD9GL-`4oE5!QmZ!#+fx-Rz=I&N3#TwlHFQD}f_78zYS^r;M9s`FL+2K+k;6s# z%QheIDGiriBy1eeS9a#vD8(r$+6_bbOB!RQ=EFXGyo2SzacxBuvIetGw|nBN42deL? z%$}hTL4e!uSF!rn@6%gIMpRNd03B-TW?r8oZ>0@{ig>)+MW#SfLSh(h{NHQl)j$rt z_N@Rrp(!AyoONzabi!h$=};I7{K+IrD19CX1drrZA7aiAk#=M#ek}la>x+{=FGv@WWLHV=$B5P+Ej~_qH#B_I}YZJ+3H48-->_h1m-?^X;sN!t* zAIOD42u05BH$S@{hmAH>!pZ475X+@yPBH1av$m6yJs(zc=J4GCe)mAy)O+)8t%*Bc zWR<1HGug(wXv)@3UCyc3>CbJJuBS^N zDA)%=c7Y3lI|N@bQNpJTlR(UW7j^&RBC%Uv*_3|%*g-zCeQY=y_t22kxBrKUggN}u zV{e@Ko$et4w+_Csaj4K>08V*~{B0jPX1D`B9L1auxqct+IwFK?q&5+){FR;yw{&!l z^IbIf`3;;0Fz%D|^l6c*sE1TJ;<7m9Khk^&C|Ol%^2*A3icPnUq^9|i;%4~Ag^ z*nLpT3L;upt{AQ?+=f}7xQ~*uVphcQpvw>9DN3Y$pgltUZQF~&!nOJ+XLj0JZ`wRG z*kwz?lWNpHM@~Sw9=Eb5jH8CFsr!jYdpUdkyvQO+r1llQUP4=;&@-oSF68hVd}x)A zmQpBp+$1BqnLl@N^&;5iv5@);l{i!ozPI6_NVMA0{ZS?*-jYCB@HQwxFy+1zR7x zb8&?Ni&N-2L{>a70pI~*sqdlQG_z+YRaIVsjbbL9FNKd?j}X&KzdKfm2P)<8ClVf- zbMxy)E30X&pxd^D^xd_&ldhd(sp>^zu3+ml#bEv6fhZ_s4QY%8(AFjyDB_V*1rKO* zmOyjrjkf9sPqN8w0O8GaE~Ce=r61)s?tAB){O+9_&?YstCD;IRYVl@LOYuFpxw%z3 zK-{>vR6F}C=n@fNA9^efXBpK;hSAeUeExCEWgXqGx0;)qwUL5Cd@fA{eDdYX7nzsF z_?}@MV-5$pfhpGA9d|4q^(!QwfrX8^!uRQIF=m{f%>Bg}hz!Qx)>^->`Y11@IZr!p zsxG1<5*;yWtv9moxZ=3@BW^>%SYSfEO-bHrLBqbk;vD|CStna1{2iZm2YkO8RX?nS zumQ)LC}>s5z4P`J(tDoxK;%I3@&>CMdJq{|rXg)?Y*b9L!+*RE0KTc`fh8GPWd+{t z*RP?=$*CzRckiTU!E{PTf4~rfjxu{~W=e_yJ+PsHnrZbM%UzzCw=FI8#E)V2ZVfS# z($eaRSDi*s5a2gLE*|U$TRbb(>hXa=pfemWBzMhar{6+3)>SZHeE*ZbbrV8CdgMN$ zxjWEM@Gw(Y>CgHoHj*dx#3SJx0+{@4r}{hs0|y+EXvx+t zsb${kO4Xl!_RI!!c4J!OI~`kbS0nS5sDuP7C4!9;uLjnl#UUpr2}TuYxIUx?zzoT}Zy0jh z&#gHd!s?{2I>0~=Y74zCZK%*P6{=g1LDtV(Q>jp;^yh>47S<>nrPTDK1$ z3}FG@w2@cPWlfNk)y0$rBmEpfu7Ok4D_eTvk zDPA+bMEo7q@XGzUUzkFP+y*j(x;dS%yu^m0^(^)}m^;AG-U-mVcx(@j(vNnz`}i1o zb)ebxkwjf+r~Ul+hl_SQch0~s_*R(zOS4U)=haKXKw%CX$XH$ZnX;3Apzg8Khl&lw z(aiL{tsu!63GkWr8_R&m?&vKc|AlpiS$a-qHWYtWZK;Lb?S{xKo!762sVF^Z6(*<1>u-U_b{r(TCowQQOjvKIsQ9%sn+%!j zj?EhrzkLknHR=0Vc*E=SXND$HlE%uoqwsp(#8OAT-PQh-Tesqac}!Tlbq$o_bjy;w zkNjmnd2GBu3R%^X%+g!c)zp&bsseK`;$z9wktU6&f`ykJC$bJ4;=Xwg7qtnR4;~Y^ zA@O>SdlJ$6uSRPdcCvgs3%Vj%n~nO+q4 zQ885OQ8LmwPAMdiF1@tGL)kAPQ7))vu!G<3oHA#cTR_k`O4Xf*OG0VvvyO#VzxgD- z=IK%HJS1USRZlQ^C$y~8g#x7CuVR-iq@0%XTdb_Cn#wEf6Z2F1qTWHaZb$I-y%=)hsE@QI-`hirJ%@jOji^_*&oBvQyCoNtbWIeEe!k@>UfUm`QN#zw8bKt8cP_=nNakfp-CR**{?+eEoEhyAuJY9-KgwM3#4|e~DNH~4va?)x`mwN) zX0EuCw$sSv|MQx)5W&AGoZ>z3muv1`aRfRBRjQxiLZnb^>|cTFrER&pDG_+fMuGO; zeV%C^@SdjbP~J%z66jOTE+@pMjdyu5De{~T6PDCYA>4Dv z3aY6Yf>L;YwoNz(OI|a69|V*!Y;|jl^TG4|^(H;9=j)sZ_4_;)F6!tQvr-PVwf$sf z+UpC(kTFS%v}H!BPn;BOI=G2KT6To9B#`sn7PB)W^Osg$8{J~vLgBF1%4Sv60=9m`P{p#dwz_)B=BcP+ zJQcWI6;)MASp$Ou%DJwHVvubDVHC+~^X}cdl*=`*vPE}IhLQ58#@hL;e9(P^$o8ms zY`m$d?>`BZK0S1Sh)dq>G9iEP=lJ+#B7jOTuB-;f3E>cnDRs-gO$}9GUF{E4j4!yY zTa4KMR#_0l^nMjxzXUhDe>$B>Yd;&}UT(ayZ@Gj`CAzA1)5f>Y+(!cw(?idCxzA{7 zj3l*d)Ser8dZ>pML-VTRu6Xzvx6;H;|oYJYZopH@XP2ZE+29X~f{(-gJ=T z<CSSyE`SJPD-77;^`365%fnbxZt>Ayo+pq4@~PD zO|S*|`Tn{b(@m|Ne#1*LI5Vb0nbm*G=3Cdt@a>eF^II~2M0w(l%;)PmvhA%oAMS1F zru+&6^uFP18yp!_f|wBrGUQP2Ri)9UqDhuJnTC(YnKUd8Kqc-%311t z`);+SYR(E1VaCRW5jbHtd5q)i*+(SlE!%B7vPrtr_A?euErqMni)%k?3RFFE(WJd) zTbOLu?J{po(zHha)j&;cm?*;7Uy*Aa>>dOAW4GfsS8L?eKifaAkwQ4HzjpDSF#}R@ z_j-DW$#clQ<`xO#*}OEdaOF{<2|b~*fGW{s;LXHvDD|?Bx1#35Qc3Gu5+=n%dD%m4 z0)_cbSDTw^-`tkp6~RR=@y|xe;wKUHo2_kZOJ96Y^5s_NQW@q<)d7r1^J4-;(q~5? z!uPGyiz{z0xiAns7(|X;zvS#JOo`UbJYz+&!^N2!$?`WPN_|79#&bV;aHwqhYUsJd zvc5+aId!jikPSp~UYC9D(9X6{m6J<-McW*&O1JM00eKyq(vV?zTO4vS~X8@$1rt)h{czFd;;e zU0q4d*Kld3LgTW!sp%M?%(S^weYU=cog3b3-j?DuDSw>*LTpN&~*W85t&>xM^!c3yO~-UQfe60O6+gc6QE_X8_|o zDkumM)5DBwMaKzCoz{snkgo`yK7E3nU65r^Pv(nwB6{U^vm1G(W||gdL#g{-ab({T z#IrX|O%+eXZM?Vs>ieh1kKDAFAUe&ASI>GfGCwo(@=Tdw#q)k*x~Y0krs@64WiXcw zwTVaP?*Js2pD5e=wK_l}1fp?}@Q9-7lA**!2L zV_TK`p9@7MBen7V`H0+RtetcqRFl5+4h~L^B$<%Dagfv(O-VeOK8`^N@xv@Te@@#$ z8;WX+_6!pW%G+OgVYnOVUTzlpi#rcD7!igWVjsGS zn!5VJqAVsQg_Mv*sGs-o?mut<2}^d{5<7Vp{N*4;HRaUw^l0@=WYFM90T27bsry?gj>6m5_~Jzaj$2S3 zzE?W=Ej1u=g?|5=;pF%;uLzXV0~Jwu^~=&}&^rbNxw7~i-RTOO*=b5y7injKaBY16%n z0lm*|NDPxJJWNexwLTEWOeKrlBZ#e6FntL-6*7k-;PYG7#NqD9zzRKh!Kg9G++1JN zWOv=m%+GJIvJgw0!FQQ6BPJJnXL(LUl^Do{HbKU#D=>)l2|Rot#bQYKju8&N%0oD4 z^&goSALqUCc~AdAriJTZ@JKcYQ&U>W8VPS2PV|*kR{oe?G%(2Mqql4*M|nVXHEf4* zs%cE)*EXG3r1DG)Luu&BB6-j?#L=rodowzhJgB?e(Rcft4xc2yO-4wT%-;E)t}h#i zdZ%ycwN0pdsX2Y0ta=sSdxa|SWP{CZ(@FI=E8di}YJp-5nO2UHxd@Pq_q*V6)zPC| z$L{=vdin%4gRPQ+(`z1fXLWawj#|0n{N>*os(13g?kfVjFh|>%8Sj^U(^+ZqFG8wz zrreBZJB8DfA}0?|$onT|5FEb3sqG--;bhquZG4+1IUBqb!o^y0-EdVQL%_kzoO{8ZsFLT_wqO0V*i zdPMjQl}`X+dGxqi>!Ygbu>6L?u?0Lj1BXh0~BP1PEeBFPeGkXdnae^|evumebQ~s1uP6;vR|)70P3y z+bB$ib>QU5g!eC1uUyHKqOIC779LG{Dew2(Kqdoy1E%-Jf*toNm7fO&Qr-1)->IHX zAQ)XR+MdlYM@OhPACw@9a)z=^sJ!r3CHU^~wT!(ZG~jmmq&k&vd?Z7K3*|_B)^+i< zh|PuGQe7hR{oB-WjM-?W^=Pw8z<)9wWki85NRY%5E6jjGmzOwj(jd`SjtT)qLwM#b zt(mu=*-gZ0>6V5D+zY`VNwgx|He?NtJrK-kOAPf1B_s@sz9 zY9=JWGi}nGVmzsSeeA<0yH{#kz1HYXnXauK3%xuP_$8iMGV92>fM``l)tNsRqsI!_ zquej#C-5Z{8~)7d&UAb9nm+u)LzlsC(aq{*amq!7x`^<@Hsy$KG^uF3;mrjnLR-Ea zTRRfgh>P7EuR}sq>G_vJLo|h&I9OQpHt@ls1`6Mk_?(U|tY=U~t!5bGOZ*3YUymnG z3`9eK1PvguDW5@7Qc|SIZqv5i{$f*?E^%fUO_!+GU6hyqR8zxq^5iPSa{Yq8@ZbR> z0kVCCy|&Pb`MKw|-}j5nr*94K`I?iCF$TF0*Ql@Xj|3%$7Tl#}BUpA?pa1kFrt1Nt zXkFUOFyHkMdk!N2=@~wy)JFv9Iqo#mvmMj*ggGZ z0=KavaewzeaG(5VXeu7KtQV0+9mfC&xRPxqE)bv;gXmpEsq!`W;k_PD-EY>svc}>? zN$DHk^$l|P`1s*+A5^2vO-(U`mzS@XWpos|gz@Cw9lNEgD@n{Uzha@Tdt;pBwjSxZ zUT1ICv0Zl;ufIfTDdB)86^%XkbB!TGl$y2fs5CQ+}a>vOi#l|;WJaEsX|9Lle>@A38a&se-iSF>%Uy!orF-I1}j z0Q+4u!#p?LZ~mk9v~|JTUO{%i@b7eJ1>{Xx1@oFRhGP;vD1rpO4~V(4dyhrt#M6dv z-+~401Sz3bqT|1F2OpWJr=tS_K=%o0C?YQqb#$_#2zVg~yS(kStOPuwH(pk!LXV2zapNhU~YV}qo z(7nDsG{A-P&z<`Fm*0WfUccdMG6jD>=7+$WRrAa=O^~0@e*eC}rcE}i^DfJ#6JgFY z311dVs1wxECt-6gE%l00T?J(s9~Bjq@6cO14lhd|6wmD~4UFg#Nu&Y+-$l~TmVrwF zT95C|-u@%5%SiJl6%oEmN=;UO2k1BYf9%_6hT^Pi*NiL8Sy`75pbv3Kc6K%_fx7zd zf&3*JNNoWQSyFNi13vz&zrVMCK1T5Xk=5V$zq=>dy~;At_C2!Kd!+dInwca!*lw?3 z)d1D_Fa!9iOj92cPyjlqyr!kH>Mng}h9l~4M7FKrp*s#vdv{nfK3{>z2qyAJkBFJd zc>1yrAqfTA@Gml}_Ruq{L?kE6=wM#dR2=8R^h_P-HXN;ZT~Cil+_L4#DPPf zyY)y)-i6mWIXTx}FHEBZ6@Pq=mDBo?N#4a_YP(Ha9h+e#?{`)riU;N7wDx=uSy>$5 zAkYZe6IH*#c#IJIo}Opr<$2wX)3YH0zC=AlJJkk`XS){zggvmf7@e=`0*G^JtN zpxz9Wh-&ngFUOKU3c@L^APmNRGAkd|K~3q#>& z8uq`u@}aS`q5$+uK(KaN>iY--UVl8Rs`f`A=?V6D4Ds#X9RdHkvMYwzbx48OfA2c} zgWc=un>INSmVS6DVGKP++9BFAw>U5OgJZf3tm3YvC9>g~-7z!zwGV&)`Vx;rJ=igX zP8=gp`0%}#&&fWUR*Jw$V{c1TViLf~G<~CDz4gB%N^ye-%P&oF%ga+2o!|1Ww{)*= z>+ghWVRbh*p6oez!~yPm+^h>-CFQ&qvz-RDFjaZvtc41pf|&r5rdgaA1MYl=a6I5^ zd5wzB^CVycX*$~ER*?F3}zZa$vdkaH|xYyG-G*HqPFQd}%1cWT z07PkyR=|I~91|nuVlP|&T_y0Ev*=c5obo&nB}N8@MD?t%;D%P3=&w8g7B8368+7J^ znwr{#)u7w1kep1MravkB--eI(K!RpoeVL&*)|Dei_8vKM5hhj+ zwhJY&NT;i3CH8C7O@6-wnu!WU0P2v7MI~D|#Dpn~H@=e`fzya3a^TM<`TI@YTi-`| z7AqqEJd1lb-hU!^SGUaj&Yg7Ta3qmEcGF@VfSFTTUnGo^Wnd@1NmQ2X@kQizPEJt0 zprDeK1WSXpMY8g_hYugFq6)omHIuIyp;_FfZF-HY>vYb8Ny$=2ld7*dD=Arn-a`A8N;T}*FQchmAxts;xff9~^1GmyuwkGnlQa_VMr$b9s;`!9;3PpJaf z(G@sW-o$F;Hz#>ooY>HFCLn0>HEOAi73ME?JquZVj-zQ!oWpUlut;=@;_zHuU5x-0 zUonNeOgpZ0{78xor>Etimx0AUG&fRq`y z-nUtiG2#|E$?h0omf_|`YMKjDJ&BS($(pQ{P1WV)XKxeEGW~RxsPscHpNR<&wm4Xn z9c;P3Pwy{U_X`QJf&=iVkD;k)Bk9pR11=oLQq+y1MNl~?ArqY?1GPoS6X+Y@lRihw ziFn=~oXp^WK=0U&-wudWeJg(ly}7x0^olX74{SCVst^ZgVgCDytn-DLCb55Unt zz>IbmdCsDeM0aj<3vu6GOAUGXY1*IFwTQl)p1@oRngYW^J>3@=l)irb(Ao+DTt>%H zG>JEQg_CXBhDhY#*j2TZbr;Um^mJ~*Fkme3iN7;=x9%EtaA0eCXPE6m2^X@yk&*1r zer&LO1?v>AhNpDaJ|^tBfBv2b5ALHLs))F_k-?jFQ-9`i7TaGJ1#J@P0x98sF{iYc zKK-mh?~2b>K<9eWCQaN*+p|xwvW5yYV+B^%kTx)AnjO)h19z9}L~JO(B7$Sn zrmXj`2flx@<-IKY;E_Ooaq&rBUTgn(`z7v>u|}kvJlWi#msWsVbpJ*(?ER8KTz>9Q z5$8N;>sUz5&gC7gkD~gWMsB{oc8QdP8Ozmi{MdCTcr_^j0}D_JIli<2DM)}QDB}F& zW&7UbWcATEfc0OTc(Q>H`PlC6?pSXEi!{W=ePDwR3kay46=PV$ri6+6R`*f#EtUhI zVXe0M^`oDhy7F2ziY}jBcv#4}zJM4oz_Rgz-OVIcf^XhGIQVMBaf}dj?G==&&z^~q zSSU0?fBb01sW}{N;i<{whi!Xhw3U1mt|4e`L+)6kd^`-ktJeVmp|DWjY8mWyZojUt zc%`4RE{tNVDdDQ>$T{obYV~HQ2R_n3uRuXp8mQQ(<|XPGVA_>m_`ZmgG2T*UxSPav zvMDdI6%_B4OjEEL`9Uio82RJ3KQF2|HSZ@COhZ z(v7IltoZC%%%p#Ga&mk8hrI#i4y#MnL?Q!a%4Wf9w?-eHkT*#7(TCI+woEQQK45R2 zPjadET6&|Y$l3&BH0h9#@9bOd9xTD?|1L@h!79hY$J#epS!sJ8j?VU!iD^&OCvO7F z_w?!08)G;cLDMrmuRZ$nXSm}&JJ_!)Kmh(K+YolAcvl%xZAz5Iqw3@12j(Z%>3#d~ z$W@gY)^ZlHD{bEr_oXp$u*&%Q8xe=hx|yLg4AlsY=TOfSbIt_ecEA*)443nY3SsZ| z&EMWh(tv94U~oaQBPnwAYzE>)J!zfV(#6A+>@i+0RNoZ)BjfoqBb;ZU!fgFC`MX&F9ApDs|=LLXQaCec+C9DD}?J#iKq~kXCN% zLo0BcgJTU3Gm@qhh0A-AiX_tPSEj0NVDKY=Kf7gOa>md*iTE6O3LE_SCf-U|qbYiM zqNq2t&@sqieQmY4I0S1Am`g}-$hWH;4~r#zi%7d?-~t?QQhCA6ee2Ez4sc1JJn-QF zN#o?DAa$Eagie5it>;~2k2yFZ3!PQ9e0cRMSl}*Jdab@LaWzlII(QsTHZA}wlWi{w7e7HlusL~~) zdrTkYAcI{6BWP_*)TR)y`iU)6`}VfB%#+XbD}&CIT|rWSH6pK&&^rNV2!>90HJKOp z#AIjN&QauJ*Tt@=SeXHs#C97}{*p8{?f=gp+2iLIy!@n-7bl!cIPo?X9AU9WkQUZ1 z1}?RNHWz3zSj!M){fdV)J3~i{nAxX?&OFFat=!Cn1uM?4o|GDA`UxkwvEjC7?g%SV z(9qD>61{Q1OoZG0tgL3-@0qEo4B;RshBuX!cK^G>d>>Vw2GYQH&jbW`ejuz2E~YOPHV*A5yZ|`=llCsVPavli zriKr-`ioOhuq#doDkAF|!bT}#d)78Q!~IKez192-1AZ5{i1x5BP55K;ru;sa2!ZY? zoocnn9_bk!{Y-;R8U><^;Ytawsvhf~!Ws#wtlpUQ2yeguJK$+JLikM(9TrCiQfTZ) z{g*OB2~xz47@?v&`&U-#R%EpaIlr#%+Qg~lPA4MeymI!ONYRX5T570>^J~xz#k7cAta%*v(udgySjQ=pmj#~qCV{z0|vIy{dv;vcGt^ zImrk4U5mdix$XQ1mFf_Yj#Yp*Sd9Rn07SJ`m)|xrmd6-m=N7f)hn|Qm zyl1R)^JcbX)cTjV5e&~)zy{v_%P2fN9O2uz-C%k1w?Xb0+zWgbJu+alxo6~pd9_(~ zCa0!e6Bie{JDOeD>2q`!f#gsK;Jp+@3Qv|DsHFu-nWpo}06f9mm<1q~)Ka$P?~m6Y z&+#m2B`tJ2J3i|FJVpqY$exx%qqAY{#sjU$uiWczsCFDF0eP1F{FDjWMIMba;@7T$ z-=w3o9`Cqtyy>m#8JJ-l5RNSu`_wZARr9+kTU%7}a&zG_-btRQQR+QX4 z@w2p8xgD&qPtg}9yEu#CHVNmUB9rD&oJ$bEJ%s>nm4*WzPe1<{1(~Vs(m9mSyXd$U zulfzqo(TH3UUNkBSnsZ#Gyad^uk-d~jWu;Gq(>`k9Ug4mWF!Vlp9|Lz5rE0P*8zzF{C-TAeS-j=uPI9Di(Mydd*HKSt4< zRFmJbTZ`|G>gvH+q1LJkj#_v?3G@+|Pq5-y-$`%uQMM!9!TWbu57Y$n=zLVbUVt^| zYT#1;00KEy$OSTxH^f#Q5zYLXOaEiO9Xb5n6tw(Hoim3$i0TVj{&E91=bW?ju2H-|ap~la?Q9`r0 zpnxCy8ouS|QLmg(L{x9Xd@a5PIm+?%5sCS6O`w4limRSapT0h4B}_?*@KRs)qA;Zk zYlS8gtYo0{X_e53OZ{@bZvVBN^?cilG(BT6$eodX_a--R(>f3{AEa-;|0jK$K|9Ay zzNnBMf-0e(_Hy!9e<#83-wNh4c`NmcO^vk>u9B;|dwGE`yb;1@_9(?IFwjs{fab8L zio5vDLH+)YGpKJTkdOqBrYyIR@z2A~{@T4|%+4P|YJ>UF_KfBF78O96+emLb^CHQ8 zTN65ViS)#eG_R|@b?SZ(Ao14^{ZXav2V2r0>04T}dKJ`oqp=Aa4+=+euQBP`xk2TC zL_yY_bCVX#BrV8^6CNYDKSha1WVp`Rfu0Id@b){bC`zVJG_MgbE$6t11h`|+pPhN6 zpYYz!igU4|TY||Cy!&2XZ*M8PQYv4FJp(zSJ`g}hE1fHaFm;|1RzIKusMR}sF#p%L zKICDux49j*>#v-}qy*h0Go(UeB}?!}7C0@3O)ZBC9;y~?$1%>Gco}2sbH*x=2>uzj z0Q?~vrS#oQ8V4g|BOs1fJNf%RbSCv{3Glo~nsX?O$C83o_BeoFvqz6!x2N{o%%z+{ z;+pH>ifhn z{z3%VuNtuV_DR3u4!PPYN}6frrqwHdXhJTTql37eK4UIRsK9aa;6MTp($9~61i?6u z9Pb#oDhv+FsQ$YHE-Vv^*M2r7D%22kRR*1UV~?o8N<|O3*f(#Ubz1P8iHpi_?8rX= zlXmIt#YxpuUSfKYv9WJYwR}k~Ez(tB=z2W-(P>(Mp8g?EsPM^zw=&qgcm&$o+f&>u z6(p+yYLK#h#_-}k-Vnh<*N7lzF*W$}OvBLqpOkGBdD2p%ElfOzaew);eqtVw+>H(AwX{OL4hO#bl!JqQle>@f^<5nDQU(T0CTGvK#H!{e zm})lJ&aum{8gcQNyRAB~rI^{3p1FHB%EWd_!MZ-epDhs1G2i`y!|hqk0VfZmFeT<0 z#W8&Got}T+UM#0Km!|9hs;g_X|jxcs>=D zo$9jY!AO9%-9N~AAB*b&;k-lO}e<5I{a@DJjAh*OA5;jQ>$3AqTRxgQD`mgNp}D zhx+;s?z;o1W8}j_2XrBnJBM2CS0H)q(9pCr`Mn^RFG=LiO$ze7)}r+<0-u!%KYe{G zckExm5W=Pi?Yp6<%p|oEo7=o`e?X{~{kpn-u@~@o6G0cPr7;~Pt@mb{B{RH4&|oU8 z?tOZjI~O+`#R3AD~chuB~>I>2ArnW$;+Chtmx5o!N^R`jap4-ddFOjqM;K4^A zlE2m9`kg*N7}$?1MN4U?Y)RfnL%cIo-@hZ|ckuWNQ3`hT%pZ%>)cZR%qa=f!Nom`; z*4;;yxSWYrbL9QI2goWYNEKyXH)OOJR z=02$i%a3V%#@zP=;fY5MDQTB--W*}u@YaXEDgjlMvVH&J&J9l$SlKXo`~1!_GsLZ` zcg_Hd9TWulvy~RZO&K@5<{iBboK$<0lq5~W5ni|S>Gcq8XHqcu_-KLNEq0o-7G#t- zZCL$Mr{)YOOgg|hmy!DZ646mO3GHIe&eIJ?s-S#YSxAXDex8|m7d7bHb}o1$TY>-_ zrOR{`@MYQ!W64)6O$Sa4G&-*bDnb(oVM&KPGxL?j8!VN;91&e8O2mjJ{dzl7IGi!a zk}T*~z)JL~`2MP@0wX25&;T>k)4iDfS;Gs=z75amjg%r(i`^DLXqMHGoQTVM344rh z-2fb_F4Hy5#C-?usE|9PupAH&|iOk(1h!{g$XCz2hTz*Eo@G&LI=^&VY3&bL)~FXROVM{i^p zxg(tKp1TUeeHvtM?+~b5UK)`C))W*FaP+8i*|)Uxr(a_SNQ*5E4Gj>; zD1du?HNiS?Q!;_U&HD{Xnq`ubx7`X0Lzk?ZVr1zdMLJxU<0Jq}S|Y2>uj%0EccH#q zz;%B^?MjPUtjv6T)Qj<_kQo^NH9IA53cNWtA zn$qWRcpni_<2qRhXN^;L;U#RRBh5+Hce)m=1Fw?LPu!Q#Jyf+sd)dq8EPuX8Y&!8_ zS#Ru$|9=yPdU~@kC6hR)@y0j@>!dARt~oj9OjwvN9t+3$CS@zNq$193$;p$c!yl8^ zARSOxyZBub2ci@=Utda-|Ab7)6d^_1NA;5aO>YnJ8j>CoUX`yA7c`1@#mRh&Q??Nj zDo8a`0u&cOl7^Fewk^*S%H;$vODw0S$zAVBL!13GjlEbX(;U+_;l5Ugo5|Vf*?|1Pn3M0V+7btp*S(edtFW*1308!W1N=y1{1!M(aVZ*w=kx;W?& z5b$nA9{RbiVbeu05yT(?=Nc3AIsmb20cnK)7;i-3iwJ=?jt z_n7`8`ox+LgZb%qp*IHRm}h^H3GWBgewTc)HSJn|!l6TmPXQ*D_sQ5)^Rc@E6FKy* zdh-pc9&`(0pG!*8wo;E=zr{`n2UCDik;BU?6-E)sulLY4(>FEP2VB_Lq4wzz3oJCPBK(OQZW4G<5tWGv z`Sj`eMMq)s>r;~~Cq)r~QIgq}V}&>olK>Sw_fvZC`&(n(tVDV`BiJnt2&6mtAz7l#`XO#!36 zgkzvKqP^8$i|zjTp3#msvh>PGL1cY+y%L9|b^QW>d#!00%}_-}a#O9WDsSB!FB3N4 z=5%w<*F1fPjbsa_ylDk$S$PAlL_MZZ!aR8bjN#U*%_<~~-aoGxG~rUkr;z67)&E7; zcfe!4zwbMzQ=QT{Dm09fiini#*?6R3WQR~$WoB>MNJvJ>DtpT&SxHv5C!4aj?Ctqq zPiH#c-~V~_>d4_4pU?aKzVG|Guj{&NLSOV>3J`9Qke5%hpHD*jfK==Lz$`5#)}G{) zPyq+*q{KW&k)+c4RPL9|2uKGfx4ft$IHvxxPzaF*6F?ed@AYy*@FoJhbtnwuY1Gx# zD_SSPNhN4&X{jqs{%&o}ckEat(k>*x+xBsNUzn7K|8?s#O0Fwbv%@^I@gk^0U!M^> z>hNea5!eta)&i2#2`UbisY+06*tVf}kMRcDD$8s$pkV7z?meYTko=sNoxK1j&v)7U z@$A&Hk*HPS){ug8x}-#$K-OmLS{1vFT!It$l*O{uNBESxmDSa0h&~SoxrF9RF;}qf zBg#jnR!Wlf;mOG?p{_cGcPGd!X&M?QFi~DK!~~6Zkz9E8^I9a;dQQ|7o(@$^yCfwg z-?`L#F~DuJoO~$Td!I--)?@J>SLNj}o`phhU{l{UJ%Jw;#?6%GF6Se=%q@8T;sQ{C znvkSATZvJTpvUc}cO-W?R+q!C?4fXI#pTqUJdPxstl-6LJv@-aU}P(@%lV*d0&bVi z6de%X6+bh0g$D8iiS&PFGCPDt)Yp^d>GthALi%bJ4OO7HM3;Pk;6_n~gplf%v;pw( zdY8@3%&t-&SiCQE?L<|M`J1iNsC$;Jw{f*Quv?8T1RhDj7(|g57=$xjU+6tM;>^L$ zu8`AnZ-Wc^@opESXtpzWHATzFFbUdm9~BZB0E>{&m}|Y0hm7=ZBYOyj2-_0ArQG=@ z%!Hif31-qQxXF#R_OqY4U}#83$$I7YqYtJoNLAHSB3;V3UPMRc_aI#wNPX;ZB7xAD zsP+x)A-5R#c}}UJ61_w~zhv7^ufsX|@=q~O#oH6yDj%Q*VmWCj;xBbptYH-3677wuV4u!hTGAD-@K=yHt($1rgrhtCAq~r2hAmXO_Zu)(UJKb3tZQO$3SUip=T#%qoMQs z)I+>a=5myzd|JA`BBT-y&a$#8XNNw=Au?hj-_cVp2mjh^6onE=P}z%$`uH)zuX<$Cvi@1WTAv+nUYnFm+R?-|Pyx#YT26 zzISiUMMWUSy8B}++7v3eng#jS3Swg~wqibs}COR!{fSgbe?vnLkev*;?&YJX? zhlc%X(94$*Z!-WdeEXm?>U0AqGrZFqIit>R-=H)GJredwewt^wXieagdT)WvX=M8)D$PWF~=ow%Y9AJ%wn%-Tui+}Y}s ztP1#cUY%k=5B(8h#yAoHxw!aCs5ah>B0fw)SOq+UeIlUI1$N<0MV>vf4KHxRVzkZS% z^_wX|&llU-;aM_tN4`A{p1*+MGfZwdf*cD*klSEiWxHbh&&?El`l8=|($*GscX#(9 z|FO3LAcyYO=I#44Z;B7ObHN)Jxy%%DAI8!!H5hc`gck+8JiZqWDyXQqt&=zp@ak09 z$jk5MDdjm)tM`)?GG)TdSXLfXla>2nE3M!0&TmTT-s#$mktTx0$^z>nuI+t%wo^8X zsh9k^D>>EXhl#*N^7Dj(4-xG#)Gy zeU;b7+fCZDb1X*~dp=3g@eH$M!kV=jrPHen9j<`Tu3eg4C5ZNZp>NPkCXfR?Am+aQ z{O6Y<`&5W(=q%mKYjbp@)qH1hgm0ecPTLJFCPvzxt=0(qmrZl`#O9 zzg(@XpJzNaYMeDF7no*MY!Q6LpETKqHn)%(8yYea2_(#pvJ zE?CB$?=8VQm;(ac`@|J4r!ae-eh~UoEm%Vmp1-ipgO5Hv0O}-{jv>1$2-aRTbSeBo z{QQR@Gu!T8kSu1_TMO&7{MlM?NCd1#e=)EI7b4*XSHNg*`E@3JbPKCqePSz3H(G{! zk&EkKYsLuTi|xo8zkU1nSBH!NK^(PiR`$UB&CXnFF}Nol9gK)KC`P~Zc^5SL`~B=e zUdCAES$hUdfd$Ezfhxmj`ABGud~<8qqj^Aot}(XLx+sk+a(6Nae<#MjhdIZSk`}V0 zT{Y=Do0^Ks+EgX7f{rP6EGjrzep_3M$BBV0125$(P6mh$v>M^pVOjz*%0LJxAS>|R zCVYIfd(~c0gWb$v{F)fk)NC+puW0*JUXq2joGRUXwy9oMgHQ=FElNQe5ASG7ws}lE zpLW|_#BTGbXSnswhli%^4GRkoYilbBhn=nb#H+{+ST>(>rKD}wH^3%1>dM7LocO4$ zF-L9tw)Ua1j?d+>PLZK7sNejxua7(!B_Lq7lu_s^>$xbEQ(h=utV68uy!Z%Qr_w$> z4Jfo!RZ-D57(n&V&RMPq>F>JU{i%-~)cup+3r>rjuSj->dvkI@5&&=(q`d4jMm_!g z7-qizSiIoY2a67!Pxm!AExei8bPDdx7(0pHw0g#6m#LJuC+4T7W+nqtok>Zl`tMNJ zz;kJ+&BWeZq<#Bx6ez8#eWc=@tJF6Wvys?qIx*andCCEqldJ z+!fjPjj#2eu)Q`H3)&l-$q^LiUixuP`2qw7L`=OZw+IVyN?clR>hcapBH8&!o z%t}dN4l69AhaW+2=`rMTrj|zhH$Ohhv$uv2$(4}EOUCllWykg5kT8d&86hwW(I zVN#NOXNBzIaijL^IXMw7ybUO+1f7&gT$yO1qo2?cVaZCD}WTTRLu6LYd2V7#lhC_%h46{O%yR( z&79AC?;IUy2n;1Y{V)&>gJ!(YbU%q?%1VaJMabUwTc=;lZg_O4;4Tmqc=mUKKQ%Hr zHMP?B;>gmH-ITmy?_hf`^#aF61@Nlg1NzEZtJp~KeW>EIgEWc`o;dr1CS}!57cmaw ziF3}M3AuuQW1~gfQi1Cv?QwysOzp|oygW@helGvbH_7Ne^-&!r;r7MYKbYlz zosE-=!azw8R?Iy4xVbH0ZW4L<{!WYlX@apxAK(3&mr(5WY4Z}91Oy(rg1xO|>-7|1 zL&1y1YWQxrU6k7G^NPCVQF4D6zym68j7nWj9t(C9<~)XU>nzkq0%v-b<57si<;9C9 zHZ1(XCGrRfE(yB7-U9i*g##`d+Z9ZLDwd&!1yT~Bu$K&Gh(3M(e3ui@BumbJ>Rf#P z>p54lK}x8dQvwDJlVOgeD;4A?jA8#<`iOu1`S^ZsWo3FV2zT1rS34+eIbm^NK2Uvv zk1u)r5q@Mv;$oy65^AI~arQ_4`X!RqM0If(Tia&Ou2T=ThO>sh{`LORC%OLpo!ue2 zO8W6R{z?T(l}DP|&AQCXM|pS}XevMZT`PCIc&h!^Gr#>pTlwIa;I0LKB zXZ};_;D?`S3IdqILyyaqm* zAlaeo@5k%f+BQR8<t3mhHn$@wt7SB4$GQcAxfV$~*8TcX z$qVZ(v5kM)LiTq2`*GT7$U<<}e=c8YOM)HwlArkd$M6OD+T3Yq8?#b&`KOY{_xJ4J z4fJ^UZ4*tez^TsxxxSaRSUu3Km~p@x9LL zC$j%@BksIaO|*+A4*%~3I5DVBzwVM>xz%jQn5hLvK|zj{_m^c!ndH>|L5`J2IqAc|IZtI(=@U@ z$#dPUJW6LFNdMpamWpffzl-7QIg_-OYyY_x{8;~a8Z!TRPnx4vx%lL{|GCJuwYh@- zyiI)d`ozKYt2}$-VKNu~pT}Zk!%+MB7cI;y*3V!N*u~6LRHVpg^ZH?Y@nRc11kj8c z9~fwRdt-xgsa$r8p%P!Pv|d)5I{lV^o{pk0?{^*|*Y(2Rr~(AcE6(jCnp^TaFL%3h zLNm_E1Ss~`t#Q4>ceb8qm687CAUHe|!lwRKMqf2HKS zFKwlzr8UV8kP9SvM&7|fHP&wX*L$F7pT6{hcXn_xH9kC>cJH=LeCs#KSG%F1p=cS2 zP$BDl2iwrQ6r^28F7YQxAv{P+n_63QDkmlMWLN2;pxf;|)#vyGW4#@-KrWM&tg42f=8WHz zC2{=nfA{kp&C0T}mqOM>m=H*}In*(;A<$&5VM;51dEABiSbnm6^p_xkQ*_a=WzJDf zc4FdkUQ2kzW5A!3+Gce5g%d_e%qWuGbO@V!&Ngq%6o_U{gu!7gV+f`F4pis;@c{>-QNzKe~KHC9enIga@dD| z2cGO?@$=_{`KgXGff(pK9J@pRPRWxAn&T@|W!`UHUFER_C^HA(>x%K2!tkfWkh#Dr ztL~5Gcq3};w;|L(9aN+ENmA6yX~|;d^_gPA$F45a$g=nDQ5*5vYisvD+#(Mn+kxuU z1jTq7&%Qgmc2zGgEn$3T1eVc*qG#4YG?!Hg1Z|}2A@)g^C%Zp2DpbZP#?x}B?q^^) zsaLIsx5n8#)K&b)uK&+@*TnC%@=*0wLzExyLj7e<$&i)uhg-C;0jOW?9T&fNSg{8PR?8d#?g;uv5Qthj^n{bQhKT5hG}> zr6ou+4MUignteO7N>jq51;Ui>5)UT1_t_~DUdGV7?C}PxP8SxigQF8V>AqzB=3kF_ z9%pCgj1yX)MlonAMki0B3FDu!P;6{%@xJiF-{;m!`(cD)w`T5GTU+l}7>gwIet6_gDmg>R^PuRCTI|(-f2K#lb%S+TCZUW@ zS5IP3XLZ`a=kGez$v_{mrCS7>g;38^X)kzERMX7bj2s-!&J}?-N)>x8M{dnaBaEh_`{=*?N)oKEd`gqmiv5TlFQKdQxmisYvmCq7!dl7ii&>w9MFt@ zRA7)s2)01bc}V!eY3R%!yneHO6FRT1Ouu_XNek&xr|DbSa2G|dXoDs>;)Uzi#eck3 zMNSKZ$Et5zMy2hcNk2y*MD&zlV)N&IZK_zgBZK~)8sX=8s9JL8@5;Z32YWVu>Qbmi z-qPyYGGmriD`}=hPg7fWO+Aj~)Txo_8rs;tslLjt>X3+oKQ*(g3zwrjc5Fk{rkeU6~v+m>~eKpq3o-`Ijeq#6LDQMVt0K z&N8Qx4*E4z*j5#{6W}`)RWz)RO}h!%uJ7kmP4Ys%T&%_+5U7!y)fQ}?@bA?zz8Rb9 zYL>Cq&71Y`zU}|4@^xgy=h+>NMBK!S9q%%TW~c8uFV7jBJIl++e`j!UK(mfFSuG2u z04J%+LtfUWXf4li@&ys5Zr}I~ zrsxl4AfI3mwkadtYfox>|A9s3F{9v&{n-yW&L<;)`JZ!f60;bz9^OciUHtxi1-r(I zZM3w^eguQCDfN}r)lLu_Cwn9gY}>>m72U9X|4dO@jg?$gi0?qi$V#2WhV(7clt9Gx zi8-YwCwuXND?SWsnz>0<>v#!TDreGGOd*3!-96r$+;(Uoex0rv_>xR|#v3zr+U)Zt zS$p}-W(qI@20PtyWbS^?*HbmZvv}I0CO!w$RaFHA_$bD2xVgO`d~8UIh~Kd2(%XwH zU|_(!A>hX?*(2$&V!Jp&V#+_T_8|`;9yi-eO$|=KETInF(w`m(2Z_={Q6eNBal7FY z{He@U4boc9opav4rNv@c0TTz+{Mh`2EQgyDRD9a!tR`=E^L05muPnIXI&S!Rh0)<{ zr#q+Uz(Q}atexGGmsnC~*2HOr#vv}9OHDDdt0lCdJGaL9wpGgn@#mQJ#lffry9o!Y z&1i~*pru{v1#hN}f)n=bPpG>viH+YgJBJ!)kvi5R8u-XX{O9{IqyB1vXm4}MZc|e| zG?($RtE;PE&33##vpVW!g)TTC-o%EXpMPEfr#E0eq$#Q6nXj*QR$H#6{l(>_>~L^g zFq2cauR;-P9z)R1%xz)X#jrL20^qEjW3om^u(SYwcHEb)qVgQ`0jx{6vdf$z6W_kA zaF0Ym_2&#@0x{B4e$#GkEM4&P^&4Zpr1te-4q*1nw#-LxhzTr>%(k0t-6@u^%X0;5c@BU&$K@g}G9Xt=$TMQzq%`_T$b8fRPiIjq~z!8aCs~1?(_|xT-YgTk$ zCM|jjRzZ2QUzQ;nAC_=GB6|F|6QcKqP48c5@fJdMg}V^9dW)BZQD9f5Zq+;7B#qQw z^%>{Mt|R$tO9$MKaFi;Z50`jxyauB-6R)PwF%X*#Ga*kpuDO=j^V*IT!o&T06mG99 zob>Ekq45R~mz=Nq#viltuD#DbnH2+_ZWJ_j&x}WF0 zWI%muoKf3Z*weL<_wz1e90Xw>YzE)hwfe2hHU(q)MA@Oo1ECXPA^SUrKLg;3c^D`c zdFebMs1*Ut)fd*m2o5b94)Ev)wFHe$Ow3PJa`v0LlBy8`LEBftf`xE)&vo;7VjN9s zD%ZqHoosgRs;qun=Ilsv!SL8vA9vFDsqyh~)ejz4LKSu4Uc8K=D~C$$)jOxf3DFHg zN7`dp#yt<=tz0RZA8CqK%c3Rjb_}e_)GkjIo=X@aUcQih<{)}JlFSWK(Fl5T{#I&H zlDA7W`?73jkQUmmWYvzH*t;!1zmMcDf=RBtZBlZTf7ZfZjs2fLPoQbdG6{4vdbHKa znwPG(&`>%=(6T>7WO?c(x`7UUMh)q=!=pp&>UGmF(uR$Fv>C*6M@O)shlcnUM_X+C zjI_AzW`-Kl%=#`NVvr`BFB5u;cZw|y$BS!d=%kl}-T{{|#TMQgv93sD5ulgnuS~^% z{1`FRAT~QWY074lYNQrZkvTa(KhiSo_x#9Z=w<8?yD>ZlsXQhh2~y9R@7cTeN`}57 zRZ5#tUEN6(edH3vadkEe%YpaChrOK1&cf1}ZDYHcC0kN;;-A@m_=^jWyOg3;I)}FM z{P*v!USe6MS{KfKSd57oRMvFtL6BKmRxX=##nELoJfm$qY1p1U6m`Lu@A_#Htn1UR)-y}Jnj< z%?M~P405;nPffKNEM!b??v>?0UX#4NQGVcgNW z*zV_l(J-y$bAK<&A{F-A=tm=zH%D9y)t;bgz$T}gm(MYK-Q!j1@0fP0ZdXQoz9T$k z^oK0oVMu6(R_XCHfkk&tnovP%0jM;Y#M>D8RTXIJf*3-+YmqaYBaz!sqI=N^DCJ3Faww?()-3}cOM(@vR2ZDH z*H8x$X$QeNm~tk~Yk>C$Gbu#X!I$TziOPKWsbaQMET}AKyfUfX|Ro2R4XdL@J zG$QP5Y%mOA7(5C%-Bu>L*E){7v9w|pQnq>_-xD$I{`mZeri%-Pn-f6mF~!_rProPV zen+Jm;Q(Ho)_cK8vev_J1dW$G2IHvl+5OYeN(YmHqf~Ac)sVdL7CxnTOJZE;^bSl> z)ETJm@SNQ9`!{AbHoNlY$w=bN;}7%?;#^{D>krTiu^R{`HM}#;`+gQ~=hs9q!U$C} z$~!OyvRAbbqF^3aL>iZrz!uuHV^qv)lz{t_RztIcVdYJxKAwI!(s`B`vawPr=Ya2V zqv5(99c77oA3hF+`+9qu4lDFx@Bo50s$mrGS2IT|R~qwvqbl9$>lzUqjcIRpV4QU0 z2Bx+)x8yqtMPvH(uekNGI&JLN_&NC(KCON)XK90gPpkVQ>*gJFTeo+#gq3JTb zP2Nwws>r0GdQkMeKhTj#o+O@84q^znr}3`BOSjDZjKaa|ijWRgWlBYw1VdJ%mFUnf zuCC?1i|yvY8D}^-lRNWr-7hF8SlHNP^EwUI9#o`^)+`Y9-k->((=%`+;c%0!gn5hE=Re*{r@cw6@-$Y6kkx3#wf8XbL9S(PhOQiM zpa>hAAh$&+wsTF0M~zlLPI8RdOVz2&+_2fH!LIx^IBh_o6glVnD*I3AVb+bC)aA>& zz1?YdlfS%V)=411pxvrp($LT_Xz3&m(F|Xb%gq4PE70C;+uo64(zQ04ThTM<39_Hf z_pfhYp@|b>5Exi{_r(kREKIzCV~w$8_%`ImL;NfP0)4e_y0G1_MocYT8eY@En zuXxH#XA0{aWNAn%Z+w2~owOt3S>2Gu-+;&!S731}grIlCuSxZYaYYX{zmyEgkwTtI z}!*_bh!nC$BD}Jj=;&NKn@NI4NZ1MIs=9e z)ev!n8jwNhA|f4lG0EbGd3lp`tM=<(5s~8CFA`!m%or(;$wjl>?ll}5??)SBW7LEe zm(^nBBGFlHjIJ5ML5D0e<39I|8xmwJ!geArOTQ^8z_FM~{0Wqy*i@pxrEmj)5}LpI zIx#`}!;9q|9iOtTY<|AzmMsJ3?ncFrH3<=p%T_o|fJxpfd5)9Qk{0NY0zX>`+8^kWw6ZD*f0b)%NWA31L9==O`Is1xQa-o0KcKSYh=A!;{IZFp+`Tw zPOIt_Bix?gYs_=I-hyh&_SF(o@@EIlPN3f&pw6N5+iur>eG|x_z8(03(T9hz(jp5C zwh=>E5AL*l`iD>gBhZAD_X;4W0DzENcKG(_c&oZaU07tLe`0O_0S^Y?crusXaXYV_ zh0YHGmjRn#9wYJHJE*#$~gA=XN*So zwQ@9e>oC?#zg6C(N$TlK(h#v}jQJ*g+ab$N5q#{qwdD;N4M=auKkMaH1C1Sykk?f^ zcO-EcwIcLfrup4QJh=%>}4CgWN}abA}LMKA;EBxIl?a4=BAtXsDu-8;`~HNJ@U* zXLML}?feI+)2Ht?^j`A&nRwsd*XQNSg{HVm(muG{anBE?r08Xw$)KaV#$&H~?#dM% zG7g5y#x{sD$oH7ClE|B#JH2Z4Jx1HCPjhe^x1Y$`j+!i1`&DgiaLZ)_i?LP}0_d8r zf`Yo!heul$U<%?^M#*VWWi+5y{V}f5Ln)DgQ@yn@Ms@?$V&4mnEDL>RpJ@HK=PzG! z1Ch;2H}cdczVjAF+I4?48pT7MHkaQ~*=H`3Npf*yz(@2qsvluA|5qG{WFpy67imn* z?z;1M`y%L}<5H%GQhQxjUnJ^v$yh28F@u8}y&G)RICnTs(nps;* zH&uEak}!@Kg5~AWECKK#DYvg4;hv#QHKHi=4y@8OxBROYeC2f92TXvvlx3VpujUeC zGM%MQ{2*@n?Qx)!3a^OBxx725o2&A_ltw4GK6H_29&1 zQksspdwBBpRSw*V`p4jbRTf zrxTiP)FznqyG*DjJe6LqC~iM;;%yi@ZV=?2xB<7H(e|8B3_ShNk$06rg4P>a2T&!M znO2tzI`UU{qt^z{v@eNm;42OktXkQ8Nf2PWS3cB@aytQtnkrQ?5Jb{w8YdwF&>seC zacFjyA_q8s9-~pn$vIzME9$y)j~&>V?%n$d$(dXWHPpwb0b#hx$bGB%kNRHFcozf1 z4Q@Nh0IqyQS367({ML?b@uB!of3-S_L_d_>t{3d=K81;27LTx-{TeIJBKrOGmcS|o zYU)`W#vK0X$VJN!tsa*+creiaxcYG>4mHuaY9W$xl;jY!I4HxHpB-dG_UumU%wyV} z{j(+!LlKhmmo!h`EpT;M9;?_$xrW#a$L+2tsmh`UVz8!&A?ibkaP!t+H44p$h|5_m zO84dSM`&^d5dQvDaeIL(kI zbE(UH5CmdxNp)`FV{7Y~8MK@1f}{hZVgp5uQIk?sfqn z^t97i*~khHms(cVY8}J&_HF9#gfVnVIoWbW!xWbhc!qeyB+2(^Z4BI|{DC2|_m4iX%^hlL<&n>C=6&`h_tSr^!regxXWL z>sigY{yz}gL z#*l=MHY?Ke8oot2<^4j#PJ@_(u!KvXkbX;+>g3*SXv(We!DG$0O+KaDL#uC^0Tj!~ z)m(>`_b3K-itbG?roycbc65SmnAu8nhbpJ$msfg=UHv&ADU}#!<#r5n{>6>SwvS;! zw1pU#2UdQ93<@z#AwEnb?nZ@YOhkW1$iuA-Ub3^F5>c`c>lhkq~B zjK9&-r`Ye#*^k+-EI5u$3h0#{;1pZP>e}HhiP-#-X4)wAYP|x@eIGIwD6O&aWx#)Veu+v32I|w$4yI3dYKe_E@5s#1x^p_sGi>P(>>=)POG`=`CDIRZqhj0AmY69W&*DsHYc!5W*_|X?|or(-lQtnC)~_66J4v-+Fq&X%vXNS)eXZ zpj2HA+)B*`56z=l`3LmhpM7*dabNo8PpquUsRQc4V$Np>_wTdCGlIOMKj@#;QN-@ivsw758!u}w(8y#J|c*-4(#%J`>tE2QZfgN%m<6nl^$ zM`P-6h}wrLB!%QWZDy7u)ZglmcRWUlfVSbqAmTJ<=m2Ce%gl+~er?ipw*2;ibACcB z+iGknI@F16ISAn)Id4vP&XmejzqV(59OS@w7=8y-^&@rw!b8X8!UcX#Caq7Bzqts% zY5O)d7Fl7>Ul+HP`ns+$oqO#McmV}o*+Ax#^4@?|k=K101c^{`XX0AB$2+B-QW;s3 z4N{Vy0}6CMA!C-B+OtQ2^=J&dvuB|4R`^hbA)-NC>8WWgqj9}5o-dAs+8zep8M{%@ z|C6`XG1zdJNp1%NMDgH0sq^Qdw2W}&&-_@g0E3Z^AKOO3#QGr% zPgeeoxpC5*0n*X5-n)*h)tOYYCXZOXtSTQCQF>=FbbqX-mR&apQ&CRW4x3Pkir&iKAgjfhUfM>jL z98ewhk|%C%_qAK$+)?u!^^4nun>U}wNj-0S94*~(RO*e+Fu(26P&6{b6oaNtxYqas zmjNg$?iWLm(qii-?E~^bMj-2)zF^psIbR`h{m| zAGEN&cuwZoSXkECP zu>mFTDGAJlSN0B+3}Ijx$4!7EvtpJpeRTIR+scz0UP}fXu+O%c47(teC=l!#lXb>Q zRqx$ELMM%bjg=@}zy93wpQWA14p$ps3{?Cq%Bfx@KAL@bdR|5nKCpH)2-! zO>t))xm>F%cvwCu8)~SNPE?~qwtS87^M(yiX!-j2zZGpBi3=m3wucmanT%_YvCA`O z1ojMEfyB|rI(_7e(P&){b)M+J;g{`uw>?I`EpNq)lM0>i)Ju(bddJ2xEJq%dJOmD!@|N$A|mS4->=N_dNPRUX0@4rZWVA8ROPsp*fM@1u!`4q$|6J9 zq%#2>v#icxlavU|7C)8MsV49QRyLwBM?S?qL6R9?7w$4}^^W+IchH;kTa(SOi6e7s z#DkN7u2=dSG1b30mn+PR$ocTnWaHMcJ$K_;P}f_aLJboq)wQtTP3Y_voQXm3 zhy>|hM#XVY>5$I?)EB1SX&#eoosMdNnC#^z(h#fDUw z6TN2xzkhRK%va(hNKegIqNyt?0?W1SdcC8VQq2d( z0fxjK5Xa=$>CQ{5Np7zEevXO`4j%$erAW_bjm9bEd9(QDRn`Zb;?uY5i}rbOskJ#( zCvf;x^cHX|3-6ud>v)eARrj;RzN1`I>8_xsl-?FDP4j#rm^c?T9z@68>@g*T=XsFuu zGCnjEgNjUYd3JAyzgfDJlmxHNG%UiTvUoOw859Of<=aM(n^&a7C>oP{aK>2%Vlb^6 zi%<4%bv0ku7SPJm6(`h zgzJ>Z0N~U}axS5FC|XF6Xi*OMM4u_udg31NTR~4UanDbAX=a!>0XVd5c~Esr3_u-$ z%nfO(iJA^6S2+gicrS!^J_J+-w`3euM!agey8W2eL~h;kbtnf11;2BL zn7~l$TgAbXARD1p9%Vz!lUSGl=aHaJ%6stqXY!m`Xu!O zR4OUm%O&mwa^?F#lm@v6ToltEXw=;a_nsXFb=@cZ&P|ulx@YLsgYE{7-GQN>cZyxp z3`}SmQ7m8peH6EpjprK(DGkvza=U}xExtzwRR0F}!EuaFi2CZO+5vGl8WP(mJso2! zUd#_Qr{uX}1m8DYJ6Vx-4>y5RCY>I=UPYz?l*O4R4SY z##_>4bX>HxwS$Bg2XZHzUU#N=S}K8=v^E%Cwe4t?|6g1H@m|z(JNI#QqqPN&24X5O zb6C1huFh|cyS=)Ur~1~$*oCMc%x@Z}%D_FiVJx=`jVO7`y98}0yF9o22BdbM$dXT8 zxLA3L(95h;OHc0;5MVhom~v9_5MpWa=InX#j)wz1Mhu|CeZ)om6n2`ifm89sDF+H4z$q+-OWMsW zKL|s%aRq61iJ_r=ocYb+ngv-ILJwAE>w&2qlJEqEj7t9#7-q_eOSX$sCgKs`XbiKj zCC0y!L1$(!F7fRKT^&tJeBuJ*=iZR;lDgeXO!8*e&`eJJf~Mpe80s9&XUOMiY698i zfniN=ZcD3a@EUACRRS9#D^JDk>q1*Z!ec)zwPmYuR@>MdXeWyCPUCew=cT8rOk7*tjJ|2o+T!x^?Yy%!mQKCxe<@pAYK*h2Ero_rz}plBwk zn1_EN`pAfSw{b(h(YjY;<<2TvKm+{II+djg_e(&r!I%frhI4w#Xp_JWa_4^T1d2AK zD_Ia@l9s!k*CsA(CsUHfe z+=3R@>S$WaaEcv@Ts!)aFNq+ld>*Y5ow4hXVBGG|=Xb!11;2{JWOgj8tIR1ItAmc$ z@R{8cVB^UQjG~LZyM34)!z>5teAyQZF(otO(`mN0PblVB7V0)07rVnKH!Hkp=Nj5Q zeJyE5z5vJ_CQBSj?Y6Y~bht1kVXRsN7|i8ERFCJvwZ_k)st0-cI2qMyoII3VB|DMT z5Utgy7HQOWE#41EhkBnqAg*H5HoAS=1d=gJ{S2}p{euIUwpMm|N%r$EFwvB5@7~wv z(<#GJk8Ik$R2b{zh3i=RW&^DIqbfEEY(-<%di?2V&BpDU9?TWk9{c_owIn626Dt!g zmt0;z&@GQhkhxzAZg(p~8Vo?XuGmvTfitY`7EDy{TZJkEz>YQP5|y?$#ETeqh{br3B>rlT~N_Di{^qIGHuXVrKmM^LFAqM?lOq~J?L z?c3MXm;6}CbJ?_2E%MSm>ErE;)u#6k;TQ$!Y<8?|Id{U}a$+sDSVd@T zW#U193nn%FGVn}v)#6>xDj|0xk5TJjC8wB4r?3lwsZTRu z*DvkC`3v2ZDrx;Y_H#>K*8YX?@%o9uMowjlY~>@&8oQ`uYMv+U=w*EFlkDmms+r_m z{fA64u)C+G(wRg%sXj}aMAV10%iUdQq^D;$;4!hCZl+l&Eu&x<4%CFwQbAZ0y}7pq zK92;6(!(s#zQ@(y$wi(nbvoG+8LdZRfvSnbDrYF(yymh@4Gd?onGj>53JU|@XNe!irQ({J>8pH! zFBomU{)GAhTi2So(YX?*w?Rt8c7~N33_4E$nmSG143myNrk0tY^~H5}ZbwK^5NNX9 z-@XAT^pjw_+hLq_wI2P6xu=nB-mmm?92U*InZyC~2A0luPV>Jb>gPGMIH1Vc%y1MQ z7REz-sv!CUl@ttagj*J?hZYhH08zJErcz|X9}i3r zUsfNrO&67vz95vlQy=T^>+@?1qQk|>&ZVssMaY$xOM-6W1)E~MHdkMYOIuFdBGrKd zO=)_XR4SQKSeC#<2cVReg0_o&v~&}@P+(ju z5G4>qNe(+AL$38zuROB93=t<#pmEbb)sy2g^Ec2wd;JV%al;^$voLizE&F-x^eZ>6 zBqN^DaT<9V7^V}wAA^oMGC3419rtr-pGIbJZC|&DJ`T^~#~xF2bE-LJIq_OQT{#V; z9!Sp<*M|=iOeLqtZ4)O)tfWPN8QDj<+da1M+2wUY>d*qMu*6>s3yQnTvJMXS$pPt^ zk@+%$R`(w)9n|;$s))&?*Co%b7QRzu@B)lQC;8feZ+Rd)q%l30=sH62NEyq4K}5sK za!>XMNHo_d$N!P8k}?(+Y^ZK`z7L4skV88-yM&YkJe3wSywK8A&z;kcS53FED0_Af zq~hb-CKzZA*eenC^BR5~K25QQfR=<@{Sl(16yc_p7H*bO`mH)BDG7&ph|hg}d;9zS zwMsuhQU#nd6yQjoBJ#8i=pSCp(Z6yekys=SIfTh z(W4IICfxSkIX_j&6g-kz#C2giJ z5a)mEQwtT@6u!q_DXJmLwi`g2x4PmGSSvOx9V;Jg6)c#vb@&c*s(<*0<8;dWY}CF`*;{^!piPV;qB5Nq z6XsjdgGPV7T>S0|zb%*W@#7kVPoDIPwdZD`<#PqcbU*+12VgxjrGgC|Ed}@!LHmkM zo9hLa9WugX=mpqhzw~)eXYZox&^)ixZhbhzAZjET$MFN@vH`7|^ zlz9vn-UbE+_FVATPb5H#_f2dkEopmTRaDcE#d_uc>)#;Tl_!9DqpPWya#K9xH%5|| z@dE}1A!<$$%3mdN!$8n8K2tvX#h`^?p8UZ>e3a(N^k}@mrGFJrH=IJ74y1m1<#?Vlo3e6Xalqytxf=*f`>l z@Z#uCpkyiz7XPc0|Ko|XlW(hs-qh-u3Q>u?L`?nbHPtN?xyhu;?`>Ze7FKiIc#AHa-#0%lLi zs}mL1Z1u-&v?x`K*I$nLG@xRV%rYRk{2>vWpPyF)J(y1KT~3b2zEe}EXv7Hwr=_74 z2stLQt&rxU|CV>?V6oqSHTPfhmELEYPW8&b5b%u?Do*_~8LznZiv%&tyqdWPRU7^0 z4I4I~TT0dkc|OoD9`(DjZBriqOv>3e;SEC;z%c~rZ{q}4`9EY^Jvg$+kNJd!h3Tm- zlK5xMZ1TUyPXdks4r7;cb6osMcAuUZA`#f5=;K3kXero1@A_TTLJtzJBjnRLnGeLF zf1S>FhOaltJ6ARR)*1_<&06&2*YSw(b*guYXU=3jsrb63@jGb-wIcB(`Az)&c=Q0K z6(h6%y2hlMPRCE;rdHeOMAO{2#>np3bLO{jrkfslA3yF_<4z&$zTEh7E@HodVamLQ zmaU{Dd);9r_K#0QzWm01@ak{BvA@24j%>%imx^DfY z%X!>l$h_VN;q8mCqkj{0|M=Ze@&C9iZ2qj9R;|q?u-;|ick9=Ye?ewHe(~9cCt-tl z)$rnfzYz+v&Ea)1r}lezt~V4ZqyInOV7a!L+@2CcULnCEZzUCE_}3btv`O|&%ez8XGS*+#jIat&A4PElFVuUz4qIK!^z9{ zpNHA*zk9YnzIm7K_y1iG|MA9{;|h5Cf4n=P!C7fRw6g!ZY>TwH{^K#yT&c}fx8C~Z z?F;N;fprm!;`b(W*#7(4SPd6t_mE%a!atvaf+A$&`S6q6+>&VCR8q5FEv);tQUIbJ zgd(MIpHxcR@9BBO`cz<*wC6e>lCLe^L53JjYVgCB<1(kBr3F99r2P2=z$_*vga&r` zsPypS@{<2^$qQ?o50|Ca){YS3ecnFqbeVPi?Y>(Y55KjLkdV&KBd9s7E!cAc!;VUW zWLA0o?_3ohqVQDg1*$9tkxo;KJvBdv*9{WZ9fha$^@mH`y+JzWkp0jALGgq*??$K9> zU9PU?P06M3G)3j|G&eW*|FQShQB|jF*s#tRV<4hpp`cp<+59NS5or$;loWx4n`cF%@kZc;o;!NC_~GhxQ8t0 zM=YE+cR*fV9>x&UhLm~r>XEts`iwt%fs_c1$-#Z8b(YiRJT1i4sjaHS@BUl`@Q1bP zE2YMc{8rW|;&22ViN^>#_J7~LGwxv5EPk{ff#WVDdx%-sNf8OManxEiiIG{++AqrxzSXwTmhGBnQ_NI)2;RweP2l z(mkF$$;oCx&a4Y5F~e-Fe7N@3ttiMQ@M5H;o2YfJN=VRfn}qwDhEb>UI&zbB^H>jg zPVW@>^6LX0tc8yEyd$@|$d;XhFqn_8EkR}o^xzr>2FfB|d0j}Bly zD|W&<96^FB4KU)^`S=xpMCXMz0+;r;iWIHfgS?0cqMDkTqUE;@57A=sE^%64UD~!c zQayX0pm}=+n*C&!CwmXr)s>Y&6qQ)!yMTh*RAhK29AgMb&tg&1N2dquq@=mAAhk=8ReEDd7TH!n+!#_4Phb?pO$0E|n8w9cf~o3D6Ah_kzL(`fh>RFc%*bR9v7| z*1z1z&&i~wU3%Z&IK#5pCa#7FOVJq6q;hgrF4JX61t`+ek{a{O+V~LWL9iTeeRL#9 zW9(90oJx;ugcB>};Di?U`MYu!li!rIObvM99$R=s6n5HTv3|%YjeYRuP1!u%z)}}R zj%Qb3llaez%;KIK_3v0P+#Rm<8*8xxj1~)_ESFKPJjASUITX50<$XYFHYJEft6i9F z+z4OxN~IZxpG=4lGeNh^CrL0=myyXsRk4T&F^WpLdhS7$Y-tpo!gRn_{E+daeQ?`UsXF&`79;XQ+M|i(&(1U z$)8>j2;<|Tbo9Y-cr4Gu-A*co?9hRot!GbomOq;GUmAhC30c|Mxg_F*mWu|g7URHJ zKLfg-2v|W|C~0YF*E9OAwJ=<|qJ2g23EAZ*=-Jb!)LsX)SWK}}-*+lBJ<>t4EeNL; z_qnPR1AUw9Rv{sJx}vLAT;3(WUX}MSkmH*NGf_R$V*C|TPhClei*U@Y>0SgSgNCl? zsFAZjq;4a-dZq#YQiB$}IiT%75|jr-iK^=G4Hd99V5crECFT6_OIbZu$#Hs!rK$Z> z*KD^uPVslW|2f5QV}>iwxl;!2eL8UXsH2s!n_!6LBoZS;P6`QqIz6DbG9NVjQHMkA zDDNo)W09}+Wqv?{;pO*K94c8$>-p`}rS8R8QpIPhALX^g6V#4ta1yR{{iC-?H5naj zS7k^fSwU=Z&@(F(LH%?0)d}HPvdP!4{oMI0va;1N3c@%F`eV&=B_&&^kVUPW)Xm7n z8F}%6!!XBR?i{s&0f3d9NNb)LYs>mOfw>?v%EB@k9xTUC8I(cuE*k#x(8*U;HQ{Gs zY+r+YyE@)>9Lor#-OppY0zxf20mmOthQlkyuFJ3XU*4l!``kTcAe!pJo;@#D zpr<<_CICrq08i;{MzL;7)}86>JSyfHe0L*Ta)SU!gavM z8|KyU7Phsm@C{4J$;u*obzqgrc~BNI3H&wTuk9I7&xiy(+)c(r{&=Pc{OuLD7Sc*V$6%`(?7$cu_>CtpzLHqEd z1DY1r28%8S*sqMY+MFdB|5vdHPIZ&UBmm4mX_8n%Wq6K4M6sVo=xgV zLl49T1Gow`^N);-jL5~S*1>o=T4BL7A~F(!!mfo5Pt8n=B!emf_32FjuoV3`B2xG= zs|``zxVa_>Oi|kM;FqdX{;J{#inIN;p){4=mtVhxgq)m^tKdX%j-YtQTS7uTGK{a zn%h_;Fe)-DuFjURkHBc^My#TTBqdBM7I1KZaY8K}Pn%re!aG)34w1Sg*ZI3SuDNUT zYHVz5C=?@;T_>R3SzDQKMMa#Rn*-D1`rAuO-#oNzESHPCvmEWnT2gMALOi-IYc@fy zuz~nolak4IXiqXb$FwZBK60Xi1nj2;zFq@>jn~aUAiw0qj#K2js3qOhdng~ZR3`8| z6QK1x+3Zv;#i&2FHz(_rHv=^)_u~`{5Ks19dkrd8&tR1{S`HGnm~eXsih}cpmBtBJ z@%qt@eSTEz&4|sur!Z-mIag#`<-L2;I9R2_w_gUDG!~FPg7de&ctSq0K`CA}!l~7y3V`H~SX@>q}SNRx7?3LfDrkw_IT~`lDlJiJ?r^)j;!>V^#z6aWr??w5e zLqVef*svO4@lP#Yetr~YEmq+Z1c<_+T+o2X zr*3oeHJiz1<8nMs{7~DmK4Ca>rW1}SRr&laF1Ba^n0OuMQ|Tr0fdW3{>lq%Fjh5{k z2yyA|k&{)6)N9xAcL^iXSlXnmQ_*YXJ3;)Xk#rj$ov^VtM8(TRbOkc@0dc1c4Hu5U zuTS90)D(|MxJ6ggh;YNpmuBv+85wgjKJ(A9>OHpMs>nt8$)8ndRqeKRVrdV_W07fz z0)popm=(yy2B}R?TF@c<;L-MtyPj_M`K~wf&EulcloQoZ!^Dj3m}Z9hi{Rk1PK)oc z%vKr07PRL0fvr{Rm@xxQAAE?9--iHZ69q9R78=@MU~auzCPIeUPaIk7De*tNOvn>PH zBCeJ6Tq=5kFPkX5(BJa4C+j+|uO_I7!kOzwbj_MDAHb0`plM_N54KXqx){S9Fvq0n zrKIQHeW|+3v%G{od!_@pqXm0m{=c&HI=OA6x8w(LZHs#`{F1Hh>?%)-tD)_~r9iQ( z{Z>x&wb$1m)nQgmb>-&7+l3?#_>0}=hgE*GNSv0=o8d98e}&c{#v4oV4#4`{XThLL z$CyBwlx#b8ST0f$qPr#m>p>m>RMcK2-bGFG>6uWcRtD2y&$_gDmtAGrG;-*AjCp~^ z>Zxr!l)2Nbxqjy@dzI(Dn3bUG>;9S)acxPp9MpXM(Z;LkjLW^=l>9bE<~9-FeI6FL zi>A{)wvfF*-F$KKxS}UtRKrL0;p1!vnxlxH?yJD_t@i5J1HWkUZkdL=arzLkGr<1a zvl4jxqy#p7xaB=xku?2jYaW;w@7h;)?cj%3&sqv^vflFSRrEeOmDe`NJOJwtb!#8H zra*wXEWr{b4&%)2LV?oz61hd_Ym>J(1vIqZk!pz*2@9ts?R|$T zD=X$);@V-Vvxhz4`Njj12Q6(=(d0=%zYYs4n0@dLS-X{p{2T1Zg0b;oj$RtBmPqX5 zv9H5#t87Z?f(&~PUC3kz$tlZrOvWeU{ZuciIe4ElV6>#DaKcGoPTDHZAx+CAFResp zxzE=IHxtA#Ft&#gSB{T6yVi4s6jM|lhXvw7;QiRcO&Vt0&*L}$&*eCZJy|2Kq;A;olS*lhofC_s$oiUHvO}>#ib?OGSVX7 z_2hJVBX%4hh*RG#dWz%pIvK!CUt=rD;0egn7&snzZ z+9^dZj&}qK96C(^KuVmedrU9kfT!&UuO$rGe|-2*1KLsuymO|svL^b5hpXX`B*~*9 zcw|M%XrJg%N5MqS#QfQVvScd`yz3qNS#Dmja?w#uV+{zN=DFV>JWX zTrW{8q7~zff(4{q!23XT%FK*Kqx1pMwPi0);$T1_7vl=YCbPQXwC&Wt;T1RMJL`i? zcz?5dP|%Eu-polxn*7CgT9T4+uGrRQ$ws)@VS}H>+*|CW4Tl9<9(;<-ueiuWLi9}&n`AN2i?D%)aOaqxi7FE*po~; zD?ncv3DeMm8EO5o5cHC$HlwgF!njBvRCpfZB-?)YDDZ&_8L!uZuTt~F&2(K(U(nqu z{khmr8N_0$MxZ;k^SY|-+PDBz=vxnZd?ULp(oN#K0wcuWQ03*5t?HS(vrL+{kCo22 zg4i5`hiK~CNQm=1U3{K2LT+Knh4{7imuuM#lsJM(NeJYzNQ15An&U%C;%P5mnf+ z@924p4^{)x!?{%kwaKRal_3%BkI61yPj;D;87l$;x4S-*fG;TVPRkD4G_^ zsZSd>^zv1TQ~b*rw~~=-;q#X-d6K zSf2c{z@d?1+Ono6NatKD7W)JcJUm#OZ9pJmGo8XsjBl5ofI;VaimCkENCTR}cdkfR z&xXRo6u~4?gzkRDOptM!!vRo%5+@3W$KuJ!mGa`9kN4rqwHetD_$}2`YV!&#T0Ujl zj7SCxR1_7diG2PnZQise&QwaK@(r(50v{Q*(1lbUvmbl@qKGpWtPoPnJN}fExicgS zTO@tXw%L^lu{seqlTmVGj(b;VWmKDL+xBLorSzl@6n6ZHwcY&9)y>=H2CEdx;71~Q zgU{9p7HLW%wiCOSlq%*nK~DYtPLGm^&PaVn>Jy(=*2Z8X687xwgc{U0kah-AEG$9K zp7k~5IppyTnj z7h@`OSEXd#((6P;MMVfAJ$-$nT;C5FQ(lbsWgs9`8wXe(5F6RxwyTScVBAn`x_iSh zX-dt1;g>QIKo5+o-3TJaPpMWYZSK>x@X=0`>*!RoD~9@DH-@ufK)%Yi@k)?WY&8ZQ+hTCZ*iS zlxEm)K+6eTZ0Oi?KuqARi7brgq04*m!Wm=2?X-_YMf?m5wose3#2D7D-jck-?)lALymw^=n5+!v2q{B&evj6rgtnYt1Z>f4bPbHCiWF6_b)}m zhXq@5b`3W)Oc7H1*)`+P(;2nDiMU-j&O>+g>Jlm6hBteQUa1K;n3N`kZgoE15XGXI zOu1%|10yC_@W%6*LJ5&nq-VgT4?Ri^O(@k)w%Fk*us3xo~k8H%V?8l*d#bA&$ zurtl9?KW^dTc3y$c|~9Mz*6rbG^nL_?kHhqs(jM820pG4Q8`7=LoL<7r)g>iPoNdJ zgm`yPpJoLrRPt{q*1-G$LV)SY-alwv|Gi7GB$J}wKY$YPjbx;Dku+e4k<}%4Jb!OL zl*_$yUg3dK*SlQMoQl_F{hg~a^`7g|NA*$WtMzVcPcXKE?xD)crqL{O)Zi*F&`eT` ze6!IVbmm4SF9rw8n!m#=ECa;)riX5Ur!{lm__OV$rKO?^36)-7U%6p(Q)TtbH7|mh z5r>p`F|nnY6A8!%ya2(`)3+rzTQ6Bc)5R!qGQcSZ5BB8bA5@0by>)N~fspbzp~!b$j&A$PXdJtVxdp{^S8~kYa%j|Z!bOCvTOAk z83xN=v%LyTThMX-sdz_zh>*Jfr7w@!V;`W?S22~9*pCK1wuyUQ-5zE5stBkXwa#2! zT`sXq2jB%z%P`R{rMT6n@X0x&;V9jWZ!$WFBcN%SR)>4ll_G~B_IKc<%{tE${`A8a zo8@B~R{xaB3mQiuXQAh==c8D`Rc{AT9~43k-Epmhlt<3P(YbNfdc>{`X4iElG^{W| z+67d}akBH)+qbs>tu(LJ#}{BKx;%eT=z65D`;$-x&Zfw&<`d^;iT=_Mw5O=npg0e2@O^a9iUbc`gdS8>=zDNIFS!TWVQSkQnpD$t5f;fG)#oU)%Cvf;| zhih$qguacAHhk`}yU@+PQPK0mD}VpUc4bz4ePfC;mAB!WNqdXCgZ>3L%s z?|fe(fB(f3C$#Jyq}VkJ~nEl7xgZD6+`>C;8EwBjqb6*GX`R%}&nYz3rN z>_kUJ#e|Ir--q%T!ylo+{t{$&l2|D`=kBhc*nINd&@b!82#Bi-1=|AfSQC zv0}_&6M#cf%-i(SJ9f1vxsW~`88eQ(^k@T@0^$7KB6PXnSrvA;h&A?K=w(ASgo{s> zt4Y%y0eqoUurqOhbq?LQ0ekNC>!xxM`S<-{4vZU$P@QcfVblMo5-pW|-|NSqicxu? zgagacUl@OZAAkrJK0R=Az*ri@mlw^NAU{Nm_jf;VBK~=pa~SL3XFdw*oR)k+cy*m6+&&XdMhBZq0d+*{8ZOVT zojZTGraEFrhH1+rI=`pI(3$F&`y1Qzf?tm}j&aj=s(Yy=V=I?Q;{_3r(huz2iw#5yY%| zBA~W5m4fEJ2s%ife+y6YKjz&EVG1LKtfz?r-b))NICE5%-6P`X3L zMFHe1)xhh>m{~~^ZwI)z1c%qpB3`&3L&^ zT7kT~AzkMSs!r@U0H_v3v|31}(S5!%MKj`VJHw_vIjcP$iLv1#u){k|LR z@)%y8Ta1edepB8LerMs=uWsT6M6KaD2OFWNh6`$H>6_fe0YxG+JaLN;Mr|}`vtuhm zxU?zhgdEl!obbHk$wgPP$Lsmg4yT!N+u?kmf#!L2#~J#k@gjgnj<+mu#-{5+oFzYU zy01K7p~tgBX>XaP^PKM3AE1`lOtjkoNk(x&ORV;x^91#+QZ z6m?h~4fgh)M85&SpbBE{Y*!b7OSmA{_lb6o2sfx#e8s-(-npj^9PlNvO5E6rWhnv7 zxxk?+w32CDx2rZ^an^1;(yGD{8+_lTVF!C_qChw`>H5gkeW&G5tsF(DnR!}R1UQQ< zxH0iX?`2$nuMqo~4-xPi=i*^~))S{%{qXVQpG$$BZ;3ISSjHNF_9I@r4yc<~D)WwQ z#X>pHW#Pq6xd+EFY#+i4FF#jRWNZ{iJGi6fv-*CG;)M$u82bu0_?keWuhReZ%ZEx4AE?iG?;IvprAQ#VSpP9)K;3K zM^hkIF6+L6_AS;5R0lN+T=%Qey5TE--W2%;0n6ib{jrg0kz|Wlz*#Y-QV}ey{H$8l7us7ZekQu z{j}ky7idSBulASE(sY6jfe!rS@b9|gQBx{W=deg)~YU+qx z98%@*b7;<-Vn(%S$vi7Ak*QKZ^mYYe%LdFDGptERzMKfKD@Xg+;#admzFx;b^y0-D zdZsKVUd1sky#mX=QsQElBfN0zdW(}nLs`d~^UQJ>j(1%N5u(%2UV&VDZS|TV$=cS| z48GXN2pPpF!e4srdsCNKYt@03P!r4cARK1}Bksc{|U`L1ewE!%6Xygx{0PED8Q z4xx)8iN7li;E{$K5%-{dT}CFZ35q3J}zrKZdy6Eh#o-%sVr% zitKPoiLWod8YPFETKI;#F-kuqd)eO8gx`UbV=(E5V5)2%VEw4 zh9ZyZn1gGKLtig0t{mc}G|`WoPXPFzv24pkAQJ~a~YQVTFOM{eb}{PJj9+I zbjCwwX=$mbk*BU6NT+4sNgh=qxYH&pJ5!2zUKW-2Nyhy~4SM-F$MBL(dfk z-QOo?ught2u&RR8ASzPovqmDEQ{7b_uT~!)n(D@&nzn^Kab@C9$q5~;{3FZ+l{Wvv zg1$;&WSG>|iLL}1#k;a;KKrg$1c)BOh7fZM8GdZ<731Cf)zeH{Y^j=Z?E_rp6V#K? zm#G|`A)CXA<=D?~dzS>R9aeM5BZ413d>3^FOI^hsIJyAm{D+jHW%HZp)Nj0k3yDIa zrj!V9vD(M#1liCF8>x^xoZ1v<|FO9yHjUolGwh~&OKR$-R+mzsdQ%m_-Hm2Vk2*yV zhks;XfSCY5a}P|47Tj@hms`D3juzy_n(|s%`VGL`ijjkGC0Wn9+JG+o%VUb>TzhAW z$w=t($g}FDN86G9@|0ZP<9E>$;3@t5;Mprs?Z$Fg_D)K+wDh5WjF69BVS3=pUZgv7 zS5(9~s<4RBK*Rf7bab>)diU=g9-aYsEFH0_PfPR^CTfviA)w%;x4)lK8Yli4Vv-;Y z!YmLr{L>VkvvEW4R=pIze+&inPcP@u8}^Mh75x0vC8|EwT+M63qSlPn`+^N%uDQqA zx<5Sw8WMKL_CWVCf>ldFH+l@Ctox=d#1vJh?yq#i6nbeoyJ)@p%3OY~i2=XX$x@*A ziQUy-vBu5H%35<28^^q6v1nj$Do640qg~nOod~#FTYH3#ZX#Zd zN7)%u|0VJmhRZc*X6tF(Pcgha@M}lmJIVJkJk^8am08~VJa#XBq~mxY(*-i zyK8NNM$Pbf42laQJjx;v8DTSa(DVQ^AOY2>S(XI7!y1_upN!;SEn{shiSTXz%ZgYS z+Xyi*)Enu_*RJ{Bnz!5Tc!VQQy)hAF7mPquUeGMy${OpseG0>p>gEB!#Cml;X3&Vj zITj{#Eq=BevHBAR|MA}xzYA=0pLc9V!^cKIKbY?@M`zbSo?`h&(2`aUEo%LUQuR2@ zPIhsrCObP1pyI~cx)WL$`%uA2%6-~Z5Mj+ew;?9fi!Ajk51`aG9GzA2(#bIR`Xq?ki;{6sD z_VPunYWY6pO#a-a1Ol$yuqz&Wsg#rs%u!d?VrveeJT7ema0b z;Ao&Rz6?8I5bdazzN)7dB_dH(bNXgmu3uxuL?}#>*Oo^dU_iLPZNjKF{OXA^_^TUm zwJ;p}=u#b?)Kq(@w2EsILG`FK4Z~-c++d5OOVBBrn%F*L2B4zn-2;uo zTn?h;Z&i|eSIBPOL7=2e!o^qSz~!U*8en?~WQdd;rXaT$;3eXGS#18yR+y>a z532iw0#u4I?norYC^Il2WdfRD+F7!hQvZKa7@d;%GyN?=tvf z0uU~>S88f%!TR#bOl5&=2Rzj3tLl~B@BV=dIVxV_YHx!Ur7*VGAUye(_k%5l-?uVd zwsAO_Qt0kPSGWB>yiK6b!*@GBCZ-mwRrs=p)H{;#Xdgp5-1|6~t?zI2j7A^s9@k9O z%xfmR>z_?Etf@{`d?A>dd#yH6OG$*hi@+cafCz0b%}>Od%xsvgVJD!MiC2^)doalw zao2ShcEoEHoP~TAU~&!l(bO~GGFx@4_xK6ck|S2QG>{IVnUtiozOXTiq^t6#eBJn_ zk&&t|o1hRzmN8BO0T&w_$B*kG`vSJd;t~=$kccS^Qh_r57Z(7wJ>=gl#5?R*T~ZQl zH$h9VM5~M7h+uxZc7tuX#-Mr8NHGE;A##*m;KB0Sf_+5L?J}>YL&h<>FyVi31Ius$+w@B9Q^cJ7K<2II`Z5PKX#-R2!7b#;9K=8u&lpT2k7 zcL!wIX0SN{AKrgpw`uFd3m4*DQK;b^0MhjT8D$2)yXGHaBB~i?UUeKPO>yaGV*oTE zTbM(m2BV0P!kfQ$Uw=lWD*!!*yA1{4x8w8ivJs^#6AQ}|F21Pg7_Mbaf?uE|!CtW0 z(iho3hy%vNt^p*_sMPB?G zMC6_uIAMa0pAdYFb}7y0GNzC9;aGMSJ1uM*6$ek%EL;ZBg+Yck>iJl~7V>sQa1@q7 zQ4tXkbIOpbA2Ko~fu4zq1ZMD&zlA=9@ix00`jf4o3B?dq5-@}X`De}~X5Q)f215&x zaI~=LYE}+e#a=?r4%oLI@WSL$>Bre-DTnL+2_4aYNE6F27^n~%xEUFvu6ln%8pb4c z@5pgk0~w$%gzn0mD3ew@=|=aa7dfq2R(5FRAvgmNYGKWC*X_r@NbnaD7C;%oYBV;T ziHd5@M;WabJ`^1rtHUzeM3dOwbxvrFx0vg%toTx6p4bF}0bnXHrVU%VMWW=uqx^xL z#IP_hTuNc5i5eNE?wk0n&`zR1nSDN5=ipNbh!^~W*?emXy!=+)^M{}P!b3p_(R}-7+ zG<#EzWh_UhUM?#_4{4})3pZG3Ki~VT-(EI3DugxY=VM=g_$YsV^rOJK@pNmx2*(9G zaB4>f24X7=WL%#-aRk^+ab)qe!Wu0;KCB>c;FZ$UU(madl4ttMKjg8$*L%?@N7?^Y z2|F2;+(mw>Xr)A3lwQ*YW5~ZNH14iBnNPD* zOif6DpxU;B-+8ogO(14#zDK;~E=tM;UaLqoVsa{_HrONuD`qzk2A(YRif!eOjlEYS ze4N1h$;G-DxA8u|G6MJ|B7@(JzZ-QptX|h8fW$sfV zdh2#{xCaMGWMG5{yG-E-gII{?YIc?dYri?2OKTaaW^0jH^c!3+Fe%-q z0)7#)Hr-u;E;a?2r#pX5i6ZO1i(KF2<>dth&FB`K=i-{{E-c2c&(1k8H#Y}5h2z&0 z0;h@}~Y*BsW{3Nqj(Qg}gKfnrxEIk#sm}Drc{T9HpH^XGx z{5)F~+Ptlg9!H(+x&rpnKh-k=1+}|Gz|I8+K8q+wY)S7xUSH*pA7`kB+SiUIn+9Kk zzMgQqrD`W$7H|%S*}FwmH#(!WIs5|miJlE8|F?V!C#Ev2u~C@{D8TyfN}2%dS0;R8 zdwf^}3P4OMqB%rcx-@e@6rr6l&v$LwF#0+$Fz|)NWz*w~Sh`d#!A&3C%hNr<2pTgH z7Z8F{t6k`4!ojwsa!ayDIhi2X zbt$}0XJOoYVW>vp#y-=?8)5qi({l}LiRxL)UnrT=?D2@=){;+LuP#`<8GJ+LmITvZ z`m;Xw|HxDY&Vm-@%Q9qIc@000QABY3?xd@xbJ|;|*zN@~$-jS5;L-$;2=of7shJr} zsOD4MOD8K~P6`^|EH$N(&n(y~A zZAn)fLtG%g!F6FSAN&Nw>^if56E+ zze!O)qA=5&79ZbkeFP{`ev*2z zQXrJOxuTq)<{sI7DEOG@4Fjgl|M>A>W7USJ!NE79NHUi~#{a`=!W?Ktp4)xeK7?470Xxu%L>FhzJrm z#CQAaAo+yCexk?w>7nO+IvjpvmhXT5x%UN$Y~RY`Eimg;1Ucf+^z`)PIW5`wB><>{ zg5WD!W1LuF{fhg%R{NFBAa^hTs1Ph(Y;p4cqGAlz0s{`sW&)P>!@?d{!uYPMNr9ZJ z%o>bbI-pvtjG#Y2r2=R@*2jDJIc(R5tsU~DS(cTLH{cSxrrIn>e!reK{@+x?@8&<% z&B15M6lA*z&3vZ{`|0ydDd&ZRjtdIrS#*7Vv^_8Ml)QjFOE7+x7ewm^9d!SB`?x3{ zfa{Hl*05fPqUp&+E07jfw*PMo@~khRPI5?y5}+~83Xd-B&G(knb{#?QCO7`mcgpCib~4|-e)f`<9O zB+^{g4Bo$JXz+`&9+2g~*8h;dlYjdt$i6lV-c9I3{`pVVQOAJh z^$U{McW=75Q}o9im zy&;qFHTwj_yUfp@chh#g^7hs~bMRN0`@Iuzngx$=y}R(?wbxF-0YGz$&xk}7ij2(4 z%v@ZQPYupct|j-R(efo3^3k&MPmsmN?>O&t?V6jfuad{%<7{jZ?ssf8;CrvrJA|rr zz_+?CX0xNceG`kgbbg?hSJ(KsCZ@X4(NR~|0$?bI&%K}MQ#gL&%d5b^QJ6VTOhmEf zBcZsjOeruZXl)h49||Ox<1sPo>+5h}-ZA&S%@-y0Kl?=T+w3Iz1O*A|SFD1PtSTdf zEE@QONmP0wKZ8ywVKrYm=!srsuvs2CPA1PGkDh>X5vLFvIme)o#-fqk4ae3IXqpoq zY+W#~8%}x`tg)9iessmU zq!*_DEac-_F){Pl8I;*=+ZH_!Db!sD2iIbMt`Tr0?3u-YyYyjcirBS)fLPZzl74W= zKW{%Rf3{+MWnya)VvclM?m9XemSN=Dy7M5U8SLCqLJqTUf=zpdhPrxtzB&jF!eUU zTS?g9hXvKPKPEw0th#tnfo1>PcRx;SH=nw>;nSJ{*rnq8<*BF4RQ~CB20JwgZUI2sT~RNX44=3MUf@Hjn-J{ z!1K`*ka2{`a{-oCR_-=)3mlJ{x&QI8b`tmR-W^I2DMMm8-u053`{1i5bY|7> zL^%=gc$+RuE{ZWPkCfz?qDKjv7P9xczPq(;{0;@!qQ=T^OBK2)E}r(`L&%rU^+M~5 zVf8aM!vgZ*#W^-3Mw~TiBQwp%xaTi*d0K_Q$3fcd-TRo~Urig1biRFJR2Mz-17u`w z^Y(Q6ne@)i7$|KJYy&6Qxt)*IVzj3_A6%UG#*Ol|h!JUMY^zPI`{x#?ya}@Lsvp)i z#`9ktN=@c_bl~8@7aiZBw7^Hvb7|aai+f@BuSOe3z7$5x_Ll6$tlLymb6KP!Sdg@~ z5WBoU2jw#J$^wbVELM^7O|sCfov??FPHQnGK=KfSTqG#L3Yo9(PWSZp4|jLp=8R7B z-Qy+UyT`ofs>HbmpKhKx_&-fGo?r|jE7*-y1n|tX*>&uqprG=4^{V#xWyCnF>gH7= z26)t%d!XO0F*Eb-N=akmc`EzKPce^#;mD9v??23KW5?mgQB#xHBnc41@WH)%r5Qcp z^!_n1TihQJ|7q>gNz^}g7{ZIDc(n$^q{{elTntzp%lN(dV^fm~0)}3i&SzUQF%|p{ z#H)fhT^s!eY_RfFy(&QQWu>a3xuN3j?(T_baCo_w^iiKWeY#YSfsap>MtNY%MLUV| zZ~r(i8?L1SXJc3XV9=ILQSS{W#(D<pi6`j@3S9N=M3nl5gqjl6AEL%KLxY zziE@aSwlkkQTMHzv3FWcEEwP8)n87xiz5D3O5N=nU%t3d>}YXXo>c)XPA*6x-Ep8BYFd!H7pf)L4HOo}P|4v`?%zS=x0oNzg3!Go?$9#++m@|L z`iK{v$qmLj1M8E<5LG~24QSFa)qJoi8Glt)NqT6=vG-ye;`6Q;9 zVWw?qnH&=XuYzGQgB>^S3ekyHr_zTR628vipm8?pyTElc$;1iyPGVRAF%AQ;gT2BZf4o1kM^@v;^r@ulAJyvgBJkm0 z?YC+3=4O}hfh^6aQ`ex$Hl0sau0^IwdU_z`g^O1=U?OU*f_&WbX*Ctj<&p(h0e}gB43Bqo0ny4xzn~RO!DnsI@J=)Zcku}Cxiq6kAg<*s%M5%D(GdCVx6>~3 zO;Jc>5whqE<;In&idurLCeN|Z4EB0uts){IKx<)rjP%0aK>-#(&PR{_l zmOpxgKE@WRmHCYAhiDV9^%w{^2ju) zgKQ>J6(%PC{<>xe9P7T1x2o^pVOk)%KXvYWHE8eLV6~6T#1_IaB1DLX^~xh(SD&5^=oQ#1Bs9}D0H9PCs*ALa7NT)`2AbKcK(b6f)$jRHmak!=5oT=~VkXf;XUpWlqWIuXATPr;CU`r-VczC#ap8t4HkKCl% zbalj6#MZh|=cVne4ajy{x(4JhDoPCCwb|O}p+k|_6~MS;Wl{b+=b@y@`nV2{?*_dpVz;dAVtRoV!6ZAqaAn9KL-RDPqZfr zF5aw@iz1*Yd$`<8Ok}SIDgOeG#qWSG~M-L%qv4)~7t(dV9-A3odjK9H<%$O@fv?5yW^g2E(ynRPjVQzm-(BEy?$K!a#z5}b#axR7$ z)%><5F8U|#$3vQisYf~|3voLV(2(gDFmTU*t`s)kO^!3b>><6vK7#e~S_jGb;30dx zq3T2wd7Yrkfb|=iZ^8ly2YA01+93J(!{-nv;LS7x6M3hJJkp>$VBr1K)F%k|svJCN z6Aiq{ju)jN-$M$1WZP8100a(JBgsbqKF|sitC92tmbh;)v7EtXgFkXANqGKe&B13B z2AA_CJu?D9PMoNGMzc@?^+P-}wJGS-W$93~zu}okx%PUU?Nwc#V+J}iSm9LZl)}w> z8M|A5eV&IQMAaaz&mQpZEA`oTjFr_C+w}UWeJ8s5aX=+};$R5VF4}fh2L7T3P2812 zE6{zCLV_iKpf$#y1zU3!JvipKG{c(V`bzQ`Lv>;cDTg`U-d^G0`41DBcS3ND5Z9OP ze|oSo5`g(XOmGe--#>WE#zx1P@&@$T(JqdFz%gmUh`tOn7^t3!iIs>AIQ{(&<~!}R zp_5=t1|L3e@uuVzul6^Sm4`F|GAXOy{br!Os(E|41uLV$tn-47rEpvUPv3+?S2|=J zUO?{qL=7PflG@70+SLz3cmx!rol)AjA#;Zc%l_a0Z7?`~7B~L^FC180GFH|s3po&u z;pRnoz)Kn;Tfkc(7mtVU-s*s`^DHTu`>+Q&*^|58OwtGqi78m~BDBt_5m17`SVSd= zkMe0TZmH7p^11<~#B~%?K|#&CUG~n^Wo09C4UXj57Q`vS?2_>M`ICgVZ;#hYSvsinuxMGlx50%9YMjN#6t|Y^0|Q%8bd2%n)0zgEoSVELfj! zOzJ6YtO{#?_VrDk0>FP{ZI~H#Y8QPR4)34i*0cLf8KXS~fUubRb~$`4L_R7(uPbon+K{ z{`@&?zugcK)Q_g$w1bv7+Bk*5Vh7RHBs@xs-)T{NBjagJaa{H|2!Bv^*snXi%D((BxxVTZ+d`vV>83WovNhbsqKlb#Lf&Kz4qc~?c zja(aHKK&BQv-z==e1zbJgCC&u>;%A&(*jPu`yeE}Jsz5C%M|;`!}8kN8UlBcFu+rJ!2{gp&YdJpq={%i zVsRWRu_Ono&A1DZiTTWD_*VSwLYlSTkovmAv1vDxQbKD~i1cvVim5k~)tARo4j29L z0r*M!5vCFQ46lPSqL{w^K$5l?#M>=8r8_A*nqum-xp(~b+bZsPq7%im&B6SC@8myz*ASG6$4 zFU}8vmIj~Qcx`Nh+H$gCjZn=N;q^?}#3&n#Q&0Cs8LU-V3p(VsMpcf~yOaz42NQ&Q z*eo8oD(SaNlV9v|tnKF`DPP6Jz(5QcMrtD^KYqMG`_~vAM$Hu-DMjN+v+z`iRD7Zw ze4)E@M#~s!De2bvohOl%hw&aSjY(l9#7qOs2&AzL z;jiDmp=^YqJ{RuTvtj%VN)&Lg7SfJQo8=Vd7=-!%K8T?@FgS>Y4ZJ)wKYuJ#+zAjM zt)?LNgZUU1#T9|PjD+LI?a$3t@l_}vNN{z}@v_)^@Ss5oG%3eSLmB%{($lY*%P9mD zqQV-|Uxo$7pf}=9x?M;sngQJLCi}s4x;)#Q)e-g%4m;_Dl*x#Ue&u?u_)7oP$_=nN%U`4SW$Nh%3uavNC7(aMiKLBJ zeP6y@1{Ct;i`{r*lAOr$yfgc;&}pd!ifz%6F4lO2A3v1ev1?cTfg^mg1L)J!OlT04 zz{8_N1-J1deAYV1@GY;xRFdXnMd%(Hx{;kKf!#Ki1%}jbM8E}NJ{hhG@D2&T;pga2 zs*|ggPjh#Fe~h!bYccvlRYtEtv<*m|5Mz+jyKv9NV$y>$5K2HKsZ2yt)*?`Pj%B}K zIDk(f=k}-11mfA5uZW|oT_4JJT*${!rQy)|ir%2DRef#=w=w3O=rt<015tVy0#xNu zM6e$to#wxfTr&tFVVHha~=)ZV5We>@0rFt1Oi3qL(qQ6XLC z%f5?}L|@SEyTL*!TDd9*n_-Y=^Ot0mZ|r;YZ^z^Dqd-o1tp`82&W^7gCN0_XyvNUW zG7^}X)pAI~J#tmV*hF(t@@FMqM?-%(Rp+pb4CP2LzrST4?P7;N4ez--ccz*zhnlM2HJ(BT?Axc2%q^#|=VBc5dD z(G(*{trObrbmZE*mq&Wgd=WW`4jcf-(ouWtXnuxPMUugtdUHpZC zt|-9I=!8qw?_Ir$Bs)sV9cnoab9T)QaMoOhkfz>?zVBLSE+$_P8BI4yN!Yi`(Zn?n~iLL8P` zg+^8c!{{O8R%A>#;+4Z1W;{lrV|i)m+VPi4+Yd#taZF1-*<}hWx*|k)1#bJa9N`7r z1x9uL_hsY{0$8FV6DLz32R>oa=Fro%edo>(O|OE2g1meK1CKaMnV1B+K73q%s=aCB zhJ`H(3Won8S#-9)UGpH~VS!gEAK(6c*C0WN6t-t*U0iH6ps)gkkDVPxrOgt3D)JX@ zyb2Bd`2PLDJOimu+jvydi-3ZR@eEeG^J=AsVG{s(=H8UG=wN52`wEZ?UXt~C6#t*N8_~7 z-aYTjxPR(*KdQyFg8XE zCS))sSh}Xc8V4Pa0U!djn_}Ud+fB~9TPIH46=Qpl)syefS#^Jpgk>VO#;_CY3I*s0#!bYyh21amjFk$f@Od8ss7393ve*ZYS`|)f z_sMJ#F!{e3Em31Tk3PR9Ipdssh%E-t0a5baWGALq;-d}QC&;ctos!@fgJ(4~WDbvD z-Mul_PIdQqo%@y0FpDfX4T#QT+_(pOR!OMe+fS?)w8G^ToyYje`}SwjvPg@L35N{7 z-kDU3w3tZXfsizNdGD}lD9yI2#lx9=(MuSudg19$(+aXfPmbs0EN!ZDAd!@Wsnk$D z_P;zC-;c7EH8!7H!hm`%3lM3#|6Iif*)Pd^?zu}qfjgVlo45EtoHoH8y{BMjXID|< z{U*g+glR&h*>g>U+yL#Kfn~0*bxM5^^gy9Pleysx38NFuogc0T1#wg08o0$d9}Y?H zdr$TiYzjM^e9{#3_8c!yVbgNOkcJfVv=Mbvz@Z+Y=16{^1uZmfoH%8f*VvdveXM}P z=E4O_UbC0}e*3#Hf|{w;{e&tD?r~u|x?07h+=@)>G&P%20)g=k*{T4gVCTP^c6zkw z>C>%VdU}zbQQJx~nnLH^1cg|}(IZMy7^Z@O4_xd0 zMt|TLr5)u%nn@_rri2nO-AduoJ(?l@*f^o{o_nfY{*~2jo?-sEf5za+s$RGQLvfJh zy*$N*TzzfE`BkFPdlh(yN?dYlwh@u8**@8)(0^ zzn1}~>BR8l{S_x_4q{&qKBx67so&D~q39R$P2bw`Gp7M20@Wl^Ew5eTio$LE(9`pH zaWZX_Fod`%XZ2>IFtCI+i5ks}j6g;FJ9zjCetvA^2v~J=PcdNlb10_p^t3R6__QfWT zNqTWEJrN-E{7Wn%4E&cORY)QS;T31?d6S+js-ac0Nk|;*rQ+%5hms?v5<8J=u@GcU^s)4Tq#ta}zfaE2{D#yDCZ*$(sL$48bgvsr)qW%F#_T3+6Q zne5n`p@z)|Ws@*D;?;=qQ$&0WhKtuYs0pS)yJREW#s_9OoqZM6)ooFvsf@Fj!x^=L z$u;VV|A~7puGkoW-DTSImgPr(#K83cF*M2`s0zV=`z(QBAUgC>jq_+h($S&-0W&PW<9*;PYS4mtV>~Et!`{ zAejV9++vBxhrM^b+gv;+N*}x;6n+8l-$kN#qH|jLgI%_5k6;}5>`;ttxSa|XIUbvh z6m<0Q8k?Hsj{-4V7JyTo0OXIT(mfi_kY*7BgHww><9ZcyMIS{#D1Tt2_31VM{;i^Q z_}XyqI4wstd1`ZbnJALmwDh{TDJ&b6Q{yiYS>tfnn;O|V*5donzI&)G)$#-St}EW& zMQ`7hUuQ=9C?6<8#xX{b<@E-h-fUNUqgi#8u5F;&qu>kws&M z#Fj0Eu95)nV8k_0LfPReRE#%3I3EC5{cLqZdJo*+X^jUPle;)VauG}&6ZEP~spGJp z_t;}%o}nK7PA1Gvh@ZasPoB&0tO3xJPBP+8=F3^O2}?f&8KxRN^sfq-Yi82o^6Dw&#^Tmt2u z{Z<{T?F9FJ@=C!L87aCF1V7k;LJ<5to2e2O^U$^P!5xZ$Q1H~$=JxSOk!jw0rKQWr zXrn9>-aC4gm)~wc+a&3f_Ohl%!CcdRq*psc<=L}m07?Kj=`cI-Md)50bSx|=SiRlk zoUm0z)SJF4W~TN~r>4q0q@W+|6$HR{L3phDv9Sw(y6evA$Xl-HmGX-*_XmM#ygnEut|b^KQq#$Ku0-5x)vEj*u=WWX8Xhj|u67%5 z*Mfag1>?pI0fD0vDJYyT9&R>A+BQ2S5$zw~=*}DLe(in&*_C-{V|2oHh>6J;rY>B( zICw{wp+XSTGZ9!K0)6DJ8;iW9S4y0)I%yutvXu2DMYp%rd*nl$2C0=kCwx;MoY6?O zM4OLxHvjTU0Sbmhb=&Vn165kOT8t0MLP+narArz%(||hHVBoDIp8Gz_ zK<*Q6VB~%+tnoUFw*>`=`c3oRVOgj6=|M%TwuYr3@^oYQ>YqpAghJrNW-_j_%+#RrfwYAZ(Xxdg5z!*drbC?RuA41(AR!804b9`UGMl6>rdE;Z~~OsX|T#c z-E_qpRr%hY`_YqNS;c3Km=I&N$jHX(Ycq|a)?57KLd6^=Fh21ks$qpSyqXs{IpH@1 zSR}?fR&UzQ-hNHv!oR{%;OYo7(8$k>)O%!#Zq@e~4;mSK+`=kNlHRBAkH;-{JuE50 z9~#KM&i4OH={!cw6}Bf4i{4!#b@k*8>}HcQM2I!<4sdWXGxhlh2Ma+w9Ui$6vo=Y~ zI%UhV#f2?FS{bHZ$f}Cj`A8_F80d735(U;h#Tf!sk^6m6o|pGuAL$x&J<^big1%b6 zj(iNUyRT;@l%mtDmxgUKgb}f|a;R(TzLk=0*TVFW+>hn6E*7 z`q)?_Ye>B*E_Tt)prGmU{Sr9yC8pWV zPEK7tkvOd3Nb$NuDgn;##IRmBt-mz;8{V6&f(>Ex^DC8Dj>&QAD!~?dMU*?{R~1>4 zJy6Qv=_^w=GpkyJOkb@yB*4&B<5h&f2b@&p@<=aeD`=gK`-^@nRy&EmL{AZ04VU|l zA~6+NjqK+PjG@GEUr>Re`#ceLac&;wl)S*J79uw$>&mX)7-M%zvBC7}8EwtW=2 z4El&1M&7RZAbr+D5RgAunhs6!DP}q71hD8QLfpp(aw+Nw4@U`Hy@C;n7erp4_x>&r z{0|qDXKWl{BKf=vmI4GtZf0^?t_@5!kWQf8TD99zlkVX~Y}0pk9^6u8=stxalzn&` zIRN7|voJvn!9jsV{I@9?{40!X*5it}K#b@JVp-M_?f)PTCNg#0xG zx()s#I2H#&gw5gKC2aj(fy;82v(2o*f`u(luK&Y{p33;eoJLzUWb5*Mt*L(Otxwb6 zpV|r5a=!ezml~|~v$vKkjF}l{gk3nV$wIK%w$?|Xf3)i;dP;w6CddQq!)>^VQ{?2Z zMF?CLTeC)I3_UZDBfJXRmg8@da2(8BH-Xj-X+wIS-i0STNekHIb(XHbl@+2>P%DLS zU0fbxb&~b+#H{?nUyQ6V0}gk2x>h3~82FcFO>`FuKRYy$R-GnH(~1YL^O3jsfTCSb z#>R{Fnpyuo z;(!utxMy~KVFaSM!ELqxzTn;w<&;BMwZ`dkOfGn;yb>mydFIBK>~X^ZH>OEudn}q{ z=@M8o?VyVpLWYC6pTwz)@+8voQ6eKi5hIXfKK5daGsH}a{+xElMI!`C>=A zs$~+J%-Ev)>bu!nE7vGbCYf8W>|uytCrib-yP&T%p`)W?6)Wp|j0W+Cft)taF!ri7 z(=Z3FWYXFHc5k9j9Jo0+gJT&zoz{nOtFqmjIYq1j9Xw??$0d|V{Rhz6-`i#P4v43v z&dOhvte(_PaPg3AuI^LH;G?Wrvs6^L7T@1dX0>Y!BfB}Mm78S3Dr^+y?V;^8#l02pJ8VKfgMt; z>YAE-1l+$nKVj|C9m7zLD#BEop&iwUiUR-){0W$;H@A$QY3kX0 zaMo2ZjrU#1Di8obImC1an^lYMt}Cyw6Lf(woSNQ(q5s=G4?b8a z6NXp^jOxGd1IS-fgPWfm%rS3SgiKz_H7FBH+Hq2~xh#S7LM8BrTH#lx)qc4Kx-Luq z`LT3E{FrP6LL6|%oerq0Ungd(#5QTqM_LPWBY-F@EH{#^4Gj#GZt)+5y%zKgavOeV z3<6K&=fQmg`PJ8gg4!WI5FOj&fh1zt1Z_SWxt~$? zd@1*Z?<9HO|7et6{IXZZ96b66lVVkc1?P6>H#WMry;+x?Z6Eo&jn>$3%~1$mOJUlF zqZF^z2?GF1qIpd}EQx&pa|%?S4wX1<_3<^YP8R=Bg!_zk4Q4##nJD_-r+zlOpZw`` z@kY)u9Cbeljaoc3LGo#TJ9FjAuTGkno`Mz8+Q~y|xd;RdJL`TWr33r+u@NmbM5g0o ztd*UD>pqmfIQuGj80Rh97FPwi+^<6@v0b~+VlNFDMzP|5S$sV)yTJLq55GW3slVB? z6J7^>eSHp@{LE>bTu3`2f51gxO*CI^fUGSbsoD|>mjZ?`MG&si%B6-qKBx0ffx9j41XUlX; zLdlbHll;$`z&{4;x;15qVZvoj5gJmL5D_Sg^uNDFpX%G#P|2W7B^C2y>x0CjCec#1 z4LI#1M2mUf-Ob^!X?;Gu@L0m(xk4!Eh4*(}8kh@(o*)zREtQS(aPAAeJ5zS%kxB6? zg0}8i|0=idxZnzArr+3pR#1?v_$eO+$Pjc`(XkFU*RAF6=L+6|3lZKz1f7$imrUc9 zZScS$$;bZl{lseuBz^e;iMN5A^`r{h=D->z0`M8sspoAlWWKWG=U0E<$Qd+t%5u)r zIUX8&UvgWjK1-Zk?Z5Df^bb3ruiq{G03D;ZqEVaaWqm)z_u*XSTE96cU!_c7zZ$|` z)zQ(>V~dQ8%qkHp9wZF%!Ggnb@5@LO{b)3=uG%Tg%}tfnbB*Z<^;x;ZDB*S}tDG9O zUP$5R*EZ^7R&`E7LIT?*C{b|jxdJ4py^w?P42CtPU=f4t;CoqoJ6stsDAl%JE#c~% zkhg}H6-duXbxaQn;%yZMTLxki)8;$HCYJY8?hrV(wzz5e7-Hgd4>JAn2Oz5F z4n6sCn^IOUW~%R(kq_S!J8}5I>x9F6O4y3O#hhB*iijwreEjg`O!#l(mnthCQ;>Jw z(<%M++DBv4(|><9O(zd>^5Y9^}qDuYW+A%;RhD{~)JB$kp7)J(3dhJgw)2 zNFLuDg9OokgqvS4;J%S6wd$Cl>JMX}Z!epNZ{AC$2;%q^of~EPRopjEr?{wazV3>| zdh;O<6E$W2-+hh8S$@7UklFX)KlU*{t|Y0}LX|c5r@ff?5AKU!U&_xnlZ5M8!F+(p z%OK&=KTZ$Q`y6)VwtbhhrrT*!cg|IXkyw8c6sjgtKik{ce`Q&pIeqAE7cE@ojaSZG z-2;hxzPj`{|n?5wxxIM4=bvg&p7j6Ys-+sUb;$%ySPLlCQKHt5?}c`+4Hm0t^io z!%u4dEy1_$n7>3`KRwLH^k1RBss^fa19^G)6F#6#qDmNF-qSo-+9rl@99K%N}5aPn;1}VRw1Aza(^rc|2pR%1BC^>rNGIIqyE98vwF7v`=!p>gQQ#ak_ z%U32UJf9XU&_cp4_w9dM<_&siA~@SRIz)x9pFZCWc9fennr#6-A9dwwz43xxOV*S=41gEZ1apcGmH@D3?CAxfO z78bDxWNXuFZeihLdH-dQ-{gvB@_!Wo*@I4qi7C#8tmn@y*g^Yy z_vVd_lT*Cv12-Hyvaj`VTH?JJ9iUwcIIeWyfTOML!02cNJK>`^(7pxH8<@|@ZUA!# z<``6}r{^rVofljy`?ZuDM;wUfK21%%+?f33v-69xvr{r=-Bj|I(NPEcwZv-2(|6>^ zxrUi$@A1VP#20KbzcJP!Ok-yH*JUzKK}N#!GB37V_4*3sC=0mIm4M=|I=(;NG@jHBZf;wjkh?Q7pYzi51CkYHqN!l_;^#K)dA@8|j* zk=$GuXsEcqP?bv9-Td^?0FF^%%8>G_3+YB)IW3*Xe)>PsnM_FJeHLmlGs2hu+vODc zbX~mt*R7bj$=IytT)BB0m$^(l^zQCdo%j1_ZzIz+U+D)d+*sj2y(Y0#7j?5jCl^zmCPg&F?y`oIE<}FBi!}UMr%URWm-0+X z3oL8AzhW_ySDSawsMKmvGTD5`s@1FK{B0X2HP-gM_8)VOGA>_Kf0w7u6po{m*~D+~ zv^&RPJ{nO-eDgB+ektjGJidwcBkU)_Gm|t-scbS=q5Zou#W+KA@2_C?#hJZBltFv4|4?u6XuAO3nzB=K?(q_ngu}8% z^%-7tONmyU?q5zsm(zHBy>lKtswt+Gtv$fBDYr$^@niQceT!w}Iig^ajg+0OZC&1qIqQEvpJ)4!Dy^xuEbohp$-72lk%d0{UUL|%U$K=>qxO9Snf2WG+H*m1 zEsSM+tg@xmFQtFqs=R2=p3BrfS1c^M%@O`I^F-dq*TqaJf@_x#PWc-9+0BkdW;T3S zMkbdXUna#T;GW^q_pYJHz|$^5Z)ef<^N%)?y=B#%3)Oh*YPV4Bb_QLW8Q0?4B+z^Z z2BoK_yJHf{?%K)Pj9v7e_c0?yqWt~u|K4w9(!Yjma?_6KbG-H4 zd4IyYGp!*jvr&1aJFlT2<@#>P*{MFiT9LovZ*AEz*}a}h`_1I0qj1(9Y1UuK2Q9BE zQCn!V4{--HFFIa{h-tm2o^)fnp!Z{I@C90i`%G`amoF?Q4sb!{BH?InKt#{m6`h`*ypML@n*ozS*fQ^yTCP zrv-^k3ku=kmIN)qk54lX`a-m|FVe?n%%d992E2yd-UAmNfjsTUCn=ukei8lN(Mdkn zW=}hdC)SK!-5&k4RG@Yc^1Nt*i0dGAY{ ay}SFS>$rWNJT)NJ>OQ#xvQPFNJNG{V!S~nz literal 0 HcmV?d00001 diff --git a/docs/image/运行日志.png b/docs/image/运行日志.png new file mode 100644 index 0000000000000000000000000000000000000000..0c9070a0e5d26c966c4d3f2241f861004248b618 GIT binary patch literal 245694 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 z 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 literal 0 HcmV?d00001 diff --git a/go.env b/go.env new file mode 100644 index 0000000..6465264 --- /dev/null +++ b/go.env @@ -0,0 +1,2 @@ +GOPROXY=https://goproxy.cn,direct +GOSUMDB=sum.golang.google.cn diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..ad2655e --- /dev/null +++ b/go.mod @@ -0,0 +1,179 @@ +module github.com/prism/proxy + +go 1.25.7 + +require ( + github.com/gin-gonic/gin v1.12.0 + github.com/metacubex/mihomo v1.19.27 + github.com/pressly/goose/v3 v3.27.1 + github.com/robfig/cron/v3 v3.0.1 + golang.org/x/crypto v0.53.0 + gopkg.in/yaml.v3 v3.0.1 + modernc.org/sqlite v1.52.0 +) + +require ( + github.com/RyuaNerin/go-krypto v1.3.0 // indirect + github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344 // indirect + github.com/ajg/form v1.5.1 // indirect + github.com/akutz/memconn v0.1.0 // indirect + github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa // indirect + github.com/andybalholm/brotli v1.2.1 // indirect + github.com/bahlo/generic-list-go v0.2.0 // indirect + github.com/bodgit/plumbing v1.3.0 // indirect + github.com/bodgit/windows v1.0.1 // indirect + github.com/bytedance/gopkg v0.1.3 // indirect + github.com/bytedance/sonic v1.15.0 // indirect + github.com/bytedance/sonic/loader v0.5.0 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect + github.com/coder/websocket v1.8.14 // indirect + github.com/coreos/go-iptables v0.8.0 // indirect + github.com/dlclark/regexp2 v1.12.0 // indirect + github.com/dunglas/httpsfv v1.0.2 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/enfein/mieru/v3 v3.33.0 // indirect + github.com/ericlagergren/aegis v0.0.0-20250325060835-cd0defd64358 // indirect + github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391 // indirect + github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1 // indirect + github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.12 // indirect + github.com/gaukas/godicttls v0.0.4 // indirect + github.com/gin-contrib/sse v1.1.0 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.30.1 // indirect + github.com/gobwas/httphead v0.1.0 // indirect + github.com/gobwas/pool v0.2.1 // indirect + github.com/gobwas/ws v1.4.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect + github.com/goccy/go-yaml v1.19.2 // indirect + github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 // indirect + github.com/gofrs/uuid/v5 v5.4.0 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect + github.com/golang/snappy v1.0.0 // indirect + github.com/google/btree v1.1.3 // indirect + github.com/google/go-cmp v0.7.0 // indirect + github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/huin/goupnp v1.3.0 // indirect + github.com/insomniacslk/dhcp v0.0.0-20250109001534-8abf58130905 // indirect + github.com/josharian/native v1.1.0 // indirect + github.com/jsimonetti/rtnetlink v1.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/compress v1.18.5 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/klauspost/reedsolomon v1.12.3 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.21 // indirect + github.com/mdlayher/netlink v1.7.2 // indirect + github.com/mdlayher/socket v0.5.1 // indirect + github.com/metacubex/age v0.0.0-20260603010618-28d156b4ea78 // indirect + github.com/metacubex/amneziawg-go v0.0.0-20251104174305-5a0e9f7e361d // indirect + github.com/metacubex/ascon v0.1.0 // indirect + github.com/metacubex/bart v0.26.0 // indirect + github.com/metacubex/bbolt v0.0.0-20250725135710-010dbbbb7a5b // indirect + github.com/metacubex/blake3 v0.1.0 // indirect + github.com/metacubex/chacha v0.1.5 // indirect + github.com/metacubex/chi v0.1.0 // indirect + github.com/metacubex/connect-ip-go v0.0.0-20260412152424-e1625567920a // indirect + github.com/metacubex/cpu v0.1.1 // indirect + github.com/metacubex/edwards25519 v1.2.0 // indirect + github.com/metacubex/fswatch v0.1.1 // indirect + github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 // indirect + github.com/metacubex/gvisor v0.0.0-20251227095601-261ec1326fe8 // indirect + github.com/metacubex/hkdf v0.1.0 // indirect + github.com/metacubex/hpke v0.1.0 // indirect + github.com/metacubex/http v0.1.6 // indirect + github.com/metacubex/jsonv2 v0.0.0-20260518173308-f4597c22f1df // indirect + github.com/metacubex/kcp-go v0.0.0-20260105040817-550693377604 // indirect + github.com/metacubex/mhurl v0.1.0 // indirect + github.com/metacubex/mlkem v0.1.0 // indirect + github.com/metacubex/nftables v0.0.0-20260426003805-208c2c1ba2cb // indirect + github.com/metacubex/qpack v0.6.0 // indirect + github.com/metacubex/quic-go v0.59.1-0.20260520020949-fcd18c7b6ace // indirect + github.com/metacubex/randv2 v0.2.0 // indirect + github.com/metacubex/restls-client-go v0.1.7 // indirect + github.com/metacubex/sevenzip v1.6.4 // indirect + github.com/metacubex/sing v0.5.7 // indirect + github.com/metacubex/sing-mux v0.3.9 // indirect + github.com/metacubex/sing-quic v0.0.0-20260527143057-68e10a6afdc3 // indirect + github.com/metacubex/sing-shadowsocks v0.2.12 // indirect + github.com/metacubex/sing-shadowsocks2 v0.2.7 // indirect + github.com/metacubex/sing-shadowtls v0.0.0-20260517015314-c11c36474edc // indirect + github.com/metacubex/sing-tun v0.4.20 // indirect + github.com/metacubex/sing-vmess v0.2.5 // indirect + github.com/metacubex/sing-wireguard v0.0.0-20260520151737-7e7c7c1b854c // indirect + github.com/metacubex/smux v0.0.0-20260105030934-d0c8756d3141 // indirect + github.com/metacubex/ssh v0.1.0 // indirect + github.com/metacubex/tailscale v0.0.0-20260520011538-f23132fac4b7 // indirect + github.com/metacubex/tailscale-wireguard-go v0.0.0-20260521124654-e1bf77ef79af // indirect + github.com/metacubex/tfo-go v0.0.0-20251130171125-413e892ac443 // indirect + github.com/metacubex/tls v0.1.6 // indirect + github.com/metacubex/utls v1.8.4 // indirect + github.com/metacubex/wireguard-go v0.0.0-20250820062549-a6cecdd7f57f // indirect + github.com/metacubex/yamux v0.0.0-20250918083631-dd5f17c0be49 // indirect + github.com/mfridman/interpolate v0.0.2 // indirect + github.com/miekg/dns v1.1.63 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mroth/weightedrand/v2 v2.1.0 // indirect + github.com/ncruces/go-strftime v1.0.0 // indirect + github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 // indirect + github.com/openacid/low v0.1.21 // indirect + github.com/oschwald/maxminddb-golang v1.12.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pierrec/lz4/v4 v4.1.27 // indirect + github.com/pires/go-proxyproto v0.8.0 // indirect + github.com/quic-go/qpack v0.6.0 // indirect + github.com/quic-go/quic-go v0.59.0 // indirect + github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/safchain/ethtool v0.3.0 // indirect + github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a // indirect + github.com/samber/lo v1.53.0 // indirect + github.com/sethvargo/go-retry v0.3.0 // indirect + github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b // indirect + github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c // indirect + github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e // indirect + github.com/sirupsen/logrus v1.9.4 // indirect + github.com/stangelandcl/ppmd v0.1.1 // indirect + github.com/tailscale/certstore v0.1.1-0.20260409135935-3638fb84b77d // indirect + github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55 // indirect + github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a // indirect + github.com/tailscale/peercred v0.0.0-20250107143737-35a0c7bd7edc // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923 // indirect + github.com/ugorji/go/codec v1.3.1 // indirect + github.com/ulikunitz/xz v0.5.15 // indirect + github.com/vishvananda/netns v0.0.5 // indirect + github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/x448/float16 v0.8.4 // indirect + github.com/yosida95/uritemplate/v3 v3.0.2 // indirect + gitlab.com/go-extension/aes-ccm v0.0.0-20230221065045-e58665ef23c7 // indirect + gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect + go.mongodb.org/mongo-driver/v2 v2.5.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go4.org/mem v0.0.0-20240501181205-ae6ca9944745 // indirect + go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect + golang.org/x/arch v0.22.0 // indirect + golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect + golang.org/x/mod v0.36.0 // indirect + golang.org/x/net v0.55.0 // indirect + golang.org/x/oauth2 v0.24.0 // indirect + golang.org/x/sync v0.21.0 // indirect + golang.org/x/sys v0.46.0 // indirect + golang.org/x/term v0.44.0 // indirect + golang.org/x/text v0.38.0 // indirect + golang.org/x/time v0.10.0 // indirect + golang.org/x/tools v0.45.0 // indirect + google.golang.org/protobuf v1.36.11 // indirect + modernc.org/libc v1.72.3 // indirect + modernc.org/mathutil v1.7.1 // indirect + modernc.org/memory v1.11.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..c56e691 --- /dev/null +++ b/go.sum @@ -0,0 +1,443 @@ +github.com/RyuaNerin/go-krypto v1.3.0 h1:smavTzSMAx8iuVlGb4pEwl9MD2qicqMzuXR2QWp2/Pg= +github.com/RyuaNerin/go-krypto v1.3.0/go.mod h1:9R9TU936laAIqAmjcHo/LsaXYOZlymudOAxjaBf62UM= +github.com/RyuaNerin/testingutil v0.1.0 h1:IYT6JL57RV3U2ml3dLHZsVtPOP6yNK7WUVdzzlpNrss= +github.com/RyuaNerin/testingutil v0.1.0/go.mod h1:yTqj6Ta/ycHMPJHRyO12Mz3VrvTloWOsy23WOZH19AA= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344 h1:cDVUiFo+npB0ZASqnw4q90ylaVAbnYyx0JYqK4YcGok= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344/go.mod h1:9pIqrY6SXNL8vjRQE5Hd/OL5GyK/9MrGUWs87z/eFfk= +github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/akutz/memconn v0.1.0 h1:NawI0TORU4hcOMsMr11g7vwlCdkYeLKXBcxWu2W/P8A= +github.com/akutz/memconn v0.1.0/go.mod h1:Jo8rI7m0NieZyLI5e2CDlRdRqRRB4S7Xp77ukDjH+Fw= +github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa h1:LHTHcTQiSGT7VVbI0o4wBRNQIgn917usHWOd6VAffYI= +github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= +github.com/andybalholm/brotli v1.2.1 h1:R+f5xP285VArJDRgowrfb9DqL18yVK0gKAW/F+eTWro= +github.com/andybalholm/brotli v1.2.1/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bodgit/plumbing v1.3.0 h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU= +github.com/bodgit/plumbing v1.3.0/go.mod h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs= +github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= +github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= +github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= +github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= +github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= +github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= +github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= +github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= +github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= +github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= +github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g= +github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= +github.com/coreos/go-iptables v0.8.0 h1:MPc2P89IhuVpLI7ETL/2tx3XZ61VeICZjYqDEgNsPRc= +github.com/coreos/go-iptables v0.8.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8= +github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dunglas/httpsfv v1.0.2 h1:iERDp/YAfnojSDJ7PW3dj1AReJz4MrwbECSSE59JWL0= +github.com/dunglas/httpsfv v1.0.2/go.mod h1:zID2mqw9mFsnt7YC3vYQ9/cjq30q41W+1AnDwH8TiMg= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/enfein/mieru/v3 v3.33.0 h1:hv2jK8nqYHwpSG86U2rpZR2I8Aff1/J3ifRmd9NBbFc= +github.com/enfein/mieru/v3 v3.33.0/go.mod h1:zJBUCsi5rxyvHM8fjFf+GLaEl4OEjjBXr1s5F6Qd3hM= +github.com/ericlagergren/aegis v0.0.0-20250325060835-cd0defd64358 h1:kXYqH/sL8dS/FdoFjr12ePjnLPorPo2FsnrHNuXSDyo= +github.com/ericlagergren/aegis v0.0.0-20250325060835-cd0defd64358/go.mod h1:hkIFzoiIPZYxdFOOLyDho59b7SrDfo+w3h+yWdlg45I= +github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391 h1:8j2RH289RJplhA6WfdaPqzg1MjH2K8wX5e0uhAxrw2g= +github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391/go.mod h1:K2R7GhgxrlJzHw2qiPWsCZXf/kXEJN9PLnQK73Ll0po= +github.com/ericlagergren/saferand v0.0.0-20220206064634-960a4dd2bc5c h1:RUzBDdZ+e/HEe2Nh8lYsduiPAZygUfVXJn0Ncj5sHMg= +github.com/ericlagergren/saferand v0.0.0-20220206064634-960a4dd2bc5c/go.mod h1:ETASDWf/FmEb6Ysrtd1QhjNedUU/ZQxBCRLh60bQ/UI= +github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1 h1:tlDMEdcPRQKBEz5nGDMvswiajqh7k8ogWRlhRwKy5mY= +github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1/go.mod h1:4RfsapbGx2j/vU5xC/5/9qB3kn9Awp1YDiEnN43QrJ4= +github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 h1:fuGucgPk5dN6wzfnxl3D0D3rVLw4v2SbBT9jb4VnxzA= +github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010/go.mod h1:JtBcj7sBuTTRupn7c2bFspMDIObMJsVK8TeUvpShPok= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= +github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk= +github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI= +github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= +github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= +github.com/gin-gonic/gin v1.12.0 h1:b3YAbrZtnf8N//yjKeU2+MQsh2mY5htkZidOM7O0wG8= +github.com/gin-gonic/gin v1.12.0/go.mod h1:VxccKfsSllpKshkBWgVgRniFFAzFb9csfngsqANjnLc= +github.com/github/fakeca v0.1.0 h1:Km/MVOFvclqxPM9dZBC4+QE564nU4gz4iZ0D9pMw28I= +github.com/github/fakeca v0.1.0/go.mod h1:+bormgoGMMuamOscx7N91aOuUST7wdaJ2rNjeohylyo= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= +github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.4.0 h1:CTaoG1tojrh4ucGPcoJFiAQUAsEWekEWvLy7GsVNqGs= +github.com/gobwas/ws v1.4.0/go.mod h1:G3gNqMNtPppf5XUz7O4shetPpcZ1VJ7zt18dlUeakrc= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 h1:sQspH8M4niEijh3PFscJRLDnkL547IeP7kpPe3uUhEg= +github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466/go.mod h1:ZiQxhyQ+bbbfxUKVvjfO498oPYvtYhZzycal3G/NHmU= +github.com/gofrs/uuid/v5 v5.4.0 h1:EfbpCTjqMuGyq5ZJwxqzn3Cbr2d0rUZU7v5ycAk/e/0= +github.com/gofrs/uuid/v5 v5.4.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= +github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= +github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= +github.com/google/tink/go v1.6.1 h1:t7JHqO8Ath2w2ig5vjwQYJzhGEZymedQc90lQXUBa4I= +github.com/google/tink/go v1.6.1/go.mod h1:IGW53kTgag+st5yPhKKwJ6u2l+SSp5/v9XF7spovjlY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= +github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= +github.com/insomniacslk/dhcp v0.0.0-20250109001534-8abf58130905 h1:q3OEI9RaN/wwcx+qgGo6ZaoJkCiDYe/gjDLfq7lQQF4= +github.com/insomniacslk/dhcp v0.0.0-20250109001534-8abf58130905/go.mod h1:VvGYjkZoJyKqlmT1yzakUs4mfKMNB0XdODP0+rdml6k= +github.com/josharian/native v1.0.1-0.20221213033349-c1e37c09b531/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= +github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/jsimonetti/rtnetlink v1.4.0 h1:Z1BF0fRgcETPEa0Kt0MRk3yV5+kF1FWTni6KUFKrq2I= +github.com/jsimonetti/rtnetlink v1.4.0/go.mod h1:5W1jDvWdnthFJ7fxYX1GMK07BUpI4oskfOqvPteYS6E= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/klauspost/reedsolomon v1.12.3 h1:tzUznbfc3OFwJaTebv/QdhnFf2Xvb7gZ24XaHLBPmdc= +github.com/klauspost/reedsolomon v1.12.3/go.mod h1:3K5rXwABAvzGeR01r6pWZieUALXO/Tq7bFKGIb4m4WI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs= +github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4= +github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g= +github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= +github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= +github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= +github.com/metacubex/age v0.0.0-20260603010618-28d156b4ea78 h1:LqWr0vb9zDNuQS+jJd4fnRYk/SEI7KJ7TDe/L4WFK48= +github.com/metacubex/age v0.0.0-20260603010618-28d156b4ea78/go.mod h1:BTBG/iVY7rg3qq5WdVCg0GFk58CSvCDSbjy8I7kEx/c= +github.com/metacubex/amneziawg-go v0.0.0-20251104174305-5a0e9f7e361d h1:vAJ0ZT4aO803F1uw2roIA9yH7Sxzox34tVVyye1bz6c= +github.com/metacubex/amneziawg-go v0.0.0-20251104174305-5a0e9f7e361d/go.mod h1:MsM/5czONyXMJ3PRr5DbQ4O/BxzAnJWOIcJdLzW6qHY= +github.com/metacubex/ascon v0.1.0 h1:6ZWxmXYszT1XXtwkf6nxfFhc/OTtQ9R3Vyj1jN32lGM= +github.com/metacubex/ascon v0.1.0/go.mod h1:eV5oim4cVPPdEL8/EYaTZ0iIKARH9pnhAK/fcT5Kacc= +github.com/metacubex/bart v0.26.0 h1:d/bBTvVatfVWGfQbiDpYKI1bXUJgjaabB2KpK1Tnk6w= +github.com/metacubex/bart v0.26.0/go.mod h1:DCcyfP4MC+Zy7sLK7XeGuMw+P5K9mIRsYOBgiE8icsI= +github.com/metacubex/bbolt v0.0.0-20250725135710-010dbbbb7a5b h1:j7dadXD8I2KTmMt8jg1JcaP1ANL3JEObJPdANKcSYPY= +github.com/metacubex/bbolt v0.0.0-20250725135710-010dbbbb7a5b/go.mod h1:+WmP0VJZDkDszvpa83HzfUp6QzARl/IKkMorH4+nODw= +github.com/metacubex/blake3 v0.1.0 h1:KGnjh/56REO7U+cgZA8dnBhxdP7jByrG7hTP+bu6cqY= +github.com/metacubex/blake3 v0.1.0/go.mod h1:CCkLdzFrqf7xmxCdhQFvJsRRV2mwOLDoSPg6vUTB9Uk= +github.com/metacubex/chacha v0.1.5 h1:fKWMb/5c7ZrY8Uoqi79PPFxl+qwR7X/q0OrsAubyX2M= +github.com/metacubex/chacha v0.1.5/go.mod h1:Djn9bPZxLTXbJFSeyo0/qzEzQI+gUSSzttuzZM75GH8= +github.com/metacubex/chi v0.1.0 h1:rjNDyDj50nRpicG43CNkIw4ssiCbmDL8d7wJXKlUCsg= +github.com/metacubex/chi v0.1.0/go.mod h1:zM5u5oMQt8b2DjvDHvzadKrP6B2ztmasL1YHRMbVV+g= +github.com/metacubex/connect-ip-go v0.0.0-20260412152424-e1625567920a h1:Ph5UfTWDsGruZ+v95Df1ycTflQFmpZBFg2LUvj2kx/M= +github.com/metacubex/connect-ip-go v0.0.0-20260412152424-e1625567920a/go.mod h1:xYC8Ik7/rN6no+vTRuWMEziGwm3brA0wNM/zZP9qhOQ= +github.com/metacubex/cpu v0.1.1 h1:rRV5HGmeuGzjiKI3hYbL0dCd0qGwM7VUtk4ICXD06mI= +github.com/metacubex/cpu v0.1.1/go.mod h1:09VEt4dSRLR+bOA8l4w4NDuzGZ8n5dkMv7e8axgEeTU= +github.com/metacubex/edwards25519 v1.2.0 h1:pIQZLBsjQgg3Nl/c86YYFEUAbL5qQRnPq4LrgIw0KK4= +github.com/metacubex/edwards25519 v1.2.0/go.mod h1:NCQF3J/Ki7382FJuokwsywEIIEI/gro/3smyXgQJsx0= +github.com/metacubex/fswatch v0.1.1 h1:jqU7C/v+g0qc2RUFgmAOPoVvfl2BXXUXEumn6oQuxhU= +github.com/metacubex/fswatch v0.1.1/go.mod h1:czrTT7Zlbz7vWft8RQu9Qqh+JoX+Nnb+UabuyN1YsgI= +github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 h1:cjd4biTvOzK9ubNCCkQ+ldc4YSH/rILn53l/xGBFHHI= +github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759/go.mod h1:UHOv2xu+RIgLwpXca7TLrXleEd4oR3sPatW6IF8wU88= +github.com/metacubex/gvisor v0.0.0-20251227095601-261ec1326fe8 h1:hUL81H0Ic/XIDkvtn9M1pmfDdfid7JzYQToY4Ps1TvQ= +github.com/metacubex/gvisor v0.0.0-20251227095601-261ec1326fe8/go.mod h1:8LpS0IJW1VmWzUm3ylb0e2SK5QDm5lO/2qwWLZgRpBU= +github.com/metacubex/hkdf v0.1.0 h1:fPA6VzXK8cU1foc/TOmGCDmSa7pZbxlnqhl3RNsthaA= +github.com/metacubex/hkdf v0.1.0/go.mod h1:3seEfds3smgTAXqUGn+tgEJH3uXdsUjOiduG/2EtvZ4= +github.com/metacubex/hpke v0.1.0 h1:gu2jUNhraehWi0P/z5HX2md3d7L1FhPQE6/Q0E9r9xQ= +github.com/metacubex/hpke v0.1.0/go.mod h1:vfDm6gfgrwlXUxKDkWbcE44hXtmc1uxLDm2BcR11b3U= +github.com/metacubex/http v0.1.6 h1:xvXuvXMCMxCWMF5nEJF4yiKvXL+p2atWMzs37e80m1I= +github.com/metacubex/http v0.1.6/go.mod h1:Nxx0zZAo2AhRfanyL+fmmK6ACMtVsfpwIl1aFAik2Eg= +github.com/metacubex/jsonv2 v0.0.0-20260518173308-f4597c22f1df h1:S0vBzqjXok24VopstOgPd1JdgglW9tXehrqvwpQWbQ8= +github.com/metacubex/jsonv2 v0.0.0-20260518173308-f4597c22f1df/go.mod h1:F4sVXat6QjPXkNsKRDyyG3BhSkxPFFnRPEIwmmyCgbg= +github.com/metacubex/kcp-go v0.0.0-20260105040817-550693377604 h1:hJwCVlE3ojViC35MGHB+FBr8TuIf3BUFn2EQ1VIamsI= +github.com/metacubex/kcp-go v0.0.0-20260105040817-550693377604/go.mod h1:lpmN3m269b3V5jFCWtffqBLS4U3QQoIid9ugtO+OhVc= +github.com/metacubex/mhurl v0.1.0 h1:ZdW4Zxe3j3uJ89gNytOazHu6kbHn5owutN/VfXOI8GE= +github.com/metacubex/mhurl v0.1.0/go.mod h1:2qpQImCbXoUs6GwJrjuEXKelPyoimsIXr07eNKZdS00= +github.com/metacubex/mihomo v1.19.27 h1:Yw0sep/yXiC5B/doFAqtLVt9D+NrwHyukcsoa+dU8C4= +github.com/metacubex/mihomo v1.19.27/go.mod h1:OPVY7SkbwJ24yBVBYGCLNRhK4bjIuXiKYyJKa9opv4Y= +github.com/metacubex/mlkem v0.1.0 h1:wFClitonSFcmipzzQvax75beLQU+D7JuC+VK1RzSL8I= +github.com/metacubex/mlkem v0.1.0/go.mod h1:amhaXZVeYNShuy9BILcR7P0gbeo/QLZsnqCdL8U2PDQ= +github.com/metacubex/nftables v0.0.0-20260426003805-208c2c1ba2cb h1:wk6mHYPURSUvWcUv72gNP79oiylFsscBSDPJ6ieV6Iw= +github.com/metacubex/nftables v0.0.0-20260426003805-208c2c1ba2cb/go.mod h1:73ZrCfhdkW4F2E2GAlta3km/S2RHhFNogCMtWZV2anQ= +github.com/metacubex/qpack v0.6.0 h1:YqClGIMOpiRYLjV1qOs483Od08MdPgRnHjt90FuaAKw= +github.com/metacubex/qpack v0.6.0/go.mod h1:lKGSi7Xk94IMvHGOmxS9eIei3bvIqpOAImEBsaOwTkA= +github.com/metacubex/quic-go v0.59.1-0.20260520020949-fcd18c7b6ace h1:KXacx7dp1GYVMgxezwXRt5BMsEbvAYuA6rPFUmdAvcQ= +github.com/metacubex/quic-go v0.59.1-0.20260520020949-fcd18c7b6ace/go.mod h1:2YEQEvFrZ5V76oynMBDTlN+4fdnSHCa2uNJxv3cm1HU= +github.com/metacubex/randv2 v0.2.0 h1:uP38uBvV2SxYfLj53kuvAjbND4RUDfFJjwr4UigMiLs= +github.com/metacubex/randv2 v0.2.0/go.mod h1:kFi2SzrQ5WuneuoLLCMkABtiBu6VRrMrWFqSPyj2cxY= +github.com/metacubex/restls-client-go v0.1.7 h1:eCwiXCTQb5WJu9IlgYvDBA1OgrINv58dEe7hcN5H15k= +github.com/metacubex/restls-client-go v0.1.7/go.mod h1:BN/U52vPw7j8VTSh2vleD/MnmVKCov84mS5VcjVHH4g= +github.com/metacubex/sevenzip v1.6.4 h1:OIL+DeOeSAbKNsjqxcYUMiarRmX6Kaxakb0GT7E9Oik= +github.com/metacubex/sevenzip v1.6.4/go.mod h1:FP3X9bzFKj9wPxifGN9B3w2fIEicMjzKYIGIhnu+1pw= +github.com/metacubex/sing v0.5.7 h1:8OC+fhKFSv/l9ehEhJRaZZAOuthfZo68SteBVLe8QqM= +github.com/metacubex/sing v0.5.7/go.mod h1:ypf0mjwlZm0sKdQSY+yQvmsbWa0hNPtkeqyRMGgoN+w= +github.com/metacubex/sing-mux v0.3.9 h1:/aoBD2+sK2qsXDlNDe3hkR0GZuFDtwIZhOeGUx9W0Yk= +github.com/metacubex/sing-mux v0.3.9/go.mod h1:8bT7ZKT3clRrJjYc/x5CRYibC1TX/bK73a3r3+2E+Fc= +github.com/metacubex/sing-quic v0.0.0-20260527143057-68e10a6afdc3 h1:PnMby5+kZXTl/CFDHfxMbMTaSRD+uMKMsrDYVQyAmX8= +github.com/metacubex/sing-quic v0.0.0-20260527143057-68e10a6afdc3/go.mod h1:6ayFGfzzBE85csgQkM3gf4neFq6s0losHlPRSxY+nuk= +github.com/metacubex/sing-shadowsocks v0.2.12 h1:Wqzo8bYXrK5aWqxu/TjlTnYZzAKtKsaFQBdr6IHFaBE= +github.com/metacubex/sing-shadowsocks v0.2.12/go.mod h1:2e5EIaw0rxKrm1YTRmiMnDulwbGxH9hAFlrwQLQMQkU= +github.com/metacubex/sing-shadowsocks2 v0.2.7 h1:hSuuc0YpsfiqYqt1o+fP4m34BQz4e6wVj3PPBVhor3A= +github.com/metacubex/sing-shadowsocks2 v0.2.7/go.mod h1:vOEbfKC60txi0ca+yUlqEwOGc3Obl6cnSgx9Gf45KjE= +github.com/metacubex/sing-shadowtls v0.0.0-20260517015314-c11c36474edc h1:8wLoFfYQ88iGPL+krQ5tJsI8IAmkFjKpQL2q+y3pvss= +github.com/metacubex/sing-shadowtls v0.0.0-20260517015314-c11c36474edc/go.mod h1:mbfboaXauKJNIHJYxQRa+NJs4JU9NZfkA+I33dS2+9E= +github.com/metacubex/sing-tun v0.4.20 h1:xdupzizRoZKyDzP0l68WAx5Sk4ooiuT1GiWsiJyOGPw= +github.com/metacubex/sing-tun v0.4.20/go.mod h1:g4I/JNplDBhXLF+aQWgFbhNeJPSXQOWS9HvLeNvkgeA= +github.com/metacubex/sing-vmess v0.2.5 h1:m9Zt5I27lB9fmLMZfism9sH2LcnAfShZfwSkf6/KJoE= +github.com/metacubex/sing-vmess v0.2.5/go.mod h1:AwtlzUgf8COe9tRYAKqWZ+leDH7p5U98a0ZUpYehl8Q= +github.com/metacubex/sing-wireguard v0.0.0-20260520151737-7e7c7c1b854c h1:tH9FuQW357zp2xAGzkoZTGpNGMVmEFZov0iV5M2S5ew= +github.com/metacubex/sing-wireguard v0.0.0-20260520151737-7e7c7c1b854c/go.mod h1:eQZDJTx+IH3k4mXqaOJ3VJ9h9ZqOl60F7TLi5wAU51Q= +github.com/metacubex/smux v0.0.0-20260105030934-d0c8756d3141 h1:DK2l6m2Fc85H2BhiAPgbJygiWhesPlfGmF+9Vw6ARdk= +github.com/metacubex/smux v0.0.0-20260105030934-d0c8756d3141/go.mod h1:/yI4OiGOSn0SURhZdJF3CbtPg3nwK700bG8TZLMBvAg= +github.com/metacubex/ssh v0.1.0 h1:iGfr99qk/eMHzUnQ/0bTxXT8+8SWqLSHBWDHoAhngzw= +github.com/metacubex/ssh v0.1.0/go.mod h1:NUtl0d+/f2cG9ECEpMM8iCVOpmggQlC13oLeDUONDlU= +github.com/metacubex/tailscale v0.0.0-20260520011538-f23132fac4b7 h1:LoJR4NMyNKHeEJoeGDtcsao7sV0NRkzMeV5H/0J0MIE= +github.com/metacubex/tailscale v0.0.0-20260520011538-f23132fac4b7/go.mod h1:MAo3HhE7968rIwmDvYTYE8xCsV4x+hLnkChdXeP3X4c= +github.com/metacubex/tailscale-wireguard-go v0.0.0-20260521124654-e1bf77ef79af h1:c60IbBMUq2h1M2m7+grMJJmBmrObxL8SwvNtm6Ozbwk= +github.com/metacubex/tailscale-wireguard-go v0.0.0-20260521124654-e1bf77ef79af/go.mod h1:i3zLKytWkOnyT1i9OmiLevWvrN5J5HE1+yjE7UYNfcQ= +github.com/metacubex/tfo-go v0.0.0-20251130171125-413e892ac443 h1:H6TnfM12tOoTizYE/qBHH3nEuibIelmHI+BVSxVJr8o= +github.com/metacubex/tfo-go v0.0.0-20251130171125-413e892ac443/go.mod h1:l9oLnLoEXyGZ5RVLsh7QCC5XsouTUyKk4F2nLm2DHLw= +github.com/metacubex/tls v0.1.6 h1:t2ubLneYa4ceyIC++54a57BLqZFA/QYUrhdjLk2GPwo= +github.com/metacubex/tls v0.1.6/go.mod h1:0XeVdL0cBw+8i5Hqy3lVeP9IyD/LFTq02ExvHM6rzEM= +github.com/metacubex/utls v1.8.4 h1:HmL9nUApDdWSkgUyodfwF6hSjtiwCGGdyhaSpEejKpg= +github.com/metacubex/utls v1.8.4/go.mod h1:kncGGVhFaoGn5M3pFe3SXhZCzsbCJayNOH4UEqTKTko= +github.com/metacubex/wireguard-go v0.0.0-20250820062549-a6cecdd7f57f h1:FGBPRb1zUabhPhDrlKEjQ9lgIwQ6cHL4x8M9lrERhbk= +github.com/metacubex/wireguard-go v0.0.0-20250820062549-a6cecdd7f57f/go.mod h1:oPGcV994OGJedmmxrcK9+ni7jUEMGhR+uVQAdaduIP4= +github.com/metacubex/yamux v0.0.0-20250918083631-dd5f17c0be49 h1:lhlqpYHopuTLx9xQt22kSA9HtnyTDmk5XjjQVCGHe2E= +github.com/metacubex/yamux v0.0.0-20250918083631-dd5f17c0be49/go.mod h1:MBeEa9IVBphH7vc3LNtW6ZujVXFizotPo3OEiHQ+TNU= +github.com/mfridman/interpolate v0.0.2 h1:pnuTK7MQIxxFz1Gr+rjSIx9u7qVjf5VOoM/u6BbAxPY= +github.com/mfridman/interpolate v0.0.2/go.mod h1:p+7uk6oE07mpE/Ik1b8EckO0O4ZXiGAfshKBWLUM9Xg= +github.com/miekg/dns v1.1.63 h1:8M5aAw6OMZfFXTT7K5V0Eu5YiiL8l7nUAkyN6C9YwaY= +github.com/miekg/dns v1.1.63/go.mod h1:6NGHfjhpmr5lt3XPLuyfDJi5AXbNIPM9PY6H6sF1Nfs= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mroth/weightedrand/v2 v2.1.0 h1:o1ascnB1CIVzsqlfArQQjeMy1U0NcIbBO5rfd5E/OeU= +github.com/mroth/weightedrand/v2 v2.1.0/go.mod h1:f2faGsfOGOwc1p94wzHKKZyTpcJUW7OJ/9U4yfiNAOU= +github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= +github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= +github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 h1:1102pQc2SEPp5+xrS26wEaeb26sZy6k9/ZXlZN+eXE4= +github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7/go.mod h1:UqoUn6cHESlliMhOnKLWr+CBH+e3bazUPvFj1XZwAjs= +github.com/openacid/errors v0.8.1/go.mod h1:GUQEJJOJE3W9skHm8E8Y4phdl2LLEN8iD7c5gcGgdx0= +github.com/openacid/low v0.1.21 h1:Tr2GNu4N/+rGRYdOsEHOE89cxUIaDViZbVmKz29uKGo= +github.com/openacid/low v0.1.21/go.mod h1:q+MsKI6Pz2xsCkzV4BLj7NR5M4EX0sGz5AqotpZDVh0= +github.com/openacid/must v0.1.3/go.mod h1:luPiXCuJlEo3UUFQngVQokV0MPGryeYvtCbQPs3U1+I= +github.com/openacid/testkeys v0.1.6/go.mod h1:MfA7cACzBpbiwekivj8StqX0WIRmqlMsci1c37CA3Do= +github.com/oschwald/maxminddb-golang v1.12.0 h1:9FnTOD0YOhP7DGxGsq4glzpGy5+w7pq50AS6wALUMYs= +github.com/oschwald/maxminddb-golang v1.12.0/go.mod h1:q0Nob5lTCqyQ8WT6FYgS1L7PXKVVbgiymefNwIjPzgY= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.27 h1:+PhzhWDrjRj89TH2sw43nE3+4+W8lSxIuQadEHZyjUk= +github.com/pierrec/lz4/v4 v4.1.27/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= +github.com/pires/go-proxyproto v0.8.0 h1:5unRmEAPbHXHuLjDg01CxJWf91cw3lKHc/0xzKpXEe0= +github.com/pires/go-proxyproto v0.8.0/go.mod h1:iknsfgnH8EkjrMeMyvfKByp9TiBZCKZM0jx2xmKqnVY= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pressly/goose/v3 v3.27.1 h1:6uEvcprBybDmW4hcz3gYujhARhye+GoWKhEWyzD5sh4= +github.com/pressly/goose/v3 v3.27.1/go.mod h1:maruOxsPnIG2yHHyo8UqKWXYKFcH7Q76csUV7+7KYoM= +github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= +github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= +github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= +github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= +github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e h1:dCWirM5F3wMY+cmRda/B1BiPsFtmzXqV9b0hLWtVBMs= +github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e/go.mod h1:9leZcVcItj6m9/CfHY5Em/iBrCz7js8LcRQGTKEEv2M= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= +github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= +github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a h1:ObwtHN2VpqE0ZNjr6sGeT00J8uU7JF4cNUdb44/Duis= +github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a/go.mod h1:xLnfdiJbSp8rNqYEdIW/6eDO4mVoogml14Bh2hSiFpM= +github.com/samber/lo v1.53.0 h1:t975lj2py4kJPQ6haz1QMgtId2gtmfktACxIXArw3HM= +github.com/samber/lo v1.53.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= +github.com/sethvargo/go-retry v0.3.0 h1:EEt31A35QhrcRZtrYFDTBg91cqZVnFL2navjDrah2SE= +github.com/sethvargo/go-retry v0.3.0/go.mod h1:mNX17F0C/HguQMyMyJxcnU471gOZGxCLyYaFyAZraas= +github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b h1:rXHg9GrUEtWZhEkrykicdND3VPjlVbYiLdX9J7gimS8= +github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b/go.mod h1:X7qrxNQViEaAN9LNZOPl9PfvQtp3V3c7LTo0dvGi0fM= +github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c h1:DjKMC30y6yjG3IxDaeAj3PCoRr+IsO+bzyT+Se2m2Hk= +github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c/go.mod h1:NV/a66PhhWYVmUMaotlXJ8fIEFB98u+c8l/CQIEFLrU= +github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e h1:ur8uMsPIFG3i4Gi093BQITvwH9znsz2VUZmnmwHvpIo= +github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e/go.mod h1:+e5fBW3bpPyo+3uLo513gIUblc03egGjMM0+5GKbzK8= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stangelandcl/ppmd v0.1.1 h1:c25QazhlWUn5nmR1QOzafKhQxBicAr7GGCKER2aJ8H8= +github.com/stangelandcl/ppmd v0.1.1/go.mod h1:Rrv7M+/2P5jYr/GMLhBl7Ug3uJ1bUiVzr5LbbaV6xgY= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/tailscale/certstore v0.1.1-0.20260409135935-3638fb84b77d h1:JcGKBZAL7ePLwOhUdN8qGQZlP5GueEiIZwY7R62pejE= +github.com/tailscale/certstore v0.1.1-0.20260409135935-3638fb84b77d/go.mod h1:XrBNfAFN+pwoWuksbFS9Ccxnopa15zJGgXRFN90l3K4= +github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55 h1:Gzfnfk2TWrk8Jj4P4c1a3CtQyMaTVCznlkLZI++hok4= +github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55/go.mod h1:4k4QO+dQ3R5FofL+SanAUZe+/QfeK0+OIuwDIRu2vSg= +github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a h1:SJy1Pu0eH1C29XwJucQo73FrleVK6t4kYz4NVhp34Yw= +github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a/go.mod h1:DFSS3NAGHthKo1gTlmEcSBiZrRJXi28rLNd/1udP1c8= +github.com/tailscale/peercred v0.0.0-20250107143737-35a0c7bd7edc h1:24heQPtnFR+yfntqhI3oAu9i27nEojcQ4NuBQOo5ZFA= +github.com/tailscale/peercred v0.0.0-20250107143737-35a0c7bd7edc/go.mod h1:f93CXfllFsO9ZQVq+Zocb1Gp4G5Fz0b0rXHLOzt/Djc= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923 h1:tHNk7XK9GkmKUR6Gh8gVBKXc2MVSZ4G/NnWLtzw4gNA= +github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923/go.mod h1:eLL9Nub3yfAho7qB0MzZizFhTU2QkLeoVsWdHtDW264= +github.com/ugorji/go/codec v1.3.1 h1:waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY= +github.com/ugorji/go/codec v1.3.1/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= +github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.5 h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zdEY= +github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= +github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= +github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae h1:J0GxkO96kL4WF+AIT3M4mfUVinOCPgf2uUWYFUzN0sM= +github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae/go.mod h1:gXtu8J62kEgmN++bm9BVICuT/e8yiLI2KFobd/TRFsE= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= +github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4= +github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4= +gitlab.com/go-extension/aes-ccm v0.0.0-20230221065045-e58665ef23c7 h1:UNrDfkQqiEYzdMlNsVvBYOAJWZjdktqFE9tQh5BT2+4= +gitlab.com/go-extension/aes-ccm v0.0.0-20230221065045-e58665ef23c7/go.mod h1:E+rxHvJG9H6PUdzq9NRG6csuLN3XUx98BfGOVWNYnXs= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiVfzQttTuxanPIT43FtkkCFypIod8LHo= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= +go.mongodb.org/mongo-driver/v2 v2.5.0 h1:yXUhImUjjAInNcpTcAlPHiT7bIXhshCTL3jVBkF3xaE= +go.mongodb.org/mongo-driver/v2 v2.5.0/go.mod h1:yOI9kBsufol30iFsl1slpdq1I0eHPzybRWdyYUs8K/0= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go4.org/mem v0.0.0-20240501181205-ae6ca9944745 h1:Tl++JLUCe4sxGu8cTpDzRLd3tN7US4hOxG5YpKCzkek= +go4.org/mem v0.0.0-20240501181205-ae6ca9944745/go.mod h1:reUoABIJ9ikfM5sgtSF3Wushcza7+WeD01VB9Lirh3g= +go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M= +go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y= +golang.org/x/arch v0.22.0 h1:c/Zle32i5ttqRXjdLyyHZESLD/bB90DCU1g9l/0YBDI= +golang.org/x/arch v0.22.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4= +golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= +golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= +golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= +golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= +golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= +golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= +golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= +golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= +golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +modernc.org/cc/v4 v4.28.2 h1:3tQ0lf2ADtoby2EtSP+J7IE2SHwEJdP8ioR59wx7XpY= +modernc.org/cc/v4 v4.28.2/go.mod h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI= +modernc.org/ccgo/v4 v4.34.0 h1:yRLPFZieg532OT4rp4JFNIVcquwalMX26G95WQDqwCQ= +modernc.org/ccgo/v4 v4.34.0/go.mod h1:AS5WYMyBakQ+fhsHhtP8mWB82KTGPkNNJDGfGQCe0/A= +modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM= +modernc.org/fileutil v1.4.0/go.mod h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU= +modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= +modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= +modernc.org/gc/v3 v3.1.2 h1:ZtDCnhonXSZexk/AYsegNRV1lJGgaNZJuKjJSWKyEqo= +modernc.org/gc/v3 v3.1.2/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= +modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= +modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= +modernc.org/libc v1.72.3 h1:ZnDF4tXn4NBXFutMMQC4vtbTFSXhhKzR73fv0beZEAU= +modernc.org/libc v1.72.3/go.mod h1:dn0dZNnnn1clLyvRxLxYExxiKRZIRENOfqQ8XEeg4Qs= +modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= +modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= +modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= +modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= +modernc.org/opt v0.2.0 h1:tGyef5ApycA7FSEOMraay9SaTk5zmbx7Tu+cJs4QKZg= +modernc.org/opt v0.2.0/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= +modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= +modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= +modernc.org/sqlite v1.52.0 h1:p4dhYh2tXZCiyaqHwRVJDjIGKWyXayiQpThxgDzJaxo= +modernc.org/sqlite v1.52.0/go.mod h1:tcNzv5p84E0skkmJn038y+hWJbLQXQqEnQfeh5r2JLM= +modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= +modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +software.sslmate.com/src/go-pkcs12 v0.2.1 h1:tbT1jjaeFOF230tzOIRJ6U5S1jNqpsSyNjzDd58H3J8= +software.sslmate.com/src/go-pkcs12 v0.2.1/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI= diff --git a/internal/api/auth_token.go b/internal/api/auth_token.go new file mode 100644 index 0000000..cc40bc8 --- /dev/null +++ b/internal/api/auth_token.go @@ -0,0 +1,35 @@ +package api + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "fmt" + "strconv" + "strings" + "time" +) + +func issueToken(secret string, ttl time.Duration) string { + exp := time.Now().Add(ttl).Unix() + return fmt.Sprintf("%d.%s", exp, signToken(secret, exp)) +} + +func verifyToken(secret, token string) bool { + parts := strings.SplitN(token, ".", 2) + if len(parts) != 2 { + return false + } + exp, err := strconv.ParseInt(parts[0], 10, 64) + if err != nil || time.Now().Unix() > exp { + return false + } + expected := signToken(secret, exp) + return hmac.Equal([]byte(parts[1]), []byte(expected)) +} + +func signToken(secret string, exp int64) string { + mac := hmac.New(sha256.New, []byte(secret)) + _, _ = mac.Write([]byte(strconv.FormatInt(exp, 10))) + return hex.EncodeToString(mac.Sum(nil)) +} diff --git a/internal/api/auth_token_test.go b/internal/api/auth_token_test.go new file mode 100644 index 0000000..4fce79b --- /dev/null +++ b/internal/api/auth_token_test.go @@ -0,0 +1,35 @@ +package api + +import ( + "fmt" + "testing" + "time" +) + +func TestIssueAndVerifyToken(t *testing.T) { + secret := "test-secret" + token := issueToken(secret, time.Hour) + if !verifyToken(secret, token) { + t.Fatal("expected valid token") + } +} + +func TestVerifyTokenWrongSecret(t *testing.T) { + token := issueToken("a", time.Hour) + if verifyToken("b", token) { + t.Fatal("expected invalid token for wrong secret") + } +} + +func TestVerifyTokenExpired(t *testing.T) { + secret := "test-secret" + exp := time.Now().Add(-time.Hour).Unix() + token := fmtToken(secret, exp) + if verifyToken(secret, token) { + t.Fatal("expected expired token to be rejected") + } +} + +func fmtToken(secret string, exp int64) string { + return fmt.Sprintf("%d.%s", exp, signToken(secret, exp)) +} diff --git a/internal/api/client_ip.go b/internal/api/client_ip.go new file mode 100644 index 0000000..0fa3e6f --- /dev/null +++ b/internal/api/client_ip.go @@ -0,0 +1,23 @@ +package api + +import ( + "net" + "strings" + + "github.com/gin-gonic/gin" +) + +func clientIP(c *gin.Context) string { + if xff := c.GetHeader("X-Forwarded-For"); xff != "" { + parts := strings.Split(xff, ",") + return strings.TrimSpace(parts[0]) + } + if xri := strings.TrimSpace(c.GetHeader("X-Real-IP")); xri != "" { + return xri + } + host, _, err := net.SplitHostPort(c.Request.RemoteAddr) + if err != nil { + return c.Request.RemoteAddr + } + return host +} diff --git a/internal/api/handlers.go b/internal/api/handlers.go new file mode 100644 index 0000000..33a93bc --- /dev/null +++ b/internal/api/handlers.go @@ -0,0 +1,498 @@ +package api + +import ( + "context" + "net/http" + "strconv" + "time" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/auth" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/health" + "github.com/prism/proxy/internal/metrics" + applog "github.com/prism/proxy/internal/log" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/service" + "github.com/prism/proxy/internal/store" + "github.com/prism/proxy/internal/subscription" + "github.com/prism/proxy/internal/trafficlog" +) + +type Server struct { + app *service.App + health *health.Checker + metrics *metrics.Collector + subscription *subscription.Service + logs *applog.Collector + traffic *trafficlog.Collector + loginLimiter *auth.LoginLimiter +} + +func NewServer(app *service.App, hc *health.Checker, mc *metrics.Collector, sub *subscription.Service, logs *applog.Collector, traffic *trafficlog.Collector) *Server { + return &Server{ + app: app, + health: hc, + metrics: mc, + subscription: sub, + logs: logs, + traffic: traffic, + loginLimiter: auth.NewLoginLimiter(app.Store), + } +} + +func (s *Server) syncMihomoClient(ctx context.Context) { + base, secret, err := s.app.MihomoAPIBase(ctx) + if err != nil { + return + } + s.health.UpdateAPIBase(base, secret) + s.metrics.UpdateAPIBase(base, secret) + if s.traffic != nil { + s.traffic.UpdateClient(mihomoapi.New(base, secret)) + } +} + +func (s *Server) Router() *gin.Engine { + gin.SetMode(gin.ReleaseMode) + r := gin.New() + r.Use(gin.Recovery(), s.corsMiddleware()) + + r.GET("/api/v1/openapi.json", s.serveOpenAPIJSON) + r.GET("/api/v1/openapi.yaml", s.serveOpenAPIYAML) + r.GET("/api/docs", s.serveOpenAPIDocs) + + api := r.Group("/api/v1") + api.POST("/auth/login", s.login) + api.GET("/auth/status", s.authStatus) + + protected := api.Group("") + protected.Use(s.authMiddleware()) + { + protected.GET("/dashboard", s.dashboard) + protected.GET("/connections", s.connections) + + protected.GET("/subscriptions", s.listSubscriptions) + protected.POST("/subscriptions", s.createSubscription) + protected.PUT("/subscriptions/:id", s.updateSubscription) + protected.DELETE("/subscriptions/:id", s.deleteSubscription) + protected.POST("/subscriptions/:id/refresh", s.refreshSubscription) + + protected.GET("/proxies", s.listProxies) + protected.POST("/proxies", s.createProxy) + protected.PUT("/proxies/:id", s.updateProxy) + protected.DELETE("/proxies/:id", s.deleteProxy) + protected.POST("/proxies/:id/test", s.testProxy) + protected.POST("/proxies/test-all", s.testAllProxies) + protected.POST("/proxies/rebuild-countries", s.rebuildCountries) + protected.GET("/proxies/export", s.exportProxies) + protected.POST("/proxies/import", s.importProxies) + protected.GET("/countries", s.listCountries) + + protected.GET("/outbound", s.outboundOverview) + protected.PUT("/outbound/groups/:name", s.selectOutboundGroup) + protected.PUT("/outbound/default-policy", s.setDefaultPolicy) + + protected.GET("/traffic-logs", s.listTrafficLogs) + + protected.GET("/rules", s.listRules) + protected.POST("/rules", s.createRule) + protected.PUT("/rules/:id", s.updateRule) + protected.DELETE("/rules/:id", s.deleteRule) + protected.GET("/rules/merged", s.mergedRules) + protected.POST("/rules/test", s.testRule) + protected.GET("/rules/export", s.exportRules) + protected.POST("/rules/import", s.importRules) + + protected.GET("/settings", s.getSettings) + protected.PUT("/settings", s.putSettings) + + protected.GET("/api-keys", s.listAPIKeys) + protected.POST("/api-keys", s.createAPIKey) + protected.DELETE("/api-keys/:id", s.deleteAPIKey) + + protected.GET("/logs", s.listLogs) + protected.GET("/audit-logs", s.listAuditLogs) + + protected.GET("/system/status", s.systemStatus) + protected.POST("/system/reload", s.systemReload) + protected.GET("/system/geo", s.geoStatus) + protected.POST("/system/geo/update", s.geoUpdate) + } + + r.NoRoute(s.serveSPA) + return r +} + +func (s *Server) corsMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + c.Header("Access-Control-Allow-Origin", "*") + c.Header("Access-Control-Allow-Headers", "Authorization, Content-Type, X-API-Key") + c.Header("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS") + if c.Request.Method == http.MethodOptions { + c.AbortWithStatus(204) + return + } + c.Next() + } +} + +func (s *Server) dashboard(c *gin.Context) { + ctx := c.Request.Context() + s.metrics.RefreshAsync(10 * time.Second) + s.app.RefreshEngineStatusAsync() + history, _ := s.app.Store.ListTrafficSnapshots(ctx, 60) + conns := s.metrics.CachedConnections() + policyGroups, _ := s.app.PolicyGroupRuntimes(ctx) + names, _ := s.app.ProxyDisplayNames(ctx) + liveDomainsAll, liveNodesAll := metrics.AggregateConnections(conns, policyGroups) + liveDomainsAll = metrics.ApplyDomainLabels(liveDomainsAll, names) + liveNodesAll = metrics.ApplyTrafficLabels(liveNodesAll, names) + + liveDomainLimit, liveDomainOffset := parseLimitOffset(c.DefaultQuery("live_domain_limit", "50"), c.DefaultQuery("live_domain_offset", "0")) + liveNodeLimit, liveNodeOffset := parseLimitOffset(c.DefaultQuery("live_node_limit", "50"), c.DefaultQuery("live_node_offset", "0")) + periodDomainLimit, periodDomainOffset := parseLimitOffset(c.DefaultQuery("period_domain_limit", "50"), c.DefaultQuery("period_domain_offset", "0")) + periodNodeLimit, periodNodeOffset := parseLimitOffset(c.DefaultQuery("period_node_limit", "50"), c.DefaultQuery("period_node_offset", "0")) + + liveDomains, liveDomainTotal := paginateSlice(liveDomainsAll, liveDomainLimit, liveDomainOffset) + liveNodes, liveNodeTotal := paginateSlice(liveNodesAll, liveNodeLimit, liveNodeOffset) + + hostNodeTotals, _ := s.app.Store.AggregateTrafficByHostNode(ctx, 24, periodDomainLimit, periodDomainOffset) + nodeTotals, _ := s.app.Store.AggregateTrafficByNode(ctx, 24, periodNodeLimit, periodNodeOffset) + periodDomainTotal, _ := s.app.Store.CountAggregateTrafficByHostNode(ctx, 24) + periodNodeTotal, _ := s.app.Store.CountAggregateTrafficByNode(ctx, 24) + periodDomains := metrics.TrafficHostNodeAggToItems(hostNodeTotals, names) + periodNodes := metrics.TrafficAggToItems(nodeTotals, names) + + c.JSON(http.StatusOK, gin.H{ + "snapshot": s.metrics.Snapshot(ctx), + "history": history, + "connections": conns, + "engine_running": s.app.EngineStatusCached(), + "live_domains": liveDomains, + "live_nodes": liveNodes, + "live_domain_total": liveDomainTotal, + "live_node_total": liveNodeTotal, + "period_domains": periodDomains, + "period_nodes": periodNodes, + "period_domain_total": periodDomainTotal, + "period_node_total": periodNodeTotal, + "period_hours": 24, + }) +} + +func (s *Server) connections(c *gin.Context) { + conns, err := s.metrics.GetConnectionsCached(8 * time.Second) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"connections": conns}) +} + +func (s *Server) listSubscriptions(c *gin.Context) { + items, err := s.app.Store.ListSubscriptions(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items}) +} + +func (s *Server) createSubscription(c *gin.Context) { + var sub store.Subscription + if err := c.ShouldBindJSON(&sub); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if sub.Type == "" { + sub.Type = "auto" + } + if sub.IntervalSec <= 0 { + sub.IntervalSec = 3600 + } + sub.Enabled = true + if err := s.app.Store.CreateSubscription(c.Request.Context(), &sub); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.Store.AddAuditLog(c.Request.Context(), "create", "subscription", sub.Name) + go func(id int64) { + ctx := context.Background() + _ = s.subscription.FetchAndStore(ctx, id) + _ = s.app.ReloadEngine(ctx) + }(sub.ID) + c.JSON(http.StatusCreated, sub) +} + +func (s *Server) updateSubscription(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + sub, err := s.app.Store.GetSubscription(c.Request.Context(), id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "not found"}) + return + } + if err := c.ShouldBindJSON(sub); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + sub.ID = id + if err := s.app.Store.UpdateSubscription(c.Request.Context(), sub); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, sub) +} + +func (s *Server) deleteSubscription(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + if err := s.app.Store.DeleteSubscription(c.Request.Context(), id); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) refreshSubscription(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + if err := s.subscription.FetchAndStore(c.Request.Context(), id); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + if err := s.app.ReloadEngine(c.Request.Context()); err != nil { + c.JSON(http.StatusOK, gin.H{"ok": true, "warning": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) listProxies(c *gin.Context) { + source := c.Query("source") + country := c.Query("country") + var subID *int64 + if v := c.Query("subscription_id"); v != "" { + id, _ := strconv.ParseInt(v, 10, 64) + subID = &id + } + limit, offset := parseLimitOffset(c.DefaultQuery("limit", "50"), c.DefaultQuery("offset", "0")) + items, err := s.app.Store.ListProxyNodesPage(c.Request.Context(), source, subID, country, limit, offset) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + total, err := s.app.Store.CountProxyNodes(c.Request.Context(), source, subID, country) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items, "total": total}) +} + +type proxyReq struct { + Name string `json:"name"` + Type string `json:"type"` + RawConfig string `json:"raw_config"` + Enabled *bool `json:"enabled"` +} + +func (s *Server) createProxy(c *gin.Context) { + var req proxyReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + n := store.ProxyNode{ + Name: req.Name, + RuntimeName: store.RuntimeName("manual", 0, req.Name), + Type: req.Type, + RawConfig: req.RawConfig, + Source: "manual", + Country: country.Detect(req.Name), + Enabled: true, + } + if req.Enabled != nil { + n.Enabled = *req.Enabled + } + if err := s.app.Store.CreateProxyNode(c.Request.Context(), &n); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusCreated, n) +} + +func (s *Server) updateProxy(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + n, err := s.app.Store.GetProxyNode(c.Request.Context(), id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "not found"}) + return + } + var req proxyReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if req.Name != "" { + n.Name = req.Name + n.Country = country.Detect(req.Name) + } + if req.Type != "" { + n.Type = req.Type + } + if req.RawConfig != "" { + n.RawConfig = req.RawConfig + } + if req.Enabled != nil { + n.Enabled = *req.Enabled + } + if err := s.app.Store.UpdateProxyNode(c.Request.Context(), n); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, n) +} + +func (s *Server) deleteProxy(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + n, err := s.app.Store.GetProxyNode(c.Request.Context(), id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "not found"}) + return + } + if n.Source != "manual" { + c.JSON(http.StatusBadRequest, gin.H{"error": "only manual proxies can be deleted"}) + return + } + if err := s.app.Store.DeleteProxyNode(c.Request.Context(), id); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) testProxy(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + latency, err := s.health.TestNode(c.Request.Context(), id, s.app.ReloadEngine) + if err != nil { + c.JSON(http.StatusOK, gin.H{"latency_ms": -1, "alive": false, "error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"latency_ms": latency, "alive": latency >= 0}) +} + +func (s *Server) testAllProxies(c *gin.Context) { + if err := s.health.TestAll(c.Request.Context(), s.app.ReloadEngine); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) listRules(c *gin.Context) { + source := c.DefaultQuery("source", "manual") + items, err := s.app.Store.ListRules(c.Request.Context(), source) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items}) +} + +func (s *Server) createRule(c *gin.Context) { + var r store.Rule + if err := c.ShouldBindJSON(&r); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + r.Source = "manual" + r.Enabled = true + if r.Priority <= 0 { + p, _ := s.app.Store.NextManualRulePriority(c.Request.Context()) + r.Priority = p + } + if err := s.app.Store.CreateRule(c.Request.Context(), &r); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusCreated, r) +} + +func (s *Server) updateRule(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + r, err := s.app.Store.GetRule(c.Request.Context(), id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "not found"}) + return + } + if err := c.ShouldBindJSON(r); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + r.ID = id + if err := s.app.Store.UpdateRule(c.Request.Context(), r); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, r) +} + +func (s *Server) deleteRule(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + if err := s.app.Store.DeleteRule(c.Request.Context(), id); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) listLogs(c *gin.Context) { + level := c.Query("level") + keyword := c.Query("keyword") + limit, offset := parseLimitOffset(c.DefaultQuery("limit", "50"), c.DefaultQuery("offset", "0")) + items, total, err := s.app.Store.ListRequestLogs(c.Request.Context(), level, keyword, limit, offset) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items, "total": total}) +} + +func (s *Server) listAuditLogs(c *gin.Context) { + limit, offset := parseLimitOffset(c.DefaultQuery("limit", "50"), c.DefaultQuery("offset", "0")) + items, err := s.app.Store.ListAuditLogs(c.Request.Context(), limit, offset) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + total, err := s.app.Store.CountAuditLogs(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items, "total": total}) +} + +func (s *Server) systemStatus(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "engine_running": s.app.EngineReachable(c.Request.Context()), + "has_config": len(s.app.Cache.GetLastYAML()) > 0, + "last_reload_error": s.app.LastReloadError, + }) +} + +func (s *Server) systemReload(c *gin.Context) { + if err := s.app.ReloadEngine(c.Request.Context()); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"ok": true}) +} diff --git a/internal/api/handlers_apikeys.go b/internal/api/handlers_apikeys.go new file mode 100644 index 0000000..4bbfdb4 --- /dev/null +++ b/internal/api/handlers_apikeys.go @@ -0,0 +1,96 @@ +package api + +import ( + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/auth" +) + +type createAPIKeyReq struct { + Name string `json:"name"` +} + +func (s *Server) listAPIKeys(c *gin.Context) { + items, err := s.app.Store.ListAPIKeys(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items}) +} + +func (s *Server) createAPIKey(c *gin.Context) { + var req createAPIKeyReq + _ = c.ShouldBindJSON(&req) + name := strings.TrimSpace(req.Name) + if name == "" { + name = "default" + } + + raw, err := auth.GenerateAPIKey() + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + + item, err := s.app.Store.CreateAPIKey( + c.Request.Context(), + name, + auth.APIKeyDisplayPrefix(raw), + auth.HashAPIKey(raw), + ) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.Store.AddAuditLog(c.Request.Context(), "create", "api_key", name) + + c.JSON(http.StatusCreated, gin.H{ + "id": item.ID, + "name": item.Name, + "key": raw, + "key_prefix": item.KeyPrefix, + "created_at": item.CreatedAt, + }) +} + +func (s *Server) deleteAPIKey(c *gin.Context) { + id, _ := strconv.ParseInt(c.Param("id"), 10, 64) + if err := s.app.Store.DeleteAPIKey(c.Request.Context(), id); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.Store.AddAuditLog(c.Request.Context(), "delete", "api_key", strconv.FormatInt(id, 10)) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func (s *Server) authorizeRequest(c *gin.Context, settings map[string]string) bool { + if settings["auth_enabled"] != "true" { + return true + } + + ctx := c.Request.Context() + if key := strings.TrimSpace(c.GetHeader("X-API-Key")); key != "" { + if ok, _ := s.app.Store.VerifyAPIKey(ctx, auth.HashAPIKey(key)); ok { + return true + } + } + + header := c.GetHeader("Authorization") + if !strings.HasPrefix(header, "Bearer ") { + return false + } + token := strings.TrimSpace(strings.TrimPrefix(header, "Bearer ")) + if token == "" { + return false + } + if auth.IsAPIKeyFormat(token) { + ok, _ := s.app.Store.VerifyAPIKey(ctx, auth.HashAPIKey(token)) + return ok + } + return verifyToken(settings["admin_password"], token) +} diff --git a/internal/api/handlers_apikeys_test.go b/internal/api/handlers_apikeys_test.go new file mode 100644 index 0000000..21dd979 --- /dev/null +++ b/internal/api/handlers_apikeys_test.go @@ -0,0 +1,66 @@ +package api + +import ( + "context" + "net/http/httptest" + "path/filepath" + "testing" + + "github.com/gin-gonic/gin" + "github.com/prism/proxy/internal/auth" + "github.com/prism/proxy/internal/service" + "github.com/prism/proxy/internal/store" +) + +func TestAuthorizeRequestWithAPIKey(t *testing.T) { + gin.SetMode(gin.TestMode) + dir := t.TempDir() + st, err := store.Open(filepath.Join(dir, "test.db")) + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { st.Close() }) + + ctx := context.Background() + if err := st.SetSettings(ctx, map[string]string{ + "auth_enabled": "true", + "admin_password": "secret", + }); err != nil { + t.Fatal(err) + } + + raw, err := auth.GenerateAPIKey() + if err != nil { + t.Fatal(err) + } + if _, err := st.CreateAPIKey(ctx, "test", auth.APIKeyDisplayPrefix(raw), auth.HashAPIKey(raw)); err != nil { + t.Fatal(err) + } + + s := &Server{app: &service.App{Store: st}} + settings, _ := st.GetSettings(ctx) + + w := httptest.NewRecorder() + c, _ := gin.CreateTestContext(w) + c.Request = httptest.NewRequest("GET", "/api/v1/dashboard", nil) + c.Request.Header.Set("X-API-Key", raw) + if !s.authorizeRequest(c, settings) { + t.Fatal("expected api key to authorize") + } + + w2 := httptest.NewRecorder() + c2, _ := gin.CreateTestContext(w2) + c2.Request = httptest.NewRequest("GET", "/api/v1/dashboard", nil) + c2.Request.Header.Set("Authorization", "Bearer "+raw) + if !s.authorizeRequest(c2, settings) { + t.Fatal("expected bearer api key to authorize") + } + + w3 := httptest.NewRecorder() + c3, _ := gin.CreateTestContext(w3) + c3.Request = httptest.NewRequest("GET", "/api/v1/dashboard", nil) + c3.Request.Header.Set("Authorization", "Bearer prism_invalid") + if s.authorizeRequest(c3, settings) { + t.Fatal("expected invalid key to fail") + } +} diff --git a/internal/api/handlers_auth.go b/internal/api/handlers_auth.go new file mode 100644 index 0000000..5f642b9 --- /dev/null +++ b/internal/api/handlers_auth.go @@ -0,0 +1,116 @@ +package api + +import ( + "math/rand" + "net/http" + "strings" + "time" + + "github.com/gin-gonic/gin" + "golang.org/x/crypto/bcrypt" + + "github.com/prism/proxy/internal/auth" +) + +type loginReq struct { + Password string `json:"password"` +} + +func (s *Server) authMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + settings, err := s.app.Store.GetSettings(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + c.Abort() + return + } + if !s.authorizeRequest(c, settings) { + c.JSON(http.StatusUnauthorized, gin.H{"error": "unauthorized"}) + c.Abort() + return + } + c.Next() + } +} + +func (s *Server) authStatus(c *gin.Context) { + settings, err := s.app.Store.GetSettings(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"enabled": settings["auth_enabled"] == "true"}) +} + +func (s *Server) login(c *gin.Context) { + var req loginReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + ctx := c.Request.Context() + settings, err := s.app.Store.GetSettings(ctx) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + + ip := clientIP(c) + cfg := auth.ParseLoginConfig(settings) + check, err := s.loginLimiter.Check(ctx, ip, cfg) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + if !check.Allowed { + writeLoginLocked(c, check.RetryAfter) + return + } + + hash := settings["admin_password"] + if !checkPassword(req.Password, hash) { + time.Sleep(loginFailureDelay()) + result, err := s.loginLimiter.RecordFailure(ctx, ip, cfg) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + if result.Locked { + writeLoginLocked(c, result.RetryAfter) + return + } + c.JSON(http.StatusUnauthorized, gin.H{ + "error": "invalid password", + "remaining": result.Remaining, + }) + return + } + if err := s.loginLimiter.RecordSuccess(ctx, ip); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + token := issueToken(hash, 24*time.Hour) + c.JSON(http.StatusOK, gin.H{"token": token}) +} + +func writeLoginLocked(c *gin.Context, retryAfter time.Duration) { + secs := int(retryAfter.Seconds()) + if secs < 1 { + secs = 1 + } + c.JSON(http.StatusTooManyRequests, gin.H{ + "error": "too many login attempts", + "retry_after": secs, + }) +} + +func loginFailureDelay() time.Duration { + return 300*time.Millisecond + time.Duration(rand.Intn(200))*time.Millisecond +} + +func checkPassword(password, stored string) bool { + if strings.HasPrefix(stored, "$2a$") { + return bcrypt.CompareHashAndPassword([]byte(stored), []byte(password)) == nil + } + return password == stored +} diff --git a/internal/api/handlers_country.go b/internal/api/handlers_country.go new file mode 100644 index 0000000..43b1283 --- /dev/null +++ b/internal/api/handlers_country.go @@ -0,0 +1,26 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +func (s *Server) listCountries(c *gin.Context) { + items, err := s.app.Store.ListCountryStats(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items}) +} + +func (s *Server) rebuildCountries(c *gin.Context) { + n, err := s.app.Store.RebuildAllNodeCountries(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"updated": n}) +} diff --git a/internal/api/handlers_geo.go b/internal/api/handlers_geo.go new file mode 100644 index 0000000..290d212 --- /dev/null +++ b/internal/api/handlers_geo.go @@ -0,0 +1,79 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/geodata" +) + +func (s *Server) geoStatus(c *gin.Context) { + ctx := c.Request.Context() + settings, err := s.app.Store.GetSettings(ctx) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + cfg := geodata.ConfigFromSettings(settings) + c.JSON(http.StatusOK, gin.H{ + "ready": geodata.Ready(s.app.DataDir), + "auto_download": settings["geo_auto_download"] != "false", + "files": geodata.Status(s.app.DataDir, cfg), + "default_urls": geodata.DefaultConfig(), + }) +} + +type geoUpdateReq struct { + Force bool `json:"force"` +} + +func (s *Server) geoUpdate(c *gin.Context) { + var req geoUpdateReq + _ = c.ShouldBindJSON(&req) + + ctx := c.Request.Context() + settings, err := s.app.Store.GetSettings(ctx) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + cfg := geodata.ConfigFromSettings(settings) + geodata.ApplyMihomoURLs(cfg) + + updated, err := geodata.Ensure(s.app.DataDir, cfg, req.Force) + if err != nil { + c.JSON(http.StatusBadGateway, gin.H{"error": err.Error()}) + return + } + _ = s.app.Store.AddAuditLog(ctx, "update", "geo", "updated: "+joinNames(updated)) + s.logs.Add("info", "prism", "geo data updated") + _ = s.app.ReloadEngine(ctx) + + c.JSON(http.StatusOK, gin.H{ + "ok": true, + "updated": updated, + "ready": geodata.Ready(s.app.DataDir), + "files": geodata.Status(s.app.DataDir, cfg), + }) +} + +func joinNames(names []string) string { + if len(names) == 0 { + return "none (already present)" + } + out := names[0] + for i := 1; i < len(names); i++ { + out += ", " + names[i] + } + return out +} + +func geoDataReady(dataDir string) bool { + return geodata.Ready(dataDir) +} + +func applyGeoSettings(dataDir string, settings map[string]string) { + geodata.InitHomeDir(dataDir) + geodata.ApplyMihomoURLs(geodata.ConfigFromSettings(settings)) +} \ No newline at end of file diff --git a/internal/api/handlers_outbound.go b/internal/api/handlers_outbound.go new file mode 100644 index 0000000..c0691fb --- /dev/null +++ b/internal/api/handlers_outbound.go @@ -0,0 +1,52 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +func (s *Server) outboundOverview(c *gin.Context) { + data, err := s.app.OutboundOverview(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, data) +} + +type selectOutboundReq struct { + Proxy string `json:"proxy"` +} + +func (s *Server) selectOutboundGroup(c *gin.Context) { + name := c.Param("name") + var req selectOutboundReq + if err := c.ShouldBindJSON(&req); err != nil || req.Proxy == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "proxy required"}) + return + } + if err := s.app.SelectOutboundGroup(c.Request.Context(), name, req.Proxy); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +type defaultPolicyReq struct { + Policy string `json:"policy"` +} + +func (s *Server) setDefaultPolicy(c *gin.Context) { + var req defaultPolicyReq + if err := c.ShouldBindJSON(&req); err != nil || req.Policy == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "policy required"}) + return + } + if err := s.app.SetDefaultPolicy(c.Request.Context(), req.Policy); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + s.syncMihomoClient(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} diff --git a/internal/api/handlers_proxies_io.go b/internal/api/handlers_proxies_io.go new file mode 100644 index 0000000..23d6270 --- /dev/null +++ b/internal/api/handlers_proxies_io.go @@ -0,0 +1,124 @@ +package api + +import ( + "io" + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/proxyio" + "github.com/prism/proxy/internal/store" +) + +func (s *Server) exportProxies(c *gin.Context) { + ctx := c.Request.Context() + items, err := s.app.Store.ListProxyNodes(ctx, "manual", nil) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + + format := strings.ToLower(c.DefaultQuery("format", "json")) + filename := "prism-proxies" + switch format { + case "text", "txt", "links": + c.Header("Content-Type", "text/plain; charset=utf-8") + c.Header("Content-Disposition", `attachment; filename="`+filename+`.txt"`) + c.String(http.StatusOK, proxyio.ExportLinks(items)) + default: + data, err := proxyio.ExportJSON(items) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.Header("Content-Type", "application/json; charset=utf-8") + c.Header("Content-Disposition", `attachment; filename="`+filename+`.json"`) + c.Data(http.StatusOK, "application/json; charset=utf-8", data) + } +} + +type importProxiesReq struct { + Mode string `json:"mode"` + Text string `json:"text"` + Nodes []proxyio.ExportNode `json:"nodes"` +} + +func (s *Server) importProxies(c *gin.Context) { + ctx := c.Request.Context() + mode := strings.ToLower(strings.TrimSpace(c.DefaultQuery("mode", ""))) + + var nodes []store.ProxyNode + var parseErrors []string + + contentType := c.GetHeader("Content-Type") + if strings.Contains(contentType, "application/json") { + var req importProxiesReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if mode == "" { + mode = strings.ToLower(strings.TrimSpace(req.Mode)) + } + if len(req.Nodes) > 0 { + var valErrors []string + nodes, valErrors = proxyio.ToStoreNodes(req.Nodes) + parseErrors = append(parseErrors, valErrors...) + } else if strings.TrimSpace(req.Text) != "" { + nodes, parseErrors = proxyio.ParseText(req.Text) + } else { + c.JSON(http.StatusBadRequest, gin.H{"error": "nodes or text required"}) + return + } + } else { + body, err := io.ReadAll(c.Request.Body) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if mode == "" { + mode = "append" + } + nodes, parseErrors = proxyio.ParseText(string(body)) + } + + if mode == "" { + mode = "append" + } + if mode != "append" && mode != "replace" { + c.JSON(http.StatusBadRequest, gin.H{"error": "mode must be append or replace"}) + return + } + if len(nodes) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no valid proxies", "errors": parseErrors}) + return + } + + if mode == "append" { + existing, _ := s.app.Store.ListProxyNodes(ctx, "manual", nil) + proxyio.AssignUniqueNames(nodes, proxyio.ReservedNames(existing)) + if err := s.app.Store.AppendManualProxies(ctx, nodes); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + } else { + proxyio.AssignUniqueNames(nodes, nil) + if err := s.app.Store.ReplaceManualProxies(ctx, nodes); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + } + + _ = s.app.Store.AddAuditLog(ctx, "import", "proxies", mode+": "+strconv.Itoa(len(nodes))) + _ = s.app.ReloadEngine(ctx) + + c.JSON(http.StatusOK, gin.H{ + "ok": true, + "imported": len(nodes), + "skipped": len(parseErrors), + "errors": parseErrors, + "mode": mode, + }) +} diff --git a/internal/api/handlers_rules.go b/internal/api/handlers_rules.go new file mode 100644 index 0000000..3a21d2b --- /dev/null +++ b/internal/api/handlers_rules.go @@ -0,0 +1,70 @@ +package api + +import ( + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/rulematch" +) + +type testRuleReq struct { + URL string `json:"url"` +} + +func (s *Server) mergedRules(c *gin.Context) { + limit, offset := parseLimitOffset(c.DefaultQuery("limit", "50"), c.DefaultQuery("offset", "0")) + items, err := s.app.Store.ListMergedRulesPage(c.Request.Context(), limit, offset) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + total, err := s.app.Store.CountMergedRules(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + settings, _ := s.app.Store.GetSettings(c.Request.Context()) + policy := settings["default_policy"] + if policy == "" { + policy = "DIRECT" + } + c.JSON(http.StatusOK, gin.H{ + "items": items, + "total": total, + "limit": limit, + "offset": offset, + "default_policy": policy, + }) +} + +func (s *Server) testRule(c *gin.Context) { + var req testRuleReq + if err := c.ShouldBindJSON(&req); err != nil || strings.TrimSpace(req.URL) == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "url required"}) + return + } + ctx := c.Request.Context() + rules, err := s.app.Store.ListRules(ctx, "") + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + settings, _ := s.app.Store.GetSettings(ctx) + policy := settings["default_policy"] + geoReady := geoDataReady(s.app.DataDir) + result := rulematch.Match(rules, policy, req.URL, geoReady) + if result.SkippedGeo > 0 { + result.Note = appendNote(result.Note, "已跳过 "+strconv.Itoa(result.SkippedGeo)+" 条 Geo 规则(本地测试不支持 GEOIP/GEOSITE)") + } + c.JSON(http.StatusOK, result) +} + +func appendNote(existing, extra string) string { + if existing == "" { + return extra + } + return existing + ";" + extra +} diff --git a/internal/api/handlers_rules_io.go b/internal/api/handlers_rules_io.go new file mode 100644 index 0000000..2c383f0 --- /dev/null +++ b/internal/api/handlers_rules_io.go @@ -0,0 +1,142 @@ +package api + +import ( + "io" + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/prism/proxy/internal/ruleio" +) + +func (s *Server) exportRules(c *gin.Context) { + ctx := c.Request.Context() + items, err := s.app.Store.ListRules(ctx, "manual") + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + + format := strings.ToLower(c.DefaultQuery("format", "json")) + filename := "prism-rules" + switch format { + case "text", "txt", "clash": + c.Header("Content-Type", "text/plain; charset=utf-8") + c.Header("Content-Disposition", `attachment; filename="`+filename+`.txt"`) + c.String(http.StatusOK, ruleio.ExportText(items)) + default: + data, err := ruleio.ExportJSON(items) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.Header("Content-Type", "application/json; charset=utf-8") + c.Header("Content-Disposition", `attachment; filename="`+filename+`.json"`) + c.Data(http.StatusOK, "application/json; charset=utf-8", data) + } +} + +type importRulesReq struct { + Mode string `json:"mode"` + Text string `json:"text"` + Rules []ruleio.ExportRule `json:"rules"` +} + +func (s *Server) importRules(c *gin.Context) { + ctx := c.Request.Context() + mode := strings.ToLower(strings.TrimSpace(c.DefaultQuery("mode", ""))) + + var parsed []ruleio.ExportRule + var parseErrors []string + + contentType := c.GetHeader("Content-Type") + if strings.Contains(contentType, "application/json") { + var req importRulesReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if mode == "" { + mode = strings.ToLower(strings.TrimSpace(req.Mode)) + } + if len(req.Rules) > 0 { + parsed = req.Rules + } else if strings.TrimSpace(req.Text) != "" { + parsed, parseErrors = parseImportText(req.Text) + } else { + c.JSON(http.StatusBadRequest, gin.H{"error": "rules or text required"}) + return + } + } else { + body, err := io.ReadAll(c.Request.Body) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if mode == "" { + mode = "append" + } + parsed, parseErrors = parseImportText(string(body)) + } + + if mode == "" { + mode = "append" + } + if mode != "append" && mode != "replace" { + c.JSON(http.StatusBadRequest, gin.H{"error": "mode must be append or replace"}) + return + } + if len(parsed) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no valid rules", "errors": parseErrors}) + return + } + + rules, valErrors := ruleio.ToStoreRules(parsed) + allErrors := append(parseErrors, valErrors...) + if len(rules) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no valid rules", "errors": allErrors}) + return + } + + if mode == "append" { + start, _ := s.app.Store.NextManualRulePriority(ctx) + ruleio.AssignPriorities(rules, start) + if err := s.app.Store.AppendManualRules(ctx, rules); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + } else { + ruleio.AssignPriorities(rules, 100) + if err := s.app.Store.ReplaceManualRules(ctx, rules); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + } + + _ = s.app.Store.AddAuditLog(ctx, "import", "rules", mode+": "+strconv.Itoa(len(rules))) + _ = s.app.ReloadEngine(ctx) + + c.JSON(http.StatusOK, gin.H{ + "ok": true, + "imported": len(rules), + "skipped": len(allErrors), + "errors": allErrors, + "mode": mode, + }) +} + +func parseImportText(text string) ([]ruleio.ExportRule, []string) { + text = strings.TrimSpace(text) + if text == "" { + return nil, nil + } + if strings.HasPrefix(text, "{") || strings.HasPrefix(text, "[") { + rules, err := ruleio.ParseJSON([]byte(text)) + if err == nil && len(rules) > 0 { + return rules, nil + } + } + return ruleio.ParseText(text) +} diff --git a/internal/api/handlers_settings.go b/internal/api/handlers_settings.go new file mode 100644 index 0000000..23efaa9 --- /dev/null +++ b/internal/api/handlers_settings.go @@ -0,0 +1,97 @@ +package api + +import ( + "context" + "fmt" + "net/http" + "strings" + + "github.com/gin-gonic/gin" + "golang.org/x/crypto/bcrypt" + + appsettings "github.com/prism/proxy/internal/settings" + "github.com/prism/proxy/internal/store" +) + +func (s *Server) getSettings(c *gin.Context) { + settings, err := s.app.Store.GetSettings(c.Request.Context()) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + safe := make(map[string]string) + for k, v := range settings { + if k == appsettings.KeyAdminPassword || k == appsettings.KeyProxyAuthPass { + safe[k] = "" + continue + } + safe[k] = v + } + c.JSON(http.StatusOK, appsettings.Display(safe)) +} + +func (s *Server) putSettings(c *gin.Context) { + var req map[string]string + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + if pw, ok := req[appsettings.KeyAdminPassword]; ok && pw != "" { + hash, err := bcrypt.GenerateFromPassword([]byte(pw), bcrypt.DefaultCost) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + req[appsettings.KeyAdminPassword] = string(hash) + } else { + delete(req, appsettings.KeyAdminPassword) + } + if err := normalizeProxyAuthSettings(c.Request.Context(), s.app.Store, req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + appsettings.NormalizeSubmit(req) + if err := s.app.Store.SetSettings(c.Request.Context(), req); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + allSettings, _ := s.app.Store.GetSettings(c.Request.Context()) + applyGeoSettings(s.app.DataDir, allSettings) + base, secret, _ := s.app.MihomoAPIBase(c.Request.Context()) + s.health.UpdateAPIBase(base, secret) + s.metrics.UpdateAPIBase(base, secret) + s.syncMihomoClient(c.Request.Context()) + _ = s.app.ReloadEngine(c.Request.Context()) + c.JSON(http.StatusOK, gin.H{"ok": true}) +} + +func normalizeProxyAuthSettings(ctx context.Context, st *store.Store, req map[string]string) error { + user, hasUser := req["proxy_auth_user"] + pass, hasPass := req["proxy_auth_pass"] + if !hasUser && !hasPass { + return nil + } + user = strings.TrimSpace(user) + if user == "" { + req["proxy_auth_user"] = "" + req["proxy_auth_pass"] = "" + return nil + } + if strings.Contains(user, ":") { + return fmt.Errorf("代理用户名不能包含冒号") + } + req["proxy_auth_user"] = user + if !hasPass || pass == "" { + current, err := st.GetSettings(ctx) + if err != nil { + return err + } + if existing := current["proxy_auth_pass"]; existing != "" { + delete(req, "proxy_auth_pass") + return nil + } + return fmt.Errorf("请填写代理密码") + } + req["proxy_auth_pass"] = pass + return nil +} diff --git a/internal/api/handlers_traffic.go b/internal/api/handlers_traffic.go new file mode 100644 index 0000000..b7386b7 --- /dev/null +++ b/internal/api/handlers_traffic.go @@ -0,0 +1,18 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +func (s *Server) listTrafficLogs(c *gin.Context) { + keyword := c.Query("keyword") + limit, offset := parseLimitOffset(c.DefaultQuery("limit", "50"), c.DefaultQuery("offset", "0")) + items, total, err := s.app.Store.ListProxyRequestLogs(c.Request.Context(), keyword, limit, offset) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, gin.H{"items": items, "total": total}) +} diff --git a/internal/api/openapi.go b/internal/api/openapi.go new file mode 100644 index 0000000..c4ad52d --- /dev/null +++ b/internal/api/openapi.go @@ -0,0 +1,51 @@ +package api + +import ( + _ "embed" + "encoding/json" + "net/http" + "sync" + + "github.com/gin-gonic/gin" + "gopkg.in/yaml.v3" +) + +//go:embed openapi/spec.yaml +var openAPISpecYAML []byte + +//go:embed openapi/docs.html +var openAPIDocsHTML []byte + +var ( + openAPIJSONOnce sync.Once + openAPIJSON []byte + openAPIJSONErr error +) + +func loadOpenAPIJSON() { + var doc any + if err := yaml.Unmarshal(openAPISpecYAML, &doc); err != nil { + openAPIJSONErr = err + return + } + openAPIJSON, openAPIJSONErr = json.Marshal(doc) +} + +func (s *Server) serveOpenAPIJSON(c *gin.Context) { + openAPIJSONOnce.Do(loadOpenAPIJSON) + if openAPIJSONErr != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": openAPIJSONErr.Error()}) + return + } + c.Header("Cache-Control", "public, max-age=300") + c.Data(http.StatusOK, "application/json; charset=utf-8", openAPIJSON) +} + +func (s *Server) serveOpenAPIYAML(c *gin.Context) { + c.Header("Cache-Control", "public, max-age=300") + c.Data(http.StatusOK, "application/yaml; charset=utf-8", openAPISpecYAML) +} + +func (s *Server) serveOpenAPIDocs(c *gin.Context) { + c.Data(http.StatusOK, "text/html; charset=utf-8", openAPIDocsHTML) +} diff --git a/internal/api/openapi/docs.html b/internal/api/openapi/docs.html new file mode 100644 index 0000000..0c32e03 --- /dev/null +++ b/internal/api/openapi/docs.html @@ -0,0 +1,30 @@ + + + + + + Prism API 文档 + + + + +

    + + + + diff --git a/internal/api/openapi/spec.yaml b/internal/api/openapi/spec.yaml new file mode 100644 index 0000000..94ee70e --- /dev/null +++ b/internal/api/openapi/spec.yaml @@ -0,0 +1,753 @@ +openapi: 3.0.3 +info: + title: Prism Management API + description: | + Prism 代理网关管理接口(默认端口 8080)。 + + 除 `auth/login`、`auth/status` 与 OpenAPI 文档外,启用登录后需在请求头携带以下任一凭证: + - `Authorization: Bearer `(登录接口返回的短期 token) + - `Authorization: Bearer ` 或 `X-API-Key: `(在系统设置中申请的 API Key) + version: 1.0.0 + contact: + name: Prism + +servers: + - url: /api/v1 + description: 管理 API v1 + +tags: + - name: Auth + - name: Dashboard + - name: Subscriptions + - name: Proxies + - name: Countries + - name: Outbound + - name: Rules + - name: TrafficLogs + - name: Settings + - name: System + - name: Logs + +paths: + /auth/login: + post: + tags: [Auth] + summary: 登录 + requestBody: + required: true + content: + application/json: + schema: + type: object + required: [password] + properties: + password: + type: string + responses: + '200': + description: 登录成功 + content: + application/json: + schema: + type: object + properties: + token: + type: string + '401': + $ref: '#/components/responses/Unauthorized' + '429': + description: 登录尝试过多 + + /auth/status: + get: + tags: [Auth] + summary: 是否启用登录认证 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + + /api-keys: + get: + tags: [Auth] + summary: API Key 列表 + security: + - bearerAuth: [] + responses: + '200': + description: OK + post: + tags: [Auth] + summary: 申请 API Key + description: 完整 Key 仅在创建响应中返回一次,请妥善保存 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + responses: + '201': + description: Created + + /api-keys/{id}: + parameters: + - $ref: '#/components/parameters/IdPath' + delete: + tags: [Auth] + summary: 吊销 API Key + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /dashboard: + get: + tags: [Dashboard] + summary: 监控大盘 + security: + - bearerAuth: [] + parameters: + - name: live_domain_limit + in: query + schema: + type: integer + default: 50 + maximum: 500 + - name: live_domain_offset + in: query + schema: + type: integer + default: 0 + - name: live_node_limit + in: query + schema: + type: integer + default: 50 + maximum: 500 + - name: live_node_offset + in: query + schema: + type: integer + default: 0 + - name: period_domain_limit + in: query + schema: + type: integer + default: 50 + maximum: 500 + - name: period_domain_offset + in: query + schema: + type: integer + default: 0 + - name: period_node_limit + in: query + schema: + type: integer + default: 50 + maximum: 500 + - name: period_node_offset + in: query + schema: + type: integer + default: 0 + responses: + '200': + description: OK + + /connections: + get: + tags: [Dashboard] + summary: 当前活跃连接 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /subscriptions: + get: + tags: [Subscriptions] + summary: 订阅列表 + security: + - bearerAuth: [] + responses: + '200': + description: OK + post: + tags: [Subscriptions] + summary: 创建订阅 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + responses: + '201': + description: Created + + /subscriptions/{id}: + parameters: + - $ref: '#/components/parameters/IdPath' + put: + tags: [Subscriptions] + summary: 更新订阅 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + responses: + '200': + description: OK + delete: + tags: [Subscriptions] + summary: 删除订阅 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /subscriptions/{id}/refresh: + parameters: + - $ref: '#/components/parameters/IdPath' + post: + tags: [Subscriptions] + summary: 刷新订阅 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /proxies: + get: + tags: [Proxies] + summary: 节点列表 + security: + - bearerAuth: [] + parameters: + - name: source + in: query + schema: + type: string + enum: [manual, subscription] + - name: subscription_id + in: query + schema: + type: integer + - name: country + in: query + schema: + type: string + - name: limit + in: query + schema: + type: integer + default: 50 + maximum: 500 + - name: offset + in: query + schema: + type: integer + default: 0 + responses: + '200': + description: OK + post: + tags: [Proxies] + summary: 添加手动节点 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + type: + type: string + raw_config: + type: string + responses: + '201': + description: Created + + /proxies/export: + get: + tags: [Proxies] + summary: 导出手动节点 + security: + - bearerAuth: [] + parameters: + - name: format + in: query + schema: + type: string + enum: [json, links, text, txt] + default: json + responses: + '200': + description: 文件下载 + + /proxies/import: + post: + tags: [Proxies] + summary: 导入手动节点 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + mode: + type: string + enum: [append, replace] + text: + type: string + nodes: + type: array + items: + type: object + responses: + '200': + description: OK + + /proxies/{id}: + parameters: + - $ref: '#/components/parameters/IdPath' + put: + tags: [Proxies] + summary: 更新节点 + security: + - bearerAuth: [] + responses: + '200': + description: OK + delete: + tags: [Proxies] + summary: 删除手动节点 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /proxies/{id}/test: + parameters: + - $ref: '#/components/parameters/IdPath' + post: + tags: [Proxies] + summary: 单节点测速 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /proxies/test-all: + post: + tags: [Proxies] + summary: 全部节点测速 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /proxies/rebuild-countries: + post: + tags: [Proxies] + summary: 重新识别节点国家 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /countries: + get: + tags: [Countries] + summary: 国家统计 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /outbound: + get: + tags: [Outbound] + summary: 出站概览 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /outbound/groups/{name}: + parameters: + - name: name + in: path + required: true + schema: + type: string + put: + tags: [Outbound] + summary: 切换策略组节点 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + required: [proxy] + properties: + proxy: + type: string + responses: + '200': + description: OK + + /outbound/default-policy: + put: + tags: [Outbound] + summary: 设置默认出站 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + required: [policy] + properties: + policy: + type: string + responses: + '200': + description: OK + + /traffic-logs: + get: + tags: [TrafficLogs] + summary: 请求日志 + security: + - bearerAuth: [] + parameters: + - name: keyword + in: query + schema: + type: string + - name: limit + in: query + schema: + type: integer + default: 50 + - name: offset + in: query + schema: + type: integer + default: 0 + responses: + '200': + description: OK + + /rules: + get: + tags: [Rules] + summary: 规则列表 + security: + - bearerAuth: [] + parameters: + - name: source + in: query + schema: + type: string + responses: + '200': + description: OK + post: + tags: [Rules] + summary: 添加手动规则 + security: + - bearerAuth: [] + responses: + '201': + description: Created + + /rules/export: + get: + tags: [Rules] + summary: 导出手动规则 + security: + - bearerAuth: [] + parameters: + - name: format + in: query + schema: + type: string + enum: [json, text, txt, clash] + default: json + responses: + '200': + description: 文件下载 + + /rules/import: + post: + tags: [Rules] + summary: 导入手动规则 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + mode: + type: string + enum: [append, replace] + text: + type: string + rules: + type: array + items: + type: object + responses: + '200': + description: OK + + /rules/merged: + get: + tags: [Rules] + summary: 合成规则预览 + security: + - bearerAuth: [] + parameters: + - name: limit + in: query + schema: + type: integer + - name: offset + in: query + schema: + type: integer + responses: + '200': + description: OK + + /rules/test: + post: + tags: [Rules] + summary: 规则命中测试 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + required: [url] + properties: + url: + type: string + responses: + '200': + description: OK + + /rules/{id}: + parameters: + - $ref: '#/components/parameters/IdPath' + put: + tags: [Rules] + summary: 更新规则 + security: + - bearerAuth: [] + responses: + '200': + description: OK + delete: + tags: [Rules] + summary: 删除手动规则 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /settings: + get: + tags: [Settings] + summary: 获取系统设置 + security: + - bearerAuth: [] + responses: + '200': + description: OK + put: + tags: [Settings] + summary: 更新系统设置 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: + type: string + responses: + '200': + description: OK + + /logs: + get: + tags: [Logs] + summary: 运行日志 + security: + - bearerAuth: [] + parameters: + - name: level + in: query + schema: + type: string + - name: limit + in: query + schema: + type: integer + responses: + '200': + description: OK + + /audit-logs: + get: + tags: [Logs] + summary: 审计日志 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /system/status: + get: + tags: [System] + summary: 系统状态 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /system/reload: + post: + tags: [System] + summary: 重载内核 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /system/geo: + get: + tags: [System] + summary: Geo 数据状态 + security: + - bearerAuth: [] + responses: + '200': + description: OK + + /system/geo/update: + post: + tags: [System] + summary: 更新 Geo 数据 + security: + - bearerAuth: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + force: + type: boolean + responses: + '200': + description: OK + +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + description: 登录 token 或 API Key(prism_ 开头) + apiKeyAuth: + type: apiKey + in: header + name: X-API-Key + description: 系统设置中申请的 API Key + + parameters: + IdPath: + name: id + in: path + required: true + schema: + type: integer + format: int64 + + schemas: + Subscription: + type: object + properties: + name: + type: string + url: + type: string + type: + type: string + description: auto / clash / links + interval_sec: + type: integer + enabled: + type: boolean + + Error: + type: object + properties: + error: + type: string + + responses: + Unauthorized: + description: 未授权 + content: + application/json: + schema: + $ref: '#/components/schemas/Error' diff --git a/internal/api/openapi_test.go b/internal/api/openapi_test.go new file mode 100644 index 0000000..ba3792f --- /dev/null +++ b/internal/api/openapi_test.go @@ -0,0 +1,48 @@ +package api + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "strings" + "testing" +) + +func TestServeOpenAPIJSON(t *testing.T) { + s := &Server{} + r := s.Router() + + req := httptest.NewRequest(http.MethodGet, "/api/v1/openapi.json", nil) + w := httptest.NewRecorder() + r.ServeHTTP(w, req) + + if w.Code != http.StatusOK { + t.Fatalf("status %d: %s", w.Code, w.Body.String()) + } + if ct := w.Header().Get("Content-Type"); !strings.Contains(ct, "application/json") { + t.Fatalf("content-type: %s", ct) + } + var doc map[string]any + if err := json.Unmarshal(w.Body.Bytes(), &doc); err != nil { + t.Fatal(err) + } + if doc["openapi"] != "3.0.3" { + t.Fatalf("unexpected openapi version: %v", doc["openapi"]) + } +} + +func TestServeOpenAPIDocs(t *testing.T) { + s := &Server{} + r := s.Router() + + req := httptest.NewRequest(http.MethodGet, "/api/docs", nil) + w := httptest.NewRecorder() + r.ServeHTTP(w, req) + + if w.Code != http.StatusOK { + t.Fatalf("status %d", w.Code) + } + if !strings.Contains(w.Body.String(), "swagger-ui") { + t.Fatal("expected swagger ui html") + } +} diff --git a/internal/api/pagination.go b/internal/api/pagination.go new file mode 100644 index 0000000..81f7a7f --- /dev/null +++ b/internal/api/pagination.go @@ -0,0 +1,35 @@ +package api + +import "strconv" + +const ( + defaultPageLimit = 50 + maxPageLimit = 500 +) + +func parseLimitOffset(limitStr, offsetStr string) (limit, offset int) { + limit, _ = strconv.Atoi(limitStr) + offset, _ = strconv.Atoi(offsetStr) + if limit <= 0 { + limit = defaultPageLimit + } + if limit > maxPageLimit { + limit = maxPageLimit + } + if offset < 0 { + offset = 0 + } + return limit, offset +} + +func paginateSlice[T any](items []T, limit, offset int) ([]T, int) { + total := len(items) + if offset >= total { + return nil, total + } + end := offset + limit + if end > total { + end = total + } + return items[offset:end], total +} diff --git a/internal/api/static.go b/internal/api/static.go new file mode 100644 index 0000000..2fa0b59 --- /dev/null +++ b/internal/api/static.go @@ -0,0 +1,47 @@ +package api + +import ( + "embed" + "io/fs" + "net/http" + "strings" + + "github.com/gin-gonic/gin" +) + +//go:embed static/* +var staticFS embed.FS + +func (s *Server) serveSPA(c *gin.Context) { + if strings.HasPrefix(c.Request.URL.Path, "/api/") { + c.JSON(http.StatusNotFound, gin.H{"error": "not found"}) + return + } + sub, err := fs.Sub(staticFS, "static") + if err != nil { + c.String(http.StatusInternalServerError, "static fs error") + return + } + path := strings.TrimPrefix(c.Request.URL.Path, "/") + if path == "" { + path = "index.html" + } + data, err := fs.ReadFile(sub, path) + if err != nil { + data, err = fs.ReadFile(sub, "index.html") + if err != nil { + c.String(http.StatusNotFound, "not found") + return + } + } + contentType := "text/html; charset=utf-8" + switch { + case strings.HasSuffix(path, ".js"): + contentType = "application/javascript" + case strings.HasSuffix(path, ".css"): + contentType = "text/css" + case strings.HasSuffix(path, ".svg"): + contentType = "image/svg+xml" + } + c.Data(http.StatusOK, contentType, data) +} diff --git a/internal/api/static/assets/AppCard-ClnBgZ-s.js b/internal/api/static/assets/AppCard-ClnBgZ-s.js new file mode 100644 index 0000000..832ed78 --- /dev/null +++ b/internal/api/static/assets/AppCard-ClnBgZ-s.js @@ -0,0 +1 @@ +import{Kt as e,R as t,Ut as n,V as r,b as i,d as a,m as o,p as s}from"./client-CiT_nDm8.js";var c={class:`page-header`},l={class:`page-title`},u={key:0,class:`page-desc`},d={key:0,class:`page-actions`},f=i({__name:`PageHeader`,props:{title:{},description:{}},setup(n){return(i,f)=>(t(),o(`div`,c,[a(`div`,null,[a(`h1`,l,e(n.title),1),n.description?(t(),o(`p`,u,e(n.description),1)):s(``,!0)]),i.$slots.actions?(t(),o(`div`,d,[r(i.$slots,`actions`)])):s(``,!0)]))}}),p={class:`app-card`},m={key:0,class:`app-card__header`},h={class:`app-card__title`},g=i({__name:`AppCard`,props:{title:{},padded:{type:Boolean}},setup(i){return(c,l)=>(t(),o(`div`,p,[i.title||c.$slots.header?(t(),o(`div`,m,[r(c.$slots,`header`,{},()=>[a(`h3`,h,e(i.title),1)])])):s(``,!0),a(`div`,{class:n(i.padded?`app-card__body--padded`:``)},[r(c.$slots,`default`)],2)]))}});export{f as n,g as t}; \ No newline at end of file diff --git a/internal/api/static/assets/DashboardView-BVv1KNO9.js b/internal/api/static/assets/DashboardView-BVv1KNO9.js new file mode 100644 index 0000000..bbc849c --- /dev/null +++ b/internal/api/static/assets/DashboardView-BVv1KNO9.js @@ -0,0 +1,39 @@ +import{F as e,H as t,I as n,Kt as r,R as i,Xt as a,b as o,d as s,et as c,m as l,t as u,ut as d,v as f,y as p}from"./client-CiT_nDm8.js";import{n as m,t as h}from"./AppCard-ClnBgZ-s.js";var g=function(e,t){return g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},g(e,t)};function _(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);g(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var v=function(){function e(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return e}(),y=new(function(){function e(){this.browser=new v,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 e}());typeof wx==`object`&&typeof wx.getSystemInfoSync==`function`?(y.wxa=!0,y.touchEventsSupported=!0):typeof document>`u`&&typeof self<`u`?y.worker=!0:!y.hasGlobalWindow||`Deno`in window||typeof navigator<`u`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Node.js`)>-1?(y.node=!0,y.svgSupported=!0):b(navigator.userAgent,y);function b(e,t){var n=t.browser,r=e.match(/Firefox\/([\d.]+)/),i=e.match(/MSIE\s([\d.]+)/)||e.match(/Trident\/.+?rv:(([\d.]+))/),a=e.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(e);if(r&&(n.firefox=!0,n.version=r[1]),i&&(n.ie=!0,n.version=i[1]),a&&(n.edge=!0,n.version=a[1],n.newEdge=+a[1].split(`.`)[0]>18),o&&(n.weChat=!0),t.svgSupported=typeof SVGRect<`u`,t.touchEventsSupported=`ontouchstart`in window&&!n.ie&&!n.edge,t.pointerEventsSupported=`onpointerdown`in window&&(n.edge||n.ie&&+n.version>=11),t.domSupported=typeof document<`u`){var s=document.documentElement.style;t.transform3dSupported=(n.ie&&`transition`in s||n.edge||`WebKitCSSMatrix`in window&&`m11`in new WebKitCSSMatrix||`MozPerspective`in s)&&!(`OTransition`in s),t.transformSupported=t.transform3dSupported||n.ie&&+n.version>=9}}var x=`12px sans-serif`,S=20,C=100,w=`007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N`;function T(e){var t={};if(typeof JSON>`u`)return t;for(var n=0;n=0)s=o*n.length;else for(var c=0;c=ce&&(se=0),se++}function ue(){var e=[...arguments];typeof console<`u`&&console.error.apply(console,e)}function M(e){if(typeof e!=`object`||!e)return e;var t=e,n=A.call(e);if(n===`[object Array]`){if(!ze(e)){t=[];for(var r=0,i=e.length;r>1)%2;s.cssText=[`position: absolute`,`visibility: hidden`,`padding: 0`,`margin: 0`,`border-width: 0`,`user-select: none`,`width:0`,`height:0`,r[c]+`:0`,i[l]+`:0`,r[1-c]+`:auto`,i[1-l]+`:auto`,``].join(`!important;`),e.appendChild(o),n.push(o)}return t.clearMarkers=function(){L(n,function(e){e.parentNode&&e.parentNode.removeChild(e)})},n}function Ot(e,t,n){for(var r=n?`invTrans`:`trans`,i=t[r],a=t.srcCoords,o=[],s=[],c=!0,l=0;l<4;l++){var u=e[l].getBoundingClientRect(),d=2*l,f=u.left,p=u.top;o.push(f,p),c=c&&a&&f===a[d]&&p===a[d+1],s.push(e[l].offsetLeft,e[l].offsetTop)}return c&&i?i:(t.srcCoords=o,t[r]=n?xt(s,o):xt(o,s))}function kt(e){return e.nodeName.toUpperCase()===`CANVAS`}var At=/([&<>"'])/g,jt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function Mt(e){return e==null?``:(e+``).replace(At,function(e,t){return jt[t]})}var Nt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Pt=[],Ft=y.browser.firefox&&+y.browser.version.split(`.`)[0]<39;function It(e,t,n,r){return n||={},r?Lt(e,t,n):Ft&&t.layerX!=null&&t.layerX!==t.offsetX?(n.zrX=t.layerX,n.zrY=t.layerY):t.offsetX==null?Lt(e,t,n):(n.zrX=t.offsetX,n.zrY=t.offsetY),n}function Lt(e,t,n){if(y.domSupported&&e.getBoundingClientRect){var r=t.clientX,i=t.clientY;if(kt(e)){var a=e.getBoundingClientRect();n.zrX=r-a.left,n.zrY=i-a.top;return}else if(Et(Pt,e,r,i)){n.zrX=Pt[0],n.zrY=Pt[1];return}}n.zrX=n.zrY=0}function Rt(e){return e||window.event}function zt(e,t,n){if(t=Rt(t),t.zrX!=null)return t;var r=t.type;if(r&&r.indexOf(`touch`)>=0){var i=r===`touchend`?t.changedTouches[0]:t.targetTouches[0];i&&It(e,i,t,n)}else{It(e,t,t,n);var a=Bt(t);t.zrDelta=a?a/120:-(t.detail||0)/3}var o=t.button;return t.which==null&&o!==void 0&&Nt.test(t.type)&&(t.which=o&1?1:o&2?3:o&4?2:0),t}function Bt(e){var t=e.wheelDelta;if(t)return t;var n=e.deltaX,r=e.deltaY;if(n==null||r==null)return t;var i=Math.abs(r===0?n:r),a=r>0?-1:r<0?1:n>0?-1:1;return 3*i*a}function Vt(e,t,n,r){e.addEventListener(t,n,r)}function Ht(e,t,n,r){e.removeEventListener(t,n,r)}var Ut=function(e){e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0};function Wt(e){return e.which===2||e.which===3}var Gt=function(){function e(){this._track=[]}return e.prototype.recognize=function(e,t,n){return this._doTrack(e,t,n),this._recognize(e)},e.prototype.clear=function(){return this._track.length=0,this},e.prototype._doTrack=function(e,t,n){var r=e.touches;if(r){for(var i={points:[],touches:[],target:t,event:e},a=0,o=r.length;a1&&r&&r.length>1){var a=Kt(r)/Kt(i);!isFinite(a)&&(a=1),t.pinchScale=a;var o=qt(r);return t.pinchX=o[0],t.pinchY=o[1],{type:`pinch`,target:e[0].target,event:t}}}}};function Yt(){return[1,0,0,1,0,0]}function Xt(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function Zt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Qt(e,t,n){var r=t[0]*n[0]+t[2]*n[1],i=t[1]*n[0]+t[3]*n[1],a=t[0]*n[2]+t[2]*n[3],o=t[1]*n[2]+t[3]*n[3],s=t[0]*n[4]+t[2]*n[5]+t[4],c=t[1]*n[4]+t[3]*n[5]+t[5];return e[0]=r,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=c,e}function $t(e,t,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+n[0],e[5]=t[5]+n[1],e}function en(e,t,n,r){r===void 0&&(r=[0,0]);var i=t[0],a=t[2],o=t[4],s=t[1],c=t[3],l=t[5],u=Math.sin(n),d=Math.cos(n);return e[0]=i*d+s*u,e[1]=-i*u+s*d,e[2]=a*d+c*u,e[3]=-a*u+d*c,e[4]=d*(o-r[0])+u*(l-r[1])+r[0],e[5]=d*(l-r[1])-u*(o-r[0])+r[1],e}function tn(e,t,n){var r=n[0],i=n[1];return e[0]=t[0]*r,e[1]=t[1]*i,e[2]=t[2]*r,e[3]=t[3]*i,e[4]=t[4]*r,e[5]=t[5]*i,e}function nn(e,t){var n=t[0],r=t[2],i=t[4],a=t[1],o=t[3],s=t[5],c=n*o-a*r;return c?(c=1/c,e[0]=o*c,e[1]=-a*c,e[2]=-r*c,e[3]=n*c,e[4]=(r*s-o*i)*c,e[5]=(a*i-n*s)*c,e):null}function rn(e){var t=Yt();return Zt(t,e),t}var q=function(){function e(e,t){this.x=e||0,this.y=t||0}return e.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},e.prototype.clone=function(){return new e(this.x,this.y)},e.prototype.set=function(e,t){return this.x=e,this.y=t,this},e.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},e.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},e.prototype.scale=function(e){this.x*=e,this.y*=e},e.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},e.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},e.prototype.dot=function(e){return this.x*e.x+this.y*e.y},e.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},e.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},e.prototype.distance=function(e){var t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)},e.prototype.distanceSquare=function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},e.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.prototype.transform=function(e){if(e){var t=this.x,n=this.y;return this.x=e[0]*t+e[2]*n+e[4],this.y=e[1]*t+e[3]*n+e[5],this}},e.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},e.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},e.set=function(e,t,n){e.x=t,e.y=n},e.copy=function(e,t){e.x=t.x,e.y=t.y},e.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},e.lenSquare=function(e){return e.x*e.x+e.y*e.y},e.dot=function(e,t){return e.x*t.x+e.y*t.y},e.add=function(e,t,n){e.x=t.x+n.x,e.y=t.y+n.y},e.sub=function(e,t,n){e.x=t.x-n.x,e.y=t.y-n.y},e.scale=function(e,t,n){e.x=t.x*n,e.y=t.y*n},e.scaleAndAdd=function(e,t,n,r){e.x=t.x+n.x*r,e.y=t.y+n.y*r},e.lerp=function(e,t,n,r){var i=1-r;e.x=i*t.x+r*n.x,e.y=i*t.y+r*n.y},e}(),an=Math.min,on=Math.max,sn=Math.abs,cn=[`x`,`y`],ln=[`width`,`height`],un=new q,dn=new q,fn=new q,pn=new q,mn=On(),hn=mn.minTv,gn=mn.maxTv,_n=[0,0],J=function(){function e(e,t,n,r){yn(this,e,t,n,r)}return e.set=function(e,t,n,r,i){return r<0&&(t+=r,r=-r),i<0&&(n+=i,i=-i),e.x=t,e.y=n,e.width=r,e.height=i,e},e.prototype.union=function(e){var t=an(e.x,this.x),n=an(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=on(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=on(e.y+e.height,this.y+this.height)-n:this.height=e.height,this.x=t,this.y=n},e.prototype.applyTransform=function(t){e.applyTransform(this,this,t)},e.prototype.calculateTransform=function(e){return xn(Yt(),this,e)},e.prototype.intersect=function(t,n,r){return e.intersect(this,t,n,r)},e.intersect=function(t,n,r,i){r&&q.set(r,0,0);var a=i&&i.outIntersectRect||null,o=i&&i.clamp;if(a&&(a.x=a.y=a.width=a.height=NaN),!t||!n)return!1;t instanceof e||(t=yn(wn,t.x,t.y,t.width,t.height)),n instanceof e||(n=yn(Tn,n.x,n.y,n.width,n.height));var s=!!r;mn.reset(i,s);var c=mn.touchThreshold,l=t.x+c,u=t.x+t.width-c,d=t.y+c,f=t.y+t.height-c,p=n.x+c,m=n.x+n.width-c,h=n.y+c,g=n.y+n.height-c;if(l>u||d>f||p>m||h>g)return!1;var _=!(u=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height},e.prototype.contain=function(t,n){return e.contain(this,t,n)},e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.copy=function(e){bn(this,e)},e.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},e.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},e.prototype.isZero=function(){return this.width===0||this.height===0},e.create=function(t){return new e(t?t.x:0,t?t.y:0,t?t.width:0,t?t.height:0)},e.copy=function(e,t){return e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e},e.applyTransform=function(e,t,n){if(!n){e!==t&&bn(e,t);return}if(n[1]<1e-5&&n[1]>-1e-5&&n[2]<1e-5&&n[2]>-1e-5){var r=n[0],i=n[3],a=n[4],o=n[5];e.x=t.x*r+a,e.y=t.y*i+o,e.width=t.width*r,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}un.x=fn.x=t.x,un.y=pn.y=t.y,dn.x=pn.x=t.x+t.width,dn.y=fn.y=t.y+t.height,un.transform(n),pn.transform(n),dn.transform(n),fn.transform(n),e.x=an(un.x,dn.x,fn.x,pn.x),e.y=an(un.y,dn.y,fn.y,pn.y);var s=on(un.x,dn.x,fn.x,pn.x),c=on(un.y,dn.y,fn.y,pn.y);e.width=s-e.x,e.height=c-e.y},e.calculateTransform=function(e,t,n){var r=n.width/t.width,i=n.height/t.height;return e=Xt(e||[]),$t(e,e,et(En,-t.x,-t.y)),tn(e,e,et(En,r,i)),$t(e,e,et(En,n.x,n.y)),e},e}(),vn=J.create,yn=J.set,bn=J.copy,xn=J.calculateTransform,Sn=J.applyTransform,Cn=J.contain,wn=new J(0,0,0,0),Tn=new J(0,0,0,0),En=[];function Dn(e,t,n,r,i,a,o,s){var c=sn(t-n),l=sn(r-e),u=an(c,l),d=cn[i],f=cn[1-i],p=ln[i];t=l||!mn.bidirectional)&&(hn[d]=-l,hn[f]=0,mn.useDir&&mn.calcDirMTV())))}function On(){var e=0,t=new q,n=new q,r={minTv:new q,maxTv:new q,useDir:!1,dirMinTv:new q,touchThreshold:0,bidirectional:!0,negativeSize:!1,reset:function(i,a){r.touchThreshold=0,i&&i.touchThreshold!=null&&(r.touchThreshold=on(0,i.touchThreshold)),r.negativeSize=!1,a&&(r.minTv.set(1/0,1/0),r.maxTv.set(0,0),r.useDir=!1,i&&i.direction!=null&&(r.useDir=!0,r.dirMinTv.copy(r.minTv),n.copy(r.minTv),e=i.direction,r.bidirectional=i.bidirectional==null||!!i.bidirectional,r.bidirectional||t.set(Math.cos(e),Math.sin(e))))},calcDirMTV:function(){var a=r.minTv,o=r.dirMinTv,s=a.y*a.y+a.x*a.x,c=Math.sin(e),l=Math.cos(e),u=c*a.y+l*a.x;if(i(u)){i(a.x)&&i(a.y)&&o.set(0,0);return}if(n.x=s*l/u,n.y=s*c/u,i(n.x)&&i(n.y)){o.set(0,0);return}(r.bidirectional||t.dot(n)>0)&&n.len()=0;l--){var u=r[l];u!==n&&!u.ignore&&!u.ignoreCoarsePointer&&(!u.parent||!u.parent.ignoreCoarsePointer)&&(Fn.copy(u.getBoundingRect()),u.transform&&Fn.applyTransform(u.transform),Fn.intersect(c)&&a.push(u))}if(a.length){for(var d=4,f=Math.PI/12,p=Math.PI*2,m=0;m4)return;this._downPoint=null}this.dispatchToElement(a,e,t)}});function Ln(e,t,n){if(e[e.rectHover?`rectContain`:`contain`](t,n)){for(var r=e,i=void 0,a=!1;r;){if(r.ignoreClip&&(a=!0),!a){var o=r.getClipPath();if(o&&!o.contain(t,n))return!1}r.silent&&(i=!0);var s=r.__hostTarget;r=s?r.ignoreHostSilent?null:s:r.parent}return i?kn:!0}return!1}function Rn(e,t,n,r,i){for(var a=e.length-1;a>=0;a--){var o=e[a],s=void 0;if(o!==i&&!o.ignore&&(s=Ln(o,n,r))&&(!t.topTarget&&(t.topTarget=o),s!==kn)){t.target=o;break}}}function zn(e,t,n){var r=e.painter;return t<0||t>r.getWidth()||n<0||n>r.getHeight()}var Bn=32,Vn=7;function Hn(e){for(var t=0;e>=Bn;)t|=e&1,e>>=1;return e+t}function Un(e,t,n,r){var i=t+1;if(i===n)return 1;if(r(e[i++],e[t])<0){for(;i=0;)i++;return i-t}function Wn(e,t,n){for(n--;t>>1,i(a,e[c])<0?s=c:o=c+1;var l=r-o;switch(l){case 3:e[o+3]=e[o+2];case 2:e[o+2]=e[o+1];case 1:e[o+1]=e[o];break;default:for(;l>0;)e[o+l]=e[o+l-1],l--}e[o]=a}}function Kn(e,t,n,r,i,a){var o=0,s=0,c=1;if(a(e,t[n+i])>0){for(s=r-i;c0;)o=c,c=(c<<1)+1,c<=0&&(c=s);c>s&&(c=s),o+=i,c+=i}else{for(s=i+1;cs&&(c=s);var l=o;o=i-c,c=i-l}for(o++;o>>1);a(e,t[n+u])>0?o=u+1:c=u}return c}function qn(e,t,n,r,i,a){var o=0,s=0,c=1;if(a(e,t[n+i])<0){for(s=i+1;cs&&(c=s);var l=o;o=i-c,c=i-l}else{for(s=r-i;c=0;)o=c,c=(c<<1)+1,c<=0&&(c=s);c>s&&(c=s),o+=i,c+=i}for(o++;o>>1);a(e,t[n+u])<0?c=u:o=u+1}return c}function Jn(e,t){var n=Vn,r,i,a=0,o=[];r=[],i=[];function s(e,t){r[a]=e,i[a]=t,a+=1}function c(){for(;a>1;){var e=a-2;if(e>=1&&i[e-1]<=i[e]+i[e+1]||e>=2&&i[e-2]<=i[e]+i[e-1])i[e-1]i[e+1])break;u(e)}}function l(){for(;a>1;){var e=a-2;e>0&&i[e-1]=Vn||m>=Vn);if(h)break;f<0&&(f=0),f+=2}if(n=f,n<1&&(n=1),i===1){for(c=0;c=0;c--)e[p+c]=e[f+c];e[d]=o[u];return}for(var m=n;;){var h=0,g=0,_=!1;do if(t(o[u],e[l])<0){if(e[d--]=e[l--],h++,g=0,--i===0){_=!0;break}}else if(e[d--]=o[u--],g++,h=0,--s===1){_=!0;break}while((h|g)=0;c--)e[p+c]=e[f+c];if(i===0){_=!0;break}}if(e[d--]=o[u--],--s===1){_=!0;break}if(g=s-Kn(e[l],o,0,s,s-1,t),g!==0){for(d-=g,u-=g,s-=g,p=d+1,f=u+1,c=0;c=Vn||g>=Vn);if(_)break;m<0&&(m=0),m+=2}if(n=m,n<1&&(n=1),s===1){for(d-=i,l-=i,p=d+1,f=l+1,c=i-1;c>=0;c--)e[p+c]=e[f+c];e[d]=o[u]}else if(s===0)throw Error();else for(f=d-(s-1),c=0;cs&&(c=s),Gn(e,n,n+c,n+a,t),a=c}o.pushRun(n,a),o.mergeRuns(),i-=a,n+=a}while(i!==0);o.forceMergeRuns()}}var Xn=!1;function Zn(){Xn||(Xn=!0,console.warn(`z / z2 / zlevel of displayable is invalid, which may cause unexpected errors`))}function Qn(e,t){return e.zlevel===t.zlevel?e.z===t.z?e.z2-t.z2:e.z-t.z:e.zlevel-t.zlevel}var $n=function(){function e(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Qn}return e.prototype.traverse=function(e,t){for(var n=0;n=0&&this._roots.splice(r,1)},e.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},e.prototype.getRoots=function(){return this._roots},e.prototype.dispose=function(){this._displayList=null,this._roots=null},e}(),er=y.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(e){return setTimeout(e,16)},tr={linear:function(e){return e},quadraticIn:function(e){return e*e},quadraticOut:function(e){return e*(2-e)},quadraticInOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},cubicIn:function(e){return e*e*e},cubicOut:function(e){return--e*e*e+1},cubicInOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},quarticIn:function(e){return e*e*e*e},quarticOut:function(e){return 1- --e*e*e*e},quarticInOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},quinticIn:function(e){return e*e*e*e*e},quinticOut:function(e){return--e*e*e*e*e+1},quinticInOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},sinusoidalIn:function(e){return 1-Math.cos(e*Math.PI/2)},sinusoidalOut:function(e){return Math.sin(e*Math.PI/2)},sinusoidalInOut:function(e){return .5*(1-Math.cos(Math.PI*e))},exponentialIn:function(e){return e===0?0:1024**(e-1)},exponentialOut:function(e){return e===1?1:1-2**(-10*e)},exponentialInOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*1024**(e-1):.5*(-(2**(-10*(e-1)))+2)},circularIn:function(e){return 1-Math.sqrt(1-e*e)},circularOut:function(e){return Math.sqrt(1- --e*e)},circularInOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},elasticIn:function(e){var t,n=.1,r=.4;return e===0?0:e===1?1:(!n||n<1?(n=1,t=r/4):t=r*Math.asin(1/n)/(2*Math.PI),-(n*2**(10*--e)*Math.sin((e-t)*(2*Math.PI)/r)))},elasticOut:function(e){var t,n=.1,r=.4;return e===0?0:e===1?1:(!n||n<1?(n=1,t=r/4):t=r*Math.asin(1/n)/(2*Math.PI),n*2**(-10*e)*Math.sin((e-t)*(2*Math.PI)/r)+1)},elasticInOut:function(e){var t,n=.1,r=.4;return e===0?0:e===1?1:(!n||n<1?(n=1,t=r/4):t=r*Math.asin(1/n)/(2*Math.PI),(e*=2)<1?-.5*(n*2**(10*--e)*Math.sin((e-t)*(2*Math.PI)/r)):n*2**(-10*--e)*Math.sin((e-t)*(2*Math.PI)/r)*.5+1)},backIn:function(e){var t=1.70158;return e*e*((t+1)*e-t)},backOut:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},backInOut:function(e){var t=1.70158*1.525;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)},bounceIn:function(e){return 1-tr.bounceOut(1-e)},bounceOut:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bounceInOut:function(e){return e<.5?tr.bounceIn(e*2)*.5:tr.bounceOut(e*2-1)*.5+.5}},nr=Math.pow,rr=Math.sqrt,ir=1e-8,ar=1e-4,or=rr(3),sr=1/3,cr=Ze(),lr=Ze(),ur=Ze();function dr(e){return e>-ir&&eir||e<-ir}function pr(e,t,n,r,i){var a=1-i;return a*a*(a*e+3*i*t)+i*i*(i*r+3*a*n)}function mr(e,t,n,r,i){var a=1-i;return 3*(((t-e)*a+2*(n-t)*i)*a+(r-n)*i*i)}function hr(e,t,n,r,i,a){var o=r+3*(t-n)-e,s=3*(n-t*2+e),c=3*(t-e),l=e-i,u=s*s-3*o*c,d=s*c-9*o*l,f=c*c-3*s*l,p=0;if(dr(u)&&dr(d))if(dr(s))a[0]=0;else{var m=-c/s;m>=0&&m<=1&&(a[p++]=m)}else{var h=d*d-4*u*f;if(dr(h)){var g=d/u,m=-s/o+g,_=-g/2;m>=0&&m<=1&&(a[p++]=m),_>=0&&_<=1&&(a[p++]=_)}else if(h>0){var v=rr(h),y=u*s+1.5*o*(-d+v),b=u*s+1.5*o*(-d-v);y=y<0?-nr(-y,sr):nr(y,sr),b=b<0?-nr(-b,sr):nr(b,sr);var m=(-s-(y+b))/(3*o);m>=0&&m<=1&&(a[p++]=m)}else{var x=(2*u*s-3*o*d)/(2*rr(u*u*u)),S=Math.acos(x)/3,C=rr(u),w=Math.cos(S),m=(-s-2*C*w)/(3*o),_=(-s+C*(w+or*Math.sin(S)))/(3*o),T=(-s+C*(w-or*Math.sin(S)))/(3*o);m>=0&&m<=1&&(a[p++]=m),_>=0&&_<=1&&(a[p++]=_),T>=0&&T<=1&&(a[p++]=T)}}return p}function gr(e,t,n,r,i){var a=6*n-12*t+6*e,o=9*t+3*r-3*e-9*n,s=3*t-3*e,c=0;if(dr(o)){if(fr(a)){var l=-s/a;l>=0&&l<=1&&(i[c++]=l)}}else{var u=a*a-4*o*s;if(dr(u))i[0]=-a/(2*o);else if(u>0){var d=rr(u),l=(-a+d)/(2*o),f=(-a-d)/(2*o);l>=0&&l<=1&&(i[c++]=l),f>=0&&f<=1&&(i[c++]=f)}}return c}function _r(e,t,n,r,i,a){var o=(t-e)*i+e,s=(n-t)*i+t,c=(r-n)*i+n,l=(s-o)*i+o,u=(c-s)*i+s,d=(u-l)*i+l;a[0]=e,a[1]=o,a[2]=l,a[3]=d,a[4]=d,a[5]=u,a[6]=c,a[7]=r}function vr(e,t,n,r,i,a,o,s,c,l,u){var d,f=.005,p=1/0,m,h,g,_;cr[0]=c,cr[1]=l;for(var v=0;v<1;v+=.05)lr[0]=pr(e,n,i,o,v),lr[1]=pr(t,r,a,s,v),g=dt(cr,lr),g=0&&g=0&&l<=1&&(i[c++]=l)}}else{var u=o*o-4*a*s;if(dr(u)){var l=-o/(2*a);l>=0&&l<=1&&(i[c++]=l)}else if(u>0){var d=rr(u),l=(-o+d)/(2*a),f=(-o-d)/(2*a);l>=0&&l<=1&&(i[c++]=l),f>=0&&f<=1&&(i[c++]=f)}}return c}function Cr(e,t,n){var r=e+n-2*t;return r===0?.5:(e-t)/r}function wr(e,t,n,r,i){var a=(t-e)*r+e,o=(n-t)*r+t,s=(o-a)*r+a;i[0]=e,i[1]=a,i[2]=s,i[3]=s,i[4]=o,i[5]=n}function Tr(e,t,n,r,i,a,o,s,c){var l,u=.005,d=1/0;cr[0]=o,cr[1]=s;for(var f=0;f<1;f+=.05){lr[0]=br(e,n,i,f),lr[1]=br(t,r,a,f);var p=dt(cr,lr);p=0&&p=1?1:hr(0,r,a,1,e,s)&&pr(0,i,o,1,s[0])}}}var kr=function(){function e(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||qe,this.ondestroy=e.ondestroy||qe,this.onrestart=e.onrestart||qe,e.easing&&this.setEasing(e.easing)}return e.prototype.step=function(e,t){if(this._inited||=(this._startTime=e+this._delay,!0),this._paused){this._pausedTime+=t;return}var n=this._life,r=e-this._startTime-this._pausedTime,i=r/n;i<0&&(i=0),i=Math.min(i,1);var a=this.easingFunc,o=a?a(i):i;if(this.onframe(o),i===1)if(this.loop){var s=r%n;this._startTime=e-s,this._pausedTime=0,this.onrestart()}else return!0;return!1},e.prototype.pause=function(){this._paused=!0},e.prototype.resume=function(){this._paused=!1},e.prototype.setEasing=function(e){this.easing=e,this.easingFunc=V(e)?e:tr[e]||Or(e)},e}(),Ar=function(){function e(e){this.value=e}return e}(),jr=function(){function e(){this._len=0}return e.prototype.insert=function(e){var t=new Ar(e);return this.insertEntry(t),t},e.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++},e.prototype.remove=function(e){var t=e.prev,n=e.next;t?t.next=n:this.head=n,n?n.prev=t:this.tail=t,e.next=e.prev=null,this._len--},e.prototype.len=function(){return this._len},e.prototype.clear=function(){this.head=this.tail=null,this._len=0},e}(),Mr=function(){function e(e){this._list=new jr,this._maxSize=10,this._map={},this._maxSize=e}return e.prototype.put=function(e,t){var n=this._list,r=this._map,i=null;if(r[e]==null){var a=n.len(),o=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=n.head;n.remove(s),delete r[s.key],i=s.value,this._lastRemovedEntry=s}o?o.value=t:o=new Ar(t),o.key=e,n.insertEntry(o),r[e]=o}return i},e.prototype.get=function(e){var t=this._map[e],n=this._list;if(t!=null)return t!==n.tail&&(n.remove(t),n.insertEntry(t)),t.value},e.prototype.clear=function(){this._list.clear(),this._map={}},e.prototype.len=function(){return this._list.len()},e}(),Nr={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 Pr(e){return e=Math.round(e),e<0?0:e>255?255:e}function Fr(e){return e=Math.round(e),e<0?0:e>360?360:e}function Ir(e){return e<0?0:e>1?1:e}function Lr(e){var t=e;return t.length&&t.charAt(t.length-1)===`%`?Pr(parseFloat(t)/100*255):Pr(parseInt(t,10))}function Rr(e){var t=e;return t.length&&t.charAt(t.length-1)===`%`?Ir(parseFloat(t)/100):Ir(parseFloat(t))}function zr(e,t,n){return n<0?n+=1:n>1&&--n,n*6<1?e+(t-e)*n*6:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function Br(e,t,n){return e+(t-e)*n}function Vr(e,t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,e[3]=i,e}function Hr(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}var Ur=new Mr(20),Wr=null;function Gr(e,t){Wr&&Hr(Wr,t),Wr=Ur.put(e,Wr||t.slice())}function Kr(e,t){if(e){t||=[];var n=Ur.get(e);if(n)return Hr(t,n);e+=``;var r=e.replace(/ /g,``).toLowerCase();if(r in Nr)return Hr(t,Nr[r]),Gr(e,t),t;var i=r.length;if(r.charAt(0)===`#`){if(i===4||i===5){var a=parseInt(r.slice(1,4),16);if(!(a>=0&&a<=4095)){Vr(t,0,0,0,1);return}return Vr(t,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,i===5?parseInt(r.slice(4),16)/15:1),Gr(e,t),t}else if(i===7||i===9){var a=parseInt(r.slice(1,7),16);if(!(a>=0&&a<=16777215)){Vr(t,0,0,0,1);return}return Vr(t,(a&16711680)>>16,(a&65280)>>8,a&255,i===9?parseInt(r.slice(7),16)/255:1),Gr(e,t),t}return}var o=r.indexOf(`(`),s=r.indexOf(`)`);if(o!==-1&&s+1===i){var c=r.substr(0,o),l=r.substr(o+1,s-(o+1)).split(`,`),u=1;switch(c){case`rgba`:if(l.length!==4)return l.length===3?Vr(t,+l[0],+l[1],+l[2],1):Vr(t,0,0,0,1);u=Rr(l.pop());case`rgb`:if(l.length>=3)return Vr(t,Lr(l[0]),Lr(l[1]),Lr(l[2]),l.length===3?u:Rr(l[3])),Gr(e,t),t;Vr(t,0,0,0,1);return;case`hsla`:if(l.length!==4){Vr(t,0,0,0,1);return}return l[3]=Rr(l[3]),qr(l,t),Gr(e,t),t;case`hsl`:if(l.length!==3){Vr(t,0,0,0,1);return}return qr(l,t),Gr(e,t),t;default:return}}Vr(t,0,0,0,1)}}function qr(e,t){var n=(parseFloat(e[0])%360+360)%360/360,r=Rr(e[1]),i=Rr(e[2]),a=i<=.5?i*(r+1):i+r-i*r,o=i*2-a;return t||=[],Vr(t,Pr(zr(o,a,n+1/3)*255),Pr(zr(o,a,n)*255),Pr(zr(o,a,n-1/3)*255),1),e.length===4&&(t[3]=e[3]),t}function Jr(e){if(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=a-i,s=(a+i)/2,c,l;if(o===0)c=0,l=0;else{l=s<.5?o/(a+i):o/(2-a-i);var u=((a-t)/6+o/2)/o,d=((a-n)/6+o/2)/o,f=((a-r)/6+o/2)/o;t===a?c=f-d:n===a?c=1/3+u-f:r===a&&(c=2/3+d-u),c<0&&(c+=1),c>1&&--c}var p=[c*360,l,s];return e[3]!=null&&p.push(e[3]),p}}function Yr(e,t){var n=Kr(e);if(n){for(var r=0;r<3;r++)t<0?n[r]=n[r]*(1-t)|0:n[r]=(255-n[r])*t+n[r]|0,n[r]>255?n[r]=255:n[r]<0&&(n[r]=0);return ei(n,n.length===4?`rgba`:`rgb`)}}function Xr(e,t,n){if(!(!(t&&t.length)||!(e>=0&&e<=1))){n||=[];var r=e*(t.length-1),i=Math.floor(r),a=Math.ceil(r),o=t[i],s=t[a],c=r-i;return n[0]=Pr(Br(o[0],s[0],c)),n[1]=Pr(Br(o[1],s[1],c)),n[2]=Pr(Br(o[2],s[2],c)),n[3]=Ir(Br(o[3],s[3],c)),n}}function Zr(e,t,n){if(!(!(t&&t.length)||!(e>=0&&e<=1))){var r=e*(t.length-1),i=Math.floor(r),a=Math.ceil(r),o=Kr(t[i]),s=Kr(t[a]),c=r-i,l=ei([Pr(Br(o[0],s[0],c)),Pr(Br(o[1],s[1],c)),Pr(Br(o[2],s[2],c)),Ir(Br(o[3],s[3],c))],`rgba`);return n?{color:l,leftIndex:i,rightIndex:a,value:r}:l}}function Qr(e,t,n,r){var i=Kr(e);if(e)return i=Jr(i),t!=null&&(i[0]=Fr(V(t)?t(i[0]):t)),n!=null&&(i[1]=Rr(V(n)?n(i[1]):n)),r!=null&&(i[2]=Rr(V(r)?r(i[2]):r)),ei(qr(i),`rgba`)}function $r(e,t){var n=Kr(e);if(n&&t!=null)return n[3]=Ir(t),ei(n,`rgba`)}function ei(e,t){if(!(!e||!e.length)){var n=e[0]+`,`+e[1]+`,`+e[2];return(t===`rgba`||t===`hsva`||t===`hsla`)&&(n+=`,`+e[3]),t+`(`+n+`)`}}function ti(e,t){var n=Kr(e);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*t:0}var ni=new Mr(100);function ri(e){if(H(e)){var t=ni.get(e);return t||(t=Yr(e,-.1),ni.put(e,t)),t}else if(De(e)){var n=P({},e);return n.colorStops=R(e.colorStops,function(e){return{offset:e.offset,color:Yr(e.color,-.1)}}),n}return e}var ii=Math.round;function ai(e){var t;if(!e||e===`transparent`)e=`none`;else if(typeof e==`string`&&e.indexOf(`rgba`)>-1){var n=Kr(e);n&&(e=`rgb(`+n[0]+`,`+n[1]+`,`+n[2]+`)`,t=n[3])}return{color:e,opacity:t??1}}var oi=1e-4;function si(e){return e-oi}function ci(e){return ii(e*1e3)/1e3}function li(e){return ii(e*1e4)/1e4}function ui(e){return`matrix(`+ci(e[0])+`,`+ci(e[1])+`,`+ci(e[2])+`,`+ci(e[3])+`,`+li(e[4])+`,`+li(e[5])+`)`}var di={left:`start`,right:`end`,center:`middle`,middle:`middle`};function fi(e,t,n){return n===`top`?e+=t/2:n===`bottom`&&(e-=t/2),e}function pi(e){return e&&(e.shadowBlur||e.shadowOffsetX||e.shadowOffsetY)}function mi(e){var t=e.style,n=e.getGlobalScale();return[t.shadowColor,(t.shadowBlur||0).toFixed(2),(t.shadowOffsetX||0).toFixed(2),(t.shadowOffsetY||0).toFixed(2),n[0],n[1]].join(`,`)}function hi(e){return e&&!!e.image}function gi(e){return e&&!!e.svgElement}function _i(e){return hi(e)||gi(e)}function vi(e){return e.type===`linear`}function yi(e){return e.type===`radial`}function bi(e){return e&&(e.type===`linear`||e.type===`radial`)}function xi(e){return`url(#`+e+`)`}function Si(e){var t=e.getGlobalScale(),n=Math.max(t[0],t[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function Ci(e){var t=e.x||0,n=e.y||0,r=(e.rotation||0)*Je,i=W(e.scaleX,1),a=W(e.scaleY,1),o=e.skewX||0,s=e.skewY||0,c=[];return(t||n)&&c.push(`translate(`+t+`px,`+n+`px)`),r&&c.push(`rotate(`+r+`)`),(i!==1||a!==1)&&c.push(`scale(`+i+`,`+a+`)`),(o||s)&&c.push(`skew(`+ii(o*Je)+`deg, `+ii(s*Je)+`deg)`),c.join(` `)}var wi=(function(){return typeof Buffer<`u`&&typeof Buffer.from==`function`?function(e){return Buffer.from(e).toString(`base64`)}:typeof btoa==`function`&&typeof unescape==`function`&&typeof encodeURIComponent==`function`?function(e){return btoa(unescape(encodeURIComponent(e)))}:function(e){return null}})(),Ti=Array.prototype.slice;function Ei(e,t,n){return(t-e)*n+e}function Di(e,t,n,r){for(var i=t.length,a=0;ar?t:e,a=Math.min(n,r),o=i[a-1]||{color:[0,0,0,0],offset:0},s=a;so)r.length=o;else for(var s=a;s=1},e.prototype.getAdditiveTrack=function(){return this._additiveTrack},e.prototype.addKeyframe=function(e,t,n){this._needsSort=!0;var r=this.keyframes,i=r.length,a=!1,o=Hi,s=t;if(he(t)){var c=Fi(t);o=c,(c===1&&!Ce(t[0])||c===2&&!Ce(t[0][0]))&&(a=!0)}else if(Ce(t)&&!Ae(t))o=Ii;else if(H(t))if(!isNaN(+t))o=Ii;else{var l=Kr(t);l&&(s=l,o=zi)}else if(De(t)){var u=P({},s);u.colorStops=R(t.colorStops,function(e){return{offset:e.offset,color:Kr(e.color)}}),vi(t)?o=Bi:yi(t)&&(o=Vi),s=u}i===0?this.valType=o:(o!==this.valType||o===Hi)&&(a=!0),this.discrete=this.discrete||a;var d={time:e,value:s,rawValue:t,percent:0};return n&&(d.easing=n,d.easingFunc=V(n)?n:tr[n]||Or(n)),r.push(d),d},e.prototype.prepare=function(e,t){var n=this.keyframes;this._needsSort&&n.sort(function(e,t){return e.time-t.time});for(var r=this.valType,i=n.length,a=n[i-1],o=this.discrete,s=Wi(r),c=Ui(r),l=0;l=0&&!(a[l].percent<=t);l--);l=d(l,o-2)}else{for(l=u;lt);l++);l=d(l-1,o-2)}p=a[l+1],f=a[l]}if(f&&p){this._lastFr=l,this._lastFrP=t;var m=p.percent-f.percent,h=m===0?1:d((t-f.percent)/m,1);p.easingFunc&&(h=p.easingFunc(h));var g=n?this._additiveValue:c?Gi:e[s];if((Wi(i)||c)&&!g&&(g=this._additiveValue=[]),this.discrete)e[s]=h<1?f.rawValue:p.rawValue;else if(Wi(i))i===Li?Di(g,f[r],p[r],h):Oi(g,f[r],p[r],h);else if(Ui(i)){var _=f[r],v=p[r],y=i===Bi;e[s]={type:y?`linear`:`radial`,x:Ei(_.x,v.x,h),y:Ei(_.y,v.y,h),colorStops:R(_.colorStops,function(e,t){var n=v.colorStops[t];return{offset:Ei(e.offset,n.offset,h),color:Pi(Di([],e.color,n.color,h))}}),global:v.global},y?(e[s].x2=Ei(_.x2,v.x2,h),e[s].y2=Ei(_.y2,v.y2,h)):e[s].r=Ei(_.r,v.r,h)}else if(c)Di(g,f[r],p[r],h),n||(e[s]=Pi(g));else{var b=Ei(f[r],p[r],h);n?this._additiveValue=b:e[s]=b}n&&this._addToTarget(e)}}},e.prototype._addToTarget=function(e){var t=this.valType,n=this.propName,r=this._additiveValue;t===Ii?e[n]=e[n]+r:t===zi?(Kr(e[n],Gi),ki(Gi,Gi,r,1),e[n]=Pi(Gi)):t===Li?ki(e[n],e[n],r,1):t===Ri&&Ai(e[n],e[n],r,1)},e}(),qi=function(){function e(e,t,n,r){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&r){ue(`Can' use additive animation on looped animation.`);return}this._additiveAnimators=r,this._allowDiscrete=n}return e.prototype.getMaxTime=function(){return this._maxTime},e.prototype.getDelay=function(){return this._delay},e.prototype.getLoop=function(){return this._loop},e.prototype.getTarget=function(){return this._target},e.prototype.changeTarget=function(e){this._target=e},e.prototype.when=function(e,t,n){return this.whenWithKeys(e,t,ye(t),n)},e.prototype.whenWithKeys=function(e,t,n,r){for(var i=this._tracks,a=0;a0&&s.addKeyframe(0,Ni(c),r),this._trackKeys.push(o)}s.addKeyframe(e,Ni(t[o]),r)}return this._maxTime=Math.max(this._maxTime,e),this},e.prototype.pause=function(){this._clip.pause(),this._paused=!0},e.prototype.resume=function(){this._clip.resume(),this._paused=!1},e.prototype.isPaused=function(){return!!this._paused},e.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},e.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,n=0;n0)){this._started=1;for(var t=this,n=[],r=this._maxTime||0,i=0;i1){var o=a.pop();i.addKeyframe(o.time,e[r]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},e}();function Ji(){return new Date().getTime()}var Yi=function(e){Xe(t,e);function t(t){var n=e.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,t||={},n.stage=t.stage||{},n}return t.prototype.addClip=function(e){e.animation&&this.removeClip(e),this._head?(this._tail.next=e,e.prev=this._tail,e.next=null,this._tail=e):this._head=this._tail=e,e.animation=this},t.prototype.addAnimator=function(e){e.animation=this;var t=e.getClip();t&&this.addClip(t)},t.prototype.removeClip=function(e){if(e.animation){var t=e.prev,n=e.next;t?t.next=n:this._head=n,n?n.prev=t:this._tail=t,e.next=e.prev=e.animation=null}},t.prototype.removeAnimator=function(e){var t=e.getClip();t&&this.removeClip(t),e.animation=null},t.prototype.update=function(e){for(var t=Ji()-this._pausedTime,n=t-this._time,r=this._head;r;){var i=r.next;r.step(t,n)?(r.ondestroy(),this.removeClip(r),r=i):r=i}this._time=t,e||(this.trigger(`frame`,n),this.stage.update&&this.stage.update())},t.prototype._startLoop=function(){var e=this;this._running=!0;function t(){e._running&&(er(t),!e._paused&&e.update())}er(t)},t.prototype.start=function(){this._running||(this._time=Ji(),this._pausedTime=0,this._startLoop())},t.prototype.stop=function(){this._running=!1},t.prototype.pause=function(){this._paused||=(this._pauseStart=Ji(),!0)},t.prototype.resume=function(){this._paused&&=(this._pausedTime+=Ji()-this._pauseStart,!1)},t.prototype.clear=function(){for(var e=this._head;e;){var t=e.next;e.prev=e.next=e.animation=null,e=t}this._head=this._tail=null},t.prototype.isFinished=function(){return this._head==null},t.prototype.animate=function(e,t){t||={},this.start();var n=new qi(e,t.loop);return this.addAnimator(n),n},t}(vt),Xi=300,Zi=y.domSupported,Qi=(function(){var e=[`click`,`dblclick`,`mousewheel`,`wheel`,`mouseout`,`mouseup`,`mousedown`,`mousemove`,`contextmenu`],t=[`touchstart`,`touchend`,`touchmove`],n={pointerdown:1,pointerup:1,pointermove:1,pointerout:1};return{mouse:e,touch:t,pointer:R(e,function(e){var t=e.replace(`mouse`,`pointer`);return n.hasOwnProperty(t)?t:e})}})(),$i={mouse:[`mousemove`,`mouseup`],pointer:[`pointermove`,`pointerup`]},ea=!1;function ta(e){var t=e.pointerType;return t===`pen`||t===`touch`}function na(e){e.touching=!0,e.touchTimer!=null&&(clearTimeout(e.touchTimer),e.touchTimer=null),e.touchTimer=setTimeout(function(){e.touching=!1,e.touchTimer=null},700)}function ra(e){e&&(e.zrByTouch=!0)}function ia(e,t){return zt(e.dom,new oa(e,t),!0)}function aa(e,t){for(var n=t,r=!1;n&&n.nodeType!==9&&!(r=n.domBelongToZr||n!==t&&n===e.painterRoot);)n=n.parentNode;return r}var oa=function(){function e(e,t){this.stopPropagation=qe,this.stopImmediatePropagation=qe,this.preventDefault=qe,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return e}(),sa={mousedown:function(e){e=zt(this.dom,e),this.__mayPointerCapture=[e.zrX,e.zrY],this.trigger(`mousedown`,e)},mousemove:function(e){e=zt(this.dom,e);var t=this.__mayPointerCapture;t&&(e.zrX!==t[0]||e.zrY!==t[1])&&this.__togglePointerCapture(!0),this.trigger(`mousemove`,e)},mouseup:function(e){e=zt(this.dom,e),this.__togglePointerCapture(!1),this.trigger(`mouseup`,e)},mouseout:function(e){e=zt(this.dom,e);var t=e.toElement||e.relatedTarget;aa(this,t)||(this.__pointerCapturing&&(e.zrEventControl=`no_globalout`),this.trigger(`mouseout`,e))},wheel:function(e){ea=!0,e=zt(this.dom,e),this.trigger(`mousewheel`,e)},mousewheel:function(e){ea||(e=zt(this.dom,e),this.trigger(`mousewheel`,e))},touchstart:function(e){e=zt(this.dom,e),ra(e),this.__lastTouchMoment=new Date,this.handler.processGesture(e,`start`),sa.mousemove.call(this,e),sa.mousedown.call(this,e)},touchmove:function(e){e=zt(this.dom,e),ra(e),this.handler.processGesture(e,`change`),sa.mousemove.call(this,e)},touchend:function(e){e=zt(this.dom,e),ra(e),this.handler.processGesture(e,`end`),sa.mouseup.call(this,e),new Date-+this.__lastTouchMomentSa||e<-Sa}var wa=[],Ta=[],Ea=Yt(),Da=Math.abs,Oa=function(){function e(){}return e.prototype.getLocalTransform=function(e){return ka(this,e)},e.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},e.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},e.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},e.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},e.prototype.needLocalTransform=function(){return Ca(this.rotation)||Ca(this.x)||Ca(this.y)||Ca(this.scaleX-1)||Ca(this.scaleY-1)||Ca(this.skewX)||Ca(this.skewY)},e.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),n=this.transform;if(!(t||e)){n&&(xa(n),this.invTransform=null);return}n||=Yt(),t?this.getLocalTransform(n):xa(n),e&&(t?Qt(n,e,n):Zt(n,e)),this.transform=n,this._resolveGlobalScaleRatio(n),this.invTransform=this.invTransform||Yt(),nn(this.invTransform,n)},e.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(wa);var n=wa[0]<0?-1:1,r=wa[1]<0?-1:1,i=((wa[0]-n)*t+n)/wa[0]||0,a=((wa[1]-r)*t+r)/wa[1]||0;e[0]*=i,e[1]*=i,e[2]*=a,e[3]*=a}},e.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},e.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],n=e[2]*e[2]+e[3]*e[3],r=Math.atan2(e[1],e[0]),i=Math.PI/2+r-Math.atan2(e[3],e[2]);n=Math.sqrt(n)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-r,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=n,this.originX=0,this.originY=0}},e.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Yt(),Qt(Ta,e.invTransform,t),t=Ta);var n=this.originX,r=this.originY;(n||r)&&(Ea[4]=n,Ea[5]=r,Qt(Ta,t,Ea),Ta[4]-=n,Ta[5]-=r,t=Ta),this.setLocalTransform(t)}},e.prototype.getGlobalScale=function(e){var t=this.transform;return 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)},e.prototype.transformCoordToLocal=function(e,t){var n=[e,t],r=this.invTransform;return r&&pt(n,n,r),n},e.prototype.transformCoordToGlobal=function(e,t){var n=[e,t],r=this.transform;return r&&pt(n,n,r),n},e.prototype.getLineScale=function(){var e=this.transform;return e&&Da(e[0]-1)>1e-10&&Da(e[3]-1)>1e-10?Math.sqrt(Da(e[0]*e[3]-e[2]*e[1])):1},e.prototype.copyTransform=function(e){Ma(this,e)},e.getLocalTransform=function(e,t){t||=[];var n=e.originX||0,r=e.originY||0,i=e.scaleX,a=e.scaleY,o=e.anchorX,s=e.anchorY,c=e.rotation||0,l=e.x,u=e.y,d=e.skewX?Math.tan(e.skewX):0,f=e.skewY?Math.tan(-e.skewY):0;if(n||r||o||s){var p=n+o,m=r+s;t[4]=-p*i-d*m*a,t[5]=-m*a-f*p*i}else t[4]=t[5]=0;return t[0]=i,t[3]=a,t[1]=f*i,t[2]=d*a,c&&en(t,t,c),t[4]+=n+l,t[5]+=r+u,t},e.initDefaultProps=(function(){var t=e.prototype;t.scaleX=t.scaleY=t.globalScaleRatio=1,t.x=t.y=t.originX=t.originY=t.skewX=t.skewY=t.rotation=t.anchorX=t.anchorY=0})(),e}(),ka=Oa.getLocalTransform;function Aa(){return new Oa}var ja=[`x`,`y`,`originX`,`originY`,`anchorX`,`anchorY`,`rotation`,`scaleX`,`scaleY`,`skewX`,`skewY`];function Ma(e,t){return fe(e,t,ja)}function Na(e){Pa||=new Mr(100),e||=`12px sans-serif`;var t=Pa.get(e);return t||(t={font:e,strWidthCache:new Mr(500),asciiWidthMap:null,asciiWidthMapTried:!1,stWideCharWidth:D.measureText(`国`,e).width,asciiCharWidth:D.measureText(`a`,e).width},Pa.put(e,t)),t}var Pa;function Fa(e){if(!(Ia>=La)){e||=`12px sans-serif`;for(var t=[],n=+new Date,r=0;r<=127;r++)t[r]=D.measureText(String.fromCharCode(r),e).width;var i=+new Date-n;return i>16?Ia=La:i>2&&Ia++,t}}var Ia=0,La=5;function Ra(e,t){return e.asciiWidthMapTried||=(e.asciiWidthMap=Fa(e.font),!0),0<=t&&t<=127?e.asciiWidthMap==null?e.asciiCharWidth:e.asciiWidthMap[t]:e.stWideCharWidth}function za(e,t){var n=e.strWidthCache,r=n.get(t);return r??(r=D.measureText(t,e.font).width,n.put(t,r)),r}function Ba(e,t,n,r){var i=za(Na(t),e),a=Wa(t);return new J(Ha(0,i,n),Ua(0,a,r),i,a)}function Va(e,t,n,r){var i=((e||``)+``).split(` +`);if(i.length===1)return Ba(i[0],t,n,r);for(var a=new J(0,0,0,0),o=0;o=0?parseFloat(e)/100*t:parseFloat(e):e}function Ka(e,t,n){var r=t.position||`inside`,i=t.distance==null?5:t.distance,a=n.height,o=n.width,s=a/2,c=n.x,l=n.y,u=`left`,d=`top`;if(r instanceof Array)c+=Ga(r[0],n.width),l+=Ga(r[1],n.height),u=null,d=null;else switch(r){case`left`:c-=i,l+=s,u=`right`,d=`middle`;break;case`right`:c+=i+o,l+=s,d=`middle`;break;case`top`:c+=o/2,l-=i,u=`center`,d=`bottom`;break;case`bottom`:c+=o/2,l+=a+i,u=`center`;break;case`inside`:c+=o/2,l+=s,u=`center`,d=`middle`;break;case`insideLeft`:c+=i,l+=s,d=`middle`;break;case`insideRight`:c+=o-i,l+=s,u=`right`,d=`middle`;break;case`insideTop`:c+=o/2,l+=i,u=`center`;break;case`insideBottom`:c+=o/2,l+=a-i,u=`center`,d=`bottom`;break;case`insideTopLeft`:c+=i,l+=i;break;case`insideTopRight`:c+=o-i,l+=i,u=`right`;break;case`insideBottomLeft`:c+=i,l+=a-i,d=`bottom`;break;case`insideBottomRight`:c+=o-i,l+=a-i,u=`right`,d=`bottom`;break}return e||={},e.x=c,e.y=l,e.align=u,e.verticalAlign=d,e}var qa=`__zr_normal__`,Ja=ja.concat([`ignore`]),Ya=ge(ja,function(e,t){return e[t]=!0,e},{ignore:!1}),Xa={},Za=new J(0,0,0,0),Qa=[],$a=function(){function e(e){this.id=le(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return e.prototype._init=function(e){this.attr(e)},e.prototype.drift=function(e,t,n){switch(this.draggable){case`horizontal`:t=0;break;case`vertical`:e=0;break}var r=this.transform;r||=this.transform=[1,0,0,1,0,0],r[4]+=e,r[5]+=t,this.decomposeTransform(),this.markRedraw()},e.prototype.beforeUpdate=function(){},e.prototype.afterUpdate=function(){},e.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},e.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||={};var n=this.textConfig,r=n.local,i=t.innerTransformable,a=void 0,o=void 0,s=!1;i.parent=r?this:null;var c=!1;i.copyTransform(t);var l=n.position!=null,u=n.autoOverflowArea,d=void 0;if((u||l)&&(d=Za,n.layoutRect?d.copy(n.layoutRect):d.copy(this.getBoundingRect()),r||d.applyTransform(this.transform)),l){this.calculateTextPosition?this.calculateTextPosition(Xa,n,d):Ka(Xa,n,d),i.x=Xa.x,i.y=Xa.y,a=Xa.align,o=Xa.verticalAlign;var f=n.origin;if(f&&n.rotation!=null){var p=void 0,m=void 0;f===`center`?(p=d.width*.5,m=d.height*.5):(p=Ga(f[0],d.width),m=Ga(f[1],d.height)),c=!0,i.originX=-i.x+p+(r?0:d.x),i.originY=-i.y+m+(r?0:d.y)}}n.rotation!=null&&(i.rotation=n.rotation);var h=n.offset;h&&(i.x+=h[0],i.y+=h[1],c||(i.originX=-h[0],i.originY=-h[1]));var g=this._innerTextDefaultStyle||={};if(u){var _=g.overflowRect=g.overflowRect||new J(0,0,0,0);i.getLocalTransform(Qa),nn(Qa,Qa),J.copy(_,d),_.applyTransform(Qa)}else g.overflowRect=null;var v=n.inside==null?typeof n.position==`string`&&n.position.indexOf(`inside`)>=0:n.inside,y=void 0,b=void 0,x=void 0;v&&this.canBeInsideText()?(y=n.insideFill,b=n.insideStroke,(y==null||y===`auto`)&&(y=this.getInsideTextFill()),(b==null||b===`auto`)&&(b=this.getInsideTextStroke(y),x=!0)):(y=n.outsideFill,b=n.outsideStroke,(y==null||y===`auto`)&&(y=this.getOutsideFill()),(b==null||b===`auto`)&&(b=this.getOutsideStroke(y),x=!0)),y||=`#000`,(y!==g.fill||b!==g.stroke||x!==g.autoStroke||a!==g.align||o!==g.verticalAlign)&&(s=!0,g.fill=y,g.stroke=b,g.autoStroke=x,g.align=a,g.verticalAlign=o,t.setDefaultTextStyle(g)),t.__dirty|=1,s&&t.dirtyStyle(!0)}},e.prototype.canBeInsideText=function(){return!0},e.prototype.getInsideTextFill=function(){return`#fff`},e.prototype.getInsideTextStroke=function(e){return`#000`},e.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?ya:va},e.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),n=typeof t==`string`&&Kr(t);n||=[255,255,255,1];for(var r=n[3],i=this.__zr.isDarkMode(),a=0;a<3;a++)n[a]=n[a]*r+(i?0:255)*(1-r);return n[3]=1,ei(n,`rgba`)},e.prototype.traverse=function(e,t){},e.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||{},P(this.extra,t)):this[e]=t},e.prototype.hide=function(){this.ignore=!0,this.markRedraw()},e.prototype.show=function(){this.ignore=!1,this.markRedraw()},e.prototype.attr=function(e,t){if(typeof e==`string`)this.attrKV(e,t);else if(U(e))for(var n=ye(e),r=0;r0},e.prototype.getState=function(e){return this.states[e]},e.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},e.prototype.clearStates=function(e){this.useState(qa,!1,e)},e.prototype.useState=function(e,t,n,r){var i=e===qa;if(!(!this.hasState()&&i)){var a=this.currentStates,o=this.stateTransition;if(!(I(a,e)>=0&&(t||a.length===1))){var s;if(this.stateProxy&&!i&&(s=this.stateProxy(e)),s||=this.states&&this.states[e],!s&&!i){ue(`State `+e+` not exists.`);return}i||this.saveCurrentToNormalState(s);var c=this._textContent,l=so(this,c,s,r);l&&!this.__inHover&&(this.__inHover=l),this._applyStateObj(e,s,this._normalState,t,lo(this,n,o),o);var u=this._textGuide;return c&&c.useState(e,t,n,!!l),u&&u.useState(e,t,n,!!l),i?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this.__inHover=0,this.__dirty&=-2),s}}},e.prototype.useStates=function(e,t,n){if(!e.length)this.clearStates();else{var r=[],i=this.currentStates,a=e.length,o=a===i.length;if(o){for(var s=0;s=0){var n=this.currentStates.slice();n.splice(t,1),this.useStates(n)}},e.prototype.replaceState=function(e,t,n){var r=this.currentStates.slice(),i=I(r,e),a=I(r,t)>=0;i>=0?a?r.splice(i,1):r[i]=t:n&&!a&&r.push(t),this.useStates(r)},e.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},e.prototype._mergeStates=function(e){for(var t={},n,r=0;r=0&&t.splice(n,1)}),this.animators.push(e),n&&n.animation.addAnimator(e),n&&n.wakeUp()},e.prototype.updateDuringAnimation=function(e){this.markRedraw()},e.prototype.stopAnimation=function(e,t){for(var n=this.animators,r=n.length,i=[],a=0;a0&&n.during&&a[0].during(function(e,t){n.during(t)});for(var f=0;f0||i.force&&!o.length){var C=void 0,w=void 0,T=void 0;if(s){w={},f&&(C={});for(var b=0;b0}var Y=function(e){Xe(t,e);function t(t){var n=e.call(this)||this;return n.isGroup=!0,n._children=[],n.attr(t),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.children=function(){return this._children.slice()},t.prototype.childAt=function(e){return this._children[e]},t.prototype.childOfName=function(e){for(var t=this._children,n=0;n=0&&(n.splice(r,0,e),this._doAdd(e))}return this},t.prototype.replace=function(e,t){var n=I(this._children,e);return n>=0&&this.replaceAt(t,n),this},t.prototype.replaceAt=function(e,t){var n=this._children,r=n[t];if(e&&e!==this&&e.parent!==this&&e!==r){n[t]=e,r.parent=null;var i=this.__zr;i&&r.removeSelfFromZr(i),this._doAdd(e)}return this},t.prototype._doAdd=function(e){e.parent&&e.parent.remove(e),e.parent=this;var t=this.__zr;t&&t!==e.__zr&&e.addSelfToZr(t),t&&t.refresh()},t.prototype.remove=function(e){var t=this.__zr,n=this._children,r=I(n,e);return r<0?this:(n.splice(r,1),e.parent=null,t&&e.removeSelfFromZr(t),t&&t.refresh(),this)},t.prototype.removeAll=function(){for(var e=this._children,t=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},e.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},e.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},e.prototype.refreshHover=function(){this._needsRefreshHover=!0},e.prototype.refreshHoverImmediately=function(){this._disposed||this._refresh({animUpdate:!1,refresh:!1,refreshHover:!0})},e.prototype.resize=function(e){this._disposed||(e||={},this.painter.resize(e.width,e.height),this.handler.resize())},e.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},e.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},e.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},e.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},e.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},e.prototype.on=function(e,t,n){return this._disposed||this.handler.on(e,t,n),this},e.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},e.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},e.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t0){if(e<=i)return o;if(e>=a)return s}else if(e>=i)return o;else if(e<=a)return s}else{if(e===i)return o;if(e===a)return s}return(e-i)/c*l+o}var X=Io;function Io(e,t,n){switch(e){case`center`:case`middle`:e=`50%`;break;case`left`:case`top`:e=`0%`;break;case`right`:case`bottom`:e=`100%`;break}return Lo(e,t,n)}function Lo(e,t,n){return H(e)?zo(e)?parseFloat(e)/100*t+(n||0):parseFloat(e):e==null?NaN:+e}function Ro(e){return H(e)&&zo(e)}function zo(e){return!!Co(e).match(/%$/)}function Bo(e,t,n){return isNaN(t)?n?``+e:+e:(t=wo(To(0,t),So),e=(+e).toFixed(t),n?e:+e)}function Vo(e){return e.sort(function(e,t){return e-t}),e}function Ho(e){if(e=+e,isNaN(e))return 0;if(e>1e-14){for(var t=1,n=0;n<15;n++,t*=10)if(Do(e*t)/t===e)return n}return Uo(e)}function Uo(e){var t=e.toString().toLowerCase(),n=t.indexOf(`e`),r=n>0?+t.slice(n+1):0,i=n>0?n:t.length,a=t.indexOf(`.`);return To(0,(a<0?0:i-1-a)-r)}function Wo(e,t,n){var r=Eo(e[1]-e[0]);if(!isFinite(r)||r===0)return NaN;var i=jo(2*Eo(n||1)*Eo(r))/Mo,a=jo(Eo(t))/Mo,o=To(0,ko(-i+a));return isFinite(o)||(o=NaN),o}function Go(e,t){var n=ge(e,function(e,t){return e+(isNaN(t)?0:t)},0);if(n===0)return[];for(var r=Ao(10,t),i=R(e,function(e){return(isNaN(e)?0:e)/n*r*100}),a=r*100,o=R(i,function(e){return Oo(e)}),s=ge(o,function(e,t){return e+t},0),c=R(i,function(e,t){return e-o[t]});sl&&(l=c[d],u=d);++o[u],c[u]=0,++s}return R(o,function(e){return e/r})}function Ko(e,t){var n=To(Ho(e),Ho(t)),r=e+t;return n>So?r:Bo(r,n)}var qo=Ao(2,53)-1;function Jo(e){var t=No*2;return(e%t+t)%t}function Yo(e){return e>-xo&&e=10&&t++,t}function es(e,t){var n=$o(e),r=Ao(10,n),i=e/r;return e=(t===2?1:t?i<1.5?1:i<2.5?2:i<4?3:i<7?5:10:i<1?1:i<2?2:i<3?3:i<5?5:10)*r,Bo(e,-n)}function ts(e,t){var n=(e.length-1)*t+1,r=Oo(n),i=+e[r-1],a=n-r;return a?i+a*(e[r]-i):i}function ns(e){e.sort(function(e,t){return s(e,t,0)?-1:1});for(var t=-1/0,n=1,r=0;r0?e.length:0),this.item=null,this.key=NaN,this},e.prototype.next=function(){return(this._step>0?this._idx=this._end)?(this.item=this._list[this._idx],this.key=this._idx+=this._step,!0):!1},e}();function ec(e){e.option=e.parentModel=e.ecModel=null}function tc(){return[1/0,-1/0]}function nc(e,t){oc(t)&&(te[1]&&(e[1]=t))}function rc(e,t){oc(t)&&te[1]&&(e[1]=t)}function ac(e,t){sc(t[0],t[1])&&(t[0]e[1]&&(e[1]=t[1]))}function oc(e){return e!=null&&isFinite(e)}function sc(e,t){return oc(e)&&oc(t)&&e<=t}function cc(e){var t=e[1]-e[0];return isFinite(t)&&t>=0}function lc(e){sc(e[0],e[1])&&e[0]>e[1]&&(e[0]=e[1])}function uc(){var e=`__ec_once_`+ dc++;return function(t,n){K(t,e)||(t[e]=1,n())}}var dc=as();function fc(e,t,n){var r=G(),i=0;L(e,function(a){var o=t(a),s=r.get(o)||0;n&&n(a,s),!s&&!n&&(e[i++]=a),r.set(o,s+1)}),n||(e.length=i)}function pc(e){return e.value+``}function mc(e){return e+``}function hc(e,t){return W(t,!0)?e.seriesIndex+2:0}function gc(e,t,n){var r=e.getData().count();return{progressiveRender:n.progressiveEnabled&&t.incrementalPrepareRender&&r>=n.threshold,large:e.get(`large`)&&r>=e.get(`largeThreshold`),modDataCount:e.get(`progressiveChunkMode`)===`mod`?e.getData().count():null}}function _c(e,t){return{seriesType:e,overallReset:t}}function vc(e){return{overallReset:e}}var yc=`.`,bc=`___EC__COMPONENT__CONTAINER___`,xc=`___EC__EXTENDED_CLASS___`;function Sc(e){var t={main:``,sub:``};if(e){var n=e.split(yc);t.main=n[0]||``,t.sub=n[1]||``}return t}function Cc(e){Fe(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(e),`componentType "`+e+`" illegal`)}function wc(e){return!!(e&&e[xc])}function Tc(e,t){e.$constructor=e,e.extend=function(e){var t=this,n;return Ec(t)?n=function(e){_(t,e);function t(){return e.apply(this,arguments)||this}return t}(t):(n=function(){(e.$constructor||t).apply(this,arguments)},pe(n,this)),P(n.prototype,e),n[xc]=!0,n.extend=this.extend,n.superCall=Ac,n.superApply=jc,n.superClass=t,n}}function Ec(e){return V(e)&&/^class\s/.test(Function.prototype.toString.call(e))}function Dc(e,t){e.extend=t.extend}var Oc=Math.round(Math.random()*10);function kc(e){var t=[`__\0is_clz`,Oc++].join(`_`);e.prototype[t]=!0,e.isInstance=function(e){return!!(e&&e[t])}}function Ac(e,t){var n=[...arguments].slice(2);return this.superClass.prototype[t].apply(e,n)}function jc(e,t,n){return this.superClass.prototype[t].apply(e,n)}function Mc(e){var t={};e.registerClass=function(e){var r=e.type||e.prototype.type;if(r){Cc(r),e.prototype.type=r;var i=Sc(r);if(!i.sub)t[i.main]=e;else if(i.sub!==bc){var a=n(i);a[i.sub]=e}}return e},e.getClass=function(e,n,r){var i=t[e];if(i&&i[bc]&&(i=n?i[n]:null),r&&!i)throw Error(n?`Component `+e+`.`+(n||``)+` is used but not imported.`:e+`.type should be specified.`);return i},e.getClassesByMainType=function(e){var n=Sc(e),r=[],i=t[n.main];return i&&i[bc]?L(i,function(e,t){t!==bc&&r.push(e)}):r.push(i),r},e.hasClass=function(e){return!!t[Sc(e).main]},e.getAllClassMainTypes=function(){var e=[];return L(t,function(t,n){e.push(n)}),e},e.hasSubTypes=function(e){var n=t[Sc(e).main];return n&&n[bc]};function n(e){var n=t[e.main];return(!n||!n[bc])&&(n=t[e.main]={},n[bc]=!0),n}}function Nc(e,t){for(var n=0;n=0||i&&I(i,s)<0)){var c=n.getShallow(s,t);c!=null&&(a[e[o][0]]=c)}}return a}}var Pc=Nc([[`fill`,`color`],[`shadowBlur`],[`shadowOffsetX`],[`shadowOffsetY`],[`opacity`],[`shadowColor`]]),Fc=function(){function e(){}return e.prototype.getAreaStyle=function(e,t){return Pc(this,e,t)},e}(),Ic=new Mr(50);function Lc(e){if(typeof e==`string`){var t=Ic.get(e);return t&&t.image}else return e}function Rc(e,t,n,r,i){if(!e)return t;if(typeof e==`string`){if(t&&t.__zrImageSrc===e||!n)return t;var a=Ic.get(e),o={hostEl:n,cb:r,cbPayload:i};return a?(t=a.image,!Bc(t)&&a.pending.push(o)):(t=D.loadImage(e,zc,zc),t.__zrImageSrc=e,Ic.put(e,t.__cachedImgObj={image:t,pending:[o]})),t}else return e}function zc(){var e=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var t=0;t=s;l++)c-=s;var u=za(o,n);return u>c&&(n=``,u=0),c=e-u,i.ellipsis=n,i.ellipsisWidth=u,i.contentWidth=c,i.containerWidth=e,i}function Wc(e,t,n){var r=n.containerWidth,i=n.contentWidth,a=n.fontMeasureInfo;if(!r){e.textLine=``,e.isTruncated=!1;return}var o=za(a,t);if(o<=r){e.textLine=t,e.isTruncated=!1;return}for(var s=0;;s++){if(o<=i||s>=n.maxIterations){t+=n.ellipsis;break}var c=s===0?Gc(t,i,a):o>0?Math.floor(t.length*i/o):0;t=t.substr(0,c),o=za(a,t)}t===``&&(t=n.placeholder),e.textLine=t,e.isTruncated=!0}function Gc(e,t,n){for(var r=0,i=0,a=e.length;ig&&p){var y=Math.floor(g/f);m||=_.length>y,_=_.slice(0,y),v=_.length*f}if(i&&u&&h!=null)for(var b=Uc(h,l,t.ellipsis,{minChar:t.truncateMinChar,placeholder:t.placeholder}),x={},S=0;S<_.length;S++)Wc(x,_[S],b),_[S]=x.textLine,m||=x.isTruncated;for(var C=g,w=0,T=Na(l),S=0;S<_.length;S++)w=Math.max(za(T,_[S]),w);h??=w;var E=h;return C+=c,E+=s,{lines:_,height:g,outerWidth:E,outerHeight:C,lineHeight:f,calculatedLineHeight:d,contentWidth:w,contentHeight:v,width:h,isTruncated:m}}var qc=function(){function e(){}return e}(),Jc=function(){function e(e){this.tokens=[],e&&(this.tokens=e)}return e}(),Yc=function(){function e(){this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.outerWidth=0,this.outerHeight=0,this.lines=[],this.isTruncated=!1}return e}();function Xc(e,t,n,r,i){var a=new Yc,o=al(e);if(!o)return a;var s=t.padding,c=s?s[1]+s[3]:0,l=s?s[0]+s[2]:0,u=t.width;u==null&&n!=null&&(u=n-c);var d=t.height;d==null&&r!=null&&(d=r-l);for(var f=t.overflow,p=(f===`break`||f===`breakAll`)&&u!=null?{width:u,accumWidth:0,breakAll:f===`breakAll`}:null,m=Vc.lastIndex=0,h;(h=Vc.exec(o))!=null;){var g=h.index;g>m&&Zc(a,o.substring(m,g),t,p),Zc(a,h[2],t,p,h[1]),m=Vc.lastIndex}md){var re=a.lines.length;O>0?(T.tokens=T.tokens.slice(0,O),C(T,D,E),a.lines=a.lines.slice(0,w+1)):a.lines=a.lines.slice(0,w),a.isTruncated=a.isTruncated||a.lines.length0&&m+r.accumWidth>r.width&&(u=t.split(` +`),l=!0),r.accumWidth=m}else{var h=tl(t,c,r.width,r.breakAll,r.accumWidth);r.accumWidth=h.accumWidth+p,d=h.linesWidths,u=h.lines}}u||=t.split(` +`);for(var g=Na(c),_=0;_=32&&t<=591||t>=880&&t<=4351||t>=4608&&t<=5119||t>=7680&&t<=8303}var $c=ge(`,&?/;] `.split(``),function(e,t){return e[t]=!0,e},{});function el(e){return Qc(e)?!!$c[e]:!0}function tl(e,t,n,r,i){for(var a=[],o=[],s=``,c=``,l=0,u=0,d=Na(t),f=0;fn:i+u+m>n){u?(s||c)&&(h?(s||(s=c,c=``,l=0,u=l),a.push(s),o.push(u-l),c+=p,l+=m,s=``,u=l):(c&&(s+=c,c=``,l=0),a.push(s),o.push(u),s=p,u=m)):h?(a.push(c),o.push(l),c=p,l=m):(a.push(p),o.push(m));continue}u+=m,h?(c+=p,l+=m):(c&&(s+=c,c=``,l=0),s+=p)}return c&&(s+=c),s&&(a.push(s),o.push(u)),a.length===1&&(u+=i),{accumWidth:u,lines:a,linesWidths:o}}function nl(e,t,n,r,i,a){if(e.baseX=n,e.baseY=r,e.outerWidth=e.outerHeight=null,t){var o=t.width*2,s=t.height*2;J.set(rl,Ha(n,o,i),Ua(r,s,a),o,s),J.intersect(t,rl,null,il);var c=il.outIntersectRect;e.outerWidth=c.width,e.outerHeight=c.height,e.baseX=Ha(c.x,c.width,i,!0),e.baseY=Ua(c.y,c.height,a,!0)}}var rl=new J(0,0,0,0),il={outIntersectRect:{},clamp:!0};function al(e){return e==null?e=``:e+=``}function ol(e){var t=al(e.text),n=e.font;return sl(e,za(Na(n),t),Wa(n),null)}function sl(e,t,n,r){var i=new J(Ha(e.x||0,t,e.textAlign),Ua(e.y||0,n,e.textBaseline),t,n),a=r??(cl(e)?e.lineWidth:0);return a>0&&(i.x-=a/2,i.y-=a/2,i.width+=a,i.height+=a),i}function cl(e){var t=e.stroke;return t!=null&&t!==`none`&&e.lineWidth>0}var ll=`__zr_style_`+Math.round(Math.random()*10),ul={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:`#000`,opacity:1,blend:`source-over`},dl={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};ul[ll]=!0;var fl=[`z`,`z2`,`invisible`],pl=[`invisible`],ml=function(e){Xe(t,e);function t(t){return e.call(this,t)||this}return t.prototype._init=function(t){for(var n=ye(t),r=0;r1e-4){s[0]=e-n,s[1]=t-r,c[0]=e+n,c[1]=t+r;return}if(Cl[0]=xl(i)*n+e,Cl[1]=bl(i)*r+t,wl[0]=xl(a)*n+e,wl[1]=bl(a)*r+t,l(s,Cl,wl),u(c,Cl,wl),i%=Sl,i<0&&(i+=Sl),a%=Sl,a<0&&(a+=Sl),i>a&&!o?a+=Sl:ii&&(Tl[0]=xl(p)*n+e,Tl[1]=bl(p)*r+t,l(s,Tl,s),u(c,Tl,c))}var Nl={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Pl=[],Fl=[],Il=[],Ll=[],Rl=[],zl=[],Bl=Math.min,Vl=Math.max,Hl=Math.cos,Ul=Math.sin,Wl=Math.abs,Gl=Math.PI,Kl=Gl*2,ql=typeof Float32Array<`u`,Jl=[];function Yl(e){return Math.round(e/Gl*1e8)/1e8%2*Gl}function Xl(e,t){var n=Yl(e[0]);n<0&&(n+=Kl);var r=n-e[0],i=e[1];i+=r,!t&&i-n>=Kl?i=n+Kl:t&&n-i>=Kl?i=n-Kl:!t&&n>i?i=n+(Kl-Yl(n-i)):t&&n0&&(this._ux=Wl(n/ga/e)||0,this._uy=Wl(n/ga/t)||0)},e.prototype.setDPR=function(e){this.dpr=e},e.prototype.setContext=function(e){this._ctx=e},e.prototype.getContext=function(){return this._ctx},e.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},e.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},e.prototype.moveTo=function(e,t){return this._drawPendingPt(),this.addData(Nl.M,e,t),this._ctx&&this._ctx.moveTo(e,t),this._x0=e,this._y0=t,this._xi=e,this._yi=t,this},e.prototype.lineTo=function(e,t){var n=Wl(e-this._xi),r=Wl(t-this._yi),i=n>this._ux||r>this._uy;if(this.addData(Nl.L,e,t),this._ctx&&i&&this._ctx.lineTo(e,t),i)this._xi=e,this._yi=t,this._pendingPtDist=0;else{var a=n*n+r*r;a>this._pendingPtDist&&(this._pendingPtX=e,this._pendingPtY=t,this._pendingPtDist=a)}return this},e.prototype.bezierCurveTo=function(e,t,n,r,i,a){return this._drawPendingPt(),this.addData(Nl.C,e,t,n,r,i,a),this._ctx&&this._ctx.bezierCurveTo(e,t,n,r,i,a),this._xi=i,this._yi=a,this},e.prototype.quadraticCurveTo=function(e,t,n,r){return this._drawPendingPt(),this.addData(Nl.Q,e,t,n,r),this._ctx&&this._ctx.quadraticCurveTo(e,t,n,r),this._xi=n,this._yi=r,this},e.prototype.arc=function(e,t,n,r,i,a){this._drawPendingPt(),Jl[0]=r,Jl[1]=i,Xl(Jl,a),r=Jl[0],i=Jl[1];var o=i-r;return this.addData(Nl.A,e,t,n,n,r,o,0,+!a),this._ctx&&this._ctx.arc(e,t,n,r,i,a),this._xi=Hl(i)*n+e,this._yi=Ul(i)*n+t,this},e.prototype.arcTo=function(e,t,n,r,i){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(e,t,n,r,i),this},e.prototype.rect=function(e,t,n,r){return this._drawPendingPt(),this._ctx&&this._ctx.rect(e,t,n,r),this.addData(Nl.R,e,t,n,r),this},e.prototype.closePath=function(){this._drawPendingPt(),this.addData(Nl.Z);var e=this._ctx,t=this._x0,n=this._y0;return e&&e.closePath(),this._xi=t,this._yi=n,this},e.prototype.fill=function(e){e&&e.fill(),this.toStatic()},e.prototype.stroke=function(e){e&&e.stroke(),this.toStatic()},e.prototype.len=function(){return this._len},e.prototype.setData=function(e){if(this._saveData){var t=e.length;!(this.data&&this.data.length===t)&&ql&&(this.data=new Float32Array(t));for(var n=0;n0&&a))for(var o=0;ol.length&&(this._expandData(),l=this.data);for(var u=0;u0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},e.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var e=[],t=0;t11&&(this.data=new Float32Array(e)))}},e.prototype.getBoundingRect=function(){Il[0]=Il[1]=Rl[0]=Rl[1]=Number.MAX_VALUE,Ll[0]=Ll[1]=zl[0]=zl[1]=-Number.MAX_VALUE;var e=this.data,t=0,n=0,r=0,i=0,a;for(a=0;an||Wl(v)>r||d===t-1)&&(m=Math.sqrt(_*_+v*v),i=h,a=g);break;case Nl.C:var y=e[d++],b=e[d++],h=e[d++],g=e[d++],x=e[d++],S=e[d++];m=yr(i,a,y,b,h,g,x,S,10),i=x,a=S;break;case Nl.Q:var y=e[d++],b=e[d++],h=e[d++],g=e[d++];m=Er(i,a,y,b,h,g,10),i=h,a=g;break;case Nl.A:var C=e[d++],w=e[d++],T=e[d++],E=e[d++],D=e[d++],O=e[d++],k=O+D;d+=1,p&&(o=Hl(D)*T+C,s=Ul(D)*E+w),m=Vl(T,E)*Bl(Kl,Math.abs(O)),i=Hl(k)*T+C,a=Ul(k)*E+w;break;case Nl.R:o=i=e[d++],s=a=e[d++];var A=e[d++],j=e[d++];m=A*2+j*2;break;case Nl.Z:var _=o-i,v=s-a;m=Math.sqrt(_*_+v*v),i=o,a=s;break}m>=0&&(c[u++]=m,l+=m)}return this._pathLen=l,l},e.prototype.rebuildPath=function(e,t){var n=this.data,r=this._ux,i=this._uy,a=this._len,o,s,c,l,u,d,f=t<1,p,m,h=0,g=0,_,v=0,y,b;if(!(f&&(this._pathSegLen||this._calculateLength(),p=this._pathSegLen,m=this._pathLen,_=t*m,!_)))lo:for(var x=0;x0&&(e.lineTo(y,b),v=0),S){case Nl.M:o=c=n[x++],s=l=n[x++],e.moveTo(c,l);break;case Nl.L:u=n[x++],d=n[x++];var w=Wl(u-c),T=Wl(d-l);if(w>r||T>i){if(f){var E=p[g++];if(h+E>_){var D=(_-h)/E;e.lineTo(c*(1-D)+u*D,l*(1-D)+d*D);break lo}h+=E}e.lineTo(u,d),c=u,l=d,v=0}else{var O=w*w+T*T;O>v&&(y=u,b=d,v=O)}break;case Nl.C:var k=n[x++],A=n[x++],j=n[x++],ee=n[x++],te=n[x++],ne=n[x++];if(f){var E=p[g++];if(h+E>_){var D=(_-h)/E;_r(c,k,j,te,D,Pl),_r(l,A,ee,ne,D,Fl),e.bezierCurveTo(Pl[1],Fl[1],Pl[2],Fl[2],Pl[3],Fl[3]);break lo}h+=E}e.bezierCurveTo(k,A,j,ee,te,ne),c=te,l=ne;break;case Nl.Q:var k=n[x++],A=n[x++],j=n[x++],ee=n[x++];if(f){var E=p[g++];if(h+E>_){var D=(_-h)/E;wr(c,k,j,D,Pl),wr(l,A,ee,D,Fl),e.quadraticCurveTo(Pl[1],Fl[1],Pl[2],Fl[2]);break lo}h+=E}e.quadraticCurveTo(k,A,j,ee),c=j,l=ee;break;case Nl.A:var re=n[x++],ie=n[x++],ae=n[x++],oe=n[x++],se=n[x++],ce=n[x++],le=n[x++],ue=!n[x++],M=ae>oe?ae:oe,N=Wl(ae-oe)>.001,de=se+ce,P=!1;if(f){var E=p[g++];h+E>_&&(de=se+ce*(_-h)/E,P=!0),h+=E}if(N&&e.ellipse?e.ellipse(re,ie,ae,oe,le,se,de,ue):e.arc(re,ie,M,se,de,ue),P)break lo;C&&(o=Hl(se)*ae+re,s=Ul(se)*oe+ie),c=Hl(de)*ae+re,l=Ul(de)*oe+ie;break;case Nl.R:o=c=n[x],s=l=n[x+1],u=n[x++],d=n[x++];var fe=n[x++],F=n[x++];if(f){var E=p[g++];if(h+E>_){var I=_-h;e.moveTo(u,d),e.lineTo(u+Bl(I,fe),d),I-=fe,I>0&&e.lineTo(u+fe,d+Bl(I,F)),I-=F,I>0&&e.lineTo(u+Vl(fe-I,0),d+F),I-=fe,I>0&&e.lineTo(u,d+Vl(F-I,0));break lo}h+=E}e.rect(u,d,fe,F);break;case Nl.Z:if(f){var E=p[g++];if(h+E>_){var D=(_-h)/E;e.lineTo(c*(1-D)+o*D,l*(1-D)+s*D);break lo}h+=E}e.closePath(),c=o,l=s}}},e.prototype.clone=function(){var t=new e,n=this.data;return t.data=n.slice?n.slice():Array.prototype.slice.call(n),t._len=this._len,t},e.prototype.canSave=function(){return!!this._saveData},e.CMD=Nl,e.initDefaultProps=(function(){var t=e.prototype;t._saveData=!0,t._ux=0,t._uy=0,t._pendingPtDist=0,t._version=0})(),e}();function Ql(e,t,n,r,i,a,o){if(i===0)return!1;var s=i,c=0,l=e;if(o>t+s&&o>r+s||oe+s&&a>n+s||at+d&&u>r+d&&u>a+d&&u>s+d||ue+d&&l>n+d&&l>i+d&&l>o+d||lt+l&&c>r+l&&c>a+l||ce+l&&s>n+l&&s>i+l||sn||u+li&&(i+=ru);var f=Math.atan2(c,s);return f<0&&(f+=ru),f>=r&&f<=i||f+ru>=r&&f+ru<=i}function au(e,t,n,r,i,a){if(a>t&&a>r||ai?s:0}var ou=Zl.CMD,su=Math.PI*2,cu=1e-4;function lu(e,t){return Math.abs(e-t)t&&l>r&&l>a&&l>s||l1&&fu(),p=pr(t,r,a,s,du[0]),f>1&&(m=pr(t,r,a,s,du[1]))),f===2?gt&&s>r&&s>a||s=0&&l<=1){for(var u=0,d=br(t,r,a,l),f=0;fn||s<-n)return 0;var c=Math.sqrt(n*n-s*s);uu[0]=-c,uu[1]=c;var l=Math.abs(r-i);if(l<1e-4)return 0;if(l>=su-1e-4){r=0,i=su;var u=a?1:-1;return o>=uu[0]+e&&o<=uu[1]+e?u:0}if(r>i){var d=r;r=i,i=d}r<0&&(r+=su,i+=su);for(var f=0,p=0;p<2;p++){var m=uu[p];if(m+e>o){var h=Math.atan2(s,m),u=a?1:-1;h<0&&(h=su+h),(h>=r&&h<=i||h+su>=r&&h+su<=i)&&(h>Math.PI/2&&h1&&(n||(s+=au(c,l,u,d,r,i))),g&&(c=a[m],l=a[m+1],u=c,d=l),h){case ou.M:u=a[m++],d=a[m++],c=u,l=d;break;case ou.L:if(n){if(Ql(c,l,a[m],a[m+1],t,r,i))return!0}else s+=au(c,l,a[m],a[m+1],r,i)||0;c=a[m++],l=a[m++];break;case ou.C:if(n){if($l(c,l,a[m++],a[m++],a[m++],a[m++],a[m],a[m+1],t,r,i))return!0}else s+=pu(c,l,a[m++],a[m++],a[m++],a[m++],a[m],a[m+1],r,i)||0;c=a[m++],l=a[m++];break;case ou.Q:if(n){if(eu(c,l,a[m++],a[m++],a[m],a[m+1],t,r,i))return!0}else s+=mu(c,l,a[m++],a[m++],a[m],a[m+1],r,i)||0;c=a[m++],l=a[m++];break;case ou.A:var _=a[m++],v=a[m++],y=a[m++],b=a[m++],x=a[m++],S=a[m++];m+=1;var C=!!(1-a[m++]);f=Math.cos(x)*y+_,p=Math.sin(x)*b+v,g?(u=f,d=p):s+=au(c,l,f,p,r,i);var w=(r-_)*b/y+_;if(n){if(iu(_,v,b,x,x+S,C,t,w,i))return!0}else s+=hu(_,v,b,x,x+S,C,w,i);c=Math.cos(x+S)*y+_,l=Math.sin(x+S)*b+v;break;case ou.R:u=c=a[m++],d=l=a[m++];var T=a[m++],E=a[m++];if(f=u+T,p=d+E,n){if(Ql(u,d,f,d,t,r,i)||Ql(f,d,f,p,t,r,i)||Ql(f,p,u,p,t,r,i)||Ql(u,p,u,d,t,r,i))return!0}else s+=au(f,d,f,p,r,i),s+=au(u,p,u,d,r,i);break;case ou.Z:if(n){if(Ql(c,l,u,d,t,r,i))return!0}else s+=au(c,l,u,d,r,i);c=u,l=d;break}}return!n&&!lu(l,d)&&(s+=au(c,l,u,d,r,i)||0),s!==0}function _u(e,t,n){return gu(e,0,!1,t,n)}function vu(e,t,n,r){return gu(e,t,!0,n,r)}var yu=F({fill:`#000`,stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:`butt`,miterLimit:10,strokeNoScale:!1,strokeFirst:!1},ul),bu={style:F({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},dl.style)},xu=ja.concat([`invisible`,`culling`,`z`,`z2`,`zlevel`,`parent`]),Su=function(e){Xe(t,e);function t(t){return e.call(this,t)||this}return t.prototype.update=function(){var n=this;e.prototype.update.call(this);var r=this.style;if(r.decal){var i=this._decalEl=this._decalEl||new t;i.buildPath===t.prototype.buildPath&&(i.buildPath=function(e){n.buildPath(e,n.shape)}),i.silent=!0;var a=i.style;for(var o in r)a[o]!==r[o]&&(a[o]=r[o]);a.fill=r.fill?r.decal:null,a.decal=null,a.shadowColor=null,r.strokeFirst&&(a.stroke=null);for(var s=0;s.5?va:t>.2?ba:ya}else if(e)return ya}return va},t.prototype.getInsideTextStroke=function(e){var t=this.style.fill;if(H(t)){var n=this.__zr;if(!!(n&&n.isDarkMode())==ti(e,0)<.4)return t}},t.prototype.buildPath=function(e,t,n){},t.prototype.pathUpdated=function(){this.__dirty&=-5},t.prototype.getUpdatedPathProxy=function(e){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,e),this.path},t.prototype.createPathProxy=function(){this.path=new Zl(!1)},t.prototype.hasStroke=function(){var e=this.style,t=e.stroke;return!(t==null||t===`none`||!(e.lineWidth>0))},t.prototype.hasFill=function(){var e=this.style.fill;return e!=null&&e!==`none`},t.prototype.getBoundingRect=function(){var e=this._rect,t=this.style,n=!e;if(n){var r=!1;this.path||(r=!0,this.createPathProxy());var i=this.path;(r||this.__dirty&4)&&(i.beginPath(),this.buildPath(i,this.shape,!1),this.pathUpdated()),e=i.getBoundingRect()}if(this._rect=e,this.hasStroke()&&this.path&&this.path.len()>0){var a=this._rectStroke||=e.clone();if(this.__dirty||n){a.copy(e);var o=t.strokeNoScale?this.getLineScale():1,s=t.lineWidth;if(!this.hasFill()){var c=this.strokeContainThreshold;s=Math.max(s,c??4)}o>1e-10&&(a.width+=s/o,a.height+=s/o,a.x-=s/o/2,a.y-=s/o/2)}return a}return e},t.prototype.contain=function(e,t){var n=this.transformCoordToLocal(e,t),r=this.getBoundingRect(),i=this.style;if(e=n[0],t=n[1],r.contain(e,t)){var a=this.path;if(this.hasStroke()){var o=i.lineWidth,s=i.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(o=Math.max(o,this.strokeContainThreshold)),vu(a,o/s,e,t)))return!0}if(this.hasFill())return _u(a,e,t)}return!1},t.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&=null,this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},t.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},t.prototype.animateShape=function(e){return this.animate(`shape`,e)},t.prototype.updateDuringAnimation=function(e){e===`style`?this.dirtyStyle():e===`shape`?this.dirtyShape():this.markRedraw()},t.prototype.attrKV=function(t,n){t===`shape`?this.setShape(n):e.prototype.attrKV.call(this,t,n)},t.prototype.setShape=function(e,t){var n=this.shape;return n||=this.shape={},typeof e==`string`?n[e]=t:P(n,e),this.dirtyShape(),this},t.prototype.shapeChanged=function(){return!!(this.__dirty&4)},t.prototype.createStyle=function(e){return Ge(yu,e)},t.prototype._innerSaveToNormal=function(t){e.prototype._innerSaveToNormal.call(this,t);var n=this._normalState;t.shape&&!n.shape&&(n.shape=P({},this.shape))},t.prototype._applyStateObj=function(t,n,r,i,a,o){if(e.prototype._applyStateObj.call(this,t,n,r,i,a,o),this.__inHover!==1){var s=!(n&&i),c;if(n&&n.shape?a?i?c=n.shape:(c=P({},r.shape),P(c,n.shape)):(c=P({},i?this.shape:r.shape),P(c,n.shape)):s&&(c=r.shape),c)if(a){this.shape=P({},this.shape);for(var l={},u=ye(c),d=0;di&&(d=s+c,s*=i/d,c*=i/d),l+u>i&&(d=l+u,l*=i/d,u*=i/d),c+l>a&&(d=c+l,c*=a/d,l*=a/d),s+u>a&&(d=s+u,s*=a/d,u*=a/d),e.moveTo(n+s,r),e.lineTo(n+i-c,r),c!==0&&e.arc(n+i-c,r+c,c,-Math.PI/2,0),e.lineTo(n+i,r+a-l),l!==0&&e.arc(n+i-l,r+a-l,l,0,Math.PI/2),e.lineTo(n+u,r+a),u!==0&&e.arc(n+u,r+a-u,u,Math.PI/2,Math.PI),e.lineTo(n,r+s),s!==0&&e.arc(n+s,r+s,s,Math.PI,Math.PI*1.5),e.closePath()}var Au=Math.round;function ju(e,t,n){if(t){var r=t.x1,i=t.x2,a=t.y1,o=t.y2;e.x1=r,e.x2=i,e.y1=a,e.y2=o;var s=n&&n.lineWidth;return s?(Au(r*2)===Au(i*2)&&(e.x1=e.x2=Nu(r,s,!0)),Au(a*2)===Au(o*2)&&(e.y1=e.y2=Nu(a,s,!0)),e):e}}function Mu(e,t,n){if(t){var r=t.x,i=t.y,a=t.width,o=t.height;e.x=r,e.y=i,e.width=a,e.height=o;var s=n&&n.lineWidth;return s?(e.x=Nu(r,s,!0),e.y=Nu(i,s,!0),e.width=Math.max(Nu(r+a,s,!1)-e.x,a===0?0:1),e.height=Math.max(Nu(i+o,s,!1)-e.y,o===0?0:1),e):e}}function Nu(e,t,n){if(!t)return e;var r=Au(e*2);return(r+Au(t))%2==0?r/2:(r+(n?1:-1))/2}var Pu=function(){function e(){this.x=0,this.y=0,this.width=0,this.height=0}return e}(),Fu={},Iu=function(e){Xe(t,e);function t(t){return e.call(this,t)||this}return t.prototype.getDefaultShape=function(){return new Pu},t.prototype.buildPath=function(e,t){var n,r,i,a;if(this.subPixelOptimize){var o=Mu(Fu,t,this.style);n=o.x,r=o.y,i=o.width,a=o.height,o.r=t.r,t=o}else n=t.x,r=t.y,i=t.width,a=t.height;t.r?ku(e,t):e.rect(n,r,i,a)},t.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},t}(Su);Iu.prototype.type=`rect`;var Lu={fill:`#000`},Ru=2,zu={},Bu={style:F({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},dl.style)},Vu=function(e){Xe(t,e);function t(t){var n=e.call(this)||this;return n.type=`text`,n._children=[],n._defaultStyle=Lu,n.attr(t),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.update=function(){e.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var t=0;t0,T=0;T=0&&(D=y[E],D.align===`right`);)this._placeToken(D,e,x,m,T,`right`,g),S-=D.width,T-=D.width,E--;for(w+=(s-(w-p)-(h-T)-S)/2;C<=E;)D=y[C],this._placeToken(D,e,x,m,w+D.width/2,`center`,g),w+=D.width,C++;m+=x}},t.prototype._placeToken=function(e,t,n,r,i,a,o){var s=t.rich[e.styleName]||{};s.text=e.text;var c=e.verticalAlign,l=r+n/2;c===`top`?l=r+e.height/2:c===`bottom`&&(l=r+n-e.height/2),!e.isLineHolder&&ed(s)&&this._renderBackground(s,t,a===`right`?i-e.width:a===`center`?i-e.width/2:i,l-e.height/2,e.width,e.height);var u=!!s.backgroundColor,d=e.textPadding;d&&(i=Qu(i,a,d),l-=e.height/2-d[0]-e.innerHeight/2);var f=this._getOrCreateChild(wu),p=f.createStyle();f.useStyle(p);var m=this._defaultStyle,h=!1,g=0,_=!1,v=Zu(`fill`in s?s.fill:`fill`in t?t.fill:(h=!0,m.fill)),y=Xu(`stroke`in s?s.stroke:`stroke`in t?t.stroke:!u&&!o&&(!m.autoStroke||h)?(g=Ru,_=!0,m.stroke):null),b=s.textShadowBlur>0||t.textShadowBlur>0;p.text=e.text,p.x=i,p.y=l,b&&(p.shadowBlur=s.textShadowBlur||t.textShadowBlur||0,p.shadowColor=s.textShadowColor||t.textShadowColor||`transparent`,p.shadowOffsetX=s.textShadowOffsetX||t.textShadowOffsetX||0,p.shadowOffsetY=s.textShadowOffsetY||t.textShadowOffsetY||0),p.textAlign=a,p.textBaseline=`middle`,p.font=e.font||`12px sans-serif`,p.opacity=Me(s.opacity,t.opacity,1),Ku(p,s),y&&(p.lineWidth=Me(s.lineWidth,t.lineWidth,g),p.lineDash=W(s.lineDash,t.lineDash),p.lineDashOffset=t.lineDashOffset||0,p.stroke=y),v&&(p.fill=v),f.setBoundingRect(sl(p,e.contentWidth,e.contentHeight,_?0:null))},t.prototype._renderBackground=function(e,t,n,r,i,a){var o=e.backgroundColor,s=e.borderWidth,c=e.borderColor,l=o&&o.image,u=o&&!l,d=e.borderRadius,f=this,p,m;if(u||e.lineHeight||s&&c){p=this._getOrCreateChild(Iu),p.useStyle(p.createStyle()),p.style.fill=null;var h=p.shape;h.x=n,h.y=r,h.width=i,h.height=a,h.r=d,p.dirtyShape()}if(u){var g=p.style;g.fill=o||null,g.fillOpacity=W(e.fillOpacity,1)}else if(l){m=this._getOrCreateChild(Ou),m.onload=function(){f.dirtyStyle()};var _=m.style;_.image=o.image,_.x=n,_.y=r,_.width=i,_.height=a}if(s&&c){var g=p.style;g.lineWidth=s,g.stroke=c,g.strokeOpacity=W(e.strokeOpacity,1),g.lineDash=e.borderDash,g.lineDashOffset=e.borderDashOffset||0,p.strokeContainThreshold=0,p.hasFill()&&p.hasStroke()&&(g.strokeFirst=!0,g.lineWidth*=2)}var v=(p||m).style;v.shadowBlur=e.shadowBlur||0,v.shadowColor=e.shadowColor||`transparent`,v.shadowOffsetX=e.shadowOffsetX||0,v.shadowOffsetY=e.shadowOffsetY||0,v.opacity=Me(e.opacity,t.opacity,1)},t.makeFont=function(e){var t=``;return qu(e)&&(t=[e.fontStyle,e.fontWeight,Gu(e.fontSize),e.fontFamily||`sans-serif`].join(` `)),t&&Ie(t)||e.textFont||e.font},t}(ml),Hu={left:!0,right:1,center:1},Uu={top:1,bottom:1,middle:1},Wu=[`fontStyle`,`fontWeight`,`fontSize`,`fontFamily`];function Gu(e){return typeof e==`string`&&(e.indexOf(`px`)!==-1||e.indexOf(`rem`)!==-1||e.indexOf(`em`)!==-1)?e:isNaN(+e)?`12px`:e+`px`}function Ku(e,t){for(var n=0;n=0,a=!1;if(e instanceof Su){var o=_d(e),s=i&&o.selectFill||o.normalFill,c=i&&o.selectStroke||o.normalStroke;if(Dd(s)||Dd(c)){r||={};var l=r.style||{};l.fill===`inherit`?(a=!0,r=P({},r),l=P({},l),l.fill=s):!Dd(l.fill)&&Dd(s)?(a=!0,r=P({},r),l=P({},l),l.fill=ri(s)):!Dd(l.stroke)&&Dd(c)&&(a||(r=P({},r),l=P({},l)),l.stroke=ri(c)),r.style=l}}if(r&&r.z2==null){a||(r=P({},r));var u=e.z2EmphasisLift;r.z2=e.z2+(u??10)}return r}function Bd(e,t,n){if(n&&n.z2==null){n=P({},n);var r=e.z2SelectLift;n.z2=e.z2+(r??9)}return n}function Vd(e,t,n){var r=I(e.currentStates,t)>=0,i=e.style.opacity,a=r?null:Rd(e,[`opacity`],t,{opacity:1});n||={};var o=n.style||{};return o.opacity??(n=P({},n),o=P({opacity:r?i:a.opacity*.1},o),n.style=o),n}function Hd(e,t){var n=this.states[e];if(this.style){if(e===`emphasis`)return zd(this,e,t,n);if(e===`blur`)return Vd(this,e,n);if(e===`select`)return Bd(this,e,n)}return n}function Ud(e){e.stateProxy=Hd;var t=e.getTextContent(),n=e.getTextGuideLine();t&&(t.stateProxy=Hd),n&&(n.stateProxy=Hd)}function Wd(e,t){!Qd(e,t)&&!e.__highByOuter&&Id(e,kd)}function Gd(e,t){!Qd(e,t)&&!e.__highByOuter&&Id(e,Ad)}function Kd(e,t){e.__highByOuter|=1<<(t||0),Id(e,kd)}function qd(e,t){!(e.__highByOuter&=~(1<<(t||0)))&&Id(e,Ad)}function Jd(e){Id(e,jd)}function Yd(e){Id(e,Md)}function Xd(e){Id(e,Nd)}function Zd(e){Id(e,Pd)}function Qd(e,t){return e.__highDownSilentOnTouch&&t.zrByTouch}function $d(e){var t=e.getModel(),n=[],r=[];t.eachComponent(function(t,i){var a=vd(i),o=md(e,i),s=t===`series`;!s&&r.push(o),a.isBlured&&(o.group.traverse(function(e){Md(e)}),s&&n.push(i)),a.isBlured=!1}),L(r,function(e){e&&e.toggleBlurSeries&&e.toggleBlurSeries(n,!1,t)})}function ef(e,t,n,r){var i=r.getModel();n||=`coordinateSystem`;function a(e,t){for(var n=0;n0){var a={dataIndex:i,seriesIndex:e.seriesIndex};r!=null&&(a.dataType=r),t.push(a)}})}),t}function uf(e,t,n){_f(e,!0),Id(e,Ud),pf(e,t,n)}function df(e){_f(e,!1)}function ff(e,t,n,r){r?df(e):uf(e,t,n)}function pf(e,t,n){var r=Z(e);t==null?r.focus&&=null:(r.focus=t,r.blurScope=n)}var mf=[`emphasis`,`blur`,`select`],hf={itemStyle:`getItemStyle`,lineStyle:`getLineStyle`,areaStyle:`getAreaStyle`};function gf(e,t,n,r){n||=`itemStyle`;for(var i=0;i1&&(o*=kf(m),s*=kf(m));var h=(i===a?-1:1)*kf((o*o*(s*s)-o*o*(p*p)-s*s*(f*f))/(o*o*(p*p)+s*s*(f*f)))||0,g=h*o*p/s,_=h*-s*f/o,v=(e+n)/2+jf(d)*g-Af(d)*_,y=(t+r)/2+Af(d)*g+jf(d)*_,b=Ff([1,0],[(f-g)/o,(p-_)/s]),x=[(f-g)/o,(p-_)/s],S=[(-1*f-g)/o,(-1*p-_)/s],C=Ff(x,S);if(Pf(x,S)<=-1&&(C=Mf),Pf(x,S)>=1&&(C=0),C<0){var w=Math.round(C/Mf*1e6)/1e6;C=Mf*2+w%2*Mf}u.addData(l,v,y,o,s,b,C,d,a)}var Lf=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,Rf=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function zf(e){var t=new Zl;if(!e)return t;var n=0,r=0,i=n,a=r,o,s=Zl.CMD,c=e.match(Lf);if(!c)return t;for(var l=0;lA*A+j*j&&(w=E,T=D),{cx:w,cy:T,x0:-u,y0:-d,x1:w*(i/x-1),y1:T*(i/x-1)}}function up(e){var t;if(B(e)){var n=e.length;if(!n)return e;t=n===1?[e[0],e[0],0,0]:n===2?[e[0],e[0],e[1],e[1]]:n===3?e.concat(e[2]):e}else t=[e,e,e,e];return t}function dp(e,t){var n,r=ap(t.r,0),i=ap(t.r0||0,0),a=r>0;if(!(!a&&!(i>0))){if(a||(r=i,i=0),i>r){var o=r;r=i,i=o}var s=t.startAngle,c=t.endAngle;if(!(isNaN(s)||isNaN(c))){var l=t.cx,u=t.cy,d=!!t.clockwise,f=rp(c-s),p=f>Qf&&f%Qf;if(p>sp&&(f=p),!(r>sp))e.moveTo(l,u);else if(f>Qf-sp)e.moveTo(l+r*ep(s),u+r*$f(s)),e.arc(l,u,r,s,c,!d),i>sp&&(e.moveTo(l+i*ep(c),u+i*$f(c)),e.arc(l,u,i,c,s,d));else{var m=void 0,h=void 0,g=void 0,_=void 0,v=void 0,y=void 0,b=void 0,x=void 0,S=void 0,C=void 0,w=void 0,T=void 0,E=void 0,D=void 0,O=void 0,k=void 0,A=r*ep(s),j=r*$f(s),ee=i*ep(c),te=i*$f(c),ne=f>sp;if(ne){var re=t.cornerRadius;re&&(n=up(re),m=n[0],h=n[1],g=n[2],_=n[3]);var ie=rp(r-i)/2;if(v=op(ie,g),y=op(ie,_),b=op(ie,m),x=op(ie,h),w=S=ap(v,y),T=C=ap(b,x),(S>sp||C>sp)&&(E=r*ep(c),D=r*$f(c),O=i*ep(s),k=i*$f(s),fsp){var N=op(g,w),de=op(_,w),P=lp(O,k,A,j,r,N,d),fe=lp(E,D,ee,te,r,de,d);e.moveTo(l+P.cx+P.x0,u+P.cy+P.y0),w0&&e.arc(l+P.cx,u+P.cy,N,np(P.y0,P.x0),np(P.y1,P.x1),!d),e.arc(l,u,r,np(P.cy+P.y1,P.cx+P.x1),np(fe.cy+fe.y1,fe.cx+fe.x1),!d),de>0&&e.arc(l+fe.cx,u+fe.cy,de,np(fe.y1,fe.x1),np(fe.y0,fe.x0),!d))}else e.moveTo(l+A,u+j),e.arc(l,u,r,s,c,!d);if(!(i>sp)||!ne)e.lineTo(l+ee,u+te);else if(T>sp){var N=op(m,T),de=op(h,T),P=lp(ee,te,E,D,i,-de,d),fe=lp(A,j,O,k,i,-N,d);e.lineTo(l+P.cx+P.x0,u+P.cy+P.y0),T0&&e.arc(l+P.cx,u+P.cy,de,np(P.y0,P.x0),np(P.y1,P.x1),!d),e.arc(l,u,i,np(P.cy+P.y1,P.cx+P.x1),np(fe.cy+fe.y1,fe.cx+fe.x1),d),N>0&&e.arc(l+fe.cx,u+fe.cy,N,np(fe.y1,fe.x1),np(fe.y0,fe.x0),!d))}else e.lineTo(l+ee,u+te),e.arc(l,u,i,c,s,d)}e.closePath()}}}var fp=function(){function e(){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 e}(),pp=function(e){Xe(t,e);function t(t){return e.call(this,t)||this}return t.prototype.getDefaultShape=function(){return new fp},t.prototype.buildPath=function(e,t){dp(e,t)},t.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},t}(Su);pp.prototype.type=`sector`;var mp=function(){function e(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return e}(),hp=function(e){Xe(t,e);function t(t){return e.call(this,t)||this}return t.prototype.getDefaultShape=function(){return new mp},t.prototype.buildPath=function(e,t){var n=t.cx,r=t.cy,i=Math.PI*2;e.moveTo(n+t.r,r),e.arc(n,r,t.r,0,i,!1),e.moveTo(n+t.r0,r),e.arc(n,r,t.r0,0,i,!0)},t}(Su);hp.prototype.type=`ring`;function gp(e,t,n,r){var i=[],a=[],o=[],s=[],c,l,u,d;if(r){u=[1/0,1/0],d=[-1/0,-1/0];for(var f=0,p=e.length;f=2){if(r){var a=gp(i,r,n,t.smoothConstraint);e.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;s<(n?o:o-1);s++){var c=a[s*2],l=a[s*2+1],u=i[(s+1)%o];e.bezierCurveTo(c[0],c[1],l[0],l[1],u[0],u[1])}}else{e.moveTo(i[0][0],i[0][1]);for(var s=1,d=i.length;szp[1]){if(i=!1,Bp.negativeSize||n)return i;var s=Lp(zp[0]-Rp[1]),c=Lp(Rp[0]-zp[1]);Fp(s,c)>Hp.len()&&(s=c||!Bp.bidirectional)&&(q.scale(Vp,o,-c*r),Bp.useDir&&Bp.calcDirMTV()))}}return i},e.prototype._getProjMinMaxOnAxis=function(e,t,n){for(var r=this._axes[e],i=this._origin,a=t[0].dot(r)+i[e],o=a,s=a,c=1;c0){var d=u.duration,f=u.delay,p=u.easing,m={duration:d,delay:f||0,easing:p,done:a,force:!!a||!!o,setToFinal:!l,scope:e,during:o};s?t.animateFrom(n,m):t.animateTo(n,m)}else t.stopAnimation(),!s&&t.attr(n),o&&o(1),a&&a()}function Yp(e,t,n,r,i,a){Jp(`update`,e,t,n,r,i,a)}function Xp(e,t,n,r,i,a){Jp(`enter`,e,t,n,r,i,a)}function Zp(e){if(!e.__zr)return!0;for(var t=0;tAp,BezierCurve:()=>Op,BoundingRect:()=>J,Circle:()=>Jf,CompoundPath:()=>jp,Ellipse:()=>Xf,Group:()=>Y,HOVER_LAYER_FOR_INCREMENTAL:()=>2,HOVER_LAYER_FROM_THRESHOLD:()=>1,HOVER_LAYER_NO:()=>0,Image:()=>Ou,IncrementalDisplayable:()=>Gp,Line:()=>wp,LinearGradient:()=>Np,OrientedBoundingRect:()=>Up,Path:()=>Su,Point:()=>q,Polygon:()=>yp,Polyline:()=>xp,RadialGradient:()=>Pp,Rect:()=>Iu,Ring:()=>hp,Sector:()=>pp,Text:()=>Vu,WH:()=>om,XY:()=>am,applyTransform:()=>xm,calcZ2Range:()=>Wm,clipPointsByRect:()=>Em,clipRectByRect:()=>Dm,createIcon:()=>Om,decomposeTransform:()=>Jm,ensureCopyRect:()=>Vm,ensureCopyTransform:()=>Hm,expandOrShrinkRect:()=>Nm,extendPath:()=>lm,extendShape:()=>sm,getCurrentCanvasPainter:()=>Xm,getShapeClass:()=>dm,getTransform:()=>bm,groupTransition:()=>Tm,initProps:()=>Xp,isBoundingRectAxisAligned:()=>zm,isElementRemoved:()=>Zp,lineLineIntersect:()=>Am,linePolygonIntersect:()=>km,makeImage:()=>pm,makePath:()=>fm,mergePath:()=>hm,payloadDisableAnimation:()=>qm,registerShape:()=>um,removeElement:()=>Qp,removeElementWithFadeOut:()=>em,resizePath:()=>gm,retrieveZInfo:()=>Um,setTooltipConfig:()=>Im,subPixelOptimize:()=>ym,subPixelOptimizeLine:()=>_m,subPixelOptimizeRect:()=>vm,transformDirection:()=>Sm,traverseElements:()=>Rm,traverseUpdateZ:()=>Gm,updateProps:()=>Yp}),im={},am=[`x`,`y`],om=[`width`,`height`];function sm(e){return Su.extend(e)}var cm=Wf;function lm(e,t){return cm(e,t)}function um(e,t){im[e]=t}function dm(e){if(im.hasOwnProperty(e))return im[e]}function fm(e,t,n,r){var i=Uf(e,t);return n&&(r===`center`&&(n=mm(n,i.getBoundingRect())),gm(i,n)),i}function pm(e,t,n){var r=new Ou({style:{image:e,x:t.x,y:t.y,width:t.width,height:t.height},onload:function(e){if(n===`center`){var i={width:e.width,height:e.height};r.setStyle(mm(t,i))}}});return r}function mm(e,t){var n=t.width/t.height,r=e.height*n,i;r<=e.width?i=e.height:(r=e.width,i=r/n);var a=e.x+e.width/2,o=e.y+e.height/2;return{x:a-r/2,y:o-i/2,width:r,height:i}}var hm=Gf;function gm(e,t){if(e.applyTransform){var n=e.getBoundingRect().calculateTransform(t);e.applyTransform(n)}}function _m(e,t){return ju(e,e,{lineWidth:t}),e}function vm(e,t){return Mu(e,e,t),e}var ym=Nu;function bm(e,t){for(var n=Xt([]);e&&e!==t;)Qt(n,e.getLocalTransform(),n),e=e.parent;return n}function xm(e,t,n){return t&&!he(t)&&(t=Oa.getLocalTransform(t)),n&&(t=nn([],t)),pt([],e,t)}function Sm(e,t,n){var r=t[4]===0||t[5]===0||t[0]===0?1:Eo(2*t[4]/t[0]),i=t[4]===0||t[5]===0||t[2]===0?1:Eo(2*t[4]/t[2]),a=[e===`left`?-r:e===`right`?r:0,e===`top`?-i:e===`bottom`?i:0];return a=xm(a,t,n),Eo(a[0])>Eo(a[1])?a[0]>0?`right`:`left`:a[1]>0?`bottom`:`top`}function Cm(e){return!e.isGroup}function wm(e){return e.shape!=null}function Tm(e,t,n){if(!e||!t)return;function r(e){var t={};return e.traverse(function(e){Cm(e)&&e.anid&&(t[e.anid]=e)}),t}function i(e){var t={x:e.x,y:e.y,rotation:e.rotation};return wm(e)&&(t.shape=M(e.shape)),t}var a=r(e);t.traverse(function(e){if(Cm(e)&&e.anid){var t=a[e.anid];if(t){var r=i(e);e.attr(i(t)),Yp(e,r,n,Z(e).dataIndex)}}})}function Em(e,t){return R(e,function(e){var n=e[0];n=To(n,t.x),n=wo(n,t.x+t.width);var r=e[1];return r=To(r,t.y),r=wo(r,t.y+t.height),[n,r]})}function Dm(e,t){var n=To(e.x,t.x),r=wo(e.x+e.width,t.x+t.width),i=To(e.y,t.y),a=wo(e.y+e.height,t.y+t.height);if(r>=n&&a>=i)return{x:n,y:i,width:r-n,height:a-i}}function Om(e,t,n){var r=P({rectHover:!0},t),i=r.style={strokeNoScale:!0};if(n||={x:-1,y:-1,width:2,height:2},e)return e.indexOf(`image://`)===0?(i.image=e.slice(8),F(i,n),new Ou(r)):fm(e.replace(`path://`,``),r,n,`center`)}function km(e,t,n,r,i){for(var a=0,o=i[i.length-1];a1)return!1;var g=jm(p,m,u,d)/f;return!(g<0||g>1)}function jm(e,t,n,r){return e*r-n*t}function Mm(e){return e<=1e-6&&e>=-1e-6}function Nm(e,t,n,r,i){return t==null?e:(Ce(t)?Pm[0]=Pm[1]=Pm[2]=Pm[3]=t:(Pm[0]=t[0],Pm[1]=t[1],Pm[2]=t[2],Pm[3]=t[3]),r&&(Pm[0]=To(0,Pm[0]),Pm[1]=To(0,Pm[1]),Pm[2]=To(0,Pm[2]),Pm[3]=To(0,Pm[3])),n&&(Pm[0]=-Pm[0],Pm[1]=-Pm[1],Pm[2]=-Pm[2],Pm[3]=-Pm[3]),Fm(e,Pm,`x`,`width`,3,1,i&&i[0]||0),Fm(e,Pm,`y`,`height`,0,2,i&&i[1]||0),e)}var Pm=[0,0,0,0];function Fm(e,t,n,r,i,a,o){var s=t[a]+t[i],c=e[r];e[r]+=s,o=To(0,wo(o,c)),e[r]=0?-t[i]:t[a]>=0?c+t[a]:Eo(s)>1e-8?(c-o)*t[i]/s:0):e[n]-=t[i]}function Im(e){var t=e.itemTooltipOption,n=e.componentModel,r=e.itemName,i=H(t)?{formatter:t}:t,a=n.mainType,o=n.componentIndex,s={componentType:a,name:r,$vars:[`name`]};s[a+`Index`]=o;var c=e.formatterParamsExtra;c&&L(ye(c),function(e){K(s,e)||(s[e]=c[e],s.$vars.push(e))});var l=Z(e.el);l.componentMainType=a,l.componentIndex=o,l.tooltipConfig={name:r,option:F({content:r,encodeHTMLContent:!0,formatterParams:s},i)}}function Lm(e,t){var n;e.isGroup&&(n=t(e)),n||e.traverse(t)}function Rm(e,t){if(e)if(B(e))for(var n=0;nt&&(t=r),rt&&(n=t=0),{min:n,max:t}}function Gm(e,t,n){Km(e,t,n,-1/0)}function Km(e,t,n,r){if(e.ignoreModelZ)return r;var i=e.getTextContent(),a=e.getTextGuideLine();if(e.isGroup)for(var o=e.childrenRef(),s=0;s=0&&n.push(e)}),n}}function Ah(e,t){return N(N({},e,!0),t,!0)}var jh={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:`. `}}}},Mh={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:``}}}},Nh=`ZH`,Ph=`EN`,Fh=Ph,Ih={},Lh={},Rh=y.domSupported?function(){return(document.documentElement.lang||navigator.language||navigator.browserLanguage||Fh).toUpperCase().indexOf(Nh)>-1?Nh:Fh}():Fh;function zh(e,t){e=e.toUpperCase(),Lh[e]=new Th(t),Ih[e]=t}function Bh(e){if(H(e)){var t=Ih[e.toUpperCase()]||{};return e===Nh||e===Ph?M(t):N(M(t),M(Ih[Fh]),!1)}else return N(M(e),M(Ih[Fh]),!1)}function Vh(e){return Lh[e]}function Hh(){return Lh[Fh]}zh(Ph,jh),zh(Nh,Mh);var Uh=null;function Wh(e){Uh||=e}function Gh(){return Uh}function Kh(e,t){var n=Gh(),r=t.breakOption,i=t.breakParsed;return!i&&n&&(i=n.parseAxisBreakOption(r,e)),i}function qh(e){var t=e.brk;return t?t.breaks:[]}function Jh(e){var t=e.brk;return t?t.hasBreaks():!1}var Yh=1e3,Xh=Yh*60,Zh=Xh*60,Qh=Zh*24,$h=Qh*365,eg={year:/({yyyy}|{yy})/,month:/({MMMM}|{MMM}|{MM}|{M})/,day:/({dd}|{d})/,hour:/({HH}|{H}|{hh}|{h})/,minute:/({mm}|{m})/,second:/({ss}|{s})/,millisecond:/({SSS}|{S})/},tg={year:`{yyyy}`,month:`{MMM}`,day:`{d}`,hour:`{HH}:{mm}`,minute:`{HH}:{mm}`,second:`{HH}:{mm}:{ss}`,millisecond:`{HH}:{mm}:{ss} {SSS}`},ng=`{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}`,rg=`{yyyy}-{MM}-{dd}`,ig={year:`{yyyy}`,month:`{yyyy}-{MM}`,day:rg,hour:rg+` `+tg.hour,minute:rg+` `+tg.minute,second:rg+` `+tg.second,millisecond:ng},ag=[`year`,`month`,`day`,`hour`,`minute`,`second`,`millisecond`],og=[`year`,`half-year`,`quarter`,`month`,`week`,`half-week`,`day`,`half-day`,`quarter-day`,`hour`,`minute`,`second`,`millisecond`];function sg(e){return!H(e)&&!V(e)?cg(e):e}function cg(e){e||={};var t={},n=!0;return L(ag,function(t){n&&=e[t]==null}),L(ag,function(r,i){var a=e[r];t[r]={};for(var o=null,s=i;s>=0;s--){var c=ag[s],l=U(a)&&!B(a)?a[c]:a,u=void 0;B(l)?(u=l.slice(),o=u[0]||``):H(l)?(o=l,u=[o]):(o==null?o=tg[r]:eg[c].test(o)||(o=t[c][c][0]+` `+o),u=[o],n&&(u[1]=`{primary|`+o+`}`)),t[r][c]=u}}),t}function lg(e,t){return e+=``,`0000`.substr(0,t-e.length)+e}function ug(e){switch(e){case`half-year`:case`quarter`:return`month`;case`week`:case`half-week`:return`day`;case`half-day`:case`quarter-day`:return`hour`;default:return e}}function dg(e){return e===ug(e)}function fg(e){switch(e){case`year`:case`month`:return`day`;case`millisecond`:return`millisecond`;default:return`second`}}function pg(e,t,n,r){var i=Zo(e),a=i[_g(n)](),o=i[vg(n)]()+1,s=Math.floor((o-1)/3)+1,c=i[yg(n)](),l=i[`get`+(n?`UTC`:``)+`Day`](),u=i[bg(n)](),d=(u-1)%12+1,f=i[xg(n)](),p=i[Sg(n)](),m=i[Cg(n)](),h=u>=12?`pm`:`am`,g=h.toUpperCase(),_=(r instanceof Th?r:Vh(r||Rh)||Hh()).getModel(`time`),v=_.get(`month`),y=_.get(`monthAbbr`),b=_.get(`dayOfWeek`),x=_.get(`dayOfWeekAbbr`);return(t||``).replace(/{a}/g,h+``).replace(/{A}/g,g+``).replace(/{yyyy}/g,a+``).replace(/{yy}/g,lg(a%100+``,2)).replace(/{Q}/g,s+``).replace(/{MMMM}/g,v[o-1]).replace(/{MMM}/g,y[o-1]).replace(/{MM}/g,lg(o,2)).replace(/{M}/g,o+``).replace(/{dd}/g,lg(c,2)).replace(/{d}/g,c+``).replace(/{eeee}/g,b[l]).replace(/{ee}/g,x[l]).replace(/{e}/g,l+``).replace(/{HH}/g,lg(u,2)).replace(/{H}/g,u+``).replace(/{hh}/g,lg(d+``,2)).replace(/{h}/g,d+``).replace(/{mm}/g,lg(f,2)).replace(/{m}/g,f+``).replace(/{ss}/g,lg(p,2)).replace(/{s}/g,p+``).replace(/{SSS}/g,lg(m,3)).replace(/{S}/g,m+``)}function mg(e,t,n,r,i){var a=null;if(H(n))a=n;else if(V(n)){var o={time:e.time,level:e.time?e.time.level:0},s=Gh();s&&s.makeAxisLabelFormatterParamBreak(o,e.break),a=n(e.value,t,o)}else{var c=e.time;if(c){var l=n[c.lowerTimeUnit][c.upperTimeUnit];a=l[Math.min(c.level,l.length-1)]||``}else{var u=hg(e.value,i);a=n[u][u][0]}}return pg(new Date(e.value),a,i,r)}function hg(e,t){var n=Zo(e),r=n[vg(t)]()+1,i=n[yg(t)](),a=n[bg(t)](),o=n[xg(t)](),s=n[Sg(t)](),c=n[Cg(t)]()===0,l=c&&s===0,u=l&&o===0,d=u&&a===0,f=d&&i===1;return f&&r===1?`year`:f?`month`:d?`day`:u?`hour`:l?`minute`:c?`second`:`millisecond`}function gg(e,t,n){switch(t){case`year`:e[Tg(n)](0);case`month`:e[Eg(n)](1);case`day`:e[Dg(n)](0);case`hour`:e[Og(n)](0);case`minute`:e[kg(n)](0);case`second`:e[Ag(n)](0)}return e}function _g(e){return e?`getUTCFullYear`:`getFullYear`}function vg(e){return e?`getUTCMonth`:`getMonth`}function yg(e){return e?`getUTCDate`:`getDate`}function bg(e){return e?`getUTCHours`:`getHours`}function xg(e){return e?`getUTCMinutes`:`getMinutes`}function Sg(e){return e?`getUTCSeconds`:`getSeconds`}function Cg(e){return e?`getUTCMilliseconds`:`getMilliseconds`}function wg(e){return e?`setUTCFullYear`:`setFullYear`}function Tg(e){return e?`setUTCMonth`:`setMonth`}function Eg(e){return e?`setUTCDate`:`setDate`}function Dg(e){return e?`setUTCHours`:`setHours`}function Og(e){return e?`setUTCMinutes`:`setMinutes`}function kg(e){return e?`setUTCSeconds`:`setSeconds`}function Ag(e){return e?`setUTCMilliseconds`:`setMilliseconds`}function jg(e){if(!is(e))return H(e)?e:`-`;var t=(e+``).split(`.`);return t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,`$1,`)+(t.length>1?`.`+t[1]:``)}function Mg(e,t){return e=(e||``).toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()}),t&&e&&(e=e.charAt(0).toUpperCase()+e.slice(1)),e}var Ng=Pe;function Pg(e,t,n){var r=`{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}`;function i(e){return e&&Ie(e)?e:`-`}function a(e){return cs(e)}var o=t===`time`,s=e instanceof Date;if(o||s){var c=o?Zo(e):e;if(!isNaN(+c))return pg(c,r,n);if(s)return`-`}if(t===`ordinal`)return Se(e)?i(e):Ce(e)&&a(e)?e+``:`-`;var l=rs(e);return a(l)?jg(l):Se(e)?i(e):typeof e==`boolean`?e+``:`-`}var Fg=[`a`,`b`,`c`,`d`,`e`,`f`,`g`],Ig=function(e,t){return`{`+e+(t??``)+`}`};function Lg(e,t,n){B(t)||(t=[t]);var r=t.length;if(!r)return``;for(var i=t[0].$vars||[],a=0;a`:``:{renderMode:a,content:`{`+(n.markerId||`markerX`)+`|} `,style:i===`subItem`?{width:4,height:4,borderRadius:2,backgroundColor:r}:{width:10,height:10,borderRadius:5,backgroundColor:r}}:``}function Bg(e,t){return t||=`transparent`,H(e)?e:U(e)&&e.colorStops&&(e.colorStops[0]||{}).color||t}function Vg(e,t){if(t===`_blank`||t===`blank`){var n=window.open();n.opener=null,n.location.href=e}else window.open(e,t)}var Hg={},Ug={},Wg=function(){function e(){this._normalMasterList=[],this._nonSeriesBoxMasterList=[]}return e.prototype.create=function(e,t){this._nonSeriesBoxMasterList=n(Hg,!0),this._normalMasterList=n(Ug,!1);function n(n,r){var i=[];return L(n,function(n,r){var a=n.create(e,t);i=i.concat(a||[])}),i}},e.prototype.update=function(e,t){L(this._normalMasterList,function(n){n.update&&n.update(e,t)})},e.prototype.getCoordinateSystems=function(){return this._normalMasterList.concat(this._nonSeriesBoxMasterList)},e.register=function(e,t){if(e===`matrix`||e===`calendar`){Hg[e]=t;return}Ug[e]=t},e.get=function(e){return Ug[e]||Hg[e]},e}();function Gg(e){return!!Hg[e]}function Kg(e){qg.set(e.fullType,{getCoord2:void 0}).getCoord2=e.getCoord2}var qg=G();function Jg(e){var t=e.getShallow(`coord`,!0),n=1;if(t==null){var r=qg.get(e.type);r&&r.getCoord2&&(n=2,t=r.getCoord2(e))}return{coord:t,from:n}}function Yg(e,t){var n=e.getShallow(`coordinateSystem`),r=e.getShallow(`coordinateSystemUsage`,!0),i=0;if(n){var a=e.mainType===`series`;r??=a?`data`:`box`,r===`data`?(i=1,a||(i=0)):r===`box`&&(i=2,!a&&!Gg(n)&&(i=0))}return{coordSysType:n,kind:i}}function Xg(e){var t=e.targetModel,n=e.coordSysType,r=e.coordSysProvider,i=e.isDefaultDataCoordSys;e.allowNotFound;var a=Yg(t,!0),o=a.kind,s=a.coordSysType;if(i&&o!==1&&(o=1,s=n),o===0||s!==n)return 0;var c=r(n,t);return c?(o===1?t.coordinateSystem=c:t.boxCoordinateSystem=c,o):0}var Zg=function(e,t){var n=t.getReferringComponents(e,Ws).models[0];return n&&n.coordinateSystem},Qg=L,$g=[`left`,`right`,`top`,`bottom`,`width`,`height`],e_=[[`width`,`left`,`right`],[`height`,`top`,`bottom`]];function t_(e,t,n,r,i){var a=0,o=0;r??=1/0,i??=1/0;var s=0;t.eachChild(function(c,l){var u=c.getBoundingRect(),d=t.childAt(l+1),f=d&&d.getBoundingRect(),p,m;if(e===`horizontal`){var h=u.width+(f?-f.x+u.x:0);p=a+h,p>r||c.newline?(a=0,p=h,o+=s+n,s=u.height):s=Math.max(s,u.height)}else{var g=u.height+(f?-f.y+u.y:0);m=o+g,m>i||c.newline?(a+=s+n,o=0,m=g,s=u.width):s=Math.max(s,u.width)}c.newline||(c.x=a,c.y=o,c.markRedraw(),e===`horizontal`?a=p+n:o=m+n)})}var n_=t_;xe(t_,`vertical`),xe(t_,`horizontal`);function r_(e,t){return{left:e.getShallow(`left`,t),top:e.getShallow(`top`,t),right:e.getShallow(`right`,t),bottom:e.getShallow(`bottom`,t),width:e.getShallow(`width`,t),height:e.getShallow(`height`,t)}}function i_(e,t){var n=l_(e,t,{enableLayoutOnlyByCenter:!0}),r=e.getBoxLayoutParams(),i,a;if(n.type===c_.point)a=n.refPoint,i=o_(r,{width:t.getWidth(),height:t.getHeight()});else{var o=e.get(`center`),s=B(o)?o:[o,o];i=o_(r,n.refContainer),a=n.boxCoordFrom===2?n.refPoint:[X(s[0],i.width)+i.x,X(s[1],i.height)+i.y]}return{viewRect:i,center:a}}function a_(e,t){var n=i_(e,t),r=n.viewRect,i=n.center,a=e.get(`radius`);B(a)||(a=[0,a]);var o=X(r.width,t.getWidth()),s=X(r.height,t.getHeight()),c=Math.min(o,s),l=X(a[0],c/2),u=X(a[1],c/2);return{cx:i[0],cy:i[1],r0:l,r:u,viewRect:r}}function o_(e,t,n){n=Ng(n||0);var r=t.width,i=t.height,a=X(e.left,r),o=X(e.top,i),s=X(e.right,r),c=X(e.bottom,i),l=X(e.width,r),u=X(e.height,i),d=n[2]+n[0],f=n[1]+n[3],p=e.aspect;switch(isNaN(l)&&(l=r-s-f-a),isNaN(u)&&(u=i-c-d-o),p!=null&&(isNaN(l)&&isNaN(u)&&(p>r/i?l=r*.8:u=i*.8),isNaN(l)&&(l=p*u),isNaN(u)&&(u=l/p)),isNaN(a)&&(a=r-s-l-f),isNaN(o)&&(o=i-c-u-d),e.left||e.right){case`center`:a=r/2-l/2-n[3];break;case`right`:a=r-l-f;break}switch(e.top||e.bottom){case`middle`:case`center`:o=i/2-u/2-n[0];break;case`bottom`:o=i-u-d;break}a||=0,o||=0,isNaN(l)&&(l=r-f-a-(s||0)),isNaN(u)&&(u=i-d-o-(c||0));var m=new J((t.x||0)+a+n[3],(t.y||0)+o+n[0],l,u);return m.margin=n,m}function s_(e,t,n){var r=e.getShallow(`preserveAspect`,!0);if(!r)return t;var i=t.width/t.height;if(Math.abs(Math.atan(n)-Math.atan(i))<1e-9)return t;var a=e.getShallow(`preserveAspectAlign`,!0),o=e.getShallow(`preserveAspectVerticalAlign`,!0),s={width:t.width,height:t.height},c=r===`cover`;return i>n&&!c||i=u)return a;for(var d=0;d=0;o--)a=N(a,n[o],!0);t.defaultOption=a}return t.defaultOption},t.prototype.getReferringComponents=function(e,t){var n=e+`Index`,r=e+`Id`;return Ks(this.ecModel,e,{index:this.get(n,!0),id:this.get(r,!0)},t)},t.prototype.getBoxLayoutParams=function(){return r_(this,!1)},t.prototype.getZLevelKey=function(){return``},t.prototype.setZLevel=function(e){this.option.zlevel=e},t.protoInitialize=function(){var e=t.prototype;e.type=`component`,e.id=``,e.name=``,e.mainType=``,e.subType=``,e.componentIndex=0}(),t}(Th);Dc(__,Th),Mc(__),Oh(__),kh(__,v_);function v_(e){var t=[];return L(__.getClassesByMainType(e),function(e){t=t.concat(e.dependencies||e.prototype.dependencies||[])}),t=R(t,function(e){return Sc(e).main}),e!==`dataset`&&I(t,`dataset`)<=0&&t.unshift(`dataset`),t}var Q={color:{},darkColor:{},size:{}},y_=Q.color={theme:[`#5070dd`,`#b6d634`,`#505372`,`#ff994d`,`#0ca8df`,`#ffd10a`,`#fb628b`,`#785db0`,`#3fbe95`],neutral00:`#fff`,neutral05:`#f4f7fd`,neutral10:`#e8ebf0`,neutral15:`#dbdee4`,neutral20:`#cfd2d7`,neutral25:`#c3c5cb`,neutral30:`#b7b9be`,neutral35:`#aaacb2`,neutral40:`#9ea0a5`,neutral45:`#929399`,neutral50:`#86878c`,neutral55:`#797b7f`,neutral60:`#6d6e73`,neutral65:`#616266`,neutral70:`#54555a`,neutral75:`#48494d`,neutral80:`#3c3c41`,neutral85:`#303034`,neutral90:`#232328`,neutral95:`#17171b`,neutral99:`#000`,accent05:`#eff1f9`,accent10:`#e0e4f2`,accent15:`#d0d6ec`,accent20:`#c0c9e6`,accent25:`#b1bbdf`,accent30:`#a1aed9`,accent35:`#91a0d3`,accent40:`#8292cc`,accent45:`#7285c6`,accent50:`#6578ba`,accent55:`#5c6da9`,accent60:`#536298`,accent65:`#4a5787`,accent70:`#404c76`,accent75:`#374165`,accent80:`#2e3654`,accent85:`#252b43`,accent90:`#1b2032`,accent95:`#121521`,transparent:`rgba(0,0,0,0)`,highlight:`rgba(255,231,130,0.8)`};for(var b_ in P(y_,{primary:y_.neutral80,secondary:y_.neutral70,tertiary:y_.neutral60,quaternary:y_.neutral50,disabled:y_.neutral20,border:y_.neutral30,borderTint:y_.neutral20,borderShade:y_.neutral40,background:y_.neutral05,backgroundTint:`rgba(234,237,245,0.5)`,backgroundTransparent:`rgba(255,255,255,0)`,backgroundShade:y_.neutral10,shadow:`rgba(0,0,0,0.2)`,shadowTint:`rgba(129,130,136,0.2)`,axisLine:y_.neutral70,axisLineTint:y_.neutral40,axisTick:y_.neutral70,axisTickMinor:y_.neutral60,axisLabel:y_.neutral70,axisSplitLine:y_.neutral15,axisMinorSplitLine:y_.neutral05}),y_)if(y_.hasOwnProperty(b_)){var x_=y_[b_];b_===`theme`?Q.darkColor.theme=y_.theme.slice():b_===`highlight`?Q.darkColor.highlight=`rgba(255,231,130,0.4)`:b_.indexOf(`accent`)===0?Q.darkColor[b_]=Qr(x_,null,function(e){return e*.5},function(e){return Math.min(1,1.3-e)}):Q.darkColor[b_]=Qr(x_,null,function(e){return e*.9},function(e){return 1-e**1.5})}Q.size={xxs:2,xs:5,s:10,m:15,l:20,xl:30,xxl:40,xxxl:50};var S_=``;typeof navigator<`u`&&(S_=navigator.platform||``);var C_=`rgba(0, 0, 0, 0.2)`,w_=Q.color.theme[0],T_=Qr(w_,null,null,.9),E_={darkMode:`auto`,colorBy:`series`,color:Q.color.theme,gradientColor:[T_,w_],aria:{decal:{decals:[{color:C_,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:C_,symbol:`circle`,dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:C_,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:C_,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:C_,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:C_,symbol:`triangle`,dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:S_.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},D_={Must:1,Might:2,Not:3},O_=Bs();function k_(e){O_(e).datasetMap=G()}function A_(e,t,n){var r={},i=M_(t);if(!i||!e)return r;var a=[],o=[],s=t.ecModel,c=O_(s).datasetMap,l=i.uid+`_`+n.seriesLayoutBy,u,d;e=e.slice(),L(e,function(t,n){var i=U(t)?t:e[n]={name:t};i.type===`ordinal`&&u==null&&(u=n,d=m(i)),r[i.name]=[]});var f=c.get(l)||c.set(l,{categoryWayDim:d,valueWayDim:0});L(e,function(e,t){var n=e.name,i=m(e);if(u==null){var s=f.valueWayDim;p(r[n],s,i),p(o,s,i),f.valueWayDim+=i}else if(u===t)p(r[n],0,i),p(a,0,i);else{var s=f.categoryWayDim;p(r[n],s,i),p(o,s,i),f.categoryWayDim+=i}});function p(e,t,n){for(var r=0;rt)return e[r];return e[n-1]}function W_(e,t,n,r,i,a,o){a||=e;var s=t(a),c=s.paletteIdx||0,l=s.paletteNameMap=s.paletteNameMap||{};if(l.hasOwnProperty(i))return l[i];var u=o==null||!r?n:U_(r,o);if(u||=n,!(!u||!u.length)){var d=u[c];return i&&(l[i]=d),s.paletteIdx=(c+1)%u.length,d}}function G_(e,t){t(e).paletteIdx=0,t(e).paletteNameMap={}}var K_,q_,J_,Y_=`\0_ec_inner`,X_=1,Z_=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.init=function(e,t,n,r,i,a){r||={},this.option=null,this._theme=new Th(r),this._locale=new Th(i),this._optionManager=a},t.prototype.setOption=function(e,t,n){var r=nv(t);this._optionManager.setOption(e,n,r),this._resetOption(null,r)},t.prototype.resetOption=function(e,t){return this._resetOption(e,nv(t))},t.prototype._resetOption=function(e,t){var n=!1,r=this._optionManager;if(!e||e===`recreate`){var i=r.mountOption(e===`recreate`);!this.option||e===`recreate`?J_(this,i):(this.restoreData(),this._mergeOption(i,t)),n=!0}if((e===`timeline`||e===`media`)&&this.restoreData(),!e||e===`recreate`||e===`timeline`){var a=r.getTimelineOption(this);a&&(n=!0,this._mergeOption(a,t))}if(!e||e===`recreate`||e===`media`){var o=r.getMediaOption(this);o.length&&L(o,function(e){n=!0,this._mergeOption(e,t)},this)}return n},t.prototype.mergeOption=function(e){this._mergeOption(e,null)},t.prototype._mergeOption=function(e,t){var n=this.option,r=this._componentsMap,i=this._componentsCount,a=[],o=G(),s=t&&t.replaceMergeMainTypeMap;k_(this),L(e,function(e,t){e!=null&&(__.hasClass(t)?t&&(a.push(t),o.set(t,!0)):n[t]=n[t]==null?M(e):N(n[t],e,!0))}),s&&s.each(function(e,t){__.hasClass(t)&&!o.get(t)&&(a.push(t),o.set(t,!0))}),__.topologicalTravel(a,__.getAllClassMainTypes(),c,this);function c(t){var a=R_(this,t,vs(e[t])),o=r.get(t),c=Cs(o,a,o?s&&s.get(t)?`replaceMerge`:`normalMerge`:`replaceAll`);Is(c,t,__),n[t]=null,r.set(t,null),i.set(t,0);var l=[],u=[],d=0,f;L(c,function(e,n){var r=e.existing,i=e.newOption;if(!i)r&&(r.mergeOption({},this),r.optionUpdated({},!1));else{var a=t===`series`,o=__.getClass(t,e.keyInfo.subType,!a);if(!o)return;if(t===`tooltip`){if(f)return;f=!0}if(r&&r.constructor===o)r.name=e.keyInfo.name,r.mergeOption(i,this),r.optionUpdated(i,!1);else{var s=P({componentIndex:n},e.keyInfo);r=new o(i,this,this,s),P(r,s),e.brandNew&&(r.__requireNewView=!0),r.init(i,this,this),r.optionUpdated(null,!0)}}r?(l.push(r.option),u.push(r),d++):(l.push(void 0),u.push(void 0))},this),n[t]=l,r.set(t,u),i.set(t,d),t===`series`&&K_(this)}this._seriesIndices||K_(this)},t.prototype.getOption=function(){var e=M(this.option);return L(e,function(t,n){if(__.hasClass(n)){for(var r=vs(t),i=r.length,a=!1,o=i-1;o>=0;o--)r[o]&&!Ps(r[o])?a=!0:(r[o]=null,!a&&i--);r.length=i,e[n]=r}}),delete e[Y_],e},t.prototype.setTheme=function(e){this._theme=new Th(e),this._resetOption(`recreate`,null)},t.prototype.getTheme=function(){return this._theme},t.prototype.getLocaleModel=function(){return this._locale},t.prototype.setUpdatePayload=function(e){this._payload=e},t.prototype.getUpdatePayload=function(){return this._payload},t.prototype.getComponent=function(e,t){var n=this._componentsMap.get(e);if(n){var r=n[t||0];if(r)return r;if(t==null){for(var i=0;i=t:n===`max`?e<=t:e===t}function cv(e,t){return e.join(`,`)===t.join(`,`)}var lv=L,uv=U,dv=[`areaStyle`,`lineStyle`,`nodeStyle`,`linkStyle`,`chordStyle`,`label`,`labelLine`];function fv(e){var t=e&&e.itemStyle;if(t)for(var n=0,r=dv.length;n0?e[n-1].seriesModel:null)}),Fv(e))})}function Fv(e){L(e,function(t,n){var r=[],i=[NaN,NaN],a=[t.stackResultDimension,t.stackedOverDimension],o=t.data,s=t.isStackedByIndex,c=t.seriesModel.get(`stackStrategy`)||`samesign`;o.modify(a,function(a,l,u){var d=o.get(t.stackedDimension,u);if(isNaN(d))return i;var f,p;s?p=o.getRawIndex(u):f=o.get(t.stackedByDimension,u);for(var m=NaN,h=n-1;h>=0;h--){var g=e[h];if(s||(p=g.data.rawIndexOf(g.stackedByDimension,f)),p>=0){var _=g.data.getByRawIndex(g.stackResultDimension,p);if(c===`all`||c===`positive`&&_>0||c===`negative`&&_<0||c===`samesign`&&d>=0&&_>0||c===`samesign`&&d<=0&&_<0){d=Ko(d,_),m=_;break}}}return r[0]=d,r[1]=m,r})})}var Iv=function(){function e(e){this.data=e.data||(e.sourceFormat===`keyedColumns`?{}:[]),this.sourceFormat=e.sourceFormat||`unknown`,this.seriesLayoutBy=e.seriesLayoutBy||`column`,this.startIndex=e.startIndex||0,this.dimensionsDetectedCount=e.dimensionsDetectedCount,this.metaRawOption=e.metaRawOption;var t=this.dimensionsDefine=e.dimensionsDefine;if(t)for(var n=0;nl&&(l=p)}s[0]=c,s[1]=l}},r=function(){return this._data?this._data.length/this._dimSize:0};Zv=(e={},e[ad+`_`+ud]={pure:!0,appendData:i},e[ad+`_row`]={pure:!0,appendData:function(){throw Error(`Do not support appendData when set seriesLayoutBy: "row".`)}},e[od]={pure:!0,appendData:i},e[sd]={pure:!0,appendData:function(e){var t=this._data;L(e,function(e,n){for(var r=t[n]||(t[n]=[]),i=0;i<(e||[]).length;i++)r.push(e[i])})}},e[id]={appendData:i},e[cd]={persistent:!1,pure:!0,appendData:function(e){this._data=e},clean:function(){this._offset+=this.count(),this._data=null}},e);function i(e){for(var t=0;t=0&&(s=a.interpolatedValue[c])}return s==null?``:s+``})},e.prototype.getRawValue=function(e,t){return dy(this.getData(t),e)},e.prototype.formatTooltip=function(e,t,n){},e}();function my(e){var t,n;return U(e)?e.type&&(n=e):t=e,{text:t,frag:n}}function hy(e){return new gy(e)}var gy=function(){function e(e){e||={},this._reset=e.reset,this._plan=e.plan,this._count=e.count,this._onDirty=e.onDirty,this._dirty=!0}return e.prototype.perform=function(e){var t=this._upstream,n=e&&e.skip;if(this._dirty&&t){var r=this.context;r.data=r.outputData=t.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var i;this._plan&&!n&&(i=this._plan(this.context));var a=l(this._modBy),o=this._modDataCount||0,s=l(e&&e.modBy),c=e&&e.modDataCount||0;(a!==s||o!==c)&&(i=`reset`);function l(e){return!(e>=1)&&(e=1),e}var u;(this._dirty||i===`reset`)&&(this._dirty=!1,u=this._doReset(n)),this._modBy=s,this._modDataCount=c;var d=e&&e.step;if(t?this._dueEnd=t._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var f=this._dueIndex,p=Math.min(d==null?1/0:this._dueIndex+d,this._dueEnd);if(!n&&(u||f1&&r>0?s:o}};return a;function o(){return t=e?null:at},gte:function(e,t){return e>=t}},Sy=function(){function e(e,t){Ce(t)||ms(``),this._opFn=xy[e],this._rvalFloat=rs(t)}return e.prototype.evaluate=function(e){return Ce(e)?this._opFn(e,this._rvalFloat):this._opFn(rs(e),this._rvalFloat)},e}(),Cy=function(){function e(e,t){var n=e===`desc`;this._resultLT=n?1:-1,t??=n?`min`:`max`,this._incomparable=t===`min`?-1/0:1/0}return e.prototype.evaluate=function(e,t){var n=Ce(e)?e:rs(e),r=Ce(t)?t:rs(t),i=isNaN(n),a=isNaN(r);if(i&&(n=this._incomparable),a&&(r=this._incomparable),i&&a){var o=H(e),s=H(t);o&&(n=s?e:0),s&&(r=o?t:0)}return nr?-this._resultLT:0},e}(),wy=function(){function e(e,t){this._rval=t,this._isEQ=e,this._rvalTypeof=typeof t,this._rvalFloat=rs(t)}return e.prototype.evaluate=function(e){var t=e===this._rval;if(!t){var n=typeof e;n!==this._rvalTypeof&&(n===`number`||this._rvalTypeof===`number`)&&(t=rs(e)===this._rvalFloat)}return this._isEQ?t:!t},e}();function Ty(e,t){return e===`eq`||e===`ne`?new wy(e===`eq`,t):K(xy,e)?new Sy(e,t):null}function Ey(e){var t=``,n=-1/0,r=-1/0,i=1/0,a=1/0;return e&&(e.g!=null&&(t+=`G`+e.g,n=e.g),e.ge!=null&&(t+=`GE`+e.ge,r=e.ge),e.l!=null&&(t+=`L`+e.l,i=e.l),e.le!=null&&(t+=`LE`+e.le,a=e.le)),{key:t,g:n,ge:r,l:i,le:a}}function Dy(e,t){return t>e.g&&t>=e.ge&&t`u`?Array:Uint32Array,By=typeof Uint16Array>`u`?Array:Uint16Array,Vy=typeof Int32Array>`u`?Array:Int32Array,Hy=typeof Float64Array>`u`?Array:Float64Array,Uy={float:Hy,int:Vy,ordinal:Array,number:Array,time:Hy},Wy;function Gy(e){return e>65535?zy:By}function Ky(e){var t=e.constructor;return t===Array?e.slice():new t(e)}function qy(e,t,n,r,i){var a=Uy[n||`float`];if(i){var o=e[t],s=o&&o.length;if(s!==r){for(var c=new a(r),l=0;lh[1]&&(h[1]=m)}return this._rawCount=this._count=s,{start:o,end:s}},e.prototype._initDataFromProvider=function(e,t,n){for(var r=this._provider,i=this._chunks,a=this._dimensions,o=a.length,s=this._rawExtent,c=R(a,function(e){return e.property}),l=0;lg[1]&&(g[1]=h)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=t,this._extent=[]},e.prototype.count=function(){return this._count},e.prototype.get=function(e,t){if(!(t>=0&&t=0&&t=this._rawCount||e<0)return-1;if(!this._indices)return e;var t=this._indices,n=t[e];if(n!=null&&ne)i=a-1;else return a}return-1},e.prototype.getIndices=function(){var e,t=this._indices;if(t){var n=t.constructor,r=this._count;if(n===Array){e=new n(r);for(var i=0;i=l&&g<=u||isNaN(g))&&(o[s++]=p),p++}f=!0}else if(i===2){for(var m=d[r[0]],_=d[r[1]],v=e[r[1]][0],y=e[r[1]][1],h=0;h=l&&g<=u||isNaN(g))&&(b>=v&&b<=y||isNaN(b))&&(o[s++]=p),p++}f=!0}}if(!f)if(i===1)for(var h=0;h=l&&g<=u||isNaN(g))&&(o[s++]=x)}else for(var h=0;he[w][1])&&(S=!1)}S&&(o[s++]=t.getRawIndex(h))}return sg[1]&&(g[1]=h)}}}},e.prototype.lttbDownSample=function(e,t){var n=this.clone([e],!0),r=n._chunks[e],i=this.count(),a=0,o=Math.floor(1/t),s=this.getRawIndex(0),c,l,u,d=new(Gy(this._rawCount))(Math.min((Math.ceil(i/o)+2)*2,i));d[a++]=s;for(var f=1;fc&&(c=l,u=v)}T>0&&To&&(m=o-l);for(var h=0;hp&&(p=g,f=l+h)}var _=this.getRawIndex(u),v=this.getRawIndex(f);ul-p&&(s=l-p,o.length=s);for(var m=0;mu[1]&&(u[1]=h),d[f++]=g}return i._count=f,i._indices=d,i._updateGetRawIdx(),i},e.prototype.each=function(e,t){if(this._count)for(var n=e.length,r=this._chunks,i=0,a=this.count();id&&(d=p))}return o[c]=[u,d]},e.prototype.getRawDataItem=function(e){var t=this.getRawIndex(e);if(this._provider.persistent)return this._provider.getItem(t);for(var n=[],r=this._chunks,i=0;i=0?this._indices[e]:-1},e.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},e.internalField=function(){function e(e,t,n,r){return vy(e[r],this._dimensions[r])}Wy={arrayRows:e,objectRows:function(e,t,n,r){return vy(e[t],this._dimensions[r])},keyedColumns:e,original:function(e,t,n,r){var i=e&&(e.value==null?e:e.value);return vy(i instanceof Array?i[r]:i,this._dimensions[r])},typedArray:function(e,t,n,r){return e[r]}}}(),e}(),Yy=function(){function e(e){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=e}return e.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},e.prototype._setLocalSource=function(e,t){this._sourceList=e,this._upstreamSignList=t,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},e.prototype._getVersionSign=function(){return this._sourceHost.uid+`_`+this._versionSignBase},e.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},e.prototype._createSource=function(){this._setLocalSource([],[]);var e=this._sourceHost,t=this._getUpstreamSourceManagers(),n=!!t.length,r,i;if(Zy(e)){var a=e,o=void 0,s=void 0,c=void 0;if(n){var l=t[0];l.prepareSource(),c=l.getSource(),o=c.data,s=c.sourceFormat,i=[l._getVersionSign()]}else o=a.get(`data`,!0),s=Te(o)?cd:id,i=[];var u=this._getSourceMetaRawOption()||{},d=c&&c.metaRawOption||{},f=W(u.seriesLayoutBy,d.seriesLayoutBy)||null,p=W(u.sourceHeader,d.sourceHeader),m=W(u.dimensions,d.dimensions);r=f!==d.seriesLayoutBy||!!p!=!!d.sourceHeader||m?[Rv(o,{seriesLayoutBy:f,sourceHeader:p,dimensions:m},s)]:[]}else{var h=e;if(n){var g=this._applyTransform(t);r=g.sourceList,i=g.upstreamSignList}else r=[Rv(h.get(`source`,!0),this._getSourceMetaRawOption(),null)],i=[]}this._setLocalSource(r,i)},e.prototype._applyTransform=function(e){var t=this._sourceHost,n=t.get(`transform`,!0),r=t.get(`fromTransformResult`,!0);r!=null&&e.length!==1&&Qy(``);var i,a=[],o=[];return L(e,function(e){e.prepareSource();var t=e.getSource(r||0);r!=null&&!t&&Qy(``),a.push(t),o.push(e._getVersionSign())}),n?i=Iy(n,a,{datasetIndex:t.componentIndex}):r!=null&&(i=[Bv(a[0])]),{sourceList:i,upstreamSignList:o}},e.prototype._isDirty=function(){if(this._dirty)return!0;for(var e=this._getUpstreamSourceManagers(),t=0;t1||n>0&&!e.noHeader;return L(e.blocks,function(e){var n=sb(e);n>=t&&(t=n+ +(r&&(!n||ab(e)&&!e.noHeader)))}),t}return 0}function cb(e,t,n,r){var i=t.noHeader,a=db(sb(t)),o=[],s=t.blocks||[];Fe(!s||B(s)),s||=[];var c=e.orderMode;if(t.sortBlocks&&c){s=s.slice();var l={valueAsc:`asc`,valueDesc:`desc`};if(K(l,c)){var u=new Cy(l[c],null);s.sort(function(e,t){return u.evaluate(e.sortParam,t.sortParam)})}else c===`seriesDesc`&&s.reverse()}L(s,function(n,i){var s=t.valueFormatter,c=ob(n)(s?P(P({},e),{valueFormatter:s}):e,n,i>0?a.html:0,r);c!=null&&o.push(c)});var d=e.renderMode===`richText`?o.join(a.richText):fb(r,o.join(``),i?n:a.html);if(i)return d;var f=Pg(t.header,`ordinal`,e.useUTC),p=tb(r,e.renderMode).nameStyle,m=eb(r);return e.renderMode===`richText`?hb(e,f,p)+a.richText+d:fb(r,`
    `+Mt(f)+`
    `+d,n)}function lb(e,t,n,r){var i=e.renderMode,a=t.noName,o=t.noValue,s=!t.markerType,c=t.name,l=e.useUTC,u=t.valueFormatter||e.valueFormatter||function(e){return e=B(e)?e:[e],R(e,function(e,t){return Pg(e,B(p)?p[t]:p,l)})};if(!(a&&o)){var d=s?``:e.markupStyleCreator.makeTooltipMarker(t.markerType,t.markerColor||Q.color.secondary,i),f=a?``:Pg(c,`ordinal`,l),p=t.valueType,m=o?[]:u(t.value,t.rawDataIndex),h=!s||!a,g=!s&&a,_=tb(r,i),v=_.nameStyle,y=_.valueStyle;return i===`richText`?(s?``:d)+(a?``:hb(e,f,v))+(o?``:gb(e,m,h,g,y)):fb(r,(s?``:d)+(a?``:pb(f,!s,v))+(o?``:mb(m,h,g,y)),n)}}function ub(e,t,n,r,i,a){if(e)return ob(e)({useUTC:i,renderMode:n,orderMode:r,markupStyleCreator:t,valueFormatter:e.valueFormatter},e,0,a)}function db(e){return{html:nb[e],richText:rb[e]}}function fb(e,t,n){var r=`
    `,i=`margin: `+n+`px 0 0`,a=eb(e);return`
    `+t+r+`
    `}function pb(e,t,n){var r=t?`margin-left:2px`:``;return``+Mt(e)+``}function mb(e,t,n,r){var i=t?`float:right;margin-left:`+(n?`10px`:`20px`):``;return e=B(e)?e:[e],``+R(e,function(e){return Mt(e)}).join(`  `)+``}function hb(e,t,n){return e.markupStyleCreator.wrapRichTextStyle(t,n)}function gb(e,t,n,r,i){var a=[i],o=r?10:20;return n&&a.push({padding:[0,0,0,o],align:`right`}),e.markupStyleCreator.wrapRichTextStyle(B(t)?t.join(` `):t,a)}function _b(e,t){var n=e.getData().getItemVisual(t,`style`)[e.visualDrawType];return Bg(n)}function vb(e,t){return e.get(`padding`)??(t===`richText`?[8,10]:10)}var yb=function(){function e(){this.richTextStyles={},this._nextStyleNameId=as()}return e.prototype._generateStyleName=function(){return`__EC_aUTo_`+ this._nextStyleNameId++},e.prototype.makeTooltipMarker=function(e,t,n){var r=n===`richText`?this._generateStyleName():null,i=zg({color:t,type:e,renderMode:n,markerId:r});return H(i)?i:(this.richTextStyles[r]=i.style,i.content)},e.prototype.wrapRichTextStyle=function(e,t){var n={};B(t)?L(t,function(e){return P(n,e)}):P(n,t);var r=this._generateStyleName();return this.richTextStyles[r]=n,`{`+r+`|`+e+`}`},e}();function bb(e){var t=e.series,n=e.dataIndex,r=e.multipleSeries,i=t.getData(),a=i.mapDimensionsAll(`defaultedTooltip`),o=a.length,s=t.getRawValue(n),c=B(s),l=_b(t,n),u,d,f,p;if(o>1||c&&!o){var m=xb(s,t,n,a,l);u=m.inlineValues,d=m.inlineValueTypes,f=m.blocks,p=m.inlineValues[0]}else if(o){var h=i.getDimensionInfo(a[0]);p=u=dy(i,n,a[0]),d=h.type}else p=u=c?s[0]:s;var g=Ns(t),_=g&&t.name||``,v=i.getName(n),y=r?_:v;return ib(`section`,{header:_,noHeader:r||!g,sortParam:p,blocks:[ib(`nameValue`,{markerType:`item`,markerColor:l,name:y,noName:!Ie(y),value:u,valueType:d,rawDataIndex:i.getRawIndex(n)})].concat(f||[])})}function xb(e,t,n,r,i){var a=t.getData(),o=ge(e,function(e,t,n){var r=a.getDimensionInfo(n);return e||=r&&r.tooltip!==!1&&r.displayName!=null},!1),s=[],c=[],l=[];r.length?L(r,function(e){u(dy(a,n,e),e)}):L(e,u);function u(e,t){var n=a.getDimensionInfo(t);!n||n.otherDims.tooltip===!1||(o?l.push(ib(`nameValue`,{markerType:`subItem`,markerColor:i,name:n.displayName,value:e,valueType:n.type})):(s.push(e),c.push(n.type)))}return{inlineValues:s,inlineValueTypes:c,blocks:l}}var Sb=Bs();function Cb(e,t){return e.getName(t)||e.getId(t)}var wb=`__universalTransitionEnabled`,Tb=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t._selectedDataIndicesMap={},t}return t.prototype.init=function(e,t,n){this.seriesIndex=this.componentIndex,this.dataTask=hy({count:Ob,reset:kb}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(e,n),(Sb(this).sourceManager=new Yy(this)).prepareSource();var r=this.getInitialData(e,n);jb(r,this),this.dataTask.context.data=r,Sb(this).dataBeforeProcessed=r,Eb(this),this._initSelectedMapFromData(r)},t.prototype.mergeDefaultAndTheme=function(e,t){var n=f_(this),r=n?m_(e):{},i=this.subType;__.hasClass(i)&&(i+=`Series`),N(e,t.getTheme().get(this.subType)),N(e,this.getDefaultOption()),ys(e,`label`,[`show`]),this.fillDataTextStyle(e.data),n&&p_(e,r,n)},t.prototype.mergeOption=function(e,t){e=N(this.option,e,!0),this.fillDataTextStyle(e.data);var n=f_(this);n&&p_(this.option,e,n);var r=Sb(this).sourceManager;r.dirty(),r.prepareSource();var i=this.getInitialData(e,t);jb(i,this),this.dataTask.dirty(),this.dataTask.context.data=i,Sb(this).dataBeforeProcessed=i,Eb(this),this._initSelectedMapFromData(i)},t.prototype.fillDataTextStyle=function(e){if(e&&!Te(e))for(var t=[`show`],n=0;n=0&&u<0)&&(l=v,u=_,d=0),_===u&&(c[d++]=m))}return c.length=d,c},t.prototype.formatTooltip=function(e,t,n){return bb({series:this,dataIndex:e,multipleSeries:t})},t.prototype.isAnimationEnabled=function(){var e=this.ecModel;if(y.node&&!(e&&e.ssr))return!1;var t=this.getShallow(`animation`);return t&&this.getData().count()>this.getShallow(`animationThreshold`)&&(t=!1),!!t},t.prototype.restoreData=function(){this.dataTask.dirty()},t.prototype.getColorFromPalette=function(e,t,n){var r=this.ecModel,i=V_.prototype.getColorFromPalette.call(this,e,t,n);return i||=r.getColorFromPalette(e,t,n),i},t.prototype.coordDimToDataDim=function(e){return this.getRawData().mapDimensionsAll(e)},t.prototype.getProgressive=function(){return this.get(`progressive`)},t.prototype.getProgressiveThreshold=function(){return this.get(`progressiveThreshold`)},t.prototype.select=function(e,t){this._innerSelect(this.getData(t),e)},t.prototype.unselect=function(e,t){var n=this.option.selectedMap;if(n){var r=this.option.selectedMode,i=this.getData(t);if(r===`series`||n===`all`){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var a=0;a=0&&n.push(i)}return n},t.prototype.isSelected=function(e,t){var n=this.option.selectedMap;if(!n)return!1;var r=this.getData(t);return(n===`all`||n[Cb(r,e)])&&!r.getItemModel(e).get([`select`,`disabled`])},t.prototype.isUniversalTransitionEnabled=function(){if(this.__universalTransitionEnabled)return!0;var e=this.option.universalTransition;return e?e===!0?!0:e&&e.enabled:!1},t.prototype._innerSelect=function(e,t){var n,r,i=this.option,a=i.selectedMode,o=t.length;if(!(!a||!o)){if(a===`series`)i.selectedMap=`all`;else if(a===`multiple`){U(i.selectedMap)||(i.selectedMap={});for(var s=i.selectedMap,c=0;c0&&this._innerSelect(e,t)}},t.registerClass=function(e){return __.registerClass(e)},t.protoInitialize=function(){var e=t.prototype;e.type=`series.__base__`,e.seriesIndex=0,e.ignoreStyleOnData=!1,e.hasSymbolVisual=!1,e.defaultSymbol=`circle`,e.visualStyleAccessPath=`itemStyle`,e.visualDrawType=`fill`}(),t}(__);me(Tb,py),me(Tb,V_),Dc(Tb,__);function Eb(e){var t=e.name;Ns(e)||(e.name=Db(e)||t)}function Db(e){var t=e.getRawData(),n=t.mapDimensionsAll(`seriesName`),r=[];return L(n,function(e){var n=t.getDimensionInfo(e);n.displayName&&r.push(n.displayName)}),r.join(` `)}function Ob(e){return e.model.getRawData().count()}function kb(e){var t=e.model;return t.setData(t.getRawData().cloneShallow()),Ab}function Ab(e,t){t.outputData&&e.end>t.outputData.count()&&t.model.getRawData().cloneShallow(t.outputData)}function jb(e,t){L(We(e.CHANGABLE_METHODS,e.DOWNSAMPLE_METHODS),function(n){e.wrapMethod(n,xe(Mb,t))})}function Mb(e,t){var n=Nb(e);return n&&n.setOutputEnd((t||this).count()),t}function Nb(e){var t=(e.ecModel||{}).scheduler,n=t&&t.getPipeline(e.uid);if(n){var r=n.currentTask;if(r){var i=r.agentStubMap;i&&(r=i.get(e.uid))}return r}}var Pb=function(){function e(){this.group=new Y,this.uid=Dh(`viewComponent`)}return e.prototype.init=function(e,t){},e.prototype.render=function(e,t,n,r){},e.prototype.dispose=function(e,t){},e.prototype.updateView=function(e,t,n,r){},e.prototype.updateLayout=function(e,t,n,r){},e.prototype.updateVisual=function(e,t,n,r){},e.prototype.toggleBlurSeries=function(e,t,n){},e.prototype.eachRendered=function(e){var t=this.group;t&&t.traverse(e)},e}();Tc(Pb),Mc(Pb);function Fb(){var e=Bs();return function(t){var n=e(t),r=t.pipelineContext,i=!!n.large,a=!!n.progressiveRender,o=n.large=!!(r&&r.large),s=n.progressiveRender=!!(r&&r.progressiveRender);return(i!==o||a!==s)&&`reset`}}var Ib=Bs(),Lb=Fb(),Rb=function(){function e(){this.group=new Y,this.uid=Dh(`viewChart`),this.renderTask=hy({plan:Vb,reset:Hb}),this.renderTask.context={view:this}}return e.prototype.init=function(e,t){},e.prototype.render=function(e,t,n,r){},e.prototype.highlight=function(e,t,n,r){var i=e.getData(r&&r.dataType);i&&Bb(i,r,`emphasis`)},e.prototype.downplay=function(e,t,n,r){var i=e.getData(r&&r.dataType);i&&Bb(i,r,`normal`)},e.prototype.remove=function(e,t){this.group.removeAll()},e.prototype.dispose=function(e,t){},e.prototype.updateView=function(e,t,n,r){this.render(e,t,n,r)},e.prototype.updateVisual=function(e,t,n,r){this.render(e,t,n,r)},e.prototype.eachRendered=function(e){Rm(this.group,e)},e.markUpdateMethod=function(e,t){Ib(e).updateMethod=t},e.protoInitialize=function(){var t=e.prototype;t.type=`chart`}(),e}();function zb(e,t,n){e&&vf(e)&&(t===`emphasis`?Kd:qd)(e,n)}function Bb(e,t,n){var r=zs(e,t),i=t&&t.highlightKey!=null?bf(t.highlightKey):null;r==null?e.eachItemGraphicEl(function(e){zb(e,n,i)}):L(vs(r),function(t){zb(e.getItemGraphicEl(t),n,i)})}Tc(Rb,[`dispose`]),Mc(Rb);function Vb(e){return Lb(e.model)}function Hb(e){var t=e.model,n=e.ecModel,r=e.api,i=e.payload,a=t.pipelineContext.progressiveRender,o=e.view,s=i&&Ib(i).updateMethod,c=a?`incrementalPrepareRender`:s&&o[s]?s:`render`;return c!==`render`&&o[c](t,n,r,i),Ub[c]}var Ub={incrementalPrepareRender:{progress:function(e,t){t.view.incrementalRender(e,t.model,t.ecModel,t.api,t.payload)}},render:{forceFirstProgress:!0,progress:function(e,t){t.view.render(t.model,t.ecModel,t.api,t.payload)}}},Wb=`\0__throttleOriginMethod`,Gb=`\0__throttleRate`,Kb=`\0__throttleType`;function qb(e,t,n){var r,i=0,a=0,o=null,s,c,l,u;t||=0;function d(){a=new Date().getTime(),o=null,e.apply(c,l||[])}var f=function(){var e=[...arguments];r=new Date().getTime(),c=this,l=e;var f=u||t,p=u||n;u=null,s=r-(p?i:a)-f,clearTimeout(o),p?o=setTimeout(d,f):s>=0?d():o=setTimeout(d,-s),i=r};return f.clear=function(){o&&=(clearTimeout(o),null)},f.debounceNextCall=function(e){u=e},f}function Jb(e,t,n,r){var i=e[t];if(i){var a=i[Wb]||i,o=i[Kb];if(i[Gb]!==n||o!==r){if(n==null||!r)return e[t]=a;i=e[t]=qb(a,n,r===`debounce`),i[Wb]=a,i[Kb]=r,i[Gb]=n}return i}}function Yb(e,t){var n=e[t];n&&n[Wb]&&(n.clear&&n.clear(),e[t]=n[Wb])}var Xb=Bs(),Zb={itemStyle:Nc(Sh,!0),lineStyle:Nc(yh,!0)},Qb={lineStyle:`stroke`,itemStyle:`fill`};function $b(e,t){return e.visualStyleMapper||Zb[t]||(console.warn(`Unknown style type '`+t+`'.`),Zb.itemStyle)}function ex(e,t){return e.visualDrawType||Qb[t]||(console.warn(`Unknown style type '`+t+`'.`),`fill`)}var tx={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var n=e.getData(),r=e.visualStyleAccessPath||`itemStyle`,i=e.getModel(r),a=$b(e,r)(i),o=i.getShallow(`decal`);o&&(n.setVisual(`decal`,o),o.dirty=!0);var s=ex(e,r),c=a[s],l=V(c)?c:null,u=a.fill===`auto`||a.stroke===`auto`;if(!a[s]||l||u){var d=e.getColorFromPalette(e.name,null,t.getSeriesCount());a[s]||(a[s]=d,n.setVisual(`colorFromPalette`,!0)),a.fill=a.fill===`auto`||V(a.fill)?d:a.fill,a.stroke=a.stroke===`auto`||V(a.stroke)?d:a.stroke}if(n.setVisual(`style`,a),n.setVisual(`drawType`,s),!t.isSeriesFiltered(e)&&l)return n.setVisual(`colorFromPalette`,!1),{dataEach:function(t,n){var r=e.getDataParams(n),i=P({},a);i[s]=l(r),t.setItemVisual(n,`style`,i)}}}},nx=new Th,rx={createOnAllSeries:!0,reset:function(e,t){if(!e.ignoreStyleOnData){var n=e.getData(),r=e.visualStyleAccessPath||`itemStyle`,i=$b(e,r),a=n.getVisual(`drawType`);return{dataEach:n.hasItemOption?function(e,t){var n=e.getRawDataItem(t);if(n&&n[r]){nx.option=n[r];var o=i(nx);P(e.ensureUniqueItemVisual(t,`style`),o),nx.option.decal&&(e.setItemVisual(t,`decal`,nx.option.decal),nx.option.decal.dirty=!0),a in o&&e.setItemVisual(t,`colorFromPalette`,!1)}}:null}}}},ix={performRawSeries:!0,overallReset:function(e){var t=G();e.eachSeries(function(e){if(!e.isColorBySeries()){var n=e.type+`-`+e.getColorBy();Xb(e).scope=t.get(n)||t.set(n,{})}}),e.eachSeries(function(e){if(!e.isColorBySeries()){var t=e.getRawData(),n={},r=e.getData(),i=Xb(e).scope,a=ex(e,e.visualStyleAccessPath||`itemStyle`);r.each(function(e){var t=r.getRawIndex(e);n[t]=e}),t.each(function(o){var s=n[o];if(r.getItemVisual(s,`colorFromPalette`)){var c=r.ensureUniqueItemVisual(s,`style`),l=t.getName(o)||o+``,u=t.count();c[a]=e.getColorFromPalette(l,i,u)}})}})}},ax=Math.PI;function ox(e,t){t||={},F(t,{text:`loading`,textColor:Q.color.primary,fontSize:12,fontWeight:`normal`,fontStyle:`normal`,fontFamily:`sans-serif`,maskColor:`rgba(255,255,255,0.8)`,showSpinner:!0,color:Q.color.theme[0],spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Y,r=new Iu({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4});n.add(r);var i=new Vu({style:{text:t.text,fill:t.textColor,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:t.fontFamily},zlevel:t.zlevel,z:10001}),a=new Iu({style:{fill:`none`},textContent:i,textConfig:{position:`right`,distance:10},zlevel:t.zlevel,z:10001});n.add(a);var o;return t.showSpinner&&(o=new Ap({shape:{startAngle:-ax/2,endAngle:-ax/2+.1,r:t.spinnerRadius},style:{stroke:t.color,lineCap:`round`,lineWidth:t.lineWidth},zlevel:t.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:ax*3/2}).start(`circularInOut`),o.animateShape(!0).when(1e3,{startAngle:ax*3/2}).delay(300).start(`circularInOut`),n.add(o)),n.resize=function(){var n=i.getBoundingRect().width,s=t.showSpinner?t.spinnerRadius:0,c=(e.getWidth()-s*2-(t.showSpinner&&n?10:0)-n)/2-(t.showSpinner&&n?0:5+n/2)+(t.showSpinner?0:n/2)+(n?0:s),l=e.getHeight()/2;t.showSpinner&&o.setShape({cx:c,cy:l}),a.setShape({x:c-s,y:l-s,width:s*2,height:s*2}),r.setShape({x:0,y:0,width:e.getWidth(),height:e.getHeight()})},n.resize(),n}var sx=function(){function e(e,t,n,r){this._stageTaskMap=G(),this.ecInstance=e,this.api=t,n=this._dataProcessorHandlers=n.slice(),r=this._visualHandlers=r.slice(),this._allHandlers=n.concat(r)}return e.prototype.restoreData=function(e,t){e.restoreData(t),this._stageTaskMap.each(function(e){var t=e.overallTask;t&&t.dirty()})},e.prototype.getPerformArgs=function(e,t){if(e.__pipeline){var n=this._pipelineMap.get(e.__pipeline.id),r=n.context,i=!t&&n.progressiveEnabled&&(!r||r.progressiveRender)&&e.__idxInPipeline>n.blockIndex?n.step:null,a=r&&r.modDataCount;return{step:i,modBy:a==null?null:Math.ceil(a/i),modDataCount:a}}},e.prototype.getPipeline=function(e){return this._pipelineMap.get(e)},e.prototype.updateStreamModes=function(e,t){var n=this._pipelineMap.get(e.uid);e.pipelineContext=n.context=e.__preparePipelineContext?e.__preparePipelineContext(t,n):gc(e,t,n)},e.prototype.restorePipelines=function(e,t){var n=this,r=n._pipelineMap=G();t.eachSeries(function(t){var i=e.painter.type===`canvas`&&t.getProgressive(),a=t.uid;r.set(a,{id:a,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),n._pipe(t,t.dataTask)})},e.prototype.prepareStageTasks=function(){var e=this._stageTaskMap,t=this.api.getModel(),n=this.api;L(this._allHandlers,function(r){var i=e.get(r.uid)||e.set(r.uid,{});Fe(!(r.reset&&r.overallReset),``),r.reset&&this._createSeriesStageTask(r,i,t,n),r.overallReset&&this._createOverallStageTask(r,i,t,n)},this)},e.prototype.prepareView=function(e,t,n,r){var i=e.renderTask,a=i.context;a.model=t,a.ecModel=n,a.api=r,i.__block=!e.incrementalPrepareRender,this._pipe(t,i)},e.prototype.performDataProcessorTasks=function(e,t){this._performStageTasks(this._dataProcessorHandlers,e,t,{block:!0})},e.prototype.performVisualTasks=function(e,t,n){this._performStageTasks(this._visualHandlers,e,t,n)},e.prototype._performStageTasks=function(e,t,n,r){r||={};var i=!1,a=this;L(e,function(e,s){if(!(r.visualType&&r.visualType!==e.visualType)){var c=a._stageTaskMap.get(e.uid),l=c.seriesTaskMap,u=c.overallTask;if(u){var d,f=u.agentStubMap;f.each(function(e){o(r,e)&&(e.dirty(),d=!0)}),d&&u.dirty(),a.updatePayload(u,n);var p=a.getPerformArgs(u,r.block);f.each(function(e){e.perform(p)}),u.perform(p)&&(i=!0)}else l&&l.each(function(s,c){o(r,s)&&s.dirty();var l=a.getPerformArgs(s,r.block);l.skip=!e.performRawSeries&&t.isSeriesFiltered(s.context.model),a.updatePayload(s,n),s.perform(l)&&(i=!0)})}});function o(e,t){return e.setDirty&&(!e.dirtyMap||e.dirtyMap.get(t.__pipeline.id))}this.unfinished=i||this.unfinished},e.prototype.performSeriesTasks=function(e){var t;e.eachSeries(function(e){t=e.dataTask.perform()||t}),this.unfinished=t||this.unfinished},e.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)})},e.prototype.updatePayload=function(e,t){t!==`remain`&&(e.context.payload=t)},e.prototype._createSeriesStageTask=function(e,t,n,r){var i=this,a=t.seriesTaskMap,o=t.seriesTaskMap=G(),s=e.seriesType,c=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(l):s?n.eachRawSeriesByType(s,l):c&&c(n,r).each(l);function l(t){var s=t.uid,c=o.set(s,a&&a.get(s)||hy({plan:fx,reset:px,count:gx}));c.context={model:t,ecModel:n,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:i},i._pipe(t,c)}},e.prototype._createOverallStageTask=function(e,t,n,r){var i=this,a=t.overallTask=t.overallTask||hy({reset:cx});a.context={ecModel:n,api:r,overallReset:e.overallReset,scheduler:i};var o=a.agentStubMap,s=a.agentStubMap=G(),c=e.seriesType,l=e.getTargetSeries,u=e.dirtyOnOverallProgress,d=!1;Fe(!e.createOnAllSeries,``),c?n.eachRawSeriesByType(c,f):l?l(n,r).each(f):L(n.getSeries(),f);function f(e){var t=e.uid,n=s.set(t,o&&o.get(t)||(d=!0,hy({reset:lx,onDirty:dx})));n.context={model:e,dirtyOnOverallProgress:u},n.agent=a,n.__block=u,i._pipe(e,n)}d&&a.dirty()},e.prototype._pipe=function(e,t){var n=e.uid,r=this._pipelineMap.get(n);!r.head&&(r.head=t),r.tail&&r.tail.pipe(t),r.tail=t,t.__idxInPipeline=r.count++,t.__pipeline=r},e.wrapStageHandler=function(e,t){return V(e)&&(e={overallReset:e,seriesType:_x(e)}),e.uid=Dh(`stageHandler`),t&&(e.visualType=t),e},e}();function cx(e){e.overallReset(e.ecModel,e.api,e.payload)}function lx(e){return e.dirtyOnOverallProgress&&ux}function ux(){this.agent.dirty(),this.getDownstream().dirty()}function dx(){this.agent&&this.agent.dirty()}function fx(e){return e.plan?e.plan(e.model,e.ecModel,e.api,e.payload):null}function px(e){e.useClearVisual&&e.data.clearAllVisual();var t=e.resetDefines=vs(e.reset(e.model,e.ecModel,e.api,e.payload));return t.length>1?R(t,function(e,t){return hx(t)}):mx}var mx=hx(0);function hx(e){return function(t,n){var r=n.data,i=n.resetDefines[e];if(i&&i.dataEach)for(var a=t.start;a0&&u===i.length-l.length){var d=i.slice(0,u);d!==`data`&&(t.mainType=d,t[l.toLowerCase()]=e,s=!0)}}o.hasOwnProperty(i)&&(n[i]=e,s=!0),s||(r[i]=e)})}return{cptQuery:t,dataQuery:n,otherQuery:r}},e.prototype.filter=function(e,t){var n=this.eventInfo;if(!n)return!0;var r=n.targetEl,i=n.packedEvent,a=n.model,o=n.view;if(!a||!o)return!0;var s=t.cptQuery,c=t.dataQuery;return l(s,a,`mainType`)&&l(s,a,`subType`)&&l(s,a,`index`,`componentIndex`)&&l(s,a,`name`)&&l(s,a,`id`)&&l(c,i,`name`)&&l(c,i,`dataIndex`)&&l(c,i,`dataType`)&&(!o.filterForExposedEvent||o.filterForExposedEvent(e,t.otherQuery,r,i));function l(e,t,n,r){return e[n]==null||t[r||n]===e[n]}},e.prototype.afterTrigger=function(){this.eventInfo=null},e}(),Ox=[`symbol`,`symbolSize`,`symbolRotate`,`symbolOffset`],kx=Ox.concat([`symbolKeepAspect`]),Ax={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var n=e.getData();if(e.legendIcon&&n.setVisual(`legendIcon`,e.legendIcon),!e.hasSymbolVisual)return;for(var r={},i={},a=!1,o=0;o=0&&lS(c)?c:.5,e.createRadialGradient(o,s,0,o,s,c)}function fS(e,t,n){for(var r=t.type===`radial`?dS(e,t,n):uS(e,t,n),i=t.colorStops,a=0;a0)?null:e===`dashed`?[4*t,2*t]:e===`dotted`?[t]:Ce(e)?[e]:B(e)?e:null}function _S(e){var t=e.style,n=t.lineDash&&t.lineWidth>0&&gS(t.lineDash,t.lineWidth),r=t.lineDashOffset;if(n){var i=t.strokeNoScale&&e.getLineScale?e.getLineScale():1;i&&i!==1&&(n=R(n,function(e){return e/i}),r/=i)}return[n,r]}var vS=new Zl(!0);function yS(e){var t=e.stroke;return!(t==null||t===`none`||!(e.lineWidth>0))}function bS(e){return typeof e==`string`&&e!==`none`}function xS(e){var t=e.fill;return t!=null&&t!==`none`}function SS(e,t){if(t.fillOpacity!=null&&t.fillOpacity!==1){var n=e.globalAlpha;e.globalAlpha=t.fillOpacity*t.opacity,e.fill(),e.globalAlpha=n}else e.fill()}function CS(e,t){if(t.strokeOpacity!=null&&t.strokeOpacity!==1){var n=e.globalAlpha;e.globalAlpha=t.strokeOpacity*t.opacity,e.stroke(),e.globalAlpha=n}else e.stroke()}function wS(e,t,n){var r=Rc(t.image,t.__image,n);if(Bc(r)){var i=e.createPattern(r,t.repeat||`repeat`);if(typeof DOMMatrix==`function`&&i&&i.setTransform){var a=new DOMMatrix;a.translateSelf(t.x||0,t.y||0),a.rotateSelf(0,0,(t.rotation||0)*Je),a.scaleSelf(t.scaleX||1,t.scaleY||1),i.setTransform(a)}return i}}function TS(e,t,n,r,i){var a,o=yS(n),s=xS(n),c=n.strokePercent,l=c<1,u=!t.path;(!t.silent||l)&&u&&t.createPathProxy();var d=t.path||vS,f=t.__dirty;if(!r){var p=n.fill,m=n.stroke,h=s&&!!p.colorStops,g=o&&!!m.colorStops,_=s&&!!p.image,v=o&&!!m.image,y=void 0,b=void 0,x=void 0,S=void 0,C=void 0;(h||g)&&(C=t.getBoundingRect()),h&&(y=f?fS(e,p,C):t.__canvasFillGradient,t.__canvasFillGradient=y),g&&(b=f?fS(e,m,C):t.__canvasStrokeGradient,t.__canvasStrokeGradient=b),_&&(x=f||!t.__canvasFillPattern?wS(e,p,t):t.__canvasFillPattern,t.__canvasFillPattern=x),v&&(S=f||!t.__canvasStrokePattern?wS(e,m,t):t.__canvasStrokePattern,t.__canvasStrokePattern=S),h?e.fillStyle=y:_&&(x?e.fillStyle=x:s=!1),g?e.strokeStyle=b:v&&(S?e.strokeStyle=S:o=!1)}var w=t.getGlobalScale();d.setScale(w[0],w[1],t.segmentIgnoreThreshold);var T,E;e.setLineDash&&n.lineDash&&(a=_S(t),T=a[0],E=a[1]);var D=!0;(u||f&4)&&(d.setDPR(e.dpr),l?d.setContext(null):(d.setContext(e),D=!1),d.reset(),t.buildPath(d,t.shape,r),d.toStatic(),t.pathUpdated()),D&&d.rebuildPath(e,l?c:1),T&&(e.setLineDash(T),e.lineDashOffset=E),r?(i.batchFill=s,i.batchStroke=o):n.strokeFirst?(o&&CS(e,n),s&&SS(e,n)):(s&&SS(e,n),o&&CS(e,n)),T&&e.setLineDash([])}function ES(e,t,n){var r=t.__image=Rc(n.image,t.__image,t,t.onload);if(!(!r||!Bc(r))){var i=n.x||0,a=n.y||0,o=t.getWidth(),s=t.getHeight(),c=r.width/r.height;if(o==null&&s!=null?o=s*c:s==null&&o!=null?s=o/c:o==null&&s==null&&(o=r.width,s=r.height),n.sWidth&&n.sHeight){var l=n.sx||0,u=n.sy||0;e.drawImage(r,l,u,n.sWidth,n.sHeight,i,a,o,s)}else if(n.sx&&n.sy){var l=n.sx,u=n.sy,d=o-l,f=s-u;e.drawImage(r,l,u,d,f,i,a,o,s)}else e.drawImage(r,i,a,o,s)}}function DS(e,t,n){var r,i=n.text;if(i!=null&&(i+=``),i){e.font=n.font||`12px sans-serif`,e.textAlign=n.textAlign,e.textBaseline=n.textBaseline;var a=void 0,o=void 0;e.setLineDash&&n.lineDash&&(r=_S(t),a=r[0],o=r[1]),a&&(e.setLineDash(a),e.lineDashOffset=o),n.strokeFirst?(yS(n)&&e.strokeText(i,n.x,n.y),xS(n)&&e.fillText(i,n.x,n.y)):(xS(n)&&e.fillText(i,n.x,n.y),yS(n)&&e.strokeText(i,n.x,n.y)),a&&e.setLineDash([])}}var OS=[`shadowBlur`,`shadowOffsetX`,`shadowOffsetY`],kS=[[`lineCap`,`butt`],[`lineJoin`,`miter`],[`miterLimit`,10]];function AS(e,t,n,r,i){var a=!1;if(!r&&(n||={},t===n))return!1;if(r||t.opacity!==n.opacity){VS(e,i),a=!0;var o=Math.max(Math.min(t.opacity,1),0);e.globalAlpha=isNaN(o)?ul.opacity:o}(r||t.blend!==n.blend)&&(a||=(VS(e,i),!0),e.globalCompositeOperation=t.blend||ul.blend);for(var s=0;s0&&e.unfinished);e.unfinished||this._zr.flush()}}},t.prototype.getDom=function(){return this._dom},t.prototype.getId=function(){return this.id},t.prototype.getZr=function(){return this._zr},t.prototype.isSSR=function(){return this._ssr},t.prototype.setOption=function(e,t,n){if(!this[xC]){if(this._disposed){this.id;return}var r,i,a;if(U(t)&&(n=t.lazyUpdate,r=t.silent,i=t.replaceMerge,a=t.transition,t=t.notMerge),this[xC]=!0,$C(this),!this._model||t){var o=new iv(this._api),s=this._theme,c=this._model=new Z_;c.scheduler=this._scheduler,c.ssr=this._ssr,c.init(null,null,null,s,this._locale,o)}this._model.setOption(e,{replaceMerge:i},sw);var l={seriesTransition:a,optionChanged:!0};if(n)this[CC]={silent:r,updateParams:l},this[xC]=!1,this.getZr().wakeUp();else{try{FC(this),RC.update.call(this,null,l)}catch(e){throw this[CC]=null,this[xC]=!1,e}this._ssr||this._zr.flush(),this[CC]=null,this[xC]=!1,HC.call(this,r),UC.call(this,r)}}},t.prototype.setTheme=function(e,t){if(!this[xC]){if(this._disposed){this.id;return}var n=this._model;if(n){var r=t&&t.silent,i=null;this[CC]&&(r??=this[CC].silent,i=this[CC].updateParams,this[CC]=null),this[xC]=!0,$C(this);try{this._updateTheme(e),n.setTheme(this._theme),FC(this),RC.update.call(this,{type:`setTheme`},i)}catch(e){throw this[xC]=!1,e}this[xC]=!1,HC.call(this,r),UC.call(this,r)}}},t.prototype._updateTheme=function(e){H(e)&&(e=lw[e]),e&&(e=M(e),e&&Mv(e,!0),this._theme=e)},t.prototype.getModel=function(){return this._model},t.prototype.getOption=function(){return this._model&&this._model.getOption()},t.prototype.getWidth=function(){return this._zr.getWidth()},t.prototype.getHeight=function(){return this._zr.getHeight()},t.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||y.hasGlobalWindow&&window.devicePixelRatio||1},t.prototype.getRenderedCanvas=function(e){return this.renderToCanvas(e)},t.prototype.renderToCanvas=function(e){return e||={},this._zr.painter.getRenderedCanvas({backgroundColor:e.backgroundColor||this._model.get(`backgroundColor`),pixelRatio:e.pixelRatio||this.getDevicePixelRatio()})},t.prototype.renderToSVGString=function(e){return e||={},this._zr.painter.renderToString({useViewBox:e.useViewBox})},t.prototype.getSvgDataURL=function(){var e=this._zr;return L(e.storage.getDisplayList(),function(e){e.stopAnimation(null,!0)}),e.painter.toDataURL()},t.prototype.getDataURL=function(e){if(this._disposed){this.id;return}e||={};var t=e.excludeComponents,n=this._model,r=[],i=this;L(t,function(e){n.eachComponent({mainType:e},function(e){var t=i._componentsMap[e.__viewId];t.group.ignore||(r.push(t),t.group.ignore=!0)})});var a=this._zr.painter.getType()===`svg`?this.getSvgDataURL():this.renderToCanvas(e).toDataURL(`image/`+(e&&e.type||`png`));return L(r,function(e){e.group.ignore=!1}),a},t.prototype.getConnectedDataURL=function(e){if(this._disposed){this.id;return}var t=e.type===`svg`,n=this.group,r=Math.min,i=Math.max,a=1/0;if(fw[n]){var o=a,s=a,c=-a,l=-a,u=[],d=e&&e.pixelRatio||this.getDevicePixelRatio();L(dw,function(a,d){if(a.group===n){var f=t?a.getZr().painter.getSvgDom().innerHTML:a.renderToCanvas(M(e)),p=a.getDom().getBoundingClientRect();o=r(p.left,o),s=r(p.top,s),c=i(p.right,c),l=i(p.bottom,l),u.push({dom:f,left:p.left,top:p.top})}}),o*=d,s*=d,c*=d,l*=d;var f=c-o,p=l-s,m=D.createCanvas(),h=go(m,{renderer:t?`svg`:`canvas`});if(h.resize({width:f,height:p}),t){var g=``;return L(u,function(e){var t=e.left-o,n=e.top-s;g+=``+e.dom+``}),h.painter.getSvgRoot().innerHTML=g,e.connectedBackgroundColor&&h.painter.setBackgroundColor(e.connectedBackgroundColor),h.refreshImmediately(),h.painter.toDataURL()}else return e.connectedBackgroundColor&&h.add(new Iu({shape:{x:0,y:0,width:f,height:p},style:{fill:e.connectedBackgroundColor}})),L(u,function(e){var t=new Ou({style:{x:e.left*d-o,y:e.top*d-s,image:e.dom}});h.add(t)}),h.refreshImmediately(),m.toDataURL(`image/`+(e&&e.type||`png`))}else return this.getDataURL(e)},t.prototype.convertToPixel=function(e,t,n){return zC(this,`convertToPixel`,e,t,n)},t.prototype.convertToLayout=function(e,t,n){return zC(this,`convertToLayout`,e,t,n)},t.prototype.convertFromPixel=function(e,t,n){return zC(this,`convertFromPixel`,e,t,n)},t.prototype.containPixel=function(e,t){if(this._disposed){this.id;return}var n=this._model,r;return L(Hs(n,e),function(e,n){n.indexOf(`Models`)>=0&&L(e,function(e){var i=e.coordinateSystem;if(i&&i.containPoint)r||=!!i.containPoint(t);else if(n===`seriesModels`){var a=this._chartsMap[e.__viewId];a&&a.containPoint&&(r||=a.containPoint(t,e))}},this)},this),!!r},t.prototype.getVisual=function(e,t){var n=this._model,r=Hs(n,e,{defaultMainType:`series`}),i=r.seriesModel.getData(),a=r.hasOwnProperty(`dataIndexInside`)?r.dataIndexInside:r.hasOwnProperty(`dataIndex`)?i.indexOfRawIndex(r.dataIndex):null;return a==null?Nx(i,t):Mx(i,a,t)},t.prototype.getViewOfComponentModel=function(e){return this._componentsMap[e.__viewId]},t.prototype.getViewOfSeriesModel=function(e){return this._chartsMap[e.__viewId]},t.prototype._initEvents=function(){var e=this;L(nw,function(t){var n=function(n){var r=e.getModel(),i=n.target,a;if(t===`globalout`?a={}:i&&Rx(i,function(e){var t=Z(e);if(t&&t.dataIndex!=null){var n=t.dataModel||r.getSeriesByIndex(t.seriesIndex);return a=n&&n.getDataParams(t.dataIndex,t.dataType,i)||{},!0}else if(t.eventData)return a=P({},t.eventData),!0},!0),a){var o=a.componentType,s=a.componentIndex;(o===`markLine`||o===`markPoint`||o===`markArea`)&&(o=`series`,s=a.seriesIndex);var c=o&&s!=null&&r.getComponent(o,s),l=c&&e[c.mainType===`series`?`_chartsMap`:`_componentsMap`][c.__viewId];a.event=n,a.type=t,e._$eventProcessor.eventInfo={targetEl:i,packedEvent:a,model:c,view:l},e.trigger(t,a)}};n.zrEventfulCallAtLast=!0,e._zr.on(t,n,e)});var t=this._messageCenter;L(aw,function(n,r){t.on(r,function(t){e.trigger(r,t)})}),Lx(t,this,this._api)},t.prototype.isDisposed=function(){return this._disposed},t.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},t.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0,this.getDom()&&Js(this.getDom(),mw,``);var e=this,t=e._api,n=e._model;L(e._componentsViews,function(e){e.dispose(n,t)}),L(e._chartsViews,function(e){e.dispose(n,t)}),e._zr.dispose(),e._dom=e._model=e._chartsMap=e._componentsMap=e._chartsViews=e._componentsViews=e._scheduler=e._api=e._zr=e._throttledZrFlush=e._theme=e._coordSysMgr=e._messageCenter=null,delete dw[e.id]},t.prototype.resize=function(e){if(!this[xC]){if(this._disposed){this.id;return}this._zr.resize(e);var t=this._model;if(this._loadingFX&&this._loadingFX.resize(),t){var n=t.resetOption(`media`),r=e&&e.silent;this[CC]&&(r??=this[CC].silent,n=!0,this[CC]=null),this[xC]=!0,$C(this);try{n&&FC(this),RC.update.call(this,{type:`resize`,animation:P({duration:0},e&&e.animation)})}catch(e){throw this[xC]=!1,e}this[xC]=!1,HC.call(this,r),UC.call(this,r)}}},t.prototype.showLoading=function(e,t){if(this._disposed){this.id;return}if(U(e)&&(t=e,e=``),e||=`default`,this.hideLoading(),uw[e]){var n=uw[e](this._api,t),r=this._zr;this._loadingFX=n,r.add(n)}},t.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},t.prototype.makeActionFromEvent=function(e){var t=P({},e);return t.type=iw[e.type],t},t.prototype.dispatchAction=function(e,t){if(this._disposed){this.id;return}if(U(t)||(t={silent:!!t}),rw[e.type]&&this._model){if(this[xC]){this._pendingActions.push(e);return}var n=t.silent;VC.call(this,e,n);var r=t.flush;r?this._zr.flush():r!==!1&&y.browser.weChat&&this._throttledZrFlush(),HC.call(this,n),UC.call(this,n)}},t.prototype.updateLabelLayout=function(){zx.trigger(`series:layoutlabels`,this._model,this._api,{updatedSeries:[]})},t.prototype.appendData=function(e){if(this._disposed){this.id;return}var t=e.seriesIndex;this.getModel().getSeriesByIndex(t).appendData(e),this._scheduler.unfinished=!0,this.getZr().wakeUp()},t.internalField=function(){FC=function(e){qx(e._model);var t=e._scheduler;t.restorePipelines(e._zr,e._model),t.prepareStageTasks(),IC(e,!0),IC(e,!1),t.plan()},IC=function(e,t){for(var n=e._model,r=e._scheduler,i=t?e._componentsViews:e._chartsViews,a=t?e._componentsMap:e._chartsMap,o=e._zr,s=e._api,c=0;cW(t.get(`hoverLayerThreshold`),E_.hoverLayerThreshold)&&!y.node&&!y.worker;(e._usingTHL||a)&&(t.eachSeries(function(t){if(!t.preventUsingHoverLayer){var n=e._chartsMap[t.__viewId];n.__alive&&n.eachRendered(function(e){var t=e.states.emphasis;t&&t.hoverLayer!==2&&(t.hoverLayer=+!!a)})}}),e._usingTHL=a)}}function a(e,t){var n=e.get(`blendMode`)||null;t.eachRendered(function(e){e.isGroup||(e.style.blend=n)})}function o(e,t){if(!e.preventAutoZ){var n=Um(e);t.eachRendered(function(e){return Gm(e,n.z,n.zlevel),!0})}}function s(e,t){t.eachRendered(function(e){if(!Zp(e)){var t=e.getTextContent(),n=e.getTextGuideLine();e.stateTransition&&=null,t&&t.stateTransition&&(t.stateTransition=null),n&&n.stateTransition&&(n.stateTransition=null),e.hasState()?(e.prevStates=e.currentStates,e.clearStates()):e.prevStates&&=null}})}function c(e,t){var n=e.getModel(`stateAnimation`),i=e.isAnimationEnabled(),a=n.get(`duration`),o=a>0?{duration:a,delay:n.get(`delay`),easing:n.get(`easing`)}:null;t.eachRendered(function(e){if(e.states&&e.states.emphasis){if(Zp(e))return;if(e instanceof Su&&Cf(e),e.__dirty){var t=e.prevStates;t&&e.useStates(t)}if(i){e.stateTransition=o;var n=e.getTextContent(),a=e.getTextGuideLine();n&&(n.stateTransition=o),a&&(a.stateTransition=o)}e.__dirty&&r(e)}})}YC=function(e){return new(function(t){_(n,t);function n(){return t!==null&&t.apply(this,arguments)||this}return n.prototype.getCoordinateSystems=function(){return e._coordSysMgr.getCoordinateSystems()},n.prototype.getComponentByElement=function(t){for(;t;){var n=t.__ecComponentInfo;if(n!=null)return e._model.getComponent(n.mainType,n.index);t=t.parent}},n.prototype.enterEmphasis=function(t,n){Kd(t,n),ZC(e)},n.prototype.leaveEmphasis=function(t,n){qd(t,n),ZC(e)},n.prototype.enterBlur=function(t){Jd(t),ZC(e)},n.prototype.leaveBlur=function(t){Yd(t),ZC(e)},n.prototype.enterSelect=function(t){Xd(t),ZC(e)},n.prototype.leaveSelect=function(t){Zd(t),ZC(e)},n.prototype.getModel=function(){return e.getModel()},n.prototype.getViewOfComponentModel=function(t){return e.getViewOfComponentModel(t)},n.prototype.getViewOfSeriesModel=function(t){return e.getViewOfSeriesModel(t)},n.prototype.getECUpdateCycleVersion=function(){return e[SC]},n.prototype.usingTHL=function(){return e._usingTHL},n}(pd))(e)},XC=function(e){function t(e,t){for(var n=0;n=0)){Dw.push(n);var o=sx.wrapStageHandler(n,i);o.__prio=t,o.__raw=n,e.push(o)}}function kw(e,t){uw[e]=t}function Aw(e,t,n){var r=Hx(`registerMap`);r&&r(e,t,n)}var jw=Fy;Ew(fC,tx),Ew(hC,rx),Ew(hC,ix),Ew(fC,Ax),Ew(hC,jx),Ew(yC,tC),vw(Mv),yw(aC,Nv),kw(`default`,ox),Cw({type:xd,event:xd,update:xd},qe),Cw({type:Sd,event:Sd,update:Sd},qe),Cw({type:Cd,event:Ed,update:Cd,action:qe,refineEvent:Mw,publishNonRefinedEvent:!0}),Cw({type:wd,event:Ed,update:wd,action:qe,refineEvent:Mw,publishNonRefinedEvent:!0}),Cw({type:Td,event:Ed,update:Td,action:qe,refineEvent:Mw,publishNonRefinedEvent:!0});function Mw(e,t,n,r){return{eventContent:{selected:lf(n),isFromClick:t.isFromClick||!1}}}_w(`default`,{}),_w(`dark`,Ex);var Nw=[],Pw={registerPreprocessor:vw,registerProcessor:yw,registerPostInit:bw,registerPostUpdate:xw,registerUpdateLifecycle:Sw,registerAction:Cw,registerCoordinateSystem:ww,registerLayout:Tw,registerVisual:Ew,registerTransform:jw,registerLoading:kw,registerMap:Aw,registerImpl:Vx,PRIORITY:bC,ComponentModel:__,ComponentView:Pb,SeriesModel:Tb,ChartView:Rb,registerComponentModel:function(e){__.registerClass(e)},registerComponentView:function(e){Pb.registerClass(e)},registerSeriesModel:function(e){Tb.registerClass(e)},registerChartView:function(e){Rb.registerClass(e)},registerCustomSeries:function(e,t){Wx(e,t)},registerSubTypeDefaulter:function(e,t){__.registerSubTypeDefaulter(e,t)},registerPainter:function(e,t){_o(e,t)}};function Fw(e){if(B(e)){L(e,function(e){Fw(e)});return}I(Nw,e)>=0||(Nw.push(e),V(e)&&(e={install:e}),e.install(Pw))}function Iw(e){return e==null?0:e.length||1}function Lw(e){return e}var Rw=function(){function e(e,t,n,r,i,a){this._old=e,this._new=t,this._oldKeyGetter=n||Lw,this._newKeyGetter=r||Lw,this.context=i,this._diffModeMultiple=a===`multiple`}return e.prototype.add=function(e){return this._add=e,this},e.prototype.update=function(e){return this._update=e,this},e.prototype.updateManyToOne=function(e){return this._updateManyToOne=e,this},e.prototype.updateOneToMany=function(e){return this._updateOneToMany=e,this},e.prototype.updateManyToMany=function(e){return this._updateManyToMany=e,this},e.prototype.remove=function(e){return this._remove=e,this},e.prototype.execute=function(){this[this._diffModeMultiple?`_executeMultiple`:`_executeOneToOne`]()},e.prototype._executeOneToOne=function(){var e=this._old,t=this._new,n={},r=Array(e.length),i=Array(t.length);this._initIndexMap(e,null,r,`_oldKeyGetter`),this._initIndexMap(t,n,i,`_newKeyGetter`);for(var a=0;a1){var l=s.shift();s.length===1&&(n[o]=s[0]),this._update&&this._update(l,a)}else c===1?(n[o]=null,this._update&&this._update(s,a)):this._remove&&this._remove(a)}this._performRestAdd(i,n)},e.prototype._executeMultiple=function(){var e=this._old,t=this._new,n={},r={},i=[],a=[];this._initIndexMap(e,n,i,`_oldKeyGetter`),this._initIndexMap(t,r,a,`_newKeyGetter`);for(var o=0;o1&&d===1)this._updateManyToOne&&this._updateManyToOne(l,c),r[s]=null;else if(u===1&&d>1)this._updateOneToMany&&this._updateOneToMany(l,c),r[s]=null;else if(u===1&&d===1)this._update&&this._update(l,c),r[s]=null;else if(u>1&&d>1)this._updateManyToMany&&this._updateManyToMany(l,c),r[s]=null;else if(u>1)for(var f=0;f1)for(var o=0;o30}var Qw=U,$w=R,eT=typeof Int32Array>`u`?Array:Int32Array,tT=`e\0\0`,nT=-1,rT=[`hasItemOption`,`_nameList`,`_idList`,`_invertedIndicesMap`,`_dimSummary`,`userOutput`,`_rawData`,`_dimValueGetter`,`_nameDimIdx`,`_idDimIdx`,`_nameRepeatCount`],iT=[`_approximateExtent`],aT,oT,sT,cT,lT,uT,dT,fT=function(){function e(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 n,r=!1;Jw(e)?(n=e.dimensions,this._dimOmitted=e.isDimensionOmitted(),this._schema=e):(r=!0,n=e),n||=[`x`,`y`];for(var i={},a=[],o={},s=!1,c={},l=0;l=t)){var n=this._store.getProvider();this._updateOrdinalMeta();var r=this._nameList,i=this._idList;if(n.getSource().sourceFormat===`original`&&!n.pure)for(var a=[],o=e;o0},e.prototype.ensureUniqueItemVisual=function(e,t){var n=this._itemVisuals,r=n[e];r||=n[e]={};var i=r[t];return i??(i=this.getVisual(t),B(i)?i=i.slice():Qw(i)&&(i=P({},i)),r[t]=i),i},e.prototype.setItemVisual=function(e,t,n){var r=this._itemVisuals[e]||{};this._itemVisuals[e]=r,Qw(t)?P(r,t):r[t]=n},e.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},e.prototype.setLayout=function(e,t){Qw(e)?P(this._layout,e):this._layout[e]=t},e.prototype.getLayout=function(e){return this._layout[e]},e.prototype.getItemLayout=function(e){return this._itemLayouts[e]},e.prototype.setItemLayout=function(e,t,n){this._itemLayouts[e]=n?P(this._itemLayouts[e]||{},t):t},e.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},e.prototype.setItemGraphicEl=function(e,t){td(this.hostModel&&this.hostModel.seriesIndex,this.dataType,e,t),this._graphicEls[e]=t},e.prototype.getItemGraphicEl=function(e){return this._graphicEls[e]},e.prototype.eachItemGraphicEl=function(e,t){L(this._graphicEls,function(n,r){n&&e&&e.call(t,n,r)})},e.prototype.cloneShallow=function(t){return t||=new e(this._schema?this._schema:$w(this.dimensions,this._getDimInfo,this),this.hostModel),lT(t,this),t._store=this._store,t},e.prototype.wrapMethod=function(e,t){var n=this[e];V(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(e),this[e]=function(){var e=n.apply(this,arguments);return t.apply(this,[e].concat(Ne(arguments)))})},e.internalField=function(){aT=function(e){var t=e._invertedIndicesMap;L(t,function(n,r){var i=e._dimInfos[r],a=i.ordinalMeta,o=e._store;if(a){n=t[r]=new eT(a.categories.length);for(var s=0;s1&&(s+=`__ec__`+l),r[t]=s}}}(),e}();function pT(e,t){Lv(e)||(e=zv(e)),t||={};var n=t.coordDimensions||[],r=t.dimensionsDefine||e.dimensionsDefine||[],i=G(),a=[],o=mT(e,n,r,t.dimensionsCount),s=t.canOmitUnusedDimensions&&Zw(o),c=r===e.dimensionsDefine,l=c?Xw(e):Yw(r),u=t.encodeDefine;!u&&t.encodeDefaulter&&(u=t.encodeDefaulter(e,o));for(var d=G(u),f=new Vy(o),p=0;p0&&(e.name+=t-1)}),new qw({source:e,dimensions:a,fullDimensionCount:o,dimensionOmitted:s})}function mT(e,t,n,r){var i=Math.max(e.dimensionsDetectedCount||1,t.length,n.length,r||0);return L(t,function(e){var t;U(e)&&(t=e.dimsDef)&&(i=Math.max(i,t.length))}),i}function hT(e,t,n){if(n||t.hasKey(e)){for(var r=0;t.hasKey(e+r);)r++;e+=r}return t.set(e,!0),e}var gT=function(){function e(e){this.coordSysDims=[],this.axisMap=G(),this.categoryAxisMap=G(),this.coordSysName=e}return e}();function _T(e){var t=e.get(`coordinateSystem`),n=new gT(t),r=vT[t];if(r)return r(e,n,n.axisMap,n.categoryAxisMap),n}var vT={cartesian2d:function(e,t,n,r){var i=e.getReferringComponents(`xAxis`,Ws).models[0],a=e.getReferringComponents(`yAxis`,Ws).models[0];t.coordSysDims=[`x`,`y`],n.set(`x`,i),n.set(`y`,a),yT(i)&&(r.set(`x`,i),t.firstCategoryDimIndex=0),yT(a)&&(r.set(`y`,a),t.firstCategoryDimIndex??=1)},singleAxis:function(e,t,n,r){var i=e.getReferringComponents(`singleAxis`,Ws).models[0];t.coordSysDims=[`single`],n.set(`single`,i),yT(i)&&(r.set(`single`,i),t.firstCategoryDimIndex=0)},polar:function(e,t,n,r){var i=e.getReferringComponents(`polar`,Ws).models[0],a=i.findAxisModel(`radiusAxis`),o=i.findAxisModel(`angleAxis`);t.coordSysDims=[`radius`,`angle`],n.set(`radius`,a),n.set(`angle`,o),yT(a)&&(r.set(`radius`,a),t.firstCategoryDimIndex=0),yT(o)&&(r.set(`angle`,o),t.firstCategoryDimIndex??=1)},geo:function(e,t,n,r){t.coordSysDims=[`lng`,`lat`]},parallel:function(e,t,n,r){var i=e.ecModel,a=i.getComponent(`parallel`,e.get(`parallelIndex`)),o=t.coordSysDims=a.dimensions.slice();L(a.parallelAxisIndex,function(e,a){var s=i.getComponent(`parallelAxis`,e),c=o[a];n.set(c,s),yT(s)&&(r.set(c,s),t.firstCategoryDimIndex??=a)})},matrix:function(e,t,n,r){var i=e.getReferringComponents(`matrix`,Ws).models[0];t.coordSysDims=[`x`,`y`];var a=i.getDimensionModel(`x`),o=i.getDimensionModel(`y`);n.set(`x`,a),n.set(`y`,o),r.set(`x`,a),r.set(`y`,o)}};function yT(e){return e.get(`type`)===`category`}function bT(e,t,n){n||={};var r=n.byIndex,i=n.stackedCoordDimension,a,o,s;xT(t)?a=t:(o=t.schema,a=o.dimensions,s=t.store);var c=!!(e&&e.get(`stack`)),l,u,d,f,p=!0;function m(e){return e.type!==`ordinal`&&e.type!==`time`}if(L(a,function(e,t){H(e)&&(a[t]=e={name:e}),m(e)||(p=!1)}),L(a,function(e,t){c&&!e.isExtraCoord&&(!r&&!l&&e.ordinalMeta&&(l=e),!u&&m(e)&&(!p||e.coordDim!==`x`&&e.coordDim!==`angle`)&&(!i||i===e.coordDim)&&(u=e))}),u&&!r&&!l&&(r=!0),u){d=`__\0ecstackresult_`+e.id,f=`__\0ecstackedover_`+e.id,l&&(l.createInvertedIndices=!0);var h=u.coordDim,g=u.type,_=0;L(a,function(e){e.coordDim===h&&_++});var v={name:d,coordDim:h,coordDimIndex:_,type:g,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},y={name:f,coordDim:f,coordDimIndex:_+1,type:g,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(v.storeDimIndex=s.ensureCalculationDimension(f,g),y.storeDimIndex=s.ensureCalculationDimension(d,g)),o.appendCalculationDimension(v),o.appendCalculationDimension(y)):(a.push(v),a.push(y))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:r,stackedOverDimension:f,stackResultDimension:d}}function xT(e){return!Jw(e.schema)}function ST(e,t){return!!t&&t===e.getCalculationInfo(`stackedDimension`)}function CT(e,t){return ST(e,t)?e.getCalculationInfo(`stackResultDimension`):t}function wT(e,t){var n=e.get(`coordinateSystem`),r=Wg.get(n),i;return t&&t.coordSysDims&&(i=R(t.coordSysDims,function(e){var n={name:e},r=t.axisMap.get(e);return r&&(n.type=Hw(r.get(`type`))),n})),i||=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||[`x`,`y`],i}function TT(e,t,n){var r,i;return n&&L(e,function(e,a){var o=e.coordDim,s=n.categoryAxisMap.get(o);s&&(r??=a,e.ordinalMeta=s.getOrdinalMeta(),t&&(e.createInvertedIndices=!0)),e.otherDims.itemName!=null&&(i=!0)}),!i&&r!=null&&(e[r].otherDims.itemName=0),r}function ET(e,t,n){n||={};var r=t.getSourceManager(),i,a=!1;e?(a=!0,i=zv(e)):(i=r.getSource(),a=i.sourceFormat===id);var o=_T(t),s=wT(t,o),c=n.useEncodeDefaulter,l=V(c)?c:c?xe(A_,s,t):null,u={coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:t.getEncode(),encodeDefaulter:l,canOmitUnusedDimensions:!a},d=pT(i,u),f=TT(d.dimensions,n.createInvertedIndices,o),p=a?null:r.getSharedDataStore(d),m=bT(t,{schema:d,store:p}),h=new fT(d,t);h.setCalculationInfo(m);var g=f!=null&&DT(i)?function(e,t,n,r){return r===f?n:this.defaultDimValueGetter(e,t,n,r)}:null;return h.hasItemOption=!1,h.initData(a?i:p,null,g),h}function DT(e){if(e.sourceFormat===`original`)return!B(xs(OT(e.data||[])))}function OT(e){for(var t=0;t=t[0]&&e<=t[1]},getExtent:function(){return this._extents[0].slice()},getExtentUnsafe:function(e){return this._extents[e]},setExtent:function(e,t){UT(this._extents,0,e,t)},setExtent2:function(e,t,n){var r=this._extents;r[e]||(r[e]=r[0].slice()),UT(r,e,t,n)},freeze:function(){}};function UT(e,t,n,r){sc(n,r)&&(e[t][0]=n,e[t][1]=r)}function WT(e){return GT(e)||qT(e)}function GT(e){return e.type===`interval`}function KT(e){return e.type===`time`}function qT(e){return e.type===`log`}function JT(e){return e.type===`ordinal`}function YT(e){var t=$o(e),n=Ao(10,t),r=Do(e/n);return r?r===2?r=3:r===3?r=5:r*=2:r=1,Bo(r*n,-t)}function XT(e){return Ho(e)+2}function ZT(e,t){return jo(e)/jo(t)}function QT(e,t,n){var r=n&&n.lookup;if(r){for(var i=0;i1&&a/o>2&&(i=Math.round(Math.ceil(i/o)*o)),i!==r[0]&&c(r[0],!0,!0);for(var s=i;s<=r[1];s+=o)c(s,!1,s===r[0]||s===r[1]);s-o!==r[1]&&c(r[1],!0,!0);function c(e,t,r){n({value:e,offInterval:t},r)}}var rE=function(e){_(t,e);function t(n){var r=e.call(this)||this;r.type=`ordinal`,r.parse=t.parse,FT(r,t.decoratedMethods);var i=n.ordinalMeta;i||=new jT({}),B(i)&&(i=new jT({categories:R(i,function(e){return U(e)?e.value:e})})),r._ordinalMeta=i;var a=PT(null,null,n.extent||[0,i.categories.length-1]);return r._mapper=a.mapper,IT(r,a.mapper),r}return t.parse=function(e){return e==null?e=NaN:H(e)?(e=this._ordinalMeta.getOrdinal(e),e??=NaN):e=Do(e),e},t.prototype.getTicks=function(){var e=[];return nE(this,0,function(t){e.push(t)}),e},t.prototype.getMinorTicks=function(e){},t.prototype.setSortInfo=function(e){if(e==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var t=e.ordinalNumbers,n=this._ordinalNumbersByTick=[],r=this._ticksByOrdinalNumber=[],i=0,a=this._ordinalMeta.categories.length,o=wo(a,t.length);i=0&&e=0&&e=0&&eo[0]&&mi[1]||!isFinite(p)||!isFinite(i[1]))break}else{if(m>f)break;p=wo(p,i[1]),m===f&&(p=i[1])}if(l.push({value:p}),p=Bo(p+n,a),s){var h=s.calcNiceTickMultiple(p,d);h>=0&&(p=Bo(p+h*n,a))}if(l.length>0&&p===l[l.length-1].value)break;if(l.length>u)return[]}var g=l.length?l[l.length-1].value:i[1];return r[1]>g&&l.push({value:e.expandToNicedExtent?Bo(g+n,a):r[1]}),c&&o.pruneTicksByBreak(e.pruneByBreak,l,s.breaks,function(e){return e.value},t.interval,r),c&&e.breakTicks!==`none`&&o.addBreaksToTicks(l,s.breaks,r),l},t.prototype.getMinorTicks=function(e){return iE(this,e,qh(this),this._cfg.interval)},t.prototype.getLabel=function(e,t){if(e==null)return``;var n=t&&t.precision;return n==null?n=Ho(e.value)||0:n===`auto`&&(n=this._cfg.intervalPrecision),jg(Bo(e.value,n,!0))},t.type=`interval`,t}(kT);kT.registerClass(aE);var oE=function(e,t,n,r){for(;n>>1;e[i][1]16?16:e>7.5?7:e>3.5?4:e>1.5?2:1}function dE(e){var t=30*Qh;return e/=t,e>6?6:e>3?3:e>2?2:1}function fE(e){return e/=Zh,e>12?12:e>6?6:e>3.5?4:e>2?2:1}function pE(e,t){return e/=t?Xh:Yh,e>30?30:e>20?20:e>15?15:e>10?10:e>5?5:e>2?2:1}function mE(e){return To(es(e,!0),1)}function hE(e,t,n){var r=Math.max(0,I(ag,t)-1);return gg(new Date(e),ag[r],n).getTime()}function gE(e,t){var n=new Date(0);n[e](1);var r=n.getTime();n[e](1+t);var i=n.getTime()-r;return function(e,t){return Math.max(0,Math.round((t-e)/i))}}function _E(e,t,n,r,i,a){var o=3e3,s=og,c=0;function l(e,t,n,i,s,l,u){for(var d=gE(s,e),f=t,p=new Date(f);fo));)if(p[s](p[i]()+e),f=p.getTime(),a){var m=a.calcNiceTickMultiple(f,d);m>0&&(p[s](p[i]()+m*e),f=p.getTime())}u.push({value:f,notAdd:f>r[1]})}function u(e,i,a){var o=[],s=!i.length;if(!lE(ug(e),r[0],r[1],n)){s&&(i=[{value:hE(r[0],e,n)},{value:r[1]}]);for(var c=0;c=r[0]&&u<=r[1]&&l(f,u,d,p,m,h,o),e===`year`&&a.length>1&&c===0&&a.unshift({value:a[0].value-f})}}for(var c=0;c=r[0]&&y<=r[1]&&p++)}var b=i/t;if(p>b*1.5&&m>b/1.5||(d.push(_),p>b||e===s[h]))break}f=[]}}for(var x=_e(R(d,function(e){return _e(e,function(e){return e.value>=r[0]&&e.value<=r[1]&&!e.notAdd})}),function(e){return e.length>0}),S=x.length-1,C=[],h=0;hr[0])&&C.unshift({value:r[0],time:{level:0,upperTimeUnit:k,lowerTimeUnit:k},notNice:!0}),(!O||O.values&&(a=s);var c=cE.length,l=Math.min(oE(cE,a,0,c),c-1),u=cE[l][1],d=cE[Math.max(l-1,0)][0];e.setTimeInterval({approxInterval:a,interval:u,minLevelUnit:d})};kT.registerClass(sE);var yE=0,bE=1,xE=2,SE=function(e){_(t,e);function t(n){var r=e.call(this)||this;r.type=`log`,r.parse=aE.parse,r.base=n.logBase||10;var i=[],a=[],o=r._lookup={from:i,to:a};i[yE]=i[bE]=a[yE]=a[bE]=NaN,FT(r,t.mapperMethods);var s=Gh(),c=n.breakOption,l={lookup:o};return s&&s.parseAxisBreakOptionInwardTransform(c,r,{noNegative:!0},xE,l),r.powStub=new aE({breakParsed:l.original}),r.intervalStub=new aE({breakParsed:l.transformed}),IT(r,r.intervalStub),r}return t.prototype.getTicks=function(e){var t=this.base,n=this.powStub,r=Gh(),i=this.intervalStub,a={lookup:{from:i.getExtent(),to:n.getExtent()}};return R(i.getTicks(e||{}),function(e){var i=e.value,o=QT(i,t,a),s;if(r){var c=r.getTicksBreakOutwardTransform(this,e,qh(n),this._lookup);c&&(s=c.vBreak,o=c.tickVal)}return{value:o,break:s}},this)},t.prototype.getMinorTicks=function(e){return iE(this,e,qh(this.powStub),this.intervalStub.getConfig().interval)},t.prototype.getLabel=function(e,t){return this.intervalStub.getLabel(e,t)},t.type=`log`,t.mapperMethods={needTransform:function(){return!0},normalize:function(e){return this.intervalStub.normalize(ZT(e,this.base))},scale:function(e){return QT(this.intervalStub.scale(e),this.base,null)},transformIn:function(e,t){return e=ZT(e,this.base),t&&t.depth===2?e:this.intervalStub.transformIn(e,t)},transformOut:function(e,t){var n=t?t.depth:null;return CE.depth=n,wE.lookup=this._lookup,QT(n===2?e:this.intervalStub.transformOut(e,CE),this.base,wE)},contain:function(e){return this.powStub.contain(e)},setExtent:function(e,t){this.setExtent2(0,e,t)},setExtent2:function(e,t,n){if(!(!sc(t,n)||t<=0||n<=0)){var r=TE,i=TE;if(e===0){var a=this._lookup;r=a.to,i=a.from}this.powStub.setExtent2(e,r[yE]=t,r[bE]=n);var o=this.base;this.intervalStub.setExtent2(e,i[yE]=ZT(t,o),i[bE]=ZT(n,o))}},getFilter:function(){return{g:0}},sanitize:function(e,t){return sc(t[0],t[1])&&cs(e)&&e<=0&&(e=t[0]),e},getDefaultStartValue:function(){return 1},getExtent:function(){return this.powStub.getExtent()},getExtentUnsafe:function(e,t){return t===null?this.powStub.getExtentUnsafe(e,null):this.intervalStub.getExtentUnsafe(e,t)}},t}(kT);kT.registerClass(SE);var CE={},wE={},TE=[],EE={value:1,category:1,time:1,log:1},DE=Bs();function OE(e){var t=e.get(`type`);return(t==null||!K(EE,t)&&!kT.getClass(t))&&(t=`value`),t}function kE(e,t,n){var r=Gh(),i;switch(r&&(i=BE(e,t,n)),t){case`category`:return new rE({ordinalMeta:e.getOrdinalMeta?e.getOrdinalMeta():e.getCategories(),extent:tc()});case`time`:return new sE({locale:e.ecModel.getLocaleModel(),useUTC:e.ecModel.get(`useUTC`),breakOption:i});case`log`:return new SE({logBase:e.get(`logBase`),breakOption:i});case`value`:return new aE({breakOption:i});default:return new((kT.getClass(t))||aE)({})}}function AE(e,t,n){var r=n?RT(e,null):e.getExtentUnsafe(0,null),i=r[0],a=r[1];return sc(i,a)?i===t||a===t?2:it?1:3:3}function jE(e){DE(e).noOnMyZero=!0}function ME(e){return DE(e).noOnMyZero}function NE(e){var t=e.getLabelModel().get(`formatter`);if(e.type===`time`){var n=sg(t);return function(t,r){return e.scale.getFormattedLabel(t,r,n)}}else if(H(t))return function(n){var r=e.scale.getLabel(n);return t.replace(`{value}`,r??``)};else if(V(t)){if(e.type===`category`)return function(n,r){return t(PE(e,n),n.value-e.scale.getExtent()[0],null)};var r=Gh();return function(n,i){var a=null;return r&&(a=r.makeAxisLabelFormatterParamBreak(a,n.break)),t(PE(e,n),i,a)}}else return function(t){return e.scale.getLabel(t)}}function PE(e,t){var n=e.scale;return JT(n)?n.getLabel(t):t.value}function FE(e){return e.get(`interval`)??`auto`}function IE(e){return e.type===`category`&&FE(e.getLabelModel())===0}function LE(e,t){var n={};return L(e.mapDimensionsAll(t),function(t){n[CT(e,t)]=!0}),ye(n)}function RE(e){return e===`middle`||e===`center`}function zE(e){return e.getShallow(`show`)}function BE(e,t,n){var r=e.get(`breaks`,!0);if(r!=null)return!Gh()||!n||!VE(t)?void 0:r}function VE(e){return e!==`category`}function HE(e,t,n,r,i,a){var o=qT(e),s=o?e.intervalStub:e;if(s.setExtent(r[0],r[1]),o){var c=e.powStub,l={depth:2},u=e.transformOut(r[0],l),d=e.transformOut(r[1],l),f=eE(n,r);t[0]&&!f[0]&&(u=i[0]),t[1]&&!f[1]&&(d=i[1]),c.setExtent(u,d)}s.setConfig(a)}function UE(e,t){return JT(e)?e.getRawOrdinalNumber(t.value):t.value}function WE(e,t){return JT(e)&&!!t.get(`boundaryGap`)}var GE=function(){function e(){}return e.prototype.needIncludeZero=function(){return!this.option.scale},e.prototype.getCoordSysModel=function(){},e}(),KE=uc(),qE=Bs(),JE=Bs();function YE(e,t){var n=e.model,r=qE(Xx(n.ecModel)).keyed,i=r&&r.get(t);return i&&i.get(n.uid)}function XE(e,t){return $E(YE(e,t))}function ZE(e,t){var n=[];return QE(e.model.ecModel,function(e){for(var r=0;r0&&u[1]>0&&!d[0]&&(u[0]=0),u[0]<0&&u[1]<0&&!d[1]&&(u[1]=0));var y=!1;u[0]>u[1]&&(u.reverse(),y=!0);var b=_D(e,t.get(`startValue`,!0)),x=b!=null;!cs(b)&&r&&(b=e.getDefaultStartValue?e.getDefaultStartValue():0),cs(b)&&(x||!_||v)&&(bu[1]&&!d[1]&&(u[1]=b,d[1]=!0)),gD(this._i={scale:e,dataMM:l,noZoomEffMM:u,zoomMM:[],fixMM:d,zoomFixMM:[!1,!1],startValue:b,isBlank:g,incl0:v,tggAxInv:y,ctnShp:i},u)}return e.prototype.makeNoZoom=function(){return this._i.noZoomEffMM.slice()},e.prototype.makeFinal=function(){var e=this._i,t=e.zoomMM,n=e.noZoomEffMM,r=e.zoomFixMM,i=e.fixMM,a={fixMM:i,zoomFixMM:r,isBlank:e.isBlank,incl0:e.incl0,tggAxInv:e.tggAxInv,ctnShp:e.ctnShp,effMM:n.slice()},o=a.effMM;return t[0]!=null&&(o[0]=t[0],i[0]=r[0]=!0),t[1]!=null&&(o[1]=t[1],i[1]=r[1]=!0),gD(e,o),a},e.prototype.makeRenderInfo=function(){return{startValue:this._i.startValue}},e.prototype.setZoomMM=function(e,t){this._i.zoomMM[e]=t},e}();function gD(e,t){var n=e.scale,r=e.dataMM;n.sanitize&&(t[0]=n.sanitize(t[0],r),t[1]=n.sanitize(t[1],r),lc(t))}function _D(e,t){return t==null?null:Ae(t)?NaN:e.parse(t)}function vD(e,t){var n;if(JT(e))n=[0,0];else{var r=t.get(`boundaryGap`);typeof r==`boolean`&&(r=null),n=B(r)?r:[r,r]}return[yD(n[0]),yD(n[1])]}function yD(e){return Ga(typeof e==`boolean`?0:e,1)||0}function bD(e){var t=pD(e.scale);return t.extent||=tc(),t}function xD(e,t){bD(e).dimIdxInCoord=t.get(e.dim)}function SD(e,t){var n=e.scale,r=e.model,i=e.dim;n.rawExtentInfo||CD(n,e,i,r,t)}function CD(e,t,n,r,i){var a=bD(t),o=a.extent,s=!1;eD(t,function(r){if(r.boxCoordinateSystem){var i=Jg(r).coord,c=a.dimIdxInCoord;if(c>=0&&B(i)){var l=i[c];l!=null&&!B(l)&&nc(o,e.parse(l))}}else if(r.coordinateSystem){var u=r.getData();if(u){var d=e.getFilter?e.getFilter():null;L(LE(u,n),function(e){ac(o,u.getApproximateExtent(e,d))})}r.__requireStartValue&&r.__requireStartValue(t)&&(s=!0)}});var c=kD(e,t,r);TD(e,new hD(e,r,o,s,c),i),a.extent=null}function wD(e,t){var n=e.scale;TD(n,new hD(n,e.model,t,!1,!1),mD)}function TD(e,t,n){e.rawExtentInfo=t,t.from=n}function ED(e,t){DD.set(e,t)}var DD=G();function OD(e,t,n,r,i){e.rawExtentInfo||wD({scale:e,model:t},i||tc());var a=e.rawExtentInfo.makeFinal(),o=a.effMM;return e.setExtent(o[0],o[1]),e.setBlank(a.isBlank),r&&a.tggAxInv&&n&&!n.get(`legacyMinMaxDontInverseAxis`)&&(r.inverse=!r.inverse),a}function kD(e,t,n){var r=WE(e,n),i=n.get(`containShape`,!0);if(i==null&&!r&&(i=!0),!i)return!1;var a=!1;return aD(t,function(e){a=!!DD.get(e)||a}),a}function AD(e,t,n,r){if(n.ctnShp){var i;if(aD(e,function(t){var n=DD.get(t);if(n){var a=n(e,r);a&&(i||=[0,0],rc(i,a[0]),ic(i,a[1]),jE(e))}}),i){var a=t.getExtent();if(JT(t))e.onBand||t.setExtent2(1,wo(a[0],a[0]+i[0]),To(a[1],a[1]+i[1]));else{var o=a.slice();n.zoomFixMM[0]||(o[0]=wo(o[0],t.transformOut(t.transformIn(o[0],null)+i[0],null))),n.zoomFixMM[1]||(o[1]=To(o[1],t.transformOut(t.transformIn(o[1],null)+i[1],null))),(o[0]a[1])&&t.setExtent2(1,o[0],o[1])}}}}function jD(e,t){var n=qT(e),r=n?e.intervalStub:e,i=t.fixMinMax||[],a=n?e.getExtent():null,o=r.getExtent(),s=$T(o,i,t.rawExtentResult);r.setExtent(s[0],s[1]),s=r.getExtent();var c=n?ND(r,t):MD(r,t),l=c.intervalPrecision,u=c.interval,d=t.userInterval;d!=null&&(c.interval=d,c.intervalPrecision=XT(d)),i[0]||(s[0]=Bo(Oo(s[0]/u)*u,l)),i[1]||(s[1]=Bo(ko(s[1]/u)*u,l)),d!=null&&(c.niceExtent=s.slice()),HE(e,i,o,s,a,c)}function MD(e,t){var n=tE(t.splitNumber,5),r=BT(e),i=t.minInterval,a=t.maxInterval,o=es(r/n,!0);i!=null&&oa&&(o=a);var s=XT(o),c=e.getExtent(),l=[Bo(ko(c[0]/o)*o,s),Bo(Oo(c[1]/o)*o,s)];return{interval:o,intervalPrecision:s,niceExtent:l}}function ND(e,t){var n=tE(t.splitNumber,10),r=e.getExtent(),i=BT(e),a=To(Qo(i),1);n/i*a<=.5&&(a*=10);var o=XT(a),s=[Bo(ko(r[0]/a)*a,o),Bo(Oo(r[1]/a)*a,o)];return{intervalPrecision:o,interval:a,niceExtent:s}}function PD(e){var t=e.scale,n=e.model,r=n.axis,i=n.ecModel;FD(t,n,r,i,null)}function FD(e,t,n,r,i){var a=OD(e,t,r,n,i),o=GT(e)||KT(e);ID(e,{splitNumber:t.get(`splitNumber`),fixMinMax:a.fixMM,userInterval:t.get(`interval`),minInterval:o?t.get(`minInterval`):null,maxInterval:o?t.get(`maxInterval`):null,rawExtentResult:a}),n&&r&&AD(n,e,a,r)}function ID(e,t){LD[e.type](e,t)}var LD={interval:jD,log:jD,time:vE,ordinal:qe},RD=1e-8;function zD(e,t){return Math.abs(e-t)n&&(t=i,n=o)}if(t)return WD(t.exterior);var s=this.getBoundingRect();return[s.x+s.width/2,s.y+s.height/2]},t.prototype.getBoundingRect=function(e){var t=this._rect;if(t&&!e)return t;var n=[1/0,1/0],r=[-1/0,-1/0],i=this.geometries;return L(i,function(t){t.type===`polygon`?UD(t.exterior,n,r,e):L(t.points,function(t){UD(t,n,r,e)})}),isFinite(n[0])&&isFinite(n[1])&&isFinite(r[0])&&isFinite(r[1])||(n[0]=n[1]=r[0]=r[1]=0),t=new J(n[0],n[1],r[0]-n[0],r[1]-n[1]),e||(this._rect=t),t},t.prototype.contain=function(e){var t=this.getBoundingRect(),n=this.geometries;if(!t.contain(e[0],e[1]))return!1;loopGeo:for(var r=0,i=n.length;r>1^-(s&1),c=c>>1^-(c&1),s+=i,c+=a,i=s,a=c,r.push([s/n,c/n])}return r}function $D(e,t){return e=XD(e),R(_e(e.features,function(e){return e.geometry&&e.properties&&e.geometry.coordinates.length>0}),function(e){var n=e.properties,r=e.geometry,i=[];switch(r.type){case`Polygon`:var a=r.coordinates;i.push(new KD(a[0],a.slice(1)));break;case`MultiPolygon`:L(r.coordinates,function(e){e[0]&&i.push(new KD(e[0],e.slice(1)))});break;case`LineString`:i.push(new qD([r.coordinates]));break;case`MultiLineString`:i.push(new qD(r.coordinates))}var o=new JD(n[t||`name`],i,n.cp);return o.properties=n,o})}var eO=Bs(),tO=Bs(),nO={estimate:1,determine:2};function rO(e){return{out:{noPxChangeTryDetermine:[]},kind:e}}function iO(e,t){var n=e.getLabelModel().get(`customValues`);if(n){var r=e.scale;return{labels:R(oO(n,r),function(t,n){return{formattedLabel:NE(e)(t,n),rawLabel:r.getLabel(t),tick:t}})}}return e.type===`category`?sO(e,t):uO(e)}function aO(e,t,n){var r=e.scale,i=e.getTickModel().get(`customValues`);return i?{ticks:oO(i,r)}:e.type===`category`?lO(e,t):{ticks:r.getTicks(n)}}function oO(e,t){var n=t.getExtent(),r=[];return L(e,function(e){e=t.parse(e),e>=n[0]&&e<=n[1]&&r.push(e)}),fc(r,mc,null),Vo(r),R(r,function(e){return{value:e}})}function sO(e,t){var n=e.getLabelModel(),r=cO(e,n,t);return!n.get(`show`)||e.scale.isBlank()?{labels:[]}:r}function cO(e,t,n){var r=fO(e),i=FE(t),a=n.kind===nO.estimate;if(!a){var o=mO(r,i);if(o)return o}var s,c;V(i)?s=xO(e,i,!1):(c=i===`auto`?gO(e,n):i,s=xO(e,c,!1));var l={labels:s,labelCategoryInterval:c};return a?n.out.noPxChangeTryDetermine.push(function(){return hO(r,i,l),!0}):hO(r,i,l),l}function lO(e,t){var n=dO(e),r=FE(t),i=mO(n,r);if(i)return i;var a,o;if((!t.get(`show`)||e.scale.isBlank())&&(a=[]),V(r))a=xO(e,r,!0);else if(r===`auto`){var s=cO(e,e.getLabelModel(),rO(nO.determine));o=s.labelCategoryInterval,a=R(s.labels,function(e){return e.tick})}else o=r,a=xO(e,o,!0);return hO(n,r,{ticks:a,tickCategoryInterval:o})}function uO(e){var t=e.scale.getTicks(),n=NE(e);return{labels:R(t,function(t,r){return{formattedLabel:n(t,r),rawLabel:e.scale.getLabel(t),tick:t}})}}var dO=pO(`axisTick`),fO=pO(`axisLabel`);function pO(e){return function(t){return tO(t)[e]||(tO(t)[e]={list:[]})}}function mO(e,t){for(var n=0;nu&&(l=Math.max(1,Math.floor(c/u)));for(var d=s[0],f=e.dataToCoord(d+1)-e.dataToCoord(d),p=Math.abs(f*Math.cos(a)),m=Math.abs(f*Math.sin(a)),h=0,g=0;d<=s[1];d+=l){var _=0,v=0,y=Va(i({value:d}),r.font,`center`,`top`);_=y.width*1.3,v=y.height*1.3,h=Math.max(h,_,7),g=Math.max(g,v,7)}var b=h/p,x=g/m;isNaN(b)&&(b=1/0),isNaN(x)&&(x=1/0);var S=Math.max(0,Math.floor(Math.min(b,x)));return n===nO.estimate?(t.out.noPxChangeTryDetermine.push(z(vO,null,e,S,c)),S):yO(e,S,c)??S}function vO(e,t,n){return yO(e,t,n)==null}function yO(e,t,n){var r=eO(e.model),i=e.getExtent(),a=r.lastAutoInterval,o=r.lastTickCount;if(a!=null&&o!=null&&Math.abs(a-t)<=1&&Math.abs(o-n)<=1&&a>t&&r.axisExtent0===i[0]&&r.axisExtent1===i[1])return a;r.lastTickCount=n,r.lastAutoInterval=t,r.axisExtent0=i[0],r.axisExtent1=i[1]}function bO(e){var t=e.getLabelModel();return{axisRotate:e.getRotate?e.getRotate():e.isHorizontal&&!e.isHorizontal()?90:0,labelRotate:t.get(`rotate`)||0,font:t.getFont()}}function xO(e,t,n){var r=NE(e),i=e.scale,a=[],o=V(t);return nE(i,o?0:t,function(e,s){var c=i.getLabel(e);if(o){var l=!!t(e.value,c);if(e.offInterval=!l,!l&&!s)return}a.push(n?e:{formattedLabel:r(e),rawLabel:c,tick:e})}),a}var SO=.8;function CO(e,t){t||={};var n={w:NaN,w2:NaN},r=e.scale,i=t.fromStat,a=t.min,o=zT(r);cs(o)||(o=NaN);var s=e.getExtent(),c=Eo(s[1]-s[0]);return JT(r)?wO(n,e,o,c):i&&TO(n,e,o,c,i),a!=null&&(n.w=cs(n.w)?To(a,n.w):a),n}function wO(e,t,n,r){var i=t.onBand,a=n+ +!!i;a===0&&(a=1),e.w=r/a,!i&&n&&r&&(e.w2=e.w*n/r)}function TO(e,t,n,r,i){var a=!1,o=-1/0;L(i.key?[XE(t,i.key)]:ZE(t,i.sers||[]),function(e){var t=e.liPosMinGap;t!=null&&(t>0?(t>o&&(o=t),a=!1):t===-2&&(a=!0))}),cs(n)&&n>0&&cs(o)?(e.w=r/n*o,e.w2=o):a&&(e.w=r*SO,e.w2=e.w*n/r)}var EO=[0,1],DO=function(){function e(e,t,n){this.onBand=!1,this.inverse=!1,this.dim=e,this.scale=t,this._extent=n||[0,0]}return e.prototype.contain=function(e){var t=this._extent,n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]);return e>=n&&e<=r},e.prototype.containData=function(e){return this.scale.contain(this.scale.parse(e))},e.prototype.getExtent=function(){return this._extent.slice()},e.prototype.setExtent=function(e,t){var n=this._extent;n[0]=e,n[1]=t},e.prototype.dataToCoord=function(e,t){var n=this.scale;return e=n.normalize(n.parse(e)),Fo(e,EO,OO(this),t)},e.prototype.coordToData=function(e,t){var n=Fo(e,OO(this),EO,t);return this.scale.scale(n)},e.prototype.pointToData=function(e,t){},e.prototype.getTicksCoords=function(e){e||={};var t=e.tickModel||this.getTickModel(),n=R(aO(this,t,{breakTicks:e.breakTicks,pruneByBreak:e.pruneByBreak}).ticks,function(e){return{coord:this.dataToCoord(UE(this.scale,e)),tick:e}},this),r=t.get(`alignWithLabel`),i=kO(this,n,r);return R(n,function(e){return{coord:e.coord,tickValue:e.tick.value,onBand:i}})},e.prototype.getMinorTicksCoords=function(){if(JT(this.scale))return[];var e=this.model.getModel(`minorTick`).get(`splitNumber`);return e>0&&e<100||(e=5),R(this.scale.getMinorTicks(e),function(e){return R(e,function(e){return{coord:this.dataToCoord(e),tickValue:e}},this)},this)},e.prototype.getViewLabels=function(e){return e||=rO(nO.determine),iO(this,e).labels},e.prototype.getLabelModel=function(){return this.model.getModel(`axisLabel`)},e.prototype.getTickModel=function(){return this.model.getModel(`axisTick`)},e.prototype.getBandWidth=function(){return CO(this,{min:1}).w},e.prototype.calculateCategoryInterval=function(e){return e||=rO(nO.determine),_O(this,e)},e}();function OO(e){var t=e.getExtent();if(e.onBand){var n=(t[1]-t[0])/e.scale.count()/2;t[0]+=n,t[1]-=n}return t}function kO(e,t,n){var r=t.length;if(!e.onBand||n||!r)return!1;var i=CO(e).w;if(!i)return!1;L(t,function(e){e.coord-=i/2});var a=e.scale.getExtent(),o=t[r-1];return o.tick.offInterval&&t.pop(),t.push({coord:o.coord+i,tick:{value:a[1]+1}}),!0}var AO=Math.PI*2,jO=Zl.CMD,MO=[`top`,`right`,`bottom`,`left`];function NO(e,t,n,r,i){var a=n.width,o=n.height;switch(e){case`top`:r.set(n.x+a/2,n.y-t),i.set(0,-1);break;case`bottom`:r.set(n.x+a/2,n.y+o+t),i.set(0,1);break;case`left`:r.set(n.x-t,n.y+o/2),i.set(-1,0);break;case`right`:r.set(n.x+a+t,n.y+o/2),i.set(1,0);break}}function PO(e,t,n,r,i,a,o,s,c){o-=e,s-=t;var l=Math.sqrt(o*o+s*s);o/=l,s/=l;var u=o*n+e,d=s*n+t;if(Math.abs(r-i)%AO<1e-4)return c[0]=u,c[1]=d,l-n;if(a){var f=r;r=nu(i),i=nu(f)}else r=nu(r),i=nu(i);r>i&&(i+=AO);var p=Math.atan2(s,o);if(p<0&&(p+=AO),p>=r&&p<=i||p+AO>=r&&p+AO<=i)return c[0]=u,c[1]=d,l-n;var m=n*Math.cos(r)+e,h=n*Math.sin(r)+t,g=n*Math.cos(i)+e,_=n*Math.sin(i)+t,v=(m-o)*(m-o)+(h-s)*(h-s),y=(g-o)*(g-o)+(_-s)*(_-s);return v0){t=t/180*Math.PI,BO.fromArray(e[0]),VO.fromArray(e[1]),HO.fromArray(e[2]),q.sub(UO,BO,VO),q.sub(WO,HO,VO);var n=UO.len(),r=WO.len();if(!(n<.001||r<.001)){UO.scale(1/n),WO.scale(1/r);var i=UO.dot(WO);if(Math.cos(t)1&&q.copy(qO,HO),qO.toArray(e[1])}}}}function YO(e,t,n){if(n<=180&&n>0){n=n/180*Math.PI,BO.fromArray(e[0]),VO.fromArray(e[1]),HO.fromArray(e[2]),q.sub(UO,VO,BO),q.sub(WO,HO,VO);var r=UO.len(),i=WO.len();if(!(r<.001||i<.001)&&(UO.scale(1/r),WO.scale(1/i),UO.dot(t)=o)q.copy(qO,HO);else{qO.scaleAndAdd(WO,a/Math.tan(Math.PI/2-s));var c=HO.x===VO.x?(qO.y-VO.y)/(HO.y-VO.y):(qO.x-VO.x)/(HO.x-VO.x);if(isNaN(c))return;c<0?q.copy(qO,VO):c>1&&q.copy(qO,HO)}qO.toArray(e[1])}}}function XO(e,t,n,r){var i=n===`normal`,a=i?e:e.ensureState(n);a.ignore=t;var o=r.get(`smooth`);o=o===!0?.3:Math.max(+o,0)||0,a.shape=a.shape||{},a.shape.smooth=o;var s=r.getModel(`lineStyle`).getLineStyle();i?e.useStyle(s):a.style=s}function ZO(e,t){var n=t.smooth,r=t.points;if(r)if(e.moveTo(r[0][0],r[0][1]),n>0&&r.length>=3){var i=lt(r[0],r[1]),a=lt(r[1],r[2]);if(!i||!a){e.lineTo(r[1][0],r[1][1]),e.lineTo(r[2][0],r[2][1]);return}var o=Math.min(i,a)*n,s=ft([],r[1],r[0],o/i),c=ft([],r[1],r[2],o/a),l=ft([],s,c,.5);e.bezierCurveTo(s[0],s[1],s[0],s[1],l[0],l[1]),e.bezierCurveTo(c[0],c[1],c[0],c[1],r[2][0],r[2][1])}else for(var u=1;u0&&i&&S(-d/a,0,a);var g=e[0],_=e[a-1],v,y;b(),v<0&&C(-v,.8),y<0&&C(y,.8),b(),x(v,y,1),x(y,v,-1),b(),v<0&&w(-v),y<0&&w(y);function b(){v=g.rect[o]-n,y=r-_.rect[o]-_.rect[s]}function x(e,t,n){if(e<0){var r=Math.min(t,-e);if(r>0){S(r*n,0,a);var i=r+e;i<0&&C(-i*n,1)}else C(-e*n,1)}}function S(t,n,r){t!==0&&(u=!0);for(var i=n;i0)for(var c=0;c0;c--){var f=r[c-1]*d;S(-f,c,a)}}}function w(e){var t=e<0?-1:1;e=Math.abs(e);for(var n=Math.ceil(e/(a-1)),r=0;r0?S(n,0,r+1):S(-n,a-r-1,a),e-=n,e<=0)return}return u}function mk(e){for(var t=0;t=0&&n.attr(i.oldLayoutSelect),I(u,`emphasis`)>=0&&n.attr(i.oldLayoutEmphasis)),Yp(n,c,t,s)}else if(n.attr(c),!dh(n).valueAnimation){var d=W(n.style.opacity,1);n.style.opacity=0,Xp(n,{style:{opacity:d}},t,s)}if(i.oldLayout=c,n.states.select){var f=i.oldLayoutSelect={};Ck(f,c,wk),Ck(f,n.states.select,wk)}if(n.states.emphasis){var p=i.oldLayoutEmphasis={};Ck(p,c,wk),Ck(p,n.states.emphasis,wk)}ph(n,s,l,t,t)}if(r&&!r.ignore&&!r.invisible){var i=Sk(r),a=i.oldLayout,m={points:r.shape.points};a?(r.attr({shape:a}),Yp(r,{shape:m},t)):(r.setShape(m),r.style.strokePercent=0,Xp(r,{style:{strokePercent:1}},t)),i.oldLayout=m}},e}(),Ek=Bs();function Dk(e){e.registerUpdateLifecycle(`series:beforeupdate`,function(e,t,n){var r=Ek(t).labelManager;r||=Ek(t).labelManager=new Tk,r.clearLabels()}),e.registerUpdateLifecycle(`series:layoutlabels`,function(e,t,n){var r=Ek(t).labelManager;L(n.updatedSeries,function(e){r.addLabelsOfSeries(t.getViewOfSeriesModel(e))}),r.updateLayoutConfig(t),r.layout(t),r.processLabelsOverall()})}var Ok=Math.sin,kk=Math.cos,Ak=Math.PI,jk=Math.PI*2,Mk=180/Ak,Nk=function(){function e(){}return e.prototype.reset=function(e){this._start=!0,this._d=[],this._str=``,this._p=10**(e||4)},e.prototype.moveTo=function(e,t){this._add(`M`,e,t)},e.prototype.lineTo=function(e,t){this._add(`L`,e,t)},e.prototype.bezierCurveTo=function(e,t,n,r,i,a){this._add(`C`,e,t,n,r,i,a)},e.prototype.quadraticCurveTo=function(e,t,n,r){this._add(`Q`,e,t,n,r)},e.prototype.arc=function(e,t,n,r,i,a){this.ellipse(e,t,n,n,0,r,i,a)},e.prototype.ellipse=function(e,t,n,r,i,a,o,s){var c=o-a,l=!s,u=Math.abs(c),d=si(u-jk)||(l?c>=jk:-c>=jk),f=c>0?c%jk:c%jk+jk,p=!1;p=d?!0:si(u)?!1:f>=Ak==!!l;var m=e+n*kk(a),h=t+r*Ok(a);this._start&&this._add(`M`,m,h);var g=Math.round(i*Mk);if(d){var _=1/this._p,v=(l?1:-1)*(jk-_);this._add(`A`,n,r,g,1,+l,e+n*kk(a+v),t+r*Ok(a+v)),_>.01&&this._add(`A`,n,r,g,0,+l,m,h)}else{var y=e+n*kk(o),b=t+r*Ok(o);this._add(`A`,n,r,g,+p,+l,y,b)}},e.prototype.rect=function(e,t,n,r){this._add(`M`,e,t),this._add(`l`,n,0),this._add(`l`,0,r),this._add(`l`,-n,0),this._add(`Z`)},e.prototype.closePath=function(){this._d.length>0&&this._add(`Z`)},e.prototype._add=function(e,t,n,r,i,a,o,s,c){for(var l=[],u=this._p,d=1;d`}function Yk(e){return``}function Xk(e,t){t||={};var n=t.newline?` +`:``;function r(e){var t=e.children,i=e.tag,a=e.attrs,o=e.text;return Jk(i,a)+(i===`style`?o||``:Mt(o))+(t?``+n+R(t,function(e){return r(e)}).join(n)+n:``)+Yk(i)}return r(e)}function Zk(e,t,n){n||={};var r=n.newline?` +`:``,i=` {`+r,a=r+`}`,o=R(ye(e),function(t){return t+i+R(ye(e[t]),function(n){return n+`:`+e[t][n]+`;`}).join(r)+a}).join(r),s=R(ye(t),function(e){return`@keyframes `+e+i+R(ye(t[e]),function(n){return n+i+R(ye(t[e][n]),function(r){var i=t[e][n][r];return r===`d`&&(i=`path("`+i+`")`),r+`:`+i+`;`}).join(r)+a}).join(r)+a}).join(r);return!o&&!s?``:[``].join(r)}function Qk(e){return{zrId:e,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function $k(e,t,n,r){return qk(`svg`,`root`,{width:e,height:t,xmlns:Vk,"xmlns:xlink":Hk,version:`1.1`,baseProfile:`full`,viewBox:r?`0 0 `+e+` `+t:!1},n)}var eA=0;function tA(){return eA++}var nA={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`},rA=`transform-origin`;function iA(e,t,n){var r=P({},e.shape);P(r,t),e.buildPath(n,r);var i=new Nk;return i.reset(Si(e)),n.rebuildPath(i,1),i.generateStr(),i.getStr()}function aA(e,t){var n=t.originX,r=t.originY;(n||r)&&(e[rA]=n+`px `+r+`px`)}var oA={fill:`fill`,opacity:`opacity`,lineWidth:`stroke-width`,lineDashOffset:`stroke-dashoffset`};function sA(e,t){var n=t.zrId+`-ani-`+ t.cssAnimIdx++;return t.cssAnims[n]=e,n}function cA(e,t,n){var r=e.shape.paths,i={},a,o;if(L(r,function(e){var t=Qk(n.zrId);t.animation=!0,uA(e,{},t,!0);var r=t.cssAnims,s=t.cssNodes,c=ye(r),l=c.length;if(l){o=c[l-1];var u=r[o];for(var d in u){var f=u[d];i[d]=i[d]||{d:``},i[d].d+=f.d||``}for(var p in s){var m=s[p].animation;m.indexOf(o)>=0&&(a=m)}}}),a){t.d=!1;var s=sA(i,n);return a.replace(o,s)}}function lA(e){return H(e)?nA[e]?`cubic-bezier(`+nA[e]+`)`:Or(e)?e:``:``}function uA(e,t,n,r){var i=e.animators,a=i.length,o=[];if(e instanceof jp){var s=cA(e,t,n);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var c={},l=0;l0}).length)return sA(l,n)+` `+i[0]+` both`}for(var g in c){var s=h(c[g]);s&&o.push(s)}if(o.length){var _=n.zrId+`-cls-`+tA();n.cssNodes[`.`+_]={animation:o.join(`,`)},t.class=_}}function dA(e,t,n){if(!e.ignore)if(e.isSilent()){var r={"pointer-events":`none`};fA(r,t,n,!0)}else{var i=e.states.emphasis&&e.states.emphasis.style?e.states.emphasis.style:{},a=i.fill;if(!a){var o=e.style&&e.style.fill,s=e.states.select&&e.states.select.style&&e.states.select.style.fill,c=e.currentStates.indexOf(`select`)>=0&&s||o;c&&(a=ri(c))}var l=i.lineWidth;if(l){var u=!i.strokeNoScale&&e.transform?e.transform[0]:1;l/=u}var r={cursor:`pointer`};a&&(r.fill=a),i.stroke&&(r.stroke=i.stroke),l&&(r[`stroke-width`]=l),fA(r,t,n,!0)}}function fA(e,t,n,r){var i=JSON.stringify(e),a=n.cssStyleCache[i];a||(a=n.zrId+`-cls-`+tA(),n.cssStyleCache[i]=a,n.cssNodes[`.`+a+(r?`:hover`:``)]=e),t.class=t.class?t.class+` `+a:a}var pA=Math.round;function mA(e){return e&&H(e.src)}function hA(e){return e&&V(e.toDataURL)}function gA(e,t,n,r){Bk(function(i,a){var o=i===`fill`||i===`stroke`;o&&bi(a)?jA(t,e,i,r):o&&_i(a)?MA(n,e,i,r):e[i]=a,o&&r.ssr&&a===`none`&&(e[`pointer-events`]=`visible`)},t,n,!1),AA(n,e,r)}function _A(e,t){var n=yo(t);n&&(n.each(function(t,n){t!=null&&(e[(`ecmeta_`+n).toLowerCase()]=t+``)}),t.isSilent()&&(e[Gk+`silent`]=`true`))}function vA(e){return si(e[0]-1)&&si(e[1])&&si(e[2])&&si(e[3]-1)}function yA(e){return si(e[4])&&si(e[5])}function bA(e,t,n){if(t&&!(yA(t)&&vA(t))){var r=n?10:1e4;e.transform=vA(t)?`translate(`+pA(t[4]*r)/r+` `+pA(t[5]*r)/r+`)`:ui(t)}}function xA(e,t,n){for(var r=e.points,i=[],a=0;a`u`){var g=`Image width/height must been given explictly in svg-ssr renderer.`;Fe(f,g),Fe(p,g)}else if(f==null||p==null){var _=function(e,t){if(e){var n=e.elm,r=f||t.width,i=p||t.height;e.tag===`pattern`&&(l?(i=1,r/=a.width):u&&(r=1,i/=a.height)),e.attrs.width=r,e.attrs.height=i,n&&(n.setAttribute(`width`,r),n.setAttribute(`height`,i))}},v=Rc(m,null,e,function(e){c||_(S,e),_(d,e)});v&&v.width&&v.height&&(f||=v.width,p||=v.height)}d=qk(`image`,`img`,{href:m,width:f,height:p}),o.width=f,o.height=p}else i.svgElement&&(d=M(i.svgElement),o.width=i.svgWidth,o.height=i.svgHeight);if(d){var y,b;c?y=b=1:l?(b=1,y=o.width/a.width):u?(y=1,b=o.height/a.height):o.patternUnits=`userSpaceOnUse`,y!=null&&!isNaN(y)&&(o.width=y),b!=null&&!isNaN(b)&&(o.height=b);var x=Ci(i);x&&(o.patternTransform=x);var S=qk(`pattern`,``,o,[d]),C=Xk(S),w=r.patternCache,T=w[C];T||(T=r.zrId+`-p`+ r.patternIdx++,w[C]=T,o.id=T,S=r.defs[T]=qk(`pattern`,T,o,[d])),t[n]=xi(T)}}function NA(e,t,n){var r=n.clipPathCache,i=n.defs,a=r[e.id];if(!a){a=n.zrId+`-c`+ n.clipPathIdx++;var o={id:a};r[e.id]=a,i[a]=qk(`clipPath`,a,o,[EA(e,n)])}t[`clip-path`]=xi(a)}function PA(e){return document.createTextNode(e)}function FA(e,t,n){e.insertBefore(t,n)}function IA(e,t){e.removeChild(t)}function LA(e,t){e.appendChild(t)}function RA(e){return e.parentNode}function zA(e){return e.nextSibling}function BA(e,t){e.textContent=t}var VA=58,HA=120,UA=qk(``,``);function WA(e){return e===void 0}function GA(e){return e!==void 0}function KA(e,t,n){for(var r={},i=t;i<=n;++i){var a=e[i].key;a!==void 0&&(r[a]=i)}return r}function qA(e,t){var n=e.key===t.key;return e.tag===t.tag&&n}function JA(e){var t,n=e.children,r=e.tag;if(GA(r)){var i=e.elm=Kk(r);if(ZA(UA,e),B(n))for(t=0;ta?(m=n[c+1]==null?null:n[c+1].elm,YA(e,m,n,i,c)):XA(e,t,r,a))}function $A(e,t){var n=t.elm=e.elm,r=e.children,i=t.children;e!==t&&(ZA(e,t),WA(t.text)?GA(r)&&GA(i)?r!==i&&QA(n,r,i):GA(i)?(GA(e.text)&&BA(n,``),YA(n,null,i,0,i.length-1)):GA(r)?XA(n,r,0,r.length-1):GA(e.text)&&BA(n,``):e.text!==t.text&&(GA(r)&&XA(n,r,0,r.length-1),BA(n,t.text)))}function ej(e,t){if(qA(e,t))$A(e,t);else{var n=e.elm,r=RA(n);JA(t),r!==null&&(FA(r,t.elm,zA(n)),XA(r,[e],0,0))}return t}var tj=0,nj=function(){function e(e,t,n){if(this.type=`svg`,this.configLayer=rj(`configLayer`),this.storage=t,this._opts=n=P({},n),this.root=e,this._id=`zr`+ tj++,this._oldVNode=$k(n.width,n.height),e&&!n.ssr){var r=this._viewport=document.createElement(`div`);r.style.cssText=`position:relative;overflow:hidden`;var i=this._svgDom=this._oldVNode.elm=Kk(`svg`);ZA(null,this._oldVNode),r.appendChild(i),e.appendChild(r)}this.resize(n.width,n.height)}return e.prototype.getType=function(){return this.type},e.prototype.getViewportRoot=function(){return this._viewport},e.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},e.prototype.getSvgDom=function(){return this._svgDom},e.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style=`position:absolute;left:0;top:0;user-select:none`,ej(this._oldVNode,e),this._oldVNode=e}},e.prototype.renderOneToVNode=function(e){return kA(e,Qk(this._id))},e.prototype.renderToVNode=function(e){e||={};var t=this.storage.getDisplayList(!0),n=this._width,r=this._height,i=Qk(this._id);i.animation=e.animation,i.willUpdate=e.willUpdate,i.compress=e.compress,i.emphasis=e.emphasis,i.ssr=this._opts.ssr;var a=[],o=this._bgVNode=ij(n,r,this._backgroundColor,i);o&&a.push(o);var s=e.compress?null:this._mainVNode=qk(`g`,`main`,{},[]);this._paintList(t,i,s?s.children:a),s&&a.push(s);var c=R(ye(i.defs),function(e){return i.defs[e]});if(c.length&&a.push(qk(`defs`,`defs`,{},c)),e.animation){var l=Zk(i.cssNodes,i.cssAnims,{newline:!0});if(l){var u=qk(`style`,`stl`,{},[],l);a.push(u)}}return $k(n,r,a,e.useViewBox)},e.prototype.renderToString=function(e){return e||={},Xk(this.renderToVNode({animation:W(e.cssAnimation,!0),emphasis:W(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:W(e.useViewBox,!0)}),{newline:!0})},e.prototype.setBackgroundColor=function(e){this._backgroundColor=e},e.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},e.prototype._paintList=function(e,t,n){for(var r=e.length,i=[],a=0,o,s,c=0,l=0;l=0&&!(d&&s&&d[m]===s[m]);m--);for(var h=p-1;h>m;h--)a--,o=i[a-1];for(var g=m+1;g=a}}for(var l=cj(this),u=l.startIdx;u=0)&&(a=!0)}),!(!a&&!i.__dirty)){var o=n._opts.useDirtyRect&&!sj(i)?i.createRepaintRects(e,t,n._width,n._height):null,s=n._i.layerStack[0],c=!0;if(i.__dirty){c=!1,i.__dirty=!1;var l=i.zlevel===s.zl&&i.zlevel2===s.zl2?n._backgroundColor:null;i.clear(!1,l,o)}xj(i,function(t){var a=n._paintPerCursor(i,t,e,o,c);r&&=a})}},Dj),y.wxa&&Cj(this._i,function(e){e&&e.ctx&&e.ctx.draw&&e.ctx.draw()}),r},e.prototype._paintPerCursor=function(e,t,n,r,i){var a=e.ctx;if(r)if(!r.length)t.drawIdx=t.endIdx;else for(var o=this.dpr,s=0;s=t.endIdx},e.prototype._paintPerCursorInRect=function(e,t,n,r,i){for(var a={inHover:!1,allClipped:!1,prevEl:null,viewWidth:this._width,viewHeight:this._height,beforeBrushParam:{contentRetained:i}},o=e.ctx,s=sj(e),c=s&&D.getTime(),l=t.drawIdx,u=t.notClearIdx,d=u>=0?Math.min(u,l):l;d15){d++;break}}}WS(o,a),t.drawIdx=Math.max(d,l)},e.prototype.getLayer=function(e,t){return this._ensureLayer(e,0,t)},e.prototype._ensureLayer=function(e,t,n){t||=0;var r=this._singleCanvas;r&&!this._needsManuallyCompositing&&(e=dj,t=0);var i=Sj(this._i,e)[t];return i||(i=_j(`zr_`+e+`.`+t,this,e,t),this._layerConfig[e]&&N(i,this._layerConfig[e],!0),(n||r&&e!==dj)&&(i.virtual=!0),this._insertLayer(i,e,t,!1),i.initContext()),i},e.prototype.insertLayer=function(e,t){this._insertLayer(t,e,0,!1)},e.prototype._insertLayer=function(e,t,n,r){var i=this._i,a=i.layers,o=i.layerStack,s=this._domRoot,c=null;if(!(a[t]&&a[t][n])&&hj(e)){for(var l=o.length,u=0;u0&&(c=Sj(i,o[u-1].zl)[o[u-1].zl2]),o.splice(u,0,{zl:t,zl2:n}),Sj(i,t)[n]=e,!r&&!e.virtual)if(c){var d=c.dom;d.nextSibling?s.insertBefore(e.dom,d.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom);e.painter||=this}},e.prototype.eachLayer=function(e,t){return Cj(this._i,function(n,r){e.call(t,n,r)})},e.prototype.eachBuiltinLayer=function(e,t){return Cj(this._i,function(n,r){e.call(t,n,r)},wj)},e.prototype.eachOtherLayer=function(e,t){return Cj(this._i,function(n,r){e.call(t,n,r)},Tj)},e.prototype.getLayers=function(){var e={};return Cj(this._i,function(t,n,r){e[t.id]=t}),e},e.prototype._updateLayerStatus=function(e,t){var n=this;if(n._singleCanvas)for(var r=1;r=0;a--){var o=i.get(r[a]);if(!o.used)t.__dirty=!0,i.removeKey(r[a]),r.splice(a,1);else{var s=o.endIdxNew;(sj(t)?s=0;r--){var i=t[r];if(i.zl===e){var a=n[e][i.zl2];if(a.__builtin__)continue;if(t.splice(r,1),n[e][i.zl2]=void 0,!a.virtual){var o=a.dom.parentNode;o&&o.removeChild(a.dom)}}}},e.prototype.resize=function(e,t){if(this._domRoot.style){var n=this._domRoot;n.style.display=`none`;var r=this._opts,i=this.root;e!=null&&(r.width=e),t!=null&&(r.height=t),e=hS(i,0,r),t=hS(i,1,r),n.style.display=``,(this._width!==e||t!==this._height)&&(n.style.width=e+`px`,n.style.height=t+`px`,Cj(this._i,function(n){n.resize(e,t)}),this.refresh({paintAll:!0})),this._width=e,this._height=t}else{if(e==null||t==null)return;this._width=e,this._height=t,this._ensureLayer(dj).resize(e,t)}return this},e.prototype.clearLayer=function(e){L(this._i.layers[e],function(e){e&&!e.__builtin__&&e.clear()})},e.prototype.dispose=function(){this.root.innerHTML=``,this.root=this.storage=this._domRoot=this._i=null},e.prototype.getRenderedCanvas=function(e){if(e||={},this._singleCanvas&&!this._compositeManually)return this._i.layers[dj][0].dom;var t=new lj(`image`,this,e.pixelRatio||this.dpr);t.initContext(),t.clear(!1,e.backgroundColor||this._backgroundColor);var n=t.ctx;if(e.pixelRatio<=this.dpr){this.refresh();var r=t.dom.width,i=t.dom.height;Cj(this._i,function(e){e.__builtin__?n.drawImage(e.dom,0,0,r,i):e.renderToCanvas&&(n.save(),e.renderToCanvas(n),n.restore())})}else{for(var a={inHover:!1,viewWidth:this._width,viewHeight:this._height,beforeBrushParam:{}},o=this.storage.getDisplayList(!0),s=0,c=o.length;s-1&&(s.style.stroke=s.style.fill,s.style.fill=Q.color.neutral00,s.style.lineWidth=2),t},t.type=`series.line`,t.dependencies=[`grid`,`polar`],t.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:6,symbolRotate:null,showSymbol:!0,showAllSymbol:`auto`,connectNulls:!1,sampling:`none`,animationEasing:`linear`,progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:`clone`},triggerLineEvent:!1,triggerEvent:!1},t}(Tb);function jj(e,t){var n=e.mapDimensionsAll(`defaultedLabel`),r=n.length;if(r===1){var i=dy(e,t,n[0]);return i==null?null:i+``}else if(r){for(var a=[],o=0;o=0&&r.push(t[a])}return r.join(` `)}var Nj=function(e){_(t,e);function t(t,n,r,i){var a=e.call(this)||this;return a.updateData(t,n,r,i),a}return t.prototype._createSymbol=function(e,t,n,r,i,a){this.removeAll();var o=oS(e,-1,-1,2,2,null,a);o.attr({z2:W(i,100),culling:!0,scaleX:r[0]/2,scaleY:r[1]/2}),o.drift=Pj,this._symbolType=e,this.add(o)},t.prototype.stopSymbolAnimation=function(e){this.childAt(0).stopAnimation(null,e)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){Kd(this.childAt(0))},t.prototype.downplay=function(){qd(this.childAt(0))},t.prototype.setZ=function(e,t){var n=this.childAt(0);n.zlevel=e,n.z=t},t.prototype.setDraggable=function(e,t){var n=this.childAt(0);n.draggable=e,n.cursor=!t&&e?`move`:n.cursor},t.prototype.updateData=function(e,n,r,i){this.silent=!1;var a=e.getItemVisual(n,`symbol`)||`circle`,o=e.hostModel,s=t.getSymbolSize(e,n),c=t.getSymbolZ2(e,n),l=a!==this._symbolType,u=i&&i.disableAnimation;if(l){var d=e.getItemVisual(n,`symbolKeepAspect`);this._createSymbol(a,e,n,s,c,d)}else{var f=this.childAt(0);f.silent=!1;var p={scaleX:s[0]/2,scaleY:s[1]/2};u?f.attr(p):Yp(f,p,o,n),tm(f)}if(this._updateCommon(e,n,s,r,i),l){var f=this.childAt(0);if(!u){var p={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:f.style.opacity}};f.scaleX=f.scaleY=0,f.style.opacity=0,Xp(f,p,o,n)}}u&&this.childAt(0).stopAnimation(`leave`)},t.prototype._updateCommon=function(e,t,n,r,i){var a=this.childAt(0),o=e.hostModel,s,c,l,u,d,f,p,m,h;if(r&&(s=r.emphasisItemStyle,c=r.blurItemStyle,l=r.selectItemStyle,u=r.focus,d=r.blurScope,p=r.labelStatesModels,m=r.hoverScale,h=r.cursorStyle,f=r.emphasisDisabled),!r||e.hasItemOption){var g=r&&r.itemModel?r.itemModel:e.getItemModel(t),_=g.getModel(`emphasis`);s=_.getModel(`itemStyle`).getItemStyle(),l=g.getModel([`select`,`itemStyle`]).getItemStyle(),c=g.getModel([`blur`,`itemStyle`]).getItemStyle(),u=_.get(`focus`),d=_.get(`blurScope`),f=_.get(`disabled`),p=th(g),m=_.getShallow(`scale`),h=g.getShallow(`cursor`)}var v=e.getItemVisual(t,`symbolRotate`);a.attr(`rotation`,(v||0)*Math.PI/180||0);var y=cS(e.getItemVisual(t,`symbolOffset`),n);y&&(a.x=y[0],a.y=y[1]),h&&a.attr(`cursor`,h);var b=e.getItemVisual(t,`style`),x=b.fill;if(a instanceof Ou){var S=a.style;a.useStyle(P({image:S.image,x:S.x,y:S.y,width:S.width,height:S.height},b))}else a.__isEmptyBrush?a.useStyle(P({},b)):a.useStyle(b),a.style.decal=null,a.setColor(x,i&&i.symbolInnerColor),a.style.strokeNoScale=!0;var C=e.getItemVisual(t,`liftZ`),w=this._z2;C==null?w!=null&&(a.z2=w,this._z2=null):w??(this._z2=a.z2,a.z2+=C);var T=i&&i.useNameLabel;eh(a,p,{labelFetcher:o,labelDataIndex:t,defaultText:E,inheritColor:x,defaultOpacity:b.opacity});function E(t){return T?e.getName(t):jj(e,t)}this._sizeX=n[0]/2,this._sizeY=n[1]/2;var D=a.ensureState(`emphasis`);D.style=s,a.ensureState(`select`).style=l,a.ensureState(`blur`).style=c;var O=m==null||m===!0?Math.max(1.1,3/this._sizeY):isFinite(m)&&m>0?+m:1;D.scaleX=this._sizeX*O,D.scaleY=this._sizeY*O,this.setSymbolScale(1),ff(this,u,d,f)},t.prototype.setSymbolScale=function(e){this.scaleX=this.scaleY=e},t.prototype.fadeOut=function(e,t,n){var r=this.childAt(0),i=Z(this).dataIndex,a=n&&n.animation;if(this.silent=r.silent=!0,n&&n.fadeLabel){var o=r.getTextContent();o&&Qp(o,{style:{opacity:0}},t,{dataIndex:i,removeOpt:a,cb:function(){r.removeTextContent()}})}else r.removeTextContent();Qp(r,{style:{opacity:0},scaleX:0,scaleY:0},t,{dataIndex:i,cb:e,removeOpt:a})},t.getSymbolSize=function(e,t){return sS(e.getItemVisual(t,`symbolSize`))},t.getSymbolZ2=function(e,t){return e.getItemVisual(t,`z2`)},t}(Y);function Pj(e,t){this.parent.drift(e,t)}function Fj(e,t,n,r){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(r&&r.isIgnore&&r.isIgnore(n))&&!(r&&r.clipShape&&!r.clipShape.contain(t[0],t[1]))&&e.getItemVisual(n,`symbol`)!==`none`}function Ij(e){return e!=null&&!U(e)&&(e={isIgnore:e}),e||{}}function Lj(e){var t=e.hostModel,n=t.getModel(`emphasis`);return{emphasisItemStyle:n.getModel(`itemStyle`).getItemStyle(),blurItemStyle:t.getModel([`blur`,`itemStyle`]).getItemStyle(),selectItemStyle:t.getModel([`select`,`itemStyle`]).getItemStyle(),focus:n.get(`focus`),blurScope:n.get(`blurScope`),emphasisDisabled:n.get(`disabled`),hoverScale:n.get(`scale`),labelStatesModels:th(t),cursorStyle:t.get(`cursor`)}}function Rj(e,t,n,r,i,a,o){var s=new e(t,n,r,i);return s.setPosition(a),t.setItemGraphicEl(n,s),o.add(s),s}var zj=function(){function e(e){this.group=new Y,this._SymbolCtor=e||Nj}return e.prototype.updateData=function(e,t){this._progressiveEls=null,t=Ij(t);var n=this.group,r=e.hostModel,i=this._data,a=this._SymbolCtor,o=t.disableAnimation,s=this._seriesScope=Lj(e),c={disableAnimation:o},l=t.getSymbolPoint||function(t){return e.getItemLayout(t)};i||n.removeAll(),e.diff(i).add(function(r){var i=l(r);Fj(e,i,r,t)&&Rj(a,e,r,s,c,i,n)}).update(function(u,d){var f=i.getItemGraphicEl(d),p=l(u);if(!Fj(e,p,u,t)){n.remove(f);return}var m=e.getItemVisual(u,`symbol`)||`circle`,h=f&&f.getSymbolType&&f.getSymbolType();if(!f||h&&h!==m)n.remove(f),f=new a(e,u,s,c),f.setPosition(p);else{f.updateData(e,u,s,c);var g={x:p[0],y:p[1]};o?f.attr(g):Yp(f,g,r)}n.add(f),e.setItemGraphicEl(u,f)}).remove(function(e){var t=i.getItemGraphicEl(e);t&&t.fadeOut(function(){n.remove(t)},r)}).execute(),this._getSymbolPoint=l,this._data=e},e.prototype.updateLayout=function(e){var t=this._data;if(t)for(var n=this,r=t.getStore(),i=0,a=r.count();i0?n=r[0]:r[1]<0&&(n=r[1]),n}function Hj(e,t,n,r){var i=NaN;e.stacked&&(i=n.get(n.getCalculationInfo(`stackedOverDimension`),r)),isNaN(i)&&(i=e.valueStart);var a=e.baseDataOffset,o=[];return o[a]=n.get(e.baseDim,r),o[1-a]=i,t.dataToPoint(o)}function Uj(e,t){return!isFinite(e)||!isFinite(t)}var Wj=typeof Float32Array<`u`?Float32Array:void 0,Gj=typeof Float64Array<`u`?Float64Array:void 0;function Kj(e){return qj({ctor:Wj},e).arr}function qj(e,t){var n=e.arr,r=e.ctor;if(t>qo&&(t=qo),!n||e.typed&&n.length=i||h<0)break;if(Uj(_,v)){if(c){h+=a;continue}break}if(h===n)e[a>0?`moveTo`:`lineTo`](_,v),d=_,f=v;else{var y=_-l,b=v-u;if(y*y+b*b<.5){h+=a;continue}if(o>0){for(var x=h+a,S=t[x*2],C=t[x*2+1];S===_&&C===v&&g=r||Uj(S,C))p=_,m=v;else{E=S-l,D=C-u;var A=_-l,j=S-_,ee=v-u,te=C-v,ne=void 0,re=void 0;if(s===`x`){ne=Math.abs(A),re=Math.abs(j);var ie=E>0?1:-1;p=_-ie*ne*o,m=v,O=_+ie*re*o,k=v}else if(s===`y`){ne=Math.abs(ee),re=Math.abs(te);var ae=D>0?1:-1;p=_,m=v-ae*ne*o,O=_,k=v+ae*re*o}else ne=Math.sqrt(A*A+ee*ee),re=Math.sqrt(j*j+te*te),T=re/(re+ne),p=_-E*o*(1-T),m=v-D*o*(1-T),O=_+E*o*T,k=v+D*o*T,O=Xj(O,Zj(S,_)),k=Xj(k,Zj(C,v)),O=Zj(O,Xj(S,_)),k=Zj(k,Xj(C,v)),E=O-_,D=k-v,p=_-E*ne/re,m=v-D*ne/re,p=Xj(p,Zj(l,_)),m=Xj(m,Zj(u,v)),p=Zj(p,Xj(l,_)),m=Zj(m,Xj(u,v)),E=_-p,D=v-m,O=_+E*re/ne,k=v+D*re/ne}e.bezierCurveTo(d,f,p,m,_,v),d=O,f=k}else e.lineTo(_,v)}l=_,u=v,h+=a}return g}var $j=function(){function e(){this.smooth=0,this.smoothConstraint=!0}return e}(),eM=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`ec-polyline`,n}return t.prototype.getDefaultStyle=function(){return{stroke:Q.color.neutral99,fill:null}},t.prototype.getDefaultShape=function(){return new $j},t.prototype.buildPath=function(e,t){var n=t.points,r=0,i=n.length/2;if(t.connectNulls){for(;i>0&&Uj(n[i*2-2],n[i*2-1]);i--);for(;r=0){var _=o?(d-a)*g+a:(u-i)*g+i;return o?[e,_]:[_,e]}i=u,a=d;break;case r.C:u=n[c++],d=n[c++],f=n[c++],p=n[c++],m=n[c++],h=n[c++];var v=o?hr(i,u,f,m,e,s):hr(a,d,p,h,e,s);if(v>0)for(var y=0;y=0){var _=o?pr(a,d,p,h,b):pr(i,u,f,m,b);return o?[e,_]:[_,e]}}i=m,a=h;break}}},t}(Su),tM=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}($j),nM=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`ec-polygon`,n}return t.prototype.getDefaultShape=function(){return new tM},t.prototype.buildPath=function(e,t){var n=t.points,r=t.stackedOnPoints,i=0,a=n.length/2,o=t.smoothMonotone;if(t.connectNulls){for(;a>0&&Uj(n[a*2-2],n[a*2-1]);a--);for(;i=0,a=e.fill||Q.color.neutral99;mM(r,t);var o=r.textFill==null;return i?o&&(r.textFill=n.insideFill||Q.color.neutral00,!r.textStroke&&n.insideStroke&&(r.textStroke=n.insideStroke),!r.textStroke&&(r.textStroke=a),r.textStrokeWidth??=2):(o&&(r.textFill=e.fill||n.outsideFill||Q.color.neutral00),!r.textStroke&&n.outsideStroke&&(r.textStroke=n.outsideStroke)),r.text=t.text,r.rich=t.rich,L(t.rich,function(e){mM(e,e)}),r}function mM(e,t){t&&(K(t,`fill`)&&(e.textFill=t.fill),K(t,`stroke`)&&(e.textStroke=t.fill),K(t,`lineWidth`)&&(e.textStrokeWidth=t.lineWidth),K(t,`font`)&&(e.font=t.font),K(t,`fontStyle`)&&(e.fontStyle=t.fontStyle),K(t,`fontWeight`)&&(e.fontWeight=t.fontWeight),K(t,`fontSize`)&&(e.fontSize=t.fontSize),K(t,`fontFamily`)&&(e.fontFamily=t.fontFamily),K(t,`align`)&&(e.textAlign=t.align),K(t,`verticalAlign`)&&(e.textVerticalAlign=t.verticalAlign),K(t,`lineHeight`)&&(e.textLineHeight=t.lineHeight),K(t,`width`)&&(e.textWidth=t.width),K(t,`height`)&&(e.textHeight=t.height),K(t,`backgroundColor`)&&(e.textBackgroundColor=t.backgroundColor),K(t,`padding`)&&(e.textPadding=t.padding),K(t,`borderColor`)&&(e.textBorderColor=t.borderColor),K(t,`borderWidth`)&&(e.textBorderWidth=t.borderWidth),K(t,`borderRadius`)&&(e.textBorderRadius=t.borderRadius),K(t,`shadowColor`)&&(e.textBoxShadowColor=t.shadowColor),K(t,`shadowBlur`)&&(e.textBoxShadowBlur=t.shadowBlur),K(t,`shadowOffsetX`)&&(e.textBoxShadowOffsetX=t.shadowOffsetX),K(t,`shadowOffsetY`)&&(e.textBoxShadowOffsetY=t.shadowOffsetY),K(t,`textShadowColor`)&&(e.textShadowColor=t.textShadowColor),K(t,`textShadowBlur`)&&(e.textShadowBlur=t.textShadowBlur),K(t,`textShadowOffsetX`)&&(e.textShadowOffsetX=t.textShadowOffsetX),K(t,`textShadowOffsetY`)&&(e.textShadowOffsetY=t.textShadowOffsetY))}function hM(e,t){if(e.length===t.length){for(var n=0;nt){a?n.push(o(a,c,t)):i&&n.push(o(i,c,0),o(i,c,t));break}else i&&=(n.push(o(i,c,0)),null),n.push(c),a=c}return n}function SM(e,t,n){var r=e.getVisual(`visualMeta`);if(!(!r||!r.length||!e.count())&&t.type===`cartesian2d`){for(var i,a,o=r.length-1;o>=0;o--){var s=e.getDimensionInfo(r[o].dimension);if(i=s&&s.coordDim,i===`x`||i===`y`){a=r[o];break}}if(a){var c=t.getAxis(i),l=R(a.stops,function(e){return{coord:c.toGlobalCoord(c.dataToCoord(e.value)),color:e.color}}),u=l.length,d=a.outerColors.slice();u&&l[0].coord>l[u-1].coord&&(l.reverse(),d.reverse());var f=xM(l,i===`x`?n.getWidth():n.getHeight()),p=f.length;if(!p&&u)return l[0].coord<0?d[1]?d[1]:l[u-1].color:d[0]?d[0]:l[0].color;var m=10,h=f[0].coord-m,g=f[p-1].coord+m,_=g-h;if(_<.001)return`transparent`;L(f,function(e){e.offset=(e.coord-h)/_}),f.push({offset:p?f[p-1].offset:.5,color:d[1]||`transparent`}),f.unshift({offset:p?f[0].offset:.5,color:d[0]||`transparent`});var v=new Np(0,0,0,0,f,!0);return v[i]=h,v[i+`2`]=g,v}}}function CM(e,t,n){var r=e.get(`showAllSymbol`),i=r===`auto`;if(!(r&&!i)){var a=n.getAxesByScale(`ordinal`)[0];if(a&&!(i&&wM(a,t))){var o=t.mapDimension(a.dim),s={};return L(a.getViewLabels(),function(e){e.tick.offInterval||(s[UE(a.scale,e.tick)]=1)}),function(e){return!s.hasOwnProperty(t.get(o,e))}}}}function wM(e,t){var n=e.getExtent(),r=Math.abs(n[1]-n[0])/e.scale.count();isNaN(r)&&(r=0);for(var i=t.count(),a=Math.max(1,Math.round(i/5)),o=0;or)return!1;return!0}function TM(e){for(var t=e.length/2;t>0&&Uj(e[t*2-2],e[t*2-1]);t--);return t-1}function EM(e,t){return[e[t*2],e[t*2+1]]}function DM(e,t,n){for(var r=e.length/2,i=n===`x`?0:1,a,o,s=0,c=-1,l=0;l=t||a>=t&&o<=t){c=l;break}s=l,a=o}return{range:[s,c],t:(t-a)/(o-a)}}function OM(e){if(e.get([`endLabel`,`show`]))return!0;for(var t=0;t0&&e.get([`emphasis`,`lineStyle`,`width`])===`bolder`){var ee=f.getState(`emphasis`).style;ee.lineWidth=+f.style.lineWidth+1}Z(f).seriesIndex=e.seriesIndex,ff(f,k,A,j);var te=vM(e.get(`smooth`)),ne=e.get(`smoothMonotone`);if(f.setShape({smooth:te,smoothMonotone:ne,connectNulls:x}),p){var re=a.getCalculationInfo(`stackedOnSeries`),ie=0;p.useStyle(F(s.getAreaStyle(),{fill:E,opacity:.7,lineJoin:`bevel`,decal:a.getVisual(`style`).decal})),re&&(ie=vM(re.get(`smooth`))),p.setShape({smooth:te,stackedOnSmooth:ie,smoothMonotone:ne,connectNulls:x}),gf(p,e,`areaStyle`),Z(p).seriesIndex=e.seriesIndex,ff(p,k,A,j)}var ae=this._changePolyState;a.eachItemGraphicEl(function(e){e&&(e.onHoverStateChange=ae)}),this._polyline.onHoverStateChange=ae,this._data=a,this._coordSys=r,this._stackedOnPoints=y,this._points=c,this._step=w,this._valueOrigin=_;var oe=e.get(`triggerEvent`),se=e.get(`triggerLineEvent`),ce=se===!0||oe===!0||oe===`line`,le=se===!0||oe===!0||oe===`area`;this.packEventData(e,f,ce),p&&this.packEventData(e,p,le)},t.prototype.packEventData=function(e,t,n){Z(t).eventData=n?{componentType:`series`,componentSubType:`line`,componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:`line`,selfType:t===this._polygon?`area`:`line`}:null},t.prototype.highlight=function(e,t,n,r){var i=e.getData(),a=zs(i,r);if(this._changePolyState(`emphasis`),!(a instanceof Array)&&a!=null&&a>=0){var o=i.getLayout(`points`),s=i.getItemGraphicEl(a);if(!s){var c=o[a*2],l=o[a*2+1];if(Uj(c,l)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(c,l))return;var u=e.get(`zlevel`)||0,d=e.get(`z`)||0;s=new Nj(i,a),s.x=c,s.y=l,s.setZ(u,d);var f=s.getSymbolPath().getTextContent();f&&(f.zlevel=u,f.z=d,f.z2=this._polyline.z2+1),s.__temp=!0,i.setItemGraphicEl(a,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else Rb.prototype.highlight.call(this,e,t,n,r)},t.prototype.downplay=function(e,t,n,r){var i=e.getData(),a=zs(i,r);if(this._changePolyState(`normal`),a!=null&&a>=0){var o=i.getItemGraphicEl(a);o&&(o.__temp?(i.setItemGraphicEl(a,null),this.group.remove(o)):o.downplay())}else Rb.prototype.downplay.call(this,e,t,n,r)},t.prototype._changePolyState=function(e){var t=this._polygon;Ld(this._polyline,e),t&&Ld(t,e)},t.prototype._newPolyline=function(e){var t=this._polyline;return t&&this._lineGroup.remove(t),t=new eM({shape:{points:e},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(t),this._polyline=t,t},t.prototype._newPolygon=function(e,t){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new nM({shape:{points:e,stackedOnPoints:t},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},t.prototype._initSymbolLabelAnimation=function(e,t,n){var r,i,a=t.getBaseAxis(),o=a.inverse;t.type===`cartesian2d`?(r=a.isHorizontal(),i=!1):t.type===`polar`&&(r=a.dim===`angle`,i=!0);var s=e.hostModel,c=s.get(`animationDuration`);V(c)&&(c=c(null));var l=s.get(`animationDelay`)||0,u=V(l)?l(null):l;e.eachItemGraphicEl(function(e,a){var s=e;if(s){var d=[e.x,e.y],f=void 0,p=void 0,m=void 0;if(n)if(i){var h=n,g=t.pointToCoord(d);r?(f=h.startAngle,p=h.endAngle,m=-g[1]/180*Math.PI):(f=h.r0,p=h.r,m=g[0])}else{var _=n;r?(f=_.x,p=_.x+_.width,m=e.x):(f=_.y+_.height,p=_.y,m=e.y)}var v=p===f?0:(m-f)/(p-f);o&&(v=1-v);var y=V(l)?l(a):c*v+u,b=s.getSymbolPath(),x=b.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:y}),x&&x.animateFrom({style:{opacity:0}},{duration:300,delay:y}),b.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(e,t,n){var r=e.getModel(`endLabel`);if(OM(e)){var i=e.getData(),a=this._polyline,o=i.getLayout(`points`);if(!o){a.removeTextContent(),this._endLabel=null;return}var s=this._endLabel;s||(s=this._endLabel=new Vu({z2:200}),s.ignoreClip=!0,a.setTextContent(this._endLabel),a.disableLabelAnimation=!0);var c=TM(o);c>=0&&(eh(a,th(e,`endLabel`),{inheritColor:n,labelFetcher:e,labelDataIndex:c,defaultText:function(e,t,n){return n==null?jj(i,e):Mj(i,n)},enableTextSetter:!0},AM(r,t)),a.textConfig.position=null)}else this._endLabel&&=(this._polyline.removeTextContent(),null)},t.prototype._endLabelOnDuring=function(e,t,n,r,i,a,o){var s=this._endLabel,c=this._polyline;if(s){e<1&&r.originalX==null&&(r.originalX=s.x,r.originalY=s.y);var l=n.getLayout(`points`),u=n.hostModel,d=u.get(`connectNulls`),f=a.get(`precision`),p=a.get(`distance`)||0,m=o.getBaseAxis(),h=m.isHorizontal(),g=m.inverse,_=t.shape,v=g?h?_.x:_.y+_.height:h?_.x+_.width:_.y,y=(h?p:0)*(g?-1:1),b=(h?0:-p)*(g?-1:1),x=h?`x`:`y`,S=DM(l,v,x),C=S.range,w=C[1]-C[0],T=void 0;if(w>=1){if(w>1&&!d){var E=EM(l,C[0]);s.attr({x:E[0]+y,y:E[1]+b}),i&&(T=u.getRawValue(C[0]))}else{var E=c.getPointOn(v,x);E&&s.attr({x:E[0]+y,y:E[1]+b});var D=u.getRawValue(C[0]),O=u.getRawValue(C[1]);i&&(T=Qs(n,f,D,O,S.t))}r.lastFrameIndex=C[0]}else{var k=e===1||r.lastFrameIndex>0?C[0]:0,E=EM(l,k);i&&(T=u.getRawValue(k)),s.attr({x:E[0]+y,y:E[1]+b})}if(i){var A=dh(s);typeof A.setLabelText==`function`&&A.setLabelText(T)}}},t.prototype._doUpdateAnimation=function(e,t,n,r,i,a,o){var s=this._polyline,c=this._polygon,l=e.hostModel,u=Yj(this._data,e,this._stackedOnPoints,t,this._coordSys,n,this._valueOrigin,a),d=u.current,f=u.stackedOnCurrent,p=u.next,m=u.stackedOnNext;if(i&&(f=bM(u.stackedOnCurrent,u.current,n,i,o),d=bM(u.current,null,n,i,o),m=bM(u.stackedOnNext,u.next,n,i,o),p=bM(u.next,null,n,i,o)),_M(d,p)>3e3||c&&_M(f,m)>3e3){s.stopAnimation(),s.setShape({points:p}),c&&(c.stopAnimation(),c.setShape({points:p,stackedOnPoints:m}));return}s.shape.__points=u.current,s.shape.points=d;var h={shape:{points:p}};u.current!==d&&(h.shape.__points=u.next),s.stopAnimation(),Yp(s,h,l),c&&(c.setShape({points:d,stackedOnPoints:f}),c.stopAnimation(),Yp(c,{shape:{stackedOnPoints:m}},l),s.shape.points!==c.shape.points&&(c.shape.points=s.shape.points));for(var g=[],_=u.status,v=0;v<_.length;v++)if(_[v].cmd===`=`){var y=e.getItemGraphicEl(_[v].idx1);y&&g.push({el:y,ptIdx:v})}s.animators&&s.animators.length&&s.animators[0].during(function(){c&&c.dirtyShape();for(var e=s.shape.__points,t=0;tt&&(t=e[n]);return isFinite(t)?t:NaN},min:function(e){for(var t=1/0,n=0;n10&&a.type===`cartesian2d`&&i){var s=a.getBaseAxis(),c=a.getOtherAxis(s),l=s.getExtent(),u=n.getDevicePixelRatio(),d=Math.abs(l[1]-l[0])*(u||1),f=Math.round(o/d);if(isFinite(f)&&f>1){i===`lttb`?e.setData(r.lttbDownSample(r.mapDimension(c.dim),1/f)):i===`minmax`&&e.setData(r.minmaxDownSample(r.mapDimension(c.dim),1/f));var p=void 0;H(i)?p=NM[i]:V(i)&&(p=i),p&&e.setData(r.downSample(r.mapDimension(c.dim),1/f,p,PM))}}}}}function IM(e){e.registerChartView(jM),e.registerSeriesModel(Aj),e.registerLayout(MM(`line`,!0)),e.registerVisual({seriesType:`line`,reset:function(e){var t=e.getData(),n=e.getModel(`lineStyle`).getLineStyle();n&&!n.stroke&&(n.stroke=t.getVisual(`style`).fill),t.setVisual(`legendLineStyle`,n)}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,FM(`line`))}var LM=function(e){_(t,e);function t(t,n,r,i,a){var o=e.call(this,t,n,r)||this;return o.index=0,o.type=i||`value`,o.position=a||`bottom`,o}return t.prototype.isHorizontal=function(){var e=this.position;return e===`top`||e===`bottom`},t.prototype.getGlobalExtent=function(e){var t=this.getExtent();return t[0]=this.toGlobalCoord(t[0]),t[1]=this.toGlobalCoord(t[1]),e&&t[0]>t[1]&&t.reverse(),t},t.prototype.pointToData=function(e,t){return this.coordToData(this.toLocalCoord(e[this.dim===`x`?0:1]),t)},t.prototype.setCategorySortInfo=function(e){if(this.type!==`category`)return!1;this.model.option.categorySortInfo=e,this.scale.setSortInfo(e)},t}(DO),RM=null;function zM(e){RM||=e}function BM(){return RM}var VM=`expandAxisBreak`,HM=`collapseAxisBreak`,UM=`toggleAxisBreak`,WM=`axisbreakchanged`,GM={type:VM,event:WM,update:`update`,refineEvent:JM},KM={type:HM,event:WM,update:`update`,refineEvent:JM},qM={type:UM,event:WM,update:`update`,refineEvent:JM};function JM(e,t,n,r){var i=[];return L(e,function(e){i=i.concat(e.eventBreaks)}),{eventContent:{breaks:i}}}function YM(e){e.registerAction(GM,t),e.registerAction(KM,t),e.registerAction(qM,t);function t(e,t){var n=[],r=Hs(t,e);function i(t,i){L(r[t],function(t){L(t.updateAxisBreaks(e).breaks,function(e){var r;n.push(F((r={},r[i]=t.componentIndex,r),e))})})}return i(`xAxisModels`,`xAxisIndex`),i(`yAxisModels`,`yAxisIndex`),i(`singleAxisModels`,`singleAxisIndex`),{eventBreaks:n}}}var XM=Math.PI,ZM=[[1,2,1,2],[5,3,5,3],[8,3,8,3]],QM=[[0,1,0,1],[0,3,0,3],[0,3,0,3]],$M=Bs(),eN=Bs(),tN=function(){function e(e){this.recordMap={},this.resolveAxisNameOverlap=e}return e.prototype.ensureRecord=function(e){var t=e.axis.dim,n=e.componentIndex,r=this.recordMap,i=r[t]||(r[t]=[]);return i[n]||(i[n]={ready:{}})},e}();function nN(e,t,n,r){var i=n.axis,a=t.ensureRecord(n),o=[],s,c=EN(e.axisName)&&RE(e.nameLocation);L(r,function(e){var t=ok(e);if(!(!t||t.label.ignore)){o.push(t);var n=a.transGroup;c&&(n.transform?nn(rN,n.transform):Xt(rN),t.transform&&Qt(rN,rN,t.transform),J.copy(iN,t.localRect),iN.applyTransform(rN),s?s.union(iN):J.copy(s=new J(0,0,0,0),iN))}});var l=Math.abs(a.dirVec.x)>.1?`x`:`y`,u=a.transGroup[l];if(o.sort(function(e,t){return Math.abs(e.label[l]-u)-Math.abs(t.label[l]-u)}),c&&s){var d=i.getExtent(),f=Math.min(d[0],d[1]),p=Math.max(d[0],d[1])-f;s.union(new J(f,0,p,1))}a.stOccupiedRect=s,a.labelInfoList=o}var rN=Yt(),iN=new J(0,0,0,0),aN=function(e,t,n,r,i,a){if(RE(e.nameLocation)){var o=a.stOccupiedRect;o&&oN(lk({},o,a.transGroup.transform),r,i)}else sN(a.labelInfoList,a.dirVec,r,i)};function oN(e,t,n){var r=new q;gk(e,t,r,{direction:Math.atan2(n.y,n.x),bidirectional:!1,touchThreshold:.05})&&uk(t,r)}function sN(e,t,n,r){for(var i=q.dot(r,t)>=0,a=0,o=e.length;a0?`top`:`bottom`,i=`center`):Yo(r-XM)?(a=n>0?`bottom`:`top`,i=`center`):(a=`middle`,i=r>0&&r0?`right`:`left`:n>0?`left`:`right`),{rotation:r,textAlign:i,textVerticalAlign:a}},e.makeAxisEventDataBase=function(e){var t={componentType:e.mainType,componentIndex:e.componentIndex};return t[e.mainType+`Index`]=e.componentIndex,t},e.isLabelSilent=function(e){var t=e.get(`tooltip`);return e.get(`silent`)||!(e.get(`triggerEvent`)||t&&t.show)},e}(),lN=[`axisLine`,`axisTickLabelEstimate`,`axisTickLabelDetermine`,`axisName`],uN={axisLine:function(e,t,n,r,i,a,o){var s=r.get([`axisLine`,`show`]);if(s===`auto`&&(s=!0,e.raw.axisLineAutoShow!=null&&(s=!!e.raw.axisLineAutoShow)),s){var c=r.axis.getExtent(),l=a.transform,u=[c[0],0],d=[c[1],0],f=u[0]>d[0];l&&(pt(u,u,l),pt(d,d,l));var p=P({lineCap:`round`},r.getModel([`axisLine`,`lineStyle`]).getLineStyle()),m={strokeContainThreshold:e.raw.strokeContainThreshold||5,silent:!0,z2:1,style:p};if(r.get([`axisLine`,`breakLine`])&&Jh(r.axis.scale))BM().buildAxisBreakLine(r,i,a,m);else{var h=new wp(P({shape:{x1:u[0],y1:u[1],x2:d[0],y2:d[1]}},m));_m(h.shape,h.style.lineWidth),h.anid=`line`,i.add(h)}var g=r.get([`axisLine`,`symbol`]);if(g!=null){var _=r.get([`axisLine`,`symbolSize`]);H(g)&&(g=[g,g]),(H(_)||Ce(_))&&(_=[_,_]);var v=cS(r.get([`axisLine`,`symbolOffset`])||0,_),y=_[0],b=_[1];L([{rotate:e.rotation+Math.PI/2,offset:v[0],r:0},{rotate:e.rotation-Math.PI/2,offset:v[1],r:Math.sqrt((u[0]-d[0])*(u[0]-d[0])+(u[1]-d[1])*(u[1]-d[1]))}],function(t,n){if(g[n]!==`none`&&g[n]!=null){var r=oS(g[n],-y/2,-b/2,y,b,p.stroke,!0),a=t.r+t.offset,o=f?d:u;r.attr({rotation:t.rotate,x:o[0]+a*Math.cos(e.rotation),y:o[1]-a*Math.sin(e.rotation),silent:!0,z2:11}),i.add(r)}})}}},axisTickLabelEstimate:function(e,t,n,r,i,a,o,s){yN(t,i,s)&&dN(e,t,n,r,i,a,o,nO.estimate)},axisTickLabelDetermine:function(e,t,n,r,i,a,o,s){yN(t,i,s)&&dN(e,t,n,r,i,a,o,nO.determine);var c=_N(e,i,a,r);mN(e,t.labelLayoutList,c),vN(e,i,a,r,e.tickDirection)},axisName:function(e,t,n,r,i,a,o,s){var c=n.ensureRecord(r);t.nameEl&&=(i.remove(t.nameEl),c.nameLayout=c.nameLocation=null);var l=e.axisName;if(EN(l)){var u=e.nameLocation,d=e.nameDirection,f=r.getModel(`nameTextStyle`),p=r.get(`nameGap`)||0,m=r.axis.getExtent(),h=r.axis.inverse?-1:1,g=new q(0,0),_=new q(0,0);u===`start`?(g.x=m[0]-h*p,_.x=-h):u===`end`?(g.x=m[1]+h*p,_.x=h):(g.x=(m[0]+m[1])/2,g.y=e.labelOffset+d*p,_.y=d);var v=Yt();_.transform(en(v,v,e.rotation));var y=r.get(`nameRotate`);y!=null&&(y=y*XM/180);var b,x;RE(u)?b=cN.innerTextLayout(e.rotation,y??e.rotation,d):(b=fN(e.rotation,u,y||0,m),x=e.raw.axisNameAvailableWidth,x!=null&&(x=Math.abs(x/Math.sin(b.rotation)),!isFinite(x)&&(x=null)));var S=f.getFont(),C=r.get(`nameTruncate`,!0)||{},w=C.ellipsis,T=je(e.raw.nameTruncateMaxWidth,C.maxWidth,x),E=s.nameMarginLevel||0,D=new Vu({x:g.x,y:g.y,rotation:b.rotation,silent:cN.isLabelSilent(r),style:nh(f,{text:l,font:S,overflow:`truncate`,width:T,ellipsis:w,fill:f.getTextColor()||r.get([`axisLine`,`lineStyle`,`color`]),align:f.get(`align`)||b.textAlign,verticalAlign:f.get(`verticalAlign`)||b.textVerticalAlign}),z2:1});if(Im({el:D,componentModel:r,itemName:l}),D.__fullText=l,D.anid=`name`,r.get(`triggerEvent`)){var O=cN.makeAxisEventDataBase(r);O.targetType=`axisName`,O.name=l,Z(D).eventData=O}a.add(D),D.updateTransform(),t.nameEl=D;var k=c.nameLayout=ok({label:D,priority:D.z2,defaultAttr:{ignore:D.ignore},marginDefault:RE(u)?ZM[E]:QM[E]});if(c.nameLocation=u,i.add(D),D.decomposeTransform(),e.shouldNameMoveOverlap&&k){var A=n.ensureRecord(r);n.resolveAxisNameOverlap(e,n,r,k,_,A)}}}};function dN(e,t,n,r,i,a,o,s){xN(t)||bN(e,t,i,s,r,o);var c=t.labelLayoutList;CN(e,r,c,a),ON(r,e.rotation,c);var l=e.optionHideOverlap;pN(r,c,l),l&&hk(_e(c,function(e){return e&&!e.label.ignore})),nN(e,n,r,c)}function fN(e,t,n,r){var i=Jo(n-e),a,o,s=r[0]>r[1],c=t===`start`&&!s||t!==`start`&&s;return Yo(i-XM/2)?(o=c?`bottom`:`top`,a=`center`):Yo(i-XM*1.5)?(o=c?`top`:`bottom`,a=`center`):(o=`middle`,a=iXM/2?c?`left`:`right`:c?`right`:`left`),{rotation:i,textAlign:a,textVerticalAlign:o}}function pN(e,t,n){var r=e.axis,i=e.get([`axisLabel`,`customValues`]);if(IE(r))return;function a(e,a,o){var s=ok(t[a]),c=ok(t[o]),l=r.scale;if(!(!s||!c)){if(e==null){if(!n&&i)return;var u=$M(s.label).labelInfo.tick;if(KT(l)&&u.notNice||JT(l)&&u.offInterval){hN(s.label);return}}if(e===!1||s.suggestIgnore){hN(s.label);return}if(c.suggestIgnore){hN(c.label);return}var d=.1;if(!n){var f=[0,0,0,0];s=dk({marginForce:f},s),c=dk({marginForce:f},c)}gk(s,c,null,{touchThreshold:d})&&hN(e?c.label:s.label)}}var o=e.get([`axisLabel`,`showMinLabel`]),s=e.get([`axisLabel`,`showMaxLabel`]),c=t.length;a(o,0,1),a(s,c-1,c-2)}function mN(e,t,n){e.showMinorTicks||L(t,function(e){if(e&&e.label.ignore)for(var t=0;t=0&&n(r,e,t.getStore())})}var p=0;if(f(function(e,t,n){r.set(t.uid,1),(!i||!i.hasKey(t.uid))&&(o=!0),p+=n.count()}),(!i||i.keys().length!==r.keys().length)&&(o=!0),!o&&a!=null){t.liPosMinGap=a;return}qj(LN,p);var m=0;f(function(e,t,n){for(var r=0,i=n.count();r0&&v0?-2:-1,n.serUids=r}var LN=qj({ctor:Gj},50);function RN(e){return function(t,n){var r=CO(t,{fromStat:{key:e}});if(cs(r.w2))return[-r.w2/2,r.w2/2]}}function zN(e){return e+`|&`}function BN(e,t){return e+`|&`+t}function VN(e){return FN(),{liPosMinGap:!JT(e.scale)}}var HN=`pictorialBar`;function UN(e,t,n,r){dD(e,{key:t,seriesType:n,coordSysType:r,getMetrics:VN})}function WN(e){return e.scale.rawExtentInfo.makeRenderInfo().startValue}var GN={left:0,right:0,top:0,bottom:0},KN=[`25%`,`25%`],qN=`cartesian2d`,JN=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.mergeDefaultAndTheme=function(t,n){var r=m_(t.outerBounds);e.prototype.mergeDefaultAndTheme.apply(this,arguments),r&&t.outerBounds&&p_(t.outerBounds,r)},t.prototype.mergeOption=function(t,n){e.prototype.mergeOption.apply(this,arguments),this.option.outerBounds&&t.outerBounds&&p_(this.option.outerBounds,t.outerBounds)},t.type=`grid`,t.dependencies=[`xAxis`,`yAxis`],t.layoutMode=`box`,t.defaultOption={show:!1,z:0,left:`15%`,top:65,right:`10%`,bottom:80,containLabel:!1,outerBoundsMode:`auto`,outerBounds:GN,outerBoundsContain:`all`,outerBoundsClampWidth:KN[0],outerBoundsClampHeight:KN[1],backgroundColor:Q.color.transparent,borderWidth:1,borderColor:Q.color.neutral30},t}(__),YN=uc(),XN=`__ec_stack_`;function ZN(e){return e.get(`stack`)||XN+e.seriesIndex}function QN(e){if(JT(e.axis.scale)){for(var t=CO(e.axis),n=[],r=0;ro&&(o=a),o!==u&&(t.width=o,n-=o+l*o,r--)}}),u=(n-c)/(r+(r-1)*l),u=To(u,0);var d=0,f;L(o,function(e){var t=s[e];t.width||=u,f=t,d+=t.width*(1+l)}),f&&(d-=f.width*l);var p={},m=-d/2;return L(o,function(e){var n=s[e];p[e]=p[e]||{bandWidth:t,offset:m,width:n.width},m+=n.width*(1+l)}),p}function nP(e){return{seriesType:e,overallReset:function(t){var n=BN(e,qN);iD(t,n,function(t){var r=$N(t,e);tD(t,n,function(e){var t=r.columnMap[ZN(e)];e.getData().setLayout({bandWidth:t.bandWidth,offset:t.offset,size:t.width})})})}}}function rP(e){return{seriesType:e,plan:Fb(),reset:function(e){if(AN(e)){var t=e.getData(),n=e.coordinateSystem,r=n.getBaseAxis(),i=n.getOtherAxis(r),a=t.getDimensionIndex(t.mapDimension(i.dim)),o=t.getDimensionIndex(t.mapDimension(r.dim)),s=e.get(`showBackground`,!0),c=t.mapDimension(i.dim),l=t.getCalculationInfo(`stackResultDimension`),u=ST(t,c)&&!!t.getCalculationInfo(`stackedOnSeries`),d=i.isHorizontal(),f=i.toGlobalCoord(i.dataToCoord(WN(i))),p=iP(e),m=e.get(`barMinHeight`)||0,h=l&&t.getDimensionIndex(l),g=t.getLayout(`size`),_=t.getLayout(`offset`);return{progress:function(e,t){for(var r=e.count,i=p&&Kj(r*3),c=p&&s&&Kj(r*3),l=p&&Kj(r),v=n.master.getRect(),y=d?v.width:v.height,b,x=t.getStore(),S=0;(b=e.next())!=null;){var C=x.get(u?h:a,b),w=x.get(o,b),T=f,E=void 0;u&&(E=+C-x.get(a,b));var D=void 0,O=void 0,k=void 0,A=void 0;if(d){var j=n.dataToPoint([C,w]);u&&(T=n.dataToPoint([E,w])[0]),D=T,O=j[1]+_,k=j[0]-T,A=g,Eo(k)s){u=(p+l)/2;break}f===1&&(d=m-r[0].tickValue)}u??(l?l&&(u=r[r.length-1].coord):u=r[0].coord),a[n]=e.toGlobalCoord(u)}});else{var o=this.getData(),s=o.getLayout(`offset`),c=o.getLayout(`size`),l=+!r.getBaseAxis().isHorizontal();a[l]+=s+c/2}return a}return[NaN,NaN]},t.prototype.__requireStartValue=function(e){return this.getBaseAxis()!==e},t.type=`series.__base_bar__`,t.defaultOption={z:2,coordinateSystem:`cartesian2d`,legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:`mod`,defaultBarGap:`10%`},t}(Tb);Tb.registerClass(sP);var cP=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.getInitialData=function(){return ET(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get(`realtimeSort`,!0)||null})},t.prototype.getProgressive=function(){return this.get(`large`)?this.get(`progressive`):!1},t.prototype.__preparePipelineContext=function(e,t){var n=gc(this,e,t);return n.progressiveRender&&(n.large=!0),n},t.prototype.brushSelector=function(e,t,n){return n.rect(t.getItemLayout(e))},t.type=`series.bar`,t.dependencies=[`grid`,`polar`],t.defaultOption=Ah(sP.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:Q.color.primary,borderWidth:2}},realtimeSort:!1}),t}(sP),lP=function(){function e(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return e}(),uP=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`sausage`,n}return t.prototype.getDefaultShape=function(){return new lP},t.prototype.buildPath=function(e,t){var n=t.cx,r=t.cy,i=Math.max(t.r0||0,0),a=Math.max(t.r,0),o=(a-i)*.5,s=i+o,c=t.startAngle,l=t.endAngle,u=t.clockwise,d=Math.PI*2,f=u?l-cMath.PI/2&&ua)return!0;a=l}return!1},t.prototype._isOrderDifferentInView=function(e,t){for(var n=t.scale,r=n.getExtent(),i=Math.max(0,r[0]),a=Math.min(r[1],n.getOrdinalMeta().categories.length-1);i<=a;++i)if(e.ordinalNumbers[i]!==n.getRawOrdinalNumber(i))return!0},t.prototype._updateSortWithinSameData=function(e,t,n,r){if(this._isOrderChangedWithinSameData(e,t,n)){var i=this._dataSort(e,n,t);this._isOrderDifferentInView(i,n)&&(this._removeOnRenderedListener(r),r.dispatchAction({type:`changeAxisOrder`,componentType:n.dim+`Axis`,axisId:n.index,sortInfo:i}))}},t.prototype._dispatchInitSort=function(e,t,n){var r=t.baseAxis,i=this._dataSort(e,r,function(n){return e.get(e.mapDimension(t.otherAxis.dim),n)});n.dispatchAction({type:`changeAxisOrder`,componentType:r.dim+`Axis`,isInitSort:!0,axisId:r.index,sortInfo:i})},t.prototype.remove=function(e,t){this._clear(this._model),this._removeOnRenderedListener(t)},t.prototype.dispose=function(e,t){this._removeOnRenderedListener(t)},t.prototype._removeOnRenderedListener=function(e){this._onRendered&&=(e.getZr().off(`rendered`,this._onRendered),null)},t.prototype._clear=function(e){var t=this.group,n=this._data;e&&e.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl(function(t){em(t,e,Z(t).dataIndex)})):t.removeAll(),this._data=null,this._isFirstFrame=!0},t.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},t.type=`bar`,t}(Rb),yP={cartesian2d:function(e,t){var n=t.width<0?-1:1,r=t.height<0?-1:1;n<0&&(t.x+=t.width,t.width=-t.width),r<0&&(t.y+=t.height,t.height=-t.height);var i=e.x+e.width,a=e.y+e.height,o=gP(t.x,e.x),s=_P(t.x+t.width,i),c=gP(t.y,e.y),l=_P(t.y+t.height,a),u=si?s:o,t.y=d&&c>a?l:c,t.width=u?0:s-o,t.height=d?0:l-c,n<0&&(t.x+=t.width,t.width=-t.width),r<0&&(t.y+=t.height,t.height=-t.height),u||d},polar:function(e,t){var n=t.r0<=t.r?1:-1;if(n<0){var r=t.r;t.r=t.r0,t.r0=r}var i=_P(t.r,e.r),a=gP(t.r0,e.r0);t.r=i,t.r0=a;var o=i-a<0;if(n<0){var r=t.r;t.r=t.r0,t.r0=r}return o}},bP={cartesian2d:function(e,t,n,r,i,a,o,s,c){var l=new Iu({shape:P({},r),z2:1});if(l.__dataIndex=n,l.name=`item`,a){var u=l.shape,d=i?`height`:`width`;u[d]=0}return l},polar:function(e,t,n,r,i,a,o,s,c){var l=!i&&c?uP:pp,u=new l({shape:r,z2:1});if(u.name=`item`,u.calculateTextPosition=dP(kP(i),{isRoundCap:l===uP}),a){var d=u.shape,f=i?`r`:`endAngle`,p={};d[f]=i?r.r0:r.startAngle,p[f]=r[f],(s?Yp:Xp)(u,{shape:p},a)}return u}};function xP(e,t){var n=e.get(`realtimeSort`,!0),r=t.getBaseAxis();if(n&&r.type===`category`&&t.type===`cartesian2d`)return{baseAxis:r,otherAxis:t.getOtherAxis(r)}}function SP(e,t,n,r,i,a,o,s){var c,l;a?(l={x:r.x,width:r.width},c={y:r.y,height:r.height}):(l={y:r.y,height:r.height},c={x:r.x,width:r.width}),s||(o?Yp:Xp)(n,{shape:c},t,i,null);var u=t?e.baseAxis.model:null;(o?Yp:Xp)(n,{shape:l},u,i)}function CP(e,t){for(var n=0;n0?1:-1,o=r.height>0?1:-1;return{x:r.x+a*i/2,y:r.y+o*i/2,width:r.width-a*i,height:r.height-o*i}},polar:function(e,t,n){var r=e.getItemLayout(t);return{cx:r.cx,cy:r.cy,r0:r.r0,r:r.r,startAngle:r.startAngle,endAngle:r.endAngle,clockwise:r.clockwise}}};function OP(e){return e.startAngle!=null&&e.endAngle!=null&&e.startAngle===e.endAngle}function kP(e){return function(e){var t=e?`Arc`:`Angle`;return function(e){switch(e){case`start`:case`insideStart`:case`end`:case`insideEnd`:return e+t;default:return e}}}(e)}function AP(e,t,n,r,i,a,o,s){var c=t.getItemVisual(n,`style`);if(!s){var l=r.get([`itemStyle`,`borderRadius`])||0;e.setShape(`r`,l)}else if(!a.get(`roundCap`)){var u=e.shape;P(u,hP(r.getModel(`itemStyle`),u,!0)),e.setShape(u)}e.useStyle(c);var d=r.getShallow(`cursor`);d&&e.attr(`cursor`,d);var f=s?o?i.r>=i.r0?`endArc`:`startArc`:i.endAngle>=i.startAngle?`endAngle`:`startAngle`:o?zP(i,a.coordinateSystem):BP(i,a.coordinateSystem),p=th(r);eh(e,p,{labelFetcher:a,labelDataIndex:n,defaultText:jj(a.getData(),n),inheritColor:c.fill,defaultOpacity:c.opacity,defaultOutsidePosition:f});var m=e.getTextContent();if(s&&m){var h=r.get([`label`,`position`]);e.textConfig.inside=h===`middle`?!0:null,fP(e,h===`outside`?f:h,kP(o),r.get([`label`,`rotate`]))}fh(m,p,a.getRawValue(n),function(e){return Mj(t,e)});var g=r.getModel([`emphasis`]);ff(e,g.get(`focus`),g.get(`blurScope`),g.get(`disabled`)),gf(e,r),OP(i)&&(e.style.fill=`none`,e.style.stroke=`none`,L(e.states,function(e){e.style&&(e.style.fill=e.style.stroke=`none`)}))}function jP(e,t){var n=e.get([`itemStyle`,`borderColor`]);if(!n||n===`none`)return 0;var r=e.get([`itemStyle`,`borderWidth`])||0,i=isNaN(t.width)?Number.MAX_VALUE:Math.abs(t.width),a=isNaN(t.height)?Number.MAX_VALUE:Math.abs(t.height);return Math.min(r,i,a)}var MP=function(){function e(){}return e}(),NP=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`largeBar`,n}return t.prototype.getDefaultShape=function(){return new MP},t.prototype.buildPath=function(e,t){for(var n=t.points,r=this.baseDimIdx,i=1-this.baseDimIdx,a=[],o=[],s=this.barWidth,c=0;c=0?n:null},30,!1);function IP(e,t,n){for(var r=e.baseDimIdx,i=1-r,a=e.shape.points,o=e.largeDataIndices,s=[],c=[],l=e.barWidth,u=0,d=a.length/3;u=s[0]&&t<=s[0]+c[0]&&n>=s[1]&&n<=s[1]+c[1])return o[u]}return-1}function LP(e,t,n){if(cM(n,`cartesian2d`)){var r=t,i=n.getArea();return{x:e?r.x:i.x,y:e?i.y:r.y,width:e?r.width:i.width,height:e?i.height:r.height}}else{var i=n.getArea(),a=t;return{cx:i.cx,cy:i.cy,r0:e?i.r0:a.r0,r:e?i.r:a.r,startAngle:e?a.startAngle:0,endAngle:e?a.endAngle:Math.PI*2}}}function RP(e,t,n){return new(e.type===`polar`?pp:Iu)({shape:LP(t,n,e),silent:!0,z2:0})}function zP(e,t){return e.height===0?t.getOtherAxis(t.getBaseAxis()).inverse?`bottom`:`top`:e.height>0?`bottom`:`top`}function BP(e,t){return e.width===0?t.getOtherAxis(t.getBaseAxis()).inverse?`left`:`right`:e.width>=0?`right`:`left`}function VP(e){e.registerChartView(vP),e.registerSeriesModel(cP),e.registerLayout(e.PRIORITY.VISUAL.LAYOUT,nP(`bar`)),e.registerLayout(e.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,rP(`bar`)),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,FM(`bar`)),e.registerAction({type:`changeAxisOrder`,event:`changeAxisOrder`,update:`update`},function(e,t){var n=e.componentType||`series`;t.eachComponent({mainType:n,query:e},function(t){e.sortInfo&&t.axis.setCategorySortInfo(e.sortInfo)})}),oP(e)}function HP(e){return{seriesType:e,reset:function(e,t){var n=t.findComponents({mainType:`legend`});if(!(!n||!n.length)){var r=e.getData();r.filterSelf(function(e){for(var t=r.getName(e),i=0;i=0},e.prototype.indexOfName=function(e){return this._getDataWithEncodedVisual().indexOfName(e)},e.prototype.getItemVisual=function(e,t){return this._getDataWithEncodedVisual().getItemVisual(e,t)},e}(),GP=Bs(),KP=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t){e.prototype.init.apply(this,arguments),this.legendVisualProvider=new WP(z(this.getData,this),z(this.getRawData,this)),this._defaultLabelLine(t)},t.prototype.mergeOption=function(){e.prototype.mergeOption.apply(this,arguments)},t.prototype.getInitialData=function(){return UP(this,{coordDimensions:[`value`],encodeDefaulter:xe(j_,this)})},t.prototype.getDataParams=function(t){var n=this.getData(),r=GP(n),i=r.seats;if(!i){var a=[];n.each(n.mapDimension(`value`),function(e){a.push(e)}),i=r.seats=Go(a,n.hostModel.get(`percentPrecision`))}var o=e.prototype.getDataParams.call(this,t);return o.percent=i[t]||0,o.$vars.push(`percent`),o},t.prototype._defaultLabelLine=function(e){ys(e,`labelLine`,[`show`]);var t=e.labelLine,n=e.emphasis.labelLine;t.show=t.show&&e.label.show,n.show=n.show&&e.emphasis.label.show},t.type=`series.pie`,t.defaultOption={z:2,legendHoverLink:!0,colorBy:`data`,center:[`50%`,`50%`],radius:[0,`50%`],clockwise:!0,startAngle:90,endAngle:`auto`,padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,coordinateSystemUsage:`box`,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%`,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:30,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`},t}(Tb);Kg({fullType:KP.type,getCoord2:function(e){return e.getShallow(`center`)}});var qP=Math.PI/180;function JP(e,t,n,r,i,a,o,s,c,l){if(e.length<2)return;function u(e){for(var a=e.rB,o=a*a,s=0;sn?o:a,d=Math.abs(c.label.y-n);if(d>=l.maxY){var f=c.label.x-t-c.len2*i,p=r+c.len;l.rB=Math.abs(f)e.unconstrainedWidth?null:f:null;r.setStyle(`width`,p)}ZP(a,r)}}}function ZP(e,t){$P.rect=e,sk($P,t,QP)}var QP={minMarginForce:[null,0,null,0],marginDefault:[1,0,1,0]},$P={};function eF(e){return e.position===`center`}function tF(e){var t=e.getData(),n=[],r,i,a=!1,o=(e.get(`minShowLabelAngle`)||0)*qP,s=t.getLayout(`viewRect`),c=t.getLayout(`r`),l=s.width,u=s.x,d=s.y,f=s.height;function p(e){e.ignore=!0}function m(e){if(!e.ignore)return!0;for(var t in e.states)if(e.states[t].ignore===!1)return!0;return!1}t.each(function(e){var s=t.getItemGraphicEl(e),d=s.shape,h=s.getTextContent(),g=s.getTextGuideLine(),_=t.getItemModel(e),v=_.getModel(`label`),y=v.get(`position`)||_.get([`emphasis`,`label`,`position`]),b=v.get(`distanceToLabelLine`),x=v.get(`alignTo`),S=X(v.get(`edgeDistance`),l),C=v.get(`bleedMargin`);C??=Math.min(l,f)>200?10:2;var w=_.getModel(`labelLine`),T=w.get(`length`);T=X(T,l);var E=w.get(`length2`);if(E=X(E,l),Math.abs(d.endAngle-d.startAngle)0?`right`:`left`:O>0?`left`:`right`}var le=Math.PI,ue=0,M=v.get(`rotate`);if(Ce(M))ue=le/180*M;else if(y===`center`)ue=0;else if(M===`radial`||M===!0)ue=O<0?-D+le:-D;else if(M===`tangential`||M===`tangential-noflip`&&y!==`outside`&&y!==`outer`){var N=Math.atan2(O,k);N<0&&(N=le*2+N),k>0&&M!==`tangential-noflip`&&(N=le+N),ue=N-le}if(a=!!ue,h.x=A,h.y=j,h.rotation=ue,h.setStyle({verticalAlign:`middle`}),ne){h.setStyle({align:te});var de=h.states.select;de&&(de.x+=h.x,de.y+=h.y)}else{var P=new J(0,0,0,0);ZP(P,h),n.push({label:h,labelLine:g,position:y,len:T,len2:E,minTurnAngle:w.get(`minTurnAngle`),maxSurfaceAngle:w.get(`maxSurfaceAngle`),surfaceNormal:new q(O,k),linePoints:ee,textAlign:te,labelDistance:b,labelAlignTo:x,edgeDistance:S,bleedMargin:C,rect:P,unconstrainedWidth:P.width,labelStyleWidth:h.style.width})}s.setTextConfig({inside:ne})}}),!a&&e.get(`avoidLabelOverlap`)&&YP(n,r,i,c,l,f,u,d);for(var h=0;hr?(l=O+x*r/2,u=l):(l=O+C,u=i-C),n.setItemLayout(t,{angle:r,startAngle:l,endAngle:u,clockwise:_,cx:a,cy:o,r0:c,r:v?Fo(e,b,[c,s]):s}),O=i}),E0){for(var c=i.getItemLayout(0),l=1;isNaN(c&&c.startAngle)&&l=n.r0}},t.type=`pie`,t}(Rb);function lF(e){return{seriesType:e,reset:function(e,t){var n=e.getData();n.filterSelf(function(e){var t=n.mapDimension(`value`),r=n.get(t,e);return!(Ce(r)&&!isNaN(r)&&r<0)})}}}function uF(e){e.registerChartView(cF),e.registerSeriesModel(KP),Fx(`pie`,e.registerAction),e.registerLayout(iF),e.registerProcessor(HP(`pie`)),e.registerProcessor(lF(`pie`))}var dF=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.hasSymbolVisual=!0,n}return t.prototype.getInitialData=function(e,t){return ET(null,this,{useEncodeDefaulter:!0})},t.prototype.getProgressive=function(){return this.option.progressive??(this.option.large?5e3:this.get(`progressive`))},t.prototype.getProgressiveThreshold=function(){return this.option.progressiveThreshold??(this.option.large?1e4:this.get(`progressiveThreshold`))},t.prototype.brushSelector=function(e,t,n){return n.point(t.getItemLayout(e))},t.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:``},t.type=`series.scatter`,t.dependencies=[`grid`,`polar`,`geo`,`singleAxis`,`calendar`,`matrix`],t.defaultOption={coordinateSystem:`cartesian2d`,z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:Q.color.primary}},universalTransition:{divideShape:`clone`}},t}(Tb),fF=4,pF=function(){function e(){}return e}(),mF=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.getDefaultShape=function(){return new pF},t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.beforeBrush=function(e){e&&!e.contentRetained&&this.reset()},t.prototype.buildPath=function(e,t){var n=t.points,r=t.size,i=this.symbolProxy,a=i.shape,o=e.getContext?e.getContext():e,s=o&&r[0]=0;s--){var c=s*2,l=r[c]-a/2,u=r[c+1]-o/2;if(e>=l&&t>=u&&e<=l+a&&t<=u+o)return s}return-1},t.prototype.contain=function(e,t){var n=this.transformCoordToLocal(e,t),r=this.getBoundingRect();return e=n[0],t=n[1],r.contain(e,t)?(this.hoverDataIdx=this.findDataIndex(e,t))>=0:(this.hoverDataIdx=-1,!1)},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var t=this.shape,n=t.points,r=t.size,i=r[0],a=r[1],o=1/0,s=1/0,c=-1/0,l=-1/0,u=0;u=0&&(c.dataIndex=n+(e.startIndex||0))})},e.prototype.remove=function(){this._clear()},e.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},e}(),gF=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){var r=e.getData();this._updateSymbolDraw(r,e).updateData(r,_F(e)),this._finished=!0},t.prototype.incrementalPrepareRender=function(e,t,n){var r=e.getData();this._updateSymbolDraw(r,e).incrementalPrepareUpdate(r),this._finished=!1},t.prototype.incrementalRender=function(e,t,n){this._symbolDraw.incrementalUpdate(e,t.getData(),hc(t),_F(t)),this._finished=e.end===t.getData().count()},t.prototype.updateTransform=function(e,t,n){var r=e.getData();if(this.group.dirty(),this._finished){var i=MM(``).reset(e,t,n);i.progress&&i.progress({start:0,end:r.count(),count:r.count()},r),this._symbolDraw.updateLayout(_F(e))}else return{update:!0}},t.prototype.eachRendered=function(e){this._symbolDraw&&this._symbolDraw.eachRendered(e)},t.prototype._updateSymbolDraw=function(e,t){var n=this._symbolDraw,r=t.pipelineContext.large;return(!n||r!==this._isLargeDraw)&&(n&&n.remove(),n=this._symbolDraw=r?new hF:new zj,this._isLargeDraw=r,this.group.removeAll()),this.group.add(n.group),n},t.prototype.remove=function(e,t){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},t.prototype.dispose=function(){},t.type=`scatter`,t}(Rb);function _F(e){return{clipShape:sM(e)}}var vF=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents(`grid`,Ws).models[0]},t.type=`cartesian2dAxis`,t}(__);me(vF,GE);var yF={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:`auto`,onZeroAxisIndex:null,lineStyle:{color:Q.color.axisLine,width:1,type:`solid`},symbol:[`none`,`none`],symbolSize:[10,15],breakLine:!0},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,color:Q.color.axisLabel,textMargin:[0,3]},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:Q.color.axisSplitLine,width:1,type:`solid`}},splitArea:{show:!1,areaStyle:{color:[Q.color.backgroundTint,Q.color.backgroundTransparent]}},breakArea:{show:!0,itemStyle:{color:Q.color.neutral00,borderColor:Q.color.border,borderWidth:1,borderType:[3,3],opacity:.6},zigzagAmplitude:4,zigzagMinSpan:4,zigzagMaxSpan:20,zigzagZ:100,expandOnClick:!0},breakLabelLayout:{moveOverlap:`auto`}},bF=N({boundaryGap:!0,deduplication:null,jitter:0,jitterOverlap:!0,jitterMargin:2,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:`auto`,show:`auto`},axisLabel:{interval:`auto`}},yF),xF=N({boundaryGap:[0,0],axisLine:{show:`auto`},axisTick:{show:`auto`},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:Q.color.axisMinorSplitLine,width:1}}},yF),SF={category:bF,value:xF,time:N({splitNumber:6,axisLabel:{rich:{primary:{fontWeight:`bold`}}},splitLine:{show:!1}},xF),log:F({logBase:10},xF)};function CF(e,t,n,r){L(EE,function(i,a){var o=N(N({},SF[a],!0),r,!0),s=function(e){_(n,e);function n(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t+`Axis.`+a,n}return n.prototype.mergeDefaultAndTheme=function(e,t){var n=f_(this),r=n?m_(e):{};N(e,t.getTheme().get(a+`Axis`)),N(e,this.getDefaultOption()),e.type=wF(e),n&&p_(e,r,n)},n.prototype.optionUpdated=function(){this.option.type===`category`&&(this.__ordinalMeta=jT.createByAxisModel(this))},n.prototype.getCategories=function(e){var t=this.option;if(t.type===`category`)return e?t.data:this.__ordinalMeta.categories},n.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},n.prototype.updateAxisBreaks=function(e){var t=BM();return t?t.updateModelAxisBreak(this,e):{breaks:[]}},n.type=t+`Axis.`+a,n.defaultOption=o,n}(n);e.registerComponentModel(s)}),e.registerSubTypeDefaulter(t+`Axis`,wF)}function wF(e){return e.type||(e.data?`category`:`value`)}var TF=function(){function e(e){this.type=`cartesian`,this._dimList=[],this._axes={},this.name=e||``}return e.prototype.getAxis=function(e){return this._axes[e]},e.prototype.getAxes=function(){return R(this._dimList,function(e){return this._axes[e]},this)},e.prototype.getAxesByScale=function(e){return e=e.toLowerCase(),_e(this.getAxes(),function(t){return t.scale.type===e})},e.prototype.addAxis=function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},e}(),EF=[`x`,`y`];function DF(e){return(e.type===`interval`||e.type===`time`)&&!Jh(e)}var OF=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=qN,t.dimensions=EF,t}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var e=this.getAxis(`x`).scale,t=this.getAxis(`y`).scale;if(!(!DF(e)||!DF(t))){var n=RT(e,null),r=RT(t,null),i=this.dataToPoint([n[0],r[0]]),a=this.dataToPoint([n[1],r[1]]),o=n[1]-n[0],s=r[1]-r[0];if(!(!o||!s)){var c=(a[0]-i[0])/o,l=(a[1]-i[1])/s,u=i[0]-n[0]*c,d=i[1]-r[0]*l,f=this._transform=[c,0,0,l,u,d];this._invTransform=nn([],f)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale(`ordinal`)[0]||this.getAxesByScale(`time`)[0]||this.getAxis(`x`)},t.prototype.containPoint=function(e){var t=this.getAxis(`x`),n=this.getAxis(`y`);return t.contain(t.toLocalCoord(e[0]))&&n.contain(n.toLocalCoord(e[1]))},t.prototype.containData=function(e){return this.getAxis(`x`).containData(e[0])&&this.getAxis(`y`).containData(e[1])},t.prototype.containZone=function(e,t){var n=this.dataToPoint(e),r=this.dataToPoint(t),i=this.getArea(),a=new J(n[0],n[1],r[0]-n[0],r[1]-n[1]);return i.intersect(a)},t.prototype.dataToPoint=function(e,t,n){n||=[];var r=e[0],i=e[1];if(this._transform&&r!=null&&isFinite(r)&&i!=null&&isFinite(i))return pt(n,e,this._transform);var a=this.getAxis(`x`),o=this.getAxis(`y`);return n[0]=a.toGlobalCoord(a.dataToCoord(r,t)),n[1]=o.toGlobalCoord(o.dataToCoord(i,t)),n},t.prototype.clampData=function(e,t){var n=this.getAxis(`x`).scale,r=this.getAxis(`y`).scale,i=n.getExtent(),a=r.getExtent(),o=n.parse(e[0]),s=r.parse(e[1]);return t||=[],t[0]=Math.min(Math.max(Math.min(i[0],i[1]),o),Math.max(i[0],i[1])),t[1]=Math.min(Math.max(Math.min(a[0],a[1]),s),Math.max(a[0],a[1])),t},t.prototype.pointToData=function(e,t,n){if(n||=[],this._invTransform)return pt(n,e,this._invTransform);var r=this.getAxis(`x`),i=this.getAxis(`y`);return n[0]=r.coordToData(r.toLocalCoord(e[0]),t),n[1]=i.coordToData(i.toLocalCoord(e[1]),t),n},t.prototype.getOtherAxis=function(e){return this.getAxis(e.dim===`x`?`y`:`x`)},t.prototype.getArea=function(e){e||=0;var t=this.getAxis(`x`).getGlobalExtent(),n=this.getAxis(`y`).getGlobalExtent(),r=Math.min(t[0],t[1])-e,i=Math.min(n[0],n[1])-e;return new J(r,i,Math.max(t[0],t[1])-r+e,Math.max(n[0],n[1])-i+e)},t}(TF);function kF(e,t){var n=e.scale,r=e.model,i=OD(n,r,r.ecModel,e,null),a=qT(n),o=qT(t)?t.intervalStub:t,s=a?n.intervalStub:n,c=n.base,l=o.getTicks(),u=o.getTicks({expandToNicedExtent:!0}),d=l.length-1,f,p,m;if(d===1)f=p=0,m=1;else if(d===2){var h=Eo(l[0].value-l[1].value),g=Eo(l[1].value-l[2].value);f=p=0,h===g?m=2:(m=1,h=C[1])return!0})):b[1]?(T=C[1],A(function(){if(ne(),k=Bo(O-E*m,D),j(),w<=C[0])return!0})):A(function(){k=Bo(ko(C[0]/E)*E,D),O=Bo(Oo(C[1]/E)*E,D);var e=Do((O-k)/E);if(e<=m){var t=m-e,n=void 0,r=i.incl0||a;if(r&&C[0]===0)n=[0,t];else if(r&&C[1]===0)n=[t,0];else{var o=Oo(t/2);n=t%2==0?[o,o]:w+T=C[1])return!0}})}HE(n,b,S,[w,T],x,{interval:E,intervalCount:m,intervalPrecision:D,niceExtent:[k,O]})}var AF=[[3,1],[0,2]],jF=function(){function e(e,t,n){this.type=`grid`,this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=EF,this._initCartesian(e,t,n),this.model=e}return e.prototype.getRect=function(){return this._rect},e.prototype.update=function(e,t){var n=this._axesMap;L(this._axesList,function(e){SD(e,1);var t=e.scale;JT(t)&&t.setSortInfo(e.model.get(`categorySortInfo`))});function r(e){for(var t=ye(e),n=[],r=t.length-1;r>=0;r--){var i=e[+t[r]];i.__alignTo?n.push(i):PD(i)}L(n,function(e){IF(e,e.__alignTo)?PD(e):kF(e,e.__alignTo.scale)})}r(n.x),r(n.y);var i={};L(n.x,function(e){NF(n,`y`,e,i)}),L(n.y,function(e){NF(n,`x`,e,i)}),this.resize(this.model,t)},e.prototype.resize=function(e,t,n){var r=l_(e,t),i=this._rect=o_(e.getBoxLayoutParams(),r.refContainer),a=this._axesMap,o=this._coordsList,s=e.get(`containLabel`);if(RF(a,i),!n){var c=UF(i,o,a,s,t),l=void 0;if(s)BF?(BF(this._axesList,i),RF(a,i)):l=HF(i.clone(),`axisLabel`,null,i,a,c,r);else{var u=GF(e,i,r),d=u.outerBoundsRect,f=u.parsedOuterBoundsContain,p=u.outerBoundsClamp;d&&(l=HF(d,f,p,i,a,c,r))}WF(i,a,nO.determine,null,l,r),L(this._coordsList,function(e){e.calcAffineTransform()})}},e.prototype.getAxis=function(e,t){var n=this._axesMap[e];if(n!=null)return n[t||0]},e.prototype.getAxes=function(){return this._axesList.slice()},e.prototype.getCartesian=function(e,t){if(e!=null&&t!=null){var n=`x`+e+`y`+t;return this._coordsMap[n]}U(e)&&(t=e.yAxisIndex,e=e.xAxisIndex);for(var r=0,i=this._coordsList;r=0;i--){var a=e[+t[i]];WT(a.scale)&&BE(a.model,a.type,!0)==null&&(a.model.get(`alignTicks`)&&a.model.get(`interval`)==null?r.push(a):n=a)}n||=r.pop(),n&&L(r,function(e){e.__alignTo=n})}function IF(e,t){return Jh(e.scale)||Jh(t.scale)||t.scale.getTicks().length<2}function LF(e,t){var n=e.getExtent(),r=n[0]+n[1];e.toGlobalCoord=e.dim===`x`?function(e){return e+t}:function(e){return r-e+t},e.toLocalCoord=e.dim===`x`?function(e){return e-t}:function(e){return r-e+t}}function RF(e,t){L(e.x,function(e){return zF(e,t.x,t.width)}),L(e.y,function(e){return zF(e,t.y,t.height)})}function zF(e,t,n){var r=[0,n],i=+!!e.inverse;e.setExtent(r[i],r[1-i]),LF(e,t)}var BF;function VF(e){BF=e}function HF(e,t,n,r,i,a,o){WF(r,i,nO.estimate,t,!1,o);var s=[0,0,0,0];l(0),l(1),u(r,0,NaN),u(r,1,NaN);var c=ve(s,function(e){return e>0})==null;return Nm(r,s,!0,!0,n),RF(i,r),c;function l(e){L(i[am[e]],function(t){if(zE(t.model)){var n=a.ensureRecord(t.model),r=n.labelInfoList;if(r)for(var i=0;i0&&!Ae(t)&&t>1e-4&&(e/=t),e}}function UF(e,t,n,r,i){var a=new tN(KF);return L(n,function(n){return L(n,function(n){if(zE(n.model)){var o=!r;n.axisBuilder=MN(e,t,n.model,i,a,o)}})}),a}function WF(e,t,n,r,i,a){var o=n===nO.determine;L(t,function(t){return L(t,function(t){zE(t.model)&&(NN(t.axisBuilder,e,t.model),t.axisBuilder.build(o?{axisTickLabelDetermine:!0}:{axisTickLabelEstimate:!0},{noPxChange:i}))})});var s={x:0,y:0};c(0),c(1);function c(t){s[am[1-t]]=e[om[t]]<=a.refContainer[om[t]]*.5?0:1-t==1?2:1}L(t,function(e,t){return L(e,function(e){zE(e.model)&&((r===`all`||o)&&e.axisBuilder.build({axisName:!0},{nameMarginLevel:s[t]}),o&&e.axisBuilder.build({axisLine:!0}))})})}function GF(e,t,n){var r,i=e.get(`outerBoundsMode`,!0);i===`same`?r=t.clone():(i==null||i===`auto`)&&(r=o_(e.get(`outerBounds`,!0)||GN,n.refContainer));var a=e.get(`outerBoundsContain`,!0),o=a==null||a===`auto`||I([`all`,`axisLabel`],a)<0?`all`:a,s=[Lo(W(e.get(`outerBoundsClampWidth`,!0),KN[0]),t.width),Lo(W(e.get(`outerBoundsClampHeight`,!0),KN[1]),t.height)];return{outerBoundsRect:r,parsedOuterBoundsContain:o,outerBoundsClamp:s}}var KF=function(e,t,n,r,i,a){var o=n.axis.dim===`x`?`y`:`x`;aN(e,t,n,r,i,a),RE(e.nameLocation)||L(t.recordMap[o],function(e){e&&e.labelInfoList&&e.dirVec&&sN(e.labelInfoList,e.dirVec,r,i)})};function qF(e,t){var n={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return JF(n,e,t),n.seriesInvolved&&XF(n,e),n}function JF(e,t,n){var r=t.getComponent(`tooltip`),i=t.getComponent(`axisPointer`),a=i.get(`link`,!0)||[],o=[];L(n.getCoordinateSystems(),function(n){if(!n.axisPointerEnabled)return;var s=rI(n.model),c=e.coordSysAxesInfo[s]={};e.coordSysMap[s]=n;var l=n.model.getModel(`tooltip`,r);if(L(n.getAxes(),xe(p,!1,null)),n.getTooltipAxes&&r&&l.get(`show`)){var u=l.get(`trigger`)===`axis`,d=l.get([`axisPointer`,`type`])===`cross`,f=n.getTooltipAxes(l.get([`axisPointer`,`axis`]));(u||d)&&L(f.baseAxes,xe(p,d?`cross`:!0,u)),d&&L(f.otherAxes,xe(p,`cross`,!1))}function p(r,s,u){var d=u.model.getModel(`axisPointer`,i),f=d.get(`show`);if(!(!f||f===`auto`&&!r&&!nI(d))){s??=d.get(`triggerTooltip`),d=r?YF(u,l,i,t,r,s):d;var p=d.get(`snap`),m=d.get(`triggerEmphasis`),h=rI(u.model),g=s||p||u.type===`category`,_=e.axesInfo[h]={key:h,axis:u,coordSys:n,axisPointerModel:d,triggerTooltip:s,triggerEmphasis:m,involveSeries:g,snap:p,useHandle:nI(d),seriesModels:[],linkGroup:null};c[h]=_,e.seriesInvolved=e.seriesInvolved||g;var v=ZF(a,u);if(v!=null){var y=o[v]||(o[v]={axesInfo:{}});y.axesInfo[h]=_,y.mapper=a[v].mapper,_.linkGroup=y}}}})}function YF(e,t,n,r,i,a){var o=t.getModel(`axisPointer`),s=[`type`,`snap`,`lineStyle`,`shadowStyle`,`label`,`animation`,`animationDurationUpdate`,`animationEasingUpdate`,`z`],c={};L(s,function(e){c[e]=M(o.get(e))}),c.snap=e.type!==`category`&&!!a,o.get(`type`)===`cross`&&(c.type=`line`);var l=c.label||={};if(l.show??=!1,i===`cross`&&(l.show=o.get([`label`,`show`])??!0,!a)){var u=c.lineStyle=o.get(`crossStyle`);u&&F(l,u.textStyle)}return e.model.getModel(`axisPointer`,new Th(c,n,r))}function XF(e,t){t.eachSeries(function(t){var n=t.coordinateSystem,r=t.get([`tooltip`,`trigger`],!0),i=t.get([`tooltip`,`show`],!0);!n||!n.model||r===`none`||r===!1||r===`item`||i===!1||t.get([`axisPointer`,`show`],!0)===!1||L(e.coordSysAxesInfo[rI(n.model)],function(e){var r=e.axis;n.getAxis(r.dim)===r&&(e.seriesModels.push(t),e.seriesDataCount??=0,e.seriesDataCount+=t.getData().count())})})}function ZF(e,t){for(var n=t.model,r=t.dim,i=0;i=0||e===t}function $F(e){var t=eI(e);if(t){var n=t.axisPointerModel,r=t.axis.scale,i=n.option,a=n.get(`status`),o=n.get(`value`);o!=null&&(o=r.parse(o));var s=nI(n);a??(i.status=s?`show`:`hide`);var c=r.getExtent();(o==null||o>c[1])&&(o=c[1]),o0;return o&&s}var xI=Bs();function SI(e,t,n,r){if(e instanceof LM&&e.scale.type!==`ordinal`)return n;var i=e.model,a=i.get(`jitter`);if(!(a>0))return n;var o=i.get(`jitterOverlap`),s=i.get(`jitterMargin`)||0,c=JT(e.scale)?CO(e).w:null;return o?CI(n,a,c,r):wI(e,t,n,r,a,s)}function CI(e,t,n,r){if(n===null)return e+(Math.random()-.5)*t;var i=n-r*2,a=Math.min(Math.max(0,t),i);return e+(Math.random()-.5)*a}function wI(e,t,n,r,i,a){var o=xI(e);o.items||=[];var s=o.items,c=TI(s,t,n,r,i,a,1),l=TI(s,t,n,r,i,a,-1),u=Math.abs(c-n)i/2||d&&f>d/2-r?CI(n,i,d,r):(s.push({fixedCoord:t,floatCoord:u,r}),u)}function TI(e,t,n,r,i,a,o){for(var s=n,c=0;ci/2)return Number.MAX_VALUE;if(o===1&&m>s||o===-1&&m0&&!f.min?f.min=0:f.min!=null&&f.min<0&&!f.max&&(f.max=0);var p=s;f.color!=null&&(p=F({color:f.color},s));var m=N(M(f),{boundaryGap:e,splitNumber:t,clockwise:n,scale:r,axisLine:i,axisTick:a,axisLabel:o,name:f.text,showName:c,nameLocation:`end`,nameGap:u,nameTextStyle:p,triggerEvent:d},!1);if(H(l)){var h=m.name;m.name=l.replace(`{value}`,h??``)}else V(l)&&(m.name=l(m.name,m));var g=new Th(m,null,this.ecModel);return me(g,GE.prototype),g.mainType=`radar`,g.componentIndex=this.componentIndex,g.uid=Dh(`ec_radar`),g},this);this._indicatorModels=f},t.prototype.getIndicatorModels=function(){return this._indicatorModels},t.type=FI,t.defaultOption={z:0,center:[`50%`,`50%`],radius:`50%`,startAngle:90,clockwise:!1,axisName:{show:!0,color:Q.color.axisLabel},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:`polygon`,axisLine:N({lineStyle:{color:Q.color.neutral20}},NI.axisLine),axisLabel:LI(NI.axisLabel,!1),axisTick:LI(NI.axisTick,!1),splitLine:LI(NI.splitLine,!0),splitArea:LI(NI.splitArea,!0),indicator:[]},t}(__),zI=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){this.group.removeAll(),this._buildAxes(e,n),this._buildSplitLineAndArea(e)},t.prototype._buildAxes=function(e,t){var n=e.coordinateSystem;L(R(n.getIndicatorAxes(),function(e){var r=e.model.get(`showName`)?e.name:``;return new cN(e.model,t,{axisName:r,position:[n.cx,n.cy],rotation:e.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(e){e.build(),this.group.add(e.group)},this)},t.prototype._buildSplitLineAndArea=function(e){var t=e.coordinateSystem,n=t.getIndicatorAxes();if(!n.length)return;var r=e.get(`shape`),i=e.getModel(`splitLine`),a=e.getModel(`splitArea`),o=i.getModel(`lineStyle`),s=a.getModel(`areaStyle`),c=i.get(`show`),l=a.get(`show`),u=o.get(`color`),d=s.get(`color`),f=B(u)?u:[u],p=B(d)?d:[d],m=[],h=[];function g(e,t,n){var r=n%t.length;return e[r]=e[r]||[],r}if(r===`circle`)for(var _=n[0].getTicksCoords(),v=t.cx,y=t.cy,b=0;b<_.length;b++){if(c){var x=g(m,f,b);m[x].push(new Jf({shape:{cx:v,cy:y,r:_[b].coord}}))}if(l&&b<_.length-1){var x=g(h,p,b);h[x].push(new hp({shape:{cx:v,cy:y,r0:_[b].coord,r:_[b+1].coord}}))}}else for(var S,C=R(n,function(e,n){var r=e.getTicksCoords();return S=S==null?r.length-1:Math.min(r.length-1,S),R(r,function(e){return t.coordToPoint(e.coord,n)})}),w=[],b=0;b<=S;b++){for(var T=[],E=0;E3?1.4:i>1?1.2:1.1,c=r>0?s:1/s;this._checkTriggerMoveZoom(this,`zoom`,`zoomOnMouseWheel`,e,{scale:c,originX:a,originY:o,isAvailableBehavior:null})}if(n){var l=Math.abs(r),u=(r>0?1:-1)*(l>3?.4:l>1?.15:.05);this._checkTriggerMoveZoom(this,`scrollMove`,`moveOnMouseWheel`,e,{scrollDelta:u,originX:a,originY:o,isAvailableBehavior:null})}}}},t.prototype._pinchHandler=function(e){if(!(ZI(this._zr,`globalPan`)||tL(e))){var t=e.pinchScale>1?1.1:1/1.1;this._checkTriggerMoveZoom(this,`zoom`,null,e,{scale:t,originX:e.pinchX,originY:e.pinchY,isAvailableBehavior:null})}},t.prototype._checkTriggerMoveZoom=function(e,t,n,r,i){e._checkPointer(r,i.originX,i.originY)&&(Ut(r.event),r.__ecRoamConsumed=!0,cL(e,t,n,r,i))},t}(vt);function tL(e){return e.__ecRoamConsumed}var nL=Bs();function rL(e){var t=nL(e);return t.roam=t.roam||{},t.uniform=t.uniform||{},t}function iL(e,t,n,r){for(var i=rL(e).roam,a=i[t]=i[t]||[],o=0;o=4&&(l={x:parseFloat(d[0]||0),y:parseFloat(d[1]||0),width:parseFloat(d[2]),height:parseFloat(d[3])})}if(l&&o!=null&&s!=null&&(u=FL(l,{x:0,y:0,width:o,height:s}),!t.ignoreViewBox)){var f=r;r=new Y,r.add(f),f.scaleX=f.scaleY=u.scale,f.x=u.x,f.y=u.y}return!t.ignoreRootClip&&o!=null&&s!=null&&r.setClipPath(new Iu({shape:{x:0,y:0,width:o,height:s}})),{root:r,width:o,height:s,viewBoxRect:l,viewBoxTransform:u,named:i}},e.prototype._parseNode=function(e,t,n,r,i,a){var o=e.nodeName.toLowerCase(),s,c=r;if(o===`defs`&&(i=!0),o===`text`&&(a=!0),o===`defs`||o===`switch`)s=t;else{if(!i){var l=dL[o];if(l&&K(dL,o)){s=l.call(this,e,t);var u=e.getAttribute(`name`);if(u){var d={name:u,namedFrom:null,svgNodeTagLower:o,el:s};n.push(d),o===`g`&&(c=d)}else r&&n.push({name:r.name,namedFrom:r,svgNodeTagLower:o,el:s});t.add(s)}}var f=_L[o];if(f&&K(_L,o)){var p=f.call(this,e),m=e.getAttribute(`id`);m&&(this._defs[m]=p)}}if(s&&s.isGroup)for(var h=e.firstChild;h;)h.nodeType===1?this._parseNode(h,s,n,c,i,a):h.nodeType===3&&a&&this._parseText(h,s),h=h.nextSibling},e.prototype._parseText=function(e,t){var n=new wu({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});bL(t,n),SL(e,n,this._defsUsePending,!1,!1),CL(n,t);var r=n.style,i=r.fontSize;i&&i<9&&(r.fontSize=9,n.scaleX*=i/9,n.scaleY*=i/9),r.font=(r.fontSize||r.fontFamily)&&[r.fontStyle,r.fontWeight,(r.fontSize||12)+`px`,r.fontFamily||`sans-serif`].join(` `);var a=n.getBoundingRect();return this._textX+=a.width,t.add(n),n},e.internalField=(function(){dL={g:function(e,t){var n=new Y;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n},rect:function(e,t){var n=new Iu;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.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`)}),n.silent=!0,n},circle:function(e,t){var n=new Jf;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(e.getAttribute(`cx`)||`0`),cy:parseFloat(e.getAttribute(`cy`)||`0`),r:parseFloat(e.getAttribute(`r`)||`0`)}),n.silent=!0,n},line:function(e,t){var n=new wp;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.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`)}),n.silent=!0,n},ellipse:function(e,t){var n=new Xf;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.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`)}),n.silent=!0,n},polygon:function(e,t){var n=e.getAttribute(`points`),r;n&&(r=xL(n));var i=new yp({shape:{points:r||[]},silent:!0});return bL(t,i),SL(e,i,this._defsUsePending,!1,!1),i},polyline:function(e,t){var n=e.getAttribute(`points`),r;n&&(r=xL(n));var i=new xp({shape:{points:r||[]},silent:!0});return bL(t,i),SL(e,i,this._defsUsePending,!1,!1),i},image:function(e,t){var n=new Ou;return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.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`)}),n.silent=!0,n},text:function(e,t){var n=e.getAttribute(`x`)||`0`,r=e.getAttribute(`y`)||`0`,i=e.getAttribute(`dx`)||`0`,a=e.getAttribute(`dy`)||`0`;this._textX=parseFloat(n)+parseFloat(i),this._textY=parseFloat(r)+parseFloat(a);var o=new Y;return bL(t,o),SL(e,o,this._defsUsePending,!1,!0),o},tspan:function(e,t){var n=e.getAttribute(`x`),r=e.getAttribute(`y`);n!=null&&(this._textX=parseFloat(n)),r!=null&&(this._textY=parseFloat(r));var i=e.getAttribute(`dx`)||`0`,a=e.getAttribute(`dy`)||`0`,o=new Y;return bL(t,o),SL(e,o,this._defsUsePending,!1,!0),this._textX+=parseFloat(i),this._textY+=parseFloat(a),o},path:function(e,t){var n=Uf(e.getAttribute(`d`)||``);return bL(t,n),SL(e,n,this._defsUsePending,!1,!1),n.silent=!0,n}}})(),e}(),_L={lineargradient:function(e){var t=new Np(parseInt(e.getAttribute(`x1`)||`0`,10),parseInt(e.getAttribute(`y1`)||`0`,10),parseInt(e.getAttribute(`x2`)||`10`,10),parseInt(e.getAttribute(`y2`)||`0`,10));return vL(e,t),yL(e,t),t},radialgradient:function(e){var t=new Pp(parseInt(e.getAttribute(`cx`)||`0`,10),parseInt(e.getAttribute(`cy`)||`0`,10),parseInt(e.getAttribute(`r`)||`0`,10));return vL(e,t),yL(e,t),t}};function vL(e,t){e.getAttribute(`gradientUnits`)===`userSpaceOnUse`&&(t.global=!0)}function yL(e,t){for(var n=e.firstChild;n;){if(n.nodeType===1&&n.nodeName.toLocaleLowerCase()===`stop`){var r=n.getAttribute(`offset`),i=void 0;i=r&&r.indexOf(`%`)>0?parseInt(r,10)/100:r?parseFloat(r):0;var a={};NL(n,a,a);var o=a.stopColor||n.getAttribute(`stop-color`)||`#000000`,s=a.stopOpacity||n.getAttribute(`stop-opacity`);if(s){var c=Kr(o);c&&c[3]&&(c[3]*=Rr(s),o=ei(c,`rgba`))}t.colorStops.push({offset:i,color:o})}n=n.nextSibling}}function bL(e,t){e&&e.__inheritedStyle&&(t.__inheritedStyle||={},F(t.__inheritedStyle,e.__inheritedStyle))}function xL(e){for(var t=OL(e),n=[],r=0;r0;a-=2){var o=r[a],s=r[a-1],c=OL(o);switch(i||=Yt(),s){case`translate`:$t(i,i,[parseFloat(c[0]),parseFloat(c[1]||`0`)]);break;case`scale`:tn(i,i,[parseFloat(c[0]),parseFloat(c[1]||c[0])]);break;case`rotate`:en(i,i,-parseFloat(c[0])*AL,[parseFloat(c[1]||`0`),parseFloat(c[2]||`0`)]);break;case`skewX`:var l=Math.tan(parseFloat(c[0])*AL);Qt(i,[1,0,l,1,0,0],i);break;case`skewY`:var u=Math.tan(parseFloat(c[0])*AL);Qt(i,[1,u,0,1,0,0],i);break;case`matrix`:i[0]=parseFloat(c[0]),i[1]=parseFloat(c[1]),i[2]=parseFloat(c[2]),i[3]=parseFloat(c[3]),i[4]=parseFloat(c[4]),i[5]=parseFloat(c[5]);break}}t.setLocalTransform(i)}}var ML=/([^\s:;]+)\s*:\s*([^:;]+)/g;function NL(e,t,n){var r=e.getAttribute(`style`);if(r){ML.lastIndex=0;for(var i;(i=ML.exec(r))!=null;){var a=i[1],o=K(fL,a)?fL[a]:null;o&&(t[o]=i[2]);var s=K(mL,a)?mL[a]:null;s&&(n[s]=i[2])}}}function PL(e,t,n){for(var r=0;r1e-6;JR[0]=o?(i[0]-r.x)/a:i[0],JR[1]=o?(i[1]-r.y)/a:i[1],pt(JR,JR,e.mtRawInv);var s=WR(e,JR);YR(t,s,a),L(n,function(e){e!==t&&YR(e,s.slice(),a)})}var JR=[];function YR(e,t,n){var r=e.option;r.center=t,r.zoom=n}function XR(e,t){if(t){var n=t.min||0,r=t.max||1/0;e=Math.max(Math.min(r,e),n)}return e}function ZR(e,t){var n=t.getShallow(`nodeScaleRatio`,!0)||1,r=rR(e);return((r.zoom-1)*n+1)/(r.trans[2].scaleX||1)}function QR(e,t,n,r,i,a,o,s){if(!zR(e)){n.disable();return}n.enable(W(e.get(`roam`),o),{api:t,zInfo:{component:e},triggerInfo:{roamTrigger:e.get(`roamTrigger`),isInSelf:r,isInClip:function(e,t,n){return!i||i.contain(t,n)}}});function c(n){var r=e.mainType,i=qm(F({type:nz(r,e.subType,dd)},n));s&&(i.componentType=r),i[r+`Id`]=e.id,t.dispatchAction(i)}n.off(`pan`).off(`zoom`).on(`pan`,function(e){a&&a(`pan`),c({dx:e.dx,dy:e.dy})}).on(`zoom`,function(e){a&&a(`zoom`),c({zoom:e.scale,originX:e.originX,originY:e.originY})})}function $R(e){return function(t,n,r){return ez.copy(e.getBoundingRect()),ez.applyTransform(e.getComputedTransform()),ez.contain(n,r)}}var ez=new J(0,0,0,0);function tz(e,t,n){var r=nz(t,n,dd);e.registerAction({type:r,event:r,update:`none`},function(e,r,i){r.eachComponent(qs(e,t,n),function(t){RR(e,t),BR(e,t,r,i)})})}function nz(e,t,n){return(e===`series`?t===`map`?`geo`:t:e)+n}function rz(e){return e.zoom!=null}function iz(e,t,n,r,i,a,o){var s=new aR(null,KR(e.ecModel,t));return _R(s,n,r,i,a),o?vR(s,o.x,o.y,o.width,o.height):vR(s,n,r,i,a),gR(s,e),s}var az=[`rect`,`circle`,`line`,`ellipse`,`polygon`,`polyline`,`path`],oz=G(az),sz=G(az.concat([`g`])),cz=G(az.concat([`g`])),lz=Bs();function uz(e){var t=e.getItemStyle(),n=e.get(`areaColor`);return n!=null&&(t.fill=n),t}function dz(e){var t=e.style;t&&(t.stroke=t.stroke||t.fill,t.fill=null)}var fz=function(){function e(e){var t=this.group=new Y,n=this._transformGroup=new Y;t.add(n),this.uid=Dh(`ec_map_draw`),this._controller=new eL(e.getZr()),n.add(this._regionsGroup=new Y),n.add(this._svgGroup=new Y)}return e.prototype.draw=function(e,t,n,r,i){var a=this,o=e.getData&&e.getData();yz(e)&&t.eachComponent({mainType:`series`,subType:`map`},function(t){!o&&t.getHostGeoModel()===e&&(o=t.getData())});var s=e.coordinateSystem,c=s.view,l=this._regionsGroup,u=this._transformGroup,d=!l.childAt(0)||i,f;s.shouldClip()?(f=uR(null,c),this.group.setClipPath(new Iu({shape:f.clone()}))):this.group.removeClipPath(),PR(u,1,c,d?null:e);var p=o&&o.getVisual(`visualMeta`)&&o.getVisual(`visualMeta`).length>0;s.resourceType===`geoJSON`?this._buildGeoJSON(c,n,s,e,o,p):s.resourceType===`geoSVG`&&this._buildSVG(c,n,s,e,o,p),QR(e,n,this._controller,function(t,n,r){return e.coordinateSystem.containPoint([n,r])},f,function(){a._mouseDownFlag=!1},!1,!0),this._updateMapSelectHandler(e,l,n,r)},e.prototype.__updateOnOwnRoam=function(e){PR(this._transformGroup,1,e.coordinateSystem.view,null)},e.prototype._buildGeoJSON=function(e,t,n,r,i,a){var o=this._regionsGroupByName=G(),s=G(),c=this._regionsGroup,l=n.projection,u=l&&l.stream,d=ka(dR(null,e,0));function f(e,t){return t&&(e=t(e)),e&&pt([],e,d)}function p(e){for(var t=[],n=!u&&l&&l.project,r=0;r=0)&&(u=e);var d=o?{normal:{align:`center`,verticalAlign:`middle`}}:null;eh(n,th(i),{labelFetcher:u,labelDataIndex:l,defaultText:r},d);var f=n.getTextContent();if(f&&(lz(f).ignore=f.ignore,n.textConfig&&o)){var p=n.getBoundingRect().clone();n.textConfig.layoutRect=p,n.textConfig.position=[(o[0]-p.x)/p.width*100+`%`,(o[1]-p.y)/p.height*100+`%`]}n.disableLabelAnimation=!0}else n.removeTextContent(),n.removeTextConfig(),n.disableLabelAnimation=null}function hz(e,t,n,r,i,a){t?t.setItemGraphicEl(a,n):Z(n).eventData={componentType:`geo`,componentIndex:e.componentIndex,geoIndex:e.componentIndex,name:r,region:i&&i.option||{}}}function gz(e,t,n,r,i){t||Im({el:n,componentModel:e,itemName:r,itemTooltipOption:i.get(`tooltip`)})}function _z(e,t,n,r){t.highDownSilentOnTouch=!!e.get(`selectedMode`);var i=r.getModel(`emphasis`),a=i.get(`focus`);return ff(t,a,i.get(`blurScope`),i.get(`disabled`)),yz(e)&&yf(t,e,n),a}function vz(e,t,n){var r=[],i;function a(){i=[]}function o(){i.length&&(r.push(i),i=[])}var s=t({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(e,t){isFinite(e)&&isFinite(t)&&i.push([e,t])},sphere:function(){}});return!n&&s.polygonStart(),L(e,function(e){s.lineStart();for(var t=0;t-1&&(n.style.stroke=n.style.fill,n.style.fill=Q.color.neutral00,n.style.lineWidth=2),n},t.prototype.__ownRoamView=function(){return Sz(this)?this.coordinateSystem.view:null},t.type=`series.map`,t.dependencies=[`geo`],t.layoutMode=`box`,t.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:Q.color.tertiary},itemStyle:{borderWidth:.5,borderColor:Q.color.border,areaColor:Q.color.background},emphasis:{label:{show:!0,color:Q.color.primary},itemStyle:{areaColor:Q.color.highlight}},select:{label:{show:!0,color:Q.color.primary},itemStyle:{color:Q.color.highlight}},nameProperty:`name`},t}(Tb);function xz(e){return e.indexOf(`i`)===0}function Sz(e){return Cz(e.seriesGroup)===e&&!e.getHostGeoModel()}function Cz(e){return e.f[0]}function wz(e,t){var n={};return e.eachRawSeriesByType(`map`,function(r){var i=r.getHostGeoModel(),a=i?`o`+i.id:`i`+r.getMapType(),o=n[a]=n[a]||{f:[],r:[]};!e.isSeriesFiltered(r)&&!t&&o.f.push(r),o.r.push(r)}),n}var Tz=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=`map`,t}return t.prototype.render=function(e,t,n,r){if(!(r&&r.type===`mapToggleSelect`&&r.from===this.uid)){var i=this.group;if(i.removeAll(),!e.getHostGeoModel()){var a=this._mapDraw;a&&r&&r.type===`geoRoam`&&a.resetForLabelLayout(),r&&r.type===`geoRoam`&&r.componentType===`series`&&r.seriesId===e.id?a&&i.add(a.group):Sz(e)?(a||=this._mapDraw=new fz(n),i.add(a.group),a.draw(e,t,n,this,r)):this._clearMapDraw(),e.get(`showLegendSymbol`)&&t.getComponent(`legend`)&&this._renderSymbols(e)}}},t.prototype.__updateOnOwnRoam=function(e,t,n){var r=this._mapDraw;Sz(t)&&r&&r.__updateOnOwnRoam(t)},t.prototype.remove=function(){this._clearMapDraw(),this.group.removeAll()},t.prototype.dispose=function(){this._clearMapDraw()},t.prototype._clearMapDraw=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},t.prototype._renderSymbols=function(e){var t=e.originalData,n=this.group;t.each(t.mapDimension(`value`),function(r,i){if(!isNaN(r)){var a=t.getItemLayout(i);if(!(!a||!a.point)){var o=a.point,s=a.offset,c=new Jf({style:{fill:e.getData().getVisual(`style`).fill},shape:{cx:o[0]+s*9,cy:o[1],r:3},silent:!0,z2:8+(s?0:11)});if(!s){var l=Cz(e.seriesGroup).getData(),u=t.getName(i),d=l.indexOfName(u),f=t.getItemModel(i),p=f.getModel(`label`),m=l.getItemGraphicEl(d);eh(c,th(f),{labelFetcher:{getFormattedLabel:function(t,n){return e.getFormattedLabel(d,n)}},defaultText:u}),c.disableLabelAnimation=!0,p.get(`position`)||c.setTextConfig({position:`bottom`}),m.onHoverStateChange=function(e){Ld(c,e)}}n.add(c)}}})},t.type=`map`,t}(Rb),Ez={geoJSON:{aspectScale:.75,invertLongitute:!0},geoSVG:{aspectScale:1,invertLongitute:!1}},Dz=[`lng`,`lat`],Oz=function(e){_(t,e);function t(t,n,r){var i=e.call(this)||this;i.dimensions=Dz,i.type=`geo`,i._nameCoordMap=G(),i.name=t;var a=r.projection,o=nR.load(n,r.nameMap,r.nameProperty),s=nR.getGeoResource(n);i.resourceType=s?s.type:null;var c=i.regions=o.regions,l=Ez[s.type];i._clip=r.clip,i.view=new aR(a?!1:l.invertLongitute,KR(r.ecModel,r.api),i),i.map=n,i._regionsMap=o.regionsMap,i.regions=o.regions,i.projection=a;var u;if(a)for(var d=0;d1?(b.width=y,b.height=y/g):(b.height=y,b.width=y*g),b.y=v[1]-b.height/2,b.x=v[0]-b.width/2;else{var x=e.getBoxLayoutParams();x.aspect=g,b=o_(x,h),b=s_(e,b,g)}vR(n,b.x,b.y,b.width,b.height),gR(n,e)}function jz(e,t){L(t.get(`geoCoord`),function(t,n){e.addGeoCoord(n,t)})}var Mz=new(function(){function e(){this.dimensions=Dz}return e.prototype.create=function(e,t){var n=[];function r(e){return{nameProperty:e.get(`nameProperty`),aspectScale:e.get(`aspectScale`),projection:e.get(`projection`),clip:e.getShallow(`clip`,!0)}}return e.eachComponent(`geo`,function(i,a){var o=i.get(`map`),s=new Oz(o+a,o,P({nameMap:i.get(`nameMap`),api:t,ecModel:e},r(i)));n.push(s),i.coordinateSystem=s,s.model=i,s.resize=Az,s.resize(i,t)}),e.eachSeries(function(e){Xg({targetModel:e,coordSysType:`geo`,coordSysProvider:function(){var t=e.subType===`map`?e.getHostGeoModel():e.getReferringComponents(`geo`,Ws).models[0];return t&&t.coordinateSystem},allowNotFound:!0})}),L(wz(e,!0),function(i,a){if(xz(a)){var o=i.r[0],s=[];L(i.r,function(e){s.push(e.get(`nameMap`)),e.seriesGroup=null});var c=a.slice(1),l=new Oz(c,c,P({nameMap:de(s),api:t,ecModel:e},r(o))),u;L(i.r,function(e){u=W(u,e.get(`scaleLimit`))}),n.push(l),l.resize=Az,l.resize(o,t),L(i.r,function(e){e.coordinateSystem=l,jz(l,e)})}}),n},e.prototype.getFilledRegions=function(e,t,n,r){for(var i=(e||[]).slice(),a=G(),o=0;o=0;a--){var o=i[a];o.hierNode={defaultAncestor:null,ancestor:o,prelim:0,modifier:0,change:0,shift:0,i:a,thread:null},n.push(o)}}function Wz(e,t){var n=e.isExpand?e.children:[],r=e.parentNode.children,i=e.hierNode.i?r[e.hierNode.i-1]:null;if(n.length){Jz(e);var a=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;i?(e.hierNode.prelim=i.hierNode.prelim+t(e,i),e.hierNode.modifier=e.hierNode.prelim-a):e.hierNode.prelim=a}else i&&(e.hierNode.prelim=i.hierNode.prelim+t(e,i));e.parentNode.hierNode.defaultAncestor=Yz(e,i,e.parentNode.hierNode.defaultAncestor||r[0],t)}function Gz(e){var t=e.hierNode.prelim+e.parentNode.hierNode.modifier;e.setLayout({x:t},!0),e.hierNode.modifier+=e.parentNode.hierNode.modifier}function Kz(e){return arguments.length?e:eB}function qz(e,t){return e-=Math.PI/2,{x:t*Math.cos(e),y:t*Math.sin(e)}}function Jz(e){for(var t=e.children,n=t.length,r=0,i=0;--n>=0;){var a=t[n];a.hierNode.prelim+=r,a.hierNode.modifier+=r,i+=a.hierNode.change,r+=a.hierNode.shift+i}}function Yz(e,t,n,r){if(t){for(var i=e,a=e,o=a.parentNode.children[0],s=t,c=i.hierNode.modifier,l=a.hierNode.modifier,u=o.hierNode.modifier,d=s.hierNode.modifier;s=Xz(s),a=Zz(a),s&&a;){i=Xz(i),o=Zz(o),i.hierNode.ancestor=e;var f=s.hierNode.prelim+d-a.hierNode.prelim-l+r(s,a);f>0&&($z(Qz(s,e,n),e,f),l+=f,c+=f),d+=s.hierNode.modifier,l+=a.hierNode.modifier,c+=i.hierNode.modifier,u+=o.hierNode.modifier}s&&!Xz(i)&&(i.hierNode.thread=s,i.hierNode.modifier+=d-c),a&&!Zz(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=l-u,n=e)}return n}function Xz(e){var t=e.children;return t.length&&e.isExpand?t[t.length-1]:e.hierNode.thread}function Zz(e){var t=e.children;return t.length&&e.isExpand?t[0]:e.hierNode.thread}function Qz(e,t,n){return e.hierNode.ancestor.parentNode===t.parentNode?e.hierNode.ancestor:n}function $z(e,t,n){var r=n/(t.hierNode.i-e.hierNode.i);t.hierNode.change-=r,t.hierNode.shift+=n,t.hierNode.modifier+=n,t.hierNode.prelim+=n,e.hierNode.change+=r}function eB(e,t){return e.parentNode===t.parentNode?1:2}var tB=Bs();function nB(e){var t=e.mainData,n=e.datas;n||(n={main:t},e.datasAttr={main:`data`}),e.datas=e.mainData=null,lB(t,n,e),L(n,function(n){L(t.TRANSFERABLE_METHODS,function(t){n.wrapMethod(t,xe(rB,e))})}),t.wrapMethod(`cloneShallow`,xe(aB,e)),L(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,xe(iB,e))}),Fe(n[t.dataType]===t)}function rB(e,t){if(cB(this)){var n=P({},tB(this).datas);n[this.dataType]=t,lB(t,n,e)}else uB(t,this.dataType,tB(this).mainData,e);return t}function iB(e,t){return e.struct&&e.struct.update(),t}function aB(e,t){return L(tB(t).datas,function(n,r){n!==t&&uB(n.cloneShallow(),r,t,e)}),t}function oB(e){var t=tB(this).mainData;return e==null||t==null?t:tB(t).datas[e]}function sB(){var e=tB(this).mainData;return e==null?[{data:e}]:R(ye(tB(e).datas),function(t){return{type:t,data:tB(e).datas[t]}})}function cB(e){return tB(e).mainData===e}function lB(e,t,n){tB(e).datas={},L(t,function(t,r){uB(t,r,e,n)})}function uB(e,t,n,r){tB(n).datas[t]=e,tB(e).mainData=n,e.dataType=t,r.struct&&(e[r.structAttr]=r.struct,r.struct[r.datasAttr[t]]=e),e.getLinkedData=oB,e.getLinkedDataAll=sB}var dB=function(){function e(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 e.prototype.isRemoved=function(){return this.dataIndex<0},e.prototype.eachNode=function(e,t,n){V(e)&&(n=t,t=e,e=null),e||={},H(e)&&(e={order:e});var r=e.order||`preorder`,i=this[e.attr||`children`],a;r===`preorder`&&(a=t.call(n,this));for(var o=0;!a&&ot&&(t=r.height)}this.height=t+1},e.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,n=this.children,r=n.length;t=0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},e.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},e.prototype.getModel=function(e){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(e)},e.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},e.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},e.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},e.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},e.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},e.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t=0){var r=n.getData().tree.root,i=e.targetNode;if(H(i)&&(i=r.getNodeById(i)),i&&r.contains(i))return{node:i};var a=e.targetNodeId;if(a!=null&&(i=r.getNodeById(a)))return{node:i}}}function hB(e){for(var t=[];e;)e=e.parentNode,e&&t.push(e);return t.reverse()}function gB(e,t){return I(hB(e),t)>=0}function _B(e,t){for(var n=[];e;){var r=e.dataIndex;n.push({name:e.name,dataIndex:r,value:t.getRawValue(r)}),e=e.parentNode}return n.reverse(),n}var vB=`tree`,yB=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.hasSymbolVisual=!0,n.ignoreStyleOnData=!0,n}return t.prototype.getInitialData=function(e){var t={name:e.name,children:e.data},n=new Th(e.leaves||{},this,this.ecModel),r=fB.createTree(t,this,i);function i(e){e.wrapMethod(`getItemModel`,function(e,t){var i=r.getNodeByDataIndex(t);return i&&i.children.length&&i.isExpand||(e.parentModel=n),e})}var a=0;r.eachNode(`preorder`,function(e){e.depth>a&&(a=e.depth)});var o=e.expandAndCollapse&&e.initialTreeDepth>=0?e.initialTreeDepth:a;return r.root.eachNode(`preorder`,function(e){var t=e.hostTree.data.getRawDataItem(e.dataIndex);e.isExpand=t&&t.collapsed!=null?!t.collapsed:e.depth<=o}),r.data},t.prototype.getOrient=function(){var e=this.get(`orient`);return e===`horizontal`?e=`LR`:e===`vertical`&&(e=`TB`),e},t.prototype.formatTooltip=function(e,t,n){for(var r=this.getData().tree,i=r.root.children[0],a=r.getNodeByDataIndex(e),o=a.getValue(),s=a.name;a&&a!==i;)s=a.parentNode.name+`.`+s,a=a.parentNode;return ib(`nameValue`,{name:s,value:o,noValue:isNaN(o)||o==null})},t.prototype.getDataParams=function(t){var n=e.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return n.treeAncestors=_B(r,this),n.collapsed=!r.isExpand,n},t.prototype.__ownRoamView=function(){return this.coordinateSystem},t.type=`series.`+vB,t.layoutMode=`box`,t.defaultOption={z:2,coordinateSystemUsage:`box`,left:`12%`,top:`12%`,right:`12%`,bottom:`12%`,layout:`orthogonal`,edgeShape:`curve`,edgeForkPosition:`50%`,roam:!1,roamTrigger:`global`,nodeScaleRatio:.4,center:null,zoom:1,orient:`LR`,symbol:`emptyCircle`,symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:Q.color.borderTint,width:1.5,curveness:.5},itemStyle:{color:`lightsteelblue`,borderWidth:1.5},label:{show:!0},animationEasing:`linear`,animationDuration:700,animationDurationUpdate:500},t}(Tb),bB=function(){function e(){this.parentPoint=[],this.childPoints=[]}return e}(),xB=function(e){_(t,e);function t(t){return e.call(this,t)||this}return t.prototype.getDefaultStyle=function(){return{stroke:Q.color.neutral99,fill:null}},t.prototype.getDefaultShape=function(){return new bB},t.prototype.buildPath=function(e,t){var n=t.childPoints,r=n.length,i=t.parentPoint,a=n[0],o=n[r-1];if(r===1){e.moveTo(i[0],i[1]),e.lineTo(a[0],a[1]);return}var s=t.orient,c=s===`TB`||s===`BT`?0:1,l=1-c,u=X(t.forkPosition,1),d=[];d[c]=i[c],d[l]=i[l]+(o[l]-i[l])*u,e.moveTo(i[0],i[1]),e.lineTo(d[0],d[1]),e.moveTo(a[0],a[1]),d[c]=a[c],e.lineTo(d[0],d[1]),d[c]=o[c],e.lineTo(d[0],d[1]),e.lineTo(o[0],o[1]);for(var f=1;fv.x,x||(b-=Math.PI));var C=x?`left`:`right`,w=s.getModel(`label`),T=w.get(`rotate`),E=Math.PI/180*T,D=g.getTextContent();D&&(g.setTextConfig({position:w.get(`position`)||C,rotation:T==null?-b:E,origin:`center`}),D.setStyle(`verticalAlign`,`middle`))}var O=s.get([`emphasis`,`focus`]),k=O===`relative`?We(o.getAncestorsIndices(),o.getDescendantIndices()):O===`ancestor`?o.getAncestorsIndices():O===`descendant`?o.getDescendantIndices():null;k&&(Z(n).focus=k),TB(i,o,u,n,m,p,h,r),n.__edge&&(n.onHoverStateChange=function(t){if(t!==`blur`){var r=o.parentNode&&e.getItemGraphicEl(o.parentNode.dataIndex);r&&r.hoverState===1||Ld(n.__edge,t)}})}function TB(e,t,n,r,i,a,o,s){var c=t.getModel(),l=e.get(`edgeShape`),u=e.get(`layout`),d=e.getOrient(),f=e.get([`lineStyle`,`curveness`]),p=e.get(`edgeForkPosition`),m=c.getModel(`lineStyle`).getLineStyle(),h=r.__edge;if(l===`curve`)t.parentNode&&t.parentNode!==n&&(h||=r.__edge=new Op({shape:kB(u,d,f,i,i)}),Yp(h,{shape:kB(u,d,f,a,o)},e));else if(l===`polyline`&&u===`orthogonal`&&t!==n&&t.children&&t.children.length!==0&&t.isExpand===!0){for(var g=t.children,_=[],v=0;v=0;a--)n.push(i[a])}}function MB(e,t){e.eachSeriesByType(`tree`,function(e){NB(e,t)})}function NB(e,t){var n=l_(e,t).refContainer,r=o_(e.getBoxLayoutParams(),n);e.layoutInfo=r;var i=e.get(`layout`),a=0,o=0,s=null;i===`radial`?(a=2*Math.PI,o=Math.min(r.height,r.width)/2,s=Kz(function(e,t){return(e.parentNode===t.parentNode?1:2)/e.depth})):(a=r.width,o=r.height,s=Kz());var c=e.getData().tree.root,l=c.children[0];if(l){Uz(c),AB(l,Wz,s),c.hierNode.modifier=-l.hierNode.prelim,jB(l,Gz);var u=l,d=l,f=l;jB(l,function(e){var t=e.getLayout().x;td.getLayout().x&&(d=e),e.depth>f.depth&&(f=e)});var p=u===d?1:s(u,d)/2,m=p-u.getLayout().x,h=0,g=0,_=0,v=0;if(i===`radial`)h=a/(d.getLayout().x+p+m),g=o/(f.depth-1||1),jB(l,function(e){_=(e.getLayout().x+m)*h,v=(e.depth-1)*g;var t=qz(_,v);e.setLayout({x:t.x,y:t.y,rawX:_,rawY:v},!0)});else{var y=e.getOrient();y===`RL`||y===`LR`?(g=o/(d.getLayout().x+p+m),h=a/(f.depth-1||1),jB(l,function(e){v=(e.getLayout().x+m)*g,_=y===`LR`?(e.depth-1)*h:a-(e.depth-1)*h,e.setLayout({x:_,y:v},!0)})):(y===`TB`||y===`BT`)&&(h=a/(d.getLayout().x+p+m),g=o/(f.depth-1||1),jB(l,function(e){_=(e.getLayout().x+m)*h,v=y===`TB`?(e.depth-1)*g:o-(e.depth-1)*g,e.setLayout({x:_,y:v},!0)}))}}}function PB(e){e.registerAction({type:`treeExpandAndCollapse`,event:`treeExpandAndCollapse`,update:`update`},function(e,t){t.eachComponent({mainType:nd,subType:vB,query:e},function(t){var n=e.dataIndex,r=t.getData().tree.getNodeByDataIndex(n);r.isExpand=!r.isExpand})}),tz(e,nd,vB)}var FB=_c(vB,IB);function IB(e){e.eachSeriesByType(vB,function(e){var t=e.getData();t.tree.eachNode(function(e){var n=e.getModel().getModel(`itemStyle`).getItemStyle();P(t.ensureUniqueItemVisual(e.dataIndex,`style`),n)})})}function LB(e){e.registerChartView(SB),e.registerSeriesModel(yB),e.registerLayout(MB),e.registerVisual(FB),PB(e)}var RB=[`treemapZoomToNode`,`treemapRender`,`treemapMove`];function zB(e){for(var t=0;t1;)r=r.parentNode;var i=H_(e.ecModel,r.name||r.dataIndex+``,n);t.setVisual(`decal`,i)})}var VB=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.preventUsingHoverLayer=!0,n}return t.prototype.getInitialData=function(e,t){var n={name:e.name,children:e.data};HB(n);var r=e.levels||[],i=new Th({itemStyle:this.designatedVisualItemStyle={}},this,t);r=e.levels=UB(r,t);var a=R(r||[],function(e){return new Th(e,i,t)},this),o=fB.createTree(n,this,s);function s(e){e.wrapMethod(`getItemModel`,function(e,t){var n=o.getNodeByDataIndex(t);return e.parentModel=(n?a[n.depth]:null)||i,e})}return o.data},t.prototype.optionUpdated=function(){this.resetViewRoot()},t.prototype.formatTooltip=function(e,t,n){var r=this.getData(),i=this.getRawValue(e);return ib(`nameValue`,{name:r.getName(e),value:i})},t.prototype.getDataParams=function(t){var n=e.prototype.getDataParams.apply(this,arguments);return n.treeAncestors=_B(this.getData().tree.getNodeByDataIndex(t),this),n.treePathInfo=n.treeAncestors,n},t.prototype.setLayoutInfo=function(e){this.layoutInfo=this.layoutInfo||{},P(this.layoutInfo,e)},t.prototype.mapIdToIndex=function(e){var t=this._idIndexMap;t||(t=this._idIndexMap=G(),this._idIndexMapCount=0);var n=t.get(e);return n??t.set(e,n=this._idIndexMapCount++),n},t.prototype.getViewRoot=function(){return this._viewRoot},t.prototype.resetViewRoot=function(e){e?this._viewRoot=e:e=this._viewRoot;var t=this.getRawData().tree.root;(!e||e!==t&&!t.contains(e))&&(this._viewRoot=t)},t.prototype.enableAriaDecal=function(){BB(this)},t.type=`series.treemap`,t.layoutMode=`box`,t.defaultOption={progressive:0,coordinateSystemUsage:`box`,left:Q.size.l,top:Q.size.xxxl,right:Q.size.l,bottom:Q.size.xxxl,sort:!0,clipWindow:`origin`,squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:`▶`,zoomToNodeRatio:.32*.32,scaleLimit:{max:5,min:.2},roam:!0,roamTrigger:`global`,nodeClick:`zoomToNode`,animation:!0,animationDurationUpdate:900,animationEasing:`quinticInOut`,breadcrumb:{show:!0,height:22,left:`center`,bottom:Q.size.m,emptyItemWidth:25,itemStyle:{color:Q.color.backgroundShade,textStyle:{color:Q.color.secondary}},emphasis:{itemStyle:{color:Q.color.background}}},label:{show:!0,distance:0,padding:5,position:`inside`,color:Q.color.neutral00,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:Q.color.neutral00,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:[]},t}(Tb);function HB(e){var t=0;L(e.children,function(e){HB(e);var n=e.value;B(n)&&(n=n[0]),t+=n});var n=e.value;B(n)&&(n=n[0]),(n==null||isNaN(n))&&(n=t),n<0&&(n=0),B(e.value)?e.value[0]=n:e.value=n}function UB(e,t){var n=vs(t.get(`color`)),r=vs(t.get([`aria`,`decal`,`decals`]));if(n){e||=[];var i,a;L(e,function(e){var t=new Th(e),n=t.get(`color`),r=t.get(`decal`);(t.get([`itemStyle`,`color`])||n&&n!==`none`)&&(i=!0),(t.get([`itemStyle`,`decal`])||r&&r!==`none`)&&(a=!0)});var o=e[0]||={};return i||(o.color=n.slice()),!a&&r&&(o.decal=r.slice()),e}}var WB=8,GB=8,KB=5,qB=function(){function e(e){this.group=new Y,e.add(this.group)}return e.prototype.render=function(e,t,n,r){var i=e.getModel(`breadcrumb`),a=this.group;if(a.removeAll(),!(!i.get(`show`)||!n)){var o=i.getModel(`itemStyle`),s=i.getModel(`emphasis`),c=o.getModel(`textStyle`),l=s.getModel([`itemStyle`,`textStyle`]),u=l_(e,t).refContainer,d={left:i.get(`left`),right:i.get(`right`),top:i.get(`top`),bottom:i.get(`bottom`)},f={emptyItemWidth:i.get(`emptyItemWidth`),totalWidth:0,renderList:[]},p=o_(d,u);this._prepare(n,f,c),this._renderContent(e,f,p,o,s,c,l,r),u_(a,d,u)}},e.prototype._prepare=function(e,t,n){for(var r=e;r;r=r.parentNode){var i=Ms(r.getModel().get(`name`),``),a=n.getTextRect(i),o=Math.max(a.width+WB*2,t.emptyItemWidth);t.totalWidth+=o+GB,t.renderList.push({node:r,text:i,width:o})}},e.prototype._renderContent=function(e,t,n,r,i,a,o,s){for(var c=0,l=t.emptyItemWidth,u=e.get([`breadcrumb`,`height`]),d=t.totalWidth,f=t.renderList,p=i.getModel(`itemStyle`).getItemStyle(),m=f.length-1;m>=0;m--){var h=f[m],g=h.node,_=h.width,v=h.text;d>n.width&&(d-=_-l,_=l,v=null);var y=new yp({shape:{points:JB(c,0,_,u,m===f.length-1,m===0)},style:F(r.getItemStyle(),{lineJoin:`bevel`}),textContent:new Vu({style:nh(a,{text:v})}),textConfig:{position:`inside`},z2:10*1e4,onclick:xe(s,g)});y.disableLabelAnimation=!0,y.getTextContent().ensureState(`emphasis`).style=nh(o,{text:v}),y.ensureState(`emphasis`).style=p,ff(y,i.get(`focus`),i.get(`blurScope`),i.get(`disabled`)),this.group.add(y),YB(y,e,g),c+=_+GB}},e.prototype.remove=function(){this.group.removeAll()},e}();function JB(e,t,n,r,i,a){var o=[[i?e:e-KB,t],[e+n,t],[e+n,t+r],[i?e:e-KB,t+r]];return!a&&o.splice(2,0,[e+n+KB,t+r/2]),!i&&o.push([e,t+r/2]),o}function YB(e,t,n){Z(e).eventData={componentType:`series`,componentSubType:`treemap`,componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:`treemap`,selfType:`breadcrumb`,nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&_B(n,t)}}var XB=function(){function e(){this._storage=[],this._elExistsMap={}}return e.prototype.add=function(e,t,n,r,i){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:n,delay:r,easing:i}),!0)},e.prototype.finished=function(e){return this._finishedCallback=e,this},e.prototype.start=function(){for(var e=this,t=this._storage.length,n=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},r=0,i=this._storage.length;r=0;c--){var l=i[r===`asc`?o-c-1:c].getValue();l/n*ts[1]&&(s[1]=t)})),{sum:r,dataExtent:s}}function dV(e,t,n){for(var r=0,i=1/0,a=0,o=void 0,s=e.length;ar&&(r=o));var c=e.area*e.area,l=t*t*n;return c?QB(l*r/c,c/(l*i)):1/0}function fV(e,t,n,r,i){var a=t===n.width?0:1,o=1-a,s=[`x`,`y`],c=[`width`,`height`],l=n[s[a]],u=t?e.area/t:0;(i||u>n[c[o]])&&(u=n[c[o]]);for(var d=0,f=e.length;dqo&&(u=qo),i=c}uxV||Math.abs(e.dy)>xV)){var t=this.seriesModel.getData().tree.root;if(!t)return;var n=t.getLayout();if(!n)return;this.api.dispatchAction({type:`treemapMove`,from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+e.dx,y:n.y+e.dy,width:n.width,height:n.height}})}},t.prototype._onZoom=function(e){var t=e.originX,n=e.originY,r=e.scale,i=this.seriesModel;if(this._state!==`animating`){var a=i.getData().tree.root;if(!a)return;var o=a.getLayout();if(!o)return;var s=new J(o.x,o.y,o.width,o.height),c=i.layoutInfo,l=_V(c,o),u=l*r;u=vV(u,i);var d=u/l;t-=c.x,n-=c.y;var f=Yt();$t(f,f,[-t,-n]),tn(f,f,[d,d]),$t(f,f,[t,n]),s.applyTransform(f),this.api.dispatchAction({type:`treemapRender`,from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:s.x,y:s.y,width:s.width,height:s.height}})}},t.prototype._initEvents=function(e){var t=this;e.on(`click`,function(e){if(t._state===`ready`){var n=t.seriesModel.get(`nodeClick`,!0);if(n){var r=t.findTarget(e.offsetX,e.offsetY);if(r){var i=r.node;if(i.getLayout().isLeafRoot)t._rootToNode(r);else if(n===`zoomToNode`)t._zoomToNode(r);else if(n===`link`){var a=i.hostTree.data.getItemModel(i.dataIndex),o=a.get(`link`,!0),s=a.get(`target`,!0)||`blank`;o&&Vg(o,s)}}}}},this)},t.prototype._renderBreadcrumb=function(e,t,n){var r=this;n||(n=e.get(`leafDepth`,!0)==null?this.findTarget(t.getWidth()/2,t.getHeight()/2):{node:e.getViewRoot()},n||={node:e.getData().tree.root}),(this._breadcrumb||=new qB(this.group)).render(e,t,n.node,function(t){r._state!==`animating`&&(gB(e.getViewRoot(),t)?r._rootToNode({node:t}):r._zoomToNode({node:t}))})},t.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=jV(),this._state=`ready`,this._breadcrumb&&this._breadcrumb.remove()},t.prototype.dispose=function(){this._clearController()},t.prototype._zoomToNode=function(e){this.api.dispatchAction({type:`treemapZoomToNode`,from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype._rootToNode=function(e){this.api.dispatchAction({type:`treemapRootToNode`,from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype.findTarget=function(e,t){var n;return this.seriesModel.getViewRoot().eachNode({attr:`viewChildren`,order:`preorder`},function(r){var i=this._storage.background[r.getRawIndex()];if(i){var a=i.transformCoordToLocal(e,t),o=i.shape;if(o.x<=a[0]&&a[0]<=o.x+o.width&&o.y<=a[1]&&a[1]<=o.y+o.height)n={node:r,offsetX:a[0],offsetY:a[1]};else return!1}},this),n},t.type=`treemap`,t}(Rb);function jV(){return{nodeGroup:[],background:[],content:[]}}function MV(e,t,n,r,i,a,o,s,c,l){if(!o)return;var u=o.getLayout(),d=e.getData(),f=o.getModel();if(d.setItemGraphicEl(o.dataIndex,null),!u||!u.isInView)return;var p=u.width,m=u.height,h=u.borderWidth,g=u.invisible,_=o.getRawIndex(),v=s&&s.getRawIndex(),y=o.viewChildren,b=u.upperHeight,x=y&&y.length,S=f.getModel(`itemStyle`),C=f.getModel([`emphasis`,`itemStyle`]),w=f.getModel([`blur`,`itemStyle`]),T=f.getModel([`select`,`itemStyle`]),E=S.get(`borderRadius`)||0,D=le(`nodeGroup`,yV);if(!D)return;if(c.add(D),D.x=u.x||0,D.y=u.y||0,D.markRedraw(),kV(D).nodeWidth=p,kV(D).nodeHeight=m,u.isAboveViewRoot)return D;var O=le(`background`,bV,l,TV);O&&ie(D,O,x&&u.upperLabelHeight);var k=f.getModel(`emphasis`),A=k.get(`focus`),j=k.get(`blurScope`),ee=k.get(`disabled`),te=A===`ancestor`?o.getAncestorsIndices():A===`descendant`?o.getDescendantIndices():A;if(x)vf(D)&&_f(D,!1),O&&(_f(O,!ee),d.setItemGraphicEl(o.dataIndex,O),pf(O,te,j));else{var ne=le(`content`,bV,l,EV);ne&&ae(D,ne),O.disableMorphing=!0,O&&vf(O)&&_f(O,!1),_f(D,!ee),d.setItemGraphicEl(o.dataIndex,D);var re=f.getShallow(`cursor`);re&&ne.attr(`cursor`,re),pf(D,te,j)}return D;function ie(t,n,r){var i=Z(n);if(i.dataIndex=o.dataIndex,i.seriesIndex=e.seriesIndex,n.setShape({x:0,y:0,width:p,height:m,r:E}),g)oe(n);else{n.invisible=!1;var a=o.getVisual(`style`),s=a.stroke,c=OV(S);c.fill=s;var l=DV(C);l.fill=C.get(`borderColor`);var u=DV(w);u.fill=w.get(`borderColor`);var d=DV(T);if(d.fill=T.get(`borderColor`),r){var f=p-2*h;se(n,s,a.opacity,{x:h,y:0,width:f,height:b})}else n.removeTextContent();n.setStyle(c),n.ensureState(`emphasis`).style=l,n.ensureState(`blur`).style=u,n.ensureState(`select`).style=d,Ud(n)}t.add(n)}function ae(t,n){var r=Z(n);r.dataIndex=o.dataIndex,r.seriesIndex=e.seriesIndex;var i=Math.max(p-2*h,0),a=Math.max(m-2*h,0);if(n.culling=!0,n.setShape({x:h,y:h,width:i,height:a,r:E}),g)oe(n);else{n.invisible=!1;var s=o.getVisual(`style`),c=s.fill,l=OV(S);l.fill=c,l.decal=s.decal;var u=DV(C),d=DV(w),f=DV(T);se(n,c,s.opacity,null),n.setStyle(l),n.ensureState(`emphasis`).style=u,n.ensureState(`blur`).style=d,n.ensureState(`select`).style=f,Ud(n)}t.add(n)}function oe(e){!e.invisible&&a.push(e)}function se(t,n,r,i){var a=f.getModel(i?CV:SV),s=Ms(f.get(`name`),null),c=a.getShallow(`show`);eh(t,th(f,i?CV:SV),{defaultText:c?s:null,inheritColor:n,defaultOpacity:r,labelFetcher:e,labelDataIndex:o.dataIndex});var l=t.getTextContent();if(l){var d=l.style,p=Pe(d.padding||0);i&&(t.setTextConfig({layoutRect:i}),l.disableLabelLayout=!0),l.beforeUpdate=function(){var e=Math.max((i?i.width:t.shape.width)-p[1]-p[3],0),n=Math.max((i?i.height:t.shape.height)-p[0]-p[2],0);(d.width!==e||d.height!==n)&&l.setStyle({width:e,height:n})},d.truncateMinChar=2,d.lineOverflow=`truncate`,ce(d,i,u);var m=l.getState(`emphasis`);ce(m?m.style:null,i,u)}}function ce(t,n,r){var i=t?t.text:null;if(!n&&r.isLeafRoot&&i!=null){var a=e.get(`drillDownIcon`,!0);t.text=a?a+` `+i:i}}function le(e,r,a,o){var s=v!=null&&n[e][v],c=i[e];return s?(n[e][v]=null,ue(c,s)):g||(s=new r,s instanceof ml&&(s.z2=NV(a,o)),M(c,s)),t[e][_]=s}function ue(e,t){var n=e[_]={};t instanceof yV?(n.oldX=t.x,n.oldY=t.y):n.oldShape=P({},t.shape)}function M(e,t){var n=e[_]={},a=o.parentNode,s=t instanceof Y;if(a&&(!r||r.direction===`drillDown`)){var c=0,l=0,u=i.background[a.getRawIndex()];!r&&u&&u.oldShape&&(c=u.oldShape.width,l=u.oldShape.height),s?(n.oldX=0,n.oldY=l):n.oldShape={x:c,y:l,width:0,height:0}}n.fadein=!s}}function NV(e,t){return e*wV+t}var PV=L,FV=U,IV=-1,LV=function(){function e(t){var n=t.mappingMethod,r=t.type,i=this.option=M(t);this.type=r,this.mappingMethod=n,this._normalizeData=YV[n];var a=e.visualHandlers[r];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[n],n===`piecewise`?(BV(i),RV(i)):n===`category`?i.categories?zV(i):BV(i,!0):(Fe(n!==`linear`||i.dataExtent),BV(i))}return e.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},e.prototype.getNormalizer=function(){return z(this._normalizeData,this)},e.listVisualTypes=function(){return ye(e.visualHandlers)},e.isValidType=function(t){return e.visualHandlers.hasOwnProperty(t)},e.eachVisual=function(e,t,n){U(e)?L(e,t,n):t.call(n,e)},e.mapVisual=function(t,n,r){var i,a=B(t)?[]:U(t)?{}:(i=!0,null);return e.eachVisual(t,function(e,t){var o=n.call(r,e,t);i?a=o:a[t]=o}),a},e.retrieveVisuals=function(t){var n={},r;return t&&PV(e.visualHandlers,function(e,i){t.hasOwnProperty(i)&&(n[i]=t[i],r=!0)}),r?n:null},e.prepareVisualTypes=function(e){if(B(e))e=e.slice();else if(FV(e)){var t=[];PV(e,function(e,n){t.push(n)}),e=t}else return[];return e.sort(function(e,t){return t===`color`&&e!==`color`&&e.indexOf(`color`)===0?1:-1}),e},e.dependsOn=function(e,t){return t===`color`?!!(e&&e.indexOf(t)===0):e===t},e.findPieceIndex=function(e,t,n){for(var r,i=1/0,a=0,o=t.length;a=0;a--)r[a]??(delete n[t[a]],t.pop())}function BV(e,t){var n=e.visual,r=[];U(n)?PV(n,function(e){r.push(e)}):n!=null&&r.push(n),!t&&r.length===1&&!{color:1,symbol:1}.hasOwnProperty(e.type)&&(r[1]=r[0]),JV(e,r)}function VV(e){return{applyVisual:function(t,n,r){var i=this.mapValueToVisual(t);r(`color`,e(n(`color`),i))},_normalizedToVisual:KV([0,1])}}function HV(e){var t=this.option.visual;return t[Math.round(Fo(e,[0,1],[0,t.length-1],!0))]||{}}function UV(e){return function(t,n,r){r(e,this.mapValueToVisual(t))}}function WV(e){var t=this.option.visual;return t[this.option.loop&&e!==IV?e%t.length:e]}function GV(){return this.option.visual[0]}function KV(e){return{linear:function(t){return Fo(t,e,this.option.visual,!0)},category:WV,piecewise:function(t,n){var r=qV.call(this,n);return r??=Fo(t,e,this.option.visual,!0),r},fixed:GV}}function qV(e){var t=this.option,n=t.pieceList;if(t.hasSpecialVisual){var r=n[LV.findPieceIndex(e,n)];if(r&&r.visual)return r.visual[this.type]}}function JV(e,t){return e.visual=t,e.type===`color`&&(e.parsedVisual=R(t,function(e){return Kr(e)||[0,0,0,1]})),t}var YV={linear:function(e){return Fo(e,this.option.dataExtent,[0,1],!0)},piecewise:function(e){var t=this.option.pieceList,n=LV.findPieceIndex(e,t,!0);if(n!=null)return Fo(n,[0,t.length-1],[0,1],!0)},category:function(e){return(this.option.categories?this.option.categoryMap[e]:e)??IV},fixed:qe};function XV(e,t,n){return e?t<=n:t=n.length||e===n[e.depth])&&eH(e,sH(i,c,e,t,m,r),n,r)})}}}function tH(e,t,n){var r=P({},t),i=n.designatedVisualItemStyle;return L([`color`,`colorAlpha`,`colorSaturation`],function(n){i[n]=t[n];var a=e.get(n);i[n]=null,a!=null&&(r[n]=a)}),r}function nH(e){var t=iH(e,`color`);if(t){var n=iH(e,`colorAlpha`),r=iH(e,`colorSaturation`);return r&&(t=Qr(t,null,null,r)),n&&(t=$r(t,n)),t}}function rH(e,t){return t==null?null:Qr(t,null,null,e)}function iH(e,t){var n=e[t];if(n!=null&&n!==`none`)return n}function aH(e,t,n,r,i,a){if(!(!a||!a.length)){var o=oH(t,`color`)||i.color!=null&&i.color!==`none`&&(oH(t,`colorAlpha`)||oH(t,`colorSaturation`));if(o){var s=t.get(`visualMin`),c=t.get(`visualMax`),l=n.dataExtent.slice();s!=null&&sl[1]&&(l[1]=c);var u=t.get(`colorMappingBy`),d={type:o.name,dataExtent:l,visual:o.range};d.type===`color`&&(u===`index`||u===`id`)?(d.mappingMethod=`category`,d.loop=!0):d.mappingMethod=`linear`;var f=new LV(d);return QV(f).drColorMappingBy=u,f}}}function oH(e,t){var n=e.get(t);return B(n)&&n.length?{name:t,range:n}:null}function sH(e,t,n,r,i,a){var o=P({},t);if(i){var s=i.type,c=s===`color`&&QV(i).drColorMappingBy,l=c===`index`?r:c===`id`?a.mapIdToIndex(n.getId()):n.getValue(e.get(`visualDimension`));o[s]=i.mapValueToVisual(l)}return o}function cH(e){e.registerSeriesModel(VB),e.registerChartView(AV),e.registerVisual($V),e.registerLayout(aV),zB(e)}function lH(e){return`_EC_`+e}var uH=function(){function e(e){this.type=`graph`,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return e.prototype.isDirected=function(){return this._directed},e.prototype.addNode=function(e,t){e=e==null?``+t:``+e;var n=this._nodesMap;if(!n[lH(e)]){var r=new dH(e,t);return r.hostGraph=this,this.nodes.push(r),n[lH(e)]=r,r}},e.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},e.prototype.getNodeById=function(e){return this._nodesMap[lH(e)]},e.prototype.addEdge=function(e,t,n){var r=this._nodesMap,i=this._edgesMap;if(Ce(e)&&(e=this.nodes[e]),Ce(t)&&(t=this.nodes[t]),e instanceof dH||(e=r[lH(e)]),t instanceof dH||(t=r[lH(t)]),!(!e||!t)){var a=e.id+`-`+t.id,o=new fH(e,t,n);return o.hostGraph=this,this._directed&&(e.outEdges.push(o),t.inEdges.push(o)),e.edges.push(o),e!==t&&t.edges.push(o),this.edges.push(o),i[a]=o,o}},e.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},e.prototype.getEdge=function(e,t){e instanceof dH&&(e=e.id),t instanceof dH&&(t=t.id);var n=this._edgesMap;return this._directed?n[e+`-`+t]:n[e+`-`+t]||n[t+`-`+e]},e.prototype.eachNode=function(e,t){for(var n=this.nodes,r=n.length,i=0;i=0&&e.call(t,n[i],i)},e.prototype.eachEdge=function(e,t){for(var n=this.edges,r=n.length,i=0;i=0&&n[i].node1.dataIndex>=0&&n[i].node2.dataIndex>=0&&e.call(t,n[i],i)},e.prototype.breadthFirstTraverse=function(e,t,n,r){if(t instanceof dH||(t=this._nodesMap[lH(t)]),t){for(var i=n===`out`?`outEdges`:n===`in`?`inEdges`:`edges`,a=0;a=0&&n.node2.dataIndex>=0});for(var i=0,a=r.length;i=0&&!e.hasKey(p)&&(e.set(p,!0),a.push(f.node1))}for(s=0;s=0&&!e.hasKey(v)&&(e.set(v,!0),o.push(_.node2))}}}return{edge:e.keys(),node:t.keys()}},e}(),fH=function(){function e(e,t,n){this.dataIndex=-1,this.node1=e,this.node2=t,this.dataIndex=n??-1}return e.prototype.getModel=function(e){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(e)},e.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},e.prototype.getTrajectoryDataIndices=function(){var e=G(),t=G();e.set(this.dataIndex,!0);for(var n=[this.node1],r=[this.node2],i=0;i=0&&!e.hasKey(u)&&(e.set(u,!0),n.push(l.node1))}for(i=0;i=0&&!e.hasKey(m)&&(e.set(m,!0),r.push(p.node2))}return{edge:e.keys(),node:t.keys()}},e}();function pH(e,t){return{getValue:function(n){var r=this[e][t];return r.getStore().get(r.getDimensionIndex(n||`value`),this.dataIndex)},setVisual:function(n,r){this.dataIndex>=0&&this[e][t].setItemVisual(this.dataIndex,n,r)},getVisual:function(n){return this[e][t].getItemVisual(this.dataIndex,n)},setLayout:function(n,r){this.dataIndex>=0&&this[e][t].setItemLayout(this.dataIndex,n,r)},getLayout:function(){return this[e][t].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[e][t].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[e][t].getRawIndex(this.dataIndex)}}}me(dH,pH(`hostGraph`,`data`)),me(fH,pH(`hostGraph`,`edgeData`));function mH(e,t,n,r,i){for(var a=new uH(r),o=0;o `+f)),l++)}var p=n.get(`coordinateSystem`),m;if(p===`cartesian2d`||p===`polar`||p===`matrix`)m=ET(e,n);else{var h=Wg.get(p),g=h&&h.dimensions||[];I(g,`value`)<0&&g.concat([`value`]);var _=pT(e,{coordDimensions:g,encodeDefine:n.getEncode()}).dimensions;m=new fT(_,n),m.initData(e)}var v=new fT([`value`],n);return v.initData(c,s),i&&i(m,v),nB({mainData:m,struct:a,structAttr:`graph`,datas:{node:m,edge:v},datasAttr:{node:`data`,edge:`edgeData`}}),a.update(),a}var hH=`-->`,gH=function(e){return e.get(`autoCurveness`)||null},_H=function(e,t){var n=gH(e),r=20,i=[];if(Ce(n))r=n;else if(B(n)){e.__curvenessList=n;return}t>r&&(r=t);var a=r%2?r+2:r+3;i=[];for(var o=0;o `),value:i.value,noValue:i.value==null})}return bb({series:this,dataIndex:e,multipleSeries:t})},t.prototype._updateCategoriesData=function(){var e=R(this.option.categories||[],function(e){return e.value==null?P({value:0},e):e}),t=new fT([`value`],this);t.initData(e),this._categoriesData=t,this._categoriesModels=t.mapArray(function(e){return t.getItemModel(e)})},t.prototype.isAnimationEnabled=function(){return e.prototype.isAnimationEnabled.call(this)&&!(this.get(`layout`)===`force`&&this.get([`force`,`layoutAnimation`]))},t.prototype.__ownRoamView=function(){var e=this.coordinateSystem;return NR(e)&&e},t.type=`series.`+EH,t.dependencies=[`grid`,`polar`,`geo`,`singleAxis`,`calendar`],t.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:Q.color.neutral50,width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:Q.color.primary}}},t}(Tb);function OH(e){return e instanceof Array||(e=[e,e]),e}var kH=_c(EH,AH);function AH(e){e.eachSeriesByType(EH,function(e){var t=e.getGraph(),n=e.getEdgeData(),r=OH(e.get(`edgeSymbol`)),i=OH(e.get(`edgeSymbolSize`));n.setVisual(`fromSymbol`,r&&r[0]),n.setVisual(`toSymbol`,r&&r[1]),n.setVisual(`fromSymbolSize`,i&&i[0]),n.setVisual(`toSymbolSize`,i&&i[1]),n.setVisual(`style`,e.getModel(`lineStyle`).getLineStyle()),n.each(function(e){var r=n.getItemModel(e),i=t.getEdgeByIndex(e),a=OH(r.getShallow(`symbol`,!0)),o=OH(r.getShallow(`symbolSize`,!0)),s=r.getModel(`lineStyle`).getLineStyle(),c=n.ensureUniqueItemVisual(e,`style`);switch(P(c,s),c.stroke){case`source`:var l=i.node1.getVisual(`style`);c.stroke=l&&l.fill;break;case`target`:var l=i.node2.getVisual(`style`);c.stroke=l&&l.fill;break}a[0]&&i.setVisual(`fromSymbol`,a[0]),a[1]&&i.setVisual(`toSymbol`,a[1]),o[0]&&i.setVisual(`fromSymbolSize`,o[0]),o[1]&&i.setVisual(`toSymbolSize`,o[1])})})}function jH(e){var t=e.coordinateSystem;if(!(t&&t.type!==`view`)){var n=e.getGraph();n.eachNode(function(e){var t=e.getModel();e.setLayout([+t.get(`x`),+t.get(`y`)])}),MH(n,e)}}function MH(e,t){e.eachEdge(function(e,n){var r=Me(e.getModel().get([`lineStyle`,`curveness`]),-TH(e,t,n,!0),0),i=$e(e.node1.getLayout()),a=$e(e.node2.getLayout()),o=[i,a];+r&&o.push([(i[0]+a[0])/2-(i[1]-a[1])*r,(i[1]+a[1])/2-(a[0]-i[0])*r]),e.setLayout(o)})}var NH=_c(EH,PH);function PH(e,t){e.eachSeriesByType(EH,function(e){var t=e.get(`layout`),n=e.coordinateSystem;if(n&&n.type!==`view`){var r=e.getData(),i=[];L(n.dimensions,function(e){i=i.concat(r.mapDimensionsAll(e))});for(var a=0;a0&&(y[0]=-y[0],y[1]=-y[1]);var x=v[0]<0?-1:1;if(r.__position!==`start`&&r.__position!==`end`){var S=-Math.atan2(v[1],v[0]);l[0].8?`left`:u[0]<-.8?`right`:`center`,p=u[1]>.8?`top`:u[1]<-.8?`bottom`:`middle`;break;case`start`:r.x=-u[0]*h+c[0],r.y=-u[1]*g+c[1],f=u[0]>.8?`right`:u[0]<-.8?`left`:`center`,p=u[1]>.8?`bottom`:u[1]<-.8?`top`:`middle`;break;case`insideStartTop`:case`insideStart`:case`insideStartBottom`:r.x=h*x+c[0],r.y=c[1]+C,f=v[0]<0?`right`:`left`,r.originX=-h*x,r.originY=-C;break;case`insideMiddleTop`:case`insideMiddle`:case`insideMiddleBottom`:case`middle`:r.x=b[0],r.y=b[1]+C,f=`center`,r.originY=-C;break;case`insideEndTop`:case`insideEnd`:case`insideEndBottom`:r.x=-h*x+l[0],r.y=l[1]+C,f=v[0]>=0?`right`:`left`,r.originX=h*x,r.originY=-C;break}r.scaleX=r.scaleY=i,r.setStyle({verticalAlign:r.__verticalAlign||p,align:r.__align||f})}},t}(Y),cU=function(){function e(e){this.group=new Y,this._LineCtor=e||sU}return e.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var n=this,r=n.group,i=n._lineData;n._lineData=e,i||r.removeAll();var a=uU(e);e.diff(i).add(function(n){t._doAdd(e,n,a)}).update(function(n,r){t._doUpdate(i,e,r,n,a)}).remove(function(e){r.remove(i.getItemGraphicEl(e))}).execute()},e.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,n){t.updateLayout(e,n)},this)},e.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=uU(e),this._lineData=null,this.group.removeAll()},e.prototype.incrementalUpdate=function(e,t,n){this._progressiveEls=[];function r(e){!e.isGroup&&!lU(e)&&(e.incremental=n,e.ensureState(`emphasis`).hoverLayer=2)}for(var i=e.start;i0}function uU(e){var t=e.hostModel,n=t.getModel(`emphasis`);return{lineStyle:t.getModel(`lineStyle`).getLineStyle(),emphasisLineStyle:n.getModel([`lineStyle`]).getLineStyle(),blurLineStyle:t.getModel([`blur`,`lineStyle`]).getLineStyle(),selectLineStyle:t.getModel([`select`,`lineStyle`]).getLineStyle(),emphasisDisabled:n.get(`disabled`),blurScope:n.get(`blurScope`),focus:n.get(`focus`),labelStatesModels:th(t)}}function dU(e){return isNaN(e[0])||isNaN(e[1])}function fU(e){return e&&!dU(e[0])&&!dU(e[1])}var pU=[],mU=[],hU=[],gU=br,_U=dt,vU=Math.abs;function yU(e,t,n){for(var r=e[0],i=e[1],a=e[2],o=1/0,s,c=n*n,l=.1,u=.1;u<=.9;u+=.1){pU[0]=gU(r[0],i[0],a[0],u),pU[1]=gU(r[1],i[1],a[1],u);var d=vU(_U(pU,t)-c);d=0?s+=l:s-=l:m>=0?s-=l:s+=l}return s}function bU(e,t){var n=[],r=wr,i=[[],[],[]],a=[[],[]],o=[];t/=2,e.eachEdge(function(e,s){var c=e.getLayout(),l=e.getVisual(`fromSymbol`),u=e.getVisual(`toSymbol`);c.__original||(c.__original=[$e(c[0]),$e(c[1])],c[2]&&c.__original.push($e(c[2])));var d=c.__original;if(c[2]!=null){if(Qe(i[0],d[0]),Qe(i[1],d[2]),Qe(i[2],d[1]),l&&l!==`none`){var f=IH(e.node1),p=yU(i,d[0],f*t);r(i[0][0],i[1][0],i[2][0],p,n),i[0][0]=n[3],i[1][0]=n[4],r(i[0][1],i[1][1],i[2][1],p,n),i[0][1]=n[3],i[1][1]=n[4]}if(u&&u!==`none`){var f=IH(e.node2),p=yU(i,d[1],f*t);r(i[0][0],i[1][0],i[2][0],p,n),i[1][0]=n[1],i[2][0]=n[2],r(i[0][1],i[1][1],i[2][1],p,n),i[1][1]=n[1],i[2][1]=n[2]}Qe(c[0],i[0]),Qe(c[1],i[2]),Qe(c[2],i[1])}else{if(Qe(a[0],d[0]),Qe(a[1],d[1]),rt(o,a[1],a[0]),st(o,o),l&&l!==`none`){var f=IH(e.node1);nt(a[0],a[0],o,f*t)}if(u&&u!==`none`){var f=IH(e.node2);nt(a[1],a[1],o,-f*t)}Qe(c[0],a[0]),Qe(c[1],a[1])}})}var xU=Bs();function SU(e){if(e)return xU(e).bridge}function CU(e,t){e&&(xU(e).bridge=t)}var wU=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=EH,t}return t.prototype.init=function(e,t){var n=new zj,r=new cU,i=this.group,a=new Y;this._controller=new eL(t.getZr()),a.add(n.group),a.add(r.group),i.add(a),this._symbolDraw=n,this._lineDraw=r,this._mainGroup=a,this._firstRender=!0},t.prototype.render=function(e,t,n){var r=this,i=zR(e),a=!1;this._model=e,this._api=n,this._active=!0;var o=this._mainGroup,s=this._getThumbnailInfo();s&&s.bridge.reset(n);var c=this._symbolDraw,l=this._lineDraw;i&&PR(o,2,i,this._firstRender?null:e),bU(e.getGraph(),FH(e));var u=e.getData();c.updateData(u);var d=e.getEdgeData();l.updateData(d),this._updateNodeAndLinkScale(),i&&QR(e,n,this._controller,function(t,n,r){return e.coordinateSystem.containPoint([n,r])},null),clearTimeout(this._layoutTimeout);var f=e.forceLayout,p=e.get([`force`,`layoutAnimation`]);f&&(a=!0,this._startForceLayoutIteration(f,n,p));var m=e.get(`layout`);u.graph.eachNode(function(t){var i=t.dataIndex,a=t.getGraphicEl(),o=t.getModel();if(a){a.off(`drag`).off(`dragend`);var s=o.get(`draggable`);s&&a.on(`drag`,function(o){switch(m){case`force`:f.warmUp(),!r._layouting&&r._startForceLayoutIteration(f,n,p),f.setFixed(i),u.setItemLayout(i,[a.x,a.y]);break;case`circular`:u.setItemLayout(i,[a.x,a.y]),t.setLayout({fixed:!0},!0),zH(e,`symbolSize`,t,[o.offsetX,o.offsetY]),r.updateLayout(e);break;default:u.setItemLayout(i,[a.x,a.y]),MH(e.getGraph(),e),r.updateLayout(e);break}}).on(`dragend`,function(){f&&f.setUnfixed(i)}),a.setDraggable(s,!!o.get(`cursor`)),o.get([`emphasis`,`focus`])===`adjacency`&&(Z(a).focus=t.getAdjacentDataIndices())}}),u.graph.eachEdge(function(e){var t=e.getGraphicEl(),n=e.getModel().get([`emphasis`,`focus`]);t&&n===`adjacency`&&(Z(t).focus={edge:[e.dataIndex],node:[e.node1.dataIndex,e.node2.dataIndex]})});var h=e.get(`layout`)===`circular`&&e.get([`circular`,`rotateLabel`]),g=u.getLayout(`cx`),_=u.getLayout(`cy`);u.graph.eachNode(function(e){VH(e,h,g,_)}),this._firstRender=!1,a||this._renderThumbnail(e,n,this._symbolDraw,this._lineDraw)},t.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose()},t.prototype._startForceLayoutIteration=function(e,t,n){var r=this,i=!1;(function a(){e.step(function(e){r.updateLayout(r._model),(e||!i)&&(i=!0,r._renderThumbnail(r._model,t,r._symbolDraw,r._lineDraw)),(r._layouting=!e)&&(n?r._layoutTimeout=setTimeout(a,16):a())})})()},t.prototype.__updateOnOwnRoam=function(e,t,n){var r=zR(t);!this._active||!r||(PR(this._mainGroup,2,r,null),rz(e)&&(this._updateNodeAndLinkScale(),bU(t.getGraph(),FH(t)),this._lineDraw.updateLayout(),n.updateLabelLayout()),this._updateThumbnailWindow())},t.prototype._updateNodeAndLinkScale=function(){var e=this._model,t=e.getData(),n=FH(e);t.eachItemGraphicEl(function(e,t){e&&e.setSymbolScale(n)})},t.prototype.updateLayout=function(e){this._active&&(bU(e.getGraph(),FH(e)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout())},t.prototype.remove=function(){this._active=!1,clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove(),this._controller&&this._controller.disable()},t.prototype._getThumbnailInfo=function(){var e=this._model,t=e.coordinateSystem;if(t.type===`view`){var n=SU(e);if(n)return{bridge:n,coordSys:t}}},t.prototype._updateThumbnailWindow=function(){var e=this._getThumbnailInfo();e&&e.bridge.updateWindow(sR(null,e.coordSys),this._api)},t.prototype._renderThumbnail=function(e,t,n,r){var i=this._getThumbnailInfo();if(i){var a=new Y,o=n.group.children(),s=r.group.children(),c=new Y,l=new Y;a.add(l),a.add(c);for(var u=0;u `),value:r.value,noValue:r.value==null})}return ib(`nameValue`,{name:r.name,value:r.value,noValue:r.value==null})},t.prototype.getDataParams=function(t,n){var r=e.prototype.getDataParams.call(this,t,n);if(n===`node`){var i=this.getData(),a=this.getGraph().getNodeByIndex(t);r.name??=i.getName(t),r.value??=a.getLayout().value}return r},t.type=`series.`+AU,t.defaultOption={z:2,coordinateSystem:`none`,legendHoverLink:!0,colorBy:`data`,left:0,top:0,right:0,bottom:0,width:null,height:null,center:[`50%`,`50%`],radius:[`70%`,`80%`],clockwise:!0,startAngle:90,endAngle:`auto`,minAngle:0,padAngle:3,itemStyle:{borderRadius:[0,0,5,5]},lineStyle:{width:0,color:`source`,opacity:.2},label:{show:!0,position:`outside`,distance:5},emphasis:{focus:`adjacency`,lineStyle:{opacity:.5}}},t}(Tb),MU=function(e){_(t,e);function t(t,n,r){var i=e.call(this)||this;Z(i).dataType=`node`,i.z2=2;var a=new Vu;return i.setTextContent(a),i.updateData(t,n,r,!0),i}return t.prototype.updateData=function(e,t,n,r){var i=this,a=e.graph.getNodeByIndex(t),o=e.hostModel,s=a.getModel(),c=s.getModel(`emphasis`),l=e.getItemLayout(t),u=P(hP(s.getModel(`itemStyle`),l,!0),l),d=this;if(isNaN(u.startAngle)){d.setShape(u);return}r?d.setShape(u):Yp(d,{shape:u},o,t);var f=P(hP(s.getModel(`itemStyle`),l,!0),l);i.setShape(f),i.useStyle(e.getItemVisual(t,`style`)),gf(i,s),this._updateLabel(o,s,a),e.setItemGraphicEl(t,d),gf(d,s,`itemStyle`);var p=c.get(`focus`);ff(this,p===`adjacency`?a.getAdjacentDataIndices():p,c.get(`blurScope`),c.get(`disabled`))},t.prototype._updateLabel=function(e,t,n){var r=this.getTextContent(),i=n.getLayout(),a=(i.startAngle+i.endAngle)/2,o=Math.cos(a),s=Math.sin(a),c=t.getModel(`label`);r.ignore=!c.get(`show`);var l=th(t),u=n.getVisual(`style`);eh(r,l,{labelFetcher:{getFormattedLabel:function(n,r,i,a,o,s){return e.getFormattedLabel(n,r,`node`,a,Me(o,l.normal&&l.normal.get(`formatter`),t.get(`name`)),s)}},labelDataIndex:n.dataIndex,defaultText:n.dataIndex+``,inheritColor:u.fill,defaultOpacity:u.opacity,defaultOutsidePosition:`startArc`});var d=c.get(`position`)||`outside`,f=c.get(`distance`)||0,p=d===`outside`?i.r+f:(i.r+i.r0)/2;this.textConfig={inside:d!==`outside`};var m=d===`outside`?o>0?`left`:`right`:c.get(`align`)||`center`,h=d===`outside`?s>0?`top`:`bottom`:c.get(`verticalAlign`)||`middle`;r.attr({x:o*p+i.cx,y:s*p+i.cy,rotation:0,style:{align:m,verticalAlign:h}})},t}(pp);(function(){function e(){this.s1=[0,0],this.s2=[0,0],this.sStartAngle=0,this.sEndAngle=0,this.t1=[0,0],this.t2=[0,0],this.tStartAngle=0,this.tEndAngle=0,this.cx=0,this.cy=0,this.r=0,this.clockwise=!0}return e})();var NU=function(e){_(t,e);function t(t,n,r,i){var a=e.call(this)||this;return Z(a).dataType=`edge`,a.updateData(t,n,r,i,!0),a}return t.prototype.buildPath=function(e,t){e.moveTo(t.s1[0],t.s1[1]);var n=.7,r=t.clockwise;e.arc(t.cx,t.cy,t.r,t.sStartAngle,t.sEndAngle,!r),e.bezierCurveTo((t.cx-t.s2[0])*n+t.s2[0],(t.cy-t.s2[1])*n+t.s2[1],(t.cx-t.t1[0])*n+t.t1[0],(t.cy-t.t1[1])*n+t.t1[1],t.t1[0],t.t1[1]),e.arc(t.cx,t.cy,t.r,t.tStartAngle,t.tEndAngle,!r),e.bezierCurveTo((t.cx-t.t2[0])*n+t.t2[0],(t.cy-t.t2[1])*n+t.t2[1],(t.cx-t.s1[0])*n+t.s1[0],(t.cy-t.s1[1])*n+t.s1[1],t.s1[0],t.s1[1]),e.closePath()},t.prototype.updateData=function(e,t,n,r,i){var a=e.hostModel,o=t.graph.getEdgeByIndex(n),s=o.getLayout(),c=o.node1.getModel(),l=t.getItemModel(o.dataIndex),u=l.getModel(`lineStyle`),d=l.getModel(`emphasis`),f=d.get(`focus`),p=P(hP(c.getModel(`itemStyle`),s,!0),s),m=this;if(isNaN(p.sStartAngle)||isNaN(p.tStartAngle)){m.setShape(p);return}i?(m.setShape(p),PU(m,o,e,u)):(tm(m),PU(m,o,e,u),Yp(m,{shape:p},a,n)),ff(this,f===`adjacency`?o.getAdjacentDataIndices():f,d.get(`blurScope`),d.get(`disabled`)),gf(m,l,`lineStyle`),t.setItemGraphicEl(o.dataIndex,m)},t}(Su);function PU(e,t,n,r){var i=t.node1,a=t.node2,o=e.style;switch(e.setStyle(r.getLineStyle()),r.get(`color`)){case`source`:o.fill=n.getItemVisual(i.dataIndex,`style`).fill,o.decal=i.getVisual(`style`).decal;break;case`target`:o.fill=n.getItemVisual(a.dataIndex,`style`).fill,o.decal=a.getVisual(`style`).decal;break;case`gradient`:var s=n.getItemVisual(i.dataIndex,`style`).fill,c=n.getItemVisual(a.dataIndex,`style`).fill;if(H(s)&&H(c)){var l=e.shape;o.fill=new Np((l.s1[0]+l.s2[0])/2,(l.s1[1]+l.s2[1])/2,(l.t1[0]+l.t2[0])/2,(l.t1[1]+l.t2[1])/2,[{offset:0,color:s},{offset:1,color:c}],!0)}break}}var FU=Math.PI/180,IU=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=AU,t}return t.prototype.init=function(e,t){},t.prototype.render=function(e,t,n){var r=e.getData(),i=this._data,a=this.group,o=-e.get(`startAngle`)*FU;if(r.diff(i).add(function(e){if(r.getItemLayout(e)){var t=new MU(r,e,o);Z(t).dataIndex=e,a.add(t)}}).update(function(t,n){var s=i.getItemGraphicEl(n);if(!r.getItemLayout(t)){s&&em(s,e,n);return}s?s.updateData(r,t,o):s=new MU(r,t,o),a.add(s)}).remove(function(t){var n=i.getItemGraphicEl(t);n&&em(n,e,t)}).execute(),!i){var s=e.get(`center`);this.group.scaleX=.01,this.group.scaleY=.01,this.group.originX=X(s[0],n.getWidth()),this.group.originY=X(s[1],n.getHeight()),Xp(this.group,{scaleX:1,scaleY:1},e)}this._data=r,this.renderEdges(e,o)},t.prototype.renderEdges=function(e,t){var n=e.getData(),r=e.getEdgeData(),i=this._edgeData,a=this.group;r.diff(i).add(function(e){var i=new NU(n,r,e,t);Z(i).dataIndex=e,a.add(i)}).update(function(e,o){var s=i.getItemGraphicEl(o);s.updateData(n,r,e,t),a.add(s)}).remove(function(t){var n=i.getItemGraphicEl(t);n&&em(n,e,t)}).execute(),this._edgeData=r},t.prototype.dispose=function(){},t.type=AU,t}(Rb),LU=Math.PI/180,RU=_c(AU,zU);function zU(e,t){e.eachSeriesByType(AU,function(e){BU(e,t)})}function BU(e,t){var n=e.getData(),r=n.graph,i=e.getEdgeData();if(i.count()){var a=a_(e,t),o=a.cx,s=a.cy,c=a.r,l=a.r0,u=Math.max((e.get(`padAngle`)||0)*LU,0),d=Math.max((e.get(`minAngle`)||0)*LU,0),f=-e.get(`startAngle`)*LU,p=f+Math.PI*2,m=e.get(`clockwise`),h=m?1:-1,g=[f,p];Xl(g,!m);var _=g[0],v=g[1]-_,y=n.getSum(`value`)===0&&i.getSum(`value`)===0,b=[],x=0;r.eachEdge(function(e){var t=y?1:e.getValue(`value`);y&&(t>0||d)&&(x+=2);var n=e.node1.dataIndex,r=e.node2.dataIndex;b[n]=(b[n]||0)+t,b[r]=(b[r]||0)+t});var S=0;if(r.eachNode(function(e){var t=e.getValue(`value`);isNaN(t)||(b[e.dataIndex]=Math.max(t,b[e.dataIndex]||0)),!y&&(b[e.dataIndex]>0||d)&&x++,S+=b[e.dataIndex]||0}),!(x===0||S===0)){u*x>=Math.abs(v)&&(u=Math.max(0,(Math.abs(v)-d*x)/x)),(u+d)*x>=Math.abs(v)&&(d=(Math.abs(v)-u*x)/x);var C=(v-u*x*h)/S,w=0,T=0,E=0,D=1/0;r.eachNode(function(e){var t=b[e.dataIndex]||0,n=C*(S?t:1)*h;Math.abs(n)T){var k=w/T;r.eachNode(function(e){var t=e.getLayout().angle;Math.abs(t)>=d?e.setLayout({angle:t*k,ratio:k},!0):e.setLayout({angle:d,ratio:d===0?1:t/d},!0)})}else r.eachNode(function(e){if(!O){var t=e.getLayout().angle;t-Math.min(t/E,1)*wd&&d>0){var n=O?1:Math.min(t/E,1),r=t-d,i=Math.min(r,Math.min(A,w*n));A-=i,e.setLayout({angle:t-i,ratio:(t-i)/t},!0)}else d>0&&e.setLayout({angle:d,ratio:t===0?1:d/t},!0)}});var j=_,ee=[];r.eachNode(function(e){var t=Math.max(e.getLayout().angle,d);e.setLayout({cx:o,cy:s,r0:l,r:c,startAngle:j,endAngle:j+t*h,clockwise:m},!0),ee[e.dataIndex]=j,j+=(t+u)*h}),r.eachEdge(function(e){var t=y?1:e.getValue(`value`),n=C*(S?t:1)*h,r=e.node1.dataIndex,i=ee[r]||0,a=i+Math.abs((e.node1.getLayout().ratio||1)*n)*h,c=[o+l*Math.cos(i),s+l*Math.sin(i)],u=[o+l*Math.cos(a),s+l*Math.sin(a)],d=e.node2.dataIndex,f=ee[d]||0,p=f+Math.abs((e.node2.getLayout().ratio||1)*n)*h,g=[o+l*Math.cos(f),s+l*Math.sin(f)],_=[o+l*Math.cos(p),s+l*Math.sin(p)];e.setLayout({s1:c,s2:u,sStartAngle:i,sEndAngle:a,t1:g,t2:_,tStartAngle:f,tEndAngle:p,cx:o,cy:s,r:l,value:t,clockwise:m}),ee[r]=a,ee[d]=p})}}}function VU(e){e.registerChartView(IU),e.registerSeriesModel(jU),e.registerLayout(e.PRIORITY.VISUAL.POST_CHART_LAYOUT,RU),e.registerProcessor(HP(`chord`))}var HU=function(){function e(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return e}(),UU=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`pointer`,n}return t.prototype.getDefaultShape=function(){return new HU},t.prototype.buildPath=function(e,t){var n=Math.cos,r=Math.sin,i=t.r,a=t.width,o=t.angle,s=t.x-n(o)*a*(a>=i/3?1:2),c=t.y-r(o)*a*(a>=i/3?1:2);o=t.angle-Math.PI/2,e.moveTo(s,c),e.lineTo(t.x+n(o)*a,t.y+r(o)*a),e.lineTo(t.x+n(t.angle)*i,t.y+r(t.angle)*i),e.lineTo(t.x-n(o)*a,t.y-r(o)*a),e.lineTo(s,c)},t}(Su);function WU(e,t){var n=e.get(`center`),r=t.getWidth(),i=t.getHeight(),a=Math.min(r,i);return{cx:X(n[0],t.getWidth()),cy:X(n[1],t.getHeight()),r:X(e.get(`radius`),a/2)}}function GU(e,t){var n=e==null?``:e+``;return t&&(H(t)?n=t.replace(`{value}`,n):V(t)&&(n=t(e))),n}var KU=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){this.group.removeAll();var r=e.get([`axisLine`,`lineStyle`,`color`]),i=WU(e,n);this._renderMain(e,t,n,r,i),this._data=e.getData()},t.prototype.dispose=function(){},t.prototype._renderMain=function(e,t,n,r,i){var a=this.group,o=e.get(`clockwise`),s=-e.get(`startAngle`)/180*Math.PI,c=-e.get(`endAngle`)/180*Math.PI,l=e.getModel(`axisLine`),u=l.get(`roundCap`)?uP:pp,d=l.get(`show`),f=l.getModel(`lineStyle`),p=f.get(`width`),m=[s,c];Xl(m,!o),s=m[0],c=m[1];for(var h=c-s,g=s,_=[],v=0;d&&v=e&&(t===0?0:r[t-1][0])Math.PI/2&&(oe+=Math.PI)):ae===`tangential`?oe=-S-Math.PI/2:Ce(ae)&&(oe=ae*Math.PI/180),oe===0?l.add(new Vu({style:nh(_,{text:te,x:re,y:ie,verticalAlign:k<-.8?`top`:k>.8?`bottom`:`middle`,align:O<-.4?`left`:O>.4?`right`:`center`},{inheritColor:ne}),silent:!0})):l.add(new Vu({style:nh(_,{text:te,x:re,y:ie,verticalAlign:`middle`,align:`center`},{inheritColor:ne}),silent:!0,originX:re,originY:ie,rotation:oe}))}if(g.get(`show`)&&A!==v){var j=g.get(`distance`);j=j?j+c:c;for(var se=0;se<=y;se++){O=Math.cos(S),k=Math.sin(S);var ce=new wp({shape:{x1:O*(f-j)+u,y1:k*(f-j)+d,x2:O*(f-x-j)+u,y2:k*(f-x-j)+d},silent:!0,style:E});E.stroke===`auto`&&ce.setStyle({stroke:r((A+se/y)/v)}),l.add(ce),S+=w}S-=w}else S+=C}},t.prototype._renderPointer=function(e,t,n,r,i,a,o,s,c){var l=this.group,u=this._data,d=this._progressEls,f=[],p=e.get([`pointer`,`show`]),m=e.getModel(`progress`),h=m.get(`show`),g=e.getData(),_=g.mapDimension(`value`),v=+e.get(`min`),y=+e.get(`max`),b=[v,y],x=[a,o];function S(t,n){var r=g.getItemModel(t).getModel(`pointer`),a=X(r.get(`width`),i.r),o=X(r.get(`length`),i.r),s=e.get([`pointer`,`icon`]),c=r.get(`offsetCenter`),l=X(c[0],i.r),u=X(c[1],i.r),d=r.get(`keepAspect`),f=s?oS(s,l-a/2,u-o,a,o,null,d):new UU({shape:{angle:-Math.PI/2,width:a,r:o,x:l,y:u}});return f.rotation=-(n+Math.PI/2),f.x=i.cx,f.y=i.cy,f}function C(e,t){var n=m.get(`roundCap`)?uP:pp,r=m.get(`overlap`),o=r?m.get(`width`):c/g.count(),l=r?i.r-o:i.r-(e+1)*o,u=r?i.r:i.r-e*o,d=new n({shape:{startAngle:a,endAngle:t,cx:i.cx,cy:i.cy,clockwise:s,r0:l,r:u}});return r&&(d.z2=Fo(g.get(_,e),[v,y],[100,0],!0)),d}(h||p)&&(g.diff(u).add(function(t){var n=g.get(_,t);if(p){var r=S(t,a);Xp(r,{rotation:-((isNaN(+n)?x[0]:Fo(n,b,x,!0))+Math.PI/2)},e),l.add(r),g.setItemGraphicEl(t,r)}if(h){var i=C(t,a);Xp(i,{shape:{endAngle:Fo(n,b,x,m.get(`clip`))}},e),l.add(i),td(e.seriesIndex,g.dataType,t,i),f[t]=i}}).update(function(t,n){var r=g.get(_,t);if(p){var i=u.getItemGraphicEl(n),o=i?i.rotation:a,s=S(t,o);s.rotation=o,Yp(s,{rotation:-((isNaN(+r)?x[0]:Fo(r,b,x,!0))+Math.PI/2)},e),l.add(s),g.setItemGraphicEl(t,s)}if(h){var c=d[n],v=C(t,c?c.shape.endAngle:a);Yp(v,{shape:{endAngle:Fo(r,b,x,m.get(`clip`))}},e),l.add(v),td(e.seriesIndex,g.dataType,t,v),f[t]=v}}).execute(),g.each(function(e){var t=g.getItemModel(e),n=t.getModel(`emphasis`),i=n.get(`focus`),a=n.get(`blurScope`),o=n.get(`disabled`),s=r(Fo(g.get(_,e),b,[0,1],!0));if(p){var c=g.getItemGraphicEl(e),l=g.getItemVisual(e,`style`),u=l.fill;if(c instanceof Ou){var d=c.style;c.useStyle(P({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},l))}else c.useStyle(l),c.type!==`pointer`&&c.setColor(u);c.setStyle(t.getModel([`pointer`,`itemStyle`]).getItemStyle()),c.style.fill===`auto`&&c.setStyle(`fill`,s),c.z2EmphasisLift=0,gf(c,t),ff(c,i,a,o)}if(h){var m=f[e];m.useStyle(g.getItemVisual(e,`style`)),m.setStyle(t.getModel([`progress`,`itemStyle`]).getItemStyle()),m.style.fill===`auto`&&m.setStyle(`fill`,s),m.z2EmphasisLift=0,gf(m,t),ff(m,i,a,o)}}),this._progressEls=f)},t.prototype._renderAnchor=function(e,t){var n=e.getModel(`anchor`);if(n.get(`show`)){var r=n.get(`size`),i=n.get(`icon`),a=n.get(`offsetCenter`),o=n.get(`keepAspect`),s=oS(i,t.cx-r/2+X(a[0],t.r),t.cy-r/2+X(a[1],t.r),r,r,null,o);s.z2=+!!n.get(`showAbove`),s.setStyle(n.getModel(`itemStyle`).getItemStyle()),this.group.add(s)}},t.prototype._renderTitleAndDetail=function(e,t,n,r,i){var a=this,o=e.getData(),s=o.mapDimension(`value`),c=+e.get(`min`),l=+e.get(`max`),u=new Y,d=[],f=[],p=e.isAnimationEnabled(),m=e.get([`pointer`,`showAbove`]);o.diff(this._data).add(function(e){d[e]=new Vu({silent:!0}),f[e]=new Vu({silent:!0})}).update(function(e,t){d[e]=a._titleEls[t],f[e]=a._detailEls[t]}).execute(),o.each(function(t){var n=o.getItemModel(t),a=o.get(s,t),h=new Y,g=r(Fo(a,[c,l],[0,1],!0)),_=n.getModel(`title`);if(_.get(`show`)){var v=_.get(`offsetCenter`),y=i.cx+X(v[0],i.r),b=i.cy+X(v[1],i.r),x=d[t];x.attr({z2:m?0:2,style:nh(_,{x:y,y:b,text:o.getName(t),align:`center`,verticalAlign:`middle`},{inheritColor:g})}),h.add(x)}var S=n.getModel(`detail`);if(S.get(`show`)){var C=S.get(`offsetCenter`),w=i.cx+X(C[0],i.r),T=i.cy+X(C[1],i.r),E=X(S.get(`width`),i.r),D=X(S.get(`height`),i.r),O=e.get([`progress`,`show`])?o.getItemVisual(t,`style`).fill:g,x=f[t],k=S.get(`formatter`);x.attr({z2:m?0:2,style:nh(S,{x:w,y:T,text:GU(a,k),width:isNaN(E)?null:E,height:isNaN(D)?null:D,align:`center`,verticalAlign:`middle`},{inheritColor:O})}),fh(x,{normal:S},a,function(e){return GU(e,k)}),p&&ph(x,t,o,e,{getFormattedLabel:function(e,t,n,r,i,o){return GU(o?o.interpolatedValue:a,k)}}),h.add(x)}u.add(h)}),this.group.add(u),this._titleEls=d,this._detailEls=f},t.type=`gauge`,t}(Rb),qU=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.visualStyleAccessPath=`itemStyle`,n}return t.prototype.getInitialData=function(e,t){return UP(this,[`value`])},t.type=`series.gauge`,t.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,Q.color.neutral10]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:Q.color.axisTick,width:3,type:`solid`}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:Q.color.axisTickMinor,width:1,type:`solid`}},axisLabel:{show:!0,distance:15,color:Q.color.axisLabel,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:Q.color.neutral00,borderWidth:0,borderColor:Q.color.theme[0]}},title:{show:!0,offsetCenter:[0,`20%`],color:Q.color.secondary,fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:Q.color.transparent,borderWidth:0,borderColor:Q.color.neutral40,width:100,height:null,padding:[5,10],offsetCenter:[0,`40%`],color:Q.color.primary,fontSize:30,fontWeight:`bold`,lineHeight:30,valueAnimation:!1}},t}(Tb);function JU(e){e.registerChartView(KU),e.registerSeriesModel(qU)}var YU=`funnel`,XU=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t){e.prototype.init.apply(this,arguments),this.legendVisualProvider=new WP(z(this.getData,this),z(this.getRawData,this)),this._defaultLabelLine(t)},t.prototype.getInitialData=function(e,t){return UP(this,{coordDimensions:[`value`],encodeDefaulter:xe(j_,this)})},t.prototype._defaultLabelLine=function(e){ys(e,`labelLine`,[`show`]);var t=e.labelLine,n=e.emphasis.labelLine;t.show=t.show&&e.label.show,n.show=n.show&&e.emphasis.label.show},t.prototype.getDataParams=function(t){var n=this.getData(),r=e.prototype.getDataParams.call(this,t),i=n.mapDimension(`value`),a=n.getSum(i);return r.percent=a?+(n.get(i,t)/a*100).toFixed(2):0,r.$vars.push(`percent`),r},t.type=`series.`+YU,t.defaultOption={coordinateSystemUsage:`box`,z:2,legendHoverLink:!0,colorBy:`data`,left:80,top:60,right:80,bottom:65,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:Q.color.neutral00,borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:Q.color.primary}}},t}(Tb),ZU=[`itemStyle`,`opacity`],QU=function(e){_(t,e);function t(t,n){var r=e.call(this)||this,i=r,a=new xp,o=new Vu;return i.setTextContent(o),r.setTextGuideLine(a),r.updateData(t,n,!0),r}return t.prototype.updateData=function(e,t,n){var r=this,i=e.hostModel,a=e.getItemModel(t),o=e.getItemLayout(t),s=a.getModel(`emphasis`),c=a.get(ZU);c??=1,n||tm(r),r.useStyle(e.getItemVisual(t,`style`)),r.style.lineJoin=`round`,n?(r.setShape({points:o.points}),r.style.opacity=0,Xp(r,{style:{opacity:c}},i,t)):Yp(r,{style:{opacity:c},shape:{points:o.points}},i,t),gf(r,a),this._updateLabel(e,t),ff(this,s.get(`focus`),s.get(`blurScope`),s.get(`disabled`))},t.prototype._updateLabel=function(e,t){var n=this,r=this.getTextGuideLine(),i=n.getTextContent(),a=e.hostModel,o=e.getItemModel(t),s=e.getItemLayout(t).label,c=e.getItemVisual(t,`style`),l=c.fill;eh(i,th(o),{labelFetcher:e.hostModel,labelDataIndex:t,defaultOpacity:c.opacity,defaultText:e.getName(t)},{normal:{align:s.textAlign,verticalAlign:s.verticalAlign}});var u=o.getModel(`label`).get(`color`)===`inherit`?l:null;n.setTextConfig({local:!0,inside:!!s.inside,insideStroke:u,outsideFill:u});var d=s.linePoints;r.setShape({points:d}),n.textGuideLineConfig={anchor:d?new q(d[0][0],d[0][1]):null},Yp(i,{style:{x:s.x,y:s.y}},a,t),i.attr({rotation:s.rotation,originX:s.x,originY:s.y,z2:10}),QO(n,$O(o),{stroke:l})},t}(yp),$U=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=YU,t.ignoreLabelLineUpdate=!0,t}return t.prototype.render=function(e,t,n){var r=e.getData(),i=this._data,a=this.group;r.diff(i).add(function(e){var t=new QU(r,e);r.setItemGraphicEl(e,t),a.add(t)}).update(function(e,t){var n=i.getItemGraphicEl(t);n.updateData(r,e),a.add(n),r.setItemGraphicEl(e,n)}).remove(function(t){em(i.getItemGraphicEl(t),e,t)}).execute(),this._data=r},t.prototype.remove=function(){this.group.removeAll(),this._data=null},t.prototype.dispose=function(){},t.type=YU,t}(Rb);function eW(e,t){for(var n=e.mapDimension(`value`),r=e.mapArray(n,function(e){return e}),i=[],a=t===`ascending`,o=0,s=e.count();o-1&&(i=`left`),n&&I([`left`,`right`],i)>-1&&(i=`bottom`)),i===`left`?(p=(s[3][0]+s[0][0])/2,m=(s[3][1]+s[0][1])/2,h=p-_,u=h-5,l=`right`):i===`right`?(p=(s[1][0]+s[2][0])/2,m=(s[1][1]+s[2][1])/2,h=p+_,u=h+5,l=`left`):i===`top`?(p=(s[3][0]+s[0][0])/2,m=(s[3][1]+s[0][1])/2,g=m-_,d=g-5,l=`center`):i===`bottom`?(p=(s[1][0]+s[2][0])/2,m=(s[1][1]+s[2][1])/2,g=m+_,d=g+5,l=`center`):i===`rightTop`?(p=n?s[3][0]:s[1][0],m=n?s[3][1]:s[1][1],n?(g=m-_,d=g-5,l=`center`):(h=p+_,u=h+5,l=`top`)):i===`rightBottom`?(p=s[2][0],m=s[2][1],n?(g=m+_,d=g+5,l=`center`):(h=p+_,u=h+5,l=`bottom`)):i===`leftTop`?(p=s[0][0],m=n?s[0][1]:s[1][1],n?(g=m-_,d=g-5,l=`center`):(h=p-_,u=h-5,l=`right`)):i===`leftBottom`?(p=n?s[1][0]:s[3][0],m=n?s[1][1]:s[2][1],n?(g=m+_,d=g+5,l=`center`):(h=p-_,u=h-5,l=`right`)):(p=(s[1][0]+s[2][0])/2,m=(s[1][1]+s[2][1])/2,n?(g=m+_,d=g+5,l=`center`):(h=p+_,u=h+5,l=`left`)),n?(h=p,u=h):(g=m,d=g),f=[[p,m],[h,g]]}o.label={linePoints:f,x:u,y:d,verticalAlign:`middle`,textAlign:l,inside:c}})}var nW=_c(YU,rW);function rW(e,t){e.eachSeriesByType(YU,function(e){var n=e.getData(),r=n.mapDimension(`value`),i=e.get(`sort`),a=l_(e,t),o=o_(e.getBoxLayoutParams(),a.refContainer),s=iW(e),c=o.width,l=o.height,u=eW(n,i),d=o.x,f=o.y,p=s?[X(e.get(`minSize`),l),X(e.get(`maxSize`),l)]:[X(e.get(`minSize`),c),X(e.get(`maxSize`),c)],m=n.getDataExtent(r),h=e.get(`min`),g=e.get(`max`);h??=Math.min(m[0],0),g??=m[1];var _=e.get(`funnelAlign`),v=e.get(`gap`),y=((s?c:l)-v*(n.count()-1))/n.count(),b=function(e,t){if(s){var i=Fo(n.get(r,e)||0,[h,g],p,!0),a=void 0;switch(_){case`top`:a=f;break;case`center`:a=f+(l-i)/2;break;case`bottom`:a=f+(l-i);break}return[[t,a],[t,a+i]]}var o=Fo(n.get(r,e)||0,[h,g],p,!0),u;switch(_){case`left`:u=d;break;case`center`:u=d+(c-o)/2;break;case`right`:u=d+c-o;break}return[[u,t],[u+o,t]]};i===`ascending`&&(y=-y,v=-v,s?d+=c:f+=l,u=u.reverse());for(var x=0;xSW)return;var r=this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX,e.offsetY]);r.behavior!==`none`&&this._dispatchExpand({axisExpandWindow:r.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(e){if(!(this._mouseDownPoint||!TW(this,`mousemove`))){var t=this._model,n=t.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX,e.offsetY]),r=n.behavior;r===`jump`&&this._throttledDispatchExpand.debounceNextCall(t.get(`axisExpandDebounce`)),this._throttledDispatchExpand(r===`none`?null:{axisExpandWindow:n.axisExpandWindow,animation:r===`jump`?null:{duration:0}})}}};function TW(e,t){var n=e._model;return n.get(`axisExpandable`)&&n.get(`axisExpandTriggerOn`)===t}var EW=`parallel`,DW=EW,OW=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(){e.prototype.init.apply(this,arguments),this.mergeOption({})},t.prototype.mergeOption=function(e){var t=this.option;e&&N(t,e,!0),this._initDimensions()},t.prototype.contains=function(e,t){var n=e.get(`parallelIndex`);return n!=null&&t.getComponent(`parallel`,n)===this},t.prototype.setAxisExpand=function(e){L([`axisExpandable`,`axisExpandCenter`,`axisExpandCount`,`axisExpandWidth`,`axisExpandWindow`],function(t){e.hasOwnProperty(t)&&(this.option[t]=e[t])},this)},t.prototype._initDimensions=function(){var e=this.dimensions=[],t=this.parallelAxisIndex=[];L(_e(this.ecModel.queryComponents({mainType:`parallelAxis`}),function(e){return(e.get(`parallelIndex`)||0)===this.componentIndex},this),function(n){e.push(`dim`+n.get(`dim`)),t.push(n.componentIndex)})},t.type=DW,t.dependencies=[`parallelAxis`],t.layoutMode=`box`,t.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},t}(__),kW=function(e){_(t,e);function t(t,n,r,i,a){var o=e.call(this,t,n,r)||this;return o.type=i||`value`,o.axisIndex=a,o}return t.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get(`layout`)!==`horizontal`},t}(DO);function AW(e,t,n,r,i,a){e||=0;var o=Ko(n[1],-n[0]);if(i!=null&&(i=MW(i,[0,o])),a!=null&&(a=Math.max(a,i??0)),r===`all`){var s=Math.abs(Ko(t[1],-t[0]));s=MW(s,[0,o]),i=a=MW(s,[i,a]),r=0}t[0]=MW(t[0],n),t[1]=MW(t[1],n);var c=jW(t,r);t[r]+=e;var l=i||0,u=n.slice();c.sign<0?u[0]=Ko(u[0],l):u[1]=Ko(u[1],-l),t[r]=MW(t[r],u);var d=jW(t,r);return i!=null&&(d.sign!==c.sign||d.spana&&(t[1-r]=Ko(t[r],d.sign*a)),t}function jW(e,t){var n=e[t]-e[1-t];return{span:Math.abs(n),sign:n>0?-1:n<0?1:t?-1:1}}function MW(e,t){return Math.min(t[1]==null?1/0:t[1],Math.max(t[0]==null?-1/0:t[0],e))}var NW=function(){function e(e,t,n){this.type=EW,this._axesMap=G(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,n)}return e.prototype._init=function(e,t,n){var r=e.dimensions,i=e.parallelAxisIndex;L(r,function(e,n){var r=i[n],a=t.getComponent(`parallelAxis`,r),o=OE(a),s=this._axesMap.set(e,new kW(e,kE(a,o,!1),[0,0],o,r));s.onBand=WE(s.scale,a),s.inverse=a.get(`inverse`),a.axis=s,s.model=a,s.coordinateSystem=a.coordinateSystem=this},this)},e.prototype.update=function(e,t){L(this.dimensions,function(e){var t=this._axesMap.get(e);SD(t,1),PD(t)},this)},e.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),n=t.axisBase,r=t.layoutBase,i=t.pixelDimIndex,a=e[1-i],o=e[i];return a>=n&&a<=n+t.axisLength&&o>=r&&o<=r+t.layoutLength},e.prototype.getModel=function(){return this._model},e.prototype.resize=function(e,t){var n=l_(e,t).refContainer;this._rect=o_(e.getBoxLayoutParams(),n),this._layoutAxes()},e.prototype.getRect=function(){return this._rect},e.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,n=[`x`,`y`],r=[`width`,`height`],i=e.get(`layout`),a=i===`horizontal`?0:1,o=t[r[a]],s=[0,o],c=this.dimensions.length,l=PW(e.get(`axisExpandWidth`),s),u=PW(e.get(`axisExpandCount`)||0,[0,c]),d=e.get(`axisExpandable`)&&c>3&&c>u&&u>1&&l>0&&o>0,f=e.get(`axisExpandWindow`),p;f?(p=PW(f[1]-f[0],s),f[1]=f[0]+p):(p=PW(l*(u-1),s),f=[l*(e.get(`axisExpandCenter`)||Oo(c/2))-p/2],f[1]=f[0]+p);var m=(o-p)/(c-u);m<3&&(m=0);var h=[Oo(Bo(f[0]/l,1))+1,ko(Bo(f[1]/l,1))-1],g=m/l*f[0];return{layout:i,pixelDimIndex:a,layoutBase:t[n[a]],layoutLength:o,axisBase:t[n[1-a]],axisLength:t[r[1-a]],axisExpandable:d,axisExpandWidth:l,axisCollapseWidth:m,axisExpandWindow:f,axisCount:c,winInnerIndices:h,axisExpandWindow0Pos:g}},e.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,n=this.dimensions,r=this._makeLayoutInfo(),i=r.layout;t.each(function(e){var t=[0,r.axisLength],n=+!!e.inverse;e.setExtent(t[n],t[1-n])}),L(n,function(t,n){var a=(r.axisExpandable?IW:FW)(n,r),o={horizontal:{x:a.position,y:r.axisLength},vertical:{x:0,y:a.position}},s={horizontal:No/2,vertical:0},c=[o[i].x+e.x,o[i].y+e.y],l=s[i],u=Yt();en(u,u,l),$t(u,u,c),this._axesLayout[t]={position:c,rotation:l,transform:u,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},e.prototype.getAxis=function(e){return this._axesMap.get(e)},e.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},e.prototype.eachActiveState=function(e,t,n,r){n??=0,r??=e.count();var i=this._axesMap,a=this.dimensions,o=[],s=[];L(a,function(t){o.push(e.mapDimension(t)),s.push(i.get(t).model)});for(var c=this.hasAxisBrushed(),l=n;li*(1-u[0])?(c=`jump`,s=o-i*(1-u[2])):(s=o-i*u[1])>=0&&(s=o-i*(1-u[1]))<=0&&(s=0),s*=t.axisExpandWidth/l,s?AW(s,r,a,`all`):c=`none`;else{var f=r[1]-r[0];r=[To(0,a[1]*o/f-f/2)],r[1]=wo(a[1],r[0]+f),r[0]=r[1]-f}return{axisExpandWindow:r,behavior:c}},e}();function PW(e,t){return wo(To(e,t[0]),t[1])}function FW(e,t){var n=t.layoutLength/(t.axisCount-1);return{position:n*e,axisNameAvailableWidth:n,axisLabelShow:!0}}function IW(e,t){var n=t.layoutLength,r=t.axisExpandWidth,i=t.axisCount,a=t.axisCollapseWidth,o=t.winInnerIndices,s,c=a,l=!1,u;return e=0;n--)Vo(t[n])},t.prototype.getActiveState=function(e){var t=this.activeIntervals;if(!t.length)return`normal`;if(e==null||isNaN(+e))return`inactive`;if(t.length===1){var n=t[0];if(n[0]<=e&&e<=n[1])return`active`}else for(var r=0,i=t.length;rGW}function uG(e){var t=e.length-1;return t<0&&(t=0),[e[0],e[t]]}function dG(e,t,n,r){var i=new Y;return i.add(new Iu({name:`main`,style:hG(n),silent:!0,draggable:!0,cursor:`move`,drift:xe(bG,e,t,i,[`n`,`s`,`w`,`e`]),ondragend:xe(cG,t,{isEnd:!0})})),L(r,function(n){i.add(new Iu({name:n.join(``),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:xe(bG,e,t,i,n),ondragend:xe(cG,t,{isEnd:!0})}))}),i}function fG(e,t,n,r){var i=r.brushStyle.lineWidth||0,a=HW(i,KW),o=n[0][0],s=n[1][0],c=o-i/2,l=s-i/2,u=n[0][1],d=n[1][1],f=u-a+i/2,p=d-a+i/2,m=u-o,h=d-s,g=m+i,_=h+i;mG(e,t,`main`,o,s,m,h),r.transformable&&(mG(e,t,`w`,c,l,a,_),mG(e,t,`e`,f,l,a,_),mG(e,t,`n`,c,l,g,a),mG(e,t,`s`,c,p,g,a),mG(e,t,`nw`,c,l,a,a),mG(e,t,`ne`,f,l,a,a),mG(e,t,`sw`,c,p,a,a),mG(e,t,`se`,f,p,a,a))}function pG(e,t){var n=t.__brushOption,r=n.transformable,i=t.childAt(0);i.useStyle(hG(n)),i.attr({silent:!r,cursor:r?`move`:`default`}),L([[`w`],[`e`],[`n`],[`s`],[`s`,`e`],[`s`,`w`],[`n`,`e`],[`n`,`w`]],function(n){var i=t.childOfName(n.join(``)),a=n.length===1?vG(e,n[0]):yG(e,n);i&&i.attr({silent:!r,invisible:!r,cursor:r?YW[a]+`-resize`:null})})}function mG(e,t,n,r,i,a,o){var s=t.childOfName(n);s&&s.setShape(wG(CG(e,t,[[r,i],[r+a,i+o]])))}function hG(e){return F({strokeNoScale:!0},e.brushStyle)}function gG(e,t,n,r){var i=[VW(e,n),VW(t,r)],a=[HW(e,n),HW(t,r)];return[[i[0],a[0]],[i[1],a[1]]]}function _G(e){return bm(e.group)}function vG(e,t){return{left:`w`,right:`e`,top:`n`,bottom:`s`}[Sm({w:`left`,e:`right`,n:`top`,s:`bottom`}[t],_G(e))]}function yG(e,t){var n=[vG(e,t[0]),vG(e,t[1])];return(n[0]===`e`||n[0]===`w`)&&n.reverse(),n.join(``)}function bG(e,t,n,r,i,a){var o=n.__brushOption,s=e.toRectRange(o.range),c=SG(t,i,a);L(r,function(e){var t=JW[e];s[t[0]][t[1]]+=c[t[0]]}),o.range=e.fromRectRange(gG(s[0][0],s[1][0],s[0][1],s[1][1])),rG(t,n),cG(t,{isEnd:!1})}function xG(e,t,n,r){var i=t.__brushOption.range,a=SG(e,n,r);L(i,function(e){e[0]+=a[0],e[1]+=a[1]}),rG(e,t),cG(e,{isEnd:!1})}function SG(e,t,n){var r=e.group,i=r.transformCoordToLocal(t,n),a=r.transformCoordToLocal(0,0);return[i[0]-a[0],i[1]-a[1]]}function CG(e,t,n){var r=oG(e,t);return r&&r!==BW?r.clipPath(n,e._transform):M(n)}function wG(e){var t=VW(e[0][0],e[1][0]),n=VW(e[0][1],e[1][1]),r=HW(e[0][0],e[1][0]),i=HW(e[0][1],e[1][1]);return{x:t,y:n,width:r-t,height:i-n}}function TG(e,t,n){if(!(!e._brushType||MG(e,t.offsetX,t.offsetY))){var r=e._zr,i=e._covers,a=aG(e,t,n);if(!e._dragging)for(var o=0;or.getWidth()||n<0||n>r.getHeight()}var NG={lineX:PG(0),lineY:PG(1),rect:{createCover:function(e,t){function n(e){return e}return dG({toRectRange:n,fromRectRange:n},e,t,[[`w`],[`e`],[`n`],[`s`],[`s`,`e`],[`s`,`w`],[`n`,`e`],[`n`,`w`]])},getCreatingRange:function(e){var t=uG(e);return gG(t[1][0],t[1][1],t[0][0],t[0][1])},updateCoverShape:function(e,t,n,r){fG(e,t,n,r)},updateCommon:pG,contain:DG},polygon:{createCover:function(e,t){var n=new Y;return n.add(new xp({name:`main`,style:hG(t),silent:!0})),n},getCreatingRange:function(e){return e},endCreating:function(e,t){t.remove(t.childAt(0)),t.add(new yp({name:`main`,draggable:!0,drift:xe(xG,e,t),ondragend:xe(cG,e,{isEnd:!0})}))},updateCoverShape:function(e,t,n,r){t.childAt(0).setShape({points:CG(e,t,n)})},updateCommon:pG,contain:DG}};function PG(e){return{createCover:function(t,n){return dG({toRectRange:function(t){var n=[t,[0,100]];return e&&n.reverse(),n},fromRectRange:function(t){return t[e]}},t,n,[[[`w`],[`e`]],[[`n`],[`s`]]][e])},getCreatingRange:function(t){var n=uG(t);return[VW(n[0][e],n[1][e]),HW(n[0][e],n[1][e])]},updateCoverShape:function(t,n,r,i){var a,o=oG(t,n);if(o!==BW&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(e);else{var s=t._zr;a=[0,[s.getWidth(),s.getHeight()][1-e]]}var c=[r,a];e&&c.reverse(),fG(t,n,c,i)},updateCommon:pG,contain:DG}}function FG(e){return e=RG(e),function(t){return Em(t,e)}}function IG(e,t){return e=RG(e),function(n){var r=t??n,i=r?e.width:e.height,a=r?e.x:e.y;return[a,a+(i||0)]}}function LG(e,t,n){var r=RG(e);return function(e,i){return r.contain(i[0],i[1])&&!$I(e,t,n)}}function RG(e){return J.create(e)}var zG=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t,n){e.prototype.init.apply(this,arguments),(this._brushController=new QW(n.getZr())).on(`brush`,z(this._onBrush,this))},t.prototype.render=function(e,t,n,r){if(!BG(e,t,r)){this.axisModel=e,this.api=n,this.group.removeAll();var i=this._axisGroup;if(this._axisGroup=new Y,this.group.add(this._axisGroup),e.get(`show`)){var a=HG(e,t),o=a.coordinateSystem,s=e.getAreaSelectStyle(),c=s.width,l=e.axis.dim,u=o.getAxisLayout(l),d=P({strokeContainThreshold:c},u),f=new cN(e,n,d);f.build(),this._axisGroup.add(f.group),this._refreshBrushController(d,s,e,a,c,n),Tm(i,this._axisGroup,e)}}},t.prototype._refreshBrushController=function(e,t,n,r,i,a){var o=n.axis.getExtent(),s=o[1]-o[0],c=Math.min(30,Math.abs(s)*.1),l=J.create({x:o[0],y:-i/2,width:s,height:i});l.x-=c,l.width+=2*c,this._brushController.mount({enableGlobalPan:!0,rotation:e.rotation,x:e.position[0],y:e.position[1]}).setPanels([{panelId:`pl`,clipPath:FG(l),isTargetByCursor:LG(l,a,r),getLinearBrushOtherExtent:IG(l,0)}]).enableBrush({brushType:`lineX`,brushStyle:t,removeOnClick:!0}).updateCovers(VG(n))},t.prototype._onBrush=function(e){var t=e.areas,n=this.axisModel,r=n.axis,i=R(t,function(e){return[r.coordToData(e.range[0],!0),r.coordToData(e.range[1],!0)]});(!n.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:`axisAreaSelect`,parallelAxisId:n.id,intervals:i})},t.prototype.dispose=function(){this._brushController.dispose()},t.type=`parallelAxis`,t}(Pb);function BG(e,t,n){return n&&n.type===`axisAreaSelect`&&t.findComponents({mainType:`parallelAxis`,query:n})[0]===e}function VG(e){var t=e.axis;return R(e.activeIntervals,function(e){return{brushType:`lineX`,panelId:`pl`,range:[t.dataToCoord(e[0],!0),t.dataToCoord(e[1],!0)]}})}function HG(e,t){return t.getComponent(`parallel`,e.get(`parallelIndex`))}var UG={type:`axisAreaSelect`,event:`axisAreaSelected`};function WG(e){e.registerAction(UG,function(e,t){t.eachComponent({mainType:`parallelAxis`,query:e},function(t){t.axis.model.setActiveIntervals(e.intervals)})}),e.registerAction(`parallelAxisExpand`,function(e,t){t.eachComponent({mainType:`parallel`,query:e},function(t){t.setAxisExpand(e)})})}var GG={type:`value`,areaSelectStyle:{width:20,borderWidth:1,borderColor:`rgba(160,197,232)`,color:`rgba(160,197,232)`,opacity:.3},realtime:!0,z:10};function KG(e){e.registerComponentView(CW),e.registerComponentModel(OW),e.registerCoordinateSystem(`parallel`,RW),e.registerPreprocessor(yW),e.registerComponentModel(zW),e.registerComponentView(zG),CF(e,`parallel`,zW,GG),WG(e)}function qG(e){Fw(KG),e.registerChartView(sW),e.registerSeriesModel(mW),e.registerVisual(e.PRIORITY.VISUAL.BRUSH,vW)}var JG=`sankey`,YG=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.getInitialData=function(e,t){var n=e.edges||e.links||[],r=e.data||e.nodes||[],i=e.levels||[];this.levelModels=[];for(var a=this.levelModels,o=0;o=0&&(a[i[o].depth]=new Th(i[o],this,t));return mH(r,n,this,!0,s).data;function s(e,t){e.wrapMethod(`getItemModel`,function(e,t){var n=e.parentModel,r=n.getData().getItemLayout(t);if(r){var i=r.depth,a=n.levelModels[i];a&&(e.parentModel=a)}return e}),t.wrapMethod(`getItemModel`,function(e,t){var n=e.parentModel,r=n.getGraph().getEdgeByIndex(t).node1.getLayout();if(r){var i=r.depth,a=n.levelModels[i];a&&(e.parentModel=a)}return e})}},t.prototype.setNodePosition=function(e,t){var n=(this.option.data||this.option.nodes)[e];n.localX=t[0],n.localY=t[1]},t.prototype.getGraph=function(){return this.getData().graph},t.prototype.getEdgeData=function(){return this.getGraph().edgeData},t.prototype.formatTooltip=function(e,t,n){function r(e){return isNaN(e)||e==null}if(n===`edge`){var i=this.getDataParams(e,n),a=i.data,o=i.value;return ib(`nameValue`,{name:a.source+` -- `+a.target,value:o,noValue:r(o)})}else{var s=this.getGraph().getNodeByIndex(e).getLayout().value,c=this.getDataParams(e,n).data.name;return ib(`nameValue`,{name:c==null?null:c+``,value:s,noValue:r(s)})}},t.prototype.optionUpdated=function(){},t.prototype.getDataParams=function(t,n){var r=e.prototype.getDataParams.call(this,t,n);return r.value==null&&n===`node`&&(r.value=this.getGraph().getNodeByIndex(t).getLayout().value),r},t.prototype.__ownRoamView=function(){return this.coordinateSystem},t.type=`series.`+JG,t.layoutMode=`box`,t.defaultOption={z:2,coordinateSystemUsage:`box`,left:`5%`,top:`5%`,right:`20%`,bottom:`5%`,orient:`horizontal`,nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,roam:!1,roamTrigger:`global`,center:null,zoom:1,label:{show:!0,position:`right`,fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:`justify`,lineStyle:{color:Q.color.neutral50,opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:Q.color.primary}},animationEasing:`linear`,animationDuration:1e3},t}(Tb),XG=function(){function e(){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 e}(),ZG=function(e){_(t,e);function t(t){return e.call(this,t)||this}return t.prototype.getDefaultShape=function(){return new XG},t.prototype.buildPath=function(e,t){var n=t.extent;e.moveTo(t.x1,t.y1),e.bezierCurveTo(t.cpx1,t.cpy1,t.cpx2,t.cpy2,t.x2,t.y2),t.orient===`vertical`?(e.lineTo(t.x2+n,t.y2),e.bezierCurveTo(t.cpx2+n,t.cpy2,t.cpx1+n,t.cpy1,t.x1+n,t.y1)):(e.lineTo(t.x2,t.y2+n),e.bezierCurveTo(t.cpx2,t.cpy2+n,t.cpx1,t.cpy1+n,t.x1,t.y1+n)),e.closePath()},t.prototype.highlight=function(){Kd(this)},t.prototype.downplay=function(){qd(this)},t}(Su),QG=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=JG,t._mainGroup=new Y,t}return t.prototype.init=function(e,t){this._controller=new eL(t.getZr()),this.group.add(this._mainGroup),this._firstRender=!0},t.prototype.render=function(e,t,n){var r=e.getGraph(),i=this._mainGroup,a=e.layoutInfo,o=a.width,s=a.height,c=e.getData(),l=e.getData(`edge`),u=e.get(`orient`);i.removeAll(),i.x=a.x,i.y=a.y,this._updateViewCoordSys(e,n),QR(e,n,this._controller,$R(i),null),r.eachEdge(function(t){var n=new ZG,r=Z(n);r.dataIndex=t.dataIndex,r.seriesIndex=e.seriesIndex,r.dataType=`edge`;var a=t.getModel(),c=a.getModel(`lineStyle`),d=c.get(`curveness`),f=t.node1.getLayout(),p=t.node1.getModel(),m=p.get(`localX`),h=p.get(`localY`),g=t.node2.getLayout(),_=t.node2.getModel(),v=_.get(`localX`),y=_.get(`localY`),b=t.getLayout(),x,S,C,w,T,E,D,O;n.shape.extent=Math.max(1,b.dy),n.shape.orient=u,u===`vertical`?(x=(m==null?f.x:m*o)+b.sy,S=(h==null?f.y:h*s)+f.dy,C=(v==null?g.x:v*o)+b.ty,w=y==null?g.y:y*s,T=x,E=S*(1-d)+w*d,D=C,O=S*d+w*(1-d)):(x=(m==null?f.x:m*o)+f.dx,S=(h==null?f.y:h*s)+b.sy,C=v==null?g.x:v*o,w=(y==null?g.y:y*s)+b.ty,T=x*(1-d)+C*d,E=S,D=x*d+C*(1-d),O=w),n.setShape({x1:x,y1:S,x2:C,y2:w,cpx1:T,cpy1:E,cpx2:D,cpy2:O}),n.useStyle(c.getItemStyle()),$G(n.style,u,t);var k=``+a.get(`value`),A=th(a,`edgeLabel`);eh(n,A,{labelFetcher:{getFormattedLabel:function(t,n,r,i,a,o){return e.getFormattedLabel(t,n,`edge`,i,Me(a,A.normal&&A.normal.get(`formatter`),k),o)}},labelDataIndex:t.dataIndex,defaultText:k}),n.setTextConfig({position:`inside`});var j=a.getModel(`emphasis`);gf(n,a,`lineStyle`,function(e){var n=e.getItemStyle();return $G(n,u,t),n}),i.add(n),l.setItemGraphicEl(t.dataIndex,n);var ee=j.get(`focus`);ff(n,ee===`adjacency`?t.getAdjacentDataIndices():ee===`trajectory`?t.getTrajectoryDataIndices():ee,j.get(`blurScope`),j.get(`disabled`))}),r.eachNode(function(t){var n=t.getLayout(),r=t.getModel(),a=r.get(`localX`),l=r.get(`localY`),u=r.getModel(`emphasis`),d=r.get([`itemStyle`,`borderRadius`])||0,f=new Iu({shape:{x:a==null?n.x:a*o,y:l==null?n.y:l*s,width:n.dx,height:n.dy,r:d},style:r.getModel(`itemStyle`).getItemStyle(),z2:10});eh(f,th(r),{labelFetcher:{getFormattedLabel:function(t,n){return e.getFormattedLabel(t,n,`node`)}},labelDataIndex:t.dataIndex,defaultText:t.id}),f.disableLabelAnimation=!0,f.setStyle(`fill`,t.getVisual(`color`)),f.setStyle(`decal`,t.getVisual(`style`).decal),gf(f,r),i.add(f),c.setItemGraphicEl(t.dataIndex,f),Z(f).dataType=`node`;var p=u.get(`focus`);ff(f,p===`adjacency`?t.getAdjacentDataIndices():p===`trajectory`?t.getTrajectoryDataIndices():p,u.get(`blurScope`),u.get(`disabled`))}),c.eachItemGraphicEl(function(t,r){c.getItemModel(r).get(`draggable`)&&(t.drift=function(t,i){this.shape.x+=t,this.shape.y+=i,this.dirty(),n.dispatchAction({type:`dragNode`,seriesId:e.id,dataIndex:c.getRawIndex(r),localX:this.shape.x/o,localY:this.shape.y/s})},t.draggable=!0,t.cursor=`move`)}),!this._data&&e.isAnimationEnabled()&&i.setClipPath(eK(i.getBoundingRect(),e,function(){i.removeClipPath()})),this._data=e.getData(),this._firstRender=!1},t.prototype.__updateOnOwnRoam=function(e,t,n){PR(this.group,2,t.coordinateSystem,null)},t.prototype.dispose=function(){this._controller&&this._controller.dispose()},t.prototype._updateViewCoordSys=function(e,t){var n=e.layoutInfo,r=e.coordinateSystem=iz(e,t,n.x,n.y,n.width,n.height);PR(this.group,2,r,this._firstRender?null:e)},t.type=JG,t}(Rb);function $G(e,t,n){switch(e.fill){case`source`:e.fill=n.node1.getVisual(`color`),e.decal=n.node1.getVisual(`style`).decal;break;case`target`:e.fill=n.node2.getVisual(`color`),e.decal=n.node2.getVisual(`style`).decal;break;case`gradient`:var r=n.node1.getVisual(`color`),i=n.node2.getVisual(`color`);H(r)&&H(i)&&(e.fill=new Np(0,0,+(t===`horizontal`),+(t===`vertical`),[{color:r,offset:0},{color:i,offset:1}]))}}function eK(e,t,n){var r=new Iu({shape:{x:e.x-10,y:e.y-10,width:0,height:e.height+20}});return Xp(r,{shape:{width:e.width+20}},t,n),r}var tK=_c(JG,nK);function nK(e,t){e.eachSeriesByType(JG,function(e){var n=e.get(`nodeWidth`),r=e.get(`nodeGap`),i=l_(e,t).refContainer,a=o_(e.getBoxLayoutParams(),i);e.layoutInfo=a;var o=a.width,s=a.height,c=e.getGraph(),l=c.nodes,u=c.edges;iK(l),rK(l,u,n,r,o,s,_e(l,function(e){return e.getLayout().value===0}).length===0?e.get(`layoutIterations`):0,e.get(`orient`),e.get(`nodeAlign`))})}function rK(e,t,n,r,i,a,o,s,c){aK(e,t,n,i,a,s,c),uK(e,t,a,i,r,o,s),CK(e,s)}function iK(e){L(e,function(e){var t=xK(e.outEdges,bK),n=xK(e.inEdges,bK),r=e.getValue()||0,i=Math.max(t,n,r);e.setLayout({value:i},!0)})}function aK(e,t,n,r,i,a,o){for(var s=[],c=[],l=[],u=[],d=0,f=0;f=0;_&&g.depth>p&&(p=g.depth),h.setLayout({depth:_?g.depth:d},!0),a===`vertical`?h.setLayout({dy:n},!0):h.setLayout({dx:n},!0);for(var v=0;vd-1?p:d-1;o&&o!==`left`&&sK(e,o,a,C),lK(e,a===`vertical`?(i-n)/C:(r-n)/C,a)}function oK(e){var t=e.hostGraph.data.getRawDataItem(e.dataIndex);return t.depth!=null&&t.depth>=0}function sK(e,t,n,r){if(t===`right`){for(var i=[],a=e,o=0;a.length;){for(var s=0;s0;a--)c*=.99,mK(s,c,o),pK(s,i,n,r,o),SK(s,c,o),pK(s,i,n,r,o)}function dK(e,t){var n=[],r=t===`vertical`?`y`:`x`,i=Zs(e,function(e){return e.getLayout()[r]});return Vo(i.keys),L(i.keys,function(e){n.push(i.buckets.get(e))}),n}function fK(e,t,n,r,i,a){var o=1/0;L(e,function(e){var t=e.length,s=0;L(e,function(e){s+=e.getLayout().value});var c=a===`vertical`?(r-(t-1)*i)/s:(n-(t-1)*i)/s;c0&&(o=s.getLayout()[a]+c,i===`vertical`?s.setLayout({x:o},!0):s.setLayout({y:o},!0)),l=s.getLayout()[a]+s.getLayout()[d]+t;var p=i===`vertical`?r:n;if(c=l-t-p,c>0){o=s.getLayout()[a]-c,i===`vertical`?s.setLayout({x:o},!0):s.setLayout({y:o},!0),l=o;for(var f=u-2;f>=0;--f)s=e[f],c=s.getLayout()[a]+s.getLayout()[d]+t-l,c>0&&(o=s.getLayout()[a]-c,i===`vertical`?s.setLayout({x:o},!0):s.setLayout({y:o},!0)),l=s.getLayout()[a]}})}function mK(e,t,n){L(e.slice().reverse(),function(e){L(e,function(e){if(e.outEdges.length){var r=xK(e.outEdges,hK,n)/xK(e.outEdges,bK);if(isNaN(r)){var i=e.outEdges.length;r=i?xK(e.outEdges,gK,n)/i:0}if(n===`vertical`){var a=e.getLayout().x+(r-yK(e,n))*t;e.setLayout({x:a},!0)}else{var o=e.getLayout().y+(r-yK(e,n))*t;e.setLayout({y:o},!0)}}})})}function hK(e,t){return yK(e.node2,t)*e.getValue()}function gK(e,t){return yK(e.node2,t)}function _K(e,t){return yK(e.node1,t)*e.getValue()}function vK(e,t){return yK(e.node1,t)}function yK(e,t){return t===`vertical`?e.getLayout().x+e.getLayout().dx/2:e.getLayout().y+e.getLayout().dy/2}function bK(e){return e.getValue()}function xK(e,t,n){for(var r=0,i=e.length,a=-1;++aa&&(a=t)}),L(n,function(t){var n=new LV({type:`color`,mappingMethod:`linear`,dataExtent:[i,a],visual:e.get(`color`)}).mapValueToVisual(t.getLayout().value),r=t.getModel().get([`itemStyle`,`color`]);r==null?(t.setVisual(`color`,n),t.setVisual(`style`,{fill:n})):(t.setVisual(`color`,r),t.setVisual(`style`,{fill:r}))})}r.length&&L(r,function(e){var t=e.getModel().get(`lineStyle`);e.setVisual(`style`,t)})})}function EK(e){e.registerChartView(QG),e.registerSeriesModel(YG),e.registerLayout(tK),e.registerVisual(wK),e.registerAction({type:`dragNode`,event:`dragnode`,update:`update`},function(e,t){t.eachComponent({mainType:nd,subType:JG,query:e},function(t){t.setNodePosition(e.dataIndex,[e.localX,e.localY])})}),tz(e,nd,JG)}var DK=function(){function e(){}return e.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},e.prototype.getInitialData=function(e,t){var n,r=t.getComponent(`xAxis`,this.get(`xAxisIndex`)),i=t.getComponent(`yAxis`,this.get(`yAxisIndex`)),a=r.get(`type`),o=i.get(`type`),s,c=e.layout;a===`category`?(c=`horizontal`,n=r.getOrdinalMeta(),s=!this._hasEncodeRule(`x`)):o===`category`&&(c=`vertical`,n=i.getOrdinalMeta(),s=!this._hasEncodeRule(`y`)),c||=o===`time`?`vertical`:`horizontal`,this._layout=c;var l=[`x`,`y`],u=c===`horizontal`?0:1,d=this._baseAxisDim=l[u],f=l[1-u],p=[r,i],m=p[u].get(`type`),h=p[1-u].get(`type`),g=e.data;if(g&&s){var _=[];L(g,function(e,t){var n;B(e)?(n=e.slice(),e.unshift(t)):B(e.value)?(n=P({},e),n.value=n.value.slice(),e.value.unshift(t)):n=e,_.push(n)}),e.data=_}var v=this.defaultValueDimensions,y=[{name:d,type:Hw(m),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:[`base`]},{name:f,type:Hw(h),dimsDef:v.slice()}];return UP(this,{coordDimensions:y,dimensionsCount:v.length+1,encodeDefaulter:xe(A_,y,this)})},e.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+`Axis`,this.get(e+`AxisIndex`)).axis},e.prototype.getWhiskerBoxesLayout=function(){return this._layout},e}();function OK(e,t){for(var n=t.ends.length,r=0,i=0;ih){var b=[_,y];r.push(b)}}}return{boxData:n,outliers:r}}var WK={type:`echarts:boxplot`,transform:function(e){var t=e.upstream;t.sourceFormat!==`arrayRows`&&ms(``);var n=UK(t.getRawData(),e.config);return[{dimensions:[`ItemName`,`Low`,`Q1`,`Q2`,`Q3`,`High`],data:n.boxData},{data:n.outliers}]}};function GK(e){e.registerSeriesModel(AK),e.registerChartView(jK),e.registerLayout(RK),e.registerTransform(WK),HK(e)}var KK=`candlestick`,qK=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.defaultValueDimensions=[{name:`open`,defaultTooltip:!0},{name:`close`,defaultTooltip:!0},{name:`lowest`,defaultTooltip:!0},{name:`highest`,defaultTooltip:!0}],n}return t.prototype.getShadowDim=function(){return`open`},t.prototype.brushSelector=function(e,t,n){var r=t.getItemLayout(e);return r&&n.rect(r.brushRect)},t.type=`series.`+KK,t.dependencies=[`xAxis`,`yAxis`,`grid`],t.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},t}(Tb);me(qK,DK,!0);var JK=[`itemStyle`,`borderColor`],YK=[`itemStyle`,`borderColor0`],XK=[`itemStyle`,`borderColorDoji`],ZK=[`itemStyle`,`color`],QK=[`itemStyle`,`color0`];function $K(e,t){return t.get(e>0?ZK:QK)}function eq(e,t){return t.get(e===0?XK:e>0?JK:YK)}var tq={seriesType:KK,plan:Fb(),performRawSeries:!0,reset:function(e,t){if(!t.isSeriesFiltered(e))return!e.pipelineContext.large&&{progress:function(e,t){for(var n;(n=e.next())!=null;){var r=t.getItemModel(n),i=t.getItemLayout(n).sign,a=r.getItemStyle();a.fill=$K(i,r),a.stroke=eq(i,r)||a.fill,P(t.ensureUniqueItemVisual(n,`style`),a)}}}}},nq=[`color`,`borderColor`],rq=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(e),this._isLargeDraw?this._renderLarge(e):this._renderNormal(e)},t.prototype.incrementalPrepareRender=function(e,t,n){this._clear(),this._updateDrawMode(e)},t.prototype.incrementalRender=function(e,t,n,r){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(e,t):this._incrementalRenderNormal(e,t)},t.prototype.eachRendered=function(e){Rm(this._progressiveEls||this.group,e)},t.prototype._updateDrawMode=function(e){var t=e.pipelineContext.large;(this._isLargeDraw==null||t!==this._isLargeDraw)&&(this._isLargeDraw=t,this._clear())},t.prototype._renderNormal=function(e){var t=e.getData(),n=this._data,r=this.group,i=t.getLayout(`isSimpleBox`),a=e.get(`clip`,!0),o=e.coordinateSystem,s=o.getArea&&o.getArea(),c=a&&aM(o,!1,e);this._data||r.removeAll();var l=lq(e);t.diff(n).add(function(n){if(t.hasValue(n)){var o=t.getItemLayout(n),u=a?OK(s,o):0;if(u===2)return;var d=oq(o,n,l,!0);Xp(d,{shape:{points:o.ends}},e,n),oM(u===1,d,c),sq(d,t,n,i),r.add(d),t.setItemGraphicEl(n,d)}}).update(function(o,u){var d=n.getItemGraphicEl(u);if(!t.hasValue(o)){r.remove(d);return}var f=t.getItemLayout(o),p=a?OK(s,f):0;if(p===2){r.remove(d);return}d?(Yp(d,{shape:{points:f.ends}},e,o),tm(d)):d=oq(f,o,l),sq(d,t,o,i),oM(p===1,d,c),r.add(d),t.setItemGraphicEl(o,d)}).remove(function(e){var t=n.getItemGraphicEl(e);t&&r.remove(t)}).execute(),this._data=t},t.prototype._renderLarge=function(e){this._clear(),fq(e,this.group);var t=e.get(`clip`,!0)?aM(e.coordinateSystem,!1,e):null;oM(!!t,this.group,t)},t.prototype._incrementalRenderNormal=function(e,t){for(var n=t.getData(),r=n.getLayout(`isSimpleBox`),i=lq(t),a;(a=e.next())!=null;){var o=oq(n.getItemLayout(a),a,i);sq(o,n,a,r),o.incremental=hc(t),this.group.add(o),this._progressiveEls.push(o)}},t.prototype._incrementalRenderLarge=function(e,t){fq(t,this.group,this._progressiveEls,!0)},t.prototype.remove=function(e){this._clear()},t.prototype._clear=function(){this.group.removeAll(),oM(!1,this.group,null),this._data=null},t.type=KK,t}(Rb),iq=function(){function e(){}return e}(),aq=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`normalCandlestickBox`,n}return t.prototype.getDefaultShape=function(){return new iq},t.prototype.buildPath=function(e,t){var n=t.points;this.__simpleBox?(e.moveTo(n[4][0],n[4][1]),e.lineTo(n[6][0],n[6][1])):(e.moveTo(n[0][0],n[0][1]),e.lineTo(n[1][0],n[1][1]),e.lineTo(n[2][0],n[2][1]),e.lineTo(n[3][0],n[3][1]),e.closePath(),e.moveTo(n[4][0],n[4][1]),e.lineTo(n[5][0],n[5][1]),e.moveTo(n[6][0],n[6][1]),e.lineTo(n[7][0],n[7][1]))},t}(Su);function oq(e,t,n,r){var i=e.ends;return new aq({shape:{points:r?cq(i,n,e):i},z2:100})}function sq(e,t,n,r){var i=t.getItemModel(n);e.useStyle(t.getItemVisual(n,`style`)),e.style.strokeNoScale=!0;var a=i.getShallow(`cursor`);a&&e.attr(`cursor`,a),e.__simpleBox=r,gf(e,i);var o=t.getItemLayout(n).sign;L(e.states,function(e,t){var n=i.getModel(t),r=$K(o,n),a=eq(o,n)||r,s=e.style||={};r&&(s.fill=r),a&&(s.stroke=a)});var s=i.getModel(`emphasis`);ff(e,s.get(`focus`),s.get(`blurScope`),s.get(`disabled`))}function cq(e,t,n){return R(e,function(e){return e=e.slice(),e[t]=n.initBaseline,e})}function lq(e){return+(e.getWhiskerBoxesLayout()===`horizontal`)}var uq=function(){function e(){}return e}(),dq=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n.type=`largeCandlestickBox`,n}return t.prototype.getDefaultShape=function(){return new uq},t.prototype.buildPath=function(e,t){for(var n=t.points,r=0;rh?x[a]:b[a],ends:w,brushRect:O(g,_,p)})}function E(e,n){var r=[];return r[i]=n,r[a]=e,isNaN(n)||isNaN(e)?[NaN,NaN]:t.dataToPoint(r)}function D(e,t,n){var a=t.slice(),o=t.slice();a[i]=ym(a[i]+r/2,1,!1),o[i]=ym(o[i]-r/2,1,!0),n?e.push(a,o):e.push(o,a)}function O(e,t,n){var o=E(e,n),s=E(t,n);return o[i]-=r/2,s[i]-=r/2,{x:o[0],y:o[1],width:a?r:s[0]-o[0],height:a?s[1]-o[1]:r}}function k(e){return e[i]=ym(e[i],1),e}}function m(n,r){for(var o=Kj(n.count*4),c=0,p,m=[],h=[],g,_=r.getStore(),v=!!e.get([`itemStyle`,`borderColorDoji`]);(g=n.next())!=null;){var y=_.get(s,g),b=_.get(l,g),x=_.get(u,g),S=_.get(d,g),C=_.get(f,g);if(isNaN(y)||isNaN(S)||isNaN(C)){o[c++]=NaN,c+=3;continue}o[c++]=_q(_,g,b,x,u,v),m[i]=y,m[a]=S,p=t.dataToPoint(m,null,h),o[c++]=p?p[0]:NaN,o[c++]=p?p[1]:NaN,m[a]=C,p=t.dataToPoint(m,null,h),o[c++]=p?p[1]:NaN}r.setLayout(`largePoints`,o)}}};function _q(e,t,n,r,i,a){return n>r?-1:n0?e.get(i,t-1)<=r?1:-1:1}function vq(e,t){var n=CO(e.getBaseAxis(),{fromStat:{key:zN(KK)},min:1}).w,r=X(W(e.get(`barMaxWidth`),n),n),i=X(W(e.get(`barMinWidth`),1),n),a=e.get(`barWidth`);return a==null?To(wo(n/2,r),i):X(a,n)}function yq(e){hq(e,function(){var t=zN(KK);dD(e,{key:t,seriesType:KK,getMetrics:VN}),ED(t,RN(t))})}function bq(e){e.registerChartView(rq),e.registerSeriesModel(qK),e.registerPreprocessor(mq),e.registerVisual(tq),e.registerLayout(gq),yq(e)}function xq(e,t){var n=t.rippleEffectColor||t.color;e.eachChild(function(e){e.attr({z:t.z,zlevel:t.zlevel,style:{stroke:t.brushType===`stroke`?n:null,fill:t.brushType===`fill`?n:null}})})}var Sq=function(e){_(t,e);function t(t,n){var r=e.call(this)||this,i=new Nj(t,n),a=new Y;return r.add(i),r.add(a),r.updateData(t,n),r}return t.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},t.prototype.startEffectAnimation=function(e){for(var t=e.symbolType,n=e.color,r=e.rippleNumber,i=this.childAt(1),a=0;a0&&(a=this._getLineLength(r)/c*1e3),a!==this._period||o!==this._loop||s!==this._roundTrip){r.stopAnimation();var u=void 0;u=V(l)?l(n):l,r.__t>0&&(u=-a*r.__t),this._animateSymbol(r,a,u,o,s)}this._period=a,this._loop=o,this._roundTrip=s}},t.prototype._animateSymbol=function(e,t,n,r,i){if(t>0){e.__t=0;var a=this,o=e.animate(``,r).when(i?t*2:t,{__t:i?2:1}).delay(n).during(function(){a._updateSymbolPosition(e)});r||o.done(function(){a.remove(e)}),o.start()}},t.prototype._getLineLength=function(e){return lt(e.__p1,e.__cp1)+lt(e.__cp1,e.__p2)},t.prototype._updateAnimationPoints=function(e,t){e.__p1=t[0],e.__p2=t[1],e.__cp1=t[2]||[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]},t.prototype.updateData=function(e,t,n){this.childAt(0).updateData(e,t,n),this._updateEffectSymbol(e,t)},t.prototype._updateSymbolPosition=function(e){var t=e.__p1,n=e.__p2,r=e.__cp1,i=e.__t<=1?e.__t:2-e.__t,a=[e.x,e.y],o=a.slice(),s=br,c=xr;a[0]=s(t[0],r[0],n[0],i),a[1]=s(t[1],r[1],n[1],i);var l=e.__t<=1?c(t[0],r[0],n[0],i):c(n[0],r[0],t[0],1-i),u=e.__t<=1?c(t[1],r[1],n[1],i):c(n[1],r[1],t[1],1-i);e.rotation=-Math.atan2(u,l)-Math.PI/2,(this._symbolType===`line`||this._symbolType===`rect`||this._symbolType===`roundRect`)&&(e.__lastT!==void 0&&e.__lastT=0&&!(r[o]<=t);o--);o=Math.min(o,i-2)}else{for(o=a;ot);o++);o=Math.min(o-1,i-2)}var s=(t-r[o])/(r[o+1]-r[o]),c=n[o],l=n[o+1];e.x=c[0]*(1-s)+s*l[0],e.y=c[1]*(1-s)+s*l[1];var u=e.__t<=1?l[0]-c[0]:c[0]-l[0],d=e.__t<=1?l[1]-c[1]:c[1]-l[1];e.rotation=-Math.atan2(d,u)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=t,e.ignore=!1}},t}(Dq),Aq=function(){function e(){this.polyline=!1,this.curveness=0,this.segs=[]}return e}(),jq=function(e){_(t,e);function t(t){var n=e.call(this,t)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.beforeBrush=function(e){e&&!e.contentRetained&&this.reset()},t.prototype.getDefaultStyle=function(){return{stroke:Q.color.neutral99,fill:null}},t.prototype.getDefaultShape=function(){return new Aq},t.prototype.buildPath=function(e,t){var n=t.segs,r=t.curveness,i;if(t.polyline)for(i=this._off;i0){e.moveTo(n[i++],n[i++]);for(var o=1;o0){var d=(s+l)/2-(c-u)*r,f=(c+u)/2-(l-s)*r;e.quadraticCurveTo(d,f,l,u)}else e.lineTo(l,u)}this.incremental&&(this._off=i,this.notClear=!0)},t.prototype.findDataIndex=function(e,t){var n=this.shape,r=n.segs,i=n.curveness,a=this.style.lineWidth;if(n.polyline)for(var o=0,s=0;s0)for(var l=r[s++],u=r[s++],d=1;d0){if(eu(l,u,(l+f)/2-(u-p)*i,(u+p)/2-(f-l)*i,f,p,a,e,t))return o}else if(Ql(l,u,f,p,a,e,t))return o;o++}return-1},t.prototype.contain=function(e,t){var n=this.transformCoordToLocal(e,t),r=this.getBoundingRect();return e=n[0],t=n[1],r.contain(e,t)?(this.hoverDataIdx=this.findDataIndex(e,t))>=0:(this.hoverDataIdx=-1,!1)},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var t=this.shape.segs,n=1/0,r=1/0,i=-1/0,a=-1/0,o=0;o0&&(a.dataIndex=n+e.__startIndex)})},e.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},e}(),Nq={seriesType:`lines`,plan:Fb(),reset:function(e){var t=e.coordinateSystem;if(t){var n=e.get(`polyline`),r=e.pipelineContext.large;return{progress:function(i,a){var o=[];if(r){var s=void 0,c=i.end-i.start;if(n){for(var l=0,u=i.start;u0&&c&&s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(o/10+.9,1),0)}),i.updateData(r);var l=e.get(`clip`,!0)&&aM(e.coordinateSystem,!1,e);l?this.group.setClipPath(l):this.group.removeClipPath(),this._lastZlevel=a,this._finished=!0},t.prototype.incrementalPrepareRender=function(e,t,n){var r=e.getData();this._updateLineDraw(r,e).incrementalPrepareUpdate(r),this._clearLayer(n),this._finished=!1},t.prototype.incrementalRender=function(e,t,n){this._lineDraw.incrementalUpdate(e,t.getData(),hc(t)),this._finished=e.end===t.getData().count()},t.prototype.eachRendered=function(e){this._lineDraw&&this._lineDraw.eachRendered(e)},t.prototype.updateTransform=function(e,t,n){var r=e.getData(),i=this._lineDraw;if(!this._finished||!i||!i.updateLayout)return{update:!0};var a=Nq.reset(e,t,n);a.progress&&a.progress({start:0,end:r.count(),count:r.count()},r),i.updateLayout(),this._clearLayer(n)},t.prototype._updateLineDraw=function(e,t){var n=this._lineDraw,r=this._showEffect(t),i=!!t.get(`polyline`),a=t.pipelineContext.large;return(!n||r!==this._hasEffet||i!==this._isPolyline||a!==this._isLargeDraw)&&(n&&n.remove(),n=this._lineDraw=a?new Mq:new cU(i?r?kq:Oq:r?Dq:sU),this._hasEffet=r,this._isPolyline=i,this._isLargeDraw=a),this.group.add(n.group),n},t.prototype._showEffect=function(e){return!!e.get([`effect`,`show`])},t.prototype._clearLayer=function(e){var t=Xm(e);t&&this._lastZlevel!=null&&t.getLayer(this._lastZlevel).clear(!0)},t.prototype.remove=function(e,t){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(t)},t.prototype.dispose=function(e,t){this.remove(e,t)},t.type=`lines`,t}(Rb),Fq=typeof Uint32Array>`u`?Array:Uint32Array,Iq=typeof Float64Array>`u`?Array:Float64Array;function Lq(e){var t=e.data;t&&t[0]&&t[0][0]&&t[0][0].coord&&(e.data=R(t,function(e){var t={coords:[e[0].coord,e[1].coord]};return e[0].name&&(t.fromName=e[0].name),e[1].name&&(t.toName=e[1].name),de([t,e[0],e[1]])}))}var Rq=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.visualStyleAccessPath=`lineStyle`,n.visualDrawType=`stroke`,n}return t.prototype.init=function(t){t.data=t.data||[],Lq(t);var n=this._processFlatCoordsArray(t.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(t.data=new Float32Array(n.count)),e.prototype.init.apply(this,arguments)},t.prototype.mergeOption=function(t){if(Lq(t),t.data){var n=this._processFlatCoordsArray(t.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(t.data=new Float32Array(n.count))}e.prototype.mergeOption.apply(this,arguments)},t.prototype.appendData=function(e){var t=this._processFlatCoordsArray(e.data);t.flatCoords&&(this._flatCoords?(this._flatCoords=We(this._flatCoords,t.flatCoords),this._flatCoordsOffset=We(this._flatCoordsOffset,t.flatCoordsOffset)):(this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset),e.data=new Float32Array(t.count)),this.getRawData().appendData(e.data)},t.prototype._getCoordsFromItemModel=function(e){var t=this.getData().getItemModel(e);return t.option instanceof Array?t.option:t.getShallow(`coords`)},t.prototype.getLineCoordsCount=function(e){return this._flatCoordsOffset?this._flatCoordsOffset[e*2+1]:this._getCoordsFromItemModel(e).length},t.prototype.getLineCoords=function(e,t){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[e*2],r=this._flatCoordsOffset[e*2+1],i=0;i `)}return ib(`nameValue`,{name:o,value:i,noValue:i==null||isNaN(i)})},t.prototype.preventIncremental=function(){return!!this.get([`effect`,`show`])},t.prototype.getProgressive=function(){return this.option.progressive??(this.option.large?1e4:this.get(`progressive`))},t.prototype.getProgressiveThreshold=function(){return this.option.progressiveThreshold??(this.option.large?2e4:this.get(`progressiveThreshold`))},t.prototype.getZLevelKey=function(){var e=this.getModel(`effect`),t=e.get(`trailLength`);return this.getData().count()>this.getProgressiveThreshold()?this.id:e.get(`show`)&&t>0?t+``:``},t.type=`series.lines`,t.dependencies=[`grid`,`polar`,`geo`,`calendar`],t.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}},t}(Tb);function zq(e){return e instanceof Array||(e=[e,e]),e}var Bq={seriesType:`lines`,reset:function(e){var t=zq(e.get(`symbol`)),n=zq(e.get(`symbolSize`)),r=e.getData();r.setVisual(`fromSymbol`,t&&t[0]),r.setVisual(`toSymbol`,t&&t[1]),r.setVisual(`fromSymbolSize`,n&&n[0]),r.setVisual(`toSymbolSize`,n&&n[1]);function i(e,t){var n=e.getItemModel(t),r=zq(n.getShallow(`symbol`,!0)),i=zq(n.getShallow(`symbolSize`,!0));r[0]&&e.setItemVisual(t,`fromSymbol`,r[0]),r[1]&&e.setItemVisual(t,`toSymbol`,r[1]),i[0]&&e.setItemVisual(t,`fromSymbolSize`,i[0]),i[1]&&e.setItemVisual(t,`toSymbolSize`,i[1])}return{dataEach:r.hasItemOption?i:null}}};function Vq(e){e.registerChartView(Pq),e.registerSeriesModel(Rq),e.registerLayout(Nq),e.registerVisual(Bq)}var Hq=256,Uq=function(){function e(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=D.createCanvas();this.canvas=e}return e.prototype.update=function(e,t,n,r,i,a){var o=this._getBrush(),s=this._getGradient(i,`inRange`),c=this._getGradient(i,`outOfRange`),l=this.pointSize+this.blurSize,u=this.canvas,d=u.getContext(`2d`),f=e.length;u.width=t,u.height=n;for(var p=0;p0){var E=a(v)?s:c;v>0&&(v=v*w+C),b[x++]=E[T],b[x++]=E[T+1],b[x++]=E[T+2],b[x++]=E[T+3]*v*256}else x+=4}return d.putImageData(y,0,0),u},e.prototype._getBrush=function(){var e=this._brushCanvas||=D.createCanvas(),t=this.pointSize+this.blurSize,n=t*2;e.width=n,e.height=n;var r=e.getContext(`2d`);return r.clearRect(0,0,n,n),r.shadowOffsetX=n,r.shadowBlur=this.blurSize,r.shadowColor=Q.color.neutral99,r.beginPath(),r.arc(-t,t,this.pointSize,0,Math.PI*2,!0),r.closePath(),r.fill(),e},e.prototype._getGradient=function(e,t){for(var n=this._gradientPixels,r=n[t]||(n[t]=new Uint8ClampedArray(256*4)),i=[0,0,0,0],a=0,o=0;o<256;o++)e[t](o/255,!0,i),r[a++]=i[0],r[a++]=i[1],r[a++]=i[2],r[a++]=i[3];return r},e}();function Wq(e,t,n){var r=e[1]-e[0];t=R(t,function(t){return{interval:[(t.interval[0]-e[0])/r,(t.interval[1]-e[0])/r]}});var i=t.length,a=0;return function(e){var r;for(r=a;r=0;r--){var o=t[r].interval;if(o[0]<=e&&e<=o[1]){a=r;break}}return r>=0&&r=t[0]&&e<=t[1]}}var Kq=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){var r;t.eachComponent(`visualMap`,function(t){t.eachTargetSeries(function(n){n===e&&(r=t)})}),this._progressiveEls=null,this.group.removeAll();var i=e.coordinateSystem;i.type===`cartesian2d`||i.type===`calendar`||i.type===`matrix`?this._renderOnGridLike(e,n,0,e.getData().count()):lM(i)&&this._renderOnGeo(i,e,r,n)},t.prototype.incrementalPrepareRender=function(e,t,n){this.group.removeAll()},t.prototype.incrementalRender=function(e,t,n,r){var i=t.coordinateSystem;i&&(lM(i)?this.render(t,n,r):(this._progressiveEls=[],this._renderOnGridLike(t,r,e.start,e.end,!0)))},t.prototype.eachRendered=function(e){Rm(this._progressiveEls||this.group,e)},t.prototype._renderOnGridLike=function(e,t,n,r,i){var a=e.coordinateSystem,o=cM(a,`cartesian2d`),s=cM(a,`matrix`),c,l,u,d;if(o){var f=a.getAxis(`x`),p=a.getAxis(`y`);c=CO(f).w+.5,l=CO(p).w+.5,u=f.scale.getExtent(),d=p.scale.getExtent()}for(var m=this.group,h=e.getData(),g=e.getModel([`emphasis`,`itemStyle`]).getItemStyle(),_=e.getModel([`blur`,`itemStyle`]).getItemStyle(),v=e.getModel([`select`,`itemStyle`]).getItemStyle(),y=e.get([`itemStyle`,`borderRadius`]),b=th(e),x=e.getModel(`emphasis`),S=x.get(`focus`),C=x.get(`blurScope`),w=x.get(`disabled`),T=o||s?[h.mapDimension(`x`),h.mapDimension(`y`),h.mapDimension(`value`)]:[h.mapDimension(`time`),h.mapDimension(`value`)],E=n;Eu[1]||Ad[1])continue;var j=a.dataToPoint([k,A]);D=new Iu({shape:{x:j[0]-c/2,y:j[1]-l/2,width:c,height:l},style:O})}else if(s){var ee=a.dataToLayout([h.get(T[0],E),h.get(T[1],E)]).rect;if(Ae(ee.x))continue;D=new Iu({z2:1,shape:ee,style:O})}else{if(isNaN(h.get(T[1],E)))continue;var te=a.dataToLayout([h.get(T[0],E)]),ee=te.contentRect||te.rect;if(Ae(ee.x)||Ae(ee.y))continue;D=new Iu({z2:1,shape:ee,style:O})}if(h.hasItemOption){var ne=h.getItemModel(E),re=ne.getModel(`emphasis`);g=re.getModel(`itemStyle`).getItemStyle(),_=ne.getModel([`blur`,`itemStyle`]).getItemStyle(),v=ne.getModel([`select`,`itemStyle`]).getItemStyle(),y=ne.get([`itemStyle`,`borderRadius`]),S=re.get(`focus`),C=re.get(`blurScope`),w=re.get(`disabled`),b=th(ne)}D.shape.r=y;var ie=e.getRawValue(E),ae=`-`;ie&&ie[2]!=null&&(ae=ie[2]+``),eh(D,b,{labelFetcher:e,labelDataIndex:E,defaultOpacity:O.opacity,defaultText:ae}),D.ensureState(`emphasis`).style=g,D.ensureState(`blur`).style=_,D.ensureState(`select`).style=v,ff(D,S,C,w),D.incremental=hc(e,i),i&&(D.states.emphasis.hoverLayer=2),m.add(D),h.setItemGraphicEl(E,D),this._progressiveEls&&this._progressiveEls.push(D)}},t.prototype._renderOnGeo=function(e,t,n,r){var i=n.targetVisuals.inRange,a=n.targetVisuals.outOfRange,o=t.getData(),s=this._hmLayer||this._hmLayer||new Uq;s.blurSize=t.get(`blurSize`),s.pointSize=t.get(`pointSize`),s.minOpacity=t.get(`minOpacity`),s.maxOpacity=t.get(`maxOpacity`);var c=e.getViewRect().clone(),l=e.getRoamTransform();c.applyTransform(l);var u=Math.max(c.x,0),d=Math.max(c.y,0),f=Math.min(c.width+c.x,r.getWidth()),p=Math.min(c.height+c.y,r.getHeight()),m=f-u,h=p-d,g=[o.mapDimension(`lng`),o.mapDimension(`lat`),o.mapDimension(`value`)],_=o.mapArray(g,function(t,n,r){var i=e.dataToPoint([t,n]);return i[0]-=u,i[1]-=d,i.push(r),i}),v=n.getExtent(),y=n.type===`visualMap.continuous`?Gq(v,n.option.range):Wq(v,n.getPieceList(),n.option.selected);s.update(_,m,h,i.color.getNormalizer(),{inRange:i.color.getColorMapper(),outOfRange:a.color.getColorMapper()},y);var b=new Ou({style:{width:m,height:h,x:u,y:d,image:s.canvas},silent:!0});this.group.add(b)},t.type=`heatmap`,t}(Rb),qq=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.getInitialData=function(e,t){return ET(null,this,{generateCoord:`value`})},t.prototype.preventIncremental=function(){var e=Wg.get(this.get(`coordinateSystem`));if(e&&e.dimensions)return e.dimensions[0]===`lng`&&e.dimensions[1]===`lat`},t.type=`series.heatmap`,t.dependencies=[`grid`,`geo`,`calendar`,`matrix`],t.defaultOption={coordinateSystem:`cartesian2d`,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:Q.color.primary}}},t}(Tb);function Jq(e){e.registerChartView(Kq),e.registerSeriesModel(qq)}var Yq=[`itemStyle`,`borderWidth`],Xq=[{xy:`x`,wh:`width`,index:0,posDesc:[`left`,`right`]},{xy:`y`,wh:`height`,index:1,posDesc:[`top`,`bottom`]}],Zq=new Jf,Qq=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=HN,t}return t.prototype.render=function(e,t,n){var r=this.group,i=e.getData(),a=this._data,o=e.coordinateSystem,s=o.getBaseAxis().isHorizontal(),c=o.master.getRect(),l={ecSize:{width:n.getWidth(),height:n.getHeight()},seriesModel:e,coordSys:o,coordSysExtent:[[c.x,c.x+c.width],[c.y,c.y+c.height]],isHorizontal:s,valueDim:Xq[+s],categoryDim:Xq[1-s]};i.diff(a).add(function(e){if(i.hasValue(e)){var t=$q(i,e,uJ(i,e),l),n=pJ(i,l,t);i.setItemGraphicEl(e,n),r.add(n),yJ(n,l,t)}}).update(function(e,t){var n=a.getItemGraphicEl(t);if(!i.hasValue(e)){r.remove(n);return}var o=$q(i,e,uJ(i,e),l),s=gJ(i,o);n&&s!==n.__pictorialShapeStr&&(r.remove(n),i.setItemGraphicEl(e,null),n=null),n?mJ(n,l,o):n=pJ(i,l,o,!0),i.setItemGraphicEl(e,n),n.__pictorialSymbolMeta=o,r.add(n),yJ(n,l,o)}).remove(function(e){var t=a.getItemGraphicEl(e);t&&hJ(a,e,t.__pictorialSymbolMeta.animationModel,t)}).execute();var u=e.get(`clip`,!0)?aM(e.coordinateSystem,!1,e):null;return u?r.setClipPath(u):r.removeClipPath(),this._data=i,this.group},t.prototype.remove=function(e,t){var n=this.group,r=this._data;e.get(`animation`)?r&&r.eachItemGraphicEl(function(t){hJ(r,Z(t).dataIndex,e,t)}):n.removeAll()},t.type=HN,t}(Rb);function $q(e,t,n,r){var i=e.getItemLayout(t),a=n.get(`symbolRepeat`),o=n.get(`symbolClip`),s=n.get(`symbolPosition`)||`start`,c=(n.get(`symbolRotate`)||0)*Math.PI/180||0,l=n.get(`symbolPatternSize`)||2,u=n.isAnimationEnabled(),d={dataIndex:t,layout:i,itemModel:n,symbolType:e.getItemVisual(t,`symbol`)||`circle`,style:e.getItemVisual(t,`style`),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:n.get(`symbolRepeatDirection`),symbolPatternSize:l,rotation:c,animationModel:u?n:null,hoverScale:u&&n.get([`emphasis`,`scale`]),z2:n.getShallow(`z`,!0)||0};eJ(n,a,i,r,d),nJ(e,t,i,a,o,d.boundingLength,d.pxSign,l,r,d),rJ(n,d.symbolScale,c,r,d);var f=d.symbolSize;return iJ(n,f,i,a,o,cS(n.get(`symbolOffset`),f),s,d.valueLineWidth,d.boundingLength,d.repeatCutLength,r,d),d}function eJ(e,t,n,r,i){var a=r.valueDim,o=e.get(`symbolBoundingData`),s=r.coordSys.getOtherAxis(r.coordSys.getBaseAxis()),c=s.toGlobalCoord(s.dataToCoord(0)),l=1-(n[a.wh]<=0),u;if(B(o)){var d=[tJ(s,o[0])-c,tJ(s,o[1])-c];d[1]=0?1:-1:u>0?1:-1}function tJ(e,t){return e.toGlobalCoord(e.dataToCoord(e.scale.parse(t)))}function nJ(e,t,n,r,i,a,o,s,c,l){var u=c.valueDim,d=c.categoryDim,f=Math.abs(n[d.wh]),p=e.getItemVisual(t,`symbolSize`),m=B(p)?p.slice():p==null?[`100%`,`100%`]:[p,p];m[d.index]=X(m[d.index],f),m[u.index]=X(m[u.index],r?f:Math.abs(a)),l.symbolSize=m;var h=l.symbolScale=[m[0]/s,m[1]/s];h[u.index]*=(c.isHorizontal?-1:1)*o}function rJ(e,t,n,r,i){var a=e.get(Yq)||0;a&&(Zq.attr({scaleX:t[0],scaleY:t[1],rotation:n}),Zq.updateTransform(),a/=Zq.getLineScale(),a*=t[r.valueDim.index]),i.valueLineWidth=a||0}function iJ(e,t,n,r,i,a,o,s,c,l,u,d){var f=u.categoryDim,p=u.valueDim,m=d.pxSign,h=Math.max(t[p.index]+s,0),g=h;if(r){var _=Math.abs(c),v=je(e.get(`symbolMargin`),`15%`)+``,y=!1;v.lastIndexOf(`!`)===v.length-1&&(y=!0,v=v.slice(0,v.length-1));var b=X(v,t[p.index]),x=Math.max(h+b*2,0),S=y?0:b*2,C=is(r),w=C?r:bJ((_+S)/x);b=(_-w*h)/2/(y?w:Math.max(w-1,1)),x=h+b*2,S=y?0:b*2,!C&&r!==`fixed`&&(w=l?bJ((Math.abs(l)+S)/x):0),g=w*x-S,d.repeatTimes=w,d.symbolMargin=b}var T=g/2*m,E=d.pathPosition=[];E[f.index]=n[f.wh]/2,E[p.index]=o===`start`?T:o===`end`?c-T:c/2,a&&(E[0]+=a[0],E[1]+=a[1]);var D=d.bundlePosition=[];D[f.index]=n[f.xy],D[p.index]=n[p.xy];var O=d.barRectShape=P({},n);O[p.wh]=m*Math.max(Math.abs(n[p.wh]),Math.abs(E[p.index]+T)),O[f.wh]=n[f.wh];var k=d.clipShape={};k[f.xy]=-n[f.xy],k[f.wh]=u.ecSize[f.wh],k[p.xy]=0,k[p.wh]=n[p.wh]}function aJ(e){var t=e.symbolPatternSize,n=oS(e.symbolType,-t/2,-t/2,t,t);return n.attr({culling:!0}),n.type!==`image`&&n.setStyle({strokeNoScale:!0}),n}function oJ(e,t,n,r){var i=e.__pictorialBundle,a=n.symbolSize,o=n.valueLineWidth,s=n.pathPosition,c=t.valueDim,l=n.repeatTimes||0,u=0,d=a[t.valueDim.index]+o+n.symbolMargin*2;for(_J(e,function(e){e.__pictorialAnimationIndex=u,e.__pictorialRepeatTimes=l,u0:r<0)&&(i=l-1-e),t[c.index]=d*(i-l/2+.5)+s[c.index],{x:t[0],y:t[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function sJ(e,t,n,r){var i=e.__pictorialBundle,a=e.__pictorialMainPath;a?vJ(a,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,r):(a=e.__pictorialMainPath=aJ(n),i.add(a),vJ(a,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,r))}function cJ(e,t,n){var r=P({},t.barRectShape),i=e.__pictorialBarRect;i?vJ(i,null,{shape:r},t,n):(i=e.__pictorialBarRect=new Iu({z2:2,shape:r,silent:!0,style:{stroke:`transparent`,fill:`transparent`,lineWidth:0}}),i.disableMorphing=!0,e.add(i))}function lJ(e,t,n,r){if(n.symbolClip){var i=e.__pictorialClipPath,a=P({},n.clipShape),o=t.valueDim,s=n.animationModel,c=n.dataIndex;if(i)Yp(i,{shape:a},s,c);else{a[o.wh]=0,i=new Iu({shape:a}),e.__pictorialBundle.setClipPath(i),e.__pictorialClipPath=i;var l={};l[o.wh]=n.clipShape[o.wh],rm[r?`updateProps`:`initProps`](i,{shape:l},s,c)}}}function uJ(e,t){var n=e.getItemModel(t);return n.getAnimationDelayParams=dJ,n.isAnimationEnabled=fJ,n}function dJ(e){return{index:e.__pictorialAnimationIndex,count:e.__pictorialRepeatTimes}}function fJ(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow(`animation`)}function pJ(e,t,n,r){var i=new Y,a=new Y;return i.add(a),i.__pictorialBundle=a,a.x=n.bundlePosition[0],a.y=n.bundlePosition[1],n.symbolRepeat?oJ(i,t,n):sJ(i,t,n),cJ(i,n,r),lJ(i,t,n,r),i.__pictorialShapeStr=gJ(e,n),i.__pictorialSymbolMeta=n,i}function mJ(e,t,n){var r=n.animationModel,i=n.dataIndex,a=e.__pictorialBundle;Yp(a,{x:n.bundlePosition[0],y:n.bundlePosition[1]},r,i),n.symbolRepeat?oJ(e,t,n,!0):sJ(e,t,n,!0),cJ(e,n,!0),lJ(e,t,n,!0)}function hJ(e,t,n,r){var i=r.__pictorialBarRect;i&&i.removeTextContent();var a=[];_J(r,function(e){a.push(e)}),r.__pictorialMainPath&&a.push(r.__pictorialMainPath),r.__pictorialClipPath&&(n=null),L(a,function(e){Qp(e,{scaleX:0,scaleY:0},n,t,function(){r.parent&&r.parent.remove(r)})}),e.setItemGraphicEl(t,null)}function gJ(e,t){return[e.getItemVisual(t.dataIndex,`symbol`)||`none`,!!t.symbolRepeat,!!t.symbolClip].join(`:`)}function _J(e,t,n){L(e.__pictorialBundle.children(),function(r){r!==e.__pictorialBarRect&&t.call(n,r)})}function vJ(e,t,n,r,i,a){t&&e.attr(t),r.symbolClip&&!i?n&&e.attr(n):n&&rm[i?`updateProps`:`initProps`](e,n,r.animationModel,r.dataIndex,a)}function yJ(e,t,n){var r=n.dataIndex,i=n.itemModel,a=i.getModel(`emphasis`),o=a.getModel(`itemStyle`).getItemStyle(),s=i.getModel([`blur`,`itemStyle`]).getItemStyle(),c=i.getModel([`select`,`itemStyle`]).getItemStyle(),l=i.getShallow(`cursor`),u=a.get(`focus`),d=a.get(`blurScope`),f=a.get(`scale`);_J(e,function(e){if(e instanceof Ou){var t=e.style;e.useStyle(P({image:t.image,x:t.x,y:t.y,width:t.width,height:t.height},n.style))}else e.useStyle(n.style);var r=e.ensureState(`emphasis`);r.style=o,f&&(r.scaleX=e.scaleX*1.1,r.scaleY=e.scaleY*1.1),e.ensureState(`blur`).style=s,e.ensureState(`select`).style=c,l&&(e.cursor=l),e.z2=n.z2});var p=t.valueDim.posDesc[+(n.boundingLength>0)],m=e.__pictorialBarRect;m.ignoreClip=!0,eh(m,th(i),{labelFetcher:t.seriesModel,labelDataIndex:r,defaultText:jj(t.seriesModel.getData(),r),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:p}),ff(e,u,d,a.get(`disabled`))}function bJ(e){var t=Math.round(e);return Math.abs(e-t)<1e-4?t:Math.ceil(e)}var xJ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.hasSymbolVisual=!0,n.defaultSymbol=`roundRect`,n}return t.prototype.getInitialData=function(t){return t.stack=null,e.prototype.getInitialData.apply(this,arguments)},t.type=`series.`+HN,t.dependencies=[`grid`],t.defaultOption=Ah(sP.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:Q.color.primary}}}),t}(sP);function SJ(e){e.registerChartView(Qq),e.registerSeriesModel(xJ),e.registerLayout(e.PRIORITY.VISUAL.LAYOUT,nP(HN)),e.registerLayout(e.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,rP(HN)),oP(e)}var CJ=2,wJ=`themeRiver`,TJ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t){e.prototype.init.apply(this,arguments),this.legendVisualProvider=new WP(z(this.getData,this),z(this.getRawData,this))},t.prototype.fixData=function(e){var t=e.length,n={},r=Zs(e,function(e){return n.hasOwnProperty(e[0]+``)||(n[e[0]+``]=-1),e[2]}),i=[];r.buckets.each(function(e,t){i.push({name:t,dataList:e})});for(var a=i.length,o=0;oa&&(a=s),r.push(s)}for(var l=0;la&&(a=d)}return{y0:i,max:a}}function MJ(e){e.registerChartView(EJ),e.registerSeriesModel(TJ),e.registerLayout(OJ),e.registerProcessor(HP(wJ))}var NJ=2,PJ=4,FJ=function(e){_(t,e);function t(t,n,r,i){var a=e.call(this)||this;a.z2=NJ,a.textConfig={inside:!0},Z(a).seriesIndex=n.seriesIndex;var o=new Vu({z2:PJ,silent:t.getModel().get([`label`,`silent`])});return a.setTextContent(o),a.updateData(!0,t,n,r,i),a}return t.prototype.updateData=function(e,t,n,r,i){this.node=t,t.piece=this,n||=this._seriesModel,r||=this._ecModel;var a=this;Z(a).dataIndex=t.dataIndex;var o=t.getModel(),s=o.getModel(`emphasis`),c=t.getLayout(),l=P({},c);l.label=null;var u=t.getVisual(`style`);u.lineJoin=`bevel`;var d=t.getVisual(`decal`);d&&(u.decal=YS(d,i)),P(l,hP(o.getModel(`itemStyle`),l,!0)),L(yd,function(e){var t=a.ensureState(e),n=o.getModel([e,`itemStyle`]);t.style=n.getItemStyle();var r=hP(n,l);r&&(t.shape=r)}),e?(a.setShape(l),a.shape.r=c.r0,Xp(a,{shape:{r:c.r}},n,t.dataIndex)):(Yp(a,{shape:l},n),tm(a)),a.useStyle(u),this._updateLabel(n);var f=o.getShallow(`cursor`);f&&a.attr(`cursor`,f),this._seriesModel=n||this._seriesModel,this._ecModel=r||this._ecModel;var p=s.get(`focus`),m=p===`relative`?We(t.getAncestorsIndices(),t.getDescendantIndices()):p===`ancestor`?t.getAncestorsIndices():p===`descendant`?t.getDescendantIndices():p;ff(this,m,s.get(`blurScope`),s.get(`disabled`))},t.prototype._updateLabel=function(e){var t=this,n=this.node.getModel(),r=n.getModel(`label`),i=this.node.getLayout(),a=i.endAngle-i.startAngle,o=(i.startAngle+i.endAngle)/2,s=Math.cos(o),c=Math.sin(o),l=this,u=l.getTextContent(),d=this.node.dataIndex,f=r.get(`minAngle`)/180*Math.PI;u.ignore=!(r.get(`show`)&&!(f!=null&&Math.abs(a)T&&!Yo(D-T)&&D0?(i.virtualPiece?i.virtualPiece.updateData(!1,r,e,t,n):(i.virtualPiece=new FJ(r,e,t,n),c.add(i.virtualPiece)),a.piece.off(`click`),i.virtualPiece.on(`click`,function(e){i._rootToNode(a.parentNode)})):i.virtualPiece&&=(c.remove(i.virtualPiece),null)}},t.prototype._initEvents=function(){var e=this;this.group.off(`click`),this.group.on(`click`,function(t){var n=!1;e.seriesModel.getViewRoot().eachNode(function(r){if(!n&&r.piece&&r.piece===t.target){var i=r.getModel().get(`nodeClick`);if(i===`rootToNode`)e._rootToNode(r);else if(i===`link`){var a=r.getModel(),o=a.get(`link`);o&&Vg(o,a.get(`target`,!0)||`_blank`)}n=!0}})})},t.prototype._rootToNode=function(e){e!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:zJ,from:this.uid,seriesId:this.seriesModel.id,targetNode:e})},t.prototype.containPoint=function(e,t){var n=t.getData().getItemLayout(0);if(n){var r=e[0]-n.cx,i=e[1]-n.cy,a=Math.sqrt(r*r+i*i);return a<=n.r&&a>=n.r0}},t.type=IJ,t}(Rb),WJ=_c(IJ,GJ);function GJ(e){var t={};function n(e,n,r){if(e.depth===0)return Q.color.neutral50;for(var i=e;i&&i.depth>1;)i=i.parentNode;var a=n.getColorFromPalette(i.name||i.dataIndex+``,t);return e.depth>1&&H(a)&&(a=Yr(a,(e.depth-1)/(r-1)*.5)),a}e.eachSeriesByType(IJ,function(e){var t=e.getData(),r=t.tree;r.eachNode(function(i){var a=i.getModel().getModel(`itemStyle`).getItemStyle();a.fill||=n(i,e,r.root.height),P(t.ensureUniqueItemVisual(i.dataIndex,`style`),a)})})}var KJ=Math.PI/180,qJ=_c(IJ,JJ);function JJ(e,t){e.eachSeriesByType(IJ,function(e){var n=e.get(`center`),r=e.get(`radius`);B(r)||(r=[0,r]),B(n)||(n=[n,n]);var i=t.getWidth(),a=t.getHeight(),o=Math.min(i,a),s=X(n[0],i),c=X(n[1],a),l=X(r[0],o/2),u=X(r[1],o/2),d=-e.get(`startAngle`)*KJ,f=e.get(`minAngle`)*KJ,p=e.getData().tree.root,m=e.getViewRoot(),h=m.depth,g=e.get(`sort`);g!=null&&YJ(m,g);var _=0;L(m.children,function(e){!isNaN(e.getValue())&&_++});var v=m.getValue(),y=Math.PI/(v||_)*2,b=m.depth>0,x=m.height-(b?-1:1),S=(u-l)/(x||1),C=e.get(`clockwise`),w=e.get(`stillShowZeroSum`),T=C?1:-1,E=function(t,n){if(t){var r=n;if(t!==p){var i=t.getValue(),a=v===0&&w?y:i*y;ar[1]&&r.reverse(),{coordSys:{type:`polar`,cx:e.cx,cy:e.cy,r:r[1],r0:r[0]},api:{coord:function(r){var i=t.dataToRadius(r[0]),a=n.dataToAngle(r[1]),o=e.coordToPoint([i,a]);return o.push(i,a*Math.PI/180),o},size:z(cY,e)}}}function uY(e){var t=e.getRect(),n=e.getRangeInfo();return{coordSys:{type:`calendar`,x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:e.getCellWidth(),cellHeight:e.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(t,n){return e.dataToPoint(t,n)},layout:function(t,n){return e.dataToLayout(t,n)}}}}function dY(e){var t=e.getRect();return{coordSys:{type:`matrix`,x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(t,n){return e.dataToPoint(t,n)},layout:function(t,n){return e.dataToLayout(t,n)}}}}var fY={position:[`x`,`y`],scale:[`scaleX`,`scaleY`],origin:[`originX`,`originY`]},pY=ye(fY);ge(ja,function(e,t){return e[t]=1,e},{}),ja.join(`, `);var mY=[``,`style`,`shape`,`extra`],hY=Bs();function gY(e,t,n,r,i){var a=e+`Animation`,o=qp(e,r,i)||{},s=hY(t).userDuring;return o.duration>0&&(o.during=s?z(EY,{el:t,userDuring:s}):null,o.setToFinal=!0,o.scope=e),P(o,n[a]),o}function _Y(e,t,n,r){r||={};var i=r.dataIndex,a=r.isInit,o=r.clearStyle,s=n.isAnimationEnabled(),c=hY(e),l=t.style;c.userDuring=t.during;var u={},d={};if(AY(e,t,d),e.type===`compound`)for(var f=e.shape.paths,p=t.shape.paths,m=0;m0&&e.animateFrom(g,_)}else SY(e,t,i||0,n,u);vY(e,t),l?e.dirty():e.markRedraw()}function vY(e,t){for(var n=hY(e).leaveToProps,r=0;r0&&e.animateFrom(i,a)}}function CY(e,t){K(t,`silent`)&&(e.silent=t.silent),K(t,`ignore`)&&(e.ignore=t.ignore),e instanceof ml&&K(t,`invisible`)&&(e.invisible=t.invisible),e instanceof Su&&K(t,`autoBatch`)&&(e.autoBatch=t.autoBatch)}var wY={},TY={setTransform:function(e,t){return wY.el[e]=t,this},getTransform:function(e){return wY.el[e]},setShape:function(e,t){var n=wY.el,r=n.shape||={};return r[e]=t,n.dirtyShape&&n.dirtyShape(),this},getShape:function(e){var t=wY.el.shape;if(t)return t[e]},setStyle:function(e,t){var n=wY.el,r=n.style;return r&&(r[e]=t,n.dirtyStyle&&n.dirtyStyle()),this},getStyle:function(e){var t=wY.el.style;if(t)return t[e]},setExtra:function(e,t){var n=wY.el.extra||(wY.el.extra={});return n[e]=t,this},getExtra:function(e){var t=wY.el.extra;if(t)return t[e]}};function EY(){var e=this,t=e.el;if(t){var n=hY(t).userDuring,r=e.userDuring;if(n!==r){e.el=e.userDuring=null;return}wY.el=t,r(TY)}}function DY(e,t,n,r){var i=n[e];if(i){var a=t[e],o;if(a){var s=n.transition,c=i.transition;if(c)if(!o&&(o=r[e]={}),bY(c))P(o,a);else for(var l=vs(c),u=0;u=0){!o&&(o=r[e]={});for(var p=ye(a),u=0;u=0)){var f=e.getAnimationStyleProps(),p=f?f.style:null;if(p){!a&&(a=r.style={});for(var m=ye(n),l=0;l=0?t.getStore().get(i,n):void 0}var a=t.get(r.name,n),o=r&&r.ordinalMeta;return o?o.categories[a]:a}function C(n,r){r??=u;var i=t.getItemVisual(r,`style`),a=i&&i.fill,o=i&&i.opacity,s=y(r,RY).getItemStyle();a!=null&&(s.fill=a),o!=null&&(s.opacity=o);var c={inheritColor:H(a)?a:Q.color.neutral99},l=b(r,RY),d=nh(l,null,c,!1,!0);d.text=l.getShallow(`show`)?W(e.getFormattedLabel(r,RY),jj(t,r)):null;var f=rh(l,c,!1);return E(n,s),s=pM(s,d,f),n&&T(s,n),s.legacy=!0,s}function w(n,r){r??=u;var i=y(r,LY).getItemStyle(),a=b(r,LY),o=nh(a,null,null,!0,!0);o.text=a.getShallow(`show`)?Me(e.getFormattedLabel(r,LY),e.getFormattedLabel(r,RY),jj(t,r)):null;var s=rh(a,null,!0);return E(n,i),i=pM(i,o,s),n&&T(i,n),i.legacy=!0,i}function T(e,t){for(var n in t)K(t,n)&&(e[n]=t[n])}function E(e,t){e&&(e.textFill&&(t.textFill=e.textFill),e.textPosition&&(t.textPosition=e.textPosition))}function D(e,n){if(n??=u,K(QJ,e)){var r=t.getItemVisual(n,`style`);return r?r[QJ[e]]:null}if(K($J,e))return t.getItemVisual(n,e)}function O(e){if(o.type===`cartesian2d`)return QN(F({axis:o.getBaseAxis()},e))}function k(){return n.getCurrentSeriesIndices()}function A(e){return uh(e,n)}}function iX(e){var t={};return L(e.dimensions,function(n){var r=e.getDimensionInfo(n);if(!r.isExtraCoord){var i=r.coordDim,a=t[i]=t[i]||[];a[r.coordDimIndex]=e.getDimensionIndex(n)}}),t}function aX(e,t,n,r,i,a,o){if(!r){a.remove(t);return}var s=oX(e,t,n,r,i,a);return s&&o.setItemGraphicEl(n,s),s&&ff(s,r.focus,r.blurScope,r.emphasisDisabled),s}function oX(e,t,n,r,i,a){var o=-1,s=t;t&&sX(t,r,i)&&(o=I(a.childrenRef(),t),t=null);var c=!t,l=t;l?l.clearStates():(l=QY(r),s&&XY(s,l)),r.morph===!1?l.disableMorphing=!0:l.disableMorphing&&=!1,r.tooltipDisabled&&(l.tooltipDisabled=!0),KY.normal.cfg=KY.normal.conOpt=KY.emphasis.cfg=KY.emphasis.conOpt=KY.blur.cfg=KY.blur.conOpt=KY.select.cfg=KY.select.conOpt=null,KY.isLegacy=!1,lX(l,n,r,i,c,KY),cX(l,n,r,i,c),$Y(e,l,n,r,KY,i,c),K(r,`info`)&&(eY(l).info=r.info);for(var u=0;u=0?a.replaceAt(l,o):a.add(l),l}function sX(e,t,n){var r=eY(e),i=t.type,a=t.shape,o=t.style;return n.isUniversalTransitionEnabled()||i!=null&&i!==r.customGraphicType||i===`path`&&bX(a)&&yX(a)!==r.customPathData||i===`image`&&K(o,`image`)&&o.image!==r.customImagePath}function cX(e,t,n,r,i){var a=n.clipPath;if(a===!1)e&&e.getClipPath()&&e.removeClipPath();else if(a){var o=e.getClipPath();o&&sX(o,a,r)&&(o=null),o||(o=QY(a),e.setClipPath(o)),$Y(null,o,t,a,null,r,i)}}function lX(e,t,n,r,i,a){if(!(e.isGroup||e.type===`compoundPath`)){uX(n,null,a),uX(n,LY,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,c=a.blur.conOpt,l=a.select.conOpt;if(o!=null||s!=null||l!=null||c!=null){var u=e.getTextContent();if(o===!1)u&&e.removeTextContent();else{o=a.normal.conOpt=o||{type:`text`},u?u.clearStates():(u=QY(o),e.setTextContent(u)),$Y(null,u,t,o,null,r,i);for(var d=o&&o.style,f=0;f=u;p--)mX(t,t.childAt(p),i)}}function mX(e,t,n){t&&yY(t,eY(e).option,n)}function hX(e){new Rw(e.oldChildren,e.newChildren,gX,gX,e).add(_X).update(_X).remove(vX).execute()}function gX(e,t){return(e&&e.name)??GY+t}function _X(e,t){var n=this.context,r=e==null?null:n.newChildren[e],i=t==null?null:n.oldChildren[t];oX(n.api,i,n.dataIndex,r,n.seriesModel,n.group)}function vX(e){var t=this.context,n=t.oldChildren[e];n&&yY(n,eY(n).option,t.seriesModel)}function yX(e){return e&&(e.pathData||e.d)}function bX(e){return e&&(K(e,`pathData`)||K(e,`d`))}function xX(e){e.registerChartView(ZY),e.registerSeriesModel(tY)}var SX=Bs(),CX=M,wX=z,TX=function(){function e(){this._dragging=!1,this.animationThreshold=15}return e.prototype.render=function(e,t,n,r){var i=t.get(`value`),a=t.get(`status`);if(this._axisModel=e,this._axisPointerModel=t,this._api=n,!(!r&&this._lastValue===i&&this._lastStatus===a)){this._lastValue=i,this._lastStatus=a;var o=this._group,s=this._handle;if(!a||a===`hide`){o&&o.hide(),s&&s.hide();return}o&&o.show(),s&&s.show();var c={};this.makeElOption(c,i,e,t,n);var l=c.graphicKey;l!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=l;var u=this._moveAnimation=this.determineAnimation(e,t);if(!o)o=this._group=new Y,this.createPointerEl(o,c,e,t),this.createLabelEl(o,c,e,t),n.getZr().add(o);else{var d=xe(EX,t,u);this.updatePointerEl(o,c,d),this.updateLabelEl(o,c,d,t)}AX(o,t,!0),this._renderHandle(i)}},e.prototype.remove=function(e){this.clear(e)},e.prototype.dispose=function(e){this.clear(e)},e.prototype.determineAnimation=function(e,t){var n=t.get(`animation`),r=e.axis,i=r.type===`category`,a=t.get(`snap`);if(!a&&!i)return!1;if(n===`auto`||n==null){var o=this.animationThreshold;if(i&&CO(r).w>o)return!0;if(a){var s=eI(e).seriesDataCount,c=r.getExtent();return Math.abs(c[0]-c[1])/s>o}return!1}return n===!0},e.prototype.makeElOption=function(e,t,n,r,i){},e.prototype.createPointerEl=function(e,t,n,r){var i=t.pointer;if(i){var a=SX(e).pointerEl=new rm[i.type](CX(t.pointer));e.add(a)}},e.prototype.createLabelEl=function(e,t,n,r){if(t.label){var i=SX(e).labelEl=new Vu(CX(t.label));e.add(i),OX(i,r)}},e.prototype.updatePointerEl=function(e,t,n){var r=SX(e).pointerEl;r&&t.pointer&&(r.setStyle(t.pointer.style),n(r,{shape:t.pointer.shape}))},e.prototype.updateLabelEl=function(e,t,n,r){var i=SX(e).labelEl;i&&(i.setStyle(t.label.style),n(i,{x:t.label.x,y:t.label.y}),OX(i,r))},e.prototype._renderHandle=function(e){if(!(this._dragging||!this.updateHandleTransform)){var t=this._axisPointerModel,n=this._api.getZr(),r=this._handle,i=t.getModel(`handle`),a=t.get(`status`);if(!i.get(`show`)||!a||a===`hide`){r&&n.remove(r),this._handle=null;return}var o;this._handle||(o=!0,r=this._handle=Om(i.get(`icon`),{cursor:`move`,draggable:!0,onmousemove:function(e){Ut(e.event)},onmousedown:wX(this._onHandleDragMove,this,0,0),drift:wX(this._onHandleDragMove,this),ondragend:wX(this._onHandleDragEnd,this)}),n.add(r)),AX(r,t,!1),r.setStyle(i.getItemStyle(null,[`color`,`borderColor`,`borderWidth`,`opacity`,`shadowColor`,`shadowBlur`,`shadowOffsetX`,`shadowOffsetY`]));var s=i.get(`size`);B(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,Jb(this,`_doDispatchAxisPointer`,i.get(`throttle`)||0,`fixRate`),this._moveHandleToValue(e,o)}},e.prototype._moveHandleToValue=function(e,t){EX(this._axisPointerModel,!t&&this._moveAnimation,this._handle,kX(this.getHandleTransform(e,this._axisModel,this._axisPointerModel)))},e.prototype._onHandleDragMove=function(e,t){var n=this._handle;if(n){this._dragging=!0;var r=this.updateHandleTransform(kX(n),[e,t],this._axisModel,this._axisPointerModel);this._payloadInfo=r,n.stopAnimation(),n.attr(kX(r)),SX(n).lastProp=null,this._doDispatchAxisPointer()}},e.prototype._doDispatchAxisPointer=function(){if(this._handle){var e=this._payloadInfo,t=this._axisModel;this._api.dispatchAction({type:`updateAxisPointer`,x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:t.axis.dim,axisIndex:t.componentIndex}]})}},e.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get(`value`);this._moveHandleToValue(e),this._api.dispatchAction({type:`hideTip`})}},e.prototype.clear=function(e){this._lastValue=null,this._lastStatus=null;var t=e.getZr(),n=this._group,r=this._handle;t&&n&&(this._lastGraphicKey=null,n&&t.remove(n),r&&t.remove(r),this._group=null,this._handle=null,this._payloadInfo=null),Yb(this,`_doDispatchAxisPointer`)},e.prototype.doClear=function(){},e.prototype.buildLabel=function(e,t,n){return n||=0,{x:e[n],y:e[1-n],width:t[n],height:t[1-n]}},e}();function EX(e,t,n,r){DX(SX(n).lastProp,r)||(SX(n).lastProp=r,t?Yp(n,r,e):(n.stopAnimation(),n.attr(r)))}function DX(e,t){if(U(e)&&U(t)){var n=!0;return L(t,function(t,r){n&&=DX(e[r],t)}),!!n}else return e===t}function OX(e,t){e[t.get([`label`,`show`])?`show`:`hide`]()}function kX(e){return{x:e.x||0,y:e.y||0,rotation:e.rotation||0}}function AX(e,t,n){var r=t.get(`z`),i=t.get(`zlevel`);e&&e.traverse(function(e){e.type!==`group`&&(r!=null&&(e.z=r),i!=null&&(e.zlevel=i),e.silent=n)})}function jX(e){var t=e.get(`type`),n=e.getModel(t+`Style`),r;return t===`line`?(r=n.getLineStyle(),r.fill=null):t===`shadow`&&(r=n.getAreaStyle(),r.stroke=null),r}function MX(e,t,n,r,i){var a=PX(n.get(`value`),t.axis,t.ecModel,n.get(`seriesDataIndices`),{precision:n.get([`label`,`precision`]),formatter:n.get([`label`,`formatter`])}),o=n.getModel(`label`),s=Ng(o.get(`padding`)||0),c=o.getFont(),l=Va(a,c),u=i.position,d=l.width+s[1]+s[3],f=l.height+s[0]+s[2],p=i.align;p===`right`&&(u[0]-=d),p===`center`&&(u[0]-=d/2);var m=i.verticalAlign;m===`bottom`&&(u[1]-=f),m===`middle`&&(u[1]-=f/2),NX(u,d,f,r);var h=o.get(`backgroundColor`);(!h||h===`auto`)&&(h=t.get([`axisLine`,`lineStyle`,`color`])),e.label={x:u[0],y:u[1],style:nh(o,{text:a,font:c,fill:o.getTextColor(),padding:s,backgroundColor:h}),z2:10}}function NX(e,t,n,r){var i=r.getWidth(),a=r.getHeight();e[0]=Math.min(e[0]+t,i)-t,e[1]=Math.min(e[1]+n,a)-n,e[0]=Math.max(e[0],0),e[1]=Math.max(e[1],0)}function PX(e,t,n,r,i){e=t.scale.parse(e);var a=t.scale.getLabel({value:e},{precision:i.precision}),o=i.formatter;if(o){var s={value:PE(t,{value:e}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};L(r,function(e){var t=n.getSeriesByIndex(e.seriesIndex),r=e.dataIndexInside,i=t&&t.getDataParams(r);i&&s.seriesData.push(i)}),H(o)?a=o.replace(`{value}`,a):V(o)&&(a=o(s))}return a}function FX(e,t,n){var r=Yt();return en(r,r,n.rotation),$t(r,r,n.position),xm([e.dataToCoord(t),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],r)}function IX(e,t,n,r,i,a){var o=cN.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=i.get([`label`,`margin`]),MX(t,r,i,a,{position:FX(r.axis,e,n),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function LX(e,t,n){return n||=0,{x1:e[n],y1:e[1-n],x2:t[n],y2:t[1-n]}}function RX(e,t,n){return n||=0,{x:e[n],y:e[1-n],width:t[n],height:t[1-n]}}function zX(e,t,n,r,i,a){return{cx:e,cy:t,r0:n,r,startAngle:i,endAngle:a,clockwise:!0}}function BX(e,t,n){return CO(e,{fromStat:{sers:R(t,function(e){return n.getSeriesByIndex(e.seriesIndex)})},min:1}).w}function VX(e,t,n){return[To(wo(t[0],t[1]),e-n/2),wo(e+n/2,To(t[0],t[1]))]}var HX=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,t,n,r,i){var a=n.axis,o=a.grid,s=r.get(`type`),c=a.getGlobalExtent(),l=UX(o,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(t,!0));if(s&&s!==`none`){var d=jX(r),f=WX[s](a,u,c,l,r.get(`seriesDataIndices`),r.ecModel);f.style=d,e.graphicKey=f.type,e.pointer=f}IX(t,e,kN(o.getRect(),n),n,r,i)},t.prototype.getHandleTransform=function(e,t,n){var r=kN(t.axis.grid.getRect(),t,{labelInside:!1});r.labelMargin=n.get([`handle`,`margin`]);var i=FX(t.axis,e,r);return{x:i[0],y:i[1],rotation:r.rotation+(r.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,t,n,r){var i=n.axis,a=i.grid,o=i.getGlobalExtent(!0),s=UX(a,i).getOtherAxis(i).getGlobalExtent(),c=i.dim===`x`?0:1,l=[e.x,e.y];l[c]+=t[c],l[c]=wo(o[1],l[c]),l[c]=To(o[0],l[c]);var u=(s[1]+s[0])/2,d=[u,u];return d[c]=l[c],{x:l[0],y:l[1],rotation:e.rotation,cursorPoint:d,tooltipOption:[{verticalAlign:`middle`},{align:`center`}][c]}},t}(TX);function UX(e,t){var n={};return n[t.dim+`AxisIndex`]=t.index,e.getCartesian(n)}var WX={line:function(e,t,n,r){return{type:`Line`,subPixelOptimize:!0,shape:LX([t,r[0]],[t,r[1]],GX(e))}},shadow:function(e,t,n,r,i,a){var o=BX(e,i,a),s=r[1]-r[0],c=VX(t,n,o),l=c[0],u=c[1];return{type:`Rect`,shape:RX([l,r[0]],[u-l,s],GX(e))}}};function GX(e){return e.dim===`x`?0:1}var KX=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`axisPointer`,t.defaultOption={show:`auto`,z:50,type:`line`,snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:Q.color.border,width:1,type:`dashed`},shadowStyle:{color:Q.color.shadowTint},label:{show:!0,formatter:null,precision:`auto`,margin:3,color:Q.color.neutral00,padding:[5,7,5,7],backgroundColor:Q.color.accent60,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:Q.color.accent40,throttle:40}},t}(__),qX=Bs(),JX=L;function YX(e,t,n){if(!y.node){var r=t.getZr();qX(r).records||(qX(r).records={}),XX(r,t);var i=qX(r).records[e]||(qX(r).records[e]={});i.handler=n}}function XX(e,t){if(qX(e).initialized)return;qX(e).initialized=!0,n(`click`,xe($X,`click`)),n(`mousemove`,xe($X,`mousemove`)),n(`mousewheel`,xe($X,`mousewheel`)),n(`globalout`,QX);function n(n,r){e.on(n,function(n){var i=eZ(t);JX(qX(e).records,function(e){e&&r(e,n,i.dispatchAction)}),ZX(i.pendings,t)})}}function ZX(e,t){var n=e.showTip.length,r=e.hideTip.length,i;n?i=e.showTip[n-1]:r&&(i=e.hideTip[r-1]),i&&(i.dispatchAction=null,t.dispatchAction(i))}function QX(e,t,n){e.handler(`leave`,null,n)}function $X(e,t,n,r){t.handler(e,n,r)}function eZ(e){var t={showTip:[],hideTip:[]},n=function(r){var i=t[r.type];i?i.push(r):(r.dispatchAction=n,e.dispatchAction(r))};return{dispatchAction:n,pendings:t}}function tZ(e,t){if(!y.node){var n=t.getZr();(qX(n).records||{})[e]&&(qX(n).records[e]=null)}}var nZ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){var r=t.getComponent(`tooltip`),i=e.get(`triggerOn`)||r&&r.get(`triggerOn`)||`mousemove|click|mousewheel`;YX(`axisPointer`,n,function(e,t,n){i!==`none`&&(e===`leave`||i.indexOf(e)>=0)&&n({type:`updateAxisPointer`,currTrigger:e,x:t&&t.offsetX,y:t&&t.offsetY})})},t.prototype.remove=function(e,t){tZ(`axisPointer`,t)},t.prototype.dispose=function(e,t){tZ(`axisPointer`,t)},t.type=`axisPointer`,t}(Pb);function rZ(e,t){var n=[],r=e.seriesIndex,i;if(r==null||!(i=t.getSeriesByIndex(r)))return{point:[]};var a=i.getData(),o=zs(a,e);if(o==null||o<0||B(o))return{point:[]};var s=a.getItemGraphicEl(o),c=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(o)||[];else if(c&&c.dataToPoint)if(e.isStacked){var l=c.getBaseAxis(),u=c.getOtherAxis(l).dim,d=l.dim,f=+(u===`x`||u===`radius`),p=a.mapDimension(d),m=[];m[f]=a.get(p,o),m[1-f]=a.get(a.getCalculationInfo(`stackResultDimension`),o),n=c.dataToPoint(m)||[]}else n=c.dataToPoint(a.getValues(R(c.dimensions,function(e){return a.mapDimension(e)}),o))||[];else if(s){var h=s.getBoundingRect().clone();h.applyTransform(s.transform),n=[h.x+h.width/2,h.y+h.height/2]}return{point:n,el:s}}var iZ=Bs();function aZ(e,t,n){var r=e.currTrigger,i=[e.x,e.y],a=e,o=e.dispatchAction||z(n.dispatchAction,n),s=t.getComponent(`axisPointer`).coordSysAxesInfo;if(s){hZ(i)&&(i=rZ({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var c=hZ(i),l=a.axesInfo,u=s.axesInfo,d=r===`leave`||hZ(i),f={},p={},m={list:[],map:{}},h={showPointer:xe(cZ,p),showTooltip:xe(lZ,m)};L(s.coordSysMap,function(e,t){var n=c||e.containPoint(i);L(s.coordSysAxesInfo[t],function(e,t){var r=e.axis,a=pZ(l,e);if(!d&&n&&(!l||a)){var o=a&&a.value;o==null&&!c&&(o=r.pointToData(i)),o!=null&&oZ(e,o,h,!1,f)}})});var g={};return L(u,function(e,t){var n=e.linkGroup;n&&!p[t]&&L(n.axesInfo,function(t,r){var i=p[r];if(t!==e&&i){var a=i.value;n.mapper&&(a=e.axis.scale.parse(n.mapper(a,mZ(t),mZ(e)))),g[e.key]=a}})}),L(g,function(e,t){oZ(u[t],e,h,!0,f)}),uZ(p,u,f),dZ(m,i,e,o),fZ(u,o,n),f}}function oZ(e,t,n,r,i){var a=e.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!e.involveSeries){n.showPointer(e,t);return}var o=sZ(t,e),s=o.payloadBatch,c=o.snapToValue;s[0]&&i.seriesIndex==null&&P(i,s[0]),!r&&e.snap&&a.containData(c)&&c!=null&&(t=c),n.showPointer(e,t,s),n.showTooltip(e,o,c)}}function sZ(e,t){var n=t.axis,r=n.dim,i=e,a=[],o=Number.MAX_VALUE,s=-1;return L(t.seriesModels,function(t,c){var l=t.getData().mapDimensionsAll(r),u,d;if(t.getAxisTooltipData){var f=t.getAxisTooltipData(l,e,n);d=f.dataIndices,u=f.nestestValue}else{if(d=t.indicesOfNearest(r,l[0],e,n.type===`category`?.5:null),!d.length)return;u=t.getData().get(l[0],d[0])}if(cs(u)){var p=e-u,m=Math.abs(p);m<=o&&((m=0&&s<0)&&(o=m,s=p,i=u,a.length=0),L(d,function(e){a.push({seriesIndex:t.seriesIndex,dataIndexInside:e,dataIndex:t.getData().getRawIndex(e)})}))}}),{payloadBatch:a,snapToValue:i}}function cZ(e,t,n,r){e[t.key]={value:n,payloadBatch:r}}function lZ(e,t,n,r){var i=n.payloadBatch,a=t.axis,o=a.model,s=t.axisPointerModel;if(!(!t.triggerTooltip||!i.length)){var c=t.coordSys.model,l=rI(c),u=e.map[l];u||(u=e.map[l]={coordSysId:c.id,coordSysIndex:c.componentIndex,coordSysType:c.type,coordSysMainType:c.mainType,dataByAxis:[]},e.list.push(u)),u.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:r,valueLabelOpt:{precision:s.get([`label`,`precision`]),formatter:s.get([`label`,`formatter`])},seriesDataIndices:i.slice()})}}function uZ(e,t,n){var r=n.axesInfo=[];L(t,function(t,n){var i=t.axisPointerModel.option,a=e[n];a?(!t.useHandle&&(i.status=`show`),i.value=a.value,i.seriesDataIndices=(a.payloadBatch||[]).slice()):!t.useHandle&&(i.status=`hide`),i.status===`show`&&r.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:i.value})})}function dZ(e,t,n,r){if(hZ(t)||!e.list.length){r({type:`hideTip`});return}var i=((e.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};r({type:`showTip`,escapeConnect:!0,x:t[0],y:t[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:i.dataIndexInside,dataIndex:i.dataIndex,seriesIndex:i.seriesIndex,dataByCoordSys:e.list})}function fZ(e,t,n){var r=n.getZr(),i=`axisPointerLastHighlights`,a=iZ(r)[i]||{},o=iZ(r)[i]={};L(e,function(e,t){var n=e.axisPointerModel.option;n.status===`show`&&e.triggerEmphasis&&L(n.seriesDataIndices,function(e){o[e.seriesIndex+`|`+e.dataIndex]=e})});var s=[],c=[];function l(e){return{seriesIndex:e.seriesIndex,dataIndex:e.dataIndex}}L(a,function(e,t){!o[t]&&c.push(l(e))}),L(o,function(e,t){!a[t]&&s.push(l(e))}),c.length&&n.dispatchAction({type:`downplay`,escapeConnect:!0,notBlur:!0,batch:c}),s.length&&n.dispatchAction({type:`highlight`,escapeConnect:!0,notBlur:!0,batch:s})}function pZ(e,t){for(var n=0;n<(e||[]).length;n++){var r=e[n];if(t.axis.dim===r.axisDim&&t.axis.model.componentIndex===r.axisIndex)return r}}function mZ(e){var t=e.axis.model,n={},r=n.axisDim=e.axis.dim;return n.axisIndex=n[r+`AxisIndex`]=t.componentIndex,n.axisName=n[r+`AxisName`]=t.name,n.axisId=n[r+`AxisId`]=t.id,n}function hZ(e){return!e||e[0]==null||isNaN(e[0])||e[1]==null||isNaN(e[1])}function gZ(e){aI.registerAxisPointerClass(`CartesianAxisPointer`,HX),e.registerComponentModel(KX),e.registerComponentView(nZ),e.registerPreprocessor(function(e){if(e){(!e.axisPointer||e.axisPointer.length===0)&&(e.axisPointer={});var t=e.axisPointer.link;t&&!B(t)&&(e.axisPointer.link=[t])}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,{overallReset:function(e,t){e.getComponent(`axisPointer`).coordSysAxesInfo=qF(e,t)}}),e.registerAction({type:`updateAxisPointer`,event:`updateAxisPointer`,update:`:updateAxisPointer`},aZ)}function _Z(e){Fw(gI),Fw(gZ)}var vZ=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,t,n,r,i){var a=n.axis;a.dim===`angle`&&(this.animationThreshold=Math.PI/18);var o=a.polar,s=a.getExtent(),c=o.getOtherAxis(a).getExtent(),l=a.dataToCoord(t),u=r.get(`type`);if(u&&u!==`none`){var d=jX(r),f=bZ[u](a,o,l,s,c,r.get(`seriesDataIndices`),r.ecModel);f.style=d,e.graphicKey=f.type,e.pointer=f}MX(e,n,r,i,yZ(t,n,r,o,r.get([`label`,`margin`])))},t}(TX);function yZ(e,t,n,r,i){var a=t.axis,o=a.dataToCoord(e),s=r.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var c=r.getRadiusAxis().getExtent(),l,u,d;if(a.dim===`radius`){var f=Yt();en(f,f,s),$t(f,f,[r.cx,r.cy]),l=xm([o,-i],f);var p=t.getModel(`axisLabel`).get(`rotate`)||0,m=cN.innerTextLayout(s,p*Math.PI/180,-1);u=m.textAlign,d=m.textVerticalAlign}else{var h=c[1];l=r.coordToPoint([h+i,o]);var g=r.cx,_=r.cy;u=Math.abs(l[0]-g)/h<.3?`center`:l[0]>g?`left`:`right`,d=Math.abs(l[1]-_)/h<.3?`middle`:l[1]>_?`top`:`bottom`}return{position:l,align:u,verticalAlign:d}}var bZ={line:function(e,t,n,r,i){return e.dim===`angle`?{type:`Line`,shape:LX(t.coordToPoint([i[0],n]),t.coordToPoint([i[1],n]))}:{type:`Circle`,shape:{cx:t.cx,cy:t.cy,r:n}}},shadow:function(e,t,n,r,i,a,o){var s=Math.PI/180,c=BX(e,a,o),l;if(e.dim===`angle`)l=zX(t.cx,t.cy,i[0],i[1],(-n-c/2)*s,(-n+c/2)*s);else{var u=VX(n,r,c),d=u[0],f=u[1];l=zX(t.cx,t.cy,d,f,0,Math.PI*2)}return{type:`Sector`,shape:l}}},xZ=`polar`,SZ=xZ,CZ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.findAxisModel=function(e){var t;return this.ecModel.eachComponent(e,function(e){e.getCoordSysModel()===this&&(t=e)},this),t},t.type=xZ,t.dependencies=[`radiusAxis`,`angleAxis`],t.defaultOption={z:0,center:[`50%`,`50%`],radius:`80%`},t}(__),wZ=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents(`polar`,Ws).models[0]},t.type=`polarAxis`,t}(__);me(wZ,GE);var TZ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`angleAxis`,t}(wZ),EZ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`radiusAxis`,t}(wZ),DZ=function(e){_(t,e);function t(t,n){return e.call(this,`radius`,t,n)||this}return t.prototype.pointToData=function(e,t){return this.polar.pointToData(e,t)[this.dim===`radius`?0:1]},t}(DO);DZ.prototype.dataToRadius=DO.prototype.dataToCoord,DZ.prototype.radiusToData=DO.prototype.coordToData;var OZ=Bs(),kZ=function(e){_(t,e);function t(t,n){return e.call(this,`angle`,t,n||[0,360])||this}return t.prototype.pointToData=function(e,t){return this.polar.pointToData(e,t)[this.dim===`radius`?0:1]},t.prototype.calculateCategoryInterval=function(){var e=this,t=e.getLabelModel(),n=e.scale,r=n.getExtent(),i=n.count();if(r[1]-r[0]<1)return 0;var a=r[0],o=e.dataToCoord(a+1)-e.dataToCoord(a),s=Math.abs(o),c=Va(a==null?``:a+``,t.getFont(),`center`,`top`),l=Math.max(c.height,7)/s;isNaN(l)&&(l=1/0);var u=Math.max(0,Math.floor(l)),d=OZ(e.model),f=d.lastAutoInterval,p=d.lastTickCount;return f!=null&&p!=null&&Math.abs(f-u)<=1&&Math.abs(p-i)<=1&&f>u?u=f:(d.lastTickCount=i,d.lastAutoInterval=u),u},t}(DO);kZ.prototype.dataToAngle=DO.prototype.dataToCoord,kZ.prototype.angleToData=DO.prototype.coordToData;var AZ=[`radius`,`angle`],jZ=function(){function e(e){this.dimensions=AZ,this.type=xZ,this.cx=0,this.cy=0,this._radiusAxis=new DZ,this._angleAxis=new kZ,this.axisPointerEnabled=!0,this.name=e||``,this._radiusAxis.polar=this._angleAxis.polar=this}return e.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},e.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},e.prototype.getAxis=function(e){var t=`_`+e+`Axis`;return this[t]},e.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},e.prototype.getAxesByScale=function(e){var t=[],n=this._angleAxis,r=this._radiusAxis;return n.scale.type===e&&t.push(n),r.scale.type===e&&t.push(r),t},e.prototype.getAngleAxis=function(){return this._angleAxis},e.prototype.getRadiusAxis=function(){return this._radiusAxis},e.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},e.prototype.getBaseAxis=function(){return this.getAxesByScale(`ordinal`)[0]||this.getAxesByScale(`time`)[0]||this.getAngleAxis()},e.prototype.getTooltipAxes=function(e){var t=e!=null&&e!==`auto`?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},e.prototype.dataToPoint=function(e,t,n){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)],n)},e.prototype.pointToData=function(e,t,n){n||=[];var r=this.pointToCoord(e);return n[0]=this._radiusAxis.radiusToData(r[0],t),n[1]=this._angleAxis.angleToData(r[1],t),n},e.prototype.pointToCoord=function(e){var t=e[0]-this.cx,n=e[1]-this.cy,r=this.getAngleAxis(),i=r.getExtent(),a=Math.min(i[0],i[1]),o=Math.max(i[0],i[1]);r.inverse?a=o-360:o=a+360;var s=Math.sqrt(t*t+n*n);t/=s,n/=s;for(var c=Math.atan2(-n,t)/Math.PI*180,l=co;)c+=l*360;return[s,c]},e.prototype.coordToPoint=function(e,t){t||=[];var n=e[0],r=e[1]/180*Math.PI;return t[0]=Math.cos(r)*n+this.cx,t[1]=-Math.sin(r)*n+this.cy,t},e.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis().getExtent().slice();t[0]>t[1]&&t.reverse();var n=e.getExtent(),r=Math.PI/180,i=1e-4;return{cx:this.cx,cy:this.cy,r0:t[0],r:t[1],startAngle:-n[0]*r,endAngle:-n[1]*r,clockwise:e.inverse,contain:function(e,t){var n=e-this.cx,r=t-this.cy,a=n*n+r*r,o=this.r,s=this.r0;return o!==s&&a-i<=o*o&&a+i>=s*s},x:this.cx-t[1],y:this.cy-t[1],width:t[1]*2,height:t[1]*2}},e.prototype.convertToPixel=function(e,t,n){return MZ(t)===this?this.dataToPoint(n):null},e.prototype.convertFromPixel=function(e,t,n){return MZ(t)===this?this.pointToData(n):null},e}();function MZ(e){var t=e.seriesModel,n=e.polarModel;return n&&n.coordinateSystem||t&&t.coordinateSystem}function NZ(e,t,n){var r=t.get(`center`),i=l_(t,n).refContainer;e.cx=X(r[0],i.width)+i.x,e.cy=X(r[1],i.height)+i.y;var a=e.getRadiusAxis(),o=Math.min(i.width,i.height)/2,s=t.get(`radius`);s==null?s=[0,`100%`]:B(s)||(s=[0,s]);var c=[X(s[0],o),X(s[1],o)];a.inverse?a.setExtent(c[1],c[0]):a.setExtent(c[0],c[1])}function PZ(e,t){var n=this,r=n.getAngleAxis(),i=n.getRadiusAxis();if(SD(r,1),SD(i,1),PD(r),PD(i),r.type===`category`&&!r.onBand){var a=r.getExtent(),o=360/r.scale.count();r.inverse?a[1]+=o:a[1]-=o,r.setExtent(a[0],a[1])}}function FZ(e){return e.mainType===`angleAxis`}function IZ(e,t){if(e.type=OE(t),e.scale=kE(t,e.type,!1),e.onBand=WE(e.scale,t),e.inverse=t.get(`inverse`),FZ(t)){e.inverse=e.inverse!==t.get(`clockwise`);var n=t.get(`startAngle`),r=t.get(`endAngle`)??n+(e.inverse?-360:360);e.setExtent(n,r)}t.axis=e,e.model=t}var LZ={dimensions:AZ,create:function(e,t){var n=[];return e.eachComponent(SZ,function(e,r){var i=new jZ(r+``);i.update=PZ;var a=i.getRadiusAxis(),o=i.getAngleAxis(),s=e.findAxisModel(`radiusAxis`),c=e.findAxisModel(`angleAxis`);IZ(a,s),IZ(o,c),NZ(i,e,t),n.push(i),e.coordinateSystem=i,i.model=e}),e.eachSeries(function(e){if(e.get(`coordinateSystem`)===`polar`){var t=e.coordinateSystem=e.getReferringComponents(SZ,Ws).models[0].coordinateSystem;t&&(lD(t.getRadiusAxis(),e,xZ),lD(t.getAngleAxis(),e,xZ))}}),n}},RZ=[`axisLine`,`axisLabel`,`axisTick`,`minorTick`,`splitLine`,`minorSplitLine`,`splitArea`];function zZ(e,t,n){t[1]>t[0]&&(t=t.slice().reverse());var r=e.coordToPoint([t[0],n]),i=e.coordToPoint([t[1],n]);return{x1:r[0],y1:r[1],x2:i[0],y2:i[1]}}function BZ(e){return+!e.getRadiusAxis().inverse}function VZ(e){var t=e[0],n=e[e.length-1];t&&n&&Math.abs(Math.abs(t.coord-n.coord)-360)<1e-4&&e.pop()}var HZ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.axisPointerClass=`PolarAxisPointer`,n}return t.prototype.render=function(e,t){if(this.group.removeAll(),e.get(`show`)){var n=e.axis,r=n.polar,i=r.getRadiusAxis().getExtent(),a=n.getTicksCoords({breakTicks:`none`}),o=n.getMinorTicksCoords(),s=[];L(n.getViewLabels(),function(e){if(!e.tick.offInterval){e=M(e);var t=n.scale;e.coord=n.dataToCoord(UE(t,e.tick)),s.push(e)}}),VZ(s),VZ(a),L(RZ,function(t){e.get([t,`show`])&&(!n.scale.isBlank()||t===`axisLine`)&&UZ[t](this.group,e,r,a,o,i,s)},this)}},t.type=`angleAxis`,t}(aI),UZ={axisLine:function(e,t,n,r,i,a){var o=t.getModel([`axisLine`,`lineStyle`]),s=n.getAngleAxis(),c=Math.PI/180,l=s.getExtent(),u=BZ(n),d=+!u,f,p=Math.abs(l[1]-l[0])===360?`Circle`:`Arc`;f=a[d]===0?new rm[p]({shape:{cx:n.cx,cy:n.cy,r:a[u],startAngle:-l[0]*c,endAngle:-l[1]*c,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):new hp({shape:{cx:n.cx,cy:n.cy,r:a[u],r0:a[d]},style:o.getLineStyle(),z2:1,silent:!0}),f.style.fill=null,e.add(f)},axisTick:function(e,t,n,r,i,a){var o=t.getModel(`axisTick`),s=(o.get(`inside`)?-1:1)*o.get(`length`),c=a[BZ(n)],l=R(r,function(e){return new wp({shape:zZ(n,[c,c+s],e.coord)})});e.add(hm(l,{style:F(o.getModel(`lineStyle`).getLineStyle(),{stroke:t.get([`axisLine`,`lineStyle`,`color`])})}))},minorTick:function(e,t,n,r,i,a){if(i.length){for(var o=t.getModel(`axisTick`),s=t.getModel(`minorTick`),c=(o.get(`inside`)?-1:1)*s.get(`length`),l=a[BZ(n)],u=[],d=0;dm?`left`:`right`,_=Math.abs(p[1]-h)/f<.3?`middle`:p[1]>h?`top`:`bottom`;if(s&&s[d]){var v=s[d];U(v)&&v.textStyle&&(o=new Th(v.textStyle,c,c.ecModel))}var y=new Vu({silent:cN.isLabelSilent(t),style:nh(o,{x:p[0],y:p[1],fill:o.getTextColor()||t.get([`axisLine`,`lineStyle`,`color`]),text:r.formattedLabel,align:g,verticalAlign:_})});if(e.add(y),Im({el:y,componentModel:t,itemName:r.formattedLabel,formatterParamsExtra:{isTruncated:function(){return y.isTruncated},value:r.rawLabel,tickIndex:i}}),u){var b=cN.makeAxisEventDataBase(t);b.targetType=`axisLabel`,b.value=r.rawLabel,Z(y).eventData=b}},this)},splitLine:function(e,t,n,r,i,a){var o=t.getModel(`splitLine`).getModel(`lineStyle`),s=o.get(`color`),c=0;s=s instanceof Array?s:[s];for(var l=[],u=0;u=0?`p`:`n`,T=y;_&&(r[a][C]||(r[a][C]={p:y,n:y}),T=r[a][C][w]);var E=void 0,D=void 0,O=void 0,k=void 0;if(u.dim===`radius`){var A=u.dataToCoord(S)-y,j=e.dataToCoord(C);Eo(A)=k})}}function $Z(e,t){var n=BN(t,xZ),r=CO(e,{fromStat:{key:n},min:1}).w,i=r,a=0,o=`20%`,s=`30%`,c={};tD(e,n,function(e){var t=YZ(e);c[t]||a++,c[t]=c[t]||{width:0,maxWidth:0};var n=X(e.get(`barWidth`),r),l=X(e.get(`barMaxWidth`),r),u=e.get(`barGap`),d=e.get(`barCategoryGap`);n&&!c[t].width&&(n=wo(i,n),c[t].width=n,i-=n),l&&(c[t].maxWidth=l),u!=null&&(s=u),d!=null&&(o=d)});var l={},u=X(o,r),d=X(s,1),f=(i-u)/(a+(a-1)*d);f=To(f,0),L(c,function(e,t){var n=e.maxWidth;n&&n=t.y&&e[1]<=t.y+t.height:n.contain(n.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},e.prototype.pointToData=function(e,t,n){n||=[];var r=this.getAxis();return n[0]=r.coordToData(r.toLocalCoord(e[r.orient===`horizontal`?0:1])),n},e.prototype.dataToPoint=function(e,t,n){var r=this.getAxis(),i=this.getRect();n||=[];var a=r.orient===`horizontal`?0:1;return e instanceof Array&&(e=e[0]),n[a]=r.toGlobalCoord(r.dataToCoord(+e)),n[1-a]=a===0?i.y+i.height/2:i.x+i.width/2,n},e.prototype.convertToPixel=function(e,t,n){return fQ(t)===this?this.dataToPoint(n):null},e.prototype.convertFromPixel=function(e,t,n){return fQ(t)===this?this.pointToData(n):null},e}();function fQ(e){var t=e.seriesModel,n=e.singleAxisModel;return n&&n.coordinateSystem||t&&t.coordinateSystem}function pQ(e,t){var n=[];return e.eachComponent(vI,function(r,i){var a=new dQ(r,e,t);a.name=`single_`+i,a.resize(r,t),r.coordinateSystem=a,n.push(a)}),e.eachSeries(function(e){if(e.get(`coordinateSystem`)===`singleAxis`){var t=e.getReferringComponents(vI,Ws).models[0],n=e.coordinateSystem=t&&t.coordinateSystem;n&&lD(n.getAxis(),e,_I)}}),n}var mQ={create:pQ,dimensions:uQ},hQ=[`x`,`y`],gQ=[`width`,`height`],_Q=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,t,n,r,i){var a=n.axis,o=a.coordinateSystem,s=yQ(a),c=bQ(o,s),l=bQ(o,1-s),u=o.dataToPoint(t)[0],d=r.get(`type`);if(d&&d!==`none`){var f=jX(r),p=vQ[d](a,u,c,l,r.get(`seriesDataIndices`),r.ecModel);p.style=f,e.graphicKey=p.type,e.pointer=p}IX(t,e,aQ(n),n,r,i)},t.prototype.getHandleTransform=function(e,t,n){var r=aQ(t,{labelInside:!1});r.labelMargin=n.get([`handle`,`margin`]);var i=FX(t.axis,e,r);return{x:i[0],y:i[1],rotation:r.rotation+(r.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,t,n,r){var i=n.axis,a=i.coordinateSystem,o=yQ(i),s=bQ(a,o),c=[e.x,e.y];c[o]+=t[o],c[o]=Math.min(s[1],c[o]),c[o]=Math.max(s[0],c[o]);var l=bQ(a,1-o),u=(l[1]+l[0])/2,d=[u,u];return d[o]=c[o],{x:c[0],y:c[1],rotation:e.rotation,cursorPoint:d,tooltipOption:{verticalAlign:`middle`}}},t}(TX),vQ={line:function(e,t,n,r){return{type:`Line`,subPixelOptimize:!0,shape:LX([t,r[0]],[t,r[1]],yQ(e))}},shadow:function(e,t,n,r,i,a){var o=BX(e,i,a),s=r[1]-r[0],c=VX(t,n,o),l=c[0],u=c[1];return{type:`Rect`,shape:RX([l,r[0]],[u-l,s],yQ(e))}}};function yQ(e){return+!e.isHorizontal()}function bQ(e,t){var n=e.getRect();return[n[hQ[t]],n[hQ[t]]+n[gQ[t]]]}var xQ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`single`,t}(Pb);function SQ(e){Fw(gZ),aI.registerAxisPointerClass(`SingleAxisPointer`,_Q),e.registerComponentView(xQ),e.registerComponentView(sQ),e.registerComponentModel(yI),CF(e,`single`,yI,yI.defaultOption),e.registerCoordinateSystem(`single`,mQ)}var CQ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t,n,r){var i=m_(t);e.prototype.init.apply(this,arguments),wQ(t,i)},t.prototype.mergeOption=function(t){e.prototype.mergeOption.apply(this,arguments),wQ(this.option,t)},t.prototype.getCellSize=function(){return this.option.cellSize},t.type=`calendar`,t.layoutMode=`box`,t.defaultOption={z:2,left:80,top:60,cellSize:20,orient:`horizontal`,splitLine:{show:!0,lineStyle:{color:Q.color.axisLine,width:1,type:`solid`}},itemStyle:{color:Q.color.neutral00,borderWidth:1,borderColor:Q.color.neutral10},dayLabel:{show:!0,firstDay:0,position:`start`,margin:Q.size.s,color:Q.color.secondary},monthLabel:{show:!0,position:`start`,margin:Q.size.s,align:`center`,formatter:null,color:Q.color.secondary},yearLabel:{show:!0,position:null,margin:Q.size.xl,formatter:null,color:Q.color.quaternary,fontFamily:`sans-serif`,fontWeight:`bolder`,fontSize:20}},t}(__);function wQ(e,t){var n=e.cellSize,r=B(n)?n:e.cellSize=[n,n];r.length===1&&(r[1]=r[0]),p_(e,t,{type:`box`,ignoreSize:R([0,1],function(e){return d_(t,e)&&(r[e]=`auto`),r[e]!=null&&r[e]!==`auto`})})}var TQ=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){var r=this.group;r.removeAll();var i=e.coordinateSystem,a=i.getRangeInfo(),o=i.getOrient(),s=t.getLocaleModel();this._renderDayRect(e,a,r),this._renderLines(e,a,o,r),this._renderYearText(e,a,o,r),this._renderMonthText(e,s,o,r),this._renderWeekText(e,s,a,o,r)},t.prototype._renderDayRect=function(e,t,n){for(var r=e.coordinateSystem,i=e.getModel(`itemStyle`).getItemStyle(),a=r.getCellWidth(),o=r.getCellHeight(),s=t.start.time;s<=t.end.time;s=r.getNextNDay(s,1).time){var c=r.dataToCalendarLayout([s],!1).tl,l=new Iu({shape:{x:c[0],y:c[1],width:a,height:o},cursor:`default`,style:i});n.add(l)}},t.prototype._renderLines=function(e,t,n,r){var i=this,a=e.coordinateSystem,o=e.getModel([`splitLine`,`lineStyle`]).getLineStyle(),s=e.get([`splitLine`,`show`]),c=o.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var l=t.start,u=0;l.time<=t.end.time;u++){f(l.formatedDate),u===0&&(l=a.getDateInfo(t.start.y+`-`+t.start.m));var d=l.date;d.setMonth(d.getMonth()+1),l=a.getDateInfo(d)}f(a.getNextNDay(t.end.time,1).formatedDate);function f(t){i._firstDayOfMonth.push(a.getDateInfo(t)),i._firstDayPoints.push(a.dataToCalendarLayout([t],!1).tl);var c=i._getLinePointsOfOneWeek(e,t,n);i._tlpoints.push(c[0]),i._blpoints.push(c[c.length-1]),s&&i._drawSplitline(c,o,r)}s&&this._drawSplitline(i._getEdgesPoints(i._tlpoints,c,n),o,r),s&&this._drawSplitline(i._getEdgesPoints(i._blpoints,c,n),o,r)},t.prototype._getEdgesPoints=function(e,t,n){var r=[e[0].slice(),e[e.length-1].slice()],i=n===`horizontal`?0:1;return r[0][i]=r[0][i]-t/2,r[1][i]=r[1][i]+t/2,r},t.prototype._drawSplitline=function(e,t,n){var r=new xp({z2:20,shape:{points:e},style:t});n.add(r)},t.prototype._getLinePointsOfOneWeek=function(e,t,n){for(var r=e.coordinateSystem,i=r.getDateInfo(t),a=[],o=0;o<7;o++){var s=r.getNextNDay(i.time,o),c=r.dataToCalendarLayout([s.time],!1);a[2*s.day]=c.tl,a[2*s.day+1]=c[n===`horizontal`?`bl`:`tr`]}return a},t.prototype._formatterLabel=function(e,t){return H(e)&&e?Rg(e,t):V(e)?e(t):t.nameMap},t.prototype._yearTextPositionControl=function(e,t,n,r,i){var a=t[0],o=t[1],s=[`center`,`bottom`];r===`bottom`?(o+=i,s=[`center`,`top`]):r===`left`?a-=i:r===`right`?(a+=i,s=[`center`,`top`]):o-=i;var c=0;return(r===`left`||r===`right`)&&(c=Math.PI/2),{rotation:c,x:a,y:o,style:{align:s[0],verticalAlign:s[1]}}},t.prototype._renderYearText=function(e,t,n,r){var i=e.getModel(`yearLabel`);if(i.get(`show`)){var a=i.get(`margin`),o=i.get(`position`);o||=n===`horizontal`?`left`:`top`;var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],c=(s[0][0]+s[1][0])/2,l=(s[0][1]+s[1][1])/2,u=n===`horizontal`?0:1,d={top:[c,s[u][1]],bottom:[c,s[1-u][1]],left:[s[1-u][0],l],right:[s[u][0],l]},f=t.start.y;+t.end.y>+t.start.y&&(f=f+`-`+t.end.y);var p=i.get(`formatter`),m={start:t.start.y,end:t.end.y,nameMap:f},h=new Vu({z2:30,style:nh(i,{text:this._formatterLabel(p,m)}),silent:i.get(`silent`)});h.attr(this._yearTextPositionControl(h,d[o],n,o,a)),r.add(h)}},t.prototype._monthTextPositionControl=function(e,t,n,r,i){var a=`left`,o=`top`,s=e[0],c=e[1];return n===`horizontal`?(c+=i,t&&(a=`center`),r===`start`&&(o=`bottom`)):(s+=i,t&&(o=`middle`),r===`start`&&(a=`right`)),{x:s,y:c,align:a,verticalAlign:o}},t.prototype._renderMonthText=function(e,t,n,r){var i=e.getModel(`monthLabel`);if(i.get(`show`)){var a=i.get(`nameMap`),o=i.get(`margin`),s=i.get(`position`),c=i.get(`align`),l=[this._tlpoints,this._blpoints];(!a||H(a))&&(a&&(t=Vh(a)||t),a=t.get([`time`,`monthAbbr`])||[]);var u=s===`start`?0:1,d=n===`horizontal`?0:1;o=s===`start`?-o:o;for(var f=c===`center`,p=i.get(`silent`),m=0;m=i.start.time&&r.timeo.end.time&&t.reverse(),t},e.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],n;t[0].time>t[1].time&&(n=!0,t.reverse());var r=Math.floor(t[1].time/EQ)-Math.floor(t[0].time/EQ)+1,i=new Date(t[0].time),a=i.getDate(),o=t[1].date.getDate();i.setDate(a+r-1);var s=i.getDate();if(s!==o)for(var c=i.getTime()-t[1].time>0?1:-1;(s=i.getDate())!==o&&(i.getTime()-t[1].time)*c>0;)r-=c,i.setDate(s-c);var l=Math.floor((r+t[0].day+6)/7),u=n?-l+1:l-1;return n&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:r,weeks:l,nthWeek:u,fweek:t[0].day,lweek:t[1].day}},e.prototype._getDateByWeeksAndDay=function(e,t,n){var r=this._getRangeInfo(n);if(e>r.weeks||e===0&&tr.lweek)return null;var i=(e-1)*7-r.fweek+t,a=new Date(r.start.time);return a.setDate(+r.start.d+i),this.getDateInfo(a)},e.create=function(t,n){var r=[];return t.eachComponent(`calendar`,function(i){var a=new e(i,t,n);r.push(a),i.coordinateSystem=a}),t.eachComponent(function(e,t){Xg({targetModel:t,coordSysType:`calendar`,coordSysProvider:Zg})}),r},e.dimensions=[`time`,`value`],e}();function OQ(e){var t=e.calendarModel,n=e.seriesModel;return t?t.coordinateSystem:n?n.coordinateSystem:null}function kQ(e){e.registerComponentModel(CQ),e.registerComponentView(TQ),e.registerCoordinateSystem(`calendar`,DQ)}var AQ={level:1,leaf:2,nonLeaf:3},jQ={none:0,all:1,body:2,corner:3};function MQ(e,t,n){var r=t[am[n]].getCell(e);return!r&&Ce(e)&&e<0&&(r=t[am[1-n]].getUnitLayoutInfo(n,Math.round(e))),r}function NQ(e){var t=e||[];return t[0]=t[0]||[],t[1]=t[1]||[],t[0][0]=t[0][1]=t[1][0]=t[1][1]=NaN,t}function PQ(e,t,n,r,i){FQ(e[0],t,i,n,r,0),FQ(e[1],t,i,n,r,1)}function FQ(e,t,n,r,i,a){e[0]=1/0,e[1]=-1/0;var o=r[a],s=B(o)?o:[o],c=s.length,l=!!n;if(c>=1?(IQ(e,t,s,l,i,a,0),c>1&&IQ(e,t,s,l,i,a,c-1)):e[0]=e[1]=NaN,l){var u=-i[am[1-a]].getLocatorCount(a),d=i[am[a]].getLocatorCount(a)-1;n===jQ.body?u=To(0,u):n===jQ.corner&&(d=wo(-1,d)),d=t[0]&&e[0]<=t[1]}function HQ(e,t){e.id.set(t[0][0],t[1][0]),e.span.set(t[0][1]-e.id.x+1,t[1][1]-e.id.y+1)}function UQ(e,t){e[0][0]=t[0][0],e[0][1]=t[0][1],e[1][0]=t[1][0],e[1][1]=t[1][1]}function WQ(e,t,n,r){var i=MQ(t[r][0],n,r),a=MQ(t[r][1],n,r);e[am[r]]=e[om[r]]=NaN,i&&a&&(e[am[r]]=i.xy,e[om[r]]=a.xy+a.wh-i.xy)}function GQ(e,t,n,r){return e[am[t]]=n,e[am[1-t]]=r,e}function KQ(e){return e&&(e.type===AQ.leaf||e.type===AQ.nonLeaf)?e:null}function qQ(){return{x:NaN,y:NaN,width:NaN,height:NaN}}var JQ=function(){function e(e,t){this._cells=[],this._levels=[],this.dim=e,this.dimIdx=e===`x`?0:1,this._model=t,this._uniqueValueGen=YQ(e);var n=t.get(`data`,!0),r=t.get(`length`,!0);if(n!=null&&!B(n)&&(n=[]),n)this._initByDimModelData(n);else if(r!=null){n=Array(r);for(var i=0;i=1,y=n[am[r]],b=a.getLocatorCount(r)-1,x=new $s;for(o.resetLayoutIterator(x,r);x.next();)S(x.item);for(a.resetLayoutIterator(x,r);x.next();)S(x.item);function S(e){Ae(e.wh)&&(e.wh=_),e.xy=y,e.id[am[r]]===b&&!v&&(e.wh=n[am[r]]+n[om[r]]-e.xy),y+=e.wh}}function T$(e,t){for(var n=t[am[e]].resetCellIterator();n.next();){var r=n.item;D$(r.rect,e,r.id,r.span,t),D$(r.rect,1-e,r.id,r.span,t),r.type===AQ.nonLeaf&&(r.xy=r.rect[am[e]],r.wh=r.rect[om[e]])}}function E$(e,t){e.travelExistingCells(function(e){var n=e.span;if(n){var r=e.spanRect,i=e.id;D$(r,0,i,n,t),D$(r,1,i,n,t)}})}function D$(e,t,n,r,i){e[om[t]]=0;var a=n[am[t]]<0?i[am[1-t]]:i[am[t]],o=a.getUnitLayoutInfo(t,n[am[t]]);if(e[am[t]]=o.xy,e[om[t]]=o.wh,r[am[t]]>1){var s=a.getUnitLayoutInfo(t,n[am[t]]+r[am[t]]-1);e[om[t]]=s.xy+s.wh-o.xy}}function O$(e,t,n){return k$(Lo(e,n[om[t]]),n[om[t]])}function k$(e,t){return Math.max(Math.min(e,W(t,1/0)),0)}function A$(e){var t=e.matrixModel,n=e.seriesModel;return t?t.coordinateSystem:n?n.coordinateSystem:null}var j$={inBody:1,inCorner:2,outside:3},M$={x:null,y:null,point:[]};function N$(e,t,n,r,i){var a=n[am[t]],o=n[am[1-t]],s=a.getUnitLayoutInfo(t,a.getLocatorCount(t)-1),c=a.getUnitLayoutInfo(t,0),l=o.getUnitLayoutInfo(t,-o.getLocatorCount(t)),u=o.shouldShow()?o.getUnitLayoutInfo(t,-1):null,d=e.point[t]=r[t];if(!c&&!u){e[am[t]]=j$.outside;return}if(i===jQ.body){c?(e[am[t]]=j$.inBody,d=wo(s.xy+s.wh,To(c.xy,d)),e.point[t]=d):e[am[t]]=j$.outside;return}else if(i===jQ.corner){u?(e[am[t]]=j$.inCorner,d=wo(u.xy+u.wh,To(l.xy,d)),e.point[t]=d):e[am[t]]=j$.outside;return}var f=c?c.xy:u?u.xy+u.wh:NaN,p=l?l.xy:f,m=s?s.xy+s.wh:f;if(dm){if(!i){e[am[t]]=j$.outside;return}d=m}e.point[t]=d,e[am[t]]=f<=d&&d<=m?j$.inBody:p<=d&&d<=f?j$.inCorner:j$.outside}function P$(e,t,n,r){var i=1-n;if(e[am[n]]!==j$.outside)for(r[am[n]].resetCellIterator(C$);C$.next();){var a=C$.item;if(L$(e.point[n],a.rect,n)&&L$(e.point[i],a.rect,i)){t[n]=a.ordinal,t[i]=a.id[am[i]];return}}}function F$(e,t,n,r){if(e[am[n]]!==j$.outside){for((e[am[n]]===j$.inCorner?r[am[1-n]]:r[am[n]]).resetLayoutIterator(S$,n);S$.next();)if(I$(e.point[n],S$.item)){t[n]=S$.item.id[am[n]];return}}}function I$(e,t){return t.xy<=e&&e<=t.xy+t.wh}function L$(e,t,n){return t[am[n]]<=e&&e<=t[am[n]]+t[om[n]]}function R$(e){e.registerComponentModel(r$),e.registerComponentView(u$),e.registerCoordinateSystem(`matrix`,b$)}function z$(e,t){var n=e.existing;if(t.id=e.keyInfo.id,!t.type&&n&&(t.type=n.type),t.parentId==null){var r=t.parentOption;r?t.parentId=r.id:n&&(t.parentId=n.parentId)}t.parentOption=null}function B$(e,t){var n;return L(t,function(t){e[t]!=null&&e[t]!==`auto`&&(n=!0)}),n}function V$(e,t,n){var r=P({},n),i=e[t],a=n.$action||`merge`;a===`merge`?i?(N(i,r,!0),p_(i,r,{ignoreSize:!0}),h_(n,i),W$(n,i),W$(n,i,`shape`),W$(n,i,`style`),W$(n,i,`extra`),n.clipPath=i.clipPath):e[t]=r:a===`replace`?e[t]=r:a===`remove`&&i&&(e[t]=null)}var H$=[`transition`,`enterFrom`,`leaveTo`],U$=H$.concat([`enterAnimation`,`updateAnimation`,`leaveAnimation`]);function W$(e,t,n){if(n&&(!e[n]&&t[n]&&(e[n]={}),e=e[n],t=t[n]),!(!e||!t))for(var r=n?H$:U$,i=0;i=0;c--){var l=n[c],u=Ms(l.id,null),d=u==null?null:i.get(u);if(d){var f=d.parent,h=J$(f),g=f===r?{width:a,height:o}:{width:h.width,height:h.height},_={},v=u_(d,l,g,null,{hv:l.hv,boundingMode:l.bounding},_);if(!J$(d).isNew&&v){for(var y=l.transition,b={},x=0;x=0)?b[S]=C:d[S]=C}Yp(d,b,e,0)}else d.attr(_)}}},t.prototype._clear=function(){var e=this,t=this._elMap;t.each(function(n){Q$(n,J$(n).option,t,e._lastGraphicModel)}),this._elMap=G()},t.prototype.dispose=function(){this._clear()},t.type=`graphic`,t}(Pb);function X$(e){var t=new(K(q$,e)?q$[e]:dm(e))({});return J$(t).type=e,t}function Z$(e,t,n,r){var i=X$(n);return t.add(i),r.set(e,i),J$(i).id=e,J$(i).isNew=!0,i}function Q$(e,t,n,r){e&&e.parent&&(e.type===`group`&&e.traverse(function(e){Q$(e,t,n,r)}),yY(e,t,r),n.removeKey(J$(e).id))}function $$(e,t,n,r){e.isGroup||L([[`cursor`,ml.prototype.cursor],[`zlevel`,r||0],[`z`,n||0],[`z2`,0]],function(n){var r=n[0];K(t,r)?e[r]=W(t[r],n[1]):e[r]??(e[r]=n[1])}),L(ye(t),function(n){if(n.indexOf(`on`)===0){var r=t[n];e[n]=V(r)?r:null}}),K(t,`draggable`)&&(e.draggable=t.draggable),t.name!=null&&(e.name=t.name),t.id!=null&&(e.id=t.id)}function e1(e){return e=P({},e),L([`id`,`parentId`,`$action`,`hv`,`bounding`,`textContent`,`clipPath`].concat($g),function(t){delete e[t]}),e}function t1(e,t,n){var r=Z(e).eventData;!e.silent&&!e.ignore&&!r&&(r=Z(e).eventData={componentType:`graphic`,componentIndex:t.componentIndex,name:e.name}),r&&(r.info=n.info)}function n1(e){e.registerComponentModel(K$),e.registerComponentView(Y$),e.registerPreprocessor(function(e){var t=e.graphic;B(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var r1=[`x`,`y`,`radius`,`angle`,`single`],i1=Bs(),a1=[`cartesian2d`,`polar`,`singleAxis`];function o1(e){return I(a1,e.get(`coordinateSystem`))>=0}function s1(e){return e+`Axis`}function c1(e,t){var n=G(),r=[],i=G();e.eachComponent({mainType:`dataZoom`,query:t},function(e){i.get(e.uid)||s(e)});var a;do a=!1,e.eachComponent(`dataZoom`,o);while(a);function o(e){!i.get(e.uid)&&c(e)&&(s(e),a=!0)}function s(e){i.set(e.uid,!0),r.push(e),l(e)}function c(e){var t=!1;return e.eachTargetAxis(function(e,r){var i=n.get(e);i&&i[r]&&(t=!0)}),t}function l(e){e.eachTargetAxis(function(e,t){(n.get(e)||n.set(e,[]))[t]=!0})}return r}function l1(e){var t=e.ecModel,n={infoList:[],infoMap:G()};return e.eachTargetAxis(function(e,r){var i=t.getComponent(s1(e),r);if(i){var a=i.getCoordSysModel();if(a){var o=a.uid,s=n.infoMap.get(o);s||(s={model:a,axisModels:[]},n.infoList.push(s),n.infoMap.set(o,s)),s.axisModels.push(i)}}}),n}function u1(e){var t=i1(Yx(e));return t.axisProxyMap||=G()}function d1(e){if(e)return u1(e.ecModel).get(e.uid)}function f1(e,t){u1(e.ecModel).set(e.uid,t)}function p1(e,t){var n=t.getAxisModel().axis.__alignTo;return n&&e.getAxisProxy(n.dim,n.model.componentIndex)?d1(n.model):null}var m1=function(){function e(){this.indexList=[],this.indexMap=[]}return e.prototype.add=function(e){this.indexMap[e]||(this.indexList.push(e),this.indexMap[e]=!0)},e}(),h1=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=[`percent`,`percent`],n}return t.prototype.init=function(e,t,n){var r=g1(e);this.settledOption=r,this.mergeDefaultAndTheme(e,n),this._doInit(r)},t.prototype.mergeOption=function(e){var t=g1(e);N(this.option,e,!0),N(this.settledOption,t,!0),this._doInit(t)},t.prototype._doInit=function(e){var t=this.option;this._setDefaultThrottle(e),this._updateRangeUse(e);var n=this.settledOption;L([[`start`,`startValue`],[`end`,`endValue`]],function(e,r){this._rangePropMode[r]===`value`&&(t[e[0]]=n[e[0]]=null)},this),this._resetTarget()},t.prototype._resetTarget=function(){var e=this.get(`orient`,!0),t=this._targetAxisInfoMap=G();this._fillSpecifiedTargetAxis(t)?this._orient=e||this._makeAutoOrientByTargetAxis():(this._orient=e||`horizontal`,this._fillAutoTargetAxisByOrient(t,this._orient)),this._noTarget=!0,t.each(function(e){e.indexList.length&&(this._noTarget=!1)},this)},t.prototype._fillSpecifiedTargetAxis=function(e){var t=!1;return L(r1,function(n){var r=this.getReferringComponents(s1(n),Gs);if(r.specified){t=!0;var i=new m1;L(r.models,function(e){i.add(e.componentIndex)}),e.set(n,i)}},this),t},t.prototype._fillAutoTargetAxisByOrient=function(e,t){var n=this.ecModel,r=!0;if(r){var i=t===`vertical`?`y`:`x`,a=n.findComponents({mainType:i+`Axis`});o(a,i)}if(r){var a=n.findComponents({mainType:`singleAxis`,filter:function(e){return e.get(`orient`,!0)===t}});o(a,`single`)}function o(t,n){var i=t[0];if(i){var a=new m1;if(a.add(i.componentIndex),e.set(n,a),r=!1,n===`x`||n===`y`){var o=i.getReferringComponents(`grid`,Ws).models[0];o&&L(t,function(e){i.componentIndex!==e.componentIndex&&o===e.getReferringComponents(`grid`,Ws).models[0]&&a.add(e.componentIndex)})}}}r&&L(r1,function(t){if(r){var i=n.findComponents({mainType:s1(t),filter:function(e){return e.get(`type`,!0)===`category`}});if(i[0]){var a=new m1;a.add(i[0].componentIndex),e.set(t,a),r=!1}}},this)},t.prototype._makeAutoOrientByTargetAxis=function(){var e;return this.eachTargetAxis(function(t){!e&&(e=t)},this),e===`y`?`vertical`:`horizontal`},t.prototype._setDefaultThrottle=function(e){if(e.hasOwnProperty(`throttle`)&&(this._autoThrottle=!1),this._autoThrottle){var t=this.ecModel.option;this.option.throttle=t.animation&&t.animationDurationUpdate>0?100:20}},t.prototype._updateRangeUse=function(e){var t=this._rangePropMode,n=this.get(`rangeMode`);L([[`start`,`startValue`],[`end`,`endValue`]],function(r,i){var a=e[r[0]]!=null,o=e[r[1]]!=null;a&&!o?t[i]=`percent`:!a&&o?t[i]=`value`:n?t[i]=n[i]:a&&(t[i]=`percent`)})},t.prototype.noTarget=function(){return this._noTarget},t.prototype.getFirstTargetAxisModel=function(){var e;return this.eachTargetAxis(function(t,n){e??=this.ecModel.getComponent(s1(t),n)},this),e},t.prototype.eachTargetAxis=function(e,t){this._targetAxisInfoMap.each(function(n,r){L(n.indexList,function(n){e.call(t,r,n)})})},t.prototype.getAxisProxy=function(e,t){return d1(this.getAxisModel(e,t))},t.prototype.getAxisModel=function(e,t){var n=this._targetAxisInfoMap.get(e);if(n&&n.indexMap[t])return this.ecModel.getComponent(s1(e),t)},t.prototype.setRawRange=function(e){var t=this.option,n=this.settledOption;L([[`start`,`startValue`],[`end`,`endValue`]],function(r){(e[r[0]]!=null||e[r[1]]!=null)&&(t[r[0]]=n[r[0]]=e[r[0]],t[r[1]]=n[r[1]]=e[r[1]])},this),this._updateRangeUse(e)},t.prototype.setCalculatedRange=function(e){var t=this.option;L([`start`,`startValue`,`end`,`endValue`],function(n){t[n]=e[n]})},t.prototype.getPercentRange=function(){var e=this.findRepresentativeAxisProxy();if(e)return e.getWindow().percent},t.prototype.getValueRange=function(e,t){if(e==null&&t==null){var n=this.findRepresentativeAxisProxy();if(n)return n.getWindow().value}else return this.getAxisProxy(e,t).getWindow().value},t.prototype.findRepresentativeAxisProxy=function(e){if(e)return d1(e);for(var t,n=this._targetAxisInfoMap.keys(),r=0;ra[1];if(u&&!d&&!f)return!0;u&&(i=!0),d&&(t=!0),f&&(n=!0)}return i&&t&&n})}else L(r,function(n){if(i===`empty`)e.setData(t=t.map(n,function(e){return o(e)?e:NaN}));else{var r={};r[n]=a,t.selectRange(r)}});L(r,function(e){t.setApproximateExtent(a,e)})}});function o(e){return e>=a[0]&&e<=a[1]}},e.prototype._updateMinMaxSpan=function(){var e=this._minMaxSpan={},t=this._dataZoomModel,n=this._extent;L([`min`,`max`],function(r){var i=t.get(r+`Span`),a=t.get(r+`ValueSpan`);a!=null&&(a=this.getAxisModel().axis.scale.parse(a)),a==null?i!=null&&(a=Fo(i,[0,100],n,!0)-n[0]):i=Fo(n[0]+a,n,[0,100],!0),e[r+`Span`]=i,e[r+`ValueSpan`]=a},this)},e}(),x1={dirtyOnOverallProgress:!0,getTargetSeries:function(e){function t(t){e.eachComponent(`dataZoom`,function(n){n.eachTargetAxis(function(r,i){t(r,i,e.getComponent(s1(r),i),n)})})}var n=[];t(function(t,r,i,a){if(!d1(i)){var o=new b1(t,r,a,e);n.push(o),f1(i,o)}});var r=G();return L(n,function(e){L(e.getTargetSeriesModels(),function(e){r.set(e.uid,e)})}),r},overallReset:function(e,t){e.eachComponent(`dataZoom`,function(e){var n=[];e.eachTargetAxis(function(t,r){var i=e.getAxisProxy(t,r),a=p1(e,i);a?n.push([i,a]):i.reset(e,null)}),L(n,function(t){t[0].reset(e,t[1].getWindow().percentInverted)}),e.eachTargetAxis(function(n,r){e.getAxisProxy(n,r).filterData(e,t)})}),e.eachComponent(`dataZoom`,function(e){var t=e.findRepresentativeAxisProxy();if(t){var n=t.getWindow(),r=n.percent,i=n.value;e.setCalculatedRange({start:r[0],end:r[1],startValue:i[0],endValue:i[1]})}})}};function S1(e){e.registerAction(`dataZoom`,function(e,t){L(c1(t,e),function(t){t.setRawRange({start:e.start,end:e.end,startValue:e.startValue,endValue:e.endValue})})})}var C1=uc();function w1(e){C1(e,function(){e.registerProcessor(e.PRIORITY.PROCESSOR.FILTER,x1),S1(e),e.registerSubTypeDefaulter(`dataZoom`,function(){return`slider`})})}function T1(e){e.registerComponentModel(_1),e.registerComponentView(y1),w1(e)}var E1=function(){function e(){}return e}(),D1={};function O1(e,t){D1[e]=t}function k1(e){return D1[e]}var A1=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(t,n,r){var i=r.getTheme().get(`toolbox`),a=i?i.feature:null;a&&(this._themeFeatureOption=P({},a),i.feature={}),e.prototype.init.call(this,t,n,r),a&&(i.feature=a)},t.prototype.optionUpdated=function(){L(this.option.feature,function(e,t){var n=this._themeFeatureOption,r=k1(t);r&&(r.getDefaultOption&&(r.defaultOption=r.getDefaultOption(this.ecModel)),n&&n[t]&&(N(e,n[t]),n[t]=null),N(e,r.defaultOption))},this)},t.type=`toolbox`,t.layoutMode={type:`box`,ignoreSize:!0},t.defaultOption={show:!0,z:6,orient:`horizontal`,left:`right`,top:`top`,backgroundColor:`transparent`,borderColor:Q.color.border,borderRadius:0,borderWidth:0,padding:Q.size.m,itemSize:15,itemGap:Q.size.s,showTitle:!0,iconStyle:{borderColor:Q.color.accent50,color:`none`},emphasis:{iconStyle:{borderColor:Q.color.accent70}},tooltip:{show:!1,position:`bottom`}},t}(__);function j1(e,t){var n=Ng(t.get(`padding`)),r=t.getItemStyle([`color`,`opacity`]);return r.fill=t.get(`backgroundColor`),new Iu({shape:{x:e.x-n[3],y:e.y-n[0],width:e.width+n[1]+n[3],height:e.height+n[0]+n[2],r:t.get(`borderRadius`)},style:r,silent:!0,z2:-1})}var M1=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.render=function(e,t,n,r){var i=this.group;if(i.removeAll(),!e.get(`show`))return;var a=+e.get(`itemSize`),o=e.get(`orient`)===`vertical`,s=e.get(`feature`)||{},c=this._features||=G(),l=[];L(s,function(e,t){l.push(t)}),new Rw(this._featureNames||[],l).add(u).update(u).remove(xe(u,null)).execute(),this._featureNames=_e(l,function(e){return c.hasKey(e)});function u(i,a){var o=i!=null&&a==null,u=i!=null&&a!=null,f=i==null,p=o||u?l[i]:l[a],m=s[p],h=o||u?new Th(m,e,t):null,g=h&&h.get(`show`),_;if(o){if(!g)return;if(N1(p))_={onclick:h.option.onclick,featureName:p};else{var v=k1(p);if(!v)return;_=new v}c.set(p,_)}else _=c.get(p);if(f||!g){P1(_)&&_.dispose&&_.dispose(t,n),c.removeKey(p);return}r&&r.newTitle!=null&&r.featureName===p&&(m.title=r.newTitle),o&&(_.uid=Dh(`toolbox-feature`)),_.model=h,_.ecModel=t,_.api=n,d(h,_,p),h.setIconStatus=function(e,t){var n=this.option,r=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[e]=t,r[e]&&(t===`emphasis`?Kd:qd)(r[e])},P1(_)&&_.render&&_.render(h,t,n,r)}function d(r,s,c){var l=r.getModel(`iconStyle`),u=r.getModel([`emphasis`,`iconStyle`]),d=s instanceof E1&&s.getIcons?s.getIcons():r.get(`icon`),f=r.get(`title`)||{},p,m;H(d)?(p={},p[c]=d):p=d,H(f)?(m={},m[c]=f):m=f;var h=r.iconPaths={};L(p,function(c,d){var f=Om(c,{},{x:-a/2,y:-a/2,width:a,height:a});f.setStyle(l.getItemStyle());var p=f.ensureState(`emphasis`);p.style=u.getItemStyle();var g=new Vu({style:{text:m[d],align:u.get(`textAlign`),borderRadius:u.get(`textBorderRadius`),padding:u.get(`textPadding`),fill:null,font:uh({fontStyle:u.get(`textFontStyle`),fontFamily:u.get(`textFontFamily`),fontSize:u.get(`textFontSize`),fontWeight:u.get(`textFontWeight`)},t)},ignore:!0});f.setTextContent(g),Im({el:f,componentModel:e,itemName:d,formatterParamsExtra:{title:m[d]}}),f.__title=m[d],f.on(`mouseover`,function(){var t=u.getItemStyle(),r=o?e.get(`right`)==null&&e.get(`left`)!==`right`?`right`:`left`:e.get(`bottom`)==null&&e.get(`top`)!==`bottom`?`bottom`:`top`;g.setStyle({fill:u.get(`textFill`)||t.fill||t.stroke||Q.color.neutral99,backgroundColor:u.get(`textBackgroundColor`)}),f.setTextConfig({position:u.get(`textPosition`)||r}),g.ignore=!e.get(`showTitle`),n.enterEmphasis(this)}).on(`mouseout`,function(){r.get([`iconStatus`,d])!==`emphasis`&&n.leaveEmphasis(this),g.hide()}),(r.get([`iconStatus`,d])===`emphasis`?Kd:qd)(f),i.add(f),f.on(`click`,z(s.onclick,s,t,n,d)),h[d]=f})}var f=l_(e,n).refContainer,p=e.getBoxLayoutParams(),m=e.get(`padding`),h=o_(p,f,m);n_(e.get(`orient`),i,e.get(`itemGap`),h.width,h.height),u_(i,p,f,m),i.add(j1(i.getBoundingRect(),e)),o||i.eachChild(function(e){var t=e.__title,r=e.ensureState(`emphasis`),o=r.textConfig||={},s=e.getTextContent(),c=s&&s.ensureState(`emphasis`);if(c&&!V(c)&&t){var l=c.style||={},u=Va(t,Vu.makeFont(l)),d=e.x+i.x,f=e.y+i.y+a,p=!1;f+u.height>n.getHeight()&&(o.position=`top`,p=!0);var m=p?-5-u.height:a+10;d+u.width/2>n.getWidth()?(o.position=[`100%`,m],l.align=`right`):d-u.width/2<0&&(o.position=[0,m],l.align=`left`)}})},t.prototype.updateView=function(e,t,n,r){L(this._features,function(e){e&&e instanceof E1&&e.updateView&&e.updateView(e.model,t,n,r)})},t.prototype.dispose=function(e,t){L(this._features,function(n){n&&n instanceof E1&&n.dispose&&n.dispose(e,t)})},t.type=`toolbox`,t}(Pb);function N1(e){return e.indexOf(`my`)===0}function P1(e){return e instanceof E1}var F1=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.onclick=function(e,t){var n=this.model,r=n.get(`name`)||e.get(`title.0.text`)||`echarts`,i=t.getZr().painter.getType()===`svg`,a=i?`svg`:n.get(`type`,!0)||`png`,o=t.getConnectedDataURL({type:a,backgroundColor:n.get(`backgroundColor`,!0)||e.get(`backgroundColor`)||Q.color.neutral00,connectedBackgroundColor:n.get(`connectedBackgroundColor`),excludeComponents:n.get(`excludeComponents`),pixelRatio:n.get(`pixelRatio`)}),s=y.browser;if(typeof MouseEvent==`function`&&(s.newEdge||!s.ie&&!s.edge)){var c=document.createElement(`a`);c.download=r+`.`+a,c.target=`_blank`,c.href=o;var l=new MouseEvent(`click`,{view:document.defaultView,bubbles:!0,cancelable:!1});c.dispatchEvent(l)}else if(window.navigator.msSaveOrOpenBlob||i){var u=o.split(`,`),d=u[0].indexOf(`base64`)>-1,f=i?decodeURIComponent(u[1]):u[1];d&&(f=window.atob(f));var p=r+`.`+a;if(window.navigator.msSaveOrOpenBlob){for(var m=f.length,h=new Uint8Array(m);m--;)h[m]=f.charCodeAt(m);var g=new Blob([h]);window.navigator.msSaveOrOpenBlob(g,p)}else{var _=document.createElement(`iframe`);document.body.appendChild(_);var v=_.contentWindow,b=v.document;b.open(`image/svg+xml`,`replace`),b.write(f),b.close(),v.focus(),b.execCommand(`SaveAs`,!0,p),document.body.removeChild(_)}}else{var x=n.get(`lang`),S=``,C=window.open();C.document.write(S),C.document.title=r}},t.getDefaultOption=function(e){return{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:e.getLocaleModel().get([`toolbox`,`saveAsImage`,`title`]),type:`png`,connectedBackgroundColor:Q.color.neutral00,name:``,excludeComponents:[`toolbox`],lang:e.getLocaleModel().get([`toolbox`,`saveAsImage`,`lang`])}},t}(E1),I1=`__ec_magicType_stack__`,L1=[[`line`,`bar`],[`stack`]],R1=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.getIcons=function(){var e=this.model,t=e.get(`icon`),n={};return L(e.get(`type`),function(e){t[e]&&(n[e]=t[e])}),n},t.getDefaultOption=function(e){return{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:e.getLocaleModel().get([`toolbox`,`magicType`,`title`]),option:{},seriesIndex:{}}},t.prototype.onclick=function(e,t,n){var r=this.model,i=r.get([`seriesIndex`,n]);if(z1[n]){var a={series:[]};L(L1,function(e){I(e,n)>=0&&L(e,function(e){r.setIconStatus(e,`normal`)})}),r.setIconStatus(n,`emphasis`),e.eachComponent({mainType:`series`,query:i==null?null:{seriesIndex:i}},function(e){var t=e.subType,i=e.id,o=z1[n](t,i,e,r);o&&(F(o,e.option),a.series.push(o));var s=e.coordinateSystem;if(s&&s.type===`cartesian2d`&&(n===`line`||n===`bar`)){var c=s.getAxesByScale(`ordinal`)[0];if(c){var l=c.dim+`Axis`,u=e.getReferringComponents(l,Ws).models[0].componentIndex;a[l]=a[l]||[];for(var d=0;d<=u;d++)a[l][u]=a[l][u]||{};a[l][u].boundaryGap=n===`bar`}}});var o,s=n;n===`stack`&&(o=N({stack:r.option.title.tiled,tiled:r.option.title.stack},r.option.title),r.get([`iconStatus`,n])!==`emphasis`&&(s=`tiled`)),t.dispatchAction({type:`changeMagicType`,currentType:s,newOption:a,newTitle:o,featureName:`magicType`})}},t}(E1),z1={line:function(e,t,n,r){if(e===`bar`)return N({id:t,type:`line`,data:n.get(`data`),stack:n.get(`stack`),markPoint:n.get(`markPoint`),markLine:n.get(`markLine`)},r.get([`option`,`line`])||{},!0)},bar:function(e,t,n,r){if(e===`line`)return N({id:t,type:`bar`,data:n.get(`data`),stack:n.get(`stack`),markPoint:n.get(`markPoint`),markLine:n.get(`markLine`)},r.get([`option`,`bar`])||{},!0)},stack:function(e,t,n,r){var i=n.get(`stack`)===I1;if(e===`line`||e===`bar`)return r.setIconStatus(`stack`,i?`normal`:`emphasis`),N({id:t,stack:i?``:I1},r.get([`option`,`stack`])||{},!0)}};Cw({type:`changeMagicType`,event:`magicTypeChanged`,update:`prepareAndUpdate`},function(e,t){t.mergeOption(e.newOption)});var B1=Array(60).join(`-`),V1=` `;function H1(e){var t={},n=[],r=[];return e.eachRawSeries(function(e){var i=e.coordinateSystem;if(i&&(i.type===`cartesian2d`||i.type===`polar`)){var a=i.getBaseAxis();if(a.type===`category`){var o=PN(a);t[o]||(t[o]={categoryAxis:a,valueAxis:i.getOtherAxis(a),series:[]},r.push({axisDim:a.dim,axisIndex:a.index})),t[o].series.push(e)}else n.push(e)}else n.push(e)}),{seriesGroupByCategoryAxis:t,other:n,meta:r}}function U1(e){var t=[];return L(e,function(e,n){var r=e.categoryAxis,i=e.valueAxis.dim,a=[` `].concat(R(e.series,function(e){return e.name})),o=[r.model.getCategories()];L(e.series,function(e){var t=e.getRawData();o.push(e.getRawData().mapArray(t.mapDimension(i),function(e){return e}))});for(var s=[a.join(V1)],c=0;c=0)return!0}var J1=RegExp(`[`+V1+`]+`,`g`);function Y1(e){for(var t=e.split(/\n+/g),n=K1(t.shift()).split(J1),r=[],i=R(n,function(e){return{name:e,data:[]}}),a=0;a=0&&!n[i][r];i--);if(i<0){var a=e.queryComponents({mainType:`dataZoom`,subType:`select`,id:r})[0];if(a){var o=a.getPercentRange();n[0][r]={dataZoomId:r,start:o[0],end:o[1]}}}}),n.push(t)}function r0(e){var t=o0(e),n=t[t.length-1];t.length>1&&t.pop();var r={};return e0(n,function(e,n){for(var i=t.length-1;i>=0;i--)if(e=t[i][n],e){r[n]=e;break}}),r}function i0(e){t0(e).snapshots=null}function a0(e){return o0(e).length}function o0(e){var t=t0(e);return t.snapshots||=[{}],t.snapshots}var s0=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.onclick=function(e,t){i0(e),t.dispatchAction({type:`restore`,from:this.uid})},t.getDefaultOption=function(e){return{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:e.getLocaleModel().get([`toolbox`,`restore`,`title`])}},t}(E1);Cw({type:`restore`,event:`restore`,update:`prepareAndUpdate`},function(e,t){t.resetOption(`recreate`)});var c0=[`grid`,`xAxis`,`yAxis`,`geo`,`graph`,`polar`,`radiusAxis`,`angleAxis`,`bmap`],l0=function(){function e(e,t,n){var r=this;this._targetInfoList=[];var i=d0(t,e);L(f0,function(e,t){(!n||!n.include||I(n.include,t)>=0)&&e(i,r._targetInfoList)})}return e.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(e,t,n){if((e.coordRanges||=[]).push(t),!e.coordRange){e.coordRange=t;var r=h0[e.brushType](0,n,t);e.__rangeOffset={offset:_0[e.brushType](r.values,e.range,[1,1]),xyMinMax:r.xyMinMax}}}),e},e.prototype.matchOutputRanges=function(e,t,n){L(e,function(e){var r=this.findTargetInfo(e,t);r&&r!==!0&&L(r.coordSyses,function(r){n(e,h0[e.brushType](1,r,e.range,!0).values,r,t)})},this)},e.prototype.setInputRanges=function(e,t){L(e,function(e){var n=this.findTargetInfo(e,t);if(e.range=e.range||[],n&&n!==!0){e.panelId=n.panelId;var r=h0[e.brushType](0,n.coordSys,e.coordRange),i=e.__rangeOffset;e.range=i?_0[e.brushType](r.values,i.offset,y0(r.xyMinMax,i.xyMinMax)):r.values}},this)},e.prototype.makePanelOpts=function(e,t){return R(this._targetInfoList,function(n){var r=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:t?t(n):null,clipPath:FG(r),isTargetByCursor:LG(r,e,n.coordSysModel),getLinearBrushOtherExtent:IG(r)}})},e.prototype.controlSeries=function(e,t,n){var r=this.findTargetInfo(e,n);return r===!0||r&&I(r.coordSyses,t.coordinateSystem)>=0},e.prototype.findTargetInfo=function(e,t){for(var n=this._targetInfoList,r=d0(t,e),i=0;ie[1]&&e.reverse(),e}function d0(e,t){return Hs(e,t,{includeMainTypes:c0})}var f0={grid:function(e,t){var n=e.xAxisModels,r=e.yAxisModels,i=e.gridModels,a=G(),o={},s={};!n&&!r&&!i||(L(n,function(e){var t=e.axis.grid.model;a.set(t.id,t),o[t.id]=!0}),L(r,function(e){var t=e.axis.grid.model;a.set(t.id,t),s[t.id]=!0}),L(i,function(e){a.set(e.id,e),o[e.id]=!0,s[e.id]=!0}),a.each(function(e){var i=e.coordinateSystem,a=[];L(i.getCartesians(),function(e,t){(I(n,e.getAxis(`x`).model)>=0||I(r,e.getAxis(`y`).model)>=0)&&a.push(e)}),t.push({panelId:`grid--`+e.id,gridModel:e,coordSysModel:e,coordSys:a[0],coordSyses:a,getPanelRect:m0.grid,xAxisDeclared:o[e.id],yAxisDeclared:s[e.id]})}))},geo:function(e,t){L(e.geoModels,function(e){var n=e.coordinateSystem;t.push({panelId:`geo--`+e.id,geoModel:e,coordSysModel:e,coordSys:n,coordSyses:[n],getPanelRect:m0.geo})})}},p0=[function(e,t){var n=e.xAxisModel,r=e.yAxisModel,i=e.gridModel;return!i&&n&&(i=n.axis.grid.model),!i&&r&&(i=r.axis.grid.model),i&&i===t.gridModel},function(e,t){var n=e.geoModel;return n&&n===t.geoModel}],m0={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var e=this.coordSys.view,t=lR(null,e);return Sn(t,t,sR(null,e)),t}},h0={lineX:xe(g0,0),lineY:xe(g0,1),rect:function(e,t,n,r){var i=e?t.pointToData([n[0][0],n[1][0]],r):t.dataToPoint([n[0][0],n[1][0]],r),a=e?t.pointToData([n[0][1],n[1][1]],r):t.dataToPoint([n[0][1],n[1][1]],r),o=[u0([i[0],a[0]]),u0([i[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(e,t,n,r){var i=[tc(),tc()];return{values:R(n,function(n){var a=e?t.pointToData(n,r):t.dataToPoint(n,r);return i[0][0]=Math.min(i[0][0],a[0]),i[1][0]=Math.min(i[1][0],a[1]),i[0][1]=Math.max(i[0][1],a[0]),i[1][1]=Math.max(i[1][1],a[1]),a}),xyMinMax:i}}};function g0(e,t,n,r){var i=n.getAxis([`x`,`y`][e]),a=u0(R([0,1],function(e){return t?i.coordToData(i.toLocalCoord(r[e]),!0):i.toGlobalCoord(i.dataToCoord(r[e]))})),o=[];return o[e]=a,o[1-e]=[NaN,NaN],{values:a,xyMinMax:o}}var _0={lineX:xe(v0,0),lineY:xe(v0,1),rect:function(e,t,n){return[[e[0][0]-n[0]*t[0][0],e[0][1]-n[0]*t[0][1]],[e[1][0]-n[1]*t[1][0],e[1][1]-n[1]*t[1][1]]]},polygon:function(e,t,n){return R(e,function(e,r){return[e[0]-n[0]*t[r][0],e[1]-n[1]*t[r][1]]})}};function v0(e,t,n,r){return[t[0]-r[e]*n[0],t[1]-r[e]*n[1]]}function y0(e,t){var n=b0(e),r=b0(t),i=[n[0]/r[0],n[1]/r[1]];return isNaN(i[0])&&(i[0]=1),isNaN(i[1])&&(i[1]=1),i}function b0(e){return e?[e[0][1]-e[0][0],e[1][1]-e[1][0]]:[NaN,NaN]}var x0=L,S0=Fs(`toolbox-dataZoom_`),C0={x:`width`,y:`height`},w0=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.render=function(e,t,n,r){this._brushController||(this._brushController=new QW(n.getZr()),this._brushController.on(`brush`,z(this._onBrush,this)).mount()),O0(e,t,this,r,n),D0(e,t)},t.prototype.onclick=function(e,t,n){T0[n].call(this)},t.prototype.dispose=function(e,t){this._brushController&&this._brushController.dispose()},t.prototype._onBrush=function(e){var t=e.areas;if(!e.isEnd||!t.length)return;var n={},r=this.ecModel;this._brushController.updateCovers([]),new l0(E0(this.model),r,{include:[`grid`]}).matchOutputRanges(t,r,function(e,t,n){if(n.type===`cartesian2d`){var r=n.master.getRect().clone(),a=e.brushType;a===`rect`?(i(`x`,n,r,t[0]),i(`y`,n,r,t[1])):i({lineX:`x`,lineY:`y`}[a],n,r,t)}}),n0(r,n),this._dispatchZoomAction(n);function i(e,t,i,o){var s=t.getAxis(e),c=s.model,l=a(e,c,r),u=l.findRepresentativeAxisProxy(c).getMinMaxSpan(),d=s.scale.getExtent();(u.minValueSpan!=null||u.maxValueSpan!=null)&&(o=AW(0,o.slice(),d,0,u.minValueSpan,u.maxValueSpan));var f=Wo(d,i[C0[e]],.5);l&&(n[l.id]={dataZoomId:l.id,startValue:isFinite(f)?Bo(o[0],f):o[0],endValue:isFinite(f)?Bo(o[1],f):o[1]})}function a(e,t,n){var r;return n.eachComponent({mainType:`dataZoom`,subType:`select`},function(n){n.getAxisModel(e,t.componentIndex)&&(r=n)}),r}},t.prototype._dispatchZoomAction=function(e){var t=[];x0(e,function(e,n){t.push(M(e))}),t.length&&this.api.dispatchAction({type:`dataZoom`,from:this.uid,batch:t})},t.getDefaultOption=function(e){return{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:e.getLocaleModel().get([`toolbox`,`dataZoom`,`title`]),brushStyle:{borderWidth:0,color:Q.color.backgroundTint}}},t}(E1),T0={zoom:function(){var e=!this._isZoomActive;this.api.dispatchAction({type:`takeGlobalCursor`,key:`dataZoomSelect`,dataZoomSelectActive:e})},back:function(){this._dispatchZoomAction(r0(this.ecModel))}};function E0(e){var t={xAxisIndex:e.get(`xAxisIndex`,!0),yAxisIndex:e.get(`yAxisIndex`,!0),xAxisId:e.get(`xAxisId`,!0),yAxisId:e.get(`yAxisId`,!0)};return t.xAxisIndex==null&&t.xAxisId==null&&(t.xAxisIndex=`all`),t.yAxisIndex==null&&t.yAxisId==null&&(t.yAxisIndex=`all`),t}function D0(e,t){e.setIconStatus(`back`,a0(t)>1?`emphasis`:`normal`)}function O0(e,t,n,r,i){var a=n._isZoomActive;r&&r.type===`takeGlobalCursor`&&(a=r.key===`dataZoomSelect`?r.dataZoomSelectActive:!1),n._isZoomActive=a,e.setIconStatus(`zoom`,a?`emphasis`:`normal`);var o=new l0(E0(e),t,{include:[`grid`]}).makePanelOpts(i,function(e){return e.xAxisDeclared&&!e.yAxisDeclared?`lineX`:!e.xAxisDeclared&&e.yAxisDeclared?`lineY`:`rect`});n._brushController.setPanels(o).enableBrush(a&&o.length?{brushType:`auto`,brushStyle:e.getModel(`brushStyle`).getItemStyle()}:!1)}L_(`dataZoom`,function(e){var t=e.getComponent(`toolbox`,0),n=[`feature`,`dataZoom`];if(!t||t.get(n)==null)return;var r=t.getModel(n),i=[],a=Hs(e,E0(r));x0(a.xAxisModels,function(e){return o(e,`xAxis`,`xAxisIndex`)}),x0(a.yAxisModels,function(e){return o(e,`yAxis`,`yAxisIndex`)});function o(e,t,n){var a=e.componentIndex,o={type:`select`,$fromToolbox:!0,filterMode:r.get(`filterMode`,!0)||`filter`,id:S0+t+a};o[n]=a,i.push(o)}return i});function k0(e){e.registerComponentModel(A1),e.registerComponentView(M1),O1(`saveAsImage`,F1),O1(`magicType`,R1),O1(`dataView`,Q1),O1(`dataZoom`,w0),O1(`restore`,s0),Fw(T1)}var A0=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`tooltip`,t.dependencies=[`axisPointer`],t.defaultOption={z:60,show:!0,showContent:!0,trigger:`item`,triggerOn:`mousemove|click|mousewheel`,alwaysShowContent:!1,renderMode:`auto`,confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,displayTransition:!0,enterable:!1,backgroundColor:Q.color.neutral00,shadowBlur:10,shadowColor:`rgba(0, 0, 0, .2)`,shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,defaultBorderColor:Q.color.border,padding:null,extraCssText:``,axisPointer:{type:`line`,axis:`auto`,animation:`auto`,animationDurationUpdate:200,animationEasingUpdate:`exponentialOut`,crossStyle:{color:Q.color.borderShade,width:1,type:`dashed`,textStyle:{}}},textStyle:{color:Q.color.tertiary,fontSize:14}},t}(__);function j0(e){var t=e.get(`confine`);return t==null?e.get(`renderMode`)===`richText`:!!t}function M0(e){if(y.domSupported){for(var t=document.documentElement.style,n=0,r=e.length;n-1?(s+=`top:50%`,c+=`translateY(-50%) rotate(`+(l=a===`left`?-225:-45)+`deg)`):(s+=`left:50%`,c+=`translateX(-50%) rotate(`+(l=a===`top`?225:45)+`deg)`);var u=l*Math.PI/180,d=o+i,f=d*Math.abs(Math.cos(u))+d*Math.abs(Math.sin(u)),p=Math.round(((f-Math.SQRT2*i)/2+Math.SQRT2*i-(f-d)/2)*100)/100;s+=`;`+a+`:-`+p+`px`;var m=t+` solid `+i+`px;`;return`
    `}function H0(e,t,n){var r=`cubic-bezier(0.23,1,0.32,1)`,i=``,a=``;return n&&(i=` `+e/2+`s `+r,a=`opacity`+i+`,visibility`+i),t||(i=` `+e+`s `+r,a+=(a.length?`,`:``)+(y.transformSupported?``+R0+i:`,left`+i+`,top`+i)),L0+`:`+a}function U0(e,t,n){var r=e.toFixed(0)+`px`,i=t.toFixed(0)+`px`;if(!y.transformSupported)return n?`top:`+i+`;left:`+r+`;`:[[`top`,i],[`left`,r]];var a=y.transform3dSupported,o=`translate`+(a?`3d`:``)+`(`+r+`,`+i+(a?`,0`:``)+`)`;return n?`top:0;left:0;`+R0+`:`+o+`;`:[[`top`,0],[`left`,0],[N0,o]]}function W0(e){var t=[],n=e.get(`fontSize`),r=e.getTextColor();r&&t.push(`color:`+r),t.push(`font:`+e.getFont());var i=W(e.get(`lineHeight`),Math.round(n*3/2));n&&t.push(`line-height:`+i+`px`);var a=e.get(`textShadowColor`),o=e.get(`textShadowBlur`)||0,s=e.get(`textShadowOffsetX`)||0,c=e.get(`textShadowOffsetY`)||0;return a&&o&&t.push(`text-shadow:`+s+`px `+c+`px `+o+`px `+a),L([`decoration`,`align`],function(n){var r=e.get(n);r&&t.push(`text-`+n+`:`+r)}),t.join(`;`)}function G0(e,t,n,r){var i=[],a=e.get(`transitionDuration`),o=e.get(`backgroundColor`),s=e.get(`shadowBlur`),c=e.get(`shadowColor`),l=e.get(`shadowOffsetX`),u=e.get(`shadowOffsetY`),d=e.getModel(`textStyle`),f=vb(e,`html`),p=l+`px `+u+`px `+s+`px `+c;return i.push(`box-shadow:`+p),t&&a>0&&i.push(H0(a,n,r)),o&&i.push(`background-color:`+o),L([`width`,`color`,`radius`],function(t){var n=`border-`+t,r=Mg(n),a=e.get(r);a!=null&&i.push(n+`:`+a+(t===`color`?``:`px`))}),i.push(W0(d)),f!=null&&i.push(`padding:`+Ng(f).join(`px `)+`px`),i.join(`;`)+`;`}function K0(e,t,n,r,i){var a=t&&t.painter;if(n){var o=a&&a.getViewportRoot();o&&wt(e,o,n,r,i)}else{e[0]=r,e[1]=i;var s=a&&a.getViewportRootOffset();s&&(e[0]+=s.offsetLeft,e[1]+=s.offsetTop)}e[2]=e[0]/t.getWidth(),e[3]=e[1]/t.getHeight()}var q0=function(){function e(e,t){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,y.wxa)return null;var n=document.createElement(`div`);n.domBelongToZr=!0,this.el=n;var r=this._zr=e.getZr(),i=t.appendTo,a=i&&(H(i)?document.querySelector(i):Ee(i)?i:V(i)&&i(e.getDom()));K0(this._styleCoord,r,a,e.getWidth()/2,e.getHeight()/2),(a||e.getDom()).appendChild(n),this._api=e,this._container=a;var o=this;n.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},n.onmousemove=function(e){if(e||=window.event,!o._enterable){var t=r.handler;zt(r.painter.getViewportRoot(),e,!0),t.dispatch(`mousemove`,e)}},n.onmouseleave=function(){o._inContent=!1,o._enterable&&o._show&&o.hideLater(o._hideDelay)}}return e.prototype.update=function(e){if(!this._container){var t=this._api.getDom(),n=I0(t,`position`),r=t.style;r.position!==`absolute`&&n!==`absolute`&&(r.position=`relative`)}var i=e.get(`alwaysShowContent`);i&&this._moveIfResized(),this._alwaysShowContent=i,this._enableDisplayTransition=e.get(`displayTransition`)&&e.get(`transitionDuration`)>0,this.el.className=e.get(`className`)||``},e.prototype.show=function(e,t){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var n=this.el,r=n.style,i=this._styleCoord;n.innerHTML?r.cssText=z0+G0(e,!this._firstShow,this._longHide,this._enableDisplayTransition)+U0(i[0],i[1],!0)+(`border-color:`+Bg(t)+`;`)+(e.get(`extraCssText`)||``)+(`;pointer-events:`+(this._enterable?`auto`:`none`)):r.display=`none`,this._show=!0,this._firstShow=!1,this._longHide=!1},e.prototype.setContent=function(e,t,n,r,i){var a=this.el;if(e==null){a.innerHTML=``;return}var o=``;if(H(i)&&n.get(`trigger`)===`item`&&!j0(n)&&(o=V0(n,r,i)),H(e))a.innerHTML=e+o;else if(e){a.innerHTML=``,B(e)||(e=[e]);for(var s=0;s=0?this._tryShow(n,r):t===`leave`&&this._hide(r))},this))},t.prototype._keepShow=function(){var e=this._tooltipModel,t=this._ecModel,n=this._api,r=e.get(`triggerOn`);if(e.get(`trigger`)!==`axis`&&(this._lastDataByCoordSys=null,this._cbParamsList=null),this._lastX!=null&&this._lastY!=null&&r!==`none`&&r!==`click`){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!n.isDisposed()&&i.manuallyShowTip(e,t,n,{x:i._lastX,y:i._lastY,dataByCoordSys:i._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(e,t,n,r){if(!(r.from===this.uid||y.node||!n.getDom())){var i=t2(r,n);this._ticket=``;var a=r.dataByCoordSys,o=o2(r,t,n);if(o){var s=o.el.getBoundingRect().clone();s.applyTransform(o.el.transform),this._tryShow({offsetX:s.x+s.width/2,offsetY:s.y+s.height/2,target:o.el,position:r.position,positionDefault:`bottom`},i)}else if(r.tooltip&&r.x!=null&&r.y!=null){var c=Q0;c.x=r.x,c.y=r.y,c.update(),Z(c).tooltipConfig={name:null,option:r.tooltip},this._tryShow({offsetX:r.x,offsetY:r.y,target:c},i)}else if(a)this._tryShow({offsetX:r.x,offsetY:r.y,position:r.position,dataByCoordSys:a,tooltipOption:r.tooltipOption},i);else if(r.seriesIndex!=null){if(this._manuallyAxisShowTip(e,t,n,r))return;var l=rZ(r,t),u=l.point[0],d=l.point[1];u!=null&&d!=null&&this._tryShow({offsetX:u,offsetY:d,target:l.el,position:r.position,positionDefault:`bottom`},i)}else r.x!=null&&r.y!=null&&(n.dispatchAction({type:`updateAxisPointer`,x:r.x,y:r.y}),this._tryShow({offsetX:r.x,offsetY:r.y,position:r.position,target:n.getZr().findHover(r.x,r.y).target},i))}},t.prototype.manuallyHideTip=function(e,t,n,r){var i=this._tooltipContent;this._tooltipModel&&i.hideLater(this._tooltipModel.get(`hideDelay`)),this._lastX=this._lastY=this._lastDataByCoordSys=null,this._cbParamsList=null,r.from!==this.uid&&this._hide(t2(r,n))},t.prototype._manuallyAxisShowTip=function(e,t,n,r){var i=r.seriesIndex,a=r.dataIndex,o=t.getComponent(`axisPointer`).coordSysAxesInfo;if(!(i==null||a==null||o==null)){var s=t.getSeriesByIndex(i);if(s&&e2([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model],this._tooltipModel).get(`trigger`)===`axis`)return n.dispatchAction({type:`updateAxisPointer`,seriesIndex:i,dataIndex:a,position:r.position}),!0}},t.prototype._tryShow=function(e,t){var n=e.target;if(this._tooltipModel){this._lastX=e.offsetX,this._lastY=e.offsetY;var r=e.dataByCoordSys;if(r&&r.length)this._showAxisTooltip(r,e);else if(n){if(Z(n).ssrType===`legend`)return;this._lastDataByCoordSys=null,this._cbParamsList=null;var i,a;Rx(n,function(e){if(e.tooltipDisabled)return i=a=null,!0;i||a||(Z(e).dataIndex==null?Z(e).tooltipConfig!=null&&(a=e):i=e)},!0),i?this._showSeriesItemTooltip(e,i,t):a?this._showComponentItemTooltip(e,a,t):this._hide(t)}else this._lastDataByCoordSys=null,this._cbParamsList=null,this._hide(t)}},t.prototype._showOrMove=function(e,t){var n=e.get(`showDelay`);t=z(t,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(t,n):t()},t.prototype._showAxisTooltip=function(e,t){var n=this._ecModel,r=this._tooltipModel,i=[t.offsetX,t.offsetY],a=e2([t.tooltipOption],r),o=this._renderMode,s=[],c=ib(`section`,{blocks:[],noHeader:!0}),l=[],u=new yb;L(e,function(e){L(e.dataByAxis,function(e){var t=n.getComponent(e.axisDim+`Axis`,e.axisIndex),i=e.value,a=t.axis,d=a.scale.parse(i);if(!(!t||i==null)){var f=PX(i,a,n,e.seriesDataIndices,e.valueLabelOpt),p=ib(`section`,{header:f,noHeader:!Ie(f),sortBlocks:!0,blocks:[]});c.blocks.push(p),L(e.seriesDataIndices,function(i){var a=n.getSeriesByIndex(i.seriesIndex),c=i.dataIndexInside,m=a.getDataParams(c);if(!(m.dataIndex<0)){m.axisDim=e.axisDim,m.axisIndex=e.axisIndex,m.axisType=e.axisType,m.axisId=e.axisId,m.axisValue=PE(t.axis,{value:d}),m.axisValueLabel=f,m.marker=u.makeTooltipMarker(`item`,Bg(m.color),o);var h=my(a.formatTooltip(c,!0,null)),g=h.frag;if(g){var _=e2([a],r).get(`valueFormatter`);p.blocks.push(_?P({valueFormatter:_},g):g)}h.text&&l.push(h.text),s.push(m)}})}})}),c.blocks.reverse(),l.reverse();var d=t.position,f=ub(c,u,o,a.get(`order`),n.get(`useUTC`),a.get(`textStyle`));f&&l.unshift(f);var p=o===`richText`?` + +`:`
    `,m=l.join(p);this._showOrMove(a,function(){this._updateContentNotChangedOnAxis(e,s)?this._updatePosition(a,d,i[0],i[1],this._tooltipContent,s):this._showTooltipContent(a,m,s,Math.random()+``,i[0],i[1],d,null,u)})},t.prototype._showSeriesItemTooltip=function(e,t,n){var r=this._ecModel,i=Z(t),a=i.seriesIndex,o=r.getSeriesByIndex(a),s=i.dataModel||o,c=i.dataIndex,l=i.dataType,u=s.getData(l),d=this._renderMode,f=e.positionDefault,p=e2([u.getItemModel(c),s,o&&(o.coordinateSystem||{}).model],this._tooltipModel,f?{position:f}:null),m=p.get(`trigger`);if(!(m!=null&&m!==`item`)){var h=s.getDataParams(c,l),g=new yb;h.marker=g.makeTooltipMarker(`item`,Bg(h.color),d);var _=my(s.formatTooltip(c,!1,l)),v=p.get(`order`),y=p.get(`valueFormatter`),b=_.frag,x=b?ub(y?P({valueFormatter:y},b):b,g,d,v,r.get(`useUTC`),p.get(`textStyle`)):_.text,S=`item_`+s.name+`_`+c;this._showOrMove(p,function(){this._showTooltipContent(p,x,h,S,e.offsetX,e.offsetY,e.position,e.target,g)}),n({type:`showTip`,dataIndexInside:c,dataIndex:u.getRawIndex(c),seriesIndex:a,from:this.uid})}},t.prototype._showComponentItemTooltip=function(e,t,n){var r=this._renderMode===`html`,i=Z(t),a=i.tooltipConfig.option||{},o=a.encodeHTMLContent;if(H(a)){var s=a;a={content:s,formatter:s},o=!0}o&&r&&a.content&&(a=M(a),a.content=Mt(a.content));var c=[a],l=this._ecModel.getComponent(i.componentMainType,i.componentIndex);l&&c.push(l),c.push({formatter:a.content});var u=e.positionDefault,d=e2(c,this._tooltipModel,u?{position:u}:null),f=d.get(`content`),p=Math.random()+``,m=new yb;this._showOrMove(d,function(){var n=M(d.get(`formatterParams`)||{});this._showTooltipContent(d,f,n,p,e.offsetX,e.offsetY,e.position,t,m)}),n({type:`showTip`,from:this.uid})},t.prototype._showTooltipContent=function(e,t,n,r,i,a,o,s,c){if(this._ticket=``,!(!e.get(`showContent`)||!e.get(`show`))){var l=this._tooltipContent;l.setEnterable(e.get(`enterable`));var u=e.get(`formatter`);o||=e.get(`position`);var d=t,f=this._getNearestPoint([i,a],n,e.get(`trigger`),e.get(`borderColor`),e.get(`defaultBorderColor`,!0)).color;if(u)if(H(u)){var p=e.ecModel.get(`useUTC`),m=B(n)?n[0]:n,h=m&&m.axisType&&m.axisType.indexOf(`time`)>=0;d=u,h&&(d=pg(m.axisValue,d,p)),d=Lg(d,n,!0)}else if(V(u)){var g=z(function(t,r){t===this._ticket&&(l.setContent(r,c,e,f,o),this._updatePosition(e,o,i,a,l,n,s))},this);this._ticket=r,d=u(n,r,g)}else d=u;l.setContent(d,c,e,f,o),l.show(e,f),this._updatePosition(e,o,i,a,l,n,s)}},t.prototype._getNearestPoint=function(e,t,n,r,i){if(n===`axis`||B(t))return{color:r||i};if(!B(t))return{color:r||t.color||t.borderColor}},t.prototype._updatePosition=function(e,t,n,r,i,a,o){var s=this._api.getWidth(),c=this._api.getHeight();t||=e.get(`position`);var l=i.getSize(),u=e.get(`align`),d=e.get(`verticalAlign`),f=o&&o.getBoundingRect().clone();if(o&&f.applyTransform(o.transform),V(t)&&(t=t([n,r],a,i.el,f,{viewSize:[s,c],contentSize:l.slice()})),B(t))n=X(t[0],s),r=X(t[1],c);else if(U(t)){var p=t;p.width=l[0],p.height=l[1];var m=o_(p,{width:s,height:c});n=m.x,r=m.y,u=null,d=null}else if(H(t)&&o){var h=i2(t,f,l,e.get(`borderWidth`));n=h[0],r=h[1]}else{var h=n2(n,r,i,s,c,u?null:20,d?null:20);n=h[0],r=h[1]}if(u&&(n-=a2(u)?l[0]/2:u===`right`?l[0]:0),d&&(r-=a2(d)?l[1]/2:d===`bottom`?l[1]:0),j0(e)){var h=r2(n,r,i,s,c);n=h[0],r=h[1]}i.moveTo(n,r)},t.prototype._updateContentNotChangedOnAxis=function(e,t){var n=this._lastDataByCoordSys,r=this._cbParamsList,i=!!n&&n.length===e.length;return i&&L(n,function(n,a){var o=n.dataByAxis||[],s=(e[a]||{}).dataByAxis||[];i&&=o.length===s.length,i&&L(o,function(e,n){var a=s[n]||{},o=e.seriesDataIndices||[],c=a.seriesDataIndices||[];i=i&&e.value===a.value&&e.axisType===a.axisType&&e.axisId===a.axisId&&o.length===c.length,i&&L(o,function(e,t){var n=c[t];i=i&&e.seriesIndex===n.seriesIndex&&e.dataIndex===n.dataIndex}),r&&L(e.seriesDataIndices,function(e){var n=e.seriesIndex,a=t[n],o=r[n];a&&o&&o.data!==a.data&&(i=!1)})})}),this._lastDataByCoordSys=e,this._cbParamsList=t,!!i},t.prototype._hide=function(e){this._lastDataByCoordSys=null,this._cbParamsList=null,e({type:`hideTip`,from:this.uid})},t.prototype.dispose=function(e,t){y.node||!t.getDom()||(Yb(this,`_updatePosition`),this._tooltipContent.dispose(),tZ(`itemTooltip`,t),this._tooltipContent=null,this._tooltipModel=null,this._lastDataByCoordSys=null,this._cbParamsList=null)},t.type=`tooltip`,t}(Pb);function e2(e,t,n){var r=t.ecModel,i;n?(i=new Th(n,r,r),i=new Th(t.option,i,r)):i=t;for(var a=e.length-1;a>=0;a--){var o=e[a];o&&(o instanceof Th&&(o=o.get(`tooltip`,!0)),H(o)&&(o={formatter:o}),o&&(i=new Th(o,i,r)))}return i}function t2(e,t){return e.dispatchAction||z(t.dispatchAction,t)}function n2(e,t,n,r,i,a,o){var s=n.getSize(),c=s[0],l=s[1];return a!=null&&(e+c+a+2>r?e-=c+a:e+=a),o!=null&&(t+l+o>i?t-=l+o:t+=o),[e,t]}function r2(e,t,n,r,i){var a=n.getSize(),o=a[0],s=a[1];return e=Math.min(e+o,r)-o,t=Math.min(t+s,i)-s,e=Math.max(e,0),t=Math.max(t,0),[e,t]}function i2(e,t,n,r){var i=n[0],a=n[1],o=Math.ceil(Math.SQRT2*r)+8,s=0,c=0,l=t.width,u=t.height;switch(e){case`inside`:s=t.x+l/2-i/2,c=t.y+u/2-a/2;break;case`top`:s=t.x+l/2-i/2,c=t.y-a-o;break;case`bottom`:s=t.x+l/2-i/2,c=t.y+u+o;break;case`left`:s=t.x-i-o,c=t.y+u/2-a/2;break;case`right`:s=t.x+l+o,c=t.y+u/2-a/2}return[s,c]}function a2(e){return e===`center`||e===`middle`}function o2(e,t,n){var r=Us(e).queryOptionMap,i=r.keys()[0];if(!(!i||i===`series`)){var a=Ks(t,i,r.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}).models[0];if(a){var o=n.getViewOfComponentModel(a),s;if(o.group.traverse(function(t){var n=Z(t).tooltipConfig;if(n&&n.name===e.name)return s=t,!0}),s)return{componentMainType:i,componentIndex:a.componentIndex,el:s}}}}function s2(e){Fw(gZ),e.registerComponentModel(A0),e.registerComponentView($0),e.registerAction({type:`showTip`,event:`showTip`,update:`tooltip:manuallyShowTip`},qe),e.registerAction({type:`hideTip`,event:`hideTip`,update:`tooltip:manuallyHideTip`},qe)}var c2=[`rect`,`polygon`,`keep`,`clear`];function l2(e,t){var n=vs(e?e.brush:[]);if(n.length){var r=[];L(n,function(e){var t=e.hasOwnProperty(`toolbox`)?e.toolbox:[];t instanceof Array&&(r=r.concat(t))});var i=e&&e.toolbox;B(i)&&(i=i[0]),i||(i={feature:{}},e.toolbox=[i]);var a=i.feature||={},o=a.brush||={},s=o.type||=[];s.push.apply(s,r),fc(s,function(e){return e+``},null),t&&!s.length&&s.push.apply(s,c2)}}var u2=L;function d2(e){if(e){for(var t in e)if(e.hasOwnProperty(t))return!0}}function f2(e,t,n){var r={};return u2(t,function(t){var a=r[t]=i();u2(e[t],function(e,r){if(LV.isValidType(r)){var i={type:r,visual:e};n&&n(i,t),a[r]=new LV(i),r===`opacity`&&(i=M(i),i.type=`colorAlpha`,a.__hidden.__alphaForOpacity=new LV(i))}})}),r;function i(){var e=function(){};return e.prototype.__hidden=e.prototype,new e}}function p2(e,t,n){var r;L(n,function(e){t.hasOwnProperty(e)&&d2(t[e])&&(r=!0)}),r&&L(n,function(n){t.hasOwnProperty(n)&&d2(t[n])?e[n]=M(t[n]):delete e[n]})}function m2(e,t,n,r,i,a){var o={};L(e,function(e){o[e]=LV.prepareVisualTypes(t[e])});var s;function c(e){return Mx(n,s,e)}function l(e,t){Px(n,s,e,t)}a==null?n.each(u):n.each([a],u);function u(e,u){s=a==null?e:u;var d=n.getRawDataItem(s);if(!(d&&d.visualMap===!1))for(var f=r.call(i,e),p=t[f],m=o[f],h=0,g=m.length;ht[0][1]&&(t[0][1]=a[0]),a[1]t[1][1]&&(t[1][1]=a[1])}return t&&j2(t)}};function j2(e){return new J(e[0][0],e[1][0],e[0][1]-e[0][0],e[1][1]-e[1][0])}var M2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(e,t){this.ecModel=e,this.api=t,this.model,(this._brushController=new QW(t.getZr())).on(`brush`,z(this._onBrush,this)).mount()},t.prototype.render=function(e,t,n,r){this.model=e,this._updateController(e,t,n,r)},t.prototype.updateTransform=function(e,t,n,r){C2(t),this._updateController(e,t,n,r)},t.prototype.updateVisual=function(e,t,n,r){this.updateTransform(e,t,n,r)},t.prototype.updateView=function(e,t,n,r){this._updateController(e,t,n,r)},t.prototype._updateController=function(e,t,n,r){(!r||r.$from!==e.id)&&this._brushController.setPanels(e.brushTargetManager.makePanelOpts(n)).enableBrush(e.brushOption).updateCovers(e.areas.slice())},t.prototype.dispose=function(){this._brushController.dispose()},t.prototype._onBrush=function(e){var t=this.model.id,n=this.model.brushTargetManager.setOutputRanges(e.areas,this.ecModel);(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:`brush`,brushId:t,areas:M(n),$from:t}),e.isEnd&&this.api.dispatchAction({type:`brushEnd`,brushId:t,areas:M(n),$from:t})},t.type=`brush`,t}(Pb),N2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.areas=[],n.brushOption={},n}return t.prototype.optionUpdated=function(e,t){var n=this.option;!t&&p2(n,e,[`inBrush`,`outOfBrush`]);var r=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:this.option.defaultOutOfBrushColor},r.hasOwnProperty(`liftZ`)||(r.liftZ=5)},t.prototype.setAreas=function(e){e&&(this.areas=R(e,function(e){return P2(this.option,e)},this))},t.prototype.setBrushOption=function(e){this.brushOption=P2(this.option,e),this.brushType=this.brushOption.brushType},t.type=`brush`,t.dependencies=[`geo`,`grid`,`xAxis`,`yAxis`,`parallel`,`series`],t.defaultOption={seriesIndex:`all`,brushType:`rect`,brushMode:`single`,transformable:!0,brushStyle:{borderWidth:1,color:Q.color.backgroundTint,borderColor:Q.color.borderTint},throttleType:`fixRate`,throttleDelay:0,removeOnClick:!0,z:1e4,defaultOutOfBrushColor:Q.color.disabled},t}(__);function P2(e,t){return N({brushType:e.brushType,brushMode:e.brushMode,transformable:e.transformable,brushStyle:new Th(e.brushStyle).getItemStyle(),removeOnClick:e.removeOnClick,z:e.z},t,!0)}var F2=[`rect`,`polygon`,`lineX`,`lineY`,`keep`,`clear`],I2=function(e){_(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.render=function(e,t,n){var r,i,a;t.eachComponent({mainType:`brush`},function(e){r=e.brushType,i=e.brushOption.brushMode||`single`,a||=!!e.areas.length}),this._brushType=r,this._brushMode=i,L(e.get(`type`,!0),function(t){e.setIconStatus(t,(t===`keep`?i===`multiple`:t===`clear`?a:t===r)?`emphasis`:`normal`)})},t.prototype.updateView=function(e,t,n){this.render(e,t,n)},t.prototype.getIcons=function(){var e=this.model,t=e.get(`icon`,!0),n={};return L(e.get(`type`,!0),function(e){t[e]&&(n[e]=t[e])}),n},t.prototype.onclick=function(e,t,n){var r=this._brushType,i=this._brushMode;n===`clear`?(t.dispatchAction({type:`axisAreaSelect`,intervals:[]}),t.dispatchAction({type:`brush`,command:`clear`,areas:[]})):t.dispatchAction({type:`takeGlobalCursor`,key:`brush`,brushOption:{brushType:n===`keep`?r:r===n?!1:n,brushMode:n===`keep`?i===`multiple`?`single`:`multiple`:i}})},t.getDefaultOption=function(e){return{show:!0,type:F2.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:e.getLocaleModel().get([`toolbox`,`brush`,`title`])}},t}(E1);function L2(e){e.registerComponentView(M2),e.registerComponentModel(N2),e.registerPreprocessor(l2),e.registerVisual(e.PRIORITY.VISUAL.BRUSH,w2),e.registerAction({type:`brush`,event:`brush`,update:`updateVisual`},function(e,t){t.eachComponent({mainType:`brush`,query:e},function(t){t.setAreas(e.areas)})}),e.registerAction({type:`brushSelect`,event:`brushSelected`,update:`none`},qe),e.registerAction({type:`brushEnd`,event:`brushEnd`,update:`none`},qe),O1(`brush`,I2)}var R2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.layoutMode={type:`box`,ignoreSize:!0},n}return t.type=`title`,t.defaultOption={z:6,show:!0,text:``,target:`blank`,subtext:``,subtarget:`blank`,left:`center`,top:Q.size.m,backgroundColor:Q.color.transparent,borderColor:Q.color.primary,borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:`bold`,color:Q.color.primary},subtextStyle:{fontSize:12,color:Q.color.quaternary}},t}(__),z2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){if(this.group.removeAll(),e.get(`show`)){var r=this.group,i=e.getModel(`textStyle`),a=e.getModel(`subtextStyle`),o=e.get(`textAlign`),s=W(e.get(`textBaseline`),e.get(`textVerticalAlign`)),c=new Vu({style:nh(i,{text:e.get(`text`),fill:i.getTextColor()},{disableBox:!0}),z2:10}),l=c.getBoundingRect(),u=e.get(`subtext`),d=new Vu({style:nh(a,{text:u,fill:a.getTextColor(),y:l.height+e.get(`itemGap`),verticalAlign:`top`},{disableBox:!0}),z2:10}),f=e.get(`link`),p=e.get(`sublink`),m=e.get(`triggerEvent`,!0);c.silent=!f&&!m,d.silent=!p&&!m,f&&c.on(`click`,function(){Vg(f,`_`+e.get(`target`))}),p&&d.on(`click`,function(){Vg(p,`_`+e.get(`subtarget`))}),Z(c).eventData=Z(d).eventData=m?{componentType:`title`,componentIndex:e.componentIndex}:null,r.add(c),u&&r.add(d);var h=r.getBoundingRect(),g=e.getBoxLayoutParams();g.width=h.width,g.height=h.height;var _=o_(g,l_(e,n).refContainer,e.get(`padding`));o||(o=e.get(`left`)||e.get(`right`),o===`middle`&&(o=`center`),o===`right`?_.x+=_.width:o===`center`&&(_.x+=_.width/2)),s||(s=e.get(`top`)||e.get(`bottom`),s===`center`&&(s=`middle`),s===`bottom`?_.y+=_.height:s===`middle`&&(_.y+=_.height/2),s||=`top`),r.x=_.x,r.y=_.y,r.markRedraw();var v={align:o,verticalAlign:s};c.setStyle(v),d.setStyle(v),h=r.getBoundingRect();var y=_.margin,b=e.getItemStyle([`color`,`opacity`]);b.fill=e.get(`backgroundColor`);var x=new Iu({shape:{x:h.x-y[3],y:h.y-y[0],width:h.width+y[1]+y[3],height:h.height+y[0]+y[2],r:e.get(`borderRadius`)},style:b,subPixelOptimize:!0,silent:!0});r.add(x)}},t.type=`title`,t}(Pb);function B2(e){e.registerComponentModel(R2),e.registerComponentView(z2)}var V2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.layoutMode=`box`,n}return t.prototype.init=function(e,t,n){this.mergeDefaultAndTheme(e,n),this._initData()},t.prototype.mergeOption=function(t){e.prototype.mergeOption.apply(this,arguments),this._initData()},t.prototype.setCurrentIndex=function(e){e??=this.option.currentIndex;var t=this._data.count();this.option.loop?e=(e%t+t)%t:(e>=t&&(e=t-1),e<0&&(e=0)),this.option.currentIndex=e},t.prototype.getCurrentIndex=function(){return this.option.currentIndex},t.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},t.prototype.setPlayState=function(e){this.option.autoPlay=!!e},t.prototype.getPlayState=function(){return!!this.option.autoPlay},t.prototype._initData=function(){var e=this.option,t=e.data||[],n=e.axisType,r=this._names=[],i;n===`category`?(i=[],L(t,function(e,t){var n=Ms(xs(e),``),a;U(e)?(a=M(e),a.value=t):a=t,i.push(a),r.push(n)})):i=t;var a={category:`ordinal`,time:`time`,value:`number`}[n]||`number`;(this._data=new fT([{name:`value`,type:a}],this)).initData(i,r)},t.prototype.getData=function(){return this._data},t.prototype.getCategories=function(){if(this.get(`axisType`)===`category`)return this._names.slice()},t.type=`timeline`,t.defaultOption={z:4,show:!0,axisType:`time`,realtime:!0,left:`20%`,top:null,right:`20%`,bottom:0,width:null,height:40,padding:Q.size.m,controlPosition:`left`,autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:Q.color.secondary},data:[]},t}(__),H2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`timeline.slider`,t.defaultOption=Ah(V2.defaultOption,{backgroundColor:`rgba(0,0,0,0)`,borderColor:Q.color.border,borderWidth:0,orient:`horizontal`,inverse:!1,tooltip:{trigger:`item`},symbol:`circle`,symbolSize:12,lineStyle:{show:!0,width:2,color:Q.color.accent10},label:{position:`auto`,show:!0,interval:`auto`,rotate:0,color:Q.color.tertiary},itemStyle:{color:Q.color.accent20,borderWidth:0},checkpointStyle:{symbol:`circle`,symbolSize:15,color:Q.color.accent50,borderColor:Q.color.accent50,borderWidth:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:`rgba(0, 0, 0, 0)`,animation:!0,animationDuration:300,animationEasing:`quinticInOut`},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:`left`,playIcon:`path://M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 3C8.37258 3 3 8.37258 3 15C3 21.6274 8.37258 27 15 27C21.6274 27 27 21.6274 27 15C27 8.37258 21.6274 3 15 3ZM11.5 10.6699C11.5 9.90014 12.3333 9.41887 13 9.80371L20.5 14.1338C21.1667 14.5187 21.1667 15.4813 20.5 15.8662L13 20.1963C12.3333 20.5811 11.5 20.0999 11.5 19.3301V10.6699Z`,stopIcon:`path://M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 3C8.37258 3 3 8.37258 3 15C3 21.6274 8.37258 27 15 27C21.6274 27 27 21.6274 27 15C27 8.37258 21.6274 3 15 3ZM11.5 10C12.3284 10 13 10.6716 13 11.5V18.5C13 19.3284 12.3284 20 11.5 20C10.6716 20 10 19.3284 10 18.5V11.5C10 10.6716 10.6716 10 11.5 10ZM18.5 10C19.3284 10 20 10.6716 20 11.5V18.5C20 19.3284 19.3284 20 18.5 20C17.6716 20 17 19.3284 17 18.5V11.5C17 10.6716 17.6716 10 18.5 10Z`,nextIcon:`path://M0.838834 18.7383C0.253048 18.1525 0.253048 17.2028 0.838834 16.617L7.55635 9.89949L0.838834 3.18198C0.253048 2.59619 0.253048 1.64645 0.838834 1.06066C1.42462 0.474874 2.37437 0.474874 2.96015 1.06066L10.7383 8.83883L10.8412 8.95277C11.2897 9.50267 11.2897 10.2963 10.8412 10.8462L10.7383 10.9602L2.96015 18.7383C2.37437 19.3241 1.42462 19.3241 0.838834 18.7383Z`,prevIcon:`path://M10.9602 1.06066C11.5459 1.64645 11.5459 2.59619 10.9602 3.18198L4.24264 9.89949L10.9602 16.617C11.5459 17.2028 11.5459 18.1525 10.9602 18.7383C10.3744 19.3241 9.42462 19.3241 8.83883 18.7383L1.06066 10.9602L0.957771 10.8462C0.509245 10.2963 0.509245 9.50267 0.957771 8.95277L1.06066 8.83883L8.83883 1.06066C9.42462 0.474874 10.3744 0.474874 10.9602 1.06066Z`,prevBtnSize:18,nextBtnSize:18,color:Q.color.accent50,borderColor:Q.color.accent50,borderWidth:0},emphasis:{label:{show:!0,color:Q.color.accent60},itemStyle:{color:Q.color.accent60,borderColor:Q.color.accent60},controlStyle:{color:Q.color.accent70,borderColor:Q.color.accent70}},progress:{lineStyle:{color:Q.color.accent30},itemStyle:{color:Q.color.accent40}},data:[]}),t}(V2);me(H2,py.prototype);var U2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`timeline`,t}(Pb),W2=function(e){_(t,e);function t(t,n,r,i){var a=e.call(this,t,n,r)||this;return a.type=i||`value`,a}return t.prototype.getLabelModel=function(){return this.model.getModel(`label`)},t.prototype.isHorizontal=function(){return this.model.get(`orient`)===`horizontal`},t}(DO),G2=Math.PI,K2=Bs(),q2=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(e,t){this.api=t},t.prototype.render=function(e,t,n){if(this.model=e,this.api=n,this.ecModel=t,this.group.removeAll(),e.get(`show`,!0)){var r=this._layout(e,n),i=this._createGroup(`_mainGroup`),a=this._createGroup(`_labelGroup`),o=this._axis=this._createAxis(r,e);e.formatTooltip=function(e){return ib(`nameValue`,{noName:!0,value:o.scale.getLabel({value:e})})},L([`AxisLine`,`AxisTick`,`Control`,`CurrentPointer`],function(t){this[`_render`+t](r,i,o,e)},this),this._renderAxisLabel(r,a,o,e),this._position(r,e)}this._doPlayStop(),this._updateTicksStatus()},t.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},t.prototype.dispose=function(){this._clearTimer()},t.prototype._layout=function(e,t){var n=e.get([`label`,`position`]),r=e.get(`orient`),i=J2(e,t),a=n==null||n===`auto`?r===`horizontal`?i.y+i.height/2=0||a===`+`?`left`:`right`},s={horizontal:a>=0||a===`+`?`top`:`bottom`,vertical:`middle`},c={horizontal:0,vertical:G2/2},l=r===`vertical`?i.height:i.width,u=e.getModel(`controlStyle`),d=u.get(`show`,!0),f=d?u.get(`itemSize`):0,p=d?u.get(`itemGap`):0,m=f+p,h=e.get([`label`,`rotate`])||0;h=h*G2/180;var g,_,v,y=u.get(`position`,!0),b=d&&u.get(`showPlayBtn`,!0),x=d&&u.get(`showPrevBtn`,!0),S=d&&u.get(`showNextBtn`,!0),C=0,w=l;y===`left`||y===`bottom`?(b&&(g=[0,0],C+=m),x&&(_=[C,0],C+=m),S&&(v=[w-f,0],w-=m)):(b&&(g=[w-f,0],w-=m),x&&(_=[0,0],C+=m),S&&(v=[w-f,0],w-=m));var T=[C,w];return e.get(`inverse`)&&T.reverse(),{viewRect:i,mainLength:l,orient:r,rotation:c[r],labelRotation:h,labelPosOpt:a,labelAlign:e.get([`label`,`align`])||o[r],labelBaseline:e.get([`label`,`verticalAlign`])||e.get([`label`,`baseline`])||s[r],playPosition:g,prevBtnPosition:_,nextBtnPosition:v,axisExtent:T,controlSize:f,controlGap:p}},t.prototype._position=function(e,t){var n=this._mainGroup,r=this._labelGroup,i=e.viewRect;if(e.orient===`vertical`){var a=Yt(),o=i.x,s=i.y+i.height;$t(a,a,[-o,-s]),en(a,a,-G2/2),$t(a,a,[o,s]),i=i.clone(),i.applyTransform(a)}var c=g(i),l=g(n.getBoundingRect()),u=g(r.getBoundingRect()),d=[n.x,n.y],f=[r.x,r.y];f[0]=d[0]=c[0][0];var p=e.labelPosOpt;if(p==null||H(p)){var m=p===`+`?0:1;_(d,l,c,1,m),_(f,u,c,1,1-m)}else{var m=p>=0?0:1;_(d,l,c,1,m),f[1]=d[1]+p}n.setPosition(d),r.setPosition(f),n.rotation=r.rotation=e.rotation,h(n),h(r);function h(e){e.originX=c[0][0]-e.x,e.originY=c[1][0]-e.y}function g(e){return[[e.x,e.x+e.width],[e.y,e.y+e.height]]}function _(e,t,n,r,i){e[r]+=n[r][i]-t[r][i]}},t.prototype._createAxis=function(e,t){var n=t.getData(),r=t.get(`axisType`)||t.get(`type`);r!==`category`&&r!==`time`&&(r=`value`);var i=kE(t,r,!1);i.getTicks=function(){return n.mapArray([`value`],function(e){return{value:e}})};var a=n.getDataExtent(`value`);i.setExtent(a[0],a[1]),ID(i,{fixMinMax:[!0,!0]});var o=new W2(`value`,i,e.axisExtent,r);return o.model=t,o},t.prototype._createGroup=function(e){var t=this[e]=new Y;return this.group.add(t),t},t.prototype._renderAxisLine=function(e,t,n,r){var i=n.getExtent();if(r.get([`lineStyle`,`show`])){var a=new wp({shape:{x1:i[0],y1:0,x2:i[1],y2:0},style:P({lineCap:`round`},r.getModel(`lineStyle`).getLineStyle()),silent:!0,z2:1});t.add(a);var o=this._progressLine=new wp({shape:{x1:i[0],x2:this._currentPointer?this._currentPointer.x:i[0],y1:0,y2:0},style:F({lineCap:`round`,lineWidth:a.style.lineWidth},r.getModel([`progress`,`lineStyle`]).getLineStyle()),silent:!0,z2:1});t.add(o)}},t.prototype._renderAxisTick=function(e,t,n,r){var i=this,a=r.getData(),o=n.scale.getTicks();this._tickSymbols=[],L(o,function(e){var o=n.dataToCoord(e.value),s=a.getItemModel(e.value),c=s.getModel(`itemStyle`),l=s.getModel([`emphasis`,`itemStyle`]),u=s.getModel([`progress`,`itemStyle`]),d=X2(s,c,t,{x:o,y:0,onclick:z(i._changeTimeline,i,e.value)});d.ensureState(`emphasis`).style=l.getItemStyle(),d.ensureState(`progress`).style=u.getItemStyle(),uf(d);var f=Z(d);s.get(`tooltip`)?(f.dataIndex=e.value,f.dataModel=r):f.dataIndex=f.dataModel=null,i._tickSymbols.push(d)})},t.prototype._renderAxisLabel=function(e,t,n,r){var i=this;if(n.getLabelModel().get(`show`)){var a=r.getData(),o=n.getViewLabels();this._tickLabels=[],L(o,function(r){if(!r.tick.offInterval){var o=r.tick.value,s=a.getItemModel(o),c=s.getModel(`label`),l=s.getModel([`emphasis`,`label`]),u=s.getModel([`progress`,`label`]),d=new Vu({x:n.dataToCoord(o),y:0,rotation:e.labelRotation-e.rotation,onclick:z(i._changeTimeline,i,o),silent:!1,style:nh(c,{text:r.formattedLabel,align:e.labelAlign,verticalAlign:e.labelBaseline})});d.ensureState(`emphasis`).style=nh(l),d.ensureState(`progress`).style=nh(u),t.add(d),uf(d),K2(d).dataIndex=o,i._tickLabels.push(d)}})}},t.prototype._renderControl=function(e,t,n,r){var i=e.controlSize,a=e.rotation,o=r.getModel(`controlStyle`).getItemStyle(),s=r.getModel([`emphasis`,`controlStyle`]).getItemStyle(),c=r.getPlayState(),l=r.get(`inverse`,!0);u(e.nextBtnPosition,`next`,z(this._changeTimeline,this,l?`-`:`+`)),u(e.prevBtnPosition,`prev`,z(this._changeTimeline,this,l?`+`:`-`)),u(e.playPosition,c?`stop`:`play`,z(this._handlePlayClick,this,!c),!0);function u(e,n,c,l){if(e){var u=Ga(W(r.get([`controlStyle`,n+`BtnSize`]),i),i),d=[0,-u/2,u,u],f=Y2(r,n+`Icon`,d,{x:e[0],y:e[1],originX:i/2,originY:0,rotation:l?-a:0,rectHover:!0,style:o,onclick:c});f.ensureState(`emphasis`).style=s,t.add(f),uf(f)}}},t.prototype._renderCurrentPointer=function(e,t,n,r){var i=r.getData(),a=r.getCurrentIndex(),o=i.getItemModel(a).getModel(`checkpointStyle`),s=this,c={onCreate:function(e){e.draggable=!0,e.drift=z(s._handlePointerDrag,s),e.ondragend=z(s._handlePointerDragend,s),Z2(e,s._progressLine,a,n,r,!0)},onUpdate:function(e){Z2(e,s._progressLine,a,n,r)}};this._currentPointer=X2(o,o,this._mainGroup,{},this._currentPointer,c)},t.prototype._handlePlayClick=function(e){this._clearTimer(),this.api.dispatchAction({type:`timelinePlayChange`,playState:e,from:this.uid})},t.prototype._handlePointerDrag=function(e,t,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},t.prototype._handlePointerDragend=function(e){this._pointerChangeTimeline([e.offsetX,e.offsetY],!0)},t.prototype._pointerChangeTimeline=function(e,t){var n=this._toAxisCoord(e)[0],r=this._axis,i=Vo(r.getExtent().slice());n>i[1]&&(n=i[1]),n=0&&(s[o]=+s[o].toFixed(f)),[s,d]}var f4={min:xe(d4,`min`),max:xe(d4,`max`),average:xe(d4,`average`),median:xe(d4,`median`)};function p4(e,t){if(t){var n=e.getData(),r=e.coordinateSystem,i=r&&r.dimensions;if(!u4(t)&&!B(t.coord)&&B(i)){var a=m4(t,n,r,e);if(t=M(t),t.type&&f4[t.type]&&a.baseAxis&&a.valueAxis){var o=I(i,a.baseAxis.dim),s=I(i,a.valueAxis.dim),c=f4[t.type](n,a.valueAxis.dim,a.baseDataDim,a.valueDataDim,o,s);t.coord=c[0],t.value=c[1]}else t.coord=[t.xAxis==null?t.radiusAxis:t.xAxis,t.yAxis==null?t.angleAxis:t.yAxis]}if(t.coord==null||!B(i)){t.coord=[];var l=e.getBaseAxis();if(l&&t.type&&f4[t.type]){var u=r.getOtherAxis(l);u&&(t.value=y4(n,n.mapDimension(u.dim),t.type))}}else for(var d=t.coord,f=0;f<2;f++)f4[d[f]]&&(d[f]=y4(n,n.mapDimension(i[f]),d[f]));return t}}function m4(e,t,n,r){var i={};return e.valueIndex!=null||e.valueDim!=null?(i.valueDataDim=e.valueIndex==null?e.valueDim:t.getDimension(e.valueIndex),i.valueAxis=n.getAxis(h4(r,i.valueDataDim)),i.baseAxis=n.getOtherAxis(i.valueAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim)):(i.baseAxis=r.getBaseAxis(),i.valueAxis=n.getOtherAxis(i.baseAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim),i.valueDataDim=t.mapDimension(i.valueAxis.dim)),i}function h4(e,t){var n=e.getData().getDimensionInfo(t);return n&&n.coordDim}function g4(e,t){return e&&e.containData&&t.coord&&!l4(t)?e.containData(t.coord):!0}function _4(e,t,n){return e&&e.containZone&&t.coord&&n.coord&&!l4(t)&&!l4(n)?e.containZone(t.coord,n.coord):!0}function v4(e,t){return e?function(e,n,r,i){return vy(i<2?e.coord&&e.coord[i]:e.value,t[i])}:function(e,n,r,i){return vy(e.value,t[i])}}function y4(e,t,n){if(n===`average`){var r=0,i=0;return e.each(t,function(e,t){isNaN(e)||(r+=e,i++)}),r/i}else if(n===`median`)return e.getMedian(t);else return e.getDataExtent(t)[+(n===`max`)]}var b4=Bs(),x4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.init=function(){this.markerGroupMap=G()},t.prototype.render=function(e,t,n){var r=this,i=this.markerGroupMap;i.each(function(e){b4(e).keep=!1}),t.eachSeries(function(e){var i=s4.getMarkerModelFromSeries(e,r.type);i&&r.renderSeries(e,i,t,n)}),i.each(function(e){!b4(e).keep&&r.group.remove(e.group)}),S4(t,i,this.type)},t.prototype.markKeep=function(e){b4(e).keep=!0},t.prototype.toggleBlurSeries=function(e,t){var n=this;L(e,function(e){var r=s4.getMarkerModelFromSeries(e,n.type);r&&r.getData().eachItemGraphicEl(function(e){e&&(t?Jd(e):Yd(e))})})},t.type=`marker`,t}(Pb);function S4(e,t,n){e.eachSeries(function(e){var r=s4.getMarkerModelFromSeries(e,n),i=t.get(e.id);if(r&&i&&i.group){var a=Um(r),o=a.z,s=a.zlevel;Gm(i.group,o,s)}})}function C4(e,t,n){var r=t.coordinateSystem,i=n.getWidth(),a=n.getHeight(),o=r&&r.getArea&&r.getArea();e.each(function(n){var s=e.getItemModel(n),c=s.get(`relativeTo`)===`coordinate`,l=c?o?o.width:0:i,u=c?o?o.height:0:a,d=c&&o?o.x:0,f=c&&o?o.y:0,p,m=X(s.get(`x`),l)+d,h=X(s.get(`y`),u)+f;if(!isNaN(m)&&!isNaN(h))p=[m,h];else if(t.getMarkerPosition)p=t.getMarkerPosition(e.getValues(e.dimensions,n));else if(r){var g=e.get(r.dimensions[0],n),_=e.get(r.dimensions[1],n);p=r.dataToPoint([g,_])}isNaN(m)||(p[0]=m),isNaN(h)||(p[1]=h),e.setItemLayout(n,p)})}var w4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.updateTransform=function(e,t,n){t.eachSeries(function(e){var t=s4.getMarkerModelFromSeries(e,`markPoint`);t&&(C4(t.getData(),e,n),this.markerGroupMap.get(e.id).updateLayout())},this)},t.prototype.renderSeries=function(e,t,n,r){var i=e.coordinateSystem,a=e.id,o=e.getData(),s=this.markerGroupMap,c=s.get(a)||s.set(a,new zj),l=T4(i,e,t);t.setData(l),C4(t.getData(),e,r),l.each(function(e){var n=l.getItemModel(e),r=n.getShallow(`symbol`),i=n.getShallow(`symbolSize`),a=n.getShallow(`symbolRotate`),s=n.getShallow(`symbolOffset`),c=n.getShallow(`symbolKeepAspect`);if(V(r)||V(i)||V(a)||V(s)){var u=t.getRawValue(e),d=t.getDataParams(e);V(r)&&(r=r(u,d)),V(i)&&(i=i(u,d)),V(a)&&(a=a(u,d)),V(s)&&(s=s(u,d))}var f=n.getModel(`itemStyle`).getItemStyle(),p=n.get(`z2`),m=Nx(o,`color`);f.fill||=m,l.setItemVisual(e,{z2:W(p,0),symbol:r,symbolSize:i,symbolRotate:a,symbolOffset:s,symbolKeepAspect:c,style:f})}),c.updateData(l),this.group.add(c.group),l.eachItemGraphicEl(function(e){e.traverse(function(e){Z(e).dataModel=t})}),this.markKeep(c),c.group.silent=t.get(`silent`)||e.get(`silent`)},t.type=`markPoint`,t}(x4);function T4(e,t,n){var r=e?R(e&&e.dimensions,function(e){var n=t.getData();return P(P({},n.getDimensionInfo(n.mapDimension(e))||{}),{name:e,ordinalMeta:null})}):[{name:`value`,type:`float`}],i=new fT(r,n),a=R(n.get(`data`),xe(p4,t));e&&(a=_e(a,xe(g4,e)));var o=v4(!!e,r);return i.initData(a,null,o),i}function E4(e){e.registerComponentModel(c4),e.registerComponentView(w4),e.registerPreprocessor(function(e){i4(e.series,`markPoint`)&&(e.markPoint=e.markPoint||{})})}var D4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.createMarkerModelFromSeries=function(e,n,r){return new t(e,n,r)},t.type=`markLine`,t.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`},t}(s4),O4=Bs(),k4=function(e,t,n,r){var i=e.getData(),a;if(B(r))a=r;else{var o=r.type;if(o===`min`||o===`max`||o===`average`||o===`median`||r.xAxis!=null||r.yAxis!=null){var s=void 0,c=void 0;if(r.yAxis!=null||r.xAxis!=null)s=t.getAxis(r.yAxis==null?`x`:`y`),c=je(r.yAxis,r.xAxis);else{var l=m4(r,i,t,e);s=l.valueAxis,c=y4(i,CT(i,l.valueDataDim),o)}var u=s.dim===`x`?0:1,d=1-u,f=M(r),p={coord:[]};f.type=null,f.coord=[],f.coord[d]=-1/0,p.coord[d]=1/0;var m=n.get(`precision`);m>=0&&Ce(c)&&(c=+c.toFixed(Math.min(m,20))),f.coord[u]=p.coord[u]=c,a=[f,p,{type:o,valueIndex:r.valueIndex,value:c}]}else a=[]}var h=[p4(e,a[0]),p4(e,a[1]),P({},a[2])];return h[2].type=h[2].type||null,N(h[2],h[0]),N(h[2],h[1]),h};function A4(e){return!isNaN(e)&&!isFinite(e)}function j4(e,t,n,r){var i=1-e,a=r.dimensions[e];return A4(t[i])&&A4(n[i])&&t[e]===n[e]&&r.getAxis(a).containData(t[e])}function M4(e,t){if(e.type===`cartesian2d`){var n=t[0].coord,r=t[1].coord;if(n&&r&&(j4(1,n,r,e)||j4(0,n,r,e)))return!0}return g4(e,t[0])&&g4(e,t[1])}function N4(e,t,n,r,i){var a=r.coordinateSystem,o=e.getItemModel(t),s,c=X(o.get(`x`),i.getWidth()),l=X(o.get(`y`),i.getHeight());if(!isNaN(c)&&!isNaN(l))s=[c,l];else{if(r.getMarkerPosition)s=r.getMarkerPosition(e.getValues(e.dimensions,t));else{var u=a.dimensions,d=e.get(u[0],t),f=e.get(u[1],t);s=a.dataToPoint([d,f])}if(cM(a,`cartesian2d`)){var p=a.getAxis(`x`),m=a.getAxis(`y`),u=a.dimensions;A4(e.get(u[0],t))?s[0]=p.toGlobalCoord(p.getExtent()[+!n]):A4(e.get(u[1],t))&&(s[1]=m.toGlobalCoord(m.getExtent()[+!n]))}isNaN(c)||(s[0]=c),isNaN(l)||(s[1]=l)}e.setItemLayout(t,s)}var P4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.updateTransform=function(e,t,n){t.eachSeries(function(e){var t=s4.getMarkerModelFromSeries(e,`markLine`);if(t){var r=t.getData(),i=O4(t).from,a=O4(t).to;i.each(function(t){N4(i,t,!0,e,n),N4(a,t,!1,e,n)}),r.each(function(e){r.setItemLayout(e,[i.getItemLayout(e),a.getItemLayout(e)])}),this.markerGroupMap.get(e.id).updateLayout()}},this)},t.prototype.renderSeries=function(e,t,n,r){var i=e.coordinateSystem,a=e.id,o=e.getData(),s=this.markerGroupMap,c=s.get(a)||s.set(a,new cU);this.group.add(c.group);var l=F4(i,e,t),u=l.from,d=l.to,f=l.line;O4(t).from=u,O4(t).to=d,t.setData(f);var p=t.get(`symbol`),m=t.get(`symbolSize`),h=t.get(`symbolRotate`),g=t.get(`symbolOffset`);B(p)||(p=[p,p]),B(m)||(m=[m,m]),B(h)||(h=[h,h]),B(g)||(g=[g,g]),l.from.each(function(e){_(u,e,!0),_(d,e,!1)}),f.each(function(e){var t=f.getItemModel(e),n=t.getModel(`lineStyle`).getLineStyle();f.setItemLayout(e,[u.getItemLayout(e),d.getItemLayout(e)]);var r=t.get(`z2`);n.stroke??=u.getItemVisual(e,`style`).fill,f.setItemVisual(e,{z2:W(r,0),fromSymbolKeepAspect:u.getItemVisual(e,`symbolKeepAspect`),fromSymbolOffset:u.getItemVisual(e,`symbolOffset`),fromSymbolRotate:u.getItemVisual(e,`symbolRotate`),fromSymbolSize:u.getItemVisual(e,`symbolSize`),fromSymbol:u.getItemVisual(e,`symbol`),toSymbolKeepAspect:d.getItemVisual(e,`symbolKeepAspect`),toSymbolOffset:d.getItemVisual(e,`symbolOffset`),toSymbolRotate:d.getItemVisual(e,`symbolRotate`),toSymbolSize:d.getItemVisual(e,`symbolSize`),toSymbol:d.getItemVisual(e,`symbol`),style:n})}),c.updateData(f),l.line.eachItemGraphicEl(function(e){Z(e).dataModel=t,e.traverse(function(e){Z(e).dataModel=t})});function _(t,n,i){var a=t.getItemModel(n);N4(t,n,i,e,r);var s=a.getModel(`itemStyle`).getItemStyle();s.fill??=Nx(o,`color`),t.setItemVisual(n,{symbolKeepAspect:a.get(`symbolKeepAspect`),symbolOffset:W(a.get(`symbolOffset`,!0),g[+!i]),symbolRotate:W(a.get(`symbolRotate`,!0),h[+!i]),symbolSize:W(a.get(`symbolSize`),m[+!i]),symbol:W(a.get(`symbol`,!0),p[+!i]),style:s})}this.markKeep(c),c.group.silent=t.get(`silent`)||e.get(`silent`)},t.type=`markLine`,t}(x4);function F4(e,t,n){var r=e?R(e&&e.dimensions,function(e){var n=t.getData();return P(P({},n.getDimensionInfo(n.mapDimension(e))||{}),{name:e,ordinalMeta:null})}):[{name:`value`,type:`float`}],i=new fT(r,n),a=new fT(r,n),o=new fT([],n),s=R(n.get(`data`),xe(k4,t,e,n));e&&(s=_e(s,xe(M4,e)));var c=v4(!!e,r);return i.initData(R(s,function(e){return e[0]}),null,c),a.initData(R(s,function(e){return e[1]}),null,c),o.initData(R(s,function(e){return e[2]})),o.hasItemOption=!0,{from:i,to:a,line:o}}function I4(e){e.registerComponentModel(D4),e.registerComponentView(P4),e.registerPreprocessor(function(e){i4(e.series,`markLine`)&&(e.markLine=e.markLine||{})})}var L4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.createMarkerModelFromSeries=function(e,n,r){return new t(e,n,r)},t.type=`markArea`,t.defaultOption={z:1,tooltip:{trigger:`item`},animation:!1,label:{show:!0,position:`top`},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:`top`}}},t}(s4),R4=Bs(),z4=function(e,t,n,r){var i=r[0],a=r[1];if(!(!i||!a)){var o=p4(e,i),s=p4(e,a),c=o.coord,l=s.coord;c[0]=je(c[0],-1/0),c[1]=je(c[1],-1/0),l[0]=je(l[0],1/0),l[1]=je(l[1],1/0);var u=de([{},o,s]);return u.coord=[o.coord,s.coord],u.x0=o.x,u.y0=o.y,u.x1=s.x,u.y1=s.y,u}};function B4(e){return!isNaN(e)&&!isFinite(e)}function V4(e,t,n,r){var i=1-e;return B4(t[i])&&B4(n[i])}function H4(e,t){var n=t.coord[0],r=t.coord[1],i={coord:n,x:t.x0,y:t.y0},a={coord:r,x:t.x1,y:t.y1};return cM(e,`cartesian2d`)?n&&r&&(V4(1,n,r,e)||V4(0,n,r,e))?!0:_4(e,i,a):g4(e,i)||g4(e,a)}function U4(e,t,n,r,i){var a=r.coordinateSystem,o=e.getItemModel(t),s,c=X(o.get(n[0]),i.getWidth()),l=X(o.get(n[1]),i.getHeight());if(!isNaN(c)&&!isNaN(l))s=[c,l];else{if(r.getMarkerPosition){var u=e.getValues([`x0`,`y0`],t),d=e.getValues([`x1`,`y1`],t),f=a.clampData(u),p=a.clampData(d),m=[];n[0]===`x0`?m[0]=f[0]>p[0]?d[0]:u[0]:m[0]=f[0]>p[0]?u[0]:d[0],n[1]===`y0`?m[1]=f[1]>p[1]?d[1]:u[1]:m[1]=f[1]>p[1]?u[1]:d[1],s=r.getMarkerPosition(m,n,!0)}else{var h=e.get(n[0],t),g=e.get(n[1],t),_=[h,g];a.clampData&&a.clampData(_,_),s=a.dataToPoint(_,!0)}if(cM(a,`cartesian2d`)){var v=a.getAxis(`x`),y=a.getAxis(`y`),h=e.get(n[0],t),g=e.get(n[1],t);B4(h)?s[0]=v.toGlobalCoord(v.getExtent()[n[0]===`x0`?0:1]):B4(g)&&(s[1]=y.toGlobalCoord(y.getExtent()[n[1]===`y0`?0:1]))}isNaN(c)||(s[0]=c),isNaN(l)||(s[1]=l)}return s}var W4=[[`x0`,`y0`],[`x1`,`y0`],[`x1`,`y1`],[`x0`,`y1`]],G4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.updateTransform=function(e,t,n){t.eachSeries(function(e){var t=s4.getMarkerModelFromSeries(e,`markArea`);if(t){var r=t.getData();r.each(function(t){var i=R(W4,function(i){return U4(r,t,i,e,n)});r.setItemLayout(t,i),r.getItemGraphicEl(t).setShape(`points`,i)})}},this)},t.prototype.renderSeries=function(e,t,n,r){var i=e.coordinateSystem,a=e.id,o=e.getData(),s=this.markerGroupMap,c=s.get(a)||s.set(a,{group:new Y});this.group.add(c.group),this.markKeep(c);var l=K4(i,e,t);t.setData(l),l.each(function(t){var n=R(W4,function(n){return U4(l,t,n,e,r)}),a=i.getAxis(`x`).scale,s=i.getAxis(`y`).scale,c=a.getExtent(),u=s.getExtent(),d=[a.parse(l.get(`x0`,t)),a.parse(l.get(`x1`,t))],f=[s.parse(l.get(`y0`,t)),s.parse(l.get(`y1`,t))];Vo(d),Vo(f);var p=c[0]>d[1]||c[1]f[1]||u[1]=0},t.prototype.getOrient=function(){return this.get(`orient`)===`vertical`?{index:1,name:`vertical`}:{index:0,name:`horizontal`}},t.type=`legend.plain`,t.dependencies=[`series`],t.defaultOption={z:4,show:!0,orient:`horizontal`,left:`center`,bottom:Q.size.m,align:`auto`,backgroundColor:Q.color.transparent,borderColor:Q.color.border,borderRadius:0,borderWidth:0,padding:5,itemGap:8,itemWidth:25,itemHeight:14,symbolRotate:`inherit`,symbolKeepAspect:!0,inactiveColor:Q.color.disabled,inactiveBorderColor:Q.color.disabled,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:Q.color.disabled,inactiveWidth:2,opacity:`inherit`,type:`inherit`,cap:`inherit`,join:`inherit`,dashOffset:`inherit`,miterLimit:`inherit`},textStyle:{color:Q.color.secondary},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:`sans-serif`,color:Q.color.tertiary,borderWidth:1,borderColor:Q.color.border},emphasis:{selectorLabel:{show:!0,color:Q.color.quaternary}},selectorPosition:`auto`,selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1},triggerEvent:!1},t}(__),X4=xe,Z4=L,Q4=Y,$4=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.newlineDisabled=!1,n}return t.prototype.init=function(){this.group.add(this._contentGroup=new Q4),this.group.add(this._selectorGroup=new Q4),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(e,t,n){var r=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),e.get(`show`,!0)){var i=e.get(`align`),a=e.get(`orient`);(!i||i===`auto`)&&(i=e.get(`left`)===`right`&&a===`vertical`?`right`:`left`);var o=e.get(`selector`,!0),s=e.get(`selectorPosition`,!0);o&&(!s||s===`auto`)&&(s=a===`horizontal`?`end`:`start`),this.renderInner(i,e,t,n,o,a,s);var c=l_(e,n).refContainer,l=e.getBoxLayoutParams(),u=e.get(`padding`),d=o_(l,c,u),f=this.layoutInner(e,i,d,r,o,s),p=o_(F({width:f.width,height:f.height},l),c,u);this.group.x=p.x-f.x,this.group.y=p.y-f.y,this.group.markRedraw(),this.group.add(this._backgroundEl=j1(f,e))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(e,t,n,r,i,a,o){var s=this.getContentGroup(),c=G(),l=t.get(`selectedMode`),u=t.get(`triggerEvent`),d=[];n.eachRawSeries(function(e){!e.get(`legendHoverLink`)&&d.push(e.id)}),Z4(t.getData(),function(i,a){var o=this,f=i.get(`name`);if(!this.newlineDisabled&&(f===``||f===` +`)){var p=new Q4;p.newline=!0,s.add(p);return}var m=n.getSeriesByName(f)[0];if(!c.get(f))if(m){var h=m.getData(),g=h.getVisual(`legendLineStyle`)||{},_=h.getVisual(`legendIcon`),v=h.getVisual(`style`),y=this._createItem(m,f,a,i,t,e,g,v,_,l,r);y.on(`click`,X4(n3,f,null,r,d)).on(`mouseover`,X4(r3,m.name,null,r,d)).on(`mouseout`,X4(i3,m.name,null,r,d)),n.ssr&&y.eachChild(function(e){var t=Z(e);t.seriesIndex=m.seriesIndex,t.dataIndex=a,t.ssrType=`legend`}),u&&y.eachChild(function(e){o.packEventData(e,t,m,a,f)}),c.set(f,!0)}else n.eachRawSeries(function(o){var s=this;if(!c.get(f)&&o.legendVisualProvider){var p=o.legendVisualProvider;if(!p.containName(f))return;var m=p.indexOfName(f),h=p.getItemVisual(m,`style`),g=p.getItemVisual(m,`legendIcon`),_=Kr(h.fill);_&&_[3]===0&&(_[3]=.2,h=P(P({},h),{fill:ei(_,`rgba`)}));var v=this._createItem(o,f,a,i,t,e,{},h,g,l,r);v.on(`click`,X4(n3,null,f,r,d)).on(`mouseover`,X4(r3,null,f,r,d)).on(`mouseout`,X4(i3,null,f,r,d)),n.ssr&&v.eachChild(function(e){var t=Z(e);t.seriesIndex=o.seriesIndex,t.dataIndex=a,t.ssrType=`legend`}),u&&v.eachChild(function(e){s.packEventData(e,t,o,a,f)}),c.set(f,!0)}},this)},this),i&&this._createSelector(i,t,r,a,o)},t.prototype.packEventData=function(e,t,n,r,i){var a={componentType:`legend`,componentIndex:t.componentIndex,dataIndex:r,value:i,seriesIndex:n.seriesIndex};Z(e).eventData=a},t.prototype._createSelector=function(e,t,n,r,i){var a=this.getSelectorGroup();Z4(e,function(e){var r=e.type,i=new Vu({style:{x:0,y:0,align:`center`,verticalAlign:`middle`},onclick:function(){n.dispatchAction({type:r===`all`?`legendAllSelect`:`legendInverseSelect`,legendId:t.id})}});a.add(i),eh(i,{normal:t.getModel(`selectorLabel`),emphasis:t.getModel([`emphasis`,`selectorLabel`])},{defaultText:e.title}),uf(i)})},t.prototype._createItem=function(e,t,n,r,i,a,o,s,c,l,u){var d=e.visualDrawType,f=i.get(`itemWidth`),p=i.get(`itemHeight`),m=i.isSelected(t),h=r.get(`symbolRotate`),g=r.get(`symbolKeepAspect`),_=r.get(`icon`);c=_||c||`roundRect`;var v=e3(c,r,o,s,d,m,u),y=new Q4,b=r.getModel(`textStyle`);if(V(e.getLegendIcon)&&(!_||_===`inherit`))y.add(e.getLegendIcon({itemWidth:f,itemHeight:p,icon:c,iconRotate:h,itemStyle:v.itemStyle,lineStyle:v.lineStyle,symbolKeepAspect:g}));else{var x=_===`inherit`&&e.getData().getVisual(`symbol`)?h===`inherit`?e.getData().getVisual(`symbolRotate`):h:0;y.add(t3({itemWidth:f,itemHeight:p,icon:c,iconRotate:x,itemStyle:v.itemStyle,lineStyle:v.lineStyle,symbolKeepAspect:g}))}var S=a===`left`?f+5:-5,C=a,w=i.get(`formatter`),T=t;H(w)&&w?T=w.replace(`{name}`,t??``):V(w)&&(T=w(t));var E=m?b.getTextColor():r.get(`inactiveColor`);y.add(new Vu({style:nh(b,{text:T,x:S,y:p/2,fill:E,align:C,verticalAlign:`middle`},{inheritColor:E})}));var D=new Iu({shape:y.getBoundingRect(),style:{fill:`transparent`}}),O=r.getModel(`tooltip`);return O.get(`show`)&&Im({el:D,componentModel:i,itemName:t,itemTooltipOption:O.option}),y.add(D),y.eachChild(function(e){e.silent=!0}),D.silent=!l,this.getContentGroup().add(y),uf(y),y.__legendDataIndex=n,y},t.prototype.layoutInner=function(e,t,n,r,i,a){var o=this.getContentGroup(),s=this.getSelectorGroup();n_(e.get(`orient`),o,e.get(`itemGap`),n.width,n.height);var c=o.getBoundingRect(),l=[-c.x,-c.y];if(s.markRedraw(),o.markRedraw(),i){n_(`horizontal`,s,e.get(`selectorItemGap`,!0));var u=s.getBoundingRect(),d=[-u.x,-u.y],f=e.get(`selectorButtonGap`,!0),p=e.getOrient().index,m=p===0?`width`:`height`,h=p===0?`height`:`width`,g=p===0?`y`:`x`;a===`end`?d[p]+=c[m]+f:l[p]+=u[m]+f,d[1-p]+=c[h]/2-u[h]/2,s.x=d[0],s.y=d[1],o.x=l[0],o.y=l[1];var _={x:0,y:0};return _[m]=c[m]+f+u[m],_[h]=Math.max(c[h],u[h]),_[g]=Math.min(0,u[g]+d[1-p]),_}else return o.x=l[0],o.y=l[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type=`legend.plain`,t}(Pb);function e3(e,t,n,r,i,a,o){function s(e,t){e.lineWidth===`auto`&&(e.lineWidth=t.lineWidth>0?2:0),Z4(e,function(n,r){e[r]===`inherit`&&(e[r]=t[r])})}var c=t.getModel(`itemStyle`),l=c.getItemStyle(),u=e.lastIndexOf(`empty`,0)===0?`fill`:`stroke`,d=c.getShallow(`decal`);l.decal=!d||d===`inherit`?r.decal:YS(d,o),l.fill===`inherit`&&(l.fill=r[i]),l.stroke===`inherit`&&(l.stroke=r[u]),l.opacity===`inherit`&&(l.opacity=(i===`fill`?r:n).opacity),s(l,r);var f=t.getModel(`lineStyle`),p=f.getLineStyle();if(s(p,n),l.fill===`auto`&&(l.fill=r.fill),l.stroke===`auto`&&(l.stroke=r.fill),p.stroke===`auto`&&(p.stroke=r.fill),!a){var m=t.get(`inactiveBorderWidth`),h=l[u];l.lineWidth=m===`auto`?r.lineWidth>0&&h?2:0:l.lineWidth,l.fill=t.get(`inactiveColor`),l.stroke=t.get(`inactiveBorderColor`),p.stroke=f.get(`inactiveColor`),p.lineWidth=f.get(`inactiveWidth`)}return{itemStyle:l,lineStyle:p}}function t3(e){var t=e.icon||`roundRect`,n=oS(t,0,0,e.itemWidth,e.itemHeight,e.itemStyle.fill,e.symbolKeepAspect);return n.setStyle(e.itemStyle),n.rotation=(e.iconRotate||0)*Math.PI/180,n.setOrigin([e.itemWidth/2,e.itemHeight/2]),t.indexOf(`empty`)>-1&&(n.style.stroke=n.style.fill,n.style.fill=Q.color.neutral00,n.style.lineWidth=2),n}function n3(e,t,n,r){i3(e,t,n,r),n.dispatchAction({type:`legendToggleSelect`,name:e??t}),r3(e,t,n,r)}function r3(e,t,n,r){n.usingTHL()||n.dispatchAction({type:`highlight`,seriesName:e,name:t,excludeSeriesId:r})}function i3(e,t,n,r){n.usingTHL()||n.dispatchAction({type:`downplay`,seriesName:e,name:t,excludeSeriesId:r})}function a3(e,t,n){var r=e===`allSelect`||e===`inverseSelect`,i={},a=[];n.eachComponent({mainType:`legend`,query:t},function(n){r?n[e]():n[e](t.name),o3(n,i),a.push(n.componentIndex)});var o={};return n.eachComponent(`legend`,function(e){L(i,function(t,n){e[t?`select`:`unSelect`](n)}),o3(e,o)}),r?{selected:o,legendIndex:a}:{name:t.name,selected:o}}function o3(e,t){var n=t||{};return L(e.getData(),function(t){var r=t.get(`name`);if(!(r===` +`||r===``)){var i=e.isSelected(r);K(n,r)?n[r]=n[r]&&i:n[r]=i}}),n}function s3(e){e.registerAction(`legendToggleSelect`,`legendselectchanged`,xe(a3,`toggleSelected`)),e.registerAction(`legendAllSelect`,`legendselectall`,xe(a3,`allSelect`)),e.registerAction(`legendInverseSelect`,`legendinverseselect`,xe(a3,`inverseSelect`)),e.registerAction(`legendSelect`,`legendselected`,xe(a3,`select`)),e.registerAction(`legendUnSelect`,`legendunselected`,xe(a3,`unSelect`))}var c3=vc(l3);function l3(e){var t=e.findComponents({mainType:`legend`});t&&t.length&&e.filterSeries(function(e){for(var n=0;nn[i],m=[-d.x,-d.y];t||(m[r]=c[s]);var h=[0,0],g=[-f.x,-f.y],_=W(e.get(`pageButtonGap`,!0),e.get(`itemGap`,!0));p&&(e.get(`pageButtonPosition`,!0)===`end`?g[r]+=n[i]-f[i]:h[r]+=f[i]+_),g[1-r]+=d[a]/2-f[a]/2,c.setPosition(m),l.setPosition(h),u.setPosition(g);var v={x:0,y:0};if(v[i]=p?n[i]:d[i],v[a]=Math.max(d[a],f[a]),v[o]=Math.min(0,f[o]+g[1-r]),l.__rectSize=n[i],p){var y={x:0,y:0};y[i]=Math.max(n[i]-f[i]-_,0),y[a]=v[a],l.setClipPath(new Iu({shape:y})),l.__rectSize=y[i]}else u.eachChild(function(e){e.attr({invisible:!0,silent:!0})});var b=this._getPageInfo(e);return b.pageIndex!=null&&Yp(c,{x:b.contentPosition[0],y:b.contentPosition[1]},p?e:null),this._updatePageInfoView(e,b),v},t.prototype._pageGo=function(e,t,n){var r=this._getPageInfo(t)[e];r!=null&&n.dispatchAction({type:`legendScroll`,scrollDataIndex:r,legendId:t.id})},t.prototype._updatePageInfoView=function(e,t){var n=this._controllerGroup;L([`pagePrev`,`pageNext`],function(r){var i=t[r+`DataIndex`]!=null,a=n.childOfName(r);a&&(a.setStyle(`fill`,i?e.get(`pageIconColor`,!0):e.get(`pageIconInactiveColor`,!0)),a.cursor=i?`pointer`:`default`)});var r=n.childOfName(`pageText`),i=e.get(`pageFormatter`),a=t.pageIndex,o=a==null?0:a+1,s=t.pageCount;r&&i&&r.setStyle(`text`,H(i)?i.replace(`{current}`,o==null?``:o+``).replace(`{total}`,s==null?``:s+``):i({current:o,total:s}))},t.prototype._getPageInfo=function(e){var t=e.get(`scrollDataIndex`,!0),n=this.getContentGroup(),r=this._containerGroup.__rectSize,i=e.getOrient().index,a=m3[i],o=h3[i],s=this._findTargetItemIndex(t),c=n.children(),l=c[s],u=c.length,d=+!!u,f={contentPosition:[n.x,n.y],pageCount:d,pageIndex:d-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!l)return f;var p=v(l);f.contentPosition[i]=-p.s;for(var m=s+1,h=p,g=p,_=null;m<=u;++m)_=v(c[m]),(!_&&g.e>h.s+r||_&&!y(_,h.s))&&(h=g.i>h.i?g:_,h&&(f.pageNextDataIndex??=h.i,++f.pageCount)),g=_;for(var m=s-1,h=p,g=p,_=null;m>=-1;--m)_=v(c[m]),(!_||!y(g,_.s))&&h.i=t&&e.s<=t+r}},t.prototype._findTargetItemIndex=function(e){if(!this._showController)return 0;var t,n=this.getContentGroup(),r;return n.eachChild(function(n,i){var a=n.__legendDataIndex;r==null&&a!=null&&(r=i),a===e&&(t=i)}),t??r},t.type=`legend.scroll`,t}($4);function _3(e){e.registerAction(`legendScroll`,`legendscroll`,function(e,t){var n=e.scrollDataIndex;n!=null&&t.eachComponent({mainType:`legend`,subType:`scroll`,query:e},function(e){e.setScrollDataIndex(n)})})}function v3(e){Fw(u3),e.registerComponentModel(d3),e.registerComponentView(g3),_3(e)}function y3(e){Fw(u3),Fw(v3)}var b3=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`dataZoom.inside`,t.defaultOption=Ah(h1.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),t}(h1),x3=Bs();function S3(e,t,n){x3(e).coordSysRecordMap.each(function(e){var r=e.dataZoomInfoMap.get(t.uid);r&&(r.getRange=n)})}function C3(e,t){for(var n=x3(e).coordSysRecordMap,r=n.keys(),i=0;ia[i+r]&&(r=n),o&&=t.get(`preventDefaultMouseMove`,!0),s=W(t.get(`cursorGrab`,!0),s),c=W(t.get(`cursorGrabbing`,!0),c)}),{controlType:r,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!o,api:n,zInfo:{component:t.model},triggerInfo:{roamTrigger:null,isInSelf:t.containsPoint},cursorGrab:s,cursorGrabbing:c}}}function k3(e){e.registerUpdateLifecycle(`coordsys:aftercreate`,function(e,t){var n=x3(t),r=n.coordSysRecordMap||=G();r.each(function(e){e.dataZoomInfoMap=null}),e.eachComponent({mainType:`dataZoom`,subType:`inside`},function(e){L(l1(e).infoList,function(n){var i=n.model.uid,a=r.get(i)||r.set(i,T3(t,n.model));(a.dataZoomInfoMap||=G()).set(e.uid,{dzReferCoordSysInfo:n,model:e,getRange:null})})}),r.each(function(e){var n=e.controller,i,a=e.dataZoomInfoMap;if(a){var o=a.keys()[0];o!=null&&(i=a.get(o))}if(!i){w3(r,e);return}var s=O3(a,e,t);n.enable(s.controlType,s.opt),Jb(e,`dispatchAction`,i.model.get(`throttle`,!0),`fixRate`)})})}var A3=function(e){_(t,e);function t(){var t=e!==null&&e.apply(this,arguments)||this;return t.type=`dataZoom.inside`,t}return t.prototype.render=function(t,n,r){if(e.prototype.render.apply(this,arguments),t.noTarget()){this._clear();return}this.range=t.getPercentRange(),S3(r,t,{pan:z(j3.pan,this),zoom:z(j3.zoom,this),scrollMove:z(j3.scrollMove,this)})},t.prototype.dispose=function(){this._clear(),e.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){C3(this.api,this.dataZoomModel),this.range=null},t.type=`dataZoom.inside`,t}(v1),j3={zoom:function(e,t,n,r){var i=this.range,a=i.slice(),o=e.axisModels[0];if(o){var s=N3[t](null,[r.originX,r.originY],o,n,e),c=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],l=Math.max(1/r.scale,0);a[0]=(a[0]-c)*l+c,a[1]=(a[1]-c)*l+c;var u=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(AW(0,a,[0,100],0,u.minSpan,u.maxSpan),this.range=a,i[0]!==a[0]||i[1]!==a[1])return a}},pan:M3(function(e,t,n,r,i,a){var o=N3[r]([a.oldX,a.oldY],[a.newX,a.newY],t,i,n);return o.signal*(e[1]-e[0])*o.pixel/o.pixelLength}),scrollMove:M3(function(e,t,n,r,i,a){return N3[r]([0,0],[a.scrollDelta,a.scrollDelta],t,i,n).signal*(e[1]-e[0])*a.scrollDelta})};function M3(e){return function(t,n,r,i){var a=this.range,o=a.slice(),s=t.axisModels[0];if(s&&(AW(e(o,s,t,n,r,i),o,[0,100],`all`),this.range=o,a[0]!==o[0]||a[1]!==o[1]))return o}}var N3={grid:function(e,t,n,r,i){var a=n.axis,o={},s=i.model.coordinateSystem.getRect();return e||=[0,0],a.dim===`x`?(o.pixel=t[0]-e[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=t[1]-e[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(e,t,n,r,i){var a=n.axis,o={},s=i.model.coordinateSystem,c=s.getRadiusAxis().getExtent(),l=s.getAngleAxis().getExtent();return e=e?s.pointToCoord(e):[0,0],t=s.pointToCoord(t),n.mainType===`radiusAxis`?(o.pixel=t[0]-e[0],o.pixelLength=c[1]-c[0],o.pixelStart=c[0],o.signal=a.inverse?1:-1):(o.pixel=t[1]-e[1],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a.inverse?-1:1),o},singleAxis:function(e,t,n,r,i){var a=n.axis,o=i.model.coordinateSystem.getRect(),s={};return e||=[0,0],a.orient===`horizontal`?(s.pixel=t[0]-e[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=t[1]-e[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};function P3(e){w1(e),e.registerComponentModel(b3),e.registerComponentView(A3),k3(e)}var F3=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.type=`dataZoom.slider`,t.layoutMode=`box`,t.defaultOption=Ah(h1.defaultOption,{show:!0,right:`ph`,top:`ph`,width:`ph`,height:`ph`,left:null,bottom:null,borderColor:Q.color.accent10,borderRadius:0,backgroundColor:Q.color.transparent,dataBackground:{lineStyle:{color:Q.color.accent30,width:.5},areaStyle:{color:Q.color.accent20,opacity:.2}},selectedDataBackground:{lineStyle:{color:Q.color.accent40,width:.5},areaStyle:{color:Q.color.accent20,opacity:.3}},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:Q.color.neutral00,borderColor:Q.color.accent20},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:Q.color.accent40,opacity:.5},showDetail:!0,showDataShadow:`auto`,realtime:!0,zoomLock:!1,textStyle:{color:Q.color.tertiary},brushSelect:!0,brushStyle:{color:Q.color.accent30,opacity:.3},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:Q.color.accent40},moveHandleStyle:{opacity:.8}},defaultLocationEdgeGap:15}),t}(h1),I3=Iu,L3=1,R3=30,z3=7,B3=`horizontal`,V3=`vertical`,H3=5,U3=[`line`,`bar`,`candlestick`,`scatter`],W3={easing:`cubicOut`,duration:100,delay:0},G3=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n._displayables={},n}return t.prototype.init=function(e,t){this.api=t,this._onBrush=z(this._onBrush,this),this._onBrushEnd=z(this._onBrushEnd,this)},t.prototype.render=function(t,n,r,i){if(e.prototype.render.apply(this,arguments),Jb(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()},t.prototype.dispose=function(){this._clear(),e.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){Yb(this,`_dispatchZoomAction`);var e=this.api.getZr();e.off(`mousemove`,this._onBrush),e.off(`mouseup`,this._onBrushEnd)},t.prototype._buildView=function(){var e=this.group;e.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var t=this._displayables.sliderGroup=new Y;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),e.add(t),this._positionGroup()},t.prototype._resetLocation=function(){var e=this.dataZoomModel,t=this.api,n=e.get(`brushSelect`)?z3:0,r=l_(e,t).refContainer,i=this._findCoordRect(),a=e.get(`defaultLocationEdgeGap`,!0)||0,o=this._orient===B3?{right:r.width-i.x-i.width,top:r.height-R3-a-n,width:i.width,height:R3}:{right:a,top:i.y,width:R3,height:i.height},s=m_(e.option);L([`right`,`top`,`width`,`height`],function(e){s[e]===`ph`&&(s[e]=o[e])});var c=o_(s,r);this._location={x:c.x,y:c.y},this._size=[c.width,c.height],this._orient===V3&&this._size.reverse()},t.prototype._positionGroup=function(){var e=this.group,t=this._location,n=this._orient,r=this.dataZoomModel.getFirstTargetAxisModel(),i=r&&r.get(`inverse`),a=this._displayables.sliderGroup,o=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(n===B3&&!i?{scaleY:o?1:-1,scaleX:1}:n===B3&&i?{scaleY:o?1:-1,scaleX:-1}:n===V3&&!i?{scaleY:o?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:o?-1:1,scaleX:-1,rotation:Math.PI/2});var s=e.getBoundingRect([a]),c=isNaN(s.x)?0:s.x,l=isNaN(s.y)?0:s.y;e.x=t.x-c,e.y=t.y-l,e.markRedraw()},t.prototype._getViewExtent=function(){return[0,this._size[0]]},t.prototype._renderBackground=function(){var e=this.dataZoomModel,t=this._size,n=this._displayables.sliderGroup,r=e.get(`brushSelect`);n.add(new I3({silent:!0,shape:{x:0,y:0,width:t[0],height:t[1]},style:{fill:e.get(`backgroundColor`)},z2:-40}));var i=new I3({shape:{x:0,y:0,width:t[0],height:t[1]},style:{fill:`transparent`},z2:0,onclick:z(this._onClickPanel,this)}),a=this.api.getZr();r?(i.on(`mousedown`,this._onBrushStart,this),i.cursor=`crosshair`,a.on(`mousemove`,this._onBrush),a.on(`mouseup`,this._onBrushEnd)):(a.off(`mousemove`,this._onBrush),a.off(`mouseup`,this._onBrushEnd)),n.add(i)},t.prototype._renderDataShadow=function(){var e=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!e)return;var t=this._size,n=this._shadowSize||[],r=e.series,i=r.getRawData(),a=r.getShadowDim&&r.getShadowDim(),o=a&&i.getDimensionInfo(a)?r.getShadowDim():e.otherDim;if(o==null)return;var s=this._shadowPolygonPts,c=this._shadowPolylinePts;if(i!==this._shadowData||o!==this._shadowDim||t[0]!==n[0]||t[1]!==n[1]){var l=i.getDataExtent(e.thisDim),u=i.getDataExtent(o),d=(u[1]-u[0])*.3;u=[u[0]-d,u[1]+d];var f=[0,t[1]],p=[0,t[0]],m=[[t[0],0],[0,0]],h=[],g=p[1]/Math.max(1,i.count()-1),_=t[0]/(l[1]-l[0]),v=e.thisAxis.type===`time`,y=-g,b=Math.round(i.count()/t[0]),x;i.each([e.thisDim,o],function(e,t,n){if(b>0&&n%b){v||(y+=g);return}y=v?(+e-l[0])*_:y+g;var r=t==null||isNaN(t)||t===``,i=r?0:Fo(t,u,f,!0);r&&!x&&n?(m.push([m[m.length-1][0],0]),h.push([h[h.length-1][0],0])):!r&&x&&(m.push([y,0]),h.push([y,0])),r||(m.push([y,i]),h.push([y,i])),x=r}),s=this._shadowPolygonPts=m,c=this._shadowPolylinePts=h}this._shadowData=i,this._shadowDim=o,this._shadowSize=[t[0],t[1]];var S=this.dataZoomModel;function C(e){var t=S.getModel(e?`selectedDataBackground`:`dataBackground`),n=new Y,r=new yp({shape:{points:s},segmentIgnoreThreshold:1,style:t.getModel(`areaStyle`).getAreaStyle(),silent:!0,z2:-20}),i=new xp({shape:{points:c},segmentIgnoreThreshold:1,style:t.getModel(`lineStyle`).getLineStyle(),silent:!0,z2:-19});return n.add(r),n.add(i),n}for(var w=0;w<3;w++){var T=C(w===1);this._displayables.sliderGroup.add(T),this._displayables.dataShadowSegs.push(T)}},t.prototype._prepareDataShadowInfo=function(){var e=this.dataZoomModel,t=e.get(`showDataShadow`);if(t!==!1){var n,r=this.ecModel;return e.eachTargetAxis(function(i,a){L(e.getAxisProxy(i,a).getTargetSeriesModels(),function(e){if(!n&&!(t!==!0&&I(U3,e.get(`type`))<0)){var o=r.getComponent(s1(i),a).axis,s=q3(i),c,l=e.coordinateSystem;s!=null&&l.getOtherAxis&&(c=l.getOtherAxis(o).inverse),s=e.getData().mapDimension(s),n={thisAxis:o,series:e,thisDim:e.getData().mapDimension(i),otherDim:s,otherAxisInverse:c}}},this)},this),n}},t.prototype._renderHandle=function(){var e=this.group,t=this._displayables,n=t.handles=[null,null],r=t.handleLabels=[null,null],i=this._displayables.sliderGroup,a=this._size,o=this.dataZoomModel,s=this.api,c=o.get(`borderRadius`)||0,l=o.get(`brushSelect`),u=t.filler=new I3({silent:l,style:{fill:o.get(`fillerColor`)},textConfig:{position:`inside`}});i.add(u),i.add(new I3({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:a[0],height:a[1],r:c},style:{stroke:o.get(`dataBackgroundColor`)||o.get(`borderColor`),lineWidth:L3,fill:Q.color.transparent}})),L([0,1],function(t){var a=o.get(`handleIcon`);!rS[a]&&a.indexOf(`path://`)<0&&a.indexOf(`image://`)<0&&(a=`path://`+a);var s=oS(a,-1,0,2,2,null,!0);s.attr({cursor:J3(this._orient),draggable:!0,drift:z(this._onDragMove,this,t),ondragend:z(this._onDragEnd,this),onmouseover:z(this._onOverDataInfoTriggerArea,this,!0),onmouseout:z(this._onOverDataInfoTriggerArea,this,!1),z2:5});var c=s.getBoundingRect(),l=o.get(`handleSize`);this._handleHeight=X(l,this._size[1]),this._handleWidth=c.width/c.height*this._handleHeight,s.setStyle(o.getModel(`handleStyle`).getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState(`emphasis`).style=o.getModel([`emphasis`,`handleStyle`]).getItemStyle(),uf(s);var u=o.get(`handleColor`);u!=null&&(s.style.fill=u),i.add(n[t]=s);var d=o.getModel(`textStyle`),f=(o.get(`handleLabel`)||{}).show||!1;e.add(r[t]=new Vu({silent:!0,invisible:!f,style:nh(d,{x:0,y:0,text:``,verticalAlign:`middle`,align:`center`,fill:d.getTextColor(),font:d.getFont()}),z2:10}))},this);var d=u;if(l){var f=X(o.get(`moveHandleSize`),a[1]),p=t.moveHandle=new Iu({style:o.getModel(`moveHandleStyle`).getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:a[1]-.5,height:f}}),m=f*.8,h=t.moveHandleIcon=oS(o.get(`moveHandleIcon`),-m/2,-m/2,m,m,Q.color.neutral00,!0);h.silent=!0,h.y=a[1]+f/2-.5,p.ensureState(`emphasis`).style=o.getModel([`emphasis`,`moveHandleStyle`]).getItemStyle();var g=Math.min(a[1]/2,Math.max(f,10));d=t.moveZone=new Iu({invisible:!0,shape:{y:a[1]-g,height:f+g}}),d.on(`mouseover`,function(){s.enterEmphasis(p)}).on(`mouseout`,function(){s.leaveEmphasis(p)}),i.add(p),i.add(h),i.add(d)}d.attr({draggable:!0,cursor:`grab`,drift:z(this._onActualMoveZoneDrift,this),ondragstart:z(this._onActualMoveZoneDragStart,this),ondragend:z(this._onActualMoveZoneDragEnd,this),onmouseover:z(this._onOverDataInfoTriggerArea,this,!0),onmouseout:z(this._onOverDataInfoTriggerArea,this,!1)})},t.prototype._resetInterval=function(){var e=this._range=this.dataZoomModel.getPercentRange(),t=this._getViewExtent();this._handleEnds=[Fo(e[0],[0,100],t,!0),Fo(e[1],[0,100],t,!0)]},t.prototype._updateInterval=function(e,t){var n=this.dataZoomModel,r=this._handleEnds,i=this._getViewExtent(),a=n.findRepresentativeAxisProxy().getMinMaxSpan(),o=[0,100];AW(t,r,i,n.get(`zoomLock`)?`all`:e,a.minSpan==null?null:Fo(a.minSpan,o,i,!0),a.maxSpan==null?null:Fo(a.maxSpan,o,i,!0));var s=this._range,c=this._range=Vo([Fo(r[0],i,o,!0),Fo(r[1],i,o,!0)]);return!s||s[0]!==c[0]||s[1]!==c[1]},t.prototype._updateView=function(e){var t=this._displayables,n=this._handleEnds,r=Vo(n.slice()),i=this._size;L([0,1],function(e){var r=t.handles[e],a=this._handleHeight;r.attr({scaleX:a/2,scaleY:a/2,x:n[e]+(e?-1:1),y:i[1]/2-a/2})},this),t.filler.setShape({x:r[0],y:0,width:r[1]-r[0],height:i[1]});var a={x:r[0],width:r[1]-r[0]};t.moveHandle&&(t.moveHandle.setShape(a),t.moveZone.setShape(a),t.moveZone.getBoundingRect(),t.moveHandleIcon&&t.moveHandleIcon.attr(`x`,a.x+a.width/2));for(var o=t.dataShadowSegs,s=[0,r[0],r[1],i[0]],c=0;ct[0]||n[1]<0||n[1]>t[1])){var r=this._handleEnds,i=(r[0]+r[1])/2,a=this._updateInterval(`all`,n[0]-i);this._updateView(),a&&this._dispatchZoomAction(!1)}},t.prototype._onBrushStart=function(e){var t=e.offsetX,n=e.offsetY;this._brushStart=new q(t,n),this._brushing=!0,this._brushStartTime=+new Date},t.prototype._onBrushEnd=function(e){if(this._brushing){var t=this._displayables.brushRect;if(this._brushing=!1,t){t.attr(`ignore`,!0);var n=t.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var r=this._getViewExtent(),i=[0,100],a=this._handleEnds=[n.x,n.x+n.width],o=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();AW(0,a,r,0,o.minSpan==null?null:Fo(o.minSpan,i,r,!0),o.maxSpan==null?null:Fo(o.maxSpan,i,r,!0)),this._range=Vo([Fo(a[0],r,i,!0),Fo(a[1],r,i,!0)]),this._updateView(),this._dispatchZoomAction(!1)}}}},t.prototype._onBrush=function(e){this._brushing&&(Ut(e.event),this._updateBrushRect(e.offsetX,e.offsetY))},t.prototype._updateBrushRect=function(e,t){var n=this._displayables,r=this.dataZoomModel,i=n.brushRect;i||(i=n.brushRect=new I3({silent:!0,style:r.getModel(`brushStyle`).getItemStyle()}),n.sliderGroup.add(i)),i.attr(`ignore`,!1);var a=this._brushStart,o=this._displayables.sliderGroup,s=o.transformCoordToLocal(e,t),c=o.transformCoordToLocal(a.x,a.y),l=this._size;s[0]=Math.max(Math.min(l[0],s[0]),0),i.setShape({x:c[0],y:0,width:s[0]-c[0],height:l[1]})},t.prototype._dispatchZoomAction=function(e){var t=this._range;this.api.dispatchAction({type:`dataZoom`,from:this.uid,dataZoomId:this.dataZoomModel.id,animation:e?W3:null,start:t[0],end:t[1]})},t.prototype._findCoordRect=function(){var e,t=l1(this.dataZoomModel).infoList;if(!e&&t.length){var n=t[0].model.coordinateSystem;e=n.getRect&&n.getRect()}if(!e){var r=this.api.getWidth(),i=this.api.getHeight();e={x:r*.2,y:i*.2,width:r*.6,height:i*.6}}return e},t.type=`dataZoom.slider`,t}(v1);function K3(e,t,n,r){var i=e.get(`labelFormatter`),a=e.get(`labelPrecision`);(a==null||a===`auto`)&&(a=n.valuePrecision);var o=n.value[t],s=o==null||isNaN(o)?``:JT(r)||KT(r)?r.getLabel({value:Math.round(o)}):isFinite(a)?Bo(o,a,!0):o+``;return V(i)?i(o,s):H(i)?i.replace(`{value}`,s):s}function q3(e){return{x:`y`,y:`x`,radius:`angle`,angle:`radius`}[e]}function J3(e){return e===`vertical`?`ns-resize`:`ew-resize`}function Y3(e){e.registerComponentModel(F3),e.registerComponentView(G3),w1(e)}function X3(e){Fw(P3),Fw(Y3)}var Z3={get:function(e,t,n){var r=M((Q3[e]||{})[t]);return n&&B(r)?r[r.length-1]:r}},Q3={color:{active:[`#006edd`,`#e0ffff`],inactive:[Q.color.transparent]},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]}},$3=LV.mapVisual,e6=LV.eachVisual,t6=B,n6=L,r6=Vo,i6=Fo,a6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.stateList=[`inRange`,`outOfRange`],n.replacableOptionKeys=[`inRange`,`outOfRange`,`target`,`controller`,`color`],n.layoutMode={type:`box`,ignoreSize:!0},n.dataBound=[-1/0,1/0],n.targetVisuals={},n.controllerVisuals={},n}return t.prototype.init=function(e,t,n){this.mergeDefaultAndTheme(e,n)},t.prototype.optionUpdated=function(e,t){var n=this.option;!t&&p2(n,e,this.replacableOptionKeys),this.textStyleModel=this.getModel(`textStyle`),this.resetItemSize(),this.completeVisualOption()},t.prototype.resetVisual=function(e){var t=this.stateList;e=z(e,this),this.controllerVisuals=f2(this.option.controller,t,e),this.targetVisuals=f2(this.option.target,t,e)},t.prototype.getItemSymbol=function(){return null},t.prototype.getTargetSeriesIndices=function(){var e=this,t=this.option.seriesTargets;if(t){var n=[];return n6(t,function(t){if(t.seriesIndex!=null)n.push(t.seriesIndex);else if(t.seriesId!=null){var r;e.ecModel.eachSeries(function(e){e.id===t.seriesId&&(r=e)}),r&&n.push(r.componentIndex)}}),n}var r=this.option.seriesId,i=this.option.seriesIndex;i==null&&r==null&&(i=`all`);var a=Ks(this.ecModel,`series`,{index:i,id:r},{useDefault:!1,enableAll:!0,enableNone:!1}).models;return R(a,function(e){return e.componentIndex})},t.prototype.eachTargetSeries=function(e,t){L(this.getTargetSeriesIndices(),function(n){var r=this.ecModel.getSeriesByIndex(n);r&&e.call(t,r)},this)},t.prototype.isTargetSeries=function(e){var t=!1;return this.eachTargetSeries(function(n){n===e&&(t=!0)}),t},t.prototype.formatValueText=function(e,t,n){var r=this.option,i=r.precision,a=this.dataBound,o=r.formatter,s;n||=[`<`,`>`],B(e)&&(e=e.slice(),s=!0);var c=t?e:s?[l(e[0]),l(e[1])]:l(e);if(H(o))return o.replace(`{value}`,s?c[0]:c).replace(`{value2}`,s?c[1]:c);if(V(o))return s?o(e[0],e[1]):o(e);if(s)return e[0]===a[0]?n[0]+` `+c[1]:e[1]===a[1]?n[1]+` `+c[0]:c[0]+` - `+c[1];return c;function l(e){return e===a[0]?`min`:e===a[1]?`max`:(+e).toFixed(Math.min(i,20))}},t.prototype.resetExtent=function(){var e=this.option,t=r6([e.min,e.max]);this._dataExtent=t},t.prototype.getDimension=function(e){var t=this,n=this.option.seriesTargets;if(n){var r=ve(n,function(n){return n.seriesIndex!=null&&n.seriesIndex===e||n.seriesId!=null&&n.seriesId===t.ecModel.getSeriesByIndex(e).id});if(r)return r.dimension}return this.option.dimension},t.prototype.getDataDimensionIndex=function(e){var t=e.hostModel.seriesIndex,n=this.getDimension(t);if(n!=null)return e.getDimensionIndex(n);for(var r=e.dimensions,i=r.length-1;i>=0;i--){var a=r[i],o=e.getDimensionInfo(a);if(!o.isCalculationCoord)return o.storeDimIndex}},t.prototype.getExtent=function(){return this._dataExtent.slice()},t.prototype.completeVisualOption=function(){var e=this.ecModel,t=this.option,n={inRange:t.inRange,outOfRange:t.outOfRange},r=t.target||={},i=t.controller||={};N(r,n),N(i,n);var a=this.isCategory();o.call(this,r),o.call(this,i),s.call(this,r,`inRange`,`outOfRange`),c.call(this,i);function o(n){t6(t.color)&&!n.inRange&&(n.inRange={color:t.color.slice().reverse()}),n.inRange=n.inRange||{color:e.get(`gradientColor`)}}function s(e,t,n){var r=e[t],i=e[n];r&&!i&&(i=e[n]={},n6(r,function(e,t){if(LV.isValidType(t)){var n=Z3.get(t,`inactive`,a);n!=null&&(i[t]=n,t===`color`&&!i.hasOwnProperty(`opacity`)&&!i.hasOwnProperty(`colorAlpha`)&&(i.opacity=[0,0]))}}))}function c(e){var t=(e.inRange||{}).symbol||(e.outOfRange||{}).symbol,n=(e.inRange||{}).symbolSize||(e.outOfRange||{}).symbolSize,r=this.get(`inactiveColor`),i=this.getItemSymbol()||`roundRect`;n6(this.stateList,function(o){var s=this.itemSize,c=e[o];c||=e[o]={color:a?r:[r]},c.symbol??=t&&M(t)||(a?i:[i]),c.symbolSize??=n&&M(n)||(a?s[0]:[s[0],s[0]]),c.symbol=$3(c.symbol,function(e){return e===`none`?i:e});var l=c.symbolSize;if(l!=null){var u=-1/0;e6(l,function(e){e>u&&(u=e)}),c.symbolSize=$3(l,function(e){return i6(e,[0,u],[0,s[0]],!0)})}},this)}},t.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get(`itemWidth`)),parseFloat(this.get(`itemHeight`))]},t.prototype.isCategory=function(){return!!this.option.categories},t.prototype.setSelected=function(e){},t.prototype.getSelected=function(){return null},t.prototype.getValueState=function(e){return null},t.prototype.getVisualMeta=function(e){return null},t.type=`visualMap`,t.dependencies=[`series`],t.defaultOption={show:!0,z:4,min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:`vertical`,backgroundColor:Q.color.transparent,borderColor:Q.color.borderTint,contentColor:Q.color.theme[0],inactiveColor:Q.color.disabled,borderWidth:0,padding:Q.size.m,textGap:10,precision:0,textStyle:{color:Q.color.secondary}},t}(__),o6=[20,140],s6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.optionUpdated=function(t,n){e.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(e){e.mappingMethod=`linear`,e.dataExtent=this.getExtent()}),this._resetRange()},t.prototype.resetItemSize=function(){e.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=o6[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=o6[1])},t.prototype._resetRange=function(){var e=this.getExtent(),t=this.option.range;!t||t.auto?(e.auto=1,this.option.range=e):B(t)&&(t[0]>t[1]&&t.reverse(),t[0]=Math.max(t[0],e[0]),t[1]=Math.min(t[1],e[1]))},t.prototype.completeVisualOption=function(){e.prototype.completeVisualOption.apply(this,arguments),L(this.stateList,function(e){var t=this.option.controller[e].symbolSize;t&&t[0]!==t[1]&&(t[0]=t[1]/3)},this)},t.prototype.setSelected=function(e){this.option.range=e.slice(),this._resetRange()},t.prototype.getSelected=function(){var e=this.getExtent(),t=Vo((this.get(`range`)||[]).slice());return t[0]>e[1]&&(t[0]=e[1]),t[1]>e[1]&&(t[1]=e[1]),t[0]=n[1]||e<=t[1])?`inRange`:`outOfRange`},t.prototype.findTargetDataIndices=function(e){var t=[];return this.eachTargetSeries(function(n){var r=[],i=n.getData();i.each(this.getDataDimensionIndex(i),function(t,n){e[0]<=t&&t<=e[1]&&r.push(n)},this),t.push({seriesId:n.id,dataIndex:r})},this),t},t.prototype.getVisualMeta=function(e){var t=c6(this,`outOfRange`,this.getExtent()),n=c6(this,`inRange`,this.option.range.slice()),r=[];function i(t,n){r.push({value:t,color:e(t,n)})}for(var a=0,o=0,s=n.length,c=t.length;oe[1])break;r.push({color:this.getControllerVisual(o,`color`,t),offset:a/n})}return r.push({color:this.getControllerVisual(e[1],`color`,t),offset:1}),r},t.prototype._createBarPoints=function(e,t){var n=this.visualMapModel.itemSize;return[[n[0]-t[0],e[0]],[n[0],e[0]],[n[0],e[1]],[n[0]-t[1],e[1]]]},t.prototype._createBarGroup=function(e){var t=this._orient,n=this.visualMapModel.get(`inverse`);return new Y(t===`horizontal`&&!n?{scaleX:e===`bottom`?1:-1,rotation:Math.PI/2}:t===`horizontal`&&n?{scaleX:e===`bottom`?-1:1,rotation:-Math.PI/2}:t===`vertical`&&!n?{scaleX:e===`left`?1:-1,scaleY:-1}:{scaleX:e===`left`?1:-1})},t.prototype._updateHandle=function(e,t){if(this._useHandle){var n=this._shapes,r=this.visualMapModel,i=n.handleThumbs,a=n.handleLabels,o=r.itemSize,s=r.getExtent(),c=this._applyTransform(`left`,n.mainGroup);m6([0,1],function(l){var u=i[l];u.setStyle(`fill`,t.handlesColor[l]),u.y=e[l];var d=p6(e[l],[0,o[1]],s,!0),f=this.getControllerVisual(d,`symbolSize`);u.scaleX=u.scaleY=f/o[0],u.x=o[0]-f/2;var p=xm(n.handleLabelPoints[l],bm(u,this.group));if(this._orient===`horizontal`){var m=c===`left`||c===`top`?(o[0]-f)/2:(o[0]-f)/-2;p[1]+=m}a[l].setStyle({x:p[0],y:p[1],text:r.formatValueText(this._dataInterval[l]),verticalAlign:`middle`,align:this._orient===`vertical`?this._applyTransform(`left`,n.mainGroup):`center`})},this)}},t.prototype._showIndicator=function(e,t,n,r){var i=this.visualMapModel,a=i.getExtent(),o=i.itemSize,s=[0,o[1]],c=this._shapes,l=c.indicator;if(l){l.attr(`invisible`,!1);var u=this.getControllerVisual(e,`color`,{convertOpacityToAlpha:!0}),d=this.getControllerVisual(e,`symbolSize`),f=p6(e,a,s,!0),p=o[0]-d/2,m={x:l.x,y:l.y};l.y=f,l.x=p;var h=xm(c.indicatorLabelPoint,bm(l,this.group)),g=c.indicatorLabel;g.attr(`invisible`,!1);var _=this._applyTransform(`left`,c.mainGroup),v=this._orient===`horizontal`;g.setStyle({text:(n||``)+i.formatValueText(t),verticalAlign:v?_:`middle`,align:v?`center`:_});var y={x:p,y:f,style:{fill:u}},b={style:{x:h[0],y:h[1]}};if(i.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var x={duration:100,easing:`cubicInOut`,additive:!0};l.x=m.x,l.y=m.y,l.animateTo(y,x),g.animateTo(b,x)}else l.attr(y),g.attr(b);this._firstShowIndicator=!1;var S=this._shapes.handleLabels;if(S)for(var C=0;Ci[1]&&(l[1]=1/0),t&&(l[0]===-1/0?this._showIndicator(c,l[1],`< `,o):l[1]===1/0?this._showIndicator(c,l[0],`> `,o):this._showIndicator(c,c,`≈ `,o));var u=this._hoverLinkDataIndices,d=[];(t||S6(n))&&(d=this._hoverLinkDataIndices=n.findTargetDataIndices(l));var f=Rs(u,d);this._dispatchHighDown(`downplay`,f6(f[0],n)),this._dispatchHighDown(`highlight`,f6(f[1],n))}},t.prototype._hoverLinkFromSeriesMouseOver=function(e){var t;if(Rx(e.target,function(e){var n=Z(e);if(n.dataIndex!=null)return t=n,!0},!0),t){var n=this.ecModel.getSeriesByIndex(t.seriesIndex),r=this.visualMapModel;if(r.isTargetSeries(n)){var i=n.getData(t.dataType),a=i.getStore().get(r.getDataDimensionIndex(i),t.dataIndex);isNaN(a)||this._showIndicator(a,a)}}},t.prototype._hideIndicator=function(){var e=this._shapes;e.indicator&&e.indicator.attr(`invisible`,!0),e.indicatorLabel&&e.indicatorLabel.attr(`invisible`,!0);var t=this._shapes.handleLabels;if(t)for(var n=0;n=0&&(i.dimension=a,r.push(i))}}),e.getData().setVisual(`visualMeta`,r)}}];function D6(e,t,n,r){for(var i=t.targetVisuals[r],a=LV.prepareVisualTypes(i),o={color:Nx(e.getData(),`color`)},s=0,c=a.length;s0:e.splitNumber>0)||e.calculable)?`continuous`:`piecewise`}),e.registerAction(w6,T6),L(E6,function(t){e.registerVisual(e.PRIORITY.VISUAL.COMPONENT,t)}),e.registerPreprocessor(k6))}function N6(e){e.registerComponentModel(s6),e.registerComponentView(y6),M6(e)}var P6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n._pieceList=[],n}return t.prototype.optionUpdated=function(t,n){e.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var r=this._mode=this._determineMode();this._pieceList=[],F6[this._mode].call(this,this._pieceList),this._resetSelected(t,n);var i=this.option.categories;this.resetVisual(function(e,t){r===`categories`?(e.mappingMethod=`category`,e.categories=M(i)):(e.dataExtent=this.getExtent(),e.mappingMethod=`piecewise`,e.pieceList=R(this._pieceList,function(e){return e=M(e),t!==`inRange`&&(e.visual=null),e}))})},t.prototype.completeVisualOption=function(){var t=this.option,n={},r=LV.listVisualTypes(),i=this.isCategory();L(t.pieces,function(e){L(r,function(t){e.hasOwnProperty(t)&&(n[t]=1)})}),L(n,function(e,n){var r=!1;L(this.stateList,function(e){r=r||a(t,e,n)||a(t.target,e,n)},this),!r&&L(this.stateList,function(e){(t[e]||(t[e]={}))[n]=Z3.get(n,e===`inRange`?`active`:`inactive`,i)})},this);function a(e,t,n){return e&&e[t]&&e[t].hasOwnProperty(n)}e.prototype.completeVisualOption.apply(this,arguments)},t.prototype._resetSelected=function(e,t){var n=this.option,r=this._pieceList,i=(t?n:e).selected||{};if(n.selected=i,L(r,function(e,t){var n=this.getSelectedMapKey(e);i.hasOwnProperty(n)||(i[n]=!0)},this),n.selectedMode===`single`){var a=!1;L(r,function(e,t){var n=this.getSelectedMapKey(e);i[n]&&(a?i[n]=!1:a=!0)},this)}},t.prototype.getItemSymbol=function(){return this.get(`itemSymbol`)},t.prototype.getSelectedMapKey=function(e){return this._mode===`categories`?e.value+``:e.index+``},t.prototype.getPieceList=function(){return this._pieceList},t.prototype._determineMode=function(){var e=this.option;return e.pieces&&e.pieces.length>0?`pieces`:this.option.categories?`categories`:`splitNumber`},t.prototype.setSelected=function(e){this.option.selected=M(e)},t.prototype.getValueState=function(e){var t=LV.findPieceIndex(e,this._pieceList);return t==null?`outOfRange`:this.option.selected[this.getSelectedMapKey(this._pieceList[t])]?`inRange`:`outOfRange`},t.prototype.findTargetDataIndices=function(e){var t=[],n=this._pieceList;return this.eachTargetSeries(function(r){var i=[],a=r.getData();a.each(this.getDataDimensionIndex(a),function(t,r){LV.findPieceIndex(t,n)===e&&i.push(r)},this),t.push({seriesId:r.id,dataIndex:i})},this),t},t.prototype.getRepresentValue=function(e){var t;if(this.isCategory())t=e.value;else if(e.value!=null)t=e.value;else{var n=e.interval||[];t=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return t},t.prototype.getVisualMeta=function(e){if(this.isCategory())return;var t=[],n=[``,``],r=this;function i(i,a){var o=r.getRepresentValue({interval:i});a||=r.getValueState(o);var s=e(o,a);i[0]===-1/0?n[0]=s:i[1]===1/0?n[1]=s:t.push({value:i[0],color:s},{value:i[1],color:s})}var a=this._pieceList.slice();if(!a.length)a.push({interval:[-1/0,1/0]});else{var o=a[0].interval[0];o!==-1/0&&a.unshift({interval:[-1/0,o]}),o=a[a.length-1].interval[1],o!==1/0&&a.push({interval:[o,1/0]})}var s=-1/0;return L(a,function(e){var t=e.interval;t&&(t[0]>s&&i([s,t[0]],`outOfRange`),i(t.slice()),s=t[1])},this),{stops:t,outerColors:n}},t.type=`visualMap.piecewise`,t.defaultOption=Ah(a6.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}),t}(a6),F6={splitNumber:function(e){var t=this.option,n=Math.min(t.precision,20),r=this.getExtent(),i=t.splitNumber;i=Math.max(parseInt(i,10),1),t.splitNumber=i;for(var a=(r[1]-r[0])/i;+a.toFixed(n)!==a&&n<5;)n++;t.precision=n,a=+a.toFixed(n),t.minOpen&&e.push({interval:[-1/0,r[0]],close:[0,0]});for(var o=0,s=r[0];o`,`≥`][t[0]]];e.text=e.text||this.formatValueText(e.value==null?e.interval:e.value,!1,n)},this)}};function I6(e,t){var n=e.inverse;(e.orient===`vertical`?!n:n)&&t.reverse()}var L6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.doRender=function(){var e=this.group;e.removeAll();var t=this.visualMapModel,n=t.get(`textGap`),r=t.textStyleModel,i=this._getItemAlign(),a=t.itemSize,o=this._getViewData(),s=o.endsText,c=je(t.get(`showLabel`,!0),!s),l=!t.get(`selectedMode`);s&&this._renderEndsText(e,s[0],a,c,i),L(o.viewPieceList,function(o){var s=o.piece,u=new Y;u.onclick=z(this._onItemClick,this,s),this._enableHoverLink(u,o.indexInModelPieceList);var d=t.getRepresentValue(s);if(this._createItemSymbol(u,d,[0,0,a[0],a[1]],l),c){var f=this.visualMapModel.getValueState(d),p=r.get(`align`)||i;u.add(new Vu({style:nh(r,{x:p===`right`?-n:a[0]+n,y:a[1]/2,text:s.text,verticalAlign:r.get(`verticalAlign`)||`middle`,align:p,opacity:W(r.get(`opacity`),f===`outOfRange`?.5:1)}),silent:l}))}e.add(u)},this),s&&this._renderEndsText(e,s[1],a,c,i),n_(t.get(`orient`),e,t.get(`itemGap`)),this.renderBackground(e),this.positionGroup(e)},t.prototype._enableHoverLink=function(e,t){var n=this;e.on(`mouseover`,function(){return r(`highlight`)}).on(`mouseout`,function(){return r(`downplay`)});var r=function(e){var r=n.visualMapModel;r.option.hoverLink&&n.api.dispatchAction({type:e,batch:f6(r.findTargetDataIndices(t),r)})}},t.prototype._getItemAlign=function(){var e=this.visualMapModel,t=e.option;if(t.orient===`vertical`)return d6(e,this.api,e.itemSize);var n=t.align;return(!n||n===`auto`)&&(n=`left`),n},t.prototype._renderEndsText=function(e,t,n,r,i){if(t){var a=new Y,o=this.visualMapModel.textStyleModel;a.add(new Vu({style:nh(o,{x:r?i===`right`?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:`middle`,align:r?i:`center`,text:t})})),e.add(a)}},t.prototype._getViewData=function(){var e=this.visualMapModel,t=R(e.getPieceList(),function(e,t){return{piece:e,indexInModelPieceList:t}}),n=e.get(`text`),r=e.get(`orient`),i=e.get(`inverse`);return(r===`horizontal`?i:!i)?t.reverse():n&&=n.slice().reverse(),{viewPieceList:t,endsText:n}},t.prototype._createItemSymbol=function(e,t,n,r){var i=oS(this.getControllerVisual(t,`symbol`),n[0],n[1],n[2],n[3],this.getControllerVisual(t,`color`));i.silent=r,e.add(i)},t.prototype._onItemClick=function(e){var t=this.visualMapModel,n=t.option,r=n.selectedMode;if(r){var i=M(n.selected),a=t.getSelectedMapKey(e);r===`single`||r===!0?(i[a]=!0,L(i,function(e,t){i[t]=t===a})):i[a]=!i[a],this.api.dispatchAction({type:`selectDataRange`,from:this.uid,visualMapId:this.visualMapModel.id,selected:i})}},t.type=`visualMap.piecewise`,t}(l6);function R6(e){e.registerComponentModel(P6),e.registerComponentView(L6),M6(e)}function z6(e){Fw(N6),Fw(R6)}var B6=function(){function e(e){this._thumbnailModel=e}return e.prototype.reset=function(e){this._renderVersion=e.getECUpdateCycleVersion()},e.prototype.renderContent=function(e){var t=e.api.getViewOfComponentModel(this._thumbnailModel);t&&(e.group.silent=!0,t.renderContent({group:e.group,targetTrans:e.targetTrans,z2Range:Wm(e.group),roamType:e.roamType,viewportRect:e.viewportRect,renderVersion:this._renderVersion}))},e.prototype.updateWindow=function(e,t){var n=t.getViewOfComponentModel(this._thumbnailModel);n&&n.updateWindow({targetTrans:e,renderVersion:this._renderVersion})},e}(),V6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n.preventAutoZ=!0,n}return t.prototype.optionUpdated=function(e,t){this._updateBridge()},t.prototype._updateBridge=function(){var e=this._birdge=this._birdge||new B6(this);this._target=null,this.ecModel.eachSeries(function(e){CU(e,null)}),this.shouldShow()&&CU(this.getTarget().baseMapProvider,e)},t.prototype.shouldShow=function(){return this.getShallow(`show`,!0)},t.prototype.getBridge=function(){return this._birdge},t.prototype.getTarget=function(){if(this._target)return this._target;var e=this.getReferringComponents(`series`,{useDefault:!1,enableAll:!1,enableNone:!1}).models[0];return e?e.subType!==`graph`&&(e=null):e=this.ecModel.queryComponents({mainType:`series`,subType:`graph`})[0],this._target={baseMapProvider:e},this._target},t.type=`thumbnail`,t.layoutMode=`box`,t.dependencies=[`series`,`geo`],t.defaultOption={show:!0,right:1,bottom:1,height:`25%`,width:`25%`,itemStyle:{borderColor:Q.color.border,borderWidth:2},windowStyle:{borderWidth:1,color:Q.color.neutral30,borderColor:Q.color.neutral40,opacity:.3},z:10},t}(__),H6=function(e){_(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=t.type,n}return t.prototype.render=function(e,t,n){if(this._api=n,this._model=e,this._coordSys||=new aR,!this._isEnabled()){this._clear();return}this._renderVersion=n.getECUpdateCycleVersion();var r=this.group;r.removeAll();var i=e.getModel(`itemStyle`),a=i.getItemStyle();a.fill??=t.get(`backgroundColor`)||Q.color.neutral00;var o=l_(e,n).refContainer,s=o_(r_(e,!0),o),c=a.lineWidth||0,l=this._contentRect=Nm(s.clone(),c/2,!0,!0),u=new Y;r.add(u),u.setClipPath(new Iu({shape:l.plain()}));var d=this._targetGroup=new Y;u.add(d);var f=s.plain();f.r=i.getShallow(`borderRadius`,!0),r.add(this._bgRect=new Iu({style:a,shape:f,silent:!1,cursor:`grab`}));var p=e.getModel(`windowStyle`),m=p.getShallow(`borderRadius`,!0);u.add(this._windowRect=new Iu({shape:{x:0,y:0,width:0,height:0,r:m},style:p.getItemStyle(),silent:!1,cursor:`grab`})),this._dealRenderContent(),this._dealUpdateWindow(),W6(e,this)},t.prototype.renderContent=function(e){this._bridgeRendered=e,this._isEnabled()&&(this._dealRenderContent(),this._dealUpdateWindow(),W6(this._model,this))},t.prototype._dealRenderContent=function(){var e=this._bridgeRendered;if(!(!e||e.renderVersion!==this._renderVersion)){var t=this._targetGroup,n=this._coordSys,r=this._contentRect;if(t.removeAll(),e){var i=e.group,a=i.getBoundingRect();t.add(i),this._bgRect.z2=e.z2Range.min-10,_R(n,a.x,a.y,a.width,a.height);var o=o_({left:`center`,top:`center`,aspect:a.width/a.height},r);vR(n,o.x,o.y,o.width,o.height),dR(i,n,0),i.dirty(),this._windowRect.z2=e.z2Range.max+10,this._resetRoamController(e.roamType)}}},t.prototype.updateWindow=function(e){var t=this._bridgeRendered;t&&t.renderVersion===e.renderVersion&&(t.targetTrans=e.targetTrans),this._isEnabled()&&this._dealUpdateWindow()},t.prototype._dealUpdateWindow=function(){var e=this._bridgeRendered;if(!(!e||e.renderVersion!==this._renderVersion)){var t=nn([],e.targetTrans),n=Qt([],sR(null,this._coordSys),t);this._transThisToTarget=nn([],n);var r=e.viewportRect;r=r?r.clone():new J(0,0,this._api.getWidth(),this._api.getHeight()),r.applyTransform(n);var i=this._windowRect,a=i.shape.r;i.setShape(F({r:a},r))}},t.prototype._resetRoamController=function(e){var t=this,n=this._api,r=this._roamController;if(r||=this._roamController=new eL(n.getZr()),!e||!this._isEnabled()){r.disable();return}r.enable(e,{api:n,zInfo:{component:this._model},triggerInfo:{roamTrigger:null,isInSelf:function(e,n,r){return t._contentRect.contain(n,r)}}}),r.off(`pan`).off(`zoom`).on(`pan`,z(this._onPan,this)).on(`zoom`,z(this._onZoom,this))},t.prototype._onPan=function(e){var t=this._transThisToTarget;if(!(!this._isEnabled()||!t)){var n=pt([],[e.oldX,e.oldY],t),r=pt([],[e.oldX-e.dx,e.oldY-e.dy],t);this._api.dispatchAction(U6(this._model.getTarget().baseMapProvider,{dx:r[0]-n[0],dy:r[1]-n[1]}))}},t.prototype._onZoom=function(e){var t=this._transThisToTarget;if(!(!this._isEnabled()||!t)){var n=pt([],[e.originX,e.originY],t);this._api.dispatchAction(U6(this._model.getTarget().baseMapProvider,{zoom:1/e.scale,originX:n[0],originY:n[1]}))}},t.prototype._isEnabled=function(){var e=this._model;return!(!e||!e.shouldShow()||!e.getTarget().baseMapProvider)},t.prototype._clear=function(){this.group.removeAll(),this._bridgeRendered=null,this._roamController&&this._roamController.disable()},t.prototype.remove=function(){this._clear()},t.prototype.dispose=function(){this._clear()},t.type=`thumbnail`,t}(Pb);function U6(e,t){var n={type:e.mainType===`series`?e.subType+`Roam`:e.mainType+`Roam`};return n[e.mainType+`Id`]=e.id,P(n,t),n}function W6(e,t){var n=Um(e);Gm(t.group,n.z,n.zlevel)}function G6(e){e.registerComponentModel(V6),e.registerComponentView(H6)}var K6={label:{enabled:!0},decal:{show:!1}},q6=Bs(),J6=Bs(),Y6=vc(X6);function X6(e,t){var n=e.getModel(`aria`);if(!n.get(`enabled`))return;var r=J6(e).scope||(J6(e).scope={}),i=M(K6);N(i.label,e.getLocaleModel().get(`aria`),!1),N(n.option,i,!1),a(),o();function a(){if(n.getModel(`decal`).get(`show`)){var t=G();e.eachSeries(function(e){e.isColorBySeries()||(q6(e).scope=t.get(e.type)||t.set(e.type,{}))}),e.eachSeries(function(t){if(V(t.enableAriaDecal)){t.enableAriaDecal();return}var n=t.getData();if(t.isColorBySeries()){var i=H_(t.ecModel,t.name,r,e.getSeriesCount()),a=n.getVisual(`decal`);n.setVisual(`decal`,u(a,i))}else{var o=t.getRawData(),s={},c=q6(t).scope;n.each(function(e){var t=n.getRawIndex(e);s[t]=e});var l=o.count();o.each(function(e){var r=s[e],i=o.getName(e)||e+``,a=H_(t.ecModel,i,c,l),d=n.getItemVisual(r,`decal`);n.setItemVisual(r,`decal`,u(d,a))})}function u(e,t){var n=e?P(P({},t),e):t;return n.dirty=!0,n}})}}function o(){var r=t.getZr().dom;if(r){var i=e.getLocaleModel().get(`aria`),a=n.getModel(`label`);if(a.option=F(a.option,i),a.get(`enabled`)){if(r.setAttribute(`role`,`img`),a.get(`description`)){r.setAttribute(`aria-label`,a.get(`description`));return}var o=e.getSeriesCount(),u=a.get([`data`,`maxCount`])||10,d=a.get([`series`,`maxCount`])||10,f=Math.min(o,d),p;if(!(o<1)){var m=c();p=m?s(a.get([`general`,`withTitle`]),{title:m}):a.get([`general`,`withoutTitle`]);var h=[],g=o>1?a.get([`series`,`multiple`,`prefix`]):a.get([`series`,`single`,`prefix`]);p+=s(g,{seriesCount:o}),e.eachSeries(function(e,t){if(t1?a.get([`series`,`multiple`,r]):a.get([`series`,`single`,r]),n=s(n,{seriesId:e.seriesIndex,seriesName:e.get(`name`),seriesType:l(e.subType)});var i=e.getData();if(i.count()>u){var c=a.get([`data`,`partialData`]);n+=s(c,{displayCnt:u})}else n+=a.get([`data`,`allData`]);for(var d=a.get([`data`,`separator`,`middle`]),p=a.get([`data`,`separator`,`end`]),m=a.get([`data`,`excludeDimensionId`]),g=[],_=0;_":`gt`,">=":`gte`,"=":`eq`,"!=":`ne`,"<>":`ne`},e8=function(){function e(e){(this._condVal=H(e)?new RegExp(e):ke(e)?e:null)??ms(``)}return e.prototype.evaluate=function(e){var t=typeof e;return H(t)?this._condVal.test(e):Ce(t)?this._condVal.test(e+``):!1},e}(),t8=function(){function e(){}return e.prototype.evaluate=function(){return this.value},e}(),n8=function(){function e(){}return e.prototype.evaluate=function(){for(var e=this.children,t=0;t2&&r.push(i),i=[e,t]}function u(e,t,n,r){b8(e,n)&&b8(t,r)||i.push(e,t,n,r,n,r)}function d(e,t,n,r,a,o){var s=Math.abs(t-e),c=Math.tan(s/4)*4/3,l=tw:D2&&r.push(i),r}function S8(e,t,n,r,i,a,o,s,c,l){if(b8(e,n)&&b8(t,r)&&b8(i,o)&&b8(a,s)){c.push(o,s);return}var u=2/l,d=u*u,f=o-e,p=s-t,m=Math.sqrt(f*f+p*p);f/=m,p/=m;var h=n-e,g=r-t,_=i-o,v=a-s,y=h*h+g*g,b=_*_+v*v;if(y=0&&w=0){c.push(o,s);return}var T=[],E=[];_r(e,n,i,o,.5,T),_r(t,r,a,s,.5,E),S8(T[0],E[0],T[1],E[1],T[2],E[2],T[3],E[3],c,l),S8(T[4],E[4],T[5],E[5],T[6],E[6],T[7],E[7],c,l)}function C8(e,t){var n=x8(e),r=[];t||=1;for(var i=0;i0)for(var l=0;lMath.abs(l),d=w8([c,l],+!u,t),f=(u?s:l)/d.length,p=0;pi,o=w8([r,i],+!a,t),s=a?`width`:`height`,c=a?`height`:`width`,l=a?`x`:`y`,u=a?`y`:`x`,d=e[s]/o.length,f=0;f1?null:new q(p*c+e,p*l+t)}function k8(e,t,n){var r=new q;q.sub(r,n,t),r.normalize();var i=new q;return q.sub(i,e,t),i.dot(r)}function A8(e,t){var n=e[e.length-1];n&&n[0]===t[0]&&n[1]===t[1]||e.push(t)}function j8(e,t,n){for(var r=e.length,i=[],a=0;ao?(l.x=u.x=s+a/2,l.y=c,u.y=c+o):(l.y=u.y=c+o/2,l.x=s,u.x=s+a),j8(t,l,u)}function N8(e,t,n,r){if(n===1)r.push(t);else{var i=Math.floor(n/2),a=e(t);N8(e,a[0],i,r),N8(e,a[1],n-i,r)}return r}function P8(e,t){for(var n=[],r=0;r0)for(var x=r/n,S=-r/2;S<=r/2;S+=x){for(var C=Math.sin(S),w=Math.cos(S),T=0,y=0;y0;l/=2){var u=0,d=0;(e&l)>0&&(u=1),(t&l)>0&&(d=1),s+=l*l*(3*u^d),d===0&&(u===1&&(e=l-1-e,t=l-1-t),c=e,e=t,t=c)}return s}function $8(e){var t=1/0,n=1/0,r=-1/0,i=-1/0;return R(R(e,function(e){var a=e.getBoundingRect(),o=e.getComputedTransform(),s=a.x+a.width/2+(o?o[4]:0),c=a.y+a.height/2+(o?o[5]:0);return t=Math.min(s,t),n=Math.min(c,n),r=Math.max(s,r),i=Math.max(c,i),[s,c]}),function(a,o){return{cp:a,z:Q8(a[0],a[1],t,n,r,i),path:e[o]}}).sort(function(e,t){return e.z-t.z}).map(function(e){return e.path})}function e5(e){return L8(e.path,e.count)}function t5(){return{fromIndividuals:[],toIndividuals:[],count:0}}function n5(e,t,n){var r=[];function i(e){for(var t=0;t=0;i--)if(!n[i].many.length){var c=n[s].many;if(c.length<=1)if(s)s=0;else return n;var a=c.length,l=Math.ceil(a/2);n[i].many=c.slice(l,a),n[s].many=c.slice(0,l),s++}return n}var o5={clone:function(e){for(var t=[],n=1-(1-e.path.style.opacity)**(1/e.count),r=0;r0))return;var s=r.getModel(`universalTransition`).get(`delay`),c=P({setToFinal:!0},o),l,u;i5(e)&&(l=e,u=t),i5(t)&&(l=t,u=e);function d(e,t,r,i,o){var l=e.many,u=e.one;if(l.length===1&&!o){var f=t?l[0]:u,p=t?u:l[0];if(G8(f))d({many:[f],one:p},!0,r,i,!0);else{var m=s?F({delay:s(r,i)},c):c;Z8(f,p,m),a(f,p,f,p,m)}}else for(var h=F({dividePath:o5[n],individualDelay:s&&function(e,t,n,a){return s(e+r,i)}},c),g=t?n5(l,u,h):r5(u,l,h),_=g.fromIndividuals,v=g.toIndividuals,y=_.length,b=0;bt.length,p=l?a5(u,l):a5(f?t:e,[f?e:t]),m=0,h=0;hl5))for(var i=n.getIndices(),a=0;a0&&r.group.traverse(function(e){e instanceof Su&&!e.animators.length&&e.animateFrom({style:{opacity:0}},i)})})}function w5(e){return e.getModel(`universalTransition`).get(`seriesKey`)||e.id}function T5(e){return B(e)?e.sort().join(`,`):e}function E5(e){if(e.hostModel)return e.hostModel.getModel(`universalTransition`).get(`divideShape`)}function D5(e,t){var n=G(),r=G(),i=G();return L(e.oldSeries,function(t,n){var a=e.oldDataGroupIds[n],o=e.oldData[n],s=w5(t),c=T5(s);r.set(c,{dataGroupId:a,data:o}),B(s)&&L(s,function(e){i.set(e,{key:c,dataGroupId:a,data:o})})}),L(t.updatedSeries,function(e){if(e.isUniversalTransitionEnabled()&&e.isAnimationEnabled()){var t=e.get(`dataGroupId`),a=e.getData(),o=w5(e),s=T5(o),c=r.get(s);if(c)n.set(s,{oldSeries:[{dataGroupId:c.dataGroupId,divide:E5(c.data),data:c.data}],newSeries:[{dataGroupId:t,divide:E5(a),data:a}]});else if(B(o)){var l=[];L(o,function(e){var t=r.get(e);t.data&&l.push({dataGroupId:t.dataGroupId,divide:E5(t.data),data:t.data})}),l.length&&n.set(s,{oldSeries:l,newSeries:[{dataGroupId:t,data:a,divide:E5(a)}]})}else{var u=i.get(o);if(u){var d=n.get(u.key);d||(d={oldSeries:[{dataGroupId:u.dataGroupId,data:u.data,divide:E5(u.data)}],newSeries:[]},n.set(u.key,d)),d.newSeries.push({dataGroupId:t,data:a,divide:E5(a)})}}}}),n}function O5(e,t){for(var n=0;n=0&&i.push({dataGroupId:t.oldDataGroupIds[n],data:t.oldData[n],divide:E5(t.oldData[n]),groupIdDim:e.dimension})}),L(vs(e.to),function(e){var r=O5(n.updatedSeries,e);if(r>=0){var i=n.updatedSeries[r].getData();a.push({dataGroupId:t.oldDataGroupIds[r],data:i,divide:E5(i),groupIdDim:e.dimension})}}),i.length>0&&a.length>0&&C5(i,a,r)}function A5(e){e.registerUpdateLifecycle(`series:beforeupdate`,function(e,t,n){L(vs(n.seriesTransition),function(e){L(vs(e.to),function(e){for(var t=n.updatedSeries,r=0;ro.vmin?n+=o.vmin-r+(e-o.vmin)/(o.vmax-o.vmin)*o.gapReal:n+=e-r,r=o.vmax,i=!1;break}n+=o.vmin-r+o.gapReal,r=o.vmax}return i&&(n+=e-r),n},transformOut:function(e,t){if(t&&t.depth===2)return e;for(var n=N5,r=P5,i=!0,a=0,o=0;oc?s.vmin+(e-c)/(l-c)*(s.vmax-s.vmin):r+e-n,r=s.vmax,i=!1;break}n=l,r=s.vmax}return i&&(a=r+e-n),a}},e}();function M5(e,t){return new j5(e,t)}var N5=0,P5=0;function F5(e,t){var n=0,r={tpAbs:{span:0,val:0},tpPrct:{span:0,val:0}},i=function(){return{has:!1,span:NaN,inExtFrac:NaN,val:NaN}},a={S:{tpAbs:i(),tpPrct:i()},E:{tpAbs:i(),tpPrct:i()}};L(e.breaks,function(e){var i=e.gapParsed;i.type===`tpPrct`&&(n+=i.val);var o=R5(e,t);if(o){var s=o.vmin!==e.vmin,c=o.vmax!==e.vmax,l=o.vmax-o.vmin;if(!(s&&c))if(s||c){var u=s?`S`:`E`;a[u][i.type].has=!0,a[u][i.type].span=l,a[u][i.type].inExtFrac=l/(e.vmax-e.vmin),a[u][i.type].val=i.val}else r[i.type].span+=l,r[i.type].val+=i.val}});var o=n*(0+(t[1]-t[0])+(r.tpAbs.val-r.tpAbs.span)+(a.S.tpAbs.has?(a.S.tpAbs.val-a.S.tpAbs.span)*a.S.tpAbs.inExtFrac:0)+(a.E.tpAbs.has?(a.E.tpAbs.val-a.E.tpAbs.span)*a.E.tpAbs.inExtFrac:0)-r.tpPrct.span-(a.S.tpPrct.has?a.S.tpPrct.span*a.S.tpPrct.inExtFrac:0)-(a.E.tpPrct.has?a.E.tpPrct.span*a.E.tpPrct.inExtFrac:0))/(1-r.tpPrct.val-(a.S.tpPrct.has?a.S.tpPrct.val*a.S.tpPrct.inExtFrac:0)-(a.E.tpPrct.has?a.E.tpPrct.val*a.E.tpPrct.inExtFrac:0));L(e.breaks,function(e){var t=e.gapParsed;t.type===`tpPrct`&&(e.gapReal=n===0?0:To(o,0)*t.val/n),t.type===`tpAbs`&&(e.gapReal=t.val),e.gapReal??=0})}function I5(e,t,n,r,i,a){e!==`no`&&L(n,function(n){var o=R5(n,a);if(o)for(var s=t.length-1;s>=0;s--){var c=t[s],l=r(c),u=i*3/4;l>o.vmin-u&&lt[0]&&n=0&&e<.99999}L(e,function(e){if(!(!e||e.start==null||e.end==null)&&!e.isExpanded){var a={breakOption:M(e),vmin:t.parse(e.start),vmax:t.parse(e.end),gapParsed:{type:`tpAbs`,val:0},gapReal:null};if(e.gap!=null){var o=!1;if(H(e.gap)){var s=Ie(e.gap);if(s.match(/%$/)){var c=parseFloat(s)/100;i(c,`Percent gap`)||(c=0),a.gapParsed.type=`tpPrct`,a.gapParsed.val=c,o=!0}}if(!o){var l=t.parse(e.gap);(!isFinite(l)||l<0)&&(l=0),a.gapParsed.type=`tpAbs`,a.gapParsed.val=l}}if(a.vmin===a.vmax&&(a.gapParsed.type=`tpAbs`,a.gapParsed.val=0),n&&n.noNegative&&L([`vmin`,`vmax`],function(e){a[e]<0&&(a[e]=0)}),a.vmin>a.vmax){var u=a.vmax;a.vmax=a.vmin,a.vmin=u}r.push(a)}}),r.sort(function(e,t){return e.vmin-t.vmin});var a=-1/0;return L(r,function(e,t){a>e.vmin&&(r[t]=null),a=e.vmax}),{breaks:_e(r,function(e){return!!e})}}function B5(e,t){return V5(t)===V5(e)}function V5(e){return e.start+`_\0_`+e.end}function H5(e,t,n){var r=[];L(e,function(e,n){var i=t(e);i&&i.type===`vmin`&&r.push([n])}),L(e,function(n,i){var a=t(n);if(a&&a.type===`vmax`){var o=ve(r,function(n){return B5(t(e[n[0]]).parsedBreak.breakOption,a.parsedBreak.breakOption)});o&&o.push(i)}});var i=[];return L(r,function(t){t.length===2&&i.push(n?t:[e[t[0]],e[t[1]]])}),i}function U5(e,t,n,r){if(t.break){var i=t.break.parsedBreak,a=ve(n,function(e){return B5(e.breakOption,t.break.parsedBreak.breakOption)}),o={lookup:r,depth:2},s={vmin:e.transformOut(i.vmin,o),vmax:e.transformOut(i.vmax,o),breakOption:i.breakOption,gapParsed:M(a.gapParsed),gapReal:i.gapReal};return{tickVal:s[t.break.type],vBreak:{type:t.break.type,parsedBreak:s}}}}function W5(e,t,n,r,i){i.original=z5(e,t,n);var a=i.transformed=z5(e,t,n),o=i.lookup;a.breaks=R(a.breaks,function(e,n){var i={depth:2},a=t.transformIn(e.vmin,i),s=t.transformIn(e.vmax,i),c={type:e.gapParsed.type,val:e.gapParsed.type===`tpAbs`?t.transformIn(e.vmin+e.gapParsed.val,i)-a:e.gapParsed.val};return o.from[r+n]=a,o.to[r+n]=e.vmin,o.from[r+n+1]=s,o.to[r+n+1]=e.vmax,{vmin:a,vmax:s,gapParsed:c,gapReal:e.gapReal,breakOption:e.breakOption}})}var G5={vmin:`start`,vmax:`end`};function K5(e,t){return t&&(e||={},e.break={type:G5[t.type],start:t.parsedBreak.vmin,end:t.parsedBreak.vmax}),e}function q5(){Wh({createBreakScaleMapper:M5,pruneTicksByBreak:I5,addBreaksToTicks:L5,parseAxisBreakOption:z5,identifyAxisBreak:B5,serializeAxisBreakIdentifier:V5,retrieveAxisBreakPairs:H5,getTicksBreakOutwardTransform:U5,parseAxisBreakOptionInwardTransform:W5,makeAxisLabelFormatterParamBreak:K5})}var J5=Bs();function Y5(e,t){var n=ve(e,function(e){return Gh().identifyAxisBreak(e.parsedBreak.breakOption,t.breakOption)});return n||e.push(n={zigzagRandomList:[],parsedBreak:t,shouldRemove:!1}),n}function X5(e){L(e,function(e){return e.shouldRemove=!0})}function Z5(e){for(var t=e.length-1;t>=0;t--)e[t].shouldRemove&&e.splice(t,1)}function Q5(e,t,n,r,i){var a=n.axis;if(a.scale.isBlank()||!Gh())return;var o=Gh().retrieveAxisBreakPairs(a.scale.getTicks({breakTicks:`only_break`}),function(e){return e.break},!1);if(!o.length)return;var s=n.getModel(`breakArea`),c=s.get(`zigzagAmplitude`),l=s.get(`zigzagMinSpan`),u=s.get(`zigzagMaxSpan`);l=Math.max(2,l||0),u=Math.max(l,u||0);var d=s.get(`expandOnClick`),f=s.get(`zigzagZ`),p=s.getModel(`itemStyle`).getItemStyle(),m=p.stroke,h=p.lineWidth,g=p.lineDash,_=p.fill,v=new Y({ignoreModelZ:!0}),y=a.isHorizontal(),b=J5(t).visualList||(J5(t).visualList=[]);X5(b);for(var x=function(e){var t=o[e][0].break.parsedBreak,r=[];r[0]=a.toGlobalCoord(a.dataToCoord(t.vmin,!0)),r[1]=a.toGlobalCoord(a.dataToCoord(t.vmax,!0)),r[1]=y;D&&(w=y);var O=[],k=[];O[d]=n,k[d]=i,!E&&!D&&(O[d]+=C?-c:c,k[d]-=C?c:-c),O[v]=w,k[v]=w,x.push(O),S.push(k);var A=void 0;if(Tn[1]&&n.reverse(),{coordPair:n,brkId:Gh().serializeAxisBreakIdentifier(t.breakOption)}});s.sort(function(e,t){return e.coordPair[0]-t.coordPair[0]});for(var c=o[0],l=null,u=0;u=0?c[0].width:c[1].width)+u.x)/2-l.x,f=Math.min(d,d-u.x),p=Math.max(d,d-u.x);s=(d-(p<0?p:f>0?f:0))/u.x}var m=new q,h=new q;q.scale(m,r,-s),q.scale(h,r,1-s),uk(n[0],m),uk(n[1],h)}function t7(e,t){var n={breaks:[]};return L(t.breaks,function(r){if(r){var i=ve(e.get(`breaks`,!0),function(e){return Gh().identifyAxisBreak(e,r)});if(i){var a=t.type,o={isExpanded:!!i.isExpanded};i.isExpanded=a===`expandAxisBreak`?!0:a===`collapseAxisBreak`?!1:a===`toggleAxisBreak`?!i.isExpanded:i.isExpanded,n.breaks.push({start:i.start,end:i.end,isExpanded:!!i.isExpanded,old:o})}}}),n}function n7(){zM({adjustBreakLabelPair:e7,buildAxisBreakLine:$5,rectCoordBuildBreakAxis:Q5,updateModelAxisBreak:t7})}function r7(e){YM(e),q5(),n7()}function i7(){VF(a7)}function a7(e,t){L(e,function(e){if(!e.model.get([`axisLabel`,`inside`])){var n=o7(e);if(n){var r=e.isHorizontal()?`height`:`width`,i=e.model.get([`axisLabel`,`margin`]);t[r]-=n[r]+i,e.position===`top`?t.y+=n.height+i:e.position===`left`&&(t.x+=n.width+i)}}})}function o7(e){var t=e.model,n=e.scale;if(!t.get([`axisLabel`,`show`])||n.isBlank())return;var r,i,a=n.getExtent();n instanceof rE?i=n.count():(r=n.getTicks(),i=r.length);var o=e.getLabelModel(),s=NE(e),c,l=1;i>40&&(l=Math.ceil(i/40));for(var u=0;u(i(),l(`div`,s7,[s(`div`,c7,r(e.label),1),s(`div`,l7,r(e.value),1)]))}}),d7={class:`page`},f7={class:`stat-grid`},p7={class:`content-grid content-grid--2-1`},m7=o({__name:`DashboardView`,setup(a){let o=d({upload_rate:0,download_rate:0,connections:0,total_nodes:0,alive_nodes:0}),g=d([]),_=d(!1),v=d(),y=null,b;function x(e){return e<1024?`${e} B/s`:e<1024*1024?`${(e/1024).toFixed(1)} KB/s`:`${(e/1024/1024).toFixed(1)} MB/s`}async function S(){let{data:e}=await u.get(`/dashboard`);o.value=e.snapshot,_.value=e.engine_running;let t=(e.history||[]).reverse();y&&t.length&&y.setOption({grid:{left:40,right:16,top:16,bottom:24},xAxis:{type:`category`,data:t.map(e=>e.created_at?.slice(11,19)||``)},yAxis:{type:`value`},series:[{name:`下行`,type:`line`,smooth:!0,data:t.map(e=>e.download_rate),color:`#0f7a62`},{name:`上行`,type:`line`,smooth:!0,data:t.map(e=>e.upload_rate),color:`#71717a`}],tooltip:{trigger:`axis`}}),g.value=(await u.get(`/connections`)).data.connections||[]}return e(()=>{v.value&&(y=hw(v.value)),S(),b=window.setInterval(S,5e3)}),n(()=>{clearInterval(b),y?.dispose()}),(e,n)=>{let a=t(`el-tag`),u=t(`el-table-column`),d=t(`el-table`);return i(),l(`div`,d7,[p(m,{title:`监控大盘`,description:`实时流量、连接与节点健康概览`},{actions:c(()=>[p(a,{type:_.value?`success`:`danger`,size:`small`},{default:c(()=>[f(r(_.value?`内核运行中`:`内核未运行`),1)]),_:1},8,[`type`])]),_:1}),s(`div`,f7,[p(u7,{label:`总节点`,value:o.value.total_nodes},null,8,[`value`]),p(u7,{label:`可用节点`,value:o.value.alive_nodes},null,8,[`value`]),p(u7,{label:`活跃连接`,value:o.value.connections},null,8,[`value`]),p(u7,{label:`下行速率`,value:x(o.value.download_rate)},null,8,[`value`])]),s(`div`,p7,[p(h,{title:`活跃连接`},{default:c(()=>[p(d,{data:g.value.slice(0,20),size:`small`,"empty-text":`暂无连接`},{default:c(()=>[p(u,{prop:`metadata.host`,label:`目标`,"min-width":`160`},{default:c(({row:e})=>[f(r(e.metadata?.host||e.metadata?.destinationIP||`-`),1)]),_:1}),p(u,{prop:`rule`,label:`规则`,width:`120`}),p(u,{label:`代理`,width:`140`},{default:c(({row:e})=>[f(r(e.chains?.join(` → `)||`-`),1)]),_:1})]),_:1},8,[`data`])]),_:1}),p(h,{title:`流量趋势`,padded:``},{default:c(()=>[s(`div`,{ref_key:`chartRef`,ref:v,style:{height:`280px`}},null,512)]),_:1})])])}}});export{m7 as default}; \ No newline at end of file diff --git a/internal/api/static/assets/LoginView-CogloP1s.js b/internal/api/static/assets/LoginView-CogloP1s.js new file mode 100644 index 0000000..ec4f6f0 --- /dev/null +++ b/internal/api/static/assets/LoginView-CogloP1s.js @@ -0,0 +1 @@ +import{H as e,R as t,_ as n,b as r,d as i,et as a,m as o,ut as s,v as c,y as l}from"./client-CiT_nDm8.js";import{i as u,n as d,o as f,t as p}from"./index-B4K9RppJ.js";var m={class:`login-page`},h={class:`login-wrap`},g={class:`login-card`},_=r({__name:`LoginView`,setup(r){let _=d(),v=p(),y=s(``),b=s(!1);async function x(){b.value=!0;try{await v.login(y.value),_.push(`/`)}catch{u.error(`密码错误`)}finally{b.value=!1}}return(r,s)=>{let u=e(`el-input`),d=e(`el-form-item`),p=e(`el-button`),_=e(`el-form`);return t(),o(`div`,m,[i(`div`,h,[s[4]||=n(`

    Prism

    HTTP / SOCKS5 代理网关管理台

    `,3),i(`div`,g,[s[2]||=i(`h3`,{class:`app-card__title`,style:{"margin-bottom":`24px`}},`登录`,-1),l(_,{size:`large`,onSubmit:f(x,[`prevent`])},{default:a(()=>[l(d,{label:`密码`},{default:a(()=>[l(u,{modelValue:y.value,"onUpdate:modelValue":s[0]||=e=>y.value=e,type:`password`,"show-password":``,placeholder:`默认 admin`},null,8,[`modelValue`])]),_:1}),l(p,{type:`primary`,"native-type":`submit`,loading:b.value,style:{width:`100%`}},{default:a(()=>[...s[1]||=[c(` 登录 `,-1)]]),_:1},8,[`loading`])]),_:1}),s[3]||=i(`p`,{class:`form-hint`,style:{"margin-top":`16px`,"text-align":`center`}},` 首次使用默认密码为 admin,请在设置中修改 `,-1)])])])}}});export{_ as default}; \ No newline at end of file diff --git a/internal/api/static/assets/LogsView-SE35ruFF.js b/internal/api/static/assets/LogsView-SE35ruFF.js new file mode 100644 index 0000000..b975eb9 --- /dev/null +++ b/internal/api/static/assets/LogsView-SE35ruFF.js @@ -0,0 +1 @@ +import{F as e,H as t,R as n,U as r,b as i,d as a,et as o,f as s,m as c,p as l,t as u,tt as d,ut as f,v as p,y as m}from"./client-CiT_nDm8.js";import{a as h}from"./index-B4K9RppJ.js";import{n as g,t as _}from"./AppCard-ClnBgZ-s.js";var v={class:`page`},y={class:`tabs-bar`},b={key:0,class:`card-toolbar`},x={key:2,class:`card-pager`},S=50,C=i({__name:`LogsView`,setup(i){let C=f([]),w=f([]),T=f(0),E=f(!1),D=f(``),O=f(``),k=f(1),A=f(`runtime`);async function j(){E.value=!0;try{if(A.value===`audit`){let{data:e}=await u.get(`/audit-logs`);w.value=e.items||[];return}let{data:e}=await u.get(`/logs`,{params:{level:D.value,keyword:O.value,limit:S,offset:(k.value-1)*S}});C.value=e.items||[],T.value=e.total||0}finally{E.value=!1}}return e(j),(e,i)=>{let u=t(`el-tab-pane`),f=t(`el-tabs`),M=t(`el-option`),N=t(`el-select`),P=t(`el-input`),F=t(`el-button`),I=t(`el-table-column`),L=t(`el-table`),R=t(`el-pagination`),z=r(`loading`);return n(),c(`div`,v,[m(g,{title:`运行日志`,description:`Prism 与代理内核运行日志`}),m(_,null,{default:o(()=>[a(`div`,y,[m(f,{modelValue:A.value,"onUpdate:modelValue":i[0]||=e=>A.value=e,onTabChange:j},{default:o(()=>[m(u,{label:`运行日志`,name:`runtime`}),m(u,{label:`审计日志`,name:`audit`})]),_:1},8,[`modelValue`])]),A.value===`runtime`?(n(),c(`div`,b,[m(N,{modelValue:D.value,"onUpdate:modelValue":i[1]||=e=>D.value=e,placeholder:`级别`,clearable:``,style:{width:`120px`},onChange:j},{default:o(()=>[m(M,{label:`info`,value:`info`}),m(M,{label:`warn`,value:`warn`}),m(M,{label:`error`,value:`error`})]),_:1},8,[`modelValue`]),m(P,{modelValue:O.value,"onUpdate:modelValue":i[2]||=e=>O.value=e,placeholder:`搜索关键词`,clearable:``,style:{width:`200px`},onKeyup:h(j,[`enter`])},null,8,[`modelValue`]),m(F,{onClick:j},{default:o(()=>[...i[4]||=[p(`刷新`,-1)]]),_:1})])):l(``,!0),A.value===`runtime`?d((n(),s(L,{key:1,data:C.value,size:`small`},{default:o(()=>[m(I,{prop:`created_at`,label:`时间`,width:`170`}),m(I,{prop:`level`,label:`级别`,width:`80`}),m(I,{prop:`source`,label:`来源`,width:`100`}),m(I,{prop:`message`,label:`消息`,"min-width":`300`,"show-overflow-tooltip":``})]),_:1},8,[`data`])),[[z,E.value]]):l(``,!0),A.value===`runtime`?(n(),c(`div`,x,[m(R,{"current-page":k.value,"onUpdate:currentPage":i[3]||=e=>k.value=e,"page-size":S,total:T.value,layout:`total, prev, pager, next`,onCurrentChange:j},null,8,[`current-page`,`total`])])):d((n(),s(L,{key:3,data:w.value,size:`small`},{default:o(()=>[m(I,{prop:`created_at`,label:`时间`,width:`170`}),m(I,{prop:`action`,label:`操作`,width:`100`}),m(I,{prop:`resource`,label:`资源`,width:`120`}),m(I,{prop:`detail`,label:`详情`,"min-width":`200`,"show-overflow-tooltip":``})]),_:1},8,[`data`])),[[z,E.value]])]),_:1})])}}});export{C as default}; \ No newline at end of file diff --git a/internal/api/static/assets/ProxiesView-CGCYPjQ-.js b/internal/api/static/assets/ProxiesView-CGCYPjQ-.js new file mode 100644 index 0000000..e304e05 --- /dev/null +++ b/internal/api/static/assets/ProxiesView-CGCYPjQ-.js @@ -0,0 +1 @@ +import{F as e,H as t,Kt as n,R as r,U as i,Ut as a,b as o,d as s,et as c,f as l,m as u,t as d,tt as f,u as p,ut as m,v as h,y as g}from"./client-CiT_nDm8.js";import{i as _}from"./index-B4K9RppJ.js";import{n as v,t as y}from"./AppCard-ClnBgZ-s.js";var b={class:`page`},x={class:`tabs-bar`},S=o({__name:`ProxiesView`,setup(o){let S=m([]),C=m(!1),w=m(`all`),T=m(!1),E=m(!1),D=m({name:``,type:`socks5`,server:``,port:1080,username:``,password:``}),O=p(()=>w.value===`manual`?S.value.filter(e=>e.source===`manual`):w.value===`subscription`?S.value.filter(e=>e.source===`subscription`):S.value);function k(e){return e<0?`latency-dead`:e<200?`latency-good`:e<500?`latency-warn`:`latency-bad`}async function A(){C.value=!0;try{let{data:e}=await d.get(`/proxies`);S.value=e.items||[]}finally{C.value=!1}}async function j(e){let{data:t}=await d.post(`/proxies/${e.id}/test`);e.latency_ms=t.latency_ms,e.alive=t.alive}async function M(){T.value=!0;try{await d.post(`/proxies/test-all`),_.success(`测速完成`),A()}finally{T.value=!1}}function N(){D.value={name:``,type:`socks5`,server:``,port:1080,username:``,password:``},E.value=!0}async function P(){let e={type:D.value.type,server:D.value.server,port:D.value.port,...D.value.username?{username:D.value.username,password:D.value.password}:{}};await d.post(`/proxies`,{name:D.value.name,type:D.value.type,raw_config:JSON.stringify(e)}),_.success(`节点已添加`),E.value=!1,A()}return e(A),(e,o)=>{let d=t(`el-button`),p=t(`el-tab-pane`),m=t(`el-tabs`),_=t(`el-table-column`),S=t(`el-tag`),A=t(`el-table`),F=t(`el-input`),I=t(`el-form-item`),L=t(`el-option`),R=t(`el-select`),z=t(`el-input-number`),B=t(`el-form`),V=t(`el-dialog`),H=i(`loading`);return r(),u(`div`,b,[g(v,{title:`代理节点`,description:`查看节点状态与延迟,支持手动添加节点`},{actions:c(()=>[g(d,{onClick:N},{default:c(()=>[...o[9]||=[h(`添加节点`,-1)]]),_:1}),g(d,{loading:T.value,onClick:M},{default:c(()=>[...o[10]||=[h(`全部测速`,-1)]]),_:1},8,[`loading`])]),_:1}),g(y,null,{default:c(()=>[s(`div`,x,[g(m,{modelValue:w.value,"onUpdate:modelValue":o[0]||=e=>w.value=e},{default:c(()=>[g(p,{label:`全部`,name:`all`}),g(p,{label:`订阅`,name:`subscription`}),g(p,{label:`手动`,name:`manual`})]),_:1},8,[`modelValue`])]),f((r(),l(A,{data:O.value,size:`small`},{default:c(()=>[g(_,{prop:`name`,label:`名称`,"min-width":`140`}),g(_,{prop:`type`,label:`类型`,width:`90`}),g(_,{prop:`source`,label:`来源`,width:`90`}),g(_,{label:`延迟`,width:`100`},{default:c(({row:e})=>[s(`span`,{class:a(k(e.latency_ms))},n(e.latency_ms>=0?`${e.latency_ms} ms`:`未测`),3)]),_:1}),g(_,{label:`状态`,width:`80`},{default:c(({row:e})=>[g(S,{type:e.alive?`success`:`info`,size:`small`},{default:c(()=>[h(n(e.alive?`可用`:`未知`),1)]),_:2},1032,[`type`])]),_:1}),g(_,{label:`操作`,width:`80`,fixed:`right`},{default:c(({row:e})=>[g(d,{size:`small`,link:``,onClick:t=>j(e)},{default:c(()=>[...o[11]||=[h(`测速`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[H,C.value]])]),_:1}),g(V,{modelValue:E.value,"onUpdate:modelValue":o[8]||=e=>E.value=e,title:`添加手动节点`,width:`520px`,"destroy-on-close":``},{footer:c(()=>[g(d,{onClick:o[7]||=e=>E.value=!1},{default:c(()=>[...o[12]||=[h(`取消`,-1)]]),_:1}),g(d,{type:`primary`,onClick:P},{default:c(()=>[...o[13]||=[h(`确认`,-1)]]),_:1})]),default:c(()=>[g(B,{"label-width":`100px`},{default:c(()=>[g(I,{label:`名称`},{default:c(()=>[g(F,{modelValue:D.value.name,"onUpdate:modelValue":o[1]||=e=>D.value.name=e},null,8,[`modelValue`])]),_:1}),g(I,{label:`类型`},{default:c(()=>[g(R,{modelValue:D.value.type,"onUpdate:modelValue":o[2]||=e=>D.value.type=e,style:{width:`100%`}},{default:c(()=>[g(L,{label:`SOCKS5`,value:`socks5`}),g(L,{label:`HTTP`,value:`http`})]),_:1},8,[`modelValue`])]),_:1}),g(I,{label:`服务器`},{default:c(()=>[g(F,{modelValue:D.value.server,"onUpdate:modelValue":o[3]||=e=>D.value.server=e},null,8,[`modelValue`])]),_:1}),g(I,{label:`端口`},{default:c(()=>[g(z,{modelValue:D.value.port,"onUpdate:modelValue":o[4]||=e=>D.value.port=e,min:1,max:65535},null,8,[`modelValue`])]),_:1}),g(I,{label:`用户名`},{default:c(()=>[g(F,{modelValue:D.value.username,"onUpdate:modelValue":o[5]||=e=>D.value.username=e},null,8,[`modelValue`])]),_:1}),g(I,{label:`密码`},{default:c(()=>[g(F,{modelValue:D.value.password,"onUpdate:modelValue":o[6]||=e=>D.value.password=e,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}});export{S as default}; \ No newline at end of file diff --git a/internal/api/static/assets/RulesView-4vpiUKI8.js b/internal/api/static/assets/RulesView-4vpiUKI8.js new file mode 100644 index 0000000..72d94d0 --- /dev/null +++ b/internal/api/static/assets/RulesView-4vpiUKI8.js @@ -0,0 +1 @@ +import{F as e,H as t,R as n,U as r,b as i,d as a,et as o,f as s,m as c,t as l,tt as u,ut as d,v as f,y as p}from"./client-CiT_nDm8.js";import{i as m,r as h}from"./index-B4K9RppJ.js";import{n as g,t as _}from"./AppCard-ClnBgZ-s.js";var v={class:`page`},y={class:`content-grid content-grid--2`},b=i({__name:`RulesView`,setup(i){let b=d([]),x=d([]),S=d(!1),C=d(!1),w=d({rule_type:`DOMAIN-SUFFIX`,payload:``,target:`PROXY`,priority:100});async function T(){S.value=!0;try{let[e,t]=await Promise.all([l.get(`/rules?source=manual`),l.get(`/rules/merged`)]);b.value=e.data.items||[],x.value=t.data.items||[]}finally{S.value=!1}}function E(){w.value={rule_type:`DOMAIN-SUFFIX`,payload:``,target:`PROXY`,priority:100},C.value=!0}async function D(){await l.post(`/rules`,w.value),m.success(`规则已添加`),C.value=!1,T()}async function O(e){await h.confirm(`确定删除该规则?`,`确认`),await l.delete(`/rules/${e.id}`),T()}return e(T),(e,i)=>{let l=t(`el-button`),d=t(`el-table-column`),m=t(`el-table`),h=t(`el-option`),T=t(`el-select`),k=t(`el-form-item`),A=t(`el-input`),j=t(`el-input-number`),M=t(`el-form`),N=t(`el-dialog`),P=r(`loading`);return n(),c(`div`,v,[p(g,{title:`路由规则`,description:`手动规则优先级高于订阅规则,自上而下首条命中`},{actions:o(()=>[p(l,{type:`primary`,onClick:E},{default:o(()=>[...i[6]||=[f(`添加规则`,-1)]]),_:1})]),_:1}),a(`div`,y,[p(_,{title:`手动规则(高优先级)`},{default:o(()=>[u((n(),s(m,{data:b.value,size:`small`},{default:o(()=>[p(d,{prop:`priority`,label:`优先级`,width:`80`}),p(d,{prop:`rule_type`,label:`类型`,width:`120`}),p(d,{prop:`payload`,label:`匹配`,"min-width":`120`}),p(d,{prop:`target`,label:`目标`,width:`100`}),p(d,{label:`操作`,width:`80`,fixed:`right`},{default:o(({row:e})=>[p(l,{size:`small`,type:`danger`,link:``,onClick:t=>O(e)},{default:o(()=>[...i[7]||=[f(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[P,S.value]])]),_:1}),p(_,{title:`合成后规则预览`},{default:o(()=>[p(m,{data:x.value,size:`small`,"max-height":`400`},{default:o(()=>[p(d,{prop:`priority`,label:`序`,width:`70`}),p(d,{prop:`rule`,label:`规则`,"min-width":`200`}),p(d,{prop:`source`,label:`来源`,width:`90`})]),_:1},8,[`data`])]),_:1})]),p(N,{modelValue:C.value,"onUpdate:modelValue":i[5]||=e=>C.value=e,title:`添加规则`,width:`520px`,"destroy-on-close":``},{footer:o(()=>[p(l,{onClick:i[4]||=e=>C.value=!1},{default:o(()=>[...i[9]||=[f(`取消`,-1)]]),_:1}),p(l,{type:`primary`,onClick:D},{default:o(()=>[...i[10]||=[f(`确认`,-1)]]),_:1})]),default:o(()=>[p(M,{"label-width":`100px`},{default:o(()=>[p(k,{label:`类型`},{default:o(()=>[p(T,{modelValue:w.value.rule_type,"onUpdate:modelValue":i[0]||=e=>w.value.rule_type=e,style:{width:`100%`}},{default:o(()=>[p(h,{label:`DOMAIN`,value:`DOMAIN`}),p(h,{label:`DOMAIN-SUFFIX`,value:`DOMAIN-SUFFIX`}),p(h,{label:`DOMAIN-KEYWORD`,value:`DOMAIN-KEYWORD`}),p(h,{label:`IP-CIDR`,value:`IP-CIDR`}),p(h,{label:`GEOIP`,value:`GEOIP`})]),_:1},8,[`modelValue`])]),_:1}),p(k,{label:`匹配值`},{default:o(()=>[p(A,{modelValue:w.value.payload,"onUpdate:modelValue":i[1]||=e=>w.value.payload=e},null,8,[`modelValue`])]),_:1}),p(k,{label:`目标`},{default:o(()=>[p(A,{modelValue:w.value.target,"onUpdate:modelValue":i[2]||=e=>w.value.target=e,placeholder:`PROXY / DIRECT / REJECT`},null,8,[`modelValue`])]),_:1}),p(k,{label:`优先级`},{default:o(()=>[p(j,{modelValue:w.value.priority,"onUpdate:modelValue":i[3]||=e=>w.value.priority=e,min:1,max:9999},null,8,[`modelValue`]),i[8]||=a(`p`,{class:`form-hint`},`数值越小优先级越高`,-1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}});export{b as default}; \ No newline at end of file diff --git a/internal/api/static/assets/SettingsView-D_MdXCJL.js b/internal/api/static/assets/SettingsView-D_MdXCJL.js new file mode 100644 index 0000000..f5c7ce5 --- /dev/null +++ b/internal/api/static/assets/SettingsView-D_MdXCJL.js @@ -0,0 +1 @@ +import{F as e,H as t,R as n,U as r,b as i,d as a,et as o,f as s,m as c,t as l,tt as u,ut as d,v as f,y as p}from"./client-CiT_nDm8.js";import{i as m}from"./index-B4K9RppJ.js";import{n as h,t as g}from"./AppCard-ClnBgZ-s.js";var _={class:`page`},v=i({__name:`SettingsView`,setup(i){let v=d({}),y=d(!1),b=d(!1);async function x(){y.value=!0;try{let{data:e}=await l.get(`/settings`);v.value=e}finally{y.value=!1}}async function S(){b.value=!0;try{await l.put(`/settings`,v.value),m.success(`设置已保存`)}finally{b.value=!1}}async function C(){await l.post(`/system/reload`),m.success(`内核已重载`)}return e(x),(e,i)=>{let l=t(`el-button`),d=t(`el-input`),m=t(`el-form-item`),x=t(`el-option`),w=t(`el-select`),T=t(`el-switch`),E=t(`el-form`),D=r(`loading`);return n(),c(`div`,_,[p(h,{title:`系统设置`,description:`代理端口、调度间隔与安全配置`},{actions:o(()=>[p(l,{onClick:C},{default:o(()=>[...i[10]||=[f(`重载内核`,-1)]]),_:1}),p(l,{type:`primary`,loading:b.value,onClick:S},{default:o(()=>[...i[11]||=[f(`保存`,-1)]]),_:1},8,[`loading`])]),_:1}),u((n(),s(g,{title:`入站与 API`,padded:``},{default:o(()=>[p(E,{"label-width":`120px`},{default:o(()=>[i[14]||=a(`div`,{class:`section-title`},`代理入站`,-1),p(m,{label:`HTTP 端口`},{default:o(()=>[p(d,{modelValue:v.value.http_port,"onUpdate:modelValue":i[0]||=e=>v.value.http_port=e},null,8,[`modelValue`])]),_:1}),p(m,{label:`SOCKS5 端口`},{default:o(()=>[p(d,{modelValue:v.value.socks_port,"onUpdate:modelValue":i[1]||=e=>v.value.socks_port=e},null,8,[`modelValue`])]),_:1}),i[15]||=a(`div`,{class:`section-title`},`管理 API`,-1),p(m,{label:`API 端口`},{default:o(()=>[p(d,{modelValue:v.value.api_port,"onUpdate:modelValue":i[2]||=e=>v.value.api_port=e},null,8,[`modelValue`]),i[12]||=a(`p`,{class:`form-hint`},`修改后需重启进程生效`,-1)]),_:1}),p(m,{label:`Mihomo API`},{default:o(()=>[p(d,{modelValue:v.value.mihomo_api_port,"onUpdate:modelValue":i[3]||=e=>v.value.mihomo_api_port=e},null,8,[`modelValue`])]),_:1}),p(m,{label:`API Secret`},{default:o(()=>[p(d,{modelValue:v.value.api_secret,"onUpdate:modelValue":i[4]||=e=>v.value.api_secret=e,placeholder:`Clash API 密钥`},null,8,[`modelValue`])]),_:1}),i[16]||=a(`div`,{class:`section-title`},`调度`,-1),p(m,{label:`健康检查间隔`},{default:o(()=>[p(d,{modelValue:v.value.health_interval_sec,"onUpdate:modelValue":i[5]||=e=>v.value.health_interval_sec=e},null,8,[`modelValue`]),i[13]||=a(`p`,{class:`form-hint`},`秒`,-1)]),_:1}),p(m,{label:`默认策略`},{default:o(()=>[p(w,{modelValue:v.value.default_policy,"onUpdate:modelValue":i[6]||=e=>v.value.default_policy=e,style:{width:`100%`}},{default:o(()=>[p(x,{label:`DIRECT`,value:`DIRECT`}),p(x,{label:`PROXY`,value:`PROXY`}),p(x,{label:`REJECT`,value:`REJECT`})]),_:1},8,[`modelValue`])]),_:1}),p(m,{label:`日志级别`},{default:o(()=>[p(w,{modelValue:v.value.log_level,"onUpdate:modelValue":i[7]||=e=>v.value.log_level=e,style:{width:`100%`}},{default:o(()=>[p(x,{label:`info`,value:`info`}),p(x,{label:`warning`,value:`warning`}),p(x,{label:`error`,value:`error`}),p(x,{label:`debug`,value:`debug`})]),_:1},8,[`modelValue`])]),_:1}),i[17]||=a(`div`,{class:`section-title`},`安全`,-1),p(m,{label:`启用登录`},{default:o(()=>[p(T,{modelValue:v.value.auth_enabled,"onUpdate:modelValue":i[8]||=e=>v.value.auth_enabled=e,"active-value":`true`,"inactive-value":`false`},null,8,[`modelValue`])]),_:1}),p(m,{label:`新密码`},{default:o(()=>[p(d,{modelValue:v.value.admin_password,"onUpdate:modelValue":i[9]||=e=>v.value.admin_password=e,type:`password`,"show-password":``,placeholder:`留空则不修改`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})),[[D,y.value]])])}}});export{v as default}; \ No newline at end of file diff --git a/internal/api/static/assets/SubscriptionsView-BwdRKwvh.js b/internal/api/static/assets/SubscriptionsView-BwdRKwvh.js new file mode 100644 index 0000000..c4c1c73 --- /dev/null +++ b/internal/api/static/assets/SubscriptionsView-BwdRKwvh.js @@ -0,0 +1 @@ +import{F as e,H as t,Kt as n,R as r,U as i,b as a,d as o,et as s,f as c,m as l,t as u,tt as d,ut as f,v as p,y as m}from"./client-CiT_nDm8.js";import{i as h,r as g}from"./index-B4K9RppJ.js";import{n as _,t as v}from"./AppCard-ClnBgZ-s.js";var y={class:`page`},b=a({__name:`SubscriptionsView`,setup(a){let b=f([]),x=f(!1),S=f(!1),C=f({name:``,url:``,type:`clash`,interval_sec:3600});async function w(){x.value=!0;try{let{data:e}=await u.get(`/subscriptions`);b.value=e.items||[]}finally{x.value=!1}}function T(){C.value={name:``,url:``,type:`clash`,interval_sec:3600},S.value=!0}async function E(){await u.post(`/subscriptions`,C.value),h.success(`已添加订阅`),S.value=!1,w()}async function D(e){await u.post(`/subscriptions/${e.id}/refresh`),h.success(`刷新成功`),w()}async function O(e){await g.confirm(`确定删除订阅「${e.name}」?`,`确认`),await u.delete(`/subscriptions/${e.id}`),h.success(`已删除`),w()}return e(w),(e,a)=>{let u=t(`el-button`),f=t(`el-table-column`),h=t(`el-tag`),g=t(`el-table`),w=t(`el-input`),k=t(`el-form-item`),A=t(`el-option`),j=t(`el-select`),M=t(`el-input-number`),N=t(`el-form`),P=t(`el-dialog`),F=i(`loading`);return r(),l(`div`,y,[m(_,{title:`订阅管理`,description:`添加并定时更新 Clash 或节点链接订阅`},{actions:s(()=>[m(u,{type:`primary`,onClick:T},{default:s(()=>[...a[6]||=[p(`添加订阅`,-1)]]),_:1})]),_:1}),m(v,null,{default:s(()=>[d((r(),c(g,{data:b.value,size:`small`},{default:s(()=>[m(f,{prop:`name`,label:`名称`,"min-width":`120`}),m(f,{prop:`type`,label:`类型`,width:`80`}),m(f,{prop:`url`,label:`URL`,"min-width":`200`,"show-overflow-tooltip":``}),m(f,{prop:`node_count`,label:`节点数`,width:`80`}),m(f,{label:`状态`,width:`100`},{default:s(({row:e})=>[m(h,{type:e.last_error?`danger`:`success`,size:`small`},{default:s(()=>[p(n(e.last_error?`异常`:`正常`),1)]),_:2},1032,[`type`])]),_:1}),m(f,{prop:`last_fetch_at`,label:`上次更新`,width:`160`}),m(f,{label:`操作`,width:`160`,fixed:`right`},{default:s(({row:e})=>[m(u,{size:`small`,link:``,onClick:t=>D(e)},{default:s(()=>[...a[7]||=[p(`刷新`,-1)]]),_:1},8,[`onClick`]),m(u,{size:`small`,type:`danger`,link:``,onClick:t=>O(e)},{default:s(()=>[...a[8]||=[p(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[F,x.value]])]),_:1}),m(P,{modelValue:S.value,"onUpdate:modelValue":a[5]||=e=>S.value=e,title:`添加订阅`,width:`520px`,"destroy-on-close":``},{footer:s(()=>[m(u,{onClick:a[4]||=e=>S.value=!1},{default:s(()=>[...a[10]||=[p(`取消`,-1)]]),_:1}),m(u,{type:`primary`,onClick:E},{default:s(()=>[...a[11]||=[p(`确认`,-1)]]),_:1})]),default:s(()=>[m(N,{"label-width":`100px`},{default:s(()=>[m(k,{label:`名称`},{default:s(()=>[m(w,{modelValue:C.value.name,"onUpdate:modelValue":a[0]||=e=>C.value.name=e},null,8,[`modelValue`])]),_:1}),m(k,{label:`URL`},{default:s(()=>[m(w,{modelValue:C.value.url,"onUpdate:modelValue":a[1]||=e=>C.value.url=e},null,8,[`modelValue`])]),_:1}),m(k,{label:`类型`},{default:s(()=>[m(j,{modelValue:C.value.type,"onUpdate:modelValue":a[2]||=e=>C.value.type=e,style:{width:`100%`}},{default:s(()=>[m(A,{label:`Clash YAML`,value:`clash`}),m(A,{label:`节点链接`,value:`links`})]),_:1},8,[`modelValue`])]),_:1}),m(k,{label:`更新间隔`},{default:s(()=>[m(M,{modelValue:C.value.interval_sec,"onUpdate:modelValue":a[3]||=e=>C.value.interval_sec=e,min:300,step:300},null,8,[`modelValue`]),a[9]||=o(`p`,{class:`form-hint`},`秒,最小 300`,-1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}});export{b as default}; \ No newline at end of file diff --git a/internal/api/static/assets/client-CiT_nDm8.js b/internal/api/static/assets/client-CiT_nDm8.js new file mode 100644 index 0000000..7510fe0 --- /dev/null +++ b/internal/api/static/assets/client-CiT_nDm8.js @@ -0,0 +1,9 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function u(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var d={},f=[],p=()=>{},m=()=>!1,h=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),g=e=>e.startsWith(`onUpdate:`),_=Object.assign,v=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},y=Object.prototype.hasOwnProperty,b=(e,t)=>y.call(e,t),x=Array.isArray,S=e=>A(e)===`[object Map]`,C=e=>A(e)===`[object Set]`,w=e=>A(e)===`[object Date]`,T=e=>typeof e==`function`,E=e=>typeof e==`string`,D=e=>typeof e==`symbol`,O=e=>typeof e==`object`&&!!e,ee=e=>(O(e)||T(e))&&T(e.then)&&T(e.catch),k=Object.prototype.toString,A=e=>k.call(e),te=e=>A(e).slice(8,-1),ne=e=>A(e)===`[object Object]`,re=e=>E(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,j=u(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ie=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ae=/-\w/g,M=ie(e=>e.replace(ae,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,se=ie(e=>e.replace(oe,`-$1`).toLowerCase()),N=ie(e=>e.charAt(0).toUpperCase()+e.slice(1)),ce=ie(e=>e?`on${N(e)}`:``),le=(e,t)=>!Object.is(e,t),ue=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},fe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},pe=e=>{let t=E(e)?Number(e):NaN;return isNaN(t)?e:t},me,he=()=>me||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ge(e){if(x(e)){let t={};for(let n=0;n{if(e){let n=e.split(ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function xe(e){let t=``;if(E(e))t=e;else if(x(e))for(let n=0;nDe(e,t))}var ke=e=>!!(e&&e.__v_isRef===!0),Ae=e=>E(e)?e:e==null?``:x(e)||O(e)&&(e.toString===k||!T(e.toString))?ke(e)?Ae(e.value):JSON.stringify(e,je,2):String(e),je=(e,t)=>ke(t)?je(e,t.value):S(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Me(t,r)+` =>`]=n,e),{})}:C(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Me(e))}:D(t)?Me(t):O(t)&&!x(t)&&!ne(t)?String(t):t,Me=(e,t=``)=>D(e)?`Symbol(${e.description??t})`:e,P,Ne=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&P&&(P.active?(this.parent=P,this.index=(P.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(P===this)P=this.prevScope;else{let e=P;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ve){let e=Ve;for(Ve=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Be;){let t=Be;for(Be=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ge(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ke(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ye(r),Xe(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function qe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Je(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Je(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===nt)||(e.globalVersion=nt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qe(e))))return;e.flags|=2;let t=e.dep,n=F,r=Ze;F=e,Ze=!0;try{Ge(e);let n=e.fn(e._value);(t.version===0||le(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{F=n,Ze=r,Ke(e),e.flags&=-3}}function Ye(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ye(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xe(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Ze=!0,Qe=[];function $e(){Qe.push(Ze),Ze=!1}function et(){let e=Qe.pop();Ze=e===void 0?!0:e}function tt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=F;F=void 0;try{t()}finally{F=e}}}var nt=0,rt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},it=class{constructor(e){this.computed=e,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(e){if(!F||!Ze||F===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==F)t=this.activeLink=new rt(F,this),F.deps?(t.prevDep=F.depsTail,F.depsTail.nextDep=t,F.depsTail=t):F.deps=F.depsTail=t,at(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=F.depsTail,t.nextDep=void 0,F.depsTail.nextDep=t,F.depsTail=t,F.deps===t&&(F.deps=e)}return t}trigger(e){this.version++,nt++,this.notify(e)}notify(e){Ue();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{We()}}};function at(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)at(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ot=new WeakMap,st=Symbol(``),ct=Symbol(``),lt=Symbol(``);function I(e,t,n){if(Ze&&F){let t=ot.get(e);t||ot.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new it),r.map=t,r.key=n),r.track()}}function ut(e,t,n,r,i,a){let o=ot.get(e);if(!o){nt++;return}let s=e=>{e&&e.trigger()};if(Ue(),t===`clear`)o.forEach(s);else{let i=x(e),a=i&&re(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===lt||!D(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(lt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(st)),S(e)&&s(o.get(ct)));break;case`delete`:i||(s(o.get(st)),S(e)&&s(o.get(ct)));break;case`set`:S(e)&&s(o.get(st));break}}We()}function dt(e,t){let n=ot.get(e);return n&&n.get(t)}function ft(e){let t=L(e);return t===e?t:(I(t,`iterate`,lt),en(e)?t:t.map(rn))}function pt(e){return I(e=L(e),`iterate`,lt),e}function mt(e,t){return $t(e)?an(Qt(e)?rn(t):t):rn(t)}var ht={__proto__:null,[Symbol.iterator](){return gt(this,Symbol.iterator,e=>mt(this,e))},concat(...e){return ft(this).concat(...e.map(e=>x(e)?ft(e):e))},entries(){return gt(this,`entries`,e=>(e[1]=mt(this,e[1]),e))},every(e,t){return vt(this,`every`,e,t,void 0,arguments)},filter(e,t){return vt(this,`filter`,e,t,e=>e.map(e=>mt(this,e)),arguments)},find(e,t){return vt(this,`find`,e,t,e=>mt(this,e),arguments)},findIndex(e,t){return vt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return vt(this,`findLast`,e,t,e=>mt(this,e),arguments)},findLastIndex(e,t){return vt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return vt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return bt(this,`includes`,e)},indexOf(...e){return bt(this,`indexOf`,e)},join(e){return ft(this).join(e)},lastIndexOf(...e){return bt(this,`lastIndexOf`,e)},map(e,t){return vt(this,`map`,e,t,void 0,arguments)},pop(){return xt(this,`pop`)},push(...e){return xt(this,`push`,e)},reduce(e,...t){return yt(this,`reduce`,e,t)},reduceRight(e,...t){return yt(this,`reduceRight`,e,t)},shift(){return xt(this,`shift`)},some(e,t){return vt(this,`some`,e,t,void 0,arguments)},splice(...e){return xt(this,`splice`,e)},toReversed(){return ft(this).toReversed()},toSorted(e){return ft(this).toSorted(e)},toSpliced(...e){return ft(this).toSpliced(...e)},unshift(...e){return xt(this,`unshift`,e)},values(){return gt(this,`values`,e=>mt(this,e))}};function gt(e,t,n){let r=pt(e),i=r[t]();return r!==e&&!en(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var _t=Array.prototype;function vt(e,t,n,r,i,a){let o=pt(e),s=o!==e&&!en(e),c=o[t];if(c!==_t[t]){let t=c.apply(e,a);return s?rn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,mt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function yt(e,t,n,r){let i=pt(e),a=i!==e&&!en(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=mt(e,t)),n.call(this,t,mt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?mt(e,c):c}function bt(e,t,n){let r=L(e);I(r,`iterate`,lt);let i=r[t](...n);return(i===-1||i===!1)&&tn(n[0])?(n[0]=L(n[0]),r[t](...n)):i}function xt(e,t,n=[]){$e(),Ue();let r=L(e)[t].apply(e,n);return We(),et(),r}var St=u(`__proto__,__v_isRef,__isVue`),Ct=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(D));function wt(e){D(e)||(e=String(e));let t=L(this);return I(t,`has`,e),t.hasOwnProperty(e)}var Tt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Gt:Wt:i?Ut:Ht).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=x(e);if(!r){let e;if(a&&(e=ht[t]))return e;if(t===`hasOwnProperty`)return wt}let o=Reflect.get(e,t,R(e)?e:n);if((D(t)?Ct.has(t):St(t))||(r||I(e,`get`,t),i))return o;if(R(o)){let e=a&&re(t)?o:o.value;return r&&O(e)?Yt(e):e}return O(o)?r?Yt(o):qt(o):o}},Et=class extends Tt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=x(e)&&re(t);if(!this._isShallow){let e=$t(i);if(!en(n)&&!$t(n)&&(i=L(i),n=L(n)),!a&&R(i)&&!R(n))return e||(i.value=n),!0}let o=a?Number(t)e,Nt=e=>Reflect.getPrototypeOf(e);function Pt(e,t,n){return function(...r){let i=this.__v_raw,a=L(i),o=S(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Mt:t?an:rn;return!t&&I(a,`iterate`,c?ct:st),_(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function Ft(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function It(e,t){let n={get(n){let r=this.__v_raw,i=L(r),a=L(n);e||(le(n,a)&&I(i,`get`,n),I(i,`get`,a));let{has:o}=Nt(i),s=t?Mt:e?an:rn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&I(L(t),`iterate`,st),t.size},has(t){let n=this.__v_raw,r=L(n),i=L(t);return e||(le(t,i)&&I(r,`has`,t),I(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=L(a),s=t?Mt:e?an:rn;return!e&&I(o,`iterate`,st),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return _(n,e?{add:Ft(`add`),set:Ft(`set`),delete:Ft(`delete`),clear:Ft(`clear`)}:{add(e){let n=L(this),r=Nt(n),i=L(e),a=!t&&!en(e)&&!$t(e)?i:e;return r.has.call(n,a)||le(e,a)&&r.has.call(n,e)||le(i,a)&&r.has.call(n,i)||(n.add(a),ut(n,`add`,a,a)),this},set(e,n){!t&&!en(n)&&!$t(n)&&(n=L(n));let r=L(this),{has:i,get:a}=Nt(r),o=i.call(r,e);o||=(e=L(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?le(n,s)&&ut(r,`set`,e,n,s):ut(r,`add`,e,n),this},delete(e){let t=L(this),{has:n,get:r}=Nt(t),i=n.call(t,e);i||=(e=L(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&ut(t,`delete`,e,void 0,a),o},clear(){let e=L(this),t=e.size!==0,n=e.clear();return t&&ut(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Pt(r,e,t)}),n}function Lt(e,t){let n=It(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(b(n,r)&&r in t?n:t,r,i)}var Rt={get:Lt(!1,!1)},zt={get:Lt(!1,!0)},Bt={get:Lt(!0,!1)},Vt={get:Lt(!0,!0)},Ht=new WeakMap,Ut=new WeakMap,Wt=new WeakMap,Gt=new WeakMap;function Kt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function qt(e){return $t(e)?e:Zt(e,!1,Ot,Rt,Ht)}function Jt(e){return Zt(e,!1,At,zt,Ut)}function Yt(e){return Zt(e,!0,kt,Bt,Wt)}function Xt(e){return Zt(e,!0,jt,Vt,Gt)}function Zt(e,t,n,r,i){if(!O(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Kt(te(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Qt(e){return $t(e)?Qt(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function en(e){return!!(e&&e.__v_isShallow)}function tn(e){return e?!!e.__v_raw:!1}function L(e){let t=e&&e.__v_raw;return t?L(t):e}function nn(e){return!b(e,`__v_skip`)&&Object.isExtensible(e)&&de(e,`__v_skip`,!0),e}var rn=e=>O(e)?qt(e):e,an=e=>O(e)?Yt(e):e;function R(e){return e?e.__v_isRef===!0:!1}function on(e){return cn(e,!1)}function sn(e){return cn(e,!0)}function cn(e,t){return R(e)?e:new ln(e,t)}var ln=class{constructor(e,t){this.dep=new it,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:L(e),this._value=t?e:rn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||en(e)||$t(e);e=n?e:L(e),le(e,t)&&(this._rawValue=e,this._value=n?e:rn(e),this.dep.trigger())}};function un(e){e.dep&&e.dep.trigger()}function dn(e){return R(e)?e.value:e}function fn(e){return T(e)?e():dn(e)}var pn={get:(e,t,n)=>t===`__v_raw`?e:dn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return R(i)&&!R(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function mn(e){return Qt(e)?e:new Proxy(e,pn)}function hn(e){let t=x(e)?Array(e.length):{};for(let n in e)t[n]=yn(e,n);return t}var gn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=D(t)?t:String(t),this._raw=L(e);let r=!0,i=e;if(!x(e)||D(this._key)||!re(this._key))do r=!tn(i)||en(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=dn(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&R(this._raw[this._key])){let t=this._object[this._key];if(R(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return dt(this._raw,this._key)}},_n=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function vn(e,t,n){return R(e)?e:T(e)?new _n(e):O(e)&&arguments.length>1?yn(e,t,n):on(e)}function yn(e,t,n){return new gn(e,t,n)}var bn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new it(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=nt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&F!==this)return He(this,!0),!0}get value(){let e=this.dep.track();return Je(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function xn(e,t,n=!1){let r,i;return T(e)?r=e:(r=e.get,i=e.set),new bn(r,i,n)}var Sn={},Cn=new WeakMap,wn=void 0;function Tn(e,t=!1,n=wn){if(n){let t=Cn.get(n);t||Cn.set(n,t=[]),t.push(e)}}function En(e,t,n=d){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:en(e)||i===!1||i===0?Dn(e,1):Dn(e),u,f,m,h,g=!1,_=!1;if(R(e)?(f=()=>e.value,g=en(e)):Qt(e)?(f=()=>l(e),g=!0):x(e)?(_=!0,g=e.some(e=>Qt(e)||en(e)),f=()=>e.map(e=>{if(R(e))return e.value;if(Qt(e))return l(e);if(T(e))return c?c(e,2):e()})):f=T(e)?t?c?()=>c(e,2):e:()=>{if(m){$e();try{m()}finally{et()}}let t=wn;wn=u;try{return c?c(e,3,[h]):e(h)}finally{wn=t}}:p,t&&i){let e=f,t=i===!0?1/0:i;f=()=>Dn(e(),t)}let y=Fe(),b=()=>{u.stop(),y&&y.active&&v(y.effects,u)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return b(),n}}let S=_?Array(e.length).fill(Sn):Sn,C=e=>{if(!(!(u.flags&1)||!u.dirty&&!e))if(t){let n=u.run();if(e||i||g||(_?n.some((e,t)=>le(e,S[t])):le(n,S))){m&&m();let e=wn;wn=u;try{let e=[n,S===Sn?void 0:_&&S[0]===Sn?[]:S,h];S=n,c?c(t,3,e):t(...e)}finally{wn=e}}}else u.run()};return s&&s(C),u=new Re(f),u.scheduler=o?()=>o(C,!1):C,h=e=>Tn(e,!1,u),m=u.onStop=()=>{let e=Cn.get(u);if(e){if(c)c(e,4);else for(let t of e)t();Cn.delete(u)}},t?r?C(!0):S=u.run():o?o(C.bind(null,!0),!0):u.run(),b.pause=u.pause.bind(u),b.resume=u.resume.bind(u),b.stop=b,b}function Dn(e,t=1/0,n){if(t<=0||!O(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,R(e))Dn(e.value,t,n);else if(x(e))for(let r=0;r{Dn(e,t,n)});else if(ne(e)){for(let r in e)Dn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Dn(e[r],t,n)}return e}function On(e,t,n,r){try{return r?e(...r):e()}catch(e){An(e,t,n)}}function kn(e,t,n,r){if(T(e)){let i=On(e,t,n,r);return i&&ee(i)&&i.catch(e=>{An(e,t,n)}),i}if(x(e)){let i=[];for(let a=0;a>>1,i=z[r],a=Gn(i);a=Gn(n)?z.push(e):z.splice(zn(t),0,e),e.flags|=1,Vn()}}function Vn(){Ln||=In.then(Kn)}function Hn(e){x(e)?Nn.push(...e):Pn&&e.id===-1?Pn.splice(Fn+1,0,e):e.flags&1||(Nn.push(e),e.flags|=1),Vn()}function Un(e,t,n=Mn+1){for(;nGn(e)-Gn(t));if(Nn.length=0,Pn){Pn.push(...e);return}for(Pn=e,Fn=0;Fne.id==null?e.flags&2?-1:1/0:e.id;function Kn(e){try{for(Mn=0;Mn{r._d&&Va(-1);let i=Jn(t),a;try{a=e(...n)}finally{Jn(i),r._d&&Va(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Xn(e,t){if(B===null)return e;let n=Eo(B),r=e.dirs||=[];for(let e=0;e1)return n&&T(t)?t.call(r&&r.proxy):t}}function er(){return!!(uo()||Gi)}var tr=Symbol.for(`v-scx`),nr=()=>$n(tr);function rr(e,t){return ar(e,null,t)}function ir(e,t,n){return ar(e,t,n)}function ar(e,t,n=d){let{immediate:r,deep:i,flush:a,once:o}=n,s=_({},n),c=t&&r||!t&&a!==`post`,l;if(_o){if(a===`sync`){let e=nr();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=p,e.resume=p,e.pause=p,e}}let u=K;s.call=(e,t,n)=>kn(e,u,t,n);let f=!1;a===`post`?s.scheduler=e=>{H(e,u&&u.suspense)}:a!==`sync`&&(f=!0,s.scheduler=(e,t)=>{t?e():Bn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),f&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let m=En(e,t,s);return _o&&(l?l.push(m):c&&m()),m}function or(e,t,n){let r=this.proxy,i=E(e)?e.includes(`.`)?sr(r,e):()=>r[e]:e.bind(r,r),a;T(t)?a=t:(a=t.handler,n=t);let o=mo(this),s=ar(i,a.bind(r),n);return o(),s}function sr(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,dr=e=>e&&(e.disabled||e.disabled===``),fr=e=>e&&(e.defer||e.defer===``),pr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,mr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,hr=(e,t)=>{let n=e&&e.to;return E(n)?t?t(n):null:n},gr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=dr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=dr(e.props),r=e.target=hr(e.props,m),a=xr(r,e,h,p);r&&(o!==`svg`&&pr(r)?o=`svg`:o!==`mathml`&&mr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),br(e,!1)))},S=e=>{let t=()=>{cr.get(e)===t&&(cr.delete(e),dr(e.props)&&(b(e,_(e.el)||n,e.anchor),br(e,!0)),x(e))};cr.set(e,t),H(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),fr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),br(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=cr.get(e);if(u){u.flags|=8,cr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=dr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||pr(p)?o=`svg`:(o===`mathml`||mr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Da(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):_r(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=hr(t.props,m);e&&_r(t,e,null,l,0)}else g&&_r(t,p,h,l,1);br(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=a||!dr(f),m=cr.get(e);if(m&&(m.flags|=8,cr.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),ti(()=>{e.isUnmounting=!0}),e}var Tr=[Function,Array],Er={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Tr,onEnter:Tr,onAfterEnter:Tr,onEnterCancelled:Tr,onBeforeLeave:Tr,onLeave:Tr,onAfterLeave:Tr,onLeaveCancelled:Tr,onBeforeAppear:Tr,onAppear:Tr,onAfterAppear:Tr,onAppearCancelled:Tr},Dr=e=>{let t=e.subTree;return t.component?Dr(t.component):t},Or={name:`BaseTransition`,props:Er,setup(e,{slots:t}){let n=uo(),r=wr();return()=>{let i=t.default&&Ir(t.default(),!0),a=i&&i.length?kr(i):n.subTree?to():void 0;if(!a)return;let o=L(e),{mode:s}=o;if(r.isLeaving)return Nr(a);let c=Pr(a);if(!c)return Nr(a);let l=Mr(c,o,r,n,e=>l=e);c.type!==W&&Fr(c,l);let u=n.subTree&&Pr(n.subTree);if(u&&u.type!==W&&!Ka(u,c)&&Dr(n).type!==W){let e=Mr(u,o,r,n);if(Fr(u,e),s===`out-in`&&c.type!==W)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Nr(a);s===`in-out`&&c.type!==W?e.delayLeave=(e,t,n)=>{let i=jr(r,u);i[String(u.key)]=u,e[Sr]=()=>{t(),e[Sr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function kr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==W){t=n;break}}return t}var Ar=Or;function jr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Mr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),S=jr(n,e),C=(e,t)=>{e&&kn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),x(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[Sr]&&t[Sr](!0);let i=S[b];i&&Ka(e,i)&&i.el[Sr]&&i.el[Sr](),C(r,[t])},enter(t){if(S[b]===e)return;let r=l,i=u,o=d;if(!n.isMounted)if(a)r=_||l,i=v||u,o=y||d;else return;let s=!1;t[Cr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Cr]=void 0)};let c=t[Cr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Cr]&&t[Cr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[Sr]=n=>{a||(a=!0,r(),C(n?h:m,[t]),t[Sr]=void 0,S[i]===e&&delete S[i])};let o=t[Sr].bind(null,!1);S[i]=e,p?w(p,[t,o]):o()},clone(e){let a=Mr(e,t,n,r,i);return i&&i(a),a}};return T}function Nr(e){if(Wr(e))return e=Qa(e),e.children=null,e}function Pr(e){if(!Wr(e))return ur(e.type)&&e.children?kr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&T(n.default))return n.default()}}function Fr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Fr(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 Ir(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eVr(e,t&&(x(t)?t[a]:t),n,r,i));return}if(Ur(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Vr(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Eo(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===d?s.refs={}:s.refs,f=s.setupState,p=L(f),h=f===d?m:e=>zr(u,e)?!1:b(p,e),g=(e,t)=>!(t&&zr(u,t));if(l!=null&&l!==c){if(Hr(t),E(l))u[l]=null,h(l)&&(f[l]=null);else if(R(l)){let e=t;g(l,e.k)&&(l.value=null),e.k&&(u[e.k]=null)}}if(T(c))On(c,s,12,[o,u]);else{let t=E(c),r=R(c);if(t||r){let s=()=>{if(e.f){let n=t?h(c)?f[c]:u[c]:g(c)||!e.k?c.value:u[e.k];if(i)x(n)&&v(n,a);else if(x(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],h(c)&&(f[c]=u[c]);else{let t=[a];g(c,e.k)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,h(c)&&(f[c]=o)):r&&(g(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),Br.delete(e)};t.id=-1,Br.set(e,t),H(t,n)}else Hr(e),s()}}}function Hr(e){let t=Br.get(e);t&&(t.flags|=8,Br.delete(e))}he().requestIdleCallback,he().cancelIdleCallback;var Ur=e=>!!e.type.__asyncLoader,Wr=e=>e.type.__isKeepAlive;function Gr(e,t){qr(e,`a`,t)}function Kr(e,t){qr(e,`da`,t)}function qr(e,t,n=K){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Yr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Wr(e.parent.vnode)&&Jr(r,t,n,e),e=e.parent}}function Jr(e,t,n,r){let i=Yr(t,e,r,!0);ni(()=>{v(r[t],i)},n)}function Yr(e,t,n=K,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{$e();let i=mo(n),a=kn(t,n,e,r);return i(),et(),a};return r?i.unshift(a):i.push(a),a}}var Xr=e=>(t,n=K)=>{(!_o||e===`sp`)&&Yr(e,(...e)=>t(...e),n)},Zr=Xr(`bm`),Qr=Xr(`m`),$r=Xr(`bu`),ei=Xr(`u`),ti=Xr(`bum`),ni=Xr(`um`),ri=Xr(`sp`),ii=Xr(`rtg`),ai=Xr(`rtc`);function oi(e,t=K){Yr(`ec`,e,t)}var si=`components`,ci=`directives`;function li(e,t){return pi(si,e,!0,t)||e}var ui=Symbol.for(`v-ndc`);function di(e){return E(e)?pi(si,e,!1)||e:e||ui}function fi(e){return pi(ci,e)}function pi(e,t,n=!0,r=!1){let i=B||K;if(i){let n=i.type;if(e===si){let e=Do(n,!1);if(e&&(e===t||e===M(t)||e===N(M(t))))return n}let a=mi(i[e]||n[e],t)||mi(i.appContext[e],t);return!a&&r?n:a}}function mi(e,t){return e&&(e[t]||e[M(t)]||e[N(M(t))])}function hi(e,t,n,r){let i,a=n&&n[r],o=x(e);if(o||E(e)){let n=o&&Qt(e),r=!1,s=!1;n&&(r=!en(e),s=$t(e),e=pt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function _i(e,t,n={},r,i){if(B.ce||B.parent&&Ur(B.parent)&&B.parent.ce){let e=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Ra(),Wa(U,null,[G(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),Ra();let o=a&&vi(a(n)),s=n.key||o&&o.key,c=Wa(U,{key:(s&&!D(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function vi(e){return e.some(e=>Ga(e)?!(e.type===W||e.type===U&&!vi(e.children)):!0)?e:null}function yi(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:ce(r)]=e[r];return n}var bi=e=>e?go(e)?Eo(e):bi(e.parent):null,xi=_(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=>bi(e.parent),$root:e=>bi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ni(e),$forceUpdate:e=>e.f||=()=>{Bn(e.update)},$nextTick:e=>e.n||=Rn.bind(e.proxy),$watch:e=>or.bind(e)}),Si=(e,t)=>e!==d&&!e.__isScriptSetup&&b(e,t),Ci={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(Si(r,t))return o[t]=1,r[t];else if(i!==d&&b(i,t))return o[t]=2,i[t];else if(b(a,t))return o[t]=3,a[t];else if(n!==d&&b(n,t))return o[t]=4,n[t];else Oi&&(o[t]=0)}let l=xi[t],u,f;if(l)return t===`$attrs`&&I(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==d&&b(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,b(f,t))return f[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return Si(i,t)?(i[t]=n,!0):r!==d&&b(r,t)?(r[t]=n,!0):b(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==d&&s[0]!==`$`&&b(e,s)||Si(t,s)||b(a,s)||b(r,s)||b(xi,s)||b(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?b(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function wi(){return Ei(`useSlots`).slots}function Ti(){return Ei(`useAttrs`).attrs}function Ei(e){let t=uo();return t.setupContext||=To(t)}function Di(e){return x(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var Oi=!0;function ki(e){let t=Ni(e),n=e.proxy,r=e.ctx;Oi=!1,t.beforeCreate&&ji(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:m,updated:h,activated:g,deactivated:_,beforeDestroy:v,beforeUnmount:y,destroyed:b,unmounted:S,render:C,renderTracked:w,renderTriggered:E,errorCaptured:D,serverPrefetch:ee,expose:k,inheritAttrs:A,components:te,directives:ne,filters:re}=t;if(l&&Ai(l,r,null),o)for(let e in o){let t=o[e];T(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);O(t)&&(e.data=qt(t))}if(Oi=!0,a)for(let e in a){let t=a[e],i=ko({get:T(t)?t.bind(n,n):T(t.get)?t.get.bind(n,n):p,set:!T(t)&&T(t.set)?t.set.bind(n):p});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)Mi(s[e],r,n,e);if(c){let e=T(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{Qn(t,e[t])})}u&&ji(u,e,`c`);function j(e,t){x(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(j(Zr,d),j(Qr,f),j($r,m),j(ei,h),j(Gr,g),j(Kr,_),j(oi,D),j(ai,w),j(ii,E),j(ti,y),j(ni,S),j(ri,ee),x(k))if(k.length){let t=e.exposed||={};k.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};C&&e.render===p&&(e.render=C),A!=null&&(e.inheritAttrs=A),te&&(e.components=te),ne&&(e.directives=ne),ee&&Rr(e)}function Ai(e,t,n=p){x(e)&&(e=Ri(e));for(let n in e){let r=e[n],i;i=O(r)?`default`in r?$n(r.from||n,r.default,!0):$n(r.from||n):$n(r),R(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function ji(e,t,n){kn(x(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Mi(e,t,n,r){let i=r.includes(`.`)?sr(n,r):()=>n[r];if(E(e)){let n=t[e];T(n)&&ir(i,n)}else if(T(e))ir(i,e.bind(n));else if(O(e))if(x(e))e.forEach(e=>Mi(e,t,n,r));else{let r=T(e.handler)?e.handler.bind(n):t[e.handler];T(r)&&ir(i,r,e)}}function Ni(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Pi(c,e,o,!0)),Pi(c,t,o)),O(t)&&a.set(t,c),c}function Pi(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Pi(e,a,n,!0),i&&i.forEach(t=>Pi(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Fi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Fi={data:Ii,props:Bi,emits:Bi,methods:zi,computed:zi,beforeCreate:V,created:V,beforeMount:V,mounted:V,beforeUpdate:V,updated:V,beforeDestroy:V,beforeUnmount:V,destroyed:V,unmounted:V,activated:V,deactivated:V,errorCaptured:V,serverPrefetch:V,components:zi,directives:zi,watch:Vi,provide:Ii,inject:Li};function Ii(e,t){return t?e?function(){return _(T(e)?e.call(this,this):e,T(t)?t.call(this,this):t)}:t:e}function Li(e,t){return zi(Ri(e),Ri(t))}function Ri(e){if(x(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${M(t)}Modifiers`]||e[`${se(t)}Modifiers`];function qi(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||d,i=n,a=t.startsWith(`update:`),o=a&&Ki(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>E(e)?e.trim():e)),o.number&&(i=n.map(fe)));let s,c=r[s=ce(t)]||r[s=ce(M(t))];!c&&a&&(c=r[s=ce(se(t))]),c&&kn(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,kn(l,e,6,i)}}var Ji=new WeakMap;function Yi(e,t,n=!1){let r=n?Ji:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!T(e)){let r=e=>{let n=Yi(e,t,!0);n&&(s=!0,_(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(O(e)&&r.set(e,null),null):(x(a)?a.forEach(e=>o[e]=null):_(o,a),O(e)&&r.set(e,o),o)}function Xi(e,t){return!e||!h(t)?!1:(t=t.slice(2).replace(/Once$/,``),b(e,t[0].toLowerCase()+t.slice(1))||b(e,se(t))||b(e,t))}function Zi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,_=Jn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=no(l.call(t,e,u,d,p,f,m)),y=s}else{let e=t;v=no(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),y=t.props?s:Qi(s)}}catch(t){Ia.length=0,An(t,e,1),v=G(W)}let b=v;if(y&&h!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(g)&&(y=$i(y,a)),b=Qa(b,y,!1,!0))}return n.dirs&&(b=Qa(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Fr(b,n.transition),v=b,Jn(_),v}var Qi=e=>{let t;for(let n in e)(n===`class`||n===`style`||h(n))&&((t||={})[n]=e[n]);return t},$i=(e,t)=>{let n={};for(let r in e)(!g(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function ea(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?ta(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(ia),oa=e=>Object.getPrototypeOf(e)===ia;function sa(e,t,n,r=!1){let i={},a=aa();e.propsDefaults=Object.create(null),la(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Jt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function ca(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=L(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=fa(e,t,!0);_(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return O(e)&&r.set(e,f),f;if(x(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ha=e=>x(e)?e.map(no):[no(e)],ga=(e,t,n)=>{if(t._n)return t;let r=Yn((...e)=>ha(t(...e)),n);return r._c=!1,r},_a=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ma(n))continue;let i=e[n];if(T(i))t[n]=ga(n,i,r);else if(i!=null){let e=ha(i);t[n]=()=>e}}},va=(e,t)=>{let n=ha(t);e.slots.default=()=>n},ya=(e,t,n)=>{for(let r in t)(n||!ma(r))&&(e[r]=t[r])},ba=(e,t,n)=>{let r=e.slots=aa();if(e.vnode.shapeFlag&32){let e=t._;e?(ya(r,t,n),n&&de(r,`_`,e,!0)):_a(t,r)}else t&&va(e,t)},xa=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=d;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:ya(i,t,n):(a=!t.$stable,_a(t,i)),o=t}else t&&(va(e,t),o={default:1});if(a)for(let e in i)!ma(e)&&o[e]==null&&delete i[e]},H=Na;function Sa(e){return Ca(e)}function Ca(e,t){let n=he();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:m,nextSibling:h,setScopeId:g=p,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ka(e,t)&&(r=me(e),ce(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Pa:y(e,t,n,r);break;case W:b(e,t,n,r);break;case Fa:e??x(t,n,r,o);break;case U:A(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?te(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ve)}u!=null&&i?Vr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Vr(e.ref,null,a,e,!0)},y=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},b=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=h(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&D(e.children,f,null,i,s,wa(e,c),l,d),_&&Zn(e,null,i,`created`),E(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!j(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&oo(p,i,e)}_&&Zn(e,null,i,`beforeMount`);let v=Ea(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&H(()=>{try{p&&oo(p,i,e),v&&g.enter(f),_&&Zn(e,null,i,`mounted`)}finally{}},s)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:f,dirs:p}=t;l|=e.patchFlag&16;let m=e.props||d,h=t.props||d,g;if(n&&Ta(n,!1),(g=h.onVnodeBeforeUpdate)&&oo(g,n,t,e),p&&Zn(t,e,n,`beforeUpdate`),n&&Ta(n,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&u(c,``),f?ee(e.dynamicChildren,f,c,n,r,wa(t,i),o):s||M(e,t,c,null,n,r,wa(t,i),o,!1),l>0){if(l&16)k(c,m,h,n,i);else if(l&2&&m.class!==h.class&&a(c,`class`,null,h.class,i),l&4&&a(c,`style`,m.style,h.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{g&&oo(g,n,t,e),p&&Zn(t,e,n,`updated`)},r)},ee=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==d)for(let o in t)!j(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(j(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},A=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(ee(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Da(e,t,!0)):M(e,t,n,f,a,o,c,l,u)},te=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):ne(t,n,r,i,a,o,c):re(e,t,c)},ne=(e,t,n,r,i,a,o)=>{let s=e.component=lo(e,r,i);if(Wr(e)&&(s.ctx.renderer=ve),vo(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ie,o),!e.el){let r=s.subTree=G(W);b(null,r,t,n),e.placeholder=r.el}}else ie(s,e,t,n,i,a,o)},re=(e,t,n)=>{let r=t.component=e.component;if(ea(e,t,n))if(r.asyncDep&&!r.asyncResolved){ae(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ie=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=ka(e);if(n){t&&(t.el=c.el,ae(e,t,o)),n.asyncDep.then(()=>{H(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Ta(e,!1),t?(t.el=c.el,ae(e,t,o)):t=c,n&&ue(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&oo(d,s,t,c),Ta(e,!0);let f=Zi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),me(p),e,i,a),t.el=f.el,u===null&&ra(e,f.el),r&&H(r,i),(d=t.props&&t.props.onVnodeUpdated)&&H(()=>oo(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Ur(t);if(Ta(e,!1),l&&ue(l),!m&&(o=c&&c.onVnodeBeforeMount)&&oo(o,d,t),Ta(e,!0),s&&be){let t=()=>{e.subTree=Zi(e),be(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Zi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&H(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;H(()=>oo(o,d,e),i)}(t.shapeFlag&256||d&&Ur(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&H(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Re(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Bn(u),Ta(e,!0),l()},ae=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,ca(e,t.props,r,n),xa(e,t.children,n),$e(),Un(e),et()},M=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){se(l,f,n,r,i,a,o,s,c);return}else if(p&256){oe(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&pe(l,i,a),f!==l&&u(n,f)):d&16?m&16?se(l,f,n,r,i,a,o,s,c):pe(l,i,a,!0):(d&8&&u(n,``),m&16&&D(f,n,r,i,a,o,s,c))},oe=(e,t,n,r,i,a,o,s,c)=>{e||=f,t||=f;let l=e.length,u=t.length,d=Math.min(l,u),p;for(p=0;pu?pe(e,i,a,!0,!1,d):D(t,n,r,i,a,o,s,c,d)},se=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,p=u-1;for(;l<=d&&l<=p;){let r=e[l],u=t[l]=c?ro(t[l]):no(t[l]);if(Ka(r,u))v(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=p;){let r=e[d],l=t[p]=c?ro(t[p]):no(t[p]);if(Ka(r,l))v(r,l,n,null,i,a,o,s,c);else break;d--,p--}if(l>d){if(l<=p){let e=p+1,d=ep)for(;l<=d;)ce(e[l],i,a,!0),l++;else{let m=l,h=l,g=new Map;for(l=h;l<=p;l++){let e=t[l]=c?ro(t[l]):no(t[l]);e.key!=null&&g.set(e.key,l)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(l=0;l=b){ce(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ka(r,t[_])){u=_;break}u===void 0?ce(r,i,a,!0):(C[u-h]=l+1,u>=S?S=u:x=!0,v(r,t[u],n,null,i,a,o,s,c),y++)}let w=x?Oa(C):f;for(_=w.length-1,l=b-1;l>=0;l--){let e=h+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){N(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,ve);return}if(c===U){r(s,t,n);for(let e=0;el.enter(s),o));else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{let e=s._isLeaving||!!s[Sr];s._isLeaving&&s[Sr](!0),l.persisted&&!e?u():a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},ce=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&($e(),Vr(s,null,n,e,!0),et()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Ur(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&oo(_,t,e),u&6)fe(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Zn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ve,r):l&&!l.hasOnce&&(a!==U||d>0&&d&64)?pe(l,t,n,!1,!0):(a===U&&d&384||!i&&u&16)&&pe(c,t,n),r&&le(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&H(()=>{_&&oo(_,t,e),h&&Zn(e,null,t,`unmounted`),v&&(e.el=null)},n)},le=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===U){de(n,r);return}if(t===Fa){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},de=(e,t)=>{let n;for(;e!==t;)n=h(e),i(e),e=n;i(t)},fe=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Aa(c),Aa(l),r&&ue(r),i.stop(),a&&(a.flags|=8,ce(o,e,t,n)),s&&H(s,t),H(()=>{e.isUnmounted=!0},t)},pe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return me(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[lr];return n?h(n):t},ge=!1,_e=(e,t,n)=>{let r;e==null?t._vnode&&(ce(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ge||=(ge=!0,Un(r),Wn(),!1)},ve={p:v,um:ce,m:N,r:le,mt:ne,mc:D,pc:M,pbc:ee,n:me,o:e},ye,be;return t&&([ye,be]=t(ve)),{render:_e,hydrate:ye,createApp:Wi(_e,ye)}}function wa({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 Ta({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ea(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Da(e,t,n=!1){let r=e.children,i=t.children;if(x(r)&&x(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function ka(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ka(t)}function Aa(e){if(e)for(let t=0;te.__isSuspense;function Na(e,t){t&&t.pendingBranch?x(e)?t.effects.push(...e):t.effects.push(e):Hn(e)}var U=Symbol.for(`v-fgt`),Pa=Symbol.for(`v-txt`),W=Symbol.for(`v-cmt`),Fa=Symbol.for(`v-stc`),Ia=[],La=null;function Ra(e=!1){Ia.push(La=e?null:[])}function za(){Ia.pop(),La=Ia[Ia.length-1]||null}var Ba=1;function Va(e,t=!1){Ba+=e,e<0&&La&&t&&(La.hasOnce=!0)}function Ha(e){return e.dynamicChildren=Ba>0?La||f:null,za(),Ba>0&&La&&La.push(e),e}function Ua(e,t,n,r,i,a){return Ha(Ya(e,t,n,r,i,a,!0))}function Wa(e,t,n,r,i){return Ha(G(e,t,n,r,i,!0))}function Ga(e){return e?e.__v_isVNode===!0:!1}function Ka(e,t){return e.type===t.type&&e.key===t.key}var qa=({key:e})=>e??null,Ja=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:E(e)||R(e)||T(e)?{i:B,r:e,k:t,f:!!n}:e);function Ya(e,t=null,n=null,r=0,i=null,a=e===U?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&qa(t),ref:t&&Ja(t),scopeId:qn,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:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:B};return s?(io(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=E(n)?8:16),Ba>0&&!o&&La&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&La.push(c),c}var G=Xa;function Xa(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ui)&&(e=W),Ga(e)){let r=Qa(e,t,!0);return n&&io(r,n),Ba>0&&!a&&La&&(r.shapeFlag&6?La[La.indexOf(e)]=r:La.push(r)),r.patchFlag=-2,r}if(Oo(e)&&(e=e.__vccOpts),t){t=Za(t);let{class:e,style:n}=t;e&&!E(e)&&(t.class=xe(e)),O(n)&&(tn(n)&&!x(n)&&(n=_({},n)),t.style=ge(n))}let o=E(e)?1:Ma(e)?128:ur(e)?64:O(e)?4:T(e)?2:0;return Ya(e,t,n,r,i,o,a,!0)}function Za(e){return e?tn(e)||oa(e)?_({},e):e:null}function Qa(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?ao(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&qa(l),ref:t&&t.ref?n&&a?x(a)?a.concat(Ja(t)):[a,Ja(t)]:Ja(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==U?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qa(e.ssContent),ssFallback:e.ssFallback&&Qa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Fr(u,c.clone(u)),u}function $a(e=` `,t=0){return G(Pa,null,e,t)}function eo(e,t){let n=G(Fa,null,e);return n.staticCount=t,n}function to(e=``,t=!1){return t?(Ra(),Wa(W,null,e)):G(W,null,e)}function no(e){return e==null||typeof e==`boolean`?G(W):x(e)?G(U,null,e.slice()):Ga(e)?ro(e):G(Pa,null,String(e))}function ro(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qa(e)}function io(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(x(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),io(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!oa(t)?t._ctx=B:r===3&&B&&(B.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else T(t)?(t={default:t,_ctx:B},n=32):(t=String(t),r&64?(n=16,t=[$a(t)]):n=8);e.children=t,e.shapeFlag|=n}function ao(...e){let t={};for(let n=0;nK||B,fo,po;{let e=he(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};fo=t(`__VUE_INSTANCE_SETTERS__`,e=>K=e),po=t(`__VUE_SSR_SETTERS__`,e=>_o=e)}var mo=e=>{let t=K;return fo(e),e.scope.on(),()=>{e.scope.off(),fo(t)}},ho=()=>{K&&K.scope.off(),fo(null)};function go(e){return e.vnode.shapeFlag&4}var _o=!1;function vo(e,t=!1,n=!1){t&&po(t);let{props:r,children:i}=e.vnode,a=go(e);sa(e,r,a,t),ba(e,i,n||t);let o=a?yo(e,t):void 0;return t&&po(!1),o}function yo(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ci);let{setup:r}=n;if(r){$e();let n=e.setupContext=r.length>1?To(e):null,i=mo(e),a=On(r,e,0,[e.props,n]),o=ee(a);if(et(),i(),(o||e.sp)&&!Ur(e)&&Rr(e),o){if(a.then(ho,ho),t)return a.then(n=>{bo(e,n,t)}).catch(t=>{An(t,e,0)});e.asyncDep=a}else bo(e,a,t)}else Co(e,t)}function bo(e,t,n){T(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:O(t)&&(e.setupState=mn(t)),Co(e,n)}var xo,So;function Co(e,t,n){let r=e.type;if(!e.render){if(!t&&xo&&!r.render){let t=r.template||Ni(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=xo(t,_(_({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||p,So&&So(e)}{let t=mo(e);$e();try{ki(e)}finally{et(),t()}}}var wo={get(e,t){return I(e,`get`,``),e[t]}};function To(e){return{attrs:new Proxy(e.attrs,wo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Eo(e){return e.exposed?e.exposeProxy||=new Proxy(mn(nn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xi)return xi[n](e)},has(e,t){return t in e||t in xi}}):e.proxy}function Do(e,t=!0){return T(e)?e.displayName||e.name:e.name||t&&e.__name}function Oo(e){return T(e)&&`__vccOpts`in e}var ko=(e,t)=>xn(e,t,_o);function Ao(e,t,n){try{Va(-1);let r=arguments.length;return r===2?O(t)&&!x(t)?Ga(t)?G(e,null,[t]):G(e,t):G(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ga(n)&&(n=[n]),G(e,t,n))}finally{Va(1)}}var jo=`3.5.38`,Mo=p;function No(e,t){return function(){return e.apply(t,arguments)}}var{toString:Po}=Object.prototype,{getPrototypeOf:Fo}=Object,{iterator:Io,toStringTag:Lo}=Symbol,Ro=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),zo=(e,t)=>{let n=e,r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),Ro(n,t))return!0;n=Fo(n)}return!1},Bo=(e,t)=>e!=null&&zo(e,t)?e[t]:void 0,Vo=(e=>t=>{let n=Po.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ho=e=>(e=e.toLowerCase(),t=>Vo(t)===e),Uo=e=>t=>typeof t===e,{isArray:Wo}=Array,Go=Uo(`undefined`);function Ko(e){return e!==null&&!Go(e)&&e.constructor!==null&&!Go(e.constructor)&&q(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var qo=Ho(`ArrayBuffer`);function Jo(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&qo(e.buffer),t}var Yo=Uo(`string`),q=Uo(`function`),Xo=Uo(`number`),Zo=e=>typeof e==`object`&&!!e,Qo=e=>e===!0||e===!1,$o=e=>{if(!Zo(e))return!1;let t=Fo(e);return(t===null||t===Object.prototype||Fo(t)===null)&&!zo(e,Lo)&&!zo(e,Io)},es=e=>{if(!Zo(e)||Ko(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},ts=Ho(`Date`),ns=Ho(`File`),rs=e=>!!(e&&e.uri!==void 0),is=e=>e&&e.getParts!==void 0,as=Ho(`Blob`),os=Ho(`FileList`),ss=e=>Zo(e)&&q(e.pipe);function cs(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var ls=cs(),us=ls.FormData===void 0?void 0:ls.FormData,ds=e=>{if(!e)return!1;if(us&&e instanceof us)return!0;let t=Fo(e);if(!t||t===Object.prototype||!q(e.append))return!1;let n=Vo(e);return n===`formdata`||n===`object`&&q(e.toString)&&e.toString()===`[object FormData]`},fs=Ho(`URLSearchParams`),[ps,ms,hs,gs]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(Ho),_s=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function vs(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),Wo(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}var bs=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,xs=e=>!Go(e)&&e!==bs;function Ss(...e){let{caseless:t,skipUndefined:n}=xs(this)&&this||{},r={},i=(e,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=t&&typeof i==`string`&&ys(r,i)||i,o=Ro(r,a)?r[a]:void 0;$o(o)&&$o(e)?r[a]=Ss(o,e):$o(e)?r[a]=Ss({},e):Wo(e)?r[a]=e.slice():(!n||!Go(e))&&(r[a]=e)};for(let t=0,n=e.length;t(vs(t,(t,r)=>{n&&q(t)?Object.defineProperty(e,r,{__proto__:null,value:No(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{__proto__:null,value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),ws=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Ts=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),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)},Es=(e,t,n,r)=>{let i,a,o,s={};if(t||={},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&Fo(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ds=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},Os=e=>{if(!e)return null;if(Wo(e))return e;let t=e.length;if(!Xo(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},ks=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&Fo(Uint8Array)),As=(e,t)=>{let n=(e&&e[Io]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},js=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Ms=Ho(`HTMLFormElement`),Ns=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),{propertyIsEnumerable:Ps}=Object.prototype,Fs=Ho(`RegExp`),Is=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};vs(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},Ls=e=>{Is(e,(t,n)=>{if(q(e)&&[`arguments`,`caller`,`callee`].includes(n))return!1;let r=e[n];if(q(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},Rs=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return Wo(e)?r(e):r(String(e).split(t)),n},zs=()=>{},Bs=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Vs(e){return!!(e&&q(e.append)&&e[Lo]===`FormData`&&e[Io])}var Hs=e=>{let t=new WeakSet,n=e=>{if(Zo(e)){if(t.has(e))return;if(Ko(e))return e;if(!(`toJSON`in e)){t.add(e);let r=Wo(e)?[]:{};return vs(e,(e,t)=>{let i=n(e);!Go(i)&&(r[t]=i)}),t.delete(e),r}}return e};return n(e)},Us=Ho(`AsyncFunction`),Ws=e=>e&&(Zo(e)||q(e))&&q(e.then)&&q(e.catch),Gs=((e,t)=>e?setImmediate:t?((e,t)=>(bs.addEventListener(`message`,({source:n,data:r})=>{n===bs&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),bs.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,q(bs.postMessage)),Ks=typeof queueMicrotask<`u`?queueMicrotask.bind(bs):typeof process<`u`&&process.nextTick||Gs,qs=e=>e!=null&&q(e[Io]),J={isArray:Wo,isArrayBuffer:qo,isBuffer:Ko,isFormData:ds,isArrayBufferView:Jo,isString:Yo,isNumber:Xo,isBoolean:Qo,isObject:Zo,isPlainObject:$o,isEmptyObject:es,isReadableStream:ps,isRequest:ms,isResponse:hs,isHeaders:gs,isUndefined:Go,isDate:ts,isFile:ns,isReactNativeBlob:rs,isReactNative:is,isBlob:as,isRegExp:Fs,isFunction:q,isStream:ss,isURLSearchParams:fs,isTypedArray:ks,isFileList:os,forEach:vs,merge:Ss,extend:Cs,trim:_s,stripBOM:ws,inherits:Ts,toFlatObject:Es,kindOf:Vo,kindOfTest:Ho,endsWith:Ds,toArray:Os,forEachEntry:As,matchAll:js,isHTMLForm:Ms,hasOwnProperty:Ro,hasOwnProp:Ro,hasOwnInPrototypeChain:zo,getSafeProp:Bo,reduceDescriptors:Is,freezeMethods:Ls,toObjectSet:Rs,toCamelCase:Ns,noop:zs,toFiniteNumber:Bs,findKey:ys,global:bs,isContextDefined:xs,isSpecCompliantForm:Vs,toJSONObject:Hs,isAsyncFn:Us,isThenable:Ws,setImmediate:Gs,asap:Ks,isIterable:qs,isSafeIterable:e=>e!=null&&zo(e,Io)&&qs(e)},Js=J.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`]),Ys=e=>{let t={},n,r,i;return e&&e.split(` +`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&Js[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t};function Xs(e){let t=0,n=e.length;for(;tt;){let t=e.charCodeAt(n-1);if(t!==9&&t!==32)break;--n}return t===0&&n===e.length?e:e.slice(t,n)}var Zs=RegExp(`[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+`,`g`),Qs=RegExp(`[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+`,`g`);function $s(e,t){return J.isArray(e)?e.map(e=>$s(e,t)):Xs(String(e).replace(t,``))}var ec=e=>$s(e,Zs),tc=e=>$s(e,Qs);function nc(e){let t=Object.create(null);return J.forEach(e.toJSON(),(e,n)=>{t[n]=tc(e)}),t}var rc=Symbol(`internals`);function ic(e){return e&&String(e).trim().toLowerCase()}function ac(e){return e===!1||e==null?e:J.isArray(e)?e.map(ac):ec(String(e))}function oc(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var sc=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function cc(e,t,n,r,i){if(J.isFunction(r))return r.call(this,t,n);if(i&&(t=n),J.isString(t)){if(J.isString(r))return t.indexOf(r)!==-1;if(J.isRegExp(r))return r.test(t)}}function lc(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function uc(e,t){let n=J.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var Y=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=ic(t);if(!i)return;let a=J.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=ac(e))}let a=(e,t)=>J.forEach(e,(e,n)=>i(e,n,t));if(J.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(J.isString(e)&&(e=e.trim())&&!sc(e))a(Ys(e),t);else if(J.isObject(e)&&J.isSafeIterable(e)){let n=Object.create(null),r,i;for(let t of e){if(!J.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);i=t[0],J.hasOwnProp(n,i)?(r=n[i],n[i]=J.isArray(r)?[...r,t[1]]:[r,t[1]]):n[i]=t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=ic(e),e){let n=J.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return oc(e);if(J.isFunction(t))return t.call(this,e,n);if(J.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=ic(e),e){let n=J.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||cc(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=ic(e),e){let i=J.findKey(n,e);i&&(!t||cc(n,n[i],i,t))&&(delete n[i],r=!0)}}return J.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||cc(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return J.forEach(this,(r,i)=>{let a=J.findKey(n,i);if(a){t[a]=ac(r),delete t[i];return}let o=e?lc(i):String(i).trim();o!==i&&delete t[i],t[o]=ac(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return J.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&J.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(` +`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[rc]=this[rc]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=ic(e);t[r]||(uc(n,e),t[r]=!0)}return J.isArray(e)?e.forEach(r):r(e),this}};Y.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),J.reduceDescriptors(Y.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),J.freezeMethods(Y);var dc=`[REDACTED ****]`;function fc(e){if(J.hasOwnProp(e,`toJSON`))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(J.hasOwnProp(t,`toJSON`))return!0;t=Object.getPrototypeOf(t)}return!1}function pc(e,t){let n=new Set(t.map(e=>String(e).toLowerCase())),r=[],i=e=>{if(typeof e!=`object`||!e||J.isBuffer(e))return e;if(r.indexOf(e)!==-1)return;e instanceof Y&&(e=e.toJSON()),r.push(e);let t;if(J.isArray(e))t=[],e.forEach((e,n)=>{let r=i(e);J.isUndefined(r)||(t[n]=r)});else{if(!J.isPlainObject(e)&&fc(e))return r.pop(),e;t=Object.create(null);for(let[r,a]of Object.entries(e)){let e=n.has(r.toLowerCase())?dc:i(a);J.isUndefined(e)||(t[r]=e)}}return r.pop(),t};return i(e)}var X=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){let e=this.config,t=e&&J.hasOwnProp(e,`redact`)?e.redact:void 0,n=J.isArray(t)&&t.length>0?pc(e,t):J.toJSONObject(e);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:n,code:this.code,status:this.status}}};X.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,X.ERR_BAD_OPTION=`ERR_BAD_OPTION`,X.ECONNABORTED=`ECONNABORTED`,X.ETIMEDOUT=`ETIMEDOUT`,X.ECONNREFUSED=`ECONNREFUSED`,X.ERR_NETWORK=`ERR_NETWORK`,X.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,X.ERR_DEPRECATED=`ERR_DEPRECATED`,X.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,X.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,X.ERR_CANCELED=`ERR_CANCELED`,X.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,X.ERR_INVALID_URL=`ERR_INVALID_URL`,X.ERR_FORM_DATA_DEPTH_EXCEEDED=`ERR_FORM_DATA_DEPTH_EXCEEDED`;function mc(e){return J.isPlainObject(e)||J.isArray(e)}function hc(e){return J.endsWith(e,`[]`)?e.slice(0,-2):e}function gc(e,t,n){return e?e.concat(t).map(function(e,t){return e=hc(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function _c(e){return J.isArray(e)&&!e.some(mc)}var vc=J.toFlatObject(J,{},null,function(e){return/^is[A-Z]/.test(e)});function yc(e,t,n){if(!J.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=J.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!J.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||m,a=n.dots,o=n.indexes,s=n.Blob||typeof Blob<`u`&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,l=s&&J.isSpecCompliantForm(t),u=[];if(!J.isFunction(i))throw TypeError(`visitor must be a function`);function d(e){if(e===null)return``;if(J.isDate(e))return e.toISOString();if(J.isBoolean(e))return e.toString();if(!l&&J.isBlob(e))throw new X(`Blob is not supported. Use a Buffer instead.`);return J.isArrayBuffer(e)||J.isTypedArray(e)?l&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function f(e){if(e>c)throw new X(`Object is too deeply nested (`+e+` levels). Max depth: `+c,X.ERR_FORM_DATA_DEPTH_EXCEEDED)}function p(e,t){if(c===1/0)return JSON.stringify(e);let n=[];return JSON.stringify(e,function(e,r){if(!J.isObject(r))return r;for(;n.length&&n[n.length-1]!==this;)n.pop();return n.push(r),f(t+n.length-1),r})}function m(e,n,i){let s=e;if(J.isReactNative(t)&&J.isReactNativeBlob(e))return t.append(gc(i,n,a),d(e)),!1;if(e&&!i&&typeof e==`object`){if(J.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=p(e,1);else if(J.isArray(e)&&_c(e)||(J.isFileList(e)||J.endsWith(n,`[]`))&&(s=J.toArray(e)))return n=hc(n),s.forEach(function(e,r){!(J.isUndefined(e)||e===null)&&t.append(o===!0?gc([n],r,a):o===null?n:n+`[]`,d(e))}),!1}return mc(e)?!0:(t.append(gc(i,n,a),d(e)),!1)}let h=Object.assign(vc,{defaultVisitor:m,convertValue:d,isVisitable:mc});function g(e,n,r=0){if(!J.isUndefined(e)){if(f(r),u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),J.forEach(e,function(e,a){(!(J.isUndefined(e)||e===null)&&i.call(t,e,J.isString(a)?a.trim():a,n,h))===!0&&g(e,n?n.concat(a):[a],r+1)}),u.pop()}}if(!J.isObject(e))throw TypeError(`data must be an object`);return g(e),t}function bc(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(e){return t[e]})}function xc(e,t){this._pairs=[],e&&yc(e,this,t)}var Sc=xc.prototype;Sc.append=function(e,t){this._pairs.push([e,t])},Sc.toString=function(e){let t=e?function(t){return e.call(this,t,bc)}:bc;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function Cc(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function wc(e,t,n){if(!t)return e;let r=J.isFunction(n)?{serialize:n}:n,i=J.getSafeProp(r,`encode`)||Cc,a=J.getSafeProp(r,`serialize`),o;if(o=a?a(t,r):J.isURLSearchParams(t)?t.toString():new xc(t,r).toString(i),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var Tc=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){J.forEach(this.handlers,function(t){t!==null&&e(t)})}},Ec={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Dc={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:xc,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},Oc=s({hasBrowserEnv:()=>kc,hasStandardBrowserEnv:()=>jc,hasStandardBrowserWebWorkerEnv:()=>Mc,navigator:()=>Ac,origin:()=>Nc}),kc=typeof window<`u`&&typeof document<`u`,Ac=typeof navigator==`object`&&navigator||void 0,jc=kc&&(!Ac||[`ReactNative`,`NativeScript`,`NS`].indexOf(Ac.product)<0),Mc=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,Nc=kc&&window.location.href||`http://localhost`,Z={...Oc,...Dc};function Pc(e,t){return yc(e,new Z.classes.URLSearchParams,{visitor:function(e,t,n,r){return Z.isNode&&J.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}var Fc=100;function Ic(e){if(e>Fc)throw new X(`FormData field is too deeply nested (`+e+` levels). Max depth: `+Fc,X.ERR_FORM_DATA_DEPTH_EXCEEDED)}function Lc(e){let t=[],n=/\w+|\[(\w*)]/g,r;for(;(r=n.exec(e))!==null;)Ic(t.length),t.push(r[0]===`[]`?``:r[1]||r[0]);return t}function Rc(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r=e.length;return a=!a&&J.isArray(r)?r.length:a,s?(J.hasOwnProp(r,a)?r[a]=J.isArray(r[a])?r[a].concat(n):[r[a],n]:r[a]=n,!o):((!J.hasOwnProp(r,a)||!J.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&J.isArray(r[a])&&(r[a]=Rc(r[a])),!o)}if(J.isFormData(e)&&J.isFunction(e.entries)){let n={};return J.forEachEntry(e,(e,r)=>{t(Lc(e),r,n,0)}),n}return null}var Bc=(e,t)=>e!=null&&J.hasOwnProp(e,t)?e[t]:void 0;function Vc(e,t,n){if(J.isString(e))try{return(t||JSON.parse)(e),J.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var Hc={transitional:Ec,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=J.isObject(e);if(i&&J.isHTMLForm(e)&&(e=new FormData(e)),J.isFormData(e))return r?JSON.stringify(zc(e)):e;if(J.isArrayBuffer(e)||J.isBuffer(e)||J.isStream(e)||J.isFile(e)||J.isBlob(e)||J.isReadableStream(e))return e;if(J.isArrayBufferView(e))return e.buffer;if(J.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){let t=Bc(this,`formSerializer`);if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return Pc(e,t).toString();if((a=J.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let n=Bc(this,`env`),r=n&&n.FormData;return yc(a?{"files[]":e}:e,r&&new r,t)}}return i||r?(t.setContentType(`application/json`,!1),Vc(e)):e}],transformResponse:[function(e){let t=Bc(this,`transitional`)||Hc.transitional,n=t&&t.forcedJSONParsing,r=Bc(this,`responseType`),i=r===`json`;if(J.isResponse(e)||J.isReadableStream(e))return e;if(e&&J.isString(e)&&(n&&!r||i)){let n=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e,Bc(this,`parseReviver`))}catch(e){if(n)throw e.name===`SyntaxError`?X.from(e,X.ERR_BAD_RESPONSE,this,null,Bc(this,`response`)):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:Z.classes.FormData,Blob:Z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};J.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`],e=>{Hc.headers[e]={}});function Uc(e,t){let n=this||Hc,r=t||n,i=Y.from(r.headers),a=r.data;return J.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function Wc(e){return!!(e&&e.__CANCEL__)}var Gc=class extends X{constructor(e,t,n){super(e??`canceled`,X.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function Kc(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new X(`Request failed with status code `+n.status,n.status>=400&&n.status<500?X.ERR_BAD_REQUEST:X.ERR_BAD_RESPONSE,n.config,n.request,n))}function qc(e){let t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||``}function Jc(e,t){e||=10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||=c,n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{n=r,i=null,a&&=(clearTimeout(a),null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||=setTimeout(()=>{a=null,o(i)},r-s))},()=>i&&o(i)]}var Xc=(e,t,n=3)=>{let r=0,i=Jc(50,250);return Yc(n=>{if(!n||typeof n.loaded!=`number`)return;let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=o==null?a:Math.min(a,o),c=Math.max(0,s-r),l=i(c);r=Math.max(r,s),e({loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:l||void 0,estimated:l&&o?(o-s)/l:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},Zc=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Qc=e=>(...t)=>J.asap(()=>e(...t)),$c=Z.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Z.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Z.origin),Z.navigator&&/(msie|trident)/i.test(Z.navigator.userAgent)):()=>!0,el=Z.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];J.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),J.isString(r)&&s.push(`path=${r}`),J.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),J.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.split(`;`);for(let n=0;ne instanceof Y?{...e}:e;function ul(e,t){t||={};let n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(e,t,n,r){return J.isPlainObject(e)&&J.isPlainObject(t)?J.merge.call({caseless:r},e,t):J.isPlainObject(t)?J.merge({},t):J.isArray(t)?t.slice():t}function i(e,t,n,i){if(!J.isUndefined(t))return r(e,t,n,i);if(!J.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!J.isUndefined(t))return r(void 0,t)}function o(e,t){if(!J.isUndefined(t))return r(void 0,t);if(!J.isUndefined(e))return r(void 0,e)}function s(n){let r=J.hasOwnProp(t,`transitional`)?t.transitional:void 0;if(!J.isUndefined(r))if(J.isPlainObject(r)){if(J.hasOwnProp(r,n))return r[n]}else return;let i=J.hasOwnProp(e,`transitional`)?e.transitional:void 0;if(J.isPlainObject(i)&&J.hasOwnProp(i,n))return i[n]}function c(n,i,a){if(J.hasOwnProp(t,a))return r(n,i);if(J.hasOwnProp(e,a))return r(void 0,n)}let l={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:c,headers:(e,t,n)=>i(ll(e),ll(t),n,!0)};return J.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=J.hasOwnProp(l,r)?l[r]:i,o=a(J.hasOwnProp(e,r)?e[r]:void 0,J.hasOwnProp(t,r)?t[r]:void 0,r);J.isUndefined(o)&&a!==c||(n[r]=o)}),J.hasOwnProp(t,`validateStatus`)&&J.isUndefined(t.validateStatus)&&s(`validateStatusUndefinedResolves`)===!1&&(J.hasOwnProp(e,`validateStatus`)?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}var dl=[`content-type`,`content-length`];function fl(e,t,n){if(n!==`content-only`){e.set(t);return}Object.entries(t).forEach(([t,n])=>{dl.includes(t.toLowerCase())&&e.set(t,n)})}var pl=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16)));function ml(e){let t=ul({},e),n=e=>J.hasOwnProp(t,e)?t[e]:void 0,r=n(`data`),i=n(`withXSRFToken`),a=n(`xsrfHeaderName`),o=n(`xsrfCookieName`),s=n(`headers`),c=n(`auth`),l=n(`baseURL`),u=n(`allowAbsoluteUrls`),d=n(`url`);if(t.headers=s=Y.from(s),t.url=wc(cl(l,d,u,t),n(`params`),n(`paramsSerializer`)),c){let e=J.getSafeProp(c,`username`)||``,t=J.getSafeProp(c,`password`)||``;s.set(`Authorization`,`Basic `+btoa(e+`:`+(t?pl(t):``)))}if(J.isFormData(r)&&(Z.hasStandardBrowserEnv||Z.hasStandardBrowserWebWorkerEnv||J.isReactNative(r)?s.setContentType(void 0):J.isFunction(r.getHeaders)&&fl(s,r.getHeaders(),n(`formDataHeaderPolicy`))),Z.hasStandardBrowserEnv&&(J.isFunction(i)&&(i=i(t)),i===!0||i==null&&$c(t.url))){let e=a&&o&&el.read(o);e&&s.set(a,e)}return t}var hl=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=ml(e),i=r.data,a=Y.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=Y.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());Kc(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.startsWith(`file:`))||setTimeout(g)},h.onabort=function(){h&&=(n(new X(`Request aborted`,X.ECONNABORTED,e,h)),m(),null)},h.onerror=function(t){let r=new X(t&&t.message?t.message:`Network Error`,X.ERR_NETWORK,e,h);r.event=t||null,n(r),m(),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||Ec;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new X(t,i.clarifyTimeoutError?X.ETIMEDOUT:X.ECONNABORTED,e,h)),m(),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&J.forEach(nc(a),function(e,t){h.setRequestHeader(t,e)}),J.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=Xc(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=Xc(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&=(n(!t||t.type?new Gc(null,e,h):t),h.abort(),m(),null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=qc(r.url);if(_&&!Z.protocols.includes(_)){n(new X(`Unsupported protocol `+_+`:`,X.ERR_BAD_REQUEST,e));return}h.send(i||null)})},gl=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;let n=new AbortController,r=!1,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof X?t:new Gc(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new X(`timeout of ${t}ms exceeded`,X.ETIMEDOUT))},t),o=()=>{e&&=(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),null)};e.forEach(e=>e.addEventListener(`abort`,i));let{signal:s}=n;return s.unsubscribe=()=>J.asap(o),s},_l=function*(e,t){let n=e.byteLength;if(!t||n{let i=vl(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})},xl=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Sl=(e,t,n)=>t+2e>=2&&r.charCodeAt(e-2)===37&&r.charCodeAt(e-1)===51&&(r.charCodeAt(e)===68||r.charCodeAt(e)===100);i>=0&&(r.charCodeAt(i)===61?(n++,i--):a(i)&&(n++,i-=3)),n===1&&i>=0&&(r.charCodeAt(i)===61||a(i))&&n++;let o=Math.floor(e/4)*3-(n||0);return o>0?o:0}let i=0;for(let e=0,t=r.length;e=55296&&n<=56319&&e+1=56320&&t<=57343?(i+=4,e++):i+=3}else i+=3}return i}var wl=`1.18.0`,Tl=64*1024,{isFunction:El}=J,Dl=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16))),Ol=e=>{if(!J.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},kl=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Al=e=>{let t=e.indexOf(`://`),n=e;return t!==-1&&(n=n.slice(t+3)),n.includes(`@`)||n.includes(`:`)},jl=e=>{let t=J.global!==void 0&&J.global!==null?J.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=J.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);let{fetch:i,Request:a,Response:o}=e,s=i?El(i):typeof fetch==`function`,c=El(a),l=El(o);if(!s)return!1;let u=s&&El(n),d=s&&(typeof r==`function`?(e=>t=>e.encode(t))(new r):async e=>new Uint8Array(await new a(e).arrayBuffer())),f=c&&u&&kl(()=>{let e=!1,t=new a(Z.origin,{body:new n,method:`POST`,get duplex(){return e=!0,`half`}}),r=t.headers.has(`Content-Type`);return t.body!=null&&t.body.cancel(),e&&!r}),p=l&&u&&kl(()=>J.isReadableStream(new o(``).body)),m={stream:p&&(e=>e.body)};s&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!m[e]&&(m[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new X(`Response type '${e}' is not supported`,X.ERR_NOT_SUPPORT,n)})});let h=async e=>{if(e==null)return 0;if(J.isBlob(e))return e.size;if(J.isSpecCompliantForm(e))return(await new a(Z.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(J.isArrayBufferView(e)||J.isArrayBuffer(e))return e.byteLength;if(J.isURLSearchParams(e)&&(e+=``),J.isString(e))return(await d(e)).byteLength},g=async(e,t)=>J.toFiniteNumber(e.getContentLength())??h(t);return async e=>{let{url:t,method:n,data:s,signal:l,cancelToken:d,timeout:_,onDownloadProgress:v,onUploadProgress:y,responseType:b,headers:x,withCredentials:S=`same-origin`,fetchOptions:C,maxContentLength:w,maxBodyLength:T}=ml(e),E=J.isNumber(w)&&w>-1,D=J.isNumber(T)&&T>-1,O=t=>J.hasOwnProp(e,t)?e[t]:void 0,ee=i||fetch;b=b?(b+``).toLowerCase():`text`;let k=gl([l,d&&d.toAbortSignal()],_),A=null,te=k&&k.unsubscribe&&(()=>{k.unsubscribe()}),ne,re=null,j=()=>new X(`Request body larger than maxBodyLength limit`,X.ERR_BAD_REQUEST,e,A);try{let i,l=O(`auth`);if(l&&(i={username:J.getSafeProp(l,`username`)||``,password:J.getSafeProp(l,`password`)||``}),Al(t)){let e=new URL(t,Z.origin);!i&&(e.username||e.password)&&(i={username:Ol(e.username),password:Ol(e.password)}),(e.username||e.password)&&(e.username=``,e.password=``,t=e.href)}if(i&&(x.delete(`authorization`),x.set(`Authorization`,`Basic `+btoa(Dl((i.username||``)+`:`+(i.password||``))))),E&&typeof t==`string`&&t.startsWith(`data:`)&&Cl(t)>w)throw new X(`maxContentLength size of `+w+` exceeded`,X.ERR_BAD_RESPONSE,e,A);if(D&&n!==`get`&&n!==`head`){let e=await h(s);if(typeof e==`number`&&isFinite(e)&&(ne=e,e>T))throw j()}let d=D&&(J.isReadableStream(s)||J.isStream(s)),_=(e,t,n)=>bl(e,Tl,e=>{if(D&&e>T)throw re=j();t&&t(e)},n);if(f&&n!==`get`&&n!==`head`&&(y||d)){if(ne??=await g(x,s),ne!==0||d){let e=new a(t,{method:`POST`,body:s,duplex:`half`}),n;if(J.isFormData(s)&&(n=e.headers.get(`content-type`))&&x.setContentType(n),e.body){let[t,n]=y&&Zc(ne,Xc(Qc(y)))||[];s=_(e.body,t,n)}}}else if(d&&!c&&u&&n!==`get`&&n!==`head`)s=_(s);else if(d&&c&&!f&&n!==`get`&&n!==`head`)throw new X(`Stream request bodies are not supported by the current fetch implementation`,X.ERR_NOT_SUPPORT,e,A);J.isString(S)||(S=S?`include`:`omit`);let ie=c&&`credentials`in a.prototype;if(J.isFormData(s)){let e=x.getContentType();e&&/^multipart\/form-data/i.test(e)&&!/boundary=/i.test(e)&&x.delete(`content-type`)}x.set(`User-Agent`,`axios/`+wl,!1);let ae={...C,signal:k,method:n.toUpperCase(),headers:nc(x.normalize()),body:s,duplex:`half`,credentials:ie?S:void 0};A=c&&new a(t,ae);let M=await(c?ee(A,C):ee(t,ae)),oe=Y.from(M.headers);if(E){let t=J.toFiniteNumber(oe.getContentLength());if(t!=null&&t>w)throw new X(`maxContentLength size of `+w+` exceeded`,X.ERR_BAD_RESPONSE,e,A)}let se=p&&(b===`stream`||b===`response`);if(p&&M.body&&(v||E||se&&te)){let t={};[`status`,`statusText`,`headers`].forEach(e=>{t[e]=M[e]});let n=J.toFiniteNumber(oe.getContentLength()),[r,i]=v&&Zc(n,Xc(Qc(v),!0))||[],a=0;M=new o(bl(M.body,Tl,t=>{if(E&&(a=t,a>w))throw new X(`maxContentLength size of `+w+` exceeded`,X.ERR_BAD_RESPONSE,e,A);r&&r(t)},()=>{i&&i(),te&&te()}),t)}b||=`text`;let N=await m[J.findKey(m,b)||`text`](M,e);if(E&&!p&&!se){let t;if(N!=null&&(typeof N.byteLength==`number`?t=N.byteLength:typeof N.size==`number`?t=N.size:typeof N==`string`&&(t=typeof r==`function`?new r().encode(N).byteLength:N.length)),typeof t==`number`&&t>w)throw new X(`maxContentLength size of `+w+` exceeded`,X.ERR_BAD_RESPONSE,e,A)}return!se&&te&&te(),await new Promise((t,n)=>{Kc(t,n,{data:N,headers:Y.from(M.headers),status:M.status,statusText:M.statusText,config:e,request:A})})}catch(t){if(te&&te(),k&&k.aborted&&k.reason instanceof X){let n=k.reason;throw n.config=e,A&&(n.request=A),t!==n&&(n.cause=t),n}throw re?(A&&!re.request&&(re.request=A),re):t instanceof X?(A&&!t.request&&(t.request=A),t):t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new X(`Network Error`,X.ERR_NETWORK,e,A,t&&t.response),{cause:t.cause||t}):X.from(t,t&&t.code,e,A,t&&t.response)}}},Ml=new Map,Nl=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=Ml;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:jl(t)),l=c;return c};Nl();var Pl={http:null,xhr:hl,fetch:{get:Nl}};J.forEach(Pl,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});var Fl=e=>`- ${e}`,Il=e=>J.isFunction(e)||e===null||e===!1;function Ll(e,t){e=J.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new X(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since : +`+e.map(Fl).join(` +`):` `+Fl(e[0]):`as no adapter specified`),`ERR_NOT_SUPPORT`)}return i}var Rl={getAdapter:Ll,adapters:Pl};function zl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Gc(null,e)}function Bl(e){return zl(e),e.headers=Y.from(e.headers),e.data=Uc.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),Rl.getAdapter(e.adapter||Hc.adapter,e)(e).then(function(t){zl(e),e.response=t;try{t.data=Uc.call(e,e.transformResponse,t)}finally{delete e.response}return t.headers=Y.from(t.headers),t},function(t){if(!Wc(t)&&(zl(e),t&&t.response)){e.response=t.response;try{t.response.data=Uc.call(e,e.transformResponse,t.response)}finally{delete e.response}t.response.headers=Y.from(t.response.headers)}return Promise.reject(t)})}var Vl={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{Vl[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var Hl={};Vl.transitional=function(e,t,n){function r(e,t){return`[Axios v`+wl+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new X(r(i,` has been removed`+(t?` in `+t:``)),X.ERR_DEPRECATED);return t&&!Hl[i]&&(Hl[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),e?e(n,i,a):!0}},Vl.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function Ul(e,t,n){if(typeof e!=`object`)throw new X(`options must be an object`,X.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-- >0;){let a=r[i],o=Object.prototype.hasOwnProperty.call(t,a)?t[a]:void 0;if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new X(`option `+a+` must be `+n,X.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new X(`Unknown option `+a,X.ERR_BAD_OPTION)}}var Wl={assertOptions:Ul,validators:Vl},Q=Wl.validators,Gl=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Tc,response:new Tc}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=(()=>{if(!t.stack)return``;let e=t.stack.indexOf(` +`);return e===-1?``:t.stack.slice(e+1)})();try{if(!e.stack)e.stack=n;else if(n){let t=n.indexOf(` +`),r=t===-1?-1:n.indexOf(` +`,t+1),i=r===-1?``:n.slice(r+1);String(e.stack).endsWith(i)||(e.stack+=` +`+n)}}catch{}}throw e}}_request(e,t){typeof e==`string`?(t||={},t.url=e):t=e||{},t=ul(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&Wl.assertOptions(n,{silentJSONParsing:Q.transitional(Q.boolean),forcedJSONParsing:Q.transitional(Q.boolean),clarifyTimeoutError:Q.transitional(Q.boolean),legacyInterceptorReqResOrdering:Q.transitional(Q.boolean),advertiseZstdAcceptEncoding:Q.transitional(Q.boolean),validateStatusUndefinedResolves:Q.transitional(Q.boolean)},!1),r!=null&&(J.isFunction(r)?t.paramsSerializer={serialize:r}:Wl.assertOptions(r,{encode:Q.function,serialize:Q.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),Wl.assertOptions(t,{baseUrl:Q.spelling(`baseURL`),withXsrfToken:Q.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&J.merge(i.common,i[t.method]);i&&J.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`,`common`],e=>{delete i[e]}),t.headers=Y.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s&&=e.synchronous;let n=t.transitional||Ec;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[Bl.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new Gc(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function ql(e){return function(t){return e.apply(null,t)}}function Jl(e){return J.isObject(e)&&e.isAxiosError===!0}var Yl={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(Yl).forEach(([e,t])=>{Yl[t]=e});function Xl(e){let t=new Gl(e),n=No(Gl.prototype.request,t);return J.extend(n,Gl.prototype,t,{allOwnKeys:!0}),J.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Xl(ul(e,t))},n}var $=Xl(Hc);$.Axios=Gl,$.CanceledError=Gc,$.CancelToken=Kl,$.isCancel=Wc,$.VERSION=wl,$.toFormData=yc,$.AxiosError=X,$.Cancel=$.CanceledError,$.all=function(e){return Promise.all(e)},$.spread=ql,$.isAxiosError=Jl,$.mergeConfig=ul,$.AxiosHeaders=Y,$.formToJSON=e=>zc(J.isHTMLForm(e)?new FormData(e):e),$.getAdapter=Rl.getAdapter,$.HttpStatusCode=Yl,$.default=$;var Zl=$.create({baseURL:`/api/v1`,timeout:3e4});Zl.interceptors.request.use(e=>{let t=localStorage.getItem(`prism_token`);return t&&(e.headers.Authorization=`Bearer ${t}`),e});export{rr as $,Gr as A,T as At,hi as B,De as Bt,Za as C,_ as Ct,Ga as D,ue as Dt,$n as E,Te as Et,Qr as F,ee as Ft,Mr as G,ge as Gt,li as H,fe as Ht,ni as I,C as It,Ti as J,pe as Jt,Fr as K,Ae as Kt,ei as L,we as Lt,ti as M,O as Mt,$r as N,h as Nt,ao as O,x as Ot,Kr as P,ne as Pt,ir as Q,Ra as R,E as Rt,Ir as S,N as St,er as T,se as Tt,fi as U,xe as Ut,_i as V,Oe as Vt,di as W,Se as Wt,wr as X,s as Xt,wi as Y,o as Yt,Mo as Z,l as Zt,eo as _,fn as _t,U as a,R as at,Lr as b,p as bt,kn as c,qt as ct,Ya as d,Jt as dt,Yn as et,Wa as f,Xt as ft,gi as g,hn as gt,Sa as h,vn as ht,W as i,Qt as it,Zr as j,g as jt,Rn as k,w as kt,Qa as l,Yt as lt,Ua as m,L as mt,Ar as n,Pe as nt,yr as o,nn as ot,to as p,sn as pt,yi as q,ce as qt,Er as r,Fe as rt,Pa as s,Ie as st,Zl as t,Xn as tt,ko as u,on as ut,$a as v,un as vt,Ao as w,b as wt,uo as x,M as xt,G as y,dn as yt,Qn as z,D as zt}; \ No newline at end of file diff --git a/internal/api/static/assets/index-B4K9RppJ.js b/internal/api/static/assets/index-B4K9RppJ.js new file mode 100644 index 0000000..9d28621 --- /dev/null +++ b/internal/api/static/assets/index-B4K9RppJ.js @@ -0,0 +1,51 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-CogloP1s.js","assets/client-CiT_nDm8.js","assets/DashboardView-BVv1KNO9.js","assets/AppCard-ClnBgZ-s.js","assets/SubscriptionsView-BwdRKwvh.js","assets/ProxiesView-CGCYPjQ-.js","assets/RulesView-4vpiUKI8.js","assets/LogsView-SE35ruFF.js","assets/SettingsView-D_MdXCJL.js"])))=>i.map(i=>d[i]); +import{$ as e,A as t,At as n,B as r,Bt as i,C as a,Ct as o,D as s,Dt as c,E as l,Et as u,F as d,Ft as f,G as p,Gt as m,H as h,Ht as g,I as _,It as v,J as y,Jt as b,K as x,Kt as S,L as C,Lt as w,M as T,Mt as E,N as D,Nt as O,O as k,Ot as A,P as ee,Pt as j,Q as M,R as N,Rt as P,S as te,St as ne,T as re,Tt as ie,U as ae,Ut as F,V as I,Vt as oe,W as L,Wt as se,X as ce,Y as le,Yt as ue,Z as de,Zt as fe,_ as pe,_t as me,a as R,at as he,b as z,bt as ge,c as _e,ct as ve,d as B,dt as ye,et as V,f as H,ft as be,g as xe,gt as Se,h as Ce,ht as we,i as Te,it as Ee,j as De,jt as Oe,k as U,kt as ke,l as Ae,lt as je,m as W,mt as Me,n as Ne,nt as Pe,o as Fe,ot as Ie,p as G,pt as Le,q as Re,qt as ze,r as Be,rt as Ve,s as He,st as Ue,t as We,tt as Ge,u as K,ut as q,v as Ke,vt as qe,w as Je,wt as Ye,x as Xe,xt as Ze,y as J,yt as Y,z as Qe,zt as $e}from"./client-CiT_nDm8.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var et=void 0,tt=typeof window<`u`&&window.trustedTypes;if(tt)try{et=tt.createPolicy(`vue`,{createHTML:e=>e})}catch{}var nt=et?e=>et.createHTML(e):e=>e,rt=`http://www.w3.org/2000/svg`,it=`http://www.w3.org/1998/Math/MathML`,at=typeof document<`u`?document:null,ot=at&&at.createElement(`template`),st={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?at.createElementNS(rt,e):t===`mathml`?at.createElementNS(it,e):n?at.createElement(e,{is:n}):at.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>at.createTextNode(e),createComment:e=>at.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>at.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{ot.innerHTML=nt(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=ot.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ct=`transition`,lt=`animation`,ut=Symbol(`_vtc`),dt={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},ft=o({},Be,dt),pt=(e=>(e.displayName=`Transition`,e.props=ft,e))((e,{slots:t})=>Je(Ne,gt(e),t)),mt=(e,t=[])=>{A(e)?e.forEach(e=>e(...t)):e&&e(...t)},ht=e=>e?A(e)?e.some(e=>e.length>1):e.length>1:!1;function gt(e){let t={};for(let n in e)n in dt||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=s,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=_t(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,bt(e,t?d:c),bt(e,t?u:s),n&&n()},D=(e,t)=>{e._isLeaving=!1,bt(e,f),bt(e,m),bt(e,p),t&&t()},O=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);mt(i,[t,o]),xt(()=>{bt(t,e?l:a),yt(t,e?d:c),ht(i)||Ct(t,r,g,o)})};return o(t,{onBeforeEnter(e){mt(v,[e]),yt(e,a),yt(e,s)},onBeforeAppear(e){mt(C,[e]),yt(e,l),yt(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);yt(e,f),e._enterCancelled?(yt(e,p),Dt(e)):(Dt(e),yt(e,p)),xt(()=>{e._isLeaving&&(bt(e,f),yt(e,m),ht(x)||Ct(e,r,_,n))}),mt(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),mt(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),mt(T,[e])},onLeaveCancelled(e){D(e),mt(S,[e])}})}function _t(e){if(e==null)return null;if(E(e))return[vt(e.enter),vt(e.leave)];{let t=vt(e);return[t,t]}}function vt(e){return b(e)}function yt(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[ut]||(e[ut]=new Set)).add(t)}function bt(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[ut];n&&(n.delete(t),n.size||(e[ut]=void 0))}function xt(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var St=0;function Ct(e,t,n,r){let i=e._endId=++St,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=wt(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${ct}Delay`),a=r(`${ct}Duration`),o=Tt(i,a),s=r(`${lt}Delay`),c=r(`${lt}Duration`),l=Tt(s,c),u=null,d=0,f=0;t===ct?o>0&&(u=ct,d=o,f=a.length):t===lt?l>0&&(u=lt,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?ct:lt:null,f=u?u===ct?a.length:c.length:0);let p=u===ct&&/\b(?:transform|all)(?:,|$)/.test(r(`${ct}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Tt(e,t){for(;e.lengthEt(t)+Et(e[n])))}function Et(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Dt(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ot(e,t,n){let r=e[ut];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var kt=Symbol(`_vod`),At=Symbol(`_vsh`),jt={name:`show`,beforeMount(e,{value:t},{transition:n}){e[kt]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Mt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Mt(e,!0),r.enter(e)):r.leave(e,()=>{Mt(e,!1)}):Mt(e,t))},beforeUnmount(e,{value:t}){Mt(e,t)}};function Mt(e,t){e.style.display=t?e[kt]:`none`,e[At]=!t}var Nt=Symbol(``),Pt=/(?:^|;)\s*display\s*:/;function Ft(e,t,n){let r=e.style,i=P(n),a=!1;if(n&&!i){if(t)if(P(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Lt(r,t,``)}else for(let e in t)n[e]??Lt(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Lt(r,i,``):Vt(e,i,!P(t)&&t?t[i]:void 0,o)||Lt(r,i,o)}}else if(i){if(t!==n){let e=r[Nt];e&&(n+=`;`+e),r.cssText=n,a=Pt.test(n)}}else t&&e.removeAttribute(`style`);kt in e&&(e[kt]=a?r.display:``,e[At]&&(r.display=`none`))}var It=/\s*!important$/;function Lt(e,t,n){if(A(n))n.forEach(n=>Lt(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=Bt(e,t);It.test(n)?e.setProperty(ie(r),n.replace(It,``),`important`):e[r]=n}}var Rt=[`Webkit`,`Moz`,`ms`],zt={};function Bt(e,t){let n=zt[t];if(n)return n;let r=Ze(t);if(r!==`filter`&&r in e)return zt[t]=r;r=ne(r);for(let n=0;nZt||=(Qt.then(()=>Zt=0),Date.now());function en(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(A(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,nn=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Ot(e,r,o):t===`style`?Ft(e,n,r):O(t)?Oe(t)||Jt(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):rn(e,t,r,o))?(Wt(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Ut(e,t,r,o,a,t!==`value`)):e._isVueCE&&(an(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!P(r)))?Wt(e,Ze(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Ut(e,t,r,o))};function rn(e,t,r,i){if(i)return!!(t===`innerHTML`||t===`textContent`||t in e&&tn(t)&&n(r));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`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return tn(t)&&P(r)?!1:t in e}function an(e,t){let n=e._def.props;if(!n)return!1;let r=Ze(t);return Array.isArray(n)?n.some(e=>Ze(e)===r):Object.keys(n).some(e=>Ze(e)===r)}var on=new WeakMap,sn=new WeakMap,cn=Symbol(`_moveCb`),ln=Symbol(`_enterCb`),un=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:o({},ft,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Xe(),r=ce(),i,a;return C(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!hn(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(dn),i.forEach(fn);let r=i.filter(pn);Dt(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;yt(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[cn]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[cn]=null,bt(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=Me(e),s=gt(o),c=o.tag||R;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=wt(r);return a.removeChild(r),o}var gn=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return A(t)?e=>c(t,e):t};function _n(e){e.target.composing=!0}function vn(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var yn=Symbol(`_assign`);function bn(e,t,n){return t&&(e=e.trim()),n&&(e=g(e)),e}var xn={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[yn]=gn(i);let a=r||i.props&&i.props.type===`number`;Gt(e,t?`change`:`input`,t=>{t.target.composing||e[yn](bn(e.value,n,a))}),(n||a)&&Gt(e,`change`,()=>{e.value=bn(e.value,n,a)}),t||(Gt(e,`compositionstart`,_n),Gt(e,`compositionend`,vn),Gt(e,`change`,vn))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[yn]=gn(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?g(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Sn={deep:!0,created(e,t,n){e[yn]=gn(n),Gt(e,`change`,()=>{let t=e._modelValue,n=Tn(e),r=e.checked,i=e[yn];if(A(t)){let e=oe(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(v(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(En(e,r))})},mounted:Cn,beforeUpdate(e,t,n){e[yn]=gn(n),Cn(e,t,n)}};function Cn(e,{value:t,oldValue:n},r){e._modelValue=t;let a;if(A(t))a=oe(t,r.props.value)>-1;else if(v(t))a=t.has(r.props.value);else{if(t===n)return;a=i(t,En(e,!0))}e.checked!==a&&(e.checked=a)}var wn={created(e,{value:t},n){e.checked=i(t,n.props.value),e[yn]=gn(n),Gt(e,`change`,()=>{e[yn](Tn(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[yn]=gn(r),t!==n&&(e.checked=i(t,r.props.value))}};function Tn(e){return`_value`in e?e._value:e.value}function En(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Dn=[`ctrl`,`shift`,`alt`,`meta`],On={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)=>Dn.some(n=>e[`${n}Key`]&&!t.includes(n))},kn=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=ie(n.key);if(t.some(e=>e===r||An[e]===r))return e(n)}))},Mn=o({patchProp:nn},st),Nn;function Pn(){return Nn||=Ce(Mn)}var Fn=((...e)=>{Pn().render(...e)}),In=((...e)=>{let t=Pn().createApp(...e),{mount:r}=t;return t.mount=e=>{let i=Rn(e);if(!i)return;let a=t._component;!n(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent=``);let o=r(i,!1,Ln(i));return i instanceof Element&&(i.removeAttribute(`v-cloak`),i.setAttribute(`data-v-app`,``)),o},t});function Ln(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Rn(e){return P(e)?document.querySelector(e):e}var zn=typeof window<`u`,Bn,Vn=e=>Bn=e,Hn=Symbol();function Un(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var Wn;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(Wn||={});var Gn=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Kn(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function qn(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Qn(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Jn(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Yn(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Xn=typeof navigator==`object`?navigator:{userAgent:``},Zn=/Macintosh/.test(Xn.userAgent)&&/AppleWebKit/.test(Xn.userAgent)&&!/Safari/.test(Xn.userAgent),Qn=zn?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Zn?$n:`msSaveOrOpenBlob`in Xn?er:tr:()=>{};function $n(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Yn(r):Jn(r.href)?qn(e,t,n):(r.target=`_blank`,Yn(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Yn(r)},0))}function er(e,t=`download`,n){if(typeof e==`string`)if(Jn(e))qn(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Yn(t)})}else navigator.msSaveOrOpenBlob(Kn(e,n),t)}function tr(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return qn(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(Gn.HTMLElement))||`safari`in Gn,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Zn)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:nr}=Object;function rr(){let e=Pe(!0),t=e.run(()=>q({})),n=[],r=[],i=Ie({install(e){Vn(i),i._a=e,e.provide(Hn,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var ir=()=>{};function ar(e,t,n,r=ir){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Ve()&&Ue(i),i}function or(e,...t){e.forEach(e=>{e(...t)})}var sr=e=>e(),cr=Symbol(),lr=Symbol();function ur(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];Un(i)&&Un(r)&&e.hasOwnProperty(n)&&!he(r)&&!Ee(r)?e[n]=ur(i,r):e[n]=r}return e}var dr=Symbol();function fr(e){return!Un(e)||!Object.prototype.hasOwnProperty.call(e,dr)}var{assign:pr}=Object;function mr(e){return!!(he(e)&&e.effect)}function hr(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),pr(Se(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Ie(K(()=>{Vn(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=gr(e,l,t,n,r,!0),c}function gr(e,t,n={},r,i,a){let o,s=pr({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={}),q({});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:Wn.patchFunction,storeId:e,events:void 0}):(ur(r.state.value[e],t),n={type:Wn.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();U().then(()=>{m===i&&(l=!0)}),u=!0,or(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{pr(e,t)})}:ir;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(cr in t)return t[lr]=n,t;let i=function(){Vn(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}or(f,{args:n,name:i[lr],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw or(o,e),e}return l instanceof Promise?l.then(e=>(or(a,e),e)).catch(e=>(or(o,e),Promise.reject(e))):(or(a,l),l)};return i[cr]=!0,i[lr]=n,i},y=ve({_p:r,$id:e,$onAction:ar.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=ar(d,t,n.detached,()=>a()),a=o.run(()=>M(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:Wn.direct,events:void 0},r)},pr({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||sr)(()=>r._e.run(()=>(o=Pe()).run(()=>t({action:v}))));for(let t in b){let n=b[t];he(n)&&!mr(n)||Ee(n)?a||(p&&fr(n)&&(he(n)?n.value=p[t]:ur(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return pr(y,b),pr(Me(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{pr(t,e)})}}),r._p.forEach(e=>{pr(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function _r(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=re();return n||=o?l(Hn,null):null,n&&Vn(n),n=Bn,n._s.has(e)||(i?gr(e,t,r,n):hr(e,r,n)),n._s.get(e)}return a.$id=e,a}var X={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`},vr=[`year`,`years`,`month`,`months`,`date`,`dates`,`week`,`datetime`,`datetimerange`,`daterange`,`monthrange`,`yearrange`],yr=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],br=`update:modelValue`,xr=`change`,Sr=`input`,Cr=Symbol(`INSTALLED_KEY`),wr=[``,`default`,`small`,`large`],Tr=[`left`,`center`,`right`],Er=typeof global==`object`&&global&&global.Object===Object&&global,Dr=typeof self==`object`&&self&&self.Object===Object&&self,Or=Er||Dr||Function(`return this`)(),kr=Or.Symbol,Ar=Object.prototype,jr=Ar.hasOwnProperty,Mr=Ar.toString,Nr=kr?kr.toStringTag:void 0;function Pr(e){var t=jr.call(e,Nr),n=e[Nr];try{e[Nr]=void 0;var r=!0}catch{}var i=Mr.call(e);return r&&(t?e[Nr]=n:delete e[Nr]),i}var Fr=Object.prototype.toString;function Ir(e){return Fr.call(e)}var Lr=`[object Null]`,Rr=`[object Undefined]`,zr=kr?kr.toStringTag:void 0;function Br(e){return e==null?e===void 0?Rr:Lr:zr&&zr in Object(e)?Pr(e):Ir(e)}function Vr(e){return typeof e==`object`&&!!e}var Hr=`[object Symbol]`;function Ur(e){return typeof e==`symbol`||Vr(e)&&Br(e)==Hr}function Wr(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=Ri)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Hi(e){return function(){return e}}var Ui=function(){try{var e=ji(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),Wi=Vi(Ui?function(e,t){return Ui(e,`toString`,{configurable:!0,enumerable:!1,value:Hi(t),writable:!0})}:di);function Gi(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Zi=9007199254740991,Qi=/^(?:0|[1-9]\d*)$/;function $i(e,t){var n=typeof e;return t??=Zi,!!t&&(n==`number`||n!=`symbol`&&Qi.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=ca}function ua(e){return e!=null&&la(e.length)&&!gi(e)}function da(e,t,n){if(!ei(n))return!1;var r=typeof t;return(r==`number`?ua(n)&&$i(t,n.length):r==`string`&&t in n)?ta(n[t],e):!1}function fa(e){return sa(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&da(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r-1}function Ro(e,t){var n=this.__data__,r=No(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function zo(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(s)?t>1?ds(s,t-1,n,r,i):cs(i,s):r||(i[i.length]=s)}return i}function fs(e){return e!=null&&e.length?ds(e,1):[]}function ps(e){return Wi(oa(e,void 0,fs),e+``)}var ms=co(Object.getPrototypeOf,Object),hs=`[object Object]`,gs=Function.prototype,_s=Object.prototype,vs=gs.toString,ys=_s.hasOwnProperty,bs=vs.call(Object);function xs(e){if(!Vr(e)||Br(e)!=hs)return!1;var t=ms(e);if(t===null)return!0;var n=ys.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&vs.call(n)==bs}function Ss(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r=t?e:t)),e}function Ts(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=oi(n),n=n===n?n:0),t!==void 0&&(t=oi(t),t=t===t?t:0),ws(oi(e),t,n)}function Es(){this.__data__=new zo,this.size=0}function Ds(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Os(e){return this.__data__.get(e)}function ks(e){return this.__data__.has(e)}var As=200;function js(e,t){var n=this.__data__;if(n instanceof zo){var r=n.__data__;if(!Bo||r.lengths))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&Bl?new Il:void 0;for(a.set(e,t),a.set(t,e);++d=t||n<0||d&&r>=a}function _(){var e=Ru();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Ru())}function x(){var e=Ru(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function Uu(e,t,n){(n!==void 0&&!ta(e[t],n)||n===void 0&&!(t in e))&&ea(e,t,n)}function Wu(e){return Vr(e)&&ua(e)}function Gu(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}function Ku(e){return ia(e,_o(e))}function qu(e,t,n,r,i,a,o){var s=Gu(e,n),c=Gu(t,n),l=o.get(c);if(l){Uu(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=Gr(c),p=!f&&Ea(c),m=!f&&!p&&ao(c);u=c,f||p||m?Gr(s)?u=s:Wu(s)?u=Li(s):p?(d=!1,u=zs(c,!0)):m?(d=!1,u=Cc(c,!0)):u=[]:xs(c)||xa(c)?(u=s,xa(s)?u=Ku(s):(!ei(s)||gi(s))&&(u=Wc(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),Uu(e,n,u)}function Ju(e,t,n,r,i){e!==t&&Pu(t,function(a,o){if(i||=new Ms,ei(a))qu(e,t,o,n,Ju,r,i);else{var s=r?r(Gu(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Uu(e,o,s)}},_o)}function Yu(e,t,n){for(var r=-1,i=e==null?0:e.length;++r1,t}),ia(e,Xs(e),n),r&&(n=kl(n,hd|gd|_d,md));for(var i=t.length;i--;)pd(n,t[i]);return n});function yd(e,t,n,r){if(!ei(e))return e;t=rs(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i=Dd){var l=t?null:Ed(e);if(l)return Ul(l);o=!1,i=Rl,c=new Il}else c=t?[]:s;outer:for(;++re===void 0,jd=e=>typeof e==`boolean`,Md=e=>typeof e==`number`,Nd=e=>!e&&e!==0||A(e)&&e.length===0||E(e)&&!Object.keys(e).length,Pd=e=>typeof Element>`u`?!1:e instanceof Element,Fd=e=>cd(e),Id=e=>P(e)?!Number.isNaN(Number(e)):!1,Ld=e=>e===window,Rd=e=>Object.keys(e),zd=e=>Object.entries(e),Bd=(e,t,n)=>({get value(){return ss(e,t,n)},set value(n){Cd(e,t,n)}}),Vd=`__epPropKey`,Z=e=>e,Hd=e=>E(e)&&!!e.__epPropKey,Ud=(e,t)=>{if(!E(e)||Hd(e))return e;let{values:n,required:r,default:i,type:a,validator:o}=e,s={type:a,required:!!r,validator:n||o?r=>{let a=!1,s=[];if(n&&(s=Array.from(n),Ye(e,`default`)&&s.push(i),a||=s.includes(r)),o&&(a||=o(r)),!a&&s.length>0){let e=[...new Set(s)].map(e=>JSON.stringify(e)).join(`, `);de(`Invalid prop: validation failed${t?` for prop "${t}"`:``}. Expected one of [${e}], got value ${JSON.stringify(r)}.`)}return a}:void 0,[Vd]:!0};return Ye(e,`default`)&&(s.default=i),s},Q=e=>ad(Object.entries(e).map(([e,t])=>[e,Ud(t,e)])),Wd=Q({zIndex:{type:Z([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:Z([String,Object]),default:`body`}}),Gd={scroll:({scrollTop:e,fixed:t})=>Md(e)&&jd(t),[xr]:e=>jd(e)},Kd=class extends Error{constructor(e){super(e),this.name=`ElementPlusError`}};function qd(e,t){throw new Kd(`[${e}] ${t}`)}function Jd(e,t){{let n=P(e)?new Kd(`[${e}] ${t}`):e;console.warn(n)}}var Yd=[`class`,`style`],Xd=/^on[A-Z]/,Zd=(e={})=>{let{excludeListeners:t=!1,excludeKeys:n}=e,r=K(()=>(n?.value||[]).concat(Yd)),i=Xe();return i?K(()=>ad(Object.entries(i.proxy?.$attrs).filter(([e])=>!r.value.includes(e)&&!(t&&Xd.test(e))))):(Jd(`use-attrs`,`getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function`),K(()=>({})))};function Qd(t,n){let r=Le();return e(()=>{r.value=t()},{...n,flush:n?.flush??`sync`}),je(r)}function $d(e,t){return Ve()?(Ue(e,t),!0):!1}var ef=new WeakMap,tf=(...e)=>{let t=e[0],n=Xe()?.proxy??Ve();if(n==null&&!re())throw Error(`injectLocal must be called in setup`);return n&&ef.has(n)&&t in ef.get(n)?ef.get(n)[t]:l(...e)},nf=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var rf=e=>e!==void 0,af=e=>e!=null,of=Object.prototype.toString,sf=e=>of.call(e)===`[object Object]`,cf=(e,t,n)=>Math.min(n,Math.max(t,e)),lf=()=>{},uf=df();function df(){var e,t;return nf&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function ff(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function pf(e,t={}){let n,r,i=lf,a=e=>{clearTimeout(e),i(),i=lf},o;return s=>{let c=me(e),l=me(t.maxWait);return n&&a(n),c<=0||l!==void 0&&l<=0?(r&&=(a(r),void 0),Promise.resolve(s())):new Promise((e,u)=>{i=t.rejectOnCancel?u:e,o=s,l&&!r&&(r=setTimeout(()=>{n&&a(n),r=void 0,e(o())},l)),n=setTimeout(()=>{r&&a(r),r=void 0,e(s())},c)})}}function mf(...e){let t=0,n,r=!0,i=lf,a,o,s,c,l;!he(e[0])&&typeof e[0]==`object`?{delay:o,trailing:s=!0,leading:c=!0,rejectOnCancel:l=!1}=e[0]:[o,s=!0,c=!0,l=!1]=e;let u=()=>{n&&(clearTimeout(n),n=void 0,i(),i=lf)};return e=>{let d=me(o),f=Date.now()-t,p=()=>a=e();return u(),d<=0?(t=Date.now(),p()):(f>d?(t=Date.now(),(c||!r)&&p()):s&&(a=new Promise((e,a)=>{i=l?a:e,n=setTimeout(()=>{t=Date.now(),r=!0,e(p()),u()},Math.max(0,d-f))})),!c&&!n&&(n=setTimeout(()=>r=!0,d)),r=!1,a)}}function hf(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function gf(e){return Array.isArray(e)?e:[e]}function _f(e){return e||Xe()}function vf(e){return he(e)?ve(new Proxy({},{get(t,n,r){return Y(Reflect.get(e.value,n,r))},set(t,n,r){return he(e.value[n])&&!he(r)?e.value[n].value=r:e.value[n]=r,!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}}})):ve(e)}function yf(e){return vf(K(e))}function bf(e,t=200,n={}){return ff(pf(t,n),e)}function xf(e,t=200,n={}){let r=q(me(e)),i=bf(()=>{r.value=e.value},t,n);return M(e,()=>i()),be(r)}function Sf(e,t=200,n=!1,r=!0,i=!1){return ff(mf(t,n,r,i),e)}function Cf(e,t=!0,n){_f(n)?d(e,n):t?e():U(e)}function wf(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=Le(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},me(t))}return r&&(a.value=!0,nf&&l()),$d(c),{isPending:be(a),start:l,stop:c}}function Tf(e,t,n){return M(e,t,{...n,immediate:!0})}var Ef=nf?window:void 0,Df=nf?window.document:void 0;nf&&window.navigator,nf&&window.location;function Of(e){let t=me(e);return t?.$el??t}function kf(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=K(()=>{let t=gf(me(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Tf(()=>[n.value?.map(e=>Of(e))??[Ef].filter(e=>e!=null),gf(me(n.value?e[1]:e[0])),gf(Y(n.value?e[2]:e[1])),me(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=sf(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}var Af=!1;function jf(e,t,n={}){let{window:r=Ef,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:lf,cancel:lf,trigger:lf}:lf;if(uf&&!Af){Af=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>t.addEventListener(`click`,lf,e)),r.document.documentElement.addEventListener(`click`,lf,e)}let c=!0,l=e=>me(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Of(t);return n&&(e.target===n||e.composedPath().includes(n))}});function u(e){let t=me(e);return t&&t.$.subTree.shapeFlag===16}function d(e,t){let n=me(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let f=n=>{let r=Of(e);if(n.target!=null&&!(!(r instanceof Element)&&u(e)&&d(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},p=!1,m=[kf(r,`click`,e=>{p||(p=!0,setTimeout(()=>{p=!1},0),f(e))},{passive:!0,capture:a}),kf(r,`pointerdown`,t=>{let n=Of(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&kf(r,`blur`,n=>{setTimeout(()=>{let i=Of(e),a=r.document.activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;a?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),h=()=>m.forEach(e=>e());return s?{stop:h,cancel:()=>{c=!1},trigger:e=>{c=!0,f(e),c=!1}}:h}function Mf(){let e=Le(!1),t=Xe();return t&&d(()=>{e.value=!0},t),e}function Nf(e){let t=Mf();return K(()=>(t.value,!!e()))}function Pf(e,t,n={}){let{window:r=Ef,...i}=n,a,o=Nf(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=M(K(()=>{let t=gf(me(e)).map(Of).filter(af);return new Set(t)}),e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),l=()=>a?.takeRecords(),u=()=>{c(),s()};return $d(u),{isSupported:o,stop:u,takeRecords:l}}function Ff(t,n,r={}){let{window:i=Ef,document:a=i?.document,flush:o=`sync`}=r;if(!i||!a)return lf;let s,c=e=>{s?.(),s=e},l=e(()=>{let e=Of(t);if(e){let{stop:t}=Pf(a,t=>{t.map(e=>[...e.removedNodes]).flat().some(t=>t===e||t.contains(e))&&n(t)},{window:i,childList:!0,subtree:!0});c(t)}},{flush:o}),u=()=>{l(),c()};return $d(u),u}function If(e={}){let{window:t=Ef,deep:n=!0,triggerOnRemoval:r=!1}=e,i=e.document??t?.document,a=()=>{let e=i?.activeElement;if(n)for(var t;e?.shadowRoot;)e=e==null||(t=e.shadowRoot)==null?void 0:t.activeElement;return e},o=Le(),s=()=>{o.value=a()};if(t){let e={capture:!0,passive:!0};kf(t,`blur`,e=>{e.relatedTarget===null&&s()},e),kf(t,`focus`,s,e)}return r&&Ff(o,s,{document:i}),s(),o}var Lf=Symbol(`vueuse-ssr-width`);function Rf(){let e=re()?tf(Lf,null):null;return typeof e==`number`?e:void 0}function zf(t,n={}){let{window:r=Ef,ssrWidth:i=Rf()}=n,a=Nf(()=>r&&`matchMedia`in r&&typeof r.matchMedia==`function`),o=Le(typeof i==`number`),s=Le(),c=Le(!1);return e(()=>{if(o.value){o.value=!a.value,c.value=me(t).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||r);return n&&a&&(a=i>=hf(n[1])),r&&a&&(a=i<=hf(r[1])),t?!a:a});return}a.value&&(s.value=r.matchMedia(me(t)),c.value=s.value.matches)}),kf(s,`change`,e=>{c.value=e.matches},{passive:!0}),K(()=>c.value)}function Bf(e){return JSON.parse(JSON.stringify(e))}function Vf(e,t,n={}){let{window:r=Ef,initialValue:i,observe:a=!1}=n,o=Le(i),s=K(()=>{var e;return Of(t)||(r==null||(e=r.document)==null?void 0:e.documentElement)});function c(){let t=me(e),n=me(s);n&&r&&t&&(o.value=r.getComputedStyle(n).getPropertyValue(t)?.trim()||o.value||i)}return a&&Pf(s,c,{attributeFilter:[`style`,`class`],window:r}),M([s,()=>me(e)],(e,t)=>{t[0]&&t[1]&&t[0].style.removeProperty(t[1]),c()},{immediate:!0}),M([o,s],([t,n])=>{let r=me(e);n?.style&&r&&(t==null?n.style.removeProperty(r):n.style.setProperty(r,t))},{immediate:!0}),o}function Hf(e={}){let{document:t=Df}=e;if(!t)return Le(`visible`);let n=Le(t.visibilityState);return kf(t,`visibilitychange`,()=>{n.value=t.visibilityState},{passive:!0}),n}function Uf(e,t,n={}){let{window:r=Ef,...i}=n,a,o=Nf(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=M(K(()=>{let t=me(e);return Array.isArray(t)?t.map(e=>Of(e)):[Of(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return $d(l),{isSupported:o,stop:l}}function Wf(e,t={}){let{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:a=!0,updateTiming:o=`sync`}=t,s=Le(0),c=Le(0),l=Le(0),u=Le(0),d=Le(0),f=Le(0),p=Le(0),m=Le(0);function h(){let t=Of(e);if(!t){n&&(s.value=0,c.value=0,l.value=0,u.value=0,d.value=0,f.value=0,p.value=0,m.value=0);return}let r=t.getBoundingClientRect();s.value=r.height,c.value=r.bottom,l.value=r.left,u.value=r.right,d.value=r.top,f.value=r.width,p.value=r.x,m.value=r.y}function g(){o===`sync`?h():o===`next-frame`&&requestAnimationFrame(()=>h())}return Uf(e,g),M(()=>Of(e),e=>!e&&g()),Pf(e,g,{attributeFilter:[`style`,`class`]}),i&&kf(`scroll`,g,{capture:!0,passive:!0}),r&&kf(`resize`,g,{passive:!0}),Cf(()=>{a&&g()}),{height:s,bottom:c,left:l,right:u,top:d,width:f,x:p,y:m,update:g}}function Gf(e,t={width:0,height:0},n={}){let{window:r=Ef,box:i=`content-box`}=n,a=K(()=>{var t;return(t=Of(e))==null||(t=t.namespaceURI)==null?void 0:t.includes(`svg`)}),o=Le(t.width),s=Le(t.height),{stop:c}=Uf(e,([t])=>{let n=i===`border-box`?t.borderBoxSize:i===`content-box`?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){let t=Of(e);if(t){let e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){let e=gf(n);o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);Cf(()=>{let n=Of(e);n&&(o.value=`offsetWidth`in n?n.offsetWidth:t.width,s.value=`offsetHeight`in n?n.offsetHeight:t.height)});let l=M(()=>Of(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});function u(){c(),l()}return{width:o,height:s,stop:u}}function Kf(e,t,n={}){let{root:r,rootMargin:i,threshold:a=0,window:o=Ef,immediate:s=!0}=n,c=Nf(()=>o&&`IntersectionObserver`in o),l=K(()=>gf(me(e)).map(Of).filter(af)),u=lf,d=Le(s),f=c.value?M(()=>[l.value,Of(r),me(i),d.value],([e,n,r])=>{if(u(),!d.value||!e.length)return;let i=new IntersectionObserver(t,{root:Of(n),rootMargin:r,threshold:a});e.forEach(e=>e&&i.observe(e)),u=()=>{i.disconnect(),u=lf}},{immediate:s,flush:`post`}):lf,p=()=>{u(),f(),d.value=!1};return $d(p),{isSupported:c,isActive:d,pause(){u(),d.value=!1},resume(){d.value=!0},stop:p}}function qf(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=Xe(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):Bf(e):e,g=()=>rf(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=q(g()),r=!1;return M(()=>e[t],e=>{r||(r=!0,n.value=h(e),U(()=>r=!1))}),M(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}else return K({get(){return g()},set(e){_(e)}})}function Jf(e={}){let{window:t=Ef}=e;if(!t)return Le(!1);let n=Le(t.document.hasFocus()),r={passive:!0};return kf(t,`blur`,()=>{n.value=!1},r),kf(t,`focus`,()=>{n.value=!0},r),n}function Yf(e={}){let{window:t=Ef,initialWidth:n=1/0,initialHeight:r=1/0,listenOrientation:i=!0,includeScrollbar:a=!0,type:o=`inner`}=e,s=Le(n),c=Le(r),l=()=>{if(t)if(o===`outer`)s.value=t.outerWidth,c.value=t.outerHeight;else if(o===`visual`&&t.visualViewport){let{width:e,height:n,scale:r}=t.visualViewport;s.value=Math.round(e*r),c.value=Math.round(n*r)}else a?(s.value=t.innerWidth,c.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};l(),Cf(l);let u={passive:!0};return kf(`resize`,l,u),t&&o===`visual`&&t.visualViewport&&kf(t.visualViewport,`resize`,l,u),i&&M(zf(`(orientation: portrait)`),()=>l()),{width:s,height:c}}function Xf(){let e=Le(),t=q(0),n=K(()=>({minWidth:`${Math.max(t.value,11)}px`}));return Uf(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}var Zf=({from:e,replacement:t,scope:n,version:r,ref:i,type:a=`API`},o)=>{M(()=>Y(o),o=>{o&&Jd(n,`[${a}] ${e} is about to be deprecated in version ${r}, please use ${t} instead. +For more detail, please visit: ${i} +`)},{immediate:!0})},Qf=`a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])`,$f=e=>typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot,ep=e=>typeof Element>`u`?!1:e instanceof Element,tp=e=>getComputedStyle(e).position===`fixed`?!1:e.offsetParent!==null,np=e=>Array.from(e.querySelectorAll(Qf)).filter(e=>rp(e)&&tp(e)),rp=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}},ip=function(e,t,...n){let r;r=t.includes(`mouse`)||t.includes(`click`)?`MouseEvents`:t.includes(`key`)?`KeyboardEvent`:`HTMLEvents`;let i=document.createEvent(r);return i.initEvent(t,...n),e.dispatchEvent(i),e},ap=e=>!e.getAttribute(`aria-owns`),op=(e,t,n)=>{let{parentNode:r}=e;if(!r)return null;let i=r.querySelectorAll(n);return i[Array.prototype.indexOf.call(i,e)+t]||null},sp=(e,t)=>{if(!e||!e.focus)return;let n=!1;ep(e)&&!rp(e)&&!e.getAttribute(`tabindex`)&&(e.setAttribute(`tabindex`,`-1`),n=!0),e.focus(t),ep(e)&&n&&e.removeAttribute(`tabindex`)},cp=e=>{e&&(sp(e),!ap(e)&&e.click())},lp=()=>nf&&/firefox/i.test(window.navigator.userAgent),up=()=>nf&&/android/i.test(window.navigator.userAgent),dp=(e=``)=>e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`),fp=e=>ne(e),pp=`utils/dom/style`,mp=(e=``)=>e.split(` `).filter(e=>!!e.trim()),hp=(e,t)=>{if(!e||!t)return!1;if(t.includes(` `))throw Error(`className should not contain space.`);return e.classList.contains(t)},gp=(e,t)=>{!e||!t.trim()||e.classList.add(...mp(t))},_p=(e,t)=>{!e||!t.trim()||e.classList.remove(...mp(t))},vp=(e,t)=>{if(!nf||!e||!t||$f(e))return``;let n=Ze(t);n===`float`&&(n=`cssFloat`);try{let t=e.style[n];if(t)return t;let r=document.defaultView?.getComputedStyle(e,``);return r?r[n]:``}catch{return e.style[n]}},yp=(e,t,n)=>{if(!(!e||!t))if(E(t))zd(t).forEach(([t,n])=>yp(e,t,n));else{let r=Ze(t);e.style[r]=n}};function bp(e,t=`px`){if(!e&&e!==0)return``;if(Md(e)||Id(e))return`${e}${t}`;if(P(e))return e;Jd(pp,`binding value must be a string or number`)}var xp=(t,n,r,i)=>{let a={offsetX:0,offsetY:0},o=q(!1),s=(e,n)=>{if(t.value){let{offsetX:r,offsetY:o}=a,s=t.value.getBoundingClientRect(),c=Math.max(s.left,0),l=Math.max(s.top,0),u=s.width,d=s.height,f=document.documentElement.clientWidth,p=document.documentElement.clientHeight,m=-c+r,h=-l+o,g=f-c-u+r,_=p-l-(d{let t=e.clientX,n=e.clientY,{offsetX:r,offsetY:i}=a,c=e=>{o.value||=!0,s(r+e.clientX-t,i+e.clientY-n)},l=()=>{o.value=!1,document.removeEventListener(`mousemove`,c),document.removeEventListener(`mouseup`,l)};document.addEventListener(`mousemove`,c),document.addEventListener(`mouseup`,l)},l=()=>{n.value&&t.value&&(n.value.addEventListener(`mousedown`,c),window.addEventListener(`resize`,p))},u=()=>{n.value&&t.value&&(n.value.removeEventListener(`mousedown`,c),window.removeEventListener(`resize`,p))},f=()=>{a.offsetX=0,a.offsetY=0,t.value&&(t.value.style.transform=``)},p=()=>{let{offsetX:e,offsetY:t}=a;s(e,t)};return d(()=>{e(()=>{r.value?l():u()})}),T(()=>{u()}),{isDragging:o,resetPosition:f,updatePosition:p}},Sp={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}`}}},Cp=e=>(t,n)=>wp(t,n,Y(e)),wp=(e,t,n)=>ss(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`),Tp=e=>({lang:K(()=>Y(e).name),locale:he(e)?e:q(e),t:Cp(e)}),Ep=Symbol(`localeContextKey`),Dp=e=>{let t=e||l(Ep,q());return Tp(K(()=>t.value||Sp))},Op=`is-`,kp=(e,t,n,r,i)=>{let a=`${e}-${t}`;return n&&(a+=`-${n}`),r&&(a+=`__${r}`),i&&(a+=`--${i}`),a},Ap=Symbol(`namespaceContextKey`),jp=e=>{let t=e||(Xe()?l(Ap,q(`el`)):q(`el`));return K(()=>Y(t)||`el`)},$=(e,t)=>{let n=jp(t);return{namespace:n,b:(t=``)=>kp(n.value,e,t,``,``),e:t=>t?kp(n.value,e,``,t,``):``,m:t=>t?kp(n.value,e,``,``,t):``,be:(t,r)=>t&&r?kp(n.value,e,t,r,``):``,em:(t,r)=>t&&r?kp(n.value,e,``,t,r):``,bm:(t,r)=>t&&r?kp(n.value,e,t,``,r):``,bem:(t,r,i)=>t&&r&&i?kp(n.value,e,t,r,i):``,is:(e,...t)=>{let n=t.length>=1?t[0]:!0;return e&&n?`${Op}${e}`:``},cssVar:e=>{let t={};for(let r in e)e[r]&&(t[`--${n.value}-${r}`]=e[r]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{let r={};for(let i in t)t[i]&&(r[`--${n.value}-${e}-${i}`]=t[i]);return r},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}};function Mp(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var Np=e=>nf?window.requestAnimationFrame(e):setTimeout(e,16),Pp=e=>nf?window.cancelAnimationFrame(e):clearTimeout(e),Fp=(e,t)=>{if(!nf)return!1;let n={undefined:`overflow`,true:`overflow-y`,false:`overflow-x`}[String(t)],r=vp(e,n);return[`scroll`,`auto`,`overlay`].some(e=>r.includes(e))},Ip=(e,t)=>{if(!nf)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Fp(n,t))return n;n=$f(n)?n.host:n.parentNode}return n},Lp,Rp=e=>{if(!nf)return 0;if(Lp!==void 0)return Lp;let 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);let n=t.offsetWidth;t.style.overflow=`scroll`;let r=document.createElement(`div`);r.style.width=`100%`,t.appendChild(r);let i=r.offsetWidth;return t.parentNode?.removeChild(t),Lp=n-i,Lp};function zp(e,t){if(!nf)return;if(!t){e.scrollTop=0;return}let n=[],r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;let i=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),a=i+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;is&&(e.scrollTop=a-e.clientHeight)}function Bp(e,t,r,i,a){let o=Date.now(),s,c=()=>{let l=Date.now()-o,u=Mp(l>i?i:l,t,r,i);Ld(e)?e.scrollTo(window.pageXOffset,u):e.scrollTop=u,l{s&&Pp(s)}}var Vp=(e,t)=>Ld(t)?e.ownerDocument.documentElement:t,Hp=e=>Ld(e)?window.scrollY:e.scrollTop,Up=(e,t={})=>{he(e)||qd(`[useLockscreen]`,`You need to pass a ref param to this function`);let n=t.ns||$(`popup`),r=K(()=>n.bm(`parent`,`hidden`)),i=0,a=!1,o=`0`,s=!1,c=()=>{s||(s=!0,setTimeout(()=>{typeof document>`u`||a&&document&&(document.body.style.width=o,_p(document.body,r.value))},200))};M(e,e=>{if(!e){c();return}s=!1,a=!hp(document.body,r.value),a&&(o=document.body.style.width,gp(document.body,r.value)),i=Rp(n.namespace.value);let t=document.documentElement.clientHeight0&&(t||l===`scroll`)&&a&&(document.body.style.width=`calc(100% - ${i}px)`)}),Ue(()=>c())},Wp=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{let i=e?.(r);if(n===!1||!i)return t?.(r)},Gp=e=>t=>t.pointerType===`mouse`?e(t):void 0,Kp=e=>{if(e.code&&e.code!==`Unidentified`)return e.code;let t=qp(e);if(t){if(Object.values(X).includes(t))return t;switch(t){case` `:return X.space;default:return``}}return``},qp=e=>{let t=e.key&&e.key!==`Unidentified`?e.key:``;if(!t&&e.type===`keyup`&&up()){let n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},Jp=Ud({type:Z(Boolean),default:null}),Yp=Ud({type:Z(Function)}),Xp=e=>{let t=`update:${e}`,r=`onUpdate:${e}`,i=[t];return{useModelToggle:({indicator:i,toggleReason:a,shouldHideWhenRouteChanges:o,shouldProceed:s,onShow:c,onHide:l})=>{let u=Xe(),{emit:f}=u,p=u.props,m=K(()=>n(p[r])),h=K(()=>p[e]===null),g=e=>{i.value!==!0&&(i.value=!0,a&&(a.value=e),n(c)&&c(e))},_=e=>{i.value!==!1&&(i.value=!1,a&&(a.value=e),n(l)&&l(e))},v=e=>{if(p.disabled===!0||n(s)&&!s())return;let r=m.value&&nf;r&&f(t,!0),(h.value||!r)&&g(e)},y=e=>{if(p.disabled===!0||!nf)return;let n=m.value&&nf;n&&f(t,!1),(h.value||!n)&&_(e)},b=e=>{jd(e)&&(p.disabled&&e?m.value&&f(t,!1):i.value!==e&&(e?g():_()))};return M(()=>p[e],b),o&&u.appContext.config.globalProperties.$route!==void 0&&M(()=>({...u.proxy.$route}),()=>{o.value&&i.value&&y()}),d(()=>{b(p[e])}),{hide:y,show:v,toggle:()=>{i.value?y():v()},hasUpdateHandler:m}},useModelToggleProps:{[e]:Jp,[r]:Yp},useModelToggleEmits:i}},{useModelToggle:Zp,useModelToggleProps:Qp,useModelToggleEmits:$p}=Xp(`modelValue`),em=e=>{let t=Xe();return K(()=>t?.proxy?.$props?.[e])},tm=`bottom`,nm=`right`,rm=`left`,im=`auto`,am=[`top`,tm,nm,rm],om=`start`,sm=`clippingParents`,cm=`viewport`,lm=`popper`,um=`reference`,dm=am.reduce(function(e,t){return e.concat([t+`-`+om,t+`-end`])},[]),fm=[].concat(am,[im]).reduce(function(e,t){return e.concat([t,t+`-`+om,t+`-end`])},[]),pm=[`beforeRead`,`read`,`afterRead`,`beforeMain`,`main`,`afterMain`,`beforeWrite`,`write`,`afterWrite`];function mm(e){return e?(e.nodeName||``).toLowerCase():null}function hm(e){if(e==null)return window;if(e.toString()!==`[object Window]`){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function gm(e){return e instanceof hm(e).Element||e instanceof Element}function _m(e){return e instanceof hm(e).HTMLElement||e instanceof HTMLElement}function vm(e){return typeof ShadowRoot>`u`?!1:e instanceof hm(e).ShadowRoot||e instanceof ShadowRoot}function ym(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];!_m(i)||!mm(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];t===!1?i.removeAttribute(e):i.setAttribute(e,t===!0?``:t)}))})}function bm(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(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=``,e},{});!_m(r)||!mm(r)||(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}}var xm={name:`applyStyles`,enabled:!0,phase:`write`,fn:ym,effect:bm,requires:[`computeStyles`]};function Sm(e){return e.split(`-`)[0]}var Cm=Math.max,wm=Math.min,Tm=Math.round;function Em(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+`/`+e.version}).join(` `):navigator.userAgent}function Dm(){return!/^((?!chrome|android).)*safari/i.test(Em())}function Om(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&_m(e)&&(i=e.offsetWidth>0&&Tm(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&Tm(r.height)/e.offsetHeight||1);var o=(gm(e)?hm(e):window).visualViewport,s=!Dm()&&n,c=(r.left+(s&&o?o.offsetLeft:0))/i,l=(r.top+(s&&o?o.offsetTop:0))/a,u=r.width/i,d=r.height/a;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function km(e){var t=Om(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Am(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&vm(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function jm(e){return hm(e).getComputedStyle(e)}function Mm(e){return[`table`,`td`,`th`].indexOf(mm(e))>=0}function Nm(e){return((gm(e)?e.ownerDocument:e.document)||window.document).documentElement}function Pm(e){return mm(e)===`html`?e:e.assignedSlot||e.parentNode||(vm(e)?e.host:null)||Nm(e)}function Fm(e){return!_m(e)||jm(e).position===`fixed`?null:e.offsetParent}function Im(e){var t=/firefox/i.test(Em());if(/Trident/i.test(Em())&&_m(e)&&jm(e).position===`fixed`)return null;var n=Pm(e);for(vm(n)&&(n=n.host);_m(n)&&[`html`,`body`].indexOf(mm(n))<0;){var r=jm(n);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 n;n=n.parentNode}return null}function Lm(e){for(var t=hm(e),n=Fm(e);n&&Mm(n)&&jm(n).position===`static`;)n=Fm(n);return n&&(mm(n)===`html`||mm(n)===`body`&&jm(n).position===`static`)?t:n||Im(e)||t}function Rm(e){return[`top`,`bottom`].indexOf(e)>=0?`x`:`y`}function zm(e,t,n){return Cm(e,wm(t,n))}function Bm(e,t,n){var r=zm(e,t,n);return r>n?n:r}function Vm(){return{top:0,right:0,bottom:0,left:0}}function Hm(e){return Object.assign({},Vm(),e)}function Um(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var Wm=function(e,t){return e=typeof e==`function`?e(Object.assign({},t.rects,{placement:t.placement})):e,Hm(typeof e==`number`?Um(e,am):e)};function Gm(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,s=Sm(n.placement),c=Rm(s),l=[`left`,`right`].indexOf(s)>=0?`height`:`width`;if(!(!a||!o)){var u=Wm(i.padding,n),d=km(a),f=c===`y`?`top`:rm,p=c===`y`?tm:nm,m=n.rects.reference[l]+n.rects.reference[c]-o[c]-n.rects.popper[l],h=o[c]-n.rects.reference[c],g=Lm(a),_=g?c===`y`?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,y=u[f],b=_-d[l]-u[p],x=_/2-d[l]/2+v,S=zm(y,x,b),C=c;n.modifiersData[r]=(t={},t[C]=S,t.centerOffset=S-x,t)}}function Km(e){var t=e.state,n=e.options.element,r=n===void 0?`[data-popper-arrow]`:n;r!=null&&(typeof r==`string`&&(r=t.elements.popper.querySelector(r),!r)||Am(t.elements.popper,r)&&(t.elements.arrow=r))}var qm={name:`arrow`,enabled:!0,phase:`main`,fn:Gm,effect:Km,requires:[`popperOffsets`],requiresIfExists:[`preventOverflow`]};function Jm(e){return e.split(`-`)[1]}var Ym={top:`auto`,right:`auto`,bottom:`auto`,left:`auto`};function Xm(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Tm(n*i)/i||0,y:Tm(r*i)/i||0}}function Zm(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=o.x,p=f===void 0?0:f,m=o.y,h=m===void 0?0:m,g=typeof u==`function`?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var _=o.hasOwnProperty(`x`),v=o.hasOwnProperty(`y`),y=rm,b=`top`,x=window;if(l){var S=Lm(n),C=`clientHeight`,w=`clientWidth`;if(S===hm(n)&&(S=Nm(n),jm(S).position!==`static`&&s===`absolute`&&(C=`scrollHeight`,w=`scrollWidth`)),S=S,i===`top`||(i===`left`||i===`right`)&&a===`end`){b=tm;var T=d&&S===x&&x.visualViewport?x.visualViewport.height:S[C];h-=T-r.height,h*=c?1:-1}if(i===`left`||(i===`top`||i===`bottom`)&&a===`end`){y=nm;var E=d&&S===x&&x.visualViewport?x.visualViewport.width:S[w];p-=E-r.width,p*=c?1:-1}}var D=Object.assign({position:s},l&&Ym),O=u===!0?Xm({x:p,y:h},hm(n)):{x:p,y:h};if(p=O.x,h=O.y,c){var k;return Object.assign({},D,(k={},k[b]=v?`0`:``,k[y]=_?`0`:``,k.transform=(x.devicePixelRatio||1)<=1?`translate(`+p+`px, `+h+`px)`:`translate3d(`+p+`px, `+h+`px, 0)`,k))}return Object.assign({},D,(t={},t[b]=v?h+`px`:``,t[y]=_?p+`px`:``,t.transform=``,t))}function Qm(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,s=n.roundOffsets,c=s===void 0?!0:s,l={placement:Sm(t.placement),variation:Jm(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy===`fixed`};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Zm(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Zm(Object.assign({},l,{offsets:t.modifiersData.arrow,position:`absolute`,adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var $m={name:`computeStyles`,enabled:!0,phase:`beforeWrite`,fn:Qm,data:{}},eh={passive:!0};function th(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,s=o===void 0?!0:o,c=hm(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach(function(e){e.addEventListener(`scroll`,n.update,eh)}),s&&c.addEventListener(`resize`,n.update,eh),function(){a&&l.forEach(function(e){e.removeEventListener(`scroll`,n.update,eh)}),s&&c.removeEventListener(`resize`,n.update,eh)}}var nh={name:`eventListeners`,enabled:!0,phase:`write`,fn:function(){},effect:th,data:{}},rh={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ih(e){return e.replace(/left|right|bottom|top/g,function(e){return rh[e]})}var ah={start:`end`,end:`start`};function oh(e){return e.replace(/start|end/g,function(e){return ah[e]})}function sh(e){var t=hm(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function ch(e){return Om(Nm(e)).left+sh(e).scrollLeft}function lh(e,t){var n=hm(e),r=Nm(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;var l=Dm();(l||!l&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s+ch(e),y:c}}function uh(e){var t=Nm(e),n=sh(e),r=e.ownerDocument?.body,i=Cm(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=Cm(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+ch(e),s=-n.scrollTop;return jm(r||t).direction===`rtl`&&(o+=Cm(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:s}}function dh(e){var t=jm(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function fh(e){return[`html`,`body`,`#document`].indexOf(mm(e))>=0?e.ownerDocument.body:_m(e)&&dh(e)?e:fh(Pm(e))}function ph(e,t){t===void 0&&(t=[]);var n=fh(e),r=n===e.ownerDocument?.body,i=hm(n),a=r?[i].concat(i.visualViewport||[],dh(n)?n:[]):n,o=t.concat(a);return r?o:o.concat(ph(Pm(a)))}function mh(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function hh(e,t){var n=Om(e,!1,t===`fixed`);return n.top+=e.clientTop,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 gh(e,t,n){return t===`viewport`?mh(lh(e,n)):gm(t)?hh(t,n):mh(uh(Nm(e)))}function _h(e){var t=ph(Pm(e)),n=[`absolute`,`fixed`].indexOf(jm(e).position)>=0&&_m(e)?Lm(e):e;return gm(n)?t.filter(function(e){return gm(e)&&Am(e,n)&&mm(e)!==`body`}):[]}function vh(e,t,n,r){var i=t===`clippingParents`?_h(e):[].concat(t),a=[].concat(i,[n]),o=a[0],s=a.reduce(function(t,n){var i=gh(e,n,r);return t.top=Cm(i.top,t.top),t.right=wm(i.right,t.right),t.bottom=wm(i.bottom,t.bottom),t.left=Cm(i.left,t.left),t},gh(e,o,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function yh(e){var t=e.reference,n=e.element,r=e.placement,i=r?Sm(r):null,a=r?Jm(r):null,o=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,c;switch(i){case`top`:c={x:o,y:t.y-n.height};break;case tm:c={x:o,y:t.y+t.height};break;case nm:c={x:t.x+t.width,y:s};break;case rm:c={x:t.x-n.width,y:s};break;default:c={x:t.x,y:t.y}}var l=i?Rm(i):null;if(l!=null){var u=l===`y`?`height`:`width`;switch(a){case om:c[l]=c[l]-(t[u]/2-n[u]/2);break;case`end`:c[l]=c[l]+(t[u]/2-n[u]/2);break}}return c}function bh(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,s=n.boundary,c=s===void 0?sm:s,l=n.rootBoundary,u=l===void 0?cm:l,d=n.elementContext,f=d===void 0?lm:d,p=n.altBoundary,m=p===void 0?!1:p,h=n.padding,g=h===void 0?0:h,_=Hm(typeof g==`number`?Um(g,am):g),v=f===`popper`?um:lm,y=e.rects.popper,b=e.elements[m?v:f],x=vh(gm(b)?b:b.contextElement||Nm(e.elements.popper),c,u,o),S=Om(e.elements.reference),C=yh({reference:S,element:y,placement:i}),w=mh(Object.assign({},y,C)),T=f===`popper`?w:S,E={top:x.top-T.top+_.top,bottom:T.bottom-x.bottom+_.bottom,left:x.left-T.left+_.left,right:T.right-x.right+_.right},D=e.modifiersData.offset;if(f===`popper`&&D){var O=D[i];Object.keys(E).forEach(function(e){var t=[`right`,`bottom`].indexOf(e)>=0?1:-1,n=[`top`,`bottom`].indexOf(e)>=0?`y`:`x`;E[e]+=O[n]*t})}return E}function xh(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?fm:c,u=Jm(r),d=u?s?dm:dm.filter(function(e){return Jm(e)===u}):am,f=d.filter(function(e){return l.indexOf(e)>=0});f.length===0&&(f=d);var p=f.reduce(function(t,n){return t[n]=bh(e,{placement:n,boundary:i,rootBoundary:a,padding:o})[Sm(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function Sh(e){if(Sm(e)===`auto`)return[];var t=ih(e);return[oh(e),t,oh(t)]}function Ch(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!0:o,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,h=n.allowedAutoPlacements,g=t.options.placement,_=Sm(g)===g,v=c||(_||!m?[ih(g)]:Sh(g)),y=[g].concat(v).reduce(function(e,n){return e.concat(Sm(n)===`auto`?xh(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,x=t.rects.popper,S=new Map,C=!0,w=y[0],T=0;T=0,A=k?`width`:`height`,ee=bh(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),j=k?O?nm:rm:O?tm:`top`;b[A]>x[A]&&(j=ih(j));var M=ih(j),N=[];if(a&&N.push(ee[D]<=0),s&&N.push(ee[j]<=0,ee[M]<=0),N.every(function(e){return e})){w=E,C=!1;break}S.set(E,N)}if(C)for(var P=m?3:1,te=function(e){var t=y.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,`break`},ne=P;ne>0&&te(ne)!==`break`;ne--);t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}var wh={name:`flip`,enabled:!0,phase:`main`,fn:Ch,requiresIfExists:[`offset`],data:{_skip:!1}};function Th(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 Eh(e){return[`top`,nm,tm,rm].some(function(t){return e[t]>=0})}function Dh(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=bh(t,{elementContext:`reference`}),s=bh(t,{altBoundary:!0}),c=Th(o,r),l=Th(s,i,a),u=Eh(c),d=Eh(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var Oh={name:`hide`,enabled:!0,phase:`main`,requiresIfExists:[`preventOverflow`],fn:Dh};function kh(e,t,n){var r=Sm(e),i=[`left`,`top`].indexOf(r)>=0?-1:1,a=typeof n==`function`?n(Object.assign({},t,{placement:e})):n,o=a[0],s=a[1];return o||=0,s=(s||0)*i,[`left`,`right`].indexOf(r)>=0?{x:s,y:o}:{x:o,y:s}}function Ah(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=fm.reduce(function(e,n){return e[n]=kh(n,t.rects,a),e},{}),s=o[t.placement],c=s.x,l=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=o}var jh={name:`offset`,enabled:!0,phase:`main`,requires:[`popperOffsets`],fn:Ah};function Mh(e){var t=e.state,n=e.name;t.modifiersData[n]=yh({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var Nh={name:`popperOffsets`,enabled:!0,phase:`read`,fn:Mh,data:{}};function Ph(e){return e===`x`?`y`:`x`}function Fh(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!1:o,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,h=m===void 0?0:m,g=bh(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),_=Sm(t.placement),v=Jm(t.placement),y=!v,b=Rm(_),x=Ph(b),S=t.modifiersData.popperOffsets,C=t.rects.reference,w=t.rects.popper,T=typeof h==`function`?h(Object.assign({},t.rects,{placement:t.placement})):h,E=typeof T==`number`?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(S){if(a){var k=b===`y`?`top`:rm,A=b===`y`?tm:nm,ee=b===`y`?`height`:`width`,j=S[b],M=j+g[k],N=j-g[A],P=p?-w[ee]/2:0,te=v===`start`?C[ee]:w[ee],ne=v===`start`?-w[ee]:-C[ee],re=t.elements.arrow,ie=p&&re?km(re):{width:0,height:0},ae=t.modifiersData[`arrow#persistent`]?t.modifiersData[`arrow#persistent`].padding:Vm(),F=ae[k],I=ae[A],oe=zm(0,C[ee],ie[ee]),L=y?C[ee]/2-P-oe-F-E.mainAxis:te-oe-F-E.mainAxis,se=y?-C[ee]/2+P+oe+I+E.mainAxis:ne+oe+I+E.mainAxis,ce=t.elements.arrow&&Lm(t.elements.arrow),le=ce?b===`y`?ce.clientTop||0:ce.clientLeft||0:0,ue=D?.[b]??0,de=j+L-ue-le,fe=j+se-ue,pe=zm(p?wm(M,de):M,j,p?Cm(N,fe):N);S[b]=pe,O[b]=pe-j}if(s){var me=b===`x`?`top`:rm,R=b===`x`?tm:nm,he=S[x],z=x===`y`?`height`:`width`,ge=he+g[me],_e=he-g[R],ve=[`top`,rm].indexOf(_)!==-1,B=D?.[x]??0,ye=ve?ge:he-C[z]-w[z]-B+E.altAxis,V=ve?he+C[z]+w[z]-B-E.altAxis:_e,H=p&&ve?Bm(ye,he,V):zm(p?ye:ge,he,p?V:_e);S[x]=H,O[x]=H-he}t.modifiersData[r]=O}}var Ih={name:`preventOverflow`,enabled:!0,phase:`main`,fn:Fh,requiresIfExists:[`offset`]};function Lh(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Rh(e){return e===hm(e)||!_m(e)?sh(e):Lh(e)}function zh(e){var t=e.getBoundingClientRect(),n=Tm(t.width)/e.offsetWidth||1,r=Tm(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bh(e,t,n){n===void 0&&(n=!1);var r=_m(t),i=_m(t)&&zh(t),a=Nm(t),o=Om(e,i,n),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((mm(t)!==`body`||dh(a))&&(s=Rh(t)),_m(t)?(c=Om(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):a&&(c.x=ch(a))),{x:o.left+s.scrollLeft-c.x,y:o.top+s.scrollTop-c.y,width:o.width,height:o.height}}function Vh(e){var t=new Map,n=new Set,r=[];e.forEach(function(e){t.set(e.name,e)});function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}}),r.push(e)}return e.forEach(function(e){n.has(e.name)||i(e)}),r}function Hh(e){var t=Vh(e);return pm.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}function Uh(e){var t;return function(){return t||=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})}),t}}function Wh(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var Gh={placement:`bottom`,modifiers:[],strategy:`absolute`};function Kh(){return![...arguments].some(function(e){return!(e&&typeof e.getBoundingClientRect==`function`)})}function qh(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,a=i===void 0?Gh:i;return function(e,t,n){n===void 0&&(n=a);var i={placement:`bottom`,orderedModifiers:[],options:Object.assign({},Gh,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(n){var o=typeof n==`function`?n(i.options):n;u(),i.options=Object.assign({},a,i.options,o),i.scrollParents={reference:gm(e)?ph(e):e.contextElement?ph(e.contextElement):[],popper:ph(t)};var s=Hh(Wh([].concat(r,i.options.modifiers)));return i.orderedModifiers=s.filter(function(e){return e.enabled}),l(),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,n=e.popper;if(Kh(t,n)){i.rects={reference:Bh(t,Lm(n),i.options.strategy===`fixed`),popper:km(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r=0;r{let r={name:`updateState`,enabled:!0,phase:`write`,fn:({state:e})=>{let t=Xh(e);Object.assign(o.value,t)},requires:[`computeStyles`]},i=K(()=>{let{onFirstUpdate:e,placement:t,strategy:i,modifiers:a}=Y(n);return{onFirstUpdate:e,placement:t||`bottom`,strategy:i||`absolute`,modifiers:[...a||[],r,{name:`applyStyles`,enabled:!1}]}}),a=Le(),o=q({styles:{popper:{position:Y(i).strategy,left:`0`,top:`0`},arrow:{position:`absolute`}},attributes:{}}),s=()=>{a.value&&=(a.value.destroy(),void 0)};return M(i,e=>{let t=Y(a);t&&t.setOptions(e)},{deep:!0}),M([e,t],([e,t])=>{s(),!(!e||!t)&&(a.value=Jh(e,t,Y(i)))}),T(()=>{s()}),{state:K(()=>({...Y(a)?.state||{}})),styles:K(()=>Y(o).styles),attributes:K(()=>Y(o).attributes),update:()=>Y(a)?.update(),forceUpdate:()=>Y(a)?.forceUpdate(),instanceRef:K(()=>Y(a))}};function Xh(e){let t=Object.keys(e.elements);return{styles:ad(t.map(t=>[t,e.styles[t]||{}])),attributes:ad(t.map(t=>[t,e.attributes[t]]))}}var Zh=e=>{if(!e)return{onClick:ge,onMousedown:ge,onMouseup:ge};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{n=e.target===e.currentTarget}}},Qh=(e,t=0)=>{if(t===0)return e;let n=q(E(t)&&!!t.initVal),r=null,i=t=>{if(Ad(t)){n.value=e.value;return}r&&clearTimeout(r),r=setTimeout(()=>{n.value=e.value},t)},a=e=>{e===`leading`?Md(t)?i(t):i(t.leading):E(t)?i(t.trailing):n.value=!1};return d(()=>a(`leading`)),M(()=>e.value,e=>{a(e?`leading`:`trailing`)}),n};function $h(){let e,t=(t,r)=>{n(),e=globalThis.setTimeout(t,r)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return $d(()=>n()),{registerTimeout:t,cancelTimeout:n}}var eg={prefix:Math.floor(Math.random()*1e4),current:0},tg=Symbol(`elIdInjection`),ng=()=>Xe()?l(tg,eg):eg,rg=e=>{let t=ng();!nf&&t===eg&&Jd(`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, +})`);let n=jp();return Qd(()=>Y(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},ig=[],ag=e=>{Kp(e)===X.esc&&ig.forEach(t=>t(e))},og=e=>{d(()=>{ig.length===0&&document.addEventListener(`keydown`,ag),nf&&ig.push(e)}),T(()=>{ig=ig.filter(t=>t!==e),ig.length===0&&nf&&document.removeEventListener(`keydown`,ag)})},sg=()=>{let e=jp(),t=ng(),n=K(()=>`${e.value}-popper-container-${t.prefix}`);return{id:n,selector:K(()=>`#${n.value}`)}},cg=e=>{let t=document.createElement(`div`);return t.id=e,document.body.appendChild(t),t},lg=()=>{let{id:e,selector:t}=sg();return De(()=>{nf&&(document.body.querySelector(t.value)||cg(e.value))}),{id:e,selector:t}},ug=Q({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),dg={showAfter:0,hideAfter:200,autoClose:0},fg=({showAfter:e,hideAfter:t,autoClose:n,open:r,close:i})=>{let{registerTimeout:a}=$h(),{registerTimeout:o,cancelTimeout:s}=$h();return{onOpen:(t,s=Y(e))=>{a(()=>{r(t);let e=Y(n);Md(e)&&e>0&&o(()=>{i(t)},e)},s)},onClose:(e,n=Y(t))=>{s(),a(()=>{i(e)},n)}}},pg=Symbol(`elForwardRef`),mg=e=>{Qe(pg,{setForwardRef:(t=>{e.value=t})})},hg=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),gg={current:0},_g=q(0),vg=2e3,yg=Symbol(`elZIndexContextKey`),bg=Symbol(`zIndexContextKey`),xg=e=>{let t=Xe()?l(yg,gg):gg,n=e||(Xe()?l(bg,void 0):void 0),r=K(()=>{let e=Y(n);return Md(e)?e:vg}),i=K(()=>r.value+_g.value);return!nf&&!l(yg)&&Jd(`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:r,currentZIndex:i,nextZIndex:()=>(t.current++,_g.value=t.current,i.value)}},Sg=Math.min,Cg=Math.max,wg=Math.round,Tg=Math.floor,Eg=e=>({x:e,y:e}),Dg={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Og(e,t,n){return Cg(e,Sg(t,n))}function kg(e,t){return typeof e==`function`?e(t):e}function Ag(e){return e.split(`-`)[0]}function jg(e){return e.split(`-`)[1]}function Mg(e){return e===`x`?`y`:`x`}function Ng(e){return e===`y`?`height`:`width`}function Pg(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Fg(e){return Mg(Pg(e))}function Ig(e,t,n){n===void 0&&(n=!1);let r=jg(e),i=Fg(e),a=Ng(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Gg(o)),[o,Gg(o)]}function Lg(e){let t=Gg(e);return[Rg(e),t,Rg(t)]}function Rg(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var zg=[`left`,`right`],Bg=[`right`,`left`],Vg=[`top`,`bottom`],Hg=[`bottom`,`top`];function Ug(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Bg:zg:t?zg:Bg;case`left`:case`right`:return t?Vg:Hg;default:return[]}}function Wg(e,t,n,r){let i=jg(e),a=Ug(Ag(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Rg)))),a}function Gg(e){let t=Ag(e);return Dg[t]+e.slice(t.length)}function Kg(e){return{top:0,right:0,bottom:0,left:0,...e}}function qg(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Kg(e)}function Jg(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Yg(e,t,n){let{reference:r,floating:i}=e,a=Pg(t),o=Fg(t),s=Ng(o),c=Ag(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(jg(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Xg(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=kg(t,e),p=qg(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Jg(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Jg(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Zg=50,Qg=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Xg},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Yg(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=kg(e,t)||{};if(l==null)return{};let d=qg(u),f={x:n,y:r},p=Fg(i),m=Ng(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Sg(d[_],T),D=Sg(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,ee=Og(O,A,k),j=!c.arrow&&jg(i)!=null&&A!==ee&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Pg(t))||T.every(e=>Pg(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Pg(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},t_=new Set([`left`,`top`]);async function n_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Ag(n),s=jg(n),c=Pg(n)===`y`,l=t_.has(o)?-1:1,u=a&&c?-1:1,d=kg(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var r_=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await n_(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},i_=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=kg(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Pg(Ag(i)),p=Mg(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Og(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Og(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function a_(){return typeof window<`u`}function o_(e){return l_(e)?(e.nodeName||``).toLowerCase():`#document`}function s_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function c_(e){return((l_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function l_(e){return a_()?e instanceof Node||e instanceof s_(e).Node:!1}function u_(e){return a_()?e instanceof Element||e instanceof s_(e).Element:!1}function d_(e){return a_()?e instanceof HTMLElement||e instanceof s_(e).HTMLElement:!1}function f_(e){return!a_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof s_(e).ShadowRoot}function p_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=w_(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function m_(e){return/^(table|td|th)$/.test(o_(e))}function h_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var g_=/transform|translate|scale|rotate|perspective|filter/,__=/paint|layout|strict|content/,v_=e=>!!e&&e!==`none`,y_;function b_(e){let t=u_(e)?w_(e):e;return v_(t.transform)||v_(t.translate)||v_(t.scale)||v_(t.rotate)||v_(t.perspective)||!S_()&&(v_(t.backdropFilter)||v_(t.filter))||g_.test(t.willChange||``)||__.test(t.contain||``)}function x_(e){let t=E_(e);for(;d_(t)&&!C_(t);){if(b_(t))return t;if(h_(t))return null;t=E_(t)}return null}function S_(){return y_??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),y_}function C_(e){return/^(html|body|#document)$/.test(o_(e))}function w_(e){return s_(e).getComputedStyle(e)}function T_(e){return u_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function E_(e){if(o_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||f_(e)&&e.host||c_(e);return f_(t)?t.host:t}function D_(e){let t=E_(e);return C_(t)?e.ownerDocument?e.ownerDocument.body:e.body:d_(t)&&p_(t)?t:D_(t)}function O_(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=D_(e),i=r===e.ownerDocument?.body,a=s_(r);if(i){let e=k_(a);return t.concat(a,a.visualViewport||[],p_(r)?r:[],e&&n?O_(e):[])}else return t.concat(r,O_(r,[],n))}function k_(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function A_(e){let t=w_(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=d_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=wg(n)!==a||wg(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function j_(e){return u_(e)?e:e.contextElement}function M_(e){let t=j_(e);if(!d_(t))return Eg(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=A_(t),o=(a?wg(n.width):n.width)/r,s=(a?wg(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var N_=Eg(0);function P_(e){let t=s_(e);return!S_()||!t.visualViewport?N_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function F_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==s_(e)?!1:t}function I_(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=j_(e),o=Eg(1);t&&(r?u_(r)&&(o=M_(r)):o=M_(e));let s=F_(a,n,r)?P_(a):Eg(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=s_(a),t=r&&u_(r)?s_(r):r,n=e,i=k_(n);for(;i&&r&&t!==n;){let e=M_(i),t=i.getBoundingClientRect(),r=w_(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=s_(i),i=k_(n)}}return Jg({width:u,height:d,x:c,y:l})}function L_(e,t){let n=T_(e).scrollLeft;return t?t.left+n:I_(c_(e)).left+n}function R_(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-L_(e,n),y:n.top+t.scrollTop}}function z_(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=c_(r),s=t?h_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Eg(1),u=Eg(0),d=d_(r);if((d||!d&&!a)&&((o_(r)!==`body`||p_(o))&&(c=T_(r)),d)){let e=I_(r);l=M_(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?R_(o,c):Eg(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function B_(e){return Array.from(e.getClientRects())}function V_(e){let t=c_(e),n=T_(e),r=e.ownerDocument.body,i=Cg(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Cg(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+L_(e),s=-n.scrollTop;return w_(r).direction===`rtl`&&(o+=Cg(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var H_=25;function U_(e,t){let n=s_(e),r=c_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=S_();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=L_(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=H_&&(a-=o)}else l<=H_&&(a+=l);return{width:a,height:o,x:s,y:c}}function W_(e,t){let n=I_(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=d_(e)?M_(e):Eg(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function G_(e,t,n){let r;if(t===`viewport`)r=U_(e,n);else if(t===`document`)r=V_(c_(e));else if(u_(t))r=W_(t,n);else{let n=P_(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Jg(r)}function K_(e,t){let n=E_(e);return n===t||!u_(n)||C_(n)?!1:w_(n).position===`fixed`||K_(n,t)}function q_(e,t){let n=t.get(e);if(n)return n;let r=O_(e,[],!1).filter(e=>u_(e)&&o_(e)!==`body`),i=null,a=w_(e).position===`fixed`,o=a?E_(e):e;for(;u_(o)&&!C_(o);){let t=w_(o),n=b_(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||p_(o)&&!n&&K_(e,o))?r=r.filter(e=>e!==o):i=t,o=E_(o)}return t.set(e,r),r}function J_(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?h_(t)?[]:q_(t,this._c):[].concat(n),r],o=G_(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!rv(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function av(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=j_(e),u=i||a?[...l?O_(l):[],...t?O_(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?iv(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?I_(e):null;c&&g();function g(){let t=I_(e);h&&!rv(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ov=Xg,sv=r_,cv=i_,lv=e_,uv=$g,dv=(e,t,n)=>{let r=new Map,i={platform:nv,...n},a={...i.platform,_c:r};return Qg(e,t,{...i,platform:a})};function fv(e){let t;function n(){if(e.value==null)return;let{selectionStart:n,selectionEnd:r,value:i}=e.value;n==null||r==null||(t={selectionStart:n,selectionEnd:r,value:i,beforeTxt:i.slice(0,Math.max(0,n)),afterTxt:i.slice(Math.max(0,r))})}function r(){if(e.value==null||t==null)return;let{value:n}=e.value,{beforeTxt:r,afterTxt:i,selectionStart:a}=t;if(r==null||i==null||a==null)return;let o=n.length;if(n.endsWith(i))o=n.length-i.length;else if(n.startsWith(r))o=r.length;else{let e=r[a-1],t=n.indexOf(e,a-1);t!==-1&&(o=t+1)}e.value.setSelectionRange(o,o)}return[n,r]}var pv=`utils/vue/vnode`;function mv(e){return s(e)&&e.type===R}function hv(e){return s(e)&&e.type===Te}function gv(e){return s(e)&&!mv(e)&&!hv(e)}var _v=e=>{if(!s(e))return Jd(pv,`[getNormalizedProps] must be a VNode`),{};let t=e.props||{},n=(s(e.type)?e.type.props:void 0)||{},r={};return Object.keys(n).forEach(e=>{Ye(n[e],`default`)&&(r[e]=n[e].default)}),Object.keys(t).forEach(e=>{r[Ze(e)]=t[e]}),r},vv=e=>{let t=A(e)?e:[e],n=[];return t.forEach(e=>{A(e)?n.push(...vv(e)):s(e)&&e.component?.subTree?n.push(e,...vv(e.component.subTree)):s(e)&&A(e.children)?n.push(...vv(e.children)):s(e)&&e.shapeFlag===2?n.push(...vv(e.type())):n.push(e)}),n},yv=(e,t,n)=>vv(e.subTree).filter(e=>s(e)&&e.type?.name===t&&!!e.component).map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e),bv=(e,t)=>{let n=Le({}),r=Le([]),i=new WeakMap,a=e=>{n.value[e.uid]=e,qe(n),d(()=>{let t=e.getVnode().el,r=t.parentNode;if(!i.has(r)){i.set(r,[]);let e=r.insertBefore.bind(r);r.insertBefore=(t,a)=>(i.get(r).some(e=>t===e||a===e)&&qe(n),e(t,a))}i.get(r).push(t)})},o=e=>{delete n.value[e.uid],qe(n);let t=e.getVnode().el,r=t.parentNode,a=i.get(r),o=a.indexOf(t);a.splice(o,1)},s=()=>{r.value=yv(e,t,n.value)},c=e=>e.render();return{children:r,addChild:a,removeChild:o,ChildrenSorter:z({setup(e,{slots:t}){return()=>(s(),t.default?Je(c,{render:t.default}):null)}})}},xv=Ud({type:String,values:wr,required:!1}),Sv=Symbol(`size`),Cv=()=>{let e=l(Sv,{});return K(()=>Y(e.size)||``)};function wv(e,{disabled:t,beforeFocus:r,afterFocus:i,beforeBlur:a,afterBlur:o}={}){let{emit:s}=Xe(),c=Le(),l=q(!1),u=e=>{let a=n(r)?r(e):!1;Y(t)||l.value||a||(l.value=!0,s(`focus`,e),i?.())},d=e=>{let r=n(a)?a(e):!1;Y(t)||e.relatedTarget&&c.value?.contains(e.relatedTarget)||r||(l.value=!1,s(`blur`,e),o?.())};return M([c,()=>Y(t)],([e,t])=>{e&&(t?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,`-1`))}),kf(c,`focus`,u,!0),kf(c,`blur`,d,!0),kf(c,`click`,n=>{Y(t)||rp(n.target)||c.value?.contains(document.activeElement)&&c.value!==document.activeElement||e.value?.focus()},!0),{isFocused:l,wrapperRef:c,handleFocus:u,handleBlur:d}}function Tv({afterComposition:e,emit:t}){let n=q(!1),r=e=>{t?.(`compositionstart`,e),n.value=!0},i=e=>{t?.(`compositionupdate`,e),n.value=!0},a=r=>{t?.(`compositionend`,r),n.value&&(n.value=!1,U(()=>e(r)))};return{isComposing:n,handleComposition:e=>{e.type===`compositionend`?a(e):i(e)},handleCompositionStart:r,handleCompositionUpdate:i,handleCompositionEnd:a}}var Ev=Symbol(`emptyValuesContextKey`),Dv=`use-empty-values`,Ov=[``,void 0,null],kv=Q({emptyValues:Array,valueOnClear:{type:Z([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=n(e)?e():e,A(e)?e.every(e=>!e):!e)}}),Av=(e,t)=>{let r=Xe()?l(Ev,q({})):q({}),i=K(()=>e.emptyValues||r.value.emptyValues||Ov),a=K(()=>n(e.valueOnClear)?e.valueOnClear():e.valueOnClear===void 0?n(r.value.valueOnClear)?r.value.valueOnClear():r.value.valueOnClear===void 0?t===void 0?void 0:t:r.value.valueOnClear:e.valueOnClear),o=e=>{let t=!0;return t=A(e)?i.value.some(t=>sd(e,t)):i.value.includes(e),t};return o(a.value)||Jd(Dv,`value-on-clear should be a value of empty-values`),{emptyValues:i,valueOnClear:a,isEmptyValue:o}},jv=Q({ariaLabel:String,ariaOrientation:{type:String,values:[`horizontal`,`vertical`,`undefined`]},ariaControls:String}),Mv=e=>Sd(jv,e),Nv=e=>{let t=e.props,n=A(t)?ad(t.map(e=>[e,{}])):t;e.setPropsDefaults=t=>{if(n){for(let[e,r]of Object.entries(t)){let t=n[e];if(Ye(n,e)){if(xs(t)){n[e]={...t,default:r};continue}n[e]={type:t,default:r}}}e.props=n}}},Pv=(e,t)=>{if(e.install=n=>{for(let r of[e,...Object.values(t??{})])n.component(r.name,r)},t)for(let[n,r]of Object.entries(t))e[n]=r;return Nv(e),e},Fv=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),Iv=(e,t)=>(e.install=n=>{n.directive(t,e)},e),Lv=e=>(e.install=ge,Nv(e),e),Rv=`ElAffix`,zv=Pv(z({name:Rv,__name:`affix`,props:Wd,emits:Gd,setup(n,{expose:r,emit:i}){let a=n,o=i,s=$(`affix`),c=Le(),l=Le(),u=Le(),{height:f}=Yf(),{height:p,width:h,top:g,bottom:_,left:v,update:y}=Wf(l,{windowScroll:!1}),b=Wf(c),x=q(!1),S=q(0),C=q(0),w=K(()=>!a.teleported||!x.value),T=K(()=>({display:`flow-root`,height:x.value?`${p.value}px`:``,width:x.value?`${h.value}px`:``})),E=K(()=>{if(!x.value)return{};let e=bp(a.offset);return{height:`${p.value}px`,width:`${h.value}px`,top:a.position===`top`?e:``,bottom:a.position===`bottom`?e:``,left:a.teleported?`${v.value}px`:``,transform:C.value?`translateY(${C.value}px)`:``,zIndex:a.zIndex}}),D=()=>{if(!u.value)return;S.value=u.value instanceof Window?document.documentElement.scrollTop:u.value.scrollTop||0;let{position:e,target:t,offset:n}=a,r=n+p.value;if(e===`top`)if(t){let e=b.bottom.value-r;x.value=n>g.value&&b.bottom.value>0,C.value=e<0?e:0}else x.value=n>g.value;else if(t){let e=f.value-b.top.value-r;x.value=f.value-n<_.value&&f.value>b.top.value,C.value=e<0?-e:0}else x.value=f.value-n<_.value},O=async()=>{if(!x.value){y();return}x.value=!1,await U(),y(),x.value=!0};return M(x,e=>o(xr,e)),d(()=>{a.target?(c.value=document.querySelector(a.target)??void 0,c.value||qd(Rv,`Target does not exist: ${a.target}`)):c.value=document.documentElement,u.value=Ip(l.value,!0),y()}),t(()=>{U(O)}),ee(()=>{x.value=!1}),kf(u,`scroll`,async()=>{y(),await U(),o(`scroll`,{scrollTop:S.value,fixed:x.value})}),e(D),r({update:D,updateRoot:O}),(e,t)=>(N(),W(`div`,{ref_key:`root`,ref:l,class:F(Y(s).b()),style:m(T.value)},[(N(),H(Fe,{disabled:w.value,to:n.appendTo},[B(`div`,{class:F({[Y(s).m(`fixed`)]:x.value}),style:m(E.value)},[I(e.$slots,`default`)],6)],8,[`disabled`,`to`]))],6))}})),Bv=z({name:`ArrowDown`,__name:`arrow-down`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Vv=z({name:`ArrowLeft`,__name:`arrow-left`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Hv=z({name:`ArrowRight`,__name:`arrow-right`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Uv=z({name:`ArrowUp`,__name:`arrow-up`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Wv=z({name:`Back`,__name:`back`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64`}),B(`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`})]))}}),Gv=z({name:`Calendar`,__name:`calendar`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Kv=z({name:`CaretRight`,__name:`caret-right`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M384 192v640l384-320.064z`})]))}}),qv=z({name:`CaretTop`,__name:`caret-top`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M512 320 192 704h639.936z`})]))}}),Jv=z({name:`Check`,__name:`check`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Yv=z({name:`CircleCheckFilled`,__name:`circle-check-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Xv=z({name:`CircleCheck`,__name:`circle-check`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`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`})]))}}),Zv=z({name:`CircleCloseFilled`,__name:`circle-close-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Qv=z({name:`CircleClose`,__name:`circle-close`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`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`})]))}}),$v=z({name:`Clock`,__name:`clock`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`path`,{fill:`currentColor`,d:`M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32`}),B(`path`,{fill:`currentColor`,d:`M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32`})]))}}),ey=z({name:`Close`,__name:`close`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),ty=z({name:`Connection`,__name:`connection`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`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`})]))}}),ny=z({name:`DArrowLeft`,__name:`d-arrow-left`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),ry=z({name:`DArrowRight`,__name:`d-arrow-right`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),iy=z({name:`Delete`,__name:`delete`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),ay=z({name:`Document`,__name:`document`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),oy=z({name:`FullScreen`,__name:`full-screen`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),sy=z({name:`Hide`,__name:`hide`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`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`})]))}}),cy=z({name:`InfoFilled`,__name:`info-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),ly=z({name:`Link`,__name:`link`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152z`})]))}}),uy=z({name:`List`,__name:`list`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z`})]))}}),dy=z({name:`Loading`,__name:`loading`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),fy=z({name:`Minus`,__name:`minus`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`path`,{fill:`currentColor`,d:`M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64`})]))}}),py=z({name:`MoreFilled`,__name:`more-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),my=z({name:`More`,__name:`more`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),hy=z({name:`Odometer`,__name:`odometer`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`}),B(`path`,{fill:`currentColor`,d:`M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0`}),B(`path`,{fill:`currentColor`,d:`M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928`})]))}}),gy=z({name:`PictureFilled`,__name:`picture-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),_y=z({name:`Plus`,__name:`plus`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),vy=z({name:`QuestionFilled`,__name:`question-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),yy=z({name:`RefreshLeft`,__name:`refresh-left`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),by=z({name:`RefreshRight`,__name:`refresh-right`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),xy=z({name:`ScaleToOriginal`,__name:`scale-to-original`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Sy=z({name:`Search`,__name:`search`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Cy=z({name:`Setting`,__name:`setting`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),wy=z({name:`SortDown`,__name:`sort-down`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Ty=z({name:`SortUp`,__name:`sort-up`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Ey=z({name:`StarFilled`,__name:`star-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Dy=z({name:`Star`,__name:`star`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Oy=z({name:`SuccessFilled`,__name:`success-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),ky=z({name:`View`,__name:`view`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Ay=z({name:`WarningFilled`,__name:`warning-filled`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),jy=z({name:`ZoomIn`,__name:`zoom-in`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),My=z({name:`ZoomOut`,__name:`zoom-out`,setup(e){return(e,t)=>(N(),W(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[B(`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`})]))}}),Ny=Z([String,Object,Function]),Py={Close:ey},Fy={Close:ey,SuccessFilled:Oy,InfoFilled:cy,WarningFilled:Ay,CircleCloseFilled:Zv},Iy={primary:cy,success:Oy,warning:Ay,error:Zv,info:cy},Ly={validating:dy,success:Xv,error:Qv},Ry=Q({title:{type:String,default:``},description:{type:String,default:``},type:{type:String,values:Rd(Iy),default:`info`},closable:{type:Boolean,default:!0},closeText:{type:String,default:``},showIcon:Boolean,center:Boolean,effect:{type:String,values:[`light`,`dark`],default:`light`}}),zy={close:e=>e instanceof MouseEvent},By=Pv(z({name:`ElIcon`,inheritAttrs:!1,__name:`icon`,props:Q({size:{type:Z([Number,String])},color:{type:String}}),setup(e){let t=e,n=$(`icon`),r=K(()=>{let{size:e,color:n}=t,r=bp(e);return!r&&!n?{}:{fontSize:r,"--color":n}});return(e,t)=>(N(),W(`i`,k({class:Y(n).b(),style:r.value},e.$attrs),[I(e.$slots,`default`)],16))}})),Vy=Pv(z({name:`ElAlert`,__name:`alert`,props:Ry,emits:zy,setup(e,{emit:t}){let{Close:n}=Fy,r=e,i=t,a=le(),o=$(`alert`),s=q(!0),c=K(()=>Iy[r.type]),l=K(()=>{if(r.description)return!0;let e=a.default?.();return e?vv(e).some(e=>!hv(e)):!1}),u=e=>{s.value=!1,i(`close`,e)};return(t,r)=>(N(),H(pt,{name:Y(o).b(`fade`),persisted:``},{default:V(()=>[Ge(B(`div`,{class:F([Y(o).b(),Y(o).m(e.type),Y(o).is(`center`,e.center),Y(o).is(e.effect)]),role:`alert`},[e.showIcon&&(t.$slots.icon||c.value)?(N(),H(Y(By),{key:0,class:F([Y(o).e(`icon`),Y(o).is(`big`,l.value)])},{default:V(()=>[I(t.$slots,`icon`,{},()=>[(N(),H(L(c.value)))])]),_:3},8,[`class`])):G(`v-if`,!0),B(`div`,{class:F(Y(o).e(`content`))},[e.title||t.$slots.title?(N(),W(`span`,{key:0,class:F([Y(o).e(`title`),{"with-description":l.value}])},[I(t.$slots,`title`,{},()=>[Ke(S(e.title),1)])],2)):G(`v-if`,!0),l.value?(N(),W(`p`,{key:1,class:F(Y(o).e(`description`))},[I(t.$slots,`default`,{},()=>[Ke(S(e.description),1)])],2)):G(`v-if`,!0),e.closable?(N(),W(R,{key:2},[e.closeText?(N(),W(`div`,{key:0,class:F([Y(o).e(`close-btn`),Y(o).is(`customed`)]),onClick:u},S(e.closeText),3)):(N(),H(Y(By),{key:1,class:F(Y(o).e(`close-btn`)),onClick:u},{default:V(()=>[J(Y(n))]),_:1},8,[`class`]))],64)):G(`v-if`,!0)],2)],2),[[jt,s.value]])]),_:3},8,[`name`]))}})),Hy=[`dialog`,`grid`,`group`,`listbox`,`menu`,`navigation`,`tooltip`,`tree`],Uy=Q({role:{type:String,values:Hy,default:`tooltip`}}),Wy=Symbol(`popper`),Gy=Symbol(`popperContent`),Ky=z({name:`ElPopperArrow`,inheritAttrs:!1,__name:`arrow`,setup(e,{expose:t}){let n=$(`popper`),{arrowRef:r,arrowStyle:i}=l(Gy,void 0);return T(()=>{r.value=void 0}),t({arrowRef:r}),(e,t)=>(N(),W(`span`,{ref_key:`arrowRef`,ref:r,class:F(Y(n).e(`arrow`)),style:m(Y(i)),"data-popper-arrow":``},null,6))}}),qy=Q({virtualRef:{type:Z(Object)},virtualTriggering:Boolean,onMouseenter:{type:Z(Function)},onMouseleave:{type:Z(Function)},onClick:{type:Z(Function)},onKeydown:{type:Z(Function)},onFocus:{type:Z(Function)},onBlur:{type:Z(Function)},onContextmenu:{type:Z(Function)},id:String,open:Boolean}),Jy=`ElOnlyChild`,Yy=z({name:Jy,setup(e,{slots:t,attrs:n}){let r=hg(l(pg)?.setForwardRef??ge);return()=>{let e=t.default?.(n);if(!e)return null;let[i,a]=Xy(e);return i?(a>1&&Jd(Jy,`requires exact only one valid child.`),Ge(Ae(i,n),[[r]])):(Jd(Jy,`no valid child node found`),null)}}});function Xy(e){if(!e)return[null,0];let t=e,n=t.filter(e=>e.type!==Te).length;for(let e of t){if(E(e))switch(e.type){case Te:continue;case He:case`svg`:return[Zy(e),n];case R:return Xy(e.children);default:return[e,n]}return[Zy(e),n]}return[null,0]}function Zy(e){return J(`span`,{class:$(`only-child`).e(`content`)},[e])}var Qy=z({name:`ElPopperTrigger`,inheritAttrs:!1,__name:`trigger`,props:qy,setup(e,{expose:t}){let n=e,{role:r,triggerRef:i}=l(Wy,void 0);mg(i);let a=K(()=>s.value?n.id:void 0),o=K(()=>{if(r&&r.value===`tooltip`)return n.open&&n.id?n.id:void 0}),s=K(()=>{if(r&&r.value!==`tooltip`)return r.value}),c=K(()=>s.value?`${n.open}`:void 0),u,f=[`onMouseenter`,`onMouseleave`,`onClick`,`onKeydown`,`onFocus`,`onBlur`,`onContextmenu`];return d(()=>{M(()=>n.virtualRef,e=>{e&&(i.value=Of(e))},{immediate:!0}),M(i,(e,t)=>{u?.(),u=void 0,Pd(t)&&f.forEach(e=>{let r=n[e];r&&t.removeEventListener(e.slice(2).toLowerCase(),r,[`onFocus`,`onBlur`].includes(e))}),Pd(e)&&(f.forEach(t=>{let r=n[t];r&&e.addEventListener(t.slice(2).toLowerCase(),r,[`onFocus`,`onBlur`].includes(t))}),rp(e)&&(u=M([a,o,s,c],t=>{[`aria-controls`,`aria-describedby`,`aria-haspopup`,`aria-expanded`].forEach((n,r)=>{cd(t[r])?e.removeAttribute(n):e.setAttribute(n,t[r])})},{immediate:!0}))),Pd(t)&&rp(t)&&[`aria-controls`,`aria-describedby`,`aria-haspopup`,`aria-expanded`].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),T(()=>{if(u?.(),u=void 0,i.value&&Pd(i.value)){let e=i.value;f.forEach(t=>{let r=n[t];r&&e.removeEventListener(t.slice(2).toLowerCase(),r,[`onFocus`,`onBlur`].includes(t))}),i.value=void 0}}),t({triggerRef:i}),(t,n)=>e.virtualTriggering?G(`v-if`,!0):(N(),H(Y(Yy),k({key:0},t.$attrs,{"aria-controls":a.value,"aria-describedby":o.value,"aria-expanded":c.value,"aria-haspopup":s.value}),{default:V(()=>[I(t.$slots,`default`)]),_:3},16,[`aria-controls`,`aria-describedby`,`aria-expanded`,`aria-haspopup`]))}}),$y=Q({arrowOffset:{type:Number,default:5}}),eb={arrowOffset:5},tb=Q({...Q({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:Z(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:fm,default:`bottom`},popperOptions:{type:Z(Object),default:()=>({})},strategy:{type:String,values:[`fixed`,`absolute`],default:`absolute`}}),...$y,id:String,style:{type:Z([String,Array,Object,Boolean]),default:void 0},className:{type:Z([String,Array,Object])},effect:{type:Z(String),default:`dark`},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:Z([String,Array,Object])},popperStyle:{type:Z([String,Array,Object,Boolean]),default:void 0},referenceEl:{type:Z(Object)},triggerTargetEl:{type:Z(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Mv([`ariaLabel`]),loop:Boolean}),nb={boundariesPadding:0,gpuAcceleration:!0,offset:12,placement:`bottom`,popperOptions:()=>({}),strategy:`absolute`,...eb,effect:`dark`,enterable:!0,stopPopperMouseEvent:!0,visible:!1,pure:!1,focusOnShow:!1,trapping:!1,virtualTriggering:!1,loop:!1,style:void 0,popperStyle:void 0},rb={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},ib=Q({...Q({size:{type:String,values:wr},disabled:Boolean}),model:Object,rules:{type:Z(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:Z([Object,Boolean]),default:!0}}),ab={validate:(e,t,n)=>(A(e)||P(e))&&jd(t)&&P(n)},ob=Symbol(`formContextKey`),sb=Symbol(`formItemContextKey`),cb=(e,t={})=>{let n=q(void 0),r=t.prop?n:em(`size`),i=t.global?n:Cv(),a=t.form?{size:void 0}:l(ob,void 0),o=t.formItem?{size:void 0}:l(sb,void 0);return K(()=>r.value||Y(e)||o?.size||a?.size||i.value||``)},lb=e=>{let t=em(`disabled`),n=l(ob,void 0);return K(()=>t.value??Y(e)??n?.disabled??!1)},ub=()=>({form:l(ob,void 0),formItem:l(sb,void 0)}),db=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:r})=>{n||=q(!1),r||=q(!1);let i=Xe(),a=()=>{let e=i?.parent;for(;e;){if(e.type.name===`ElFormItem`)return!1;if(e.type.name===`ElLabelWrap`)return!0;e=e.parent}return!1},o=q(),s,c=K(()=>!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&t.inputIds?.length<=1));return d(()=>{s=M([we(e,`id`),n],([e,n])=>{let i=e??(n?void 0:rg().value);i!==o.value&&(t?.removeInputId&&!a()&&(o.value&&t.removeInputId(o.value),!r?.value&&!n&&i&&t.addInputId(i)),o.value=i)},{immediate:!0})}),_(()=>{s&&s(),t?.removeInputId&&o.value&&t.removeInputId(o.value)}),{isLabeledByFormItem:c,inputId:o}},fb=Q({label:String,labelWidth:{type:[String,Number]},labelPosition:{type:String,values:[`left`,`right`,`top`,``],default:``},prop:{type:Z([String,Array])},required:{type:Boolean,default:void 0},rules:{type:Z([Object,Array])},error:String,validateStatus:{type:String,values:[``,`error`,`validating`,`success`]},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:wr}}),pb=e=>[...new Set(e)],mb=e=>A(e)?e[0]:e,hb=e=>!e&&e!==0?[]:A(e)?e:[e],gb=`ElForm`;function _b(){let e=q([]),t=K(()=>{if(!e.value.length)return`0`;let t=Math.max(...e.value);return t?`${t}px`:``});function n(n){let r=e.value.indexOf(n);return r===-1&&t.value===`0`&&Jd(gb,`unexpected width ${n}`),r}function r(t,r){if(t&&r){let i=n(r);e.value.splice(i,1,t)}else t&&e.value.push(t)}function i(t){let r=n(t);r>-1&&e.value.splice(r,1)}return{autoLabelWidth:t,registerLabelWidth:r,deregisterLabelWidth:i}}var vb=(e,t)=>{let n=Cs(t).map(e=>A(e)?e.join(`.`):e);return n.length>0?e.filter(e=>e.propString&&n.includes(e.propString)):e},yb=`ElForm`,bb=z({name:yb,__name:`form`,props:ib,emits:ab,setup(e,{expose:t,emit:r}){let i=e,a=r,o=q(),s=ve([]),c=new Map,l=cb(),u=$(`form`),d=K(()=>{let{labelPosition:e,inline:t}=i;return[u.b(),u.m(l.value||`default`),{[u.m(`label-${e}`)]:e,[u.m(`inline`)]:t}]}),f=e=>vb(s,[e])[0],p=e=>{s.includes(e)||s.push(e),e.propString&&(c.has(e.propString)?e.setInitialValue(c.get(e.propString)):c.set(e.propString,Ml(e.fieldValue)))},m=(e,t)=>{if(t){c.delete(t);return}let n=s.indexOf(e);n>-1&&(s.splice(n,1),e.propString&&c.set(e.propString,Ml(e.getInitialValue())))},h=e=>{if(!i.model){Jd(yb,`model is required for setInitialValues to work.`);return}if(!e){Jd(yb,`initModel is required for setInitialValues to work.`);return}for(let t of c.keys())c.set(t,Ml(Bd(e,t).value));s.forEach(t=>{t.prop&&t.setInitialValue(Bd(e,t.prop).value)})},g=(e=[])=>{if(!i.model){Jd(yb,`model is required for resetFields to work.`);return}vb(s,e).forEach(e=>e.resetField());let t=new Set(s.map(e=>e.propString).filter(Boolean)),n=e.length>0?Cs(e).map(e=>A(e)?e.join(`.`):e):[...c.keys()];for(let e of n)!t.has(e)&&c.has(e)&&(Bd(i.model,e).value=Ml(c.get(e)))},_=(e=[])=>{vb(s,e).forEach(e=>e.clearValidate())},v=K(()=>{let e=!!i.model;return e||Jd(yb,`model is required for validate to work.`),e}),y=e=>{if(s.length===0)return[];let t=vb(s,e);return t.length?t:(Jd(yb,`please pass correct props!`),[])},b=async e=>S(void 0,e),x=async(e=[])=>{if(!v.value)return!1;let t=y(e);if(t.length===0)return!0;let n={};for(let e of t)try{await e.validate(``),e.validateState===`error`&&!e.error&&e.resetField()}catch(e){n={...n,...e}}return Object.keys(n).length===0?!0:Promise.reject(n)},S=async(e=[],t)=>{let r=!1,a=!n(t);try{return r=await x(e),r===!0&&await t?.(r),r}catch(e){if(e instanceof Error)throw e;let n=e;return i.scrollToError&&o.value&&o.value.querySelector(`.${u.b()}-item.is-error`)?.scrollIntoView(i.scrollIntoViewOptions),!r&&await t?.(!1,n),a&&Promise.reject(n)}},C=e=>{let t=f(e);t&&t.$el?.scrollIntoView(i.scrollIntoViewOptions)};return M(()=>i.rules,()=>{i.validateOnRuleChange&&b().catch(ge)},{deep:!0,flush:`post`}),Qe(ob,ve({...Se(i),emit:a,resetFields:g,clearValidate:_,validateField:S,getField:f,addField:p,removeField:m,setInitialValues:h,..._b()})),t({validate:b,validateField:S,resetFields:g,clearValidate:_,scrollToField:C,getField:f,fields:s,setInitialValues:h}),(e,t)=>(N(),W(`form`,{ref_key:`formRef`,ref:o,class:F(d.value)},[I(e.$slots,`default`)],2))}}),xb=`ElLabelWrap`,Sb=z({name:xb,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(e,{slots:t}){let n=l(ob,void 0),r=l(sb);r||qd(xb,`usage: `);let i=$(`form`),a=q(),o=q(0),s=()=>{if(a.value?.firstElementChild){let e=window.getComputedStyle(a.value.firstElementChild).width;return Math.ceil(Number.parseFloat(e))}else return 0},c=(r=`update`)=>{U(()=>{t.default&&e.isAutoWidth&&(r===`update`?o.value=s():r===`remove`&&n?.deregisterLabelWidth(o.value))})},u=()=>c(`update`);return d(()=>{u()}),T(()=>{c(`remove`)}),C(()=>u()),M(o,(t,r)=>{e.updateAll&&n?.registerLabelWidth(t,r)}),Uf(K(()=>a.value?.firstElementChild??null),u),()=>{if(!t)return null;let{isAutoWidth:s}=e;if(s){let e=n?.autoLabelWidth,s=r?.hasLabel,c={};if(s&&e&&e!==`auto`){let t=Math.max(0,Number.parseInt(e,10)-o.value),i=(r.labelPosition||n.labelPosition)===`left`?`marginRight`:`marginLeft`;t&&(c[i]=`${t}px`)}return J(`div`,{ref:a,class:[i.be(`item`,`label-wrap`)],style:c},[t.default?.()])}else return J(R,{ref:a},[t.default?.()])}}});function Cb(){return Cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t`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 Ob(e,t,n){return Ob=Db()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&Eb(i,n.prototype),i},Ob.apply(null,arguments)}function kb(e){return Function.toString.call(e).indexOf(`[native code]`)!==-1}function Ab(e){var t=typeof Map==`function`?new Map:void 0;return Ab=function(e){if(e===null||!kb(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return Ob(e,arguments,Tb(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Eb(n,e)},Ab(e)}var jb=/%[sdj%]/g,Mb=function(){};function Nb(e){if(!e||!e.length)return null;var t={};return e.forEach(function(e){var n=e.field;t[n]=t[n]||[],t[n].push(e)}),t}function Pb(e){var t=[...arguments].slice(1),n=0,r=t.length;return typeof e==`function`?e.apply(null,t):typeof e==`string`?e.replace(jb,function(e){if(e===`%%`)return`%`;if(n>=r)return e;switch(e){case`%s`:return String(t[n++]);case`%d`:return Number(t[n++]);case`%j`:try{return JSON.stringify(t[n++])}catch{return`[Circular]`}break;default:return e}}):e}function Fb(e){return e===`string`||e===`url`||e===`hex`||e===`email`||e===`date`||e===`pattern`}function Ib(e,t){return!!(e==null||t===`array`&&Array.isArray(e)&&!e.length||Fb(t)&&typeof e==`string`&&!e)}function Lb(e,t,n){var r=[],i=0,a=e.length;function o(e){r.push.apply(r,e||[]),i++,i===a&&n(r)}e.forEach(function(e){t(e,o)})}function Rb(e,t,n){var r=0,i=e.length;function a(o){if(o&&o.length){n(o);return}var s=r;r+=1,s()\[\]\\.,;:\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},Zb={integer:function(e){return Zb.number(e)&&parseInt(e,10)===e},float:function(e){return Zb.number(e)&&!Zb.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime==`function`&&typeof e.getMonth==`function`&&typeof e.getYear==`function`&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e==`number`},object:function(e){return typeof e==`object`&&!Zb.array(e)},method:function(e){return typeof e==`function`},email:function(e){return typeof e==`string`&&e.length<=320&&!!e.match(Xb.email)},url:function(e){return typeof e==`string`&&e.length<=2048&&!!e.match(Yb())},hex:function(e){return typeof e==`string`&&!!e.match(Xb.hex)}},Qb=function(e,t,n,r,i){if(e.required&&t===void 0){Kb(e,t,n,r,i);return}var a=[`integer`,`float`,`array`,`regexp`,`object`,`method`,`email`,`number`,`date`,`url`,`hex`],o=e.type;a.indexOf(o)>-1?Zb[o](t)||r.push(Pb(i.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&r.push(Pb(i.messages.types[o],e.fullField,e.type))},$b=function(e,t,n,r,i){var a=typeof e.len==`number`,o=typeof e.min==`number`,s=typeof e.max==`number`,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=t,u=null,d=typeof t==`number`,f=typeof t==`string`,p=Array.isArray(t);if(d?u=`number`:f?u=`string`:p&&(u=`array`),!u)return!1;p&&(l=t.length),f&&(l=t.replace(c,`_`).length),a?l!==e.len&&r.push(Pb(i.messages[u].len,e.fullField,e.len)):o&&!s&&le.max?r.push(Pb(i.messages[u].max,e.fullField,e.max)):o&&s&&(le.max)&&r.push(Pb(i.messages[u].range,e.fullField,e.min,e.max))},ex=`enum`,tx={required:Kb,whitespace:qb,type:Qb,range:$b,enum:function(e,t,n,r,i){e[ex]=Array.isArray(e[ex])?e[ex]:[],e[ex].indexOf(t)===-1&&r.push(Pb(i.messages[ex],e.fullField,e[ex].join(`, `)))},pattern:function(e,t,n,r,i){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(Pb(i.messages.pattern.mismatch,e.fullField,t,e.pattern))):typeof e.pattern==`string`&&(new RegExp(e.pattern).test(t)||r.push(Pb(i.messages.pattern.mismatch,e.fullField,t,e.pattern))))}},nx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t,`string`)&&!e.required)return n();tx.required(e,t,r,a,i,`string`),Ib(t,`string`)||(tx.type(e,t,r,a,i),tx.range(e,t,r,a,i),tx.pattern(e,t,r,a,i),e.whitespace===!0&&tx.whitespace(e,t,r,a,i))}n(a)},rx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&tx.type(e,t,r,a,i)}n(a)},ix=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t===``&&(t=void 0),Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&(tx.type(e,t,r,a,i),tx.range(e,t,r,a,i))}n(a)},ax=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&tx.type(e,t,r,a,i)}n(a)},ox=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),Ib(t)||tx.type(e,t,r,a,i)}n(a)},sx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&(tx.type(e,t,r,a,i),tx.range(e,t,r,a,i))}n(a)},cx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&(tx.type(e,t,r,a,i),tx.range(e,t,r,a,i))}n(a)},lx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t==null&&!e.required)return n();tx.required(e,t,r,a,i,`array`),t!=null&&(tx.type(e,t,r,a,i),tx.range(e,t,r,a,i))}n(a)},ux=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&tx.type(e,t,r,a,i)}n(a)},dx=`enum`,fx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i),t!==void 0&&tx[dx](e,t,r,a,i)}n(a)},px=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t,`string`)&&!e.required)return n();tx.required(e,t,r,a,i),Ib(t,`string`)||tx.pattern(e,t,r,a,i)}n(a)},mx=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t,`date`)&&!e.required)return n();if(tx.required(e,t,r,a,i),!Ib(t,`date`)){var o=t instanceof Date?t:new Date(t);tx.type(e,o,r,a,i),o&&tx.range(e,o.getTime(),r,a,i)}}n(a)},hx=function(e,t,n,r,i){var a=[],o=Array.isArray(t)?`array`:typeof t;tx.required(e,t,r,a,i,o),n(a)},gx=function(e,t,n,r,i){var a=e.type,o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t,a)&&!e.required)return n();tx.required(e,t,r,o,i,a),Ib(t,a)||tx.type(e,t,r,o,i)}n(o)},_x={string:nx,method:rx,number:ix,boolean:ax,regexp:ox,integer:sx,float:cx,array:lx,object:ux,enum:fx,pattern:px,date:mx,url:gx,hex:gx,email:gx,required:hx,any:function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Ib(t)&&!e.required)return n();tx.required(e,t,r,a,i)}n(a)}};function vx(){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 e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var yx=vx(),bx=function(){function e(e){this.rules=null,this._messages=yx,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw Error(`Cannot configure a schema with no rules`);if(typeof e!=`object`||Array.isArray(e))throw Error(`Rules must be an object`);this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})},t.messages=function(e){return e&&(this._messages=Gb(vx(),e)),this._messages},t.validate=function(t,n,r){var i=this;n===void 0&&(n={}),r===void 0&&(r=function(){});var a=t,o=n,s=r;if(typeof o==`function`&&(s=o,o={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(e){var t=[],n={};function r(e){if(Array.isArray(e)){var n;t=(n=t).concat.apply(n,e)}else t.push(e)}for(var i=0;ir.labelPosition||a?.labelPosition),x=K(()=>b.value===`top`?{}:{width:bp(r.labelWidth??a?.labelWidth)}),C=K(()=>{if(b.value===`top`||a?.inline||!r.label&&!r.labelWidth&&P)return{};let e=bp(r.labelWidth??a?.labelWidth);return!r.label&&!i.label?{marginLeft:e}:{}}),w=K(()=>[c.b(),c.m(s.value),c.is(`error`,p.value===`error`),c.is(`validating`,p.value===`validating`),c.is(`success`,p.value===`success`),c.is(`required`,ae.value||r.required),c.is(`no-asterisk`,a?.hideRequiredAsterisk),a?.requireAsteriskPosition===`right`?`asterisk-right`:`asterisk-left`,{[c.m(`feedback`)]:a?.statusIcon,[c.m(`label-${b.value}`)]:b.value}]),E=K(()=>jd(r.inlineMessage)?r.inlineMessage:a?.inlineMessage||!1),D=K(()=>[c.e(`error`),{[c.em(`error`,`inline`)]:E.value}]),O=K(()=>r.prop?A(r.prop)?r.prop.join(`.`):r.prop:``),k=K(()=>!!(r.label||i.label)),ee=K(()=>r.for??(f.value.length===1?f.value[0]:void 0)),j=K(()=>!ee.value&&k.value),P=!!o,te=K(()=>{let e=a?.model;if(!(!e||!r.prop))return Bd(e,r.prop).value}),ne=K(()=>{let{required:e}=r,t=[];r.rules&&t.push(...Cs(r.rules));let n=a?.rules;if(n&&r.prop){let e=Bd(n,r.prop).value;e&&t.push(...Cs(e))}if(e!==void 0){let n=t.map((e,t)=>[e,t]).filter(([e])=>`required`in e);if(n.length>0)for(let[r,i]of n)r.required!==e&&(t[i]={...r,required:e});else t.push({required:e})}return t}),re=K(()=>ne.value.length>0),ie=e=>ne.value.filter(t=>!t.trigger||!e?!0:A(t.trigger)?t.trigger.includes(e):t.trigger===e).map(({trigger:e,...t})=>t),ae=K(()=>ne.value.some(e=>e.required)),oe=K(()=>h.value===`error`&&r.showMessage&&(a?.showMessage??!0)),se=K(()=>`${r.label||``}${a?.labelSuffix||``}`),ce=e=>{p.value=e},ue=e=>{let{errors:t,fields:n}=e;(!t||!n)&&console.error(e),ce(`error`),g.value=t?t?.[0]?.message??`${r.prop} is required`:``,a?.emit(`validate`,r.prop,!1,g.value)},de=()=>{ce(`success`),a?.emit(`validate`,r.prop,!0,``)},fe=async e=>{let t=O.value;return new bx({[t]:e}).validate({[t]:te.value},{firstFields:!0}).then(()=>(de(),!0)).catch(e=>(ue(e),Promise.reject(e)))},pe=async(e,t)=>{if(y||!r.prop)return!1;let i=n(t);if(!re.value)return t?.(!1),!1;let a=ie(e);return a.length===0?(t?.(!0),!0):(ce(`validating`),fe(a).then(()=>(t?.(!0),!0)).catch(e=>{let{fields:n}=e;return t?.(!1,n),i?!1:Promise.reject(n)}))},me=()=>{ce(``),g.value=``,y=!1},R=async()=>{let e=a?.model;if(!e||!r.prop)return;let t=Bd(e,r.prop);y=!0,t.value=Ml(v),await U(),me(),y=!1},he=e=>{f.value.includes(e)||f.value.push(e)},z=e=>{f.value=f.value.filter(t=>t!==e)},ge=e=>{v=Ml(e)},_e=()=>v;M(()=>r.error,e=>{g.value=e||``,ce(e?`error`:``)},{immediate:!0}),M(()=>r.validateStatus,e=>ce(e||``));let ye=ve({...Se(r),$el:_,size:s,validateMessage:g,validateState:p,labelId:u,inputIds:f,isGroup:j,hasLabel:k,fieldValue:te,addInputId:he,removeInputId:z,resetField:R,clearValidate:me,validate:pe,propString:O,setInitialValue:ge,getInitialValue:_e});return Qe(sb,ye),M(O,(e,t)=>{!a||!t||(a.removeField(ye,t),e&&(ge(te.value),a.addField(ye)))}),d(()=>{r.prop&&(ge(te.value),a?.addField(ye))}),T(()=>{a?.removeField(ye)}),t({size:s,validateMessage:g,validateState:p,validate:pe,clearValidate:me,resetField:R,setInitialValue:ge}),(t,n)=>(N(),W(`div`,{ref_key:`formItemRef`,ref:_,class:F(w.value),role:j.value?`group`:void 0,"aria-labelledby":j.value?Y(u):void 0},[J(Y(Sb),{"is-auto-width":x.value.width===`auto`,"update-all":Y(a)?.labelWidth===`auto`},{default:V(()=>[e.label||t.$slots.label?(N(),H(L(ee.value?`label`:`div`),{key:0,id:Y(u),for:ee.value,class:F(Y(c).e(`label`)),style:m(x.value)},{default:V(()=>[I(t.$slots,`label`,{label:se.value},()=>[Ke(S(se.value),1)])]),_:3},8,[`id`,`for`,`class`,`style`])):G(`v-if`,!0)]),_:3},8,[`is-auto-width`,`update-all`]),B(`div`,{class:F(Y(c).e(`content`)),style:m(C.value)},[I(t.$slots,`default`),J(un,{name:`${Y(c).namespace.value}-zoom-in-top`},{default:V(()=>[oe.value?I(t.$slots,`error`,{key:0,error:g.value},()=>[B(`div`,{class:F(D.value)},S(g.value),3)]):G(`v-if`,!0)]),_:3},8,[`name`])],6)],10,xx))}}),Cx=Pv(bb,{FormItem:Sx}),wx=Lv(Sx),Tx=`focus-trap.focus-after-trapped`,Ex=`focus-trap.focus-after-released`,Dx=`focus-trap.focusout-prevented`,Ox={cancelable:!0,bubbles:!1},kx={cancelable:!0,bubbles:!1},Ax=`focusAfterTrapped`,jx=`focusAfterReleased`,Mx=Symbol(`elFocusTrap`),Nx=q(),Px=q(0),Fx=q(0),Ix=0,Lx=e=>{let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},Rx=(e,t)=>{for(let n of e)if(!zx(n,t))return n},zx=(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},Bx=e=>{let t=Lx(e);return[Rx(t,e),Rx(t.reverse(),e)]},Vx=e=>e instanceof HTMLInputElement&&`select`in e,Hx=(e,t)=>{if(e){let n=document.activeElement;sp(e,{preventScroll:!0}),Fx.value=window.performance.now(),e!==n&&Vx(e)&&t&&e.select()}};function Ux(e,t){let n=[...e],r=e.indexOf(t);return r!==-1&&n.splice(r,1),n}var Wx=()=>{let e=[];return{push:t=>{let n=e[0];n&&t!==n&&n.pause(),e=Ux(e,t),e.unshift(t)},remove:t=>{e=Ux(e,t),e[0]?.resume?.()}}},Gx=(e,t=!1)=>{let n=document.activeElement;for(let r of e)if(Hx(r,t),document.activeElement!==n)return},Kx=Wx(),qx=()=>Px.value>Fx.value,Jx=()=>{Nx.value=`pointer`,Px.value=window.performance.now()},Yx=()=>{Nx.value=`keyboard`,Px.value=window.performance.now()},Xx=()=>(d(()=>{Ix===0&&(document.addEventListener(`mousedown`,Jx),document.addEventListener(`touchstart`,Jx),document.addEventListener(`keydown`,Yx)),Ix++}),T(()=>{Ix--,Ix<=0&&(document.removeEventListener(`mousedown`,Jx),document.removeEventListener(`touchstart`,Jx),document.removeEventListener(`keydown`,Yx))}),{focusReason:Nx,lastUserFocusTimestamp:Px,lastAutomatedFocusTimestamp:Fx}),Zx=e=>new CustomEvent(Dx,{...kx,detail:e}),Qx=z({name:`ElFocusTrap`,inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:`first`}},emits:[Ax,jx,`focusin`,`focusout`,`focusout-prevented`,`release-requested`],setup(e,{emit:t}){let n=q(),r,i,{focusReason:a}=Xx();og(n=>{e.trapped&&!o.paused&&t(`release-requested`,n)});let o={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},s=n=>{if(!e.loop&&!e.trapped||o.paused)return;let{altKey:r,ctrlKey:i,metaKey:s,currentTarget:c,shiftKey:l}=n,{loop:u}=e,d=Kp(n)===X.tab&&!r&&!i&&!s,f=document.activeElement;if(d&&f){let e=c,[r,i]=Bx(e);if(!(r&&i)){if(f===e){let e=Zx({focusReason:a.value});t(`focusout-prevented`,e),e.defaultPrevented||n.preventDefault()}}else if(!l&&f===i){let e=Zx({focusReason:a.value});t(`focusout-prevented`,e),e.defaultPrevented||(n.preventDefault(),u&&Hx(r,!0))}else if(l&&[r,e].includes(f)){let e=Zx({focusReason:a.value});t(`focusout-prevented`,e),e.defaultPrevented||(n.preventDefault(),u&&Hx(i,!0))}}};Qe(Mx,{focusTrapRef:n,onKeydown:s}),M(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),M([n],([e],[t])=>{e&&(e.addEventListener(`keydown`,s),e.addEventListener(`focusin`,u),e.addEventListener(`focusout`,f)),t&&(t.removeEventListener(`keydown`,s),t.removeEventListener(`focusin`,u),t.removeEventListener(`focusout`,f))});let c=e=>{t(Ax,e)},l=e=>t(jx,e),u=a=>{let s=Y(n);if(!s)return;let c=a.target,l=a.relatedTarget,u=c&&s.contains(c);e.trapped||l&&s.contains(l)||(r=l),u&&t(`focusin`,a),!o.paused&&e.trapped&&(u?i=c:Hx(i,!0))},f=r=>{let s=Y(n);if(!(o.paused||!s))if(e.trapped){let n=r.relatedTarget;!cd(n)&&!s.contains(n)&&setTimeout(()=>{if(!o.paused&&e.trapped){let e=Zx({focusReason:a.value});t(`focusout-prevented`,e),e.defaultPrevented||Hx(i,!0)}},0)}else{let e=r.target;e&&s.contains(e)||t(`focusout`,r)}};async function p(){await U();let t=Y(n);if(t){Kx.push(o);let n=t.contains(document.activeElement)?r:document.activeElement;if(r=n,!t.contains(n)){let r=new Event(Tx,Ox);t.addEventListener(Tx,c),t.dispatchEvent(r),r.defaultPrevented||U(()=>{let r=e.focusStartEl;P(r)||(Hx(r),document.activeElement!==r&&(r=`first`)),r===`first`&&Gx(Lx(t),!0),(document.activeElement===n||r===`container`)&&Hx(t)})}}}function m(){let e=Y(n);if(e){e.removeEventListener(Tx,c);let t=new CustomEvent(Ex,{...Ox,detail:{focusReason:a.value}});e.addEventListener(Ex,l),e.dispatchEvent(t),!t.defaultPrevented&&(a.value==`keyboard`||!qx()||e.contains(document.activeElement))&&Hx(r??document.body),e.removeEventListener(Ex,l),Kx.remove(o),r=null,i=null}}return d(()=>{e.trapped&&p(),M(()=>e.trapped,e=>{e?p():m()})}),T(()=>{e.trapped&&m(),n.value&&=(n.value.removeEventListener(`keydown`,s),n.value.removeEventListener(`focusin`,u),n.value.removeEventListener(`focusout`,f),void 0),r=null,i=null}),{onKeydown:s}}}),$x=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};function eS(e,t,n,r,i,a){return I(e.$slots,`default`,{handleKeydown:e.onKeydown})}var tS=$x(Qx,[[`render`,eS]]),nS=(e,t=[])=>{let{placement:n,strategy:r,popperOptions:i}=e,a={placement:n,strategy:r,...i,modifiers:[...iS(e),...t]};return aS(a,i?.modifiers),a},rS=e=>{if(nf)return Of(e)};function iS(e){let{offset:t,gpuAcceleration:n,fallbackPlacements:r}=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:r}},{name:`computeStyles`,options:{gpuAcceleration:n}}]}function aS(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}var oS=0,sS=e=>{let{popperInstanceRef:t,contentRef:n,triggerRef:r,role:i}=l(Wy,void 0),a=q(),o=K(()=>e.arrowOffset),s=K(()=>({name:`eventListeners`,enabled:!!e.visible})),c=K(()=>{let e=Y(a),t=Y(o)??oS;return{name:`arrow`,enabled:!ud(e),options:{element:e,padding:t}}}),u=K(()=>({onFirstUpdate:()=>{g()},...nS(e,[Y(c),Y(s)])})),f=K(()=>rS(e.referenceEl)||Y(r)),{attributes:p,state:m,styles:h,update:g,forceUpdate:_,instanceRef:v}=Yh(f,n,u);M(v,e=>t.value=e,{flush:`sync`}),d(()=>{M(()=>Y(f)?.getBoundingClientRect?.(),()=>{g()})});let y;return M(()=>e.visible,e=>{y?.(),y=void 0,e&&(y=Uf(n,g).stop)}),T(()=>{t.value=void 0,y?.(),y=void 0}),{attributes:p,arrowRef:a,contentRef:n,instanceRef:v,state:m,styles:h,role:i,forceUpdate:_,update:g}},cS=(e,{attributes:t,styles:n,role:r})=>{let{nextZIndex:i}=xg(),a=$(`popper`),o=K(()=>Y(t).popper),s=q(Md(e.zIndex)?e.zIndex:i()),c=K(()=>[a.b(),a.is(`pure`,e.pure),a.is(e.effect),e.popperClass]),l=K(()=>[{zIndex:Y(s)},Y(n).popper,e.popperStyle||{}]);return{ariaModal:K(()=>r.value===`dialog`?`false`:void 0),arrowStyle:K(()=>Y(n).arrow||{}),contentAttrs:o,contentClass:c,contentStyle:l,contentZIndex:s,updateZIndex:()=>{s.value=Md(e.zIndex)?e.zIndex:i()}}},lS=(e,t)=>{let n=q(!1),r=q();return T(()=>{r.value=void 0}),{focusStartRef:r,trapped:n,onFocusAfterReleased:e=>{e.detail?.focusReason!==`pointer`&&(r.value=`first`,t(`blur`))},onFocusAfterTrapped:()=>{t(`focus`)},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(r.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||(t.detail.focusReason===`pointer`&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t(`close`)}}},uS=z({name:`ElPopperContent`,__name:`content`,props:tb,emits:rb,setup(e,{expose:t,emit:n}){let r=n,i=e,{focusStartRef:a,trapped:o,onFocusAfterReleased:s,onFocusAfterTrapped:c,onFocusInTrap:u,onFocusoutPrevented:f,onReleaseRequested:p}=lS(i,r),{attributes:m,arrowRef:h,contentRef:g,styles:_,instanceRef:v,role:y,update:b}=sS(i),{ariaModal:x,arrowStyle:S,contentAttrs:C,contentClass:w,contentStyle:E,updateZIndex:D}=cS(i,{styles:_,attributes:m,role:y}),O=l(sb,void 0);Qe(Gy,{arrowStyle:S,arrowRef:h}),O&&Qe(sb,{...O,addInputId:ge,removeInputId:ge});let A,ee=(e=!0)=>{b(),e&&D()},j=()=>{ee(!1),i.visible&&i.focusOnShow?o.value=!0:i.visible===!1&&(o.value=!1)};return d(()=>{M(()=>i.triggerTargetEl,(e,t)=>{A?.(),A=void 0;let n=Y(e||g.value),r=Y(t||g.value);Pd(n)&&(A=M([y,()=>i.ariaLabel,x,()=>i.id],e=>{[`role`,`aria-label`,`aria-modal`,`id`].forEach((t,r)=>{cd(e[r])?n.removeAttribute(t):n.setAttribute(t,e[r])})},{immediate:!0})),r!==n&&Pd(r)&&[`role`,`aria-label`,`aria-modal`,`id`].forEach(e=>{r.removeAttribute(e)})},{immediate:!0}),M(()=>i.visible,j,{immediate:!0})}),T(()=>{A?.(),A=void 0,g.value=void 0}),t({popperContentRef:g,popperInstanceRef:v,updatePopper:ee,contentStyle:E}),(t,n)=>(N(),W(`div`,k({ref_key:`contentRef`,ref:g},Y(C),{style:Y(E),class:Y(w),tabindex:`-1`,onMouseenter:n[0]||=e=>t.$emit(`mouseenter`,e),onMouseleave:n[1]||=e=>t.$emit(`mouseleave`,e)}),[J(Y(tS),{loop:e.loop,trapped:Y(o),"trap-on-focus-in":!0,"focus-trap-el":Y(g),"focus-start-el":Y(a),onFocusAfterTrapped:Y(c),onFocusAfterReleased:Y(s),onFocusin:Y(u),onFocusoutPrevented:Y(f),onReleaseRequested:Y(p)},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`loop`,`trapped`,`focus-trap-el`,`focus-start-el`,`onFocusAfterTrapped`,`onFocusAfterReleased`,`onFocusin`,`onFocusoutPrevented`,`onReleaseRequested`])],16))}}),dS=Pv(z({name:`ElPopper`,inheritAttrs:!1,__name:`popper`,props:Uy,setup(e,{expose:t}){let n=e,r={triggerRef:q(),popperInstanceRef:q(),contentRef:q(),referenceRef:q(),role:K(()=>n.role)};return t(r),Qe(Wy,r),(e,t)=>I(e.$slots,`default`)}}));({...dg,...nb});var fS=Q({...ug,...tb,appendTo:{type:Z([String,Object])},content:{type:String,default:``},rawContent:Boolean,persistent:Boolean,visible:{type:Z(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Mv([`ariaLabel`])}),pS=Q({...qy,disabled:Boolean,trigger:{type:Z([String,Array]),default:`hover`},triggerKeys:{type:Z(Array),default:()=>[X.enter,X.numpadEnter,X.space]},focusOnTarget:Boolean}),{useModelToggleProps:mS,useModelToggleEmits:hS,useModelToggle:gS}=Xp(`visible`),_S=Q({...Uy,...mS,...fS,...pS,...$y,showArrow:{type:Boolean,default:!0}}),vS=[...hS,`before-show`,`before-hide`,`show`,`hide`,`open`,`close`],yS=Symbol(`elTooltip`),bS=(e,t)=>A(e)?e.includes(t):e===t,xS=(e,t,n)=>r=>{bS(Y(e),t)&&n(r)},SS=z({name:`ElTooltipTrigger`,__name:`trigger`,props:pS,setup(e,{expose:t}){let n=e,r=$(`tooltip`),{controlled:i,id:a,open:o,onOpen:s,onClose:c,onToggle:u}=l(yS,void 0),d=q(null),f=()=>{if(Y(i)||n.disabled)return!0},p=we(n,`trigger`),m=Wp(f,xS(p,`hover`,e=>{s(e),n.focusOnTarget&&e.target&&U(()=>{sp(e.target,{preventScroll:!0})})})),h=Wp(f,xS(p,`hover`,c)),g=Wp(f,xS(p,`click`,e=>{e.button===0&&u(e)})),_=Wp(f,xS(p,`focus`,s)),v=Wp(f,xS(p,`focus`,c)),y=Wp(f,xS(p,`contextmenu`,e=>{e.preventDefault(),u(e)})),b=Wp(f,e=>{let t=Kp(e);n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:d}),(t,n)=>(N(),H(Y(Qy),{id:Y(a),"virtual-ref":e.virtualRef,open:Y(o),"virtual-triggering":e.virtualTriggering,class:F(Y(r).e(`trigger`)),onBlur:Y(v),onClick:Y(g),onContextmenu:Y(y),onFocus:Y(_),onMouseenter:Y(m),onMouseleave:Y(h),onKeydown:Y(b)},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`id`,`virtual-ref`,`open`,`virtual-triggering`,`class`,`onBlur`,`onClick`,`onContextmenu`,`onFocus`,`onMouseenter`,`onMouseleave`,`onKeydown`]))}}),CS=z({name:`ElTooltipContent`,inheritAttrs:!1,__name:`content`,props:fS,setup(e,{expose:t}){let n=e,{selector:r}=sg(),i=$(`tooltip`),a=q(),o=Qd(()=>a.value?.popperContentRef),s,{controlled:c,id:u,open:d,trigger:f,onClose:p,onOpen:m,onShow:h,onHide:g,onBeforeShow:_,onBeforeHide:v}=l(yS,void 0),y=K(()=>n.transition||`${i.namespace.value}-fade-in-linear`),b=K(()=>n.persistent);T(()=>{s?.()});let x=K(()=>Y(b)?!0:Y(d)),S=K(()=>n.disabled?!1:Y(d)),C=K(()=>n.appendTo||r.value),w=K(()=>n.style??{}),E=q(!0),D=()=>{g(),re()&&sp(document.body,{preventScroll:!0}),E.value=!0},O=()=>{if(Y(c))return!0},A=Wp(O,()=>{n.enterable&&bS(Y(f),`hover`)&&m()}),ee=Wp(O,()=>{bS(Y(f),`hover`)&&p()}),j=()=>{a.value?.updatePopper?.(),_?.()},P=()=>{v?.()},te=()=>{h()},ne=()=>{n.virtualTriggering||p()},re=e=>{let t=a.value?.popperContentRef,n=e?.relatedTarget||document.activeElement;return t?.contains(n)};return M(()=>Y(d),e=>{e?(E.value=!1,s=jf(o,()=>{Y(c)||hb(Y(f)).every(e=>e!==`hover`&&e!==`focus`)&&p()},{detectIframe:!0})):s?.()},{flush:`post`}),t({contentRef:a,isFocusInsideContent:re}),(t,n)=>(N(),H(Fe,{disabled:!e.teleported,to:C.value},[x.value||!E.value?(N(),H(pt,{key:0,name:y.value,appear:!b.value,onAfterLeave:D,onBeforeEnter:j,onAfterEnter:te,onBeforeLeave:P,persisted:``},{default:V(()=>[Ge(J(Y(uS),k({id:Y(u),ref_key:`contentRef`,ref:a},t.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":E.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,w.value],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:S.value,"z-index":e.zIndex,loop:e.loop,onMouseenter:Y(A),onMouseleave:Y(ee),onBlur:ne,onClose:Y(p)}),{default:V(()=>[I(t.$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`]),[[jt,S.value]])]),_:3},8,[`name`,`appear`])):G(`v-if`,!0)],8,[`disabled`,`to`]))}}),wS=[`innerHTML`],TS={key:1},ES=Pv(z({name:`ElTooltip`,__name:`tooltip`,props:_S,emits:vS,setup(e,{expose:t,emit:n}){let r=e,i=n;lg();let a=$(`tooltip`),o=rg(),s=q(),c=q(),l=()=>{let e=Y(s);e&&e.popperInstanceRef?.update()},u=q(!1),d=q(),{show:f,hide:p,hasUpdateHandler:m}=gS({indicator:u,toggleReason:d}),{onOpen:h,onClose:g}=fg({showAfter:we(r,`showAfter`),hideAfter:we(r,`hideAfter`),autoClose:we(r,`autoClose`),open:f,close:p}),_=K(()=>jd(r.visible)&&!m.value),v=K(()=>[a.b(),r.popperClass]);return Qe(yS,{controlled:_,id:o,open:je(u),trigger:we(r,`trigger`),onOpen:h,onClose:g,onToggle:e=>{Y(u)?g(e):h(e)},onShow:()=>{i(`show`,d.value)},onHide:()=>{i(`hide`,d.value)},onBeforeShow:()=>{i(`before-show`,d.value)},onBeforeHide:()=>{i(`before-hide`,d.value)},updatePopper:l}),M(()=>r.disabled,e=>{e&&u.value&&(u.value=!1),!e&&jd(r.visible)&&(u.value=r.visible)}),ee(()=>u.value&&p()),T(()=>{d.value=void 0}),t({popperRef:s,contentRef:c,isFocusInsideContent:e=>c.value?.isFocusInsideContent(e),updatePopper:l,onOpen:h,onClose:g,hide:p}),(t,n)=>(N(),H(Y(dS),{ref_key:`popperRef`,ref:s,role:e.role},{default:V(()=>[J(SS,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:V(()=>[t.$slots.default?I(t.$slots,`default`,{key:0}):G(`v-if`,!0)]),_:3},8,[`disabled`,`trigger`,`trigger-keys`,`virtual-ref`,`virtual-triggering`,`focus-on-target`]),J(CS,{ref_key:`contentRef`,ref:c,"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":v.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:V(()=>[I(t.$slots,`content`,{},()=>[e.rawContent?(N(),W(`span`,{key:0,innerHTML:e.content},null,8,wS)):(N(),W(`span`,TS,S(e.content),1))]),e.showArrow?(N(),H(Y(Ky),{key:0})):G(`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`.split(`.`))]),_:3},8,[`role`]))}})),DS=e=>e,OS=Q({id:{type:String,default:void 0},size:xv,disabled:{type:Boolean,default:void 0},modelValue:{type:Z([String,Number,Object]),default:``},modelModifiers:{type:Z(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:Z(String),default:`text`},resize:{type:String,values:[`none`,`both`,`horizontal`,`vertical`]},autosize:{type:Z([Boolean,Object]),default:!1},autocomplete:{type:Z(String),default:`off`},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Ny,default:Qv},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:[`inside`,`outside`],default:`inside`},suffixIcon:{type:Ny},prefixIcon:{type:Ny},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:Z([Object,Array,String,Boolean]),default:()=>DS({})},countGraphemes:{type:Z(Function)},autofocus:Boolean,rows:{type:Number,default:2},...Mv([`ariaLabel`]),inputmode:{type:Z(String),default:void 0},name:String}),kS={[br]:e=>P(e),input:e=>P(e),change:(e,t)=>P(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};Ie(Qv);var AS=void 0,jS={height:`0`,visibility:`hidden`,overflow:lp()?``:`hidden`,position:`absolute`,"z-index":`-1000`,top:`0`,right:`0`},MS=[`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`],NS=e=>{let t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function PS(e){let t=window.getComputedStyle(e),n=t.getPropertyValue(`box-sizing`),r=Number.parseFloat(t.getPropertyValue(`padding-bottom`))+Number.parseFloat(t.getPropertyValue(`padding-top`)),i=Number.parseFloat(t.getPropertyValue(`border-bottom-width`))+Number.parseFloat(t.getPropertyValue(`border-top-width`));return{contextStyle:MS.map(e=>[e,t.getPropertyValue(e)]),paddingSize:r,borderSize:i,boxSizing:n}}function FS(e,t=1,n){if(!AS){AS=document.createElement(`textarea`);let t=document.body;!lp()&&e.parentNode&&(t=e.parentNode),t.appendChild(AS)}let{paddingSize:r,borderSize:i,boxSizing:a,contextStyle:o}=PS(e);o.forEach(([e,t])=>AS?.style.setProperty(e,t)),Object.entries(jS).forEach(([e,t])=>AS?.style.setProperty(e,t,`important`)),AS.value=e.value||e.placeholder||``;let s=AS.scrollHeight,c={};a===`border-box`?s+=i:a===`content-box`&&(s-=r),AS.value=``;let l=AS.scrollHeight-r;if(Md(t)){let e=l*t;a===`border-box`&&(e=e+r+i),s=Math.max(e,s),c.minHeight=`${e}px`}if(Md(n)){let e=l*n;a===`border-box`&&(e=e+r+i),s=Math.min(e,s)}return c.height=`${s}px`,AS.parentNode?.removeChild(AS),AS=void 0,c}var IS=[`id`,`name`,`minlength`,`maxlength`,`type`,`disabled`,`readonly`,`autocomplete`,`tabindex`,`aria-label`,`placeholder`,`form`,`autofocus`,`role`,`inputmode`],LS=[`id`,`name`,`minlength`,`maxlength`,`tabindex`,`disabled`,`readonly`,`autocomplete`,`aria-label`,`placeholder`,`form`,`autofocus`,`rows`,`role`,`inputmode`],RS=`ElInput`,zS=Pv(z({name:RS,inheritAttrs:!1,__name:`input`,props:OS,emits:kS,setup(e,{expose:t,emit:n}){let r=e,i=n,a=y(),o=le(),s=K(()=>[r.type===`textarea`?b.b():v.b(),v.m(g.value),v.is(`disabled`,_.value),v.is(`exceed`,ye.value),{[v.b(`group`)]:o.prepend||o.append,[v.m(`prefix`)]:o.prefix||r.prefixIcon,[v.m(`suffix`)]:o.suffix||r.suffixIcon||r.clearable||r.showPassword,[v.bm(`suffix`,`password-clear`)]:he.value&&z.value,[v.b(`hidden`)]:r.type===`hidden`},a.class]),c=K(()=>[v.e(`wrapper`),v.is(`focus`,re.value)]),l=Zd(),u=K(()=>r.maxlength?.toString()),{form:f,formItem:p}=ub(),{inputId:h}=db(r,{formItemContext:p}),g=cb(),_=lb(),v=$(`input`),b=$(`textarea`),x=Le(),C=Le(),w=q(!1),D=q(!1),O=q(),A=q(),ee=Le(r.inputStyle),j=q(``),P=q(),te=K(()=>x.value||C.value),{wrapperRef:ne,isFocused:re,handleFocus:ie,handleBlur:ae}=wv(te,{disabled:_,afterBlur(){r.validateEvent&&p?.validate?.(`blur`).catch(ge)}}),oe=K(()=>f?.statusIcon??!1),se=K(()=>p?.validateState||``),ce=K(()=>se.value&&Ly[se.value]),ue=K(()=>D.value?ky:sy),de=K(()=>[a.style]),fe=K(()=>[r.inputStyle,ee.value,{resize:r.resize},P.value?{height:P.value}:void 0]),pe=K(()=>cd(r.modelValue)?``:String(r.modelValue)),me=K(()=>r.clearable&&!_.value&&!r.readonly),he=K(()=>me.value&&!!pe.value&&(re.value||w.value)),z=K(()=>r.showPassword&&!_.value&&!!pe.value),_e=K(()=>r.showWordLimit&&!!u.value&&(r.type===`text`||r.type===`textarea`)&&!_.value&&!r.readonly&&!r.showPassword),ve=K(()=>r.countGraphemes&&r.showWordLimit?r.countGraphemes(pe.value):pe.value.length),ye=K(()=>!!_e.value&&ve.value>Number(u.value)),be=K(()=>!!o.suffix||!!r.suffixIcon||r.clearable||r.showPassword||_e.value||!!se.value&&oe.value),xe=K(()=>!!Object.keys(r.modelModifiers).length),[Se,Ce]=fv(x),Te;Uf(C,e=>{if(De(),!_e.value&&!me.value||r.resize!==`both`&&r.resize!==`horizontal`)return;let{width:t}=e[0].target.getBoundingClientRect();Te&&Pp(Te),Te=Np(()=>{Te=void 0,O.value={right:`calc(100% - ${t-10}px)`},A.value={right:`calc(100% - ${t-11}px)`}})});let Ee=()=>{let{type:e,autosize:t}=r;if(!(!nf||e!==`textarea`||!C.value))if(t){let e=E(t)?t.minRows:void 0,n=E(t)?t.maxRows:void 0,r=FS(C.value,e,n);ee.value={overflowY:`hidden`,...r},U(()=>{C.value.offsetHeight,ee.value=r})}else ee.value={minHeight:FS(C.value).minHeight}},De=(e=>{let t=!1;return()=>{if(t||!r.autosize){r.resize!==`none`&&setTimeout(()=>{P.value=C.value?.style.height});return}C.value?.offsetParent!==null&&(setTimeout(e),t=!0)}})(Ee),Oe=()=>{let e=te.value,t=r.formatter?r.formatter(pe.value):pe.value;!e||e.value===t||r.type===`file`||(e.value=t)},ke=e=>{let{trim:t,number:n}=r.modelModifiers;return t&&(e=e.trim()),n&&(e=`${NS(e)}`),r.formatter&&r.parser&&(e=r.parser(e)),e},Ae=async e=>{if(Me.value)return;let{lazy:t}=r.modelModifiers,{value:n}=e.target,a=!1;if(t){i(Sr,n);return}if(n=ke(n),r.countGraphemes&&u.value!=null){let e=Number(u.value),t=r.countGraphemes(n),i=r.countGraphemes(j.value);if(t>e&&t>i)if(i>e)n=j.value,a=!0;else{let t=j.value,o=n,s=0;for(;ss&&l>s&&t[c-1]===o[l-1];)c--,l--;let u=o.slice(0,s),d=t.slice(s,c),f=o.slice(s,l),p=o.slice(l),m=i-r.countGraphemes(d),h=Math.max(0,e-m),g=``;if(h>0)if(typeof Intl<`u`&&`Segmenter`in Intl){let e=new Intl.Segmenter(void 0,{granularity:`grapheme`});for(let{segment:t}of e.segment(f)){let e=g+t;if(r.countGraphemes(e)>h)break;g=e}}else for(let e of Array.from(f)){let t=g+e;if(r.countGraphemes(t)>h)break;g=t}n=u+g+p,a=!0}}if(String(n)===pe.value){if(r.formatter||a){let t=e.target,n=t.value,r=t.selectionStart,i=t.selectionEnd;if(Oe(),a&&te.value&&r!=null&&i!=null){let e=te.value.value,t=n.slice(Math.max(0,i)),a=Math.min(r,e.length);t&&e.endsWith(t)&&(a=e.length-t.length),te.value.setSelectionRange(a,a)}}return}j.value=n,Se(),i(br,n),i(Sr,n),await U(),(r.formatter&&r.parser||!xe.value)&&Oe(),Ce()},je=async e=>{let{value:t}=e.target;t=ke(t),r.modelModifiers.lazy&&i(br,t),i(xr,t,e),await U(),Oe()},{isComposing:Me,handleCompositionStart:Ne,handleCompositionUpdate:Pe,handleCompositionEnd:Fe}=Tv({emit:i,afterComposition:Ae}),Ie=()=>{D.value=!D.value},Re=()=>te.value?.focus(),ze=()=>te.value?.blur(),Be=e=>{w.value=!1,i(`mouseleave`,e)},Ve=e=>{w.value=!0,i(`mouseenter`,e)},He=e=>{i(`keydown`,e)},Ue=()=>{te.value?.select()},We=e=>{i(br,``),i(xr,``),i(`clear`,e),i(Sr,``)};return M(()=>r.modelValue,()=>{U(()=>{Ee(),r.autosize&&(P.value=void 0)}),r.validateEvent&&p?.validate?.(`change`).catch(ge)}),M(()=>pe.value,e=>{j.value=e},{immediate:!0}),M(pe,e=>{if(!te.value)return;let{trim:t,number:n}=r.modelModifiers,i=te.value.value,a=(n||r.type===`number`)&&!/^0\d/.test(i)?`${NS(i)}`:i;a!==e&&(document.activeElement===te.value&&te.value.type!==`range`&&t&&a.trim()===e||Oe())}),M(()=>r.type,async()=>{await U(),Oe(),Ee()}),d(()=>{!r.formatter&&r.parser&&Jd(RS,`If you set the parser, you also need to set the formatter.`),Oe(),U(Ee)}),T(()=>{Te&&Pp(Te)}),t({input:x,textarea:C,ref:te,textareaStyle:fe,autosize:we(r,`autosize`),isComposing:Me,passwordVisible:D,focus:Re,blur:ze,select:Ue,clear:We,resizeTextarea:Ee}),(t,n)=>(N(),W(`div`,{class:F([s.value,{[Y(v).bm(`group`,`append`)]:t.$slots.append,[Y(v).bm(`group`,`prepend`)]:t.$slots.prepend}]),style:m(de.value),onMouseenter:Ve,onMouseleave:Be},[G(` input `),e.type===`textarea`?(N(),W(R,{key:1},[G(` textarea `),B(`textarea`,k({id:Y(h),ref_key:`textarea`,ref:C,class:[Y(b).e(`inner`),Y(v).is(`focus`,Y(re)),Y(b).is(`clearable`,e.clearable)]},Y(l),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:u.value,tabindex:e.tabindex,disabled:Y(_),readonly:e.readonly,autocomplete:e.autocomplete,style:fe.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:n[3]||=(...e)=>Y(Ne)&&Y(Ne)(...e),onCompositionupdate:n[4]||=(...e)=>Y(Pe)&&Y(Pe)(...e),onCompositionend:n[5]||=(...e)=>Y(Fe)&&Y(Fe)(...e),onInput:Ae,onFocus:n[6]||=(...e)=>Y(ie)&&Y(ie)(...e),onBlur:n[7]||=(...e)=>Y(ae)&&Y(ae)(...e),onChange:je,onKeydown:He}),null,16,LS),he.value?(N(),H(Y(By),{key:0,class:F([Y(b).e(`icon`),Y(b).e(`clear`)]),style:m(A.value),onMousedown:kn(Y(ge),[`prevent`]),onClick:We},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`style`,`onMousedown`])):G(`v-if`,!0),_e.value?(N(),W(`span`,{key:1,style:m(O.value),class:F([Y(v).e(`count`),Y(v).is(`outside`,e.wordLimitPosition===`outside`)])},S(ve.value)+` / `+S(u.value),7)):G(`v-if`,!0)],64)):(N(),W(R,{key:0},[G(` prepend slot `),t.$slots.prepend?(N(),W(`div`,{key:0,class:F(Y(v).be(`group`,`prepend`))},[I(t.$slots,`prepend`)],2)):G(`v-if`,!0),B(`div`,{ref_key:`wrapperRef`,ref:ne,class:F(c.value)},[G(` prefix slot `),t.$slots.prefix||e.prefixIcon?(N(),W(`span`,{key:0,class:F(Y(v).e(`prefix`))},[B(`span`,{class:F(Y(v).e(`prefix-inner`))},[I(t.$slots,`prefix`),e.prefixIcon?(N(),H(Y(By),{key:0,class:F(Y(v).e(`icon`))},{default:V(()=>[(N(),H(L(e.prefixIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)],2)):G(`v-if`,!0),B(`input`,k({id:Y(h),ref_key:`input`,ref:x,class:Y(v).e(`inner`)},Y(l),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:u.value,type:e.showPassword?D.value?`text`:`password`:e.type,disabled:Y(_),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:n[0]||=(...e)=>Y(Ne)&&Y(Ne)(...e),onCompositionupdate:n[1]||=(...e)=>Y(Pe)&&Y(Pe)(...e),onCompositionend:n[2]||=(...e)=>Y(Fe)&&Y(Fe)(...e),onInput:Ae,onChange:je,onKeydown:He}),null,16,IS),G(` suffix slot `),be.value?(N(),W(`span`,{key:1,class:F(Y(v).e(`suffix`))},[B(`span`,{class:F(Y(v).e(`suffix-inner`))},[me.value?(N(),H(Y(By),{key:0,class:F([Y(v).e(`icon`),Y(v).e(`clear`)]),style:m({visibility:he.value?`visible`:`hidden`}),onMousedown:kn(Y(ge),[`prevent`]),onClick:We},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`style`,`onMousedown`])):G(`v-if`,!0),!he.value||!z.value||!_e.value?(N(),W(R,{key:1},[I(t.$slots,`suffix`),e.suffixIcon?(N(),H(Y(By),{key:0,class:F(Y(v).e(`icon`))},{default:V(()=>[(N(),H(L(e.suffixIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)],64)):G(`v-if`,!0),z.value?(N(),H(Y(By),{key:2,class:F([Y(v).e(`icon`),Y(v).e(`password`)]),onClick:Ie,onMousedown:kn(Y(ge),[`prevent`]),onMouseup:kn(Y(ge),[`prevent`])},{default:V(()=>[I(t.$slots,`password-icon`,{visible:D.value},()=>[(N(),H(L(ue.value)))])]),_:3},8,[`class`,`onMousedown`,`onMouseup`])):G(`v-if`,!0),_e.value?(N(),W(`span`,{key:3,class:F([Y(v).e(`count`),Y(v).is(`outside`,e.wordLimitPosition===`outside`)])},[B(`span`,{class:F(Y(v).e(`count-inner`))},S(ve.value)+` / `+S(u.value),3)],2)):G(`v-if`,!0),se.value&&ce.value&&oe.value?(N(),H(Y(By),{key:4,class:F([Y(v).e(`icon`),Y(v).e(`validateIcon`),Y(v).is(`loading`,se.value===`validating`)])},{default:V(()=>[(N(),H(L(ce.value)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)],2)):G(`v-if`,!0)],2),G(` append slot `),t.$slots.append?(N(),W(`div`,{key:1,class:F(Y(v).be(`group`,`append`))},[I(t.$slots,`append`)],2)):G(`v-if`,!0)],64))],38))}})),BS=Q({...OS,valueKey:{type:String,default:`value`},modelValue:{type:[String,Number],default:``},debounce:{type:Number,default:300},placement:{type:Z(String),values:[`top`,`top-start`,`top-end`,`bottom`,`bottom-start`,`bottom-end`],default:`bottom-start`},fetchSuggestions:{type:Z([Function,Array]),default:ge},popperClass:fS.popperClass,popperStyle:fS.popperStyle,popperOptions:fS.popperOptions,showArrow:{type:Boolean,default:!0},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:fS.teleported,appendTo:fS.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),VS={[br]:e=>P(e)||Md(e),[Sr]:e=>P(e)||Md(e),[xr]:e=>P(e)||Md(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>E(e)},HS=Q({distance:{type:Number,default:0},height:{type:[String,Number],default:``},maxHeight:{type:[String,Number],default:``},native:Boolean,wrapStyle:{type:Z([String,Object,Array,Boolean]),default:``},wrapClass:{type:[String,Array],default:``},viewClass:{type:[String,Array],default:``},viewStyle:{type:Z([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,...Mv([`ariaLabel`,`ariaOrientation`])}),US={"end-reached":e=>[`left`,`right`,`top`,`bottom`].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(Md)},WS={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`}},GS=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),KS=Q({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),qS=Symbol(`scrollbarContextKey`);function JS(e,t,n=.03){return e-t>n}var YS=Q({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),XS=`Thumb`,ZS=z({__name:`thumb`,props:KS,setup(e){let t=e,n=l(qS),r=$(`scrollbar`);n||qd(XS,`can not inject scrollbar context`);let i=q(),a=q(),o=q({}),s=q(!1),c=!1,u=!1,d=0,f=0,p=nf?document.onselectstart:null,h=K(()=>WS[t.vertical?`vertical`:`horizontal`]),g=K(()=>GS({size:t.size,move:t.move,bar:h.value})),_=K(()=>i.value[h.value.offset]**2/n.wrapElement[h.value.scrollSize]/t.ratio/a.value[h.value.offset]),v=e=>{if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;window.getSelection()?.removeAllRanges(),b(e);let t=e.currentTarget;t&&(o.value[h.value.axis]=t[h.value.offset]-(e[h.value.client]-t.getBoundingClientRect()[h.value.direction]))},y=e=>{if(!a.value||!i.value||!n.wrapElement)return;let t=(Math.abs(e.target.getBoundingClientRect()[h.value.direction]-e[h.value.client])-a.value[h.value.offset]/2)*100*_.value/i.value[h.value.offset];n.wrapElement[h.value.scroll]=t*n.wrapElement[h.value.scrollSize]/100},b=e=>{e.stopImmediatePropagation(),c=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener(`mousemove`,x),document.addEventListener(`mouseup`,S),p=document.onselectstart,document.onselectstart=()=>!1},x=e=>{if(!i.value||!a.value||c===!1)return;let t=o.value[h.value.axis];if(!t)return;let r=((i.value.getBoundingClientRect()[h.value.direction]-e[h.value.client])*-1-(a.value[h.value.offset]-t))*100*_.value/i.value[h.value.offset];h.value.scroll===`scrollLeft`?n.wrapElement[h.value.scroll]=r*f/100:n.wrapElement[h.value.scroll]=r*d/100},S=()=>{c=!1,o.value[h.value.axis]=0,document.removeEventListener(`mousemove`,x),document.removeEventListener(`mouseup`,S),E(),u&&(s.value=!1)},C=()=>{u=!1,s.value=!!t.size},w=()=>{u=!0,s.value=c};T(()=>{E(),document.removeEventListener(`mouseup`,S)});let E=()=>{document.onselectstart!==p&&(document.onselectstart=p)};return kf(we(n,`scrollbarElement`),`mousemove`,C),kf(we(n,`scrollbarElement`),`mouseleave`,w),(t,n)=>(N(),H(pt,{name:Y(r).b(`fade`),persisted:``},{default:V(()=>[Ge(B(`div`,{ref_key:`instance`,ref:i,class:F([Y(r).e(`bar`),Y(r).is(h.value.key)]),onMousedown:y,onClick:n[0]||=kn(()=>{},[`stop`])},[B(`div`,{ref_key:`thumb`,ref:a,class:F(Y(r).e(`thumb`)),style:m(g.value),onMousedown:v},null,38)],34),[[jt,e.always||s.value]])]),_:1},8,[`name`]))}}),QS=z({__name:`bar`,props:YS,setup(e,{expose:t}){let n=e,r=l(qS),i=q(0),a=q(0),o=q(``),s=q(``),c=q(1),u=q(1);return t({handleScroll:e=>{if(e){let t=e.offsetHeight-4,n=e.offsetWidth-4;a.value=e.scrollTop*100/t*c.value,i.value=e.scrollLeft*100/n*u.value}},update:()=>{let e=r?.wrapElement;if(!e)return;let t=e.offsetHeight-4,i=e.offsetWidth-4,a=t**2/e.scrollHeight,l=i**2/e.scrollWidth,d=Math.max(a,n.minSize),f=Math.max(l,n.minSize);c.value=a/(t-a)/(d/(t-d)),u.value=l/(i-l)/(f/(i-f)),s.value=d+4(N(),W(R,null,[J(ZS,{move:i.value,ratio:u.value,size:o.value,always:e.always},null,8,[`move`,`ratio`,`size`,`always`]),J(ZS,{move:a.value,ratio:c.value,size:s.value,vertical:``,always:e.always},null,8,[`move`,`ratio`,`size`,`always`])],64))}}),$S=[`tabindex`],eC=`ElScrollbar`,tC=Pv(z({name:eC,__name:`scrollbar`,props:HS,emits:US,setup(e,{expose:n,emit:r}){let i=e,a=r,o=$(`scrollbar`),s,c,l,u=0,f=0,p=``,h={bottom:!1,top:!1,right:!1,left:!1},g=q(),_=q(),v=q(),y=q(),b=K(()=>{let e={},t=bp(i.height),n=bp(i.maxHeight);return t&&(e.height=t),n&&(e.maxHeight=n),[i.wrapStyle,e]}),x=K(()=>[i.wrapClass,o.e(`wrap`),{[o.em(`wrap`,`hidden-default`)]:!i.native}]),S=K(()=>[o.e(`view`),i.viewClass]),w=e=>h[e]??!1,T={top:`bottom`,bottom:`top`,left:`right`,right:`left`},D=e=>{let t=T[p];if(!t)return;let n=e[p],r=e[t];n&&!h[p]&&(h[p]=!0),!r&&h[t]&&(h[t]=!1)},O=()=>{if(_.value){y.value?.handleScroll(_.value);let e=u,t=f;u=_.value.scrollTop,f=_.value.scrollLeft;let n={bottom:!JS(_.value.scrollHeight-i.distance,_.value.clientHeight+u),top:u<=i.distance&&e!==0,right:!JS(_.value.scrollWidth-i.distance,_.value.clientWidth+f)&&t!==f,left:f<=i.distance&&t!==0};if(a(`scroll`,{scrollTop:u,scrollLeft:f}),e!==u&&(p=u>e?`bottom`:`top`),t!==f&&(p=f>t?`right`:`left`),i.distance>0){if(w(p))return;D(n)}n[p]&&a(`end-reached`,p)}};function k(e,t){E(e)?_.value.scrollTo(e):Md(e)&&Md(t)&&_.value.scrollTo(e,t)}let A=e=>{if(!Md(e)){Jd(eC,`value must be a number`);return}_.value.scrollTop=e},ee=e=>{if(!Md(e)){Jd(eC,`value must be a number`);return}_.value.scrollLeft=e},j=()=>{y.value?.update(),h[p]=!1,_.value&&y.value?.handleScroll(_.value)};return M(()=>i.noresize,e=>{e?(s?.(),c?.(),l?.()):({stop:s}=Uf(v,j),{stop:c}=Uf(_,j),l=kf(`resize`,j))},{immediate:!0}),M(()=>[i.maxHeight,i.height],()=>{i.native||U(()=>{j()})}),Qe(qS,ve({scrollbarElement:g,wrapElement:_})),t(()=>{_.value&&(_.value.scrollTop=u,_.value.scrollLeft=f)}),d(()=>{i.native||U(()=>{j()})}),C(()=>j()),n({wrapRef:_,update:j,scrollTo:k,setScrollTop:A,setScrollLeft:ee,handleScroll:O}),(t,n)=>(N(),W(`div`,{ref_key:`scrollbarRef`,ref:g,class:F(Y(o).b())},[B(`div`,{ref_key:`wrapRef`,ref:_,class:F(x.value),style:m(b.value),tabindex:e.tabindex,onScroll:O},[(N(),H(L(e.tag),{id:e.id,ref_key:`resizeRef`,ref:v,class:F(S.value),style:m(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`id`,`class`,`style`,`role`,`aria-label`,`aria-orientation`]))],46,$S),e.native?G(`v-if`,!0):(N(),H(QS,{key:0,ref_key:`barRef`,ref:y,always:e.always,"min-size":e.minSize},null,8,[`always`,`min-size`]))],2))}})),nC=[`aria-expanded`,`aria-owns`],rC={key:0},iC=[`id`,`aria-selected`,`onClick`],aC=`ElAutocomplete`,oC=Pv(z({name:aC,inheritAttrs:!1,__name:`autocomplete`,props:BS,emits:VS,setup(e,{expose:t,emit:n}){let i=e,a=n,o=K(()=>{let e=zS.props??[];return Sd(i,A(e)?e:Object.keys(e))}),s=y(),c=lb(),l=$(`autocomplete`),u=q(),f=q(),p=q(),h=q(),g=!1,_=!1,v=q([]),b=q(-1),x=q(``),C=q(!1),w=q(!1),E=q(!1),D=rg(),O=K(()=>s.style),ee=K(()=>(v.value.length>0||E.value)&&C.value),j=K(()=>!i.hideLoading&&E.value),M=K(()=>u.value?Array.from(u.value.$el.querySelectorAll(`input`)):[]),P=()=>{ee.value&&(x.value=`${u.value.$el.offsetWidth}px`)},te=()=>{b.value=-1},ne=async e=>{if(w.value)return;let t=e=>{E.value=!1,!w.value&&(A(e)?(v.value=e,b.value=i.highlightFirstItem?0:-1):qd(aC,`autocomplete suggestions must be an array`))};if(E.value=!0,A(i.fetchSuggestions))t(i.fetchSuggestions);else{let n=await i.fetchSuggestions(e,t);A(n)&&t(n)}},re=bf(ne,K(()=>i.debounce)),ie=e=>{let t=!!e;if(a(Sr,e),a(br,e),w.value=!1,C.value||=t,!i.triggerOnFocus&&!e){w.value=!0,v.value=[];return}re(e)},ae=e=>{c.value||(e.target?.tagName!==`INPUT`||M.value.includes(document.activeElement))&&(C.value=!0)},oe=e=>{a(xr,e)},L=e=>{if(_)_=!1;else{C.value=!0,a(`focus`,e);let t=i.modelValue??``;i.triggerOnFocus&&!g&&re(String(t))}},se=e=>{setTimeout(()=>{if(p.value?.isFocusInsideContent()){_=!0;return}C.value&&de(),a(`blur`,e)})},ce=()=>{C.value=!1,a(br,``),a(`clear`)},le=async()=>{u.value?.isComposing||(ee.value&&b.value>=0&&b.value{ee.value&&(e.preventDefault(),e.stopPropagation(),de())},de=()=>{C.value=!1},fe=()=>{u.value?.focus()},pe=()=>{u.value?.blur()},me=async e=>{a(Sr,e[i.valueKey]),a(br,e[i.valueKey]),a(`select`,e),v.value=[],b.value=-1},he=e=>{if(!ee.value||E.value)return;if(e<0){if(!i.loopNavigation){b.value=-1;return}e=v.value.length-1}e>=v.value.length&&(e=i.loopNavigation?0:v.value.length-1);let[t,n]=z(),r=n[e],a=t.scrollTop,{offsetTop:o,scrollHeight:s}=r;o+s>a+t.clientHeight&&(t.scrollTop=o+s-t.clientHeight),o{let e=f.value.querySelector(`.${l.be(`suggestion`,`wrap`)}`);return[e,e.querySelectorAll(`.${l.be(`suggestion`,`list`)} li`)]},ge=jf(h,e=>{if(p.value?.isFocusInsideContent())return;let t=_;_=!1,ee.value&&(t?se(new FocusEvent(`blur`,e)):de())}),_e=e=>{switch(Kp(e)){case X.up:e.preventDefault(),he(b.value-1);break;case X.down:e.preventDefault(),he(b.value+1);break;case X.enter:case X.numpadEnter:e.preventDefault(),le();break;case X.tab:de();break;case X.esc:ue(e);break;case X.home:e.preventDefault(),he(0);break;case X.end:e.preventDefault(),he(v.value.length-1);break;case X.pageUp:e.preventDefault(),he(Math.max(0,b.value-10));break;case X.pageDown:e.preventDefault(),he(Math.min(v.value.length-1,b.value+10));break}};return T(()=>{ge?.()}),d(()=>{let e=u.value?.ref;e&&([{key:`role`,value:`textbox`},{key:`aria-autocomplete`,value:`list`},{key:`aria-controls`,value:D.value},{key:`aria-activedescendant`,value:`${D.value}-item-${b.value}`}].forEach(({key:t,value:n})=>e.setAttribute(t,n)),g=e.hasAttribute(`readonly`))}),t({highlightedIndex:b,activated:C,loading:E,inputRef:u,popperRef:p,suggestions:v,handleSelect:me,handleKeyEnter:le,focus:fe,blur:pe,close:de,highlight:he,getData:ne}),(t,n)=>(N(),H(Y(ES),{ref_key:`popperRef`,ref:p,visible:ee.value,placement:e.placement,"fallback-placements":[`bottom-start`,`top-start`],"popper-class":[Y(l).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:`${Y(l).namespace.value}-zoom-in-top`,persistent:``,role:`listbox`,onBeforeShow:P,onHide:te},{content:V(()=>[B(`div`,{ref_key:`regionRef`,ref:f,class:F([Y(l).b(`suggestion`),Y(l).is(`loading`,j.value)]),style:m({[e.fitInputWidth?`width`:`minWidth`]:x.value,outline:`none`}),role:`region`},[t.$slots.header?(N(),W(`div`,{key:0,class:F(Y(l).be(`suggestion`,`header`)),onClick:n[0]||=kn(()=>{},[`stop`])},[I(t.$slots,`header`)],2)):G(`v-if`,!0),J(Y(tC),{id:Y(D),tag:`ul`,"wrap-class":Y(l).be(`suggestion`,`wrap`),"view-class":Y(l).be(`suggestion`,`list`),role:`listbox`},{default:V(()=>[j.value?(N(),W(`li`,rC,[I(t.$slots,`loading`,{},()=>[J(Y(By),{class:F(Y(l).is(`loading`))},{default:V(()=>[J(Y(dy))]),_:1},8,[`class`])])])):(N(!0),W(R,{key:1},r(v.value,(n,r)=>(N(),W(`li`,{id:`${Y(D)}-item-${r}`,key:r,class:F({highlighted:b.value===r}),role:`option`,"aria-selected":b.value===r,onClick:e=>me(n)},[I(t.$slots,`default`,{item:n},()=>[Ke(S(n[e.valueKey]),1)])],10,iC))),128))]),_:3},8,[`id`,`wrap-class`,`view-class`]),t.$slots.footer?(N(),W(`div`,{key:1,class:F(Y(l).be(`suggestion`,`footer`)),onClick:n[1]||=kn(()=>{},[`stop`])},[I(t.$slots,`footer`)],2)):G(`v-if`,!0)],6)]),default:V(()=>[B(`div`,{ref_key:`listboxRef`,ref:h,class:F([Y(l).b(),t.$attrs.class]),style:m(O.value),role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":ee.value,"aria-owns":Y(D)},[J(Y(zS),k({ref_key:`inputRef`,ref:u},k(o.value,t.$attrs),{"model-value":e.modelValue,disabled:Y(c),onInput:ie,onChange:oe,onFocus:L,onBlur:se,onClear:ce,onKeydown:_e,onMousedown:ae}),xe({_:2},[t.$slots.prepend?{name:`prepend`,fn:V(()=>[I(t.$slots,`prepend`)]),key:`0`}:void 0,t.$slots.append?{name:`append`,fn:V(()=>[I(t.$slots,`append`)]),key:`1`}:void 0,t.$slots.prefix?{name:`prefix`,fn:V(()=>[I(t.$slots,`prefix`)]),key:`2`}:void 0,t.$slots.suffix?{name:`suffix`,fn:V(()=>[I(t.$slots,`suffix`)]),key:`3`}:void 0]),1040,[`model-value`,`disabled`])],14,nC)]),_:3},8,[`visible`,`placement`,`popper-class`,`popper-style`,`popper-options`,`show-arrow`,`teleported`,`append-to`,`transition`]))}})),sC=Q({size:{type:[Number,String],values:wr,validator:e=>Md(e)},shape:{type:String,values:[`circle`,`square`]},icon:{type:Ny},src:{type:String,default:``},alt:String,srcSet:String,fit:{type:Z(String),default:`cover`}}),cC={error:e=>e instanceof Event},lC=Symbol(`avatarGroupContextKey`),uC={size:{type:Z([Number,String]),values:wr,validator:e=>Md(e)},shape:{type:Z(String),values:[`circle`,`square`]},collapseAvatars:Boolean,collapseAvatarsTooltip:Boolean,maxCollapseAvatars:{type:Number,default:1},effect:{type:Z(String),default:`light`},placement:{type:Z(String),values:fm,default:`top`},popperClass:fS.popperClass,popperStyle:fS.popperStyle,collapseClass:String,collapseStyle:{type:Z([String,Array,Object,Boolean]),default:void 0}},dC=[`src`,`alt`,`srcset`],fC=z({name:`ElAvatar`,__name:`avatar`,props:sC,emits:cC,setup(e,{emit:t}){let n=e,r=t,i=l(lC,void 0),a=$(`avatar`),o=q(!1),s=K(()=>n.size??i?.size),c=K(()=>n.shape??i?.shape??`circle`),u=K(()=>{let{icon:e}=n,t=[a.b()];return P(s.value)&&t.push(a.m(s.value)),e&&t.push(a.m(`icon`)),c.value&&t.push(a.m(c.value)),t}),d=K(()=>Md(s.value)?a.cssVarBlock({size:bp(s.value)}):void 0),f=K(()=>({objectFit:n.fit}));M(()=>[n.src,n.srcSet],()=>o.value=!1);function p(e){o.value=!0,r(`error`,e)}return(t,n)=>(N(),W(`span`,{class:F(u.value),style:m(d.value)},[(e.src||e.srcSet)&&!o.value?(N(),W(`img`,{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:m(f.value),onError:p},null,44,dC)):e.icon?(N(),H(Y(By),{key:1},{default:V(()=>[(N(),H(L(e.icon)))]),_:1})):I(t.$slots,`default`,{key:2})],6))}}),pC=z({name:`ElAvatarGroup`,props:uC,setup(e,{slots:t}){let n=$(`avatar-group`);return Qe(lC,ve({size:we(e,`size`),shape:we(e,`shape`)})),()=>{let r=vv(t.default?.()??[]),i=r;if(e.collapseAvatars&&r.length>e.maxCollapseAvatars){i=r.slice(0,e.maxCollapseAvatars);let t=r.slice(e.maxCollapseAvatars);i.push(J(ES,{popperClass:e.popperClass,popperStyle:e.popperStyle,placement:e.placement,effect:e.effect,disabled:!e.collapseAvatarsTooltip},{default:()=>J(fC,{size:e.size,shape:e.shape,class:e.collapseClass,style:e.collapseStyle},{default:()=>[Ke(`+ `),t.length]}),content:()=>J(`div`,{class:n.e(`collapse-avatars`)},[t.map((e,t)=>s(e)?Ae(e,{key:e.key??t}):e)])}))}return J(`div`,{class:n.b()},[i])}}}),mC=Pv(fC,{AvatarGroup:pC}),hC=Lv(pC),gC={visibilityHeight:{type:Number,default:200},target:{type:String,default:``},right:{type:Number,default:40},bottom:{type:Number,default:40}},_C={click:e=>e instanceof MouseEvent},vC=(e,t,n)=>{let r=Le(),i=Le(),a=q(!1),o=()=>{r.value&&(a.value=r.value.scrollTop>=e.visibilityHeight)};return kf(i,`scroll`,Sf(o,300,!0)),d(()=>{i.value=document,r.value=document.documentElement,e.target&&(r.value=document.querySelector(e.target)??void 0,r.value||qd(n,`target does not exist: ${e.target}`),i.value=r.value),o()}),{visible:a,handleClick:e=>{r.value?.scrollTo({top:0,behavior:`smooth`}),t(`click`,e)}}},yC=`ElBacktop`,bC=Pv(z({name:yC,__name:`backtop`,props:gC,emits:_C,setup(e,{emit:t}){let n=e,r=t,i=$(`backtop`),{handleClick:a,visible:o}=vC(n,r,yC),s=K(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(e,t)=>(N(),H(pt,{name:`${Y(i).namespace.value}-fade-in`},{default:V(()=>[Y(o)?(N(),W(`div`,{key:0,style:m(s.value),class:F(Y(i).b()),onClick:t[0]||=kn((...e)=>Y(a)&&Y(a)(...e),[`stop`])},[I(e.$slots,`default`,{},()=>[J(Y(By),{class:F(Y(i).e(`icon`))},{default:V(()=>[J(Y(qv))]),_:1},8,[`class`])])],6)):G(`v-if`,!0)]),_:3},8,[`name`]))}})),xC=Pv(z({name:`ElBadge`,__name:`badge`,props:Q({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:Z([String,Object,Array,Boolean]),default:void 0},offset:{type:Z(Array),default:()=>[0,0]},badgeClass:{type:String}}),setup(e,{expose:t}){let n=e,r=$(`badge`),i=K(()=>n.isDot?``:Md(n.value)&&Md(n.max)&&n.max[{backgroundColor:n.color,marginRight:bp(-n.offset[0]),marginTop:bp(n.offset[1])},n.badgeStyle??{}]);return t({content:i}),(t,n)=>(N(),W(`div`,{class:F(Y(r).b())},[I(t.$slots,`default`),J(pt,{name:`${Y(r).namespace.value}-zoom-in-center`},{default:V(()=>[!e.hidden&&(i.value||e.isDot||t.$slots.content)?(N(),W(`sup`,{key:0,class:F([Y(r).e(`content`),Y(r).em(`content`,e.type),Y(r).is(`fixed`,!!t.$slots.default),Y(r).is(`dot`,e.isDot),Y(r).is(`hide-zero`,!e.showZero&&e.value===0),e.badgeClass]),style:m(a.value)},[I(t.$slots,`content`,{value:i.value},()=>[Ke(S(i.value),1)])],6)):G(`v-if`,!0)]),_:3},8,[`name`])],2))}})),SC=Q({separator:{type:String,default:`/`},separatorIcon:{type:Ny}}),CC=Symbol(`breadcrumbKey`),wC=Q({to:{type:Z([String,Object]),default:``},replace:Boolean}),TC=[`aria-label`],EC=z({name:`ElBreadcrumb`,__name:`breadcrumb`,props:SC,setup(e){let{t}=Dp(),n=e,r=$(`breadcrumb`),i=q();return Qe(CC,n),d(()=>{let e=i.value.querySelectorAll(`.${r.e(`item`)}`);e.length&&e[e.length-1].setAttribute(`aria-current`,`page`)}),(e,n)=>(N(),W(`div`,{ref_key:`breadcrumb`,ref:i,class:F(Y(r).b()),"aria-label":Y(t)(`el.breadcrumb.label`),role:`navigation`},[I(e.$slots,`default`)],10,TC))}}),DC=z({name:`ElBreadcrumbItem`,__name:`breadcrumb-item`,props:wC,setup(e){let t=e,n=Xe(),r=l(CC,void 0),i=$(`breadcrumb`),a=n.appContext.config.globalProperties.$router,o=()=>{!t.to||!a||(t.replace?a.replace(t.to):a.push(t.to))};return(t,n)=>(N(),W(`span`,{class:F(Y(i).e(`item`))},[B(`span`,{class:F([Y(i).e(`inner`),Y(i).is(`link`,!!e.to)]),role:`link`,onClick:o},[I(t.$slots,`default`)],2),Y(r)?.separatorIcon?(N(),H(Y(By),{key:0,class:F(Y(i).e(`separator`))},{default:V(()=>[(N(),H(L(Y(r).separatorIcon)))]),_:1},8,[`class`])):(N(),W(`span`,{key:1,class:F(Y(i).e(`separator`)),role:`presentation`},S(Y(r)?.separator),3))],2))}}),OC=Pv(EC,{BreadcrumbItem:DC}),kC=Lv(DC),AC=[`default`,`primary`,`success`,`warning`,`info`,`danger`,`text`,``],jC=Q({size:xv,disabled:{type:Boolean,default:void 0},type:{type:String,values:AC,default:``},icon:{type:Ny},nativeType:{type:String,values:[`button`,`submit`,`reset`],default:`button`},loading:Boolean,loadingIcon:{type:Ny,default:()=>dy},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:Z([String,Object]),default:`button`}}),MC={click:e=>e instanceof MouseEvent},NC=Symbol(),PC=q();function FC(e,t=void 0){let n=Xe()?l(NC,PC):PC;return e?K(()=>n.value?.[e]??t):n}function IC(e,t){let n=FC(),r=$(e,K(()=>n.value?.namespace||`el`)),i=Dp(K(()=>n.value?.locale)),a=xg(K(()=>{let e=n.value?.zIndex;return cd(e)||Number.isNaN(e)?vg:e})),o=K(()=>Y(t)||n.value?.size||``);return LC(K(()=>Y(n)||{})),{ns:r,locale:i,zIndex:a,size:o}}var LC=(e,t,n=!1)=>{let r=!!Xe(),i=r?FC():void 0,a=t?.provide??(r?Qe:void 0);if(!a){Jd(`provideGlobalConfig`,`provideGlobalConfig() can only be used inside setup().`);return}let o=K(()=>{let t=Y(e);return i?.value?RC(i.value,t):t});return a(NC,o),a(Ep,K(()=>o.value.locale)),a(Ap,K(()=>o.value.namespace)),a(bg,K(()=>o.value.zIndex)),a(Sv,{size:K(()=>o.value.size||``)}),a(Ev,K(()=>({emptyValues:o.value.emptyValues,valueOnClear:o.value.valueOnClear}))),(n||!PC.value)&&(PC.value=o.value),o},RC=(e,t)=>{let n=[...new Set([...Rd(e),...Rd(t)])],r={};for(let i of n)r[i]=t[i]===void 0?e[i]:t[i];return r},zC=Q({a11y:{type:Boolean,default:!0},locale:{type:Z(Object)},size:xv,button:{type:Z(Object)},card:{type:Z(Object)},dialog:{type:Z(Object)},link:{type:Z(Object)},experimentalFeatures:{type:Z(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:Z(Object)},zIndex:Number,namespace:{type:String,default:`el`},table:{type:Z(Object)},...kv}),BC={placement:`top`},VC=Pv(z({name:`ElConfigProvider`,props:zC,setup(e,{slots:t}){let n=LC(e);return M(()=>e.message,e=>{Object.assign(BC,n?.value?.message??{},e??{})},{immediate:!0,deep:!0}),()=>I(t,`default`,{config:n?.value})}})),HC=Symbol(`buttonGroupContextKey`),UC=(e,t)=>{Zf({from:`type.text`,replacement:`link`,version:`3.0.0`,scope:`props`,ref:`https://element-plus.org/en-US/component/button.html#button-attributes`},K(()=>e.type===`text`));let n=l(HC,void 0),r=FC(`button`),{form:i}=ub(),a=cb(K(()=>n?.size)),o=lb(),s=q(),c=le(),u=K(()=>e.type||n?.type||r.value?.type||``),d=K(()=>e.autoInsertSpace??r.value?.autoInsertSpace??!1),f=K(()=>e.plain??r.value?.plain??!1),p=K(()=>e.round??r.value?.round??!1),m=K(()=>e.text??r.value?.text??!1),h=K(()=>e.dashed??r.value?.dashed??!1);return{_disabled:o,_size:a,_type:u,_ref:s,_props:K(()=>e.tag===`button`?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),_plain:f,_round:p,_text:m,_dashed:h,shouldAddSpace:K(()=>{let e=c.default?.();if(d.value&&e?.length===1){let t=e[0];if(t?.type===He){let e=t.children;return/^\p{Unified_Ideograph}{2}$/u.test(e.trim())}}return!1}),handleClick:n=>{if(o.value||e.loading){n.stopPropagation();return}e.nativeType===`reset`&&i?.resetFields(),t(`click`,n)}}};function WC(e,t){KC(e)&&(e=`100%`);let n=qC(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:(e=t===360?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t)),e)}function GC(e){return Math.min(1,Math.max(0,e))}function KC(e){return typeof e==`string`&&e.indexOf(`.`)!==-1&&parseFloat(e)===1}function qC(e){return typeof e==`string`&&e.indexOf(`%`)!==-1}function JC(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function YC(e){return Number(e)<=1?`${Number(e)*100}%`:e}function XC(e){return e.length===1?`0`+e:String(e)}function ZC(e,t,n){return{r:WC(e,255)*255,g:WC(t,255)*255,b:WC(n,255)*255}}function QC(e,t,n){e=WC(e,255),t=WC(t,255),n=WC(n,255);let r=Math.max(e,t,n),i=Math.min(e,t,n),a=0,o=0,s=(r+i)/2;if(r===i)o=0,a=0;else{let c=r-i;switch(o=s>.5?c/(2-r-i):c/(r+i),r){case e:a=(t-n)/c+(t1&&--n,n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function ew(e,t,n){let r,i,a;if(e=WC(e,360),t=WC(t,100),n=WC(n,100),t===0)i=n,a=n,r=n;else{let o=n<.5?n*(1+t):n+t-n*t,s=2*n-o;r=$C(s,o,e+1/3),i=$C(s,o,e),a=$C(s,o,e-1/3)}return{r:r*255,g:i*255,b:a*255}}function tw(e,t,n){e=WC(e,255),t=WC(t,255),n=WC(n,255);let r=Math.max(e,t,n),i=Math.min(e,t,n),a=0,o=r,s=r-i,c=r===0?0:s/r;if(r===i)a=0;else{switch(r){case e:a=(t-n)/s+(t>16,g:(e&65280)>>8,b:e&255}}var dw={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 fw(e){let t={r:0,g:0,b:0},n=1,r=null,i=null,a=null,o=!1,s=!1;return typeof e==`string`&&(e=mw(e)),typeof e==`object`&&(hw(e.r)&&hw(e.g)&&hw(e.b)?(t=ZC(e.r,e.g,e.b),o=!0,s=String(e.r).substr(-1)===`%`?`prgb`:`rgb`):hw(e.h)&&hw(e.s)&&hw(e.v)?(r=YC(e.s),i=YC(e.v),t=nw(e.h,r,i),o=!0,s=`hsv`):hw(e.h)&&hw(e.s)&&hw(e.l)?(r=YC(e.s),a=YC(e.l),t=ew(e.h,r,a),o=!0,s=`hsl`):hw(e.c)&&hw(e.m)&&hw(e.y)&&hw(e.k)&&(t=aw(e.c,e.m,e.y,e.k),o=!0,s=`cmyk`),Object.prototype.hasOwnProperty.call(e,`a`)&&(n=e.a)),n=JC(n),{ok:o,format:e.format||s,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}}var pw={CSS_UNIT:RegExp(`(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)`),rgb:RegExp(`rgb[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),rgba:RegExp(`rgba[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),hsl:RegExp(`hsl[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),hsla:RegExp(`hsla[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),hsv:RegExp(`hsv[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),hsva:RegExp(`hsva[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),cmyk:RegExp(`cmyk[\\s|\\(]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))[,|\\s]+((?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?))\\s*\\)?`),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 mw(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;let t=!1;if(dw[e])e=dw[e],t=!0;else if(e===`transparent`)return{r:0,g:0,b:0,a:0,format:`name`};let n=pw.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=pw.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=pw.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=pw.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=pw.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=pw.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=pw.cmyk.exec(e),n?{c:n[1],m:n[2],y:n[3],k:n[4]}:(n=pw.hex8.exec(e),n?{r:lw(n[1]),g:lw(n[2]),b:lw(n[3]),a:cw(n[4]),format:t?`name`:`hex8`}:(n=pw.hex6.exec(e),n?{r:lw(n[1]),g:lw(n[2]),b:lw(n[3]),format:t?`name`:`hex`}:(n=pw.hex4.exec(e),n?{r:lw(n[1]+n[1]),g:lw(n[2]+n[2]),b:lw(n[3]+n[3]),a:cw(n[4]+n[4]),format:t?`name`:`hex8`}:(n=pw.hex3.exec(e),n?{r:lw(n[1]+n[1]),g:lw(n[2]+n[2]),b:lw(n[3]+n[3]),format:t?`name`:`hex`}:!1))))))))))}function hw(e){return typeof e==`number`?!Number.isNaN(e):pw.CSS_UNIT.test(e)}var gw=class e{constructor(t=``,n={}){if(t instanceof e)return t;typeof t==`number`&&(t=uw(t)),this.originalInput=t;let r=fw(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??r.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=r.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){let e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3}getLuminance(){let e=this.toRgb(),t,n,r,i=e.r/255,a=e.g/255,o=e.b/255;return t=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,n=a<=.03928?a/12.92:((a+.055)/1.055)**2.4,r=o<=.03928?o/12.92:((o+.055)/1.055)**2.4,.2126*t+.7152*n+.0722*r}getAlpha(){return this.a}setAlpha(e){return this.a=JC(e),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){let{s:e}=this.toHsl();return e===0}toHsv(){let e=tw(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}}toHsvString(){let e=tw(this.r,this.g,this.b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.v*100);return this.a===1?`hsv(${t}, ${n}%, ${r}%)`:`hsva(${t}, ${n}%, ${r}%, ${this.roundA})`}toHsl(){let e=QC(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}}toHslString(){let e=QC(this.r,this.g,this.b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.l*100);return this.a===1?`hsl(${t}, ${n}%, ${r}%)`:`hsla(${t}, ${n}%, ${r}%, ${this.roundA})`}toHex(e=!1){return rw(this.r,this.g,this.b,e)}toHexString(e=!1){return`#`+this.toHex(e)}toHex8(e=!1){return iw(this.r,this.g,this.b,this.a,e)}toHex8String(e=!1){return`#`+this.toHex8(e)}toHexShortString(e=!1){return this.a===1?this.toHexString(e):this.toHex8String(e)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){let e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return this.a===1?`rgb(${e}, ${t}, ${n})`:`rgba(${e}, ${t}, ${n}, ${this.roundA})`}toPercentageRgb(){let e=e=>`${Math.round(WC(e,255)*100)}%`;return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}}toPercentageRgbString(){let e=e=>Math.round(WC(e,255)*100);return this.a===1?`rgb(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%)`:`rgba(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%, ${this.roundA})`}toCmyk(){return{...ow(this.r,this.g,this.b)}}toCmykString(){let{c:e,m:t,y:n,k:r}=ow(this.r,this.g,this.b);return`cmyk(${e}, ${t}, ${n}, ${r})`}toName(){if(this.a===0)return`transparent`;if(this.a<1)return!1;let e=`#`+rw(this.r,this.g,this.b,!1);for(let[t,n]of Object.entries(dw))if(e===n)return t;return!1}toString(e){let t=!!e;e??=this.format;let n=!1,r=this.a<1&&this.a>=0;return!t&&r&&(e.startsWith(`hex`)||e===`name`)?e===`name`&&this.a===0?this.toName():this.toRgbString():(e===`rgb`&&(n=this.toRgbString()),e===`prgb`&&(n=this.toPercentageRgbString()),(e===`hex`||e===`hex6`)&&(n=this.toHexString()),e===`hex3`&&(n=this.toHexString(!0)),e===`hex4`&&(n=this.toHex8String(!0)),e===`hex8`&&(n=this.toHex8String()),e===`name`&&(n=this.toName()),e===`hsl`&&(n=this.toHslString()),e===`hsv`&&(n=this.toHsvString()),e===`cmyk`&&(n=this.toCmykString()),n||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new e(this.toString())}lighten(t=10){let n=this.toHsl();return n.l+=t/100,n.l=GC(n.l),new e(n)}brighten(t=10){let 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 e(n)}darken(t=10){let n=this.toHsl();return n.l-=t/100,n.l=GC(n.l),new e(n)}tint(e=10){return this.mix(`white`,e)}shade(e=10){return this.mix(`black`,e)}desaturate(t=10){let n=this.toHsl();return n.s-=t/100,n.s=GC(n.s),new e(n)}saturate(t=10){let n=this.toHsl();return n.s+=t/100,n.s=GC(n.s),new e(n)}greyscale(){return this.desaturate(100)}spin(t){let n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)}mix(t,n=50){let r=this.toRgb(),i=new e(t).toRgb(),a=n/100;return new e({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})}analogous(t=6,n=30){let r=this.toHsl(),i=360/n,a=[this];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(new e(r));return a}complement(){let t=this.toHsl();return t.h=(t.h+180)%360,new e(t)}monochromatic(t=6){let n=this.toHsv(),{h:r}=n,{s:i}=n,{v:a}=n,o=[],s=1/t;for(;t--;)o.push(new e({h:r,s:i,v:a})),a=(a+s)%1;return o}splitcomplement(){let t=this.toHsl(),{h:n}=t;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]}onBackground(t){let n=this.toRgb(),r=new e(t).toRgb(),i=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/i,g:(n.g*n.a+r.g*r.a*(1-n.a))/i,b:(n.b*n.a+r.b*r.a*(1-n.a))/i,a:i})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){let n=this.toHsl(),{h:r}=n,i=[this],a=360/t;for(let o=1;o{let r={},i=e.color;if(i){let a=i.match(/var\((.*?)\)/);a&&(i=window.getComputedStyle(window.document.documentElement).getPropertyValue(a[1]));let o=new gw(i),s=e.dark?o.tint(20).toString():_w(o,20);if(e.plain)r=n.cssVarBlock({"bg-color":e.dark?_w(o,90):o.tint(90).toString(),"text-color":i,"border-color":e.dark?_w(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName(`color-white`)})`,"hover-bg-color":i,"hover-border-color":i,"active-bg-color":s,"active-text-color":`var(${n.cssVarName(`color-white`)})`,"active-border-color":s}),t.value&&(r[n.cssVarBlockName(`disabled-bg-color`)]=e.dark?_w(o,90):o.tint(90).toString(),r[n.cssVarBlockName(`disabled-text-color`)]=e.dark?_w(o,50):o.tint(50).toString(),r[n.cssVarBlockName(`disabled-border-color`)]=e.dark?_w(o,80):o.tint(80).toString());else if(e.link||e.text){let a=e.dark?_w(o,30):o.tint(30).toString();if(r=n.cssVarBlock({"text-color":i,"hover-text-color":a,"active-text-color":s}),e.link&&(r[n.cssVarBlockName(`hover-link-text-color`)]=a,r[n.cssVarBlockName(`active-color`)]=s),t.value){let t=e.dark?_w(o,50):o.tint(50).toString();r[n.cssVarBlockName(`disabled-bg-color`)]=`transparent`,r[n.cssVarBlockName(`disabled-text-color`)]=t,r[n.cssVarBlockName(`disabled-border-color`)]=`transparent`}}else{let a=e.dark?_w(o,30):o.tint(30).toString(),c=o.isDark()?`var(${n.cssVarName(`color-white`)})`:`var(${n.cssVarName(`color-black`)})`;if(r=n.cssVarBlock({"bg-color":i,"text-color":c,"border-color":i,"hover-bg-color":a,"hover-text-color":c,"hover-border-color":a,"active-bg-color":s,"active-border-color":s}),t.value){let t=e.dark?_w(o,50):o.tint(50).toString();r[n.cssVarBlockName(`disabled-bg-color`)]=t,r[n.cssVarBlockName(`disabled-text-color`)]=e.dark?`rgba(255, 255, 255, 0.5)`:`var(${n.cssVarName(`color-white`)})`,r[n.cssVarBlockName(`disabled-border-color`)]=t}}}return r})}var yw=z({name:`ElButton`,__name:`button`,props:jC,emits:MC,setup(e,{expose:t,emit:n}){let r=e,i=n,a=vw(r),o=$(`button`),{_ref:s,_size:c,_type:l,_disabled:u,_props:d,_plain:f,_round:p,_text:m,_dashed:h,shouldAddSpace:g,handleClick:_}=UC(r,i),v=K(()=>[o.b(),o.m(l.value),o.m(c.value),o.is(`disabled`,u.value),o.is(`loading`,r.loading),o.is(`plain`,f.value),o.is(`round`,p.value),o.is(`circle`,r.circle),o.is(`text`,m.value),o.is(`dashed`,h.value),o.is(`link`,r.link),o.is(`has-bg`,r.bg)]);return t({ref:s,size:c,type:l,disabled:u,shouldAddSpace:g}),(t,n)=>(N(),H(L(e.tag),k({ref_key:`_ref`,ref:s},Y(d),{class:v.value,style:Y(a),onClick:Y(_)}),{default:V(()=>[e.loading?(N(),W(R,{key:0},[t.$slots.loading?I(t.$slots,`loading`,{key:0}):(N(),H(Y(By),{key:1,class:F(Y(o).is(`loading`))},{default:V(()=>[(N(),H(L(e.loadingIcon)))]),_:1},8,[`class`]))],64)):e.icon||t.$slots.icon?(N(),H(Y(By),{key:1},{default:V(()=>[e.icon?(N(),H(L(e.icon),{key:0})):I(t.$slots,`icon`,{key:1})]),_:3})):G(`v-if`,!0),t.$slots.default?(N(),W(`span`,{key:2,class:F({[Y(o).em(`text`,`expand`)]:Y(g)})},[I(t.$slots,`default`)],2)):G(`v-if`,!0)]),_:3},16,[`class`,`style`,`onClick`]))}}),bw=z({name:`ElButtonGroup`,__name:`button-group`,props:{size:jC.size,type:jC.type,direction:{type:Z(String),values:[`horizontal`,`vertical`],default:`horizontal`}},setup(e){let t=e;Qe(HC,ve({size:we(t,`size`),type:we(t,`type`)}));let n=$(`button`);return(e,r)=>(N(),W(`div`,{class:F([Y(n).b(`group`),Y(n).bm(`group`,t.direction)])},[I(e.$slots,`default`)],2))}}),xw=Pv(yw,{ButtonGroup:bw}),Sw=Lv(bw),Cw=Q({modelValue:{type:Date},range:{type:Z(Array),validator:e=>A(e)&&e.length===2&&e.every(e=>ke(e))},controllerType:{type:String,values:[`button`,`select`],default:`button`},formatter:{type:Z(Function)}}),ww={[br]:e=>ke(e),[Sr]:e=>ke(e)},Tw=[`hours`,`minutes`,`seconds`],Ew=`EP_PICKER_BASE`,Dw=`ElPopperOptions`,Ow=Symbol(`commonPickerContextKey`),kw=`HH:mm:ss`,Aw=`YYYY-MM-DD`,jw={date:Aw,dates:Aw,week:`gggg[w]ww`,year:`YYYY`,years:`YYYY`,month:`YYYY-MM`,months:`YYYY-MM`,datetime:`${Aw} ${kw}`,monthrange:`YYYY-MM`,yearrange:`YYYY`,daterange:Aw,datetimerange:`${Aw} ${kw}`},Mw=fe(ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|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,g={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(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),Fw=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,``).replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,``).trim(),Iw=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,``).trim(),Lw=function(e,t){let n=ke(e),r=ke(t);return n&&r?e.getTime()===t.getTime():!n&&!r?e===t:!1},Rw=function(e,t){let n=A(e),r=A(t);return n&&r?e.length===t.length?e.every((e,n)=>Lw(e,t[n])):!1:!n&&!r?Lw(e,t):!1},zw=function(e,t,n){let r=Nd(t)||t===`x`?(0,Mw.default)(e).locale(n):(0,Mw.default)(e,t).locale(n);return r.isValid()?r:void 0},Bw=function(e,t,n){return Nd(t)?e:t===`x`?+e:(0,Mw.default)(e).locale(n).format(t)},Vw=(e,t)=>{let n=[],r=t?.();for(let t=0;tA(e)?e.map(e=>e.toDate()):e.toDate(),Uw=Q({disabledHours:{type:Z(Function)},disabledMinutes:{type:Z(Function)},disabledSeconds:{type:Z(Function)}}),Ww=Q({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:``}}),Gw=Q({automaticDropdown:{type:Boolean,default:!0},id:{type:Z([Array,String])},name:{type:Z([Array,String])},popperClass:fS.popperClass,popperStyle:fS.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:``},clearable:{type:Boolean,default:!0},clearIcon:{type:Z([String,Object]),default:Qv},editable:{type:Boolean,default:!0},saveOnBlur:{type:Boolean,default:!0},prefixIcon:{type:Z([String,Object]),default:``},size:xv,readonly:Boolean,disabled:{type:Boolean,default:void 0},placeholder:{type:String,default:``},popperOptions:{type:Z(Object),default:()=>({})},modelValue:{type:Z([Date,Array,String,Number]),default:``},rangeSeparator:{type:String,default:`-`},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:Z([Date,Array])},defaultTime:{type:Z([Date,Array])},isRange:Boolean,...Uw,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:Z([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,singlePanel:Boolean,placement:{type:Z(String),values:fm,default:`bottom`},fallbackPlacements:{type:Z(Array),default:[`bottom`,`top`,`right`,`left`]},...kv,...Mv([`ariaLabel`]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),Kw=Q({id:{type:Z(Array)},name:{type:Z(Array)},modelValue:{type:Z([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),qw=(e,t)=>{let{lang:n}=Dp(),r=q(!1),i=q(!1),a=q(null),o=K(()=>{let{modelValue:t}=e;return!t||A(t)&&!t.filter(Boolean).length}),s=r=>{if(!Rw(e.modelValue,r)){let i;A(r)?i=r.map(t=>Bw(t,e.valueFormat,n.value)):r&&(i=Bw(r,e.valueFormat,n.value)),t(br,r&&i,n.value)}},c=K(()=>{let t;if(o.value?l.value.getDefaultValue&&(t=l.value.getDefaultValue()):t=A(e.modelValue)?e.modelValue.map(t=>zw(t,e.valueFormat,n.value)):zw(e.modelValue??``,e.valueFormat,n.value),l.value.getRangeAvailableTime){let e=l.value.getRangeAvailableTime(t);sd(e,t)||(t=e,o.value||s(Hw(t)))}return A(t)&&t.some(e=>!e)&&(t=[]),t}),l=q({});return{parsedValue:c,pickerActualVisible:i,pickerOptions:l,pickerVisible:r,userInput:a,valueIsEmpty:o,emitInput:s,onCalendarChange:e=>{t(`calendar-change`,e)},onPanelChange:(e,n,r)=>{t(`panel-change`,e,n,r)},onPick:(e=``,t=!1)=>{r.value=t;let n;n=A(e)?e.map(e=>e.toDate()):e&&e.toDate(),a.value=null,s(n)},onSetPickerOption:e=>{l.value[e[0]]=e[1],l.value.panelReady=!0}}},Jw=[`id`,`name`,`placeholder`,`value`,`disabled`],Yw=[`id`,`name`,`placeholder`,`value`,`disabled`],Xw=z({name:`PickerRangeTrigger`,inheritAttrs:!1,__name:`picker-range-trigger`,props:Kw,emits:[`mouseenter`,`mouseleave`,`click`,`touchstart`,`focus`,`blur`,`startInput`,`endInput`,`startChange`,`endChange`],setup(e,{expose:t,emit:n}){let r=e,i=n,{formItem:a}=ub(),{inputId:o}=db(ve({id:K(()=>r.id?.[0])}),{formItemContext:a}),s=Zd(),c=$(`date`),l=$(`range`),u=q(),d=q(),{wrapperRef:f,isFocused:p}=wv(u,{disabled:K(()=>r.disabled)}),h=e=>{i(`click`,e)},g=e=>{i(`mouseenter`,e)},_=e=>{i(`mouseleave`,e)},v=e=>{i(`touchstart`,e)},y=e=>{i(`startInput`,e)},b=e=>{i(`endInput`,e)},x=e=>{i(`startChange`,e)},S=e=>{i(`endChange`,e)};return t({focus:()=>{u.value?.focus()},blur:()=>{u.value?.blur(),d.value?.blur()}}),(e,t)=>(N(),W(`div`,{ref_key:`wrapperRef`,ref:f,class:F([Y(c).is(`active`,Y(p)),e.$attrs.class]),style:m(e.$attrs.style),onClick:h,onMouseenter:g,onMouseleave:_,onTouchstartPassive:v},[I(e.$slots,`prefix`),B(`input`,k(Y(s),{id:Y(o),ref_key:`inputRef`,ref:u,name:e.name&&e.name[0],placeholder:e.startPlaceholder,value:e.modelValue&&e.modelValue[0],class:Y(l).b(`input`),disabled:e.disabled,onInput:y,onChange:x}),null,16,Jw),I(e.$slots,`range-separator`),B(`input`,k(Y(s),{id:e.id&&e.id[1],ref_key:`endInputRef`,ref:d,name:e.name&&e.name[1],placeholder:e.endPlaceholder,value:e.modelValue&&e.modelValue[1],class:Y(l).b(`input`),disabled:e.disabled,onInput:b,onChange:S}),null,16,Yw),I(e.$slots,`suffix`)],38))}}),Zw=z({name:`Picker`,__name:`picker`,props:Gw,emits:[br,xr,`focus`,`blur`,`clear`,`calendar-change`,`panel-change`,`visible-change`,`keydown`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=y(),o=$(`date`),s=$(`input`),c=$(`range`),{formItem:u}=ub(),d=l(Dw,{}),f=Av(r,null),p=q(),h=q(),g=q(null),_=!1,v=lb(),b=qw(r,i),{parsedValue:x,pickerActualVisible:C,userInput:w,pickerVisible:E,pickerOptions:D,valueIsEmpty:O,emitInput:ee,onPick:j,onSetPickerOption:P,onCalendarChange:te,onPanelChange:ne}=b,{isFocused:re,handleFocus:ie,handleBlur:ae}=wv(h,{disabled:v,beforeFocus(){return r.readonly},afterFocus(){r.automaticDropdown&&(E.value=!0)},beforeBlur(e){return!_&&p.value?.isFocusInsideContent(e)},afterBlur(){ye.value&&!r.saveOnBlur?O.value||D.value.handleCancel?.():Ne(),E.value=!1,_=!1,r.validateEvent&&u?.validate(`blur`).catch(ge)}}),oe=q(!1),se=K(()=>[o.b(`editor`),o.bm(`editor`,r.type),s.e(`wrapper`),o.is(`disabled`,v.value),o.is(`active`,E.value),c.b(`editor`),je?c.bm(`editor`,je.value):``,a.class]),ce=K(()=>[s.e(`icon`),c.e(`close-icon`),we.value?``:c.em(`close-icon`,`hidden`)]);M(E,e=>{e?U(()=>{e&&(g.value=r.modelValue)}):(w.value=null,U(()=>{le(r.modelValue)}))});let le=(e,t)=>{(t||!Rw(e,g.value))&&(i(xr,e),t&&(g.value=e),r.validateEvent&&u?.validate(`change`).catch(ge))},ue=e=>{i(`keydown`,e)},de=K(()=>h.value?Array.from(h.value.$el.querySelectorAll(`input`)):[]),fe=(e,t,n)=>{let r=de.value;r.length&&(!n||n===`min`?(r[0].setSelectionRange(e,t),r[0].focus()):n===`max`&&(r[1].setSelectionRange(e,t),r[1].focus()))},pe=()=>{C.value=!0},me=()=>{i(`visible-change`,!0)},R=()=>{C.value=!1,E.value=!1,i(`visible-change`,!1)},he=()=>{E.value=!0},z=()=>{E.value=!1},_e=K(()=>{let e=Fe(x.value);return A(w.value)?[w.value[0]??(e&&e[0])??``,w.value[1]??(e&&e[1])??``]:w.value===null?ye.value&&O.value&&!r.saveOnBlur||!ye.value&&O.value||!E.value&&O.value?``:e?be.value||xe.value||Se.value?e.join(`, `):e:``:w.value}),ve=K(()=>r.type.includes(`time`)),ye=K(()=>r.type.startsWith(`time`)),be=K(()=>r.type===`dates`),xe=K(()=>r.type===`months`),Se=K(()=>r.type===`years`),Ce=K(()=>r.prefixIcon||(ve.value?$v:Gv)),we=K(()=>r.clearable&&!v.value&&!r.readonly&&!O.value&&(oe.value||re.value)),Te=e=>{r.readonly||v.value||(we.value&&(e?.stopPropagation(),D.value.handleClear?D.value.handleClear():ee(f.valueOnClear.value),le(f.valueOnClear.value,!0),R()),i(`clear`))},Ee=async e=>{r.readonly||v.value||(e.target?.tagName!==`INPUT`||re.value||!r.automaticDropdown)&&(E.value=!0)},De=()=>{r.readonly||v.value||!O.value&&r.clearable&&(oe.value=!0)},Oe=()=>{oe.value=!1},ke=e=>{r.readonly||v.value||(e.touches[0].target?.tagName!==`INPUT`||re.value||!r.automaticDropdown)&&(E.value=!0)},Ae=K(()=>r.type.includes(`range`)),je=cb(),W=K(()=>Y(p)?.popperRef?.contentRef),Me=jf(h,e=>{let t=Y(W),n=Of(h);t&&(e.target===t||e.composedPath().includes(t))||e.target===n||n&&e.composedPath().includes(n)||(E.value=!1)});T(()=>{Me?.()});let Ne=()=>{if(ye.value&&!r.saveOnBlur)return;let e=A(w.value)&&w.value.every(e=>e===``);if(w.value&&!e){let e=Pe(_e.value);e&&(Ie(e)&&ee(Hw(e)),w.value=null)}(w.value===``||e)&&(ee(f.valueOnClear.value),le(f.valueOnClear.value,!0),w.value=null)},Pe=e=>e?D.value.parseUserInput(e):null,Fe=e=>e?A(e)?e.map(e=>e.format(r.format)):e.format(r.format):null,Ie=e=>D.value.isValidValue(e),Le=async e=>{if(r.readonly||v.value)return;let t=Kp(e);if(ue(e),t===X.esc){E.value===!0&&(E.value=!1,e.preventDefault(),e.stopPropagation());return}if(t===X.down&&(D.value.handleFocusPicker&&(e.preventDefault(),e.stopPropagation()),E.value===!1&&(E.value=!0,await U()),D.value.handleFocusPicker)){D.value.handleFocusPicker();return}if(t===X.tab){_=!0;return}if(t===X.enter||t===X.numpadEnter){E.value?(w.value===null||w.value===``||Ie(Pe(_e.value)))&&(Ne(),E.value=!1):E.value=!0,e.preventDefault(),e.stopPropagation();return}if(w.value){e.stopPropagation();return}D.value.handleKeydownInput&&D.value.handleKeydownInput(e)},Re=e=>{w.value=e,E.value||=!0},ze=e=>{let t=e.target;w.value?w.value=[t.value,w.value[1]]:w.value=[t.value,null]},Be=e=>{let t=e.target;w.value?w.value=[w.value[0],t.value]:w.value=[null,t.value]},Ve=()=>{let e=w.value,t=Pe(e&&e[0]),n=Y(x);if(t&&t.isValid()){w.value=[Fe(t),_e.value?.[1]||null];let e=[t,n&&(n[1]||null)];Ie(e)&&(ee(Hw(e)),w.value=null)}},He=()=>{let e=Y(w),t=Pe(e&&e[1]),n=Y(x);if(t&&t.isValid()){w.value=[Y(_e)?.[0]||null,Fe(t)];let e=[n&&n[0],t];Ie(e)&&(ee(Hw(e)),w.value=null)}};return Qe(Ew,{props:r,emptyValues:f}),Qe(Ow,b),t({focus:()=>{h.value?.focus()},blur:()=>{h.value?.blur()},handleOpen:he,handleClose:z,onPick:j}),(e,t)=>(N(),H(Y(ES),k({ref_key:`refPopper`,ref:p,visible:Y(E),effect:`light`,pure:``,trigger:`click`},e.$attrs,{role:`dialog`,teleported:``,transition:`${Y(o).namespace.value}-zoom-in-top`,"popper-class":[`${Y(o).namespace.value}-picker__popper`,e.popperClass],"popper-style":e.popperStyle,"popper-options":Y(d),"fallback-placements":e.fallbackPlacements,"gpu-acceleration":!1,placement:e.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:``,onBeforeShow:pe,onShow:me,onHide:R}),{default:V(()=>[Ae.value?(N(),H(Xw,{key:1,id:e.id,ref_key:`inputRef`,ref:h,"model-value":_e.value,name:e.name,disabled:Y(v),readonly:!e.editable||e.readonly,"start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,class:F(se.value),style:m(e.$attrs.style),"aria-label":e.ariaLabel,tabindex:e.tabindex,autocomplete:`off`,role:`combobox`,onClick:Ee,onFocus:Y(ie),onBlur:Y(ae),onStartInput:ze,onStartChange:Ve,onEndInput:Be,onEndChange:He,onMousedown:Ee,onMouseenter:De,onMouseleave:Oe,onTouchstartPassive:ke,onKeydown:Le},{prefix:V(()=>[Ce.value?(N(),H(Y(By),{key:0,class:F([Y(s).e(`icon`),Y(c).e(`icon`)])},{default:V(()=>[(N(),H(L(Ce.value)))]),_:1},8,[`class`])):G(`v-if`,!0)]),"range-separator":V(()=>[I(e.$slots,`range-separator`,{},()=>[B(`span`,{class:F(Y(c).b(`separator`))},S(e.rangeSeparator),3)])]),suffix:V(()=>[e.clearIcon?(N(),H(Y(By),{key:0,class:F(ce.value),onMousedown:kn(Y(ge),[`prevent`]),onClick:Te},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`onMousedown`])):G(`v-if`,!0)]),_:3},8,[`id`,`model-value`,`name`,`disabled`,`readonly`,`start-placeholder`,`end-placeholder`,`class`,`style`,`aria-label`,`tabindex`,`onFocus`,`onBlur`])):(N(),H(Y(zS),{key:0,id:e.id,ref_key:`inputRef`,ref:h,"container-role":`combobox`,"model-value":_e.value,name:e.name,size:Y(je),disabled:Y(v),placeholder:e.placeholder,class:F([Y(o).b(`editor`),Y(o).bm(`editor`,e.type),Y(o).is(`focus`,Y(E)),e.$attrs.class]),style:m(e.$attrs.style),readonly:!e.editable||e.readonly||be.value||xe.value||Se.value||e.type===`week`,"aria-label":e.ariaLabel,tabindex:e.tabindex,"validate-event":!1,onInput:Re,onFocus:Y(ie),onBlur:Y(ae),onKeydown:Le,onChange:Ne,onMousedown:Ee,onMouseenter:De,onMouseleave:Oe,onTouchstartPassive:ke,onClick:t[0]||=kn(()=>{},[`stop`])},{prefix:V(()=>[Ce.value?(N(),H(Y(By),{key:0,class:F(Y(s).e(`icon`)),onMousedown:kn(Ee,[`prevent`]),onTouchstartPassive:ke},{default:V(()=>[(N(),H(L(Ce.value)))]),_:1},8,[`class`])):G(`v-if`,!0)]),suffix:V(()=>[we.value&&e.clearIcon?(N(),H(Y(By),{key:0,class:F(`${Y(s).e(`icon`)} clear-icon`),onMousedown:kn(Y(ge),[`prevent`]),onClick:Te},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`onMousedown`])):G(`v-if`,!0)]),_:1},8,[`id`,`model-value`,`name`,`size`,`disabled`,`placeholder`,`class`,`style`,`readonly`,`aria-label`,`tabindex`,`onFocus`,`onBlur`]))]),content:V(()=>[I(e.$slots,`default`,{visible:Y(E),actualVisible:Y(C),parsedValue:Y(x),format:e.format,dateFormat:e.dateFormat,timeFormat:e.timeFormat,unlinkPanels:e.unlinkPanels,type:e.type,defaultValue:e.defaultValue,showNow:e.showNow,showConfirm:e.showConfirm,showFooter:e.showFooter,showWeekNumber:e.showWeekNumber,singlePanel:e.singlePanel,onPick:t[1]||=(...e)=>Y(j)&&Y(j)(...e),onSelectRange:fe,onSetPickerOption:t[2]||=(...e)=>Y(P)&&Y(P)(...e),onCalendarChange:t[3]||=(...e)=>Y(te)&&Y(te)(...e),onClear:Te,onPanelChange:t[4]||=(...e)=>Y(ne)&&Y(ne)(...e),onMousedown:t[5]||=kn(()=>{},[`stop`])})]),_:3},16,[`visible`,`transition`,`popper-class`,`popper-style`,`popper-options`,`fallback-placements`,`placement`]))}}),Qw=new Map;if(nf){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of Qw.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function $w(e,t){let n=[];return A(t.arg)?n=t.arg:Pd(t.arg)&&n.push(t.arg),function(r,i){let a=t.instance.popperRef,o=r.target,s=i?.target,c=!t||!t.instance,l=!o||!s,u=e.contains(o)||e.contains(s),d=e===o,f=n.length&&n.some(e=>e?.contains(o))||n.length&&n.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||t.value(r,i)}}var eT={beforeMount(e,t){Qw.has(e)||Qw.set(e,[]),Qw.get(e).push({documentHandler:$w(e,t),bindingFn:t.value})},updated(e,t){Qw.has(e)||Qw.set(e,[]);let n=Qw.get(e),r=n.findIndex(e=>e.bindingFn===t.oldValue),i={documentHandler:$w(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){Qw.delete(e)}},tT=`_RepeatClick`,nT={beforeMount(e,t){let r=t.value,{interval:i=100,delay:a=600}=n(r)?{}:r,o,s,c=()=>n(r)?r():r.handler(),l=()=>{s&&=(clearTimeout(s),void 0),o&&=(clearInterval(o),void 0)},u=e=>{e.button===0&&(l(),c(),document.addEventListener(`mouseup`,l,{once:!0}),s=setTimeout(()=>{o=setInterval(()=>{c()},i)},a))};e[tT]={start:u,clear:l},e.addEventListener(`mousedown`,u)},unmounted(e){if(!e[tT])return;let{start:t,clear:n}=e[tT];t&&e.removeEventListener(`mousedown`,t),n&&(n(),document.removeEventListener(`mouseup`,n)),e[tT]=null}},rT=`_trap-focus-children`,iT=[],aT=e=>{if(iT.length===0)return;let t=Kp(e),n=iT[iT.length-1][rT];if(n.length>0&&t===X.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}let t=e.shiftKey,r=e.target===n[0],i=e.target===n[n.length-1];r&&t&&(e.preventDefault(),n[n.length-1].focus()),i&&!t&&(e.preventDefault(),n[0].focus())}},oT={beforeMount(e){e[rT]=np(e),iT.push(e),iT.length<=1&&document.addEventListener(`keydown`,aT)},updated(e){U(()=>{e[rT]=np(e)})},unmounted(){iT.shift(),iT.length===0&&document.removeEventListener(`keydown`,aT)}},sT=!1,cT,lT,uT,dT,fT,pT,mT,hT,gT,_T,vT,yT,bT,xT,ST;function CT(){if(!sT){sT=!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(yT=/\b(iPhone|iP[ao]d)/.exec(e),bT=/\b(iP[ao]d)/.exec(e),_T=/Android/i.exec(e),xT=/FBAN\/\w+;/i.exec(e),ST=/Mobile/i.exec(e),vT=!!/Win64/.exec(e),t){cT=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,cT&&document&&document.documentMode&&(cT=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);pT=r?parseFloat(r[1])+4:cT,lT=t[2]?parseFloat(t[2]):NaN,uT=t[3]?parseFloat(t[3]):NaN,dT=t[4]?parseFloat(t[4]):NaN,dT?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),fT=t&&t[1]?parseFloat(t[1]):NaN):fT=NaN}else cT=lT=uT=fT=dT=NaN;if(n){if(n[1]){var i=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);mT=i?parseFloat(i[1].replace(`_`,`.`)):!0}else mT=!1;hT=!!n[2],gT=!!n[3]}else mT=hT=gT=!1}}var wT={ie:function(){return CT()||cT},ieCompatibilityMode:function(){return CT()||pT>cT},ie64:function(){return wT.ie()&&vT},firefox:function(){return CT()||lT},opera:function(){return CT()||uT},webkit:function(){return CT()||dT},safari:function(){return wT.webkit()},chrome:function(){return CT()||fT},windows:function(){return CT()||hT},osx:function(){return CT()||mT},linux:function(){return CT()||gT},iphone:function(){return CT()||yT},mobile:function(){return CT()||yT||bT||_T||ST},nativeApp:function(){return CT()||xT},android:function(){return CT()||_T},ipad:function(){return CT()||bT}},TT=wT,ET=!!(typeof window<`u`&&window.document&&window.document.createElement),DT={canUseDOM:ET,canUseWorkers:typeof Worker<`u`,canUseEventListeners:ET&&!!(window.addEventListener||window.attachEvent),canUseViewport:ET&&!!window.screen,isInWorker:!ET},OT;DT.canUseDOM&&(OT=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function kT(e,t){if(!DT.canUseDOM||t&&!(`addEventListener`in document))return!1;var n=`on`+e,r=n in document;if(!r){var i=document.createElement(`div`);i.setAttribute(n,`return;`),r=typeof i[n]==`function`}return!r&&OT&&e===`wheel`&&(r=document.implementation.hasFeature(`Events.wheel`,`3.0`)),r}var AT=kT,jT=10,MT=40,NT=800;function PT(e){var t=0,n=0,r=0,i=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),r=t*jT,i=n*jT,`deltaY`in e&&(i=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||i)&&e.deltaMode&&(e.deltaMode==1?(r*=MT,i*=MT):(r*=NT,i*=NT)),r&&!t&&(t=r<1?-1:1),i&&!n&&(n=i<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:i}}PT.getEventType=function(){return TT.firefox()?`DOMMouseScroll`:AT(`wheel`)?`wheel`:`mousewheel`};var FT=PT,IT=`_Mousewheel`,LT=function(e,t){if(e&&e.addEventListener){RT(e);let n=function(e){let n=FT(e);t&&Reflect.apply(t,this,[e,n])};e[IT]={wheelHandler:n},e.addEventListener(`wheel`,n,{passive:!0})}},RT=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener(`wheel`,e[IT].wheelHandler),e[IT]=null)},zT={beforeMount(e,t){LT(e,t.value)},unmounted(e){RT(e)},updated(e,t){t.value!==t.oldValue&<(e,t.value)}},BT=Q({...Ww,datetimeRole:String,parsedValue:{type:Z(Object)}}),VT=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{let r=(r,i,a,o)=>{let s={hour:e,minute:t,second:n},c=r;return[`hour`,`minute`,`second`].forEach(e=>{if(s[e]){let t,n=s[e];switch(e){case`minute`:t=n(c.hour(),i,o);break;case`second`:t=n(c.hour(),c.minute(),i,o);break;default:t=n(i,o);break}if(t?.length&&!t.includes(c[e]())){let n=a?0:t.length-1;c=c[e](t[n])}}}),c},i={};return{timePickerOptions:i,getAvailableTime:r,onSetOption:([e,t])=>{i[e]=t}}},HT=e=>e.map((e,t)=>e||t).filter(e=>e!==!0),UT=(e,t,n)=>({getHoursList:(t,n)=>Vw(24,e&&(()=>e?.(t,n))),getMinutesList:(e,n,r)=>Vw(60,t&&(()=>t?.(e,n,r))),getSecondsList:(e,t,r,i)=>Vw(60,n&&(()=>n?.(e,t,r,i)))}),WT=(e,t,n)=>{let{getHoursList:r,getMinutesList:i,getSecondsList:a}=UT(e,t,n);return{getAvailableHours:(e,t)=>HT(r(e,t)),getAvailableMinutes:(e,t,n)=>HT(i(e,t,n)),getAvailableSeconds:(e,t,n,r)=>HT(a(e,t,n,r))}},GT=(e,t)=>{let n=q(e.parsedValue);return M(()=>e.visible,r=>{let i=me(t.modelValue),a=me(t.valueOnClear);if(r&&i===a){n.value=a;return}r||(n.value=e.parsedValue)}),n},KT=Q({role:{type:String,required:!0},spinnerDate:{type:Z(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:Z(String),default:``},...Uw}),qT=[`onClick`],JT=[`onMouseenter`],YT=z({__name:`basic-time-spinner`,props:KT,emits:[xr,`select-range`,`set-option`],setup(e,{emit:t}){let n=e,{isRange:i,format:a,saveOnBlur:o}=l(Ew).props,s=t,c=$(`time`),{getHoursList:u,getMinutesList:f,getSecondsList:p}=UT(n.disabledHours,n.disabledMinutes,n.disabledSeconds),m=!1,h={hours:!1,minutes:!1,seconds:!1},g=q(),_={hours:q(),minutes:q(),seconds:q()},v=K(()=>n.showSeconds?Tw:Tw.slice(0,2)),y=K(()=>{let{spinnerDate:e}=n;return{hours:e.hour(),minutes:e.minute(),seconds:e.second()}}),b=K(()=>{let{hours:e,minutes:t}=Y(y),{role:r,spinnerDate:a}=n,o=i?void 0:a;return{hours:u(r,o),minutes:f(e,r,o),seconds:p(e,t,r,o)}}),x=K(()=>{let{hours:e,minutes:t,seconds:n}=Y(y);return{hours:Nw(e,23),minutes:Nw(t,59),seconds:Nw(n,59)}}),C=Hu(e=>{m=!1,E(e)},200),w=e=>{if(!n.amPmMode)return``;let t=n.amPmMode===`A`,r=e<12?` am`:` pm`;return t&&(r=r.toUpperCase()),r},T=e=>{let t=[0,0],n=a||`HH:mm:ss`,r=n.indexOf(`HH`),i=n.indexOf(`mm`),o=n.indexOf(`ss`);switch(e){case`hours`:r!==-1&&(t=[r,r+2]);break;case`minutes`:i!==-1&&(t=[i,i+2]);break;case`seconds`:o!==-1&&(t=[o,o+2]);break}let[c,l]=t;s(`select-range`,c,l),g.value=e},E=e=>{k(e,Y(y)[e])},D=()=>{E(`hours`),E(`minutes`),E(`seconds`)},O=e=>e.querySelector(`.${c.namespace.value}-scrollbar__wrap`),k=(e,t)=>{if(n.arrowControl)return;let r=Y(_[e]);r&&r.$el&&(o||(h[e]=!0,Np(()=>{h[e]=!1})),O(r.$el).scrollTop=Math.max(0,t*A(e)))},A=e=>{let t=Y(_[e])?.$el.querySelector(`li`);return t&&Number.parseFloat(vp(t,`height`))||0},ee=()=>{P(1)},j=()=>{P(-1)},P=e=>{g.value||T(`hours`);let t=g.value,n=Y(y)[t],r=te(t,n,e,g.value===`hours`?24:60);ne(t,r),k(t,r),U(()=>T(t))},te=(e,t,n,r)=>{let i=(t+n+r)%r,a=Y(b)[e];for(;a[i]&&i!==t;)i=(i+n+r)%r;return i},ne=(e,t)=>{if(Y(b)[e][t])return;let{hours:r,minutes:i,seconds:a}=Y(y),o;switch(e){case`hours`:o=n.spinnerDate.hour(t).minute(i).second(a);break;case`minutes`:o=n.spinnerDate.hour(r).minute(t).second(a);break;case`seconds`:o=n.spinnerDate.hour(r).minute(i).second(t);break}s(xr,o)},re=(e,{value:t,disabled:n})=>{n||(ne(e,t),T(e),k(e,t))},ie=e=>{if(!o&&h[e])return;let t=Y(_[e]);t&&(m=!0,C(e),ne(e,Math.min(Math.round((O(t.$el).scrollTop-(ae(e)*.5-10)/A(e)+3)/A(e)),e===`hours`?23:59)))},ae=e=>Y(_[e]).$el.offsetHeight,I=()=>{let e=e=>{let t=Y(_[e]);t&&t.$el&&(O(t.$el).onscroll=()=>{ie(e)})};e(`hours`),e(`minutes`),e(`seconds`)};d(()=>{U(()=>{!n.arrowControl&&I(),D(),n.role===`start`&&T(`hours`)})});let oe=(e,t)=>{_[t].value=e??void 0};return s(`set-option`,[`${n.role}_scrollDown`,P]),s(`set-option`,[`${n.role}_emitSelectRange`,T]),M(()=>n.spinnerDate,()=>{m||D()}),(e,t)=>(N(),W(`div`,{class:F([Y(c).b(`spinner`),{"has-seconds":e.showSeconds}])},[e.arrowControl?G(`v-if`,!0):(N(!0),W(R,{key:0},r(v.value,t=>(N(),H(Y(tC),{key:t,ref_for:!0,ref:e=>oe(e,t),class:F(Y(c).be(`spinner`,`wrapper`)),"wrap-style":`max-height: inherit;`,"view-class":Y(c).be(`spinner`,`list`),noresize:``,tag:`ul`,onMouseenter:e=>T(t),onMousemove:e=>E(t)},{default:V(()=>[(N(!0),W(R,null,r(b.value[t],(n,r)=>(N(),W(`li`,{key:r,class:F([Y(c).be(`spinner`,`item`),Y(c).is(`active`,r===y.value[t]),Y(c).is(`disabled`,n)]),onClick:e=>re(t,{value:r,disabled:n})},[t===`hours`?(N(),W(R,{key:0},[Ke(S((`0`+(e.amPmMode?r%12||12:r)).slice(-2))+S(w(r)),1)],64)):(N(),W(R,{key:1},[Ke(S((`0`+r).slice(-2)),1)],64))],10,qT))),128))]),_:2},1032,[`class`,`view-class`,`onMouseenter`,`onMousemove`]))),128)),e.arrowControl?(N(!0),W(R,{key:1},r(v.value,t=>(N(),W(`div`,{key:t,class:F([Y(c).be(`spinner`,`wrapper`),Y(c).is(`arrow`)]),onMouseenter:e=>T(t)},[Ge((N(),H(Y(By),{class:F([`arrow-up`,Y(c).be(`spinner`,`arrow`)])},{default:V(()=>[J(Y(Uv))]),_:1},8,[`class`])),[[Y(nT),j]]),Ge((N(),H(Y(By),{class:F([`arrow-down`,Y(c).be(`spinner`,`arrow`)])},{default:V(()=>[J(Y(Bv))]),_:1},8,[`class`])),[[Y(nT),ee]]),B(`ul`,{class:F(Y(c).be(`spinner`,`list`))},[(N(!0),W(R,null,r(x.value[t],(n,r)=>(N(),W(`li`,{key:r,class:F([Y(c).be(`spinner`,`item`),Y(c).is(`active`,n===y.value[t]),Y(c).is(`disabled`,b.value[t][n])])},[Y(Md)(n)?(N(),W(R,{key:0},[t===`hours`?(N(),W(R,{key:0},[Ke(S((`0`+(e.amPmMode?n%12||12:n)).slice(-2))+S(w(n)),1)],64)):(N(),W(R,{key:1},[Ke(S((`0`+n).slice(-2)),1)],64))],64)):G(`v-if`,!0)],2))),128))],2)],42,JT))),128)):G(`v-if`,!0)],2))}}),XT=z({__name:`panel-time-pick`,props:BT,emits:[`pick`,`select-range`,`set-picker-option`],setup(e,{emit:t}){let n=e,r=t,i=l(Ew),{arrowControl:a,disabledHours:o,disabledMinutes:s,disabledSeconds:c,defaultValue:u}=i.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:p}=WT(o,s,c),m=$(`time`),{t:h,lang:g}=Dp(),_=q([0,2]),v=GT(n,{modelValue:K(()=>i.props.modelValue),valueOnClear:K(()=>i?.emptyValues?i.emptyValues.valueOnClear.value:null)}),y=K(()=>Ad(n.actualVisible)?`${m.namespace.value}-zoom-in-top`:``),b=K(()=>n.format.includes(`ss`)),x=K(()=>n.format.includes(`A`)?`A`:n.format.includes(`a`)?`a`:``),C=e=>{let t=(0,Mw.default)(e).locale(g.value),n=M(t);return t.isSame(n)},w=()=>{let e=v.value;r(`pick`,e,!1),U(()=>{v.value=e})},T=(e=!1,t=!1)=>{t||r(`pick`,n.parsedValue,e)},E=e=>{n.visible&&r(`pick`,M(e).millisecond(0),!0)},D=(e,t)=>{r(`select-range`,e,t),_.value=[e,t]},O=e=>{let t=n.format,r=t.indexOf(`HH`),i=t.indexOf(`mm`),a=t.indexOf(`ss`),o=[],s=[];r!==-1&&(o.push(r),s.push(`hours`)),i!==-1&&(o.push(i),s.push(`minutes`)),a!==-1&&b.value&&(o.push(a),s.push(`seconds`));let c=(o.indexOf(_.value[0])+e+o.length)%o.length;A.start_emitSelectRange(s[c])},k=e=>{let t=Kp(e),{left:n,right:r,up:i,down:a}=X;if([n,r].includes(t)){O(t===n?-1:1),e.preventDefault();return}if([i,a].includes(t)){let n=t===i?-1:1;A.start_scrollDown(n),e.preventDefault();return}},{timePickerOptions:A,onSetOption:ee,getAvailableTime:j}=VT({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:p}),M=e=>j(e,n.datetimeRole||``,!0);return r(`set-picker-option`,[`isValidValue`,C]),r(`set-picker-option`,[`parseUserInput`,e=>e?(0,Mw.default)(e,n.format).locale(g.value):null]),r(`set-picker-option`,[`handleKeydownInput`,k]),r(`set-picker-option`,[`getRangeAvailableTime`,M]),r(`set-picker-option`,[`getDefaultValue`,()=>(0,Mw.default)(u).locale(g.value)]),r(`set-picker-option`,[`handleCancel`,w]),(e,t)=>(N(),H(pt,{name:y.value},{default:V(()=>[e.actualVisible||e.visible?(N(),W(`div`,{key:0,class:F(Y(m).b(`panel`))},[B(`div`,{class:F([Y(m).be(`panel`,`content`),{"has-seconds":b.value}])},[J(YT,{ref:`spinner`,role:e.datetimeRole||`start`,"arrow-control":Y(a),"show-seconds":b.value,"am-pm-mode":x.value,"spinner-date":e.parsedValue,"disabled-hours":Y(o),"disabled-minutes":Y(s),"disabled-seconds":Y(c),onChange:E,onSetOption:Y(ee),onSelectRange:D},null,8,[`role`,`arrow-control`,`show-seconds`,`am-pm-mode`,`spinner-date`,`disabled-hours`,`disabled-minutes`,`disabled-seconds`,`onSetOption`])],2),B(`div`,{class:F(Y(m).be(`panel`,`footer`))},[B(`button`,{type:`button`,class:F([Y(m).be(`panel`,`btn`),`cancel`]),onClick:w},S(Y(h)(`el.datepicker.cancel`)),3),B(`button`,{type:`button`,class:F([Y(m).be(`panel`,`btn`),`confirm`]),onClick:t[0]||=e=>T()},S(Y(h)(`el.datepicker.confirm`)),3)],2)],2)):G(`v-if`,!0)]),_:1},8,[`name`]))}}),ZT=Q({...Ww,parsedValue:{type:Z(Array)}}),QT=[`disabled`],$T=z({__name:`panel-time-range`,props:ZT,emits:[`pick`,`select-range`,`set-picker-option`],setup(e,{emit:t}){let n=e,r=t,i=(e,t)=>{let n=[];for(let r=e;r<=t;r++)n.push(r);return n},{t:a,lang:o}=Dp(),s=$(`time`),c=$(`picker`),u=l(Ew),{arrowControl:d,disabledHours:f,disabledMinutes:p,disabledSeconds:m,defaultValue:h}=u.props,g=K(()=>[s.be(`range-picker`,`body`),s.be(`panel`,`content`),s.is(`arrow`,d),C.value?`has-seconds`:``]),_=K(()=>[s.be(`range-picker`,`body`),s.be(`panel`,`content`),s.is(`arrow`,d),C.value?`has-seconds`:``]),v=K(()=>n.parsedValue[0]),y=K(()=>n.parsedValue[1]),b=GT(n,{modelValue:K(()=>u.props.modelValue),valueOnClear:K(()=>u?.emptyValues?u.emptyValues.valueOnClear.value:null)}),x=()=>{let e=b.value;r(`pick`,e,!1),U(()=>{b.value=e})},C=K(()=>n.format.includes(`ss`)),w=K(()=>n.format.includes(`A`)?`A`:n.format.includes(`a`)?`a`:``),T=(e=!1)=>{r(`pick`,[v.value,y.value],e)},E=e=>{k(e.millisecond(0),y.value)},D=e=>{k(v.value,e.millisecond(0))},O=e=>{let t=e.map(e=>(0,Mw.default)(e).locale(o.value)),n=oe(t);return t[0].isSame(n[0])&&t[1].isSame(n[1])},k=(e,t)=>{n.visible&&r(`pick`,[e,t],!0)},ee=K(()=>v.value>y.value),j=q([0,2]),M=(e,t)=>{r(`select-range`,e,t,`min`),j.value=[e,t]},P=K(()=>C.value?11:8),te=(e,t)=>{r(`select-range`,e,t,`max`);let n=Y(P);j.value=[e+n,t+n]},ne=e=>{let t=C.value?[0,3,6,11,14,17]:[0,3,8,11],n=[`hours`,`minutes`].concat(C.value?[`seconds`]:[]),r=(t.indexOf(j.value[0])+e+t.length)%t.length,i=t.length/2;r{let t=Kp(e),{left:n,right:r,up:i,down:a}=X;if([n,r].includes(t)){ne(t===n?-1:1),e.preventDefault();return}if([i,a].includes(t)){let n=t===i?-1:1;le[`${j.value[0]{let n=f?f(e):[],r=e===`start`,a=(t||(r?y.value:v.value)).hour();return kd(n,r?i(a+1,23):i(0,a-1))},ae=(e,t,n)=>{let r=p?p(e,t):[],a=t===`start`,o=n||(a?y.value:v.value);if(e!==o.hour())return r;let s=o.minute();return kd(r,a?i(s+1,59):i(0,s-1))},I=(e,t,n,r)=>{let a=m?m(e,t,n):[],o=n===`start`,s=r||(o?y.value:v.value),c=s.hour(),l=s.minute();if(e!==c||t!==l)return a;let u=s.second();return kd(a,o?i(u+1,59):i(0,u-1))},oe=([e,t])=>[ue(e,`start`,!0,t),ue(t,`end`,!1,e)],{getAvailableHours:L,getAvailableMinutes:se,getAvailableSeconds:ce}=WT(ie,ae,I),{timePickerOptions:le,getAvailableTime:ue,onSetOption:de}=VT({getAvailableHours:L,getAvailableMinutes:se,getAvailableSeconds:ce});return r(`set-picker-option`,[`parseUserInput`,e=>e?A(e)?e.map(e=>(0,Mw.default)(e,n.format).locale(o.value)):(0,Mw.default)(e,n.format).locale(o.value):null]),r(`set-picker-option`,[`isValidValue`,O]),r(`set-picker-option`,[`handleKeydownInput`,re]),r(`set-picker-option`,[`getDefaultValue`,()=>{if(A(h))return h.map(e=>(0,Mw.default)(e).locale(o.value));let e=(0,Mw.default)(h).locale(o.value);return[e,e.add(60,`m`)]}]),r(`set-picker-option`,[`getRangeAvailableTime`,oe]),r(`set-picker-option`,[`handleCancel`,x]),(e,t)=>e.actualVisible?(N(),W(`div`,{key:0,class:F([Y(s).b(`range-picker`),Y(c).b(`panel`)])},[B(`div`,{class:F(Y(s).be(`range-picker`,`content`))},[B(`div`,{class:F(Y(s).be(`range-picker`,`cell`))},[B(`div`,{class:F(Y(s).be(`range-picker`,`header`))},S(Y(a)(`el.datepicker.startTime`)),3),B(`div`,{class:F(g.value)},[J(YT,{ref:`minSpinner`,role:`start`,"show-seconds":C.value,"am-pm-mode":w.value,"arrow-control":Y(d),"spinner-date":v.value,"disabled-hours":ie,"disabled-minutes":ae,"disabled-seconds":I,onChange:E,onSetOption:Y(de),onSelectRange:M},null,8,[`show-seconds`,`am-pm-mode`,`arrow-control`,`spinner-date`,`onSetOption`])],2)],2),B(`div`,{class:F(Y(s).be(`range-picker`,`cell`))},[B(`div`,{class:F(Y(s).be(`range-picker`,`header`))},S(Y(a)(`el.datepicker.endTime`)),3),B(`div`,{class:F(_.value)},[J(YT,{ref:`maxSpinner`,role:`end`,"show-seconds":C.value,"am-pm-mode":w.value,"arrow-control":Y(d),"spinner-date":y.value,"disabled-hours":ie,"disabled-minutes":ae,"disabled-seconds":I,onChange:D,onSetOption:Y(de),onSelectRange:te},null,8,[`show-seconds`,`am-pm-mode`,`arrow-control`,`spinner-date`,`onSetOption`])],2)],2)],2),B(`div`,{class:F(Y(s).be(`panel`,`footer`))},[B(`button`,{type:`button`,class:F([Y(s).be(`panel`,`btn`),`cancel`]),onClick:t[0]||=e=>x()},S(Y(a)(`el.datepicker.cancel`)),3),B(`button`,{type:`button`,class:F([Y(s).be(`panel`,`btn`),`confirm`]),disabled:ee.value,onClick:t[1]||=e=>T()},S(Y(a)(`el.datepicker.confirm`)),11,QT)],2)],2)):G(`v-if`,!0)}}),eE=fe(ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){var e={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`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))}))(),1);Mw.default.extend(eE.default);var tE=Pv(z({name:`ElTimePicker`,install:null,props:{...Gw,isRange:Boolean},emits:[br],setup(e,t){let n=q(),[r,i]=e.isRange?[`timerange`,$T]:[`time`,XT],a=e=>t.emit(br,e);return Qe(Dw,e.popperOptions),t.expose({focus:()=>{n.value?.focus()},blur:()=>{n.value?.blur()},handleOpen:()=>{n.value?.handleOpen()},handleClose:()=>{n.value?.handleClose()}}),()=>J(Zw,k(e,{ref:n,type:r,format:e.format??`HH:mm:ss`,"onUpdate:modelValue":a}),{default:e=>J(i,e,null)})}})),nE=Q({type:{type:String,values:[`primary`,`success`,`info`,`warning`,`danger`],default:`primary`},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:wr},effect:{type:String,values:[`dark`,`light`,`plain`],default:`light`},round:Boolean}),rE={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},iE=[`aria-label`],aE=[`aria-label`],oE=Pv(z({name:`ElTag`,__name:`tag`,props:nE,emits:rE,setup(e,{emit:t}){let n=e,r=t,i=cb(),{t:a}=Dp(),o=$(`tag`),s=K(()=>{let{type:e,hit:t,effect:r,closable:a,round:s}=n;return[o.b(),o.is(`closable`,a),o.m(e||`primary`),o.m(i.value),o.m(r),o.is(`hit`,t),o.is(`round`,s)]}),c=e=>{r(`close`,e)},l=e=>{r(`click`,e)},u=e=>{e?.component?.subTree?.component?.bum&&(e.component.subTree.component.bum=null)};return(t,n)=>e.disableTransitions?(N(),W(`span`,{key:0,class:F(s.value),style:m({backgroundColor:e.color}),onClick:l},[B(`span`,{class:F(Y(o).e(`content`))},[I(t.$slots,`default`)],2),e.closable?(N(),W(`button`,{key:0,"aria-label":Y(a)(`el.tag.close`),class:F(Y(o).e(`close`)),type:`button`,onClick:kn(c,[`stop`])},[J(Y(By),null,{default:V(()=>[J(Y(ey))]),_:1})],10,iE)):G(`v-if`,!0)],6)):(N(),H(pt,{key:1,name:`${Y(o).namespace.value}-zoom-in-center`,appear:``,onVnodeMounted:u},{default:V(()=>[B(`span`,{class:F(s.value),style:m({backgroundColor:e.color}),onClick:l},[B(`span`,{class:F(Y(o).e(`content`))},[I(t.$slots,`default`)],2),e.closable?(N(),W(`button`,{key:0,"aria-label":Y(a)(`el.tag.close`),class:F(Y(o).e(`close`)),type:`button`,onClick:kn(c,[`stop`])},[J(Y(By),null,{default:V(()=>[J(Y(ey))]),_:1})],10,aE)):G(`v-if`,!0)],6)]),_:3},8,[`name`]))}})),sE=Symbol(`ElSelectGroup`),cE=Symbol(`ElSelect`),lE={label:`label`,value:`value`,disabled:`disabled`,options:`options`};function uE(e){let t=q({...lE,...e.props}),n={...e.props};return M(()=>e.props,e=>{sd(e,n)||(t.value={...lE,...e},n={...e})},{deep:!0}),{aliasProps:t,getLabel:e=>ss(e,t.value.label),getValue:e=>ss(e,t.value.value),getDisabled:e=>ss(e,t.value.disabled),getOptions:e=>ss(e,t.value.options)}}var dE=Q({name:String,id:String,modelValue:{type:Z([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:`off`},automaticDropdown:Boolean,size:xv,effect:{type:Z(String),default:`light`},disabled:{type:Boolean,default:void 0},clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:``},popperStyle:{type:Z([String,Object])},popperOptions:{type:Z(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:Z(Function)},filterMethod:{type:Z(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:Z(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},teleported:fS.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Ny,default:Qv},fitInputWidth:Boolean,suffixIcon:{type:Ny,default:Bv},tagType:{...nE.type,default:`info`},tagEffect:{...nE.effect,default:`light`},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:Z(String),values:fm,default:`bottom-start`},fallbackPlacements:{type:Z(Array),default:[`bottom-start`,`top-start`,`right`,`left`]},tabindex:{type:[String,Number],default:0},appendTo:fS.appendTo,options:{type:Z(Array)},props:{type:Z(Object),default:()=>lE},...kv,...Mv([`ariaLabel`])}),fE={[br]:e=>!0,[xr]:e=>!0,"popup-scroll":US.scroll,"end-reached":US[`end-reached`],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},pE=`ElOption`,mE=Q({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean});function hE(e,t){let n=l(cE);n||qd(pE,`usage: `);let r=l(sE,{disabled:!1}),i=K(()=>d(Cs(n.props.modelValue),e.value)),a=K(()=>{if(n.props.multiple){let e=Cs(n.props.modelValue??[]);return!i.value&&e.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),o=K(()=>e.label??(E(e.value)?``:e.value)),s=K(()=>e.value||e.label||``),c=K(()=>e.disabled||t.groupDisabled||a.value),u=Xe(),d=(t=[],r)=>{if(E(e.value)){let e=n.props.valueKey;return t&&t.some(t=>Me(ss(t,e))===ss(r,e))}else return t&&t.includes(r)};return M(()=>o.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),M(()=>e.value,(t,r)=>{let{remote:i,valueKey:a}=n.props;if((i?t!==r:!sd(t,r))&&(n.onOptionDestroy(r,u.proxy),n.onOptionCreate(u.proxy)),!e.created&&!i){if(a&&E(t)&&E(r)&&t[a]===r[a])return;n.setSelected()}}),M(()=>r.disabled,()=>{t.groupDisabled=r.disabled},{immediate:!0}),{select:n,currentLabel:o,currentValue:s,itemSelected:i,isDisabled:c,hoverItem:()=>{c.value||(n.states.hoveringIndex=n.optionsArray.indexOf(u.proxy))},updateOption:n=>{t.visible=new RegExp(dp(n),`i`).test(String(o.value))||e.created}}}var gE=z({name:pE,componentName:pE,props:mE,setup(e){let t=$(`select`),n=rg(),r=K(()=>[t.be(`dropdown`,`item`),t.is(`disabled`,Y(c)),t.is(`selected`,Y(s)),t.is(`hovering`,Y(p))]),i=ve({index:-1,groupDisabled:!1,visible:!0,hover:!1}),a=uf?null:`mousemove`,{currentLabel:o,itemSelected:s,isDisabled:c,select:l,hoverItem:u,updateOption:d}=hE(e,i),{visible:f,hover:p}=Se(i),m=Xe().proxy;l.onOptionCreate(m),T(()=>{let e=m.value;U(()=>{let{selected:t}=l.states,n=t.some(e=>e.value===m.value);l.states.cachedOptions.get(e)===m&&!n&&l.states.cachedOptions.delete(e)}),l.onOptionDestroy(e,m)});function h(){c.value||l.handleOptionSelect(m)}return{ns:t,id:n,containerKls:r,currentLabel:o,itemSelected:s,isDisabled:c,select:l,visible:f,hover:p,states:i,mouseMoveEventName:a,hoverItem:u,handleMousedown:e=>{let t=e.target,n=e.currentTarget;for(;t&&t!==n;){if(rp(t))return;t=t.parentElement}e.preventDefault()},updateOption:d,selectOptionClick:h}}}),_E=[`id`,`aria-disabled`,`aria-selected`];function vE(e,t,n,r,i,a){return Ge((N(),W(`li`,k({id:e.id,class:e.containerKls,role:`option`,"aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected},{[ze(e.mouseMoveEventName)]:t[0]||=(...t)=>e.hoverItem&&e.hoverItem(...t)},{onMousedown:t[1]||=(...t)=>e.handleMousedown&&e.handleMousedown(...t),onClick:t[2]||=kn((...t)=>e.selectOptionClick&&e.selectOptionClick(...t),[`stop`])}),[I(e.$slots,`default`,{},()=>[B(`span`,null,S(e.currentLabel),1)])],16,_E)),[[jt,e.visible]])}var yE=$x(gE,[[`render`,vE]]),bE=z({name:`ElOptionGroup`,componentName:`ElOptionGroup`,props:{label:String,disabled:Boolean},setup(e){let t=$(`select`),n=q(),r=Xe(),i=q([]);Qe(sE,ve({...Se(e)}));let a=K(()=>i.value.some(e=>e.visible===!0)),o=e=>e.type.name===`ElOption`&&!!e.component?.proxy,c=e=>{let t=Cs(e),n=[];return t.forEach(e=>{s(e)&&(o(e)?n.push(e.component.proxy):A(e.children)&&e.children.length?n.push(...c(e.children)):e.component?.subTree&&n.push(...c(e.component.subTree)))}),n},l=()=>{i.value=c(r.subTree)};return d(()=>{l()}),Pf(n,l,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:a,ns:t}}});function xE(e,t,n,r,i,a){return Ge((N(),W(`ul`,{ref:`groupRef`,class:F(e.ns.be(`group`,`wrap`))},[B(`li`,{class:F(e.ns.be(`group`,`title`))},S(e.label),3),B(`li`,null,[B(`ul`,{class:F(e.ns.b(`group`))},[I(e.$slots,`default`)],2)])],2)),[[jt,e.visible]])}var SE=$x(bE,[[`render`,xE]]),CE=z({name:`ElSelectDropdown`,componentName:`ElSelectDropdown`,setup(){let e=l(cE),t=$(`select`),n=K(()=>e.props.popperClass),r=K(()=>e.props.multiple),i=K(()=>e.props.fitInputWidth),a=q(``);function o(){let t=e.selectRef?.offsetWidth;t?a.value=`${t-2}px`:a.value=``}return d(()=>{o(),Uf(e.selectRef,o)}),{ns:t,minWidth:a,popperClass:n,isMultiple:r,isFitInputWidth:i}}});function wE(e,t,n,r,i,a){return N(),W(`div`,{class:F([e.ns.b(`dropdown`),e.ns.is(`multiple`,e.isMultiple),e.popperClass]),style:m({[e.isFitInputWidth?`width`:`minWidth`]:e.minWidth})},[e.$slots.header?(N(),W(`div`,{key:0,class:F(e.ns.be(`dropdown`,`header`))},[I(e.$slots,`header`)],2)):G(`v-if`,!0),I(e.$slots,`default`),e.$slots.footer?(N(),W(`div`,{key:1,class:F(e.ns.be(`dropdown`,`footer`))},[I(e.$slots,`footer`)],2)):G(`v-if`,!0)],6)}var TE=$x(CE,[[`render`,wE]]),EE=(t,r)=>{let{t:i}=Dp(),a=le(),o=rg(),s=$(`select`),c=$(`input`),l=ve({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=q(),f=q(),p=q(),m=q(),h=q(),g=q(),_=q(),v=q(),y=q(),b=q(),x=q(),S=q(!1),C=q(),w=q(!1),{form:T,formItem:D}=ub(),{inputId:O}=db(t,{formItemContext:D}),{valueOnClear:k,isEmptyValue:ee}=Av(t),{isComposing:N,handleCompositionStart:P,handleCompositionUpdate:te,handleCompositionEnd:ne}=Tv({afterComposition:e=>Me(e)}),re=lb(),{wrapperRef:ie,isFocused:ae,handleBlur:F}=wv(h,{disabled:re,afterFocus(){t.automaticDropdown&&!S.value&&(S.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(e){return p.value?.isFocusInsideContent(e)||m.value?.isFocusInsideContent(e)},afterBlur(){S.value=!1,l.menuVisibleOnFocus=!1,t.validateEvent&&D?.validate?.(`blur`).catch(ge)}}),I=K(()=>A(t.modelValue)?t.modelValue.length>0:!ee(t.modelValue)),oe=K(()=>T?.statusIcon??!1),L=K(()=>t.clearable&&!re.value&&I.value&&(ae.value||l.inputHovering)),se=K(()=>t.remote&&t.filterable&&!t.remoteShowSuffix?``:t.suffixIcon),ce=K(()=>s.is(`reverse`,!!(se.value&&S.value))),ue=K(()=>D?.validateState||``),de=K(()=>ue.value&&Ly[ue.value]),fe=K(()=>t.remote?t.debounce:0),pe=K(()=>t.remote&&!l.inputValue&&l.options.size===0),me=K(()=>t.loading?t.loadingText||i(`el.select.loading`):t.filterable&&l.inputValue&&l.options.size>0&&R.value===0?t.noMatchText||i(`el.select.noMatch`):l.options.size===0?t.noDataText||i(`el.select.noData`):null),R=K(()=>he.value.filter(e=>e.visible).length),he=K(()=>{let e=Array.from(l.options.values()),t=[];return l.optionValues.forEach(n=>{let r=e.findIndex(e=>e.value===n);r>-1&&t.push(e[r])}),t.length>=e.length?t:e}),z=K(()=>Array.from(l.cachedOptions.values())),_e=K(()=>{let e=he.value.filter(e=>!e.created).some(e=>e.currentLabel===l.inputValue);return t.filterable&&t.allowCreate&&l.inputValue!==``&&!e}),B=()=>{t.filterable&&n(t.filterMethod)||t.filterable&&t.remote&&n(t.remoteMethod)||he.value.forEach(e=>{e.updateOption?.(l.inputValue)})},ye=cb(),V=K(()=>[`small`].includes(ye.value)?`small`:`default`),H=K({get(){return S.value&&(t.loading||!pe.value||t.remote&&!!a.empty)&&(!w.value||!Nd(l.previousQuery)||l.options.size>0)},set(e){S.value=e}}),be=K(()=>{if(t.multiple&&!Ad(t.modelValue))return Cs(t.modelValue).length===0&&!l.inputValue;let e=A(t.modelValue)?t.modelValue[0]:t.modelValue;return t.filterable||Ad(e)?!l.inputValue:!0}),xe=K(()=>{let e=t.placeholder??i(`el.select.placeholder`);return t.multiple||!I.value?e:l.selectedLabel}),Se=uf?null:`mouseenter`;M(()=>t.modelValue,(e,n)=>{t.multiple&&t.filterable&&!t.reserveKeyword&&(l.inputValue=``,Ce(``)),Te(),!sd(e,n)&&t.validateEvent&&D?.validate(`change`).catch(ge)},{flush:`post`,deep:!0}),M(()=>S.value,e=>{e?Ce(l.inputValue):(l.inputValue=``,l.previousQuery=null,l.isBeforeHide=!0,l.menuVisibleOnFocus=!1)}),M(()=>l.options.entries(),()=>{nf&&(Te(),t.defaultFirstOption&&(t.filterable||t.remote)&&R.value&&we())},{flush:`post`}),M([()=>l.hoveringIndex,he],([e])=>{Md(e)&&e>-1?C.value=he.value[e]||{}:C.value={},he.value.forEach(e=>{e.hover=C.value===e})}),e(()=>{l.isBeforeHide||B()});let Ce=e=>{l.previousQuery===e||N.value||(l.previousQuery=e,t.filterable&&n(t.filterMethod)?t.filterMethod(e):t.filterable&&t.remote&&n(t.remoteMethod)&&t.remoteMethod(e),t.defaultFirstOption&&(t.filterable||t.remote)&&R.value?U(we):U(De))},we=()=>{let e=he.value.filter(e=>e.visible&&!e.disabled&&!e.states.groupDisabled),t=e.find(e=>e.created),n=e[0];l.hoveringIndex=ze(he.value.map(e=>e.value),t||n)},Te=()=>{if(t.multiple)l.selectedLabel=``;else{let e=Ee(A(t.modelValue)?t.modelValue[0]:t.modelValue);l.selectedLabel=e.currentLabel,l.selected=[e];return}let e=[];Ad(t.modelValue)||Cs(t.modelValue).forEach(t=>{e.push(Ee(t))}),l.selected=e},Ee=e=>{let n,r=j(e);for(let i=l.cachedOptions.size-1;i>=0;i--){let a=z.value[i];if(r?ss(a.value,t.valueKey)===ss(e,t.valueKey):a.value===e){n={index:he.value.filter(e=>!e.created).indexOf(a),value:e,currentLabel:a.currentLabel,get isDisabled(){return a.isDisabled}};break}}if(n)return n;let i=l.selected.find(n=>r?ss(n.value,t.valueKey)===ss(e,t.valueKey):n.value===e);return{index:-1,value:e,currentLabel:r?e.label:i?i.currentLabel:e??``}},De=()=>{let e=l.selected.length;if(e>0){let t=l.selected[e-1];l.hoveringIndex=he.value.findIndex(e=>J(t)===J(e))}else l.hoveringIndex=-1},Oe=()=>{l.selectionWidth=Number.parseFloat(window.getComputedStyle(f.value).width)},ke=()=>{l.collapseItemWidth=b.value.getBoundingClientRect().width},Ae=()=>{p.value?.updatePopper?.()},je=()=>{m.value?.updatePopper?.()},W=()=>{l.inputValue.length>0&&!S.value&&(S.value=!0),Ce(l.inputValue)},Me=e=>{if(l.inputValue=e.target.value,t.remote)w.value=!0,Ne();else return W()},Ne=bf(()=>{W(),w.value=!1},fe),Pe=e=>{sd(t.modelValue,e)||r(xr,e)},Fe=e=>$u(e,e=>{let t=l.cachedOptions.get(e);return!t?.disabled&&!t?.states.groupDisabled}),Ie=e=>{let n=Kp(e);if(t.multiple&&n!==X.delete&&e.target.value.length<=0){let e=Cs(t.modelValue).slice(),n=Fe(e);if(n<0)return;let i=e[n];e.splice(n,1),r(br,e),Pe(e),r(`remove-tag`,i)}},G=(e,n)=>{let i=l.selected.indexOf(n);if(i>-1&&!re.value){let e=Cs(t.modelValue).slice();e.splice(i,1),r(br,e),Pe(e),r(`remove-tag`,n.value)}e.stopPropagation(),Ge()},Le=e=>{e.stopPropagation();let n=t.multiple?[]:k.value;if(t.multiple)for(let e of l.selected)e.isDisabled&&n.push(e.value);r(br,n),Pe(n),l.hoveringIndex=-1,S.value=!1,r(`clear`),Ge()},Re=e=>{if(t.multiple){let n=Cs(t.modelValue??[]).slice(),i=ze(n,e);i>-1?n.splice(i,1):(t.multipleLimit<=0||n.length{Be(e)})},ze=(e,n)=>Ad(n)?-1:E(n.value)?e.findIndex(e=>sd(ss(e,t.valueKey),J(n))):e.indexOf(n.value),Be=e=>{let t=A(e)?e[e.length-1]:e,n=null;if(!cd(t?.value)){let e=he.value.filter(e=>e.value===t.value);e.length>0&&(n=e[0].$el)}if(p.value&&n){let e=p.value?.popperRef?.contentRef?.querySelector?.(`.${s.be(`dropdown`,`wrap`)}`);e&&zp(e,n)}x.value?.handleScroll()},Ve=e=>{l.options.set(e.value,e),l.cachedOptions.set(e.value,e)},He=(e,t)=>{l.options.get(e)===t&&l.options.delete(e)},Ue=K(()=>p.value?.popperRef?.contentRef),We=()=>{l.isBeforeHide=!1,U(()=>{x.value?.update(),Be(l.selected)})},Ge=()=>{h.value?.focus()},Ke=()=>{if(S.value){S.value=!1,U(()=>h.value?.blur());return}h.value?.blur()},qe=e=>{Le(e)},Je=e=>{if(S.value=!1,ae.value){let t=new FocusEvent(`blur`,e);U(()=>F(t))}},Ye=()=>{l.inputValue.length>0?l.inputValue=``:S.value=!1},Xe=e=>{re.value||t.filterable&&S.value&&e&&!_.value?.contains(e.target)||(uf&&(l.inputHovering=!0),l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:S.value=!S.value)},Ze=()=>{if(!S.value)Xe();else{let e=he.value[l.hoveringIndex];e&&!e.isDisabled&&Re(e)}},J=e=>E(e.value)?ss(e.value,t.valueKey):e.value,Y=K(()=>he.value.filter(e=>e.visible).every(e=>e.isDisabled)),Qe=K(()=>t.multiple?t.collapseTags?l.selected.slice(0,t.maxCollapseTags):l.selected:[]),$e=K(()=>t.multiple&&t.collapseTags?l.selected.slice(t.maxCollapseTags):[]),et=e=>{if(!S.value){S.value=!0;return}if(!(l.options.size===0||R.value===0||N.value)&&!Y.value){e===`next`?(l.hoveringIndex++,l.hoveringIndex===l.options.size&&(l.hoveringIndex=0)):e===`prev`&&(l.hoveringIndex--,l.hoveringIndex<0&&(l.hoveringIndex=l.options.size-1));let t=he.value[l.hoveringIndex];(t.isDisabled||!t.visible)&&et(e),U(()=>Be(C.value))}},tt=(e,t,n,r)=>{for(let i=t;i>=0&&i{let n=l.options.size;if(n===0)return;let r=Ts(e,0,n-1),i=he.value,a=t===`up`?-1:1,o=tt(i,r,a,n)??tt(i,r-a,-a,n);o!=null&&(l.hoveringIndex=o,U(()=>Be(C.value)))},rt=e=>{let t=Kp(e),n=!0;switch(t){case X.up:et(`prev`);break;case X.down:et(`next`);break;case X.enter:case X.numpadEnter:N.value||Ze();break;case X.esc:Ye();break;case X.backspace:n=!1,Ie(e);return;case X.home:if(!S.value)return;nt(0,`down`);break;case X.end:if(!S.value)return;nt(l.options.size-1,`up`);break;case X.pageUp:if(!S.value)return;nt(l.hoveringIndex-10,`up`);break;case X.pageDown:if(!S.value)return;nt(l.hoveringIndex+10,`down`);break;default:n=!1;break}n&&(e.preventDefault(),e.stopPropagation())},it=()=>{if(!f.value)return 0;let e=window.getComputedStyle(f.value);return Number.parseFloat(e.gap||`6px`)},at=K(()=>{let e=it(),n=t.filterable?e+11:0;return{maxWidth:`${b.value&&t.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-e-n:l.selectionWidth-n}px`}}),ot=K(()=>({maxWidth:`${l.selectionWidth}px`})),st=e=>{r(`popup-scroll`,e)},ct=e=>{r(`end-reached`,e)};Uf(f,Oe),Uf(ie,Ae),Uf(y,je),Uf(b,ke);let lt;return M(()=>H.value,e=>{e?lt=Uf(v,Ae).stop:(lt?.(),lt=void 0),r(`visible-change`,e)}),d(()=>{Te()}),{inputId:O,contentId:o,nsSelect:s,nsInput:c,states:l,isFocused:ae,expanded:S,optionsArray:he,hoverOption:C,selectSize:ye,filteredOptionsCount:R,updateTooltip:Ae,updateTagTooltip:je,debouncedOnInputChange:Ne,onInput:Me,deletePrevTag:Ie,deleteTag:G,deleteSelected:Le,handleOptionSelect:Re,scrollToOption:Be,hasModelValue:I,shouldShowPlaceholder:be,currentPlaceholder:xe,mouseEnterEventName:Se,needStatusIcon:oe,showClearBtn:L,iconComponent:se,iconReverse:ce,validateState:ue,validateIcon:de,showNewOption:_e,updateOptions:B,collapseTagSize:V,setSelected:Te,selectDisabled:re,emptyText:me,handleCompositionStart:P,handleCompositionUpdate:te,handleCompositionEnd:ne,handleKeydown:rt,onOptionCreate:Ve,onOptionDestroy:He,handleMenuEnter:We,focus:Ge,blur:Ke,handleClearClick:qe,handleClickOutside:Je,handleEsc:Ye,toggleMenu:Xe,selectOption:Ze,getValueKey:J,navigateOptions:et,dropdownMenuVisible:H,showTagList:Qe,collapseTagList:$e,popupScroll:st,getOption:Ee,endReached:ct,tagStyle:at,collapseTagStyle:ot,popperRef:Ue,inputRef:h,tooltipRef:p,tagTooltipRef:m,prefixRef:g,suffixRef:_,selectRef:u,wrapperRef:ie,selectionRef:f,scrollbarRef:x,menuRef:v,tagMenuRef:y,collapseItemRef:b}},DE=z({name:`ElOptions`,setup(e,{slots:t}){let r=l(cE),i=[];return()=>{let e=t.default?.(),a=[];function o(e){A(e)&&e.forEach(e=>{let t=(e?.type||{})?.name;t===`ElOptionGroup`?o(!P(e.children)&&!A(e.children)&&n(e.children?.default)?e.children?.default():e.children):t===`ElOption`?a.push(e.props?.value):A(e.children)&&o(e.children)})}return e.length&&o(e[0]?.children),sd(a,i)||(i=a,r&&(r.states.optionValues=a)),e}}}),OE=`ElSelect`,kE=new WeakMap,AE=e=>(...t)=>{let n=t[0];if(!n||n.includes(`Slot "default" invoked outside of the render function`)&&t[2]?.includes(`ElTreeSelect`))return;let r=kE.get(e)?.originalWarnHandler;if(r){r(...t);return}console.warn(...t)},jE=e=>{let t=kE.get(e);return t||(t={originalWarnHandler:e.config.warnHandler,handler:AE(e),count:0},kE.set(e,t)),t},ME=z({name:OE,componentName:OE,components:{ElSelectMenu:TE,ElOption:yE,ElOptions:DE,ElOptionGroup:SE,ElTag:oE,ElScrollbar:tC,ElTooltip:ES,ElIcon:By},directives:{ClickOutside:eT},props:dE,emits:fE,setup(e,{emit:t,slots:n}){let r=Xe(),i=jE(r.appContext);i.count+=1,r.appContext.config.warnHandler=i.handler;let a=K(()=>{let{modelValue:t,multiple:n}=e,r=n?[]:void 0;return A(t)?n?t:r:n?r:t}),o=ve({...Se(e),modelValue:a}),s=EE(o,t),{calculatorRef:c,inputStyle:l}=Xf(),{getLabel:u,getValue:d,getOptions:f,getDisabled:p}=uE(e),m=e=>({label:u(e),value:d(e),disabled:p(e)}),h=e=>e.reduce((e,t)=>(e.push(t),t.children&&t.children.length>0&&e.push(...h(t.children)),e),[]),g=e=>{vv(e||[]).forEach(e=>{if(E(e)&&(e.type.name===`ElOption`||e.type.name===`ElTree`)){let t=e.type.name;if(t===`ElTree`)h(e.props?.data||[]).forEach(e=>{e.currentLabel=e.label??(E(e.value)?``:e.value),s.onOptionCreate(e)});else if(t===`ElOption`){let t={...e.props};t.currentLabel=t.label??(E(t.value)?``:t.value),s.onOptionCreate(t)}}})};M(()=>[e.persistent||s.expanded.value||!n.default?void 0:n.default?.(),a.value],()=>{e.persistent||s.expanded.value||n.default&&(s.states.options.clear(),g(n.default?.()))},{immediate:!0}),Qe(cE,ve({props:o,states:s.states,selectRef:s.selectRef,optionsArray:s.optionsArray,setSelected:s.setSelected,handleOptionSelect:s.handleOptionSelect,onOptionCreate:s.onOptionCreate,onOptionDestroy:s.onOptionDestroy}));let _=K(()=>e.multiple?s.states.selected.map(e=>e.currentLabel):s.states.selectedLabel);return T(()=>{let e=kE.get(r.appContext);e&&(--e.count,e.count<=0&&(r.appContext.config.warnHandler=e.originalWarnHandler,kE.delete(r.appContext)))}),{...s,modelValue:a,selectedLabel:_,calculatorRef:c,inputStyle:l,getLabel:u,getValue:d,getOptions:f,getDisabled:p,getOptionProps:m}}}),NE=[`id`,`value`,`name`,`disabled`,`autocomplete`,`tabindex`,`readonly`,`aria-activedescendant`,`aria-controls`,`aria-expanded`,`aria-label`],PE=[`textContent`],FE={key:1};function IE(e,t,n,i,a,o){let s=h(`el-tag`),c=h(`el-tooltip`),l=h(`el-icon`),u=h(`el-option`),d=h(`el-option-group`),f=h(`el-options`),p=h(`el-scrollbar`),g=h(`el-select-menu`),_=ae(`click-outside`);return Ge((N(),W(`div`,k({ref:`selectRef`,class:[e.nsSelect.b(),e.nsSelect.m(e.selectSize)]},{[ze(e.mouseEnterEventName)]:t[11]||=t=>e.states.inputHovering=!0},{onMouseleave:t[12]||=t=>e.states.inputHovering=!1}),[J(c,{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=>e.states.isBeforeHide=!1},{default:V(()=>[B(`div`,{ref:`wrapperRef`,class:F([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]||=kn((...t)=>e.toggleMenu&&e.toggleMenu(...t),[`prevent`])},[e.$slots.prefix?(N(),W(`div`,{key:0,ref:`prefixRef`,class:F(e.nsSelect.e(`prefix`))},[I(e.$slots,`prefix`)],2)):G(`v-if`,!0),B(`div`,{ref:`selectionRef`,class:F([e.nsSelect.e(`selection`),e.nsSelect.is(`near`,e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?I(e.$slots,`tag`,{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(N(!0),W(R,null,r(e.showTagList,t=>(N(),W(`div`,{key:e.getValueKey(t),class:F(e.nsSelect.e(`selected-item`))},[J(s,{closable:!e.selectDisabled&&!t.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":``,style:m(e.tagStyle),onClose:n=>e.deleteTag(n,t)},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},[I(e.$slots,`label`,{index:t.index,label:t.currentLabel,value:t.value},()=>[Ke(S(t.currentLabel),1)])],2)]),_:2},1032,[`closable`,`size`,`type`,`effect`,`style`,`onClose`])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(N(),H(c,{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:V(()=>[B(`div`,{ref:`collapseItemRef`,class:F(e.nsSelect.e(`selected-item`))},[J(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":``,style:m(e.collapseTagStyle)},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},` + `+S(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,[`size`,`type`,`effect`,`style`])],2)]),content:V(()=>[B(`div`,{ref:`tagMenuRef`,class:F(e.nsSelect.e(`selection`))},[(N(!0),W(R,null,r(e.collapseTagList,t=>(N(),W(`div`,{key:e.getValueKey(t),class:F(e.nsSelect.e(`selected-item`))},[J(s,{class:`in-tooltip`,closable:!e.selectDisabled&&!t.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":``,onClose:n=>e.deleteTag(n,t)},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},[I(e.$slots,`label`,{index:t.index,label:t.currentLabel,value:t.value},()=>[Ke(S(t.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`])):G(`v-if`,!0)]):G(`v-if`,!0),B(`div`,{class:F([e.nsSelect.e(`selected-item`),e.nsSelect.e(`input-wrapper`),e.nsSelect.is(`hidden`,!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[B(`input`,{id:e.inputId,ref:`inputRef`,value:e.states.inputValue,type:`text`,name:e.name,class:F([e.nsSelect.e(`input`),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:m(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)=>e.handleKeydown&&e.handleKeydown(...t),onCompositionstart:t[1]||=(...t)=>e.handleCompositionStart&&e.handleCompositionStart(...t),onCompositionupdate:t[2]||=(...t)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...t),onCompositionend:t[3]||=(...t)=>e.handleCompositionEnd&&e.handleCompositionEnd(...t),onInput:t[4]||=(...t)=>e.onInput&&e.onInput(...t),onChange:t[5]||=kn(()=>{},[`stop`]),onClick:t[6]||=kn((...t)=>e.toggleMenu&&e.toggleMenu(...t),[`stop`])},null,46,NE),e.filterable?(N(),W(`span`,{key:0,ref:`calculatorRef`,"aria-hidden":`true`,class:F(e.nsSelect.e(`input-calculator`)),textContent:S(e.states.inputValue)},null,10,PE)):G(`v-if`,!0)],2),e.shouldShowPlaceholder?(N(),W(`div`,{key:1,class:F([e.nsSelect.e(`selected-item`),e.nsSelect.e(`placeholder`),e.nsSelect.is(`transparent`,!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?I(e.$slots,`label`,{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[B(`span`,null,S(e.currentPlaceholder),1)]):(N(),W(`span`,FE,S(e.currentPlaceholder),1))],2)):G(`v-if`,!0)],2),B(`div`,{ref:`suffixRef`,class:F(e.nsSelect.e(`suffix`))},[e.iconComponent&&!e.showClearBtn?(N(),H(l,{key:0,class:F([e.nsSelect.e(`caret`),e.nsSelect.e(`icon`),e.iconReverse])},{default:V(()=>[(N(),H(L(e.iconComponent)))]),_:1},8,[`class`])):G(`v-if`,!0),e.showClearBtn&&e.clearIcon?(N(),H(l,{key:1,class:F([e.nsSelect.e(`caret`),e.nsSelect.e(`icon`),e.nsSelect.e(`clear`)]),onClick:e.handleClearClick},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`onClick`])):G(`v-if`,!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(N(),H(l,{key:2,class:F([e.nsInput.e(`icon`),e.nsInput.e(`validateIcon`),e.nsInput.is(`loading`,e.validateState===`validating`)])},{default:V(()=>[(N(),H(L(e.validateIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)],2)]),content:V(()=>[J(g,{ref:`menuRef`},{default:V(()=>[e.$slots.header?(N(),W(`div`,{key:0,class:F(e.nsSelect.be(`dropdown`,`header`)),onClick:t[8]||=kn(()=>{},[`stop`])},[I(e.$slots,`header`)],2)):G(`v-if`,!0),Ge(J(p,{id:e.contentId,ref:`scrollbarRef`,tag:`ul`,"wrap-class":e.nsSelect.be(`dropdown`,`wrap`),"view-class":e.nsSelect.be(`dropdown`,`list`),class:F([e.nsSelect.is(`empty`,e.filteredOptionsCount===0)]),role:`listbox`,"aria-label":e.ariaLabel,"aria-orientation":`vertical`,onScroll:e.popupScroll,onEndReached:e.endReached},{default:V(()=>[e.showNewOption?(N(),H(u,{key:0,value:e.states.inputValue,created:!0},null,8,[`value`])):G(`v-if`,!0),J(f,null,{default:V(()=>[I(e.$slots,`default`,{},()=>[(N(!0),W(R,null,r(e.options,(t,n)=>(N(),W(R,{key:n},[e.getOptions(t)?.length?(N(),H(d,{key:0,label:e.getLabel(t),disabled:e.getDisabled(t)},{default:V(()=>[(N(!0),W(R,null,r(e.getOptions(t),t=>(N(),H(u,k({key:e.getValue(t)},{ref_for:!0},e.getOptionProps(t)),null,16))),128))]),_:2},1032,[`label`,`disabled`])):(N(),H(u,k({key:1,ref_for:!0},e.getOptionProps(t)),null,16))],64))),128))])]),_:3})]),_:3},8,[`id`,`wrap-class`,`view-class`,`class`,`aria-label`,`onScroll`,`onEndReached`]),[[jt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(N(),W(`div`,{key:1,class:F(e.nsSelect.be(`dropdown`,`loading`))},[I(e.$slots,`loading`)],2)):e.loading||e.filteredOptionsCount===0?(N(),W(`div`,{key:2,class:F(e.nsSelect.be(`dropdown`,`empty`))},[I(e.$slots,`empty`,{},()=>[B(`span`,null,S(e.emptyText),1)])],2)):G(`v-if`,!0),e.$slots.footer?(N(),W(`div`,{key:3,class:F(e.nsSelect.be(`dropdown`,`footer`)),onClick:t[9]||=kn(()=>{},[`stop`])},[I(e.$slots,`footer`)],2)):G(`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)),[[_,e.handleClickOutside,e.popperRef]])}var LE=Pv($x(ME,[[`render`,IE]]),{Option:yE,OptionGroup:SE}),RE=Lv(yE),zE=Lv(SE),BE=(e,t)=>{let n=e.subtract(1,`month`).endOf(`month`).date();return Pw(t).map((e,r)=>n-(t-r-1))},VE=e=>Pw(e.daysInMonth()).map((e,t)=>t+1),HE=e=>Pw(e.length/7).map(t=>{let n=t*7;return e.slice(n,n+7)}),UE=Q({selectedDay:{type:Z(Object)},range:{type:Z(Array)},date:{type:Z(Object),required:!0},hideHeader:{type:Boolean}}),WE={pick:e=>E(e)},GE=fe(ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_localeData=r()})(e,(function(){return function(e,t,n){var r=t.prototype,i=function(e){return e&&(e.indexOf?e:e.s)},a=function(e,t,n,r,a){var o=e.name?e:e.$locale(),s=i(o[t]),c=i(o[n]),l=s||c.map((function(e){return e.slice(0,r)}));if(!a)return l;var u=o.weekStart;return l.map((function(e,t){return l[(t+(u||0))%7]}))},o=function(){return n.Ls[n.locale()]},s=function(e,t){return e.formats[t]||function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}(e.formats[t.toUpperCase()])},c=function(){var e=this;return{months:function(t){return t?t.format(`MMMM`):a(e,`months`)},monthsShort:function(t){return t?t.format(`MMM`):a(e,`monthsShort`,`months`,3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(t){return t?t.format(`dddd`):a(e,`weekdays`)},weekdaysMin:function(t){return t?t.format(`dd`):a(e,`weekdaysMin`,`weekdays`,2)},weekdaysShort:function(t){return t?t.format(`ddd`):a(e,`weekdaysShort`,`weekdays`,3)},longDateFormat:function(t){return s(e.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return c.bind(this)()},n.localeData=function(){var e=o();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return n.weekdays()},weekdaysShort:function(){return n.weekdaysShort()},weekdaysMin:function(){return n.weekdaysMin()},months:function(){return n.months()},monthsShort:function(){return n.monthsShort()},longDateFormat:function(t){return s(e,t)},meridiem:e.meridiem,ordinal:e.ordinal}},n.months=function(){return a(o(),`months`)},n.monthsShort=function(){return a(o(),`monthsShort`,`months`,3)},n.weekdays=function(e){return a(o(),`weekdays`,null,null,e)},n.weekdaysShort=function(e){return a(o(),`weekdaysShort`,`weekdays`,3,e)},n.weekdaysMin=function(e){return a(o(),`weekdaysMin`,`weekdays`,2,e)}}}))}))(),1),KE=(e,t)=>{Mw.default.extend(GE.default);let n=Mw.default.localeData().firstDayOfWeek(),{t:r,lang:i}=Dp(),a=(0,Mw.default)().locale(i.value),o=K(()=>!!e.range&&!!e.range.length),s=K(()=>{let t=[];if(o.value){let[n,r]=e.range,i=Pw(r.date()-n.date()+1).map(e=>({text:n.date()+e,type:`current`})),a=i.length%7;a=a===0?0:7-a;let o=Pw(a).map((e,t)=>({text:t+1,type:`next`}));t=i.concat(o)}else{let r=e.date.startOf(`month`).day(),i=BE(e.date,(r-n+7)%7).map(e=>({text:e,type:`prev`})),a=VE(e.date).map(e=>({text:e,type:`current`}));t=[...i,...a];let o=Pw(7-(t.length%7||7)).map((e,t)=>({text:t+1,type:`next`}));t=t.concat(o)}return HE(t)}),c=K(()=>{let e=n;return e===0?yr.map(e=>r(`el.datepicker.weeks.${e}`)):yr.slice(e).concat(yr.slice(0,e)).map(e=>r(`el.datepicker.weeks.${e}`))}),l=(t,n)=>{switch(n){case`prev`:return e.date.startOf(`month`).subtract(1,`month`).date(t);case`next`:return e.date.startOf(`month`).add(1,`month`).date(t);case`current`:return e.date.date(t)}};return{now:a,isInRange:o,rows:s,weekDays:c,getFormattedDate:l,handlePickDay:({text:e,type:n})=>{t(`pick`,l(e,n))},getSlotData:({text:t,type:n})=>{let r=l(t,n);return{isSelected:r.isSame(e.selectedDay),type:`${n}-month`,day:r.format(Aw),date:r.toDate()}}}},qE={key:0},JE=[`onClick`],YE=z({name:`DateTable`,__name:`date-table`,props:UE,emits:WE,setup(e,{expose:t,emit:n}){let i=e,{isInRange:a,now:o,rows:s,weekDays:c,getFormattedDate:l,handlePickDay:u,getSlotData:d}=KE(i,n),f=$(`calendar-table`),p=$(`calendar-day`),m=({text:e,type:t})=>{let n=[t];if(t===`current`){let r=l(e,t);r.isSame(i.selectedDay,`day`)&&n.push(p.is(`selected`)),r.isSame(o,`day`)&&n.push(p.is(`today`))}return n};return t({getFormattedDate:l}),(t,n)=>(N(),W(`table`,{class:F([Y(f).b(),Y(f).is(`range`,Y(a))]),cellspacing:`0`,cellpadding:`0`},[e.hideHeader?G(`v-if`,!0):(N(),W(`thead`,qE,[B(`tr`,null,[(N(!0),W(R,null,r(Y(c),e=>(N(),W(`th`,{key:e,scope:`col`},S(e),1))),128))])])),B(`tbody`,null,[(N(!0),W(R,null,r(Y(s),(n,i)=>(N(),W(`tr`,{key:i,class:F({[Y(f).e(`row`)]:!0,[Y(f).em(`row`,`hide-border`)]:i===0&&e.hideHeader})},[(N(!0),W(R,null,r(n,(e,n)=>(N(),W(`td`,{key:n,class:F(m(e)),onClick:t=>Y(u)(e)},[B(`div`,{class:F(Y(p).b())},[I(t.$slots,`date-cell`,{data:Y(d)(e)},()=>[B(`span`,null,S(e.text),1)])],2)],10,JE))),128))],2))),128))])],2))}}),XE=(e,t)=>{let n=e.endOf(`month`),r=t.startOf(`month`),i=n.isSame(r,`week`)?r.add(1,`week`):r;return[[e,n],[i.startOf(`week`),t]]},ZE=(e,t)=>{let n=e.endOf(`month`),r=e.add(1,`month`).startOf(`month`),i=n.isSame(r,`week`)?r.add(1,`week`):r,a=i.endOf(`month`),o=t.startOf(`month`),s=a.isSame(o,`week`)?o.add(1,`week`):o;return[[e,n],[i.startOf(`week`),a],[s.startOf(`week`),t]]},QE=(e,t,n)=>{let{lang:r}=Dp(),i=q(),a=(0,Mw.default)().locale(r.value),o=K({get(){return e.modelValue?c.value:i.value},set(e){if(!e)return;i.value=e;let n=e.toDate();t(Sr,n),t(br,n)}}),s=K(()=>{if(!e.range||!A(e.range)||e.range.length!==2||e.range.some(e=>!ke(e)))return[];let[t,i]=e.range.map(e=>(0,Mw.default)(e).locale(r.value));return t.isAfter(i)?(Jd(n,`end time should be greater than start time`),[]):t.isSame(i,`month`)||t.add(1,`month`).isSame(i,`month`)?p(t,i):(Jd(n,`start time and end time interval must not exceed two months`),[])}),c=K(()=>e.modelValue?(0,Mw.default)(e.modelValue).locale(r.value):o.value||(s.value.length?s.value[0][0]:a)),l=K(()=>c.value.subtract(1,`month`).date(1)),u=K(()=>c.value.add(1,`month`).date(1)),d=K(()=>c.value.subtract(1,`year`).date(1)),f=K(()=>c.value.add(1,`year`).date(1)),p=(e,t)=>{let r=e.startOf(`week`),i=t.endOf(`week`),a=r.get(`month`),o=i.get(`month`);return a===o?[[r,i]]:(a+1)%12===o?XE(r,i):a+2===o||(a+1)%11===o?ZE(r,i):(Jd(n,`start time and end time interval must not exceed two months`),[])},m=e=>{o.value=e},h=e=>{let t={"prev-month":l.value,"next-month":u.value,"prev-year":d.value,"next-year":f.value,today:a}[e];t.isSame(c.value,`day`)||m(t)};return{calculateValidatedDateRange:p,date:c,realSelectedDay:o,pickDay:m,selectDate:h,validatedRange:s,handleDateChange:e=>{e===`today`?h(`today`):m(e)}}},$E=z({name:`SelectController`,__name:`select-controller`,props:Q({date:{type:Z(Object),required:!0},formatter:{type:Z(Function)}}),emits:{"date-change":e=>E(e)||P(e)},setup(e,{emit:t}){let r=e,i=t,a=$(`calendar-select`),{t:o,lang:s}=Dp(),c=Array.from({length:12},(e,t)=>{let i=t+1;return{value:i,label:n(r.formatter)?r.formatter(i,`month`):i}}),l=K(()=>r.date.year()),u=K(()=>r.date.month()+1),d=K(()=>{let e=[];for(let t=-10;t<10;t++){let i=l.value+t;if(i>0){let t=n(r.formatter)?r.formatter(i,`year`):i;e.push({value:i,label:t})}}return e}),f=e=>{i(`date-change`,(0,Mw.default)(new Date(e,u.value-1,1)).locale(s.value))},p=e=>{i(`date-change`,(0,Mw.default)(new Date(l.value,e-1,1)).locale(s.value))},m=()=>{i(`date-change`,`today`)};return(e,t)=>(N(),W(R,null,[J(Y(LE),{"model-value":l.value,size:`small`,class:F(Y(a).e(`year`)),"validate-event":!1,options:d.value,onChange:f},null,8,[`model-value`,`class`,`options`]),J(Y(LE),{"model-value":u.value,size:`small`,class:F(Y(a).e(`month`)),"validate-event":!1,options:Y(c),onChange:p},null,8,[`model-value`,`class`,`options`]),J(Y(xw),{size:`small`,onClick:m},{default:V(()=>[Ke(S(Y(o)(`el.datepicker.today`)),1)]),_:1})],64))}}),eD=`ElCalendar`,tD=Pv(z({name:eD,__name:`calendar`,props:Cw,emits:ww,setup(e,{expose:t,emit:n}){let i=$(`calendar`),{calculateValidatedDateRange:o,date:s,pickDay:c,realSelectedDay:l,selectDate:u,validatedRange:d,handleDateChange:f}=QE(e,n,eD),{t:p}=Dp(),m=K(()=>{let e=`el.datepicker.month${s.value.format(`M`)}`;return`${s.value.year()} ${p(`el.datepicker.year`)} ${p(e)}`});return t({selectedDay:l,pickDay:c,selectDate:u,calculateValidatedDateRange:o}),(t,n)=>(N(),W(`div`,{class:F(Y(i).b())},[B(`div`,{class:F(Y(i).e(`header`))},[I(t.$slots,`header`,{date:m.value},()=>[B(`div`,{class:F(Y(i).e(`title`))},S(m.value),3),Y(d).length===0&&e.controllerType===`button`?(N(),W(`div`,{key:0,class:F(Y(i).e(`button-group`))},[J(Y(Sw),null,{default:V(()=>[J(Y(xw),{size:`small`,onClick:n[0]||=e=>Y(u)(`prev-month`)},{default:V(()=>[Ke(S(Y(p)(`el.datepicker.prevMonth`)),1)]),_:1}),J(Y(xw),{size:`small`,onClick:n[1]||=e=>Y(u)(`today`)},{default:V(()=>[Ke(S(Y(p)(`el.datepicker.today`)),1)]),_:1}),J(Y(xw),{size:`small`,onClick:n[2]||=e=>Y(u)(`next-month`)},{default:V(()=>[Ke(S(Y(p)(`el.datepicker.nextMonth`)),1)]),_:1})]),_:1})],2)):Y(d).length===0&&e.controllerType===`select`?(N(),W(`div`,{key:1,class:F(Y(i).e(`select-controller`))},[J($E,{date:Y(s),formatter:e.formatter,onDateChange:Y(f)},null,8,[`date`,`formatter`,`onDateChange`])],2)):G(`v-if`,!0)])],2),Y(d).length===0?(N(),W(`div`,{key:0,class:F(Y(i).e(`body`))},[J(YE,{date:Y(s),"selected-day":Y(l),onPick:Y(c)},xe({_:2},[t.$slots[`date-cell`]?{name:`date-cell`,fn:V(e=>[I(t.$slots,`date-cell`,se(a(e)))]),key:`0`}:void 0]),1032,[`date`,`selected-day`,`onPick`])],2)):(N(),W(`div`,{key:1,class:F(Y(i).e(`body`))},[(N(!0),W(R,null,r(Y(d),(e,n)=>(N(),H(YE,{key:n,date:e[0],"selected-day":Y(l),range:e,"hide-header":n!==0,onPick:Y(c)},xe({_:2},[t.$slots[`date-cell`]?{name:`date-cell`,fn:V(e=>[I(t.$slots,`date-cell`,k({ref_for:!0},e))]),key:`0`}:void 0]),1032,[`date`,`selected-day`,`range`,`hide-header`,`onPick`]))),128))],2))],2))}})),nD=Pv(z({name:`ElCard`,__name:`card`,props:Q({header:{type:String,default:``},footer:{type:String,default:``},bodyStyle:{type:Z([String,Object,Array,Boolean]),default:``},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:[`always`,`hover`,`never`],default:void 0}}),setup(e){let t=FC(`card`),n=$(`card`);return(r,i)=>(N(),W(`div`,{class:F([Y(n).b(),Y(n).is(`${e.shadow||Y(t)?.shadow||`always`}-shadow`)])},[r.$slots.header||e.header?(N(),W(`div`,{key:0,class:F([Y(n).e(`header`),e.headerClass])},[I(r.$slots,`header`,{},()=>[Ke(S(e.header),1)])],2)):G(`v-if`,!0),B(`div`,{class:F([Y(n).e(`body`),e.bodyClass]),style:m(e.bodyStyle)},[I(r.$slots,`default`)],6),r.$slots.footer||e.footer?(N(),W(`div`,{key:1,class:F([Y(n).e(`footer`),e.footerClass])},[I(r.$slots,`footer`,{},()=>[Ke(S(e.footer),1)])],2)):G(`v-if`,!0)],2))}})),rD=Q({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}),iD={change:(e,t)=>[e,t].every(Md)},aD=Symbol(`carouselContextKey`),oD=`ElCarouselItem`,sD=Q({name:{type:String,default:``},label:{type:[String,Number],default:``}}),cD=300,lD=(e,t,n)=>{let{children:r,addChild:i,removeChild:a,ChildrenSorter:o}=bv(Xe(),oD),c=le(),l=q(-1),u=q(null),f=q(!1),p=q(),m=q(0),h=q(!0),g=K(()=>e.arrow!==`never`&&!Y(y)),_=K(()=>r.value.some(e=>e.props.label.toString().length>0)),v=K(()=>e.type===`card`),y=K(()=>e.direction===`vertical`),b=K(()=>e.height===`auto`?{height:`${m.value}px`,overflow:`hidden`}:{height:e.height}),x=Td(e=>{O(e)},cD,{trailing:!0}),S=Td(e=>{re(e)},cD),C=e=>h.value?l.value<=1?e<=1:e>1:!0;function w(){u.value&&=(clearInterval(u.value),null)}function E(){e.interval<=0||!e.autoplay||u.value||(u.value=setInterval(()=>D(),e.interval))}let D=()=>{l.valuee.props.name===t);e.length>0&&(t=r.value.indexOf(e[0]))}if(t=Number(t),Number.isNaN(t)||t!==Math.floor(t)){Jd(n,`index must be integer.`);return}let i=r.value.length,a=l.value;t<0?l.value=e.loop?i-1:0:t>=i?l.value=e.loop?0:i-1:l.value=t,a===l.value&&k(a),F()}function k(e){r.value.forEach((t,n)=>{t.translateItem(n,l.value,e)})}function A(e,t){let n=Y(r),i=n.length;if(i===0||!e.states.inStage)return!1;let a=t+1,o=t-1,s=i-1,c=n[s].states.active,l=n[0].states.active,u=n[a]?.states?.active,d=n[o]?.states?.active;return t===s&&l||u?`left`:t===0&&c||d?`right`:!1}function ee(){f.value=!0,e.pauseOnHover&&w()}function j(){f.value=!1,E()}function N(e){Y(y)||r.value.forEach((t,n)=>{e===A(t,n)&&(t.states.hover=!0)})}function te(){Y(y)||r.value.forEach(e=>{e.states.hover=!1})}function ne(e){l.value=e}function re(t){e.trigger===`hover`&&t!==l.value&&(l.value=t)}function ie(){O(l.value-1)}function ae(){O(l.value+1)}function F(){w(),(!e.pauseOnHover||!f.value)&&E()}function I(t){e.height===`auto`&&(m.value=t)}function oe(){let t=c.default?.();if(!t)return null;let n=vv(t).filter(e=>s(e)&&e.type.name===`ElCarouselItem`);return n?.length===2&&e.loop&&!v.value?(h.value=!0,n):(h.value=!1,null)}M(()=>l.value,(e,n)=>{k(n),h.value&&(e%=2,n%=2),n>-1&&t(xr,e,n)});let L=K({get:()=>h.value?l.value%2:l.value,set:e=>l.value=e});M(()=>e.autoplay,e=>{e?E():w()}),M(()=>e.loop,()=>{O(l.value)}),M(()=>e.interval,()=>{F()});let se=Le();return d(()=>{M(()=>r.value,()=>{r.value.length>0&&O(e.initialIndex)},{immediate:!0}),se.value=Uf(p.value,()=>{k()}),E()}),T(()=>{w(),p.value&&se.value&&se.value.stop()}),Qe(aD,{root:p,isCardType:v,isVertical:y,items:r,loop:e.loop,cardScale:e.cardScale,addItem:i,removeItem:a,setActiveItem:O,setContainerHeight:I}),{root:p,activeIndex:l,exposeActiveIndex:L,arrowDisplay:g,hasLabel:_,hover:f,isCardType:v,items:r,isVertical:y,containerStyle:b,isItemsTwoLength:h,handleButtonEnter:N,handleButtonLeave:te,handleIndicatorClick:ne,handleMouseEnter:ee,handleMouseLeave:j,setActiveItem:O,prev:ie,next:ae,PlaceholderItem:oe,isTwoLengthShow:C,ItemsSorter:o,throttledArrowClick:x,throttledIndicatorHover:S}},uD=[`aria-label`],dD=[`aria-label`],fD=[`onMouseenter`,`onClick`],pD=[`aria-label`],mD={key:0},hD={key:2,xmlns:`http://www.w3.org/2000/svg`,version:`1.1`,style:{display:`none`}},gD=`ElCarousel`,_D=z({name:gD,__name:`carousel`,props:rD,emits:iD,setup(e,{expose:t,emit:n}){let i=e,{root:a,activeIndex:o,exposeActiveIndex:s,arrowDisplay:c,hasLabel:l,hover:u,isCardType:d,items:f,isVertical:p,containerStyle:h,handleButtonEnter:g,handleButtonLeave:_,handleIndicatorClick:v,handleMouseEnter:y,handleMouseLeave:b,setActiveItem:x,prev:C,next:w,PlaceholderItem:T,isTwoLengthShow:E,ItemsSorter:D,throttledArrowClick:O,throttledIndicatorHover:k}=lD(i,n,gD),A=$(`carousel`),{t:ee}=Dp(),j=K(()=>{let e=[A.b(),A.m(i.direction)];return Y(d)&&e.push(A.m(`card`)),e.push(A.is(`vertical-outside`,Y(p)&&i.indicatorPosition===`outside`)),e}),M=K(()=>{let e=[A.e(`indicators`),A.em(`indicators`,i.direction)];return Y(l)&&e.push(A.em(`indicators`,`labels`)),i.indicatorPosition===`outside`&&e.push(A.em(`indicators`,`outside`)),Y(p)&&e.push(A.em(`indicators`,`right`)),e});function P(e){if(!i.motionBlur)return;let t=Y(p)?`${A.namespace.value}-transitioning-vertical`:`${A.namespace.value}-transitioning`;e.currentTarget.classList.add(t)}function te(e){if(!i.motionBlur)return;let t=Y(p)?`${A.namespace.value}-transitioning-vertical`:`${A.namespace.value}-transitioning`;e.currentTarget.classList.remove(t)}return t({activeIndex:s,setActiveItem:x,prev:C,next:w}),(t,n)=>(N(),W(`div`,{ref_key:`root`,ref:a,class:F(j.value),onMouseenter:n[6]||=kn((...e)=>Y(y)&&Y(y)(...e),[`stop`]),onMouseleave:n[7]||=kn((...e)=>Y(b)&&Y(b)(...e),[`stop`])},[Y(c)?(N(),H(pt,{key:0,name:`carousel-arrow-left`,persisted:``},{default:V(()=>[Ge(B(`button`,{type:`button`,class:F([Y(A).e(`arrow`),Y(A).em(`arrow`,`left`)]),"aria-label":Y(ee)(`el.carousel.leftArrow`),onMouseenter:n[0]||=e=>Y(g)(`left`),onMouseleave:n[1]||=(...e)=>Y(_)&&Y(_)(...e),onClick:n[2]||=kn(e=>Y(O)(Y(o)-1),[`stop`])},[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1})],42,uD),[[jt,(e.arrow===`always`||Y(u))&&(e.loop||Y(o)>0)]])]),_:1})):G(`v-if`,!0),Y(c)?(N(),H(pt,{key:1,name:`carousel-arrow-right`,persisted:``},{default:V(()=>[Ge(B(`button`,{type:`button`,class:F([Y(A).e(`arrow`),Y(A).em(`arrow`,`right`)]),"aria-label":Y(ee)(`el.carousel.rightArrow`),onMouseenter:n[3]||=e=>Y(g)(`right`),onMouseleave:n[4]||=(...e)=>Y(_)&&Y(_)(...e),onClick:n[5]||=kn(e=>Y(O)(Y(o)+1),[`stop`])},[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})],42,dD),[[jt,(e.arrow===`always`||Y(u))&&(e.loop||Y(o)[e.indicatorPosition===`none`?G(`v-if`,!0):(N(),W(`ul`,{key:0,class:F(M.value)},[(N(!0),W(R,null,r(Y(f),(t,n)=>Ge((N(),W(`li`,{key:n,class:F([Y(A).e(`indicator`),Y(A).em(`indicator`,e.direction),Y(A).is(`active`,n===Y(o))]),onMouseenter:e=>Y(k)(n),onClick:kn(e=>Y(v)(n),[`stop`])},[B(`button`,{class:F(Y(A).e(`button`)),"aria-label":Y(ee)(`el.carousel.indicator`,{index:n+1})},[Y(l)?(N(),W(`span`,mD,S(t.props.label),1)):G(`v-if`,!0)],10,pD)],42,fD)),[[jt,Y(E)(n)]])),128))],2))]),_:1}),e.motionBlur?(N(),W(`svg`,hD,[...n[8]||=[B(`defs`,null,[B(`filter`,{id:`elCarouselHorizontal`},[B(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:`12,0`})]),B(`filter`,{id:`elCarouselVertical`},[B(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:`0,10`})])],-1)]])):G(`v-if`,!0)],34))}}),vD=e=>{let t=l(aD),n=Xe();t||Jd(oD,`usage: `),n||Jd(oD,`compositional hook can only be invoked inside setups`);let r=q(),i=q(!1),a=q(0),o=q(1),s=q(!1),c=q(!1),u=q(!1),d=q(!1),{isCardType:f,isVertical:p,cardScale:m}=t;function h(e,t,n){let r=n-1,i=t-1,a=t+1,o=n/2;return t===0&&e===r?-1:t===r&&e===0?n:e=o?n+1:e>a&&e-t>=o?-2:e}function g(e,n){let r=Y(p)?t.root.value?.offsetHeight||0:t.root.value?.offsetWidth||0;return u.value?r*((2-m)*(e-n)+1)/4:e{let l=Y(f),v=t.items.value.length??NaN,y=e===n;!l&&!Ad(i)&&(d.value=y||e===i),!y&&v>2&&t.loop&&(e=h(e,n,v));let b=Y(p);s.value=y,l?(u.value=Math.round(Math.abs(e-n))<=1,a.value=g(e,n),o.value=Y(s)?1:m):a.value=_(e,n,b),c.value=!0,y&&r.value&&t.setContainerHeight(r.value.offsetHeight)};function y(){if(t&&Y(f)){let e=t.items.value.findIndex(({uid:e})=>e===n.uid);t.setActiveItem(e)}}let b={props:e,states:ve({hover:i,translate:a,scale:o,active:s,ready:c,inStage:u,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:v};return t.addItem(b),T(()=>{t.removeItem(b)}),{carouselItemRef:r,active:s,animating:d,hover:i,inStage:u,isVertical:p,translate:a,isCardType:f,scale:o,ready:c,handleItemClick:y}},yD=z({name:oD,__name:`carousel-item`,props:sD,setup(e){let t=e,n=$(`carousel`),{carouselItemRef:r,active:i,animating:a,hover:o,inStage:s,isVertical:c,translate:l,isCardType:u,scale:d,ready:f,handleItemClick:p}=vD(t),h=K(()=>[n.e(`item`),n.is(`active`,i.value),n.is(`in-stage`,s.value),n.is(`hover`,o.value),n.is(`animating`,a.value),{[n.em(`item`,`card`)]:u.value,[n.em(`item`,`card-vertical`)]:u.value&&c.value}]),g=K(()=>({transform:[`${`translate${Y(c)?`Y`:`X`}`}(${Y(l)}px)`,`scale(${Y(d)})`].join(` `)}));return(e,t)=>Ge((N(),W(`div`,{ref_key:`carouselItemRef`,ref:r,class:F(h.value),style:m(g.value),onClick:t[0]||=(...e)=>Y(p)&&Y(p)(...e)},[Y(u)?Ge((N(),W(`div`,{key:0,class:F(Y(n).e(`mask`))},null,2)),[[jt,!Y(i)]]):G(`v-if`,!0),I(e.$slots,`default`)],6)),[[jt,Y(f)]])}}),bD=Pv(_D,{CarouselItem:yD}),xD=Lv(yD),SD=Q({modelValue:{type:Z([Number,String,Array,Object])},options:{type:Z(Array),default:()=>[]},props:{type:Z(Object),default:()=>({})},virtualScroll:Boolean,itemSize:{type:Number,default:34},height:{type:Number,default:204}}),CD={expandTrigger:`click`,multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:ge,value:`value`,label:`label`,children:`children`,leaf:`leaf`,disabled:`disabled`,hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},wD=Q({...SD,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),TD=e=>!0,ED={[br]:TD,[xr]:TD,close:()=>!0,"expand-change":e=>e},DD=e=>K(()=>({...CD,...e.props})),OD=`itemRendered`,kD=`scroll`,AD=`end-reached`,jD=`forward`,MD=`backward`,ND=`auto`,PD=`start`,FD=`center`,ID=`horizontal`,LD=`vertical`,RD=`negative`,zD=`positive-ascending`,BD=`positive-descending`,VD={[ID]:`left`,[LD]:`top`},HD=Ud({type:Z([Number,Function]),required:!0}),UD=Ud({type:Number}),WD=Ud({type:Number,default:2}),GD=Ud({type:String,values:[`ltr`,`rtl`],default:`ltr`}),KD=Ud({type:Number,default:0}),qD=Ud({type:Number,required:!0}),JD=Ud({type:String,values:[`horizontal`,`vertical`],default:LD}),YD=Q({className:{type:String,default:``},containerElement:{type:Z([String,Object]),default:`div`},data:{type:Z(Array),default:()=>DS([])},direction:GD,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:`div`},innerProps:{type:Z(Object),default:()=>({})},style:{type:Z([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}),XD=Q({cache:WD,estimatedItemSize:UD,layout:JD,initScrollOffset:KD,total:qD,itemSize:HD,...YD}),ZD={type:Number,default:6},QD={type:Number,default:0},$D={type:Number,default:2},eO=Q({columnCache:WD,columnWidth:HD,estimatedColumnWidth:UD,estimatedRowHeight:UD,initScrollLeft:KD,initScrollTop:KD,itemKey:{type:Z(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:WD,rowHeight:HD,totalColumn:qD,totalRow:qD,hScrollbarSize:ZD,vScrollbarSize:ZD,scrollbarStartGap:QD,scrollbarEndGap:$D,role:String,...YD}),tO=Q({alwaysOn:Boolean,class:String,layout:JD,total:qD,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:ZD,startGap:QD,endGap:$D,visible:Boolean}),nO=(e,t)=>ee===`ltr`||e===`rtl`||e===`horizontal`,iO=e=>e===`rtl`,aO=null;function oO(e=!1){if(aO===null||e){let e=document.createElement(`div`),t=e.style;t.width=`50px`,t.height=`50px`,t.overflow=`scroll`,t.direction=`rtl`;let n=document.createElement(`div`),r=n.style;return r.width=`100px`,r.height=`100px`,e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?aO=BD:(e.scrollLeft=1,aO=e.scrollLeft===0?RD:zD),document.body.removeChild(e),aO}return aO}function sO({move:e,size:t,bar:n},r){let i={},a=`translate${n.axis}(${e}px)`;return i[n.size]=t,i.transform=a,r===`horizontal`?i.height=`100%`:i.width=`100%`,i}var cO=Number.isNaN||function(e){return typeof e==`number`&&e!==e};function lO(e,t){return!!(e===t||cO(e)&&cO(t))}function uO(e,t){if(e.length!==t.length)return!1;for(var n=0;n{let e=Xe().proxy.$props;return K(()=>{let t=(e,t,n)=>({});return e.perfMode?Xo(t):dO(t)})},pO=({atEndEdge:e,atStartEdge:t,layout:n},r)=>{let i,a=0,o=n=>n<0&&t.value||n>0&&e.value;return{hasReachedEdge:o,onWheel:e=>{Pp(i);let{deltaX:t,deltaY:s}=e;e.shiftKey&&s!==0&&(t=s,s=0);let c=n.value===`horizontal`?t:s;o(c)||(a+=c,!lp()&&c!==0&&e.preventDefault(),i=Np(()=>{r(a),a=0}))}}},mO=z({name:`ElVirtualScrollBar`,props:tO,emits:[`scroll`,`start-move`,`stop-move`],setup(e,{emit:t}){let n=K(()=>e.startGap+e.endGap),r=$(`virtual-scrollbar`),i=$(`scrollbar`),a=q(),o=q(),s=null,c=null,l=ve({isDragging:!1,traveled:0}),u=K(()=>WS[e.layout]),d=K(()=>e.clientSize-Y(n)),f=K(()=>({position:`absolute`,width:`${e.layout===`horizontal`?d.value:e.scrollbarSize}px`,height:`${e.layout===`horizontal`?e.scrollbarSize:d.value}px`,[VD[e.layout]]:`2px`,right:`2px`,bottom:`2px`,borderRadius:`4px`})),p=K(()=>{let t=e.ratio;if(t>=100)return 1/0;if(t>=50)return t*d.value/100;let n=d.value/3;return Math.floor(Math.min(Math.max(t*d.value/100,20),n))}),m=K(()=>{if(!Number.isFinite(p.value))return{display:`none`};let t=`${p.value}px`;return sO({bar:u.value,size:t,move:l.traveled},e.layout)}),h=K(()=>Math.ceil(e.clientSize-p.value-Y(n))),g=()=>{window.addEventListener(`mousemove`,b),window.addEventListener(`mouseup`,y);let e=Y(o);e&&(c=document.onselectstart,document.onselectstart=()=>!1,e.addEventListener(`touchmove`,b,{passive:!0}),e.addEventListener(`touchend`,y))},_=()=>{window.removeEventListener(`mousemove`,b),window.removeEventListener(`mouseup`,y),document.onselectstart=c,c=null;let e=Y(o);e&&(e.removeEventListener(`touchmove`,b),e.removeEventListener(`touchend`,y))},v=e=>{e.stopImmediatePropagation(),!(e.ctrlKey||[1,2].includes(e.button))&&(l.isDragging=!0,l[u.value.axis]=e.currentTarget[u.value.offset]-(e[u.value.client]-e.currentTarget.getBoundingClientRect()[u.value.direction]),t(`start-move`),g())},y=()=>{l.isDragging=!1,l[u.value.axis]=0,t(`stop-move`),_()},b=e=>{let{isDragging:n}=l;if(!n||!o.value||!a.value)return;let r=l[u.value.axis];if(!r)return;Pp(s);let i=(a.value.getBoundingClientRect()[u.value.direction]-e[u.value.client])*-1-(o.value[u.value.offset]-r);s=Np(()=>{l.traveled=Math.max(0,Math.min(i,h.value)),t(`scroll`,i,h.value)})},x=e=>{let n=Math.abs(e.target.getBoundingClientRect()[u.value.direction]-e[u.value.client])-o.value[u.value.offset]/2;l.traveled=Math.max(0,Math.min(n,h.value)),t(`scroll`,n,h.value)};return M(()=>e.scrollFrom,e=>{l.isDragging||(l.traveled=Math.ceil(e*h.value))}),T(()=>{_()}),()=>Je(`div`,{role:`presentation`,ref:a,class:[r.b(),e.class,(e.alwaysOn||l.isDragging)&&`always-on`],style:f.value,onMousedown:kn(x,[`stop`,`prevent`]),onTouchstartPrevent:v},Je(`div`,{ref:o,class:i.e(`thumb`),style:m.value,onMousedown:v},[]))}}),hO=({name:e,getOffset:n,getItemSize:r,getItemOffset:i,getEstimatedTotalSize:a,getStartIndexForOffset:o,getStopIndexForStartIndex:s,initCache:c,clearCache:l,validateProps:u})=>z({name:e??`ElVirtualList`,props:XD,emits:[OD,kD,AD],setup(e,{emit:f,expose:p}){u(e);let m=Xe(),h=$(`vl`),g=q(c(e,m)),_=fO(),v=q(),y=q(),b=q(),x=q({isScrolling:!1,scrollDir:jD,scrollOffset:Md(e.initScrollOffset)?e.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1}),S=K(()=>{let{total:t,cache:n}=e,{isScrolling:r,scrollDir:i,scrollOffset:a}=Y(x);if(t===0)return[0,0,0,0];let c=o(e,a,Y(g)),l=s(e,c,a,Y(g)),u=!r||i===`backward`?Math.max(1,n):1,d=!r||i===`forward`?Math.max(1,n):1;return[Math.max(0,c-u),Math.max(0,Math.min(t-1,l+d)),c,l]}),w=K(()=>a(e,Y(g))),T=K(()=>rO(e.layout)),E=K(()=>[{position:`relative`,[`overflow-${T.value?`x`:`y`}`]:`scroll`,WebkitOverflowScrolling:`touch`,willChange:`transform`},{direction:e.direction,height:Md(e.height)?`${e.height}px`:e.height,width:Md(e.width)?`${e.width}px`:e.width},e.style]),D=K(()=>{let t=Y(w),n=Y(T),r=e.innerWidth;return{height:n?`100%`:`${t}px`,pointerEvents:Y(x).isScrolling?`none`:void 0,width:n?`${t}px`:r===void 0?`100%`:Md(r)?`${r}px`:r,margin:0,boxSizing:`border-box`}}),O=K(()=>T.value?e.width:e.height),k=K(()=>Math.max(0,w.value-O.value)),A=e=>cf(e,0,k.value),ee=e=>({start:!JS(e,0,1),end:!JS(k.value,e,1)}),j=K(()=>A(x.value.scrollOffset)),N=K(()=>ee(j.value)),P=N.value,{onWheel:te}=pO({atStartEdge:K(()=>N.value.start),atEndEdge:K(()=>N.value.end),layout:K(()=>e.layout)},e=>{b.value.onMouseUp?.(),L(Math.min(x.value.scrollOffset+e,k.value))});kf(v,`wheel`,te,{passive:!1});let ne=()=>{let{total:t}=e;if(t>0){let[e,t,n,r]=Y(S);f(OD,e,t,n,r)}let{scrollDir:n,scrollOffset:r,updateRequested:i}=Y(x);f(kD,n,r,i)},re=(t,n)=>{let r=ee(n),i=e.direction===`rtl`?`left`:`right`,a=e.direction===`rtl`?`right`:`left`;t===`forward`&&r.end&&!P.end&&f(AD,T.value?i:`bottom`),t===`backward`&&r.start&&!P.start&&f(AD,T.value?a:`top`),P=r},ie=(e,{isScrolling:t,updateRequested:n})=>{let r=Y(x),i=Math.max(e,0);if(i===r.scrollOffset)return;let a=nO(r.scrollOffset,i);x.value={...r,isScrolling:t,scrollDir:a,scrollOffset:i,updateRequested:n},re(a,A(i)),U(le)},ae=e=>{let{clientHeight:t,scrollHeight:n,scrollTop:r}=e.currentTarget;Y(x).scrollOffset!==r&&ie(Math.min(r,n-t),{isScrolling:!0,updateRequested:!1})},F=t=>{let{clientWidth:n,scrollLeft:r,scrollWidth:i}=t.currentTarget;if(Y(x).scrollOffset===r)return;let{direction:a}=e,o=r;if(a===`rtl`)switch(oO()){case RD:o=-r;break;case BD:o=i-n-r;break}ie(Math.min(o,i-n),{isScrolling:!0,updateRequested:!1})},I=e=>{Y(T)?F(e):ae(e),ne()},oe=(e,t)=>{let n=k.value/t*e;L(Math.min(k.value,n))},L=e=>{ie(e,{isScrolling:Y(x).isScrolling,updateRequested:!0})},se=(t,r=ND)=>{let{scrollOffset:i}=Y(x);t=Math.max(0,Math.min(t,e.total-1)),L(n(e,t,r,i,Y(g)))},ce=t=>{let{direction:n,itemSize:a,layout:o}=e,s=_.value(l&&a,l&&o,l&&n),c;if(Ye(s,String(t)))c=s[t];else{let a=i(e,t,Y(g)),o=r(e,t,Y(g)),l=Y(T),u=n===`rtl`,d=l?a:0;s[t]=c={position:`absolute`,left:u?void 0:`${d}px`,right:u?`${d}px`:void 0,top:l?0:`${a}px`,height:l?`100%`:`${o}px`,width:l?`${o}px`:`100%`}}return c},le=()=>{x.value.isScrolling=!1,U(()=>{_.value(-1,null,null)})},ue=()=>{let e=v.value;e&&(e.scrollTop=0)};d(()=>{if(!nf)return;let{initScrollOffset:t}=e,n=Y(v);Md(t)&&n&&(Y(T)?n.scrollLeft=t:n.scrollTop=t),ne()}),C(()=>{let{direction:t,layout:n}=e,{scrollOffset:r,updateRequested:i}=Y(x),a=Y(v);if(i&&a)if(n===`horizontal`)if(t===`rtl`)switch(oO()){case RD:a.scrollLeft=-r;break;case zD:a.scrollLeft=r;break;default:{let{clientWidth:e,scrollWidth:t}=a;a.scrollLeft=t-e-r;break}}else a.scrollLeft=r;else a.scrollTop=r}),t(()=>{Y(v).scrollTop=Y(x).scrollOffset}),M(k,()=>{P=N.value});let de={ns:h,clientSize:O,estimatedTotalSize:w,windowStyle:E,windowRef:v,innerRef:y,innerStyle:D,itemsToRender:S,scrollbarRef:b,states:x,getItemStyle:ce,onScroll:I,onScrollbarScroll:oe,onWheel:te,scrollTo:L,scrollToItem:se,resetScrollTop:ue};return p({windowRef:v,innerRef:y,getItemStyleCache:_,scrollTo:L,scrollToItem:se,resetScrollTop:ue,states:x}),de},render(e){let{$slots:t,className:n,clientSize:r,containerElement:i,data:a,getItemStyle:o,innerElement:s,itemsToRender:c,innerStyle:l,layout:u,scrollbarAlwaysOn:d,total:f,onScroll:p,onScrollbarScroll:m,states:h,useIsScrolling:g,windowStyle:_,ns:v}=e,[y,b]=c,x=L(i),S=L(s),C=[];if(f>0)for(let e=y;e<=b;e++)C.push(Je(R,{key:e},t.default?.({data:a,index:e,isScrolling:g?h.isScrolling:void 0,style:o(e)})));let w=[Je(S,k(e.innerProps,{style:l,ref:`innerRef`}),P(S)?C:{default:()=>C})],T=Je(mO,{ref:`scrollbarRef`,clientSize:r,layout:u,onScroll:m,ratio:r*100/this.estimatedTotalSize,scrollFrom:h.scrollOffset/(this.estimatedTotalSize-r),total:f,alwaysOn:d}),E=Je(x,{class:[v.e(`window`),n],style:_,onScroll:p,ref:`windowRef`,key:0},P(x)?[w]:{default:()=>[w]});return Je(`div`,{key:0,class:[v.e(`wrapper`),d?`always-on`:``]},[E,T])}}),gO=hO({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:r,width:i},a,o,s)=>{let c=rO(r)?i:e;P(c)&&qd(`[ElVirtualList]`,` + You should set + width/height + to number when your layout is + horizontal/vertical + `);let l=Math.max(0,t*n-c),u=Math.min(l,a*n),d=Math.max(0,(a+1)*n-c);switch(o===`smart`&&(o=s>=d-c&&s<=u+c?ND:FD),o){case PD:return u;case`end`:return d;case FD:{let e=Math.round(d+(u-d)/2);return el+Math.floor(c/2)?l:e}case ND:default:return s>=d&&s<=u?s:sMath.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:r,width:i},a,o)=>{let s=a*n,c=rO(r)?i:e,l=Math.ceil((c+o-s)/n);return Math.max(0,Math.min(t-1,a+l-1))},initCache(){},clearCache:!0,validateProps(){}}),_O=`ElDynamicSizeList`,vO=(e,t,n)=>{let{itemSize:r}=e,{items:i,lastVisitedIndex:a}=n;if(t>a){let e=0;if(a>=0){let t=i[a];e=t.offset+t.size}for(let n=a+1;n<=t;n++){let t=r(n);i[n]={offset:e,size:t},e+=t}n.lastVisitedIndex=t}return i[t]},yO=(e,t,n)=>{let{items:r,lastVisitedIndex:i}=t;return(i>0?r[i].offset:0)>=n?bO(e,t,0,i,n):xO(e,t,Math.max(0,i),n)},bO=(e,t,n,r,i)=>{for(;n<=r;){let a=n+Math.floor((r-n)/2),o=vO(e,a,t).offset;if(o===i)return a;oi&&(r=a-1)}return Math.max(0,n-1)},xO=(e,t,n,r)=>{let{total:i}=e,a=1;for(;n{let i=0;if(r>=e&&(r=e-1),r>=0){let e=t[r];i=e.offset+e.size}let a=(e-r-1)*n;return i+a},CO=hO({name:`ElDynamicSizeList`,getItemOffset:(e,t,n)=>vO(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:SO,getOffset:(e,t,n,r,i)=>{let{height:a,layout:o,width:s}=e,c=rO(o)?s:a,l=vO(e,t,i),u=SO(e,i),d=Math.max(0,Math.min(u-c,l.offset)),f=Math.max(0,l.offset-c+l.size);switch(n===`smart`&&(n=r>=f-c&&r<=d+c?ND:FD),n){case PD:return d;case`end`:return f;case FD:return Math.round(f+(d-f)/2);case ND:default:return r>=f&&r<=d?r:ryO(e,n,t),getStopIndexForStartIndex:(e,t,n,r)=>{let{height:i,total:a,layout:o,width:s}=e,c=rO(o)?s:i,l=vO(e,t,r),u=n+c,d=l.offset+l.size,f=t;for(;f{n.lastVisitedIndex=Math.min(n.lastVisitedIndex,e-1),t.exposed?.getItemStyleCache(-1),r&&t.proxy?.$forceUpdate()},n},clearCache:!1,validateProps:({itemSize:e})=>{typeof e!=`function`&&qd(_O,` + itemSize is required as function, but the given value was ${typeof e} + `)}}),wO=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:r},i)=>{let a=null,o=0,s=0,c=(i,a)=>{let o=i<0&&t.value||i>0&&e.value,s=a<0&&r.value||a>0&&n.value;return o||s};return{hasReachedEdge:c,onWheel:e=>{Pp(a);let t=e.deltaX,n=e.deltaY;if(Math.abs(t)>Math.abs(n)?n=0:t=0,e.shiftKey&&n!==0&&(t=n,n=0),c(t,n)){e.deltaX!==0&&t===0&&e.preventDefault();return}o+=t,s+=n,e.preventDefault(),a=Np(()=>{i(o,s),o=0,s=0})}}},TO=(e,t,n,r,i,a,o)=>{let s=q(0),c=q(0),l,u=0,d=0,f=e=>{Pp(l),s.value=e.touches[0].clientX,c.value=e.touches[0].clientY,u=0,d=0},p=e=>{e.preventDefault(),Pp(l),u+=s.value-e.touches[0].clientX,d+=c.value-e.touches[0].clientY,s.value=e.touches[0].clientX,c.value=e.touches[0].clientY,l=Np(()=>{let e=r.value-Y(a),s=i.value-Y(o);n({scrollLeft:Math.min(t.value.scrollLeft+u,e),scrollTop:Math.min(t.value.scrollTop+d,s)}),u=0,d=0})};return kf(e,`touchstart`,f,{passive:!0}),kf(e,`touchmove`,p,{passive:!1}),{touchStartX:s,touchStartY:c,handleTouchStart:f,handleTouchMove:p}},EO=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:r,getColumnStopIndexForStartIndex:i,getEstimatedTotalHeight:a,getEstimatedTotalWidth:o,getColumnOffset:s,getRowOffset:c,getRowPosition:l,getRowStartIndexForOffset:u,getRowStopIndexForStartIndex:f,initCache:p,injectToInstance:m,validateProps:h})=>z({name:e??`ElVirtualList`,props:eO,emits:[OD,kD],setup(e,{emit:g,expose:_,slots:v}){let y=$(`vl`);h(e);let b=Xe(),x=q(p(e,b));m?.(b,x);let S=q(),C=q(),w=q(),T=q(),E=q({isScrolling:!1,scrollLeft:Md(e.initScrollLeft)?e.initScrollLeft:0,scrollTop:Md(e.initScrollTop)?e.initScrollTop:0,updateRequested:!1,xAxisScrollDir:jD,yAxisScrollDir:jD}),D=fO(),O=K(()=>Number.parseInt(`${e.height}`,10)),A=K(()=>Number.parseInt(`${e.width}`,10)),ee=K(()=>{let{totalColumn:t,totalRow:n,columnCache:a}=e,{isScrolling:o,xAxisScrollDir:s,scrollLeft:c}=Y(E);if(t===0||n===0)return[0,0,0,0];let l=r(e,c,Y(x)),u=i(e,l,c,Y(x)),d=!o||s===`backward`?Math.max(1,a):1,f=!o||s===`forward`?Math.max(1,a):1;return[Math.max(0,l-d),Math.max(0,Math.min(t-1,u+f)),l,u]}),j=K(()=>{let{totalColumn:t,totalRow:n,rowCache:r}=e,{isScrolling:i,yAxisScrollDir:a,scrollTop:o}=Y(E);if(t===0||n===0)return[0,0,0,0];let s=u(e,o,Y(x)),c=f(e,s,o,Y(x)),l=!i||a===`backward`?Math.max(1,r):1,d=!i||a===`forward`?Math.max(1,r):1;return[Math.max(0,s-l),Math.max(0,Math.min(n-1,c+d)),s,c]}),M=K(()=>a(e,Y(x))),N=K(()=>o(e,Y(x))),te=K(()=>[{position:`relative`,overflow:`hidden`,WebkitOverflowScrolling:`touch`,willChange:`transform`},{direction:e.direction,height:Md(e.height)?`${e.height}px`:e.height,width:Md(e.width)?`${e.width}px`:e.width},e.style??{}]),ne=K(()=>{let e=`${Y(N)}px`;return{height:`${Y(M)}px`,pointerEvents:Y(E).isScrolling?`none`:void 0,width:e,margin:0,boxSizing:`border-box`}}),re=()=>{let{totalColumn:t,totalRow:n}=e;if(t>0&&n>0){let[e,t,n,r]=Y(ee),[i,a,o,s]=Y(j);g(OD,{columnCacheStart:e,columnCacheEnd:t,rowCacheStart:i,rowCacheEnd:a,columnVisibleStart:n,columnVisibleEnd:r,rowVisibleStart:o,rowVisibleEnd:s})}let{scrollLeft:r,scrollTop:i,updateRequested:a,xAxisScrollDir:o,yAxisScrollDir:s}=Y(E);g(kD,{xAxisScrollDir:o,scrollLeft:r,yAxisScrollDir:s,scrollTop:i,updateRequested:a})},ie=t=>{let{clientHeight:n,clientWidth:r,scrollHeight:i,scrollLeft:a,scrollTop:o,scrollWidth:s}=t.currentTarget,c=Y(E);if(c.scrollTop===o&&c.scrollLeft===a)return;let l=a;if(iO(e.direction))switch(oO()){case RD:l=-a;break;case BD:l=s-r-a;break}E.value={...c,isScrolling:!0,scrollLeft:l,scrollTop:Math.max(0,Math.min(o,i-n)),updateRequested:!0,xAxisScrollDir:nO(c.scrollLeft,l),yAxisScrollDir:nO(c.scrollTop,o)},U(()=>pe()),me(),re()},ae=(e,t)=>{let n=Y(O),r=(M.value-n)/t*e;oe({scrollTop:Math.min(M.value-n,r)})},F=(e,t)=>{let n=Y(A),r=(N.value-n)/t*e;oe({scrollLeft:Math.min(N.value-n,r)})},{onWheel:I}=wO({atXStartEdge:K(()=>E.value.scrollLeft<=0),atXEndEdge:K(()=>E.value.scrollLeft>=N.value-Y(A)),atYStartEdge:K(()=>E.value.scrollTop<=0),atYEndEdge:K(()=>E.value.scrollTop>=M.value-Y(O))},(e,t)=>{C.value?.onMouseUp?.(),w.value?.onMouseUp?.();let n=Y(A),r=Y(O);oe({scrollLeft:Math.min(E.value.scrollLeft+e,N.value-n),scrollTop:Math.min(E.value.scrollTop+t,M.value-r)})});kf(S,`wheel`,I,{passive:!1});let oe=({scrollLeft:e=E.value.scrollLeft,scrollTop:t=E.value.scrollTop})=>{e=Math.max(e,0),t=Math.max(t,0);let n=Y(E);t===n.scrollTop&&e===n.scrollLeft||(E.value={...n,xAxisScrollDir:nO(n.scrollLeft,e),yAxisScrollDir:nO(n.scrollTop,t),scrollLeft:e,scrollTop:t,updateRequested:!0},U(()=>pe()),me(),re())},{touchStartX:se,touchStartY:ce,handleTouchStart:le,handleTouchMove:ue}=TO(S,E,oe,N,M,A,O),de=(t=0,n=0,r=ND)=>{let i=Y(E);n=Math.max(0,Math.min(n,e.totalColumn-1)),t=Math.max(0,Math.min(t,e.totalRow-1));let l=Rp(y.namespace.value),u=Y(x),d=a(e,u),f=o(e,u);oe({scrollLeft:s(e,n,r,i.scrollLeft,u,f>e.width?l:0),scrollTop:c(e,t,r,i.scrollTop,u,d>e.height?l:0)})},fe=(r,i)=>{let{columnWidth:a,direction:o,rowHeight:s}=e,c=D.value(t&&a,t&&s,t&&o),u=`${r},${i}`;if(Ye(c,u))return c[u];{let[,t]=n(e,i,Y(x)),a=Y(x),s=iO(o),[d,f]=l(e,r,a),[p]=n(e,i,a);return c[u]={position:`absolute`,left:s?void 0:`${t}px`,right:s?`${t}px`:void 0,top:`${f}px`,height:`${d}px`,width:`${p}px`},c[u]}},pe=()=>{E.value.isScrolling=!1,U(()=>{D.value(-1,null,null)})};d(()=>{if(!nf)return;let{initScrollLeft:t,initScrollTop:n}=e,r=Y(S);r&&(Md(t)&&(r.scrollLeft=t),Md(n)&&(r.scrollTop=n)),re()});let me=()=>{let{direction:t}=e,{scrollLeft:n,scrollTop:r,updateRequested:i}=Y(E),a=Y(S);if(i&&a){if(t===`rtl`)switch(oO()){case RD:a.scrollLeft=-n;break;case zD:a.scrollLeft=n;break;default:{let{clientWidth:e,scrollWidth:t}=a;a.scrollLeft=t-e-n;break}}else a.scrollLeft=Math.max(0,n);a.scrollTop=Math.max(0,r)}},{resetAfterColumnIndex:he,resetAfterRowIndex:z,resetAfter:ge}=b.proxy;_({windowRef:S,innerRef:T,getItemStyleCache:D,touchStartX:se,touchStartY:ce,handleTouchStart:le,handleTouchMove:ue,scrollTo:oe,scrollToItem:de,states:E,resetAfterColumnIndex:he,resetAfterRowIndex:z,resetAfter:ge});let _e=()=>{let{scrollbarAlwaysOn:t,scrollbarStartGap:n,scrollbarEndGap:r,totalColumn:i,totalRow:a}=e,o=Y(A),s=Y(O),c=Y(N),l=Y(M),{scrollLeft:u,scrollTop:d}=Y(E);return{horizontalScrollbar:Je(mO,{ref:C,alwaysOn:t,startGap:n,endGap:r,class:y.e(`horizontal`),clientSize:o,layout:`horizontal`,onScroll:F,ratio:o*100/c,scrollFrom:u/(c-o),total:a,visible:!0}),verticalScrollbar:Je(mO,{ref:w,alwaysOn:t,startGap:n,endGap:r,class:y.e(`vertical`),clientSize:s,layout:`vertical`,onScroll:ae,ratio:s*100/l,scrollFrom:d/(l-s),total:i,visible:!0})}},ve=()=>{let[t,n]=Y(ee),[r,i]=Y(j),{data:a,totalColumn:o,totalRow:s,useIsScrolling:c,itemKey:l}=e,u=[];if(s>0&&o>0)for(let e=r;e<=i;e++)for(let r=t;r<=n;r++){let t=l({columnIndex:r,data:a,rowIndex:e});u.push(Je(R,{key:t},v.default?.({columnIndex:r,data:a,isScrolling:c?Y(E).isScrolling:void 0,style:fe(e,r),rowIndex:e})))}return u},B=()=>{let t=L(e.innerElement),n=ve();return[Je(t,k(e.innerProps,{style:Y(ne),ref:T}),P(t)?n:{default:()=>n})]};return()=>{let t=L(e.containerElement),{horizontalScrollbar:n,verticalScrollbar:r}=_e(),i=B();return Je(`div`,{key:0,class:y.e(`wrapper`),role:e.role},[Je(t,{class:e.className,style:Y(te),onScroll:ie,ref:S},P(t)?i:{default:()=>i}),n,r])}}}),DO=`ElFixedSizeGrid`,OO=EO({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},r,i,a,o,s)=>{n=Number(n);let c=Math.max(0,e*t-n),l=Math.min(c,r*t),u=Math.max(0,r*t-n+s+t);switch(i===`smart`&&(i=a>=u-n&&a<=l+n?ND:FD),i){case PD:return l;case`end`:return u;case FD:{let e=Math.round(u+(l-u)/2);return ec+Math.floor(n/2)?c:e}case ND:default:return a>=u&&a<=l?a:u>l||a{t=Number(t);let c=Math.max(0,n*e-t),l=Math.min(c,r*e),u=Math.max(0,r*e-t+s+e);switch(i===`smart`&&(i=a>=u-t&&a<=l+t?ND:FD),i){case PD:return l;case`end`:return u;case FD:{let e=Math.round(u+(l-u)/2);return ec+Math.floor(t/2)?c:e}case ND:default:return a>=u&&a<=l?a:u>l||aMath.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},r,i)=>{let a=r*e,o=Math.ceil((n+i-a)/e);return Math.max(0,Math.min(t-1,r+o-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},r,i)=>{let a=r*e,o=Math.ceil((n+i-a)/e);return Math.max(0,Math.min(t-1,r+o-1))},initCache:()=>void 0,clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{Md(e)||qd(DO,` + "columnWidth" must be passed as number, + instead ${typeof e} was given. + `),Md(t)||qd(DO,` + "columnWidth" must be passed as number, + instead ${typeof t} was given. + `)}}),{max:kO,min:AO,floor:jO}=Math,MO=`ElDynamicSizeGrid`,NO={column:`columnWidth`,row:`rowHeight`},PO={column:`lastVisitedColumnIndex`,row:`lastVisitedRowIndex`},FO=(e,t,n,r)=>{let[i,a,o]=[n[r],e[NO[r]],n[PO[r]]];if(t>o){let e=0;if(o>=0){let t=i[o];e=t.offset+t.size}for(let n=o+1;n<=t;n++){let t=a(n);i[n]={offset:e,size:t},e+=t}n[PO[r]]=t}return i[t]},IO=(e,t,n,r,i,a)=>{for(;n<=r;){let o=n+jO((r-n)/2),s=FO(e,o,t,a).offset;if(s===i)return o;s{let a=i===`column`?e.totalColumn:e.totalRow,o=1;for(;n{let[i,a]=[t[r],t[PO[r]]];return(a>0?i[a].offset:0)>=n?IO(e,t,0,a,n,r):LO(e,t,kO(0,a),n,r)},zO=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:r})=>{let i=0;if(n>=e&&(n=e-1),n>=0){let e=r[n];i=e.offset+e.size}let a=(e-n-1)*t;return i+a},BO=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:r})=>{let i=0;if(r>e&&(r=e-1),r>=0){let e=t[r];i=e.offset+e.size}let a=(e-r-1)*n;return i+a},VO={column:BO,row:zO},HO=(e,t,n,r,i,a,o)=>{let[s,c]=[a===`row`?e.height:e.width,VO[a]],l=FO(e,t,i,a),u=kO(0,AO(c(e,i)-s,l.offset)),d=kO(0,l.offset-s+o+l.size);switch(n===`smart`&&(n=r>=d-s&&r<=u+s?ND:FD),n){case PD:return u;case`end`:return d;case FD:return Math.round(d+(u-d)/2);case ND:default:return r>=d&&r<=u?r:d>u||r{let r=FO(e,t,n,`column`);return[r.size,r.offset]},getRowPosition:(e,t,n)=>{let r=FO(e,t,n,`row`);return[r.size,r.offset]},getColumnOffset:(e,t,n,r,i,a)=>HO(e,t,n,r,i,`column`,a),getRowOffset:(e,t,n,r,i,a)=>HO(e,t,n,r,i,`row`,a),getColumnStartIndexForOffset:(e,t,n)=>RO(e,n,t,`column`),getColumnStopIndexForStartIndex:(e,t,n,r)=>{let i=FO(e,t,r,`column`),a=n+e.width,o=i.offset+i.size,s=t;for(;sRO(e,n,t,`row`),getRowStopIndexForStartIndex:(e,t,n,r)=>{let{totalRow:i,height:a}=e,o=FO(e,t,r,`row`),s=n+a,c=o.size+o.offset,l=t;for(;l{let n=({columnIndex:n,rowIndex:r},i)=>{i=Ad(i)?!0:i,Md(n)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,n-1)),Md(r)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,r-1)),e.exposed?.getItemStyleCache.value(-1,null,null),i&&e.proxy?.$forceUpdate()};Object.assign(e.proxy,{resetAfterColumnIndex:(e,t)=>{n({columnIndex:e},t)},resetAfterRowIndex:(e,t)=>{n({rowIndex:e},t)},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})=>{n(e)||qd(MO,` + "columnWidth" must be passed as function, + instead ${typeof e} was given. + `),n(t)||qd(MO,` + "rowHeight" must be passed as function, + instead ${typeof t} was given. + `)}}),WO={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:xv,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...Mv([`ariaControls`])},GO={[br]:e=>P(e)||Md(e)||jd(e),change:e=>P(e)||Md(e)||jd(e)},KO=Symbol(`checkboxGroupContextKey`),qO=Q({modelValue:{type:Z(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:xv,fill:String,textColor:String,tag:{type:String,default:`div`},validateEvent:{type:Boolean,default:!0},options:{type:Z(Array)},props:{type:Z(Object),default:()=>YO},type:{type:String,values:[`checkbox`,`button`],default:`checkbox`},...Mv([`ariaLabel`])}),JO={[br]:e=>A(e),change:e=>A(e)},YO={label:`label`,value:`value`,disabled:`disabled`},XO=({model:e,isChecked:t})=>{let n=l(KO,void 0),r=l(ob,void 0),i=K(()=>{let r=n?.max?.value,i=n?.min?.value;return!Ad(r)&&e.value.length>=r&&!t.value||!Ad(i)&&e.value.length<=i&&t.value});return{isDisabled:lb(K(()=>n===void 0?r?.disabled??i.value:n.disabled?.value||i.value)),isLimitDisabled:i}},ZO=(e,{model:t,isLimitExceeded:n,hasOwnLabel:r,isDisabled:i,isLabeledByFormItem:a})=>{let o=l(KO,void 0),{formItem:s}=ub(),{emit:c}=Xe();function u(t){return[!0,e.trueValue,e.trueLabel].includes(t)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function d(e,t){c(xr,u(e),t)}function f(e){if(n.value)return;let t=e.target;c(xr,u(t.checked),e)}async function p(o){n.value||!r.value&&!i.value&&a.value&&(o.composedPath().some(e=>e.tagName===`LABEL`)||(t.value=u([!1,e.falseValue,e.falseLabel].includes(t.value)),await U(),d(t.value,o)))}let m=K(()=>o?.validateEvent||e.validateEvent);return M(()=>e.modelValue,()=>{m.value&&s?.validate(`change`).catch(ge)}),{handleChange:f,onClickRoot:p}},QO=e=>{let t=q(!1),{emit:n,vnode:r}=Xe(),i=l(KO,void 0),a=K(()=>Ad(i)===!1),o=q(!1),s=K(()=>{let e=r.props??{};return`modelValue`in e||`model-value`in e}),c=K({get(){return a.value?i?.modelValue?.value:s.value?e.modelValue:t.value},set(e){a.value&&A(e)?(o.value=i?.max?.value!==void 0&&e.length>i?.max.value&&e.length>c.value.length,o.value===!1&&i?.changeEvent?.(e)):(n(br,e),t.value=e)}});return{model:c,isGroup:a,isLimitExceeded:o}},$O=(e,t,{model:n})=>{let r=l(KO,void 0),i=q(!1),a=K(()=>Fd(e.value)?e.label:e.value),o=K(()=>{let t=n.value;return jd(t)?t:A(t)?E(a.value)?t.map(Me).some(e=>sd(e,a.value)):t.map(Me).includes(a.value):t==null?!!t:t===e.trueValue||t===e.trueLabel});return{checkboxButtonSize:cb(K(()=>r?.size?.value),{prop:!0}),isChecked:o,isFocused:i,checkboxSize:cb(K(()=>r?.size?.value)),hasOwnLabel:K(()=>!!t.default||!Fd(a.value)),actualValue:a}},ek=(e,t)=>{let{formItem:n}=ub(),{model:r,isGroup:i,isLimitExceeded:a}=QO(e),{isFocused:o,isChecked:s,checkboxButtonSize:c,checkboxSize:l,hasOwnLabel:u,actualValue:d}=$O(e,t,{model:r}),{isDisabled:f}=XO({model:r,isChecked:s}),{inputId:p,isLabeledByFormItem:m}=db(e,{formItemContext:n,disableIdGeneration:u,disableIdManagement:i}),{handleChange:h,onClickRoot:g}=ZO(e,{model:r,isLimitExceeded:a,hasOwnLabel:u,isDisabled:f,isLabeledByFormItem:m});return(()=>{function t(){A(r.value)&&!r.value.includes(d.value)?r.value.push(d.value):r.value=e.trueValue??e.trueLabel??!0}e.checked&&t()})(),Zf({from:`label act as value`,replacement:`value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},K(()=>i.value&&Fd(e.value))),Zf({from:`true-label`,replacement:`true-value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},K(()=>!!e.trueLabel)),Zf({from:`false-label`,replacement:`false-value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},K(()=>!!e.falseLabel)),{inputId:p,isLabeledByFormItem:m,isChecked:s,isDisabled:f,isFocused:o,checkboxButtonSize:c,checkboxSize:l,hasOwnLabel:u,model:r,actualValue:d,handleChange:h,onClickRoot:g}},tk=[`id`,`indeterminate`,`name`,`tabindex`,`disabled`],nk=z({name:`ElCheckbox`,__name:`checkbox`,props:WO,emits:GO,setup(e){let t=e,{inputId:n,isLabeledByFormItem:r,isChecked:i,isDisabled:a,isFocused:o,checkboxSize:s,hasOwnLabel:c,model:l,actualValue:u,handleChange:d,onClickRoot:f}=ek(t,le()),p=K(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:u.value}),m=$(`checkbox`),h=K(()=>[m.b(),m.m(s.value),m.is(`disabled`,a.value),m.is(`bordered`,t.border),m.is(`checked`,i.value)]),g=K(()=>[m.e(`input`),m.is(`disabled`,a.value),m.is(`checked`,i.value),m.is(`indeterminate`,t.indeterminate),m.is(`focus`,o.value)]);return(t,i)=>(N(),H(L(!Y(c)&&Y(r)?`span`:`label`),{for:!Y(c)&&Y(r)?null:Y(n),class:F(h.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?`mixed`:void 0,"aria-label":e.ariaLabel,onClick:Y(f)},{default:V(()=>[B(`span`,{class:F(g.value)},[Ge(B(`input`,k({id:Y(n),"onUpdate:modelValue":i[0]||=e=>he(l)?l.value=e:null,class:Y(m).e(`original`),type:`checkbox`,indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:Y(a)},p.value,{onChange:i[1]||=(...e)=>Y(d)&&Y(d)(...e),onFocus:i[2]||=e=>o.value=!0,onBlur:i[3]||=e=>o.value=!1,onClick:i[4]||=kn(()=>{},[`stop`])}),null,16,tk),[[Sn,Y(l)]]),B(`span`,{class:F(Y(m).e(`inner`))},null,2)],2),Y(c)?(N(),W(`span`,{key:0,class:F(Y(m).e(`label`))},[I(t.$slots,`default`),t.$slots.default?G(`v-if`,!0):(N(),W(R,{key:0},[Ke(S(e.label),1)],64))],2)):G(`v-if`,!0)]),_:3},8,[`for`,`class`,`aria-controls`,`aria-checked`,`aria-label`,`onClick`]))}}),rk=[`name`,`tabindex`,`disabled`],ik=z({name:`ElCheckboxButton`,__name:`checkbox-button`,props:WO,emits:GO,setup(e){let t=e,{isFocused:n,isChecked:r,isDisabled:i,checkboxButtonSize:a,model:o,actualValue:s,handleChange:c}=ek(t,le()),u=K(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:s.value}),d=l(KO,void 0),f=$(`checkbox`),p=K(()=>{let e=d?.fill?.value??``;return{backgroundColor:e,borderColor:e,color:d?.textColor?.value??``,boxShadow:e?`-1px 0 0 0 ${e}`:void 0}}),h=K(()=>[f.b(`button`),f.bm(`button`,a.value),f.is(`disabled`,i.value),f.is(`checked`,r.value),f.is(`focus`,n.value)]);return(t,a)=>(N(),W(`label`,{class:F(h.value)},[Ge(B(`input`,k({"onUpdate:modelValue":a[0]||=e=>he(o)?o.value=e:null,class:Y(f).be(`button`,`original`),type:`checkbox`,name:e.name,tabindex:e.tabindex,disabled:Y(i)},u.value,{onChange:a[1]||=(...e)=>Y(c)&&Y(c)(...e),onFocus:a[2]||=e=>n.value=!0,onBlur:a[3]||=e=>n.value=!1,onClick:a[4]||=kn(()=>{},[`stop`])}),null,16,rk),[[Sn,Y(o)]]),t.$slots.default||e.label?(N(),W(`span`,{key:0,class:F(Y(f).be(`button`,`inner`)),style:m(Y(r)?p.value:void 0)},[I(t.$slots,`default`,{},()=>[Ke(S(e.label),1)])],6)):G(`v-if`,!0)],2))}}),ak=z({name:`ElCheckboxGroup`,__name:`checkbox-group`,props:qO,emits:JO,setup(e,{emit:t}){let n=e,i=t,a=$(`checkbox`),o=lb(),{formItem:s}=ub(),{inputId:c,isLabeledByFormItem:l}=db(n,{formItemContext:s}),u=async e=>{i(br,e),await U(),i(xr,e)},d=K({get(){return n.modelValue},set(e){u(e)}}),f=K(()=>({...YO,...n.props})),p=e=>{let{label:t,value:n,disabled:r}=f.value,i={label:e[t],value:e[n],disabled:e[r]};return{...vd(e,[t,n,r]),...i}},m=K(()=>n.type===`button`?ik:nk);return Qe(KO,{...Sd(Se(n),[`size`,`min`,`max`,`validateEvent`,`fill`,`textColor`]),disabled:o,modelValue:d,changeEvent:u}),M(()=>n.modelValue,(e,t)=>{n.validateEvent&&!sd(e,t)&&s?.validate(`change`).catch(ge)}),(t,n)=>(N(),H(L(e.tag),{id:Y(c),class:F(Y(a).b(`group`)),role:`group`,"aria-label":Y(l)?void 0:e.ariaLabel||`checkbox-group`,"aria-labelledby":Y(l)?Y(s)?.labelId:void 0},{default:V(()=>[I(t.$slots,`default`,{},()=>[(N(!0),W(R,null,r(e.options,(e,t)=>(N(),H(L(m.value),k({key:t},{ref_for:!0},p(e)),null,16))),128))])]),_:3},8,[`id`,`class`,`aria-label`,`aria-labelledby`]))}}),ok=Pv(nk,{CheckboxButton:ik,CheckboxGroup:ak}),sk=Lv(ik),ck=Lv(ak),lk=Q({modelValue:{type:[String,Number,Boolean],default:void 0},size:xv,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}}),uk=Q({...lk,border:Boolean}),dk={[br]:e=>P(e)||Md(e)||jd(e),[xr]:e=>P(e)||Md(e)||jd(e)},fk=Symbol(`radioGroupKey`),pk=Q({...lk}),mk={label:`label`,value:`value`,disabled:`disabled`},hk=Q({id:{type:String,default:void 0},size:xv,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:Z(Array)},props:{type:Z(Object),default:()=>mk},type:{type:String,values:[`radio`,`button`],default:`radio`},...Mv([`ariaLabel`])}),gk=dk,_k=(e,t)=>{let n=q(),r=l(fk,void 0),i=K(()=>!!r),a=K(()=>Fd(e.value)?e.label:e.value),o=K({get(){return i.value?r.modelValue:e.modelValue},set(o){i.value?r.changeEvent(o):t&&t(`update:modelValue`,o),n.value.checked=e.modelValue===a.value}}),s=cb(K(()=>r?.size)),c=lb(K(()=>r?.disabled)),u=q(!1),d=K(()=>c.value||i.value&&o.value!==a.value?-1:0);return Zf({from:`label act as value`,replacement:`value`,version:`3.0.0`,scope:`el-radio`,ref:`https://element-plus.org/en-US/component/radio.html`},K(()=>i.value&&Fd(e.value))),{radioRef:n,isGroup:i,radioGroup:r,focus:u,size:s,disabled:c,tabIndex:d,modelValue:o,actualValue:a}},vk=[`value`,`name`,`disabled`,`checked`],yk=z({name:`ElRadio`,__name:`radio`,props:uk,emits:dk,setup(e,{emit:t}){let n=e,r=t,i=$(`radio`),{radioRef:a,radioGroup:o,focus:s,size:c,disabled:l,modelValue:u,actualValue:d}=_k(n,r);function f(){U(()=>r(xr,u.value))}return(t,n)=>(N(),W(`label`,{class:F([Y(i).b(),Y(i).is(`disabled`,Y(l)),Y(i).is(`focus`,Y(s)),Y(i).is(`bordered`,e.border),Y(i).is(`checked`,Y(u)===Y(d)),Y(i).m(Y(c))])},[B(`span`,{class:F([Y(i).e(`input`),Y(i).is(`disabled`,Y(l)),Y(i).is(`checked`,Y(u)===Y(d))])},[Ge(B(`input`,{ref_key:`radioRef`,ref:a,"onUpdate:modelValue":n[0]||=e=>he(u)?u.value=e:null,class:F(Y(i).e(`original`)),value:Y(d),name:e.name||Y(o)?.name,disabled:Y(l),checked:Y(u)===Y(d),type:`radio`,onFocus:n[1]||=e=>s.value=!0,onBlur:n[2]||=e=>s.value=!1,onChange:f,onClick:n[3]||=kn(()=>{},[`stop`])},null,42,vk),[[wn,Y(u)]]),B(`span`,{class:F(Y(i).e(`inner`))},null,2)],2),B(`span`,{class:F(Y(i).e(`label`)),onKeydown:n[4]||=kn(()=>{},[`stop`])},[I(t.$slots,`default`,{},()=>[Ke(S(e.label),1)])],34)],2))}}),bk=[`value`,`name`,`disabled`],xk=z({name:`ElRadioButton`,__name:`radio-button`,props:pk,setup(e){let t=e,n=$(`radio`),{radioRef:r,focus:i,size:a,disabled:o,modelValue:s,radioGroup:c,actualValue:l}=_k(t),u=K(()=>({backgroundColor:c?.fill||``,borderColor:c?.fill||``,boxShadow:c?.fill?`-1px 0 0 0 ${c.fill}`:``,color:c?.textColor||``}));return(t,d)=>(N(),W(`label`,{class:F([Y(n).b(`button`),Y(n).is(`active`,Y(s)===Y(l)),Y(n).is(`disabled`,Y(o)),Y(n).is(`focus`,Y(i)),Y(n).bm(`button`,Y(a))])},[Ge(B(`input`,{ref_key:`radioRef`,ref:r,"onUpdate:modelValue":d[0]||=e=>he(s)?s.value=e:null,class:F(Y(n).be(`button`,`original-radio`)),value:Y(l),type:`radio`,name:e.name||Y(c)?.name,disabled:Y(o),onFocus:d[1]||=e=>i.value=!0,onBlur:d[2]||=e=>i.value=!1,onClick:d[3]||=kn(()=>{},[`stop`])},null,42,bk),[[wn,Y(s)]]),B(`span`,{class:F(Y(n).be(`button`,`inner`)),style:m(Y(s)===Y(l)?u.value:{}),onKeydown:d[4]||=kn(()=>{},[`stop`])},[I(t.$slots,`default`,{},()=>[Ke(S(e.label),1)])],38)],2))}}),Sk=[`id`,`aria-label`,`aria-labelledby`],Ck=z({name:`ElRadioGroup`,__name:`radio-group`,props:hk,emits:gk,setup(e,{emit:t}){let n=e,i=t,a=$(`radio`),o=rg(),s=q(),{formItem:c}=ub(),{inputId:l,isLabeledByFormItem:u}=db(n,{formItemContext:c}),f=e=>{i(br,e),U(()=>i(xr,e))};d(()=>{let e=s.value.querySelectorAll(`[type=radio]`),t=e[0];!Array.from(e).some(e=>e.checked)&&t&&(t.tabIndex=0)});let p=K(()=>n.name||o.value),m=K(()=>({...mk,...n.props})),h=e=>{let{label:t,value:n,disabled:r}=m.value,i={label:e[t],value:e[n],disabled:e[r]};return{...vd(e,[t,n,r]),...i}},g=K(()=>n.type===`button`?xk:yk);return Qe(fk,ve({...Se(n),changeEvent:f,name:p})),M(()=>n.modelValue,(e,t)=>{n.validateEvent&&!sd(e,t)&&c?.validate(`change`).catch(ge)}),(t,n)=>(N(),W(`div`,{id:Y(l),ref_key:`radioGroupRef`,ref:s,class:F(Y(a).b(`group`)),role:`radiogroup`,"aria-label":Y(u)?void 0:e.ariaLabel||`radio-group`,"aria-labelledby":Y(u)?Y(c).labelId:void 0},[I(t.$slots,`default`,{},()=>[(N(!0),W(R,null,r(e.options,(e,t)=>(N(),H(L(g.value),k({key:t},{ref_for:!0},h(e)),null,16))),128))])],10,Sk))}}),wk=Pv(yk,{RadioButton:xk,RadioGroup:Ck}),Tk=Lv(Ck),Ek=Lv(xk),Dk=Symbol();function Ok(e){return!!(A(e)?e.every(({type:e})=>e===Te):e?.type===Te)}var kk=z({name:`NodeContent`,props:{node:{type:Object,required:!0}},setup(e){let t=$(`cascader-node`),{renderLabelFn:n}=l(Dk),{node:r}=e,{data:i,label:a}=r,o=()=>{let e=n?.({node:r,data:i});return Ok(e)?a:e??a};return()=>J(`span`,{class:t.e(`label`)},[o()])}}),Ak=[`id`,`aria-haspopup`,`aria-owns`,`aria-expanded`,`tabindex`],jk=z({name:`ElCascaderNode`,__name:`node`,props:{node:{type:Object,required:!0},menuId:{type:String,required:!1}},emits:[`expand`],setup(e,{emit:t}){let n=e,r=t,i=l(Dk),a=$(`cascader-node`),o=K(()=>i.isHoverMenu),s=K(()=>i.config.multiple),c=K(()=>i.config.checkStrictly),u=K(()=>i.config.showPrefix),d=K(()=>i.checkedNodes[0]?.uid),f=K(()=>n.node.isDisabled),p=K(()=>n.node.isLeaf),m=K(()=>c.value&&!p.value||!f.value),h=K(()=>_(i.expandingNode)),g=K(()=>c.value&&i.checkedNodes.some(_)),_=e=>{let{level:t,uid:r}=n.node;return e?.pathNodes[t-1]?.uid===r},v=()=>{h.value||i.expandNode(n.node)},y=e=>{let{node:t}=n;e!==t.checked&&i.handleCheckChange(t,e)},b=()=>{i.lazyLoad(n.node,()=>{p.value||v()})},x=e=>{o.value&&(S(),!p.value&&r(`expand`,e))},S=()=>{let{node:e}=n;!m.value||e.loading||(e.loaded?v():b())},C=()=>{p.value&&!f.value&&!c.value&&!s.value?T(!0):(i.config.checkOnClickNode&&(s.value||c.value)||p.value&&i.config.checkOnClickLeaf)&&!f.value?w(!n.node.checked):o.value||S()},w=e=>{c.value?(y(e),n.node.loaded&&v()):T(e)},T=e=>{n.node.loaded?(y(e),!c.value&&v()):b()};return(t,n)=>(N(),W(`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:m.value?-1:void 0,class:F([Y(a).b(),Y(a).is(`selectable`,c.value),Y(a).is(`active`,e.node.checked),Y(a).is(`disabled`,!m.value),h.value&&`in-active-path`,g.value&&`in-checked-path`]),onMouseenter:x,onFocus:x,onClick:C},[G(` prefix `),s.value&&u.value?(N(),H(Y(ok),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:f.value,onClick:n[0]||=kn(()=>{},[`stop`]),"onUpdate:modelValue":w},null,8,[`model-value`,`indeterminate`,`disabled`])):c.value&&u.value?(N(),H(Y(wk),{key:1,"model-value":d.value,label:e.node.uid,disabled:f.value,"onUpdate:modelValue":w,onClick:n[1]||=kn(()=>{},[`stop`])},{default:V(()=>[G(` + Add an empty element to avoid render label, + do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 + `),n[2]||=B(`span`,null,null,-1)]),_:1},8,[`model-value`,`label`,`disabled`])):p.value&&e.node.checked?(N(),H(Y(By),{key:2,class:F(Y(a).e(`prefix`))},{default:V(()=>[J(Y(Jv))]),_:1},8,[`class`])):G(`v-if`,!0),G(` content `),J(Y(kk),{node:e.node},null,8,[`node`]),G(` postfix `),p.value?G(`v-if`,!0):(N(),W(R,{key:3},[e.node.loading?(N(),H(Y(By),{key:0,class:F([Y(a).is(`loading`),Y(a).e(`postfix`)])},{default:V(()=>[J(Y(dy))]),_:1},8,[`class`])):(N(),H(Y(By),{key:1,class:F([`arrow-right`,Y(a).e(`postfix`)])},{default:V(()=>[J(Y(Hv))]),_:1},8,[`class`]))],64))],42,Ak))}}),Mk=z({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}){let n=e,i=Xe(),a=$(`cascader-menu`),{t:o}=Dp(),s=rg(),c,u,d=l(Dk),f=q(),p=q(),h=K(()=>!n.nodes.length),g=K(()=>!d.initialLoaded),_=K(()=>`${s.value}-${n.index}`),v=()=>{let e;if(d.expandingNode){let{level:t,pathNodes:r}=d.expandingNode;n.index0&&(e=d.checkedNodes[0]?.pathNodes[n.index]?.uid)}else d.checkedNodes.length>0&&n.indext.uid===e)},y=e=>e?n.nodes.findIndex(t=>`${_.value}-${t.uid}`===e):-1,b=e=>{let t=Ts(e,0,n.nodes.length-1);p.value?.scrollToItem(t)},x=e=>{if(!n.nodes.length)return;let t=Ts(e,0,n.nodes.length-1);b(t),U(()=>{let e=i.vnode.el?.querySelector(`#${_.value}-${n.nodes[t].uid}`);e&&cp(e)})},C=e=>{c=e.target},w=e=>{if(!(!d.isHoverMenu||!c||!f.value))if(c.contains(e.target)){T();let t=i.vnode.el,{left:r}=t.getBoundingClientRect(),{offsetWidth:o,offsetHeight:s}=t,l=e.clientX-r,u=c.offsetTop,d=u+c.offsetHeight,m=n.virtualScroll?p.value?.states?.scrollOffset||0:t.querySelector(`.${a.e(`wrap`)}`)?.scrollTop||0;f.value.innerHTML=` + + + `}else u||=window.setTimeout(E,d.config.hoverThreshold)},T=()=>{u&&=(clearTimeout(u),void 0)},E=()=>{f.value&&(f.value.innerHTML=``,T())};return t({getActiveNodeIndex:v,getNodeIndexById:y,scrollToItem:b,focusNodeAt:x,virtualListRef:p,get $el(){return i.vnode.el}}),(t,n)=>e.virtualScroll?(N(),W(`div`,{key:_.value,class:F(Y(a).b()),onMousemove:w,onMouseleave:E},[J(Y(gO),{ref_key:`virtualListRef`,ref:p,height:e.height,"item-size":e.itemSize,data:e.nodes,total:e.nodes.length,"class-name":Y(a).e(`list`),"inner-element":`ul`,"inner-props":{role:`menu`,class:Y(a).is(`empty`,h.value)}},{default:V(({data:e,index:t,style:n})=>[(N(),H(jk,{key:e[t].uid,node:e[t],"menu-id":_.value,style:m(n),onExpand:C},null,8,[`node`,`menu-id`,`style`]))]),_:1},8,[`height`,`item-size`,`data`,`total`,`class-name`,`inner-props`]),g.value?(N(),W(`div`,{key:0,class:F(Y(a).e(`empty-text`))},[J(Y(By),{size:14,class:F(Y(a).is(`loading`))},{default:V(()=>[J(Y(dy))]),_:1},8,[`class`]),Ke(` `+S(Y(o)(`el.cascader.loading`)),1)],2)):h.value?(N(),W(`div`,{key:1,class:F(Y(a).e(`empty-text`))},[I(t.$slots,`empty`,{},()=>[Ke(S(Y(o)(`el.cascader.noData`)),1)])],2)):Y(d)?.isHoverMenu?(N(),W(R,{key:2},[G(` eslint-disable vue/html-self-closing `),(N(),W(`svg`,{ref_key:`hoverZone`,ref:f,class:F(Y(a).e(`hover-zone`))},null,2))],2112)):G(`v-if`,!0),G(` eslint-enable vue/html-self-closing `)],34)):(N(),H(Y(tC),{key:_.value,tag:`ul`,role:`menu`,class:F(Y(a).b()),"wrap-class":Y(a).e(`wrap`),"view-class":[Y(a).e(`list`),Y(a).is(`empty`,h.value)],onMousemove:w,onMouseleave:E},{default:V(()=>[(N(!0),W(R,null,r(e.nodes,e=>(N(),H(jk,{key:e.uid,node:e,"menu-id":_.value,onExpand:C},null,8,[`node`,`menu-id`]))),128)),g.value?(N(),W(`div`,{key:0,class:F(Y(a).e(`empty-text`))},[J(Y(By),{size:14,class:F(Y(a).is(`loading`))},{default:V(()=>[J(Y(dy))]),_:1},8,[`class`]),Ke(` `+S(Y(o)(`el.cascader.loading`)),1)],2)):h.value?(N(),W(`div`,{key:1,class:F(Y(a).e(`empty-text`))},[I(t.$slots,`empty`,{},()=>[Ke(S(Y(o)(`el.cascader.noData`)),1)])],2)):Y(d)?.isHoverMenu?(N(),W(R,{key:2},[G(` eslint-disable vue/html-self-closing `),(N(),W(`svg`,{ref_key:`hoverZone`,ref:f,class:F(Y(a).e(`hover-zone`))},null,2))],2112)):G(`v-if`,!0),G(` eslint-enable vue/html-self-closing `)]),_:3},8,[`class`,`wrap-class`,`view-class`]))}}),Nk=0,Pk=e=>{let t=[e],{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t},Fk=class e{constructor(t,n,r,i=!1){this.data=t,this.config=n,this.parent=r,this.root=i,this.uid=Nk++,this.checked=!1,this.indeterminate=!1,this.loading=!1;let{value:a,label:o,children:s}=n,c=t[s],l=Pk(this);this.level=i?0:r?r.level+1:1,this.value=t[a],this.label=t[o],this.pathNodes=l,this.pathValues=l.map(e=>e.value),this.pathLabels=l.map(e=>e.label),this.childrenData=c,this.children=(c||[]).map(t=>new e(t,n,this)),this.loaded=!n.lazy||this.isLeaf||!Nd(c),this.text=``}get isDisabled(){let{data:e,parent:t,config:r}=this,{disabled:i,checkStrictly:a}=r;return(n(i)?i(e,this):!!e[i])||!a&&!!t?.isDisabled}get isLeaf(){let{data:e,config:t,childrenData:r,loaded:i}=this,{lazy:a,leaf:o}=t,s=n(o)?o(e,this):e[o];return Ad(s)?a&&!i?!1:!(A(r)&&r.length):!!s}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){let{childrenData:n,children:r}=this,i=new e(t,this.config,this);return A(n)?n.push(t):this.childrenData=[t],r.push(i),i}calcText(e,t){let n=e?this.pathLabels.join(t):this.label;return this.text=n,n}broadcast(e){this.children.forEach(t=>{t&&(t.broadcast(e),t.onParentCheck?.(e))})}emit(){let{parent:e}=this;e&&(e.onChildCheck?.(),e.emit())}onParentCheck(e){this.isDisabled||this.setCheckState(e)}onChildCheck(){let{children:e}=this,t=e.filter(e=>!e.isDisabled),n=t.length?t.every(e=>e.checked):!1;this.setCheckState(n)}setCheckState(e){let t=this.children.length,n=this.children.reduce((e,t)=>e+(t.checked?1:t.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(e=>!e.isDisabled).every(e=>e.loaded&&e.checked)&&e,this.indeterminate=this.loaded&&n!==t&&n>0}doCheck(e){if(this.checked===e)return;let{checkStrictly:t,multiple:n}=this.config;t||!n?this.checked=e:(this.broadcast(e),this.setCheckState(e),this.emit())}},Ik=(e,t)=>e.reduce((e,n)=>(n.isLeaf?e.push(n):(!t&&e.push(n),e=e.concat(Ik(n.children,t))),e),[]),Lk=class{constructor(e,t){this.config=t;let n=(e||[]).map(e=>new Fk(e,this.config));this.nodes=n,this.allNodes=Ik(n,!1),this.leafNodes=Ik(n,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){let n=t?t.appendChild(e):new Fk(e,this.config);t||this.nodes.push(n),this.appendAllNodesAndLeafNodes(n)}appendNodes(e,t){e.length>0?e.forEach(e=>this.appendNode(e,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(e=>{this.appendAllNodesAndLeafNodes(e)})}getNodeByValue(e,t=!1){return Fd(e)?null:this.getFlattedNodes(t).find(t=>sd(t.value,e)||sd(t.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:t,level:n})=>sd(e.value,t)&&e.level===n)||null}},Rk=e=>{if(!e)return 0;let t=e.id.split(`-`);return Number(t[t.length-2])},zk=e=>{if(!e)return;let t=e.querySelector(`input`);t?t.click():ap(e)&&e.click()},Bk=(e,t)=>{let n=t.slice(0),r=n.map(e=>e.uid),i=e.reduce((e,t)=>{let i=r.indexOf(t.uid);return i>-1&&(e.push(t),n.splice(i,1),r.splice(i,1)),e},[]);return i.push(...n),i},Vk=Pv(z({name:`ElCascaderPanel`,__name:`index`,props:wD,emits:ED,setup(e,{expose:t,emit:n}){let i=e,a=n,o=!1,s=$(`cascader`),c=DD(i),l=le(),u,f=q(!0),p=q(!1),m=q([]),h=q(),g=q([]),_=q(),v=q([]),y=K(()=>c.value.expandTrigger===`hover`),b=K(()=>i.renderLabel||l.default),x=K(()=>i.virtualScroll),S=K(()=>i.itemSize),C=K(()=>i.height),w=()=>{let{options:e}=i,t=c.value;o=!1,u=new Lk(e,t),g.value=[u.getNodes()],t.lazy&&Nd(i.options)?(f.value=!1,T(void 0,e=>{e&&(u=new Lk(e,t),g.value=[u.getNodes()]),f.value=!0,te(!1,!0)})):te(!1,!0)},T=(e,t)=>{let n=c.value;e||=new Fk({},n,void 0,!0),e.loading=!0,n.lazyLoad(e,n=>{let r=e,i=r.root?null:r;r.loading=!1,r.loaded=!0,r.childrenData=r.childrenData||[],n&&u?.appendNodes(n,i),n&&t?.(n),e.level===0&&(p.value=!0)},()=>{e.loading=!1,e.loaded=!1,e.level===0&&(f.value=!0)})},E=(e,t)=>{let{level:n}=e,r=g.value.slice(0,n),i;e.isLeaf?i=e.pathNodes[n-2]:(i=e,r.push(e.children)),_.value?.uid!==i?.uid&&(_.value=e,g.value=r,!t&&a(`expand-change`,e?.pathValues||[]))},O=(e,t,n=!0)=>{let{checkStrictly:r,multiple:i}=c.value,s=v.value[0];o=!0,!i&&s?.doCheck(!1),e.doCheck(t),P(),n&&!i&&!r&&a(`close`),!n&&!i&&k(e)},k=e=>{e&&(e=e.parent,k(e),e&&E(e))},A=e=>u?.getFlattedNodes(e),ee=e=>A(e)?.filter(({checked:e})=>e!==!1),j=()=>{v.value.forEach(e=>e.doCheck(!1)),P(),g.value=g.value.slice(0,1),_.value=void 0,a(`expand-change`,[])},P=()=>{let{checkStrictly:e,multiple:t}=c.value,n=v.value,r=Bk(n,ee(!e)),i=r.map(e=>e.valueByOption);v.value=r,h.value=t?i:i[0]??null},te=(e=!1,t=!1)=>{let{modelValue:n}=i,{lazy:r,multiple:a,checkStrictly:s}=c.value,l=!s;if(!(!f.value||o||!t&&sd(n,h.value)))if(r&&!e){let e=pb(id(hb(n))).map(e=>u?.getNodeByValue(e)).filter(e=>!!e&&!e.loaded&&!e.loading);e.length?e.forEach(e=>{T(e,()=>te(!1,t))}):te(!0,t)}else ne(pb((a?hb(n):[n]).map(e=>u?.getNodeByValue(e,l))),t),h.value=Ml(n??void 0)},ne=(e,t=!0)=>{let{checkStrictly:n}=c.value,r=v.value,i=e.filter(e=>!!e&&(n||e.isLeaf)),a=u?.getSameNode(_.value),o=t&&a||i[0];o?o.pathNodes.forEach(e=>E(e,!0)):_.value=void 0,r.forEach(e=>e.doCheck(!1)),ve(i).forEach(e=>e.doCheck(!0)),v.value=i,U(re)},re=()=>{nf&&m.value.forEach(e=>{let t=e?.$el;if(t)if(x.value){let t=e?.getActiveNodeIndex?.();t!==void 0&&t>=0&&e?.scrollToItem?.(t)}else{let e=t.querySelector(`.${s.namespace.value}-scrollbar__wrap`),n=t.querySelector(`.${s.b(`node`)}.in-active-path`);if(!n){let e=t.querySelectorAll(`.${s.b(`node`)}.${s.is(`active`)}`);n=e[e.length-1]}zp(e,n)}})},ie=e=>{let t=e.target,n=Kp(e);switch(n){case X.up:case X.down:{e.preventDefault();let r=n===X.up?-1:1;if(x.value){let e=Rk(t),n=m.value[e];if(n){let i=n.getNodeIndexById(t.id);if(i>=0){let t=g.value[e]??[],a=t.length,o=i+r;for(;o>=0&&o{sd(e,t)||w()},{immediate:!0}),M(()=>i.options,w,{deep:!0}),M(()=>i.modelValue,()=>{o=!1,te()},{deep:!0}),M(()=>h.value,e=>{sd(e,i.modelValue)||(a(br,e),a(xr,e))}),D(()=>m.value=[]),d(()=>!Nd(i.modelValue)&&te()),t({menuList:m,menus:g,checkedNodes:v,handleKeyDown:ie,handleCheckChange:O,getFlattedNodes:A,getCheckedNodes:ee,clearCheckedNodes:j,calculateCheckedValue:P,scrollToExpandingNode:re,loadLazyRootNodes:()=>{p.value||!f.value||w()}}),(t,n)=>(N(),W(`div`,{class:F([Y(s).b(`panel`),Y(s).is(`bordered`,e.border)]),onKeydown:ie},[(N(!0),W(R,null,r(g.value,(e,n)=>(N(),H(Mk,{key:n,ref_for:!0,ref:e=>m.value[n]=e,index:n,nodes:[...e],"virtual-scroll":x.value,"item-size":S.value,height:C.value},{empty:V(()=>[I(t.$slots,`empty`)]),_:3},8,[`index`,`nodes`,`virtual-scroll`,`item-size`,`height`]))),128))],34))}})),Hk=Q({...SD,size:xv,placeholder:String,disabled:{type:Boolean,default:void 0},clearable:Boolean,clearIcon:{type:Ny,default:Qv},filterable:Boolean,filterMethod:{type:Z(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:Z(Function),default:()=>!0},placement:{type:Z(String),values:fm,default:`bottom-start`},fallbackPlacements:{type:Z(Array),default:[`bottom-start`,`bottom`,`top-start`,`top`,`right`,`left`]},popperClass:fS.popperClass,popperStyle:fS.popperStyle,teleported:fS.teleported,effect:{type:Z(String),default:`light`},tagType:{...nE.type,default:`info`},tagEffect:{...nE.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},...kv}),Uk=e=>!0,Wk={[br]:Uk,[xr]:Uk,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>jd(e),expandChange:e=>!!e,removeTag:e=>!!e},Gk=[`placeholder`],Kk=[`onClick`],qk=[`id`,`data-suggestion-index`,`onClick`],Jk=34,Yk=Pv(z({name:`ElCascader`,__name:`cascader`,props:Hk,emits:Wk,setup(e,{expose:t,emit:n}){let i={modifiers:[{name:`arrowPosition`,enabled:!0,phase:`main`,fn:({state:e})=>{let{modifiersData:t,placement:n}=e;[`right`,`left`,`bottom`,`top`].includes(n)||t.arrow&&(t.arrow.x=35)},requires:[`arrow`]}]},a=e,o=n,s=y(),c=le(),l=0,u=0,p=$(`cascader`),h=$(`input`),g={small:7,default:11,large:15},{t:_}=Dp(),{formItem:v}=ub(),b=lb(),{valueOnClear:x}=Av(a),{isComposing:C,handleComposition:w}=Tv({afterComposition(e){let t=e.target?.value;at(t)}}),T=q(),E=q(),D=q(),O=q(),k=q(),A=q(),ee=q(),j=q(!1),P=q(!1),te=q(!1),ne=q(``),re=q(``),ie=q([]),ae=q([]),oe=q(`100%`),se=K(()=>!!c[`suggestion-item`]),ce=K(()=>Ts(ae.value.length*a.itemSize,a.itemSize,a.height)),ue=K(()=>a.props.multiple?a.collapseTags?ie.value.slice(0,a.maxCollapseTags):ie.value:[]),de=K(()=>a.props.multiple&&a.collapseTags?ie.value.slice(a.maxCollapseTags):[]),fe=K(()=>s.style),pe=K(()=>a.placeholder??_(`el.cascader.placeholder`)),me=K(()=>re.value||ie.value.length>0||C.value?``:pe.value),he=cb(),z=K(()=>he.value===`small`?`small`:`default`),_e=K(()=>!!a.props.multiple),ve=K(()=>!a.filterable||_e.value),ye=K(()=>_e.value?re.value:ne.value),be=K(()=>k.value?.checkedNodes||[]),{wrapperRef:Se,isFocused:Ce,handleBlur:we}=wv(D,{disabled:b,beforeBlur(e){return T.value?.isFocusInsideContent(e)||E.value?.isFocusInsideContent(e)},afterBlur(){a.validateEvent&&v?.validate?.(`blur`).catch(ge)}}),Te=K(()=>!a.clearable||b.value||te.value||!P.value&&!Ce.value?!1:!!be.value.length),Ee=K(()=>{let{showAllLevels:e,separator:t}=a,n=be.value;return n.length?_e.value?``:n[0].calcText(e,t):``}),De=K(()=>v?.validateState||``),Oe=K({get(){return Ml(a.modelValue)},set(e){let t=e??x.value;o(br,t),o(xr,t),a.validateEvent&&v?.validate(`change`).catch(ge)}}),ke=K(()=>[p.b(),p.m(he.value),p.is(`disabled`,b.value),s.class]),Ae=K(()=>[h.e(`icon`),`icon-arrow-down`,p.is(`reverse`,j.value)]),je=K(()=>p.is(`focus`,Ce.value)),Me=K(()=>T.value?.popperRef?.contentRef),Ne=e=>{Ce.value&&we(new FocusEvent(`blur`,e)),Pe(!1)},Pe=e=>{b.value||(e??=!j.value,e!==j.value&&(j.value=e,D.value?.input?.setAttribute(`aria-expanded`,`${e}`),e?(Fe(),k.value&&U(k.value.scrollToExpandingNode)):a.filterable&&$e(),o(`visibleChange`,e)))},Fe=()=>{U(()=>{T.value?.updatePopper()})},Ie=()=>{te.value=!1},Le=e=>{let{showAllLevels:t,separator:n}=a;return{node:e,key:e.uid,text:e.calcText(t,n),hitState:!1,closable:!b.value&&!e.isDisabled}},Re=e=>{let t=e.node;t.doCheck(!1),k.value?.calculateCheckedValue(),o(`removeTag`,t.valueByOption)},ze=()=>{switch(a.showCheckedStrategy){case`child`:return be.value;case`parent`:{let e=Ye(!1),t=e.map(e=>e.value);return e.filter(e=>!e.parent||!t.includes(e.parent.value))}default:return[]}},Be=()=>{if(!_e.value)return;let e=ze(),t=[];e.forEach(e=>t.push(Le(e))),ie.value=t},Ve=()=>{let{filterMethod:e,showAllLevels:t,separator:n}=a,r=k.value?.getFlattedNodes(!a.props.checkStrictly)?.filter(r=>r.isDisabled?!1:(r.calcText(t,n),e(r,ye.value)));_e.value&&ie.value.forEach(e=>{e.hitState=!1}),te.value=!0,ae.value=r,U(()=>{a.virtualScroll&&ae.value.length>0&&ee.value?.scrollToItem(0),qe()}),Fe()},He=e=>{let t=A.value;return e?t?.querySelector(e)??void 0:t},Ue=()=>{let e;e=te.value&&A.value?He(`.${p.e(`suggestion-item`)}`):k.value?.$el.querySelector(`.${p.b(`node`)}[tabindex="-1"]`),e&&(e.focus(),!te.value&&e.getAttribute(`aria-haspopup`)===`true`&&e.click())},We=e=>{let t=He();if(!t)return;let n=Md(a.fitInputWidth)?`${a.fitInputWidth}px`:`${e}px`,r=e=>{a.fitInputWidth===!1?(e.style.width=``,e.style.minWidth=n):(e.style.width=n,e.style.minWidth=``)};if(r(t),a.virtualScroll){oe.value=a.fitInputWidth===!1?se.value?`${e}px`:`${Math.max(e,Je())}px`:n;return}let i=He(`.${p.e(`suggestion-list`)}`);i&&r(i)},Ke=()=>{if(!c.prefix)return 0;let e=D.value?.$el.querySelector(`.${h.e(`prefix`)}`);if(!e)return 0;let t=e.getBoundingClientRect().width;return t<=0?0:t+g[he.value||`default`]},qe=()=>{let e=D.value?.input,t=D.value?.$el;if(!nf||!e||!t)return;A.value&&We(t.getBoundingClientRect().width);let n=O.value;if(n){let t=ie.value.length>0?`${Math.max(n.offsetHeight,l)-2}px`:`${l}px`;e.style.height=t,n.style.left=`${Ke()}px`,Fe()}},Je=()=>{if(se.value||!ae.value.length)return 0;let e=document.createElement(`canvas`).getContext(`2d`);if(!e)return 0;let t=He(`.${p.e(`suggestion-item`)}`);if(!t||!nf)return 0;let n=getComputedStyle(t),r=Number.parseFloat(n.paddingLeft)+Number.parseFloat(n.paddingRight);e.font=`bold ${n.fontSize} ${n.fontFamily}`;let i=0,a=!1;for(let t of ae.value){let n=t.text||``,r=e.measureText(n);i=Math.max(i,r.width),t.checked&&!a&&(a=!0)}return i+r+(a?Jk:0)},Ye=e=>k.value?.getCheckedNodes(e),Xe=e=>{Fe(),o(`expandChange`,e)},Ze=e=>{if(!C.value)switch(Kp(e)){case X.enter:case X.numpadEnter:Pe();break;case X.down:Pe(!0),U(Ue),e.preventDefault();break;case X.esc:j.value===!0&&(e.preventDefault(),e.stopPropagation(),Pe(!1));break;case X.tab:Pe(!1);break}},Qe=()=>{k.value?.clearCheckedNodes(),!j.value&&a.filterable&&$e(),Pe(!1),o(`clear`)},$e=()=>{let{value:e}=Ee;ne.value=e,re.value=e},et=e=>{let{checked:t}=e;_e.value?k.value?.handleCheckChange(e,!t,!1):(!t&&k.value?.handleCheckChange(e,!0,!1),Pe(!1))},tt=e=>{let t=e.closest(`[data-suggestion-index]`)?.dataset.suggestionIndex;if(!t)return-1;let n=Number.parseInt(t,10);return Number.isNaN(n)||n<0||n>=ae.value.length?-1:n},nt=e=>{let t=e.target,n=Kp(e);switch(n){case X.up:case X.down:{e.preventDefault();let r=n===X.up?-1:1;if(a.virtualScroll&&ee.value){let e=tt(t);if(e>=0){let t=ae.value.length,n=(e+r+t)%t;ee.value.scrollToItem(n),U(()=>{let e=He(`#suggestion-${ae.value[n].uid}`);e&&cp(e)});return}}cp(op(t,r,`.${p.e(`suggestion-item`)}[tabindex="-1"]`));break}case X.enter:case X.numpadEnter:t.click();break}},rt=()=>{let e=ie.value[ie.value.length-1];u=re.value?0:u+1,!(!e||!u||a.collapseTags&&ie.value.length>1)&&(e.hitState?Re(e):e.hitState=!0)},it=bf(()=>{let{value:e}=ye;if(!e)return;let t=a.beforeFilter(e);f(t)?t.then(Ve).catch(()=>{}):t===!1?Ie():Ve()},K(()=>a.debounce)),at=(e,t)=>{if(!j.value&&Pe(!0),!t?.isComposing)if(e)it();else{let e=a.beforeFilter(``);f(e)&&e.catch(()=>{}),Ie()}},ot=e=>Number.parseFloat(Vf(h.cssVarName(`input-height`),e).value)-2;return M(te,Fe),M([be,b,()=>a.collapseTags,()=>a.maxCollapseTags],Be),M(ie,()=>{U(()=>qe())}),M(he,async()=>{await U();let e=D.value.input;l=ot(e)||l,qe()}),M(Ee,$e,{immediate:!0}),M(()=>j.value,e=>{e&&a.props.lazy&&a.props.lazyLoad&&k.value?.loadLazyRootNodes()}),d(()=>{let e=D.value.input,t=D.value.$el,n=ot(e);l=e.offsetHeight||n,Uf(t,qe)}),t({getCheckedNodes:Ye,cascaderPanelRef:k,togglePopperVisible:Pe,contentRef:Me,presentText:Ee,focus:()=>{D.value?.focus()},blur:()=>{D.value?.blur()}}),(t,n)=>(N(),H(Y(ES),{ref_key:`tooltipRef`,ref:T,visible:j.value,teleported:e.teleported,"popper-class":[Y(p).e(`dropdown`),e.popperClass],"popper-style":e.popperStyle,"popper-options":i,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${Y(p).namespace.value}-zoom-in-top`,effect:e.effect,pure:``,persistent:e.persistent,onHide:Ie},{default:V(()=>[Ge((N(),W(`div`,{ref_key:`wrapperRef`,ref:Se,class:F(ke.value),style:m(fe.value),onClick:n[8]||=()=>Pe(ve.value?void 0:!0),onKeydown:Ze,onMouseenter:n[9]||=e=>P.value=!0,onMouseleave:n[10]||=e=>P.value=!1},[J(Y(zS),{ref_key:`inputRef`,ref:D,modelValue:ne.value,"onUpdate:modelValue":n[1]||=e=>ne.value=e,placeholder:me.value,readonly:ve.value,disabled:Y(b),"validate-event":!1,size:Y(he),class:F(je.value),tabindex:_e.value&&e.filterable&&!Y(b)?-1:void 0,onCompositionstart:Y(w),onCompositionupdate:Y(w),onCompositionend:Y(w),onInput:at},xe({suffix:V(()=>[Te.value?(N(),H(Y(By),{key:`clear`,class:F([Y(h).e(`icon`),`icon-circle-close`]),onClick:kn(Qe,[`stop`])},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`])):(N(),H(Y(By),{key:`arrow-down`,class:F(Ae.value),onClick:n[0]||=kn(e=>Pe(),[`stop`])},{default:V(()=>[J(Y(Bv))]),_:1},8,[`class`]))]),_:2},[t.$slots.prefix?{name:`prefix`,fn:V(()=>[I(t.$slots,`prefix`)]),key:`0`}:void 0]),1032,[`modelValue`,`placeholder`,`readonly`,`disabled`,`size`,`class`,`tabindex`,`onCompositionstart`,`onCompositionupdate`,`onCompositionend`]),_e.value?(N(),W(`div`,{key:0,ref_key:`tagWrapper`,ref:O,class:F([Y(p).e(`tags`),Y(p).is(`validate`,!!De.value)])},[I(t.$slots,`tag`,{data:ie.value,deleteTag:Re},()=>[(N(!0),W(R,null,r(ue.value,t=>(N(),H(Y(oE),{key:t.key,type:e.tagType,size:z.value,effect:e.tagEffect,hit:t.hitState,closable:t.closable,"disable-transitions":``,onClose:e=>Re(t)},{default:V(()=>[B(`span`,null,S(t.text),1)]),_:2},1032,[`type`,`size`,`effect`,`hit`,`closable`,`onClose`]))),128))]),e.collapseTags&&ie.value.length>e.maxCollapseTags?(N(),H(Y(ES),{key:0,ref_key:`tagTooltipRef`,ref:E,disabled:j.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:V(()=>[J(Y(oE),{closable:!1,size:z.value,type:e.tagType,effect:e.tagEffect,"disable-transitions":``},{default:V(()=>[B(`span`,{class:F(Y(p).e(`tags-text`))},` + `+S(ie.value.length-e.maxCollapseTags),3)]),_:1},8,[`size`,`type`,`effect`])]),content:V(()=>[J(Y(tC),{"max-height":e.maxCollapseTagsTooltipHeight},{default:V(()=>[B(`div`,{class:F(Y(p).e(`collapse-tags`))},[(N(!0),W(R,null,r(de.value,(t,n)=>(N(),W(`div`,{key:n,class:F(Y(p).e(`collapse-tag`))},[(N(),H(Y(oE),{key:t.key,class:`in-tooltip`,type:e.tagType,size:z.value,effect:e.tagEffect,hit:t.hitState,closable:t.closable,"disable-transitions":``,onClose:e=>Re(t)},{default:V(()=>[B(`span`,null,S(t.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`])):G(`v-if`,!0),e.filterable&&!Y(b)?Ge((N(),W(`input`,{key:1,"onUpdate:modelValue":n[2]||=e=>re.value=e,type:`text`,class:F(Y(p).e(`search-input`)),placeholder:Ee.value?``:pe.value,onInput:n[3]||=e=>at(re.value,e),onClick:n[4]||=kn(e=>Pe(!0),[`stop`]),onKeydown:jn(rt,[`delete`]),onCompositionstart:n[5]||=(...e)=>Y(w)&&Y(w)(...e),onCompositionupdate:n[6]||=(...e)=>Y(w)&&Y(w)(...e),onCompositionend:n[7]||=(...e)=>Y(w)&&Y(w)(...e)},null,42,Gk)),[[xn,re.value]]):G(`v-if`,!0)],2)):G(`v-if`,!0)],38)),[[Y(eT),Ne,Me.value]])]),content:V(()=>[t.$slots.header?(N(),W(`div`,{key:0,class:F(Y(p).e(`header`)),onClick:n[11]||=kn(()=>{},[`stop`])},[I(t.$slots,`header`)],2)):G(`v-if`,!0),Ge(J(Y(Vk),{ref_key:`cascaderPanelRef`,ref:k,modelValue:Oe.value,"onUpdate:modelValue":n[12]||=e=>Oe.value=e,options:e.options,props:a.props,border:!1,"render-label":t.$slots.default,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,height:e.height,onExpandChange:Xe,onClose:n[13]||=e=>t.$nextTick(()=>Pe(!1))},{empty:V(()=>[I(t.$slots,`empty`)]),_:3},8,[`modelValue`,`options`,`props`,`render-label`,`virtual-scroll`,`item-size`,`height`]),[[jt,!te.value]]),e.filterable?(N(),W(R,{key:1},[e.virtualScroll?Ge((N(),W(`div`,{key:1,ref_key:`suggestionPanel`,ref:A,class:F(Y(p).e(`suggestion-panel`)),onKeydown:nt},[Ge(J(Y(gO),{ref_key:`suggestionVirtualListRef`,ref:ee,height:ce.value,"item-size":e.itemSize,data:ae.value,total:ae.value.length,"class-name":Y(p).e(`suggestion-list`),"inner-element":`ul`,"inner-width":oe.value},{default:V(({data:e,index:n,style:r})=>[(N(),W(`li`,{id:`suggestion-${e[n].uid}`,key:e[n].uid,"data-suggestion-index":n,class:F([Y(p).e(`suggestion-item`),Y(p).is(`checked`,e[n].checked)]),tabindex:-1,style:m(r),onClick:t=>et(e[n])},[I(t.$slots,`suggestion-item`,{item:e[n]},()=>[B(`span`,null,S(e[n].text),1),e[n].checked?(N(),H(Y(By),{key:0},{default:V(()=>[J(Y(Jv))]),_:1})):G(`v-if`,!0)])],14,qk))]),_:3},8,[`height`,`item-size`,`data`,`total`,`class-name`,`inner-width`]),[[jt,ae.value.length]]),ae.value.length?G(`v-if`,!0):I(t.$slots,`empty`,{key:0},()=>[B(`ul`,{class:F(Y(p).e(`suggestion-list`))},[B(`li`,{class:F(Y(p).e(`empty-text`))},S(Y(_)(`el.cascader.noMatch`)),3)],2)])],34)),[[jt,te.value]]):Ge((N(),H(Y(tC),{key:0,ref:e=>A.value=e?.$el,tag:`ul`,class:F(Y(p).e(`suggestion-panel`)),"wrap-class":Y(p).e(`suggestion-wrap`),"view-class":Y(p).e(`suggestion-list`),onKeydown:nt},{default:V(()=>[ae.value.length?(N(!0),W(R,{key:0},r(ae.value,e=>(N(),W(`li`,{key:e.uid,class:F([Y(p).e(`suggestion-item`),Y(p).is(`checked`,e.checked)]),tabindex:-1,onClick:t=>et(e)},[I(t.$slots,`suggestion-item`,{item:e},()=>[B(`span`,null,S(e.text),1),e.checked?(N(),H(Y(By),{key:0},{default:V(()=>[J(Y(Jv))]),_:1})):G(`v-if`,!0)])],10,Kk))),128)):I(t.$slots,`empty`,{key:1},()=>[B(`li`,{class:F(Y(p).e(`empty-text`))},S(Y(_)(`el.cascader.noMatch`)),3)])]),_:3},8,[`class`,`wrap-class`,`view-class`])),[[jt,te.value]])],64)):G(`v-if`,!0),t.$slots.footer?(N(),W(`div`,{key:2,class:F(Y(p).e(`footer`)),onClick:n[14]||=kn(()=>{},[`stop`])},[I(t.$slots,`footer`)],2)):G(`v-if`,!0)]),_:3},8,[`visible`,`teleported`,`popper-class`,`popper-style`,`fallback-placements`,`placement`,`transition`,`effect`,`persistent`]))}})),Xk=Pv(z({name:`ElCheckTag`,__name:`check-tag`,props:Q({checked:Boolean,disabled:Boolean,type:{type:String,values:[`primary`,`success`,`info`,`warning`,`danger`],default:`primary`}}),emits:{"update:checked":e=>jd(e),[xr]:e=>jd(e)},setup(e,{emit:t}){let n=e,r=t,i=$(`check-tag`),a=K(()=>[i.b(),i.is(`checked`,n.checked),i.is(`disabled`,n.disabled),i.m(n.type||`primary`)]),o=()=>{if(n.disabled)return;let e=!n.checked;r(xr,e),r(`update:checked`,e)};return(e,t)=>(N(),W(`span`,{class:F(a.value),onClick:o},[I(e.$slots,`default`)],2))}})),Zk=Q({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:Z([Number,Object]),default:()=>DS({})},sm:{type:Z([Number,Object]),default:()=>DS({})},md:{type:Z([Number,Object]),default:()=>DS({})},lg:{type:Z([Number,Object]),default:()=>DS({})},xl:{type:Z([Number,Object]),default:()=>DS({})}}),Qk=Q({tag:{type:String,default:`div`},gutter:{type:Number,default:0},justify:{type:String,values:[`start`,`center`,`end`,`space-around`,`space-between`,`space-evenly`],default:`start`},align:{type:String,values:[`top`,`middle`,`bottom`]}}),$k=Symbol(`rowContextKey`),eA=Pv(z({name:`ElRow`,__name:`row`,props:Qk,setup(e){let t=e,n=$(`row`);Qe($k,{gutter:K(()=>t.gutter)});let r=K(()=>{let e={};return t.gutter&&(e.marginRight=e.marginLeft=`-${t.gutter/2}px`),e}),i=K(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!==`start`),n.is(`align-${t.align}`,!!t.align)]);return(t,n)=>(N(),H(L(e.tag),{class:F(i.value),style:m(r.value)},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`class`,`style`]))}})),tA=Pv(z({name:`ElCol`,__name:`col`,props:Zk,setup(e){let t=e,{gutter:n}=l($k,{gutter:K(()=>0)}),r=$(`col`),i=K(()=>{let e={};return n.value&&(e.paddingLeft=e.paddingRight=`${n.value/2}px`),e}),a=K(()=>{let e=[];return[`span`,`offset`,`pull`,`push`].forEach(n=>{let i=t[n];Md(i)&&(n===`span`?e.push(r.b(`${t[n]}`)):i>0&&e.push(r.b(`${n}-${t[n]}`)))}),[`xs`,`sm`,`md`,`lg`,`xl`].forEach(n=>{Md(t[n])?e.push(r.b(`${n}-${t[n]}`)):E(t[n])&&Object.entries(t[n]).forEach(([t,i])=>{e.push(t===`span`?r.b(`${n}-${i}`):r.b(`${n}-${t}-${i}`))})}),n.value&&e.push(r.is(`guttered`)),[r.b(),e]});return(t,n)=>(N(),H(L(e.tag),{class:F(a.value),style:m(i.value)},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`class`,`style`]))}})),nA=e=>Md(e)||P(e)||A(e),rA=Q({accordion:Boolean,modelValue:{type:Z([Array,String,Number]),default:()=>DS([])},expandIconPosition:{type:Z([String]),default:`right`},beforeCollapse:{type:Z(Function)}}),iA={[br]:nA,[xr]:nA},aA=Symbol(`collapseContextKey`),oA=Q({title:{type:String,default:``},name:{type:Z([String,Number]),default:void 0},icon:{type:Ny,default:Hv},disabled:Boolean}),sA=Pv(z({name:`ElCollapseTransition`,__name:`collapse-transition`,setup(e){let t=$(`collapse-transition`),n=e=>{e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},r={beforeEnter(e){e.dataset||={},e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height&&(e.dataset.elExistsHeight=e.style.height),e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0},enter(e){requestAnimationFrame(()=>{e.dataset.oldOverflow=e.style.overflow,e.dataset.elExistsHeight?e.style.maxHeight=e.dataset.elExistsHeight:e.scrollHeight===0?e.style.maxHeight=0:e.style.maxHeight=`${e.scrollHeight}px`,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom,e.style.overflow=`hidden`})},afterEnter(e){e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow},enterCancelled(e){n(e)},beforeLeave(e){e.dataset||={},e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.maxHeight=`${e.scrollHeight}px`,e.style.overflow=`hidden`},leave(e){e.scrollHeight!==0&&(e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0)},afterLeave(e){n(e)},leaveCancelled(e){n(e)}};return(e,n)=>(N(),H(pt,k({name:Y(t).b()},Re(r)),{default:V(()=>[I(e.$slots,`default`)]),_:3},16,[`name`]))}})),cA=`ElCollapse`,lA=(e,t)=>{let n=q(Cs(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(br,i),t(xr,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return M(()=>e.modelValue,()=>n.value=Cs(e.modelValue),{deep:!0}),Qe(aA,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[f(r),jd(r)].includes(!0)||qd(cA,"beforeCollapse must return type `Promise` or `boolean`"),f(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{Jd(cA,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},uA=e=>{let t=$(`collapse`);return{rootKls:K(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},dA=z({name:`ElCollapse`,__name:`collapse`,props:rA,emits:iA,setup(e,{expose:t,emit:n}){let r=e,{activeNames:i,setActiveNames:a}=lA(r,n),{rootKls:o}=uA(r);return t({activeNames:i,setActiveNames:a}),(e,t)=>(N(),W(`div`,{class:F(Y(o))},[I(e.$slots,`default`)],2))}}),fA=e=>{let t=l(aA),{namespace:n}=$(`collapse`),r=q(!1),i=q(!1),a=ng(),o=K(()=>a.current++),s=K(()=>e.name??`${n.value}-id-${a.prefix}-${Y(o)}`);return{focusing:r,id:o,isActive:K(()=>t?.activeNames.value.includes(Y(s))),handleFocus:()=>{setTimeout(()=>{i.value?i.value=!1:r.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(Y(s)),r.value=!1,i.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(Y(s)))}}},pA=(e,{focusing:t,isActive:n,id:r})=>{let i=$(`collapse`),a=K(()=>[i.b(`item`),i.is(`active`,Y(n)),i.is(`disabled`,e.disabled)]),o=K(()=>[i.be(`item`,`header`),i.is(`active`,Y(n)),{focusing:Y(t)&&!e.disabled}]),s=K(()=>[i.be(`item`,`arrow`),i.is(`active`,Y(n))]);return{itemTitleKls:K(()=>[i.be(`item`,`title`)]),arrowKls:s,headKls:o,rootKls:a,itemWrapperKls:K(()=>i.be(`item`,`wrap`)),itemContentKls:K(()=>i.be(`item`,`content`)),scopedContentId:K(()=>i.b(`content-${Y(r)}`)),scopedHeadId:K(()=>i.b(`head-${Y(r)}`))}},mA=[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`aria-disabled`],hA=[`id`,`aria-hidden`,`aria-labelledby`],gA=z({name:`ElCollapseItem`,__name:`collapse-item`,props:oA,setup(e,{expose:t}){let n=e,{focusing:r,id:i,isActive:a,handleFocus:o,handleHeaderClick:s,handleEnterClick:c}=fA(n),{arrowKls:l,headKls:u,rootKls:d,itemTitleKls:f,itemWrapperKls:p,itemContentKls:m,scopedContentId:h,scopedHeadId:g}=pA(n,{focusing:r,isActive:a,id:i});return t({isActive:a}),(t,n)=>(N(),W(`div`,{class:F(Y(d))},[B(`div`,{id:Y(g),class:F(Y(u)),"aria-expanded":Y(a),"aria-controls":Y(h),"aria-describedby":Y(h),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:`button`,onClick:n[0]||=(...e)=>Y(s)&&Y(s)(...e),onKeydown:n[1]||=jn(kn((...e)=>Y(c)&&Y(c)(...e),[`stop`]),[`space`,`enter`]),onFocus:n[2]||=(...e)=>Y(o)&&Y(o)(...e),onBlur:n[3]||=e=>r.value=!1},[B(`span`,{class:F(Y(f))},[I(t.$slots,`title`,{isActive:Y(a)},()=>[Ke(S(e.title),1)])],2),I(t.$slots,`icon`,{isActive:Y(a)},()=>[J(Y(By),{class:F(Y(l))},{default:V(()=>[(N(),H(L(e.icon)))]),_:1},8,[`class`])])],42,mA),J(Y(sA),null,{default:V(()=>[Ge(B(`div`,{id:Y(h),role:`region`,class:F(Y(p)),"aria-hidden":!Y(a),"aria-labelledby":Y(g)},[B(`div`,{class:F(Y(m))},[I(t.$slots,`default`)],2)],10,hA),[[jt,Y(a)]])]),_:3})],2))}}),_A=Pv(dA,{CollapseItem:gA}),vA=Lv(gA),yA=Q({modelValue:{type:Z(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:{type:Z(String)},disabled:Boolean,predefine:{type:Z(Array)},validateEvent:{type:Boolean,default:!0},hueSliderClass:{type:Z([String,Array,Object])},hueSliderStyle:{type:Z([String,Array,Object,Boolean]),default:void 0}}),bA={[br]:e=>P(e)||cd(e)},xA=Symbol(`colorCommonPickerKey`),SA=Symbol(`colorPickerPanelContextKey`),CA=Q({color:{type:Z(Object),required:!0},vertical:Boolean,disabled:Boolean}),wA=CA,TA=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},EA=(e,t)=>Math.abs(TA(e)-TA(t)),DA=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}},OA=!1;function kA(e,t){if(!nf)return;let n=function(e){t.drag?.(e)},r=function(e){document.removeEventListener(`mousemove`,n),document.removeEventListener(`mouseup`,r),document.removeEventListener(`touchmove`,n),document.removeEventListener(`touchend`,r),document.onselectstart=null,document.ondragstart=null,OA=!1,t.end?.(e)},i=function(e){OA||(document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener(`mousemove`,n),document.addEventListener(`mouseup`,r),document.addEventListener(`touchmove`,n),document.addEventListener(`touchend`,r),OA=!0,t.start?.(e))};e.addEventListener(`mousedown`,i),e.addEventListener(`touchstart`,i,{passive:!1})}var AA=(e,{key:t,minValue:n,maxValue:r})=>{let i=Xe(),a=Le(),o=Le(),s=K(()=>e.color.get(t));function c(t){e.disabled||(t.target!==a.value&&l(t),a.value?.focus())}function l(n){if(!o.value||!a.value||e.disabled)return;let s=i.vnode.el.getBoundingClientRect(),{clientX:c,clientY:l}=DA(n),u;if(e.vertical){let e=l-s.top;e=Math.max(a.value.offsetHeight/2,e),e=Math.min(e,s.height-a.value.offsetHeight/2),u=Math.round((e-a.value.offsetHeight/2)/(s.height-a.value.offsetHeight)*r)}else{let e=c-s.left;e=Math.max(a.value.offsetWidth/2,e),e=Math.min(e,s.width-a.value.offsetWidth/2),u=Math.round((e-a.value.offsetWidth/2)/(s.width-a.value.offsetWidth)*r)}e.color.set(t,u)}function u(i){if(e.disabled)return;let{shiftKey:a}=i,o=Kp(i),s=a?10:1,c=t===`hue`?-1:1,l=!0;switch(o){case X.left:case X.down:d(-s*c);break;case X.right:case X.up:d(s*c);break;case X.home:e.color.set(t,t===`hue`?r:n);break;case X.end:e.color.set(t,t===`hue`?n:r);break;case X.pageDown:d(-4*c);break;case X.pageUp:d(4*c);break;default:l=!1;break}l&&i.preventDefault()}function d(i){let a=s.value+i;a=ar?r:a,e.color.set(t,a)}return{thumb:a,bar:o,currentValue:s,handleDrag:l,handleClick:c,handleKeydown:u}},jA=(e,{namespace:t,maxValue:n,bar:r,thumb:i,currentValue:a,handleDrag:o,getBackground:s})=>{let c=Xe(),l=$(t),u=q(0),f=q(0),p=q();function m(){if(!i.value||e.vertical)return 0;let t=c.vnode.el,r=a.value;return t?Math.round(r*(t.offsetWidth-i.value.offsetWidth/2)/n):0}function h(){if(!i.value)return 0;let t=c.vnode.el;if(!e.vertical)return 0;let r=a.value;return t?Math.round(r*(t.offsetHeight-i.value.offsetHeight/2)/n):0}function g(){u.value=m(),f.value=h(),p.value=s?.()}d(()=>{if(!r.value||!i.value)return;let e={drag:e=>{o(e)},end:e=>{o(e)}};kA(r.value,e),kA(i.value,e),g()}),M(a,()=>g()),M(()=>e.color.value,()=>g());let _=K(()=>[l.b(),l.is(`vertical`,e.vertical),l.is(`disabled`,e.disabled)]),v=K(()=>l.e(`bar`)),y=K(()=>l.e(`thumb`));return{rootKls:_,barKls:v,barStyle:K(()=>({background:p.value})),thumbKls:y,thumbStyle:K(()=>({left:bp(u.value),top:bp(f.value)})),thumbLeft:u,thumbTop:f,update:g}},MA=[`aria-label`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`tabindex`,`aria-disabled`],NA=0,PA=100,FA=z({name:`ElColorAlphaSlider`,__name:`alpha-slider`,props:CA,setup(e,{expose:t}){let n=e,{currentValue:r,bar:i,thumb:a,handleDrag:o,handleClick:s,handleKeydown:c}=AA(n,{key:`alpha`,minValue:NA,maxValue:PA}),{rootKls:l,barKls:u,barStyle:d,thumbKls:f,thumbStyle:p,update:h}=jA(n,{namespace:`color-alpha-slider`,maxValue:PA,currentValue:r,bar:i,thumb:a,handleDrag:o,getBackground:y}),{t:g}=Dp(),_=K(()=>g(`el.colorpicker.alphaLabel`)),v=K(()=>g(`el.colorpicker.alphaDescription`,{alpha:r.value,color:n.color.value}));function y(){if(n.color&&n.color.value){let{r:e,g:t,b:r}=n.color.toRgb();return`linear-gradient(to right, rgba(${e}, ${t}, ${r}, 0) 0%, rgba(${e}, ${t}, ${r}, 1) 100%)`}return``}return t({update:h,bar:i,thumb:a}),(t,n)=>(N(),W(`div`,{class:F(Y(l))},[B(`div`,{ref_key:`bar`,ref:i,class:F(Y(u)),style:m(Y(d)),onClick:n[0]||=(...e)=>Y(s)&&Y(s)(...e)},null,6),B(`div`,{ref_key:`thumb`,ref:a,class:F(Y(f)),style:m(Y(p)),"aria-label":_.value,"aria-valuenow":Y(r),"aria-valuetext":v.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-valuemin":NA,"aria-valuemax":PA,role:`slider`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:n[1]||=(...e)=>Y(c)&&Y(c)(...e)},null,46,MA)],2))}}),IA=[`aria-label`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`tabindex`,`aria-disabled`],LA=0,RA=360,zA=z({name:`ElColorHueSlider`,__name:`hue-slider`,props:wA,setup(e,{expose:t}){let n=e,{currentValue:r,bar:i,thumb:a,handleDrag:o,handleClick:s,handleKeydown:c}=AA(n,{key:`hue`,minValue:LA,maxValue:RA}),{rootKls:l,barKls:u,thumbKls:d,thumbStyle:f,thumbTop:p,update:h}=jA(n,{namespace:`color-hue-slider`,maxValue:RA,currentValue:r,bar:i,thumb:a,handleDrag:o}),{t:g}=Dp(),_=K(()=>g(`el.colorpicker.hueLabel`)),v=K(()=>g(`el.colorpicker.hueDescription`,{hue:r.value,color:n.color.value}));return t({bar:i,thumb:a,thumbTop:p,update:h}),(t,n)=>(N(),W(`div`,{class:F(Y(l))},[B(`div`,{ref_key:`bar`,ref:i,class:F(Y(u)),onClick:n[0]||=(...e)=>Y(s)&&Y(s)(...e)},null,2),B(`div`,{ref_key:`thumb`,ref:a,class:F(Y(d)),style:m(Y(f)),"aria-label":_.value,"aria-valuenow":Y(r),"aria-valuetext":v.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-valuemin":LA,"aria-valuemax":RA,role:`slider`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:n[1]||=(...e)=>Y(c)&&Y(c)(...e)},null,46,IA)],2))}}),BA=Q({colors:{type:Z(Array),required:!0},color:{type:Z(Object),required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean}),VA=class{constructor(e={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new gw,this._isValid=!1,this.enableAlpha=!1,this.format=``,this.value=``;for(let t in e)Ye(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(let t in e)Ye(e,t)&&this.set(t,e[t]);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){let t=new gw(e);if(this._isValid=t.isValid,t.isValid){let{h:e,s:n,v:r,a:i}=t.toHsv();this._hue=e,this._saturation=n*100,this._value=r*100,this._alpha=i*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){let t=new gw({h:e._hue,s:e._saturation/100,v:e._value/100,a:e._alpha/100});return this._tiny.equals(t)}doOnChange(){let{_hue:e,_saturation:t,_value:n,_alpha:r,format:i,enableAlpha:a}=this,o=i||(a?`rgb`:`hex`);i===`hex`&&a&&(o=`hex8`),this._tiny=new gw({h:e,s:t/100,v:n/100,a:r/100}),this.value=this._isValid?this._tiny.toString(o):``}},HA=t=>{let{currentColor:n}=l(SA),r=q(a(t.colors,t.color));M(()=>n.value,e=>{let n=new VA({value:e,enableAlpha:t.enableAlpha});r.value.forEach(e=>{e.selected=n.compare(e)})}),e(()=>{r.value=a(t.colors,t.color)});function i(e){t.color.fromString(t.colors[e])}function a(e,n){return e.map(e=>{let r=new VA({value:e,enableAlpha:t.enableAlpha});return r.selected=r.compare(n),r})}return{rgbaColors:r,handleSelect:i}},UA=e=>{let t=$(`color-predefine`),n=K(()=>[t.b(),t.is(`disabled`,e.disabled)]),r=K(()=>t.e(`colors`));function i(e){return[t.e(`color-selector`),t.is(`alpha`,e.get(`alpha`)<100),{selected:e.selected}]}return{rootKls:n,colorsKls:r,colorSelectorKls:i}},WA=[`disabled`,`aria-label`,`onClick`],GA=z({name:`ElColorPredefine`,__name:`predefine`,props:BA,setup(e){let t=e,{rgbaColors:n,handleSelect:i}=HA(t),{rootKls:a,colorsKls:o,colorSelectorKls:s}=UA(t),{t:c}=Dp(),l=e=>c(`el.colorpicker.predefineDescription`,{value:e});return(t,c)=>(N(),W(`div`,{class:F(Y(a))},[B(`div`,{class:F(Y(o))},[(N(!0),W(R,null,r(Y(n),(t,n)=>(N(),W(`button`,{key:e.colors[n],type:`button`,disabled:e.disabled,"aria-label":l(t.value),class:F(Y(s)(t)),onClick:e=>Y(i)(n)},[B(`div`,{style:m({backgroundColor:t.value})},null,4)],10,WA))),128))],2)],2))}}),KA=Q({color:{type:Z(Object),required:!0},disabled:Boolean}),qA=e=>{let t=Xe(),n=q(),r=q(0),i=q(0),a=q(`hsl(0, 100%, 50%)`),o=K(()=>e.color.get(`saturation`)),s=K(()=>e.color.get(`value`)),c=K(()=>e.color.get(`hue`));function l(t){e.disabled||(t.target!==n.value&&u(t),n.value?.focus({preventScroll:!0}))}function u(n){if(e.disabled)return;let a=t.vnode.el.getBoundingClientRect(),{clientX:o,clientY:s}=DA(n),c=o-a.left,l=s-a.top;c=Math.max(0,c),c=Math.min(c,a.width),l=Math.max(0,l),l=Math.min(l,a.height),i.value=c,r.value=l,e.color.set({saturation:c/a.width*100,value:100-l/a.height*100})}function d(t){if(e.disabled)return;let{shiftKey:n}=t,r=Kp(t),i=n?10:1,a=!0;switch(r){case X.left:f(-i);break;case X.right:f(i);break;case X.up:p(i);break;case X.down:p(-i);break;default:a=!1;break}a&&t.preventDefault()}function f(t){let n=o.value+t;n=n<0?0:n>100?100:n,e.color.set(`saturation`,n)}function p(t){let n=s.value+t;n=n<0?0:n>100?100:n,e.color.set(`value`,n)}return{cursorRef:n,cursorTop:r,cursorLeft:i,background:a,saturation:o,brightness:s,hue:c,handleClick:l,handleDrag:u,handleKeydown:d}},JA=(e,{cursorTop:t,cursorLeft:n,background:r,handleDrag:i})=>{let a=Xe(),o=$(`color-svpanel`);function s(){let i=e.color.get(`saturation`),o=e.color.get(`value`),{clientWidth:s,clientHeight:c}=a.vnode.el;n.value=i*s/100,t.value=(100-o)*c/100,r.value=`hsl(${e.color.get(`hue`)}, 100%, 50%)`}return d(()=>{kA(a.vnode.el,{drag:e=>{i(e)},end:e=>{i(e)}}),s()}),M([()=>e.color.get(`hue`),()=>e.color.get(`value`),()=>e.color.value],()=>s()),{rootKls:K(()=>o.b()),cursorKls:K(()=>o.e(`cursor`)),rootStyle:K(()=>({backgroundColor:r.value})),cursorStyle:K(()=>({top:bp(t.value),left:bp(n.value)})),update:s}},YA=[`tabindex`,`aria-disabled`,`aria-label`,`aria-valuenow`,`aria-valuetext`],XA=z({name:`ElSvPanel`,__name:`sv-panel`,props:KA,setup(e,{expose:t}){let n=e,{cursorRef:r,cursorTop:i,cursorLeft:a,background:o,saturation:s,brightness:c,handleClick:l,handleDrag:u,handleKeydown:d}=qA(n),{rootKls:f,cursorKls:p,rootStyle:h,cursorStyle:g,update:_}=JA(n,{cursorTop:i,cursorLeft:a,background:o,handleDrag:u}),{t:v}=Dp(),y=K(()=>v(`el.colorpicker.svLabel`)),b=K(()=>v(`el.colorpicker.svDescription`,{saturation:s.value,brightness:c.value,color:n.color.value}));return t({update:_}),(t,n)=>(N(),W(`div`,{class:F(Y(f)),style:m(Y(h)),onClick:n[1]||=(...e)=>Y(l)&&Y(l)(...e)},[B(`div`,{ref_key:`cursorRef`,ref:r,class:F(Y(p)),style:m(Y(g)),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:`slider`,"aria-valuemin":`0,0`,"aria-valuemax":`100,100`,"aria-label":y.value,"aria-valuenow":`${Y(s)},${Y(c)}`,"aria-valuetext":b.value,onKeydown:n[0]||=(...e)=>Y(d)&&Y(d)(...e)},null,46,YA)],6))}}),ZA=(e,t)=>{let n=ve(new VA({enableAlpha:e.showAlpha,format:e.colorFormat||``,value:e.modelValue}));return M(()=>[e.colorFormat,e.showAlpha],()=>{n.enableAlpha=e.showAlpha,n.format=e.colorFormat||n.format,n.doOnChange(),t(br,n.value)}),{color:n}},QA=Pv(z({name:`ElColorPickerPanel`,__name:`color-picker-panel`,props:yA,emits:bA,setup(e,{expose:t,emit:n}){let r=e,i=n,a=$(`color-picker-panel`),{formItem:o}=ub(),s=lb(),c=q(),u=q(),f=q(),p=q(),h=q(``),{color:g}=l(xA,()=>ZA(r,i),!0);function _(){g.fromString(h.value),g.value!==h.value&&(h.value=g.value)}function v(){r.validateEvent&&o?.validate?.(`blur`).catch(ge)}function y(){c.value?.update(),u.value?.update(),f.value?.update()}return d(()=>{r.modelValue&&(h.value=g.value),U(y)}),M(()=>r.modelValue,e=>{e!==g.value&&(e?g.fromString(e):g.clear())}),M(()=>g.value,e=>{i(br,e),h.value=e,r.validateEvent&&o?.validate(`change`).catch(ge)}),Qe(SA,{currentColor:K(()=>g.value)}),t({color:g,inputRef:p,update:y}),(t,n)=>(N(),W(`div`,{class:F([Y(a).b(),Y(a).is(`disabled`,Y(s)),Y(a).is(`border`,e.border)]),onFocusout:v},[B(`div`,{class:F(Y(a).e(`wrapper`))},[J(zA,{ref_key:`hueRef`,ref:c,color:Y(g),vertical:``,disabled:Y(s),class:F([`hue-slider`,e.hueSliderClass]),style:m(e.hueSliderStyle)},null,8,[`color`,`disabled`,`class`,`style`]),J(XA,{ref_key:`svRef`,ref:u,color:Y(g),disabled:Y(s)},null,8,[`color`,`disabled`])],2),e.showAlpha?(N(),H(FA,{key:0,ref_key:`alphaRef`,ref:f,color:Y(g),disabled:Y(s)},null,8,[`color`,`disabled`])):G(`v-if`,!0),e.predefine?(N(),H(GA,{key:1,ref:`predefine`,"enable-alpha":e.showAlpha,color:Y(g),colors:e.predefine,disabled:Y(s)},null,8,[`enable-alpha`,`color`,`colors`,`disabled`])):G(`v-if`,!0),B(`div`,{class:F(Y(a).e(`footer`))},[J(Y(zS),{ref_key:`inputRef`,ref:p,modelValue:h.value,"onUpdate:modelValue":n[0]||=e=>h.value=e,"validate-event":!1,size:`small`,disabled:Y(s),onChange:_},null,8,[`modelValue`,`disabled`]),I(t.$slots,`footer`)],2)],34))}})),$A=Q({persistent:{type:Boolean,default:!0},modelValue:{type:Z(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:{type:Z(String)},disabled:{type:Boolean,default:void 0},clearable:{type:Boolean,default:!0},size:xv,popperClass:fS.popperClass,popperStyle:fS.popperStyle,tabindex:{type:[String,Number],default:0},teleported:fS.teleported,appendTo:fS.appendTo,predefine:{type:Z(Array)},validateEvent:{type:Boolean,default:!0},...kv,...Mv([`ariaLabel`])}),ej={[br]:e=>P(e)||cd(e),[xr]:e=>P(e)||cd(e),activeChange:e=>P(e)||cd(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},tj=[`id`,`aria-label`,`aria-labelledby`,`aria-description`,`aria-disabled`,`tabindex`],nj=Pv(z({name:`ElColorPicker`,__name:`color-picker`,props:$A,emits:ej,setup(e,{expose:t,emit:n}){let r=e,i=n,{t:a}=Dp(),o=$(`color`),{formItem:s}=ub(),c=cb(),l=lb(),{valueOnClear:u,isEmptyValue:d}=Av(r,null),f=ZA(r,i),{inputId:p,isLabeledByFormItem:h}=db(r,{formItemContext:s}),g=q(),_=q(),v=q(),y=q(!1),b=q(!1),x=!0,{isFocused:C,handleFocus:w,handleBlur:T}=wv(_,{disabled:l,beforeBlur(e){return g.value?.isFocusInsideContent(e)},afterBlur(){ne(!1),I(),r.validateEvent&&s?.validate?.(`blur`).catch(ge)}}),E=yf(()=>v.value?.color??f.color),D=K(()=>Sd(r,Object.keys(yA))),O=K(()=>!r.modelValue&&!b.value?`transparent`:te(E,r.showAlpha)),A=K(()=>!r.modelValue&&!b.value?``:E.value),ee=K(()=>h.value?void 0:r.ariaLabel||a(`el.colorpicker.defaultLabel`)),j=K(()=>h.value?s?.labelId:void 0),P=K(()=>[o.b(`picker`),o.is(`disabled`,l.value),o.bm(`picker`,c.value),o.is(`focused`,C.value)]);function te(e,t){let{r:n,g:r,b:i,a}=e.toRgb();return t?`rgba(${n}, ${r}, ${i}, ${a})`:`rgb(${n}, ${r}, ${i})`}function ne(e){y.value=e}let re=Hu(ne,100,{leading:!0});function ie(){l.value||ne(!0)}function ae(){re(!1),I()}function I(){U(()=>{r.modelValue?E.fromString(r.modelValue):(E.value=``,U(()=>{b.value=!1}))})}function oe(){l.value||(y.value&&I(),re(!y.value))}function L(){let e=d(E.value)?u.value:E.value;i(br,e),i(xr,e),r.validateEvent&&s?.validate(`change`).catch(ge),re(!1),U(()=>{let e=new VA({enableAlpha:r.showAlpha,format:r.colorFormat||``,value:r.modelValue});E.compare(e)||I()})}function se(){re(!1),i(br,u.value),i(xr,u.value),r.modelValue!==u.value&&r.validateEvent&&s?.validate(`change`).catch(ge),I(),i(`clear`)}function ce(){v?.value?.inputRef?.focus()}function le(){y.value&&(ae(),C.value&&fe())}function ue(e){e.preventDefault(),e.stopPropagation(),ne(!1),I()}function de(e){switch(Kp(e)){case X.enter:case X.numpadEnter:case X.space:e.preventDefault(),e.stopPropagation(),ie();break;case X.esc:ue(e);break}}function fe(){_.value.focus()}function pe(){_.value.blur()}return M(()=>A.value,e=>{x&&i(`activeChange`,e),x=!0}),M(()=>E.value,()=>{!r.modelValue&&!b.value&&(b.value=!0)}),M(()=>r.modelValue,e=>{e?e&&e!==E.value&&(x=!1,E.fromString(e)):b.value=!1}),M(()=>y.value,()=>{v.value&&U(v.value.update)}),Qe(xA,f),t({color:E,show:ie,hide:ae,focus:fe,blur:pe}),(t,n)=>(N(),H(Y(ES),{ref_key:`popper`,ref:g,visible:y.value,"show-arrow":!1,"fallback-placements":[`bottom`,`top`,`right`,`left`],offset:0,"gpu-acceleration":!1,"popper-class":[Y(o).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:`${Y(o).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onShow:ce,onHide:n[2]||=e=>ne(!1)},{content:V(()=>[Ge((N(),H(Y(QA),k({ref_key:`pickerPanelRef`,ref:v},D.value,{border:!1,"validate-event":!1,onKeydown:jn(ue,[`esc`])}),{footer:V(()=>[B(`div`,null,[e.clearable?(N(),H(Y(xw),{key:0,class:F(Y(o).be(`footer`,`link-btn`)),text:``,size:`small`,onClick:se},{default:V(()=>[Ke(S(Y(a)(`el.colorpicker.clear`)),1)]),_:1},8,[`class`])):G(`v-if`,!0),J(Y(xw),{plain:``,size:`small`,class:F(Y(o).be(`footer`,`btn`)),onClick:L},{default:V(()=>[Ke(S(Y(a)(`el.colorpicker.confirm`)),1)]),_:1},8,[`class`])])]),_:1},16)),[[Y(eT),le,_.value]])]),default:V(()=>[B(`div`,k({id:Y(p),ref_key:`triggerRef`,ref:_},t.$attrs,{class:P.value,role:`button`,"aria-label":ee.value,"aria-labelledby":j.value,"aria-description":Y(a)(`el.colorpicker.description`,{color:e.modelValue||``}),"aria-disabled":Y(l),tabindex:Y(l)?void 0:e.tabindex,onKeydown:de,onFocus:n[0]||=(...e)=>Y(w)&&Y(w)(...e),onBlur:n[1]||=(...e)=>Y(T)&&Y(T)(...e)}),[B(`div`,{class:F(Y(o).be(`picker`,`trigger`)),onClick:oe},[B(`span`,{class:F([Y(o).be(`picker`,`color`),Y(o).is(`alpha`,e.showAlpha)])},[B(`span`,{class:F(Y(o).be(`picker`,`color-inner`)),style:m({backgroundColor:O.value})},[Ge(J(Y(By),{class:F([Y(o).be(`picker`,`icon`),Y(o).is(`icon-arrow-down`)])},{default:V(()=>[J(Y(Bv))]),_:1},8,[`class`]),[[jt,e.modelValue||b.value]]),Ge(J(Y(By),{class:F([Y(o).be(`picker`,`empty`),Y(o).is(`icon-close`)])},{default:V(()=>[J(Y(ey))]),_:1},8,[`class`]),[[jt,!e.modelValue&&!b.value]])],6)],2)],2)],16,tj)]),_:1},8,[`visible`,`popper-class`,`popper-style`,`teleported`,`transition`,`persistent`,`append-to`]))}})),rj=z({name:`ElContainer`,__name:`container`,props:{direction:{type:String,required:!1}},setup(e){let t=e,n=le(),r=$(`container`),i=K(()=>t.direction===`vertical`?!0:t.direction===`horizontal`?!1:n&&n.default?n.default().some(e=>{let t=e.type.name;return t===`ElHeader`||t===`ElFooter`}):!1);return(e,t)=>(N(),W(`section`,{class:F([Y(r).b(),Y(r).is(`vertical`,i.value)])},[I(e.$slots,`default`)],2))}}),ij=z({name:`ElAside`,__name:`aside`,props:{width:{type:[String,null],required:!1,default:null}},setup(e){let t=e,n=$(`aside`),r=K(()=>t.width?n.cssVarBlock({width:t.width}):{});return(e,t)=>(N(),W(`aside`,{class:F(Y(n).b()),style:m(r.value)},[I(e.$slots,`default`)],6))}}),aj=z({name:`ElFooter`,__name:`footer`,props:{height:{type:[String,null],required:!1,default:null}},setup(e){let t=e,n=$(`footer`),r=K(()=>t.height?n.cssVarBlock({height:t.height}):{});return(e,t)=>(N(),W(`footer`,{class:F(Y(n).b()),style:m(r.value)},[I(e.$slots,`default`)],6))}}),oj=z({name:`ElHeader`,__name:`header`,props:{height:{type:[String,null],required:!1,default:null}},setup(e){let t=e,n=$(`header`),r=K(()=>t.height?n.cssVarBlock({height:t.height}):{});return(e,t)=>(N(),W(`header`,{class:F(Y(n).b()),style:m(r.value)},[I(e.$slots,`default`)],6))}}),sj=z({name:`ElMain`,__name:`main`,setup(e){let t=$(`main`);return(e,n)=>(N(),W(`main`,{class:F(Y(t).b())},[I(e.$slots,`default`)],2))}}),cj=Pv(rj,{Aside:ij,Footer:aj,Header:oj,Main:sj}),lj=Lv(ij),uj=Lv(aj),dj=Lv(oj),fj=Lv(sj),pj=Q({format:{type:String,default:`HH:mm:ss`},prefix:String,suffix:String,title:String,value:{type:Z([Number,Object]),default:0},valueStyle:{type:Z([String,Object,Array,Boolean]),default:void 0}}),mj={finish:()=>!0,[xr]:e=>Md(e)},hj=Pv(z({name:`ElStatistic`,__name:`statistic`,props:Q({decimalSeparator:{type:String,default:`.`},groupSeparator:{type:String,default:`,`},precision:{type:Number,default:0},formatter:Function,value:{type:Z([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:Z([String,Object,Array,Boolean]),default:void 0}}),setup(e,{expose:t}){let r=e,i=$(`statistic`),a=K(()=>{let{value:e,formatter:t,precision:i,decimalSeparator:a,groupSeparator:o}=r;if(n(t))return t(e);if(!Md(e)||Number.isNaN(e))return e;let[s,c=``]=String(e).split(`.`);return c=c.padEnd(i,`0`).slice(0,i>0?i:0),s=s.replace(/\B(?=(\d{3})+(?!\d))/g,o),[s,c].join(c?a:``)});return t({displayValue:a}),(t,n)=>(N(),W(`div`,{class:F(Y(i).b())},[t.$slots.title||e.title?(N(),W(`div`,{key:0,class:F(Y(i).e(`head`))},[I(t.$slots,`title`,{},()=>[Ke(S(e.title),1)])],2)):G(`v-if`,!0),B(`div`,{class:F(Y(i).e(`content`))},[t.$slots.prefix||e.prefix?(N(),W(`div`,{key:0,class:F(Y(i).e(`prefix`))},[I(t.$slots,`prefix`,{},()=>[B(`span`,null,S(e.prefix),1)])],2)):G(`v-if`,!0),B(`span`,{class:F(Y(i).e(`number`)),style:m(e.valueStyle)},S(a.value),7),t.$slots.suffix||e.suffix?(N(),W(`div`,{key:1,class:F(Y(i).e(`suffix`))},[I(t.$slots,`suffix`,{},()=>[B(`span`,null,S(e.suffix),1)])],2)):G(`v-if`,!0)],2)],2))}})),gj=[[`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]],_j=e=>Md(e)?new Date(e).getTime():e.valueOf(),vj=(e,t)=>{let n=e;return gj.reduce((e,[t,r])=>{let i=RegExp(`${t}+(?![^\\[\\]]*\\])`,`g`);if(i.test(e)){let t=Math.floor(n/r);return n-=t*r,e.replace(i,e=>String(t).padStart(e.length,`0`))}return e},t).replace(/\[([^\]]*)]/g,`$1`)},yj=Pv(z({name:`ElCountdown`,__name:`countdown`,props:pj,emits:mj,setup(e,{expose:t,emit:n}){let i=e,a=n,o,s=q(0),c=K(()=>vj(s.value,i.format)),l=e=>vj(e,i.format),u=()=>{o&&=(Pp(o),void 0)},f=()=>{let e=_j(i.value),t=()=>{let n=e-Date.now();a(xr,n),n<=0?(n=0,u(),a(`finish`)):o=Np(t),s.value=n};o=Np(t)};return d(()=>{s.value=_j(i.value)-Date.now(),M(()=>[i.value,i.format],()=>{u(),f()},{immediate:!0})}),T(()=>{u()}),t({displayValue:c}),(t,n)=>(N(),H(Y(hj),{value:s.value,title:e.title,prefix:e.prefix,suffix:e.suffix,"value-style":e.valueStyle,formatter:l},xe({_:2},[r(t.$slots,(e,n)=>({name:n,fn:V(()=>[I(t.$slots,n)])}))]),1032,[`value`,`title`,`prefix`,`suffix`,`value-style`]))}})),bj=Q({valueFormat:String,dateFormat:String,timeFormat:String,disabled:{type:Boolean,default:void 0},modelValue:{type:Z([Date,Array,String,Number]),default:``},defaultValue:{type:Z([Date,Array])},defaultTime:{type:Z([Date,Array])},isRange:Boolean,...Uw,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:Z(String),default:`date`},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}}),xj=Symbol(`rootPickerContextKey`),Sj=`ElIsDefaultFormat`,Cj=[`date`,`dates`,`year`,`years`,`month`,`months`,`week`,`range`],wj=Q({cellClassName:{type:Z(Function)},disabledDate:{type:Z(Function)},date:{type:Z(Object),required:!0},minDate:{type:Z(Object)},maxDate:{type:Z(Object)},parsedValue:{type:Z([Object,Array])},rangeState:{type:Z(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),Tj=Q({type:{type:Z(String),required:!0,values:vr},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}}),Ej=Q({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:Z(Array)},singlePanel:Boolean}),Dj=e=>({type:String,values:Cj,default:e}),Oj=Q({...Tj,parsedValue:{type:Z([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:``}}),kj=e=>{if(!A(e))return!1;let[t,n]=e;return Mw.default.isDayjs(t)&&Mw.default.isDayjs(n)&&(0,Mw.default)(t).isValid()&&(0,Mw.default)(n).isValid()&&t.isSameOrBefore(n)},Aj=(e,{lang:t,step:n=1,unit:r,unlinkPanels:i})=>{let a;if(A(e)){let[a,o]=e.map(e=>(0,Mw.default)(e).locale(t));return i||(o=a.add(n,r)),[a,o]}else a=e?(0,Mw.default)(e):(0,Mw.default)();return a=a.locale(t),[a,a.add(n,r)]},jj=(e,t,{columnIndexOffset:n,startDate:r,nextEndDate:i,now:a,unit:o,relativeDateGetter:s,setCellMetadata:c,setRowMetadata:l})=>{for(let u=0;u{let i=(0,Mw.default)().locale(r).startOf(`month`).month(n).year(t).hour(e.hour()).minute(e.minute()).second(e.second());return Pw(i.daysInMonth()).map(e=>i.add(e,`day`).toDate())},Nj=(e,t,n,r,i)=>{let a=(0,Mw.default)().year(t).month(n).startOf(`month`).hour(e.hour()).minute(e.minute()).second(e.second()),o=Mj(e,t,n,r).find(e=>!i?.(e));return o?(0,Mw.default)(o).locale(r):a.locale(r)},Pj=(e,t,n)=>{let r=e.year();if(!n?.(e.toDate()))return e.locale(t);let i=e.month();if(!Mj(e,r,i,t).every(n))return Nj(e,r,i,t,n);for(let i=0;i<12;i++)if(!Mj(e,r,i,t).every(n))return Nj(e,r,i,t,n);return e},Fj=(e,t,n,r)=>{if(A(e))return e.map(e=>Fj(e,t,n,r));if(P(e)){let n=r?.value?(0,Mw.default)(e):(0,Mw.default)(e,t);if(!n.isValid())return n}return(0,Mw.default)(e,t).locale(n)},Ij=Q({...wj,showWeekNumber:Boolean,selectionMode:Dj(`date`)}),Lj=[`changerange`,`pick`,`select`],Rj=(e=``)=>[`normal`,`today`].includes(e),zj=(e,t)=>{let{lang:n}=Dp(),r=q(),i=q(),a=q(),o=q(),s=q([[],[],[],[],[],[]]),c=!1,l=e.date.$locale().weekStart||7,u=e.date.locale(`en`).localeData().weekdaysShort().map(e=>e.toLowerCase()),d=K(()=>l>3?7-l:-l),f=K(()=>{let t=e.date.startOf(`month`);return t.subtract(t.day()||7,`day`)}),p=K(()=>u.concat(u).slice(l,l+7)),m=K(()=>fs(Y(b)).some(e=>e.isCurrent)),h=K(()=>{let t=e.date.startOf(`month`);return{startOfMonthDay:t.day()||7,dateCountOfMonth:t.daysInMonth(),dateCountOfLastMonth:t.subtract(1,`month`).daysInMonth()}}),g=K(()=>e.selectionMode===`dates`?hb(e.parsedValue):[]),_=(e,{count:t,rowIndex:n,columnIndex:r})=>{let{startOfMonthDay:i,dateCountOfMonth:a,dateCountOfLastMonth:o}=Y(h),s=Y(d);if(n>=0&&n<=1){let a=i+s<0?7+i+s:i+s;if(r+n*7>=a)return e.text=t,!0;e.text=o-(a-r%7)+1+n*7,e.type=`prev-month`}else return t<=a?e.text=t:(e.text=t-a,e.type=`next-month`),!0;return!1},v=(t,{columnIndex:n,rowIndex:r},i)=>{let{disabledDate:a,cellClassName:o}=e,s=Y(g),c=_(t,{count:i,rowIndex:r,columnIndex:n}),l=t.dayjs.toDate();return t.selected=s.find(e=>e.isSame(t.dayjs,`day`)),t.isSelected=!!t.selected,t.isCurrent=S(t),t.disabled=a?.(l),t.customClass=o?.(l),c},y=t=>{if(e.selectionMode===`week`){let[n,r]=e.showWeekNumber?[1,7]:[0,6],i=te(t[n+1]);t[n].inRange=i,t[n].start=i,t[r].inRange=i,t[r].end=i}},b=K(()=>{let{minDate:t,maxDate:r,rangeState:i,showWeekNumber:a}=e,o=Y(d),c=Y(s),l=1;if(jj({row:6,column:7},c,{startDate:t,columnIndexOffset:+!!a,nextEndDate:i.endDate||r||i.selecting&&t||null,now:(0,Mw.default)().locale(Y(n)).startOf(`day`),unit:`day`,relativeDateGetter:e=>Y(f).add(e-o,`day`),setCellMetadata:(...e)=>{v(...e,l)&&(l+=1)},setRowMetadata:y}),a)for(let e=0;e<6;e++)c[e][1].dayjs&&(c[e][0]={type:`week`,text:c[e][1].dayjs.week()});return c});M(()=>e.date,async()=>{Y(r)?.contains(document.activeElement)&&(await U(),await x())});let x=async()=>Y(i)?.focus(),S=t=>e.selectionMode===`date`&&Rj(t.type)&&C(t,e.parsedValue),C=(t,r)=>r?(0,Mw.default)(r).locale(Y(n)).isSame(e.date.date(Number(t.text)),`day`):!1,w=(t,n)=>{let r=Y(h).startOfMonthDay,i=Y(d),a=r+i<0?7+r+i:r+i,o=t*7+(n-+!!e.showWeekNumber);return e.date.startOf(`month`).subtract(a,`day`).add(o,`day`)},T=n=>{if(!e.rangeState.selecting)return;let r=n.target;if(r.tagName===`SPAN`&&(r=r.parentNode?.parentNode),r.tagName===`DIV`&&(r=r.parentNode),r.tagName!==`TD`)return;let i=r.parentNode.rowIndex-1,s=r.cellIndex;Y(b)[i][s].disabled||(i!==Y(a)||s!==Y(o))&&(a.value=i,o.value=s,t(`changerange`,{selecting:!0,endDate:w(i,s)}))},E=e=>!Y(m)&&e?.text===1&&Rj(e.type)||e.isCurrent,D=t=>{c||Y(m)||e.selectionMode!==`date`||P(t,!0)},O=e=>{e.target.closest(`td`)&&(c=!0)},k=e=>{e.target.closest(`td`)&&(c=!1)},ee=n=>{!e.rangeState.selecting||!e.minDate?(t(`pick`,{minDate:n,maxDate:null}),t(`select`,!0)):(n>=e.minDate?t(`pick`,{minDate:e.minDate,maxDate:n}):t(`pick`,{minDate:n,maxDate:e.minDate}),t(`select`,!1))},j=e=>{let n=e.week(),r=`${e.year()}w${n}`;t(`pick`,{year:e.year(),week:n,value:r,date:e.startOf(`week`)})},N=(n,r)=>{t(`pick`,r?hb(e.parsedValue).filter(e=>e?.valueOf()!==n.valueOf()):hb(e.parsedValue).concat([n]))},P=(n,r=!1)=>{if(e.disabled)return;let i=n.target.closest(`td`);if(!i)return;let a=i.parentNode.rowIndex-1,o=i.cellIndex,s=Y(b)[a][o];if(s.disabled||s.type===`week`)return;let c=w(a,o);switch(e.selectionMode){case`range`:ee(c);break;case`date`:t(`pick`,c,r);break;case`week`:j(c);break;case`dates`:N(c,!!s.selected);break;default:break}},te=t=>{if(e.selectionMode!==`week`)return!1;let n=e.date.startOf(`day`);if(t.type===`prev-month`&&(n=n.subtract(1,`month`)),t.type===`next-month`&&(n=n.add(1,`month`)),n=n.date(Number.parseInt(t.text,10)),e.parsedValue&&!A(e.parsedValue)){let t=(e.parsedValue.day()-l+7)%7-1;return e.parsedValue.subtract(t,`day`).isSame(n,`day`)}return!1};return{WEEKS:p,rows:b,tbodyRef:r,currentCellRef:i,focus:x,isCurrent:S,isWeekActive:te,isSelectedCell:E,handlePickDate:P,handleMouseUp:k,handleMouseDown:O,handleMouseMove:T,handleFocus:D}},Bj=(e,{isCurrent:t,isWeekActive:n})=>{let r=$(`date-table`),{t:i}=Dp();return{tableKls:K(()=>[r.b(),r.is(`week-mode`,e.selectionMode===`week`&&!e.disabled)]),tableLabel:K(()=>i(`el.datepicker.dateTablePrompt`)),weekHeaderClass:r.e(`week-header`),getCellClasses:n=>{let r=[];return Rj(n.type)&&!n.disabled?(r.push(`available`),n.type===`today`&&r.push(`today`)):r.push(n.type),t(n)&&r.push(`current`),n.inRange&&(Rj(n.type)||e.selectionMode===`week`)&&(r.push(`in-range`),n.start&&r.push(`start-date`),n.end&&r.push(`end-date`)),(n.disabled||e.disabled)&&r.push(`disabled`),n.selected&&r.push(`selected`),n.customClass&&r.push(n.customClass),r.join(` `)},getRowKls:e=>[r.e(`row`),{current:n(e)}],t:i}},Vj=z({name:`ElDatePickerCell`,props:Q({cell:{type:Z(Object)}}),setup(e){let t=$(`date-table-cell`),{slots:n}=l(xj);return()=>{let{cell:r}=e;return I(n,`default`,{...r},()=>[J(`div`,{class:t.b()},[J(`span`,{class:t.e(`text`)},[r?.renderText??r?.text])])])}}}),Hj=[`aria-label`],Uj=[`aria-label`],Wj=[`aria-current`,`aria-selected`,`tabindex`,`aria-disabled`],Gj=z({__name:`basic-date-table`,props:Ij,emits:Lj,setup(e,{expose:t,emit:n}){let i=e,{WEEKS:a,rows:o,tbodyRef:s,currentCellRef:c,focus:l,isCurrent:u,isWeekActive:d,isSelectedCell:f,handlePickDate:p,handleMouseUp:m,handleMouseDown:h,handleMouseMove:g,handleFocus:_}=zj(i,n),{tableLabel:v,tableKls:y,getCellClasses:b,getRowKls:x,weekHeaderClass:C,t:w}=Bj(i,{isCurrent:u,isWeekActive:d}),E=!1;return T(()=>{E=!0}),t({focus:l}),(e,t)=>(N(),W(`table`,{"aria-label":Y(v),class:F(Y(y)),cellspacing:`0`,cellpadding:`0`,role:`grid`,onClick:t[1]||=(...e)=>Y(p)&&Y(p)(...e),onMousemove:t[2]||=(...e)=>Y(g)&&Y(g)(...e),onMousedown:t[3]||=(...e)=>Y(h)&&Y(h)(...e),onMouseup:t[4]||=(...e)=>Y(m)&&Y(m)(...e)},[B(`tbody`,{ref_key:`tbodyRef`,ref:s},[B(`tr`,null,[e.showWeekNumber?(N(),W(`th`,{key:0,scope:`col`,class:F(Y(C))},null,2)):G(`v-if`,!0),(N(!0),W(R,null,r(Y(a),(e,t)=>(N(),W(`th`,{key:t,"aria-label":Y(w)(`el.datepicker.weeksFull.`+e),scope:`col`},S(Y(w)(`el.datepicker.weeks.`+e)),9,Uj))),128))]),(N(!0),W(R,null,r(Y(o),(n,i)=>(N(),W(`tr`,{key:i,class:F(Y(x)(e.showWeekNumber?n[2]:n[1]))},[(N(!0),W(R,null,r(n,(n,r)=>(N(),W(`td`,{key:`${i}.${r}`,ref_for:!0,ref:e=>!Y(E)&&Y(f)(n)&&(c.value=e),class:F(Y(b)(n)),"aria-current":n.isCurrent?`date`:void 0,"aria-selected":n.isCurrent,tabindex:e.disabled?void 0:Y(f)(n)?0:-1,"aria-disabled":e.disabled,onFocus:t[0]||=(...e)=>Y(_)&&Y(_)(...e)},[J(Y(Vj),{cell:n},null,8,[`cell`])],42,Wj))),128))],2))),128))],512)],42,Hj))}}),Kj=Q({...wj,selectionMode:Dj(`month`)}),qj=[`aria-label`],Jj=[`aria-selected`,`aria-label`,`tabindex`,`onKeydown`],Yj=z({__name:`basic-month-table`,props:Kj,emits:[`changerange`,`pick`,`select`],setup(e,{expose:t,emit:n}){let i=e,a=n,o=$(`month-table`),{t:s,lang:c}=Dp(),l=q(),u=q(),d=q(i.date.locale(`en`).localeData().monthsShort().map(e=>e.toLowerCase())),f=q([[],[],[]]),p=q(),m=q(),h=K(()=>{let e=f.value,t=(0,Mw.default)().locale(c.value).startOf(`month`);for(let n=0;n<3;n++){let r=e[n];for(let e=0;e<4;e++){let a=r[e]||={row:n,column:e,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};a.type=`normal`;let o=n*4+e,s=i.date.startOf(`year`).month(o),c=i.rangeState.endDate||i.maxDate||i.rangeState.selecting&&i.minDate||null;a.inRange=!!(i.minDate&&s.isSameOrAfter(i.minDate,`month`)&&c&&s.isSameOrBefore(c,`month`))||!!(i.minDate&&s.isSameOrBefore(i.minDate,`month`)&&c&&s.isSameOrAfter(c,`month`)),i.minDate?.isSameOrAfter(c)?(a.start=!!(c&&s.isSame(c,`month`)),a.end=i.minDate&&s.isSame(i.minDate,`month`)):(a.start=!!(i.minDate&&s.isSame(i.minDate,`month`)),a.end=!!(c&&s.isSame(c,`month`))),t.isSame(s)&&(a.type=`today`);let l=s.toDate();a.text=o,a.disabled=i.disabledDate?.(l)||!1,a.date=l,a.customClass=i.cellClassName?.(l),a.dayjs=s,a.timestamp=s.valueOf(),a.isSelected=v(a)}}return e}),g=()=>{u.value?.focus()},_=e=>{let t={},n=i.date.year(),r=new Date,a=e.text;return t.disabled=i.disabled||(i.disabledDate?Mj(i.date,n,a,c.value).every(i.disabledDate):!1),t.current=hb(i.parsedValue).some(e=>Mw.default.isDayjs(e)&&e.year()===n&&e.month()===a),t.today=r.getFullYear()===n&&r.getMonth()===a,e.customClass&&(t[e.customClass]=!0),e.inRange&&(t[`in-range`]=!0,e.start&&(t[`start-date`]=!0),e.end&&(t[`end-date`]=!0)),t},v=e=>{let t=i.date.year(),n=e.text;return hb(i.date).some(e=>e.year()===t&&e.month()===n)},y=e=>{if(!i.rangeState.selecting)return;let t=e.target;if(t.tagName===`SPAN`&&(t=t.parentNode?.parentNode),t.tagName===`DIV`&&(t=t.parentNode),t.tagName!==`TD`)return;let n=t.parentNode.rowIndex,r=t.cellIndex;h.value[n][r].disabled||(n!==p.value||r!==m.value)&&(p.value=n,m.value=r,a(`changerange`,{selecting:!0,endDate:i.date.startOf(`year`).month(n*4+r)}))},b=e=>{if(i.disabled)return;let t=e.target?.closest(`td`);if(t?.tagName!==`TD`||hp(t,`disabled`))return;let n=t.cellIndex,r=t.parentNode.rowIndex*4+n,o=i.date.startOf(`year`).month(r);if(i.selectionMode===`months`){if(e.type===`keydown`){a(`pick`,hb(i.parsedValue),!1);return}let n=Nj(i.date,i.date.year(),r,c.value,i.disabledDate);a(`pick`,hp(t,`current`)?hb(i.parsedValue).filter(e=>e?.year()!==n.year()||e?.month()!==n.month()):hb(i.parsedValue).concat([(0,Mw.default)(n)]))}else i.selectionMode===`range`?i.rangeState.selecting?(i.minDate&&o>=i.minDate?a(`pick`,{minDate:i.minDate,maxDate:o}):a(`pick`,{minDate:o,maxDate:i.minDate}),a(`select`,!1)):(a(`pick`,{minDate:o,maxDate:null}),a(`select`,!0)):a(`pick`,r)};return M(()=>i.date,async()=>{l.value?.contains(document.activeElement)&&(await U(),u.value?.focus())}),t({focus:g}),(e,t)=>(N(),W(`table`,{role:`grid`,"aria-label":Y(s)(`el.datepicker.monthTablePrompt`),class:F(Y(o).b()),onClick:b,onMousemove:y},[B(`tbody`,{ref_key:`tbodyRef`,ref:l},[(N(!0),W(R,null,r(h.value,(e,t)=>(N(),W(`tr`,{key:t},[(N(!0),W(R,null,r(e,(e,t)=>(N(),W(`td`,{key:t,ref_for:!0,ref:t=>e.isSelected&&(u.value=t),class:F(_(e)),"aria-selected":!!e.isSelected,"aria-label":Y(s)(`el.datepicker.month${+e.text+1}`),tabindex:e.isSelected?0:-1,onKeydown:[jn(kn(b,[`prevent`,`stop`]),[`space`]),jn(kn(b,[`prevent`,`stop`]),[`enter`])]},[J(Y(Vj),{cell:{...e,renderText:Y(s)(`el.datepicker.months.`+d.value[e.text])}},null,8,[`cell`])],42,Jj))),128))]))),128))],512)],42,qj))}}),Xj=Q({...wj,selectionMode:Dj(`year`)}),Zj=[`aria-label`],Qj=[`aria-selected`,`aria-label`,`tabindex`,`onKeydown`],$j=z({__name:`basic-year-table`,props:Xj,emits:[`changerange`,`pick`,`select`],setup(e,{expose:t,emit:n}){let i=(e,t)=>{let n=(0,Mw.default)(String(e)).locale(t).startOf(`year`);return Pw(n.endOf(`year`).dayOfYear()).map(e=>n.add(e,`day`).toDate())},a=e,o=n,s=$(`year-table`),{t:c,lang:l}=Dp(),u=q(),d=q(),f=K(()=>Math.floor(a.date.year()/10)*10),p=q([[],[],[]]),m=q(),h=q(),g=K(()=>{let e=p.value,t=(0,Mw.default)().locale(l.value).startOf(`year`);for(let n=0;n<3;n++){let r=e[n];for(let e=0;e<4&&!(n*4+e>=10);e++){let i=r[e];i||={row:n,column:e,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`;let o=n*4+e+f.value,s=(0,Mw.default)().year(o),c=a.rangeState.endDate||a.maxDate||a.rangeState.selecting&&a.minDate||null;i.inRange=!!(a.minDate&&s.isSameOrAfter(a.minDate,`year`)&&c&&s.isSameOrBefore(c,`year`))||!!(a.minDate&&s.isSameOrBefore(a.minDate,`year`)&&c&&s.isSameOrAfter(c,`year`)),a.minDate?.isSameOrAfter(c)?(i.start=!!(c&&s.isSame(c,`year`)),i.end=!!(a.minDate&&s.isSame(a.minDate,`year`))):(i.start=!!(a.minDate&&s.isSame(a.minDate,`year`)),i.end=!!(c&&s.isSame(c,`year`))),t.isSame(s)&&(i.type=`today`),i.text=o;let l=s.toDate();i.disabled=a.disabledDate?.(l)||!1,i.date=l,i.customClass=a.cellClassName?.(l),i.dayjs=s,i.timestamp=s.valueOf(),i.isSelected=y(i),r[e]=i}}return e}),_=()=>{d.value?.focus()},v=e=>{let t={},n=(0,Mw.default)().locale(l.value),r=e.text;return t.disabled=a.disabled||(a.disabledDate?i(r,l.value).every(a.disabledDate):!1),t.today=n.year()===r,t.current=hb(a.parsedValue).some(e=>e.year()===r),e.customClass&&(t[e.customClass]=!0),e.inRange&&(t[`in-range`]=!0,e.start&&(t[`start-date`]=!0),e.end&&(t[`end-date`]=!0)),t},y=e=>{let t=e.text;return hb(a.date).some(e=>e.year()===t)},b=e=>{if(a.disabled)return;let t=e.target?.closest(`td`);if(!t||!t.textContent||hp(t,`disabled`))return;let n=t.cellIndex,r=t.parentNode.rowIndex*4+n+f.value,i=(0,Mw.default)().year(r);if(a.selectionMode===`range`)a.rangeState.selecting?(a.minDate&&i>=a.minDate?o(`pick`,{minDate:a.minDate,maxDate:i}):o(`pick`,{minDate:i,maxDate:a.minDate}),o(`select`,!1)):(o(`pick`,{minDate:i,maxDate:null}),o(`select`,!0));else if(a.selectionMode===`years`){if(e.type===`keydown`){o(`pick`,hb(a.parsedValue),!1);return}let n=Pj(i.startOf(`year`),l.value,a.disabledDate);o(`pick`,hp(t,`current`)?hb(a.parsedValue).filter(e=>e?.year()!==r):hb(a.parsedValue).concat([n]))}else o(`pick`,r)},x=e=>{if(!a.rangeState.selecting)return;let t=e.target?.closest(`td`);if(!t)return;let n=t.parentNode.rowIndex,r=t.cellIndex;g.value[n][r].disabled||(n!==m.value||r!==h.value)&&(m.value=n,h.value=r,o(`changerange`,{selecting:!0,endDate:(0,Mw.default)().year(f.value).add(n*4+r,`year`)}))};return M(()=>a.date,async()=>{u.value?.contains(document.activeElement)&&(await U(),d.value?.focus())}),t({focus:_}),(e,t)=>(N(),W(`table`,{role:`grid`,"aria-label":Y(c)(`el.datepicker.yearTablePrompt`),class:F(Y(s).b()),onClick:b,onMousemove:x},[B(`tbody`,{ref_key:`tbodyRef`,ref:u},[(N(!0),W(R,null,r(g.value,(e,t)=>(N(),W(`tr`,{key:t},[(N(!0),W(R,null,r(e,(e,n)=>(N(),W(`td`,{key:`${t}_${n}`,ref_for:!0,ref:t=>e.isSelected&&(d.value=t),class:F([`available`,v(e)]),"aria-selected":e.isSelected,"aria-label":String(e.text),tabindex:e.isSelected?0:-1,onKeydown:[jn(kn(b,[`prevent`,`stop`]),[`space`]),jn(kn(b,[`prevent`,`stop`]),[`enter`])]},[J(Y(Vj),{cell:e},null,8,[`cell`])],42,Qj))),128))]))),128))],512)],42,Zj))}}),eM=[`disabled`,`onClick`],tM=[`aria-label`,`disabled`],nM=[`aria-label`,`disabled`],rM=[`tabindex`,`aria-disabled`],iM=[`tabindex`,`aria-disabled`],aM=[`aria-label`,`disabled`],oM=[`aria-label`,`disabled`],sM=z({__name:`panel-date-pick`,props:Oj,emits:[`pick`,`set-picker-option`,`panel-change`],setup(e,{emit:t}){let i=(e,t,n)=>!0,a=e,o=t,s=$(`picker-panel`),c=$(`date-picker`),u=y(),d=le(),{t:f,lang:p}=Dp(),m=l(Ew),h=l(Sj,void 0),{shortcuts:g,disabledDate:_,cellClassName:v,defaultTime:b}=m.props,x=we(m.props,`defaultValue`),C=q(),w=q((0,Mw.default)().locale(p.value)),T=q(!1),E=!1,D=K(()=>(0,Mw.default)(b).locale(p.value)),O=K(()=>w.value.month()),k=K(()=>w.value.year()),ee=q([]),j=q(null),P=q(null),te=e=>ee.value.length>0?i(e,ee.value,a.format||`HH:mm:ss`):!0,ne=e=>b&&!De.value&&!T.value&&!E?D.value.year(e.year()).month(e.month()).date(e.date()):_e.value?e.millisecond(0):e.startOf(`day`),re=(e,...t)=>{e?A(e)?o(`pick`,e.map(ne),...t):o(`pick`,ne(e),...t):o(`pick`,e,...t),j.value=null,P.value=null,T.value=!1,E=!1},ie=async(e,t)=>{if(ue.value===`date`&&Mw.default.isDayjs(e)){let n=mb(a.parsedValue),r=n?n.year(e.year()).month(e.month()).date(e.date()):e;te(r)||(r=ee.value[0][0].year(e.year()).month(e.month()).date(e.date())),w.value=r,re(r,_e.value||t)}else ue.value===`week`?re(e.date):ue.value===`dates`&&re(e,!0)},ae=e=>{let t=e?`add`:`subtract`;w.value=w.value[t](1,`month`),Ue(`month`)},oe=e=>{let t=w.value,n=e?`add`:`subtract`;w.value=L.value===`year`?t[n](10,`year`):t[n](1,`year`),Ue(`year`)},L=q(`date`),se=K(()=>{let e=f(`el.datepicker.year`);if(L.value===`year`){let t=Math.floor(k.value/10)*10;return e?`${t} ${e} - ${t+9} ${e}`:`${t} - ${t+9}`}return`${k.value} ${e}`}),ce=e=>{let t=n(e.value)?e.value():e.value;if(t){E=!0,re((0,Mw.default)(t).locale(p.value));return}e.onClick&&e.onClick({attrs:u,slots:d,emit:o})},ue=K(()=>{let{type:e}=a;return[`week`,`month`,`months`,`year`,`years`,`dates`].includes(e)?e:`date`}),de=K(()=>ue.value===`dates`||ue.value===`months`||ue.value===`years`),fe=K(()=>ue.value===`date`?L.value:ue.value),pe=K(()=>!!g.length),me=async(e,t)=>{ue.value===`month`?(w.value=Nj(w.value,w.value.year(),e,p.value,_),re(w.value,!1)):ue.value===`months`?re(e,t??!0):(w.value=Nj(w.value,w.value.year(),e,p.value,_),L.value=`date`,[`month`,`year`,`date`,`week`].includes(ue.value)&&(re(w.value,!0),await U(),ze())),Ue(`month`)},he=async(e,t)=>{ue.value===`year`?(w.value=Pj(w.value.startOf(`year`).year(e),p.value,_),re(w.value,!1)):ue.value===`years`?re(e,t??!0):(w.value=Pj(w.value.year(e),p.value,_),L.value=`month`,[`month`,`year`,`date`,`week`].includes(ue.value)&&(re(w.value,!0),await U(),ze())),Ue(`year`)},z=lb(),ge=async e=>{z.value||(L.value=e,await U(),ze())},_e=K(()=>a.type===`datetime`||a.type===`datetimerange`),ve=K(()=>{let e=_e.value||ue.value===`dates`,t=ue.value===`years`,n=ue.value===`months`,r=L.value===`date`,i=L.value===`year`,a=L.value===`month`;return e&&r||t&&i||n&&a}),ye=K(()=>!de.value&&a.showNow||a.showConfirm),be=K(()=>_?a.parsedValue?A(a.parsedValue)?_(a.parsedValue[0].toDate()):_(a.parsedValue.toDate()):!0:!1),xe=()=>{if(de.value)re(a.parsedValue);else{let e=mb(a.parsedValue);if(!e){let t=(0,Mw.default)(b).locale(p.value),n=Re();e=t.year(n.year()).month(n.month()).date(n.date())}w.value=e,re(e)}},Se=K(()=>_?_((0,Mw.default)().locale(p.value).toDate()):!1),Ce=()=>{let e=(0,Mw.default)().locale(p.value).toDate();T.value=!0,(!_||!_(e))&&te(e)&&(w.value=(0,Mw.default)().locale(p.value),re(w.value))},Te=K(()=>a.timeFormat||Iw(a.format)||`HH:mm:ss`),Ee=K(()=>a.dateFormat||Fw(a.format)||`YYYY-MM-DD`),De=K(()=>{if(P.value)return P.value;if(!(!a.parsedValue&&!x.value))return(mb(a.parsedValue)||w.value).format(Te.value)}),Oe=K(()=>{if(j.value)return j.value;if(!(!a.parsedValue&&!x.value))return(mb(a.parsedValue)||w.value).format(Ee.value)}),ke=q(!1),Ae=()=>{ke.value=!0},je=()=>{ke.value=!1},Me=e=>({hour:e.hour(),minute:e.minute(),second:e.second(),year:e.year(),month:e.month(),date:e.date()}),Ne=(e,t,n)=>{let{hour:r,minute:i,second:o}=Me(e),s=mb(a.parsedValue);w.value=s?s.hour(r).minute(i).second(o):e,re(w.value,!0),n||(ke.value=t)},Pe=e=>{let t=(0,Mw.default)(e,Te.value).locale(p.value);if(t.isValid()&&te(t)){let{year:e,month:n,date:r}=Me(w.value);w.value=t.year(e).month(n).date(r),P.value=null,ke.value=!1,re(w.value,!0)}},Fe=e=>{let t=Fj(e,Ee.value,p.value,h);if(t.isValid()){if(_&&_(t.toDate()))return;let{hour:e,minute:n,second:r}=Me(w.value);w.value=t.hour(e).minute(n).second(r),j.value=null,re(w.value,!0)}},Ie=e=>Mw.default.isDayjs(e)&&e.isValid()&&(_?!_(e.toDate()):!0),Le=e=>Fj(e,a.format,p.value,h),Re=()=>{let e=(0,Mw.default)(x.value).locale(p.value);if(!x.value){let e=D.value;return(0,Mw.default)().hour(e.hour()).minute(e.minute()).second(e.second()).locale(p.value)}return e},ze=()=>{[`week`,`month`,`year`,`date`].includes(ue.value)&&C.value?.focus()},Be=()=>{ze(),ue.value===`week`&&He(X.down)},Ve=e=>{let t=Kp(e);[X.up,X.down,X.left,X.right,X.home,X.end,X.pageUp,X.pageDown].includes(t)&&(He(t),e.stopPropagation(),e.preventDefault()),[X.enter,X.space,X.numpadEnter].includes(t)&&j.value===null&&P.value===null&&(e.preventDefault(),re(w.value,!1))},He=e=>{let{up:t,down:r,left:i,right:a,home:s,end:c,pageUp:l,pageDown:u}=X,d={year:{[t]:-4,[r]:4,[i]:-1,[a]:1,offset:(e,t)=>e.setFullYear(e.getFullYear()+t)},month:{[t]:-4,[r]:4,[i]:-1,[a]:1,offset:(e,t)=>e.setMonth(e.getMonth()+t)},week:{[t]:-1,[r]:1,[i]:-1,[a]:1,offset:(e,t)=>e.setDate(e.getDate()+t*7)},date:{[t]:-7,[r]:7,[i]:-1,[a]:1,[s]:e=>-e.getDay(),[c]:e=>-e.getDay()+6,[l]:e=>-new Date(e.getFullYear(),e.getMonth(),0).getDate(),[u]:e=>new Date(e.getFullYear(),e.getMonth()+1,0).getDate(),offset:(e,t)=>e.setDate(e.getDate()+t)}},f=w.value.toDate();for(;Math.abs(w.value.diff(f,`year`,!0))<1;){let t=d[fe.value];if(!t)return;if(t.offset(f,n(t[e])?t[e](f):t[e]??0),_&&_(f))break;let r=(0,Mw.default)(f).locale(p.value);w.value=r,o(`pick`,r,!0);break}},Ue=e=>{o(`panel-change`,w.value.toDate(),e,L.value)};return M(()=>ue.value,e=>{if([`month`,`year`].includes(e)){L.value=e;return}else if(e===`years`){L.value=`year`;return}else if(e===`months`){L.value=`month`;return}L.value=`date`},{immediate:!0}),M(()=>x.value,e=>{e&&(w.value=Re())},{immediate:!0}),M(()=>a.parsedValue,e=>{if(e){if(de.value||A(e))return;w.value=e}else w.value=Re()},{immediate:!0}),o(`set-picker-option`,[`isValidValue`,Ie]),o(`set-picker-option`,[`parseUserInput`,Le]),o(`set-picker-option`,[`handleFocusPicker`,Be]),(e,t)=>(N(),W(`div`,{class:F([Y(s).b(),Y(c).b(),Y(s).is(`border`,e.border),Y(s).is(`disabled`,Y(z)),{"has-sidebar":e.$slots.sidebar||pe.value,"has-time":_e.value}])},[B(`div`,{class:F(Y(s).e(`body-wrapper`))},[I(e.$slots,`sidebar`,{class:F(Y(s).e(`sidebar`))}),pe.value?(N(),W(`div`,{key:0,class:F(Y(s).e(`sidebar`))},[(N(!0),W(R,null,r(Y(g),(e,t)=>(N(),W(`button`,{key:t,type:`button`,disabled:Y(z),class:F(Y(s).e(`shortcut`)),onClick:t=>ce(e)},S(e.text),11,eM))),128))],2)):G(`v-if`,!0),B(`div`,{class:F(Y(s).e(`body`))},[_e.value?(N(),W(`div`,{key:0,class:F(Y(c).e(`time-header`))},[B(`span`,{class:F(Y(c).e(`editor-wrap`))},[J(Y(zS),{placeholder:Y(f)(`el.datepicker.selectDate`),"model-value":Oe.value,size:`small`,"validate-event":!1,disabled:Y(z),readonly:!e.editable,onInput:t[0]||=e=>j.value=e,onChange:Fe},null,8,[`placeholder`,`model-value`,`disabled`,`readonly`])],2),Ge((N(),W(`span`,{class:F(Y(c).e(`editor-wrap`))},[J(Y(zS),{placeholder:Y(f)(`el.datepicker.selectTime`),"model-value":De.value,size:`small`,"validate-event":!1,disabled:Y(z),readonly:!e.editable,onFocus:Ae,onInput:t[1]||=e=>P.value=e,onChange:Pe},null,8,[`placeholder`,`model-value`,`disabled`,`readonly`]),J(Y(XT),{visible:ke.value,format:Te.value,"parsed-value":w.value,onPick:Ne},null,8,[`visible`,`format`,`parsed-value`])],2)),[[Y(eT),je]])],2)):G(`v-if`,!0),Ge(B(`div`,{class:F([Y(c).e(`header`),(L.value===`year`||L.value===`month`)&&Y(c).em(`header`,`bordered`)])},[B(`span`,{class:F(Y(c).e(`prev-btn`))},[B(`button`,{type:`button`,"aria-label":Y(f)(`el.datepicker.prevYear`),class:F([`d-arrow-left`,Y(s).e(`icon-btn`)]),disabled:Y(z),onClick:t[2]||=e=>oe(!1)},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,tM),Ge(B(`button`,{type:`button`,"aria-label":Y(f)(`el.datepicker.prevMonth`),class:F([Y(s).e(`icon-btn`),`arrow-left`]),disabled:Y(z),onClick:t[3]||=e=>ae(!1)},[I(e.$slots,`prev-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1})])],10,nM),[[jt,L.value===`date`]])],2),B(`span`,{role:`button`,class:F(Y(c).e(`header-label`)),"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:t[4]||=jn(e=>ge(`year`),[`enter`]),onClick:t[5]||=e=>ge(`year`)},S(se.value),43,rM),Ge(B(`span`,{role:`button`,"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,class:F([Y(c).e(`header-label`),{active:L.value===`month`}]),onKeydown:t[6]||=jn(e=>ge(`month`),[`enter`]),onClick:t[7]||=e=>ge(`month`)},S(Y(f)(`el.datepicker.month${O.value+1}`)),43,iM),[[jt,L.value===`date`]]),B(`span`,{class:F(Y(c).e(`next-btn`))},[Ge(B(`button`,{type:`button`,"aria-label":Y(f)(`el.datepicker.nextMonth`),class:F([Y(s).e(`icon-btn`),`arrow-right`]),disabled:Y(z),onClick:t[8]||=e=>ae(!0)},[I(e.$slots,`next-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})])],10,aM),[[jt,L.value===`date`]]),B(`button`,{type:`button`,"aria-label":Y(f)(`el.datepicker.nextYear`),class:F([Y(s).e(`icon-btn`),`d-arrow-right`]),disabled:Y(z),onClick:t[9]||=e=>oe(!0)},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,oM)],2)],2),[[jt,L.value!==`time`]]),B(`div`,{class:F(Y(s).e(`content`)),onKeydown:Ve},[L.value===`date`?(N(),H(Gj,{key:0,ref_key:`currentViewRef`,ref:C,"selection-mode":ue.value,date:w.value,"parsed-value":e.parsedValue,"disabled-date":Y(_),disabled:Y(z),"cell-class-name":Y(v),"show-week-number":e.showWeekNumber,onPick:ie},null,8,[`selection-mode`,`date`,`parsed-value`,`disabled-date`,`disabled`,`cell-class-name`,`show-week-number`])):G(`v-if`,!0),L.value===`year`?(N(),H($j,{key:1,ref_key:`currentViewRef`,ref:C,"selection-mode":ue.value,date:w.value,"disabled-date":Y(_),disabled:Y(z),"parsed-value":e.parsedValue,"cell-class-name":Y(v),onPick:he},null,8,[`selection-mode`,`date`,`disabled-date`,`disabled`,`parsed-value`,`cell-class-name`])):G(`v-if`,!0),L.value===`month`?(N(),H(Yj,{key:2,ref_key:`currentViewRef`,ref:C,"selection-mode":ue.value,date:w.value,"parsed-value":e.parsedValue,"disabled-date":Y(_),disabled:Y(z),"cell-class-name":Y(v),onPick:me},null,8,[`selection-mode`,`date`,`parsed-value`,`disabled-date`,`disabled`,`cell-class-name`])):G(`v-if`,!0)],34)],2)],2),e.showFooter&&ve.value&&ye.value?(N(),W(`div`,{key:0,class:F(Y(s).e(`footer`))},[Ge(J(Y(xw),{text:``,size:`small`,class:F(Y(s).e(`link-btn`)),disabled:Se.value,onClick:Ce},{default:V(()=>[Ke(S(Y(f)(`el.datepicker.now`)),1)]),_:1},8,[`class`,`disabled`]),[[jt,!de.value&&e.showNow]]),e.showConfirm?(N(),H(Y(xw),{key:0,plain:``,size:`small`,class:F(Y(s).e(`link-btn`)),disabled:be.value,onClick:xe},{default:V(()=>[Ke(S(Y(f)(`el.datepicker.confirm`)),1)]),_:1},8,[`class`,`disabled`])):G(`v-if`,!0)],2)):G(`v-if`,!0)],2))}}),cM=Q({...Tj,...Ej}),lM=e=>{let{emit:t}=Xe(),r=y(),i=le();return a=>{let o=n(a.value)?a.value():a.value;if(o){t(`pick`,[(0,Mw.default)(o[0]).locale(e.value),(0,Mw.default)(o[1]).locale(e.value)]);return}a.onClick&&a.onClick({attrs:r,slots:i,emit:t})}},uM=(e,{defaultValue:t,defaultTime:n,leftDate:r,rightDate:i,step:a,unit:o,sortDates:s})=>{let{emit:c}=Xe(),{pickerNs:u}=l(xj),d=$(`date-range-picker`),{t:f,lang:p}=Dp(),m=lM(p),h=q(),g=q(),_=q({endDate:null,selecting:!1}),v=e=>{_.value=e},y=(e=!1)=>{let t=Y(h),n=Y(g);kj([t,n])&&c(`pick`,[t,n],e)},b=e=>{_.value.selecting=e,e||(_.value.endDate=null)},x=e=>{if(A(e)&&e.length===2){let[t,n]=e;h.value=t,r.value=t,g.value=n,s(Y(h),Y(g))}else S()},S=()=>{let[s,c]=Aj(Y(t),{lang:Y(p),step:a,unit:o,unlinkPanels:e.unlinkPanels}),l=e=>e.diff(e.startOf(`d`),`ms`),u=Y(n);if(u){let e=0,t=0;if(A(u)){let[n,r]=u.map(Mw.default);e=l(n),t=l(r)}else{let n=l((0,Mw.default)(u));e=n,t=n}s=s.startOf(`d`).add(e,`ms`),c=c.startOf(`d`).add(t,`ms`)}h.value=void 0,g.value=void 0,r.value=s,i.value=c};return M(t,e=>{e&&S()},{immediate:!0}),M(()=>e.parsedValue,e=>{(!e?.length||!sd(e,[h.value,g.value]))&&x(e)},{immediate:!0}),M(()=>e.visible,()=>{e.visible&&x(e.parsedValue)},{immediate:!0}),{minDate:h,maxDate:g,rangeState:_,lang:p,ppNs:u,drpNs:d,handleChangeRange:v,handleRangeConfirm:y,handleShortcutClick:m,onSelect:b,parseValue:x,t:f}},dM=(e,t,n,r)=>{let i=q(`date`),a=q(),o=q(`date`),s=q(),{disabledDate:c}=l(Ew).props,{t:u,lang:d}=Dp(),f=K(()=>n.value.year()),p=K(()=>n.value.month()),m=K(()=>r.value.year()),h=K(()=>r.value.month());function g(e,t){let n=u(`el.datepicker.year`);if(e.value===`year`){let e=Math.floor(t.value/10)*10;return n?`${e} ${n} - ${e+9} ${n}`:`${e} - ${e+9}`}return`${t.value} ${n}`}function _(e){e?.focus()}async function v(t,n){if(e.disabled)return;let r=t===`left`?i:o,c=t===`left`?a:s;r.value=n,await U(),_(c.value)}async function y(t,l,u){if(e.disabled)return;let f=l===`left`,p=f?n:r,m=f?r:n,h=f?i:o,g=f?a:s;t===`year`&&(p.value=Pj(p.value.year(u),d.value,c)),t===`month`&&(p.value=Nj(p.value,p.value.year(),u,d.value,c)),e.unlinkPanels||(m.value=l===`left`?p.value.add(1,`month`):p.value.subtract(1,`month`)),h.value=t===`year`?`month`:`date`,await U(),_(g.value),b(t)}function b(e){t(`panel-change`,[n.value.toDate(),r.value.toDate()],e)}function x(e,t,n){let r=n?`add`:`subtract`;return e===`year`?t[r](10,`year`):t[r](1,`year`)}return{leftCurrentView:i,rightCurrentView:o,leftCurrentViewRef:a,rightCurrentViewRef:s,leftYear:f,rightYear:m,leftMonth:p,rightMonth:h,leftYearLabel:K(()=>g(i,f)),rightYearLabel:K(()=>g(o,m)),showLeftPicker:e=>v(`left`,e),showRightPicker:e=>v(`right`,e),handleLeftYearPick:e=>y(`year`,`left`,e),handleRightYearPick:e=>y(`year`,`right`,e),handleLeftMonthPick:e=>y(`month`,`left`,e),handleRightMonthPick:e=>y(`month`,`right`,e),handlePanelChange:b,adjustDateByView:x}},fM=[`disabled`,`onClick`],pM=[`aria-label`,`disabled`],mM=[`aria-label`,`disabled`],hM=[`disabled`,`aria-label`],gM=[`disabled`,`aria-label`],_M=[`tabindex`,`aria-disabled`],vM=[`tabindex`,`aria-disabled`],yM=[`disabled`,`aria-label`],bM=[`disabled`,`aria-label`],xM=[`aria-label`,`disabled`],SM=[`disabled`,`aria-label`],CM=[`tabindex`,`aria-disabled`],wM=[`tabindex`,`aria-disabled`],TM=`month`,EM=z({__name:`panel-date-range`,props:cM,emits:[`pick`,`set-picker-option`,`calendar-change`,`panel-change`,`clear`],setup(e,{emit:t}){let n=e,i=t,a=l(Ew),o=l(Sj,void 0),{disabledDate:s,cellClassName:c,defaultTime:u,clearable:d}=a.props,f=we(a.props,`format`),p=we(a.props,`shortcuts`),m=we(a.props,`defaultValue`),{lang:h}=Dp(),g=q((0,Mw.default)().locale(h.value)),_=q((0,Mw.default)().locale(h.value).add(1,TM)),{minDate:v,maxDate:y,rangeState:b,ppNs:x,drpNs:C,handleChangeRange:w,handleRangeConfirm:T,handleShortcutClick:E,onSelect:D,parseValue:O,t:k}=uM(n,{defaultValue:m,defaultTime:u,leftDate:g,rightDate:_,unit:TM,sortDates:tt});M(()=>n.visible,e=>{!e&&b.value.selecting&&(O(n.parsedValue),D(!1))});let A=q({min:null,max:null}),ee=q({min:null,max:null}),{leftCurrentView:j,rightCurrentView:P,leftCurrentViewRef:te,rightCurrentViewRef:ne,leftYear:re,rightYear:ie,leftMonth:ae,rightMonth:oe,leftYearLabel:L,rightYearLabel:se,showLeftPicker:ce,showRightPicker:le,handleLeftYearPick:ue,handleRightYearPick:de,handleLeftMonthPick:fe,handleRightMonthPick:pe,handlePanelChange:me,adjustDateByView:he}=dM(n,i,g,_),z=K(()=>!!p.value.length),ge=K(()=>A.value.min===null?v.value?v.value.format(xe.value):``:A.value.min),_e=K(()=>A.value.max===null?y.value||v.value?(y.value||v.value).format(xe.value):``:A.value.max),ve=K(()=>ee.value.min===null?v.value?v.value.format(be.value):``:ee.value.min),ye=K(()=>ee.value.max===null?y.value||v.value?(y.value||v.value).format(be.value):``:ee.value.max),be=K(()=>n.timeFormat||Iw(f.value||``)||`HH:mm:ss`),xe=K(()=>n.dateFormat||Fw(f.value||``)||`YYYY-MM-DD`),Se=e=>kj(e)&&(s?!s(e[0].toDate())&&!s(e[1].toDate()):!0),Ce=()=>{g.value=he(j.value,g.value,!1),n.unlinkPanels||(_.value=g.value.add(1,`month`)),me(`year`)},Te=()=>{g.value=g.value.subtract(1,`month`),n.unlinkPanels||(_.value=g.value.add(1,`month`)),me(`month`)},Ee=()=>{n.unlinkPanels?_.value=he(P.value,_.value,!0):(g.value=he(P.value,g.value,!0),_.value=g.value.add(1,`month`)),me(`year`)},De=()=>{n.unlinkPanels?_.value=_.value.add(1,`month`):(g.value=g.value.add(1,`month`),_.value=g.value.add(1,`month`)),me(`month`)},Oe=()=>{g.value=he(j.value,g.value,!0),me(`year`)},ke=()=>{g.value=g.value.add(1,`month`),me(`month`)},Ae=()=>{_.value=he(P.value,_.value,!1),me(`year`)},je=()=>{_.value=_.value.subtract(1,`month`),me(`month`)},Me=K(()=>{let e=(ae.value+1)%12,t=+(ae.value+1>=12);return n.singlePanel||n.unlinkPanels&&new Date(re.value+t,e)n.singlePanel||n.unlinkPanels&&ie.value*12+oe.value-(re.value*12+ae.value+1)>=12),Pe=lb(),Fe=K(()=>!(v.value&&y.value&&!b.value.selecting&&kj([v.value,y.value])&&!Pe.value)),Ie=K(()=>n.type===`datetime`||n.type===`datetimerange`),Le=(e,t)=>{if(e)return u?(0,Mw.default)(u[t]||u).locale(h.value).year(e.year()).month(e.month()).date(e.date()):e},Re=(e,t=!0)=>{let n=e.minDate,r=e.maxDate,a=Le(n,0),o=Le(r,1);y.value===o&&v.value===a||(i(`calendar-change`,[n.toDate(),r&&r.toDate()]),y.value=o,v.value=a,!Ie.value&&t&&(t=!a||!o),T(t))},ze=q(!1),Be=q(!1),Ve=()=>{ze.value=!1},He=()=>{Be.value=!1},Ue=(e,t)=>{if(!s||!s(e.toDate()))return e;let n=e.isBefore(t),r=e;for(;n?r.isBefore(t):r.isAfter(t);)if(r=n?r.add(1,`day`):r.subtract(1,`day`),!s(r.toDate()))return r;return e},We=(e,t)=>{A.value[t]=e;let r=(0,Mw.default)(e,xe.value).locale(h.value);if(r.isValid()){if(s&&s(r.toDate()))return;if(t===`min`){if(g.value=r,v.value=(v.value||g.value).year(r.year()).month(r.month()).date(r.date()),!n.unlinkPanels&&!y.value){let e=Ue(v.value.add(1,`month`),v.value);_.value=e,y.value=e}}else if(_.value=r,y.value=(y.value||_.value).year(r.year()).month(r.month()).date(r.date()),!n.unlinkPanels&&!v.value){let e=Ue(y.value.subtract(1,`month`),y.value);g.value=e,v.value=e}tt(v.value,y.value),T(!0)}},qe=(e,t)=>{if(A.value[t]=null,t===`min`){if(!n.unlinkPanels&&y.value&&v.value&&y.value.isBefore(v.value)){let e=Ue(v.value.add(1,`month`),v.value);_.value=e,y.value=e}}else if(!n.unlinkPanels&&v.value&&y.value&&v.value.isAfter(y.value)){let e=Ue(y.value.subtract(1,`month`),y.value);g.value=e,v.value=e}tt(v.value,y.value),T(!0)},Je=(e,t)=>{ee.value[t]=e;let n=(0,Mw.default)(e,be.value).locale(h.value);n.isValid()&&(t===`min`?(ze.value=!0,v.value=(v.value||g.value).hour(n.hour()).minute(n.minute()).second(n.second()),g.value=v.value):(Be.value=!0,y.value=(y.value||_.value).hour(n.hour()).minute(n.minute()).second(n.second()),_.value=y.value))},Ye=(e,t)=>{ee.value[t]=null,t===`min`?(g.value=v.value,ze.value=!1,(!y.value||y.value.isBefore(v.value))&&(y.value=v.value)):(_.value=y.value,Be.value=!1,y.value&&y.value.isBefore(v.value)&&(v.value=y.value)),T(!0)},Xe=(e,t,r)=>{ee.value.min||(e&&(v.value=(v.value||g.value).hour(e.hour()).minute(e.minute()).second(e.second())),r||(ze.value=t),(!y.value||y.value.isBefore(v.value))&&(y.value=v.value,_.value=e,U(()=>{O(n.parsedValue)})),T(!0))},Ze=(e,t,n)=>{ee.value.max||(e&&(y.value=(y.value||_.value).hour(e.hour()).minute(e.minute()).second(e.second())),n||(Be.value=t),y.value&&y.value.isBefore(v.value)&&(v.value=y.value),T(!0))},Qe=()=>{$e(),i(`clear`)},$e=()=>{let e=null;a?.emptyValues&&(e=a.emptyValues.valueOnClear.value),g.value=Aj(Y(m),{lang:Y(h),unit:`month`,unlinkPanels:n.unlinkPanels})[0],_.value=g.value.add(1,`month`),y.value=void 0,v.value=void 0,T(!0),i(`pick`,e)},et=e=>Fj(e,f.value||``,h.value,o);function tt(e,t){if(n.unlinkPanels&&t){let n=e?.year()||0,r=e?.month()||0,i=t.year(),a=t.month();_.value=n===i&&r===a?t.add(1,TM):t}else _.value=g.value.add(1,TM),t&&(_.value=_.value.hour(t.hour()).minute(t.minute()).second(t.second()))}return i(`set-picker-option`,[`isValidValue`,Se]),i(`set-picker-option`,[`parseUserInput`,et]),i(`set-picker-option`,[`handleClear`,$e]),(e,t)=>(N(),W(`div`,{class:F([Y(x).b(),Y(C).b(),Y(x).is(`border`,e.border),Y(x).is(`disabled`,Y(Pe)),{"has-sidebar":e.$slots.sidebar||z.value,"has-time":Ie.value,"single-panel":e.singlePanel}])},[B(`div`,{class:F(Y(x).e(`body-wrapper`))},[I(e.$slots,`sidebar`,{class:F(Y(x).e(`sidebar`))}),z.value?(N(),W(`div`,{key:0,class:F(Y(x).e(`sidebar`))},[(N(!0),W(R,null,r(p.value,(e,t)=>(N(),W(`button`,{key:t,type:`button`,disabled:Y(Pe),class:F(Y(x).e(`shortcut`)),onClick:t=>Y(E)(e)},S(e.text),11,fM))),128))],2)):G(`v-if`,!0),B(`div`,{class:F(Y(x).e(`body`))},[Ie.value?(N(),W(`div`,{key:0,class:F(Y(C).e(`time-header`))},[B(`span`,{class:F(Y(C).e(`editors-wrap`))},[B(`span`,{class:F(Y(C).e(`time-picker-wrap`))},[J(Y(zS),{size:`small`,disabled:Y(b).selecting||Y(Pe),placeholder:Y(k)(`el.datepicker.startDate`),class:F(Y(C).e(`editor`)),"model-value":ge.value,"validate-event":!1,readonly:!e.editable,onInput:t[0]||=e=>We(e,`min`),onChange:t[1]||=e=>qe(e,`min`)},null,8,[`disabled`,`placeholder`,`class`,`model-value`,`readonly`])],2),Ge((N(),W(`span`,{class:F(Y(C).e(`time-picker-wrap`))},[J(Y(zS),{size:`small`,class:F(Y(C).e(`editor`)),disabled:Y(b).selecting||Y(Pe),placeholder:Y(k)(`el.datepicker.startTime`),"model-value":ve.value,"validate-event":!1,readonly:!e.editable,onFocus:t[2]||=e=>ze.value=!0,onInput:t[3]||=e=>Je(e,`min`),onChange:t[4]||=e=>Ye(e,`min`)},null,8,[`class`,`disabled`,`placeholder`,`model-value`,`readonly`]),J(Y(XT),{visible:ze.value,format:be.value,"datetime-role":`start`,"parsed-value":Y(v)||g.value,onPick:Xe},null,8,[`visible`,`format`,`parsed-value`])],2)),[[Y(eT),Ve]])],2),B(`span`,null,[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})]),B(`span`,{class:F([Y(C).e(`editors-wrap`),`is-right`])},[B(`span`,{class:F(Y(C).e(`time-picker-wrap`))},[J(Y(zS),{size:`small`,class:F(Y(C).e(`editor`)),disabled:Y(b).selecting||Y(Pe),placeholder:Y(k)(`el.datepicker.endDate`),"model-value":_e.value,readonly:!Y(v)||!e.editable,"validate-event":!1,onInput:t[5]||=e=>We(e,`max`),onChange:t[6]||=e=>qe(e,`max`)},null,8,[`class`,`disabled`,`placeholder`,`model-value`,`readonly`])],2),Ge((N(),W(`span`,{class:F(Y(C).e(`time-picker-wrap`))},[J(Y(zS),{size:`small`,class:F(Y(C).e(`editor`)),disabled:Y(b).selecting||Y(Pe),placeholder:Y(k)(`el.datepicker.endTime`),"model-value":ye.value,readonly:!Y(v)||!e.editable,"validate-event":!1,onFocus:t[7]||=e=>Y(v)&&(Be.value=!0),onInput:t[8]||=e=>Je(e,`max`),onChange:t[9]||=e=>Ye(e,`max`)},null,8,[`class`,`disabled`,`placeholder`,`model-value`,`readonly`]),J(Y(XT),{"datetime-role":`end`,visible:Be.value,format:be.value,"parsed-value":Y(y)||_.value,onPick:Ze},null,8,[`visible`,`format`,`parsed-value`])],2)),[[Y(eT),He]])],2)],2)):G(`v-if`,!0),B(`div`,{class:F([Y(x).e(`content`),Y(C).e(`content`),Y(C).is(`left`,!e.singlePanel)])},[B(`div`,{class:F(Y(C).e(`header`))},[B(`button`,{type:`button`,class:F([Y(x).e(`icon-btn`),`d-arrow-left`]),"aria-label":Y(k)(`el.datepicker.prevYear`),disabled:Y(Pe),onClick:Ce},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,pM),Ge(B(`button`,{type:`button`,class:F([Y(x).e(`icon-btn`),`arrow-left`]),"aria-label":Y(k)(`el.datepicker.prevMonth`),disabled:Y(Pe),onClick:Te},[I(e.$slots,`prev-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1})])],10,mM),[[jt,Y(j)===`date`]]),e.unlinkPanels||e.singlePanel?(N(),W(`button`,{key:0,type:`button`,disabled:!Ne.value||Y(Pe),class:F([[Y(x).e(`icon-btn`),Y(x).is(`disabled`,!Ne.value||Y(Pe))],`d-arrow-right`]),"aria-label":Y(k)(`el.datepicker.nextYear`),onClick:Oe},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,hM)):G(`v-if`,!0),e.unlinkPanels&&Y(j)===`date`||e.singlePanel?(N(),W(`button`,{key:1,type:`button`,disabled:!Me.value||Y(Pe),class:F([[Y(x).e(`icon-btn`),Y(x).is(`disabled`,!Me.value||Y(Pe))],`arrow-right`]),"aria-label":Y(k)(`el.datepicker.nextMonth`),onClick:ke},[I(e.$slots,`next-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})])],10,gM)):G(`v-if`,!0),B(`div`,null,[B(`span`,{role:`button`,class:F(Y(C).e(`header-label`)),"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:t[10]||=jn(e=>Y(ce)(`year`),[`enter`]),onClick:t[11]||=e=>Y(ce)(`year`)},S(Y(L)),43,_M),Ge(B(`span`,{role:`button`,"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,class:F([Y(C).e(`header-label`),{active:Y(j)===`month`}]),onKeydown:t[12]||=jn(e=>Y(ce)(`month`),[`enter`]),onClick:t[13]||=e=>Y(ce)(`month`)},S(Y(k)(`el.datepicker.month${g.value.month()+1}`)),43,vM),[[jt,Y(j)===`date`]])])],2),Y(j)===`date`?(N(),H(Gj,{key:0,ref_key:`leftCurrentViewRef`,ref:te,"selection-mode":`range`,date:g.value,"min-date":Y(v),"max-date":Y(y),"range-state":Y(b),"disabled-date":Y(s),"cell-class-name":Y(c),"show-week-number":e.showWeekNumber,disabled:Y(Pe),onChangerange:Y(w),onPick:Re,onSelect:Y(D)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`cell-class-name`,`show-week-number`,`disabled`,`onChangerange`,`onSelect`])):G(`v-if`,!0),Y(j)===`year`?(N(),H($j,{key:1,ref_key:`leftCurrentViewRef`,ref:te,"selection-mode":`year`,date:g.value,"disabled-date":Y(s),"parsed-value":e.parsedValue,disabled:Y(Pe),onPick:Y(ue)},null,8,[`date`,`disabled-date`,`parsed-value`,`disabled`,`onPick`])):G(`v-if`,!0),Y(j)===`month`?(N(),H(Yj,{key:2,ref_key:`leftCurrentViewRef`,ref:te,"selection-mode":`month`,date:g.value,"parsed-value":e.parsedValue,"disabled-date":Y(s),disabled:Y(Pe),onPick:Y(fe)},null,8,[`date`,`parsed-value`,`disabled-date`,`disabled`,`onPick`])):G(`v-if`,!0)],2),e.singlePanel?G(`v-if`,!0):(N(),W(`div`,{key:1,class:F([[Y(x).e(`content`),Y(C).e(`content`)],`is-right`])},[B(`div`,{class:F(Y(C).e(`header`))},[e.unlinkPanels?(N(),W(`button`,{key:0,type:`button`,disabled:!Ne.value||Y(Pe),class:F([[Y(x).e(`icon-btn`),Y(x).is(`disabled`,!Ne.value||Y(Pe))],`d-arrow-left`]),"aria-label":Y(k)(`el.datepicker.prevYear`),onClick:Ae},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,yM)):G(`v-if`,!0),e.unlinkPanels&&Y(P)===`date`?(N(),W(`button`,{key:1,type:`button`,disabled:!Me.value||Y(Pe),class:F([[Y(x).e(`icon-btn`),Y(x).is(`disabled`,!Me.value||Y(Pe))],`arrow-left`]),"aria-label":Y(k)(`el.datepicker.prevMonth`),onClick:je},[I(e.$slots,`prev-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1})])],10,bM)):G(`v-if`,!0),B(`button`,{type:`button`,"aria-label":Y(k)(`el.datepicker.nextYear`),class:F([Y(x).e(`icon-btn`),`d-arrow-right`]),disabled:Y(Pe),onClick:Ee},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,xM),Ge(B(`button`,{type:`button`,class:F([Y(x).e(`icon-btn`),`arrow-right`]),disabled:Y(Pe),"aria-label":Y(k)(`el.datepicker.nextMonth`),onClick:De},[I(e.$slots,`next-month`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})])],10,SM),[[jt,Y(P)===`date`]]),B(`div`,null,[B(`span`,{role:`button`,class:F(Y(C).e(`header-label`)),"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:t[14]||=jn(e=>Y(le)(`year`),[`enter`]),onClick:t[15]||=e=>Y(le)(`year`)},S(Y(se)),43,CM),Ge(B(`span`,{role:`button`,"aria-live":`polite`,tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,class:F([Y(C).e(`header-label`),{active:Y(P)===`month`}]),onKeydown:t[16]||=jn(e=>Y(le)(`month`),[`enter`]),onClick:t[17]||=e=>Y(le)(`month`)},S(Y(k)(`el.datepicker.month${_.value.month()+1}`)),43,wM),[[jt,Y(P)===`date`]])])],2),Y(P)===`date`?(N(),H(Gj,{key:0,ref_key:`rightCurrentViewRef`,ref:ne,"selection-mode":`range`,date:_.value,"min-date":Y(v),"max-date":Y(y),"range-state":Y(b),"disabled-date":Y(s),"cell-class-name":Y(c),"show-week-number":e.showWeekNumber,disabled:Y(Pe),onChangerange:Y(w),onPick:Re,onSelect:Y(D)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`cell-class-name`,`show-week-number`,`disabled`,`onChangerange`,`onSelect`])):G(`v-if`,!0),Y(P)===`year`?(N(),H($j,{key:1,ref_key:`rightCurrentViewRef`,ref:ne,"selection-mode":`year`,date:_.value,"disabled-date":Y(s),"parsed-value":e.parsedValue,disabled:Y(Pe),onPick:Y(de)},null,8,[`date`,`disabled-date`,`parsed-value`,`disabled`,`onPick`])):G(`v-if`,!0),Y(P)===`month`?(N(),H(Yj,{key:2,ref_key:`rightCurrentViewRef`,ref:ne,"selection-mode":`month`,date:_.value,"parsed-value":e.parsedValue,"disabled-date":Y(s),disabled:Y(Pe),onPick:Y(pe)},null,8,[`date`,`parsed-value`,`disabled-date`,`disabled`,`onPick`])):G(`v-if`,!0)],2))],2)],2),e.showFooter&&Ie.value&&(e.showConfirm||Y(d))?(N(),W(`div`,{key:0,class:F(Y(x).e(`footer`))},[Y(d)?(N(),H(Y(xw),{key:0,text:``,size:`small`,class:F(Y(x).e(`link-btn`)),onClick:Qe},{default:V(()=>[Ke(S(Y(k)(`el.datepicker.clear`)),1)]),_:1},8,[`class`])):G(`v-if`,!0),e.showConfirm?(N(),H(Y(xw),{key:1,plain:``,size:`small`,class:F(Y(x).e(`link-btn`)),disabled:Fe.value,onClick:t[18]||=e=>Y(T)(!1)},{default:V(()=>[Ke(S(Y(k)(`el.datepicker.confirm`)),1)]),_:1},8,[`class`,`disabled`])):G(`v-if`,!0)],2)):G(`v-if`,!0)],2))}}),DM=Q({...Ej}),OM=[`pick`,`set-picker-option`,`calendar-change`],kM=({unlinkPanels:e,leftDate:t,rightDate:n})=>{let{t:r}=Dp();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:K(()=>`${t.value.year()} ${r(`el.datepicker.year`)}`),rightLabel:K(()=>`${n.value.year()} ${r(`el.datepicker.year`)}`),leftYear:K(()=>t.value.year()),rightYear:K(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year())}},AM=[`disabled`,`onClick`],jM=[`disabled`],MM=[`disabled`],NM=[`disabled`],PM=[`disabled`],FM=`year`,IM=z({name:`DatePickerMonthRange`,__name:`panel-month-range`,props:DM,emits:OM,setup(e,{emit:t}){let n=e,i=t,{lang:a}=Dp(),o=l(Ew),s=l(Sj,void 0),{shortcuts:c,disabledDate:u,cellClassName:d}=o.props,f=we(o.props,`format`),p=we(o.props,`defaultValue`),m=q((0,Mw.default)().locale(a.value)),h=q((0,Mw.default)().locale(a.value).add(1,FM)),{minDate:g,maxDate:_,rangeState:v,ppNs:y,drpNs:b,handleChangeRange:x,handleRangeConfirm:C,handleShortcutClick:w,onSelect:T,parseValue:E}=uM(n,{defaultValue:p,leftDate:m,rightDate:h,unit:FM,sortDates:L}),D=K(()=>!!c.length),{leftPrevYear:O,rightNextYear:k,leftNextYear:A,rightPrevYear:ee,leftLabel:j,rightLabel:P,leftYear:te,rightYear:ne}=kM({unlinkPanels:we(n,`unlinkPanels`),leftDate:m,rightDate:h}),re=K(()=>n.singlePanel||n.unlinkPanels&&ne.value>te.value+1),ie=(e,t=!0)=>{let n=e.minDate,r=e.maxDate;_.value===r&&g.value===n||(i(`calendar-change`,[n.toDate(),r&&r.toDate()]),_.value=r,g.value=n,t&&C())},ae=()=>{let e=null;o?.emptyValues&&(e=o.emptyValues.valueOnClear.value),m.value=Aj(Y(p),{lang:Y(a),unit:`year`,unlinkPanels:n.unlinkPanels})[0],h.value=m.value.add(1,`year`),i(`pick`,e)},oe=e=>Fj(e,f.value,a.value,s);function L(e,t){n.unlinkPanels&&t?h.value=(e?.year()||0)===t.year()?t.add(1,FM):t:h.value=m.value.add(1,FM)}let se=lb();return M(()=>n.visible,e=>{!e&&v.value.selecting&&(E(n.parsedValue),T(!1))}),i(`set-picker-option`,[`isValidValue`,kj]),i(`set-picker-option`,[`parseUserInput`,oe]),i(`set-picker-option`,[`handleClear`,ae]),(e,t)=>(N(),W(`div`,{class:F([Y(y).b(),Y(b).b(),Y(y).is(`border`,e.border),Y(y).is(`disabled`,Y(se)),{"has-sidebar":!!e.$slots.sidebar||D.value,"single-panel":e.singlePanel}])},[B(`div`,{class:F(Y(y).e(`body-wrapper`))},[I(e.$slots,`sidebar`,{class:F(Y(y).e(`sidebar`))}),D.value?(N(),W(`div`,{key:0,class:F(Y(y).e(`sidebar`))},[(N(!0),W(R,null,r(Y(c),(e,t)=>(N(),W(`button`,{key:t,type:`button`,class:F(Y(y).e(`shortcut`)),disabled:Y(se),onClick:t=>Y(w)(e)},S(e.text),11,AM))),128))],2)):G(`v-if`,!0),B(`div`,{class:F(Y(y).e(`body`))},[B(`div`,{class:F([Y(y).e(`content`),Y(b).e(`content`),Y(b).is(`left`,!e.singlePanel)])},[B(`div`,{class:F(Y(b).e(`header`))},[B(`button`,{type:`button`,class:F([Y(y).e(`icon-btn`),`d-arrow-left`]),disabled:Y(se),onClick:t[0]||=(...e)=>Y(O)&&Y(O)(...e)},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,jM),e.unlinkPanels||e.singlePanel?(N(),W(`button`,{key:0,type:`button`,disabled:!re.value||Y(se),class:F([[Y(y).e(`icon-btn`),Y(y).is(`disabled`,!re.value||Y(se))],`d-arrow-right`]),onClick:t[1]||=(...e)=>Y(A)&&Y(A)(...e)},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,MM)):G(`v-if`,!0),B(`div`,null,S(Y(j)),1)],2),J(Yj,{"selection-mode":`range`,date:m.value,"min-date":Y(g),"max-date":Y(_),"range-state":Y(v),"disabled-date":Y(u),disabled:Y(se),"cell-class-name":Y(d),onChangerange:Y(x),onPick:ie,onSelect:Y(T)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`disabled`,`cell-class-name`,`onChangerange`,`onSelect`])],2),e.singlePanel?G(`v-if`,!0):(N(),W(`div`,{key:0,class:F([[Y(y).e(`content`),Y(b).e(`content`)],`is-right`])},[B(`div`,{class:F(Y(b).e(`header`))},[e.unlinkPanels?(N(),W(`button`,{key:0,type:`button`,disabled:!re.value||Y(se),class:F([[Y(y).e(`icon-btn`),Y(y).is(`disabled`,!re.value||Y(se))],`d-arrow-left`]),onClick:t[2]||=(...e)=>Y(ee)&&Y(ee)(...e)},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,NM)):G(`v-if`,!0),B(`button`,{type:`button`,class:F([Y(y).e(`icon-btn`),`d-arrow-right`]),disabled:Y(se),onClick:t[3]||=(...e)=>Y(k)&&Y(k)(...e)},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,PM),B(`div`,null,S(Y(P)),1)],2),J(Yj,{"selection-mode":`range`,date:h.value,"min-date":Y(g),"max-date":Y(_),"range-state":Y(v),"disabled-date":Y(u),disabled:Y(se),"cell-class-name":Y(d),onChangerange:Y(x),onPick:ie,onSelect:Y(T)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`disabled`,`cell-class-name`,`onChangerange`,`onSelect`])],2))],2)],2)],2))}}),LM=Q({...Ej}),RM=[`pick`,`set-picker-option`,`calendar-change`],zM=({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:K(()=>{let e=Math.floor(t.value.year()/10)*10;return`${e}-${e+9}`}),rightLabel:K(()=>{let e=Math.floor(n.value.year()/10)*10;return`${e}-${e+9}`}),leftYear:K(()=>Math.floor(t.value.year()/10)*10+9),rightYear:K(()=>Math.floor(n.value.year()/10)*10)}),BM=[`disabled`,`onClick`],VM=[`disabled`],HM=[`disabled`],UM=[`disabled`],WM=[`disabled`],GM=10,KM=`year`,qM=z({name:`DatePickerYearRange`,__name:`panel-year-range`,props:LM,emits:RM,setup(e,{emit:t}){let n=e,i=t,{lang:a}=Dp(),o=q((0,Mw.default)().locale(a.value)),s=q((0,Mw.default)().locale(a.value).add(GM,KM)),c=l(Sj,void 0),u=l(Ew),{shortcuts:d,disabledDate:f,cellClassName:p}=u.props,m=we(u.props,`format`),h=we(u.props,`defaultValue`),{minDate:g,maxDate:_,rangeState:v,ppNs:y,drpNs:b,handleChangeRange:x,handleRangeConfirm:C,handleShortcutClick:w,onSelect:T,parseValue:E}=uM(n,{defaultValue:h,leftDate:o,rightDate:s,step:GM,unit:KM,sortDates:fe}),{leftPrevYear:D,rightNextYear:O,leftNextYear:k,rightPrevYear:A,leftLabel:ee,rightLabel:j,leftYear:P,rightYear:te}=zM({unlinkPanels:we(n,`unlinkPanels`),leftDate:o,rightDate:s}),ne=lb(),re=K(()=>!!d.length),ie=K(()=>[y.b(),b.b(),y.is(`border`,n.border),y.is(`disabled`,ne.value),{"has-sidebar":!!le().sidebar||re.value,"single-panel":n.singlePanel}]),ae=K(()=>({content:[y.e(`content`),b.e(`content`),b.is(`left`,!n.singlePanel)],arrowLeftBtn:[y.e(`icon-btn`),`d-arrow-left`],arrowRightBtn:[y.e(`icon-btn`),y.is(`disabled`,!L.value||ne.value),`d-arrow-right`]})),oe=K(()=>({content:[y.e(`content`),b.e(`content`),`is-right`],arrowLeftBtn:[y.e(`icon-btn`),y.is(`disabled`,!L.value||ne.value),`d-arrow-left`],arrowRightBtn:[y.e(`icon-btn`),`d-arrow-right`]})),L=K(()=>n.singlePanel||n.unlinkPanels&&te.value>P.value+1),se=(e,t=!0)=>{let n=e.minDate,r=e.maxDate;_.value===r&&g.value===n||(i(`calendar-change`,[n.toDate(),r&&r.toDate()]),_.value=r,g.value=n,t&&C())},ce=e=>Fj(e,m.value,a.value,c),ue=e=>kj(e)&&(f?!f(e[0].toDate())&&!f(e[1].toDate()):!0),de=()=>{let e=null;u?.emptyValues&&(e=u.emptyValues.valueOnClear.value);let t=Aj(Y(h),{lang:Y(a),step:GM,unit:KM,unlinkPanels:n.unlinkPanels});o.value=t[0],s.value=t[1],i(`pick`,e)};function fe(e,t){if(n.unlinkPanels&&t){let n=e?.year()||0,r=t.year();s.value=n+GM>r?t.add(GM,KM):t}else s.value=o.value.add(GM,KM)}return M(()=>n.visible,e=>{!e&&v.value.selecting&&(E(n.parsedValue),T(!1))}),i(`set-picker-option`,[`isValidValue`,ue]),i(`set-picker-option`,[`parseUserInput`,ce]),i(`set-picker-option`,[`handleClear`,de]),(e,t)=>(N(),W(`div`,{class:F(ie.value)},[B(`div`,{class:F(Y(y).e(`body-wrapper`))},[I(e.$slots,`sidebar`,{class:F(Y(y).e(`sidebar`))}),re.value?(N(),W(`div`,{key:0,class:F(Y(y).e(`sidebar`))},[(N(!0),W(R,null,r(Y(d),(e,t)=>(N(),W(`button`,{key:t,type:`button`,class:F(Y(y).e(`shortcut`)),disabled:Y(ne),onClick:t=>Y(w)(e)},S(e.text),11,BM))),128))],2)):G(`v-if`,!0),B(`div`,{class:F(Y(y).e(`body`))},[B(`div`,{class:F(ae.value.content)},[B(`div`,{class:F(Y(b).e(`header`))},[B(`button`,{type:`button`,class:F(ae.value.arrowLeftBtn),disabled:Y(ne),onClick:t[0]||=(...e)=>Y(D)&&Y(D)(...e)},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,VM),e.unlinkPanels||e.singlePanel?(N(),W(`button`,{key:0,type:`button`,disabled:!L.value||Y(ne),class:F(ae.value.arrowRightBtn),onClick:t[1]||=(...e)=>Y(k)&&Y(k)(...e)},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,HM)):G(`v-if`,!0),B(`div`,null,S(Y(ee)),1)],2),J($j,{"selection-mode":`range`,date:o.value,"min-date":Y(g),"max-date":Y(_),"range-state":Y(v),"disabled-date":Y(f),disabled:Y(ne),"cell-class-name":Y(p),onChangerange:Y(x),onPick:se,onSelect:Y(T)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`disabled`,`cell-class-name`,`onChangerange`,`onSelect`])],2),e.singlePanel?G(`v-if`,!0):(N(),W(`div`,{key:0,class:F(oe.value.content)},[B(`div`,{class:F(Y(b).e(`header`))},[e.unlinkPanels?(N(),W(`button`,{key:0,type:`button`,disabled:!L.value||Y(ne),class:F(oe.value.arrowLeftBtn),onClick:t[2]||=(...e)=>Y(A)&&Y(A)(...e)},[I(e.$slots,`prev-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ny))]),_:1})])],10,UM)):G(`v-if`,!0),B(`button`,{type:`button`,class:F(oe.value.arrowRightBtn),disabled:Y(ne),onClick:t[3]||=(...e)=>Y(O)&&Y(O)(...e)},[I(e.$slots,`next-year`,{},()=>[J(Y(By),null,{default:V(()=>[J(Y(ry))]),_:1})])],10,WM),B(`div`,null,S(Y(j)),1)],2),J($j,{"selection-mode":`range`,date:s.value,"min-date":Y(g),"max-date":Y(_),"range-state":Y(v),"disabled-date":Y(f),disabled:Y(ne),"cell-class-name":Y(p),onChangerange:Y(x),onPick:se,onSelect:Y(T)},null,8,[`date`,`min-date`,`max-date`,`range-state`,`disabled-date`,`disabled`,`cell-class-name`,`onChangerange`,`onSelect`])],2))],2)],2)],2))}}),JM=function(e){switch(e){case`daterange`:case`datetimerange`:return EM;case`monthrange`:return IM;case`yearrange`:return qM;default:return sM}},YM=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_advancedFormat=r()})(e,(function(){return function(e,t){var n=t.prototype,r=n.format;n.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return r.bind(this)(e);var i=this.$utils(),a=(e||`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(e){switch(e){case`Q`:return Math.ceil((t.$M+1)/3);case`Do`:return n.ordinal(t.$D);case`gggg`:return t.weekYear();case`GGGG`:return t.isoWeekYear();case`wo`:return n.ordinal(t.week(),`W`);case`w`:case`ww`:return i.s(t.week(),e===`w`?1:2,`0`);case`W`:case`WW`:return i.s(t.isoWeek(),e===`W`?1:2,`0`);case`k`:case`kk`:return i.s(String(t.$H===0?24:t.$H),e===`k`?1:2,`0`);case`X`:return Math.floor(t.$d.getTime()/1e3);case`x`:return t.$d.getTime();case`z`:return`[`+t.offsetName()+`]`;case`zzz`:return`[`+t.offsetName(`long`)+`]`;default:return e}}));return r.bind(this)(a)}}}))})),XM=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekOfYear=r()})(e,(function(){var e=`week`,t=`year`;return function(n,r,i){var a=r.prototype;a.week=function(n){if(n===void 0&&(n=null),n!==null)return this.add(7*(n-this.week()),`day`);var r=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var a=i(this).startOf(t).add(1,t).date(r),o=i(this).endOf(e);if(a.isBefore(o))return 1}var s=i(this).startOf(t).date(r).startOf(e).subtract(1,`millisecond`),c=this.diff(s,e,!0);return c<0?i(this).startOf(`week`).week():Math.ceil(c)},a.weeks=function(e){return e===void 0&&(e=null),this.week(e)}}}))})),ZM=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekYear=r()})(e,(function(){return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return t===1&&e===11?n+1:e===0&&t>=52?n-1:n}}}))})),QM=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_dayOfYear=r()})(e,(function(){return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(`day`)-n(this).startOf(`year`))/864e5)+1;return e==null?t:this.add(e-t,`day`)}}}))})),$M=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_isSameOrAfter=r()})(e,(function(){return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}))})),eN=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_isSameOrBefore=r()})(e,(function(){return function(e,t){t.prototype.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)}}}))})),tN=fe(YM(),1),nN=fe(XM(),1),rN=fe(ZM(),1),iN=fe(QM(),1),aN=fe($M(),1),oN=fe(eN(),1);function sN(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}Mw.default.extend(GE.default),Mw.default.extend(tN.default),Mw.default.extend(eE.default),Mw.default.extend(nN.default),Mw.default.extend(rN.default),Mw.default.extend(iN.default),Mw.default.extend(aN.default),Mw.default.extend(oN.default);var cN=Pv(z({name:`ElDatePickerPanel`,install:null,inheritAttrs:!1,props:bj,emits:[br,`calendar-change`,`panel-change`,`visible-change`,`clear`],setup(e,{slots:t,emit:n,attrs:r}){let i=$(`picker-panel`);Ad(l(`EP_PICKER_BASE`,void 0))&&Qe(Ew,{props:ve({...Se(e)})}),Qe(xj,{slots:t,pickerNs:i});let{parsedValue:a,onCalendarChange:o,onPanelChange:s,onSetPickerOption:c,onPick:u}=l(Ow,()=>qw(e,n),!0);return()=>J(JM(e.type),k(vd(r,`onPick`),e,{parsedValue:a.value,"onSet-picker-option":c,"onCalendar-change":o,"onPanel-change":s,onClear:()=>n(`clear`),onPick:u}),sN(t)?t:{default:()=>[t]})}})),lN=Q({...Gw,type:{type:Z(String),default:`date`}});function uN(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var dN=Pv(z({name:`ElDatePicker`,install:null,props:lN,emits:[br],setup(e,{expose:t,emit:n,slots:r}){Qe(Sj,K(()=>!e.format)),Qe(Dw,ve(we(e,`popperOptions`)));let i=q();t({focus:()=>{i.value?.focus()},blur:()=>{i.value?.blur()},handleOpen:()=>{i.value?.handleOpen()},handleClose:()=>{i.value?.handleClose()}});let a=e=>{n(br,e)};return()=>J(Zw,k(e,{format:e.format??(jw[e.type]||`YYYY-MM-DD`),type:e.type,ref:i,"onUpdate:modelValue":a}),{default:t=>J(cN,k({disabled:e.disabled,editable:e.editable,border:!1},t),uN(r)?r:{default:()=>[r]}),"range-separator":r[`range-separator`]})}})),fN=Q({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},size:xv,title:{type:String,default:``},extra:{type:String,default:``},labelWidth:{type:[String,Number]}}),pN=`ElDescriptionsItem`,mN=z({name:pN,props:Q({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:Tr,default:`left`},labelAlign:{type:String,values:Tr},className:{type:String,default:``},labelClassName:{type:String,default:``}})}),hN=Symbol(`elDescriptions`),gN=Q({row:{type:Z(Array),default:()=>[]}}),_N=z({name:`ElDescriptionsCell`,props:{cell:{type:Object},tag:{type:String,default:`td`},type:{type:String}},setup(){return{descriptions:l(hN,{})}},render(){let e=_v(this.cell),t=(this.cell?.dirs||[]).map(e=>{let{dir:t,arg:n,modifiers:r,value:i}=e;return[t,i,n,r]}),{border:n,direction:r}=this.descriptions,i=r===`vertical`,a=()=>this.cell?.children?.label?.()||e.label,o=()=>this.cell?.children?.default?.(),s=e.span,c=e.rowspan,l=e.align?`is-${e.align}`:``,u=e.labelAlign?`is-${e.labelAlign}`:l,d=e.className,f=e.labelClassName,p={width:bp(this.type===`label`?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:bp(e.minWidth)},m=$(`descriptions`);switch(this.type){case`label`:return Ge(Je(this.tag,{style:p,class:[m.e(`cell`),m.e(`label`),m.is(`bordered-label`,n),m.is(`vertical-label`,i),u,f],colSpan:i?s:1,rowspan:i?1:c},a()),t);case`content`:return Ge(Je(this.tag,{style:p,class:[m.e(`cell`),m.e(`content`),m.is(`bordered-content`,n),m.is(`vertical-content`,i),l,d],colSpan:i?s:s*2-1,rowspan:i?c*2-1:c},o()),t);default:{let n=a(),r={},i=bp(e.labelWidth??this.descriptions.labelWidth);return i&&(r.width=i,r.display=`inline-block`),Ge(Je(`td`,{style:p,class:[m.e(`cell`),l],colSpan:s,rowspan:c},[cd(n)?void 0:Je(`span`,{style:r,class:[m.e(`label`),f]},n),Je(`span`,{class:[m.e(`content`),d]},o())]),t)}}}}),vN={key:1},yN=z({name:`ElDescriptionsRow`,__name:`descriptions-row`,props:gN,setup(e){let t=l(hN,{});return(n,i)=>Y(t).direction===`vertical`?(N(),W(R,{key:0},[B(`tr`,null,[(N(!0),W(R,null,r(e.row,(e,t)=>(N(),H(Y(_N),{key:`tr1-${t}`,cell:e,tag:`th`,type:`label`},null,8,[`cell`]))),128))]),B(`tr`,null,[(N(!0),W(R,null,r(e.row,(e,t)=>(N(),H(Y(_N),{key:`tr2-${t}`,cell:e,tag:`td`,type:`content`},null,8,[`cell`]))),128))])],64)):(N(),W(`tr`,vN,[(N(!0),W(R,null,r(e.row,(e,n)=>(N(),W(R,{key:`tr3-${n}`},[Y(t).border?(N(),W(R,{key:0},[J(Y(_N),{cell:e,tag:`td`,type:`label`},null,8,[`cell`]),J(Y(_N),{cell:e,tag:`td`,type:`content`},null,8,[`cell`])],64)):(N(),H(Y(_N),{key:1,cell:e,tag:`td`,type:`both`},null,8,[`cell`]))],64))),128))]))}}),bN=Pv(z({name:`ElDescriptions`,__name:`description`,props:fN,setup(e){let t=e,n=$(`descriptions`),i=cb(),a=le();Qe(hN,t);let o=K(()=>[n.b(),n.m(i.value)]),s=(e,t,n,r=!1)=>(e.props||={},t>n&&(e.props.span=n),r&&(e.props.span=t),e),c=()=>{if(!a.default)return[];let e=vv(a.default()).filter(e=>e?.type?.name===pN),n=[],r=[],i=t.column,o=0,c=[];return e.forEach((a,l)=>{let u=a.props?.span||1,d=a.props?.rowspan||1,f=n.length;if(c[f]||=0,d>1)for(let e=1;e0&&(i-=c[f],c[f]=0),li?i:u),l===e.length-1){let e=t.column-o%t.column;r.push(s(a,e,i,!0)),n.push(r);return}u(N(),W(`div`,{class:F(o.value)},[e.title||e.extra||t.$slots.title||t.$slots.extra?(N(),W(`div`,{key:0,class:F(Y(n).e(`header`))},[B(`div`,{class:F(Y(n).e(`title`))},[I(t.$slots,`title`,{},()=>[Ke(S(e.title),1)])],2),B(`div`,{class:F(Y(n).e(`extra`))},[I(t.$slots,`extra`,{},()=>[Ke(S(e.extra),1)])],2)],2)):G(`v-if`,!0),B(`div`,{class:F(Y(n).e(`body`))},[B(`table`,{class:F([Y(n).e(`table`),Y(n).is(`bordered`,e.border)])},[B(`tbody`,null,[(N(!0),W(R,null,r(c(),(e,t)=>(N(),H(yN,{key:t,row:e},null,8,[`row`]))),128))])],2)],2)],2))}}),{DescriptionsItem:mN}),xN=Lv(mN),SN=Q({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:Ny},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`}}),CN={close:()=>!0},wN={alignCenter:void 0,draggable:void 0,overflow:void 0,showClose:!0,title:``,ariaLevel:`2`},TN=Q({...SN,appendToBody:Boolean,appendTo:{type:Z([String,Object]),default:`body`},beforeClose:{type:Z(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:Z([String,Object]),default:void 0}}),EN={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[br]:e=>jd(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0};({...wN});var DN=Q({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:Z([String,Array,Object])},zIndex:{type:Z([String,Number])}}),ON={click:e=>e instanceof MouseEvent},kN=`overlay`,AN=z({name:`ElOverlay`,props:DN,emits:ON,setup(e,{slots:t,emit:n}){let r=$(kN),{onClick:i,onMousedown:a,onMouseup:o}=Zh(e.customMaskEvent?void 0:e=>{n(`click`,e)});return()=>e.mask?J(`div`,{class:[r.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:i,onMousedown:a,onMouseup:o},[I(t,`default`)],14,[`onClick`,`onMouseup`,`onMousedown`]):Je(`div`,{class:e.overlayClass,style:{zIndex:e.zIndex,position:`fixed`,top:`0px`,right:`0px`,bottom:`0px`,left:`0px`}},[I(t,`default`)])}}),jN=Symbol(`dialogInjectionKey`),MN=`dialog-fade`,NN=`ElDialog`,PN=(e,t)=>{let r=Xe().emit,{nextZIndex:i}=xg(),a=``,o=rg(),s=rg(),c=q(!1),l=q(!1),u=q(!1),f=q(e.zIndex??i()),p=q(!1),m,h,g=FC(),_=K(()=>g.value?.namespace??`el`),v=K(()=>g.value?.dialog),y=K(()=>{let t={},n=`--${_.value}-dialog`;if(!e.fullscreen){e.top&&(t[`${n}-margin-top`]=e.top);let r=bp(e.width);r&&(t[`${n}-width`]=r)}return t}),b=K(()=>(e.draggable??v.value?.draggable??!1)&&!e.fullscreen),x=K(()=>e.alignCenter??v.value?.alignCenter??!1),S=K(()=>e.overflow??v.value?.overflow??!1),C=K(()=>e.modalPenetrable&&!e.modal&&!e.fullscreen),w=K(()=>x.value?{display:`flex`}:{}),T=K(()=>{let t=e.transition??v.value?.transition??`dialog-fade`,r={name:t,onAfterEnter:D,onBeforeLeave:k,onAfterLeave:O};if(E(t)){let e={...t},r=(e,t)=>r=>{A(e)?e.forEach(e=>{n(e)&&e(r)}):n(e)&&e(r),t()};return e.onAfterEnter=r(e.onAfterEnter,D),e.onBeforeLeave=r(e.onBeforeLeave,k),e.onAfterLeave=r(e.onAfterLeave,O),e.name||(e.name=MN,Jd(NN,`transition.name is missing when using object syntax, fallback to '${MN}'`)),e}return r});function D(){r(`opened`)}function O(){r(`closed`),r(br,!1),e.destroyOnClose&&(u.value=!1),p.value=!1}function k(){p.value=!0,r(`close`)}function ee(){h?.(),m?.(),e.openDelay&&e.openDelay>0?{stop:m}=wf(()=>te(),e.openDelay):te()}function j(){m?.(),h?.(),e.closeDelay&&e.closeDelay>0?{stop:h}=wf(()=>ne(),e.closeDelay):ne()}function N(){function t(e){e||(l.value=!0,c.value=!1)}e.beforeClose?e.beforeClose(t):j()}function P(){e.closeOnClickModal&&N()}function te(){nf&&(c.value=!0)}function ne(){c.value=!1}function re(){r(`openAutoFocus`)}function ie(){r(`closeAutoFocus`)}function ae(e){e.detail?.focusReason===`pointer`&&e.preventDefault()}e.lockScroll&&Up(c);function F(){e.closeOnPressEscape&&N()}function I(){!c.value||!C.value||e.zIndex!==void 0||(f.value=i())}return M(()=>e.zIndex,()=>{f.value=e.zIndex??i()}),M(()=>e.modelValue,n=>{n?(l.value=!1,p.value=!1,ee(),u.value=!0,f.value=e.zIndex??i(),U(()=>{r(`open`),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):c.value&&j()}),M(()=>e.fullscreen,e=>{t.value&&(e?(a=t.value.style.transform,t.value.style.transform=``):t.value.style.transform=a)}),d(()=>{e.modelValue&&(c.value=!0,u.value=!0,ee())}),{afterEnter:D,afterLeave:O,beforeLeave:k,handleClose:N,onModalClick:P,close:j,doClose:ne,onOpenAutoFocus:re,onCloseAutoFocus:ie,onCloseRequested:F,onFocusoutPrevented:ae,bringToFront:I,titleId:o,bodyId:s,closed:l,style:y,overlayDialogStyle:w,rendered:u,visible:c,zIndex:f,transitionConfig:T,_draggable:b,_alignCenter:x,_overflow:S,closing:p,penetrable:C}},FN=(...e)=>t=>{e.forEach(e=>{e.value=t})},IN=[`aria-level`],LN=[`aria-label`],RN=[`id`],zN=z({name:`ElDialogContent`,__name:`dialog-content`,props:SN,emits:CN,setup(e,{expose:t}){let{t:n}=Dp(),{Close:r}=Py,i=e,{dialogRef:a,headerRef:o,bodyId:s,ns:c,style:u}=l(jN),{focusTrapRef:d}=l(Mx),f=FN(d,a),p=K(()=>!!i.draggable),{resetPosition:h,updatePosition:g,isDragging:_}=xp(a,o,p,K(()=>!!i.overflow)),v=K(()=>[c.b(),c.is(`fullscreen`,i.fullscreen),c.is(`draggable`,p.value),c.is(`dragging`,_.value),c.is(`align-center`,!!i.alignCenter),{[c.m(`center`)]:i.center}]);return t({resetPosition:h,updatePosition:g}),(t,i)=>(N(),W(`div`,{ref:Y(f),class:F(v.value),style:m(Y(u)),tabindex:`-1`},[B(`header`,{ref_key:`headerRef`,ref:o,class:F([Y(c).e(`header`),e.headerClass,{"show-close":e.showClose}])},[I(t.$slots,`header`,{},()=>[B(`span`,{role:`heading`,"aria-level":e.ariaLevel,class:F(Y(c).e(`title`))},S(e.title),11,IN)]),e.showClose?(N(),W(`button`,{key:0,"aria-label":Y(n)(`el.dialog.close`),class:F(Y(c).e(`headerbtn`)),type:`button`,onClick:i[0]||=e=>t.$emit(`close`)},[J(Y(By),{class:F(Y(c).e(`close`))},{default:V(()=>[(N(),H(L(e.closeIcon||Y(r))))]),_:1},8,[`class`])],10,LN)):G(`v-if`,!0)],2),B(`div`,{id:Y(s),class:F([Y(c).e(`body`),e.bodyClass])},[I(t.$slots,`default`)],10,RN),t.$slots.footer?(N(),W(`footer`,{key:0,class:F([Y(c).e(`footer`),e.footerClass])},[I(t.$slots,`footer`)],2)):G(`v-if`,!0)],6))}}),BN=[`aria-label`,`aria-labelledby`,`aria-describedby`],VN=Pv(z({name:`ElDialog`,inheritAttrs:!1,__name:`dialog`,props:TN,emits:EN,setup(e,{expose:t}){let n=e,r=le();Zf({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`},K(()=>!!r.title));let i=$(`dialog`),a=q(),o=q(),s=q(),{visible:c,titleId:l,bodyId:u,style:d,overlayDialogStyle:f,rendered:p,transitionConfig:h,zIndex:g,_draggable:_,_alignCenter:v,_overflow:y,penetrable:b,handleClose:x,onModalClick:S,onOpenAutoFocus:C,onCloseAutoFocus:w,onCloseRequested:T,onFocusoutPrevented:E,bringToFront:D,closing:O}=PN(n,a);Qe(jN,{dialogRef:a,headerRef:o,bodyId:u,ns:i,rendered:p,style:d});let A=Zh(S);return t({visible:c,dialogContentRef:s,resetPosition:()=>{s.value?.resetPosition()},handleClose:x}),(t,n)=>(N(),H(Fe,{to:e.appendTo,disabled:e.appendTo===`body`?!e.appendToBody:!1},[J(pt,k(Y(h),{persisted:``}),{default:V(()=>[Ge(J(Y(AN),{"custom-mask-event":``,mask:e.modal,"overlay-class":[e.modalClass??``,`${Y(i).namespace.value}-modal-dialog`,Y(i).is(`penetrable`,Y(b))],"z-index":Y(g)},{default:V(()=>[B(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:Y(l),"aria-describedby":Y(u),class:F([`${Y(i).namespace.value}-overlay-dialog`,Y(i).is(`closing`,Y(O))]),style:m(Y(f)),onClick:n[0]||=(...e)=>Y(A).onClick&&Y(A).onClick(...e),onMousedown:n[1]||=(...e)=>Y(A).onMousedown&&Y(A).onMousedown(...e),onMouseup:n[2]||=(...e)=>Y(A).onMouseup&&Y(A).onMouseup(...e)},[J(Y(tS),{loop:``,trapped:Y(c),"focus-start-el":`container`,onFocusAfterTrapped:Y(C),onFocusAfterReleased:Y(w),onFocusoutPrevented:Y(E),onReleaseRequested:Y(T)},{default:V(()=>[Y(p)?(N(),H(zN,k({key:0,ref_key:`dialogContentRef`,ref:s},t.$attrs,{center:e.center,"align-center":Y(v),"close-icon":e.closeIcon,draggable:Y(_),overflow:Y(y),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:Y(x),onMousedown:Y(D)}),xe({header:V(()=>[t.$slots.title?I(t.$slots,`title`,{key:1}):I(t.$slots,`header`,{key:0,close:Y(x),titleId:Y(l),titleClass:Y(i).e(`title`)})]),default:V(()=>[I(t.$slots,`default`)]),_:2},[t.$slots.footer?{name:`footer`,fn:V(()=>[I(t.$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`])):G(`v-if`,!0)]),_:3},8,[`trapped`,`onFocusAfterTrapped`,`onFocusAfterReleased`,`onFocusoutPrevented`,`onReleaseRequested`])],46,BN)]),_:3},8,[`mask`,`overlay-class`,`z-index`]),[[jt,Y(c)]])]),_:3},16)],8,[`to`,`disabled`]))}})),HN=Pv(z({name:`ElDivider`,__name:`divider`,props:Q({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},contentPosition:{type:String,values:[`left`,`center`,`right`],default:`center`},borderStyle:{type:Z(String),default:`solid`}}),setup(e){let t=e,n=$(`divider`),r=K(()=>n.cssVar({"border-style":t.borderStyle}));return(t,i)=>(N(),W(`div`,{class:F([Y(n).b(),Y(n).m(e.direction)]),style:m(r.value),role:`separator`},[t.$slots.default&&e.direction!==`vertical`?(N(),W(`div`,{key:0,class:F([Y(n).e(`text`),Y(n).is(e.contentPosition)])},[I(t.$slots,`default`)],2)):G(`v-if`,!0)],6))}})),UN=Q({...TN,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`}}),WN={...EN,"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 GN(e,t,n){let{width:r,height:i}=Yf(),a=K(()=>[`ltr`,`rtl`].includes(e.direction)),o=K(()=>[`ltr`,`ttb`].includes(e.direction)?1:-1),s=K(()=>a.value?r.value:i.value),c=K(()=>cf(l.value+o.value*u.value,4,s.value)),l=q(0),u=q(0),d=q(!1),f=q(!1),p=[],m=[],h=()=>{let e=t.value?.closest(`[aria-modal="true"]`);return e?a.value?e.offsetWidth:e.offsetHeight:100};M(()=>[e.size,e.resizable],()=>{f.value=!1,l.value=0,u.value=0,v()});let g=t=>{e.resizable&&(f.value||=(l.value=h(),!0),p=[t.pageX,t.pageY],d.value=!0,n(`resize-start`,t,l.value),m.push(kf(window,`mouseup`,v),kf(window,`mousemove`,_)))},_=e=>{let{pageX:t,pageY:r}=e,i=t-p[0],o=r-p[1];u.value=a.value?i:o,n(`resize`,e,c.value)},v=e=>{d.value&&(p=[],l.value=c.value,u.value=0,d.value=!1,m.forEach(e=>e?.()),m=[],e&&n(`resize-end`,e,l.value))},y=kf(t,`mousedown`,g);return T(()=>{y(),v()}),{size:K(()=>f.value?`${c.value}px`:bp(e.size)),isResizing:d,isHorizontal:a}}var KN=[`aria-label`,`aria-labelledby`,`aria-describedby`],qN=[`id`,`aria-level`],JN=[`aria-label`],YN=[`id`],XN=Pv(z({name:`ElDrawer`,inheritAttrs:!1,__name:`drawer`,props:UN,emits:WN,setup(e,{expose:t,emit:n}){let r=e,i=n,a=le();Zf({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`},K(()=>!!a.title));let o=q(),s=q(),c=q(),l=$(`drawer`),{t:u}=Dp(),{afterEnter:d,afterLeave:f,beforeLeave:p,visible:h,rendered:g,titleId:_,bodyId:v,zIndex:y,onModalClick:b,onOpenAutoFocus:x,onCloseAutoFocus:C,onFocusoutPrevented:w,onCloseRequested:T,handleClose:E}=PN(r,o),{isHorizontal:D,size:O,isResizing:A}=GN(r,c,i),ee=K(()=>r.modalPenetrable&&!r.modal);return t({handleClose:E}),(t,n)=>(N(),H(Fe,{to:e.appendTo,disabled:e.appendTo===`body`?!e.appendToBody:!1},[J(pt,{name:Y(l).b(`fade`),onAfterEnter:Y(d),onAfterLeave:Y(f),onBeforeLeave:Y(p),persisted:``},{default:V(()=>[Ge(J(Y(AN),{mask:e.modal,"overlay-class":[Y(l).is(`drawer`),e.modalClass??``,`${Y(l).namespace.value}-modal-drawer`,Y(l).is(`penetrable`,ee.value)],"z-index":Y(y),onClick:Y(b)},{default:V(()=>[J(Y(tS),{loop:``,trapped:Y(h),"focus-trap-el":o.value,"focus-start-el":s.value,onFocusAfterTrapped:Y(x),onFocusAfterReleased:Y(C),onFocusoutPrevented:Y(w),onReleaseRequested:Y(T)},{default:V(()=>[B(`div`,k({ref_key:`drawerRef`,ref:o,"aria-modal":`true`,"aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:Y(_),"aria-describedby":Y(v)},t.$attrs,{class:[Y(l).b(),e.direction,Y(h)&&`open`,Y(l).is(`dragging`,Y(A))],style:{[Y(D)?`width`:`height`]:Y(O)},role:`dialog`,onClick:n[1]||=kn(()=>{},[`stop`])}),[B(`span`,{ref_key:`focusStartRef`,ref:s,class:F(Y(l).e(`sr-focus`)),tabindex:`-1`},null,2),e.withHeader?(N(),W(`header`,{key:0,class:F([Y(l).e(`header`),e.headerClass])},[t.$slots.title?I(t.$slots,`title`,{key:1},()=>[G(` DEPRECATED SLOT `)]):I(t.$slots,`header`,{key:0,close:Y(E),titleId:Y(_),titleClass:Y(l).e(`title`)},()=>[B(`span`,{id:Y(_),role:`heading`,"aria-level":e.headerAriaLevel,class:F(Y(l).e(`title`))},S(e.title),11,qN)]),e.showClose?(N(),W(`button`,{key:2,"aria-label":Y(u)(`el.drawer.close`),class:F(Y(l).e(`close-btn`)),type:`button`,onClick:n[0]||=(...e)=>Y(E)&&Y(E)(...e)},[J(Y(By),{class:F(Y(l).e(`close`))},{default:V(()=>[J(Y(ey))]),_:1},8,[`class`])],10,JN)):G(`v-if`,!0)],2)):G(`v-if`,!0),Y(g)?(N(),W(`div`,{key:1,id:Y(v),class:F([Y(l).e(`body`),e.bodyClass])},[I(t.$slots,`default`)],10,YN)):G(`v-if`,!0),t.$slots.footer?(N(),W(`div`,{key:2,class:F([Y(l).e(`footer`),e.footerClass])},[I(t.$slots,`footer`)],2)):G(`v-if`,!0),e.resizable?(N(),W(`div`,{key:3,ref_key:`draggerRef`,ref:c,style:m({zIndex:Y(y)}),class:F(Y(l).e(`dragger`))},null,6)):G(`v-if`,!0)],16,KN)]),_:3},8,[`trapped`,`focus-trap-el`,`focus-start-el`,`onFocusAfterTrapped`,`onFocusAfterReleased`,`onFocusoutPrevented`,`onReleaseRequested`])]),_:3},8,[`mask`,`overlay-class`,`z-index`,`onClick`]),[[jt,Y(h)]])]),_:3},8,[`name`,`onAfterEnter`,`onAfterLeave`,`onBeforeLeave`])],8,[`to`,`disabled`]))}})),ZN=Q({trigger:{...pS.trigger,type:Z([String,Array])},triggerKeys:{type:Z(Array),default:()=>[X.enter,X.numpadEnter,X.space,X.down]},virtualTriggering:pS.virtualTriggering,virtualRef:pS.virtualRef,effect:{...fS.effect,default:`light`},type:{type:Z(String)},placement:{type:Z(String),default:`bottom`},popperOptions:{type:Z(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:Z([Number,String]),default:0},maxHeight:{type:Z([Number,String]),default:``},popperClass:fS.popperClass,popperStyle:fS.popperStyle,disabled:Boolean,role:{type:String,values:Hy,default:`menu`},buttonProps:{type:Z(Object)},teleported:fS.teleported,appendTo:fS.appendTo,persistent:{type:Boolean,default:!0}}),QN=Q({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Ny}}),$N=Q({onKeydown:{type:Z(Function)}}),eP=[X.down,X.pageDown,X.home],tP=[X.up,X.pageUp,X.end];[...eP,...tP];var nP=Symbol(`elDropdown`),rP=`elDropdown`,iP=z({inheritAttrs:!1});function aP(e,t,n,r,i,a){return I(e.$slots,`default`)}var oP=$x(iP,[[`render`,aP]]),sP=z({name:`ElCollectionItem`,inheritAttrs:!1});function cP(e,t,n,r,i,a){return I(e.$slots,`default`)}var lP=$x(sP,[[`render`,cP]]),uP=`data-el-collection-item`,dP=e=>{let t=`El${e}Collection`,n=`${t}Item`,r=Symbol(t),i=Symbol(n);return{COLLECTION_INJECTION_KEY:r,COLLECTION_ITEM_INJECTION_KEY:i,ElCollection:Object.assign({},oP,{name:t,setup(){let e=q(),t=new Map;Qe(r,{itemMap:t,getItems:(()=>{let n=Y(e);if(!n)return[];let r=Array.from(n.querySelectorAll(`[${uP}]`));return[...t.values()].sort((e,t)=>r.indexOf(e.ref)-r.indexOf(t.ref))}),collectionRef:e})}}),ElCollectionItem:Object.assign({},lP,{name:n,setup(e,{attrs:t}){let n=q(),a=l(r,void 0);Qe(i,{collectionItemRef:n}),d(()=>{let e=Y(n);e&&a.itemMap.set(e,{ref:e,...t})}),T(()=>{let e=Y(n);a.itemMap.delete(e)})}})}},fP=Q({style:{type:Z([String,Array,Object,Boolean]),default:void 0},currentTabId:{type:Z(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:[`ltr`,`rtl`],default:`ltr`},orientation:{type:Z(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:pP,ElCollectionItem:mP,COLLECTION_INJECTION_KEY:hP,COLLECTION_ITEM_INJECTION_KEY:gP}=dP(`RovingFocusGroup`),_P=Symbol(`elRovingFocusGroup`),vP=Symbol(`elRovingFocusGroupItem`),yP={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`},bP=(e,t)=>{if(t!==`rtl`)return e;switch(e){case X.right:return X.left;case X.left:return X.right;default:return e}},xP=(e,t,n)=>{let r=bP(Kp(e),n);if(!(t===`vertical`&&[X.left,X.right].includes(r))&&!(t===`horizontal`&&[X.up,X.down].includes(r)))return yP[r]},SP=(e,t)=>e.map((n,r)=>e[(r+t)%e.length]),CP=e=>{let{activeElement:t}=document;for(let n of e)if(n===t||(n.focus(),t!==document.activeElement))return},wP=`currentTabIdChange`,TP=`rovingFocusGroup.entryFocus`,EP={bubbles:!1,cancelable:!0},DP=z({name:`ElRovingFocusGroupImpl`,inheritAttrs:!1,props:fP,emits:[wP,`entryFocus`],setup(e,{emit:t}){let n=q((e.currentTabId||e.defaultCurrentTabId)??null),r=q(!1),i=q(!1),a=q(),{getItems:o}=l(hP,void 0),s=K(()=>[{outline:`none`},e.style]),c=e=>{t(wP,e)},u=()=>{r.value=!0},d=Wp(t=>{e.onMousedown?.(t)},()=>{i.value=!0}),f=Wp(t=>{e.onFocus?.(t)},e=>{let t=!Y(i),{target:a,currentTarget:s}=e;if(a===s&&t&&!Y(r)){let e=new Event(TP,EP);if(s?.dispatchEvent(e),!e.defaultPrevented){let e=o().filter(e=>e.focusable);CP([e.find(e=>e.active),e.find(e=>e.id===Y(n)),...e].filter(Boolean).map(e=>e.ref))}}i.value=!1}),p=Wp(t=>{e.onBlur?.(t)},()=>{r.value=!1});Qe(_P,{currentTabbedId:je(n),loop:we(e,`loop`),tabIndex:K(()=>Y(r)?-1:0),rovingFocusGroupRef:a,rovingFocusGroupRootStyle:s,orientation:we(e,`orientation`),dir:we(e,`dir`),onItemFocus:c,onItemShiftTab:u,onBlur:p,onFocus:f,onMousedown:d,onKeydown:t=>{let n=xP(t);if(n){t.preventDefault();let r=o().filter(e=>e.focusable).map(e=>e.ref);switch(n){case`last`:r.reverse();break;case`prev`:case`next`:{n===`prev`&&r.reverse();let i=r.indexOf(t.currentTarget);r=e.loop?SP(r,i+1):r.slice(i+1);break}default:break}U(()=>{CP(r)})}}}),M(()=>e.currentTabId,e=>{n.value=e??null}),kf(a,TP,(...e)=>{t(`entryFocus`,...e)})}});function OP(e,t,n,r,i,a){return I(e.$slots,`default`)}var kP=z({name:`ElRovingFocusGroup`,components:{ElFocusGroupCollection:pP,ElRovingFocusGroupImpl:$x(DP,[[`render`,OP]])}});function AP(e,t,n,r,i,o){let s=h(`el-roving-focus-group-impl`),c=h(`el-focus-group-collection`);return N(),H(c,null,{default:V(()=>[J(s,se(a(e.$attrs)),{default:V(()=>[I(e.$slots,`default`)]),_:3},16)]),_:3})}var jP=$x(kP,[[`render`,AP]]),MP=z({components:{ElRovingFocusCollectionItem:mP},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:[`mousedown`,`focus`,`keydown`],setup(e,{emit:t}){let{currentTabbedId:n,onItemFocus:r,onItemShiftTab:i,onKeydown:a}=l(_P,void 0),o=rg(),s=q(),c=Wp(e=>{t(`mousedown`,e)},t=>{e.focusable?r(Y(o)):t.preventDefault()}),u=Wp(e=>{t(`focus`,e)},()=>{r(Y(o))}),d=Wp(e=>{t(`keydown`,e)},e=>{let{shiftKey:t,target:n,currentTarget:r}=e;if(Kp(e)===X.tab&&t){i();return}n===r&&a(e)}),f=K(()=>n.value===Y(o));return Qe(vP,{rovingFocusGroupItemRef:s,tabIndex:K(()=>Y(f)?0:-1),handleMousedown:c,handleFocus:u,handleKeydown:d}),{id:o,handleKeydown:d,handleFocus:u,handleMousedown:c}}});function NP(e,t,n,r,i,a){let o=h(`el-roving-focus-collection-item`);return N(),H(o,{id:e.id,focusable:e.focusable,active:e.active},{default:V(()=>[I(e.$slots,`default`)]),_:3},8,[`id`,`focusable`,`active`])}var PP=$x(MP,[[`render`,NP]]),FP=jP,{ButtonGroup:IP}=xw,LP=z({name:`ElDropdown`,components:{ElButton:xw,ElButtonGroup:IP,ElScrollbar:tC,ElTooltip:ES,ElRovingFocusGroup:FP,ElOnlyChild:Yy,ElIcon:By,ArrowDown:Bv},props:ZN,emits:[`visible-change`,`click`,`command`],setup(e,{emit:t}){let n=Xe(),r=$(`dropdown`),{t:i}=Dp(),a=q(),o=q(),s=q(),c=q(),l=q(null),u=q(null),d=q(!1),f=K(()=>({maxHeight:bp(e.maxHeight)})),p=K(()=>[r.m(b.value)]),m=K(()=>Cs(e.trigger)),h=rg().value,g=K(()=>e.id||h);function _(){s.value?.onClose(void 0,0)}function v(){s.value?.onClose()}function y(){s.value?.onOpen()}let b=cb();function x(...e){t(`command`,...e)}function S(){}function C(){let e=Y(c);m.value.includes(`hover`)&&e?.focus({preventScroll:!0}),u.value=null}function w(e){u.value=e}function T(){t(`visible-change`,!0)}function E(e){d.value=e?.type===`keydown`,c.value?.focus()}function D(){t(`visible-change`,!1)}return Qe(nP,{contentRef:c,role:K(()=>e.role),triggerId:g,isUsingKeyboard:d,onItemEnter:S,onItemLeave:C,handleClose:v}),Qe(rP,{instance:n,dropdownSize:b,handleClick:_,commandHandler:x,trigger:we(e,`trigger`),hideOnClick:we(e,`hideOnClick`)}),{t:i,ns:r,scrollbar:l,wrapStyle:f,dropdownTriggerKls:p,dropdownSize:b,triggerId:g,currentTabId:u,handleCurrentTabIdChange:w,handlerMainButtonClick:e=>{t(`click`,e)},handleClose:v,handleOpen:y,handleBeforeShowTooltip:T,handleShowTooltip:E,handleBeforeHideTooltip:D,popperRef:s,contentRef:c,triggeringElementRef:a,referenceElementRef:o}}});function RP(e,t,n,r,i,a){let o=h(`el-roving-focus-group`),s=h(`el-scrollbar`),c=h(`el-only-child`),l=h(`el-tooltip`),u=h(`el-button`),d=h(`arrow-down`),f=h(`el-icon`),p=h(`el-button-group`);return N(),W(`div`,{class:F([e.ns.b(),e.ns.is(`disabled`,e.disabled)])},[J(l,{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},xe({content:V(()=>[J(s,{ref:`scrollbar`,"wrap-style":e.wrapStyle,tag:`div`,"view-class":e.ns.e(`list`)},{default:V(()=>[J(o,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:`horizontal`,onCurrentTabIdChange:e.handleCurrentTabIdChange},{default:V(()=>[I(e.$slots,`dropdown`)]),_:3},8,[`loop`,`current-tab-id`,`onCurrentTabIdChange`])]),_:3},8,[`wrap-style`,`view-class`])]),_:2},[e.splitButton?void 0:{name:`default`,fn:V(()=>[J(c,{id:e.triggerId,ref:`triggeringElementRef`,role:`button`,tabindex:e.tabindex},{default:V(()=>[I(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?(N(),H(p,{key:0},{default:V(()=>[J(u,k({ref:`referenceElementRef`},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:V(()=>[I(e.$slots,`default`)]),_:3},16,[`size`,`type`,`disabled`,`tabindex`,`onClick`]),J(u,k({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:V(()=>[J(f,{class:F(e.ns.e(`icon`))},{default:V(()=>[J(d)]),_:1},8,[`class`])]),_:1},16,[`id`,`size`,`type`,`class`,`disabled`,`tabindex`,`aria-label`])]),_:3})):G(`v-if`,!0)],2)}var zP=$x(LP,[[`render`,RP]]),BP=z({name:`DropdownItemImpl`,components:{ElIcon:By},props:QN,emits:[`pointermove`,`pointerleave`,`click`,`clickimpl`],setup(e,{emit:t}){let n=$(`dropdown`),{role:r}=l(nP,void 0),{collectionItemRef:i}=l(gP,void 0),{rovingFocusGroupItemRef:a,tabIndex:o,handleFocus:s,handleKeydown:c,handleMousedown:u}=l(vP,void 0),d=FN(i,a),f=K(()=>r.value===`menu`?`menuitem`:r.value===`navigation`?`link`:`button`),p=Wp(e=>{let n=Kp(e);if([X.enter,X.numpadEnter,X.space].includes(n))return e.preventDefault(),e.stopImmediatePropagation(),t(`clickimpl`,e),!0},c);return{ns:n,itemRef:d,dataset:{[uP]:``},role:f,tabIndex:o,handleFocus:s,handleKeydown:p,handleMousedown:u}}}),VP=[`aria-disabled`,`tabindex`,`role`];function HP(e,t,n,r,i,a){let o=h(`el-icon`);return N(),W(R,null,[e.divided?(N(),W(`li`,{key:0,role:`separator`,class:F(e.ns.bem(`menu`,`item`,`divided`))},null,2)):G(`v-if`,!0),B(`li`,k({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=>e.$emit(`clickimpl`,t),onFocus:t[1]||=(...t)=>e.handleFocus&&e.handleFocus(...t),onKeydown:t[2]||=kn((...t)=>e.handleKeydown&&e.handleKeydown(...t),[`self`]),onMousedown:t[3]||=(...t)=>e.handleMousedown&&e.handleMousedown(...t),onPointermove:t[4]||=t=>e.$emit(`pointermove`,t),onPointerleave:t[5]||=t=>e.$emit(`pointerleave`,t)}),[e.icon||e.$slots.icon?(N(),H(o,{key:0},{default:V(()=>[I(e.$slots,`icon`,{},()=>[(N(),H(L(e.icon)))])]),_:3})):G(`v-if`,!0),I(e.$slots,`default`)],16,VP)],64)}var UP=$x(BP,[[`render`,HP]]),WP=()=>{let e=l(rP,{});return{elDropdown:e,_elDropdownSize:K(()=>e?.dropdownSize)}},GP=z({name:`ElDropdownItem`,components:{ElRovingFocusItem:PP,ElDropdownItemImpl:UP},inheritAttrs:!1,props:QN,emits:[`pointermove`,`pointerleave`,`click`],setup(e,{emit:t,attrs:n}){let{elDropdown:r}=WP(),i=Xe(),{onItemEnter:a,onItemLeave:o}=l(nP,void 0),s=Wp(e=>(t(`pointermove`,e),e.defaultPrevented),Gp(t=>{if(e.disabled){o(t);return}let n=t.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(a(t),t.defaultPrevented||n?.focus({preventScroll:!0}))})),c=Wp(e=>(t(`pointerleave`,e),e.defaultPrevented),Gp(o));return{handleClick:Wp(n=>{if(!e.disabled)return t(`click`,n),n.type!==`keydown`&&n.defaultPrevented},t=>{if(e.disabled){t.stopImmediatePropagation();return}r?.hideOnClick?.value&&r.handleClick?.(),r.commandHandler?.(e.command,i,t)}),handlePointerMove:s,handlePointerLeave:c,propsAndAttrs:K(()=>({...e,...n}))}}});function KP(e,t,n,r,i,a){let o=h(`el-dropdown-item-impl`),s=h(`el-roving-focus-item`);return N(),H(s,{focusable:!e.disabled},{default:V(()=>[J(o,k(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),xe({default:V(()=>[I(e.$slots,`default`)]),_:2},[e.$slots.icon?{name:`icon`,fn:V(()=>[I(e.$slots,`icon`)]),key:`0`}:void 0]),1040,[`onPointerleave`,`onPointermove`,`onClickimpl`])]),_:3},8,[`focusable`])}var qP=$x(GP,[[`render`,KP]]),JP=z({name:`ElDropdownMenu`,props:$N,setup(e){let t=$(`dropdown`),{_elDropdownSize:n}=WP(),r=n.value,{contentRef:i,role:a,triggerId:o,isUsingKeyboard:s,handleClose:c}=l(nP,void 0),{rovingFocusGroupRef:u,rovingFocusGroupRootStyle:d,onBlur:f,onFocus:p,onKeydown:m,onMousedown:h}=l(_P,void 0),{collectionRef:g}=l(hP,void 0),_=K(()=>[t.b(`menu`),t.bm(`menu`,r?.value)]),v=FN(i,u,g),y=Wp(t=>{e.onKeydown?.(t)},e=>{let{currentTarget:t,target:n}=e,r=Kp(e);if(t.contains(n),X.tab===r)return c();m(e)});function b(e){s.value&&p(e)}return{size:r,rovingFocusGroupRootStyle:d,dropdownKls:_,role:a,triggerId:o,dropdownListWrapperRef:v,handleKeydown:y,onBlur:f,handleFocus:b,onMousedown:h}}}),YP=[`role`,`aria-labelledby`];function XP(e,t,n,r,i,a){return N(),W(`ul`,{ref:e.dropdownListWrapperRef,class:F(e.dropdownKls),style:m(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onFocusin:t[0]||=(...t)=>e.handleFocus&&e.handleFocus(...t),onFocusout:t[1]||=(...t)=>e.onBlur&&e.onBlur(...t),onKeydown:t[2]||=kn((...t)=>e.handleKeydown&&e.handleKeydown(...t),[`self`]),onMousedown:t[3]||=kn((...t)=>e.onMousedown&&e.onMousedown(...t),[`self`])},[I(e.$slots,`default`)],46,YP)}var ZP=$x(JP,[[`render`,XP]]),QP=Pv(zP,{DropdownItem:qP,DropdownMenu:ZP}),$P=Lv(qP),eF=Lv(ZP),tF=Q({image:{type:String,default:``},imageSize:Number,description:{type:String,default:``}}),nF={viewBox:`0 0 79 86`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`},rF=[`id`],iF=[`stop-color`],aF=[`stop-color`],oF=[`id`],sF=[`stop-color`],cF=[`stop-color`],lF=[`id`],uF={stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},dF={transform:`translate(-1268.000000, -535.000000)`},fF={transform:`translate(1268.000000, 535.000000)`},pF=[`fill`],mF=[`fill`],hF={transform:`translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)`},gF=[`fill`],_F=[`fill`],vF=[`fill`],yF=[`fill`],bF=[`fill`],xF={transform:`translate(53.000000, 45.000000)`},SF=[`fill`,`xlink:href`],CF=[`fill`,`mask`],wF=[`fill`],TF=z({name:`ImgEmpty`,__name:`img-empty`,setup(e){let t=$(`empty`),n=rg();return(e,r)=>(N(),W(`svg`,nF,[B(`defs`,null,[B(`linearGradient`,{id:`linearGradient-1-${Y(n)}`,x1:`38.8503086%`,y1:`0%`,x2:`61.1496914%`,y2:`100%`},[B(`stop`,{"stop-color":`var(${Y(t).cssVarBlockName(`fill-color-1`)})`,offset:`0%`},null,8,iF),B(`stop`,{"stop-color":`var(${Y(t).cssVarBlockName(`fill-color-4`)})`,offset:`100%`},null,8,aF)],8,rF),B(`linearGradient`,{id:`linearGradient-2-${Y(n)}`,x1:`0%`,y1:`9.5%`,x2:`100%`,y2:`90.5%`},[B(`stop`,{"stop-color":`var(${Y(t).cssVarBlockName(`fill-color-1`)})`,offset:`0%`},null,8,sF),B(`stop`,{"stop-color":`var(${Y(t).cssVarBlockName(`fill-color-6`)})`,offset:`100%`},null,8,cF)],8,oF),B(`rect`,{id:`path-3-${Y(n)}`,x:`0`,y:`0`,width:`17`,height:`36`},null,8,lF)]),B(`g`,uF,[B(`g`,dF,[B(`g`,fF,[B(`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(${Y(t).cssVarBlockName(`fill-color-3`)})`},null,8,pF),B(`polygon`,{fill:`var(${Y(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,mF),B(`g`,hF,[B(`polygon`,{fill:`var(${Y(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,gF),B(`polygon`,{fill:`var(${Y(t).cssVarBlockName(`fill-color-5`)})`,points:`-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43`},null,8,_F),B(`rect`,{fill:`url(#linearGradient-1-${Y(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,vF),B(`polygon`,{fill:`var(${Y(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,yF)]),B(`rect`,{fill:`url(#linearGradient-2-${Y(n)})`,x:`13`,y:`45`,width:`40`,height:`36`},null,8,bF),B(`g`,xF,[B(`use`,{fill:`var(${Y(t).cssVarBlockName(`fill-color-8`)})`,transform:`translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) `,"xlink:href":`#path-3-${Y(n)}`},null,8,SF),B(`polygon`,{fill:`var(${Y(t).cssVarBlockName(`fill-color-9`)})`,mask:`url(#mask-4-${Y(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,CF)]),B(`polygon`,{fill:`var(${Y(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,wF)])])])]))}}),EF=[`src`],DF={key:1},OF=Pv(z({name:`ElEmpty`,__name:`empty`,props:tF,setup(e){let t=e,{t:n}=Dp(),r=$(`empty`),i=K(()=>t.description||n(`el.table.emptyText`)),a=K(()=>({width:bp(t.imageSize)}));return(t,n)=>(N(),W(`div`,{class:F(Y(r).b())},[B(`div`,{class:F(Y(r).e(`image`)),style:m(a.value)},[e.image?(N(),W(`img`,{key:0,src:e.image,ondragstart:`return false`},null,8,EF)):I(t.$slots,`image`,{key:1},()=>[J(TF)])],6),B(`div`,{class:F(Y(r).e(`description`))},[t.$slots.description?I(t.$slots,`description`,{key:0}):(N(),W(`p`,DF,S(i.value),1))],2),t.$slots.default?(N(),W(`div`,{key:0,class:F(Y(r).e(`bottom`))},[I(t.$slots,`default`)],2)):G(`v-if`,!0)],2))}})),kF=Q({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:Z([String,Object])},previewSrcList:{type:Z(Array),default:()=>DS([])},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:Z(String)}}),AF={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>Md(e),close:()=>!0,show:()=>!0},jF=Q({urlList:{type:Z(Array),default:()=>DS([])},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:Z(String)}}),MF={close:()=>!0,error:e=>e instanceof Event,switch:e=>Md(e),rotate:e=>Md(e)},NF=[`src`,`crossorigin`],PF=Pv(z({name:`ElImageViewer`,__name:`image-viewer`,props:jF,emits:MF,setup(e,{expose:t,emit:n}){let r={CONTAIN:{name:`contain`,icon:Ie(oy)},ORIGINAL:{name:`original`,icon:Ie(xy)}},i=e,a=n,o,{t:s}=Dp(),c=$(`image-viewer`),{nextZIndex:l}=xg(),u=q(),f=q(),p=Pe(),h=K(()=>{let{scale:e,minScale:t,maxScale:n}=i;return cf(e,t,n)}),g=q(!0),_=q(!1),v=q(!1),y=q(i.initialIndex),b=Le(r.CONTAIN),x=q({scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),C=q(i.zIndex??l());Up(v,{ns:c});let w=K(()=>{let{urlList:e}=i;return e.length<=1}),T=K(()=>y.value===0),E=K(()=>y.value===i.urlList.length-1),D=K(()=>i.urlList[y.value]),O=K(()=>[c.e(`btn`),c.e(`prev`),c.is(`disabled`,!i.infinite&&T.value)]),k=K(()=>[c.e(`btn`),c.e(`next`),c.is(`disabled`,!i.infinite&&E.value)]),A=K(()=>{let{scale:e,deg:t,offsetX:n,offsetY:i,enableTransition:a}=x.value,o=n/e,s=i/e,c=t*Math.PI/180,l=Math.cos(c),u=Math.sin(c);o=o*l+s*u,s=s*l-n/e*u;let d={transform:`scale(${e}) rotate(${t}deg) translate(${o}px, ${s}px)`,transition:a?`transform .3s`:``};return b.value.name===r.CONTAIN.name&&(d.maxWidth=d.maxHeight=`100%`),d}),ee=K(()=>`${y.value+1} / ${i.urlList.length}`);function j(){te(),o?.(),v.value=!1,a(`close`)}function P(){let e=Td(e=>{switch(Kp(e)){case X.esc:i.closeOnPressEscape&&j();break;case X.space:se();break;case X.left:le();break;case X.up:de(`zoomIn`);break;case X.right:ue();break;case X.down:de(`zoomOut`);break}}),t=Td(e=>{de((e.deltaY||e.deltaX)<0?`zoomIn`:`zoomOut`,{zoomRate:i.zoomRate,enableTransition:!1})});p.run(()=>{kf(document,`keydown`,e),kf(u,`wheel`,t)})}function te(){p.stop()}function ne(){g.value=!1}function re(e){_.value=!0,g.value=!1,a(`error`,e),e.target.alt=s(`el.image.error`)}function ie(e){if(g.value||e.button!==0||!u.value)return;x.value.enableTransition=!1;let{offsetX:t,offsetY:n}=x.value,r=e.pageX,i=e.pageY,a=Td(e=>{x.value={...x.value,offsetX:t+e.pageX-r,offsetY:n+e.pageY-i}}),o=kf(document,`mousemove`,a),s=kf(document,`mouseup`,()=>{o(),s()});e.preventDefault()}function ae(e){if(g.value||!u.value||e.touches.length!==1)return;x.value.enableTransition=!1;let{offsetX:t,offsetY:n}=x.value,{pageX:r,pageY:i}=e.touches[0],a=Td(e=>{let a=e.touches[0];x.value={...x.value,offsetX:t+a.pageX-r,offsetY:n+a.pageY-i}}),o=kf(document,`touchmove`,a),s=kf(document,`touchend`,()=>{o(),s()});e.preventDefault()}function oe(){x.value={scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function se(){if(g.value||_.value)return;let e=Rd(r),t=Object.values(r),n=b.value.name;b.value=r[e[(t.findIndex(e=>e.name===n)+1)%e.length]],oe()}function ce(e){_.value=!1;let t=i.urlList.length;y.value=(e+t)%t}function le(){T.value&&!i.infinite||ce(y.value-1)}function ue(){E.value&&!i.infinite||ce(y.value+1)}function de(e,t={}){if(g.value||_.value)return;let{minScale:n,maxScale:r}=i,{zoomRate:o,rotateDeg:s,enableTransition:c}={zoomRate:i.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case`zoomOut`:x.value.scale>n&&(x.value.scale=Number.parseFloat((x.value.scale/o).toFixed(3)));break;case`zoomIn`:x.value.scale0))return e.preventDefault(),!1}return M(()=>h.value,e=>{x.value.scale=e}),M(D,()=>{U(()=>{f.value?.complete||(g.value=!0)})}),M(y,e=>{oe(),a(`switch`,e)}),d(()=>{v.value=!0,P(),o=kf(`wheel`,me,{passive:!1})}),t({setActiveItem:ce}),(t,n)=>(N(),H(Fe,{to:`body`,disabled:!e.teleported},[J(pt,{name:`viewer-fade`,appear:``},{default:V(()=>[B(`div`,{ref_key:`wrapper`,ref:u,tabindex:-1,class:F(Y(c).e(`wrapper`)),style:m({zIndex:C.value})},[J(Y(tS),{loop:``,trapped:``,"focus-trap-el":u.value,"focus-start-el":`container`,onFocusoutPrevented:fe,onReleaseRequested:pe},{default:V(()=>[B(`div`,{class:F(Y(c).e(`mask`)),onClick:n[0]||=kn(t=>e.hideOnClickModal&&j(),[`self`])},null,2),G(` CLOSE `),B(`span`,{class:F([Y(c).e(`btn`),Y(c).e(`close`)]),onClick:j},[J(Y(By),null,{default:V(()=>[J(Y(ey))]),_:1})],2),G(` ARROW `),w.value?G(`v-if`,!0):(N(),W(R,{key:0},[B(`span`,{class:F(O.value),onClick:le},[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1})],2),B(`span`,{class:F(k.value),onClick:ue},[J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})],2)],64)),t.$slots.progress||e.showProgress?(N(),W(`div`,{key:1,class:F([Y(c).e(`btn`),Y(c).e(`progress`)])},[I(t.$slots,`progress`,{activeIndex:y.value,total:e.urlList.length},()=>[Ke(S(ee.value),1)])],2)):G(`v-if`,!0),G(` ACTIONS `),B(`div`,{class:F([Y(c).e(`btn`),Y(c).e(`actions`)])},[B(`div`,{class:F(Y(c).e(`actions__inner`))},[I(t.$slots,`toolbar`,{actions:de,prev:le,next:ue,reset:se,activeIndex:y.value,setActiveItem:ce},()=>[J(Y(By),{onClick:n[1]||=e=>de(`zoomOut`)},{default:V(()=>[J(Y(My))]),_:1}),J(Y(By),{onClick:n[2]||=e=>de(`zoomIn`)},{default:V(()=>[J(Y(jy))]),_:1}),B(`i`,{class:F(Y(c).e(`actions__divider`))},null,2),J(Y(By),{onClick:se},{default:V(()=>[(N(),H(L(b.value.icon)))]),_:1}),B(`i`,{class:F(Y(c).e(`actions__divider`))},null,2),J(Y(By),{onClick:n[3]||=e=>de(`anticlockwise`)},{default:V(()=>[J(Y(yy))]),_:1}),J(Y(By),{onClick:n[4]||=e=>de(`clockwise`)},{default:V(()=>[J(Y(by))]),_:1})])],2)],2),G(` CANVAS `),B(`div`,{class:F(Y(c).e(`canvas`))},[_.value&&t.$slots[`viewer-error`]?I(t.$slots,`viewer-error`,{key:0,activeIndex:y.value,src:D.value}):(N(),W(`img`,{ref_key:`imgRef`,ref:f,key:D.value,src:D.value,style:m(A.value),class:F(Y(c).e(`img`)),crossorigin:e.crossorigin,onLoad:ne,onError:re,onMousedown:ie,onTouchstart:ae},null,46,NF))],2),I(t.$slots,`default`)]),_:3},8,[`focus-trap-el`])],6)]),_:3})],8,[`disabled`]))}})),FF=[`src`,`loading`,`crossorigin`],IF={key:0},LF=Pv(z({name:`ElImage`,inheritAttrs:!1,__name:`image`,props:kF,emits:AF,setup(e,{expose:t,emit:n}){let r=e,i=n,{t:o}=Dp(),s=$(`image`),c=y(),l=K(()=>ad(Object.entries(c).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||[`id`,`style`].includes(e)))),u=Zd({excludeListeners:!0,excludeKeys:K(()=>Object.keys(l.value))}),f=q(),p=q(!1),m=q(!0),h=q(!1),g=q(),_=q(),v=nf&&`loading`in HTMLImageElement.prototype,b,x=K(()=>[s.e(`inner`),w.value&&s.e(`preview`),m.value&&s.is(`loading`)]),C=K(()=>{let{fit:e}=r;return nf&&e?{objectFit:e}:{}}),w=K(()=>{let{previewSrcList:e}=r;return A(e)&&e.length>0}),T=K(()=>{let{previewSrcList:e,initialIndex:t}=r,n=t;return t>e.length-1&&(n=0),n}),E=K(()=>r.loading===`eager`?!1:!v&&r.loading===`lazy`||r.lazy),D=()=>{nf&&(m.value=!0,p.value=!1,f.value=r.src)};function O(e){m.value=!1,p.value=!1,i(`load`,e)}function ee(e){m.value=!1,p.value=!0,i(`error`,e)}function j(e){e&&(D(),re())}let te=Sf(j,200,!0);async function ne(){if(!nf)return;await U();let{scrollContainer:e}=r;if(Pd(e))_.value=e;else if(P(e)&&e!==``)_.value=document.querySelector(e)??void 0;else if(g.value){let e=Ip(g.value);_.value=Ld(e)?void 0:e}let{stop:t}=Kf(g,([e])=>{te(e.isIntersecting)},{root:_});b=t}function re(){!nf||!te||(b?.(),_.value=void 0,b=void 0)}function ie(){w.value&&(h.value=!0,i(`show`))}function ae(){h.value=!1,i(`close`)}function oe(e){i(`switch`,e)}return M(()=>r.src,()=>{E.value?(m.value=!0,p.value=!1,re(),ne()):D()}),d(()=>{E.value?ne():D()}),t({showPreview:ie}),(t,n)=>(N(),W(`div`,k({ref_key:`container`,ref:g},l.value,{class:[Y(s).b(),t.$attrs.class]}),[p.value?I(t.$slots,`error`,{key:0},()=>[B(`div`,{class:F(Y(s).e(`error`))},S(Y(o)(`el.image.error`)),3)]):(N(),W(R,{key:1},[f.value===void 0?G(`v-if`,!0):(N(),W(`img`,k({key:0},Y(u),{src:f.value,loading:e.loading,style:C.value,class:x.value,crossorigin:e.crossorigin,onClick:ie,onLoad:O,onError:ee}),null,16,FF)),m.value?(N(),W(`div`,{key:1,class:F(Y(s).e(`wrapper`))},[I(t.$slots,`placeholder`,{},()=>[B(`div`,{class:F(Y(s).e(`placeholder`))},null,2)])],2)):G(`v-if`,!0)],64)),w.value?(N(),W(R,{key:2},[h.value?(N(),H(Y(PF),{key:0,"z-index":e.zIndex,"initial-index":T.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:ae,onSwitch:oe},xe({toolbar:V(e=>[I(t.$slots,`toolbar`,se(a(e)))]),default:V(()=>[t.$slots.viewer?(N(),W(`div`,IF,[I(t.$slots,`viewer`)])):G(`v-if`,!0)]),_:2},[t.$slots.progress?{name:`progress`,fn:V(e=>[I(t.$slots,`progress`,se(a(e)))]),key:`0`}:void 0,t.$slots[`viewer-error`]?{name:`viewer-error`,fn:V(e=>[I(t.$slots,`viewer-error`,se(a(e)))]),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`])):G(`v-if`,!0)],64)):G(`v-if`,!0)],16))}})),RF=Q({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:2**53-1},min:{type:Number,default:-(2**53-1)},modelValue:{type:[Number,null]},readonly:Boolean,disabled:{type:Boolean,default:void 0},size:xv,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:``,values:[``,`right`]},valueOnClear:{type:Z([String,Number,null]),validator:e=>e===null||Md(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},...Mv([`ariaLabel`]),inputmode:{type:Z(String),default:void 0},align:{type:Z(String),default:`center`},disabledScientific:Boolean,formatter:{type:Function},parser:{type:Function},tabindex:{type:[String,Number],default:0}}),zF={[xr]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Sr]:e=>Md(e)||cd(e),[br]:e=>Md(e)||cd(e)},BF=[`aria-label`],VF=[`aria-label`],HF=Pv(z({name:`ElInputNumber`,__name:`input-number`,props:RF,emits:zF,setup(e,{expose:t,emit:n}){let r=e,i=n,{t:a}=Dp(),o=$(`input-number`),s=q(),c=ve({currentValue:r.modelValue,userInput:null}),{formItem:l}=ub(),u=K(()=>Md(r.modelValue)&&r.modelValue<=r.min),f=K(()=>Md(r.modelValue)&&r.modelValue>=r.max),p=K(()=>{let e=y(r.step);return Ad(r.precision)?Math.max(y(r.modelValue),e):(e>r.precision&&Jd(`InputNumber`,`precision should not be less than the decimal places of step`),r.precision)}),m=K(()=>r.controls&&r.controlsPosition===`right`),h=cb(),g=lb(),_=K(()=>{if(c.userInput!==null)return c.userInput;let e=c.currentValue;if(cd(e))return``;if(Md(e)){if(Number.isNaN(e))return``;Ad(r.precision)||(e=e.toFixed(r.precision))}return e}),v=(e,t)=>{if(Ad(t)&&(t=p.value),t===0)return Math.round(e);let n=String(e),r=n.indexOf(`.`);if(r===-1||!n.replace(`.`,``).split(``)[r+t])return e;let i=n.length;return n.charAt(i-1)===`5`&&(n=`${n.slice(0,Math.max(0,i-1))}6`),Number.parseFloat(Number(n).toFixed(t))},y=e=>{if(cd(e))return 0;let t=e.toString(),n=t.indexOf(`.`),r=0;return n!==-1&&(r=t.length-n-1),r},b=(e,t=1)=>Md(e)?e>=2**53-1&&t===1?(Jd(`InputNumber`,`The value has reached the maximum safe integer limit.`),e):e<=-(2**53-1)&&t===-1?(Jd(`InputNumber`,`The value has reached the minimum safe integer limit.`),e):v(e+r.step*t):c.currentValue,x=e=>{let t=Kp(e),n=qp(e);if(r.disabledScientific&&[`e`,`E`].includes(n)){e.preventDefault();return}switch(t){case X.up:e.preventDefault(),S();break;case X.down:e.preventDefault(),w();break}},S=()=>{r.readonly||g.value||f.value||(E(b(Number(_.value)||0)),i(Sr,c.currentValue),te())},w=()=>{r.readonly||g.value||u.value||(E(b(Number(_.value)||0,-1)),i(Sr,c.currentValue),te())},T=(e,t)=>{let{max:n,min:a,step:o,precision:s,stepStrictly:c,valueOnClear:l}=r;nn||un?n:a,t&&i(`update:modelValue`,u)),u},E=(e,t=!0)=>{let n=c.currentValue,a=T(e);if(!t){i(br,a);return}c.userInput=null,!(n===a&&e)&&(i(br,a),n!==a&&i(xr,a,n),r.validateEvent&&l?.validate?.(`change`).catch(ge),c.currentValue=a)},D=e=>{c.userInput=e;let t=e===``?null:Number.parseFloat(e);Number.isNaN(t)&&(t=null),i(Sr,t),E(t,!1)},O=e=>{let t=e===``?``:Number.parseFloat(e);(Md(t)&&!Number.isNaN(t)||r.formatter&&Number.isNaN(t)||t===``)&&E(t),te(),c.userInput=null},k=()=>{s.value?.focus?.()},A=()=>{s.value?.blur?.()},ee=e=>{i(`focus`,e)},j=e=>{c.userInput=null,c.currentValue===null&&s.value?.input&&(s.value.input.value=r.formatter?.(``)??``),i(`blur`,e),r.validateEvent&&l?.validate?.(`blur`).catch(ge)},te=()=>{c.currentValue!==r.modelValue&&(c.currentValue=r.modelValue)},ne=e=>{document.activeElement===e.target&&e.preventDefault()};return M(()=>r.modelValue,(e,t)=>{let n=T(e,!0);c.userInput===null&&n!==t&&(c.currentValue=n)},{immediate:!0}),M(()=>r.precision,()=>{c.currentValue=T(r.modelValue)}),d(()=>{let{min:e,max:t,modelValue:n}=r,a=s.value?.input;if(a.setAttribute(`role`,`spinbutton`),Number.isFinite(t)?a.setAttribute(`aria-valuemax`,String(t)):a.removeAttribute(`aria-valuemax`),Number.isFinite(e)?a.setAttribute(`aria-valuemin`,String(e)):a.removeAttribute(`aria-valuemin`),a.setAttribute(`aria-valuenow`,c.currentValue||c.currentValue===0?String(c.currentValue):``),a.setAttribute(`aria-disabled`,String(g.value)),!Md(n)&&n!=null){let e=Number(n);Number.isNaN(e)&&(e=null),i(br,e)}a.addEventListener(`wheel`,ne,{passive:!1})}),C(()=>{(s.value?.input)?.setAttribute(`aria-valuenow`,`${c.currentValue??``}`)}),t({focus:k,blur:A}),(t,n)=>(N(),W(`div`,{class:F([Y(o).b(),Y(o).m(Y(h)),Y(o).is(`disabled`,Y(g)),Y(o).is(`without-controls`,!e.controls),Y(o).is(`controls-right`,m.value),Y(o).is(e.align,!!e.align)]),onDragstart:n[0]||=kn(()=>{},[`prevent`])},[e.controls?Ge((N(),W(`span`,{key:0,role:`button`,"aria-label":Y(a)(`el.inputNumber.decrease`),class:F([Y(o).e(`decrease`),Y(o).is(`disabled`,u.value)]),onKeydown:jn(w,[`enter`])},[I(t.$slots,`decrease-icon`,{},()=>[J(Y(By),null,{default:V(()=>[m.value?(N(),H(Y(Bv),{key:0})):(N(),H(Y(fy),{key:1}))]),_:1})])],42,BF)),[[Y(nT),w]]):G(`v-if`,!0),e.controls?Ge((N(),W(`span`,{key:1,role:`button`,"aria-label":Y(a)(`el.inputNumber.increase`),class:F([Y(o).e(`increase`),Y(o).is(`disabled`,f.value)]),onKeydown:jn(S,[`enter`])},[I(t.$slots,`increase-icon`,{},()=>[J(Y(By),null,{default:V(()=>[m.value?(N(),H(Y(Uv),{key:0})):(N(),H(Y(_y),{key:1}))]),_:1})])],42,VF)),[[Y(nT),S]]):G(`v-if`,!0),J(Y(zS),{id:e.id,ref_key:`input`,ref:s,type:e.formatter?`text`:`number`,step:e.step,"model-value":_.value,placeholder:e.placeholder,readonly:e.readonly,disabled:Y(g),size:Y(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:x,onBlur:j,onFocus:ee,onInput:D,onChange:O},xe({_:2},[t.$slots.prefix?{name:`prefix`,fn:V(()=>[I(t.$slots,`prefix`)]),key:`0`}:void 0,t.$slots.suffix?{name:`suffix`,fn:V(()=>[I(t.$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))}})),UF=Q({modelValue:{type:Z(Array)},max:Number,tagType:{...nE.type,default:`info`},tagEffect:nE.effect,effect:{type:Z(String),default:`light`},trigger:{type:Z(String),default:X.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:``},size:xv,clearable:Boolean,clearIcon:{type:Ny,default:Qv},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:Z(String),default:`off`},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),WF={[br]:e=>A(e)||Ad(e),[xr]:e=>A(e)||Ad(e),[Sr]:e=>P(e),"add-tag":e=>P(e)||A(e),"remove-tag":(e,t)=>P(e)&&Md(t),"drag-tag":(e,t,n)=>Md(e)&&Md(t)&&P(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function GF({wrapperRef:e,handleDragged:t,afterDragged:n}){let r=$(`input-tag`),i=Le(),a=q(!1),o,s,c,l;function u(e){return`.${r.e(`inner`)} .${r.namespace.value}-tag:nth-child(${e+1})`}function d(t,n){o=n,s=e.value.querySelector(u(n)),s&&(s.style.opacity=`0.5`),t.dataTransfer.effectAllowed=`move`}function f(t,n){if(c=n,t.preventDefault(),t.dataTransfer.dropEffect=`move`,Ad(o)||o===n){a.value=!1;return}let s=e.value.querySelector(u(n)).getBoundingClientRect(),d=o+1!==n,f=o-1!==n,p=t.clientX-s.left,m=d?f?.5:1:-1,h=f?d?.5:0:1;l=p<=s.width*m?`before`:p>s.width*h?`after`:void 0;let g=e.value.querySelector(`.${r.e(`inner`)}`),_=g.getBoundingClientRect(),v=Number.parseFloat(vp(g,`gap`))/2,y=s.top-_.top,b=-9999;if(l===`before`)b=Math.max(s.left-_.left-v,Math.floor(-v/2));else if(l===`after`){let e=s.right-_.left;b=e+(_.width===e?Math.floor(v/2):v)}yp(i.value,{top:`${y}px`,left:`${b}px`}),a.value=!!l}function p(e){e.preventDefault(),s&&(s.style.opacity=``),l&&!Ad(o)&&!Ad(c)&&o!==c&&t(o,c,l),a.value=!1,o=void 0,s=null,c=void 0,l=void 0,n?.()}return{dropIndicatorRef:i,showDropIndicator:a,handleDragStart:d,handleDragOver:f,handleDragEnd:p}}function KF(){let e=q(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function qF({props:e,emit:t,formItem:n}){let r=lb(),i=cb(),a=Le(),o=q(),s=q(),c=K(()=>[`small`].includes(i.value)?`small`:`default`),l=K(()=>e.modelValue?.length?void 0:e.placeholder),u=K(()=>!(e.readonly||r.value)),d=K(()=>Ad(e.max)?!1:(e.modelValue?.length??0)>=e.max),f=K(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),p=K(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),m=n=>{let r=[...e.modelValue??[],...Cs(n)];t(br,r),t(xr,r),t(`add-tag`,n),o.value=void 0},h=t=>{let n=t.split(e.delimiter),r=n.length>1?n.map(e=>e.trim()).filter(Boolean):[];if(e.max){let t=e.max-(e.modelValue?.length??0);r.splice(t)}return r.length===1?r[0]:r},g=n=>{let r=n.clipboardData?.getData(`text`);if(e.readonly||d.value||!e.delimiter||!r)return;let{selectionStart:i=0,selectionEnd:a=0,value:o}=n.target,s=o.slice(0,i)+r+o.slice(a),c=h(s);c.length&&(m(c),t(Sr,s),n.preventDefault())},_=n=>{if(d.value){o.value=void 0;return}if(!O.value){if(e.delimiter&&o.value){let e=h(o.value);e.length&&m(e)}t(Sr,n.target.value)}},v=t=>{if(!O.value)switch(Kp(t)){case e.trigger:t.preventDefault(),t.stopPropagation(),b();break;case X.numpadEnter:e.trigger===X.enter&&(t.preventDefault(),t.stopPropagation(),b());break;case X.backspace:!o.value&&e.modelValue?.length&&(t.preventDefault(),t.stopPropagation(),x(e.modelValue.length-1));break}},y=t=>{if(!(O.value||!up()))switch(Kp(t)){case X.space:e.trigger===X.space&&(t.preventDefault(),t.stopPropagation(),b());break}},b=()=>{let e=o.value?.trim();!e||d.value||m(e)},x=n=>{let r=(e.modelValue??[]).slice(),[i]=r.splice(n,1);t(br,r),t(xr,r),t(`remove-tag`,i,n)},S=()=>{o.value=void 0,t(br,void 0),t(xr,void 0),t(`clear`)},C=(n,r,i)=>{let a=(e.modelValue??[]).slice(),[o]=a.splice(n,1),s=r>n&&i===`before`?-1:+(r{a.value?.focus()},T=()=>{a.value?.blur()},{wrapperRef:E,isFocused:D}=wv(a,{disabled:r,beforeBlur(e){return s.value?.isFocusInsideContent(e)},afterBlur(){e.saveOnBlur?b():o.value=void 0,e.validateEvent&&n?.validate?.(`blur`).catch(ge)}}),{isComposing:O,handleCompositionStart:k,handleCompositionUpdate:A,handleCompositionEnd:ee}=Tv({afterComposition:_});return M(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(xr).catch(ge)}),{inputRef:a,wrapperRef:E,tagTooltipRef:s,isFocused:D,isComposing:O,inputValue:o,size:i,tagSize:c,placeholder:l,closable:u,disabled:r,inputLimit:d,showTagList:f,collapseTagList:p,handleDragged:C,handlePaste:g,handleInput:_,handleKeydown:v,handleKeyup:y,handleAddTag:b,handleRemoveTag:x,handleClear:S,handleCompositionStart:k,handleCompositionUpdate:A,handleCompositionEnd:ee,focus:w,blur:T}}function JF({props:e,isFocused:t,hovering:n,disabled:r,inputValue:i,size:a,validateState:o,validateIcon:s,needStatusIcon:c}){let l=y(),u=le(),d=$(`input-tag`),f=$(`input`),p=q(),m=q(),h=K(()=>[d.b(),d.is(`focused`,t.value),d.is(`hovering`,n.value),d.is(`disabled`,r.value),d.m(a.value),d.e(`wrapper`),l.class]),g=K(()=>[l.style]),_=K(()=>[d.e(`inner`),d.is(`draggable`,e.draggable),d.is(`left-space`,!e.modelValue?.length&&!u.prefix),d.is(`right-space`,!e.modelValue?.length&&!b.value)]),v=K(()=>e.clearable&&!r.value&&!e.readonly&&(e.modelValue?.length||i.value)&&(t.value||n.value)),b=K(()=>u.suffix||v.value||o.value&&s.value&&c.value),x=ve({innerWidth:0,collapseItemWidth:0}),S=()=>{if(!m.value)return 0;let e=window.getComputedStyle(m.value);return Number.parseFloat(e.gap||`6px`)},C=()=>{x.innerWidth=Number.parseFloat(window.getComputedStyle(m.value).width)},w=()=>{x.collapseItemWidth=p.value.getBoundingClientRect().width},T=K(()=>{if(!e.collapseTags)return{};let t=S(),n=t+11,r=p.value&&e.maxCollapseTags===1?x.innerWidth-x.collapseItemWidth-t-n:x.innerWidth-n;return{maxWidth:`${Math.max(r,0)}px`}});return Uf(m,C),Uf(p,w),{ns:d,nsInput:f,containerKls:h,containerStyle:g,innerKls:_,showClear:v,showSuffix:b,tagStyle:T,collapseItemRef:p,innerRef:m}}var YF=[`id`,`minlength`,`maxlength`,`disabled`,`readonly`,`autocomplete`,`tabindex`,`placeholder`,`autofocus`,`ariaLabel`],XF=[`textContent`],ZF=Pv(z({name:`ElInputTag`,inheritAttrs:!1,__name:`input-tag`,props:UF,emits:WF,setup(e,{expose:t,emit:n}){let i=e,a=n,o=Zd(),s=le(),{form:c,formItem:l}=ub(),{inputId:u}=db(i,{formItemContext:l}),d=K(()=>c?.statusIcon??!1),f=K(()=>l?.validateState||``),p=K(()=>f.value&&Ly[f.value]),{inputRef:h,wrapperRef:g,tagTooltipRef:_,isFocused:v,inputValue:y,size:b,tagSize:x,placeholder:C,closable:w,disabled:T,showTagList:E,collapseTagList:D,handleDragged:O,handlePaste:A,handleInput:ee,handleKeydown:j,handleKeyup:M,handleRemoveTag:P,handleClear:te,handleCompositionStart:ne,handleCompositionUpdate:re,handleCompositionEnd:ie,focus:ae,blur:oe}=qF({props:i,emit:a,formItem:l}),{hovering:se,handleMouseEnter:ce,handleMouseLeave:ue}=KF(),{calculatorRef:de,inputStyle:fe}=Xf(),{dropIndicatorRef:pe,showDropIndicator:me,handleDragStart:z,handleDragOver:_e,handleDragEnd:ve}=GF({wrapperRef:g,handleDragged:O,afterDragged:ae}),{ns:ye,nsInput:be,containerKls:xe,containerStyle:Se,innerKls:Ce,showClear:we,showSuffix:Te,tagStyle:Ee,collapseItemRef:De,innerRef:Oe}=JF({props:i,hovering:se,isFocused:v,inputValue:y,disabled:T,size:b,validateState:f,validateIcon:p,needStatusIcon:d});return t({focus:ae,blur:oe}),(t,n)=>(N(),W(`div`,{ref_key:`wrapperRef`,ref:g,class:F(Y(xe)),style:m(Y(Se)),onMouseenter:n[9]||=(...e)=>Y(ce)&&Y(ce)(...e),onMouseleave:n[10]||=(...e)=>Y(ue)&&Y(ue)(...e)},[Y(s).prefix?(N(),W(`div`,{key:0,class:F(Y(ye).e(`prefix`))},[I(t.$slots,`prefix`)],2)):G(`v-if`,!0),B(`div`,{ref_key:`innerRef`,ref:Oe,class:F(Y(Ce))},[(N(!0),W(R,null,r(Y(E),(r,i)=>(N(),H(Y(oE),{key:i,size:Y(x),closable:Y(w),type:e.tagType,effect:e.tagEffect,draggable:Y(w)&&e.draggable,style:m(Y(Ee)),"disable-transitions":``,onClose:e=>Y(P)(i),onDragstart:e=>Y(z)(e,i),onDragover:e=>Y(_e)(e,i),onDragend:Y(ve),onDrop:n[0]||=kn(()=>{},[`stop`])},{default:V(()=>[I(t.$slots,`tag`,{value:r,index:i},()=>[Ke(S(r),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`draggable`,`style`,`onClose`,`onDragstart`,`onDragover`,`onDragend`]))),128)),e.collapseTags&&e.modelValue&&e.modelValue.length>e.maxCollapseTags?(N(),H(Y(ES),{key:0,ref_key:`tagTooltipRef`,ref:_,disabled:!e.collapseTagsTooltip,"fallback-placements":[`bottom`,`top`,`right`,`left`],effect:e.effect,placement:`bottom`},{default:V(()=>[B(`div`,{ref_key:`collapseItemRef`,ref:De,class:F(Y(ye).e(`collapse-tag`))},[J(Y(oE),{closable:!1,size:Y(x),type:e.tagType,effect:e.tagEffect,"disable-transitions":``},{default:V(()=>[Ke(` + `+S(e.modelValue.length-e.maxCollapseTags),1)]),_:1},8,[`size`,`type`,`effect`])],2)]),content:V(()=>[B(`div`,{class:F(Y(ye).e(`input-tag-list`))},[(N(!0),W(R,null,r(Y(D),(n,r)=>(N(),H(Y(oE),{key:r,size:Y(x),closable:Y(w),type:e.tagType,effect:e.tagEffect,"disable-transitions":``,onClose:t=>Y(P)(r+e.maxCollapseTags)},{default:V(()=>[I(t.$slots,`tag`,{value:n,index:r+e.maxCollapseTags},()=>[Ke(S(n),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`onClose`]))),128))],2)]),_:3},8,[`disabled`,`effect`])):G(`v-if`,!0),B(`div`,{class:F(Y(ye).e(`input-wrapper`))},[Ge(B(`input`,k({id:Y(u),ref_key:`inputRef`,ref:h,"onUpdate:modelValue":n[1]||=e=>he(y)?y.value=e:null},Y(o),{type:`text`,minlength:e.minlength,maxlength:e.maxlength,disabled:Y(T),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,placeholder:Y(C),autofocus:e.autofocus,ariaLabel:e.ariaLabel,class:Y(ye).e(`input`),style:Y(fe),onCompositionstart:n[2]||=(...e)=>Y(ne)&&Y(ne)(...e),onCompositionupdate:n[3]||=(...e)=>Y(re)&&Y(re)(...e),onCompositionend:n[4]||=(...e)=>Y(ie)&&Y(ie)(...e),onPaste:n[5]||=(...e)=>Y(A)&&Y(A)(...e),onInput:n[6]||=(...e)=>Y(ee)&&Y(ee)(...e),onKeydown:n[7]||=(...e)=>Y(j)&&Y(j)(...e),onKeyup:n[8]||=(...e)=>Y(M)&&Y(M)(...e)}),null,16,YF),[[xn,Y(y)]]),B(`span`,{ref_key:`calculatorRef`,ref:de,"aria-hidden":`true`,class:F(Y(ye).e(`input-calculator`)),textContent:S(Y(y))},null,10,XF)],2),Ge(B(`div`,{ref_key:`dropIndicatorRef`,ref:pe,class:F(Y(ye).e(`drop-indicator`))},null,2),[[jt,Y(me)]])],2),Y(Te)?(N(),W(`div`,{key:1,class:F(Y(ye).e(`suffix`))},[I(t.$slots,`suffix`),Y(we)?(N(),H(Y(By),{key:0,class:F([Y(ye).e(`icon`),Y(ye).e(`clear`)]),onMousedown:kn(Y(ge),[`prevent`]),onClick:Y(te)},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`onMousedown`,`onClick`])):G(`v-if`,!0),f.value&&p.value&&d.value?(N(),H(Y(By),{key:1,class:F([Y(be).e(`icon`),Y(be).e(`validateIcon`),Y(be).is(`loading`,f.value===`validating`)])},{default:V(()=>[(N(),H(L(p.value)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)):G(`v-if`,!0)],38))}})),QF={[br]:e=>P(e),[xr]:e=>P(e),finish:e=>P(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},$F=[`id`,`aria-label`,`aria-labelledby`],eI=[`value`,`type`,`disabled`,`readonly`,`inputmode`,`aria-label`,`onClick`,`onKeydown`,`onInput`],tI=Pv(z({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:QF,setup(e,{expose:t,emit:i}){let a=e,o=i,s=K(()=>{let e=String(a.modelValue??``);return Array.from({length:a.length},(t,n)=>e.charAt(n))}),c=K(()=>{let{separator:e}=a,t=n(e)?e:()=>e;return Array.from({length:a.length-1},(e,n)=>t(n))}),l=q(s.value),u=q(!1),d=q([]),f=$(`input-otp`),{t:p}=Dp(),{formItem:m}=ub(),{inputId:h,isLabeledByFormItem:g}=db(a,{formItemContext:m}),_=lb(),v=a.modelValue,y=e=>{let t=l.value.findIndex((t,n)=>!t&&n<=e);return t===-1?e:t},b=e=>{d.value?.includes(e.relatedTarget)||(u.value=!0,o(`focus`,e))},x=e=>{d.value?.includes(e.relatedTarget)||(u.value=!1,o(`blur`,e),a.validateEvent&&m?.validate?.(`blur`).catch(ge))},S=(e=!0)=>{let t=l.value.join(``).slice(0,a.length);t!==a.modelValue&&(o(br,t),e&&t.length===a.length&&o(`finish`,t))},C=(e,t)=>{let n=Kp(e),r=!0;switch(n){case X.backspace:if(a.readonly)break;l.value[t]=``,E(t-1),S();break;case X.delete:if(a.readonly)break;l.value[t]=``,E(t),S();break;case X.up:case X.left:E(t-1);break;case X.down:case X.right:E(t+1);break;default:r=!1}r&&e.preventDefault()},w=(e,t)=>{let n=e.target,r=y(t),i=r+1,o=n.value;if(o.length>1){let e=T(o,r);n.value=l.value[t]??``,e.forEach((e,t)=>l.value[r+t]=e),E(r+e.length),S();return}a.validator(o,r)||(n.value=l.value[t]??``,o=n.value,i=r),l.value[r]=o,r!==t&&(n.value=l.value[t]??``),E(i),S()},T=(e,t=0)=>{let n=`${e??``}`.split(``),r=[];for(let e of n){if(r.length+t>=a.length)break;a.validator(e,r.length+t)&&r.push(e)}return r},E=(e=0)=>{let t=cf(e,0,a.length-1),n=d.value?.[t];document.activeElement!==n&&n?.focus(),Np(()=>{!a.readonly&&document.activeElement===n&&n?.select()})};return M(()=>a.modelValue,()=>{l.value=s.value,a.validateEvent&&m?.validate?.(`change`).catch(ge)}),M(()=>a.length,()=>{l.value=s.value,S(!1)}),M(u,e=>{if(e){v=a.modelValue;return}v!==a.modelValue&&o(xr,a.modelValue)}),t({inputRefs:d,focus:E,blur:()=>{(d.value?.find(e=>document.activeElement===e))?.blur()}}),(t,n)=>(N(),W(`div`,{id:Y(h),class:F([Y(f).b(),Y(f).m(e.size),Y(f).m(e.type),Y(f).is(`disabled`,Y(_))]),role:`group`,"aria-label":Y(g)?void 0:e.ariaLabel||Y(p)(`el.inputOTP.groupLabel`),"aria-labelledby":Y(g)?Y(m)?.labelId:void 0},[(N(!0),W(R,null,r(e.length,(n,r)=>(N(),W(R,{key:r},[B(`label`,{class:F(Y(f).e(`input-field`))},[B(`input`,{ref_for:!0,ref_key:`inputRefs`,ref:d,value:l.value[r],class:F(Y(f).e(`input`)),type:e.mask?`password`:`text`,disabled:Y(_),readonly:e.readonly,inputmode:e.inputmode,autocomplete:`one-time-code`,"aria-label":Y(p)(`el.inputOTP.defaultLabel`,{index:r+1}),onFocus:b,onBlur:x,onClick:e=>E(r),onKeydown:e=>C(e,r),onInput:e=>w(e,r)},null,42,eI)],2),(t.$slots.separator||c.value[r])&&r[(N(),H(L(()=>c.value[r])))]):G(`v-if`,!0)],64))),128))],10,$F))}})),nI=Q({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:Ny}}),rI={click:e=>e instanceof MouseEvent},iI=[`href`,`target`],aI=Pv(z({name:`ElLink`,__name:`link`,props:nI,emits:rI,setup(e,{emit:t}){let n=e,r=t,i=FC(`link`);Zf({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`},K(()=>jd(n.underline)));let a=$(`link`),o=K(()=>[a.b(),a.m(n.type??i.value?.type??`default`),a.is(`disabled`,n.disabled),a.is(`underline`,s.value===`always`),a.is(`hover-underline`,s.value===`hover`&&!n.disabled)]),s=K(()=>jd(n.underline)?n.underline?`hover`:`never`:n.underline??i.value?.underline??`hover`);function c(e){n.disabled||r(`click`,e)}return(t,n)=>(N(),W(`a`,{class:F(o.value),href:e.disabled||!e.href?void 0:e.href,target:e.disabled||!e.href?void 0:e.target,onClick:c},[e.icon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.icon)))]),_:1})):G(`v-if`,!0),t.$slots.default?(N(),W(`span`,{key:1,class:F(Y(a).e(`inner`))},[I(t.$slots,`default`)],2)):G(`v-if`,!0),t.$slots.icon?I(t.$slots,`icon`,{key:2}):G(`v-if`,!0)],10,iI))}})),oI=`rootMenu`,sI=`subMenu:`;function cI(e,t){let n=K(()=>{let n=e.parent,r=[t.value];for(;n.type.name!==`ElMenu`;)n.props.index&&r.unshift(n.props.index),n=n.parent;return r});return{parentMenu:K(()=>{let t=e.parent;for(;t&&![`ElMenu`,`ElSubMenu`].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function lI(e){return K(()=>{let t=e.backgroundColor;return t?new gw(t).shade(20).toString():``})}var uI=(e,t)=>{let n=$(`menu`);return K(()=>n.cssVarBlock({"text-color":e.textColor||``,"hover-text-color":e.textColor||``,"bg-color":e.backgroundColor||``,"hover-bg-color":lI(e).value||``,"active-color":e.activeTextColor||``,level:`${t}`}))},dI=Q({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,popperStyle:{type:Z([String,Object])},disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Ny},expandOpenIcon:{type:Ny},collapseCloseIcon:{type:Ny},collapseOpenIcon:{type:Ny}}),fI=`ElSubMenu`,pI=z({name:fI,props:dI,setup(e,{slots:t,expose:n}){let r=Xe(),{indexPath:i,parentMenu:a}=cI(r,K(()=>e.index)),o=$(`menu`),s=$(`sub-menu`),c=l(oI);c||qd(fI,`can not inject root menu`);let u=l(`${sI}${a.value.uid}`);u||qd(fI,`can not inject sub menu`);let f=q({}),p=q({}),m,h=q(!1),g=q(),_=q(),v=K(()=>u.level===0),y=K(()=>D.value===`horizontal`&&v.value?`bottom-start`:`right-start`),b=K(()=>D.value===`horizontal`&&v.value||D.value===`vertical`&&!c.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?w.value?e.expandOpenIcon:e.expandCloseIcon:Bv:e.collapseCloseIcon&&e.collapseOpenIcon?w.value?e.collapseOpenIcon:e.collapseCloseIcon:Hv),x=K(()=>{let t=e.teleported;return Ad(t)?v.value:t}),S=K(()=>c.props.collapse?`${o.namespace.value}-zoom-in-left`:`${o.namespace.value}-zoom-in-top`),C=K(()=>D.value===`horizontal`&&v.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`]),w=K(()=>c.openedMenus.includes(e.index)),E=K(()=>[...Object.values(f.value),...Object.values(p.value)].some(({active:e})=>e)),D=K(()=>c.props.mode),O=K(()=>c.props.persistent),k=ve({index:e.index,indexPath:i,active:E}),A=uI(c.props,u.level+1),ee=K(()=>e.popperOffset??c.props.popperOffset),j=K(()=>e.popperClass??c.props.popperClass),N=K(()=>e.popperStyle??c.props.popperStyle),te=K(()=>e.showTimeout??c.props.showTimeout),ne=K(()=>e.hideTimeout??c.props.hideTimeout),re=()=>_.value?.popperRef?.popperInstanceRef?.destroy(),ie=e=>{e||re()},ae=()=>{c.props.menuTrigger===`hover`&&c.props.mode===`horizontal`||c.props.collapse&&c.props.mode===`vertical`||e.disabled||c.handleSubMenuClick({index:e.index,indexPath:i.value,active:E.value})},F=(t,n=te.value)=>{if(t.type!==`focus`){if(c.props.menuTrigger===`click`&&c.props.mode===`horizontal`||!c.props.collapse&&c.props.mode===`vertical`||e.disabled){u.mouseInChild.value=!0;return}u.mouseInChild.value=!0,m?.(),{stop:m}=wf(()=>{c.openMenu(e.index,i.value)},n),x.value&&a.value.vnode.el?.dispatchEvent(new MouseEvent(`mouseenter`)),t.type===`mouseenter`&&t.target&&U(()=>{sp(t.target,{preventScroll:!0})})}},I=(t=!1)=>{if(c.props.menuTrigger===`click`&&c.props.mode===`horizontal`||!c.props.collapse&&c.props.mode===`vertical`){u.mouseInChild.value=!1;return}m?.(),u.mouseInChild.value=!1,{stop:m}=wf(()=>!h.value&&c.closeMenu(e.index,i.value),ne.value),x.value&&t&&u.handleMouseleave?.(!0)};return M(()=>c.props.collapse,e=>ie(!!e)),Qe(`${sI}${r.uid}`,{addSubMenu:e=>{p.value[e.index]=e},removeSubMenu:e=>{delete p.value[e.index]},handleMouseleave:I,mouseInChild:h,level:u.level+1}),n({opened:w}),d(()=>{c.addSubMenu(k),u.addSubMenu(k)}),T(()=>{u.removeSubMenu(k),c.removeSubMenu(k)}),()=>{let n=[t.title?.(),Je(By,{class:s.e(`icon-arrow`),style:{transform:w.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&c.props.collapse?`none`:`rotateZ(180deg)`:`none`}},{default:()=>P(b.value)?Je(r.appContext.components[b.value]):Je(b.value)})],i=c.isMenuPopup?Je(ES,{ref:_,visible:w.value,effect:`light`,pure:!0,offset:ee.value,showArrow:!1,persistent:O.value,popperClass:j.value,popperStyle:N.value,placement:y.value,teleported:x.value,fallbackPlacements:C.value,transition:S.value,gpuAcceleration:!1},{content:()=>Je(`div`,{class:[o.m(D.value),o.m(`popup-container`),j.value],onMouseenter:e=>F(e,100),onMouseleave:()=>I(!0),onFocus:e=>F(e,100)},[Je(`ul`,{class:[o.b(),o.m(`popup`),o.m(`popup-${y.value}`)],style:A.value},[t.default?.()])]),default:()=>Je(`div`,{class:s.e(`title`),onClick:ae},n)}):Je(R,{},[Je(`div`,{class:s.e(`title`),ref:g,onClick:ae},n),Je(sA,{},{default:()=>Ge(Je(`ul`,{role:`menu`,class:[o.b(),o.m(`inline`)],style:A.value},[t.default?.()]),[[jt,w.value]])})]);return Je(`li`,{class:[s.b(),s.is(`active`,E.value),s.is(`opened`,w.value),s.is(`disabled`,e.disabled)],role:`menuitem`,ariaHaspopup:!0,ariaExpanded:w.value,onMouseenter:F,onMouseleave:()=>I(),onFocus:F},[i])}}}),mI=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(){let e=this.parent.domNode;this.subMenuItems.forEach(t=>{t.addEventListener(`keydown`,t=>{let n=Kp(t),r=!1;switch(n){case X.down:this.gotoSubIndex(this.subIndex+1),r=!0;break;case X.up:this.gotoSubIndex(this.subIndex-1),r=!0;break;case X.tab:ip(e,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:r=!0,t.currentTarget.click();break}return r&&(t.preventDefault(),t.stopPropagation()),!1})})}},hI=class{constructor(e,t){this.domNode=e,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute(`tabindex`,`0`);let t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new mI(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener(`keydown`,e=>{let t=Kp(e),n=!1;switch(t){case X.down:ip(e.currentTarget,`mouseenter`),this.submenu?.gotoSubIndex(0),n=!0;break;case X.up:ip(e.currentTarget,`mouseenter`),this.submenu?.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break;case X.tab:ip(e.currentTarget,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:n=!0,e.currentTarget.click();break}n&&e.preventDefault()})}},gI=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){let t=this.domNode.childNodes;Array.from(t).forEach(t=>{t.nodeType===1&&new hI(t,e)})}},_I=z({name:`ElMenuCollapseTransition`,__name:`menu-collapse-transition`,setup(e){let t=$(`menu`),n={onBeforeEnter:e=>e.style.opacity=`0.2`,onEnter(e,n){gp(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=`1`,n()},onAfterEnter(e){_p(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=``},onBeforeLeave(e){e.dataset||={},hp(e,t.m(`collapse`))?(_p(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),gp(e,t.m(`collapse`))):(gp(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),_p(e,t.m(`collapse`))),e.style.width=`${e.scrollWidth}px`,e.style.overflow=`hidden`},onLeave(e){gp(e,`horizontal-collapse-transition`),e.style.width=`${e.dataset.scrollWidth}px`}};return(e,t)=>(N(),H(pt,k({mode:`out-in`},n),{default:V(()=>[I(e.$slots,`default`)]),_:3},16))}}),vI=Q({mode:{type:String,values:[`horizontal`,`vertical`],default:`vertical`},defaultActive:{type:String,default:``},defaultOpeneds:{type:Z(Array),default:()=>DS([])},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:Ny,default:()=>my},popperEffect:{type:Z(String),default:`dark`},popperClass:String,popperStyle:{type:Z([String,Object])},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),yI=e=>A(e)&&e.every(e=>P(e)),bI={close:(e,t)=>P(e)&&yI(t),open:(e,t)=>P(e)&&yI(t),select:(e,t,n,r)=>P(e)&&yI(t)&&E(n)&&(Ad(r)||r instanceof Promise)},xI=64,SI=z({name:`ElMenu`,props:vI,emits:bI,setup(t,{emit:n,slots:r,expose:i}){let a=Xe(),o=a.appContext.config.globalProperties.$router,s=q(),c=q(),l=$(`menu`),u=$(`sub-menu`),f=xI,p=q(-1),m=q(t.defaultOpeneds&&!t.collapse?t.defaultOpeneds.slice(0):[]),h=q(t.defaultActive),g=q({}),_=q({}),v=K(()=>t.mode===`horizontal`||t.mode===`vertical`&&t.collapse),y=()=>{let e=h.value&&g.value[h.value];!e||t.mode===`horizontal`||t.collapse||e.indexPath.forEach(e=>{let t=_.value[e];t&&b(e,t.indexPath)})},b=(e,r)=>{m.value.includes(e)||(t.uniqueOpened&&(m.value=m.value.filter(e=>r.includes(e))),m.value.push(e),n(`open`,e,r))},x=e=>{let t=m.value.indexOf(e);t!==-1&&m.value.splice(t,1)},S=(e,t)=>{x(e),n(`close`,e,t)},C=({index:e,indexPath:t})=>{m.value.includes(e)?S(e,t):b(e,t)},w=e=>{(t.mode===`horizontal`||t.collapse)&&(m.value=[]);let{index:r,indexPath:i}=e;if(!(cd(r)||cd(i)))if(t.router&&o){let t=e.route||r,a=o.push(t).then(e=>(e||(h.value=r),e));n(`select`,r,i,{index:r,indexPath:i,route:t},a)}else h.value=r,n(`select`,r,i,{index:r,indexPath:i})},T=e=>{let n=g.value;h.value=(n[e]||h.value&&n[h.value]||n[t.defaultActive])?.index??e},E=e=>{let t=getComputedStyle(e),n=Number.parseInt(t.marginLeft,10),r=Number.parseInt(t.marginRight,10);return e.offsetWidth+n+r||0},D=()=>{if(!s.value)return-1;let e=Array.from(s.value.childNodes).filter(e=>e.nodeName!==`#comment`&&(e.nodeName!==`#text`||e.nodeValue)),t=getComputedStyle(s.value),n=Number.parseInt(t.paddingLeft,10),r=Number.parseInt(t.paddingRight,10),i=s.value.clientWidth-n-r,a=0,o=0;return e.forEach((e,t)=>{a+=E(e),a<=i-f&&(o=t+1)}),o===e.length?-1:o},O=e=>_.value[e].indexPath,k=(e,t=33.34)=>{let n;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e()},t)}},A=!0,ee=()=>{let e=Of(c);if(e&&(f=E(e)||xI),p.value===D())return;let t=()=>{p.value=-1,U(()=>{p.value=D()})};A?t():k(t)(),A=!1};M(()=>t.defaultActive,e=>{g.value[e]||(h.value=``),T(e)}),M(()=>t.collapse,e=>{e&&(m.value=[])}),M(g.value,y);let j;e(()=>{t.mode===`horizontal`&&t.ellipsis?j=Uf(s,ee).stop:j?.()});let N=q(!1);{let e=e=>{_.value[e.index]=e},n=e=>{delete _.value[e.index]};Qe(oI,ve({props:t,openedMenus:m,items:g,subMenus:_,activeIndex:h,isMenuPopup:v,addMenuItem:e=>{g.value[e.index]=e},removeMenuItem:e=>{delete g.value[e.index]},addSubMenu:e,removeSubMenu:n,openMenu:b,closeMenu:S,handleMenuItemClick:w,handleSubMenuClick:C})),Qe(`${sI}${a.uid}`,{addSubMenu:e,removeSubMenu:n,mouseInChild:N,level:0})}d(()=>{t.mode===`horizontal`&&new gI(a.vnode.el,l.namespace.value)}),i({open:e=>{let{indexPath:t}=_.value[e];t.forEach(e=>b(e,t))},close:x,updateActiveIndex:T,handleResize:ee});let P=uI(t,0);return()=>{let e=r.default?.()??[],i=[];if(t.mode===`horizontal`&&s.value){let n=vv(e).filter(e=>e?.shapeFlag!==8),r=p.value===-1?n:n.slice(0,p.value),a=p.value===-1?[]:n.slice(p.value);a?.length&&t.ellipsis&&(e=r,i.push(Je(pI,{ref:c,index:`sub-menu-more`,class:u.e(`hide-arrow`),popperOffset:t.popperOffset},{title:()=>Je(By,{class:u.e(`icon-more`)},{default:()=>Je(t.ellipsisIcon)}),default:()=>a})))}let a=t.closeOnClickOutside?[[eT,()=>{m.value.length&&(N.value||(m.value.forEach(e=>n(`close`,e,O(e))),m.value=[]))}]]:[],o=Ge(Je(`ul`,{key:String(t.collapse),role:`menubar`,ref:s,style:P.value,class:{[l.b()]:!0,[l.m(t.mode)]:!0,[l.m(`collapse`)]:t.collapse}},[...e,...i]),a);return t.collapseTransition&&t.mode===`vertical`?Je(_I,()=>o):o}}}),CI=Q({index:{type:String,required:!0},route:{type:Z([String,Object])},disabled:Boolean}),wI={click:e=>P(e.index)&&A(e.indexPath)},TI={title:String},EI=`ElMenuItem`,DI=z({name:EI,__name:`menu-item`,props:CI,emits:wI,setup(e,{expose:t,emit:n}){let r=e,i=n,a=Xe(),o=l(oI),s=$(`menu`),c=$(`menu-item`);o||qd(EI,`can not inject root menu`);let{parentMenu:u,indexPath:f}=cI(a,we(r,`index`)),p=l(`${sI}${u.value.uid}`);p||qd(EI,`can not inject sub menu`);let m=K(()=>r.index===o.activeIndex),h=ve({index:r.index,indexPath:f,active:m}),g=()=>{r.disabled||(o.handleMenuItemClick({index:r.index,indexPath:f.value,route:r.route}),i(`click`,h))};return d(()=>{p.addSubMenu(h),o.addMenuItem(h)}),T(()=>{p.removeSubMenu(h),o.removeMenuItem(h)}),t({parentMenu:u,rootMenu:o,active:m,nsMenu:s,nsMenuItem:c,handleClick:g}),(t,n)=>(N(),W(`li`,{class:F([Y(c).b(),Y(c).is(`active`,m.value),Y(c).is(`disabled`,e.disabled)]),role:`menuitem`,tabindex:`-1`,onClick:g},[Y(u).type.name===`ElMenu`&&Y(o).props.collapse&&t.$slots.title?(N(),H(Y(ES),{key:0,effect:Y(o).props.popperEffect,placement:`right`,"fallback-placements":[`left`],"popper-class":Y(o).props.popperClass,"popper-style":Y(o).props.popperStyle,persistent:Y(o).props.persistent,"focus-on-target":``},{content:V(()=>[I(t.$slots,`title`)]),default:V(()=>[B(`div`,{class:F(Y(s).be(`tooltip`,`trigger`))},[I(t.$slots,`default`)],2)]),_:3},8,[`effect`,`popper-class`,`popper-style`,`persistent`])):(N(),W(R,{key:1},[I(t.$slots,`default`),I(t.$slots,`title`)],64))],2))}}),OI=z({name:`ElMenuItemGroup`,__name:`menu-item-group`,props:TI,setup(e){let t=$(`menu-item-group`);return(n,r)=>(N(),W(`li`,{class:F(Y(t).b())},[B(`div`,{class:F(Y(t).e(`title`))},[n.$slots.title?I(n.$slots,`title`,{key:1}):(N(),W(R,{key:0},[Ke(S(e.title),1)],64))],2),B(`ul`,null,[I(n.$slots,`default`)])],2))}}),kI=Pv(SI,{MenuItem:DI,MenuItemGroup:OI,SubMenu:pI}),AI=Lv(DI),jI=Lv(OI),MI=Lv(pI),NI=Q({icon:{type:Ny,default:()=>Wv},title:String,content:{type:String,default:``}}),PI={back:()=>!0},FI=[`aria-label`],II=Pv(z({name:`ElPageHeader`,__name:`page-header`,props:NI,emits:PI,setup(e,{emit:t}){let n=t,{t:r}=Dp(),i=$(`page-header`);function a(){n(`back`)}return(t,n)=>(N(),W(`div`,{class:F([Y(i).b(),Y(i).is(`contentful`,!!t.$slots.default),{[Y(i).m(`has-breadcrumb`)]:!!t.$slots.breadcrumb,[Y(i).m(`has-extra`)]:!!t.$slots.extra}])},[t.$slots.breadcrumb?(N(),W(`div`,{key:0,class:F(Y(i).e(`breadcrumb`))},[I(t.$slots,`breadcrumb`)],2)):G(`v-if`,!0),B(`div`,{class:F(Y(i).e(`header`))},[B(`div`,{class:F(Y(i).e(`left`))},[B(`div`,{class:F(Y(i).e(`back`)),role:`button`,tabindex:`0`,onClick:a},[e.icon||t.$slots.icon?(N(),W(`div`,{key:0,"aria-label":e.title||Y(r)(`el.pageHeader.title`),class:F(Y(i).e(`icon`))},[I(t.$slots,`icon`,{},()=>[e.icon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.icon)))]),_:1})):G(`v-if`,!0)])],10,FI)):G(`v-if`,!0),B(`div`,{class:F(Y(i).e(`title`))},[I(t.$slots,`title`,{},()=>[Ke(S(e.title||Y(r)(`el.pageHeader.title`)),1)])],2)],2),J(Y(HN),{direction:`vertical`}),B(`div`,{class:F(Y(i).e(`content`))},[I(t.$slots,`content`,{},()=>[Ke(S(e.content),1)])],2)],2),t.$slots.extra?(N(),W(`div`,{key:0,class:F(Y(i).e(`extra`))},[I(t.$slots,`extra`)],2)):G(`v-if`,!0)],2),t.$slots.default?(N(),W(`div`,{key:1,class:F(Y(i).e(`main`))},[I(t.$slots,`default`)],2)):G(`v-if`,!0)],2))}})),LI=Symbol(`elPaginationKey`),RI=Q({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Ny}}),zI={click:e=>e instanceof MouseEvent},BI=[`disabled`,`aria-label`,`aria-disabled`],VI={key:0},HI=z({name:`ElPaginationPrev`,__name:`prev`,props:RI,emits:zI,setup(e){let t=e,{t:n}=Dp(),r=K(()=>t.disabled||t.currentPage<=1);return(e,t)=>(N(),W(`button`,{type:`button`,class:`btn-prev`,disabled:r.value,"aria-label":e.prevText||Y(n)(`el.pagination.prev`),"aria-disabled":r.value,onClick:t[0]||=t=>e.$emit(`click`,t)},[e.prevText?(N(),W(`span`,VI,S(e.prevText),1)):(N(),H(Y(By),{key:1},{default:V(()=>[(N(),H(L(e.prevIcon)))]),_:1}))],8,BI))}}),UI=Q({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Ny}}),WI=[`disabled`,`aria-label`,`aria-disabled`],GI={key:0},KI=z({name:`ElPaginationNext`,__name:`next`,props:UI,emits:[`click`],setup(e){let t=e,{t:n}=Dp(),r=K(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(e,t)=>(N(),W(`button`,{type:`button`,class:`btn-next`,disabled:r.value,"aria-label":e.nextText||Y(n)(`el.pagination.next`),"aria-disabled":r.value,onClick:t[0]||=t=>e.$emit(`click`,t)},[e.nextText?(N(),W(`span`,GI,S(e.nextText),1)):(N(),H(Y(By),{key:1},{default:V(()=>[(N(),H(L(e.nextIcon)))]),_:1}))],8,WI))}}),qI=()=>l(LI,{}),JI=z({name:`ElPaginationSizes`,__name:`sizes`,props:Q({pageSize:{type:Number,required:!0},pageSizes:{type:Z(Array),default:()=>DS([10,20,30,40,50,100])},popperClass:{type:String},popperStyle:{type:Z([String,Object])},disabled:Boolean,teleported:Boolean,size:{type:String,values:wr},appendSizeTo:String}),emits:[`page-size-change`],setup(e,{emit:t}){let n=e,i=t,{t:a}=Dp(),o=$(`pagination`),s=qI(),c=q(n.pageSize);M(()=>n.pageSizes,(e,t)=>{sd(e,t)||A(e)&&i(`page-size-change`,e.includes(n.pageSize)?n.pageSize:n.pageSizes[0])}),M(()=>n.pageSize,e=>{c.value=e});let l=K(()=>n.pageSizes);function u(e){e!==c.value&&(c.value=e,s.handleSizeChange?.(Number(e)))}return(e,t)=>(N(),W(`span`,{class:F(Y(o).e(`sizes`))},[J(Y(LE),{"model-value":c.value,disabled:e.disabled,"popper-class":e.popperClass,"popper-style":e.popperStyle,size:e.size,teleported:e.teleported,"validate-event":!1,"append-to":e.appendSizeTo,onChange:u},{default:V(()=>[(N(!0),W(R,null,r(l.value,e=>(N(),H(Y(RE),{key:e,value:e,label:e+Y(a)(`el.pagination.pagesize`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`model-value`,`disabled`,`popper-class`,`popper-style`,`size`,`teleported`,`append-to`])],2))}}),YI=Q({size:{type:String,values:wr}}),XI=[`disabled`],ZI=z({name:`ElPaginationJumper`,__name:`jumper`,props:YI,setup(e){let{t}=Dp(),n=$(`pagination`),{pageCount:r,disabled:i,currentPage:a,changeEvent:o}=qI(),s=q(),c=K(()=>s.value??a?.value);function l(e){s.value=e?+e:``}function u(e){e=Math.trunc(+e),o?.(e),s.value=void 0}return(e,a)=>(N(),W(`span`,{class:F(Y(n).e(`jump`)),disabled:Y(i)},[B(`span`,{class:F([Y(n).e(`goto`)])},S(Y(t)(`el.pagination.goto`)),3),J(Y(zS),{size:e.size,class:F([Y(n).e(`editor`),Y(n).is(`in-pagination`)]),min:1,max:Y(r),disabled:Y(i),"model-value":c.value,"validate-event":!1,"aria-label":Y(t)(`el.pagination.page`),type:`number`,"onUpdate:modelValue":l,onChange:u},null,8,[`size`,`class`,`max`,`disabled`,`model-value`,`aria-label`]),B(`span`,{class:F([Y(n).e(`classifier`)])},S(Y(t)(`el.pagination.pageClassifier`)),3)],10,XI))}}),QI=Q({total:{type:Number,default:1e3}}),$I=[`disabled`],eL=z({name:`ElPaginationTotal`,__name:`total`,props:QI,setup(e){let{t}=Dp(),n=$(`pagination`),{disabled:r}=qI();return(e,i)=>(N(),W(`span`,{class:F(Y(n).e(`total`)),disabled:Y(r)},S(Y(t)(`el.pagination.total`,{total:e.total})),11,$I))}}),tL=Q({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),nL=[`aria-current`,`aria-label`,`tabindex`],rL=[`tabindex`,`aria-label`],iL=[`aria-current`,`aria-label`,`tabindex`],aL=[`tabindex`,`aria-label`],oL=[`aria-current`,`aria-label`,`tabindex`],sL=z({name:`ElPaginationPager`,__name:`pager`,props:tL,emits:[xr],setup(e,{emit:t}){let n=e,i=t,a=$(`pager`),o=$(`icon`),{t:s}=Dp(),c=q(!1),l=q(!1),u=q(!1),d=q(!1),f=q(!1),p=q(!1),m=K(()=>{let e=n.pagerCount,t=(e-1)/2,r=Number(n.currentPage),i=Number(n.pageCount),a=!1,o=!1;i>e&&(r>e-t&&(a=!0),r[`more`,`btn-quickprev`,o.b(),a.is(`disabled`,n.disabled)]),g=K(()=>[`more`,`btn-quicknext`,o.b(),a.is(`disabled`,n.disabled)]),_=K(()=>n.disabled?-1:0);M(()=>[n.pageCount,n.pagerCount,n.currentPage],([e,t,n])=>{let r=(t-1)/2,i=!1,a=!1;e>t&&(i=n>t-r,a=na&&(r=a)),r!==o&&i(xr,r)}return(e,t)=>(N(),W(`ul`,{class:F(Y(a).b()),onClick:x,onKeyup:jn(b,[`enter`])},[e.pageCount>0?(N(),W(`li`,{key:0,class:F([[Y(a).is(`active`,e.currentPage===1),Y(a).is(`disabled`,e.disabled)],`number`]),"aria-current":e.currentPage===1,"aria-label":Y(s)(`el.pagination.currentPage`,{pager:1}),tabindex:_.value},` 1 `,10,nL)):G(`v-if`,!0),c.value?(N(),W(`li`,{key:1,class:F(h.value),tabindex:_.value,"aria-label":Y(s)(`el.pagination.prevPages`,{pager:e.pagerCount-2}),onMouseenter:t[0]||=e=>v(!0),onMouseleave:t[1]||=e=>u.value=!1,onFocus:t[2]||=e=>y(!0),onBlur:t[3]||=e=>f.value=!1},[(u.value||f.value)&&!e.disabled?(N(),H(Y(ny),{key:0})):(N(),H(Y(py),{key:1}))],42,rL)):G(`v-if`,!0),(N(!0),W(R,null,r(m.value,t=>(N(),W(`li`,{key:t,class:F([[Y(a).is(`active`,e.currentPage===t),Y(a).is(`disabled`,e.disabled)],`number`]),"aria-current":e.currentPage===t,"aria-label":Y(s)(`el.pagination.currentPage`,{pager:t}),tabindex:_.value},S(t),11,iL))),128)),l.value?(N(),W(`li`,{key:2,class:F(g.value),tabindex:_.value,"aria-label":Y(s)(`el.pagination.nextPages`,{pager:e.pagerCount-2}),onMouseenter:t[4]||=e=>v(),onMouseleave:t[5]||=e=>d.value=!1,onFocus:t[6]||=e=>y(),onBlur:t[7]||=e=>p.value=!1},[(d.value||p.value)&&!e.disabled?(N(),H(Y(ry),{key:0})):(N(),H(Y(py),{key:1}))],42,aL)):G(`v-if`,!0),e.pageCount>1?(N(),W(`li`,{key:3,class:F([[Y(a).is(`active`,e.currentPage===e.pageCount),Y(a).is(`disabled`,e.disabled)],`number`]),"aria-current":e.currentPage===e.pageCount,"aria-label":Y(s)(`el.pagination.currentPage`,{pager:e.pageCount}),tabindex:_.value},S(e.pageCount),11,oL)):G(`v-if`,!0)],34))}}),cL=e=>typeof e!=`number`,lL=Q({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>Md(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:Z(Array),default:()=>DS([10,20,30,40,50,100])},popperClass:{type:String,default:``},popperStyle:{type:Z([String,Object])},prevText:{type:String,default:``},prevIcon:{type:Ny,default:()=>Vv},nextText:{type:String,default:``},nextIcon:{type:Ny,default:()=>Hv},teleported:{type:Boolean,default:!0},small:Boolean,size:xv,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),uL={"update:current-page":e=>Md(e),"update:page-size":e=>Md(e),"size-change":e=>Md(e),change:(e,t)=>Md(e)&&Md(t),"current-change":e=>Md(e),"prev-click":e=>Md(e),"next-click":e=>Md(e)},dL=`ElPagination`,fL=Pv(z({name:dL,props:lL,emits:uL,setup(e,{emit:t,slots:n}){let{t:r}=Dp(),i=$(`pagination`),a=Xe().vnode.props||{},o=Cv(),s=K(()=>e.small?`small`:e.size??o.value);Zf({from:`small`,replacement:`size`,version:`3.0.0`,scope:`el-pagination`,ref:`https://element-plus.org/zh-CN/component/pagination.html`},K(()=>!!e.small));let c=`onUpdate:currentPage`in a||`onUpdate:current-page`in a||`onCurrentChange`in a,l=`onUpdate:pageSize`in a||`onUpdate:page-size`in a||`onSizeChange`in a,u=K(()=>{if(cL(e.total)&&cL(e.pageCount)||!cL(e.currentPage)&&!c)return!1;if(e.layout.includes(`sizes`)){if(!cL(e.pageCount)){if(!l)return!1}else if(!cL(e.total)&&!cL(e.pageSize)&&!l)return!1}return!0}),d=q(cL(e.defaultPageSize)?10:e.defaultPageSize),f=q(cL(e.defaultCurrentPage)?1:e.defaultCurrentPage),p=K({get(){return cL(e.pageSize)?d.value:e.pageSize},set(n){cL(e.pageSize)&&(d.value=n),l&&(t(`update:page-size`,n),t(`size-change`,n))}}),m=K(()=>{let t=0;return cL(e.pageCount)?cL(e.total)||(t=Math.max(1,Math.ceil(e.total/p.value))):t=e.pageCount,t}),h=K({get(){return cL(e.currentPage)?f.value:e.currentPage},set(n){let r=n;n<1?r=1:n>m.value&&(r=m.value),cL(e.currentPage)&&(f.value=r),c&&(t(`update:current-page`,r),t(`current-change`,r))}});M(m,e=>{h.value>e&&(h.value=e)}),M([h,p],e=>{t(xr,...e)},{flush:`post`});function g(e){h.value=e}function _(e){p.value=e;let t=m.value;h.value>t&&(h.value=t)}function v(){e.disabled||(--h.value,t(`prev-click`,h.value))}function y(){e.disabled||(h.value+=1,t(`next-click`,h.value))}function b(e,t){e&&(e.props||={},e.props.class=[e.props.class,t].join(` `))}return Qe(LI,{pageCount:m,disabled:K(()=>e.disabled),currentPage:h,changeEvent:g,handleSizeChange:_}),()=>{if(!u.value)return Jd(dL,r(`el.pagination.deprecationWarning`)),null;if(!e.layout||e.hideOnSinglePage&&m.value<=1)return null;let t=[],a=[],o=Je(`div`,{class:i.e(`rightwrapper`)},a),c={prev:Je(HI,{disabled:e.disabled,currentPage:h.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:v}),jumper:Je(ZI,{size:s.value}),pager:Je(sL,{currentPage:h.value,pageCount:m.value,pagerCount:e.pagerCount,onChange:g,disabled:e.disabled}),next:Je(KI,{disabled:e.disabled,currentPage:h.value,pageCount:m.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:y}),sizes:Je(JI,{pageSize:p.value,pageSizes:e.pageSizes,popperClass:e.popperClass,popperStyle:e.popperStyle,disabled:e.disabled,teleported:e.teleported,size:s.value,appendSizeTo:e.appendSizeTo}),slot:n?.default?.()??null,total:Je(eL,{total:cL(e.total)?0:e.total})},l=e.layout.split(`,`).map(e=>e.trim()),d=!1;return l.forEach(e=>{if(e===`->`){d=!0;return}d?a.push(c[e]):t.push(c[e])}),b(t[0],i.is(`first`)),b(t[t.length-1],i.is(`last`)),d&&a.length>0&&(b(a[0],i.is(`first`)),b(a[a.length-1],i.is(`last`)),t.push(o)),Je(`div`,{class:[i.b(),i.is(`background`,e.background),i.m(s.value)]},t)}}})),pL=Pv(z({name:`ElPopconfirm`,__name:`popconfirm`,props:Q({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:AC,default:`primary`},cancelButtonType:{type:String,values:AC,default:`text`},icon:{type:Ny,default:()=>vy},iconColor:{type:String,default:`#f90`},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:{...fS.effect,default:`light`},teleported:fS.teleported,persistent:fS.persistent,width:{type:[String,Number],default:150},virtualTriggering:pS.virtualTriggering,virtualRef:pS.virtualRef}),emits:{confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent},setup(e,{expose:t,emit:n}){let r=e,i=n,{t:a}=Dp(),o=$(`popconfirm`),s=q(),c=q(),l=K(()=>Y(s)?.popperRef),u=()=>{c.value?.focus?.()},d=()=>{s.value?.onClose?.()},f=K(()=>({width:bp(r.width)})),p=e=>{i(`confirm`,e),d()},h=e=>{i(`cancel`,e),d()},g=K(()=>r.confirmButtonText||a(`el.popconfirm.confirmButtonText`)),_=K(()=>r.cancelButtonText||a(`el.popconfirm.cancelButtonText`));return t({popperRef:l,hide:d}),(t,n)=>(N(),H(Y(ES),k({ref_key:`tooltipRef`,ref:s,trigger:`click`,effect:e.effect},t.$attrs,{"virtual-triggering":e.virtualTriggering,"virtual-ref":e.virtualRef,"popper-class":`${Y(o).namespace.value}-popover`,"popper-style":f.value,teleported:e.teleported,"fallback-placements":[`bottom`,`top`,`right`,`left`],"hide-after":e.hideAfter,persistent:e.persistent,loop:``,onShow:u}),{content:V(()=>[B(`div`,{ref_key:`rootRef`,ref:c,tabindex:`-1`,class:F(Y(o).b())},[B(`div`,{class:F(Y(o).e(`main`))},[!e.hideIcon&&e.icon?(N(),H(Y(By),{key:0,class:F(Y(o).e(`icon`)),style:m({color:e.iconColor})},{default:V(()=>[(N(),H(L(e.icon)))]),_:1},8,[`class`,`style`])):G(`v-if`,!0),Ke(` `+S(e.title),1)],2),B(`div`,{class:F(Y(o).e(`action`))},[I(t.$slots,`actions`,{confirm:p,cancel:h},()=>[J(Y(xw),{size:`small`,type:e.cancelButtonType===`text`?``:e.cancelButtonType,text:e.cancelButtonType===`text`,onClick:h},{default:V(()=>[Ke(S(_.value),1)]),_:1},8,[`type`,`text`]),J(Y(xw),{size:`small`,type:e.confirmButtonType===`text`?``:e.confirmButtonType,text:e.confirmButtonType===`text`,onClick:p},{default:V(()=>[Ke(S(g.value),1)]),_:1},8,[`type`,`text`])])],2)],2)]),default:V(()=>[t.$slots.reference?I(t.$slots,`reference`,{key:0}):G(`v-if`,!0)]),_:3},16,[`effect`,`virtual-triggering`,`virtual-ref`,`popper-class`,`popper-style`,`teleported`,`hide-after`,`persistent`]))}})),mL=Q({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:Z(String),default:`round`},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:Z([String,Array,Function]),default:``},striped:Boolean,stripedFlow:Boolean,format:{type:Z(Function),default:e=>`${e}%`}}),hL=[`aria-valuenow`],gL={viewBox:`0 0 100 100`},_L=[`d`,`stroke`,`stroke-linecap`,`stroke-width`],vL=[`d`,`stroke`,`opacity`,`stroke-linecap`,`stroke-width`],yL={key:0},bL=Pv(z({name:`ElProgress`,__name:`progress`,props:mL,setup(e){let t={success:`#13ce66`,exception:`#ff4949`,warning:`#e6a23c`,default:`#20a0ff`},r=e,i=$(`progress`),a=K(()=>{let e={width:`${r.percentage}%`,animationDuration:`${r.duration}s`},t=b(r.percentage);return t.includes(`gradient`)?e.background=t:e.backgroundColor=t,e}),o=K(()=>(r.strokeWidth/r.width*100).toFixed(1)),s=K(()=>[`circle`,`dashboard`].includes(r.type)?Number.parseInt(`${50-Number.parseFloat(o.value)/2}`,10):0),c=K(()=>{let e=s.value,t=r.type===`dashboard`;return` + M 50 50 + m 0 ${t?``:`-`}${e} + a ${e} ${e} 0 1 1 0 ${t?`-`:``}${e*2} + a ${e} ${e} 0 1 1 0 ${t?``:`-`}${e*2} + `}),l=K(()=>2*Math.PI*s.value),u=K(()=>r.type===`dashboard`?.75:1),d=K(()=>`${-1*l.value*(1-u.value)/2}px`),f=K(()=>({strokeDasharray:`${l.value*u.value}px, ${l.value}px`,strokeDashoffset:d.value})),p=K(()=>({strokeDasharray:`${l.value*u.value*(r.percentage/100)}px, ${l.value}px`,strokeDashoffset:d.value,transition:`stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s`})),h=K(()=>{let e;return e=r.color?b(r.percentage):t[r.status]||t.default,e}),g=K(()=>r.status===`warning`?Ay:r.type===`line`?r.status===`success`?Xv:Qv:r.status===`success`?Jv:ey),_=K(()=>r.type===`line`?12+r.strokeWidth*.4:r.width*.111111+2),v=K(()=>r.format(r.percentage));function y(e){let t=100/e.length;return e.map((e,n)=>P(e)?{color:e,percentage:(n+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}let b=e=>{let{color:t}=r;if(n(t))return t(e);if(P(t))return t;{let n=y(t);for(let t of n)if(t.percentage>e)return t.color;return n[n.length-1]?.color}};return(t,n)=>(N(),W(`div`,{class:F([Y(i).b(),Y(i).m(e.type),Y(i).is(e.status),{[Y(i).m(`without-text`)]:!e.showText,[Y(i).m(`text-inside`)]:e.textInside}]),role:`progressbar`,"aria-valuenow":e.percentage,"aria-valuemin":`0`,"aria-valuemax":`100`},[e.type===`line`?(N(),W(`div`,{key:0,class:F(Y(i).b(`bar`))},[B(`div`,{class:F(Y(i).be(`bar`,`outer`)),style:m({height:`${e.strokeWidth}px`})},[B(`div`,{class:F([Y(i).be(`bar`,`inner`),{[Y(i).bem(`bar`,`inner`,`indeterminate`)]:e.indeterminate},{[Y(i).bem(`bar`,`inner`,`striped`)]:e.striped},{[Y(i).bem(`bar`,`inner`,`striped-flow`)]:e.stripedFlow}]),style:m(a.value)},[(e.showText||t.$slots.default)&&e.textInside?(N(),W(`div`,{key:0,class:F(Y(i).be(`bar`,`innerText`))},[I(t.$slots,`default`,{percentage:e.percentage},()=>[B(`span`,null,S(v.value),1)])],2)):G(`v-if`,!0)],6)],6)],2)):(N(),W(`div`,{key:1,class:F(Y(i).b(`circle`)),style:m({height:`${e.width}px`,width:`${e.width}px`})},[(N(),W(`svg`,gL,[B(`path`,{class:F(Y(i).be(`circle`,`track`)),d:c.value,stroke:`var(${Y(i).cssVarName(`fill-color-light`)}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":o.value,fill:`none`,style:m(f.value)},null,14,_L),B(`path`,{class:F(Y(i).be(`circle`,`path`)),d:c.value,stroke:h.value,fill:`none`,opacity:+!!e.percentage,"stroke-linecap":e.strokeLinecap,"stroke-width":o.value,style:m(p.value)},null,14,vL)]))],6)),(e.showText||t.$slots.default)&&!e.textInside?(N(),W(`div`,{key:2,class:F(Y(i).e(`text`)),style:m({fontSize:`${_.value}px`})},[I(t.$slots,`default`,{percentage:e.percentage},()=>[e.status?(N(),H(Y(By),{key:1},{default:V(()=>[(N(),H(L(g.value)))]),_:1})):(N(),W(`span`,yL,S(v.value),1))])],6)):G(`v-if`,!0)],10,hL))}})),xL=Q({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:Z([Array,Object]),default:()=>DS([``,``,``])},voidColor:{type:String,default:``},disabledVoidColor:{type:String,default:``},icons:{type:Z([Array,Object]),default:()=>[Ey,Ey,Ey]},voidIcon:{type:Ny,default:()=>Dy},disabledVoidIcon:{type:Ny,default:()=>Ey},disabled:{type:Boolean,default:void 0},allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:``},texts:{type:Z(Array),default:()=>DS([`Extremely bad`,`Disappointed`,`Fair`,`Satisfied`,`Surprise`])},scoreTemplate:{type:String,default:`{value}`},size:xv,clearable:Boolean,...Mv([`ariaLabel`])}),SL={[xr]:e=>Md(e),[br]:e=>Md(e)},CL=[`id`,`aria-label`,`aria-labelledby`,`aria-valuenow`,`aria-valuetext`,`aria-valuemax`,`tabindex`,`aria-disabled`],wL=[`onMousemove`,`onClick`],TL=Pv(z({name:`ElRate`,__name:`rate`,props:xL,emits:SL,setup(e,{expose:t,emit:n}){function i(e,t){let n=e=>E(e),r=t[Object.keys(t).map(e=>+e).filter(r=>{let i=t[r];return n(i)&&i.excluded?ee-t)[0]];return n(r)&&r.value||r}let a=e,o=n,s=l(sb,void 0),c=cb(),u=$(`rate`),{inputId:d,isLabeledByFormItem:f}=db(a,{formItemContext:s}),p=q(Ts(a.modelValue,0,a.max)),h=q(-1),g=q(!0),_=q([]),v=K(()=>_.value.map(e=>e.$el.clientWidth)),y=K(()=>[u.b(),u.m(c.value)]),b=lb(),x=K(()=>u.cssVarBlock({"void-color":a.voidColor,"disabled-void-color":a.disabledVoidColor,"fill-color":D.value})),C=K(()=>{let e=``;return a.showScore?e=a.scoreTemplate.replace(/\{\s*value\s*\}/,b.value?`${a.modelValue}`:`${p.value}`):a.showText&&(e=a.texts[Math.ceil(p.value)-1]),e}),w=K(()=>a.modelValue*100-Math.floor(a.modelValue)*100),T=K(()=>A(a.colors)?{[a.lowThreshold]:a.colors[0],[a.highThreshold]:{value:a.colors[1],excluded:!0},[a.max]:a.colors[2]}:a.colors),D=K(()=>{let e=i(p.value,T.value);return E(e)?``:e}),O=K(()=>{let e=``;return b.value?e=`${w.value}%`:a.allowHalf&&(e=`50%`),{color:D.value,width:e}}),k=K(()=>{let e=A(a.icons)?[...a.icons]:{...a.icons};return e=Ie(e),A(e)?{[a.lowThreshold]:e[0],[a.highThreshold]:{value:e[1],excluded:!0},[a.max]:e[2]}:e}),ee=K(()=>i(a.modelValue,k.value)),j=K(()=>b.value?P(a.disabledVoidIcon)?a.disabledVoidIcon:Ie(a.disabledVoidIcon):P(a.voidIcon)?a.voidIcon:Ie(a.voidIcon)),te=K(()=>i(p.value,k.value));function ne(e){let t=b.value&&w.value>0&&e-1a.modelValue,n=a.allowHalf&&g.value&&e-.5<=p.value&&e>p.value;return t||n}function re(e){a.clearable&&e===a.modelValue&&(e=0),o(br,e),a.modelValue!==e&&o(xr,e)}function ie(e){b.value||(a.allowHalf&&g.value?re(p.value):re(e))}function ae(e){if(b.value)return;let t=Kp(e),n=a.allowHalf?.5:1,r=p.value;switch(t){case X.up:case X.right:r+=n;break;case X.left:case X.down:r-=n;break}if(r=Ts(r,0,a.max),r!==p.value)return e.stopPropagation(),e.preventDefault(),o(br,r),o(xr,r),r}function I(e,t){b.value||(a.allowHalf&&t?(g.value=t.offsetX*2<=v.value[e-1],p.value=g.value?e-.5:e):p.value=e,h.value=e)}function oe(){b.value||(a.allowHalf&&(g.value=a.modelValue!==Math.floor(a.modelValue)),p.value=Ts(a.modelValue,0,a.max),h.value=-1)}return M(()=>a.modelValue,e=>{p.value=Ts(e,0,a.max),g.value=a.modelValue!==Math.floor(a.modelValue)}),a.modelValue||o(br,0),t({setCurrentValue:I,resetCurrentValue:oe}),(t,n)=>(N(),W(`div`,{id:Y(d),class:F([y.value,Y(u).is(`disabled`,Y(b))]),role:`slider`,"aria-label":Y(f)?void 0:e.ariaLabel||`rating`,"aria-labelledby":Y(f)?Y(s)?.labelId:void 0,"aria-valuenow":p.value,"aria-valuetext":C.value||void 0,"aria-valuemin":`0`,"aria-valuemax":e.max,style:m(x.value),tabindex:Y(b)?void 0:0,"aria-disabled":Y(b),onKeydown:ae},[(N(!0),W(R,null,r(e.max,(e,t)=>(N(),W(`span`,{key:t,class:F(Y(u).e(`item`)),onMousemove:t=>I(e,t),onMouseleave:oe,onClick:t=>ie(e)},[J(Y(By),{ref_for:!0,ref_key:`iconRefs`,ref:_,class:F([Y(u).e(`icon`),{hover:h.value===e},Y(u).is(`active`,e<=p.value),Y(u).is(`focus-visible`,e===Math.ceil(p.value||1))])},{default:V(()=>[Ge((N(),H(L(te.value),null,null,512)),[[jt,!ne(e)&&e<=p.value]]),Ge((N(),H(L(j.value),null,null,512)),[[jt,!ne(e)&&e>p.value]]),Ge((N(),H(L(j.value),{class:F([Y(u).em(`decimal`,`box`)])},null,8,[`class`])),[[jt,ne(e)]]),Ge(J(Y(By),{style:m(O.value),class:F([Y(u).e(`icon`),Y(u).e(`decimal`)])},{default:V(()=>[(N(),H(L(ee.value)))]),_:1},8,[`style`,`class`]),[[jt,ne(e)]])]),_:2},1032,[`class`])],42,wL))),128)),e.showText||e.showScore?(N(),W(`span`,{key:0,class:F(Y(u).e(`text`)),style:m({color:e.textColor})},S(C.value),7)):G(`v-if`,!0)],46,CL))}})),EL={primary:`icon-primary`,success:`icon-success`,warning:`icon-warning`,error:`icon-error`,info:`icon-info`},DL={[EL.primary]:cy,[EL.success]:Yv,[EL.warning]:Ay,[EL.error]:Zv,[EL.info]:cy},OL=Pv(z({name:`ElResult`,__name:`result`,props:Q({title:{type:String,default:``},subTitle:{type:String,default:``},icon:{type:String,values:[`primary`,`success`,`warning`,`info`,`error`],default:`info`}}),setup(e){let t=e,n=$(`result`),r=K(()=>{let e=t.icon,n=e&&EL[e]?EL[e]:`icon-info`;return{class:n,component:DL[n]||DL[`icon-info`]}});return(t,i)=>(N(),W(`div`,{class:F(Y(n).b())},[B(`div`,{class:F(Y(n).e(`icon`))},[I(t.$slots,`icon`,{},()=>[r.value.component?(N(),H(L(r.value.component),{key:0,class:F(r.value.class)},null,8,[`class`])):G(`v-if`,!0)])],2),e.title||t.$slots.title?(N(),W(`div`,{key:0,class:F(Y(n).e(`title`))},[I(t.$slots,`title`,{},()=>[B(`p`,null,S(e.title),1)])],2)):G(`v-if`,!0),e.subTitle||t.$slots[`sub-title`]?(N(),W(`div`,{key:1,class:F(Y(n).e(`subtitle`))},[I(t.$slots,`sub-title`,{},()=>[B(`p`,null,S(e.subTitle),1)])],2)):G(`v-if`,!0),t.$slots.extra?(N(),W(`div`,{key:2,class:F(Y(n).e(`extra`))},[I(t.$slots,`extra`)],2)):G(`v-if`,!0)],2))}})),kL=Symbol(`ElSelectV2Injection`),AL=Q({allowCreate:Boolean,autocomplete:{type:Z(String),default:`none`},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Ny,default:Qv},effect:{type:Z(String),default:`light`},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:Z(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:Z(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:Z([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:Z(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:Z(Array),required:!0},placeholder:{type:String},teleported:fS.teleported,persistent:{type:Boolean,default:!0},popperClass:fS.popperClass,popperStyle:fS.popperStyle,popperOptions:{type:Z(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:xv,props:{type:Z(Object),default:()=>lE},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:Z(String),values:fm,default:`bottom-start`},fallbackPlacements:{type:Z(Array),default:[`bottom-start`,`top-start`,`right`,`left`]},tagType:{...nE.type,default:`info`},tagEffect:{...nE.effect,default:`light`},tabindex:{type:[String,Number],default:0},appendTo:fS.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return jd(e)||Md(e)}},suffixIcon:{type:Ny,default:Bv},...kv,...Mv([`ariaLabel`])}),jL=Q({data:Array,disabled:Boolean,hovering:Boolean,item:{type:Z(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),ML={[br]:e=>!0,[xr]:e=>!0,"end-reached":US[`end-reached`],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},NL={hover:e=>Md(e),select:(e,t)=>!0},PL=z({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:$(`select`)}}});function FL(e,t,n,r,i,a){return N(),W(`div`,{class:F(e.ns.be(`group`,`title`)),style:m({...e.style,lineHeight:`${e.height}px`})},S(e.item.label),7)}var IL=$x(PL,[[`render`,FL]]);function LL(e,{emit:t}){return{hoverItem:()=>{e.disabled||t(`hover`,e.index)},selectOptionClick:()=>{e.disabled||t(`select`,e.item,e.index)}}}var RL=z({props:jL,emits:NL,setup(e,{emit:t}){let n=l(kL),r=$(`select`),i=uf?null:`mousemove`,{hoverItem:a,selectOptionClick:o}=LL(e,{emit:t}),{getLabel:s}=uE(n.props);return{ns:r,contentId:n.contentId,mouseMoveEventName:i,hoverItem:a,handleMousedown:e=>{let t=e.target,n=e.currentTarget;for(;t&&t!==n;){if(rp(t))return;t=t.parentElement}e.preventDefault()},selectOptionClick:o,getLabel:s}}}),zL=[`id`,`aria-selected`,`aria-disabled`];function BL(e,t,n,r,i,a){return N(),W(`li`,k({id:`${e.contentId}-${e.index}`,role:`option`,"aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:e.style,class:[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)]},{[ze(e.mouseMoveEventName)]:t[0]||=(...t)=>e.hoverItem&&e.hoverItem(...t)},{onMousedown:t[1]||=(...t)=>e.handleMousedown&&e.handleMousedown(...t),onClick:t[2]||=kn((...t)=>e.selectOptionClick&&e.selectOptionClick(...t),[`stop`])}),[I(e.$slots,`default`,{item:e.item,index:e.index,disabled:e.disabled},()=>[B(`span`,null,S(e.getLabel(e.item)),1)])],16,zL)}var VL=$x(RL,[[`render`,BL]]),HL=z({name:`ElSelectDropdown`,props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String},emits:{"end-reached":US[`end-reached`]},setup(e,{slots:t,expose:n,emit:r}){let i=l(kL),a=$(`select`),{getLabel:o,getValue:s,getDisabled:c}=uE(i.props),u=q([]),d=q(),f=K(()=>e.data.length);M(()=>f.value,()=>{i.tooltipRef.value?.updatePopper?.()});let p=K(()=>Ad(i.props.estimatedOptionHeight)),m=K(()=>p.value?{itemSize:i.props.itemHeight}:{estimatedSize:i.props.estimatedOptionHeight,itemSize:e=>u.value[e]}),h=(e=[],t)=>{let{props:{valueKey:n}}=i;return E(t)?e&&e.some(e=>Me(ss(e,n))===ss(t,n)):e.includes(t)},g=(e,t)=>{if(E(t)){let{valueKey:n}=i.props;return ss(e,n)===ss(t,n)}else return e===t},_=(e,t)=>i.props.multiple?h(e,s(t)):g(e,s(t)),v=(e,t)=>{let{disabled:n,multiple:r,multipleLimit:a}=i.props;return n||!t&&(r?a>0&&e.length>=a:!1)},y=t=>e.hoveringIndex===t;n({listRef:d,isSized:p,isItemDisabled:v,isItemHovering:y,isItemSelected:_,scrollToItem:e=>{let t=d.value;t&&t.scrollToItem(e)},resetScrollTop:()=>{let e=d.value;e&&e.resetScrollTop()}});let b=e=>{let{index:n,data:r,style:a}=e,s=Y(p),{itemSize:l,estimatedSize:u}=Y(m),{modelValue:d}=i.props,{onSelect:f,onHover:h}=i,g=r[n];if(g.type===`Group`)return J(IL,{item:g,style:a,height:s?l:u},null);let b=_(d,g),x=v(d,b),S=y(n);return J(VL,k(e,{selected:b,disabled:c(g)||x,created:!!g.created,hovering:S,item:g,onSelect:f,onHover:h}),{default:e=>t.default?.(e)||J(`span`,null,[o(g)])})},{onKeyboardNavigate:x,onKeyboardSelect:S}=i,C=()=>{x(`forward`)},w=()=>{x(`backward`)},T=e=>{let t=Kp(e),{tab:n,esc:r,down:i,up:a,enter:o,numpadEnter:s}=X;switch([r,i,a,o,s].includes(t)&&(e.preventDefault(),e.stopPropagation()),t){case n:case r:break;case i:C();break;case a:w();break;case o:case s:S();break}},D=e=>{r(`end-reached`,e)};return()=>{let{data:n,width:r}=e,{height:o,multiple:s,scrollbarAlwaysOn:c}=i.props,l=uf?!0:c,u=Y(p)?gO:CO;return J(`div`,{class:[a.b(`dropdown`),a.is(`multiple`,s)],style:{width:`${r}px`}},[t.header?.(),t.loading?.()||t.empty?.()||J(u,k({ref:d},Y(m),{className:a.be(`dropdown`,`list`),scrollbarAlwaysOn:l,data:n,height:o,width:r,total:n.length,innerElement:`ul`,innerProps:{id:e.id,role:`listbox`,"aria-label":e.ariaLabel,"aria-orientation":`vertical`},onEndReached:D,onKeydown:T}),{default:e=>J(b,e,null)}),t.footer?.()])}}});function UL(e,t){let{aliasProps:n,getLabel:r,getValue:i}=uE(e),a=q(0),o=q(),s=K(()=>e.allowCreate&&e.filterable);M(()=>e.options,e=>{let n=new Set(e.map(e=>r(e)));t.createdOptions=t.createdOptions.filter(e=>!n.has(r(e)))});function c(n){let i=e=>r(e)===n;return e.options&&e.options.some(i)||t.createdOptions.some(i)}function l(t){s.value&&(e.multiple&&t.created?a.value++:o.value=t)}function u(i){if(s.value)if(i&&i.length>0){if(c(i)){t.createdOptions=t.createdOptions.filter(e=>r(e)!==t.previousQuery);return}let e={[n.value.value]:i,[n.value.label]:i,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=a.value?t.createdOptions[a.value]=e:t.createdOptions.push(e)}else if(e.multiple)t.createdOptions.length=a.value;else{let e=o.value;t.createdOptions.length=0,e&&e.created&&t.createdOptions.push(e)}}function d(n){if(!s.value||!n||!n.created||n.created&&e.reserveKeyword&&t.inputValue===r(n))return;let o=t.createdOptions.findIndex(e=>i(e)===i(n));~o&&(t.createdOptions.splice(o,1),a.value--)}function f(){s.value&&(t.createdOptions.length=0,a.value=0)}return{createNewOption:u,removeNewOption:d,selectNewOption:l,clearAllNewOption:f}}var WL=(t,r)=>{let{t:i}=Dp(),a=le(),o=$(`select`),s=$(`input`),{form:c,formItem:l}=ub(),{inputId:u}=db(t,{formItemContext:l}),{aliasProps:f,getLabel:p,getValue:m,getDisabled:h,getOptions:g}=uE(t),{valueOnClear:_,isEmptyValue:v}=Av(t),y=ve({inputValue:``,cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:``,menuVisibleOnFocus:!1,isBeforeHide:!1}),b=q(-1),x=q(!1),S=q(),C=q(),w=q(),T=q(),D=q(),O=q(),k=q(),ee=q(),j=q(),N=q(),{isComposing:P,handleCompositionStart:te,handleCompositionEnd:ne,handleCompositionUpdate:re}=Tv({afterComposition:e=>ft(e)}),ie=lb(),{wrapperRef:ae,isFocused:F,handleBlur:I}=wv(D,{disabled:ie,afterFocus(){t.automaticDropdown&&!ce.value&&(ce.value=!0,y.menuVisibleOnFocus=!0)},beforeBlur(e){return w.value?.isFocusInsideContent(e)||T.value?.isFocusInsideContent(e)},afterBlur(){ce.value=!1,y.menuVisibleOnFocus=!1,t.validateEvent&&l?.validate?.(`blur`).catch(ge)}}),oe=K(()=>be(``)),L=K(()=>t.loading?!1:t.options.length>0||y.createdOptions.length>0),se=q([]),ce=q(!1),ue=K(()=>c?.statusIcon??!1),de=K(()=>{let e=se.value.length*t.itemHeight;return e>t.height?t.height:e}),fe=K(()=>t.multiple?A(t.modelValue)&&t.modelValue.length>0:!v(t.modelValue)),pe=K(()=>t.clearable&&!ie.value&&fe.value&&(F.value||y.inputHovering)),me=K(()=>t.remote&&t.filterable&&!t.remoteShowSuffix?``:t.suffixIcon),R=K(()=>me.value&&o.is(`reverse`,ce.value)),he=K(()=>l?.validateState||``),z=K(()=>{if(he.value)return Ly[he.value]}),_e=K(()=>t.remote?t.debounce:0),B=K(()=>t.remote&&!y.inputValue&&!L.value),ye=K(()=>t.loading?t.loadingText||i(`el.select.loading`):t.filterable&&y.inputValue&&L.value&&se.value.length===0?t.noMatchText||i(`el.select.noMatch`):L.value?null:t.noDataText||i(`el.select.noData`)),V=K(()=>t.filterable&&n(t.filterMethod)),H=K(()=>t.filterable&&t.remote&&n(t.remoteMethod)),be=e=>{let n=new RegExp(dp(e),`i`),r=t=>V.value||H.value?!0:e?n.test(p(t)||``):!0;return t.loading?[]:[...y.createdOptions,...t.options].reduce((e,n)=>{let i=g(n);if(A(i)){let t=i.filter(r);t.length>0&&e.push({label:p(n),type:`Group`},...t)}else (t.remote||r(n))&&e.push(n);return e},[])},xe=()=>{se.value=be(y.inputValue)},Se=K(()=>{let e=new Map;return oe.value.forEach((t,n)=>{e.set(Ye(m(t)),{option:t,index:n})}),e}),Ce=K(()=>{let e=new Map;return se.value.forEach((t,n)=>{e.set(Ye(m(t)),{option:t,index:n})}),e}),we=K(()=>se.value.every(e=>h(e))),Te=cb(),Ee=K(()=>Te.value===`small`?`small`:`default`),De=()=>{if(Md(t.fitInputWidth)){b.value=t.fitInputWidth;return}let e=S.value?.offsetWidth||200;!t.fitInputWidth&&L.value?U(()=>{b.value=Math.max(e,Oe())}):b.value=e},Oe=()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=o.be(`dropdown`,`item`),n=(ee.value?.listRef?.innerRef||document).querySelector(`.${t}`);if(n===null||e===null)return 0;let r=getComputedStyle(n),i=Number.parseFloat(r.paddingLeft)+Number.parseFloat(r.paddingRight);return e.font=`bold ${r.font.replace(RegExp(`\\b${r.fontWeight}\\b`),``)}`,se.value.reduce((t,n)=>{let r=e.measureText(p(n));return Math.max(r.width,t)},0)+i},ke=()=>{if(!C.value)return 0;let e=window.getComputedStyle(C.value);return Number.parseFloat(e.gap||`6px`)},Ae=K(()=>{let e=ke(),n=t.filterable?e+11:0;return{maxWidth:`${N.value&&t.maxCollapseTags===1?y.selectionWidth-y.collapseItemWidth-e-n:y.selectionWidth-n}px`}}),je=K(()=>({maxWidth:`${y.selectionWidth}px`})),W=K(()=>A(t.modelValue)?t.modelValue.length===0&&!y.inputValue:t.filterable?!y.inputValue:!0),Me=K(()=>{let e=t.placeholder??i(`el.select.placeholder`);return t.multiple||!fe.value?e:y.selectedLabel}),Ne=K(()=>w.value?.popperRef?.contentRef),Pe=K(()=>{if(t.multiple){let e=t.modelValue.length;if(e>0&&Ce.value.has(t.modelValue[e-1])){let{index:n}=Ce.value.get(t.modelValue[e-1]);return n}}else if(!v(t.modelValue)&&Ce.value.has(t.modelValue)){let{index:e}=Ce.value.get(t.modelValue);return e}return-1}),Fe=K({get(){return ce.value&&(t.loading||!B.value||t.remote&&!!a.empty)&&(!x.value||!Nd(y.previousQuery)||L.value)},set(e){ce.value=e}}),Ie=K(()=>t.multiple?t.collapseTags?y.cachedOptions.slice(0,t.maxCollapseTags):y.cachedOptions:[]),G=K(()=>t.multiple&&t.collapseTags?y.cachedOptions.slice(t.maxCollapseTags):[]),{createNewOption:Le,removeNewOption:Re,selectNewOption:ze,clearAllNewOption:Be}=UL(t,y),Ve=e=>{ie.value||t.filterable&&ce.value&&e&&!k.value?.contains(e.target)||(y.menuVisibleOnFocus?y.menuVisibleOnFocus=!1:ce.value=!ce.value)},He=()=>{y.inputValue.length>0&&!ce.value&&(ce.value=!0),Le(y.inputValue),U(()=>{We(y.inputValue)})},Ue=bf(()=>{He(),x.value=!1},_e),We=e=>{y.previousQuery===e||P.value||(y.previousQuery=e,t.filterable&&n(t.filterMethod)?t.filterMethod(e):t.filterable&&t.remote&&n(t.remoteMethod)&&t.remoteMethod(e),t.defaultFirstOption&&(t.filterable||t.remote)&&se.value.length?U(Ge):U(dt))},Ge=()=>{let e=se.value.filter(e=>!e.disabled&&e.type!==`Group`),t=e.find(e=>e.created),n=e[0];y.hoveringIndex=Je(se.value,t||n)},Ke=e=>{sd(t.modelValue,e)||r(xr,e)},qe=e=>{r(br,e),Ke(e),y.previousValue=t.multiple?String(e):e,U(()=>{if(t.multiple&&A(t.modelValue)){let e=y.cachedOptions.slice(),n=t.modelValue.map(t=>gt(t,e));sd(y.cachedOptions,n)||(y.cachedOptions=n)}else vt(!0)})},Je=(e=[],n)=>{if(!E(n))return e.indexOf(n);let r=t.valueKey,i=-1;return e.some((e,t)=>ss(e,r)===ss(n,r)?(i=t,!0):!1),i},Ye=e=>E(e)?ss(e,t.valueKey):e,Xe=()=>{De()},Ze=e=>{r(`end-reached`,e)},J=()=>{y.selectionWidth=Number.parseFloat(window.getComputedStyle(C.value).width)},Y=()=>{y.collapseItemWidth=N.value.getBoundingClientRect().width},Qe=()=>{w.value?.updatePopper?.()},$e=()=>{T.value?.updatePopper?.()},et=e=>{let n=m(e);if(t.multiple){let r=t.modelValue.slice(),i=Je(r,n);i>-1?(r=[...r.slice(0,i),...r.slice(i+1)],y.cachedOptions.splice(i,1),Re(e)):(t.multipleLimit<=0||r.length{let i=t.modelValue.slice(),a=Je(i,m(n));a>-1&&!ie.value&&(i=[...t.modelValue.slice(0,a),...t.modelValue.slice(a+1)],y.cachedOptions.splice(a,1),qe(i),r(`remove-tag`,m(n)),Re(n)),e.stopPropagation(),nt()},nt=()=>{D.value?.focus()},rt=()=>{if(ce.value){ce.value=!1,U(()=>D.value?.blur());return}D.value?.blur()},it=()=>{y.inputValue.length>0?y.inputValue=``:ce.value=!1},at=e=>$u(e,e=>!y.cachedOptions.some(t=>m(t)===e&&h(t))),ot=e=>{let n=Kp(e);if(t.multiple&&n!==X.delete&&y.inputValue.length===0){e.preventDefault();let n=t.modelValue.slice(),i=at(n);if(i<0)return;let a=n[i];n.splice(i,1);let o=y.cachedOptions[i];y.cachedOptions.splice(i,1),Re(o),qe(n),r(`remove-tag`,a)}},st=()=>{let e;e=A(t.modelValue)?[]:_.value,y.selectedLabel=``,ce.value=!1,qe(e),r(`clear`),Be(),nt()},ct=(e,t=void 0)=>{let n=se.value;if(![`forward`,`backward`].includes(e)||ie.value||n.length<=0||we.value||P.value)return;if(!ce.value)return Ve();Ad(t)&&(t=y.hoveringIndex);let r=-1;e===`forward`?(r=t+1,r>=n.length&&(r=0)):e===`backward`&&(r=t-1,(r<0||r>=n.length)&&(r=n.length-1));let i=n[r];if(h(i)||i.type===`Group`)return ct(e,r);y.hoveringIndex=r,ht(r)},lt=()=>{if(ce.value)~y.hoveringIndex&&se.value[y.hoveringIndex]&&et(se.value[y.hoveringIndex]);else return Ve()},ut=e=>{y.hoveringIndex=e??-1},dt=()=>{if(!t.multiple)y.hoveringIndex=se.value.findIndex(e=>Ye(m(e))===Ye(t.modelValue));else{let e=t.modelValue.length;if(e>0){let n=t.modelValue[e-1];y.hoveringIndex=se.value.findIndex(e=>Ye(n)===Ye(m(e)))}else y.hoveringIndex=-1}},ft=e=>{if(y.inputValue=e.target.value,t.remote)x.value=!0,Ue();else return He()},pt=e=>{ce.value=!1,F.value&&I(new FocusEvent(`blur`,e))},mt=()=>(y.isBeforeHide=!1,U(()=>{~Pe.value&&ht(Pe.value)})),ht=e=>{ee.value.scrollToItem(e)},gt=(e,t)=>{let n=Ye(e);if(Se.value.has(n)){let{option:e}=Se.value.get(n);return e}if(t&&t.length){let e=t.find(e=>Ye(m(e))===n);if(e)return e}return{[f.value.value]:e,[f.value.label]:e}},_t=e=>Se.value.get(m(e))?.index??-1,vt=(e=!1)=>{if(t.multiple)if(t.modelValue.length>0){let e=y.cachedOptions.slice();y.cachedOptions.length=0,y.previousValue=t.modelValue.toString();for(let n of t.modelValue){let t=gt(n,e);y.cachedOptions.push(t)}}else y.cachedOptions=[],y.previousValue=void 0;else if(fe.value){y.previousValue=t.modelValue;let n=se.value,r=n.findIndex(e=>Ye(m(e))===Ye(t.modelValue));~r?y.selectedLabel=p(n[r]):(!y.selectedLabel||e)&&(y.selectedLabel=Ye(t.modelValue))}else y.selectedLabel=``,y.previousValue=void 0;Be(),De()};M(()=>t.fitInputWidth,()=>{De()}),M(ce,e=>{e?(t.persistent||De(),We(``)):(y.inputValue=``,y.previousQuery=null,y.isBeforeHide=!0,y.menuVisibleOnFocus=!1,Le(``))}),M(()=>t.modelValue,(e,n)=>{(!e||A(e)&&e.length===0||t.multiple&&!sd(e.toString(),y.previousValue)||!t.multiple&&Ye(e)!==Ye(y.previousValue))&&vt(!0),!sd(e,n)&&t.validateEvent&&l?.validate?.(`change`).catch(ge)},{deep:!0}),M(()=>t.options,()=>{let e=D.value;(!e||e&&document.activeElement!==e)&&vt()},{deep:!0,flush:`post`}),M(()=>se.value,()=>(De(),ee.value&&U(ee.value.resetScrollTop))),e(()=>{y.isBeforeHide||xe()}),e(()=>{let{valueKey:e,options:n}=t,r=new Map;for(let t of n){let n=m(t),i=n;if(E(i)&&(i=ss(n,e)),r.get(i)){Jd(`ElSelectV2`,`The option values you provided seem to be duplicated, which may cause some problems, please check.`);break}else r.set(i,!0)}}),d(()=>{vt()}),Uf(S,Xe),Uf(C,J),Uf(ae,Qe),Uf(j,$e),Uf(N,Y);let yt;return M(()=>Fe.value,e=>{e?yt=Uf(ee,Qe).stop:(yt?.(),yt=void 0),r(`visible-change`,e)}),{inputId:u,collapseTagSize:Ee,currentPlaceholder:Me,expanded:ce,emptyText:ye,popupHeight:de,debounce:_e,allOptions:oe,allOptionsValueMap:Se,filteredOptions:se,iconComponent:me,iconReverse:R,tagStyle:Ae,collapseTagStyle:je,popperSize:b,dropdownMenuVisible:Fe,hasModelValue:fe,shouldShowPlaceholder:W,selectDisabled:ie,selectSize:Te,needStatusIcon:ue,showClearBtn:pe,states:y,isFocused:F,nsSelect:o,nsInput:s,inputRef:D,menuRef:ee,tagMenuRef:j,tooltipRef:w,tagTooltipRef:T,selectRef:S,wrapperRef:ae,selectionRef:C,prefixRef:O,suffixRef:k,collapseItemRef:N,popperRef:Ne,validateState:he,validateIcon:z,showTagList:Ie,collapseTagList:G,debouncedOnInputChange:Ue,deleteTag:tt,getLabel:p,getValue:m,getDisabled:h,getValueKey:Ye,getIndex:_t,handleClear:st,handleClickOutside:pt,handleDel:ot,handleEsc:it,focus:nt,blur:rt,handleMenuEnter:mt,handleResize:Xe,resetSelectionWidth:J,updateTooltip:Qe,updateTagTooltip:$e,updateOptions:xe,toggleMenu:Ve,scrollTo:ht,onInput:ft,onKeyboardNavigate:ct,onKeyboardSelect:lt,onEndReached:Ze,onSelect:et,onHover:ut,handleCompositionStart:te,handleCompositionEnd:ne,handleCompositionUpdate:re}},GL=z({name:`ElSelectV2`,components:{ElSelectMenu:HL,ElTag:oE,ElTooltip:ES,ElIcon:By},directives:{ClickOutside:eT},props:AL,emits:ML,setup(e,{emit:t}){let n=K(()=>{let{modelValue:t,multiple:n}=e,r=n?[]:void 0;return A(t)?n?t:r:n?r:t}),r=WL(ve({...Se(e),modelValue:n}),t),{calculatorRef:i,inputStyle:a}=Xf(),o=rg();Qe(kL,{props:ve({...Se(e),height:r.popupHeight,modelValue:n}),expanded:r.expanded,tooltipRef:r.tooltipRef,contentId:o,onSelect:r.onSelect,onHover:r.onHover,onKeyboardNavigate:r.onKeyboardNavigate,onKeyboardSelect:r.onKeyboardSelect});let s=K(()=>e.multiple?r.states.cachedOptions.map(e=>r.getLabel(e)):r.states.selectedLabel);return{...r,modelValue:n,selectedLabel:s,calculatorRef:i,inputStyle:a,contentId:o,BORDER_HORIZONTAL_WIDTH:2}}}),KL=[`id`,`value`,`autocomplete`,`tabindex`,`aria-expanded`,`aria-label`,`disabled`,`aria-controls`,`aria-activedescendant`,`readonly`,`name`],qL=[`textContent`],JL={key:1};function YL(e,t,n,i,o,s){let c=h(`el-tag`),l=h(`el-tooltip`),u=h(`el-icon`),d=h(`el-select-menu`),f=ae(`click-outside`);return Ge((N(),W(`div`,{ref:`selectRef`,class:F([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||=t=>e.states.inputHovering=!0,onMouseleave:t[16]||=t=>e.states.inputHovering=!1},[J(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=>e.states.isBeforeHide=!1},{default:V(()=>[B(`div`,{ref:`wrapperRef`,class:F([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]||=kn((...t)=>e.toggleMenu&&e.toggleMenu(...t),[`prevent`])},[e.$slots.prefix?(N(),W(`div`,{key:0,ref:`prefixRef`,class:F(e.nsSelect.e(`prefix`))},[I(e.$slots,`prefix`)],2)):G(`v-if`,!0),B(`div`,{ref:`selectionRef`,class:F([e.nsSelect.e(`selection`),e.nsSelect.is(`near`,e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?I(e.$slots,`tag`,{key:0,data:e.states.cachedOptions,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(N(!0),W(R,null,r(e.showTagList,t=>(N(),W(`div`,{key:e.getValueKey(e.getValue(t)),class:F(e.nsSelect.e(`selected-item`))},[J(c,{closable:!e.selectDisabled&&!e.getDisabled(t),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":``,style:m(e.tagStyle),onClose:n=>e.deleteTag(n,t)},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},[I(e.$slots,`label`,{index:e.getIndex(t),label:e.getLabel(t),value:e.getValue(t)},()=>[Ke(S(e.getLabel(t)),1)])],2)]),_:2},1032,[`closable`,`size`,`type`,`effect`,`style`,`onClose`])],2))),128)),e.collapseTags&&e.states.cachedOptions.length>e.maxCollapseTags?(N(),H(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:V(()=>[B(`div`,{ref:`collapseItemRef`,class:F(e.nsSelect.e(`selected-item`))},[J(c,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,style:m(e.collapseTagStyle),"disable-transitions":``},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},` + `+S(e.states.cachedOptions.length-e.maxCollapseTags),3)]),_:1},8,[`size`,`type`,`effect`,`style`])],2)]),content:V(()=>[B(`div`,{ref:`tagMenuRef`,class:F(e.nsSelect.e(`selection`))},[(N(!0),W(R,null,r(e.collapseTagList,t=>(N(),W(`div`,{key:e.getValueKey(e.getValue(t)),class:F(e.nsSelect.e(`selected-item`))},[J(c,{class:`in-tooltip`,closable:!e.selectDisabled&&!e.getDisabled(t),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":``,onClose:n=>e.deleteTag(n,t)},{default:V(()=>[B(`span`,{class:F(e.nsSelect.e(`tags-text`))},[I(e.$slots,`label`,{index:e.getIndex(t),label:e.getLabel(t),value:e.getValue(t)},()=>[Ke(S(e.getLabel(t)),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`])):G(`v-if`,!0)]):G(`v-if`,!0),B(`div`,{class:F([e.nsSelect.e(`selected-item`),e.nsSelect.e(`input-wrapper`),e.nsSelect.is(`hidden`,!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[B(`input`,{id:e.inputId,ref:`inputRef`,value:e.states.inputValue,style:m(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:F([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)=>e.onInput&&e.onInput(...t),onChange:t[1]||=kn(()=>{},[`stop`]),onCompositionstart:t[2]||=(...t)=>e.handleCompositionStart&&e.handleCompositionStart(...t),onCompositionupdate:t[3]||=(...t)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...t),onCompositionend:t[4]||=(...t)=>e.handleCompositionEnd&&e.handleCompositionEnd(...t),onKeydown:[t[5]||=jn(kn(t=>e.onKeyboardNavigate(`backward`),[`stop`,`prevent`]),[`up`]),t[6]||=jn(kn(t=>e.onKeyboardNavigate(`forward`),[`stop`,`prevent`]),[`down`]),t[7]||=jn(kn((...t)=>e.onKeyboardSelect&&e.onKeyboardSelect(...t),[`stop`,`prevent`]),[`enter`]),t[8]||=jn(kn((...t)=>e.handleEsc&&e.handleEsc(...t),[`stop`,`prevent`]),[`esc`]),t[9]||=jn(kn((...t)=>e.handleDel&&e.handleDel(...t),[`stop`]),[`delete`])],onClick:t[10]||=kn((...t)=>e.toggleMenu&&e.toggleMenu(...t),[`stop`])},null,46,KL),e.filterable?(N(),W(`span`,{key:0,ref:`calculatorRef`,"aria-hidden":`true`,class:F(e.nsSelect.e(`input-calculator`)),textContent:S(e.states.inputValue)},null,10,qL)):G(`v-if`,!0)],2),e.shouldShowPlaceholder?(N(),W(`div`,{key:1,class:F([e.nsSelect.e(`selected-item`),e.nsSelect.e(`placeholder`),e.nsSelect.is(`transparent`,!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?I(e.$slots,`label`,{key:0,index:e.allOptionsValueMap.get(e.modelValue)?.index??-1,label:e.currentPlaceholder,value:e.modelValue},()=>[B(`span`,null,S(e.currentPlaceholder),1)]):(N(),W(`span`,JL,S(e.currentPlaceholder),1))],2)):G(`v-if`,!0)],2),B(`div`,{ref:`suffixRef`,class:F(e.nsSelect.e(`suffix`))},[e.iconComponent?Ge((N(),H(u,{key:0,class:F([e.nsSelect.e(`caret`),e.nsInput.e(`icon`),e.iconReverse])},{default:V(()=>[(N(),H(L(e.iconComponent)))]),_:1},8,[`class`])),[[jt,!e.showClearBtn]]):G(`v-if`,!0),e.showClearBtn&&e.clearIcon?(N(),H(u,{key:1,class:F([e.nsSelect.e(`caret`),e.nsInput.e(`icon`),e.nsSelect.e(`clear`)]),onClick:kn(e.handleClear,[`prevent`,`stop`])},{default:V(()=>[(N(),H(L(e.clearIcon)))]),_:1},8,[`class`,`onClick`])):G(`v-if`,!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(N(),H(u,{key:2,class:F([e.nsInput.e(`icon`),e.nsInput.e(`validateIcon`),e.nsInput.is(`loading`,e.validateState===`validating`)])},{default:V(()=>[(N(),H(L(e.validateIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)],2)]),content:V(()=>[J(d,{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},xe({default:V(t=>[I(e.$slots,`default`,se(a(t)))]),_:2},[e.$slots.header?{name:`header`,fn:V(()=>[B(`div`,{class:F(e.nsSelect.be(`dropdown`,`header`)),onClick:t[12]||=kn(()=>{},[`stop`])},[I(e.$slots,`header`)],2)]),key:`0`}:void 0,e.$slots.loading&&e.loading?{name:`loading`,fn:V(()=>[B(`div`,{class:F(e.nsSelect.be(`dropdown`,`loading`))},[I(e.$slots,`loading`)],2)]),key:`1`}:e.loading||e.filteredOptions.length===0?{name:`empty`,fn:V(()=>[B(`div`,{class:F(e.nsSelect.be(`dropdown`,`empty`))},[I(e.$slots,`empty`,{},()=>[B(`span`,null,S(e.emptyText),1)])],2)]),key:`2`}:void 0,e.$slots.footer?{name:`footer`,fn:V(()=>[B(`div`,{class:F(e.nsSelect.be(`dropdown`,`footer`)),onClick:t[13]||=kn(()=>{},[`stop`])},[I(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)),[[f,e.handleClickOutside,e.popperRef]])}var XL=Pv($x(GL,[[`render`,YL]])),ZL=Q({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:Z([Number,Object])}}),QL=z({name:`ElSkeletonItem`,__name:`skeleton-item`,props:Q({variant:{type:String,values:[`circle`,`rect`,`h1`,`h3`,`text`,`caption`,`p`,`image`,`button`],default:`text`}}),setup(e){let t=$(`skeleton`);return(n,r)=>(N(),W(`div`,{class:F([Y(t).e(`item`),Y(t).e(e.variant)])},[e.variant===`image`?(N(),H(Y(gy),{key:0})):G(`v-if`,!0)],2))}}),$L=Pv(z({name:`ElSkeleton`,__name:`skeleton`,props:ZL,setup(e,{expose:t}){let n=e,i=$(`skeleton`),a=Qh(we(n,`loading`),n.throttle);return t({uiLoading:a}),(t,n)=>Y(a)?(N(),W(`div`,k({key:0,class:[Y(i).b(),Y(i).is(`animated`,e.animated)]},t.$attrs),[(N(!0),W(R,null,r(e.count,n=>(N(),W(R,{key:n},[Y(a)?I(t.$slots,`template`,{key:n},()=>[J(QL,{class:F(Y(i).is(`first`)),variant:`p`},null,8,[`class`]),(N(!0),W(R,null,r(e.rows,t=>(N(),H(QL,{key:t,class:F([Y(i).e(`paragraph`),Y(i).is(`last`,t===e.rows&&e.rows>1)]),variant:`p`},null,8,[`class`]))),128))]):G(`v-if`,!0)],64))),128))],16)):I(t.$slots,`default`,se(k({key:1},t.$attrs)))}}),{SkeletonItem:QL}),eR=Lv(QL),tR=Symbol(`sliderContextKey`),nR=Q({modelValue:{type:Z([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Z([Number,String]),default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:xv,inputSize:xv,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:Z(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:Z(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:fm,default:`top`},marks:{type:Z(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...Mv([`ariaLabel`])}),rR=e=>Md(e)||A(e)&&e.every(Md),iR={[br]:rR,[Sr]:rR,[xr]:rR},aR=(e,t,n)=>{let r=q();return d(async()=>{e.range?(A(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]):(!Md(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),kf(window,`resize`,n),await U(),n()}),{sliderWrapper:r}},oR=t=>{let n=K(()=>t.marks?Object.keys(t.marks).map(Number.parseFloat).sort((e,t)=>e-t).filter(e=>e<=t.max&&e>=t.min).map(e=>({point:e,position:(e-t.min)*100/(t.max-t.min),mark:t.marks[e]})):[]);return e(()=>{if(t.step===`mark`&&!t.marks&&Jd(`ElSlider`,`marks prop must be provided when step is mark`),t.marks){let e=Object.keys(t.marks),r=n.value.map(e=>e.point),i=e.filter(e=>{let t=Number.parseFloat(e);return Number.isNaN(t)||!r.includes(t)});i.length>0&&Jd(`ElSlider`,`Some marks keys are invalid (not a number or out of [min, max]): [${i.map(e=>`'${e}'`).join(`, `)}] and will be ignored.`)}}),n},sR=(e,t,n)=>{let{formItem:r}=ub(),i=Le(),a=q(),o=q(),s={firstButton:a,secondButton:o},c=lb(),l=K(()=>Math.min(t.firstValue,t.secondValue)),u=K(()=>Math.max(t.firstValue,t.secondValue)),d=K(()=>e.range?`${100*(u.value-l.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),f=K(()=>e.range?`${100*(l.value-e.min)/(e.max-e.min)}%`:`0%`),p=K(()=>e.vertical?{height:e.height}:{}),m=K(()=>e.vertical?{height:d.value,bottom:f.value}:{width:d.value,left:f.value}),h=()=>{i.value&&(t.sliderSize=i.value.getBoundingClientRect()[e.vertical?`height`:`width`])},g=n=>{let r=e.min+n*(e.max-e.min)/100;if(!e.range)return a;let i;return i=Math.abs(l.value-r)t.secondValue?`firstButton`:`secondButton`,s[i]},_=e=>{let t=g(e);return t.value.setPosition(e),t},v=n=>{t.firstValue=n??e.min,b(e.range?[l.value,u.value]:n??e.min)},y=n=>{t.secondValue=n,e.range&&b([l.value,u.value])},b=e=>{n(br,e),n(Sr,e)},x=async()=>{await U(),n(xr,e.range?[l.value,u.value]:e.modelValue)},S=n=>{if(c.value||t.dragging)return;h();let r=0;if(e.vertical){let e=n.touches?.item(0)?.clientY??n.clientY;r=(i.value.getBoundingClientRect().bottom-e)/t.sliderSize*100}else r=((n.touches?.item(0)?.clientX??n.clientX)-i.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(r<0||r>100))return _(r)};return{elFormItem:r,slider:i,firstButton:a,secondButton:o,sliderDisabled:c,minValue:l,maxValue:u,runwayStyle:p,barStyle:m,resetSize:h,setPosition:_,emitChange:x,onSliderWrapperPrevent:e=>{(s.firstButton.value?.dragging||s.secondButton.value?.dragging)&&e.preventDefault()},onSliderClick:e=>{S(e)&&x()},onSliderDown:async e=>{let t=S(e);t&&(await U(),t.value.onButtonDown(e))},onSliderMarkerDown:e=>{c.value||t.dragging||_(e)&&x()},setFirstValue:v,setSecondValue:y}},cR=(e,t,n,r)=>({stops:K(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===`mark`||e.step===0)return e.step===0&&Jd(`ElSlider`,`step should not be 0.`),[];let i=Math.ceil((e.max-e.min)/e.step),a=100*e.step/(e.max-e.min),o=Array.from({length:i-1}).map((e,t)=>(t+1)*a);return e.range?o.filter(t=>t<100*(n.value-e.min)/(e.max-e.min)||t>100*(r.value-e.min)/(e.max-e.min)):o.filter(n=>n>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:t=>e.vertical?{bottom:`${t}%`}:{left:`${t}%`}}),lR=(e,t,n,r,i,a)=>{let o=e=>{i(br,e),i(Sr,e)},s=()=>e.range?![n.value,r.value].every((e,n)=>e===t.oldValue[n]):e.modelValue!==t.oldValue,c=()=>{e.min>e.max&&qd(`Slider`,`min should not be greater than max.`);let n=e.modelValue;e.range&&A(n)?n[1]e.max?o([e.max,e.max]):n[0]e.max?o([n[0],e.max]):(t.firstValue=n[0],t.secondValue=n[1],s()&&(e.validateEvent&&a?.validate?.(`change`).catch(ge),t.oldValue=n.slice())):!e.range&&Md(n)&&!Number.isNaN(n)&&(ne.max?o(e.max):(t.firstValue=n,s()&&(e.validateEvent&&a?.validate?.(`change`).catch(ge),t.oldValue=n)))};c(),M(()=>t.dragging,e=>{e||c()}),M(()=>e.modelValue,(e,n)=>{t.dragging||A(e)&&A(n)&&e.every((e,t)=>e===n[t])&&t.firstValue===e[0]&&t.secondValue===e[1]||c()},{deep:!0}),M(()=>[e.min,e.max],()=>{c()})},uR=(e,t,n)=>{let r=q(),i=q(!1),a=K(()=>t.value instanceof Function);return{tooltip:r,tooltipVisible:i,formatValue:K(()=>a.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:Hu(()=>{n.value&&(i.value=!0)},50),hideTooltip:Hu(()=>{n.value&&(i.value=!1)},50)}},dR=(e,t,n)=>{let{disabled:r,min:i,max:a,step:o,showTooltip:s,persistent:c,precision:u,sliderSize:d,formatTooltip:f,emitChange:p,resetSize:m,updateDragging:h,markList:g}=l(tR),{tooltip:_,tooltipVisible:v,formatValue:y,displayTooltip:b,hideTooltip:x}=uR(e,f,s),S=q(),C=K(()=>`${(e.modelValue-i.value)/(a.value-i.value)*100}%`),w=K(()=>e.vertical?{bottom:C.value}:{left:C.value}),T=K(()=>o.value===`mark`&&g.value.length>0),E=()=>{t.hovering=!0,b()},D=()=>{t.hovering=!1,t.dragging||x()},O=e=>{r.value||(e.preventDefault(),ae(e),window.addEventListener(`mousemove`,F),window.addEventListener(`touchmove`,F),window.addEventListener(`mouseup`,I),window.addEventListener(`touchend`,I),window.addEventListener(`contextmenu`,I),S.value.focus())},k=e=>{r.value||(t.newPosition=Number.parseFloat(C.value)+e/(a.value-i.value)*100,oe(t.newPosition),p())},A=t=>{if(r.value||!g.value.length)return;let n=e.modelValue,o=2**-52,s=Math.abs(t),c;if(t>0){let e=g.value.findIndex(e=>e.point>n+o);if(e!==-1){let t=Math.min(e+s-1,g.value.length-1);c=g.value[t].point}}else{let e=-1;for(let t=g.value.length-1;t>=0;t--)if(g.value[t].point{T.value?A(-1):Md(o.value)&&k(-o.value)},j=()=>{T.value?A(1):Md(o.value)&&k(o.value)},N=()=>{T.value?A(-4):Md(o.value)&&k(-o.value*4)},P=()=>{T.value?A(4):Md(o.value)&&k(o.value*4)},te=()=>{r.value||(oe(0),p())},ne=()=>{r.value||(oe(100),p())},re=e=>{let t=Kp(e),n=!0;switch(t){case X.left:case X.down:ee();break;case X.right:case X.up:j();break;case X.home:te();break;case X.end:ne();break;case X.pageDown:N();break;case X.pageUp:P();break;default:n=!1;break}n&&e.preventDefault()},ie=e=>{let t,n;return e.type.startsWith(`touch`)?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}},ae=n=>{t.dragging=!0,t.isClick=!0;let{clientX:r,clientY:i}=ie(n);e.vertical?t.startY=i:t.startX=r,t.startPosition=Number.parseFloat(C.value),t.newPosition=t.startPosition},F=n=>{if(t.dragging){t.isClick=!1,b(),m();let r,{clientX:i,clientY:a}=ie(n);e.vertical?(t.currentY=a,r=(t.startY-t.currentY)/d.value*100):(t.currentX=i,r=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+r,oe(t.newPosition)}},I=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||x(),t.isClick||oe(t.newPosition),p()},0),window.removeEventListener(`mousemove`,F),window.removeEventListener(`touchmove`,F),window.removeEventListener(`mouseup`,I),window.removeEventListener(`touchend`,I),window.removeEventListener(`contextmenu`,I))},oe=async r=>{if(r===null||Number.isNaN(+r))return;r=Ts(r,0,100);let s;if(o.value===`mark`)s=g.value.length===0?r<=50?i.value:a.value:g.value.reduce((e,t)=>Math.abs(t.position-r)t.dragging,e=>{h(e)}),kf(S,`touchstart`,O,{passive:!1}),{disabled:r,button:S,tooltip:_,tooltipVisible:v,showTooltip:s,persistent:c,wrapperStyle:w,formatValue:y,handleMouseEnter:E,handleMouseLeave:D,onButtonDown:O,onKeyDown:re,setPosition:oe}},fR=Q({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:fm,default:`top`}}),pR={[br]:e=>Md(e)},mR=[`tabindex`],hR=z({name:`ElSliderButton`,__name:`button`,props:fR,emits:pR,setup(e,{expose:t,emit:n}){let r=e,i=n,a=$(`slider`),o=ve({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:r.modelValue}),s=K(()=>d.value?f.value:!1),{disabled:c,button:l,tooltip:u,showTooltip:d,persistent:f,tooltipVisible:p,wrapperStyle:h,formatValue:g,handleMouseEnter:_,handleMouseLeave:v,onButtonDown:y,onKeyDown:b,setPosition:x}=dR(r,o,i),{hovering:C,dragging:w}=Se(o);return t({onButtonDown:y,onKeyDown:b,setPosition:x,hovering:C,dragging:w}),(e,t)=>(N(),W(`div`,{ref_key:`button`,ref:l,class:F([Y(a).e(`button-wrapper`),{hover:Y(C),dragging:Y(w)}]),style:m(Y(h)),tabindex:Y(c)?void 0:0,onMouseenter:t[0]||=(...e)=>Y(_)&&Y(_)(...e),onMouseleave:t[1]||=(...e)=>Y(v)&&Y(v)(...e),onMousedown:t[2]||=(...e)=>Y(y)&&Y(y)(...e),onFocus:t[3]||=(...e)=>Y(_)&&Y(_)(...e),onBlur:t[4]||=(...e)=>Y(v)&&Y(v)(...e),onKeydown:t[5]||=(...e)=>Y(b)&&Y(b)(...e)},[J(Y(ES),{ref_key:`tooltip`,ref:u,visible:Y(p),placement:e.placement,"fallback-placements":[`top`,`bottom`,`right`,`left`],"stop-popper-mouse-event":!1,"popper-class":e.tooltipClass,disabled:!Y(d),persistent:s.value},{content:V(()=>[B(`span`,null,S(Y(g)),1)]),default:V(()=>[B(`div`,{class:F([Y(a).e(`button`),{hover:Y(C),dragging:Y(w)}])},null,2)]),_:1},8,[`visible`,`placement`,`popper-class`,`disabled`,`persistent`])],46,mR))}}),gR=z({name:`ElSliderMarker`,props:Q({mark:{type:Z([String,Object]),default:void 0}}),setup(e){let t=$(`slider`),n=K(()=>P(e.mark)?e.mark:e.mark.label),r=K(()=>P(e.mark)?void 0:e.mark.style);return()=>Je(`div`,{class:t.e(`marks-text`),style:r.value},n.value)}}),_R=[`id`,`role`,`aria-label`,`aria-labelledby`],vR={key:1},yR=Pv(z({name:`ElSlider`,__name:`slider`,props:nR,emits:iR,setup(e,{expose:t,emit:n}){let i=e,a=n,o=$(`slider`),{t:s}=Dp(),c=ve({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:l,slider:u,firstButton:d,secondButton:f,sliderDisabled:p,minValue:h,maxValue:g,runwayStyle:_,barStyle:v,resetSize:y,emitChange:b,onSliderWrapperPrevent:x,onSliderClick:S,onSliderDown:C,onSliderMarkerDown:w,setFirstValue:T,setSecondValue:E}=sR(i,c,a),{stops:D,getStopStyle:O}=cR(i,c,h,g),{inputId:k,isLabeledByFormItem:A}=db(i,{formItemContext:l}),ee=cb(),j=K(()=>i.inputSize||ee.value),M=K(()=>i.showInput&&!i.range&&i.step!==`mark`),P=K(()=>i.ariaLabel||s(`el.slider.defaultLabel`,{min:i.min,max:i.max})),te=K(()=>i.range?i.rangeStartLabel||s(`el.slider.defaultRangeStartLabel`):P.value),ne=K(()=>i.formatValueText?i.formatValueText(ce.value):`${ce.value}`),re=K(()=>i.rangeEndLabel||s(`el.slider.defaultRangeEndLabel`)),ie=K(()=>i.formatValueText?i.formatValueText(le.value):`${le.value}`),ae=K(()=>[o.b(),o.m(ee.value),o.is(`vertical`,i.vertical),{[o.m(`with-input`)]:M.value}]),I=oR(i);lR(i,c,h,g,a,l);let oe=K(()=>Md(i.step)?i.step:1),L=K(()=>{let e=Md(i.step)?i.step:1,t=[i.min,i.max,e].map(e=>{let t=`${e}`.split(`.`)[1];return t?t.length:0});return Math.max.apply(null,t)}),{sliderWrapper:se}=aR(i,c,y),{firstValue:ce,secondValue:le,sliderSize:ue}=Se(c),de=e=>{c.dragging=e};return kf(se,`touchstart`,x,{passive:!1}),kf(se,`touchmove`,x,{passive:!1}),Qe(tR,{...Se(i),sliderSize:ue,disabled:p,precision:L,markList:I,emitChange:b,resetSize:y,updateDragging:de}),t({onSliderClick:S}),(e,t)=>(N(),W(`div`,{id:e.range?Y(k):void 0,ref_key:`sliderWrapper`,ref:se,class:F(ae.value),role:e.range?`group`:void 0,"aria-label":e.range&&!Y(A)?P.value:void 0,"aria-labelledby":e.range&&Y(A)?Y(l)?.labelId:void 0},[B(`div`,{ref_key:`slider`,ref:u,class:F([Y(o).e(`runway`),{"show-input":M.value},Y(o).is(`disabled`,Y(p))]),style:m(Y(_)),onMousedown:t[0]||=(...e)=>Y(C)&&Y(C)(...e),onTouchstartPassive:t[1]||=(...e)=>Y(C)&&Y(C)(...e)},[B(`div`,{class:F(Y(o).e(`bar`)),style:m(Y(v))},null,6),J(hR,{id:e.range?void 0:Y(k),ref_key:`firstButton`,ref:d,"model-value":Y(ce),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":e.range||!Y(A)?te.value:void 0,"aria-labelledby":!e.range&&Y(A)?Y(l)?.labelId:void 0,"aria-valuemin":e.min,"aria-valuemax":e.range?Y(le):e.max,"aria-valuenow":Y(ce),"aria-valuetext":ne.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":Y(p),"onUpdate:modelValue":Y(T)},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`]),e.range?(N(),H(hR,{key:0,ref_key:`secondButton`,ref:f,"model-value":Y(le),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":re.value,"aria-valuemin":Y(ce),"aria-valuemax":e.max,"aria-valuenow":Y(le),"aria-valuetext":ie.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":Y(p),"onUpdate:modelValue":Y(E)},null,8,[`model-value`,`vertical`,`tooltip-class`,`placement`,`aria-label`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`aria-disabled`,`onUpdate:modelValue`])):G(`v-if`,!0),e.showStops?(N(),W(`div`,vR,[(N(!0),W(R,null,r(Y(D),(e,t)=>(N(),W(`div`,{key:t,class:F(Y(o).e(`stop`)),style:m(Y(O)(e))},null,6))),128))])):G(`v-if`,!0),Y(I).length>0?(N(),W(R,{key:2},[B(`div`,null,[(N(!0),W(R,null,r(Y(I),(e,t)=>(N(),W(`div`,{key:t,style:m(Y(O)(e.position)),class:F([Y(o).e(`stop`),Y(o).e(`marks-stop`)])},null,6))),128))]),B(`div`,{class:F(Y(o).e(`marks`))},[(N(!0),W(R,null,r(Y(I),(e,t)=>(N(),H(Y(gR),{key:t,mark:e.mark,style:m(Y(O)(e.position)),onMousedown:kn(t=>Y(w)(e.position),[`stop`])},null,8,[`mark`,`style`,`onMousedown`]))),128))],2)],64)):G(`v-if`,!0)],38),M.value?(N(),H(Y(HF),{key:0,ref:`input`,"model-value":Y(ce),class:F(Y(o).e(`input`)),step:oe.value,disabled:Y(p),controls:e.showInputControls,min:e.min,max:e.max,precision:L.value,size:j.value,"onUpdate:modelValue":Y(T),onChange:Y(b)},null,8,[`model-value`,`class`,`step`,`disabled`,`controls`,`min`,`max`,`precision`,`size`,`onUpdate:modelValue`,`onChange`])):G(`v-if`,!0)],10,_R))}})),bR=z({name:`ElSpaceItem`,props:Q({prefixCls:{type:String}}),setup(e,{slots:t}){let n=$(`space`),r=K(()=>`${e.prefixCls||n.b()}__item`);return()=>Je(`div`,{class:r.value},I(t,`default`))}}),xR={small:8,default:12,large:16};function SR(t){let n=$(`space`),r=K(()=>[n.b(),n.m(t.direction),t.class]),i=q(0),a=q(0),o=K(()=>[t.wrap||t.fill?{flexWrap:`wrap`}:{},{alignItems:t.alignment},{rowGap:`${a.value}px`,columnGap:`${i.value}px`},t.style]),s=K(()=>t.fill?{flexGrow:1,minWidth:`${t.fillRatio}%`}:{});return e(()=>{let{size:e=`small`,wrap:n,direction:r,fill:o}=t;if(A(e)){let[t=0,n=0]=e;i.value=t,a.value=n}else{let t;t=Md(e)?e:xR[e||`small`]||xR.small,(n||o)&&r===`horizontal`?i.value=a.value=t:r===`horizontal`?(i.value=t,a.value=0):(a.value=t,i.value=0)}}),{classes:r,containerStyle:o,itemStyle:s}}var CR=Pv(z({name:`ElSpace`,props:Q({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},class:{type:Z([String,Object,Array]),default:``},style:{type:Z([String,Array,Object,Boolean]),default:``},alignment:{type:Z(String),default:`center`},prefixCls:{type:String},spacer:{type:Z([Object,String,Number,Array]),default:null,validator:e=>s(e)||Md(e)||P(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:wr,validator:e=>Md(e)||A(e)&&e.length===2&&e.every(Md)}}),setup(e,{slots:t}){let{classes:n,containerStyle:r,itemStyle:i}=SR(e);function a(t,n=``,r=[]){let{prefixCls:o}=e;return t.forEach((e,t)=>{mv(e)?A(e.children)&&e.children.forEach((e,t)=>{mv(e)&&A(e.children)?a(e.children,`${n+t}-`,r):s(e)&&e?.type===Te?r.push(e):r.push(J(bR,{style:i.value,prefixCls:o,key:`nested-${n+t}`},{default:()=>[e]},12,[`style`,`prefixCls`]))}):gv(e)&&r.push(J(bR,{style:i.value,prefixCls:o,key:`LoopKey${n+t}`},{default:()=>[e]},12,[`style`,`prefixCls`]))}),r}return()=>{let{spacer:o,direction:c}=e,l=I(t,`default`,{key:0},()=>[]);if((l.children??[]).length===0)return null;if(A(l.children)){let e=a(l.children);if(o){let t=e.length-1;e=e.reduce((e,n,r)=>{let a=[...e,n];return r!==t&&a.push(J(`span`,{style:[i.value,c===`vertical`?`width: 100%`:null],key:r},[s(o)?o:Ke(o,1)],4)),a},[])}return J(`div`,{class:n.value,style:r.value},e,6)}return l.children}}})),wR=Q({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`}}),TR={[xr]:(e,t)=>[e,t].every(Md)},ER=`ElSteps`,DR=Q({title:{type:String,default:``},icon:{type:Ny},description:{type:String,default:``},status:{type:String,values:[``,`wait`,`process`,`finish`,`error`,`success`],default:``}}),OR=z({name:`ElSteps`,__name:`steps`,props:wR,emits:TR,setup(e,{emit:t}){let n=e,r=t,i=$(`steps`),{children:a,addChild:o,removeChild:s,ChildrenSorter:c}=bv(Xe(),`ElStep`);return M(a,()=>{a.value.forEach((e,t)=>{e.setIndex(t)})}),Qe(ER,{props:n,steps:a,addStep:o,removeStep:s}),M(()=>n.active,(e,t)=>{r(xr,e,t)}),(t,n)=>(N(),W(`div`,{class:F([Y(i).b(),Y(i).m(e.simple?`simple`:e.direction)])},[I(t.$slots,`default`),J(Y(c))],2))}}),kR=z({name:`ElStep`,__name:`item`,props:DR,setup(e){let t=e,n=$(`step`),r=q(-1),i=q({}),a=q(``),o=l(ER),s=Xe(),c=0,u=0;d(()=>{M([()=>o.props.active,()=>o.props.processStatus,()=>o.props.finishStatus],([e],[t])=>{u=t||0,c=e-u,D(e)},{immediate:!0})});let f=K(()=>t.status||a.value),p=K(()=>{let e=o.steps.value[r.value-1];return e?e.internalStatus.value:`wait`}),h=K(()=>o.props.alignCenter),g=K(()=>o.props.direction===`vertical`),_=K(()=>o.props.simple),v=K(()=>o.steps.value.length),y=K(()=>o.steps.value[v.value-1]?.uid===s.uid),b=K(()=>_.value?``:o.props.space),x=K(()=>[n.b(),n.is(_.value?`simple`:o.props.direction),n.is(`flex`,y.value&&!b.value&&!h.value),n.is(`center`,h.value&&!g.value&&!_.value)]),C=K(()=>{let e={flexBasis:Md(b.value)?`${b.value}px`:b.value?b.value:`${100/(v.value-+!h.value)}%`};return g.value||y.value&&(e.maxWidth=`${100/v.value}%`),e}),w=e=>{r.value=e},E=e=>{let t=e===`wait`,n={transitionDelay:`${Math.abs(c)===1?0:c>0?(r.value+1-u)*150:-(r.value+1-o.props.active)*150}ms`},a=e===o.props.processStatus||t?0:100;n.borderWidth=a&&!_.value?`1px`:0,n[o.props.direction===`vertical`?`height`:`width`]=`${a}%`,i.value=n},D=e=>{e>r.value?a.value=o.props.finishStatus:e===r.value&&p.value!==`error`?a.value=o.props.processStatus:a.value=`wait`;let t=o.steps.value[r.value-1];t&&t.calcProgress(a.value)},O={uid:s.uid,getVnode:()=>s.vnode,currentStatus:f,internalStatus:a,setIndex:w,calcProgress:E};return o.addStep(O),T(()=>{o.removeStep(O)}),(t,a)=>(N(),W(`div`,{style:m(C.value),class:F(x.value)},[G(` icon & line `),B(`div`,{class:F([Y(n).e(`head`),Y(n).is(f.value)])},[_.value?G(`v-if`,!0):(N(),W(`div`,{key:0,class:F(Y(n).e(`line`))},[B(`i`,{class:F(Y(n).e(`line-inner`)),style:m(i.value)},null,6)],2)),B(`div`,{class:F([Y(n).e(`icon`),Y(n).is(e.icon||t.$slots.icon?`icon`:`text`)])},[I(t.$slots,`icon`,{},()=>[e.icon?(N(),H(Y(By),{key:0,class:F(Y(n).e(`icon-inner`))},{default:V(()=>[(N(),H(L(e.icon)))]),_:1},8,[`class`])):f.value===`success`?(N(),H(Y(By),{key:1,class:F([Y(n).e(`icon-inner`),Y(n).is(`status`)])},{default:V(()=>[J(Y(Jv))]),_:1},8,[`class`])):f.value===`error`?(N(),H(Y(By),{key:2,class:F([Y(n).e(`icon-inner`),Y(n).is(`status`)])},{default:V(()=>[J(Y(ey))]),_:1},8,[`class`])):_.value?G(`v-if`,!0):(N(),W(`div`,{key:3,class:F(Y(n).e(`icon-inner`))},S(r.value+1),3))])],2)],2),G(` title & description `),B(`div`,{class:F(Y(n).e(`main`))},[B(`div`,{class:F([Y(n).e(`title`),Y(n).is(f.value)])},[I(t.$slots,`title`,{},()=>[Ke(S(e.title),1)])],2),_.value?(N(),W(`div`,{key:0,class:F(Y(n).e(`arrow`))},null,2)):(N(),W(`div`,{key:1,class:F([Y(n).e(`description`),Y(n).is(f.value)])},[I(t.$slots,`description`,{},()=>[Ke(S(e.description),1)])],2))],2)],6))}}),AR=Pv(OR,{Step:kR}),jR=Lv(kR),MR=e=>[``,...wr].includes(e),NR=Q({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:MR},width:{type:[String,Number],default:``},inlinePrompt:Boolean,inactiveActionIcon:{type:Ny},activeActionIcon:{type:Ny},activeIcon:{type:Ny},inactiveIcon:{type:Ny},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:Z(Function)},id:String,tabindex:{type:[String,Number]},...Mv([`ariaLabel`])}),PR={[br]:e=>jd(e)||P(e)||Md(e),[xr]:e=>jd(e)||P(e)||Md(e),[Sr]:e=>jd(e)||P(e)||Md(e)},FR=[`id`,`aria-checked`,`aria-disabled`,`aria-label`,`name`,`true-value`,`false-value`,`disabled`,`tabindex`],IR=[`aria-hidden`],LR={key:1},RR={key:1},zR=[`aria-hidden`],BR=`ElSwitch`,VR=Pv(z({name:BR,__name:`switch`,props:NR,emits:PR,setup(e,{expose:t,emit:n}){let r=e,i=n,{formItem:a}=ub(),o=cb(),s=$(`switch`),{inputId:c}=db(r,{formItemContext:a}),l=lb(K(()=>{if(r.loading)return!0})),u=q(r.modelValue!==!1),p=Le(),h=K(()=>[s.b(),s.m(o.value),s.is(`disabled`,l.value),s.is(`checked`,b.value)]),g=K(()=>[s.e(`label`),s.em(`label`,`left`),s.is(`active`,!b.value)]),_=K(()=>[s.e(`label`),s.em(`label`,`right`),s.is(`active`,b.value)]),v=K(()=>({width:bp(r.width)}));M(()=>r.modelValue,()=>{u.value=!0});let y=K(()=>u.value?r.modelValue:!1),b=K(()=>y.value===r.activeValue);[r.activeValue,r.inactiveValue].includes(y.value)||(Jd(BR,`model-value must be active-value or inactive-value`),i(br,r.inactiveValue),i(xr,r.inactiveValue),i(Sr,r.inactiveValue)),M(b,e=>{p.value.checked=e,r.validateEvent&&a?.validate?.(`change`).catch(ge)});let x=()=>{let e=b.value?r.inactiveValue:r.activeValue;i(br,e),i(xr,e),i(Sr,e),U(()=>{p.value.checked=b.value})},C=()=>{if(l.value)return;let{beforeChange:e}=r;if(!e){x();return}let t=e();[f(t),jd(t)].includes(!0)||qd(BR,"beforeChange must return type `Promise` or `boolean`"),f(t)?t.then(e=>{e&&x()}).catch(e=>{Jd(BR,`some error occurred: ${e}`)}):t&&x()};return d(()=>{p.value.checked=b.value}),t({focus:()=>{p.value?.focus?.()},checked:b}),(t,n)=>(N(),W(`div`,{class:F(h.value),onClick:kn(C,[`prevent`])},[B(`input`,{id:Y(c),ref_key:`input`,ref:p,class:F(Y(s).e(`input`)),type:`checkbox`,role:`switch`,"aria-checked":b.value,"aria-disabled":Y(l),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:Y(l),tabindex:e.tabindex,onChange:x,onKeydown:jn(C,[`enter`])},null,42,FR),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||t.$slots.inactive)?(N(),W(`span`,{key:0,class:F(g.value)},[I(t.$slots,`inactive`,{},()=>[e.inactiveIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.inactiveIcon)))]),_:1})):G(`v-if`,!0),!e.inactiveIcon&&e.inactiveText?(N(),W(`span`,{key:1,"aria-hidden":b.value},S(e.inactiveText),9,IR)):G(`v-if`,!0)])],2)):G(`v-if`,!0),B(`span`,{class:F(Y(s).e(`core`)),style:m(v.value)},[e.inlinePrompt?(N(),W(`div`,{key:0,class:F(Y(s).e(`inner`))},[b.value?(N(),W(`div`,{key:1,class:F(Y(s).e(`inner-wrapper`))},[I(t.$slots,`active`,{},()=>[e.activeIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.activeIcon)))]),_:1})):G(`v-if`,!0),!e.activeIcon&&e.activeText?(N(),W(`span`,RR,S(e.activeText),1)):G(`v-if`,!0)])],2)):(N(),W(`div`,{key:0,class:F(Y(s).e(`inner-wrapper`))},[I(t.$slots,`inactive`,{},()=>[e.inactiveIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.inactiveIcon)))]),_:1})):G(`v-if`,!0),!e.inactiveIcon&&e.inactiveText?(N(),W(`span`,LR,S(e.inactiveText),1)):G(`v-if`,!0)])],2))],2)):G(`v-if`,!0),B(`div`,{class:F(Y(s).e(`action`))},[e.loading?(N(),H(Y(By),{key:0,class:F(Y(s).is(`loading`))},{default:V(()=>[J(Y(dy))]),_:1},8,[`class`])):b.value?I(t.$slots,`active-action`,{key:1},()=>[e.activeActionIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.activeActionIcon)))]),_:1})):G(`v-if`,!0)]):b.value?G(`v-if`,!0):I(t.$slots,`inactive-action`,{key:2},()=>[e.inactiveActionIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.inactiveActionIcon)))]),_:1})):G(`v-if`,!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||t.$slots.active)?(N(),W(`span`,{key:1,class:F(_.value)},[I(t.$slots,`active`,{},()=>[e.activeIcon?(N(),H(Y(By),{key:0},{default:V(()=>[(N(),H(L(e.activeIcon)))]),_:1})):G(`v-if`,!0),!e.activeIcon&&e.activeText?(N(),W(`span`,{key:1,"aria-hidden":!b.value},S(e.activeText),9,zR)):G(`v-if`,!0)])],2)):G(`v-if`,!0)],2))}})),HR={data:{type:Array,default:()=>[]},size:xv,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},UR=1,WR=1,GR=e=>`${e}-table_${UR++}`,KR=e=>`${e}_column_${WR++}`,qR=function(e){return e.target?.closest(`td`)},JR=function(e,t,n,r,i){if(!t&&!r&&(!i||A(i)&&!i.length))return e;n=P(n)?n===`descending`?-1:1:n&&n<0?-1:1;let a=r?null:function(n,r){return i?nd(Cs(i),t=>P(t)?ss(n,t):t(n,r,e)):(t!==`$key`&&E(n)&&`$value`in n&&(n=n.$value),[E(n)?t?ss(n,t):null:n])},o=function(e,t){if(r)return r(e.value,t.value);for(let n=0,r=e.key?.length??0;nt.key?.[n])return 1}return 0};return e.map((e,t)=>({value:e,index:t,key:a?a(e,t):null})).sort((e,t)=>{let r=o(e,t);return r||=e.index-t.index,r*+n}).map(e=>e.value)},YR=function(e,t){let n=null;return e.columns.forEach(e=>{e.id===t&&(n=e)}),n},XR=function(e,t){let n=null;for(let r=0;r{if(!e)throw Error(`Row is required when get row identity`);if(P(t)){if(!t.includes(`.`))return`${e[t]}`;let n=t.split(`.`),r=e;for(let e of n)r=r[e];return`${r}`}else if(n(t))return t.call(null,e);return``},$R=function(e,t,n=!1,r=`children`){let i=e||[],a={};return i.forEach((e,i)=>{if(a[QR(e,t)]={row:e,index:i},n){let n=e[r];A(n)&&Object.assign(a,$R(n,t,!0,r))}}),a};function ez(e,t){let n={},r;for(r in e)n[r]=e[r];for(r in t)if(Ye(t,r)){let e=t[r];Ad(e)||(n[r]=e)}return n}function tz(e){return e===``||Ad(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e=``)),e}function nz(e){return e===``||Ad(e)||(e=tz(e),Number.isNaN(e)&&(e=80)),e}function rz(e){return Md(e)?e:P(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function iz(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function az(e,t,n,r,i,a,o){let s=a??0,c=!1,l=(()=>{if(!o)return e.indexOf(t);let n=QR(t,o);return e.findIndex(e=>QR(e,o)===n)})(),u=l!==-1,d=i?.call(null,t,s),f=n=>{n===`add`?e.push(t):e.splice(l,1),c=!0},p=e=>{let t=0,n=r?.children&&e[r.children];return n&&A(n)&&(t+=n.length,n.forEach(e=>{t+=p(e)})),t};return(!i||d)&&(jd(n)?n&&!u?f(`add`):!n&&u&&f(`remove`):f(u?`remove`:`add`)),!r?.checkStrictly&&r?.children&&A(t[r.children])&&t[r.children].forEach(t=>{let a=az(e,t,n??!u,r,i,s+1,o);s+=p(t)+1,a&&(c=a)}),c}function oz(e,t,n=`children`,r=`hasChildren`,i=!1){let a=e=>!(A(e)&&e.length);function o(e,s,c){t(e,s,c),s.forEach(e=>{if(e[r]&&i){t(e,null,c+1);return}let s=e[n];a(s)||o(e,s,c+1)})}e.forEach(e=>{if(e[r]&&i){t(e,null,0);return}let s=e[n];a(s)||o(e,s,0)})}var sz=(e,t,r,i)=>{let a=n(i?.tooltipFormatter)?i.tooltipFormatter({row:r,column:i,cellValue:Bd(r,i.property).value}):void 0;return s(a)?{slotContent:a,content:null,strategy:`fixed`,...e}:{slotContent:null,content:a??t,strategy:`fixed`,...e}},cz=null;function lz(e,t,n,r,i,a){let o=sz(e,t,n,r),s={...o,slotContent:void 0};if(cz?.trigger===i){let e=cz.vm?.component;dd(e?.props,s),e&&o.slotContent&&(e.slots.content=()=>[o.slotContent]);return}cz?.();let c=a?.refs.tableWrapper,l=c?.dataset.prefix,u=J(ES,{virtualTriggering:!0,virtualRef:i,appendTo:c,placement:`top`,transition:`none`,offset:0,hideAfter:0,...s},o.slotContent?{content:()=>o.slotContent}:void 0);u.appContext={...a.appContext,...a};let d=document.createElement(`div`);Fn(u,d),u.component.exposed.onOpen();let f=c?.querySelector(`.${l}-scrollbar__wrap`);cz=()=>{u.component?.exposed?.onClose&&u.component.exposed.onClose(),Fn(null,d);let e=cz;f?.removeEventListener(`scroll`,e),e.trigger=void 0,e.vm=void 0,cz=null},cz.trigger=i??void 0,cz.vm=u,f?.addEventListener(`scroll`,cz)}function uz(e){return e.children?nd(e.children,uz):[e]}function dz(e,t){return e+t.colSpan}var fz=(e,t,n,r)=>{let i=0,a=e,o=n.states.columns.value;if(r){let t=uz(r[e]);i=o.slice(0,o.indexOf(t[0])).reduce(dz,0),a=i+t.reduce(dz,0)-1}else i=e;let s;switch(t){case`left`:a=o.length-n.states.rightFixedLeafColumnsLength.value&&(s=`right`);break;default:a=o.length-n.states.rightFixedLeafColumnsLength.value&&(s=`right`)}return s?{direction:s,start:i,after:a}:{}},pz=(e,t,n,r,i,a=0)=>{let o=[],{direction:s,start:c,after:l}=fz(t,n,r,i);if(s){let t=s===`left`;o.push(`${e}-fixed-column--${s}`),t&&l+a===r.states.fixedLeafColumnsLength.value-1?o.push(`is-last-column`):!t&&c-a===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&o.push(`is-first-column`)}return o};function mz(e,t){return e+(ld(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}var hz=(e,t,n,r)=>{let{direction:i,start:a=0,after:o=0}=fz(e,t,n,r);if(!i)return;let s={},c=i===`left`,l=n.states.columns.value;return c?s.left=l.slice(0,a).reduce(mz,0):s.right=l.slice(o+1).reverse().reduce(mz,0),s},gz=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function _z(e){return e.some(e=>s(e)?!(e.type===Te||e.type===R&&!_z(e.children)):!0)?e:null}function vz(e){let t=Xe(),n=q(!1),r=q([]),i=(e,n)=>{let r=t.store.states.rowExpandable.value;return r?.(e,n)??!0};return{updateExpandRows:()=>{let a=e.data.value||[],o=e.rowKey.value;if(n.value)r.value=t.store.states.rowExpandable.value?a.filter(i):a.slice();else if(o){let e=$R(r.value,o);r.value=a.filter((t,n)=>!!e[QR(t,o)]&&i(t,n))}else r.value=[]},toggleRowExpansion:(n,a)=>{let o=(e.data.value||[]).indexOf(n);o>-1&&!i(n,o)||az(r.value,n,a,void 0,void 0,void 0,e.rowKey.value)&&t.emit(`expand-change`,n,r.value.slice())},setExpandRowKeys:n=>{t.store.assertRowKey();let a=e.data.value||[],o=e.rowKey.value,s=$R(a,o);r.value=n.reduce((e,t)=>{let n=s[t];return n&&i(n.row,n.index)&&e.push(n.row),e},[])},isRowExpanded:t=>{let n=e.rowKey.value;return n?!!$R(r.value,n)[QR(t,n)]:r.value.includes(t)},states:{expandRows:r,defaultExpandAll:n}}}function yz(e){let t=Xe(),n=q(null),r=q(null),i=e=>{t.store.assertRowKey(),n.value=e,o(e)},a=()=>{n.value=null},o=n=>{let{data:i,rowKey:a}=e,o=r.value,s=null;a.value&&(s=(Y(i)||[]).find(e=>QR(e,a.value)===n)??null),r.value=s??null,t.emit(`current-change`,r.value,o)};return{setCurrentRowKey:i,restoreCurrentRowKey:a,setCurrentRowByKey:o,updateCurrentRow:e=>{let n=r.value;if(e&&e!==n){r.value=e,t.emit(`current-change`,r.value,n);return}!e&&n&&(r.value=null,t.emit(`current-change`,null,n))},updateCurrentRowData:()=>{let i=e.rowKey.value,s=e.data.value||[],c=r.value;c&&!s.includes(c)?i?o(QR(c,i)):(r.value=null,t.emit(`current-change`,null,c)):n.value&&(o(n.value),a())},states:{_currentRowKey:n,currentRow:r}}}function bz(e){let t=q([]),n=q({}),r=q(16),i=q(!1),a=q({}),o=q(`hasChildren`),s=q(`children`),c=q(!1),l=Xe(),u=K(()=>e.rowKey.value?f(e.data.value||[]):{}),d=K(()=>{let t=e.rowKey.value,n=Object.keys(a.value),r={};return n.length&&n.forEach(e=>{if(a.value[e].length){let n={children:[]};a.value[e].forEach(e=>{let i=QR(e,t);n.children.push(i),e[o.value]&&!r[i]&&(r[i]={children:[]})}),r[e]=n}}),r}),f=t=>{let n=e.rowKey.value,r={};return oz(t,(e,t,a)=>{let o=QR(e,n);A(t)?r[o]={children:t.map(e=>QR(e,n)),level:a}:i.value&&(r[o]={children:[],lazy:!0,level:a})},s.value,o.value,i.value),r},p=(e=!1,r)=>{r||=l.store?.states.defaultExpandAll.value;let a=u.value,o=d.value,s=Object.keys(a),c={};if(s.length){let l=Y(n),u=[],d=(n,i)=>{if(e)return t.value?r||t.value.includes(i):!!(r||n?.expanded);{let e=r||t.value&&t.value.includes(i);return!!(n?.expanded||e)}};s.forEach(e=>{let t=l[e],n={...a[e]};if(n.expanded=d(t,e),n.lazy){let{loaded:r=!1,loading:i=!1}=t||{};n.loaded=!!r,n.loading=!!i,u.push(e)}c[e]=n});let f=Object.keys(o);i.value&&f.length&&u.length&&f.forEach(e=>{let t=l[e],n=o[e].children;if(u.includes(e)){if(c[e].children?.length!==0)throw Error(`[ElTable]children must be an empty array.`);c[e].children=n}else{let{loaded:r=!1,loading:i=!1}=t||{};c[e]={lazy:!0,loaded:!!r,loading:!!i,expanded:d(t,e),children:n,level:void 0}}})}n.value=c,l.store?.updateTableScrollY()};M(()=>t.value,()=>{p(!0)},{deep:!0}),M(()=>u.value,()=>{p()}),M(()=>d.value,()=>{p()});let m=e=>{t.value=e,p()},h=e=>i.value&&e&&`loaded`in e&&!e.loaded,g=(t,r)=>{l.store.assertRowKey();let i=e.rowKey.value,a=QR(t,i),o=a&&n.value[a];if(a&&o&&`expanded`in o){let e=o.expanded;r=Ad(r)?!o.expanded:r,n.value[a].expanded=r,e!==r&&l.emit(`expand-change`,t,r),r&&h(o)&&v(t,a,o),l.store.updateTableScrollY()}},_=t=>{l.store.assertRowKey();let r=e.rowKey.value,i=QR(t,r),a=n.value[i];h(a)?v(t,i,a):g(t,void 0)},v=(e,t,r)=>{let{load:i}=l.props;i&&!n.value[t].loaded&&(n.value[t].loading=!0,i(e,r,r=>{if(!A(r))throw TypeError(`[ElTable] data must be an array`);n.value[t].loading=!1,n.value[t].loaded=!0,n.value[t].expanded=!0,r.length&&(a.value={...a.value,[t]:r}),l.emit(`expand-change`,e,!0)}))};return{loadData:v,loadOrToggle:_,toggleTreeExpansion:g,updateTreeExpandKeys:m,updateTreeData:p,updateKeyChildren:(e,t)=>{let{lazy:n,rowKey:r}=l.props;if(n){if(!r)throw Error(`[Table] rowKey is required in updateKeyChild`);a.value[e]&&(a.value={...a.value,[e]:t})}},normalize:f,states:{expandRowKeys:t,treeData:n,indent:r,lazy:i,lazyTreeNodeMap:a,lazyColumnIdentifier:o,childrenColumnName:s,checkStrictly:c}}}var xz=(e,t)=>{let n=t.sortingColumn;return!n||P(n.sortable)?e:JR(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},Sz=e=>{let t=[];return e.forEach(e=>{e.children&&e.children.length>0?t.push.apply(t,Sz(e.children)):t.push(e)}),t};function Cz(){let e=Xe(),{size:t}=Se(e.proxy?.$props),n=q(null),r=q([]),i=q([]),a=q(!1),o=q([]),s=q([]),c=q([]),l=q([]),u=q([]),d=q([]),f=q([]),p=q([]),m=[],h=q(0),g=q(0),_=q(0),v=q(!1),y=q([]),b=q({}),x=q(!1),S=q(!1),C=q(null),w=q(null),T=q({}),E=q(null),D=q(null),O=q(null),k=q(null),ee=q(null),j=[],N=K(()=>n.value?$R(y.value,n.value):void 0),te=t=>{let{childrenColumnName:r,lazyTreeNodeMap:i}=e.store.states,a=t[r.value]??[];if(!n.value)return a;let o=QR(t,n.value);return[...i.value?.[o]??[],...a]};M(r,()=>{e.state&&(ae(!1),e.props.tableLayout===`auto`&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});let ne=()=>{if(!n.value)throw Error(`[ElTable] prop row-key is required`)},re=e=>{e.children?.forEach(t=>{t.fixed=e.fixed,re(t)})},ie=()=>{o.value.forEach(e=>{re(e)}),l.value=o.value.filter(e=>[!0,`left`].includes(e.fixed));let e=o.value.find(e=>e.type===`selection`),t;e&&e.fixed!==`right`&&!l.value.includes(e)&&o.value.indexOf(e)===0&&l.value.length&&(l.value.unshift(e),t=!0),u.value=o.value.filter(e=>e.fixed===`right`);let n=o.value.filter(e=>(t?e.type!==`selection`:!0)&&!e.fixed);s.value=Array.from(l.value).concat(n).concat(u.value);let r=Sz(n),i=Sz(l.value),d=Sz(u.value);h.value=r.length,g.value=i.length,_.value=d.length,c.value=Array.from(i).concat(r).concat(d),a.value=l.value.length>0||u.value.length>0},ae=(t,n=!1)=>{t&&ie(),n?e.state.doLayout():e.state.debouncedUpdateLayout()},F=e=>N.value?!!N.value[QR(e,n.value)]:y.value.includes(e),I=K(()=>{let e=new Map;if(!n.value||!C.value)return e;let t=0,i=r=>{A(r)&&r.forEach(r=>{let a=QR(r,n.value);e.set(a,t),t+=1;let o=te(r);o.length&&i(o)})};return i(r.value||[]),e}),oe=(t={})=>{let{emitChange:i=!0}=t;if(U.checkStrictly.value||!n.value){b.value={},j=[];return}let a=n.value,o=t.rowIndexMap??I.value,s=C.value,c=new WeakMap,l=e=>{let t=c.get(e);if(t)return t;let n=QR(e,a);return c.set(e,n),n},u={},d=[],f=new Set(y.value.map(e=>l(e))),p=[],m=!1,h=(e,t,n)=>{let r=f.has(t);n&&!r?(p.push(e),f.add(t),m=!0):!n&&r&&(f.delete(t),m=!0)},g=e=>{let t=0,n=0;return A(e)&&e.forEach(e=>{let r=l(e),i=te(e),a=0,c=0;if(i.length){let e=g(i);a=e.selectedCount,c=e.selectableCount}let p=s?s.call(null,e,o.get(r)??0):!0;if(p&&c>0){let t=a===c;!t&&a!==0&&(u[r]=!0,d.push(e)),h(e,r,t)}p&&(n+=1,f.has(r)&&(t+=1)),t+=a,n+=c}),{selectedCount:t,selectableCount:n}};if(g(r.value||[]),m){let e=y.value.filter(e=>f.has(l(e)));p.forEach(t=>{f.has(l(t))&&e.push(t)}),y.value=e}b.value=u,j=d,m&&i&&e.emit(`selection-change`,y.value?y.value.slice():[])},L=()=>{v.value=!1;let t=y.value;y.value=[],b.value={},j=[],t.length&&e.emit(`selection-change`,[])},se=()=>{let t;if(n.value){t=[];let i=e?.store?.states?.childrenColumnName.value,a=$R(r.value,n.value,!0,i),{lazyTreeNodeMap:o}=e.store.states;o.value&&Object.entries(o.value).forEach(([e,t])=>{a[e]&&t.forEach(e=>{let t=QR(e,n.value);a[t]||(a[t]={row:e,index:-1})})});for(let e in N.value)Ye(N.value,e)&&!a[e]&&t.push(N.value[e].row)}else t=y.value.filter(e=>!r.value.includes(e));if(t.length){let n=y.value.filter(e=>!t.includes(e));y.value=n,oe({emitChange:!1}),e.emit(`selection-change`,[...n])}},ce=()=>(y.value||[]).slice(),le=()=>j.slice(),ue=(t,r,i)=>{if(!n.value||U.checkStrictly.value||!U.lazy.value)return;let{lazyTreeNodeMap:a,childrenColumnName:o}=e.store.states,s=QR(t,n.value),c=a.value?.[s]??[],l=t[o.value]??[],u={children:o.value,checkStrictly:!1};for(let e of c){let t=i.get(QR(e,n.value))??0;az(y.value,e,r,u,C.value,t,n.value),ue(e,r,i)}for(let e of l)ue(e,r,i)},de=(t,i,a=!0,o=!1)=>{let s={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(az(y.value,t,i,s,o?void 0:C.value,r.value.indexOf(t),n.value)){U.lazy.value&&!U.checkStrictly.value?(ue(t,i??F(t),I.value),oe({emitChange:!1,rowIndexMap:I.value})):oe({emitChange:!1});let n=(y.value||[]).slice();a&&e.emit(`select`,n,t),e.emit(`selection-change`,n)}},fe=()=>{let t=S.value?!v.value:!(v.value||y.value.length);v.value=t;let n=!1,i=0,a=e?.store?.states?.rowKey.value,{childrenColumnName:o}=e.store.states,s={children:o.value,checkStrictly:!1};r.value.forEach((e,r)=>{let o=r+i;az(y.value,e,t,s,C.value,o,a)&&(n=!0),i+=R(QR(e,a))});let c=I.value;if(U.lazy.value&&!U.checkStrictly.value&&a)for(let e of Object.values(U.lazyTreeNodeMap.value))for(let r of e){let e=c.get(QR(r,a))??0;az(y.value,r,t,s,C.value,e,a)&&(n=!0),ue(r,t,c)}oe({emitChange:!1,rowIndexMap:c}),n&&e.emit(`selection-change`,y.value?[...y.value]:[]),e.emit(`select-all`,(y.value||[]).slice())},pe=()=>{if(r.value?.length===0){v.value=!1;return}let e=0,t=0,n=r=>{for(let i of r){let r=C.value&&C.value.call(null,i,e);if(F(i))t++;else if(!C.value||r)return!1;e++;let a=te(i);if(a.length&&!n(a))return!1}return!0},i=n(r.value||[]);v.value=t===0?!1:i},me=e=>{if(!n.value)return!1;let t=QR(e,n.value);return!!b.value[t]},R=t=>{if(!e||!e.store)return 0;let{treeData:n}=e.store.states,r=0,i=n.value[t]?.children;return i&&(r+=i.length,i.forEach(e=>{r+=R(e)})),r},he=(e,t)=>{let n={};return Cs(e).forEach(e=>{T.value[e.id]=t,n[e.columnKey||e.id]=t}),n},z=(e,t,n)=>{D.value&&D.value!==e&&(D.value.order=null),D.value=e,O.value=t,k.value=n},ge=()=>{let e=Y(i);Object.keys(T.value).forEach(t=>{let n=T.value[t];if(!n||n.length===0)return;let r=YR({columns:c.value},t);r&&r.filterMethod&&(e=e.filter(e=>n.some(t=>r.filterMethod.call(null,t,e,r))))}),E.value=e},_e=()=>{r.value=xz(E.value??[],{sortingColumn:D.value,sortProp:O.value,sortOrder:k.value})},ve=(e=void 0)=>{e?.filter||ge(),_e()},B=t=>{let{tableHeaderRef:n}=e.refs;if(!n)return;let r=Object.assign({},n.filterPanels),i=Object.keys(r);if(i.length)if(P(t)&&(t=[t]),A(t)){let n=t.map(e=>XR({columns:c.value},e));i.forEach(e=>{let t=n.find(t=>t.id===e);t&&(t.filteredValue=[])}),e.store.commit(`filterChange`,{column:n,values:[],silent:!0,multi:!0})}else i.forEach(e=>{let t=c.value.find(t=>t.id===e);t&&(t.filteredValue=[])}),T.value={},e.store.commit(`filterChange`,{column:{},values:[],silent:!0})},ye=()=>{D.value&&(z(null,null,null),e.store.commit(`changeSortCondition`,{silent:!0}))},{setExpandRowKeys:V,toggleRowExpansion:H,updateExpandRows:be,states:xe,isRowExpanded:Ce}=vz({data:r,rowKey:n}),{updateTreeExpandKeys:we,toggleTreeExpansion:Te,updateTreeData:Ee,updateKeyChildren:De,loadOrToggle:Oe,states:U}=bz({data:r,rowKey:n}),{updateCurrentRowData:ke,updateCurrentRow:Ae,setCurrentRowKey:je,states:W}=yz({data:r,rowKey:n});return M(()=>U.checkStrictly.value,e=>{e?(b.value={},j=[]):oe({emitChange:!1}),pe()}),M(()=>U.lazyTreeNodeMap.value,()=>{if(!U.lazy.value||U.checkStrictly.value||!n.value)return;let t=I.value,r=y.value.length;for(let e of Object.keys(U.lazyTreeNodeMap.value))N.value?.[e]&&ue(N.value[e].row,!0,t);let i=y.value.length!==r;oe({emitChange:!i,rowIndexMap:t}),pe(),i&&e.emit(`selection-change`,[...y.value])}),{assertRowKey:ne,updateColumns:ie,scheduleLayout:ae,isSelected:F,clearSelection:L,cleanSelection:se,getSelectionRows:ce,getHalfSelectionRows:le,toggleRowSelection:de,_toggleAllSelection:fe,toggleAllSelection:null,updateAllSelected:pe,updateSelectionByChildren:oe,getRowIndeterminate:me,updateFilters:he,updateCurrentRow:Ae,updateSort:z,execFilter:ge,execSort:_e,execQuery:ve,clearFilter:B,clearSort:ye,toggleRowExpansion:H,setExpandRowKeysAdapter:e=>{V(e),we(e)},setCurrentRowKey:je,toggleRowExpansionAdapter:(e,t)=>{c.value.some(({type:e})=>e===`expand`)?H(e,t):Te(e,t)},isRowExpanded:Ce,updateExpandRows:be,updateCurrentRowData:ke,loadOrToggle:Oe,updateTreeData:Ee,updateKeyChildren:De,states:{tableSize:t,rowKey:n,data:r,_data:i,isComplex:a,_columns:o,originColumns:s,columns:c,fixedColumns:l,rightFixedColumns:u,leafColumns:d,fixedLeafColumns:f,rightFixedLeafColumns:p,updateOrderFns:m,leafColumnsLength:h,fixedLeafColumnsLength:g,rightFixedLeafColumnsLength:_,isAllSelected:v,selection:y,selectionIndeterminate:b,reserveSelection:x,selectOnIndeterminate:S,selectable:C,rowExpandable:w,filters:T,filteredData:E,sortingColumn:D,sortProp:O,sortOrder:k,hoverRow:ee,...xe,...U,...W}}}function wz(e,t){return e.map(e=>e.id===t.id?t:(e.children?.length&&(e.children=wz(e.children,t)),e))}function Tz(e){e.forEach(e=>{e.no=e.getColumnIndex?.(),e.children?.length&&Tz(e.children)}),e.sort((e,t)=>e.no-t.no)}function Ez(){let e=Xe(),t=Cz(),n=$(`table`),{t:r}=Dp(),i={setData(t,n){let r=Y(t._data)!==n;t.data.value=n,t._data.value=n,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),Y(t.reserveSelection)?e.store.assertRowKey():r?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(t,n,r,i){let a=Y(t._columns),o=[];r?(r&&!r.children&&(r.children=[]),r.children?.push(n),o=wz(a,r)):(a.push(n),o=a),Tz(o),t._columns.value=o,t.updateOrderFns.push(i),n.type===`selection`&&(t.selectable.value=n.selectable,t.reserveSelection.value=n.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(t,n){n.getColumnIndex?.()!==n.no&&(Tz(t._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(t,n,r,i){let a=Y(t._columns)||[];if(r)r.children?.splice(r.children.findIndex(e=>e.id===n.id),1),U(()=>{r.children?.length===0&&delete r.children}),t._columns.value=wz(a,r);else{let e=a.indexOf(n);e>-1&&(a.splice(e,1),t._columns.value=a)}let o=t.updateOrderFns.indexOf(i);o>-1&&t.updateOrderFns.splice(o,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(t,n){let{prop:r,order:i,init:a}=n;if(r){let n=Y(t.columns).find(e=>e.property===r);n&&(n.order=i,e.store.updateSort(n,r,i),e.store.commit(`changeSortCondition`,{init:a}))}},changeSortCondition(t,n){let{sortingColumn:r,sortProp:i,sortOrder:a}=t,o=Y(r),s=Y(i),c=Y(a);ld(c)&&(t.sortingColumn.value=null,t.sortProp.value=null),e.store.execQuery({filter:!0}),(!n||!(n.silent||n.init))&&e.emit(`sort-change`,{column:o,prop:s,order:c}),e.store.updateTableScrollY()},filterChange(t,n){let{column:r,values:i,silent:a}=n,o=e.store.updateFilters(r,i);e.store.execQuery(),a||e.emit(`filter-change`,o),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(t,n){e.store.toggleRowSelection(n),e.store.updateAllSelected()},setHoverRow(e,t){e.hoverRow.value=t},setCurrentRow(t,n){e.store.updateCurrentRow(n)}},a=function(t,...n){let r=e.store.mutations;if(r[t])r[t].apply(e,[e.store.states,...n]);else throw Error(`Action not found: ${t}`)},o=function(){U(()=>e.layout.updateScrollY.apply(e.layout))};return{ns:n,t:r,...t,mutations:i,commit:a,updateTableScrollY:o}}var Dz={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 Oz(e,t){if(!e)throw Error(`Table is required.`);let n=Ez();return n.toggleAllSelection=Hu(n._toggleAllSelection,10),Object.keys(Dz).forEach(e=>{Az(jz(t,e),e,n)}),kz(n,t),n}function kz(e,t){Object.keys(Dz).forEach(n=>{M(()=>jz(t,n),t=>{Az(t,n,e)})})}function Az(e,t,n){let r=e,i=Dz[t];E(i)&&(r||=i.default,i=i.key),n.states[i].value=r}function jz(e,t){if(t.includes(`.`)){let n=t.split(`.`),r=e;return n.forEach(e=>{r=r[e]}),r}else return e[t]}var Mz=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=q(null),this.scrollX=q(!1),this.scrollY=q(!1),this.bodyWidth=q(null),this.fixedWidth=q(null),this.rightFixedWidth=q(null),this.gutterWidth=0;for(let t in e)Ye(e,t)&&(he(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw Error(`Table is required for Table Layout`);if(!this.store)throw Error(`Store is required for Table Layout`)}updateScrollY(){let e=this.height.value;if(ld(e))return!1;let t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let e=!0,n=this.scrollY.value;return e=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=e,n!==e}return!1}setHeight(e,t=`height`){if(!nf)return;let n=this.table.vnode.el;if(e=rz(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){U(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&Md(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&P(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,`max-height`)}getFlattenColumns(){let 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(!nf)return;let e=this.fit,t=this.table.vnode.el?.clientWidth,n=0,r=this.getFlattenColumns(),i=r.filter(e=>!Md(e.width));if(r.forEach(e=>{Md(e.width)&&e.realWidth&&(e.realWidth=null)}),i.length>0&&e){if(r.forEach(e=>{n+=Number(e.width||e.minWidth||80)}),n<=t){this.scrollX.value=!1;let e=t-n;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+e;else{let t=e/i.reduce((e,t)=>e+Number(t.minWidth||80),0),n=0;i.forEach((e,r)=>{if(r===0)return;let i=Math.floor(Number(e.minWidth||80)*t);n+=i,e.realWidth=Number(e.minWidth||80)+i}),i[0].realWidth=Number(i[0].minWidth||80)+e-n}}else this.scrollX.value=!0,i.forEach(e=>{e.realWidth=Number(e.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else r.forEach(e=>{!e.width&&!e.minWidth?e.realWidth=80:e.realWidth=Number(e.width||e.minWidth),n+=e.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;let a=this.store.states.fixedColumns.value;if(a.length>0){let e=0;a.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.fixedWidth.value=e}let o=this.store.states.rightFixedColumns.value;if(o.length>0){let e=0;o.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.rightFixedWidth.value=e}this.notifyObservers(`columns`)}addObserver(e){this.observers.push(e)}removeObserver(e){let 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 Error(`Table Layout don't have event ${e}.`)}})}},Nz=Symbol(`ElTable`),Pz=e=>{let t=[];return e.forEach(e=>{e.children?(t.push(e),t.push.apply(t,Pz(e.children))):t.push(e)}),t},Fz=e=>{let t=1,n=(e,r)=>{if(r&&(e.level=r.level+1,t{n(r,e),t+=r.colSpan}),e.colSpan=t}else e.colSpan=1};e.forEach(e=>{e.level=1,n(e,void 0)});let r=[];for(let e=0;e{e.children?(e.rowSpan=1,e.children.forEach(e=>e.isSubColumn=!0)):e.rowSpan=t-e.level+1,r[e.level-1].push(e)}),r};function Iz(e){let t=l(Nz),n=K(()=>Fz(e.store.states.originColumns.value));return{isGroup:K(()=>{let e=n.value.length>1;return e&&t&&(t.state.isGroup.value=!0),e}),toggleAllSelection:e=>{e.stopPropagation(),t?.store.commit(`toggleAllSelection`)},columnRows:n}}var Lz=z({name:`ElTableFilterPanel`,components:{ElCheckbox:ok,ElCheckboxGroup:ck,ElScrollbar:tC,ElTooltip:ES,ElIcon:By,ArrowDown:Bv,ArrowUp:Uv},props:{placement:{type:String,default:`bottom-start`},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:fS.appendTo},setup(e){let t=Xe(),{t:n}=Dp(),r=$(`table-filter`),i=t?.parent;e.column&&!i.filterPanels.value[e.column.id]&&(i.filterPanels.value[e.column.id]=t);let a=q(null),o=q(null),s=q(0),c=K(()=>e.column&&e.column.filters),l=K(()=>e.column&&e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),u=K({get:()=>(e.column?.filteredValue||[])[0],set:e=>{d.value&&(Fd(e)?d.value.splice(0,1):d.value.splice(0,1,e))}}),d=K({get(){return e.column&&e.column.filteredValue||[]},set(t){e.column&&e.upDataColumn?.(`filteredValue`,t)}}),f=K(()=>e.column?e.column.filterMultiple:!0),p=e=>e.value===u.value,m=()=>{a.value?.onClose()},h=()=>{v(d.value),m()},g=()=>{d.value=[],v(d.value),m()},_=(e,t)=>{u.value=e,s.value=t,Fd(e)?v([]):v(d.value),m()},v=t=>{e.store?.commit(`filterChange`,{column:e.column,values:t}),e.store?.updateAllSelected()},y=()=>{o.value?.focus(),!f.value&&x(),e.column&&e.upDataColumn?.(`filterOpened`,!0)},b=()=>{e.column&&e.upDataColumn?.(`filterOpened`,!1)},x=()=>{if(Fd(u)){s.value=0;return}let e=(c.value||[]).findIndex(e=>e.value===u.value);s.value=e>=0?e+1:0};return{multiple:f,filterClassName:l,filteredValue:d,filterValue:u,filters:c,handleConfirm:h,handleReset:g,handleSelect:_,isPropAbsent:Fd,isActive:p,t:n,ns:r,tooltipRef:a,rootRef:o,checkedIndex:s,handleShowTooltip:y,handleHideTooltip:b,handleKeydown:e=>{let t=Kp(e),n=(c.value?c.value.length:0)+1,i=s.value,a=!0;switch(t){case X.down:case X.right:i=(i+1)%n;break;case X.up:case X.left:i=(i-1+n)%n;break;case X.tab:m(),a=!1;break;case X.enter:case X.space:if(i===0)_(null,0);else{let e=(c.value||[])[i-1];e.value&&_(e.value,i)}break;default:a=!1;break}a&&e.preventDefault(),s.value=i,o.value?.querySelector(`.${r.e(`list-item`)}:nth-child(${i+1})`)?.focus()}}}}),Rz=[`disabled`],zz=[`tabindex`,`aria-checked`],Bz=[`tabindex`,`aria-checked`,`onClick`],Vz=[`aria-label`];function Hz(e,t,n,i,a,o){let s=h(`el-checkbox`),c=h(`el-checkbox-group`),l=h(`el-scrollbar`),u=h(`arrow-up`),d=h(`arrow-down`),f=h(`el-icon`),p=h(`el-tooltip`);return N(),H(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:V(()=>[e.multiple?(N(),W(`div`,{key:0,ref:`rootRef`,tabindex:`-1`,class:F(e.ns.e(`multiple`))},[B(`div`,{class:F(e.ns.e(`content`))},[J(l,{"wrap-class":e.ns.e(`wrap`)},{default:V(()=>[J(c,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||=t=>e.filteredValue=t,class:F(e.ns.e(`checkbox-group`))},{default:V(()=>[(N(!0),W(R,null,r(e.filters,e=>(N(),H(s,{key:e.value,value:e.value},{default:V(()=>[Ke(S(e.text),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`,`class`])]),_:1},8,[`wrap-class`])],2),B(`div`,{class:F(e.ns.e(`bottom`))},[B(`button`,{class:F(e.ns.is(`disabled`,e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:`button`,onClick:t[1]||=(...t)=>e.handleConfirm&&e.handleConfirm(...t)},S(e.t(`el.table.confirmFilter`)),11,Rz),B(`button`,{type:`button`,onClick:t[2]||=(...t)=>e.handleReset&&e.handleReset(...t)},S(e.t(`el.table.resetFilter`)),1)],2)],2)):(N(),W(`ul`,{key:1,ref:`rootRef`,tabindex:`-1`,role:`radiogroup`,class:F(e.ns.e(`list`)),onKeydown:t[4]||=(...t)=>e.handleKeydown&&e.handleKeydown(...t)},[B(`li`,{role:`radio`,class:F([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=>e.handleSelect(null,0)},S(e.t(`el.table.clearFilter`)),11,zz),(N(!0),W(R,null,r(e.filters,(t,n)=>(N(),W(`li`,{key:t.value,role:`radio`,class:F([e.ns.e(`list-item`),e.ns.is(`active`,e.isActive(t))]),tabindex:e.checkedIndex===n+1?0:-1,"aria-checked":e.isActive(t),onClick:r=>e.handleSelect(t.value,n+1)},S(t.text),11,Bz))),128))],34))]),default:V(()=>[B(`button`,{type:`button`,class:F(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t(`el.table.filterLabel`,{column:e.column?.label||``})},[J(f,null,{default:V(()=>[I(e.$slots,`filter-icon`,{},()=>[e.column?.filterOpened?(N(),H(u,{key:0})):(N(),H(d,{key:1}))])]),_:3})],10,Vz)]),_:3},8,[`placement`,`popper-class`,`append-to`,`onShow`,`onHide`])}var Uz=$x(Lz,[[`render`,Hz]]);function Wz(e){let t=Xe();De(()=>{n.value.addObserver(t)}),d(()=>{r(n.value),i(n.value)}),C(()=>{r(n.value),i(n.value)}),_(()=>{n.value.removeObserver(t)});let n=K(()=>{let t=e.layout;if(!t)throw Error(`Can not find table layout.`);return t}),r=t=>{let n=e.vnode.el?.querySelectorAll(`colgroup > col`)||[];if(!n.length)return;let r=t.getFlattenColumns(),i={};r.forEach(e=>{i[e.id]=e});for(let e=0,t=n.length;e{let n=e.vnode.el?.querySelectorAll(`colgroup > col[name=gutter]`)||[];for(let e=0,r=n.length;e{e.stopPropagation()},a=(e,t)=>{!t.filters&&t.sortable?h(e,t,!1):t.filterable&&!t.sortable&&i(e),r?.emit(`header-click`,t,e)},o=(e,t)=>{r?.emit(`header-contextmenu`,t,e)},s=q(null),c=q(!1),u=q(),d=(i,a)=>{if(nf&&!(a.children&&a.children.length>0)&&s.value&&e.border&&s.value.id===a.id){c.value=!0;let o=r;t(`set-drag-visible`,!0);let l=(o?.vnode.el)?.getBoundingClientRect().left,d=n?.vnode?.el?.querySelector(`th.${a.id}`),f=d.getBoundingClientRect(),p=f.left-l+30;gp(d,`noclick`),u.value={startMouseLeft:i.clientX,startLeft:f.right-l,startColumnLeft:f.left-l,tableLeft:l};let m=o?.refs.resizeProxy;m.style.left=`${u.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};let h=e=>{let t=e.clientX-u.value.startMouseLeft,n=u.value.startLeft+t;m.style.left=`${Math.max(p,n)}px`},g=()=>{if(c.value){let{startColumnLeft:n,startLeft:r}=u.value;a.width=a.realWidth=Number.parseInt(m.style.left,10)-n,o?.emit(`header-dragend`,a.width,r-n,a,i),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor=``,c.value=!1,s.value=null,u.value=void 0,t(`set-drag-visible`,!1)}document.removeEventListener(`mousemove`,h),document.removeEventListener(`mouseup`,g),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{_p(d,`noclick`)},0)};document.addEventListener(`mousemove`,h),document.addEventListener(`mouseup`,g)}},f=(t,n)=>{if(!e.border||n.children&&n.children.length>0)return;let r=t.target,i=Pd(r)?r.closest(`th`):null;if(!i)return;let a=hp(i,`is-sortable`);if(a){let e=c.value?`col-resize`:``;i.style.cursor=e;let t=i.querySelector(`.caret-wrapper`);t&&(t.style.cursor=e)}if(!n.resizable||c.value){s.value=null;return}let o=i.getBoundingClientRect(),l=i.parentNode?.lastElementChild===i,u=e.allowDragLastColumn||!l,d=o.width>12&&o.right-t.clientX<8&&u,f=d?`col-resize`:``;document.body.style.cursor=f,s.value=d?n:null,a&&(i.style.cursor=f)},p=()=>{!nf||c.value||(document.body.style.cursor=``)},m=({order:e,sortOrders:t})=>{if(e===``)return t[0];let n=t.indexOf(e||null);return t[n>t.length-2?0:n+1]},h=(t,n,i)=>{t.stopPropagation();let a=n.order===i?null:i||m(n),o=t.target?.closest(`th`);if(o&&hp(o,`noclick`)){_p(o,`noclick`);return}if(!n.sortable)return;let s=t.currentTarget;if([`ascending`,`descending`].some(e=>hp(s,e)&&!n.sortOrders.includes(e)))return;let c=e.store.states,l=c.sortProp.value,u,d=c.sortingColumn.value;(d!==n||d===n&&ld(d.order))&&(d&&(d.order=null),c.sortingColumn.value=n,l=n.property??null),u=a?n.order=a:n.order=null,c.sortProp.value=l,c.sortOrder.value=u,r?.store.commit(`changeSortCondition`)};return{handleHeaderClick:a,handleHeaderContextMenu:o,handleMouseDown:d,handleMouseMove:f,handleMouseOut:p,handleSortClick:h,handleFilterClick:i}}function Kz(e){let t=l(Nz),r=$(`table`);return{getHeaderRowStyle:e=>{let r=t?.props.headerRowStyle;return n(r)?r.call(null,{rowIndex:e}):r},getHeaderRowClass:e=>{let r=[],i=t?.props.headerRowClassName;return P(i)?r.push(i):n(i)&&r.push(i.call(null,{rowIndex:e})),r.join(` `)},getHeaderCellStyle:(r,i,a,o)=>{let s=t?.props.headerCellStyle??{};n(s)&&(s=s.call(null,{rowIndex:r,columnIndex:i,row:a,column:o}));let c=hz(i,o.fixed,e.store,a);return gz(c,`left`),gz(c,`right`),Object.assign({},s,c)},getHeaderCellClass:(i,a,o,s)=>{let c=pz(r.b(),a,s.fixed,e.store,o),l=[s.id,s.order,s.headerAlign,s.className,s.labelClassName,...c];s.children||l.push(`is-leaf`),s.sortable&&l.push(`is-sortable`);let u=t?.props.headerCellClassName;return P(u)?l.push(u):n(u)&&l.push(u.call(null,{rowIndex:i,columnIndex:a,row:o,column:s})),l.push(r.e(`cell`)),l.filter(e=>!!e).join(` `)}}}var qz=z({name:`ElTableHeader`,components:{ElCheckbox:ok},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}){let n=Xe(),r=l(Nz),i=$(`table`),a=q({}),{onColumnsChange:o,onScrollableChange:s}=Wz(r),c=r?.props.tableLayout===`auto`,u=ve(new Map),f=q(),p,m=()=>{p=setTimeout(()=>{u.size>0&&(u.forEach((e,t)=>{let n=f.value.querySelector(`.${t.replace(/\s/g,`.`)}`);n&&(e.width=n.getBoundingClientRect().width||e.width)}),u.clear())})};M(u,m),T(()=>{p&&=(clearTimeout(p),void 0)}),d(async()=>{await U(),await U();let{prop:t,order:n}=e.defaultSort;r?.store.commit(`sort`,{prop:t,order:n,init:!0}),m()});let{handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:_,handleMouseMove:v,handleMouseOut:y,handleSortClick:b,handleFilterClick:x}=Gz(e,t),{getHeaderRowStyle:S,getHeaderRowClass:C,getHeaderCellStyle:w,getHeaderCellClass:E}=Kz(e),{isGroup:D,toggleAllSelection:O,columnRows:k}=Iz(e),{t:A}=Dp();return n.state={onColumnsChange:o,onScrollableChange:s},n.filterPanels=a,{ns:i,t:A,filterPanels:a,onColumnsChange:o,onScrollableChange:s,columnRows:k,getHeaderRowClass:C,getHeaderRowStyle:S,getHeaderCellClass:E,getHeaderCellStyle:w,handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:_,handleMouseMove:v,handleMouseOut:y,handleSortClick:b,handleFilterClick:x,isGroup:D,toggleAllSelection:O,saveIndexSelection:u,isTableLayoutAuto:c,theadRef:f,updateFixedColumnStyle:m}},render(){let{ns:e,t,isGroup:n,columnRows:r,getHeaderCellStyle:i,getHeaderCellClass:a,getHeaderRowClass:o,getHeaderRowStyle:s,handleHeaderClick:c,handleHeaderContextMenu:l,handleMouseDown:u,handleMouseMove:d,handleSortClick:f,handleMouseOut:p,store:m,$parent:h,saveIndexSelection:g,isTableLayoutAuto:_}=this,v=1;return Je(`thead`,{ref:`theadRef`,class:e.is(`group`,n)},r.map((e,n)=>Je(`tr`,{class:o(n),key:n,style:s(n)},e.map((r,o)=>{r.rowSpan>v&&(v=r.rowSpan);let s=a(n,o,e,r);return _&&r.fixed&&g.set(s,r),Je(`th`,{class:s,colspan:r.colSpan,key:`${r.id}-thead`,rowspan:r.rowSpan,scope:r.colSpan>1?`colgroup`:`col`,ariaSort:r.sortable?r.order:void 0,style:i(n,o,e,r),onClick:e=>{e.currentTarget?.classList.contains(`noclick`)||c(e,r)},onContextmenu:e=>l(e,r),onMousedown:e=>u(e,r),onMousemove:e=>d(e,r),onMouseout:p},[Je(`div`,{class:[`cell`,r.filteredValue&&r.filteredValue.length>0?`highlight`:``]},[r.renderHeader?r.renderHeader({column:r,$index:o,store:m,_self:h}):r.label,r.sortable&&Je(`button`,{type:`button`,class:`caret-wrapper`,"aria-label":t(`el.table.sortLabel`,{column:r.label||``}),onClick:e=>f(e,r)},[Je(`i`,{onClick:e=>f(e,r,`ascending`),class:`sort-caret ascending`}),Je(`i`,{onClick:e=>f(e,r,`descending`),class:`sort-caret descending`})]),r.filterable&&Je(Uz,{store:m,placement:r.filterPlacement||`bottom-start`,appendTo:h?.appendFilterPanelTo,column:r,upDataColumn:(e,t)=>{r[e]=t}},{"filter-icon":()=>r.renderFilterIcon?r.renderFilterIcon({filterOpened:r.filterOpened}):null})])])}))))}});function Jz(e){let t=l(Nz),n=q(``),r=q(Je(`div`)),i=(n,r,i)=>{let a=t,o=qR(n),s=null,c=a?.vnode.el?.dataset.prefix;o&&(s=ZR({columns:e.store?.states.columns.value??[]},o,c),s&&a?.emit(`cell-${i}`,r,s,o,n)),a?.emit(`row-${i}`,r,s,n)},a=(e,t)=>{i(e,t,`dblclick`)},o=(t,n)=>{e.store?.commit(`setCurrentRow`,n),i(t,n,`click`)},s=(e,t)=>{i(e,t,`contextmenu`)},c=Hu(t=>{e.store?.commit(`setHoverRow`,t)},30),u=Hu(()=>{e.store?.commit(`setHoverRow`,null)},30),d=e=>{let t=window.getComputedStyle(e,null);return{left:Number.parseInt(t.paddingLeft,10)||0,right:Number.parseInt(t.paddingRight,10)||0,top:Number.parseInt(t.paddingTop,10)||0,bottom:Number.parseInt(t.paddingBottom,10)||0}},f=(e,t,n)=>{let r=t?.target?.parentNode;for(;e>1&&(r=r?.nextSibling,!(!r||r.nodeName!==`TR`));)n(r,`hover-row hover-fixed-row`),e--};return{handleDoubleClick:a,handleClick:o,handleContextMenu:s,handleMouseEnter:c,handleMouseLeave:u,handleCellMouseEnter:(n,r,i)=>{if(!t)return;let a=t,o=qR(n),s=a?.vnode.el?.dataset.prefix,c=null;if(o){if(c=ZR({columns:e.store?.states.columns.value??[]},o,s),!c)return;o.rowSpan>1&&f(o.rowSpan,n,gp);let t=a.hoverState={cell:o,column:c,row:r};a?.emit(`cell-mouse-enter`,t.row,t.column,t.cell,n)}if(!i){cz?.trigger===o&&cz?.();return}let l=n.target.querySelector(`.cell`);if(!(hp(l,`${s}-tooltip`)&&l.childNodes.length&&l.textContent?.trim()))return;let u=document.createRange();u.setStart(l,0),u.setEnd(l,l.childNodes.length);let{width:p,height:m}=u.getBoundingClientRect(),{width:h,height:g}=l.getBoundingClientRect(),{top:_,left:v,right:y,bottom:b}=d(l),x=v+y,S=_+b;JS(p+x,h)||JS(m+S,g)||JS(l.scrollWidth,h)?lz(i,(o?.innerText||o?.textContent)??``,r,c,o,a):cz?.trigger===o&&cz?.()},handleCellMouseLeave:e=>{let n=qR(e);if(!n)return;n.rowSpan>1&&f(n.rowSpan,e,_p);let r=t?.hoverState;t?.emit(`cell-mouse-leave`,r?.row,r?.column,r?.cell,e)},tooltipContent:n,tooltipTrigger:r}}function Yz(e){let t=l(Nz),r=$(`table`);return{getRowStyle:(e,r)=>{let i=t?.props.rowStyle;return n(i)?i.call(null,{row:e,rowIndex:r}):i||null},getRowClass:(i,a,o)=>{let s=[r.e(`row`)];t?.props.highlightCurrentRow&&i===e.store?.states.currentRow.value&&s.push(`current-row`),e.stripe&&o%2==1&&s.push(r.em(`row`,`striped`));let c=t?.props.rowClassName;return P(c)?s.push(c):n(c)&&s.push(c.call(null,{row:i,rowIndex:a})),s},getCellStyle:(r,i,a,o)=>{let s=t?.props.cellStyle,c=s??{};n(s)&&(c=s.call(null,{rowIndex:r,columnIndex:i,row:a,column:o}));let l=hz(i,e?.fixed,e.store);return gz(l,`left`),gz(l,`right`),Object.assign({},c,l)},getCellClass:(i,a,o,s,c)=>{let l=pz(r.b(),a,e?.fixed,e.store,void 0,c),u=[s.id,s.align,s.className,...l],d=t?.props.cellClassName;return P(d)?u.push(d):n(d)&&u.push(d.call(null,{rowIndex:i,columnIndex:a,row:o,column:s})),u.push(r.e(`cell`)),u.filter(e=>!!e).join(` `)},getSpan:(e,r,i,a)=>{let o=1,s=1,c=t?.props.spanMethod;if(n(c)){let t=c({row:e,column:r,rowIndex:i,columnIndex:a});A(t)?(o=t[0],s=t[1]):E(t)&&(o=t.rowspan,s=t.colspan)}return{rowspan:o,colspan:s}},getColspanRealWidth:(e,t,n)=>{if(t<1)return e[n].realWidth;let r=e.map(({realWidth:e,width:t})=>e||t).slice(n,n+t);return Number(r.reduce((e,t)=>Number(e)+Number(t),-1))}}}var Xz=[`colspan`,`rowspan`],Zz=z({name:`TableTdWrapper`,__name:`td-wrapper`,props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(N(),W(`td`,{colspan:e.colspan,rowspan:e.rowspan},[I(t.$slots,`default`)],8,Xz))}});function Qz(e){let t=l(Nz),n=$(`table`),{handleDoubleClick:r,handleClick:i,handleContextMenu:a,handleMouseEnter:o,handleMouseLeave:s,handleCellMouseEnter:c,handleCellMouseLeave:u,tooltipContent:d,tooltipTrigger:f}=Jz(e),{getRowStyle:p,getRowClass:m,getCellStyle:h,getCellClass:g,getSpan:_,getColspanRealWidth:v}=Yz(e),y=-1,b=K(()=>e.store?.states.columns.value.findIndex(({type:e})=>e==="default")),x=(e,n)=>{let r=t?.props?.rowKey;return r?QR(e,r):n},S=(l,d,f,S=!1)=>{let{tooltipEffect:w,tooltipOptions:T,store:E}=e,{indent:D,columns:O}=E.states,k=[],A=!0;return f&&(k.push(n.em(`row`,`level-${f.level}`)),A=!!f.display),d===0&&(y=-1),e.stripe&&A&&y++,k.push(...m(l,d,y)),Je(`tr`,{style:[A?null:{display:`none`},p(l,d)],class:k,key:x(l,d),onDblclick:e=>r(e,l),onClick:e=>i(e,l),onContextmenu:e=>a(e,l),onMouseenter:()=>o(d),onMouseleave:s},O.value.map((n,r)=>{let{rowspan:i,colspan:a}=_(l,n,d,r);if(!i||!a)return null;let o=Object.assign({},n);o.realWidth=v(O.value,a,r);let s={store:E,_self:e.context||t,column:o,row:l,$index:d,cellIndex:r,expanded:S};r===b.value&&f&&(s.treeNode={indent:f.level&&f.level*D.value,level:f.level},jd(f.expanded)&&(s.treeNode.expanded=f.expanded,`loading`in f&&(s.treeNode.loading=f.loading),`noLazyChildren`in f&&(s.treeNode.noLazyChildren=f.noLazyChildren)));let p=`${x(l,d)},${r}`,m=o.columnKey||o.rawColumnKey||``,y=n.showOverflowTooltip&&dd({effect:w},T,n.showOverflowTooltip);return Je(Zz,{style:h(d,r,l,n),class:g(d,r,l,n,a-1),key:`${m}${p}`,rowspan:i,colspan:a,onMouseenter:e=>c(e,l,y),onMouseleave:u},{default:()=>C(r,n,s)})}))},C=(e,t,n)=>t.renderCell(n);return{wrappedRowRender:(r,i)=>{let a=e.store,{isRowExpanded:o,assertRowKey:s}=a,{treeData:c,lazyTreeNodeMap:l,childrenColumnName:u,rowKey:d}=a.states,f=a.states.columns.value;if(f.some(({type:e})=>e===`expand`)){let e=o(r),s=S(r,i,void 0,e),c=t?.renderExpanded;if(!c)return console.error(`[Element Error]renderExpanded is required.`),s;let l=[[s]];return(t.props.preserveExpandedContent||e)&&l[0].push(Je(`tr`,{key:`expanded-row__${s.key}`,style:{display:e?``:`none`}},[Je(`td`,{colspan:f.length,class:`${n.e(`cell`)} ${n.e(`expanded-cell`)}`},[c({row:r,$index:i,store:a,expanded:e})])])),l}else if(Object.keys(c.value).length){s();let e=QR(r,d.value),t=c.value[e],n=null;t&&(n={expanded:t.expanded,level:t.level,display:!0,noLazyChildren:void 0,loading:void 0},jd(t.lazy)&&(n&&jd(t.loaded)&&t.loaded&&(n.noLazyChildren=!(t.children&&t.children.length)),n.loading=t.loading));let a=[S(r,i,n??void 0)];if(t){let n=0,o=(e,r)=>{e&&e.length&&r&&e.forEach(e=>{let s={display:r.display&&r.expanded,level:r.level+1,expanded:!1,noLazyChildren:!1,loading:!1},f=QR(e,d.value);if(Fd(f))throw Error(`For nested data item, row-key is required.`);t={...c.value[f]},t&&(s.expanded=t.expanded,t.level=t.level||s.level,t.display=!!(t.expanded&&s.display),jd(t.lazy)&&(jd(t.loaded)&&t.loaded&&(s.noLazyChildren=!(t.children&&t.children.length)),s.loading=t.loading)),n++,a.push(S(e,i+n,s)),t&&o(l.value[f]||e[u.value],t)})};t.display=!0,o(l.value[e]||r[u.value],t)}return a}else return S(r,i,void 0)},tooltipContent:d,tooltipTrigger:f}}var $z=z({name:`ElTableBody`,props:{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},setup(e){let t=Xe(),n=l(Nz),r=$(`table`),{wrappedRowRender:i,tooltipContent:a,tooltipTrigger:o}=Qz(e),{onColumnsChange:s,onScrollableChange:c}=Wz(n),u=[];return M(e.store?.states.hoverRow,(n,i)=>{let a=t?.vnode.el,o=Array.from(a?.children||[]).filter(e=>e?.classList.contains(`${r.e(`row`)}`)),s=n,c=o[s]?.childNodes;if(c?.length){let e=0;Array.from(c).reduce((t,n,r)=>(c[r]?.colSpan>1&&(e=c[r]?.colSpan),n.nodeName!==`TD`&&e===0&&t.push(r),e>0&&e--,t),[]).forEach(e=>{for(s=n;s>0;){let t=o[s-1]?.childNodes;if(t[e]&&t[e].nodeName===`TD`&&t[e].rowSpan>1){gp(t[e],`hover-cell`),u.push(t[e]);break}s--}})}else u.forEach(e=>_p(e,`hover-cell`)),u.length=0;!e.store?.states.isComplex.value||!nf||Np(()=>{let e=o[i],t=o[n];e&&!e.classList.contains(`hover-fixed-row`)&&_p(e,`hover-row`),t&&gp(t,`hover-row`)})}),_(()=>{cz?.()}),{ns:r,onColumnsChange:s,onScrollableChange:c,wrappedRowRender:i,tooltipContent:a,tooltipTrigger:o}},render(){let{wrappedRowRender:e,store:t}=this;return Je(`tbody`,{tabIndex:-1},[(t?.states.data.value||[]).reduce((t,n)=>t.concat(e(n,t.length)),[])])}});function eB(){let e=l(Nz)?.store;return{leftFixedLeafCount:K(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:K(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:K(()=>e?.states.columns.value.length??0),leftFixedCount:K(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:K(()=>e?.states.rightFixedColumns.value.length??0),columns:K(()=>e?.states.columns.value??[])}}function tB(e){let{columns:t}=eB(),n=$(`table`);return{getCellClasses:(t,r)=>{let i=t[r],a=[n.e(`cell`),i.id,i.align,i.labelClassName,...pz(n.b(),r,i.fixed,e.store)];return i.className&&a.push(i.className),i.children||a.push(n.is(`leaf`)),a},getCellStyles:(t,n)=>{let r=hz(n,t.fixed,e.store);return gz(r,`left`),gz(r,`right`),r},columns:t}}var nB=z({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){let t=l(Nz),n=$(`table`),{getCellClasses:r,getCellStyles:i,columns:a}=tB(e),{onScrollableChange:o,onColumnsChange:s}=Wz(t);return{ns:n,onScrollableChange:o,onColumnsChange:s,getCellClasses:r,getCellStyles:i,columns:a}},render(){let{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:r,sumText:i}=this,a=this.store.states.data.value,o=[];return r?o=r({columns:e,data:a}):e.forEach((e,t)=>{if(t===0){o[t]=i;return}let n=a.map(t=>Number(t[e.property])),r=[],s=!0;n.forEach(e=>{if(!Number.isNaN(+e)){s=!1;let t=`${e}`.split(`.`)[1];r.push(t?t.length:0)}});let c=Math.max.apply(null,r);s?o[t]=``:o[t]=n.reduce((e,t)=>{let n=Number(t);return Number.isNaN(+n)?e:Number.parseFloat((e+t).toFixed(Math.min(c,20)))},0)}),Je(Je(`tfoot`,[Je(`tr`,{},[...e.map((r,i)=>Je(`td`,{key:i,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,i),style:t(r,i)},[Je(`div`,{class:[`cell`,r.labelClassName]},[o[i]])]))])]))}});function rB(e){return{setCurrentRow:t=>{e.commit(`setCurrentRow`,t)},getSelectionRows:()=>e.getSelectionRows(),getHalfSelectionRows:()=>e.getHalfSelectionRows(),toggleRowSelection:(t,n,r=!0)=>{e.toggleRowSelection(t,n,!1,r),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:t=>{e.clearFilter(t)},toggleAllSelection:()=>{e.commit(`toggleAllSelection`)},toggleRowExpansion:(t,n)=>{e.toggleRowExpansionAdapter(t,n)},clearSort:()=>{e.clearSort()},sort:(t,n)=>{e.commit(`sort`,{prop:t,order:n})},updateKeyChildren:(t,n)=>{e.updateKeyChildren(t,n)}}}function iB(t,n,r,i){let a=q(!1),o=q(null),s=q(!1),c=e=>{s.value=e},l=q({width:null,height:null,headerHeight:null}),u=q(!1),f={display:`inline-block`,verticalAlign:`middle`},p=q(),m=q(0),h=q(0),g=q(0),_=q(0),v=q(0);M(()=>t.height,e=>{n.setHeight(e??null)},{immediate:!0}),M(()=>t.maxHeight,e=>{n.setMaxHeight(e??null)},{immediate:!0}),M(()=>[t.currentRowKey,r.states.rowKey],([e,t])=>{!Y(t)||!Y(e)||r.setCurrentRowKey(`${e}`)},{immediate:!0}),M(()=>t.data,e=>{i.store.commit(`setData`,e)},{immediate:!0,deep:!0}),e(()=>{t.expandRowKeys&&r.setExpandRowKeysAdapter(t.expandRowKeys)});let y=()=>{i.store.commit(`setHoverRow`,null),i.hoverState&&=null},b=(e,t)=>{let{pixelX:n,pixelY:r}=t;Math.abs(n)>=Math.abs(r)&&(i.refs.bodyWrapper.scrollLeft+=t.pixelX/5)},x=K(()=>t.height||t.maxHeight||r.states.fixedColumns.value.length>0||r.states.rightFixedColumns.value.length>0),S=K(()=>({width:n.bodyWidth.value?`${n.bodyWidth.value}px`:``})),C=()=>{x.value&&n.updateElsHeight(),n.updateColumnsWidth(),!(typeof window>`u`)&&requestAnimationFrame(D)};d(async()=>{await U(),r.updateColumns(),O(),requestAnimationFrame(C);let e=i.vnode.el,n=i.refs.headerWrapper;t.flexible&&e&&e.parentElement&&(e.parentElement.style.minWidth=`0`),l.value={width:p.value=e.offsetWidth,height:e.offsetHeight,headerHeight:t.showHeader&&n?n.offsetHeight:null},r.states.columns.value.forEach(e=>{e.filteredValue&&e.filteredValue.length&&i.store.commit(`filterChange`,{column:e,values:e.filteredValue,silent:!0})}),i.$ready=!0});let w=(e,t)=>{if(!e)return;let r=Array.from(e.classList).filter(e=>!e.startsWith(`is-scrolling-`));r.push(n.scrollX.value?t:`is-scrolling-none`),e.className=r.join(` `)},T=e=>{let{tableWrapper:t}=i.refs;w(t,e)},E=e=>{let{tableWrapper:t}=i.refs;return!!(t&&t.classList.contains(e))},D=function(){if(!i.refs.scrollBarRef)return;if(!n.scrollX.value){let e=`is-scrolling-none`;E(e)||T(e);return}let e=i.refs.scrollBarRef.wrapRef;if(!e)return;let{scrollLeft:t,offsetWidth:r,scrollWidth:a}=e,{headerWrapper:o,footerWrapper:s}=i.refs;o&&(o.scrollLeft=t),s&&(s.scrollLeft=t),t>=a-r-1?T(`is-scrolling-right`):T(t===0?`is-scrolling-left`:`is-scrolling-middle`)},O=()=>{i.refs.scrollBarRef&&(i.refs.scrollBarRef.wrapRef&&kf(i.refs.scrollBarRef.wrapRef,`scroll`,D,{passive:!0}),t.fit?Uf(i.vnode.el,k):kf(window,`resize`,k),Uf(i.refs.tableInnerWrapper,()=>{k(),i.refs?.scrollBarRef?.update()}))},k=()=>{let e=i.vnode.el;if(!i.$ready||!e)return;let n=!1,{width:r,height:a,headerHeight:o}=l.value,s=p.value=e.offsetWidth;r!==s&&(n=!0);let c=e.offsetHeight;(t.height||x.value)&&a!==c&&(n=!0);let u=t.tableLayout===`fixed`?i.refs.headerWrapper:i.refs.tableHeaderRef?.$el;t.showHeader&&u?.offsetHeight!==o&&(n=!0),m.value=i.refs.tableWrapper?.scrollHeight||0,g.value=u?.scrollHeight||0,_.value=i.refs.footerWrapper?.offsetHeight||0,v.value=i.refs.appendWrapper?.offsetHeight||0,h.value=m.value-g.value-_.value-v.value,n&&(l.value={width:s,height:c,headerHeight:t.showHeader&&u?.offsetHeight||0},C())},A=cb(),ee=K(()=>{let{bodyWidth:e,scrollY:t,gutterWidth:r}=n;return e.value?`${e.value-(t.value?r:0)}px`:``}),j=K(()=>t.maxHeight?`fixed`:t.tableLayout);return{isHidden:a,renderExpanded:o,setDragVisible:c,isGroup:u,handleMouseLeave:y,handleHeaderFooterMousewheel:b,tableSize:A,emptyBlockStyle:K(()=>{if(t.data&&t.data.length)return;let e=`100%`;t.height&&h.value&&(e=`${h.value}px`);let n=p.value;return{width:n?`${n}px`:``,height:e}}),resizeProxyVisible:s,bodyWidth:ee,resizeState:l,doLayout:C,tableBodyStyles:S,tableLayout:j,scrollbarViewStyle:f,scrollbarStyle:K(()=>t.height?{height:`100%`}:t.maxHeight?Number.isNaN(Number(t.maxHeight))?{maxHeight:`calc(${t.maxHeight} - ${g.value+_.value}px)`}:{maxHeight:`${+t.maxHeight-g.value-_.value}px`}:{})}}function aB(e){let t,n=()=>{let n=e.vnode.el.querySelector(`.hidden-columns`),r={childList:!0,subtree:!0},i=e.store.states.updateOrderFns;t=new MutationObserver(()=>{i.forEach(e=>e())}),t.observe(n,r)};d(()=>{n()}),_(()=>{t?.disconnect()})}function oB(e){let t=e.tableLayout===`auto`,n=e.columns||[];t&&n.every(({width:e})=>Ad(e))&&(n=[]);let r=n=>{let r={key:`${e.tableLayout}_${n.id}`,style:{},name:void 0};return t?r.style={width:`${n.width}px`}:r.name=n.id,r};return Je(`colgroup`,{},n.map(e=>Je(`col`,r(e))))}oB.props=[`columns`,`tableLayout`];var sB=()=>{let e=q(),t=(t,n)=>{let r=e.value;r&&r.scrollTo(t,n)},n=(t,n)=>{let r=e.value;r&&Md(n)&&[`Top`,`Left`].includes(t)&&r[`setScroll${t}`](n)};return{scrollBarRef:e,scrollTo:t,setScrollTop:e=>n(`Top`,e),setScrollLeft:e=>n(`Left`,e)}},cB=[`data-prefix`],lB={ref:`hiddenColumns`,class:`hidden-columns`},uB=z({name:`ElTable`,__name:`table`,props:HR,emits:[`select`,`select-all`,`selection-change`,`cell-mouse-enter`,`cell-mouse-leave`,`cell-dblclick`,`cell-contextmenu`,`cell-click`,`row-dblclick`,`row-click`,`row-contextmenu`,`header-click`,`header-contextmenu`,`sort-change`,`filter-change`,`current-change`,`header-dragend`,`expand-change`,`scroll`],setup(e,{expose:t}){let n=e,{t:r}=Dp(),i=$(`table`),a=FC(`table`),o=Xe();Qe(Nz,o);let s=Oz(o,n);o.store=s;let c=new Mz({store:o.store,table:o,fit:n.fit,showHeader:n.showHeader});o.layout=c;let l=K(()=>(s.states.data.value||[]).length===0),{setCurrentRow:u,getSelectionRows:d,getHalfSelectionRows:f,toggleRowSelection:p,clearSelection:h,clearFilter:g,toggleAllSelection:_,toggleRowExpansion:v,clearSort:y,sort:b,updateKeyChildren:x}=rB(s),{isHidden:C,renderExpanded:w,setDragVisible:E,isGroup:D,handleMouseLeave:O,handleHeaderFooterMousewheel:k,tableSize:A,emptyBlockStyle:ee,resizeProxyVisible:j,bodyWidth:M,resizeState:P,doLayout:te,tableBodyStyles:ne,tableLayout:re,scrollbarViewStyle:ie,scrollbarStyle:ae}=iB(n,c,s,o),{scrollBarRef:oe,scrollTo:L,setScrollLeft:se,setScrollTop:ce}=sB(),le=Hu(te,50),ue=GR(i.namespace.value),de=o;o.tableId=ue,o.state={isGroup:D,resizeState:P,doLayout:te,debouncedUpdateLayout:le};let fe=K(()=>n.sumText??r(`el.table.sumText`)),pe=K(()=>n.emptyText??r(`el.table.emptyText`)),me=K(()=>n.tooltipEffect??a.value?.tooltipEffect),R=K(()=>n.tooltipOptions??a.value?.tooltipOptions),he=K(()=>Fz(s.states.originColumns.value)[0]);return aB(o),T(()=>{le.cancel()}),t({ns:i,layout:c,store:s,columns:he,handleHeaderFooterMousewheel:k,handleMouseLeave:O,tableId:ue,tableSize:A,isHidden:C,isEmpty:l,renderExpanded:w,resizeProxyVisible:j,resizeState:P,isGroup:D,bodyWidth:M,tableBodyStyles:ne,emptyBlockStyle:ee,debouncedUpdateLayout:le,setCurrentRow:u,getSelectionRows:d,getHalfSelectionRows:f,toggleRowSelection:p,clearSelection:h,clearFilter:g,toggleAllSelection:_,toggleRowExpansion:v,clearSort:y,doLayout:te,sort:b,updateKeyChildren:x,t:r,setDragVisible:E,context:de,computedSumText:fe,computedEmptyText:pe,computedTooltipEffect:me,computedTooltipOptions:R,tableLayout:re,scrollbarViewStyle:ie,scrollbarStyle:ae,scrollBarRef:oe,scrollTo:L,setScrollLeft:se,setScrollTop:ce,allowDragLastColumn:n.allowDragLastColumn}),(t,n)=>(N(),W(`div`,{ref:`tableWrapper`,class:F([{[Y(i).m(`fit`)]:e.fit,[Y(i).m(`striped`)]:e.stripe,[Y(i).m(`border`)]:e.border||Y(D),[Y(i).m(`hidden`)]:Y(C),[Y(i).m(`group`)]:Y(D),[Y(i).m(`fluid-height`)]:e.maxHeight,[Y(i).m(`scrollable-x`)]:Y(c).scrollX.value,[Y(i).m(`scrollable-y`)]:Y(c).scrollY.value,[Y(i).m(`enable-row-hover`)]:!Y(s).states.isComplex.value,[Y(i).m(`enable-row-transition`)]:(Y(s).states.data.value||[]).length!==0&&(Y(s).states.data.value||[]).length<100,"has-footer":e.showSummary},Y(i).m(Y(A)),e.className,Y(i).b(),Y(i).m(`layout-${Y(re)}`)]),style:m(e.style),"data-prefix":Y(i).namespace.value,onMouseleave:n[1]||=(...e)=>Y(O)&&Y(O)(...e)},[B(`div`,{ref:`tableInnerWrapper`,class:F(Y(i).e(`inner-wrapper`))},[B(`div`,lB,[I(t.$slots,`default`)],512),e.showHeader&&Y(re)===`fixed`?Ge((N(),W(`div`,{key:0,ref:`headerWrapper`,class:F(Y(i).e(`header-wrapper`))},[B(`table`,{ref:`tableHeader`,class:F(Y(i).e(`header`)),style:m(Y(ne)),border:`0`,cellpadding:`0`,cellspacing:`0`},[J(Y(oB),{columns:Y(s).states.columns.value,"table-layout":Y(re)},null,8,[`columns`,`table-layout`]),J(Y(qz),{ref:`tableHeaderRef`,border:e.border,"default-sort":e.defaultSort,store:Y(s),"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:Y(E)},null,8,[`border`,`default-sort`,`store`,`append-filter-panel-to`,`allow-drag-last-column`,`onSetDragVisible`])],6)],2)),[[Y(zT),Y(k)]]):G(`v-if`,!0),B(`div`,{ref:`bodyWrapper`,class:F(Y(i).e(`body-wrapper`))},[J(Y(tC),{ref_key:`scrollBarRef`,ref:oe,"view-style":Y(ie),"wrap-style":Y(ae),always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:n[0]||=e=>t.$emit(`scroll`,e)},{default:V(()=>[B(`table`,{ref:`tableBody`,class:F(Y(i).e(`body`)),cellspacing:`0`,cellpadding:`0`,border:`0`,style:m({width:Y(M),tableLayout:Y(re)})},[J(Y(oB),{columns:Y(s).states.columns.value,"table-layout":Y(re)},null,8,[`columns`,`table-layout`]),e.showHeader&&Y(re)===`auto`?(N(),H(Y(qz),{key:0,ref:`tableHeaderRef`,class:F(Y(i).e(`body-header`)),border:e.border,"default-sort":e.defaultSort,store:Y(s),"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:Y(E)},null,8,[`class`,`border`,`default-sort`,`store`,`append-filter-panel-to`,`onSetDragVisible`])):G(`v-if`,!0),J(Y($z),{context:Y(de),highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":me.value,"tooltip-options":R.value,"row-style":e.rowStyle,store:Y(s),stripe:e.stripe},null,8,[`context`,`highlight`,`row-class-name`,`tooltip-effect`,`tooltip-options`,`row-style`,`store`,`stripe`]),e.showSummary&&Y(re)===`auto`?(N(),H(Y(nB),{key:1,class:F(Y(i).e(`body-footer`)),border:e.border,"default-sort":e.defaultSort,store:Y(s),"sum-text":fe.value,"summary-method":e.summaryMethod},null,8,[`class`,`border`,`default-sort`,`store`,`sum-text`,`summary-method`])):G(`v-if`,!0)],6),l.value?(N(),W(`div`,{key:0,ref:`emptyBlock`,style:m(Y(ee)),class:F(Y(i).e(`empty-block`))},[B(`span`,{class:F(Y(i).e(`empty-text`))},[I(t.$slots,`empty`,{},()=>[Ke(S(pe.value),1)])],2)],6)):G(`v-if`,!0),t.$slots.append?(N(),W(`div`,{key:1,ref:`appendWrapper`,class:F(Y(i).e(`append-wrapper`))},[I(t.$slots,`append`)],2)):G(`v-if`,!0)]),_:3},8,[`view-style`,`wrap-style`,`always`,`tabindex`,`native`])],2),e.showSummary&&Y(re)===`fixed`?Ge((N(),W(`div`,{key:1,ref:`footerWrapper`,class:F(Y(i).e(`footer-wrapper`))},[B(`table`,{class:F(Y(i).e(`footer`)),cellspacing:`0`,cellpadding:`0`,border:`0`,style:m(Y(ne))},[J(Y(oB),{columns:Y(s).states.columns.value,"table-layout":Y(re)},null,8,[`columns`,`table-layout`]),J(Y(nB),{border:e.border,"default-sort":e.defaultSort,store:Y(s),"sum-text":fe.value,"summary-method":e.summaryMethod},null,8,[`border`,`default-sort`,`store`,`sum-text`,`summary-method`])],6)],2)),[[jt,!l.value],[Y(zT),Y(k)]]):G(`v-if`,!0),e.border||Y(D)?(N(),W(`div`,{key:2,class:F(Y(i).e(`border-left-patch`))},null,2)):G(`v-if`,!0)],2),Ge(B(`div`,{ref:`resizeProxy`,class:F(Y(i).e(`column-resize-proxy`))},null,2),[[jt,Y(j)]])],46,cB))}}),dB={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(e=>[`ascending`,`descending`,null].includes(e))}},fB={selection:`table-column--selection`,expand:`table__expand-column`},pB={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:``}},mB=e=>fB[e]||``,hB={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return Je(ok,{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:r}){return Je(ok,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:n.states.tableSize.value,onChange:()=>{n.commit(`rowSelectedChanged`,e)},onClick:e=>e.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 r=t+1,i=e.index;return Md(i)?r=t+i:n(i)&&(r=i(t)),Je(`div`,{},[r])},sortable:!1},expand:{renderHeader({column:e}){return e.label||``},renderCell({column:e,row:t,store:n,expanded:r,$index:i}){let{ns:a}=n,o=[a.e(`expand-icon`)];!e.renderExpand&&r&&o.push(a.em(`expand-icon`,`expanded`));let s=function(e){e.stopPropagation(),n.toggleRowExpansion(t)},c=n.states.rowExpandable.value?.(t,i)??!0;return c||o.push(a.is(`disabled`)),Je(`button`,{type:`button`,disabled:!c,"aria-label":n.t(r?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),"aria-expanded":r,class:o,onClick:s},{default:()=>e.renderExpand?[e.renderExpand({expanded:r,expandable:c})]:[Je(By,null,{default:()=>[Je(Hv)]})]})},sortable:!1,resizable:!1}};function gB({row:e,column:t,$index:n}){let r=t.property,i=r&&Bd(e,r).value;return t&&t.formatter?t.formatter(e,t,i,n):i?.toString?.()||``}function _B({row:e,treeNode:t,store:n},r=!1){let{ns:i}=n;if(!t)return r?[Je(`span`,{class:i.e(`placeholder`)})]:null;let a=[],o=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&a.push(Je(`span`,{class:i.e(`indent`),style:{"padding-left":`${t.indent}px`}})),jd(t.expanded)&&!t.noLazyChildren){let e=[i.e(`expand-icon`),t.expanded?i.em(`expand-icon`,`expanded`):``],r=Hv;t.loading&&(r=dy),a.push(Je(`button`,{type:`button`,"aria-label":n.t(t.expanded?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),"aria-expanded":t.expanded,class:e,onClick:o},{default:()=>[Je(By,{class:i.is(`loading`,t.loading)},{default:()=>[Je(r)]})]}))}else a.push(Je(`span`,{class:i.e(`placeholder`)}));return a}function vB(e,t){return e.reduce((e,t)=>(e[t]=t,e),t)}function yB(e,t){let n=Xe();return{registerComplexWatchers:()=>{let r=[`fixed`],i={realWidth:`width`,realMinWidth:`minWidth`},a=vB(r,i);Object.keys(a).forEach(r=>{let a=i[r];Ye(t,a)&&M(()=>t[a],t=>{let i=t;a===`width`&&r===`realWidth`&&(i=tz(t)),a===`minWidth`&&r===`realMinWidth`&&(i=nz(t)),n.columnConfig.value[a]=i,n.columnConfig.value[r]=i;let o=a===`fixed`;e.value.store.scheduleLayout(o)})})},registerNormalWatchers:()=>{let r=[`label`,`filters`,`filterMultiple`,`filteredValue`,`sortable`,`index`,`formatter`,`className`,`labelClassName`,`filterClassName`,`showOverflowTooltip`,`tooltipFormatter`,`resizable`],i=[`showOverflowTooltip`],a={property:`prop`,align:`realAlign`,headerAlign:`realHeaderAlign`},o=vB(r,a);Object.keys(o).forEach(e=>{let r=a[e];Ye(t,r)&&M(()=>t[r],t=>{n.columnConfig.value[e]=t,(e===`filters`||e===`filterMethod`)&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),i.forEach(r=>{Ye(e.value.props,r)&&M(()=>e.value.props[r],e=>{n.columnConfig.value.type!==`selection`&&Ad(t[r])&&(n.columnConfig.value[r]=e)})});let s=FC(`table`);s.value&&Ye(s.value,`showOverflowTooltip`)&&M(()=>s.value?.showOverflowTooltip,r=>{n.columnConfig.value.type!==`selection`&&(!Ad(t.showOverflowTooltip)||!Ad(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=r))})}}}function bB(t,n,r){let i=Xe(),a=q(``),o=q(!1),s=q(),c=q(),l=$(`table`);e(()=>{s.value=t.align?`is-${t.align}`:null,s.value}),e(()=>{c.value=t.headerAlign?`is-${t.headerAlign}`:s.value,c.value});let u=K(()=>{let e=i.vnode.vParent||i.parent;for(;e&&!e.tableId&&!e.columnId;)e=e.vnode.vParent||e.parent;return e}),d=K(()=>{let{store:e}=i.parent;if(!e)return!1;let{treeData:t}=e.states,n=t.value;return n&&Object.keys(n).length>0}),f=q(tz(t.width)),p=q(nz(t.minWidth)),m=e=>(f.value&&(e.width=f.value),p.value&&(e.minWidth=p.value),!f.value&&p.value&&(e.width=void 0),e.minWidth||=80,e.realWidth=Number(Ad(e.width)?e.minWidth:e.width),e),h=e=>{let t=e.type,n=hB[t]||{};Object.keys(n).forEach(t=>{let r=n[t];t!==`className`&&!Ad(r)&&(e[t]=r)});let r=mB(t);if(r){let t=`${Y(l.namespace)}-${r}`;e.className=e.className?`${e.className} ${t}`:t}return e},g=e=>{A(e)?e.forEach(e=>t(e)):t(e);function t(e){e?.type?.name===`ElTableColumn`&&(e.vParent=i)}};return{columnId:a,realAlign:s,isSubColumn:o,realHeaderAlign:c,columnOrTableParent:u,setColumnWidth:m,setColumnForcedProps:h,setColumnRenders:e=>{t.renderHeader?Jd(`TableColumn`,`Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.`):e.type!==`selection`&&(e.renderHeader=t=>{if(i.columnConfig.value.label,n.header){let e=n.header(t);if(_z(e))return Je(R,e)}return Ke(e.label)}),n[`filter-icon`]&&(e.renderFilterIcon=e=>I(n,`filter-icon`,e)),n.expand&&(e.renderExpand=e=>I(n,`expand`,e));let a=e.renderCell;return e.type===`expand`?(e.renderCell=e=>Je(`div`,{class:`cell`},[a(e)]),r.value.renderExpanded=e=>n.default?n.default(e):n.default):(a||=gB,e.renderCell=t=>{let i=null;if(n.default){let e=n.default(t);i=e.some(e=>e.type!==Te)?e:a(t)}else i=a(t);let{columns:o}=r.value.store.states,s=o.value.findIndex(e=>e.type==="default"),c=_B(t,d.value&&t.cellIndex===s),u={class:`cell`,style:{}};return e.showOverflowTooltip&&(u.class=`${u.class} ${Y(l.namespace)}-tooltip`,u.style={width:`${(t.column.realWidth||Number(t.column.width))-1}px`}),g(i),Je(`div`,u,[c,i])}),e},getPropsData:(...e)=>e.reduce((e,n)=>(A(n)&&n.forEach(n=>{e[n]=t[n]}),e),{}),getColumnElIndex:(e,t)=>Array.prototype.indexOf.call(e,t),updateColumnOrder:()=>{r.value.store.commit(`updateColumnOrder`,i.columnConfig.value)}}}var xB=z({name:`ElTableColumn`,__name:`index`,props:dB,setup(e){let t=e,n=le(),r=Xe(),i=FC(`table`),a=q({}),o=K(()=>{let e=r.parent;for(;e&&!e.tableId;)e=e.parent;return e}),{registerNormalWatchers:s,registerComplexWatchers:c}=yB(o,t),{columnId:l,isSubColumn:u,realHeaderAlign:f,columnOrTableParent:p,setColumnWidth:m,setColumnForcedProps:h,setColumnRenders:g,getPropsData:_,getColumnElIndex:v,realAlign:y,updateColumnOrder:b}=bB(t,n,o),x=p.value;l.value=KR(`tableId`in x?x.tableId:x.columnId),De(()=>{u.value=o.value!==x;let e=t.type||`default`,n=t.sortable===``?!0:t.sortable,d=e===`selection`?!1:Ad(t.showOverflowTooltip)?x.props.showOverflowTooltip??i.value?.showOverflowTooltip:t.showOverflowTooltip,p=Ad(t.tooltipFormatter)?x.props.tooltipFormatter??i.value?.tooltipFormatter:t.tooltipFormatter,v={...pB[e],id:l.value,type:e,property:t.prop||t.property,align:y,headerAlign:f,showOverflowTooltip:d,tooltipFormatter:p,filterable:t.filters||t.filterMethod,filteredValue:[],filterPlacement:``,filterClassName:``,isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:n,index:t.index,rawColumnKey:r.vnode.key},b=_([`columnKey`,`label`,`className`,`labelClassName`,`type`,`renderHeader`,`formatter`,`fixed`,`resizable`],[`sortMethod`,`sortBy`,`sortOrders`],[`selectable`,`reserveSelection`],[`filterMethod`,`filters`,`filterMultiple`,`filterOpened`,`filteredValue`,`filterPlacement`,`filterClassName`]);b=ez(v,b),b=iz(g,m,h)(b),a.value=b,s(),c()}),d(()=>{let e=p.value,t=u.value?e.vnode.el?.children:e.refs.hiddenColumns?.children,n=()=>v(t||[],r.vnode.el);a.value.getColumnIndex=n,n()>-1&&o.value.store.commit(`insertColumn`,a.value,u.value?`columnConfig`in e&&e.columnConfig.value:null,b)}),T(()=>{let e=a.value.getColumnIndex;(e?e():-1)>-1&&o.value.store.commit(`removeColumn`,a.value,u.value?`columnConfig`in x&&x.columnConfig.value:null,b)}),r.columnId=l.value,r.columnConfig=a;let S=()=>{try{let e=n.default?.({row:{},column:{},$index:-1}),t=[];if(A(e))for(let n of e)n.type?.name===`ElTableColumn`||n.shapeFlag&2?t.push(n):n.type===R&&A(n.children)&&n.children.forEach(e=>{e?.patchFlag!==1024&&!P(e?.children)&&t.push(e)});return Je(`div`,t)}catch{return Je(`div`,[])}};return(e,t)=>(N(),H(S))}}),SB=Pv(uB,{TableColumn:xB}),CB=Lv(xB),wB={asc:`desc`,desc:`asc`},TB=Symbol(`placeholder`),EB=String,DB={type:Z(Array),required:!0},OB={type:Z(Array)},kB={...OB,required:!0},AB=String,jB={type:Z(Array),default:()=>DS([])},MB={type:Number,required:!0},NB={type:Z([String,Number,Symbol]),default:`id`},PB={type:Z(Object)},FB=Q({class:String,columns:DB,columnsStyles:{type:Z(Object),required:!0},depth:Number,expandColumnKey:AB,estimatedRowHeight:{...eO.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:Z(Function)},onRowHover:{type:Z(Function)},onRowHeightChange:{type:Z(Function)},rowData:{type:Z(Object),required:!0},rowEventHandlers:{type:Z(Object)},rowIndex:{type:Number,required:!0},rowKey:NB,style:{type:Z(Object)}}),IB={type:Number,required:!0},LB=Q({class:String,columns:DB,fixedHeaderData:{type:Z(Array)},headerData:{type:Z(Array),required:!0},headerHeight:{type:Z([Number,Array]),default:50},rowWidth:IB,rowHeight:{type:Number,default:50},height:IB,width:IB}),RB=Q({columns:DB,data:kB,fixedData:OB,estimatedRowHeight:FB.estimatedRowHeight,width:MB,height:MB,headerWidth:MB,headerHeight:LB.headerHeight,bodyWidth:MB,rowHeight:MB,cache:XD.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:eO.scrollbarAlwaysOn,scrollbarStartGap:eO.scrollbarStartGap,scrollbarEndGap:eO.scrollbarEndGap,class:EB,style:PB,containerStyle:PB,getRowHeight:{type:Z(Function),required:!0},rowKey:FB.rowKey,onRowsRendered:{type:Z(Function)},onScroll:{type:Z(Function)}}),zB=Q({cache:RB.cache,estimatedRowHeight:FB.estimatedRowHeight,rowKey:NB,headerClass:{type:Z([String,Function])},headerProps:{type:Z([Object,Function])},headerCellProps:{type:Z([Object,Function])},headerHeight:LB.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:Z([String,Function])},rowProps:{type:Z([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:Z([Object,Function])},columns:DB,data:kB,dataGetter:{type:Z(Function)},fixedData:OB,expandColumnKey:FB.expandColumnKey,expandedRowKeys:jB,defaultExpandedRowKeys:jB,class:EB,fixed:Boolean,style:{type:Z(Object)},width:MB,height:MB,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:eO.hScrollbarSize,vScrollbarSize:eO.vScrollbarSize,scrollbarAlwaysOn:tO.alwaysOn,sortBy:{type:Z(Object),default:()=>({})},sortState:{type:Z(Object),default:void 0},onColumnSort:{type:Z(Function)},onExpandedRowsChange:{type:Z(Function)},onEndReached:{type:Z(Function)},onRowExpand:FB.onRowExpand,onScroll:RB.onScroll,onRowsRendered:RB.onRowsRendered,rowEventHandlers:FB.rowEventHandlers}),BB=(e,t,n)=>{let r={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},i={...e.style??{},...r,flexBasis:`auto`,width:e.width};return t||(e.maxWidth&&(i.maxWidth=e.maxWidth),e.minWidth&&(i.minWidth=e.minWidth)),i};function VB(e,t,n){let r=K(()=>Y(t).map((e,t)=>({...e,key:e.key??e.dataKey??t}))),i=K(()=>Y(r).filter(e=>!e.hidden)),a=K(()=>Y(i).filter(e=>e.fixed===`left`||e.fixed===!0)),o=K(()=>Y(i).filter(e=>e.fixed===`right`)),s=K(()=>Y(i).filter(e=>!e.fixed)),c=K(()=>{let e=[];return Y(a).forEach(t=>{e.push({...t,placeholderSign:TB})}),Y(s).forEach(t=>{e.push(t)}),Y(o).forEach(t=>{e.push({...t,placeholderSign:TB})}),e}),l=K(()=>Y(a).length||Y(o).length),u=K(()=>Y(r).reduce((t,r)=>(t[r.key]=BB(r,Y(n),e.fixed),t),{})),d=K(()=>Y(i).reduce((e,t)=>e+t.width,0)),f=e=>Y(r).find(t=>t.key===e),p=e=>Y(u)[e],m=(e,t)=>{e.width=t};function h(t){let{key:n}=t.currentTarget.dataset;if(!n)return;let{sortState:r,sortBy:i}=e,a=`asc`;a=E(r)?wB[r[n]]:wB[i.order],e.onColumnSort?.({column:f(n),key:n,order:a})}return{columns:r,columnsStyles:u,columnsTotalWidth:d,fixedColumnsOnLeft:a,fixedColumnsOnRight:o,hasFixedColumns:l,mainColumns:c,normalColumns:s,visibleColumns:i,getColumn:f,getColumnStyle:p,updateColumnWidth:m,onColumnSorted:h}}var HB=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,onMaybeEndReached:i})=>{let a=q({scrollLeft:0,scrollTop:0});function o(e){let{scrollTop:i}=e;t.value?.scrollTo(e),n.value?.scrollToTop(i),r.value?.scrollToTop(i)}function s(e){a.value=e,o(e)}function c(e){a.value.scrollTop=e,o(Y(a))}function l(e){a.value.scrollLeft=e,t.value?.scrollTo?.(Y(a))}function u(t){s(t),e.onScroll?.(t)}function d({scrollTop:e}){let{scrollTop:t}=Y(a);e!==t&&c(e)}function f(e,n=`auto`){t.value?.scrollToRow(e,n)}return M(()=>Y(a).scrollTop,(e,t)=>{e>t&&i()}),{scrollPos:a,scrollTo:s,scrollToLeft:l,scrollToTop:c,scrollToRow:f,onScroll:u,onVerticalScroll:d}},UB=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,tableInstance:i,ns:a,isScrolling:o})=>{let s=Xe(),{emit:c}=s,l=Le(!1),u=q(e.defaultExpandedRowKeys||[]),d=q(-1),f=Le(null),p=q({}),m=q({}),h=Le({}),g=Le({}),_=Le({}),v=K(()=>Md(e.estimatedRowHeight));function y(t){e.onRowsRendered?.(t),t.rowCacheEnd>Y(d)&&(d.value=t.rowCacheEnd)}function b({hovered:e,rowKey:t}){o.value||i.vnode.el.querySelectorAll(`[rowkey="${String(t)}"]`).forEach(t=>{e?t.classList.add(a.is(`hovered`)):t.classList.remove(a.is(`hovered`))})}function x({expanded:t,rowData:n,rowIndex:r,rowKey:o}){let s=[...Y(u)],l=s.indexOf(o);t?l===-1&&s.push(o):l>-1&&s.splice(l,1),u.value=s,c(`update:expandedRowKeys`,s),e.onRowExpand?.({expanded:t,rowData:n,rowIndex:r,rowKey:o}),e.onExpandedRowsChange?.(s),i.vnode.el.querySelector(`.${a.is(`hovered`)}[rowkey="${String(o)}"]`)&&U(()=>b({hovered:!0,rowKey:o}))}let S=Hu(()=>{l.value=!0,p.value={...Y(p),...Y(m)},C(Y(f),!1),m.value={},f.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),r.value?.forceUpdate(),s.proxy?.$forceUpdate(),l.value=!1},0);function C(e,i=!1){Y(v)&&[t,n,r].forEach(t=>{let n=Y(t);n&&n.resetAfterRowIndex(e,i)})}function w(e,t,n){let r=Y(f);(r===null||r>n)&&(f.value=n),m.value[e]=t}function T({rowKey:e,height:t,rowIndex:n},r){r?r===`right`?_.value[e]=t:h.value[e]=t:g.value[e]=t;let i=Math.max(...[h,_,g].map(t=>t.value[e]||0));Y(p)[e]!==i&&(w(e,i,n),S())}return{expandedRowKeys:u,lastRenderedRowIndex:d,isDynamic:v,isResetting:l,rowHeights:p,resetAfterIndex:C,onRowExpanded:x,onRowHovered:b,onRowsRendered:y,onRowHeightChange:T}},WB=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:r})=>{let i=q({}),a=K(()=>{let n={},{data:r,rowKey:a}=e,o=Y(t);if(!o||!o.length)return r;let s=[],c=new Set;o.forEach(e=>c.add(e));let l=r.slice();for(l.forEach(e=>n[e[a]]=0);l.length>0;){let e=l.shift();s.push(e),c.has(e[a])&&A(e.children)&&e.children.length>0&&(l=[...e.children,...l],e.children.forEach(t=>n[t[a]]=n[e[a]]+1))}return i.value=n,s}),o=K(()=>{let{data:t,expandColumnKey:n}=e;return n?Y(a):t});return M(o,(e,t)=>{e!==t&&(n.value=-1,r(0,!0))}),{data:o,depthMap:i}},GB=(e,t)=>e+t,KB=e=>A(e)?e.reduce(GB,0):e,qB=(e,t,r={})=>n(e)?e(t):e??r,JB=e=>([`width`,`maxWidth`,`minWidth`,`height`].forEach(t=>{e[t]=bp(e[t])}),e),YB=e=>s(e)?t=>Je(e,t):e,XB=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:r,fixedColumnsOnRight:i})=>{let a=K(()=>{let{fixed:n,width:r,vScrollbarSize:i}=e,a=r-i;return n?Math.max(Math.round(Y(t)),a):a}),o=K(()=>{let{height:t=0,maxHeight:r=0,footerHeight:i,hScrollbarSize:a}=e;if(r>0){let e=Y(f),t=Y(n),o=Y(d)+e+t+a;return Math.min(o,r-i)}return t-i}),s=K(()=>{let{maxHeight:t}=e,r=Y(o);if(Md(t)&&t>0)return r;let i=Y(n)+Y(d)+Y(f);return Math.min(r,i)}),c=e=>e.width,l=K(()=>KB(Y(r).map(c))),u=K(()=>KB(Y(i).map(c))),d=K(()=>KB(e.headerHeight)),f=K(()=>(e.fixedData?.length||0)*e.rowHeight),p=K(()=>Y(o)-Y(d)-Y(f)),m=K(()=>{let{style:t={},height:n,width:r}=e;return JB({...t,height:n,width:r})});return{bodyWidth:a,fixedTableHeight:s,mainTableHeight:o,leftTableWidth:l,rightTableWidth:u,windowHeight:p,footerHeight:K(()=>JB({height:e.footerHeight})),emptyStyle:K(()=>({top:bp(Y(d)),bottom:bp(e.footerHeight),width:bp(e.width)})),rootStyle:m,headerHeight:d}};function ZB(e){let t=q(),n=q(),r=q(),{columns:i,columnsStyles:a,columnsTotalWidth:o,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,hasFixedColumns:l,mainColumns:u,onColumnSorted:d}=VB(e,we(e,`columns`),we(e,`fixed`)),{scrollTo:f,scrollToLeft:p,scrollToTop:m,scrollToRow:h,onScroll:g,onVerticalScroll:_,scrollPos:v}=HB(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,onMaybeEndReached:pe}),y=$(`table-v2`),b=Xe(),x=Le(!1),{expandedRowKeys:S,lastRenderedRowIndex:C,isDynamic:w,isResetting:T,rowHeights:E,resetAfterIndex:D,onRowExpanded:O,onRowHeightChange:k,onRowHovered:ee,onRowsRendered:j}=UB(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,tableInstance:b,ns:y,isScrolling:x}),{data:N,depthMap:P}=WB(e,{expandedRowKeys:S,lastRenderedRowIndex:C,resetAfterIndex:D}),te=K(()=>{let{estimatedRowHeight:t,rowHeight:n}=e,r=Y(N);return Md(t)?Object.values(Y(E)).reduce((e,t)=>e+t,0):r.length*n}),{bodyWidth:ne,fixedTableHeight:re,mainTableHeight:ie,leftTableWidth:ae,rightTableWidth:F,windowHeight:I,footerHeight:oe,emptyStyle:L,rootStyle:se,headerHeight:ce}=XB(e,{columnsTotalWidth:o,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,rowsHeight:te}),le=q(),ue=K(()=>{let t=Y(N).length===0;return A(e.fixedData)?e.fixedData.length===0&&t:t});function de(t){let{estimatedRowHeight:n,rowHeight:r,rowKey:i}=e;return n?Y(E)[Y(N)[t][i]]||n:r}let fe=q(!1);function pe(){let{onEndReached:t}=e;if(!t)return;let{scrollTop:n}=Y(v),r=Y(te),i=r-(n+Y(I))+e.hScrollbarSize;!fe.value&&Y(C)>=0&&r<=n+Y(ie)-Y(ce)?(fe.value=!0,t(i)):fe.value=!1}return M(()=>Y(te),()=>fe.value=!1),M(()=>e.expandedRowKeys,e=>S.value=e,{deep:!0}),{columns:i,containerRef:le,mainTableRef:t,leftTableRef:n,rightTableRef:r,isDynamic:w,isResetting:T,isScrolling:x,hasFixedColumns:l,columnsStyles:a,columnsTotalWidth:o,data:N,expandedRowKeys:S,depthMap:P,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,mainColumns:u,bodyWidth:ne,emptyStyle:L,rootStyle:se,footerHeight:oe,mainTableHeight:ie,fixedTableHeight:re,leftTableWidth:ae,rightTableWidth:F,showEmpty:ue,getRowHeight:de,onColumnSorted:d,onRowHovered:ee,onRowExpanded:O,onRowsRendered:j,onRowHeightChange:k,scrollTo:f,scrollToLeft:p,scrollToTop:m,scrollToRow:h,onScroll:g,onVerticalScroll:_}}var QB=Symbol(`tableV2`),$B=`tableV2GridScrollLeft`,eV=z({name:`ElTableV2Header`,props:LB,setup(e,{slots:t,expose:n}){let r=$(`table-v2`),i=l($B),a=q(),o=K(()=>JB({width:e.width,height:e.height})),s=K(()=>JB({width:e.rowWidth,height:e.height})),c=K(()=>Cs(Y(e.headerHeight))),u=e=>{let t=Y(a);U(()=>{t?.scroll&&t.scroll({left:e})})},d=()=>{let n=r.e(`fixed-header-row`),{columns:i,fixedHeaderData:a,rowHeight:o}=e;return a?.map((e,r)=>{let a=JB({height:o,width:`100%`});return t.fixed?.({class:n,columns:i,rowData:e,rowIndex:-(r+1),style:a})})},f=()=>{let n=r.e(`dynamic-header-row`),{columns:i}=e;return Y(c).map((e,r)=>{let a=JB({width:`100%`,height:e});return t.dynamic?.({class:n,columns:i,headerIndex:r,style:a})})};return C(()=>{i?.value&&u(i.value)}),n({scrollToLeft:u}),()=>{if(!(e.height<=0))return J(`div`,{ref:a,class:e.class,style:Y(o),role:`rowgroup`},[J(`div`,{style:Y(s),class:r.e(`header`)},[f(),d()])])}}}),tV=`ElTableV2Grid`,nV=e=>{let t=q(),n=q(),r=q(0),i=K(()=>{let{data:t,rowHeight:n,estimatedRowHeight:r}=e;if(!r)return t.length*n}),a=K(()=>{let{fixedData:t,rowHeight:n}=e;return(t?.length||0)*n}),o=K(()=>KB(e.headerHeight)),s=K(()=>{let{height:t}=e;return Math.max(0,t-Y(o)-Y(a))}),c=K(()=>Y(o)+Y(a)>0),l=({data:t,rowIndex:n})=>t[n][e.rowKey];function u({rowCacheStart:t,rowCacheEnd:n,rowVisibleStart:r,rowVisibleEnd:i}){e.onRowsRendered?.({rowCacheStart:t,rowCacheEnd:n,rowVisibleStart:r,rowVisibleEnd:i})}function d(e,t){n.value?.resetAfterRowIndex(e,t)}function f(e,i){let a=Y(t),o=Y(n);E(e)?(a?.scrollToLeft(e.scrollLeft),r.value=e.scrollLeft,o?.scrollTo(e)):(a?.scrollToLeft(e),r.value=e,o?.scrollTo({scrollLeft:e,scrollTop:i}))}function p(e){Y(n)?.scrollTo({scrollTop:e})}function m(e,t){let i=Y(n);if(!i)return;let a=r.value;i.scrollToItem(e,0,t),a&&f({scrollLeft:a})}function h(){Y(n)?.$forceUpdate(),Y(t)?.$forceUpdate()}return M(()=>e.bodyWidth,()=>{Md(e.estimatedRowHeight)&&n.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:n,forceUpdate:h,fixedRowHeight:a,gridHeight:s,hasHeader:c,headerHeight:o,headerRef:t,totalHeight:i,itemKey:l,onItemRendered:u,resetAfterRowIndex:d,scrollTo:f,scrollToTop:p,scrollToRow:m,scrollLeft:r}},rV=z({name:tV,props:RB,setup(e,{slots:n,expose:r}){let{ns:i}=l(QB),{bodyRef:a,fixedRowHeight:o,gridHeight:s,hasHeader:c,headerRef:u,headerHeight:d,totalHeight:f,forceUpdate:p,itemKey:m,onItemRendered:h,resetAfterRowIndex:g,scrollTo:_,scrollToTop:v,scrollToRow:y,scrollLeft:b}=nV(e);Qe($B,b),t(async()=>{await U();let e=a.value?.states.scrollTop;e&&v(Math.round(e)+1)}),r({forceUpdate:p,totalHeight:f,scrollTo:_,scrollToTop:v,scrollToRow:y,resetAfterRowIndex:g});let x=()=>e.bodyWidth;return()=>{let{cache:t,columns:r,data:l,fixedData:f,useIsScrolling:p,scrollbarAlwaysOn:g,scrollbarEndGap:_,scrollbarStartGap:v,style:y,rowHeight:b,bodyWidth:S,estimatedRowHeight:C,headerWidth:w,height:T,width:E,getRowHeight:D,onScroll:O}=e,k=Md(C),A=k?UO:OO,ee=Y(d);return J(`div`,{role:`table`,class:[i.e(`table`),e.class],style:y},[J(A,{ref:a,data:l,useIsScrolling:p,itemKey:m,columnCache:0,columnWidth:k?x:S,totalColumn:1,totalRow:l.length,rowCache:t,rowHeight:k?D:b,width:E,height:Y(s),class:i.e(`body`),role:`rowgroup`,scrollbarStartGap:v,scrollbarEndGap:_,scrollbarAlwaysOn:g,onScroll:O,onItemRendered:h,perfMode:!1},{default:e=>{let t=l[e.rowIndex];return n.row?.({...e,columns:r,rowData:t})}}),Y(c)&&J(eV,{ref:u,class:i.e(`header-wrapper`),columns:r,headerData:l,headerHeight:e.headerHeight,fixedHeaderData:f,rowWidth:w,rowHeight:b,width:E,height:Math.min(ee+Y(o),T)},{dynamic:n.header,fixed:n.row})])}}});function iV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var aV=(e,{slots:t})=>{let{mainTableRef:n,...r}=e;return J(rV,k({ref:n},r),iV(t)?t:{default:()=>[t]})};function oV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var sV=(e,{slots:t})=>{if(!e.columns.length)return;let{leftTableRef:n,...r}=e;return J(rV,k({ref:n},r),oV(t)?t:{default:()=>[t]})};function cV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var lV=(e,{slots:t})=>{if(!e.columns.length)return;let{rightTableRef:n,...r}=e;return J(rV,k({ref:n},r),cV(t)?t:{default:()=>[t]})},uV=e=>{let{isScrolling:t}=l(QB),r=q(!1),i=q(),a=K(()=>Md(e.estimatedRowHeight)&&e.rowIndex>=0),o=(t=!1)=>{let n=Y(i);if(!n)return;let{columns:a,onRowHeightChange:o,rowKey:s,rowIndex:c,style:l}=e,{height:u}=n.getBoundingClientRect();r.value=!0,U(()=>{if(t||u!==Number.parseInt(l.height)){let e=a[0],t=e?.placeholderSign===TB;o?.({rowKey:s,height:u,rowIndex:c},e&&!t&&e.fixed)}})},s=K(()=>{let{rowData:t,rowIndex:r,rowKey:i,onRowHover:a}=e,o=e.rowEventHandlers||{},s={};return Object.entries(o).forEach(([e,a])=>{n(a)&&(s[e]=e=>{a({event:e,rowData:t,rowIndex:r,rowKey:i})})}),a&&[{name:`onMouseleave`,hovered:!1},{name:`onMouseenter`,hovered:!0}].forEach(({name:e,hovered:n})=>{let o=s[e];s[e]=e=>{a({event:e,hovered:n,rowData:t,rowIndex:r,rowKey:i}),o?.(e)}}),s});return d(()=>{Y(a)&&o(!0)}),{isScrolling:t,measurable:a,measured:r,rowRef:i,eventHandlers:s,onExpand:t=>{let{onRowExpand:n,rowData:r,rowIndex:i,rowKey:a}=e;n?.({expanded:t,rowData:r,rowIndex:i,rowKey:a})}}},dV=z({name:`ElTableV2TableRow`,props:FB,setup(e,{expose:t,slots:n,attrs:r}){let{eventHandlers:i,isScrolling:a,measurable:o,measured:s,rowRef:c,onExpand:l}=uV(e);return t({onExpand:l}),()=>{let{columns:t,columnsStyles:u,expandColumnKey:d,depth:f,rowData:p,rowIndex:m,style:h}=e,g=t.map((e,r)=>{let i=A(p.children)&&p.children.length>0&&e.key===d;return n.cell({column:e,columns:t,columnIndex:r,depth:f,style:u[e.key],rowData:p,rowIndex:m,isScrolling:Y(a),expandIconProps:i?{rowData:p,rowIndex:m,onExpand:l}:void 0})});if(n.row&&(g=n.row({cells:g.map(e=>A(e)&&e.length===1?e[0]:e),style:h,columns:t,depth:f,rowData:p,rowIndex:m,isScrolling:Y(a)})),Y(o)){let{height:t,...n}=h||{},a=Y(s);return J(`div`,k({ref:c,class:e.class,style:a?h:n,role:`row`},r,Y(i)),[g])}return J(`div`,k(r,{ref:c,class:e.class,style:h,role:`row`},Y(i)),[g])}}});function fV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var pV=(e,{slots:t})=>{let{columns:n,columnsStyles:r,depthMap:i,expandColumnKey:a,expandedRowKeys:o,estimatedRowHeight:s,hasFixedColumns:c,rowData:l,rowIndex:u,style:d,isScrolling:f,rowProps:p,rowClass:m,rowKey:h,rowEventHandlers:g,ns:_,onRowHovered:v,onRowExpanded:y}=e,b=qB(m,{columns:n,rowData:l,rowIndex:u},``),x=qB(p,{columns:n,rowData:l,rowIndex:u}),S=l[h],C=i[S]||0,w=!!a,T=u<0,E=[_.e(`row`),b,_.is(`expanded`,w&&o.includes(S)),_.is(`fixed`,!C&&T),_.is(`customized`,!!t.row),{[_.e(`row-depth-${C}`)]:w&&u>=0}],D=c?v:void 0;return J(dV,k({...x,columns:n,columnsStyles:r,class:E,depth:C,expandColumnKey:a,estimatedRowHeight:T?void 0:s,isScrolling:f,rowIndex:u,rowData:l,rowKey:S,rowEventHandlers:g,style:d},{onRowExpand:y,onMouseenter:e=>{D?.({hovered:!0,rowKey:S,event:e,rowData:l,rowIndex:u})},onMouseleave:e=>{D?.({hovered:!1,rowKey:S,event:e,rowData:l,rowIndex:u})},rowkey:S}),fV(t)?t:{default:()=>[t]})},mV=(e,{slots:t})=>{let{cellData:n,style:r}=e,i=n?.toString?.()||``,a=I(t,`default`,e,()=>[i]);return J(`div`,{class:e.class,title:i,style:r},[a])};mV.displayName=`ElTableV2Cell`,mV.inheritAttrs=!1;var hV=e=>{let{expanded:t,expandable:n,onExpand:r,style:i,size:a,ariaLabel:o}=e;return J(`button`,k({onClick:n?()=>r(!t):void 0,ariaLabel:o,ariaExpanded:t,class:e.class},{type:`button`}),[J(By,{size:a,style:i},{default:()=>[J(Hv,null,null)]})])};hV.inheritAttrs=!1;var gV=({columns:e,column:t,columnIndex:r,depth:i,expandIconProps:a,isScrolling:o,rowData:s,rowIndex:c,style:l,expandedRowKeys:u,ns:d,t:f,cellProps:p,expandColumnKey:m,indentSize:h,iconSize:g,rowKey:_},{slots:v})=>{let y=JB(l);if(t.placeholderSign===TB)return J(`div`,{class:d.em(`row-cell`,`placeholder`),style:y},null);let{cellRenderer:b,dataKey:x,dataGetter:S}=t,C=n(S)?S({columns:e,column:t,columnIndex:r,rowData:s,rowIndex:c}):ss(s,x??``),w=qB(p,{cellData:C,columns:e,column:t,columnIndex:r,rowIndex:c,rowData:s}),T={class:d.e(`cell-text`),columns:e,column:t,columnIndex:r,cellData:C,isScrolling:o,rowData:s,rowIndex:c},D=YB(b),O=D?D(T):I(v,`default`,T,()=>[J(mV,T,null)]),A=[d.e(`row-cell`),t.class,t.align===`center`&&d.is(`align-center`),t.align===`right`&&d.is(`align-right`)],ee=c>=0&&m&&t.key===m,j=c>=0&&u.includes(s[_]),M,N=`margin-inline-start: ${i*h}px;`;return ee&&(M=E(a)?J(hV,k(a,{class:[d.e(`expand-icon`),d.is(`expanded`,j)],size:g,expanded:j,ariaLabel:f(j?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),style:N,expandable:!0}),null):J(`div`,{style:[N,`width: ${g}px; height: ${g}px;`].join(` `)},null)),J(`div`,k({class:A,style:y},w,{role:`cell`}),[M,O])};gV.inheritAttrs=!1;var _V=z({name:`ElTableV2HeaderRow`,props:Q({class:String,columns:DB,columnsStyles:{type:Z(Object),required:!0},headerIndex:Number,style:{type:Z(Object)}}),setup(e,{slots:t}){return()=>{let{columns:n,columnsStyles:r,headerIndex:i,style:a}=e,o=n.map((e,a)=>t.cell({columns:n,column:e,columnIndex:a,headerIndex:i,style:r[e.key]}));return t.header&&(o=t.header({cells:o.map(e=>A(e)&&e.length===1?e[0]:e),columns:n,headerIndex:i})),J(`div`,{class:e.class,style:a,role:`row`},[o])}}});function vV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var yV=({columns:e,columnsStyles:t,headerIndex:n,style:r,headerClass:i,headerProps:a,ns:o},{slots:s})=>{let c={columns:e,headerIndex:n},l=[o.e(`header-row`),qB(i,c,``),o.is(`customized`,!!s.header)];return J(_V,{...qB(a,c),columnsStyles:t,class:l,columns:e,headerIndex:n,style:r},vV(s)?s:{default:()=>[s]})},bV=(e,{slots:t})=>I(t,`default`,e,()=>[J(`div`,{class:e.class,title:e.column?.title},[e.column?.title])]);bV.displayName=`ElTableV2HeaderCell`,bV.inheritAttrs=!1;var xV=e=>{let{sortOrder:t}=e;return J(`button`,{type:`button`,"aria-label":e.ariaLabel,class:e.class},[J(By,{size:14},{default:()=>[J(t===`asc`?Ty:wy,null,null)]})])},SV=(e,{slots:t})=>{let{column:n,ns:r,t:i,style:a,onColumnSorted:o}=e,s=JB(a);if(n.placeholderSign===TB)return J(`div`,{class:r.em(`header-row-cell`,`placeholder`),style:s},null);let{headerCellRenderer:c,headerClass:l,sortable:u}=n,d={...e,class:r.e(`header-cell-text`)},f=YB(c),p=f?f(d):I(t,`default`,d,()=>[J(bV,d,null)]),{sortBy:m,sortState:h,headerCellProps:g}=e,_,v,y;if(h){let e=h[n.key];_=!!wB[e],v=_?e:`asc`}else _=n.key===m.key,v=_?m.order:`asc`;y=v===`asc`?`ascending`:v===`desc`?`descending`:void 0;let b=[r.e(`header-cell`),qB(l,e,``),n.align===`center`&&r.is(`align-center`),n.align===`right`&&r.is(`align-right`),u&&r.is(`sortable`)];return J(`div`,k({...qB(g,e),onClick:n.sortable?o:void 0,ariaSort:u?y:void 0,class:b,style:s,"data-key":n.key},{role:`columnheader`}),[p,u&&J(xV,{class:[r.e(`sort-icon`),_&&r.is(`sorting`)],sortOrder:v,ariaLabel:i(`el.table.sortLabel`,{column:n.title||``})},null)])},CV=(e,{slots:t})=>J(`div`,{class:e.class,style:e.style},[t.default?.()]);CV.displayName=`ElTableV2Footer`;var wV=(e,{slots:t})=>{let n=I(t,`default`,{},()=>[J(OF,null,null)]);return J(`div`,{class:e.class,style:e.style},[n])};wV.displayName=`ElTableV2Empty`;var TV=(e,{slots:t})=>J(`div`,{class:e.class,style:e.style},[t.default?.()]);TV.displayName=`ElTableV2Overlay`;function EV(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!s(e)}var DV=z({name:`ElTableV2`,props:zB,slots:Object,setup(e,{slots:t,expose:n}){let r=$(`table-v2`),{t:i}=Dp(),{columnsStyles:a,fixedColumnsOnLeft:o,fixedColumnsOnRight:s,mainColumns:c,mainTableHeight:l,fixedTableHeight:u,leftTableWidth:d,rightTableWidth:f,data:p,depthMap:m,expandedRowKeys:h,hasFixedColumns:g,mainTableRef:_,leftTableRef:v,rightTableRef:y,isDynamic:b,isResetting:x,isScrolling:S,bodyWidth:C,emptyStyle:w,rootStyle:T,footerHeight:E,showEmpty:D,scrollTo:O,scrollToLeft:A,scrollToTop:ee,scrollToRow:j,getRowHeight:M,onColumnSorted:N,onRowHeightChange:P,onRowHovered:te,onRowExpanded:ne,onRowsRendered:re,onScroll:ie,onVerticalScroll:ae}=ZB(e);return n({scrollTo:O,scrollToLeft:A,scrollToTop:ee,scrollToRow:j}),Qe(QB,{ns:r,isResetting:x,isScrolling:S}),()=>{let{cache:n,cellProps:x,estimatedRowHeight:S,expandColumnKey:O,fixedData:A,headerHeight:ee,headerClass:j,headerProps:F,headerCellProps:I,sortBy:oe,sortState:L,rowHeight:se,rowClass:ce,rowEventHandlers:le,rowKey:ue,rowProps:de,scrollbarAlwaysOn:fe,indentSize:pe,iconSize:me,useIsScrolling:R,vScrollbarSize:he,width:z}=e,ge=Y(p),_e={cache:n,class:r.e(`main`),columns:Y(c),data:ge,fixedData:A,estimatedRowHeight:S,bodyWidth:Y(C),headerHeight:ee,headerWidth:Y(C),height:Y(l),mainTableRef:_,rowKey:ue,rowHeight:se,scrollbarAlwaysOn:fe,scrollbarStartGap:2,scrollbarEndGap:he,useIsScrolling:R,width:z,getRowHeight:M,onRowsRendered:re,onScroll:ie},ve=Y(d),B=Y(u),ye={cache:n,class:r.e(`left`),columns:Y(o),data:ge,fixedData:A,estimatedRowHeight:S,leftTableRef:v,rowHeight:se,bodyWidth:ve,headerWidth:ve,headerHeight:ee,height:B,rowKey:ue,scrollbarAlwaysOn:fe,scrollbarStartGap:2,scrollbarEndGap:he,useIsScrolling:R,width:ve,getRowHeight:M,onScroll:ae},V=Y(f),H={cache:n,class:r.e(`right`),columns:Y(s),data:ge,fixedData:A,estimatedRowHeight:S,rightTableRef:y,rowHeight:se,bodyWidth:V,headerWidth:V,headerHeight:ee,height:B,rowKey:ue,scrollbarAlwaysOn:fe,scrollbarStartGap:2,scrollbarEndGap:he,width:V,style:`${r.cssVarName(`table-scrollbar-size`)}: ${he}px`,useIsScrolling:R,getRowHeight:M,onScroll:ae},be=Y(a),xe={ns:r,depthMap:Y(m),columnsStyles:be,expandColumnKey:O,expandedRowKeys:Y(h),estimatedRowHeight:S,hasFixedColumns:Y(g),rowProps:de,rowClass:ce,rowKey:ue,rowEventHandlers:le,onRowHovered:te,onRowExpanded:ne,onRowHeightChange:P},Se={cellProps:x,expandColumnKey:O,indentSize:pe,iconSize:me,rowKey:ue,expandedRowKeys:Y(h),ns:r,t:i},Ce={ns:r,headerClass:j,headerProps:F,columnsStyles:be},we={ns:r,t:i,sortBy:oe,sortState:L,headerCellProps:I,onColumnSorted:N},Te={row:e=>J(pV,k(e,xe),{row:t.row,cell:e=>{let n;return t.cell?J(gV,k(e,Se,{style:be[e.column.key]}),EV(n=t.cell(e))?n:{default:()=>[n]}):J(gV,k(e,Se,{style:be[e.column.key]}),null)}}),header:e=>J(yV,k(e,Ce),{header:t.header,cell:e=>{let n;return t[`header-cell`]?J(SV,k(e,we,{style:be[e.column.key]}),EV(n=t[`header-cell`](e))?n:{default:()=>[n]}):J(SV,k(e,we,{style:be[e.column.key]}),null)}})},Ee=[e.class,r.b(),r.e(`root`),r.is(`dynamic`,Y(b))],De={class:r.e(`footer`),style:Y(E)};return J(`div`,{class:Ee,style:Y(T)},[J(aV,_e,EV(Te)?Te:{default:()=>[Te]}),J(sV,ye,EV(Te)?Te:{default:()=>[Te]}),J(lV,H,EV(Te)?Te:{default:()=>[Te]}),t.footer&&J(CV,De,{default:t.footer}),Y(D)&&J(wV,{class:r.e(`empty`),style:Y(w)},{default:t.empty}),t.overlay&&J(TV,{class:r.e(`overlay`)},{default:t.overlay})])}}}),OV=Q({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:Z(Function)}}),kV=e=>{let t=q(),n=q(0),r=q(0),i;return d(()=>{i=Uf(t,([e])=>{let{width:t,height:i}=e.contentRect,{paddingLeft:a,paddingRight:o,paddingTop:s,paddingBottom:c}=getComputedStyle(e.target),l=Number.parseInt(a)||0,u=Number.parseInt(o)||0,d=Number.parseInt(s)||0,f=Number.parseInt(c)||0;n.value=t-l-u,r.value=i-d-f}).stop}),T(()=>{i?.()}),M([n,r],([t,n])=>{e.onResize?.({width:t,height:n})}),{sizer:t,width:n,height:r}},AV=z({name:`ElAutoResizer`,props:OV,setup(e,{slots:t}){let n=$(`auto-resizer`),{height:r,width:i,sizer:a}=kV(e),o={width:`100%`,height:`100%`};return()=>J(`div`,{ref:a,class:n.b(),style:o},[t.default?.({height:r.value,width:i.value})])}}),jV=Pv(DV),MV=Pv(AV),NV=Symbol(`tabsRootContextKey`),PV=Q({tabs:{type:Z(Array),default:()=>DS([])},tabRefs:{type:Z(Object),default:()=>DS({})}}),FV=`ElTabBar`,IV=z({name:FV,__name:`tab-bar`,props:PV,setup(e,{expose:t}){let n=e,r=l(NV);r||qd(FV,``);let i=$(`tabs`),a=q(),o=q(),s=K(()=>Ad(r.props.defaultValue)||!!o.value?.transform),c=()=>{let e=0,t=0,i=[`top`,`bottom`].includes(r.props.tabPosition)?`width`:`height`,a=i===`width`?`x`:`y`,o=a===`x`?`left`:`top`;return n.tabs.every(r=>{if(Ad(r.paneName))return!1;let a=n.tabRefs[r.paneName];if(!a)return!1;if(!r.active)return!0;e=a[`offset${fp(o)}`],t=a[`client${fp(i)}`];let s=window.getComputedStyle(a);return i===`width`&&(t-=Number.parseFloat(s.paddingLeft)+Number.parseFloat(s.paddingRight),e+=Number.parseFloat(s.paddingLeft)),!1}),{[i]:`${t}px`,transform:`translate${fp(a)}(${e}px)`}},u=()=>o.value=c(),d=[],f=()=>{d.forEach(e=>e.stop()),d.length=0,Object.values(n.tabRefs).forEach(e=>{d.push(Uf(e,u))})};M(()=>n.tabs,async()=>{await U(),u(),f()},{immediate:!0});let p=Uf(a,()=>u());return T(()=>{d.forEach(e=>e.stop()),d.length=0,p.stop()}),t({ref:a,update:u}),(e,t)=>s.value?(N(),W(`div`,{key:0,ref_key:`barRef`,ref:a,class:F([Y(i).e(`active-bar`),Y(i).is(Y(r).props.tabPosition)]),style:m(o.value)},null,6)):G(`v-if`,!0)}}),LV=5,RV=({scrollable:e,navOffset:t,navSize:n,navContainerSize:r,isHorizontal:i})=>{let a=q(!1),o=K(()=>Math.max(n.value-r.value,0)),s,c,l=n=>{if(!e.value||n.touches.length!==1)return;let{clientX:r,clientY:i}=DA(n);s={startX:r,startY:i,startOffset:t.value},c=void 0},u=n=>{if(!s||!e.value)return;if(n.touches.length!==1){d();return}let{clientX:r,clientY:l}=DA(n),u=s.startX-r,f=s.startY-l,p=i.value?u:f,m=i.value?f:u,h=Math.abs(p),g=Math.abs(m);if(ud(c)){if(Math.max(h,g)<=LV)return;c=h>g}if(!c)return;let _=Ts(s.startOffset+p,0,o.value);o.value<=0||_===t.value||!n.cancelable||(n.preventDefault(),a.value=!0,t.value=_)},d=()=>{s=void 0,c=void 0,a.value=!1};return{isTouchScrolling:a,handleTouchStart:l,handleTouchMove:u,handleTouchEnd:d}},zV=Q({panes:{type:Z(Array),default:()=>DS([])},currentName:{type:[String,Number],default:``},editable:Boolean,type:{type:String,values:[`card`,`border-card`,``],default:``},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),BV={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},VV=`ElTabNav`,HV=z({name:VV,props:zV,emits:BV,setup(e,{expose:t,emit:n}){let r=l(NV);r||qd(VV,``);let i=$(`tabs`),a=Hf(),o=Jf(),s=q(),c=q(),u=q(),f=q({}),p=q(),m=q(!1),h=q(0),g=q(!1),_=q(!0),v=q(!1),y=Le(),b=K(()=>[`top`,`bottom`].includes(r.props.tabPosition)),x=K(()=>b.value?`width`:`height`),S=K(()=>{let e=x.value===`width`?`X`:`Y`;return{transition:v.value||j.value?`none`:void 0,transform:`translate${e}(-${h.value}px)`}}),{width:w,height:T}=Gf(s),{width:E,height:D}=Gf(c,{width:0,height:0},{box:`border-box`}),O=K(()=>b.value?w.value:T.value),k=K(()=>b.value?E.value:D.value),{onWheel:A}=pO({atStartEdge:K(()=>h.value<=0),atEndEdge:K(()=>k.value-h.value<=O.value),layout:K(()=>b.value?`horizontal`:`vertical`)},e=>{h.value=Ts(h.value+e,0,k.value-O.value)}),ee=e=>{v.value=!0,A(e),Np(()=>{v.value=!1})},{isTouchScrolling:j,handleTouchStart:N,handleTouchMove:P,handleTouchEnd:te}=RV({scrollable:m,navOffset:h,navSize:k,navContainerSize:O,isHorizontal:b}),ne=()=>{if(!s.value)return;let e=s.value.getBoundingClientRect()[x.value],t=h.value;t&&(h.value=t>e?t-e:0)},re=()=>{if(!s.value||!c.value)return;let e=c.value.getBoundingClientRect()[x.value],t=s.value.getBoundingClientRect()[x.value],n=h.value;JS(e-n,t)&&(h.value=e-n>t*2?n+t:e-t)},ie=async()=>{let t=c.value;if(!m.value||!u.value||!s.value||!t)return;await U();let n=f.value[e.currentName];if(!n)return;let r=s.value,i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=a.left+1,l=a.right-1,d=t.getBoundingClientRect(),p=b.value?d.width-a.width:d.height-a.height,g=h.value,_=g;b.value?(i.leftl&&(_=g+i.right-l)):(i.topa.bottom&&(_=g+(i.bottom-a.bottom))),_=Math.max(_,0),h.value=Math.min(_,p)},ae=()=>{if(!c.value||!s.value)return;e.stretch&&p.value?.update();let t=c.value.getBoundingClientRect()[x.value],n=s.value.getBoundingClientRect()[x.value],r=h.value;n0&&(h.value=0))},F=e=>{let t=Kp(e),n=0;switch(t){case X.left:case X.up:n=-1;break;case X.right:case X.down:n=1;break;default:return}let r=Array.from(e.currentTarget.querySelectorAll(`[role=tab]:not(.is-disabled)`)),i=r.indexOf(e.target)+n;i<0?i=r.length-1:i>=r.length&&(i=0),r[i].focus({preventScroll:!0}),r[i].click(),I()},I=()=>{_.value&&(g.value=!0)},oe=()=>g.value=!1,L=(e,t)=>{f.value[t]=e};return M(a,e=>{e===`hidden`?_.value=!1:e===`visible`&&setTimeout(()=>_.value=!0,50)}),M(o,e=>{e?setTimeout(()=>_.value=!0,50):_.value=!1}),Uf(u,()=>{Np(ae)}),d(()=>setTimeout(()=>ie(),0)),C(()=>ae()),t({scrollToActiveTab:ie,removeFocus:oe,focusActiveTab:async()=>{await U(),f.value[e.currentName]?.focus({preventScroll:!0})},tabListRef:c,tabBarRef:p,scheduleRender:()=>qe(y)}),()=>{let t=m.value?[J(`span`,{class:[i.e(`nav-prev`),i.is(`disabled`,!m.value.prev)],onClick:ne},[J(By,null,{default:()=>[J(Vv,null,null)]})]),J(`span`,{class:[i.e(`nav-next`),i.is(`disabled`,!m.value.next)],onClick:re},[J(By,null,{default:()=>[J(Hv,null,null)]})])]:null,a=e.panes.map((t,a)=>{let o=t.uid,s=t.props.disabled,c=t.props.name??t.index??`${a}`,l=!s&&(t.isClosable||t.props.closable!==!1&&e.editable);t.index=`${a}`;let u=l?J(By,{class:`is-icon-close`,onClick:e=>n(`tabRemove`,t,e)},{default:()=>[J(ey,null,null)]}):null,d=t.slots.label?.()||t.props.label,f=!s&&t.active?e.tabindex??r.props.tabindex:-1;return J(`div`,{ref:e=>L(e,c),class:[i.e(`item`),i.is(r.props.tabPosition),i.is(`active`,t.active),i.is(`disabled`,s),i.is(`closable`,l),i.is(`focus`,g.value)],id:`tab-${c}`,key:`tab-${o}`,"aria-controls":`pane-${c}`,role:`tab`,"aria-selected":t.active,tabindex:f,onFocus:()=>I(),onBlur:()=>oe(),onClick:e=>{oe(),n(`tabClick`,t,c,e)},onKeydown:e=>{let r=Kp(e);l&&(r===X.delete||r===X.backspace)&&n(`tabRemove`,t,e)}},[d,u])});return y.value,J(`div`,{ref:u,class:[i.e(`nav-wrap`),i.is(`scrollable`,!!m.value),i.is(r.props.tabPosition)]},[t,J(`div`,{class:i.e(`nav-scroll`),ref:s},[e.panes.length>0?J(`div`,{class:[i.e(`nav`),i.is(r.props.tabPosition),i.is(`stretch`,e.stretch&&[`top`,`bottom`].includes(r.props.tabPosition))],ref:c,style:S.value,role:`tablist`,onKeydown:F,onWheel:ee,onTouchstart:N,onTouchmove:P,onTouchend:te,onTouchcancel:te},[e.type?null:J(IV,{ref:p,tabs:[...e.panes],tabRefs:f.value},null),a]):null])])}}}),UV=Q({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:Z(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),WV=e=>P(e)||Md(e),GV=z({name:`ElTabs`,props:UV,emits:{[br]:e=>WV(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>WV(e),edit:(e,t)=>[`remove`,`add`].includes(t),tabRemove:e=>WV(e),tabAdd:()=>!0},setup(e,{emit:t,slots:n,expose:r}){let i=$(`tabs`),a=K(()=>[`left`,`right`].includes(e.tabPosition)),{children:o,addChild:s,removeChild:c,ChildrenSorter:l}=bv(Xe(),`ElTabPane`),u=q(),d=q((Ad(e.modelValue)?e.defaultValue:e.modelValue)??`0`),f=async(n,r=!1)=>{if(!(d.value===n||Ad(n)))try{let i;if(e.beforeLeave){let t=e.beforeLeave(n,d.value);i=t instanceof Promise?await t:t}else i=!0;if(i!==!1){let e=o.value.find(e=>e.paneName===d.value)?.isFocusInsidePane();d.value=n,r&&(t(br,n),t(`tabChange`,n)),u.value?.removeFocus?.(),e&&u.value?.focusActiveTab()}}catch{}},p=(e,n,r)=>{e.props.disabled||(t(`tabClick`,e,r),f(n,!0))},m=(e,n)=>{e.props.disabled||Ad(e.props.name)||(n.stopPropagation(),t(`edit`,e.props.name,`remove`),t(`tabRemove`,e.props.name))},h=()=>{t(`edit`,void 0,`add`),t(`tabAdd`)},g=e=>{let t=Kp(e);[X.enter,X.numpadEnter].includes(t)&&h()},_=t=>{let n=t.el.firstChild,r=[`bottom`,`right`].includes(e.tabPosition)?t.children[0].el:t.children[1].el;n!==r&&n.before(r)};return M(()=>e.modelValue,e=>f(e)),M(d,async()=>{await U(),u.value?.scrollToActiveTab()}),Qe(NV,{props:e,currentName:d,registerPane:s,unregisterPane:c,nav$:u}),r({currentName:d,get tabNavRef(){return vd(u.value,[`scheduleRender`])}}),()=>{let t=n[`add-icon`],r=e.editable||e.addable?J(`div`,{class:[i.e(`new-tab`),a.value&&i.e(`new-tab-vertical`)],tabindex:e.tabindex,onClick:h,onKeydown:g},[t?I(n,`add-icon`):J(By,{class:i.is(`icon-plus`)},{default:()=>[J(_y,null,null)]})]):null,s=J(`div`,{class:[i.e(`header`),a.value&&i.e(`header-vertical`),i.is(e.tabPosition)]},[J(l,null,{default:()=>J(HV,{ref:u,currentName:d.value,editable:e.editable,type:e.type,panes:o.value,stretch:e.stretch,onTabClick:p,onTabRemove:m},null),$stable:!0}),r]),c=J(`div`,{class:i.e(`content`)},[I(n,`default`)]);return J(`div`,{class:[i.b(),i.m(e.tabPosition),{[i.m(`card`)]:e.type===`card`,[i.m(`border-card`)]:e.type===`border-card`}],onVnodeMounted:_,onVnodeUpdated:_},[c,s])}}}),KV=Q({label:{type:String,default:``},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),qV=[`id`,`aria-hidden`,`aria-labelledby`],JV=`ElTabPane`,YV=z({name:JV,__name:`tab-pane`,props:KV,setup(e){let t=e,n=Xe(),r=le(),i=l(NV);i||qd(JV,`usage: `);let a=$(`tab-pane`),o=q(),s=q(),c=K(()=>t.closable??i.props.closable),u=K(()=>i.currentName.value===(t.name??s.value)),d=q(u.value),f=K(()=>t.name??s.value),p=K(()=>!t.lazy||d.value||u.value),m=()=>o.value?.contains(document.activeElement);M(u,e=>{e&&(d.value=!0)});let h=ve({uid:n.uid,getVnode:()=>n.vnode,slots:r,props:t,paneName:f,active:u,index:s,isClosable:c,isFocusInsidePane:m});return i.registerPane(h),T(()=>{i.unregisterPane(h)}),D(()=>{r.label&&i.nav$.value?.scheduleRender()}),(e,t)=>p.value?Ge((N(),W(`div`,{key:0,id:`pane-${f.value}`,ref_key:`paneRef`,ref:o,class:F(Y(a).b()),role:`tabpanel`,"aria-hidden":!u.value,"aria-labelledby":`tab-${f.value}`},[I(e.$slots,`default`)],10,qV)),[[jt,u.value]]):G(`v-if`,!0)}}),XV=Pv(GV,{TabPane:YV}),ZV=Lv(YV),QV=Pv(z({name:`ElText`,__name:`text`,props:Q({type:{type:String,values:[`primary`,`success`,`info`,`warning`,`danger`,``],default:``},size:{type:String,values:wr,default:``},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:`span`}}),setup(e){let t=e,n=y(),r=q(),i=cb(),a=$(`text`),o=K(()=>[a.b(),a.m(t.type),a.m(i.value),a.is(`truncated`,t.truncated),a.is(`line-clamp`,!Ad(t.lineClamp))]),s=async()=>{if(await U(),n.title)return;let e=!1,i=r.value?.textContent||``;if(t.truncated){let t=r.value?.offsetWidth,n=r.value?.scrollWidth;t&&n&&n>t&&(e=!0)}else if(!Ad(t.lineClamp)){let t=r.value?.offsetHeight,n=r.value?.scrollHeight;t&&n&&n>t&&(e=!0)}e?r.value?.setAttribute(`title`,i):r.value?.removeAttribute(`title`)};return d(s),C(s),(t,n)=>(N(),H(L(e.tag),{ref_key:`textRef`,ref:r,class:F(o.value),style:m({"-webkit-line-clamp":e.lineClamp})},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`class`,`style`]))}})),$V=`09:00`,eH=`18:00`,tH=`00:30`,nH=Q({format:{type:String,default:`HH:mm`},modelValue:{type:Z(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:Z(String),default:`light`},clearable:{type:Boolean,default:!0},size:xv,placeholder:String,start:{type:String,default:$V},end:{type:String,default:eH},step:{type:String,default:tH},minTime:{type:Z(String)},maxTime:{type:Z(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:Z([String,Object]),default:()=>$v},clearIcon:{type:Z([String,Object]),default:()=>Qv},popperClass:{type:String,default:``},popperStyle:{type:Z([String,Object])},...kv}),rH=e=>{let t=(e||``).split(`:`);if(t.length>=2){let n=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10);if(Number.isNaN(n)||Number.isNaN(r))return null;let i=e.toUpperCase();return i.includes(`AM`)&&n===12?n=0:i.includes(`PM`)&&n!==12&&(n+=12),{hours:n,minutes:r}}return null},iH=e=>!!e&&e.hours>=0&&e.minutes>=0&&!Number.isNaN(e.hours)&&!Number.isNaN(e.minutes),aH=(e,t)=>{let n=rH(e);if(!n)return-1;let r=rH(t);if(!r)return-1;let i=n.minutes+n.hours*60,a=r.minutes+r.hours*60;return i===a?0:i>a?1:-1},oH=e=>`${e}`.padStart(2,`0`),sH=e=>`${oH(e.hours)}:${oH(e.minutes)}`,cH=(e,t)=>{let n=rH(e);if(!n)return``;let r=rH(t);if(!r)return``;let i={hours:n.hours,minutes:n.minutes};return i.minutes+=r.minutes,i.hours+=r.hours,i.hours+=Math.floor(i.minutes/60),i.minutes%=60,sH(i)},lH=Pv(z({name:`ElTimeSelect`,__name:`time-select`,props:nH,emits:[xr,`blur`,`focus`,`clear`,br],setup(e,{expose:t}){Mw.default.extend(eE.default);let{Option:n}=LE,i=e,a=$(`input`),o=q(),s=lb(),{lang:c}=Dp(),l=(e,t,n,r=!0)=>{let i=rH(e);return!iH(i)||!r&&i.hours===0&&i.minutes===0?(Jd(`ElTimeSelect`,`invalid ${t}, fallback to default ${t} (${n}).`),n):sH(i)},u=K(()=>i.modelValue),d=K(()=>l(i.start,`start`,$V)),f=K(()=>l(i.end,`end`,eH)),p=K(()=>{let e=rH(i.minTime||``);return e?sH(e):null}),m=K(()=>{let e=rH(i.maxTime||``);return e?sH(e):null}),h=K(()=>l(i.step,`step`,tH,!1)),g=K(()=>{let e=[],t=(t,n)=>{e.push({value:t,rawValue:n,disabled:aH(n,p.value||`-1:-1`)<=0||aH(n,m.value||`100:100`)>=0})},n=d.value;for(;aH(n,f.value)<=0;)t((0,Mw.default)(n,`HH:mm`).locale(c.value).format(i.format),n),n=cH(n,h.value);return i.includeEndTime&&e[e.length-1]?.rawValue!==f.value&&t((0,Mw.default)(f.value,`HH:mm`).locale(c.value).format(i.format),f.value),e});return t({blur:()=>{o.value?.blur?.()},focus:()=>{o.value?.focus?.()}}),(t,i)=>(N(),H(Y(LE),{ref_key:`select`,ref:o,name:e.name,"model-value":u.value,disabled:Y(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":i[0]||=e=>t.$emit(Y(`update:modelValue`),e),onChange:i[1]||=e=>t.$emit(Y(`change`),e),onBlur:i[2]||=e=>t.$emit(`blur`,e),onFocus:i[3]||=e=>t.$emit(`focus`,e),onClear:i[4]||=()=>t.$emit(`clear`)},{prefix:V(()=>[e.prefixIcon?(N(),H(Y(By),{key:0,class:F(Y(a).e(`prefix-icon`))},{default:V(()=>[(N(),H(L(e.prefixIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)]),default:V(()=>[(N(!0),W(R,null,r(g.value,e=>(N(),H(Y(n),{key:e.value,label:e.value,value:e.value,disabled:e.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`]))}})),uH=`timeline`,dH=z({name:`ElTimeline`,props:Q({mode:{type:String,values:[`start`,`alternate`,`alternate-reverse`,`end`],default:`start`},reverse:Boolean}),setup(e,{slots:t}){let n=$(`timeline`);Qe(uH,{props:e,slots:t});let r=K(()=>[n.b(),n.is(e.mode)]);return()=>{let n=vv(t.default?.()??[]);return Je(`ul`,{class:r.value},e.reverse?n.reverse():n)}}}),fH=z({name:`ElTimelineItem`,__name:`timeline-item`,props:Q({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:Ny},hollow:Boolean}),setup(e){let t=e,{props:n}=l(uH),r=$(`timeline-item`),i=K(()=>[r.e(`node`),r.em(`node`,t.size||``),r.em(`node`,t.type||``),r.is(`hollow`,t.hollow)]),a=K(()=>[r.b(),{[r.e(`center`)]:t.center},r.is(n.mode)]);return(t,n)=>(N(),W(`li`,{class:F(a.value)},[B(`div`,{class:F(Y(r).e(`tail`))},null,2),t.$slots.dot?G(`v-if`,!0):(N(),W(`div`,{key:0,class:F(i.value),style:m({backgroundColor:e.color})},[e.icon?(N(),H(Y(By),{key:0,class:F(Y(r).e(`icon`))},{default:V(()=>[(N(),H(L(e.icon)))]),_:1},8,[`class`])):G(`v-if`,!0)],6)),t.$slots.dot?(N(),W(`div`,{key:1,class:F(Y(r).e(`dot`))},[I(t.$slots,`dot`)],2)):G(`v-if`,!0),B(`div`,{class:F(Y(r).e(`wrapper`))},[!e.hideTimestamp&&e.placement===`top`?(N(),W(`div`,{key:0,class:F([Y(r).e(`timestamp`),Y(r).is(`top`)])},S(e.timestamp),3)):G(`v-if`,!0),B(`div`,{class:F(Y(r).e(`content`))},[I(t.$slots,`default`)],2),!e.hideTimestamp&&e.placement===`bottom`?(N(),W(`div`,{key:1,class:F([Y(r).e(`timestamp`),Y(r).is(`bottom`)])},S(e.timestamp),3)):G(`v-if`,!0)],2)],2))}}),pH=Pv(dH,{TimelineItem:fH}),mH=Lv(fH),hH=`left-check-change`,gH=`right-check-change`,_H=Q({data:{type:Z(Array),default:()=>[]},titles:{type:Z(Array),default:()=>[]},buttonTexts:{type:Z(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:Z(Function)},leftDefaultChecked:{type:Z(Array),default:()=>[]},rightDefaultChecked:{type:Z(Array),default:()=>[]},renderContent:{type:Z(Function)},modelValue:{type:Z(Array),default:()=>[]},format:{type:Z(Object),default:()=>({})},filterable:Boolean,props:{type:Z(Object),default:()=>DS({label:`label`,key:`key`,disabled:`disabled`})},targetOrder:{type:String,values:[`original`,`push`,`unshift`],default:`original`},validateEvent:{type:Boolean,default:!0}}),vH=(e,t)=>[e,t].every(A)||A(e)&&cd(t),yH={[xr]:(e,t,n)=>[e,n].every(A)&&[`left`,`right`].includes(t),[br]:e=>A(e),[hH]:vH,[gH]:vH},bH=e=>{let t={label:`label`,key:`key`,disabled:`disabled`};return K(()=>({...t,...e.props}))},xH=(e,t)=>({onSourceCheckedChange:(n,r)=>{e.leftChecked=n,r&&t(hH,n,r)},onTargetCheckedChange:(n,r)=>{e.rightChecked=n,r&&t(gH,n,r)}}),SH=e=>{let t=bH(e),n=K(()=>e.data.reduce((e,n)=>(e[n[t.value.key]]=n,e),{}));return{sourceData:K(()=>e.data.filter(n=>!e.modelValue.includes(n[t.value.key]))),targetData:K(()=>e.targetOrder===`original`?e.data.filter(n=>e.modelValue.includes(n[t.value.key])):e.modelValue.reduce((e,t)=>{let r=n.value[t];return r&&e.push(r),e},[]))}},CH=(e,t,n)=>{let r=bH(e),i=(e,t,r)=>{n(br,e),n(xr,e,t,r)};return{addToLeft:()=>{let n=e.modelValue.slice();t.rightChecked.forEach(e=>{let t=n.indexOf(e);t>-1&&n.splice(t,1)}),i(n,`left`,t.rightChecked)},addToRight:()=>{let n=e.modelValue.slice(),a=e.data.filter(n=>{let i=n[r.value.key];return t.leftChecked.includes(i)&&!e.modelValue.includes(i)}).map(e=>e[r.value.key]);n=e.targetOrder===`unshift`?a.concat(n):n.concat(a),e.targetOrder===`original`&&(n=e.data.filter(e=>n.includes(e[r.value.key])).map(e=>e[r.value.key])),i(n,`right`,t.leftChecked)}}},wH=`checked-change`,TH=Q({data:_H.data,optionRender:{type:Z(Function)},placeholder:String,title:String,filterable:Boolean,format:_H.format,filterMethod:_H.filterMethod,defaultChecked:_H.leftDefaultChecked,props:_H.props}),EH={[wH]:vH},DH=(e,t,r)=>{let i=bH(e),a=K(()=>e.data.filter(r=>n(e.filterMethod)?e.filterMethod(t.query,r):String(r[i.value.label]||r[i.value.key]).toLowerCase().includes(t.query.toLowerCase()))),o=K(()=>a.value.filter(e=>!e[i.value.disabled])),s=K(()=>{let n=t.checked.length,r=e.data.length,{noChecked:i,hasChecked:a}=e.format;return i&&a?n>0?a.replace(/\${checked}/g,n.toString()).replace(/\${total}/g,r.toString()):i.replace(/\${total}/g,r.toString()):`${n}/${r}`}),c=K(()=>{let e=t.checked.length;return e>0&&e{let e=o.value.map(e=>e[i.value.key]);t.allChecked=e.length>0&&e.every(e=>t.checked.includes(e))};return M(()=>t.checked,(e,n)=>{l(),t.checkChangeByUser?r(wH,e,e.concat(n).filter(t=>!e.includes(t)||!n.includes(t))):(r(wH,e),t.checkChangeByUser=!0)}),M(o,()=>{l()}),M(()=>e.data,()=>{let e=[],n=a.value.map(e=>e[i.value.key]);t.checked.forEach(t=>{n.includes(t)&&e.push(t)}),t.checkChangeByUser=!1,t.checked=e}),M(()=>e.defaultChecked,(e,n)=>{if(n&&e.length===n.length&&e.every(e=>n.includes(e)))return;let r=[],a=o.value.map(e=>e[i.value.key]);e.forEach(e=>{a.includes(e)&&r.push(e)}),t.checkChangeByUser=!1,t.checked=r},{immediate:!0}),{filteredData:a,checkableData:o,checkedSummary:s,isIndeterminate:c,updateAllChecked:l,handleAllCheckedChange:e=>{t.checked=e?o.value.map(e=>e[i.value.key]):[]}}},OH=z({name:`ElTransferPanel`,__name:`transfer-panel`,props:TH,emits:EH,setup(e,{expose:t,emit:n}){let i=e,a=n,o=le(),s=({option:e})=>e,{t:c}=Dp(),l=$(`transfer`),u=ve({checked:[],allChecked:!1,query:``,checkChangeByUser:!0}),d=bH(i),{filteredData:f,checkedSummary:p,isIndeterminate:m,handleAllCheckedChange:h}=DH(i,u,a),g=K(()=>!Nd(u.query)&&Nd(f.value)),_=K(()=>!Nd(o.default()[0].children)),{checked:v,allChecked:y,query:b}=Se(u);return t({query:b}),(t,n)=>(N(),W(`div`,{class:F(Y(l).b(`panel`))},[B(`p`,{class:F(Y(l).be(`panel`,`header`))},[J(Y(ok),{modelValue:Y(y),"onUpdate:modelValue":n[0]||=e=>he(y)?y.value=e:null,indeterminate:Y(m),"validate-event":!1,onChange:Y(h)},{default:V(()=>[B(`span`,{class:F(Y(l).be(`panel`,`header-title`))},S(e.title),3),B(`span`,{class:F(Y(l).be(`panel`,`header-count`))},S(Y(p)),3)]),_:1},8,[`modelValue`,`indeterminate`,`onChange`])],2),B(`div`,{class:F([Y(l).be(`panel`,`body`),Y(l).is(`with-footer`,_.value)])},[e.filterable?(N(),H(Y(zS),{key:0,modelValue:Y(b),"onUpdate:modelValue":n[1]||=e=>he(b)?b.value=e:null,class:F(Y(l).be(`panel`,`filter`)),size:`default`,placeholder:e.placeholder,"prefix-icon":Y(Sy),clearable:``,"validate-event":!1},null,8,[`modelValue`,`class`,`placeholder`,`prefix-icon`])):G(`v-if`,!0),Ge(J(Y(ck),{modelValue:Y(v),"onUpdate:modelValue":n[2]||=e=>he(v)?v.value=e:null,"validate-event":!1,class:F([Y(l).is(`filterable`,e.filterable),Y(l).be(`panel`,`list`)])},{default:V(()=>[(N(!0),W(R,null,r(Y(f),t=>(N(),H(Y(ok),{key:t[Y(d).key],class:F(Y(l).be(`panel`,`item`)),value:t[Y(d).key],disabled:t[Y(d).disabled],"validate-event":!1},{default:V(()=>[J(s,{option:e.optionRender?.(t)},null,8,[`option`])]),_:2},1032,[`class`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`class`]),[[jt,!g.value&&!Y(Nd)(e.data)]]),Ge(B(`div`,{class:F(Y(l).be(`panel`,`empty`))},[I(t.$slots,`empty`,{},()=>[Ke(S(g.value?Y(c)(`el.transfer.noMatch`):Y(c)(`el.transfer.noData`)),1)])],2),[[jt,g.value||Y(Nd)(e.data)]])],2),_.value?(N(),W(`p`,{key:0,class:F(Y(l).be(`panel`,`footer`))},[I(t.$slots,`default`)],2)):G(`v-if`,!0)],2))}}),kH={key:0},AH={key:0},jH=Pv(z({name:`ElTransfer`,__name:`transfer`,props:_H,emits:yH,setup(e,{expose:t,emit:n}){let r=e,i=n,a=le(),{t:o}=Dp(),s=$(`transfer`),{formItem:c}=ub(),l=ve({leftChecked:[],rightChecked:[]}),u=bH(r),{sourceData:d,targetData:f}=SH(r),{onSourceCheckedChange:p,onTargetCheckedChange:m}=xH(l,i),{addToLeft:h,addToRight:g}=CH(r,l,i),_=q(),v=q(),y=e=>{switch(e){case`left`:_.value.query=``;break;case`right`:v.value.query=``;break}},b=K(()=>r.buttonTexts.length===2),x=K(()=>r.titles[0]||o(`el.transfer.titles.0`)),C=K(()=>r.titles[1]||o(`el.transfer.titles.1`)),w=K(()=>r.filterPlaceholder||o(`el.transfer.filterPlaceholder`));M(()=>r.modelValue,()=>{r.validateEvent&&c?.validate?.(`change`).catch(ge)});let T=K(()=>e=>{if(r.renderContent)return r.renderContent(Je,e);let t=(a.default?.({option:e})||[]).filter(e=>e.type!==Te);return t.length?t:Je(`span`,e[u.value.label]||e[u.value.key])});return t({clearQuery:y,leftPanel:_,rightPanel:v}),(t,n)=>(N(),W(`div`,{class:F(Y(s).b())},[J(OH,{ref_key:`leftPanel`,ref:_,data:Y(d),"option-render":T.value,placeholder:w.value,title:x.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,"default-checked":e.leftDefaultChecked,props:r.props,onCheckedChange:Y(p)},{empty:V(()=>[I(t.$slots,`left-empty`)]),default:V(()=>[I(t.$slots,`left-footer`)]),_:3},8,[`data`,`option-render`,`placeholder`,`title`,`filterable`,`format`,`filter-method`,`default-checked`,`props`,`onCheckedChange`]),B(`div`,{class:F(Y(s).e(`buttons`))},[J(Y(xw),{type:`primary`,class:F([Y(s).e(`button`),Y(s).is(`with-texts`,b.value)]),disabled:Y(Nd)(l.rightChecked),onClick:Y(h)},{default:V(()=>[J(Y(By),null,{default:V(()=>[J(Y(Vv))]),_:1}),Y(Ad)(e.buttonTexts[0])?G(`v-if`,!0):(N(),W(`span`,kH,S(e.buttonTexts[0]),1))]),_:1},8,[`class`,`disabled`,`onClick`]),J(Y(xw),{type:`primary`,class:F([Y(s).e(`button`),Y(s).is(`with-texts`,b.value)]),disabled:Y(Nd)(l.leftChecked),onClick:Y(g)},{default:V(()=>[Y(Ad)(e.buttonTexts[1])?G(`v-if`,!0):(N(),W(`span`,AH,S(e.buttonTexts[1]),1)),J(Y(By),null,{default:V(()=>[J(Y(Hv))]),_:1})]),_:1},8,[`class`,`disabled`,`onClick`])],2),J(OH,{ref_key:`rightPanel`,ref:v,data:Y(f),"option-render":T.value,placeholder:w.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,title:C.value,"default-checked":e.rightDefaultChecked,props:r.props,onCheckedChange:Y(m)},{empty:V(()=>[I(t.$slots,`right-empty`)]),default:V(()=>[I(t.$slots,`right-footer`)]),_:3},8,[`data`,`option-render`,`placeholder`,`filterable`,`format`,`filter-method`,`title`,`default-checked`,`props`,`onCheckedChange`])],2))}})),MH=`RootTree`,NH=`NodeInstance`,PH=`TreeNodeMap`,FH=Q({data:{type:Z(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:Z(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:Z(Function)},allowDrop:{type:Z(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:Ny}}),IH={"check-change":(e,t,n)=>e&&jd(t)&&jd(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,r)=>e&&t&&r instanceof Event,"node-contextmenu":(e,t,n,r)=>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,r)=>e&&r,"node-drop":(e,t,n,r)=>e&&t&&r,"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},LH=`$treeNodeId`,RH=function(e,t){!t||t.$treeNodeId||Object.defineProperty(t,LH,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},zH=(e,t)=>t?.[e||`$treeNodeId`],BH=(e,t,n)=>{let r=e.value.currentNode;n();let i=e.value.currentNode;r!==i&&t(`current-change`,i?i.data:null,i)},VH=e=>{let t=!0,n=!0,r=!0,i=!0;for(let a=0,o=e.length;a{e.canFocus=t,WH(e.childNodes,t)})},GH=0,KH=class e{constructor(e){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=GH++,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(let t in e)Ye(e,t)&&(this[t]=e[t]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){let e=this.store;if(!e)throw Error(`[Node]store is required!`);e.registerNode(this);let t=e.props;if(t&&t.isLeaf!==void 0){let e=UH(this,`isLeaf`);jd(e)&&(this.isLeafByUser=e)}if(e.lazy!==!0&&this.data?(this.setData(this.data),e.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&e.lazy&&e.defaultExpandAll&&!this.isLeafByUser&&this.expand(),A(this.data)||RH(this,this.data),!this.data)return;let n=e.defaultExpandedKeys,r=e.key;r&&!cd(this.key)&&n&&n.includes(this.key)&&this.expand(null,e.autoExpandParent),r&&e.currentNodeKey!==void 0&&this.key===e.currentNodeKey&&(e.currentNode&&(e.currentNode.isCurrent=!1),e.currentNode=this,e.currentNode.isCurrent=!0),e.lazy&&e._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(e){A(e)||RH(this,e),this.data=e,this.childNodes=[];let t;t=this.level===0&&A(this.data)?this.data:UH(this,`children`)||[];for(let e=0,n=t.length;e-1)return e.childNodes[t+1]}return null}get previousSibling(){let e=this.parent;if(e){let t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}contains(e,t=!0){return(this.childNodes||[]).some(n=>n===e||t&&n.contains(e))}remove(){let e=this.parent;e&&e.removeChild(this)}insertChild(t,n,r){if(!t)throw Error(`InsertChild error: child is required.`);if(!(t instanceof e)){if(!r){let e=this.getChildren(!0);e?.includes(t.data)||(Ad(n)||n<0?e?.push(t.data):e?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=ve(new e(t)),t instanceof e&&t.initialize()}t.level=this.level+1,Ad(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(e,t){let n;t&&(n=this.childNodes.indexOf(t)),this.insertChild(e,n)}insertAfter(e,t){let n;t&&(n=this.childNodes.indexOf(t),n!==-1&&(n+=1)),this.insertChild(e,n)}removeChild(e){let t=this.getChildren()||[],n=t.indexOf(e.data);n>-1&&t.splice(n,1);let r=this.childNodes.indexOf(e);r>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(r,1)),this.updateLeafState()}removeChildByData(e){let t=this.childNodes.find(t=>t.data===e);t&&this.removeChild(t)}expand(e,t){let n=()=>{if(t){let e=this.parent;for(;e&&e.level>0;)e.expanded=!0,e=e.parent}this.expanded=!0,e&&e(),WH(this.childNodes,!0)};this.shouldLoadData()?this.loadData(e=>{A(e)&&(this.store.checkStrictly||(this.checked?this.setChecked(!0,!0):HH(this)),n())}):n()}doCreateChildren(e,t={}){e.forEach(e=>{this.insertChild(Object.assign({data:e},t),void 0,!0)})}collapse(){this.expanded=!1,WH(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&this.isLeafByUser!==void 0){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}let e=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!e||e.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(e,t,n,r){if(this.indeterminate=e===`half`,this.checked=e===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly&&!t)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){let n=()=>{if(t){let n=this.childNodes;for(let i=0,a=n.length;i{n(),HH(this)},{checked:e!==!1});return}else n()}let i=this.parent;!i||i.level===0||!n&&!this.store.checkStrictly&&HH(i)}getChildren(e=!1){if(this.level===0)return this.data;let t=this.data;if(!t)return null;let n=this.store.props,r=`children`;return n&&(r=n.children||`children`),Ad(t[r])&&(t[r]=null),e&&!t[r]&&(t[r]=[]),t[r]}updateChildren(){let e=this.getChildren()||[],t=this.childNodes.map(e=>e.data),n={},r=[];e.forEach((e,i)=>{let a=e[LH];a&&t.some(e=>e?.$treeNodeId===a)?n[a]={index:i,data:e}:r.push({index:i,data:e})}),this.store.lazy||t.forEach(e=>{n[e?.$treeNodeId]||this.removeChildByData(e)}),r.forEach(({index:e,data:t})=>{this.insertChild({data:t},e)}),this.updateLeafState()}loadData(e,t={}){this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(t).length)?(this.loading=!0,this.store.load(this,n=>{this.childNodes=[],this.doCreateChildren(n,t),this.loaded=!0,this.loading=!1,this.updateLeafState(),e&&e.call(this,n)},()=>{this.loading=!1})):e&&e.call(this)}eachNode(e){let t=[this];for(;t.length;){let n=t.shift();t.unshift(...n.childNodes),e(n)}}reInitChecked(){this.store.checkStrictly||HH(this)}},qH=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(let t in e)Ye(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new KH({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){let e=this.load;e(this.root,e=>{this.root.doCreateChildren(e),this._initDefaultCheckedNodes()},ge)}else this._initDefaultCheckedNodes()}filter(e){let t=this.filterNodeMethod,n=this.lazy,r=async function(i){let a=i.root?i.root.childNodes:i.childNodes;for(let[n,i]of a.entries())i.visible=!!t?.call(i,e,i.data,i),n%80==0&&n>0&&await U(),await r(i);if(!i.visible&&a.length){let e=!0;e=!a.some(e=>e.visible),i.root?i.root.visible=e===!1:i.visible=e===!1}e&&i.visible&&!i.isLeaf&&(!n||i.loaded)&&i.expand()};r(this)}setData(e){e===this.root.data?this.root.updateChildren():(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey))}getNode(e){if(e instanceof KH)return e;let t=E(e)?zH(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){let n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){let n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){let t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){let n=Fd(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){let e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(e=>{let n=t[e];n&&n.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){let t=this.defaultCheckedKeys||[];!cd(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){let t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{let t=e.key;cd(t)||(this.nodesMap[t]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(e=>{this.deregisterNode(e)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){let n=[],r=function(i){(i.root?i.root.childNodes:i.childNodes).forEach(i=>{(i.checked||t&&i.indeterminate)&&(!e||e&&i.isLeaf)&&n.push(i.data),r(i)})};return r(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(e=>(e||{})[this.key])}getHalfCheckedNodes(){let e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(n=>{n.indeterminate&&e.push(n.data),t(n)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){let e=[],t=this.nodesMap;for(let n in t)Ye(t,n)&&e.push(t[n]);return e}updateChildren(e,t){let n=this.nodesMap[e];if(!n)return;let r=n.childNodes;for(let e=r.length-1;e>=0;e--){let t=r[e];this.remove(t.data)}for(let e=0,r=t.length;ee.level-t.level),i=Object.create(null),a=Object.keys(n);r.forEach(e=>e.setChecked(!1,!1));let o=t=>{t.childNodes.forEach(t=>{i[t.data[e]]=!0,t.childNodes?.length&&o(t)})};for(let n=0,s=r.length;n{t.isLeaf||t.setChecked(!1,!1,!0),e(t)}),t.reInitChecked()};e(s)}}}setCheckedNodes(e,t=!1){let n=this.key,r={};e.forEach(e=>{r[(e||{})[n]]=!0}),this._setCheckedKeys(n,t,r)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;let n=this.key,r={};e.forEach(e=>{r[e]=!0}),this._setCheckedKeys(n,t,r)}setDefaultExpandedKeys(e){e||=[],this.defaultExpandedKeys=e,e.forEach(e=>{let t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)})}setChecked(e,t,n){let r=this.getNode(e);r&&r.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){let t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){let n=e[this.key],r=this.nodesMap[n];this.setCurrentNode(r),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,Fd(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}let n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function JH(e){let t=l(PH,null),n={treeNodeExpand:t=>{e.node!==t&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),T(()=>{t&&t.children.delete(n),n=null}),Qe(PH,n),{broadcastExpanded:t=>{if(e.accordion)for(let e of n.children)e.treeNodeExpand(t)}}}var YH=Symbol(`dragEvents`);function XH({props:e,ctx:t,el$:r,dropIndicator$:i,store:a}){let o=$(`tree`),s=q({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return Qe(YH,{treeNodeDragStart:({event:r,treeNode:i})=>{if(r.dataTransfer){if(n(e.allowDrag)&&!e.allowDrag(i.node))return r.preventDefault(),!1;r.dataTransfer.effectAllowed=`move`;try{r.dataTransfer.setData(`text/plain`,``)}catch{}s.value.draggingNode=i,t.emit(`node-drag-start`,i.node,r)}},treeNodeDragOver:({event:a,treeNode:c})=>{if(!a.dataTransfer)return;let l=c,u=s.value.dropNode;u&&u.node.id!==l.node.id&&_p(u.$el,o.is(`drop-inner`));let d=s.value.draggingNode;if(!d||!l)return;let f=!0,p=!0,m=!0,h=!0;n(e.allowDrop)&&(f=e.allowDrop(d.node,l.node,`prev`),h=p=e.allowDrop(d.node,l.node,`inner`),m=e.allowDrop(d.node,l.node,`next`)),a.dataTransfer.dropEffect=p||f||m?`move`:`none`,(f||p||m)&&u?.node.id!==l.node.id&&(u&&t.emit(`node-drag-leave`,d.node,u.node,a),t.emit(`node-drag-enter`,d.node,l.node,a)),f||p||m?s.value.dropNode=l:s.value.dropNode=null,l.node.nextSibling===d.node&&(m=!1),l.node.previousSibling===d.node&&(f=!1),l.node.contains(d.node,!1)&&(p=!1),(d.node===l.node||d.node.contains(l.node))&&(f=!1,p=!1,m=!1);let g=l.$el,_=g.querySelector(`.${o.be(`node`,`content`)}`).getBoundingClientRect(),v=r.value.getBoundingClientRect(),y=r.value.scrollTop,b,x=f?p?.25:m?.45:1:-1/0,S=m?p?.75:f?.55:0:1/0,C=-9999,w=a.clientY-_.top;b=w<_.height*x?`before`:w>_.height*S?`after`:p?`inner`:`none`;let T=g.querySelector(`.${o.be(`node`,`expand-icon`)}`).getBoundingClientRect(),E=i.value;b===`before`?C=T.top-v.top+y:b===`after`&&(C=T.bottom-v.top+y),E.style.top=`${C}px`,E.style.left=`${T.right-v.left}px`,b===`inner`?gp(g,o.is(`drop-inner`)):_p(g,o.is(`drop-inner`)),s.value.showDropIndicator=b===`before`||b===`after`,s.value.allowDrop=s.value.showDropIndicator||h,s.value.dropType=b,t.emit(`node-drag-over`,d.node,l.node,a)},treeNodeDragEnd:e=>{let{draggingNode:n,dropType:r,dropNode:i}=s.value;if(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),n?.node.data&&i){let s={data:n.node.data};r!==`none`&&n.node.remove(),r===`before`?i.node.parent?.insertBefore(s,i.node):r===`after`?i.node.parent?.insertAfter(s,i.node):r===`inner`&&i.node.insertChild(s),r!==`none`&&(a.value.registerNode(s),a.value.key&&n.node.eachNode(e=>{a.value.nodesMap[e.data[a.value.key]]?.setChecked(e.checked,!a.value.checkStrictly)})),_p(i.$el,o.is(`drop-inner`)),t.emit(`node-drag-end`,n.node,i.node,r,e),r!==`none`&&t.emit(`node-drop`,n.node,i.node,r,e)}n&&!i&&t.emit(`node-drag-end`,n.node,null,r,e),s.value.showDropIndicator=!1,s.value.draggingNode=null,s.value.dropNode=null,s.value.allowDrop=!0}}),{dragState:s}}var ZH=z({name:`ElTreeNode`,components:{ElCollapseTransition:sA,ElCheckbox:ok,NodeContent:z({name:`ElTreeNodeContent`,props:{node:{type:Object,required:!0},renderContent:Function},setup(e){let t=$(`tree`),n=l(NH),r=l(MH);return()=>{let i=e.node,{data:a,store:o}=i;return e.renderContent?e.renderContent(Je,{_self:n,node:i,data:a,store:o}):I(r.ctx.slots,`default`,{node:i,data:a},()=>[Je(QV,{tag:`span`,truncated:!0,class:t.be(`node`,`label`)},()=>[i.label])])}}}),ElIcon:By,Loading:dy},props:{node:{type:KH,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:[`node-expand`],setup(e,t){let r=$(`tree`),{broadcastExpanded:i}=JH(e),a=l(MH),o=q(!1),s=q(!1),c=q(),u=q(),d=q(),f=l(YH),p=Xe();Qe(NH,p),a||Jd(`Tree`,`Can not find node's tree.`),e.node.expanded&&(o.value=!0,s.value=!0);let m=a.props.props.children||`children`;M(()=>{let t=e.node.data?.[m];return t&&[...t]},()=>{e.node.updateChildren()}),M(()=>e.node.indeterminate,t=>{_(e.node.checked,t)}),M(()=>e.node.checked,t=>{_(t,e.node.indeterminate)}),M(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),M(()=>e.node.expanded,e=>{U(()=>o.value=e),e&&(s.value=!0)});let h=e=>a.props.nodeKey?zH(a.props.nodeKey,e.data):e.id,g=t=>{let r=e.props.class;if(!r)return{};let i;if(n(r)){let{data:e}=t;i=r(e,t)}else i=r;return P(i)?{[i]:!0}:i},_=(t,n)=>{(c.value!==t||u.value!==n)&&a.ctx.emit(`check-change`,e.node.data,t,n),c.value=t,u.value=n},v=t=>{BH(a.store,a.ctx.emit,()=>{if(a?.props?.nodeKey){let t=h(e.node);a.store.value.setCurrentNodeKey(t)}else a.store.value.setCurrentNode(e.node)}),a.currentNode.value=e.node,a.props.expandOnClickNode&&b(),(a.props.checkOnClickNode||e.node.isLeaf&&a.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&x(!e.node.checked),a.ctx.emit(`node-click`,e.node.data,e.node,p,t)},y=t=>{a.instance.vnode.props?.onNodeContextmenu&&(t.stopPropagation(),t.preventDefault()),a.ctx.emit(`node-contextmenu`,t,e.node.data,e.node,p)},b=()=>{e.node.isLeaf||(o.value?(a.ctx.emit(`node-collapse`,e.node.data,e.node,p),e.node.collapse()):e.node.expand(()=>{t.emit(`node-expand`,e.node.data,e.node,p)}))},x=t=>{let n=a?.props.checkStrictly,r=e.node.childNodes;!n&&r.length&&(t=r.some(e=>!e.isEffectivelyChecked)),e.node.setChecked(t,!n),U(()=>{let t=a.store.value;a.ctx.emit(`check`,e.node.data,{checkedNodes:t.getCheckedNodes(),checkedKeys:t.getCheckedKeys(),halfCheckedNodes:t.getHalfCheckedNodes(),halfCheckedKeys:t.getHalfCheckedKeys()})})};return{ns:r,node$:d,tree:a,expanded:o,childNodeRendered:s,oldChecked:c,oldIndeterminate:u,getNodeKey:h,getNodeClass:g,handleSelectChange:_,handleClick:v,handleContextMenu:y,handleExpandIconClick:b,handleCheckChange:x,handleChildNodeExpand:(e,t,n)=>{i(t),a.ctx.emit(`node-expand`,e,t,n)},handleDragStart:t=>{a.props.draggable&&f.treeNodeDragStart({event:t,treeNode:e})},handleDragOver:t=>{t.preventDefault(),a.props.draggable&&f.treeNodeDragOver({event:t,treeNode:{$el:d.value,node:e.node}})},handleDrop:e=>{e.preventDefault()},handleDragEnd:e=>{a.props.draggable&&f.treeNodeDragEnd(e)},CaretRight:Kv}}}),QH=[`aria-expanded`,`aria-disabled`,`aria-checked`,`draggable`,`data-key`],$H=[`aria-expanded`];function eU(e,t,n,i,a,o){let s=h(`el-icon`),c=h(`el-checkbox`),l=h(`loading`),u=h(`node-content`),d=h(`el-tree-node`),f=h(`el-collapse-transition`);return Ge((N(),W(`div`,{ref:`node$`,class:F([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]||=kn((...t)=>e.handleClick&&e.handleClick(...t),[`stop`]),onContextmenu:t[3]||=(...t)=>e.handleContextMenu&&e.handleContextMenu(...t),onDragstart:t[4]||=kn((...t)=>e.handleDragStart&&e.handleDragStart(...t),[`stop`]),onDragover:t[5]||=kn((...t)=>e.handleDragOver&&e.handleDragOver(...t),[`stop`]),onDragend:t[6]||=kn((...t)=>e.handleDragEnd&&e.handleDragEnd(...t),[`stop`]),onDrop:t[7]||=kn((...t)=>e.handleDrop&&e.handleDrop(...t),[`stop`])},[B(`div`,{class:F(e.ns.be(`node`,`content`)),style:m({paddingLeft:(e.node.level-1)*e.tree.props.indent+`px`})},[e.tree.props.icon||e.CaretRight?(N(),H(s,{key:0,class:F([e.ns.be(`node`,`expand-icon`),e.ns.is(`leaf`,e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:kn(e.handleExpandIconClick,[`stop`])},{default:V(()=>[(N(),H(L(e.tree.props.icon||e.CaretRight)))]),_:1},8,[`class`,`onClick`])):G(`v-if`,!0),e.showCheckbox?(N(),H(c,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||=kn(()=>{},[`stop`]),onChange:e.handleCheckChange},null,8,[`model-value`,`indeterminate`,`disabled`,`onChange`])):G(`v-if`,!0),e.node.loading?(N(),H(s,{key:2,class:F([e.ns.be(`node`,`loading-icon`),e.ns.is(`loading`)])},{default:V(()=>[J(l)]),_:1},8,[`class`])):G(`v-if`,!0),J(u,{node:e.node,"render-content":e.renderContent},null,8,[`node`,`render-content`])],6),J(f,null,{default:V(()=>[!e.renderAfterExpand||e.childNodeRendered?Ge((N(),W(`div`,{key:0,class:F(e.ns.be(`node`,`children`)),role:`group`,"aria-expanded":e.expanded,onClick:t[1]||=kn(()=>{},[`stop`])},[(N(!0),W(R,null,r(e.node.childNodes,t=>(N(),H(d,{key:e.getNodeKey(t),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:t,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,[`render-content`,`render-after-expand`,`show-checkbox`,`node`,`accordion`,`props`,`onNodeExpand`]))),128))],10,$H)),[[jt,e.expanded]]):G(`v-if`,!0)]),_:1})],42,QH)),[[jt,e.node.visible]])}var tU=$x(ZH,[[`render`,eU]]);function nU({el$:e},t){let n=$(`tree`);d(()=>{i()}),C(()=>{e.value?.querySelectorAll(`input[type=checkbox]`).forEach(e=>{e.setAttribute(`tabindex`,`-1`)})});function r(e,n){let r=t.value.getNode(e[n].dataset.key);return r.canFocus&&r.visible&&(r.parent?.expanded||r.parent?.level===0)}kf(e,`keydown`,t=>{let i=t.target;if(!i.className.includes(n.b(`node`)))return;let a=Kp(t),o=Array.from(e.value.querySelectorAll(`.${n.is(`focusable`)}[role=treeitem]`)),s=o.indexOf(i),c;if([X.up,X.down].includes(a)){if(t.preventDefault(),a===X.up){c=s===-1?0:s===0?o.length-1:s-1;let e=c;for(;!r(o,c);){if(c--,c===e){c=-1;break}c<0&&(c=o.length-1)}}else{c=s===-1?0:s=o.length&&(c=0)}}c!==-1&&o[c].focus()}[X.left,X.right].includes(a)&&(t.preventDefault(),i.click());let l=i.querySelector(`[type="checkbox"]`);[X.enter,X.numpadEnter,X.space].includes(a)&&l&&(t.preventDefault(),l.click())});let i=()=>{if(!e.value)return;let t=Array.from(e.value.querySelectorAll(`.${n.is(`focusable`)}[role=treeitem]`));Array.from(e.value.querySelectorAll(`input[type=checkbox]`)).forEach(e=>{e.setAttribute(`tabindex`,`-1`)});let r=e.value.querySelectorAll(`.${n.is(`checked`)}[role=treeitem]`);if(r.length){r[0].setAttribute(`tabindex`,`0`);return}t[0]?.setAttribute(`tabindex`,`0`)}}var rU=z({name:`ElTree`,components:{ElTreeNode:tU},props:FH,emits:IH,setup(e,t){let{t:n}=Dp(),r=$(`tree`),i=q(new qH({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}));i.value.initialize();let a=q(i.value.root),o=q(null),s=q(null),c=q(null),{broadcastExpanded:l}=JH(e),{dragState:u}=XH({props:e,ctx:t,el$:s,dropIndicator$:c,store:i});nU({el$:s},i);let d=Xe(),f=K(()=>{let e=d?.parent;for(;e;){if(e.type.name===`ElTreeSelect`)return!0;e=e.parent}return!1}),p=K(()=>{let{childNodes:e}=a.value;return(!e||e.length===0||e.every(({visible:e})=>!e))&&!f.value});M(()=>e.currentNodeKey,e=>{i.value.setCurrentNodeKey(e??null)}),M(()=>e.defaultCheckedKeys,(e,t)=>{sd(e,t)||i.value.setDefaultCheckedKey(e??[])}),M(()=>e.defaultExpandedKeys,e=>{i.value.setDefaultExpandedKeys(e??[])}),M(()=>e.data,e=>{i.value.setData(e)},{deep:!0}),M(()=>e.checkStrictly,e=>{i.value.checkStrictly=e});let m=t=>{if(!e.filterNodeMethod)throw Error(`[Tree] filterNodeMethod is required when filter`);i.value.filter(t)},h=t=>e.nodeKey?zH(e.nodeKey,t.data):t.id,g=t=>{if(!e.nodeKey)throw Error(`[Tree] nodeKey is required in ${t}`)},_=e=>{g(`getNodePath`);let t=i.value.getNode(e);if(!t)return[];let n=[t.data],r=t.parent;for(;r&&r!==a.value;)n.push(r.data),r=r.parent;return n.reverse()},v=(e,t)=>i.value.getCheckedNodes(e,t),y=e=>i.value.getCheckedKeys(e),b=()=>{let e=i.value.getCurrentNode();return e?e.data:null};return Qe(MH,{ctx:t,props:e,store:i,root:a,currentNode:o,instance:d}),Qe(sb,void 0),{ns:r,store:i,root:a,currentNode:o,dragState:u,el$:s,dropIndicator$:c,isEmpty:p,filter:m,getNodeKey:h,getNodePath:_,getCheckedNodes:v,getCheckedKeys:y,getCurrentNode:b,getCurrentKey:()=>{g(`getCurrentKey`);let t=b();return t?t[e.nodeKey]:null},setCheckedNodes:(e,t)=>{g(`setCheckedNodes`),i.value.setCheckedNodes(e,t)},setCheckedKeys:(e,t)=>{g(`setCheckedKeys`),i.value.setCheckedKeys(e,t)},setChecked:(e,t,n=!1)=>{i.value.setChecked(e,t,n)},getHalfCheckedNodes:()=>i.value.getHalfCheckedNodes(),getHalfCheckedKeys:()=>i.value.getHalfCheckedKeys(),setCurrentNode:(e,n=!0)=>{g(`setCurrentNode`),BH(i,t.emit,()=>{l(e),i.value.setUserCurrentNode(e,n)})},setCurrentKey:(e=null,n=!0)=>{g(`setCurrentKey`),BH(i,t.emit,()=>{l(),i.value.setCurrentNodeKey(e,n)})},t:n,getNode:e=>i.value.getNode(e),remove:e=>{i.value.remove(e)},append:(e,t)=>{i.value.append(e,t)},insertBefore:(e,t)=>{i.value.insertBefore(e,t)},insertAfter:(e,t)=>{i.value.insertAfter(e,t)},handleNodeExpand:(e,n,r)=>{l(n),t.emit(`node-expand`,e,n,r)},updateKeyChildren:(e,t)=>{g(`updateKeyChildren`),i.value.updateChildren(e,t)}}}});function iU(e,t,n,i,a,o){let s=h(`el-tree-node`);return N(),W(`div`,{ref:`el$`,class:F([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`},[(N(!0),W(R,null,r(e.root.childNodes,t=>(N(),H(s,{key:e.getNodeKey(t),node:t,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?(N(),W(`div`,{key:0,class:F(e.ns.e(`empty-block`))},[I(e.$slots,`empty`,{},()=>[B(`span`,{class:F(e.ns.e(`empty-text`))},S(e.emptyText??e.t(`el.tree.emptyText`)),3)])],2)):G(`v-if`,!0),Ge(B(`div`,{ref:`dropIndicator$`,class:F(e.ns.e(`drop-indicator`))},null,2),[[jt,e.dragState.showDropIndicator]])],2)}var aU=Pv($x(rU,[[`render`,iU]])),oU=(e,{attrs:t,emit:n},{select:r,tree:i,key:a})=>{let o=$(`tree-select`);M(()=>e.data,()=>{e.filterable&&U(()=>{i.value?.filter(r.value?.states.inputValue)})},{flush:`post`});let s=e=>{let t=e.at(-1);if(t.expanded&&t.childNodes.at(-1))s([t.childNodes.at(-1)]);else{(i.value.el$?.querySelector(`[data-key="${e.at(-1).key}"]`))?.focus({preventScroll:!0});return}};return d(()=>{kf(()=>r.value?.$el,`keydown`,async e=>{let t=Kp(e),{dropdownMenuVisible:n}=r.value;[X.down,X.up].includes(t)&&n&&(await U(),setTimeout(()=>{if(X.up===t){let e=i.value.store.root.childNodes;s(e);return}r.value.optionsArray[r.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...Sd(Se(e),Object.keys(LE.props)),...t,class:K(()=>t.class),style:K(()=>t.style),"onUpdate:modelValue":e=>n(br,e),valueKey:a,popperClass:K(()=>{let t=[o.e(`popper`)];return e.popperClass&&t.push(e.popperClass),t.join(` `)}),filterMethod:(t=``)=>{e.filterMethod?e.filterMethod(t):e.remoteMethod?e.remoteMethod(t):i.value?.filter(t)}}},sU=z({extends:RE,setup(e,t){let n=RE.setup(e,t);delete n.selectOptionClick;let r=Xe().proxy;return U(()=>{n.select.states.cachedOptions.get(r.value)||n.select.onOptionCreate(r)}),M(()=>t.attrs.visible,e=>{U(()=>{n.states.visible=e})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function cU(e){return e||e===0}function lU(e){return A(e)&&e.length}function uU(e){return A(e)?e:cU(e)?[e]:[]}function dU(e,t,n,r,i){for(let a=0;a{M([()=>e.modelValue,o],()=>{e.showCheckbox&&U(()=>{let t=o.value;t&&!sd(t.getCheckedKeys(),uU(e.modelValue))&&t.setCheckedKeys(uU(e.modelValue))})},{immediate:!0,deep:!0});let c=K(()=>({value:s.value,label:`label`,children:`children`,disabled:`disabled`,isLeaf:`isLeaf`,...e.props})),l=(e,t)=>{let r=c.value[e];return n(r)?r(t,o.value?.getNode(l(`value`,t))):t[r]},u=uU(e.modelValue).map(t=>dU(e.data||[],e=>l(`value`,e)===t,e=>l(`children`,e),(e,t,n,r)=>r&&l(`value`,r))).filter(e=>cU(e)),d=K(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];let t=[];return fU(e.data.concat(e.cacheData),e=>{let n=l(`value`,e);t.push({value:n,currentLabel:l(`label`,e),isDisabled:l(`disabled`,e)})},e=>l(`children`,e)),t}),f=()=>o.value?.getCheckedKeys().filter(e=>{let t=o.value?.getNode(e);return!cd(t)&&Nd(t.childNodes)}),p=t=>{sd(e.modelValue,t)||i(xr,t)};function m(e){i(br,e),p(e)}return{...Sd(Se(e),Object.keys(aU.props)),...t,nodeKey:s,expandOnClickNode:K(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:K(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(u):u),renderContent:(t,{node:n,data:i,store:a})=>t(sU,{value:l(`value`,i),label:l(`label`,i),disabled:l(`disabled`,i),visible:n.visible},e.renderContent?()=>e.renderContent(t,{node:n,data:i,store:a}):r.default?()=>r.default({node:n,data:i,store:a}):void 0),filterNodeMethod:(t,n,r)=>e.filterNodeMethod?e.filterNodeMethod(t,n,r):t?new RegExp(dp(t),`i`).test(l(`label`,n)||``):!0,onNodeClick:(n,r,i)=>{if(t.onNodeClick?.(n,r,i),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||r.isLeaf)){if(!l(`disabled`,n)){let e=a.value?.states.options.get(l(`value`,n));a.value?.handleOptionSelect(e)}}else e.expandOnClickNode&&i.proxy.handleExpandIconClick()},onCheck:(n,r)=>{if(!e.showCheckbox)return;let i=l(`value`,n),s={};fU([o.value.store.root],e=>s[e.key]=e,e=>e.childNodes);let c=r.checkedKeys,u=e.multiple?uU(e.modelValue).filter(e=>!(e in s)&&!c.includes(e)):[],d=u.concat(c);if(e.checkStrictly)m(e.multiple?d:d.includes(i)?i:void 0);else if(e.multiple){let e=f();m(u.concat(e))}else{let t=dU([n],e=>!lU(l(`children`,e))&&!l(`disabled`,e),e=>l(`children`,e)),r=t?l(`value`,t):void 0,i=cU(e.modelValue)&&!!dU([n],t=>l(`value`,t)===e.modelValue,e=>l(`children`,e));m(r===e.modelValue||i?void 0:r)}U(()=>{let r=uU(e.modelValue);o.value.setCheckedKeys(r),t.onCheck?.(n,{checkedKeys:o.value.getCheckedKeys(),checkedNodes:o.value.getCheckedNodes(),halfCheckedKeys:o.value.getHalfCheckedKeys(),halfCheckedNodes:o.value.getHalfCheckedNodes()})}),a.value?.focus()},onNodeExpand:(n,r,i)=>{t.onNodeExpand?.(n,r,i),U(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&r.checked){let t={},n=o.value.getCheckedKeys();fU([o.value.store.root],e=>t[e.key]=e,e=>e.childNodes);let r=uU(e.modelValue).filter(e=>!(e in t)&&!n.includes(e)),i=f();m(r.concat(i))}})},cacheOptions:d}},mU=z({props:{data:{type:Array,default:()=>[]}},setup(e){let t=l(cE);return M(()=>e.data,()=>{e.data.forEach(e=>{t.states.cachedOptions.has(e.value)||t.states.cachedOptions.set(e.value,e)});let n=t.selectRef?.querySelectorAll(`input`)||[];nf&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:`post`,immediate:!0}),()=>void 0}}),hU=Pv(z({name:`ElTreeSelect`,inheritAttrs:!1,props:{...dE,...FH,cacheData:{type:Array,default:()=>[]}},setup(e,t){let{slots:n,expose:r,emit:i,attrs:a}=t,o={...a,onChange:void 0},s=q(),c=q(),l=K(()=>e.nodeKey||e.valueKey||`value`),u=oU(e,{attrs:a,emit:i},{select:s,tree:c,key:l}),{cacheOptions:f,...p}=pU(e,{attrs:o,slots:n,emit:i},{select:s,tree:c,key:l}),m=ve({});return r(m),d(()=>{Object.assign(m,{...Sd(c.value,[`filter`,`updateKeyChildren`,`getCheckedNodes`,`setCheckedNodes`,`getCheckedKeys`,`setCheckedKeys`,`setChecked`,`getHalfCheckedNodes`,`getHalfCheckedKeys`,`getCurrentKey`,`getCurrentNode`,`setCurrentKey`,`setCurrentNode`,`getNode`,`remove`,`append`,`insertBefore`,`insertAfter`]),...Sd(s.value,[`focus`,`blur`,`selectedLabel`]),treeRef:c.value,selectRef:s.value})}),()=>Je(LE,ve({...u,ref:e=>s.value=e}),{...n,default:()=>[Je(mU,{data:f.value}),Je(aU,ve({...p,ref:e=>c.value=e}))]})}})),gU=Symbol(),_U={key:-1,level:-1,data:{}},vU={type:Number,default:26},yU=Q({data:{type:Z(Array),default:()=>DS([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:Z(Object),default:()=>DS({children:`children`,label:`label`,disabled:`disabled`,value:`id`,class:``})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:Z(Array),default:()=>DS([])},checkStrictly:Boolean,defaultExpandedKeys:{type:Z(Array),default:()=>DS([])},indent:{type:Number,default:16},itemSize:vU,icon:{type:Ny},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:Z([String,Number])},accordion:Boolean,filterMethod:{type:Z(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),bU=Q({node:{type:Z(Object),default:()=>DS(_U)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:vU}),xU=Q({node:{type:Z(Object),required:!0}}),SU=`node-click`,CU=`node-drop`,wU=`node-expand`,TU=`node-collapse`,EU=`current-change`,DU=`check`,OU=`check-change`,kU=`node-contextmenu`,AU={[SU]:(e,t,n)=>e&&t&&n,[CU]:(e,t,n)=>e&&t&&n,[wU]:(e,t)=>e&&t,[TU]:(e,t)=>e&&t,[EU]:(e,t)=>e&&t,[DU]:(e,t)=>e&&t,[OU]:(e,t)=>e&&jd(t),[kU]:(e,t,n)=>e&&t&&n},jU={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&jd(t)};function MU(e,t){let n=q(new Set),r=q(new Set),{emit:i}=Xe();M([()=>t.value,()=>e.defaultCheckedKeys],()=>U(()=>{v(e.defaultCheckedKeys)}),{immediate:!0});let a=(i=!1)=>{if(!t.value||!e.showCheckbox||e.checkStrictly&&!i)return;let{levelTreeNodeMap:a,maxLevel:o}=t.value,s=n.value,c=new Set;for(let e=o;e>=1;--e){let t=a.get(e);t&&t.forEach(e=>{let t=e.children,n=!e.isLeaf||e.disabled||s.has(e.key);if(t){let r=!0,i=!1;for(let e of t){let t=e.key;if(e.isEffectivelyChecked||(n=!1),s.has(t))i=!0;else if(c.has(t)){r=!1,i=!0;break}else r=!1}r?s.add(e.key):i?(c.add(e.key),s.delete(e.key)):(s.delete(e.key),c.delete(e.key))}e.isEffectivelyChecked=n})}r.value=c},o=e=>n.value.has(e.key),s=e=>r.value.has(e.key),c=(t,r,i=!0,o=!0,s=!1)=>{let c=n.value,u=t.children;(!e.checkStrictly||s)&&i&&u?.length&&(r=u.some(e=>!e.isEffectivelyChecked));let d=(t,n)=>{c[n?`add`:`delete`](t.key);let r=t.children;(!e.checkStrictly||s)&&r&&r.forEach(e=>{(!e.disabled||e.children)&&d(e,n)})};d(t,r),o&&a(),i&&l(t,r)},l=(e,t)=>{let{checkedNodes:n,checkedKeys:r}=m(),{halfCheckedNodes:a,halfCheckedKeys:o}=h();i(DU,e.data,{checkedKeys:r,checkedNodes:n,halfCheckedKeys:o,halfCheckedNodes:a}),i(OU,e.data,t)};function u(e=!1){return m(e).checkedKeys}function d(e=!1){return m(e).checkedNodes}function f(){return h().halfCheckedKeys}function p(){return h().halfCheckedNodes}function m(r=!1){let i=[],a=[];if(t?.value&&e.showCheckbox){let{treeNodeMap:e}=t.value;n.value.forEach(t=>{let n=e.get(t);n&&(!r||r&&n.isLeaf)&&(a.push(t),i.push(n.data))})}return{checkedKeys:a,checkedNodes:i}}function h(){let n=[],i=[];if(t?.value&&e.showCheckbox){let{treeNodeMap:e}=t.value;r.value.forEach(t=>{let r=e.get(t);r&&(i.push(t),n.push(r.data))})}return{halfCheckedNodes:n,halfCheckedKeys:i}}function g(e){n.value.clear(),r.value.clear(),U(()=>{v(e)})}function _(n,r,i){if(t?.value&&e.showCheckbox){let e=t.value.treeNodeMap.get(n);e&&c(e,r,!1,void 0,i)}}function v(n){if(t?.value){let{treeNodeMap:r}=t.value;if(e.showCheckbox&&r&&n?.length>0){for(let e of n){let t=r.get(e);t&&!o(t)&&c(t,!0,!1,!1)}a()}}}return{updateCheckedKeys:a,toggleCheckbox:c,isChecked:o,isIndeterminate:s,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:_,setCheckedKeys:g}}function NU(e,t){let r=q(new Set([])),i=q(new Set([])),a=K(()=>n(e.filterMethod));function o(n){if(!a.value)return;let o=new Set,s=i.value,c=r.value,l=[],u=t.value?.treeNodes||[],d=e.filterMethod;c.clear();function f(e){e.forEach(e=>{l.push(e),d?.(n,e.data,e)?l.forEach(e=>{o.add(e.key),e.expanded=!0}):(e.expanded=!1,e.isLeaf&&c.add(e.key));let t=e.children;if(t&&f(t),!e.isLeaf){if(!o.has(e.key))c.add(e.key);else if(t){let n=!0;for(let e of t)if(!c.has(e.key)){n=!1;break}n?s.add(e.key):s.delete(e.key)}}l.pop()})}return f(u),o}function s(e){return i.value.has(e.key)}return{hiddenExpandIconKeySet:i,hiddenNodeKeySet:r,doFilter:o,isForceHiddenExpandIcon:s}}function PU(e,t){let n=q(new Set),r=q(),i=Le(),a=q(),{isIndeterminate:o,isChecked:s,toggleCheckbox:c,getCheckedKeys:l,getCheckedNodes:u,getHalfCheckedKeys:d,getHalfCheckedNodes:f,setChecked:p,setCheckedKeys:m}=MU(e,i),{doFilter:h,hiddenNodeKeySet:g,isForceHiddenExpandIcon:_}=NU(e,i),v=K(()=>e.props?.value||`id`),y=K(()=>e.props?.children||`children`),b=K(()=>e.props?.disabled||`disabled`),x=K(()=>e.props?.label||`label`),S=K(()=>{let e=n.value,t=g.value,r=[],a=i.value?.treeNodes||[],o=[];for(let e=a.length-1;e>=0;--e)o.push(a[e]);for(;o.length;){let n=o.pop();if(!t.has(n.key)&&(r.push(n),n.children&&e.has(n.key)))for(let e=n.children.length-1;e>=0;--e)o.push(n.children[e])}return r}),C=K(()=>S.value.length>0);function w(e){let t=new Map,r=new Map,i=1;function a(e,o=1,s=void 0){let c=[];for(let i of e){let e=O(i),l={level:o,key:e,data:i};l.label=A(i),l.parent=s;let u=D(i);l.disabled=k(i),l.isLeaf=!u||u.length===0,l.expanded=n.value.has(e),u&&u.length&&(l.children=a(u,o+1,l)),c.push(l),t.set(e,l),r.has(o)||r.set(o,[]),r.get(o)?.push(l)}return o>i&&(i=o),c}let o=a(e);return{treeNodeMap:t,levelTreeNodeMap:r,maxLevel:i,treeNodes:o}}function T(e){let t=h(e);t&&(n.value=t)}function D(e){return e[y.value]}function O(e){return e?e[v.value]:``}function k(e){return e[b.value]}function A(e){return e[x.value]}function ee(e){n.value.has(e.key)?ie(e):re(e)}function j(e){let t=new Set,r=i.value.treeNodeMap;n.value.forEach(e=>{let t=r.get(e);t&&(t.expanded=!1)}),e.forEach(e=>{let n=r.get(e);for(;n&&!t.has(n.key);)t.add(n.key),n.expanded=!0,n=n.parent}),n.value=t}function N(n,r){te(n),t(SU,n.data,n,r),e.expandOnClickNode&&ee(n),e.showCheckbox&&(e.checkOnClickNode||n.isLeaf&&e.checkOnClickLeaf)&&!n.disabled&&c(n,!s(n),!0)}function P(e,n){t(CU,e.data,e,n)}function te(e){F(e)||(r.value=e.key,t(EU,e.data,e))}function ne(e,t){c(e,t)}function re(r){let a=n.value;if(i.value&&e.accordion){let{treeNodeMap:e}=i.value;a.forEach(t=>{let n=e.get(t);r&&r.level===n?.level&&(a.delete(t),n.expanded=!1)})}a.add(r.key);let o=ce(r.key);o&&(o.expanded=!0,t(wU,o.data,o))}function ie(e){n.value.delete(e.key);let r=ce(e.key);r&&(r.expanded=!1,t(TU,r.data,r))}function ae(e){return!!e.disabled}function F(e){let t=r.value;return t!==void 0&&t===e.key}function I(){if(r.value!==void 0)return i.value?.treeNodeMap.get(r.value)?.data}function oe(){return r.value}function L(e){r.value=e}function se(e){i.value=w(e)}function ce(e){let t=E(e)?O(e):e;return i.value?.treeNodeMap.get(t)}function le(e,t=`auto`){let n=ce(e);n&&a.value&&a.value.scrollToItem(S.value.indexOf(n),t)}function ue(e){a.value?.scrollTo(e)}return M(()=>e.currentNodeKey,e=>{r.value=e},{immediate:!0}),M(()=>e.defaultExpandedKeys,e=>{j(e||[])}),M(()=>e.data,t=>{se(t),j(e.defaultExpandedKeys||[])},{immediate:!0}),{tree:i,flattenTree:S,isNotEmpty:C,listRef:a,getKey:O,getChildren:D,toggleExpand:ee,toggleCheckbox:c,isChecked:s,isIndeterminate:o,isDisabled:ae,isCurrent:F,isForceHiddenExpandIcon:_,handleNodeClick:N,handleNodeDrop:P,handleNodeCheck:ne,getCurrentNode:I,getCurrentKey:oe,setCurrentKey:L,getCheckedKeys:l,getCheckedNodes:u,getHalfCheckedKeys:d,getHalfCheckedNodes:f,setChecked:p,setCheckedKeys:m,filter:T,setData:se,getNode:ce,expandNode:re,collapseNode:ie,setExpandedKeys:j,scrollToNode:le,scrollTo:ue}}var FU=z({name:`ElTreeNodeContent`,props:xU,setup(e){let t=l(gU),n=$(`tree`);return()=>{let r=e.node,{data:i}=r;return t?.ctx.slots.default?t.ctx.slots.default({node:r,data:i}):Je(QV,{tag:`span`,truncated:!0,class:n.be(`node`,`label`)},()=>[r?.label])}}}),IU=[`aria-expanded`,`aria-disabled`,`aria-checked`,`data-key`],LU=z({name:`ElTreeNode`,__name:`tree-node`,props:bU,emits:jU,setup(e,{emit:t}){let r=e,i=t,a=l(gU),o=$(`tree`),s=K(()=>a?.props.indent??16),c=K(()=>a?.props.icon??Kv),u=e=>{let t=a?.props.props?.class;if(!t)return{};let r;if(n(t)){let{data:n}=e;r=t(n,e)}else r=t;return P(r)?{[r]:!0}:r},d=e=>{i(`click`,r.node,e)},f=e=>{i(`drop`,r.node,e)},p=()=>{i(`toggle`,r.node)},h=e=>{i(`check`,r.node,e)},g=e=>{a?.instance?.vnode?.props?.onNodeContextmenu&&(e.stopPropagation(),e.preventDefault()),a?.ctx.emit(kU,e,r.node?.data,r.node)};return(t,n)=>(N(),W(`div`,{ref:`node$`,class:F([Y(o).b(`node`),Y(o).is(`expanded`,e.expanded),Y(o).is(`current`,e.current),Y(o).is(`focusable`,!e.disabled),Y(o).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:kn(d,[`stop`]),onContextmenu:g,onDragover:n[1]||=kn(()=>{},[`prevent`]),onDragenter:n[2]||=kn(()=>{},[`prevent`]),onDrop:kn(f,[`stop`])},[B(`div`,{class:F(Y(o).be(`node`,`content`)),style:m({paddingLeft:`${(e.node.level-1)*s.value}px`,height:e.itemSize+`px`})},[c.value?(N(),H(Y(By),{key:0,class:F([Y(o).is(`leaf`,!!e.node?.isLeaf),Y(o).is(`hidden`,e.hiddenExpandIcon),{expanded:!e.node?.isLeaf&&e.expanded},Y(o).be(`node`,`expand-icon`)]),onClick:kn(p,[`stop`])},{default:V(()=>[(N(),H(L(c.value)))]),_:1},8,[`class`])):G(`v-if`,!0),e.showCheckbox?(N(),H(Y(ok),{key:1,"model-value":e.checked,indeterminate:e.indeterminate,disabled:e.disabled,onChange:h,onClick:n[0]||=kn(()=>{},[`stop`])},null,8,[`model-value`,`indeterminate`,`disabled`])):G(`v-if`,!0),J(Y(FU),{node:{...e.node,expanded:e.expanded}},null,8,[`node`])],6)],42,IU))}}),RU=Pv(z({name:`ElTreeV2`,__name:`tree`,props:yU,emits:AU,setup(e,{expose:t,emit:n}){let r=e,i=n,a=le(),o=K(()=>r.itemSize);Qe(gU,{ctx:{emit:i,slots:a},props:r,instance:Xe()}),Qe(sb,void 0);let{t:s}=Dp(),c=$(`tree`),{flattenTree:l,isNotEmpty:u,listRef:d,toggleExpand:f,isIndeterminate:p,isChecked:h,isDisabled:g,isCurrent:_,isForceHiddenExpandIcon:v,handleNodeClick:y,handleNodeDrop:b,handleNodeCheck:x,toggleCheckbox:C,getCurrentNode:w,getCurrentKey:T,setCurrentKey:E,getCheckedKeys:D,getCheckedNodes:O,getHalfCheckedKeys:k,getHalfCheckedNodes:A,setChecked:ee,setCheckedKeys:j,filter:M,setData:P,getNode:te,expandNode:ne,collapseNode:re,setExpandedKeys:ie,scrollToNode:ae,scrollTo:oe}=PU(r,i);return t({toggleCheckbox:C,getCurrentNode:w,getCurrentKey:T,setCurrentKey:E,getCheckedKeys:D,getCheckedNodes:O,getHalfCheckedKeys:k,getHalfCheckedNodes:A,setChecked:ee,setCheckedKeys:j,filter:M,setData:P,getNode:te,expandNode:ne,collapseNode:re,setExpandedKeys:ie,scrollToNode:ae,scrollTo:oe}),(t,n)=>(N(),W(`div`,{class:F([Y(c).b(),{[Y(c).m(`highlight-current`)]:e.highlightCurrent}]),role:`tree`},[Y(u)?(N(),H(Y(gO),{key:0,ref_key:`listRef`,ref:d,"class-name":Y(c).b(`virtual-list`),data:Y(l),total:Y(l).length,height:e.height,"item-size":o.value,"perf-mode":e.perfMode,"scrollbar-always-on":e.scrollbarAlwaysOn},{default:V(({data:t,index:n,style:r})=>[(N(),H(LU,{key:t[n].key,style:m(r),node:t[n],expanded:t[n].expanded,"show-checkbox":e.showCheckbox,checked:Y(h)(t[n]),indeterminate:Y(p)(t[n]),"item-size":o.value,disabled:Y(g)(t[n]),current:Y(_)(t[n]),"hidden-expand-icon":Y(v)(t[n]),onClick:Y(y),onToggle:Y(f),onCheck:Y(x),onDrop:Y(b)},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`])):(N(),W(`div`,{key:1,class:F(Y(c).e(`empty-block`))},[I(t.$slots,`empty`,{},()=>[B(`span`,{class:F(Y(c).e(`empty-text`))},S(e.emptyText??Y(s)(`el.tree.emptyText`)),3)])],2))],2))}})),zU=`ElUpload`,BU=class extends Error{constructor(e,t,n,r){super(e),this.name=`UploadAjaxError`,this.status=t,this.method=n,this.url=r}};function VU(e,t,n){let r;return r=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new BU(r,n.status,t.method,e)}function HU(e){let t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}var UU=e=>{typeof XMLHttpRequest>`u`&&qd(zU,`XMLHttpRequest is undefined`);let t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener(`progress`,t=>{let n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});let r=new FormData;if(e.data)for(let[t,n]of Object.entries(e.data))A(n)?n.length===2&&n[0]instanceof Blob&&P(n[1])?r.append(t,n[0],n[1]):n.forEach(e=>{r.append(t,e)}):r.append(t,n);r.append(e.filename,e.file,e.file.name),t.addEventListener(`error`,()=>{e.onError(VU(n,e,t))}),t.addEventListener(`load`,()=>{if(t.status<200||t.status>=300)return e.onError(VU(n,e,t));e.onSuccess(HU(t))}),t.open(e.method,n,!0),e.withCredentials&&`withCredentials`in t&&(t.withCredentials=!0);let i=e.headers||{};if(i instanceof Headers)i.forEach((e,n)=>t.setRequestHeader(n,e));else for(let[e,n]of Object.entries(i))cd(n)||t.setRequestHeader(e,String(n));return t.send(r),t},WU=[`text`,`picture`,`picture-card`],GU=1,KU=()=>Date.now()+ GU++,qU=Q({action:{type:String,default:`#`},headers:{type:Z(Object)},method:{type:String,default:`post`},data:{type:Z([Object,Function,Promise]),default:()=>DS({})},multiple:Boolean,name:{type:String,default:`file`},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:``},fileList:{type:Z(Array),default:()=>DS([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:WU,default:`text`},httpRequest:{type:Z(Function),default:UU},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),JU=Q({...qU,beforeUpload:{type:Z(Function),default:ge},beforeRemove:{type:Z(Function)},onRemove:{type:Z(Function),default:ge},onChange:{type:Z(Function),default:ge},onPreview:{type:Z(Function),default:ge},onSuccess:{type:Z(Function),default:ge},onProgress:{type:Z(Function),default:ge},onError:{type:Z(Function),default:ge},onExceed:{type:Z(Function),default:ge},crossorigin:{type:Z(String)}}),YU={action:`#`,method:`post`,data:()=>DS({}),name:`file`,showFileList:!0,accept:``,fileList:()=>DS([]),autoUpload:!0,listType:`text`,httpRequest:UU,disabled:void 0};({...YU});var XU=Symbol(`uploadContextKey`),ZU=Q({files:{type:Z(Array),default:()=>DS([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:Z(Function),default:ge},listType:{type:String,values:WU,default:`text`},crossorigin:{type:Z(String)}}),QU={remove:e=>!!e},$U=Q({...qU,beforeUpload:{type:Z(Function),default:ge},onRemove:{type:Z(Function),default:ge},onStart:{type:Z(Function),default:ge},onSuccess:{type:Z(Function),default:ge},onProgress:{type:Z(Function),default:ge},onError:{type:Z(Function),default:ge},onExceed:{type:Z(Function),default:ge}});({...YU});var eW=Q({disabled:{type:Boolean,default:void 0},directory:Boolean}),tW={file:e=>A(e)},nW=[`tabindex`,`aria-disabled`,`onKeydown`],rW=[`src`,`crossorigin`],iW=[`onClick`],aW=[`title`],oW=[`onClick`],sW=[`onClick`],cW=z({name:`ElUploadList`,__name:`upload-list`,props:ZU,emits:QU,setup(e,{emit:t}){let n=e,i=t,{t:a}=Dp(),o=$(`upload`),s=$(`icon`),c=$(`list`),l=lb(),u=q(!1),d=K(()=>[o.b(`list`),o.bm(`list`,n.listType),o.is(`disabled`,l.value)]),f=e=>{i(`remove`,e)};return(t,n)=>(N(),H(un,{tag:`ul`,class:F(d.value),name:Y(c).b()},{default:V(()=>[(N(!0),W(R,null,r(e.files,(r,i)=>(N(),W(`li`,{key:r.uid||r.name,class:F([Y(o).be(`list`,`item`),Y(o).is(r.status),{focusing:u.value}]),tabindex:Y(l)?void 0:0,"aria-disabled":Y(l),role:`button`,onKeydown:jn(e=>!Y(l)&&f(r),[`delete`]),onFocus:n[0]||=e=>u.value=!0,onBlur:n[1]||=e=>u.value=!1,onClick:n[2]||=e=>u.value=!1},[I(t.$slots,`default`,{file:r,index:i},()=>[e.listType===`picture`||r.status!==`uploading`&&e.listType===`picture-card`?(N(),W(`img`,{key:0,class:F(Y(o).be(`list`,`item-thumbnail`)),src:r.url,crossorigin:e.crossorigin,alt:``},null,10,rW)):G(`v-if`,!0),r.status===`uploading`||e.listType!==`picture-card`?(N(),W(`div`,{key:1,class:F(Y(o).be(`list`,`item-info`))},[B(`a`,{class:F(Y(o).be(`list`,`item-name`)),onClick:kn(t=>e.handlePreview(r),[`prevent`])},[J(Y(By),{class:F(Y(s).m(`document`))},{default:V(()=>[J(Y(ay))]),_:1},8,[`class`]),B(`span`,{class:F(Y(o).be(`list`,`item-file-name`)),title:r.name},S(r.name),11,aW)],10,iW),r.status===`uploading`?(N(),H(Y(bL),{key:0,type:e.listType===`picture-card`?`circle`:`line`,"stroke-width":e.listType===`picture-card`?6:2,percentage:Number(r.percentage),style:m(e.listType===`picture-card`?``:`margin-top: 0.5rem`)},null,8,[`type`,`stroke-width`,`percentage`,`style`])):G(`v-if`,!0)],2)):G(`v-if`,!0),B(`label`,{class:F(Y(o).be(`list`,`item-status-label`))},[e.listType===`text`?(N(),H(Y(By),{key:0,class:F([Y(s).m(`upload-success`),Y(s).m(`circle-check`)])},{default:V(()=>[J(Y(Xv))]),_:1},8,[`class`])):[`picture-card`,`picture`].includes(e.listType)?(N(),H(Y(By),{key:1,class:F([Y(s).m(`upload-success`),Y(s).m(`check`)])},{default:V(()=>[J(Y(Jv))]),_:1},8,[`class`])):G(`v-if`,!0)],2),Y(l)?G(`v-if`,!0):(N(),H(Y(By),{key:2,class:F(Y(s).m(`close`)),"aria-label":Y(a)(`el.upload.delete`),role:`button`,tabindex:`0`,onClick:e=>f(r),onKeydown:jn(kn(e=>f(r),[`prevent`]),[`enter`,`space`])},{default:V(()=>[J(Y(ey))]),_:1},8,[`class`,`aria-label`,`onClick`,`onKeydown`])),Y(l)?G(`v-if`,!0):(N(),W(`i`,{key:3,class:F(Y(s).m(`close-tip`))},S(Y(a)(`el.upload.deleteTip`)),3)),e.listType===`picture-card`?(N(),W(`span`,{key:4,class:F(Y(o).be(`list`,`item-actions`))},[B(`span`,{class:F(Y(o).be(`list`,`item-preview`)),onClick:t=>e.handlePreview(r)},[J(Y(By),{class:F(Y(s).m(`zoom-in`))},{default:V(()=>[J(Y(jy))]),_:1},8,[`class`])],10,oW),Y(l)?G(`v-if`,!0):(N(),W(`span`,{key:0,class:F(Y(o).be(`list`,`item-delete`)),onClick:e=>f(r)},[J(Y(By),{class:F(Y(s).m(`delete`))},{default:V(()=>[J(Y(iy))]),_:1},8,[`class`])],10,sW))],2)):G(`v-if`,!0)])],42,nW))),128)),I(t.$slots,`append`)]),_:3},8,[`class`,`name`]))}}),lW=`ElUploadDrag`,uW=z({name:lW,__name:`upload-dragger`,props:eW,emits:tW,setup(e,{emit:t}){let n=e,r=t;l(XU)||qd(lW,`usage: `);let i=$(`upload`),a=q(!1),o=lb(),s=e=>new Promise((t,n)=>e.file(t,n)),c=async e=>{try{if(e.isFile){let t=await s(e);return t.isDirectory=!1,[t]}if(e.isDirectory){let t=e.createReader(),n=()=>new Promise((e,n)=>t.readEntries(e,n)),r=[],i=await n();for(;i.length>0;)r.push(...i),i=await n();let a=r.map(e=>c(e).catch(()=>[]));return fs(await Promise.all(a))}}catch{return[]}return[]},u=async e=>{if(o.value)return;a.value=!1,e.stopPropagation();let t=Array.from(e.dataTransfer.files),i=e.dataTransfer.items||[];if(n.directory){let e=Array.from(i).map(e=>e?.webkitGetAsEntry?.()).filter(e=>e);r(`file`,fs(await Promise.all(e.map(c))));return}t.forEach((e,t)=>{let n=i[t]?.webkitGetAsEntry?.();n&&(e.isDirectory=n.isDirectory)}),r(`file`,t)},d=()=>{o.value||(a.value=!0)},f=e=>{e.currentTarget.contains(e.relatedTarget)||(a.value=!1)};return(e,t)=>(N(),W(`div`,{class:F([Y(i).b(`dragger`),Y(i).is(`dragover`,a.value)]),onDrop:kn(u,[`prevent`]),onDragover:kn(d,[`prevent`]),onDragleave:kn(f,[`prevent`])},[I(e.$slots,`default`)],34))}}),dW=[`tabindex`,`aria-disabled`,`onKeydown`],fW=[`name`,`disabled`,`multiple`,`accept`,`webkitdirectory`],pW=z({name:`ElUploadContent`,inheritAttrs:!1,__name:`upload-content`,props:$U,setup(e,{expose:t}){let r=e,i=$(`upload`),a=lb(),o=Le({}),s=Le(),c=e=>{if(e.length===0)return;let{autoUpload:t,limit:n,fileList:i,multiple:a,onStart:o,onExceed:s}=r;if(n&&i.length+e.length>n){s(e,i);return}a||(e=e.slice(0,1));for(let n of e){let e=n;e.uid=KU(),o(e),t&&l(e)}},l=async e=>{if(s.value.value=``,!r.beforeUpload)return d(e);let t,n={};try{let i=r.data,a=r.beforeUpload(e);n=j(r.data)?Ml(r.data):r.data,t=await a,j(r.data)&&sd(i,n)&&(n=Ml(r.data))}catch{t=!1}if(t===!1){r.onRemove(e);return}let i=e;t instanceof Blob&&(i=t instanceof File?t:new File([t],e.name,{type:e.type})),d(Object.assign(i,{uid:e.uid}),n)},u=async(e,t)=>n(e)?e(t):e,d=async(e,t)=>{let{headers:n,data:i,method:a,withCredentials:s,name:c,action:l,onProgress:d,onSuccess:f,onError:p,httpRequest:m}=r;try{t=await u(t??i,e)}catch{r.onRemove(e);return}let{uid:h}=e,g={headers:n||{},withCredentials:s,file:e,data:t,method:a,filename:c,action:l,onProgress:t=>{d(t,e)},onSuccess:t=>{f(t,e),delete o.value[h]},onError:t=>{p(t,e),delete o.value[h]}},_=m(g);o.value[h]=_,_ instanceof Promise&&_.then(g.onSuccess,g.onError)},f=e=>{let t=e.target.files;t&&c(Array.from(t))},p=()=>{a.value||(s.value.value=``,s.value.click())},m=()=>{p()};return t({abort:e=>{zd(o.value).filter(e?([t])=>String(e.uid)===t:()=>!0).forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete o.value[e]})},upload:l}),(t,n)=>(N(),W(`div`,{class:F([Y(i).b(),Y(i).m(e.listType),Y(i).is(`drag`,e.drag),Y(i).is(`disabled`,Y(a))]),tabindex:Y(a)?void 0:0,"aria-disabled":Y(a),role:`button`,onClick:p,onKeydown:jn(kn(m,[`self`]),[`enter`,`space`])},[e.drag?(N(),H(uW,{key:0,disabled:Y(a),directory:e.directory,onFile:c},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`disabled`,`directory`])):I(t.$slots,`default`,{key:1}),B(`input`,{ref_key:`inputRef`,ref:s,class:F(Y(i).e(`input`)),name:e.name,disabled:Y(a),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:`file`,onChange:f,onClick:n[0]||=kn(()=>{},[`stop`])},null,42,fW)],42,dW))}}),mW=`ElUpload`,hW=e=>{e.url?.startsWith(`blob:`)&&URL.revokeObjectURL(e.url)},gW=(e,t)=>{let n=qf(e,`fileList`,void 0,{passive:!0}),r=e=>n.value.find(t=>t.uid===e.uid);function i(e){t.value?.abort(e)}function a(e=[`ready`,`uploading`,`success`,`fail`]){n.value=n.value.filter(t=>!e.includes(t.status))}function o(e){n.value=n.value.filter(t=>t.uid!==e.uid)}let s=t=>{U(()=>e.onChange(t,n.value))},c=(t,i)=>{let a=r(i);a&&(console.error(t),a.status=`fail`,o(a),e.onError(t,a,n.value),s(a))},l=(t,i)=>{let a=r(i);a&&(e.onProgress(t,a,n.value),a.status=`uploading`,a.percentage=Math.round(t.percent))},u=(t,i)=>{let a=r(i);a&&(a.status=`success`,a.response=t,e.onSuccess(t,a,n.value),s(a))},d=t=>{cd(t.uid)&&(t.uid=KU());let r={name:t.name,percentage:0,status:`ready`,size:t.size,raw:t,uid:t.uid};if(e.listType===`picture-card`||e.listType===`picture`)try{r.url=URL.createObjectURL(t)}catch(t){Jd(mW,t.message),e.onError(t,r,n.value)}n.value=[...n.value,r],s(r)},f=async t=>{let a=t instanceof File?r(t):t;a||qd(mW,`file to be removed not found`);let s=t=>{i(t),o(t),e.onRemove(t,n.value),hW(t)};e.beforeRemove?await e.beforeRemove(a,n.value)!==!1&&s(a):s(a)};function p(){n.value.filter(({status:e})=>e===`ready`).forEach(({raw:e})=>e&&t.value?.upload(e))}return M(()=>e.listType,t=>{t!==`picture-card`&&t!==`picture`||(n.value=n.value.map(t=>{let{raw:r,url:i}=t;if(!i&&r)try{t.url=URL.createObjectURL(r)}catch(r){e.onError(r,t,n.value)}return t}))}),M(n,e=>{for(let t of e)t.uid||=KU(),t.status||=`success`},{immediate:!0,deep:!0}),{uploadFiles:n,abort:i,clearFiles:a,handleError:c,handleProgress:l,handleStart:d,handleSuccess:u,handleRemove:f,submit:p,revokeFileObjectURL:hW}},_W=Pv(z({name:`ElUpload`,__name:`upload`,props:JU,setup(e,{expose:t}){let n=e,r=lb(),i=Le(),{abort:a,submit:o,clearFiles:s,uploadFiles:c,handleStart:l,handleError:u,handleRemove:d,handleSuccess:f,handleProgress:p,revokeFileObjectURL:m}=gW(n,i),h=K(()=>n.listType===`picture-card`),g=K(()=>({...n,fileList:c.value,onStart:l,onProgress:p,onSuccess:f,onError:u,onRemove:d}));return T(()=>{c.value.forEach(m)}),Qe(XU,{accept:we(n,`accept`)}),t({abort:a,submit:o,clearFiles:s,handleStart:l,handleRemove:d}),(t,n)=>(N(),W(`div`,null,[h.value&&e.showFileList?(N(),H(cW,{key:0,disabled:Y(r),"list-type":e.listType,files:Y(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:Y(d)},xe({append:V(()=>[J(pW,k({ref_key:`uploadRef`,ref:i},g.value),{default:V(()=>[t.$slots.trigger?I(t.$slots,`trigger`,{key:0}):G(`v-if`,!0),!t.$slots.trigger&&t.$slots.default?I(t.$slots,`default`,{key:1}):G(`v-if`,!0)]),_:3},16)]),_:2},[t.$slots.file?{name:`default`,fn:V(({file:e,index:n})=>[I(t.$slots,`file`,{file:e,index:n})]),key:`0`}:void 0]),1032,[`disabled`,`list-type`,`files`,`crossorigin`,`handle-preview`,`onRemove`])):G(`v-if`,!0),!h.value||h.value&&!e.showFileList?(N(),H(pW,k({key:1,ref_key:`uploadRef`,ref:i},g.value),{default:V(()=>[t.$slots.trigger?I(t.$slots,`trigger`,{key:0}):G(`v-if`,!0),!t.$slots.trigger&&t.$slots.default?I(t.$slots,`default`,{key:1}):G(`v-if`,!0)]),_:3},16)):G(`v-if`,!0),t.$slots.trigger?I(t.$slots,`default`,{key:2}):G(`v-if`,!0),I(t.$slots,`tip`),!h.value&&e.showFileList?(N(),H(cW,{key:3,disabled:Y(r),"list-type":e.listType,files:Y(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:Y(d)},xe({_:2},[t.$slots.file?{name:`default`,fn:V(({file:e,index:n})=>[I(t.$slots,`file`,{file:e,index:n})]),key:`0`}:void 0]),1032,[`disabled`,`list-type`,`files`,`crossorigin`,`handle-preview`,`onRemove`])):G(`v-if`,!0)]))}})),vW=Q({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:Z([String,Array]),default:`Element Plus`},font:{type:Z(Object)},gap:{type:Z(Array),default:()=>[100,100]},offset:{type:Z(Array)}});function yW(e){return e.replace(/([A-Z])/g,`-$1`).toLowerCase()}function bW(e){return Object.keys(e).map(t=>`${yW(t)}: ${e[t]};`).join(` `)}function xW(){return window.devicePixelRatio||1}var SW=(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},CW={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function wW(e,t,n=1){let r=document.createElement(`canvas`),i=r.getContext(`2d`),a=e*n,o=t*n;return r.setAttribute(`width`,`${a}px`),r.setAttribute(`height`,`${o}px`),i.save(),[i,r,a,o]}function TW(){function e(e,t,n,r,i,a,o,s,c){let[l,u,d,f]=wW(r,i,n),p=0;if(e instanceof HTMLImageElement)l.drawImage(e,0,0,d,f);else{let{color:t,fontSize:r,fontStyle:o,fontWeight:s,fontFamily:u,textAlign:f,textBaseline:m}=a,h=Number(r)*n;l.font=`${o} normal ${s} ${h}px/${i}px ${u}`,l.fillStyle=t,l.textAlign=f,l.textBaseline=m;let g=A(e)?e:[e];if(m!==`top`&&g[0]){let e=l.measureText(g[0]);l.textBaseline=`top`;let t=l.measureText(g[0]);p=e.actualBoundingBoxAscent-t.actualBoundingBoxAscent}g?.forEach((e,t)=>{let[r,i]=CW[f];l.fillText(e??``,d*r+c*i,t*(h+a.fontGap*n))})}let m=Math.PI/180*Number(t),h=Math.max(r,i),[g,_,v]=wW(h,h,n);g.translate(v/2,v/2),g.rotate(m),d>0&&f>0&&g.drawImage(u,-d/2,-f/2);function y(e,t){return[e*Math.cos(m)-t*Math.sin(m),e*Math.sin(m)+t*Math.cos(m)]}let b=0,x=0,S=0,C=0,w=d/2,T=f/2;[[0-w,0-T],[0+w,0-T],[0+w,0+T],[0-w,0+T]].forEach(([e,t])=>{let[n,r]=y(e,t);b=Math.min(b,n),x=Math.max(x,n),S=Math.min(S,r),C=Math.max(C,r)});let E=b+v/2,D=S+v/2,O=x-b,k=C-S,ee=o*n,j=s*n,M=(O+ee)*2,N=k+j,[P,te]=wW(M,N);function ne(e=0,t=0){P.drawImage(_,E,D,O,k,e,t+p,O,k)}return ne(),ne(O+ee,-k/2-j/2),ne(O+ee,k/2+j/2),[te.toDataURL(),M/n,N/n]}return e}var EW=Pv(z({name:`ElWatermark`,__name:`watermark`,props:vW,setup(e){let t={position:`relative`},n=e,r=K(()=>n.font?.fontGap??3),i=K(()=>n.font?.color??`rgba(0,0,0,.15)`),a=K(()=>n.font?.fontSize??16),o=K(()=>n.font?.fontWeight??`normal`),s=K(()=>n.font?.fontStyle??`normal`),c=K(()=>n.font?.fontFamily??`sans-serif`),l=K(()=>n.font?.textAlign??`center`),u=K(()=>n.font?.textBaseline??`hanging`),f=K(()=>n.gap[0]),p=K(()=>n.gap[1]),h=K(()=>f.value/2),g=K(()=>p.value/2),_=K(()=>n.offset?.[0]??h.value),v=K(()=>n.offset?.[1]??g.value),y=()=>{let e={zIndex:n.zIndex,position:`absolute`,left:0,top:0,width:`100%`,height:`100%`,pointerEvents:`none`,backgroundRepeat:`repeat`},t=_.value-h.value,r=v.value-g.value;return t>0&&(e.left=`${t}px`,e.width=`calc(100% - ${t}px)`,t=0),r>0&&(e.top=`${r}px`,e.height=`calc(100% - ${r}px)`,r=0),e.backgroundPosition=`${t}px ${r}px`,e},b=Le(null),x=Le(),S=q(!1),C=()=>{x.value&&=(x.value.remove(),void 0)},w=(e,t)=>{b.value&&x.value&&(S.value=!0,x.value.setAttribute(`style`,bW({...y(),backgroundImage:`url('${e}')`,backgroundSize:`${Math.floor(t)}px`})),b.value?.append(x.value),setTimeout(()=>{S.value=!1}))},E=e=>{let t=120,i=64,o=0,{image:s,content:l,width:u,height:d,rotate:f}=n;if(!s&&e.measureText){e.font=`${Number(a.value)}px ${c.value}`;let n=A(l)?l:[l],s=0,u=0;n.forEach(t=>{let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e.measureText(t),c=Ad(r)?a+o:r+i;n>s&&(s=Math.ceil(n)),c>u&&(u=Math.ceil(c))}),t=s,i=u*n.length+(n.length-1)*r.value;let d=Math.PI/180*Number(f);o=Math.ceil(Math.abs(Math.sin(d)*i)/2),t+=o}return[u??t,d??i,o]},D=TW(),O=()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=n.image,d=n.content,m=n.rotate;if(e){x.value||=document.createElement(`div`);let n=xW(),[h,g,_]=E(e),v=e=>{let[t,d]=D(e||``,m,n,h,g,{color:i.value,fontSize:a.value,fontStyle:s.value,fontWeight:o.value,fontFamily:c.value,fontGap:r.value,textAlign:l.value,textBaseline:u.value},f.value,p.value,_);w(t,d)};if(t){let e=new Image;e.onload=()=>{v(e)},e.onerror=()=>{v(d)},e.crossOrigin=`anonymous`,e.referrerPolicy=`no-referrer`,e.src=t}else v(d)}};return d(()=>{O()}),M(()=>n,()=>{O()},{deep:!0,flush:`post`}),T(()=>{C()}),Pf(b,e=>{S.value||e.forEach(e=>{SW(e,x.value)&&(C(),O())})},{attributes:!0,subtree:!0,childList:!0}),(e,n)=>(N(),W(`div`,{ref_key:`containerRef`,ref:b,style:m([t])},[I(e.$slots,`default`)],4))}})),DW=Q({placement:{type:Z(String),values:[`top-start`,`top-end`,`top`,`bottom-start`,`bottom-end`,`bottom`,`left-start`,`left-end`,`left`,`right-start`,`right-end`,`right`],default:`bottom`},reference:{type:Z(Object),default:null},strategy:{type:Z(String),values:[`absolute`,`fixed`],default:`absolute`},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),OW={close:()=>!0},kW=Q({modelValue:Boolean,current:{type:Number},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Ny},placement:DW.placement,contentStyle:{type:Z([Object])},mask:{type:Z([Boolean,Object]),default:!0},gap:{type:Z(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:Z([Boolean,Object]),default:()=>({block:`center`})},type:{type:Z(String)},appendTo:{type:Z([String,Object]),default:`body`},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),AW={[br]:e=>jd(e),"update:current":e=>Md(e),close:e=>Md(e),finish:()=>!0,change:e=>Md(e)},jW=Q({target:{type:Z([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Ny},showArrow:{type:Boolean,default:void 0},placement:DW.placement,mask:{type:Z([Boolean,Object]),default:void 0},contentStyle:{type:Z([Object])},prevButtonProps:{type:Z(Object)},nextButtonProps:{type:Z(Object)},scrollIntoViewOptions:{type:Z([Boolean,Object]),default:void 0},type:{type:Z(String)}}),MW={close:()=>!0},NW=(e,t,r,i,a)=>{let o=q(null),s=()=>{let t;return t=P(e.value)?document.querySelector(e.value):n(e.value)?e.value():e.value,t},c=()=>{let e=s();if(!e||!t.value){o.value=null;return}FW(e)||e.scrollIntoView(a.value);let{left:n,top:r,width:i,height:c}=e.getBoundingClientRect();o.value={left:n,top:r,width:i,height:c,radius:0}};d(()=>{M([t,e],()=>{c()},{immediate:!0}),window.addEventListener(`resize`,c)}),T(()=>{window.removeEventListener(`resize`,c)});let l=e=>(A(r.value.offset)?r.value.offset[e]:r.value.offset)??6,u=K(()=>{if(!o.value)return o.value;let e=l(0),t=l(1),n=r.value?.radius||2;return{left:o.value.left-e,top:o.value.top-t,width:o.value.width+e*2,height:o.value.height+t*2,radius:n}});return{mergedPosInfo:u,triggerTarget:K(()=>{let e=s();return!i.value||!e||!window.DOMRect?e||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:u.value?.width||0,height:u.value?.height||0,x:u.value?.left||0,y:u.value?.top||0})}}})}},PW=Symbol(`ElTour`);function FW(e){let t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:r,right:i,bottom:a,left:o}=e.getBoundingClientRect();return r>=0&&o>=0&&i<=t&&a<=n}var IW=(t,n,r,i,a,o,s,c)=>{let l=q(),u=q(),f=q({}),p={x:l,y:u,placement:i,strategy:a,middlewareData:f},m=K(()=>{let e=[sv(Y(o)),lv(),cv(),LW()];return Y(c)&&Y(r)&&e.push(uv({element:Y(r)})),e}),h=async()=>{if(!nf)return;let e=Y(t),r=Y(n);if(!e||!r)return;let o=await dv(e,r,{placement:Y(i),strategy:Y(a),middleware:Y(m)});Rd(p).forEach(e=>{p[e].value=o[e]})},g=K(()=>{if(!Y(t))return{position:`fixed`,top:`50%`,left:`50%`,transform:`translate3d(-50%, -50%, 0)`,maxWidth:`100vw`,zIndex:Y(s)};let{overflow:e}=Y(f);return{position:Y(a),zIndex:Y(s),top:Y(u)==null?``:`${Y(u)}px`,left:Y(l)==null?``:`${Y(l)}px`,maxWidth:e?.maxWidth?`${e?.maxWidth}px`:``}}),_=K(()=>{if(!Y(c))return{};let{arrow:e}=Y(f);return{left:e?.x==null?``:`${e?.x}px`,top:e?.y==null?``:`${e?.y}px`}}),v;return d(()=>{let r=Y(t),i=Y(n);r&&i&&(v=av(r,i,h)),e(()=>{h()})}),T(()=>{v&&v()}),{update:h,contentStyle:g,arrowStyle:_}},LW=()=>({name:`overflow`,async fn(e){let t=await ov(e),n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),RW=Q({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:`rgba(0,0,0,0.5)`},pos:{type:Z(Object)},targetAreaClickable:{type:Boolean,default:!0}}),zW={style:{width:`100%`,height:`100%`}},BW=[`d`],VW=z({name:`ElTourMask`,inheritAttrs:!1,__name:`mask`,props:RW,setup(e){let t=e,{ns:n}=l(PW),r=K(()=>t.pos?.radius??2),i=K(()=>{let e=r.value,t=`a${e},${e} 0 0 1`;return{topRight:`${t} ${e},${e}`,bottomRight:`${t} ${-e},${e}`,bottomLeft:`${t} ${-e},${-e}`,topLeft:`${t} ${e},${-e}`}}),{width:a,height:o}=Yf(),s=K(()=>{let e=a.value,n=o.value,s=i.value,c=`M${e},0 L0,0 L0,${n} L${e},${n} L${e},0 Z`,l=r.value;return t.pos?`${c} M${t.pos.left+l},${t.pos.top} h${t.pos.width-l*2} ${s.topRight} v${t.pos.height-l*2} ${s.bottomRight} h${-t.pos.width+l*2} ${s.bottomLeft} v${-t.pos.height+l*2} ${s.topLeft} z`:c}),c=K(()=>({position:`fixed`,left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?`none`:`auto`})),u=K(()=>({fill:t.fill,pointerEvents:`auto`,cursor:`auto`}));return Up(we(t,`visible`),{ns:n}),(t,r)=>e.visible?(N(),W(`div`,k({key:0,class:Y(n).e(`mask`),style:c.value},t.$attrs),[(N(),W(`svg`,zW,[B(`path`,{class:F(Y(n).e(`hollow`)),style:m(u.value),d:s.value},null,14,BW)]))],16)):G(`v-if`,!0)}}),HW=[`data-side`],UW=z({name:`ElTourContent`,__name:`content`,props:DW,emits:OW,setup(e,{emit:t}){let n=e,r=t,i=q(n.placement),a=q(n.strategy),o=q(null),s=q(null);M(()=>n.placement,()=>{i.value=n.placement});let{contentStyle:c,arrowStyle:u}=IW(we(n,`reference`),o,s,i,a,we(n,`offset`),we(n,`zIndex`),we(n,`showArrow`)),d=K(()=>i.value.split(`-`)[0]),{ns:f}=l(PW),p=()=>{r(`close`)},h=e=>{e.detail.focusReason===`pointer`&&e.preventDefault()};return(t,n)=>(N(),W(`div`,{ref_key:`contentRef`,ref:o,style:m(Y(c)),class:F(Y(f).e(`content`)),"data-side":d.value,tabindex:`-1`},[J(Y(tS),{loop:``,trapped:``,"focus-start-el":`container`,"focus-trap-el":o.value||void 0,onReleaseRequested:p,onFocusoutPrevented:h},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`focus-trap-el`]),e.showArrow?(N(),W(`span`,{key:0,ref_key:`arrowRef`,ref:s,style:m(Y(u)),class:F(Y(f).e(`arrow`))},null,6)):G(`v-if`,!0)],14,HW))}}),WW=z({name:`ElTourSteps`,props:{current:{type:Number,default:0}},emits:[`update-total`],setup(e,{slots:t,emit:n}){let r=0;return()=>{let i=t.default?.(),a=[],o=0;function s(e){A(e)&&e.forEach(e=>{(e?.type||{})?.name===`ElTourStep`&&(a.push(e),o+=1)})}return i.length&&s(vv(i[0]?.children)),r!==o&&(r=o,n(`update-total`,o)),a.length?a[e.current]:null}}}),GW=z({name:`ElTour`,inheritAttrs:!1,__name:`tour`,props:kW,emits:AW,setup(e,{emit:t}){let n=e,r=t,i=$(`tour`),a=q(0),o=q(),s=K(()=>!Ad(n.current)),c=q(n.current??0),l=K({get(){return Ad(n.current)?c.value:n.current},set(e){(s.value?n.current:c.value)!==e&&(s.value||(c.value=e),r(`update:current`,e))}}),u=K(()=>o.value?.target),d=K(()=>[i.b(),b.value===`primary`?i.m(`primary`):``]),f=K(()=>o.value?.placement||n.placement),p=K(()=>o.value?.contentStyle??n.contentStyle),h=K(()=>o.value?.mask??n.mask),g=K(()=>!!h.value&&n.modelValue),_=K(()=>jd(h.value)?void 0:h.value),v=K(()=>!!u.value&&(o.value?.showArrow??n.showArrow)),y=K(()=>o.value?.scrollIntoViewOptions??n.scrollIntoViewOptions),b=K(()=>o.value?.type??n.type),{nextZIndex:x}=xg(),S=x(),C=K(()=>n.zIndex??S),{mergedPosInfo:w,triggerTarget:T}=NW(u,we(n,`modelValue`),we(n,`gap`),h,y);M(()=>n.current,e=>!Ad(e)&&(c.value=e)),M(l,(e,t)=>{!n.modelValue||e===t||r(xr,e)},{flush:`post`}),M(()=>n.modelValue,e=>{!e&&l.value!==0&&(l.value=0)});let E=()=>{n.closeOnPressEscape&&(r(br,!1),r(`close`,l.value))},D=e=>{a.value=e},O=le();return Qe(PW,{currentStep:o,current:l,total:a,showClose:we(n,`showClose`),closeIcon:we(n,`closeIcon`),mergedType:b,ns:i,slots:O,updateModelValue(e){r(br,e)},onClose(){r(`close`,l.value)},onFinish(){r(`finish`)}}),(t,n)=>(N(),W(R,null,[(N(),H(Fe,{to:e.appendTo},[B(`div`,k({class:d.value},t.$attrs),[J(VW,{visible:g.value,fill:_.value?.color,style:m(_.value?.style),pos:Y(w),"z-index":C.value,"target-area-clickable":e.targetAreaClickable},null,8,[`visible`,`fill`,`style`,`pos`,`z-index`,`target-area-clickable`]),e.modelValue?(N(),H(UW,{key:l.value,reference:Y(T),placement:f.value,"show-arrow":v.value,"z-index":C.value,style:m(p.value),onClose:E},{default:V(()=>[J(Y(WW),{current:l.value,onUpdateTotal:D},{default:V(()=>[I(t.$slots,`default`)]),_:3},8,[`current`])]),_:3},8,[`reference`,`placement`,`show-arrow`,`z-index`,`style`])):G(`v-if`,!0)],16)],8,[`to`])),G(` just for IDE `),G(`v-if`,!0)],64))}}),KW=[`aria-label`],qW=z({name:`ElTourStep`,__name:`step`,props:jW,emits:MW,setup(e,{emit:t}){let n=e,i=t,{Close:a}=Py,{t:o}=Dp(),{currentStep:s,current:c,total:u,showClose:f,closeIcon:p,mergedType:m,ns:h,slots:g,updateModelValue:_,onClose:v,onFinish:y}=l(PW);M(n,e=>{s.value=e},{immediate:!0});let b=K(()=>n.showClose??f.value),x=K(()=>n.closeIcon??p.value??a),C=e=>{if(e)return vd(e,[`children`,`onClick`])},w=()=>{--c.value,n.prevButtonProps?.onClick&&n.prevButtonProps?.onClick()},E=()=>{c.value>=u.value-1?D():c.value+=1,n.nextButtonProps?.onClick&&n.nextButtonProps.onClick()},D=()=>{O(),y()},O=()=>{_(!1),v(),i(`close`)},A=e=>{if(!e.target?.isContentEditable)switch(Kp(e)){case X.left:e.preventDefault(),c.value>0&&w();break;case X.right:e.preventDefault(),E();break}};return d(()=>{window.addEventListener(`keydown`,A)}),T(()=>{window.removeEventListener(`keydown`,A)}),(t,n)=>(N(),W(R,null,[b.value?(N(),W(`button`,{key:0,"aria-label":Y(o)(`el.tour.close`),class:F(Y(h).e(`closebtn`)),type:`button`,onClick:O},[J(Y(By),{class:F(Y(h).e(`close`))},{default:V(()=>[(N(),H(L(x.value)))]),_:1},8,[`class`])],10,KW)):G(`v-if`,!0),B(`header`,{class:F([Y(h).e(`header`),{"show-close":Y(f)}])},[I(t.$slots,`header`,{},()=>[B(`span`,{role:`heading`,class:F(Y(h).e(`title`))},S(e.title),3)])],2),B(`div`,{class:F(Y(h).e(`body`))},[I(t.$slots,`default`,{},()=>[B(`span`,null,S(e.description),1)])],2),B(`footer`,{class:F(Y(h).e(`footer`))},[B(`div`,{class:F(Y(h).b(`indicators`))},[Y(g).indicators?(N(),H(L(Y(g).indicators),{key:0,current:Y(c),total:Y(u)},null,8,[`current`,`total`])):(N(!0),W(R,{key:1},r(Y(u),(e,t)=>(N(),W(`span`,{key:e,class:F([Y(h).b(`indicator`),Y(h).is(`active`,t===Y(c))])},null,2))),128))],2),B(`div`,{class:F(Y(h).b(`buttons`))},[Y(c)>0?(N(),H(Y(xw),k({key:0,size:`small`,type:Y(m)},C(e.prevButtonProps),{onClick:w}),{default:V(()=>[Ke(S(e.prevButtonProps?.children??Y(o)(`el.tour.previous`)),1)]),_:1},16,[`type`])):G(`v-if`,!0),Y(c)<=Y(u)-1?(N(),H(Y(xw),k({key:1,size:`small`,type:Y(m)===`primary`?`default`:`primary`},C(e.nextButtonProps),{onClick:E}),{default:V(()=>[Ke(S(e.nextButtonProps?.children??(Y(c)===Y(u)-1?Y(o)(`el.tour.finish`):Y(o)(`el.tour.next`))),1)]),_:1},16,[`type`])):G(`v-if`,!0)],2)],2)],64))}}),JW=Pv(GW,{TourStep:qW}),YW=Lv(qW),XW=Q({container:{type:Z([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:Z(String),default:`default`},direction:{type:Z(String),default:`vertical`},selectScrollTop:Boolean}),ZW={change:e=>P(e),click:(e,t)=>e instanceof MouseEvent&&(P(t)||Ad(t))},QW=(e=>{if(!nf||e===``)return null;if(P(e))try{return document.querySelector(e)}catch{return null}return e});function $W(e){let t=0,n=(...n)=>{t&&Pp(t),t=Np(()=>{e(...n),t=0})};return n.cancel=()=>{Pp(t),t=0},n}var eG=Symbol(`anchor`),tG=z({name:`ElAnchor`,__name:`anchor`,props:XW,emits:ZW,setup(e,{expose:t,emit:n}){let r=e,i=n,a=le(),o=q(``),s=q({}),c=q(null),l=q(null),u=q(),f={},p=!1,h=0,g=$(`anchor`),_=K(()=>[g.b(),r.type===`underline`?g.m(`underline`):``,g.m(r.direction)]),v=e=>{f[e.href]=e.el},y=e=>{delete f[e]},b=e=>{o.value!==e&&(o.value=e,i(xr,e))},x=null,S=``,C=e=>{if(!u.value)return;let t=QW(e);if(!t)return;if(x){if(S===e)return;x()}S=e,p=!0;let n=Vp(t,u.value),i=EA(t,n),a=n.scrollHeight-n.clientHeight,o=Math.min(i-r.offset,a);x=Bp(u.value,h,o,r.duration,()=>{setTimeout(()=>{p=!1,S=``},20)})},w=e=>{e&&(b(e),C(e))},T=(e,t)=>{i(`click`,e,t),w(t)},E=$W(()=>{u.value&&(h=Hp(u.value));let e=D();p||Ad(e)||b(e)}),D=()=>{if(!u.value)return;let e=Hp(u.value),t=[];for(let e of Object.keys(f)){let n=QW(e);if(!n)continue;let i=EA(n,Vp(n,u.value));t.push({top:i-r.offset-r.bound,href:e})}t.sort((e,t)=>e.top-t.top);for(let n=0;ne))return i.href}},O=()=>{let e=QW(r.container);!e||Ld(e)?u.value=window:u.value=e};kf(u,`scroll`,E);let k=()=>{U(()=>{if(!c.value||!l.value||!o.value){s.value={};return}let e=f[o.value];if(!e){s.value={};return}let t=c.value.getBoundingClientRect(),n=l.value.getBoundingClientRect(),i=e.getBoundingClientRect();r.direction===`horizontal`?s.value={left:`${i.left-t.left}px`,width:`${i.width}px`,opacity:1}:s.value={top:`${i.top-t.top+(i.height-n.height)/2}px`,opacity:1}})};return M(o,k),M(()=>a.default?.(),k),d(()=>{O();let e=decodeURIComponent(window.location.hash);QW(e)?w(e):E()}),M(()=>r.container,()=>{O()}),Qe(eG,{ns:g,direction:r.direction,currentAnchor:o,addLink:v,removeLink:y,handleClick:T}),t({scrollTo:w}),(t,n)=>(N(),W(`div`,{ref_key:`anchorRef`,ref:c,class:F(_.value)},[e.marker?(N(),W(`div`,{key:0,ref_key:`markerRef`,ref:l,class:F(Y(g).e(`marker`)),style:m(s.value)},null,6)):G(`v-if`,!0),B(`div`,{class:F(Y(g).e(`list`))},[I(t.$slots,`default`)],2)],2))}}),nG=Q({title:String,href:String}),rG=[`href`],iG=z({name:`ElAnchorLink`,__name:`anchor-link`,props:nG,setup(e){let t=e,n=q(null),{ns:r,direction:i,currentAnchor:a,addLink:o,removeLink:s,handleClick:c}=l(eG),u=K(()=>[r.e(`link`),r.is(`active`,a.value===t.href)]),f=e=>{c(e,t.href)};return M(()=>t.href,(e,t)=>{U(()=>{t&&s(t),e&&o({href:e,el:n.value})})}),d(()=>{let{href:e}=t;e&&o({href:e,el:n.value})}),T(()=>{let{href:e}=t;e&&s(e)}),(t,a)=>(N(),W(`div`,{class:F(Y(r).e(`item`))},[B(`a`,{ref_key:`linkRef`,ref:n,class:F(u.value),href:e.href,onClick:f},[I(t.$slots,`default`,{},()=>[Ke(S(e.title),1)])],10,rG),t.$slots[`sub-link`]&&Y(i)===`vertical`?(N(),W(`div`,{key:0,class:F(Y(r).e(`list`))},[I(t.$slots,`sub-link`)],2)):G(`v-if`,!0)],2))}}),aG=Pv(tG,{AnchorLink:iG}),oG=Lv(iG),sG={label:`label`,value:`value`,disabled:`disabled`},cG=Q({direction:{type:Z(String),default:`horizontal`},options:{type:Z(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:Z(Object),default:()=>sG},block:Boolean,size:xv,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...Mv([`ariaLabel`])}),lG={[br]:e=>P(e)||Md(e)||jd(e),[xr]:e=>P(e)||Md(e)||jd(e)},uG=[`id`,`aria-label`,`aria-labelledby`],dG=[`name`,`disabled`,`checked`,`onChange`],fG=Pv(z({name:`ElSegmented`,__name:`segmented`,props:cG,emits:lG,setup(e,{emit:t}){let n=e,i=t,a=$(`segmented`),o=rg(),s=cb(),c=lb(),{formItem:l}=ub(),{inputId:u,isLabeledByFormItem:d}=db(n,{formItemContext:l}),f=q(null),p=If(),h=ve({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),g=(e,t)=>{let r=v(t);i(br,r),i(xr,r),e.target.checked=r===n.modelValue},_=K(()=>({...sG,...n.props})),v=e=>E(e)?e[_.value.value]:e,y=e=>E(e)?e[_.value.label]:e,b=e=>!!(c.value||E(e)&&e[_.value.disabled]),x=e=>n.modelValue===v(e),C=e=>n.options.find(t=>v(t)===e),w=e=>[a.e(`item`),a.is(`selected`,x(e)),a.is(`disabled`,b(e))],T=()=>{if(!f.value)return;let e=f.value.querySelector(`.is-selected`),t=f.value.querySelector(`.is-selected input`);if(!e||!t){h.width=0,h.height=0,h.translateX=0,h.translateY=0,h.focusVisible=!1;return}h.isInit=!0,n.direction===`vertical`?(h.height=e.offsetHeight,h.translateY=e.offsetTop):(h.width=e.offsetWidth,h.translateX=e.offsetLeft);try{h.focusVisible=t.matches(`:focus-visible`)}catch{}},D=K(()=>[a.b(),a.m(s.value),a.is(`block`,n.block)]),O=K(()=>({width:n.direction===`vertical`?`100%`:`${h.width}px`,height:n.direction===`vertical`?`${h.height}px`:`100%`,transform:n.direction===`vertical`?`translateY(${h.translateY}px)`:`translateX(${h.translateX}px)`,display:h.isInit?`block`:`none`})),k=K(()=>[a.e(`item-selected`),a.is(`disabled`,b(C(n.modelValue))),a.is(`focus-visible`,h.focusVisible)]),A=K(()=>n.name||o.value);return Uf(f,T),M(p,T),M(()=>n.options,T,{deep:!0,flush:`post`}),M(()=>n.modelValue,()=>{T(),n.validateEvent&&l?.validate?.(`change`).catch(ge)},{flush:`post`}),(t,n)=>e.options.length?(N(),W(`div`,{key:0,id:Y(u),ref_key:`segmentedRef`,ref:f,class:F(D.value),role:`radiogroup`,"aria-label":Y(d)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":Y(d)?Y(l).labelId:void 0},[B(`div`,{class:F([Y(a).e(`group`),Y(a).m(e.direction)])},[B(`div`,{style:m(O.value),class:F(k.value)},null,6),(N(!0),W(R,null,r(e.options,(e,n)=>(N(),W(`label`,{key:n,class:F(w(e))},[B(`input`,{class:F(Y(a).e(`item-input`)),type:`radio`,name:A.value,disabled:b(e),checked:x(e),onChange:t=>g(t,e)},null,42,dG),B(`div`,{class:F(Y(a).e(`item-label`))},[I(t.$slots,`default`,{item:e},()=>[Ke(S(y(e)),1)])],2)],2))),128))],2)],10,uG)):G(`v-if`,!0)}})),pG=(e,t)=>{let n=e.toLowerCase();return(t.label||t.value||``).toLowerCase().includes(n)},mG=(e,t,n)=>{let{selectionEnd:r}=e;if(r===null)return;let i=e.value,a=Cs(t),o=-1,s;for(let e=r-1;e>=0;--e){let t=i[e];if(o===-1&&(t===n||t===` +`||t===`\r`)){o=e;continue}if(a.includes(t)){let n=o===-1?r:o;s={pattern:i.slice(e+1,n),start:e+1,end:n,prefix:t,prefixIndex:e,splitIndex:o,selectionEnd:r};break}}return s},hG=(e,t={debug:!1,useSelectionEnd:!1})=>{let n=e.selectionStart===null?0:e.selectionStart,r=e.selectionEnd===null?0:e.selectionEnd,i=t.useSelectionEnd?r:n,a=`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`.split(`.`);if(t.debug){let e=document.querySelector(`#input-textarea-caret-position-mirror-div`);e?.parentNode&&e.parentNode.removeChild(e)}let o=document.createElement(`div`);o.id=`input-textarea-caret-position-mirror-div`,document.body.appendChild(o);let s=o.style,c=window.getComputedStyle(e),l=e.nodeName===`INPUT`;s.whiteSpace=l?`nowrap`:`pre-wrap`,l||(s.wordWrap=`break-word`),s.position=`absolute`,t.debug||(s.visibility=`hidden`),a.forEach(e=>{if(l&&e===`lineHeight`)if(c.boxSizing===`border-box`){let e=Number.parseInt(c.height),t=Number.parseInt(c.paddingTop)+Number.parseInt(c.paddingBottom)+Number.parseInt(c.borderTopWidth)+Number.parseInt(c.borderBottomWidth),n=t+Number.parseInt(c.lineHeight);e>n?s.lineHeight=`${e-t}px`:e===n?s.lineHeight=c.lineHeight:s.lineHeight=`0`}else s.lineHeight=c.height;else s[e]=c[e]}),lp()?e.scrollHeight>Number.parseInt(c.height)&&(s.overflowY=`scroll`):s.overflow=`hidden`,o.textContent=e.value.slice(0,Math.max(0,i)),l&&o.textContent&&(o.textContent=o.textContent.replace(/\s/g,`\xA0`));let u=document.createElement(`span`);u.textContent=e.value.slice(Math.max(0,i))||`.`,u.style.position=`relative`,u.style.left=`${-e.scrollLeft}px`,u.style.top=`${-e.scrollTop}px`,o.appendChild(u);let d={top:u.offsetTop+Number.parseInt(c.borderTopWidth),left:u.offsetLeft+Number.parseInt(c.borderLeftWidth),height:Number.parseInt(c.fontSize)*1.5};return t.debug?u.style.backgroundColor=`#aaa`:document.body.removeChild(o),d.left>=e.clientWidth&&(d.left=e.clientWidth),d},gG=Q({...OS,options:{type:Z(Array),default:()=>[]},prefix:{type:Z([String,Array]),default:`@`,validator:e=>P(e)?e.length===1:e.every(e=>P(e)&&e.length===1)},split:{type:String,default:` `,validator:e=>e.length===1},filterOption:{type:Z([Boolean,Function]),default:()=>pG,validator:e=>e===!1?!0:n(e)},placement:{type:Z(String),default:`bottom`},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:Z(Function)},modelValue:String,loading:Boolean,popperClass:fS.popperClass,popperStyle:fS.popperStyle,popperOptions:{type:Z(Object),default:()=>({})},props:{type:Z(Object),default:()=>vG}}),_G={[br]:e=>P(e),"whole-remove":(e,t)=>P(e)&&P(t),input:e=>P(e),search:(e,t)=>P(e)&&P(t),select:(e,t)=>E(e)&&P(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},vG={value:`value`,label:`label`,disabled:`disabled`},yG=Q({options:{type:Z(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),bG={select:e=>P(e.value)},xG=[`id`,`aria-disabled`,`aria-selected`,`onMousemove`,`onClick`],SG=z({name:`ElMentionDropdown`,__name:`mention-dropdown`,props:yG,emits:bG,setup(e,{expose:t,emit:n}){let i=e,a=n,o=$(`mention`),{t:s}=Dp(),c=q(-1),l=q(),u=q(),d=q(),f=(e,t)=>[o.be(`dropdown`,`item`),o.is(`hovering`,c.value===t),o.is(`disabled`,e.disabled||i.disabled)],p=e=>{e.disabled||i.disabled||a(`select`,e)},m=e=>{c.value=e},h=K(()=>i.disabled||i.options.every(e=>e.disabled)),g=K(()=>i.options[c.value]),_=()=>{!g.value||g.value.disabled||i.disabled||a(`select`,g.value)},v=e=>{let{options:t}=i;if(t.length===0||h.value)return;e===`next`?(c.value++,c.value===t.length&&(c.value=0)):e===`prev`&&(c.value--,c.value<0&&(c.value=t.length-1));let n=t[c.value];if(n.disabled){v(e);return}U(()=>y(n))},y=e=>{let{options:t}=i,n=t.findIndex(t=>t.value===e.value),r=u.value?.[n];if(r){let e=d.value?.querySelector?.(`.${o.be(`dropdown`,`wrap`)}`);e&&zp(e,r)}l.value?.handleScroll()};return M(()=>i.options,()=>{h.value||i.options.length===0?c.value=-1:c.value=i.options.findIndex(e=>!e.disabled)},{immediate:!0}),t({hoveringIndex:c,navigateOptions:v,selectHoverOption:_,hoverOption:g}),(t,n)=>(N(),W(`div`,{ref_key:`dropdownRef`,ref:d,class:F(Y(o).b(`dropdown`))},[t.$slots.header?(N(),W(`div`,{key:0,class:F(Y(o).be(`dropdown`,`header`))},[I(t.$slots,`header`)],2)):G(`v-if`,!0),Ge(J(Y(tC),{id:e.contentId,ref_key:`scrollbarRef`,ref:l,tag:`ul`,"wrap-class":Y(o).be(`dropdown`,`wrap`),"view-class":Y(o).be(`dropdown`,`list`),role:`listbox`,"aria-label":e.ariaLabel,"aria-orientation":`vertical`},{default:V(()=>[(N(!0),W(R,null,r(e.options,(n,r)=>(N(),W(`li`,{id:`${e.contentId}-${r}`,ref_for:!0,ref_key:`optionRefs`,ref:u,key:r,class:F(f(n,r)),role:`option`,"aria-disabled":n.disabled||e.disabled||void 0,"aria-selected":c.value===r,onMousemove:e=>m(r),onClick:kn(e=>p(n),[`stop`])},[I(t.$slots,`label`,{item:n,index:r},()=>[B(`span`,null,S(n.label??n.value),1)])],42,xG))),128))]),_:3},8,[`id`,`wrap-class`,`view-class`,`aria-label`]),[[jt,e.options.length>0&&!e.loading]]),e.loading?(N(),W(`div`,{key:1,class:F(Y(o).be(`dropdown`,`loading`))},[I(t.$slots,`loading`,{},()=>[Ke(S(Y(s)(`el.mention.loading`)),1)])],2)):G(`v-if`,!0),t.$slots.footer?(N(),W(`div`,{key:2,class:F(Y(o).be(`dropdown`,`footer`))},[I(t.$slots,`footer`)],2)):G(`v-if`,!0)],2))}}),CG=Pv(z({name:`ElMention`,inheritAttrs:!1,__name:`mention`,props:gG,emits:_G,setup(e,{expose:t,emit:i}){let o=e,s=i,c=K(()=>{let e=zS.props??[];return Sd(o,A(e)?e:Object.keys(e))}),l=$(`mention`),u=lb(),d=rg(),f=q(),p=q(),h=q(),g=q(!1),_=q(),v=q(),y=K(()=>o.showArrow?o.placement:`${o.placement}-start`),b=K(()=>o.showArrow?[`bottom`,`top`]:[`bottom-start`,`top-start`]),x=K(()=>({...vG,...o.props})),S=e=>{let t={label:e[x.value.label],value:e[x.value.value],disabled:e[x.value.disabled]};return{...e,...t}},C=K(()=>o.options.map(S)),w=K(()=>{let{filterOption:e}=o;return!v.value||!e?C.value:C.value.filter(t=>e(v.value.pattern,t))}),T=K(()=>g.value&&(!!w.value.length||o.loading)),E=K(()=>`${d.value}-${h.value?.hoveringIndex}`),D=e=>{s(br,e),s(Sr,e),ne()},O=e=>{if(f.value?.isComposing)return;let t=Kp(e);switch(t){case X.left:case X.right:ne();break;case X.up:case X.down:if(!g.value)return;e.preventDefault(),h.value?.navigateOptions(t===X.up?`prev`:`next`);break;case X.enter:case X.numpadEnter:if(!g.value){o.type!==`textarea`&&ne();return}e.preventDefault(),h.value?.hoverOption?h.value?.selectHoverOption():g.value=!1;break;case X.esc:if(!g.value)return;e.preventDefault(),g.value=!1;break;case X.backspace:if(o.whole&&v.value){let{splitIndex:t,selectionEnd:r,pattern:i,prefixIndex:a,prefix:c}=v.value,l=te();if(!l)return;let u=l.value,d=C.value.find(e=>e.value===i);if((n(o.checkIsWhole)?o.checkIsWhole(i,c):d)&&t!==-1&&t+1===r){e.preventDefault();let n=u.slice(0,a)+u.slice(t+1);s(br,n),s(Sr,n),s(`whole-remove`,i,c);let r=a;U(()=>{l.selectionStart=r,l.selectionEnd=r,ie()})}}}},{wrapperRef:ee}=wv(f,{disabled:u,afterFocus(){ne()},beforeBlur(e){return p.value?.isFocusInsideContent(e)},afterBlur(){g.value=!1}}),j=()=>{ne()},M=e=>o.options.find(t=>e.value===t[x.value.value]),P=e=>{if(!v.value)return;let t=te();if(!t)return;let n=t.value,{split:r}=o,i=n.slice(v.value.end),a=i.startsWith(r),c=`${e.value}${a?``:r}`,l=n.slice(0,v.value.start)+c+i;s(br,l),s(Sr,l),s(`select`,M(e),v.value.prefix);let u=v.value.start+c.length+ +!!a;U(()=>{t.selectionStart=u,t.selectionEnd=u,t.focus(),ie()})},te=()=>o.type===`textarea`?f.value?.textarea:f.value?.input,ne=()=>{setTimeout(()=>{re(),ie(),U(()=>p.value?.updatePopper())},0)},re=()=>{let e=te();if(!e)return;let t=hG(e),n=e.getBoundingClientRect(),r=ee.value.getBoundingClientRect();_.value={position:`absolute`,width:0,height:`${t.height}px`,left:`${t.left+n.left-r.left}px`,top:`${t.top+n.top-r.top}px`}},ie=()=>{let e=te();if(document.activeElement!==e){g.value=!1;return}let{prefix:t,split:n}=o;if(v.value=mG(e,t,n),v.value&&v.value.splitIndex===-1){g.value=!0,s(`search`,v.value.pattern,v.value.prefix);return}g.value=!1};return t({input:f,tooltip:p,dropdownVisible:T}),(t,n)=>(N(),W(`div`,{ref_key:`wrapperRef`,ref:ee,class:F(Y(l).b())},[J(Y(zS),k(k(c.value,t.$attrs),{ref_key:`elInputRef`,ref:f,"model-value":e.modelValue,disabled:Y(u),role:T.value?`combobox`:void 0,"aria-activedescendant":T.value?E.value||``:void 0,"aria-controls":T.value?Y(d):void 0,"aria-expanded":T.value||void 0,"aria-label":e.ariaLabel,"aria-autocomplete":T.value?`none`:void 0,"aria-haspopup":T.value?`listbox`:void 0,onInput:D,onKeydown:O,onMousedown:j}),xe({_:2},[r(t.$slots,(e,n)=>({name:n,fn:V(e=>[I(t.$slots,n,se(a(e)))])}))]),1040,[`model-value`,`disabled`,`role`,`aria-activedescendant`,`aria-controls`,`aria-expanded`,`aria-label`,`aria-autocomplete`,`aria-haspopup`]),J(Y(ES),{ref_key:`tooltipRef`,ref:p,visible:T.value,"popper-class":[Y(l).e(`popper`),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,placement:y.value,"fallback-placements":b.value,effect:`light`,pure:``,offset:e.offset,"show-arrow":e.showArrow},{default:V(()=>[B(`div`,{style:m(_.value)},null,4)]),content:V(()=>[J(SG,{ref_key:`dropdownRef`,ref:h,options:w.value,disabled:Y(u),loading:e.loading,"content-id":Y(d),"aria-label":e.ariaLabel,onSelect:P,onClick:n[0]||=kn(e=>f.value?.focus(),[`stop`])},xe({_:2},[r(t.$slots,(e,n)=>({name:n,fn:V(e=>[I(t.$slots,n,se(a(e)))])}))]),1032,[`options`,`disabled`,`loading`,`content-id`,`aria-label`])]),_:3},8,[`visible`,`popper-class`,`popper-style`,`popper-options`,`placement`,`fallback-placements`,`offset`,`show-arrow`])],2))}})),wG=Q({layout:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},lazy:Boolean}),TG={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},EG=Q({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),DG={"update:size":e=>typeof e==`number`||typeof e==`string`};function OG(e){let t=q(),{width:n,height:r}=Gf(t);return{containerEl:t,containerSize:K(()=>e.value===`horizontal`?n.value:r.value)}}function kG(e){return Number(e.slice(0,-1))/100}function AG(e){return Number(e.slice(0,-2))}function jG(e){return P(e)&&e.endsWith(`%`)}function MG(e){return P(e)&&e.endsWith(`px`)}function NG(e,t){let n=K(()=>e.value.map(e=>e.size)),r=K(()=>e.value.length),i=q([]);M([n,r,t],()=>{let n=[],a=0;for(let i=0;ie+(t||0),0);if(o>1||!a){let e=1/o;n=n.map(t=>t===void 0?0:t*e)}else{let e=(1-o)/a;n=n.map(t=>t===void 0?e:t)}i.value=n});let a=e=>e*t.value;return{percentSizes:i,pxSizes:K(()=>i.value.map(a))}}function PG(e,t,n,r){let i=e=>e*t.value||0;function a(e,t){return jG(e)?i(kG(e)):MG(e)?AG(e):e??t}let o=q(0),s=q(null),c=[],l=ge,u=K(()=>e.value.map(e=>[e.min,e.max]));M(r,()=>{if(o.value){let e=new MouseEvent(`mouseup`,{bubbles:!0});window.dispatchEvent(e)}});let d=e=>{o.value=0,s.value={index:e,confirmed:!1},c=n.value},f=(n,i)=>{let d=null;if((!s.value||!s.value.confirmed)&&i!==0){if(i>0)d=n,s.value={index:n,confirmed:!0};else for(let e=n;e>=0;--e)if(c[e]>0){d=e,s.value={index:e,confirmed:!0};break}}let f=d??s.value?.index??n,p=[...c],m=f+1,h=a(u.value[f][0],0),g=a(u.value[m][0],0),_=a(u.value[f][1],t.value||0),v=a(u.value[m][1],t.value||0),y=i;p[f]+y_&&(y=_-p[f]),p[m]-y>v&&(y=p[m]-v),p[f]+=y,p[m]-=y,o.value=y,l=()=>{e.value.forEach((e,t)=>{e.size=p[t]}),l=ge},r.value||l()},p=()=>{r.value&&l(),o.value=0,s.value=null,c=[]},m=[];return{lazyOffset:o,onMoveStart:d,onMoving:f,onMoveEnd:p,movingIndex:s,onCollapse:(t,r)=>{m.length||m.push(...n.value.map((e,t)=>e<=0?a(u.value[t]?.[0],0):e));let i=n.value,o=r===`start`?t:t+1,s=r===`start`?t+1:t,c=i[o],l=i[s];if(c!==0&&l!==0)i[o]=0,i[s]+=c,m[t]=c;else{let e=c+l,n=Ts(m[t],0,e),r=e-n;i[s]=n,i[o]=r}e.value.forEach((e,t)=>{e.size=i[t]})}}}var FG=Symbol(`splitterRootContextKey`),IG=z({name:`ElSplitter`,__name:`splitter`,props:wG,emits:TG,setup(e,{emit:t}){let n=$(`splitter`),r=t,i=e,a=we(i,`layout`),o=we(i,`lazy`),{containerEl:s,containerSize:c}=OG(a),{removeChild:l,children:u,addChild:d,ChildrenSorter:f}=bv(Xe(),`ElSplitterPanel`);M(u,()=>{_.value=null,u.value.forEach((e,t)=>{e.setIndex(t)})});let{percentSizes:p,pxSizes:h}=NG(u,c),{lazyOffset:g,movingIndex:_,onMoveStart:v,onMoving:y,onMoveEnd:b,onCollapse:x}=PG(u,c,h,o),S=K(()=>({[n.cssVarBlockName(`bar-offset`)]:o.value?`${g.value}px`:void 0}));return Qe(FG,ve({panels:u,percentSizes:p,pxSizes:h,layout:a,lazy:o,movingIndex:_,containerSize:c,onMoveStart:e=>{v(e),r(`resizeStart`,e,h.value)},onMoving:(e,t)=>{y(e,t),o.value||r(`resize`,e,h.value)},onMoveEnd:async e=>{b(),await U(),r(`resizeEnd`,e,h.value)},onCollapse:(e,t)=>{x(e,t),r(`collapse`,e,t,h.value)},registerPanel:d,unregisterPanel:l})),(e,t)=>(N(),W(`div`,{ref_key:`containerEl`,ref:s,class:F([Y(n).b(),Y(n).e(a.value)]),style:m(S.value)},[I(e.$slots,`default`),J(Y(f)),G(` Prevent iframe touch events from breaking `),Y(_)?(N(),W(`div`,{key:0,class:F([Y(n).e(`mask`),Y(n).e(`mask-${a.value}`)])},null,2)):G(`v-if`,!0)],6))}});function LG(e){return e&&E(e)?e:{start:!!e,end:!!e}}function RG(e,t,n,r){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&r===0&&t>0)}var zG=z({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}){let n=$(`splitter-bar`),r=e,i=t,a=K(()=>r.layout===`horizontal`),o=K(()=>a.value?{width:0}:{height:0}),s=K(()=>({width:a.value?`16px`:`100%`,height:a.value?`100%`:`16px`,cursor:r.resizable?a.value?`ew-resize`:`ns-resize`:`auto`,touchAction:`none`})),c=K(()=>{let e=n.e(`dragger`);return{[`${e}-horizontal`]:a.value,[`${e}-vertical`]:!a.value,[`${e}-active`]:!!l.value}}),l=q(null),u=e=>{r.resizable&&(l.value=[e.pageX,e.pageY],i(`moveStart`,r.index),window.addEventListener(`mouseup`,h),window.addEventListener(`mousemove`,f))},d=e=>{if(r.resizable&&e.touches.length===1){e.preventDefault();let t=e.touches[0];l.value=[t.pageX,t.pageY],i(`moveStart`,r.index),window.addEventListener(`touchend`,g),window.addEventListener(`touchmove`,p)}},f=e=>{let{pageX:t,pageY:n}=e,o=t-l.value[0],s=n-l.value[1],c=a.value?o:s;i(`moving`,r.index,c)},p=e=>{if(e.touches.length===1){e.preventDefault();let t=e.touches[0],n=t.pageX-l.value[0],o=t.pageY-l.value[1],s=a.value?n:o;i(`moving`,r.index,s)}},h=()=>{l.value=null,window.removeEventListener(`mouseup`,h),window.removeEventListener(`mousemove`,f),i(`moveEnd`,r.index)},g=()=>{l.value=null,window.removeEventListener(`touchend`,g),window.removeEventListener(`touchmove`,p),i(`moveEnd`,r.index)},_=K(()=>a.value?Vv:Uv),v=K(()=>a.value?Hv:Bv);return(t,r)=>(N(),W(`div`,{class:F([Y(n).b()]),style:m(o.value)},[e.startCollapsible?(N(),W(`div`,{key:0,class:F([Y(n).e(`collapse-icon`),Y(n).e(`${e.layout}-collapse-icon-start`)]),onClick:r[0]||=t=>i(`collapse`,e.index,`start`)},[I(t.$slots,`start-collapsible`,{},()=>[(N(),H(L(_.value),{style:{width:`12px`,height:`12px`}}))])],2)):G(`v-if`,!0),B(`div`,{class:F([Y(n).e(`dragger`),c.value,Y(n).is(`disabled`,!e.resizable),Y(n).is(`lazy`,e.resizable&&e.lazy)]),style:m(s.value),onMousedown:u,onTouchstart:d},null,38),e.endCollapsible?(N(),W(`div`,{key:1,class:F([Y(n).e(`collapse-icon`),Y(n).e(`${e.layout}-collapse-icon-end`)]),onClick:r[1]||=t=>i(`collapse`,e.index,`end`)},[I(t.$slots,`end-collapsible`,{},()=>[(N(),H(L(v.value),{style:{width:`12px`,height:`12px`}}))])],2)):G(`v-if`,!0)],6))}}),BG=`ElSplitterPanel`,VG=z({name:BG,__name:`split-panel`,props:EG,emits:DG,setup(e,{expose:t,emit:n}){let r=$(`splitter-panel`),i=e,a=n,o=l(FG);o||qd(BG,`usage: `);let{panels:s,layout:c,lazy:u,containerSize:d,pxSizes:f}=Se(o),{registerPanel:p,unregisterPanel:m,onCollapse:h,onMoveEnd:g,onMoveStart:_,onMoving:v}=o,y=q(),b=Xe(),x=b.uid,S=q(0),C=K(()=>s.value[S.value]),w=e=>{S.value=e},E=K(()=>C.value?f.value[S.value]??0:0),D=K(()=>C.value?f.value[S.value+1]??0:0),O=K(()=>C.value?s.value[S.value+1]:null),A=K(()=>O.value?i.resizable&&O.value?.resizable&&(E.value!==0||!i.min)&&(D.value!==0||!O.value.min):!1),ee=K(()=>C.value?S.value!==s.value.length-1:!1),j=K(()=>RG(C.value,E.value,O.value,D.value)),P=K(()=>RG(O.value,D.value,C.value,E.value));function te(e){return jG(e)?kG(e)*d.value||0:MG(e)?AG(e):e??0}let ne=!1;M(()=>i.size,()=>{if(!ne&&C.value){if(!d.value){C.value.size=i.size;return}let e=te(i.size),t=te(i.max),n=te(i.min),r=Math.min(Math.max(e,n||0),t||e);r!==e&&a(`update:size`,r),C.value.size=r}}),M(()=>C.value?.size,e=>{e!==i.size&&(ne=!0,a(`update:size`,e),U(()=>ne=!1))}),M(()=>i.resizable,e=>{C.value&&(C.value.resizable=e)});let re=ve({uid:x,getVnode:()=>b.vnode,setIndex:w,...i,collapsible:K(()=>LG(i.collapsible))});return p(re),T(()=>m(re)),t({splitterPanelRef:y}),(e,t)=>(N(),W(R,null,[B(`div`,k({ref_key:`panelEl`,ref:y,class:[Y(r).b()],style:{flexBasis:`${E.value}px`}},e.$attrs),[I(e.$slots,`default`)],16),ee.value?(N(),H(zG,{key:0,index:S.value,layout:Y(c),lazy:Y(u),resizable:A.value,"start-collapsible":j.value,"end-collapsible":P.value,onMoveStart:Y(_),onMoving:Y(v),onMoveEnd:Y(g),onCollapse:Y(h)},{"start-collapsible":V(()=>[I(e.$slots,`start-collapsible`)]),"end-collapsible":V(()=>[I(e.$slots,`end-collapsible`)]),_:3},8,[`index`,`layout`,`lazy`,`resizable`,`start-collapsible`,`end-collapsible`,`onMoveStart`,`onMoving`,`onMoveEnd`,`onCollapse`])):G(`v-if`,!0)],64))}}),HG=Pv(IG,{SplitPanel:VG}),UG=Lv(VG),WG=`ElInfiniteScroll`,GG={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},KG=(e,t)=>Object.entries(GG).reduce((n,[r,i])=>{let{type:a,default:o}=i,s=e.getAttribute(`infinite-scroll-${r}`),c=t[s]??s??o;return c=c===`false`?!1:c,c=a(c),n[r]=Number.isNaN(c)?o:c,n},{}),qG=e=>{let{observer:t}=e[WG];t&&(t.disconnect(),delete e[WG].observer)},JG=(e,t)=>{let{container:n,containerEl:r,instance:i,observer:a,lastScrollTop:o}=e[WG],{disabled:s,distance:c}=KG(e,i),{clientHeight:l,scrollHeight:u,scrollTop:d}=r,f=d-o;if(e[WG].lastScrollTop=d,a||s||f<0)return;let p=!1;if(n===e)p=u-(l+d)<=c;else{let{clientTop:t,scrollHeight:n}=e,i=EA(e,r);p=d+l>=i+t+n-c}p&&t.call(i)};function YG(e,t){let{containerEl:n,instance:r}=e[WG],{disabled:i}=KG(e,r);i||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(r):qG(e))}var XG={async mounted(e,t){let{instance:r,value:i}=t;Zf({scope:WG,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),n(i)||qd(WG,`'v-infinite-scroll' binding value must be a function`),await U();let{delay:a,immediate:o}=KG(e,r),s=Ip(e,!0),c=s===window?document.documentElement:s,l=Td(JG.bind(null,e,i),a);if(s){if(e[WG]={instance:r,container:s,containerEl:c,delay:a,cb:i,onScroll:l,lastScrollTop:c.scrollTop},o){let t=new MutationObserver(Td(YG.bind(null,e,i),50));e[WG].observer=t,t.observe(e,{childList:!0,subtree:!0}),YG(e,i)}s.addEventListener(`scroll`,l)}},unmounted(e){if(!e.ElInfiniteScroll)return;let{container:t,onScroll:n}=e[WG];t?.removeEventListener(`scroll`,n),qG(e)},async updated(e){if(!e.ElInfiniteScroll)await U();else{let{containerEl:t,cb:n,observer:r}=e[WG];t.clientHeight&&r&&YG(e,n)}}};XG.install=e=>{e.directive(`InfiniteScroll`,XG)};var ZG=XG;function QG(e,t){let n,r=q(!1),i=ve({...e,originalPosition:``,originalOverflow:``,visible:!1});function a(e){i.text=e}function o(){let e=i.parent,t=d.ns;if(!e.vLoadingAddClassList){let n=e.getAttribute(`loading-number`);n=Number.parseInt(n)-1,n?e.setAttribute(`loading-number`,n.toString()):(_p(e,t.bm(`parent`,`relative`)),e.removeAttribute(`loading-number`)),_p(e,t.bm(`parent`,`hidden`))}s(),u.unmount()}function s(){d.$el?.parentNode?.removeChild(d.$el)}function c(){e.beforeClose&&!e.beforeClose()||(r.value=!0,clearTimeout(n),n=setTimeout(l,400),i.visible=!1,e.closed?.())}function l(){if(!r.value)return;let e=i.parent;r.value=!1,e.vLoadingAddClassList=void 0,o()}let u=In(z({name:`ElLoading`,setup(e,{expose:t}){let{ns:n,zIndex:r}=IC(`loading`);return t({ns:n,zIndex:r}),()=>{let e=i.spinner||i.svg,t=Je(`svg`,{class:`circular`,viewBox:i.svgViewBox?i.svgViewBox:`0 0 50 50`,...e?{innerHTML:e}:{}},[Je(`circle`,{class:`path`,cx:`25`,cy:`25`,r:`20`,fill:`none`})]),r=i.text?Je(`p`,{class:n.b(`text`)},[i.text]):void 0;return Je(pt,{name:n.b(`fade`),onAfterLeave:l},{default:V(()=>[Ge(J(`div`,{style:{backgroundColor:i.background||``},class:[n.b(`mask`),i.customClass,n.is(`fullscreen`,i.fullscreen)]},[Je(`div`,{class:n.b(`spinner`)},[t,r])]),[[jt,i.visible]])])})}}}));Object.assign(u._context,t??{});let d=u.mount(document.createElement(`div`));return{...Se(i),setText:a,removeElLoadingChild:s,close:c,handleAfterLeave:l,vm:d,get $el(){return d.$el}}}var $G=void 0,eK=function(e={},t){if(!nf)return;let n=tK(e);if(n.fullscreen&&$G)return $G;let r=QG({...n,closed:()=>{n.closed?.(),n.fullscreen&&($G=void 0)}},t??eK._context);nK(n,n.parent,r),rK(n,n.parent,r),n.parent.vLoadingAddClassList=()=>rK(n,n.parent,r);let i=n.parent.getAttribute(`loading-number`);return i=i?`${Number.parseInt(i)+1}`:`1`,n.parent.setAttribute(`loading-number`,i),n.parent.appendChild(r.$el),U(()=>r.visible.value=n.visible),n.fullscreen&&($G=r),r},tK=e=>{let t;return t=P(e.target)?document.querySelector(e.target)??document.body: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}},nK=async(e,t,n)=>{let{nextZIndex:r}=n.vm.zIndex||n.vm._.exposed.zIndex,i={};if(e.fullscreen)n.originalPosition.value=vp(document.body,`position`),n.originalOverflow.value=vp(document.body,`overflow`),i.zIndex=r();else if(e.parent===document.body){n.originalPosition.value=vp(document.body,`position`),await U();for(let t of[`top`,`left`]){let n=t===`top`?`scrollTop`:`scrollLeft`;i[t]=`${e.target.getBoundingClientRect()[t]+document.body[n]+document.documentElement[n]-Number.parseInt(vp(document.body,`margin-${t}`),10)}px`}for(let t of[`height`,`width`])i[t]=`${e.target.getBoundingClientRect()[t]}px`}else n.originalPosition.value=vp(t,`position`);for(let[e,t]of Object.entries(i))n.$el.style[e]=t},rK=(e,t,n)=>{let r=n.vm.ns||n.vm._.exposed.ns;[`absolute`,`fixed`,`sticky`].includes(n.originalPosition.value)?_p(t,r.bm(`parent`,`relative`)):gp(t,r.bm(`parent`,`relative`)),e.fullscreen&&e.lock?gp(t,r.bm(`parent`,`hidden`)):_p(t,r.bm(`parent`,`hidden`))};eK._context=null;var iK=Symbol(`ElLoading`),aK=e=>`element-loading-${ie(e)}`,oK=(e,t)=>{let n=t.instance,r=e=>E(t.value)?t.value[e]:void 0,i=e=>q(P(e)&&n?.[e]||e),a=t=>i(r(t)||e.getAttribute(aK(t))),o=r(`fullscreen`)??t.modifiers.fullscreen,s={text:a(`text`),svg:a(`svg`),svgViewBox:a(`svgViewBox`),spinner:a(`spinner`),background:a(`background`),customClass:a(`customClass`),fullscreen:o,target:r(`target`)??(o?void 0:e),body:r(`body`)??t.modifiers.body,lock:r(`lock`)??t.modifiers.lock},c=eK(s);c._context=cK._context,e[iK]={options:s,instance:c}},sK=(e,t)=>{for(let n of Object.keys(e))he(e[n])&&(e[n].value=t[n])},cK={mounted(e,t){t.value&&oK(e,t)},updated(e,t){let n=e[iK];if(!t.value){n?.instance.close(),e[iK]=null;return}n?sK(n.options,E(t.value)?t.value:{text:e.getAttribute(aK(`text`)),svg:e.getAttribute(aK(`svg`)),svgViewBox:e.getAttribute(aK(`svgViewBox`)),spinner:e.getAttribute(aK(`spinner`)),background:e.getAttribute(aK(`background`)),customClass:e.getAttribute(aK(`customClass`))}):oK(e,t)},unmounted(e){e[iK]?.instance.close(),e[iK]=null}};cK._context=null;var lK={install(e){eK._context=e._context,cK._context=e._context,e.directive(`loading`,cK),e.config.globalProperties.$loading=eK},directive:cK,service:eK},uK=[`primary`,`success`,`info`,`warning`,`error`],dK=[`top`,`top-left`,`top-right`,`bottom`,`bottom-left`,`bottom-right`],fK=DS({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:nf?document.body:void 0}),pK=Q({customClass:{type:String,default:fK.customClass},dangerouslyUseHTMLString:{type:Boolean,default:fK.dangerouslyUseHTMLString},duration:{type:Number,default:fK.duration},icon:{type:Ny,default:fK.icon},id:{type:String,default:fK.id},message:{type:Z([String,Object,Function]),default:fK.message},onClose:{type:Z(Function),default:fK.onClose},showClose:{type:Boolean,default:fK.showClose},type:{type:String,values:uK,default:fK.type},plain:{type:Boolean,default:fK.plain},offset:{type:Number,default:fK.offset},placement:{type:String,values:dK,default:fK.placement},zIndex:{type:Number,default:fK.zIndex},grouping:{type:Boolean,default:fK.grouping},repeatNum:{type:Number,default:fK.repeatNum}}),mK={destroy:()=>!0},hK=ye({}),gK=e=>(hK[e]||(hK[e]=ye([])),hK[e]),_K=(e,t)=>{let n=hK[t]||[],r=n.findIndex(t=>t.id===e),i=n[r],a;return r>0&&(a=n[r-1]),{current:i,prev:a}},vK=(e,t)=>{let{prev:n}=_K(e,t);return n?n.vm.exposed.bottom.value:0},yK=(e,t,n)=>(hK[n]||[]).findIndex(t=>t.id===e)>0?16:t,bK=[`id`],xK=[`innerHTML`],SK=z({name:`ElMessage`,__name:`message`,props:pK,emits:mK,setup(e,{expose:t,emit:n}){let{Close:r}=Fy,i=e,a=n,o=q(!1),{ns:s,zIndex:c}=IC(`message`),{currentZIndex:l,nextZIndex:u}=c,f=q(),p=q(!1),h=q(0),g,_=K(()=>i.type?i.type===`error`?`danger`:i.type:`info`),v=K(()=>{let e=i.type;return{[s.bm(`icon`,e)]:e&&Iy[e]}}),y=K(()=>i.icon||Iy[i.type]||``),b=K(()=>i.placement||`top`),x=K(()=>vK(i.id,b.value)),C=K(()=>Math.max(yK(i.id,i.offset,b.value)+x.value,i.offset)),w=K(()=>h.value+C.value),T=K(()=>b.value.includes(`left`)?s.is(`left`):b.value.includes(`right`)?s.is(`right`):s.is(`center`)),E=K(()=>b.value.startsWith(`top`)?`top`:`bottom`),D=K(()=>({[E.value]:`${C.value}px`,zIndex:l.value}));function O(){i.duration!==0&&({stop:g}=wf(()=>{A()},i.duration))}function k(){g?.()}function A(){p.value=!1,U(()=>{o.value||(i.onClose?.(),a(`destroy`))})}function ee(e){Kp(e)===X.esc&&A()}return d(()=>{O(),u(),p.value=!0}),M(()=>i.repeatNum,()=>{k(),O()}),kf(document,`keydown`,ee),Uf(f,()=>{h.value=f.value.getBoundingClientRect().height}),t({visible:p,bottom:w,close:A}),(t,n)=>(N(),H(pt,{name:Y(s).b(`fade`),onBeforeEnter:n[0]||=e=>o.value=!0,onBeforeLeave:e.onClose,onAfterLeave:n[1]||=e=>t.$emit(`destroy`),persisted:``},{default:V(()=>[Ge(B(`div`,{id:e.id,ref_key:`messageRef`,ref:f,class:F([Y(s).b(),{[Y(s).m(e.type)]:e.type},Y(s).is(`closable`,e.showClose),Y(s).is(`plain`,e.plain),Y(s).is(`bottom`,E.value===`bottom`),T.value,e.customClass]),style:m(D.value),role:`alert`,onMouseenter:k,onMouseleave:O},[e.repeatNum>1?(N(),H(Y(xC),{key:0,value:e.repeatNum,type:_.value,class:F(Y(s).e(`badge`))},null,8,[`value`,`type`,`class`])):G(`v-if`,!0),y.value?(N(),H(Y(By),{key:1,class:F([Y(s).e(`icon`),v.value])},{default:V(()=>[(N(),H(L(y.value)))]),_:1},8,[`class`])):G(`v-if`,!0),!e.dangerouslyUseHTMLString||t.$slots.default?(N(),W(`p`,{key:2,class:F(Y(s).e(`content`))},[I(t.$slots,`default`,{},()=>[Ke(S(e.message),1)])],2)):(N(),W(R,{key:3},[G(` Caution here, message could've been compromised, never use user's input as message `),B(`p`,{class:F(Y(s).e(`content`)),innerHTML:e.message},null,10,xK)],2112)),e.showClose?(N(),H(Y(By),{key:4,class:F(Y(s).e(`closeBtn`)),onClick:kn(A,[`stop`])},{default:V(()=>[J(Y(r))]),_:1},8,[`class`])):G(`v-if`,!0)],46,bK),[[jt,p.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),CK=1,wK=e=>{if(!e.appendTo)e.appendTo=document.body;else if(P(e.appendTo)){let t=document.querySelector(e.appendTo);Pd(t)||(Jd(`ElMessage`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body),e.appendTo=t}},TK=e=>{!e.placement&&P(BC.placement)&&BC.placement&&(e.placement=BC.placement),e.placement||=`top`,dK.includes(e.placement)||(Jd(`ElMessage`,`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement=`top`)},EK=e=>{let t=!e||P(e)||s(e)||n(e)?{message:e}:e,r={...fK,...t};return wK(r),TK(r),jd(BC.grouping)&&!r.grouping&&(r.grouping=BC.grouping),Md(BC.duration)&&r.duration===3e3&&(r.duration=BC.duration),Md(BC.offset)&&r.offset===16&&(r.offset=BC.offset),jd(BC.showClose)&&!r.showClose&&(r.showClose=BC.showClose),jd(BC.plain)&&!r.plain&&(r.plain=BC.plain),r},DK=e=>{let t=hK[e.props.placement||`top`],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);let{handler:r}=e;r.close()},OK=({appendTo:e,...t},r)=>{let i=`message_${CK++}`,a=t.onClose,o=document.createElement(`div`),c={...t,id:i,onClose:()=>{a?.(),DK(d)},onDestroy:()=>{Fn(null,o)}},l=J(SK,c,n(c.message)||s(c.message)?{default:n(c.message)?c.message:()=>c.message}:null);l.appContext=r||kK._context,Fn(l,o),e.appendChild(o.firstElementChild);let u=l.component,d={id:i,vnode:l,vm:u,handler:{close:()=>{u.exposed.close()}},props:l.component.props};return d},kK=(e={},t)=>{if(!nf)return{close:()=>void 0};let n=EK(e),r=gK(n.placement||`top`);if(n.grouping&&r.length){let e=r.find(({vnode:e})=>e.props?.message===n.message);if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(Md(BC.max)&&r.length>=BC.max)return{close:()=>void 0};let i=OK(n,t);return r.push(i),i.handler};uK.forEach(e=>{kK[e]=(t={},n)=>kK({...EK(t),type:e},n)});function AK(e){for(let t in hK)if(Ye(hK,t)){let n=[...hK[t]];for(let t of n)(!e||e===t.props.type)&&t.handler.close()}}function jK(e){hK[e]&&[...hK[e]].forEach(e=>e.handler.close())}kK.closeAll=AK,kK.closeAllByPlacement=jK,kK._context=null;var MK=Fv(kK,`$message`),NK=z({name:`ElMessageBox`,directives:{TrapFocus:oT},components:{ElButton:xw,ElFocusTrap:tS,ElInput:zS,ElOverlay:AN,ElIcon:By,...Fy},inheritAttrs:!1,props:{buttonSize:{type:String,validator:MR},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}){let{locale:r,zIndex:i,ns:a,size:o}=IC(`message-box`,K(()=>e.buttonSize)),{t:s}=r,{nextZIndex:c}=i,l=q(!1),u=ve({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:Ie(dy),cancelButtonLoadingIcon:Ie(dy),confirmButtonDisabled:!1,editorErrorMessage:``,validateError:!1,zIndex:c()}),f=K(()=>{let e=u.type;return{[a.bm(`icon`,e)]:e&&Iy[e]}}),p=rg(),m=rg(),h=K(()=>{let e=u.type;return u.icon||e&&Iy[e]||``}),g=K(()=>!!u.message),_=q(),v=q(),y=q(),b=q(),x=q(),S=K(()=>u.confirmButtonClass);M(()=>u.inputValue,async t=>{await U(),e.boxType===`prompt`&&t&&A()},{immediate:!0}),M(()=>l.value,t=>{t&&(e.boxType!==`prompt`&&(u.autofocus?y.value=x.value?.$el??_.value:y.value=_.value),u.zIndex=c()),e.boxType===`prompt`&&(t?U().then(()=>{b.value&&b.value.$el&&(u.autofocus?y.value=ee()??_.value:y.value=_.value)}):(u.editorErrorMessage=``,u.validateError=!1))});let{isDragging:C}=xp(_,v,K(()=>e.draggable),K(()=>e.overflow));d(async()=>{await U(),e.closeOnHashChange&&window.addEventListener(`hashchange`,w)}),T(()=>{e.closeOnHashChange&&window.removeEventListener(`hashchange`,w)});function w(){l.value&&(l.value=!1,U(()=>{u.action&&t(`action`,u.action)}))}let E=()=>{e.closeOnClickModal&&k(u.distinguishCancelAndClose?`close`:`cancel`)},D=Zh(E),O=e=>{if(u.inputType!==`textarea`&&!b.value?.isComposing)return e.preventDefault(),k(`confirm`)},k=t=>{e.boxType===`prompt`&&t===`confirm`&&!A()||(u.action=t,u.beforeClose?u.beforeClose?.(t,u,w):w())},A=()=>{if(e.boxType===`prompt`){let e=u.inputPattern;if(e&&!e.test(u.inputValue||``))return u.editorErrorMessage=u.inputErrorMessage||s(`el.messagebox.error`),u.validateError=!0,!1;let t=u.inputValidator;if(n(t)){let e=t(u.inputValue);if(e===!1)return u.editorErrorMessage=u.inputErrorMessage||s(`el.messagebox.error`),u.validateError=!0,!1;if(P(e))return u.editorErrorMessage=e,u.validateError=!0,!1}}return u.editorErrorMessage=``,u.validateError=!1,!0},ee=()=>{let e=b.value?.$refs;return e?.input??e?.textarea},j=()=>{k(`close`)},N=()=>{e.closeOnPressEscape&&j()};return e.lockScroll&&Up(l,{ns:a}),{...Se(u),ns:a,overlayEvent:D,visible:l,hasMessage:g,typeClass:f,contentId:p,inputId:m,btnSize:o,iconComponent:h,confirmButtonClasses:S,rootRef:_,focusStartRef:y,headerRef:v,inputRef:b,isDragging:C,confirmRef:x,doClose:w,handleClose:j,onCloseRequested:N,handleWrapperClick:E,handleInputEnter:O,handleAction:k,t:s}}}),PK=[`aria-label`,`aria-describedby`],FK=[`aria-label`],IK=[`id`];function LK(e,t,n,r,i,a){let o=h(`el-icon`),s=h(`el-input`),c=h(`el-button`),l=h(`el-focus-trap`),u=h(`el-overlay`);return N(),H(pt,{name:`fade-in-linear`,onAfterLeave:t[11]||=t=>e.$emit(`vanish`),persisted:``},{default:V(()=>[Ge(J(u,{"z-index":e.zIndex,"overlay-class":[e.ns.is(`message-box`),e.modalClass],mask:e.modal},{default:V(()=>[B(`div`,{role:`dialog`,"aria-label":e.title,"aria-modal":`true`,"aria-describedby":e.showInput?void 0:e.contentId,class:F(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||=(...t)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...t),onMousedown:t[9]||=(...t)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...t),onMouseup:t[10]||=(...t)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...t)},[J(l,{loop:``,trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:V(()=>[B(`div`,{ref:`rootRef`,class:F([e.ns.b(),e.customClass,e.ns.is(`draggable`,e.draggable),e.ns.is(`dragging`,e.isDragging),{[e.ns.m(`center`)]:e.center}]),style:m(e.customStyle),tabindex:`-1`,onClick:t[7]||=kn(()=>{},[`stop`])},[e.title!==null&&e.title!==void 0?(N(),W(`div`,{key:0,ref:`headerRef`,class:F([e.ns.e(`header`),{"show-close":e.showClose}])},[B(`div`,{class:F(e.ns.e(`title`))},[e.iconComponent&&e.center?(N(),H(o,{key:0,class:F([e.ns.e(`status`),e.typeClass])},{default:V(()=>[(N(),H(L(e.iconComponent)))]),_:1},8,[`class`])):G(`v-if`,!0),B(`span`,null,S(e.title),1)],2),e.showClose?(N(),W(`button`,{key:0,type:`button`,class:F(e.ns.e(`headerbtn`)),"aria-label":e.t(`el.messagebox.close`),onClick:t[0]||=t=>e.handleAction(e.distinguishCancelAndClose?`close`:`cancel`),onKeydown:t[1]||=jn(kn(t=>e.handleAction(e.distinguishCancelAndClose?`close`:`cancel`),[`prevent`]),[`enter`])},[J(o,{class:F(e.ns.e(`close`))},{default:V(()=>[(N(),H(L(e.closeIcon||`close`)))]),_:1},8,[`class`])],42,FK)):G(`v-if`,!0)],2)):G(`v-if`,!0),B(`div`,{id:e.contentId,class:F(e.ns.e(`content`))},[B(`div`,{class:F(e.ns.e(`container`))},[e.iconComponent&&!e.center&&e.hasMessage?(N(),H(o,{key:0,class:F([e.ns.e(`status`),e.typeClass])},{default:V(()=>[(N(),H(L(e.iconComponent)))]),_:1},8,[`class`])):G(`v-if`,!0),e.hasMessage?(N(),W(`div`,{key:1,class:F(e.ns.e(`message`))},[I(e.$slots,`default`,{},()=>[e.dangerouslyUseHTMLString?(N(),H(L(e.showInput?`label`:`p`),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,[`for`,`innerHTML`])):(N(),H(L(e.showInput?`label`:`p`),{key:0,for:e.showInput?e.inputId:void 0,textContent:S(e.message)},null,8,[`for`,`textContent`]))])],2)):G(`v-if`,!0)],2),Ge(B(`div`,{class:F(e.ns.e(`input`))},[J(s,{id:e.inputId,ref:`inputRef`,modelValue:e.inputValue,"onUpdate:modelValue":t[2]||=t=>e.inputValue=t,type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:F({invalid:e.validateError}),onKeydown:jn(e.handleInputEnter,[`enter`])},null,8,[`id`,`modelValue`,`type`,`placeholder`,`aria-invalid`,`class`,`onKeydown`]),B(`div`,{class:F(e.ns.e(`errormsg`)),style:m({visibility:e.editorErrorMessage?`visible`:`hidden`})},S(e.editorErrorMessage),7)],2),[[jt,e.showInput]])],10,IK),e.showCancelButton||e.showConfirmButton?(N(),W(`div`,{key:1,class:F(e.ns.e(`btns`))},[e.showCancelButton?(N(),H(c,{key:0,type:e.cancelButtonType===`text`?``:e.cancelButtonType,text:e.cancelButtonType===`text`,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:F([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||=t=>e.handleAction(`cancel`),onKeydown:t[4]||=jn(kn(t=>e.handleAction(`cancel`),[`prevent`]),[`enter`])},{default:V(()=>[Ke(S(e.cancelButtonText||e.t(`el.messagebox.cancel`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`size`])):G(`v-if`,!0),Ge(J(c,{ref:`confirmRef`,type:e.confirmButtonType===`text`?``:e.confirmButtonType,text:e.confirmButtonType===`text`,loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:F([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||=t=>e.handleAction(`confirm`),onKeydown:t[6]||=jn(kn(t=>e.handleAction(`confirm`),[`prevent`]),[`enter`])},{default:V(()=>[Ke(S(e.confirmButtonText||e.t(`el.messagebox.confirm`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`disabled`,`size`]),[[jt,e.showConfirmButton]])],2)):G(`v-if`,!0)],6)]),_:3},8,[`trapped`,`focus-trap-el`,`focus-start-el`,`onReleaseRequested`])],42,PK)]),_:3},8,[`z-index`,`overlay-class`,`mask`]),[[jt,e.visible]])]),_:3})}var RK=$x(NK,[[`render`,LK]]),zK=new Map,BK=e=>{let t=document.body;return e.appendTo&&(P(e.appendTo)&&(t=document.querySelector(e.appendTo)),Pd(e.appendTo)&&(t=e.appendTo),Pd(t)||(Jd(`ElMessageBox`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body)),t},VK=(e,t)=>{let n=e.component?.proxy;return()=>n.handleAction(t)},HK=(e,t,r=null)=>{let i=J(RK,e,n(e.message)||s(e.message)?{default:n(e.message)?()=>e.message({confirm:VK(i,`confirm`),cancel:VK(i,`cancel`),close:VK(i,`close`)}):()=>e.message}:null);return i.appContext=r,Fn(i,t),BK(e).appendChild(t.firstElementChild),i.component},UK=()=>document.createElement(`div`),WK=(e,t)=>{let n=UK();e.onVanish=()=>{Fn(null,n),zK.delete(i)},e.onAction=t=>{let n=zK.get(i),a;a=e.showInput?{value:i.inputValue,action:t}:t,e.callback?e.callback(a,r.proxy):t===`cancel`||t===`close`?e.distinguishCancelAndClose&&t!==`cancel`?n.reject(`close`):n.reject(`cancel`):n.resolve(a)};let r=HK(e,n,t),i=r.proxy;for(let t in e)Ye(e,t)&&!Ye(i.$props,t)&&(t===`closeIcon`&&E(e[t])?i[t]=Ie(e[t]):i[t]=e[t]);return i.visible=!0,i};function GK(e,t=null){if(!nf)return Promise.reject();let n;return P(e)||s(e)?e={message:e}:n=e.callback,new Promise((r,i)=>{let a=WK(e,t??GK._context);zK.set(a,{options:e,callback:n,resolve:r,reject:i})})}var KK=[`alert`,`confirm`,`prompt`],qK={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};KK.forEach(e=>{GK[e]=JK(e)});function JK(e){return(t,n,r,i)=>{let a=``;return E(n)?(r=n,a=``):a=Ad(n)?``:n,GK(Object.assign({title:a,message:t,type:``,...qK[e]},r,{boxType:e}),i)}}GK.close=()=>{zK.forEach((e,t)=>{t.doClose()}),zK.clear()},GK._context=null;var YK=GK;YK.install=e=>{YK._context=e._context,e.config.globalProperties.$msgbox=YK,e.config.globalProperties.$messageBox=YK,e.config.globalProperties.$alert=YK.alert,e.config.globalProperties.$confirm=YK.confirm,e.config.globalProperties.$prompt=YK.prompt};var XK=YK,ZK=[`primary`,`success`,`info`,`warning`,`error`],QK=Q({customClass:{type:String,default:``},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Ny},id:{type:String,default:``},message:{type:Z([String,Object,Function]),default:``},offset:{type:Number,default:0},onClick:{type:Z(Function),default:()=>void 0},onClose:{type:Z(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:[...ZK,``],default:``},zIndex:Number,closeIcon:{type:Ny,default:ey}}),$K={destroy:()=>!0},eq=[`id`],tq=[`textContent`],nq={key:0},rq=[`innerHTML`],iq=z({name:`ElNotification`,__name:`notification`,props:QK,emits:$K,setup(e,{expose:t}){let n=e,{ns:r,zIndex:i}=IC(`notification`),{nextZIndex:a,currentZIndex:o}=i,s=q(!1),c,l=K(()=>{let e=n.type;return e&&Iy[n.type]?r.m(e):``}),u=K(()=>n.type&&Iy[n.type]||n.icon),f=K(()=>n.position.endsWith(`right`)?`right`:`left`),p=K(()=>n.position.startsWith(`top`)?`top`:`bottom`),h=K(()=>({[p.value]:`${n.offset}px`,zIndex:n.zIndex??o.value}));function g(){n.duration>0&&({stop:c}=wf(()=>{s.value&&v()},n.duration))}function _(){c?.()}function v(){s.value=!1}function y(e){switch(Kp(e)){case X.delete:case X.backspace:_();break;case X.esc:s.value&&v();break;default:g();break}}return d(()=>{g(),a(),s.value=!0}),kf(document,`keydown`,y),t({visible:s,close:v}),(t,n)=>(N(),H(pt,{name:Y(r).b(`fade`),onBeforeLeave:e.onClose,onAfterLeave:n[1]||=e=>t.$emit(`destroy`),persisted:``},{default:V(()=>[Ge(B(`div`,{id:e.id,class:F([Y(r).b(),e.customClass,f.value]),style:m(h.value),role:`alert`,onMouseenter:_,onMouseleave:g,onClick:n[0]||=(...t)=>e.onClick&&e.onClick(...t)},[u.value?(N(),H(Y(By),{key:0,class:F([Y(r).e(`icon`),l.value])},{default:V(()=>[(N(),H(L(u.value)))]),_:1},8,[`class`])):G(`v-if`,!0),B(`div`,{class:F(Y(r).e(`group`))},[B(`h2`,{class:F(Y(r).e(`title`)),textContent:S(e.title)},null,10,tq),Ge(B(`div`,{class:F(Y(r).e(`content`)),style:m(e.title?void 0:{margin:0})},[I(t.$slots,`default`,{},()=>[e.dangerouslyUseHTMLString?(N(),W(R,{key:1},[G(` Caution here, message could've been compromised, never use user's input as message `),B(`p`,{innerHTML:e.message},null,8,rq)],2112)):(N(),W(`p`,nq,S(e.message),1))])],6),[[jt,e.message]]),e.showClose?(N(),H(Y(By),{key:0,class:F(Y(r).e(`closeBtn`)),onClick:kn(v,[`stop`])},{default:V(()=>[(N(),H(L(e.closeIcon)))]),_:1},8,[`class`])):G(`v-if`,!0)],2)],46,eq),[[jt,s.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),aq={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},oq=16,sq=1,cq=function(e={},t){if(!nf)return{close:()=>void 0};(P(e)||s(e))&&(e={message:e});let r=e.position||`top-right`,i=e.offset||0;aq[r].forEach(({vm:e})=>{i+=(e.el?.offsetHeight||0)+oq}),i+=oq;let a=`notification_${sq++}`,o=e.onClose,c={...e,offset:i,id:a,onClose:()=>{lq(a,r,o)}},l=document.body;Pd(e.appendTo)?l=e.appendTo:P(e.appendTo)&&(l=document.querySelector(e.appendTo)),Pd(l)||(Jd(`ElNotification`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),l=document.body);let u=document.createElement(`div`),d=J(iq,c,n(c.message)?c.message:s(c.message)?()=>c.message:null);return d.appContext=Ad(t)?cq._context:t,d.props.onDestroy=()=>{Fn(null,u)},Fn(d,u),aq[r].push({vm:d}),l.appendChild(u.firstElementChild),{close:()=>{d.component.exposed.visible.value=!1}}};ZK.forEach(e=>{cq[e]=(t={},n)=>((P(t)||s(t))&&(t={message:t}),cq({...t,type:e},n))});function lq(e,t,n){let r=aq[t],i=r.findIndex(({vm:t})=>t.component?.props.id===e);if(i===-1)return;let{vm:a}=r[i];if(!a)return;n?.(a);let o=a.el.offsetHeight,s=t.split(`-`)[0];r.splice(i,1);let c=r.length;if(!(c<1))for(let e=i;e{e.component.exposed.visible.value=!1})}function dq(e=`top-right`){let t=aq[e][0]?.vm.component?.props?.offset||0;for(let{vm:n}of aq[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+oq}cq.closeAll=uq,cq.updateOffsets=dq,cq._context=null;var fq=Fv(cq,`$notify`),pq=Q({trigger:pS.trigger,triggerKeys:pS.triggerKeys,placement:ZN.placement,disabled:pS.disabled,visible:fS.visible,transition:fS.transition,popperOptions:ZN.popperOptions,tabindex:ZN.tabindex,content:fS.content,popperStyle:fS.popperStyle,popperClass:fS.popperClass,enterable:{...fS.enterable,default:!0},effect:{...fS.effect,default:`light`},teleported:fS.teleported,appendTo:fS.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}}),mq={"update:visible":e=>jd(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},hq=`onUpdate:visible`,gq=z({name:`ElPopover`,__name:`popover`,props:pq,emits:mq,setup(e,{expose:t,emit:n}){let r=e,i=n,a=K(()=>r[hq]),o=$(`popover`),s=q(),c=K(()=>Y(s)?.popperRef),l=K(()=>[{width:bp(r.width)},r.popperStyle]),u=K(()=>[o.b(),r.popperClass,{[o.m(`plain`)]:!!r.content}]),d=K(()=>r.transition===`${o.namespace.value}-fade-in-linear`),f=()=>{s.value?.hide()},p=()=>{i(`before-enter`)},m=()=>{i(`before-leave`)},h=()=>{i(`after-enter`)},g=()=>{i(`update:visible`,!1),i(`after-leave`)};return t({popperRef:c,hide:f}),(t,n)=>(N(),H(Y(ES),k({ref_key:`tooltipRef`,ref:s},t.$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":u.value,"popper-style":l.value,teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":d.value,"onUpdate:visible":a.value,onBeforeShow:p,onBeforeHide:m,onShow:h,onHide:g}),{content:V(()=>[e.title?(N(),W(`div`,{key:0,class:F(Y(o).e(`title`)),role:`title`},S(e.title),3)):G(`v-if`,!0),I(t.$slots,`default`,{hide:f},()=>[Ke(S(e.content),1)])]),default:V(()=>[t.$slots.reference?I(t.$slots,`reference`,{key:0}):G(`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`]))}}),_q=(e,t)=>{let n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)},vq=Iv({mounted(e,t){_q(e,t)},updated(e,t){_q(e,t)}},`popover`),yq=Pv(gq,{directive:vq}),bq=`2.14.2`,xq=(e=[])=>({version:bq,install:(t,n)=>{t[Cr]||(t[Cr]=!0,e.forEach(e=>t.use(e)),n&&LC(n,t,!0))}}),Sq=[zv,Vy,oC,MV,mC,hC,bC,xC,OC,kC,xw,Sw,tD,nD,bD,xD,Yk,Vk,Xk,ok,sk,ck,tA,_A,vA,sA,QA,nj,VC,cj,lj,uj,dj,fj,dN,cN,bN,xN,VN,HN,XN,QP,$P,eF,OF,Cx,wx,By,LF,PF,zS,HF,ZF,tI,aI,kI,AI,jI,MI,II,fL,pL,yq,dS,bL,wk,Ek,Tk,TL,OL,eA,tC,LE,RE,zE,XL,$L,eR,yR,CR,hj,yj,AR,jR,VR,SB,CB,jV,XV,ZV,oE,QV,tE,lH,pH,mH,ES,jH,aU,hU,RU,_W,EW,JW,YW,aG,oG,fG,CG,HG,UG],Cq=[ZG,lK,MK,XK,fq,vq],wq=xq([...Sq,...Cq]);wq.install,wq.version;var Tq=wq,Eq=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Dq={};function Oq(e,t){let n=h(`router-view`);return N(),H(n)}var kq=Eq(Dq,[[`render`,Oq]]),Aq=typeof document<`u`;function jq(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Mq(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&jq(e.default)}var Nq=Object.assign;function Pq(e,t){let n={};for(let r in t){let i=t[r];n[r]=Iq(i)?i.map(e):e(i)}return n}var Fq=()=>{},Iq=Array.isArray;function Lq(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Rq=Symbol(``);function zq(e,t){return Nq(Error(),{type:e,[Rq]:!0},t)}function Bq(e,t){return e instanceof Error&&Rq in e&&(t==null||!!(e.type&t))}var Vq=Symbol(``),Hq=Symbol(``),Uq=Symbol(``),Wq=Symbol(``),Gq=Symbol(``);function Kq(){return l(Uq)}function qq(e){return l(Wq)}var Jq=/#/g,Yq=/&/g,Xq=/\//g,Zq=/=/g,Qq=/\?/g,$q=/\+/g,eJ=/%5B/g,tJ=/%5D/g,nJ=/%5E/g,rJ=/%60/g,iJ=/%7B/g,aJ=/%7C/g,oJ=/%7D/g,sJ=/%20/g;function cJ(e){return e==null?``:encodeURI(``+e).replace(aJ,`|`).replace(eJ,`[`).replace(tJ,`]`)}function lJ(e){return cJ(e).replace(iJ,`{`).replace(oJ,`}`).replace(nJ,`^`)}function uJ(e){return cJ(e).replace($q,`%2B`).replace(sJ,`+`).replace(Jq,`%23`).replace(Yq,`%26`).replace(rJ,"`").replace(iJ,`{`).replace(oJ,`}`).replace(nJ,`^`)}function dJ(e){return uJ(e).replace(Zq,`%3D`)}function fJ(e){return cJ(e).replace(Jq,`%23`).replace(Qq,`%3F`)}function pJ(e){return fJ(e).replace(Xq,`%2F`)}function mJ(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var hJ=/\/$/,gJ=e=>e.replace(hJ,``);function _J(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=TJ(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:mJ(o)}}function vJ(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function yJ(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function bJ(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&xJ(t.matched[r],n.matched[i])&&SJ(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function xJ(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function SJ(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!CJ(e[n],t[n]))return!1;return!0}function CJ(e,t){return Iq(e)?wJ(e,t):Iq(t)?wJ(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function wJ(e,t){return Iq(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function TJ(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var EJ={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function DJ(e){if(!e)if(Aq){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),gJ(e)}var OJ=/^[^#]+#/;function kJ(e,t){return e.replace(OJ,`#`)+t}function AJ(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var jJ=()=>({left:window.scrollX,top:window.scrollY});function MJ(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=AJ(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function NJ(e,t){return(history.state?history.state.position-t:-1)+e}var PJ=new Map;function FJ(e,t){PJ.set(e,t)}function IJ(e){let t=PJ.get(e);return PJ.delete(e),t}function LJ(e){return typeof e==`string`||e&&typeof e==`object`}function RJ(e){return typeof e==`string`||typeof e==`symbol`}function zJ(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&uJ(e)):[r&&uJ(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function VJ(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=Iq(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function HJ(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function UJ(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(zq(4,{from:n,to:t})):e instanceof Error?c(e):LJ(e)?c(zq(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function WJ(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(jq(s)){let c=(s.__vccOpts||s)[t];c&&a.push(UJ(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Mq(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&UJ(c,n,r,o,e,i)()}))}}return a}function GJ(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oxJ(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>xJ(e,s))||i.push(s))}return[n,r,i]}var KJ=()=>location.protocol+`//`+location.host;function qJ(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),yJ(n,``)}return yJ(n,e)+r+i}function JJ(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=qJ(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Nq({},e.state,{scroll:jJ()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function YJ(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?jJ():null}}function XJ(e){let{history:t,location:n}=window,r={value:qJ(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:KJ()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Nq({},t.state,YJ(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Nq({},i.value,t.state,{forward:e,scroll:jJ()});a(o.current,o,!0),a(e,Nq({},YJ(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function ZJ(e){e=DJ(e);let t=XJ(e),n=JJ(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Nq({location:``,base:e,go:r,createHref:kJ.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var QJ={type:0,value:``},$J=/[a-zA-Z0-9_]/;function eY(e){if(!e)return[[]];if(e===`/`)return[[QJ]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function oY(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var cY={strict:!1,end:!0,sensitive:!1};function lY(e,t,n){let r=Nq(iY(eY(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function uY(e,t){let n=[],r=new Map;t=Lq(cY,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=fY(e);s.aliasOf=r&&r.record;let l=Lq(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(fY(Nq({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=lY(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!mY(d)&&o(e.name)),vY(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:Fq}function o(e){if(RJ(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=gY(e,n);n.splice(t,0,e),e.record.name&&!mY(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw zq(1,{location:e});s=i.record.name,a=Nq(dY(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&dY(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw zq(1,{location:e,currentLocation:t});s=i.record.name,a=Nq({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:hY(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function dY(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function fY(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:pY(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 pY(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function mY(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hY(e){return e.reduce((e,t)=>Nq(e,t.meta),{})}function gY(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;oY(e,t[i])<0?r=i:n=i+1}let i=_Y(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function _Y(e){let t=e;for(;t=t.parent;)if(vY(t)&&oY(e,t)===0)return t}function vY({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function yY(e){let t=l(Uq),n=l(Wq),r=K(()=>{let n=Y(e.to);return t.resolve(n)}),i=K(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(xJ.bind(null,i));if(o>-1)return o;let s=wY(e[t-2]);return t>1&&wY(i)===s&&a[a.length-1].path!==s?a.findIndex(xJ.bind(null,e[t-2])):o}),a=K(()=>i.value>-1&&CY(n.params,r.value.params)),o=K(()=>i.value>-1&&i.value===n.matched.length-1&&SJ(n.params,r.value.params));function s(n={}){if(SY(n)){let n=t[Y(e.replace)?`replace`:`push`](Y(e.to)).catch(Fq);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:K(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function bY(e){return e.length===1?e[0]:e}var xY=z({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:yY,setup(e,{slots:t}){let n=ve(yY(e)),{options:r}=l(Uq),i=K(()=>({[TY(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[TY(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&bY(t.default(n));return e.custom?r:Je(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function SY(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){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function CY(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!Iq(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function wY(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var TY=(e,t,n)=>e??t??n,EY=z({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=l(Gq),i=K(()=>e.route||r.value),a=l(Hq,0),o=K(()=>{let e=Y(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=K(()=>i.value.matched[o.value]);Qe(Hq,K(()=>o.value+1)),Qe(Vq,s),Qe(Gq,i);let c=q();return M(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!xJ(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return DY(n.default,{Component:l,route:r});let u=o.props[a],d=Je(l,Nq({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return DY(n.default,{Component:d,route:r})||d}}});function DY(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var OY=EY;function kY(e){let t=uY(e.routes,e),n=e.parseQuery||zJ,r=e.stringifyQuery||BJ,i=e.history,a=HJ(),o=HJ(),s=HJ(),c=Le(EJ),l=EJ;Aq&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Pq.bind(null,e=>``+e),d=Pq.bind(null,pJ),f=Pq.bind(null,mJ);function p(e,n){let r,i;return RJ(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Nq({},a||c.value),typeof e==`string`){let r=_J(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Nq(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Nq({},e,{path:_J(n,e.path,a.path).path});else{let t=Nq({},e.params);for(let e in t)t[e]??delete t[e];o=Nq({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=vJ(r,Nq({},e,{hash:lJ(l),path:s.path})),m=i.createHref(p);return Nq({fullPath:p,hash:l,query:r===BJ?VJ(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?_J(n,e,c.value.path):Nq({},e)}function y(e,t){if(l!==e)return zq(8,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Nq(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Nq({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Nq(v(u),{state:typeof u==`object`?Nq({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&bJ(r,i,n)&&(f=zq(16,{to:d,from:i}),ne(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>Bq(e)?Bq(e,2)?e:te(e):N(e,d,i)).then(e=>{if(e){if(Bq(e,2))return C(Nq({replace:s},v(e.to),{state:typeof e.to==`object`?Nq({},a,e.to.state):a,force:o}),t||d)}else e=O(d,i,!0,s,a);return D(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ae.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=GJ(e,t);n=WJ(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(UJ(r,e,t))});let c=w.bind(null,e,t);return n.push(c),I(n).then(()=>{n=[];for(let r of a.list())n.push(UJ(r,e,t));return n.push(c),I(n)}).then(()=>{n=WJ(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(UJ(r,e,t))});return n.push(c),I(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(Iq(r.beforeEnter))for(let i of r.beforeEnter)n.push(UJ(i,e,t));else n.push(UJ(r.beforeEnter,e,t));return n.push(c),I(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=WJ(s,`beforeRouteEnter`,e,t,T),n.push(c),I(n))).then(()=>{n=[];for(let r of o.list())n.push(UJ(r,e,t));return n.push(c),I(n)}).catch(e=>Bq(e,8)?e:Promise.reject(e))}function D(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function O(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===EJ,l=Aq?history.state:{};n&&(r||s?i.replace(e.fullPath,Nq({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ne(e,t,n,s),te()}let k;function A(){k||=i.listen((e,t,n)=>{if(!F.listening)return;let r=_(e),a=S(r,F.currentRoute.value);if(a){C(Nq(a,{replace:!0,force:!0}),r).catch(Fq);return}l=r;let o=c.value;Aq&&FJ(NJ(o.fullPath,n.delta),jJ()),E(r,o).catch(e=>Bq(e,12)?e:Bq(e,2)?(C(Nq(v(e.to),{force:!0}),r).then(e=>{Bq(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(Fq),Promise.reject()):(n.delta&&i.go(-n.delta,!1),N(e,r,o))).then(e=>{e||=O(r,o,!1),e&&(n.delta&&!Bq(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Bq(e,20)&&i.go(-1,!1)),D(r,o,e)}).catch(Fq)})}let ee=HJ(),j=HJ(),M;function N(e,t,n){te(e);let r=j.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function P(){return M&&c.value!==EJ?Promise.resolve():new Promise((e,t)=>{ee.add([e,t])})}function te(e){return M||(M=!e,A(),ee.list().forEach(([t,n])=>e?n(e):t()),ee.reset()),e}function ne(t,n,r,i){let{scrollBehavior:a}=e;if(!Aq||!a)return Promise.resolve();let o=!r&&IJ(NJ(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return U().then(()=>a(t,n,o)).then(e=>e&&MJ(e)).catch(e=>N(e,t,n))}let re=e=>i.go(e),ie,ae=new Set,F={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:j.add,isReady:P,install(e){e.component(`RouterLink`,xY),e.component(`RouterView`,OY),e.config.globalProperties.$router=F,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>Y(c)}),Aq&&!ie&&c.value===EJ&&(ie=!0,b(i.location).catch(e=>{}));let t={};for(let e in EJ)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Uq,F),e.provide(Wq,ye(t)),e.provide(Gq,c);let n=e.unmount;ae.add(e),e.unmount=function(){ae.delete(e),ae.size<1&&(l=EJ,k&&k(),k=null,c.value=EJ,ie=!1,M=!1),n()}}};function I(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return F}var AY=_r(`auth`,()=>{let e=q(localStorage.getItem(`prism_token`)||``);async function t(t){let{data:n}=await We.post(`/auth/login`,{password:t});e.value=n.token,localStorage.setItem(`prism_token`,n.token)}function n(){e.value=``,localStorage.removeItem(`prism_token`)}return{token:e,login:t,logout:n,isLoggedIn:()=>!!e.value}}),jY={class:`layout`},MY={class:`sidebar custom-scrollbar`},NY={class:`main-area`},PY={class:`topbar`},FY={class:`topbar-title`},IY={class:`main-content custom-scrollbar`},LY=z({__name:`MainLayout`,setup(e){let t=qq(),n=Kq(),i=AY(),a={"/":`监控大盘`,"/subscriptions":`订阅管理`,"/proxies":`代理节点`,"/rules":`路由规则`,"/logs":`运行日志`,"/settings":`系统设置`},o=K(()=>a[t.path]||`Prism`),s=[{path:`/`,label:`监控大盘`,icon:hy},{path:`/subscriptions`,label:`订阅管理`,icon:ly},{path:`/proxies`,label:`代理节点`,icon:ty},{path:`/rules`,label:`路由规则`,icon:uy},{path:`/logs`,label:`运行日志`,icon:ay},{path:`/settings`,label:`系统设置`,icon:Cy}];function c(){i.logout(),n.push(`/login`)}return(e,n)=>{let i=h(`el-icon`),a=h(`router-link`),l=h(`el-button`),u=h(`router-view`);return N(),W(`div`,jY,[B(`aside`,MY,[n[0]||=pe(``,2),(N(),W(R,null,r(s,e=>J(a,{key:e.path,to:e.path,class:F([`nav-item`,{active:Y(t).path===e.path}])},{default:V(()=>[J(i,{size:16},{default:V(()=>[(N(),H(L(e.icon)))]),_:2},1024),Ke(` `+S(e.label),1)]),_:2},1032,[`to`,`class`])),64))]),B(`div`,NY,[B(`header`,PY,[B(`span`,FY,S(o.value),1),J(l,{text:``,onClick:c},{default:V(()=>[...n[1]||=[Ke(`退出登录`,-1)]]),_:1})]),B(`main`,IY,[J(u)])])])}}}),RY=`modulepreload`,zY=function(e){return`/`+e},BY={},VY=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=zY(t,n),t in BY)return;BY[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:RY,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},HY=kY({history:ZJ(),routes:[{path:`/login`,name:`login`,component:()=>VY(()=>import(`./LoginView-CogloP1s.js`),__vite__mapDeps([0,1])),meta:{public:!0}},{path:`/`,component:LY,children:[{path:``,name:`dashboard`,component:()=>VY(()=>import(`./DashboardView-BVv1KNO9.js`),__vite__mapDeps([2,1,3]))},{path:`subscriptions`,name:`subscriptions`,component:()=>VY(()=>import(`./SubscriptionsView-BwdRKwvh.js`),__vite__mapDeps([4,1,3]))},{path:`proxies`,name:`proxies`,component:()=>VY(()=>import(`./ProxiesView-CGCYPjQ-.js`),__vite__mapDeps([5,1,3]))},{path:`rules`,name:`rules`,component:()=>VY(()=>import(`./RulesView-4vpiUKI8.js`),__vite__mapDeps([6,1,3]))},{path:`logs`,name:`logs`,component:()=>VY(()=>import(`./LogsView-SE35ruFF.js`),__vite__mapDeps([7,1,3]))},{path:`settings`,name:`settings`,component:()=>VY(()=>import(`./SettingsView-D_MdXCJL.js`),__vite__mapDeps([8,1,3]))}]}]});HY.beforeEach(async e=>{let t=AY();if(e.meta.public||t.isLoggedIn())return!0;try{if(!(await(await fetch(`/api/v1/auth/status`)).json()).enabled)return t.token=`disabled`,!0}catch{}return`/login`});var UY=In(kq);UY.use(rr()),UY.use(HY),UY.use(Tq),UY.mount(`#app`);export{jn as a,MK as i,Kq as n,kn as o,XK as r,AY as t}; \ No newline at end of file diff --git a/internal/api/static/assets/index-CxbpOrcM.css b/internal/api/static/assets/index-CxbpOrcM.css new file mode 100644 index 0000000..be24787 --- /dev/null +++ b/internal/api/static/assets/index-CxbpOrcM.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: ;--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: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: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 (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 (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 (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 (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 (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 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);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 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.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 0%,#fff 100%)}.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{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,.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: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;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}@media (hover:hover){.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)}@media (hover:hover){.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)}@media (hover:hover){.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{background-color:var(--el-fill-color-light)}@media (hover:hover){.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}@media (hover:hover){.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)}@media (hover:hover){.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;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,.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);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;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;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;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: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;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;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;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;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;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--card>.el-tabs__header.is-left,.el-tabs--card>.el-tabs__header.is-right,.el-tabs--border-card>.el-tabs__header.is-left,.el-tabs--border-card>.el-tabs__header.is-right{border-bottom:none}.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{--background:#f4f4f5;--foreground:#18181b;--card:#fff;--card-foreground:#18181b;--primary:#0f7a62;--primary-hover:#0d6b56;--primary-foreground:#fafafa;--muted:#f4f4f5;--muted-foreground:#71717a;--border:#e4e4e7;--input:#e4e4e7;--destructive:#dc2626;--sidebar:#fafafad9;--sidebar-foreground:#18181b;--sidebar-accent:#f4f4f5;--sidebar-border:#e4e4e7;--sidebar-width:15rem;--radius:.5rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--el-color-primary:#0f7a62;--el-color-primary-light-3:#4da08c;--el-color-primary-light-5:#76b8a8;--el-color-primary-light-7:#a0d0c4;--el-color-primary-light-8:#b8dcd2;--el-color-primary-light-9:#d0e8e1;--el-color-primary-dark-2:#0c624e;--el-border-radius-base:.5rem;--el-border-color:#e4e4e7;--el-bg-color-page:#f4f4f5;--el-text-color-primary:#18181b;--el-text-color-regular:#3f3f46;--el-text-color-secondary:#71717a;--el-font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;font-size:14px;font-family:var(--el-font-family);background:var(--background);color:var(--foreground);margin:0;padding:0}.layout{height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--sidebar-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);display:flex}.brand-icon{border-radius:var(--radius);background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);justify-content:center;align-items:center;display:flex}.brand-name{font-size:1.125rem;font-weight:600}.nav-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);padding:var(--space-4) var(--space-4) var(--space-2);font-size:.75rem}.nav-item{margin:0 var(--space-2);color:var(--muted-foreground);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--sidebar-accent)}.nav-item.active{background:var(--sidebar-accent);color:var(--primary);font-weight:600}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:52px;padding:0 var(--space-6);background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.topbar-title{color:var(--muted-foreground);font-size:.875rem}.main-content{padding:var(--space-6);flex:1;overflow-y:auto}.page{max-width:1400px}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-title{letter-spacing:-.02em;margin:0 0 var(--space-1);font-size:1.5rem;font-weight:600}.page-desc{color:var(--muted-foreground);margin:0;font-size:.875rem}.stat-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.stat-card__label{color:var(--muted-foreground);margin-bottom:var(--space-2);font-size:.875rem}.stat-card__value{font-size:1.75rem;font-weight:600}.app-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4)}.app-card__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.app-card__title{margin:0;font-size:.9375rem;font-weight:600}.app-card__body--padded{padding:var(--space-5)}.content-grid{gap:var(--space-4);margin-bottom:var(--space-6);display:grid}.content-grid--2-1{grid-template-columns:1.4fr 1fr}.content-grid--2{grid-template-columns:1fr 1fr}.card-toolbar{gap:var(--space-2);padding:var(--space-4) var(--space-5) 0;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card-pager{padding:var(--space-4) var(--space-5);justify-content:flex-end;display:flex}.tabs-bar{padding:0 var(--space-5);border-bottom:1px solid var(--border)}.tabs-bar .el-tabs__header{margin-bottom:0}.form-hint{color:var(--muted-foreground);margin-top:6px;font-size:.75rem}.section-title{margin-bottom:var(--space-4);font-size:.875rem;font-weight:600}.section-title:not(:first-child){margin-top:var(--space-6)}.login-page{background:var(--background);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-wrap{text-align:center;width:100%;max-width:400px}.login-brand-icon{background:var(--primary);width:48px;height:48px;color:var(--primary-foreground);margin-bottom:var(--space-4);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-8);margin-top:var(--space-6);text-align:left}.latency-good{color:#047857}.latency-warn{color:#b45309}.latency-bad{color:#dc2626}.latency-dead{color:var(--muted-foreground)}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#e4e4e7 transparent}@media (width<=1024px){.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid--2-1,.content-grid--2{grid-template-columns:1fr}}@media (width<=640px){.stat-grid{grid-template-columns:1fr}.main-content{padding:var(--space-4)}.page-header{flex-direction:column}} diff --git a/internal/api/static/favicon.svg b/internal/api/static/favicon.svg new file mode 100644 index 0000000..6893eb1 --- /dev/null +++ b/internal/api/static/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/internal/api/static/icons.svg b/internal/api/static/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/internal/api/static/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/internal/api/static/index.html b/internal/api/static/index.html new file mode 100644 index 0000000..b126e0b --- /dev/null +++ b/internal/api/static/index.html @@ -0,0 +1,15 @@ + + + + + + + web + + + + + +
    + + diff --git a/internal/auth/apikey.go b/internal/auth/apikey.go new file mode 100644 index 0000000..2933664 --- /dev/null +++ b/internal/auth/apikey.go @@ -0,0 +1,51 @@ +package auth + +import ( + "crypto/rand" + "crypto/sha256" + "encoding/hex" + "fmt" + "strings" +) + +const APIKeyPrefix = "prism_" + +func GenerateAPIKey() (string, error) { + var b [16]byte + if _, err := rand.Read(b[:]); err != nil { + return "", err + } + return APIKeyPrefix + hex.EncodeToString(b[:]), nil +} + +func HashAPIKey(key string) string { + sum := sha256.Sum256([]byte(key)) + return hex.EncodeToString(sum[:]) +} + +func APIKeyDisplayPrefix(key string) string { + key = strings.TrimSpace(key) + if len(key) <= 12 { + return key + } + return key[:12] + "…" +} + +func IsAPIKeyFormat(key string) bool { + return strings.HasPrefix(strings.TrimSpace(key), APIKeyPrefix) +} + +func ValidateAPIKeyFormat(key string) error { + key = strings.TrimSpace(key) + if !strings.HasPrefix(key, APIKeyPrefix) { + return fmt.Errorf("invalid api key format") + } + raw := strings.TrimPrefix(key, APIKeyPrefix) + if len(raw) != 32 { + return fmt.Errorf("invalid api key length") + } + if _, err := hex.DecodeString(raw); err != nil { + return fmt.Errorf("invalid api key encoding") + } + return nil +} diff --git a/internal/auth/apikey_test.go b/internal/auth/apikey_test.go new file mode 100644 index 0000000..894bc1d --- /dev/null +++ b/internal/auth/apikey_test.go @@ -0,0 +1,19 @@ +package auth + +import "testing" + +func TestGenerateAndHashAPIKey(t *testing.T) { + key, err := GenerateAPIKey() + if err != nil { + t.Fatal(err) + } + if err := ValidateAPIKeyFormat(key); err != nil { + t.Fatal(err) + } + if HashAPIKey(key) == "" { + t.Fatal("empty hash") + } + if HashAPIKey(key) != HashAPIKey(key) { + t.Fatal("hash not stable") + } +} diff --git a/internal/auth/loginlimiter.go b/internal/auth/loginlimiter.go new file mode 100644 index 0000000..2c7d989 --- /dev/null +++ b/internal/auth/loginlimiter.go @@ -0,0 +1,137 @@ +package auth + +import ( + "context" + "fmt" + "strconv" + "time" + + "github.com/prism/proxy/internal/store" +) + +const ( + defaultMaxAttempts = 5 + defaultLockMinutes = 15 +) + +type LoginConfig struct { + MaxAttempts int + Window time.Duration + LockDuration time.Duration +} + +type LoginResult struct { + Allowed bool + Locked bool + Remaining int + RetryAfter time.Duration +} + +type LoginLimiter struct { + store *store.Store +} + +func NewLoginLimiter(st *store.Store) *LoginLimiter { + return &LoginLimiter{store: st} +} + +func ParseLoginConfig(settings map[string]string) LoginConfig { + maxAttempts := parsePositiveInt(settings["login_max_attempts"], defaultMaxAttempts) + lockMin := parsePositiveInt(settings["login_lock_minutes"], defaultLockMinutes) + lock := time.Duration(lockMin) * time.Minute + return LoginConfig{ + MaxAttempts: maxAttempts, + Window: lock, + LockDuration: lock, + } +} + +func (l *LoginLimiter) Check(ctx context.Context, ip string, cfg LoginConfig) (LoginResult, error) { + attempt, err := l.store.GetLoginAttempt(ctx, ip) + if err != nil { + return LoginResult{}, err + } + if attempt == nil { + return LoginResult{Allowed: true, Remaining: cfg.MaxAttempts}, nil + } + now := time.Now() + if attempt.LockedUntil != nil && now.Before(*attempt.LockedUntil) { + return LoginResult{ + Allowed: false, + Locked: true, + RetryAfter: attempt.LockedUntil.Sub(now), + }, nil + } + remaining := cfg.MaxAttempts - attempt.FailCount + if remaining < 0 { + remaining = 0 + } + if attempt.FailCount > 0 && now.Sub(attempt.WindowStart) > cfg.Window { + remaining = cfg.MaxAttempts + } + return LoginResult{Allowed: true, Remaining: remaining}, nil +} + +func (l *LoginLimiter) RecordFailure(ctx context.Context, ip string, cfg LoginConfig) (LoginResult, error) { + now := time.Now() + attempt, err := l.store.GetLoginAttempt(ctx, ip) + if err != nil { + return LoginResult{}, err + } + if attempt != nil && attempt.LockedUntil != nil && now.Before(*attempt.LockedUntil) { + return LoginResult{ + Allowed: false, + Locked: true, + RetryAfter: attempt.LockedUntil.Sub(now), + }, nil + } + + failCount := 1 + windowStart := now + if attempt != nil { + if attempt.LockedUntil != nil || now.Sub(attempt.WindowStart) <= cfg.Window { + if now.Sub(attempt.WindowStart) <= cfg.Window { + failCount = attempt.FailCount + 1 + windowStart = attempt.WindowStart + } + } + } + + var lockedUntil *time.Time + locked := false + if failCount >= cfg.MaxAttempts { + t := now.Add(cfg.LockDuration) + lockedUntil = &t + locked = true + _ = l.store.AddAuditLog(ctx, "login_lock", "auth", fmt.Sprintf("ip=%s locked %v", ip, cfg.LockDuration)) + } + if err := l.store.SetLoginAttempt(ctx, ip, store.LoginAttempt{ + FailCount: failCount, + WindowStart: windowStart, + LockedUntil: lockedUntil, + }); err != nil { + return LoginResult{}, err + } + + remaining := cfg.MaxAttempts - failCount + if remaining < 0 { + remaining = 0 + } + res := LoginResult{Allowed: !locked, Remaining: remaining, Locked: locked} + if locked && lockedUntil != nil { + res.RetryAfter = lockedUntil.Sub(now) + } + return res, nil +} + +func (l *LoginLimiter) RecordSuccess(ctx context.Context, ip string) error { + return l.store.ClearLoginAttempt(ctx, ip) +} + +func parsePositiveInt(raw string, fallback int) int { + n, err := strconv.Atoi(raw) + if err != nil || n <= 0 { + return fallback + } + return n +} diff --git a/internal/auth/loginlimiter_test.go b/internal/auth/loginlimiter_test.go new file mode 100644 index 0000000..b8509cf --- /dev/null +++ b/internal/auth/loginlimiter_test.go @@ -0,0 +1,63 @@ +package auth + +import ( + "context" + "path/filepath" + "testing" + "time" + + "github.com/prism/proxy/internal/store" +) + +func TestLoginLimiterLockAndClear(t *testing.T) { + st, err := store.Open(filepath.Join(t.TempDir(), "data")) + if err != nil { + t.Fatal(err) + } + defer st.Close() + + ctx := context.Background() + limiter := NewLoginLimiter(st) + cfg := LoginConfig{MaxAttempts: 3, Window: time.Minute, LockDuration: 2 * time.Minute} + ip := "203.0.113.1" + + for i := 0; i < 2; i++ { + res, err := limiter.RecordFailure(ctx, ip, cfg) + if err != nil { + t.Fatal(err) + } + if res.Locked { + t.Fatalf("unexpected lock at attempt %d", i+1) + } + if res.Remaining != cfg.MaxAttempts-i-1 { + t.Fatalf("remaining=%d want %d", res.Remaining, cfg.MaxAttempts-i-1) + } + } + + res, err := limiter.RecordFailure(ctx, ip, cfg) + if err != nil { + t.Fatal(err) + } + if !res.Locked || res.RetryAfter <= 0 { + t.Fatalf("expected lock, got %+v", res) + } + + check, err := limiter.Check(ctx, ip, cfg) + if err != nil { + t.Fatal(err) + } + if check.Allowed { + t.Fatal("expected blocked while locked") + } + + if err := limiter.RecordSuccess(ctx, ip); err != nil { + t.Fatal(err) + } + check, err = limiter.Check(ctx, ip, cfg) + if err != nil { + t.Fatal(err) + } + if !check.Allowed || check.Remaining != cfg.MaxAttempts { + t.Fatalf("expected reset, got %+v", check) + } +} diff --git a/internal/cache/cache.go b/internal/cache/cache.go new file mode 100644 index 0000000..d96ec01 --- /dev/null +++ b/internal/cache/cache.go @@ -0,0 +1,68 @@ +package cache + +import ( + "sync" + "time" +) + +type DashboardSnapshot struct { + UploadRate int64 `json:"upload_rate"` + DownloadRate int64 `json:"download_rate"` + Connections int `json:"connections"` + TotalNodes int `json:"total_nodes"` + AliveNodes int `json:"alive_nodes"` + UpdatedAt time.Time `json:"updated_at"` +} + +type Cache struct { + mu sync.RWMutex + lastYAML []byte + dashboard DashboardSnapshot + proxyLatency map[string]int +} + +func New() *Cache { + return &Cache{ + proxyLatency: make(map[string]int), + } +} + +func (c *Cache) SetLastYAML(yaml []byte) { + c.mu.Lock() + defer c.mu.Unlock() + c.lastYAML = append([]byte(nil), yaml...) +} + +func (c *Cache) GetLastYAML() []byte { + c.mu.RLock() + defer c.mu.RUnlock() + if c.lastYAML == nil { + return nil + } + return append([]byte(nil), c.lastYAML...) +} + +func (c *Cache) SetDashboard(s DashboardSnapshot) { + c.mu.Lock() + defer c.mu.Unlock() + c.dashboard = s +} + +func (c *Cache) GetDashboard() DashboardSnapshot { + c.mu.RLock() + defer c.mu.RUnlock() + return c.dashboard +} + +func (c *Cache) SetProxyLatency(name string, ms int) { + c.mu.Lock() + defer c.mu.Unlock() + c.proxyLatency[name] = ms +} + +func (c *Cache) GetProxyLatency(name string) (int, bool) { + c.mu.RLock() + defer c.mu.RUnlock() + v, ok := c.proxyLatency[name] + return v, ok +} diff --git a/internal/configbuilder/builder.go b/internal/configbuilder/builder.go new file mode 100644 index 0000000..5b21ba9 --- /dev/null +++ b/internal/configbuilder/builder.go @@ -0,0 +1,367 @@ +package configbuilder + +import ( + "context" + "encoding/json" + "fmt" + "sort" + "strings" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/geodata" + "github.com/prism/proxy/internal/store" + "gopkg.in/yaml.v3" +) + +type Builder struct { + store *store.Store + dataDir string +} + +func New(s *store.Store, dataDir string) *Builder { + return &Builder{store: s, dataDir: dataDir} +} + +func (b *Builder) Build(ctx context.Context) ([]byte, error) { + return b.build(ctx, false) +} + +// BuildMinimal loads nodes/groups with MATCH-only rules when full config fails. +func (b *Builder) BuildMinimal(ctx context.Context) ([]byte, error) { + return b.build(ctx, true) +} + +func (b *Builder) build(ctx context.Context, minimalRules bool) ([]byte, error) { + settings, err := b.store.GetSettings(ctx) + if err != nil { + return nil, err + } + + httpPort := settings["http_port"] + socksPort := settings["socks_port"] + logLevel := settings["log_level"] + if logLevel == "" { + logLevel = "info" + } + defaultPolicy := settings["default_policy"] + if defaultPolicy == "" { + defaultPolicy = "DIRECT" + } + + nodes, err := b.store.ListProxyNodes(ctx, "", nil) + if err != nil { + return nil, err + } + groups, err := b.store.ListProxyGroups(ctx) + if err != nil { + return nil, err + } + mergedRules, err := b.store.ListMergedRules(ctx, defaultPolicy) + if err != nil { + return nil, err + } + if minimalRules { + mergedRules = nil + } + + cfg := map[string]any{ + "port": atoi(httpPort, 7890), + "socks-port": atoi(socksPort, 7891), + "allow-lan": true, + "mode": "rule", + "log-level": logLevel, + "proxies": []any{}, + "proxy-groups": []any{ + map[string]any{ + "name": "PROXY", + "type": "select", + "proxies": []string{"DIRECT"}, + }, + }, + "rules": []string{"MATCH," + defaultPolicy}, + } + applyInboundAuth(cfg, settings) + + var proxies []any + proxyNames := []string{} + for _, n := range nodes { + if !n.Enabled { + continue + } + var proxy map[string]any + if err := json.Unmarshal([]byte(n.RawConfig), &proxy); err != nil { + continue + } + proxy["name"] = n.RuntimeName + proxies = append(proxies, proxy) + proxyNames = append(proxyNames, n.RuntimeName) + } + cfg["proxies"] = proxies + + var proxyGroups []any + hasGroups := false + for _, g := range groups { + if !g.Enabled { + continue + } + hasGroups = true + var members []string + _ = json.Unmarshal([]byte(g.Proxies), &members) + remapped := remapMembers(members, nodes, groups) + proxyGroups = append(proxyGroups, buildProxyGroup(g.RuntimeName, g.Type, remapped)) + } + if !hasGroups && len(proxyNames) > 0 { + proxyGroups = []any{ + map[string]any{ + "name": "PROXY", + "type": "select", + "proxies": append(proxyNames, "DIRECT"), + }, + } + } else if len(proxyGroups) > 0 { + cfg["proxy-groups"] = proxyGroups + } else { + cfg["proxy-groups"] = []any{ + map[string]any{ + "name": "PROXY", + "type": "select", + "proxies": []string{"DIRECT"}, + }, + } + } + if len(proxyGroups) > 0 { + cfg["proxy-groups"] = proxyGroups + } + proxyGroups = appendCountryProxyGroups(proxyGroups, nodes) + cfg["proxy-groups"] = proxyGroups + + nameMap := buildNameMap(nodes, groups) + countryNameMap, countryValid := countryMaps(nodes) + for k, v := range countryNameMap { + nameMap[k] = v + } + valid := buildValidTargets(nodes, groups) + for k := range countryValid { + valid[k] = true + } + defaultPolicy = resolvePolicy(defaultPolicy, nameMap, valid, groups) + cfg["rules"] = sanitizeRules(mergedRules, nameMap, valid, defaultPolicy, geodata.Ready(b.dataDir)) + + out, err := yaml.Marshal(cfg) + if err != nil { + return nil, err + } + return out, nil +} + +func buildNameMap(nodes []store.ProxyNode, groups []store.ProxyGroup) map[string]string { + nameMap := make(map[string]string) + for _, n := range nodes { + nameMap[n.Name] = n.RuntimeName + nameMap[n.RuntimeName] = n.RuntimeName + } + for _, g := range groups { + nameMap[g.Name] = g.RuntimeName + nameMap[g.RuntimeName] = g.RuntimeName + } + return nameMap +} + +func remapMembers(members []string, nodes []store.ProxyNode, groups []store.ProxyGroup) []string { + nameMap := buildNameMap(nodes, groups) + out := make([]string, 0, len(members)) + for _, name := range members { + if name == "DIRECT" || name == "REJECT" { + out = append(out, name) + continue + } + if rn, ok := nameMap[name]; ok { + out = append(out, rn) + } + } + return out +} + +func remapRuleTarget(rule string, nameMap map[string]string) string { + parts := strings.Split(rule, ",") + if len(parts) < 2 { + return rule + } + target := parts[len(parts)-1] + if code, ok := country.ParseTargetAlias(target); ok { + parts[len(parts)-1] = country.GroupRuntime(code) + return strings.Join(parts, ",") + } + if mapped, ok := nameMap[target]; ok { + parts[len(parts)-1] = mapped + return strings.Join(parts, ",") + } + return rule +} + +func remapProxyNames(names []string, nodes []store.ProxyNode) []string { + return remapMembers(names, nodes, nil) +} + +func buildProxyGroup(name, gtype string, members []string) map[string]any { + group := map[string]any{ + "name": name, + "type": gtype, + "proxies": appendGroupMembers(gtype, members), + } + switch gtype { + case "url-test", "fallback": + group["url"] = "http://www.gstatic.com/generate_204" + group["interval"] = 300 + } + return group +} + +func appendGroupMembers(gtype string, members []string) []string { + switch strings.ToLower(gtype) { + case "url-test", "fallback": + return members + default: + return append(append([]string{}, members...), "DIRECT") + } +} + +func buildValidTargets(nodes []store.ProxyNode, groups []store.ProxyGroup) map[string]bool { + valid := map[string]bool{ + "DIRECT": true, + "REJECT": true, + } + for _, n := range nodes { + if n.Enabled { + valid[n.RuntimeName] = true + } + } + for _, g := range groups { + if g.Enabled { + valid[g.RuntimeName] = true + } + } + return valid +} + +func resolvePolicy(policy string, nameMap map[string]string, valid map[string]bool, groups []store.ProxyGroup) string { + if code, ok := country.ParseTargetAlias(policy); ok { + rn := country.GroupRuntime(code) + if valid[rn] { + return rn + } + } + if mapped, ok := nameMap[policy]; ok && valid[mapped] { + return mapped + } + if valid[policy] { + return policy + } + if policy == "PROXY" || policy == "GLOBAL" { + for _, g := range groups { + if g.Enabled && valid[g.RuntimeName] { + return g.RuntimeName + } + } + } + return "DIRECT" +} + +func sanitizeRules(merged []store.MergedRule, nameMap map[string]string, valid map[string]bool, defaultPolicy string, geoReady bool) []string { + var rules []string + hasMatch := false + for _, r := range merged { + line := remapRuleTarget(r.Rule, nameMap) + if !geoReady && needsGeoData(line) { + continue + } + if strings.HasPrefix(line, "MATCH,") { + line = "MATCH," + defaultPolicy + hasMatch = true + } + target := ruleTarget(line) + if target == "" || !valid[target] { + continue + } + rules = append(rules, line) + } + if !hasMatch { + rules = append(rules, "MATCH,"+defaultPolicy) + } + return rules +} + +func needsGeoData(rule string) bool { + upper := strings.ToUpper(rule) + if strings.HasPrefix(upper, "GEOIP,") || strings.HasPrefix(upper, "GEOSITE,") { + return true + } + return strings.Contains(strings.ToLower(rule), "geoip:") +} + +func ruleTarget(line string) string { + parts := strings.Split(line, ",") + if len(parts) < 2 { + return "" + } + return parts[len(parts)-1] +} + +func applyInboundAuth(cfg map[string]any, settings map[string]string) { + user := strings.TrimSpace(settings["proxy_auth_user"]) + pass := settings["proxy_auth_pass"] + if user == "" || pass == "" { + return + } + cfg["authentication"] = []string{user + ":" + pass} + cfg["skip-auth-prefixes"] = []string{"127.0.0.1/8", "::1/128"} +} + +func atoi(s string, def int) int { + var v int + if _, err := fmt.Sscanf(strings.TrimSpace(s), "%d", &v); err != nil || v <= 0 { + return def + } + return v +} + +func appendCountryProxyGroups(groups []any, nodes []store.ProxyNode) []any { + byCountry := map[string][]string{} + for _, n := range nodes { + if !n.Enabled || n.Country == "" { + continue + } + byCountry[n.Country] = append(byCountry[n.Country], n.RuntimeName) + } + codes := make([]string, 0, len(byCountry)) + for code := range byCountry { + codes = append(codes, code) + } + sort.Strings(codes) + for _, code := range codes { + members := byCountry[code] + if len(members) == 0 { + continue + } + groups = append(groups, buildProxyGroup(country.GroupRuntime(code), "url-test", members)) + } + return groups +} + +func countryMaps(nodes []store.ProxyNode) (map[string]string, map[string]bool) { + nameMap := map[string]string{} + valid := map[string]bool{} + seen := map[string]bool{} + for _, n := range nodes { + if !n.Enabled || n.Country == "" || seen[n.Country] { + continue + } + seen[n.Country] = true + rn := country.GroupRuntime(n.Country) + nameMap[country.TargetAlias(n.Country)] = rn + nameMap[country.Name(n.Country)] = rn + nameMap[rn] = rn + valid[rn] = true + } + return nameMap, valid +} diff --git a/internal/configbuilder/builder_test.go b/internal/configbuilder/builder_test.go new file mode 100644 index 0000000..4a76ce0 --- /dev/null +++ b/internal/configbuilder/builder_test.go @@ -0,0 +1,89 @@ +package configbuilder + +import ( + "testing" + + "github.com/metacubex/mihomo/hub/executor" + "github.com/prism/proxy/internal/store" +) + +func TestSanitizeRulesSkipsUnknownTarget(t *testing.T) { + nameMap := map[string]string{ + "节点选择": "grp1_auto", + "grp1_auto": "grp1_auto", + } + valid := map[string]bool{ + "DIRECT": true, + "REJECT": true, + "grp1_auto": true, + } + merged := []store.MergedRule{ + {Rule: "DOMAIN,google.com,不存在组"}, + {Rule: "DOMAIN,example.com,节点选择"}, + {Rule: "MATCH,DIRECT", Source: "system"}, + } + rules := sanitizeRules(merged, nameMap, valid, "DIRECT", true) + if len(rules) != 2 { + t.Fatalf("expected 2 rules, got %d: %v", len(rules), rules) + } + if rules[0] != "DOMAIN,example.com,grp1_auto" { + t.Fatalf("unexpected rule: %s", rules[0]) + } + if rules[1] != "MATCH,DIRECT" { + t.Fatalf("unexpected match: %s", rules[1]) + } +} + +func TestRemapCountryTarget(t *testing.T) { + nameMap := map[string]string{"country:HK": "country_HK"} + line := remapRuleTarget("DOMAIN-SUFFIX,google.com,country:HK", nameMap) + if line != "DOMAIN-SUFFIX,google.com,country_HK" { + t.Fatalf("unexpected: %s", line) + } +} + +func TestApplyInboundAuth(t *testing.T) { + cfg := map[string]any{} + applyInboundAuth(cfg, map[string]string{}) + if _, ok := cfg["authentication"]; ok { + t.Fatal("expected no authentication when empty") + } + + applyInboundAuth(cfg, map[string]string{ + "proxy_auth_user": "proxy", + "proxy_auth_pass": "secret", + }) + auth, ok := cfg["authentication"].([]string) + if !ok || len(auth) != 1 || auth[0] != "proxy:secret" { + t.Fatalf("unexpected authentication: %#v", cfg["authentication"]) + } + prefixes, ok := cfg["skip-auth-prefixes"].([]string) + if !ok || len(prefixes) != 2 { + t.Fatalf("unexpected skip-auth-prefixes: %#v", cfg["skip-auth-prefixes"]) + } +} + +func TestBuiltConfigValidatesWithSanitizedRules(t *testing.T) { + yaml := []byte(`port: 7890 +socks-port: 7891 +mode: rule +log-level: info +proxies: + - name: sub1_node + type: ss + server: 1.2.3.4 + port: 8388 + cipher: aes-256-gcm + password: test +proxy-groups: + - name: grp1_auto + type: select + proxies: [sub1_node, DIRECT] +rules: + - DOMAIN,example.com,grp1_auto + - MATCH,grp1_auto +`) + if _, err := executor.ParseWithBytes(yaml); err != nil { + t.Fatalf("config should validate: %v", err) + } +} diff --git a/internal/core/home.go b/internal/core/home.go new file mode 100644 index 0000000..6e7ca9e --- /dev/null +++ b/internal/core/home.go @@ -0,0 +1,10 @@ +package core + +import ( + "github.com/prism/proxy/internal/geodata" +) + +// InitDataDir points Mihomo geodata/cache paths at dataDir/geo. +func InitDataDir(dataDir string) string { + return geodata.InitHomeDir(dataDir) +} diff --git a/internal/core/mihomo.go b/internal/core/mihomo.go new file mode 100644 index 0000000..ef32dd9 --- /dev/null +++ b/internal/core/mihomo.go @@ -0,0 +1,74 @@ +package core + +import ( + "fmt" + "sync" + + "github.com/metacubex/mihomo/hub" + "github.com/metacubex/mihomo/hub/executor" +) + +type Engine struct { + mu sync.Mutex + apiAddr string + secret string + lastGood []byte + running bool +} + +func NewEngine() *Engine { + return &Engine{} +} + +func (e *Engine) Configure(apiAddr, secret string) { + e.mu.Lock() + defer e.mu.Unlock() + e.apiAddr = apiAddr + e.secret = secret +} + +func (e *Engine) Reload(yaml []byte) error { + e.mu.Lock() + defer e.mu.Unlock() + + if _, err := executor.ParseWithBytes(yaml); err != nil { + return fmt.Errorf("config validation failed: %w", err) + } + + opts := []hub.Option{ + hub.WithExternalController(e.apiAddr), + } + if e.secret != "" { + opts = append(opts, hub.WithSecret(e.secret)) + } + + if err := hub.Parse(yaml, opts...); err != nil { + return fmt.Errorf("mihomo reload failed: %w", err) + } + + e.lastGood = append([]byte(nil), yaml...) + e.running = true + return nil +} + +func (e *Engine) Shutdown() { + e.mu.Lock() + defer e.mu.Unlock() + executor.Shutdown() + e.running = false +} + +func (e *Engine) LastGoodConfig() []byte { + e.mu.Lock() + defer e.mu.Unlock() + if e.lastGood == nil { + return nil + } + return append([]byte(nil), e.lastGood...) +} + +func (e *Engine) Running() bool { + e.mu.Lock() + defer e.mu.Unlock() + return e.running +} diff --git a/internal/country/catalog.go b/internal/country/catalog.go new file mode 100644 index 0000000..f43201f --- /dev/null +++ b/internal/country/catalog.go @@ -0,0 +1,261 @@ +package country + +// catalog lists ISO 3166-1 alpha-2 codes with Chinese names and common proxy-node keywords. +// Keywords are matched longest-first; 2-letter codes require word boundaries. +var catalog = []entry{ + // Greater China + {Code: "HK", Name: "香港", Keywords: []string{"香港", "hong kong", "hongkong", "hk", "hkg"}}, + {Code: "TW", Name: "台湾", Keywords: []string{"台湾", "台北", "台中", "高雄", "taiwan", "taipei", "tw", "twn"}}, + {Code: "MO", Name: "澳门", Keywords: []string{"澳门", "macau", "macao", "mo", "mac"}}, + {Code: "CN", Name: "中国", Keywords: []string{"中国", "内地", "china", "beijing", "shanghai", "cn", "chn"}}, + + // East & Southeast Asia + {Code: "JP", Name: "日本", Keywords: []string{"日本", "东京", "大阪", "东京都", "japan", "tokyo", "osaka", "jp", "jpn"}}, + {Code: "KR", Name: "韩国", Keywords: []string{"韩国", "首尔", "south korea", "korea", "seoul", "kr", "kor"}}, + {Code: "KP", Name: "朝鲜", Keywords: []string{"朝鲜", "north korea", "pyongyang", "kp", "prk"}}, + {Code: "SG", Name: "新加坡", Keywords: []string{"新加坡", "singapore", "sg", "sgp"}}, + {Code: "MY", Name: "马来西亚", Keywords: []string{"马来西亚", "吉隆坡", "malaysia", "kuala lumpur", "my", "mys"}}, + {Code: "TH", Name: "泰国", Keywords: []string{"泰国", "曼谷", "thailand", "bangkok", "th", "tha"}}, + {Code: "VN", Name: "越南", Keywords: []string{"越南", "胡志明", "河内", "vietnam", "hanoi", "saigon", "vn", "vnm"}}, + {Code: "PH", Name: "菲律宾", Keywords: []string{"菲律宾", "马尼拉", "philippines", "manila", "ph", "phl"}}, + {Code: "ID", Name: "印尼", Keywords: []string{"印尼", "印度尼西亚", "indonesia", "jakarta", "id", "idn"}}, + {Code: "MM", Name: "缅甸", Keywords: []string{"缅甸", "myanmar", "burma", "yangon", "mm", "mmr"}}, + {Code: "KH", Name: "柬埔寨", Keywords: []string{"柬埔寨", "cambodia", "phnom penh", "kh", "khm"}}, + {Code: "LA", Name: "老挝", Keywords: []string{"老挝", "laos", "vientiane", "la", "lao"}}, + {Code: "BN", Name: "文莱", Keywords: []string{"文莱", "brunei", "bn", "brn"}}, + {Code: "TL", Name: "东帝汶", Keywords: []string{"东帝汶", "timor", "dili", "tl", "tls"}}, + + // South Asia + {Code: "IN", Name: "印度", Keywords: []string{"印度", "india", "mumbai", "delhi", "bangalore", "in", "ind"}}, + {Code: "PK", Name: "巴基斯坦", Keywords: []string{"巴基斯坦", "pakistan", "karachi", "lahore", "pk", "pak"}}, + {Code: "BD", Name: "孟加拉国", Keywords: []string{"孟加拉", "bangladesh", "dhaka", "bd", "bgd"}}, + {Code: "LK", Name: "斯里兰卡", Keywords: []string{"斯里兰卡", "sri lanka", "colombo", "lk", "lka"}}, + {Code: "NP", Name: "尼泊尔", Keywords: []string{"尼泊尔", "nepal", "kathmandu", "np", "npl"}}, + {Code: "BT", Name: "不丹", Keywords: []string{"不丹", "bhutan", "thimphu", "bt", "btn"}}, + {Code: "MV", Name: "马尔代夫", Keywords: []string{"马尔代夫", "maldives", "male", "mv", "mdv"}}, + {Code: "AF", Name: "阿富汗", Keywords: []string{"阿富汗", "afghanistan", "kabul", "af", "afg"}}, + + // Central & West Asia + {Code: "KZ", Name: "哈萨克斯坦", Keywords: []string{"哈萨克斯坦", "kazakhstan", "almaty", "astana", "kz", "kaz"}}, + {Code: "UZ", Name: "乌兹别克斯坦", Keywords: []string{"乌兹别克斯坦", "uzbekistan", "tashkent", "uz", "uzb"}}, + {Code: "TM", Name: "土库曼斯坦", Keywords: []string{"土库曼斯坦", "turkmenistan", "ashgabat", "tm", "tkm"}}, + {Code: "KG", Name: "吉尔吉斯斯坦", Keywords: []string{"吉尔吉斯斯坦", "kyrgyzstan", "bishkek", "kg", "kgz"}}, + {Code: "TJ", Name: "塔吉克斯坦", Keywords: []string{"塔吉克斯坦", "tajikistan", "dushanbe", "tj", "tjk"}}, + {Code: "MN", Name: "蒙古", Keywords: []string{"蒙古", "mongolia", "ulaanbaatar", "mn", "mng"}}, + {Code: "IR", Name: "伊朗", Keywords: []string{"伊朗", "iran", "tehran", "ir", "irn"}}, + {Code: "IQ", Name: "伊拉克", Keywords: []string{"伊拉克", "iraq", "baghdad", "iq", "irq"}}, + {Code: "SA", Name: "沙特阿拉伯", Keywords: []string{"沙特", "沙特阿拉伯", "saudi arabia", "riyadh", "jeddah", "sa", "sau"}}, + {Code: "AE", Name: "阿联酋", Keywords: []string{"阿联酋", "迪拜", "uae", "dubai", "abu dhabi", "ae", "are"}}, + {Code: "QA", Name: "卡塔尔", Keywords: []string{"卡塔尔", "qatar", "doha", "qa", "qat"}}, + {Code: "KW", Name: "科威特", Keywords: []string{"科威特", "kuwait", "kw", "kwt"}}, + {Code: "BH", Name: "巴林", Keywords: []string{"巴林", "bahrain", "manama", "bh", "bhr"}}, + {Code: "OM", Name: "阿曼", Keywords: []string{"阿曼", "oman", "muscat", "om", "omn"}}, + {Code: "YE", Name: "也门", Keywords: []string{"也门", "yemen", "sanaa", "ye", "yem"}}, + {Code: "JO", Name: "约旦", Keywords: []string{"约旦", "jordan", "amman", "jo", "jor"}}, + {Code: "LB", Name: "黎巴嫩", Keywords: []string{"黎巴嫩", "lebanon", "beirut", "lb", "lbn"}}, + {Code: "SY", Name: "叙利亚", Keywords: []string{"叙利亚", "syria", "damascus", "sy", "syr"}}, + {Code: "IL", Name: "以色列", Keywords: []string{"以色列", "israel", "tel aviv", "jerusalem", "il", "isr"}}, + {Code: "PS", Name: "巴勒斯坦", Keywords: []string{"巴勒斯坦", "palestine", "gaza", "ps", "pse"}}, + {Code: "TR", Name: "土耳其", Keywords: []string{"土耳其", "turkey", "istanbul", "ankara", "tr", "tur"}}, + {Code: "CY", Name: "塞浦路斯", Keywords: []string{"塞浦路斯", "cyprus", "nicosia", "cy", "cyp"}}, + {Code: "AM", Name: "亚美尼亚", Keywords: []string{"亚美尼亚", "armenia", "yerevan", "am", "arm"}}, + {Code: "AZ", Name: "阿塞拜疆", Keywords: []string{"阿塞拜疆", "azerbaijan", "baku", "az", "aze"}}, + {Code: "GE", Name: "格鲁吉亚", Keywords: []string{"格鲁吉亚", "georgia", "tbilisi", "ge", "geo"}}, + + // Europe — Western + {Code: "GB", Name: "英国", Keywords: []string{"英国", "伦敦", "united kingdom", "britain", "london", "uk", "gb", "gbr"}}, + {Code: "IE", Name: "爱尔兰", Keywords: []string{"爱尔兰", "ireland", "dublin", "ie", "irl"}}, + {Code: "FR", Name: "法国", Keywords: []string{"法国", "巴黎", "france", "paris", "fr", "fra"}}, + {Code: "DE", Name: "德国", Keywords: []string{"德国", "法兰克福", "germany", "frankfurt", "berlin", "munich", "de", "deu"}}, + {Code: "NL", Name: "荷兰", Keywords: []string{"荷兰", "阿姆斯特丹", "netherlands", "amsterdam", "nl", "nld"}}, + {Code: "BE", Name: "比利时", Keywords: []string{"比利时", "belgium", "brussels", "be", "bel"}}, + {Code: "LU", Name: "卢森堡", Keywords: []string{"卢森堡", "luxembourg", "lu", "lux"}}, + {Code: "CH", Name: "瑞士", Keywords: []string{"瑞士", "switzerland", "zurich", "ch", "che"}}, + {Code: "AT", Name: "奥地利", Keywords: []string{"奥地利", "austria", "vienna", "at", "aut"}}, + {Code: "LI", Name: "列支敦士登", Keywords: []string{"列支敦士登", "liechtenstein", "li", "lie"}}, + {Code: "MC", Name: "摩纳哥", Keywords: []string{"摩纳哥", "monaco", "mc", "mco"}}, + {Code: "AD", Name: "安道尔", Keywords: []string{"安道尔", "andorra", "ad", "and"}}, + {Code: "ES", Name: "西班牙", Keywords: []string{"西班牙", "spain", "madrid", "barcelona", "es", "esp"}}, + {Code: "PT", Name: "葡萄牙", Keywords: []string{"葡萄牙", "portugal", "lisbon", "pt", "prt"}}, + {Code: "IT", Name: "意大利", Keywords: []string{"意大利", "italy", "milan", "rome", "it", "ita"}}, + {Code: "MT", Name: "马耳他", Keywords: []string{"马耳他", "malta", "valletta", "mt", "mlt"}}, + {Code: "SM", Name: "圣马力诺", Keywords: []string{"圣马力诺", "san marino", "sm", "smr"}}, + {Code: "VA", Name: "梵蒂冈", Keywords: []string{"梵蒂冈", "vatican", "va", "vat"}}, + + // Europe — Northern + {Code: "IS", Name: "冰岛", Keywords: []string{"冰岛", "iceland", "reykjavik", "is", "isl"}}, + {Code: "NO", Name: "挪威", Keywords: []string{"挪威", "norway", "oslo", "no", "nor"}}, + {Code: "SE", Name: "瑞典", Keywords: []string{"瑞典", "sweden", "stockholm", "se", "swe"}}, + {Code: "FI", Name: "芬兰", Keywords: []string{"芬兰", "finland", "helsinki", "fi", "fin"}}, + {Code: "DK", Name: "丹麦", Keywords: []string{"丹麦", "denmark", "copenhagen", "dk", "dnk"}}, + {Code: "EE", Name: "爱沙尼亚", Keywords: []string{"爱沙尼亚", "estonia", "tallinn", "ee", "est"}}, + {Code: "LV", Name: "拉脱维亚", Keywords: []string{"拉脱维亚", "latvia", "riga", "lv", "lva"}}, + {Code: "LT", Name: "立陶宛", Keywords: []string{"立陶宛", "lithuania", "vilnius", "lt", "ltu"}}, + + // Europe — Eastern + {Code: "RU", Name: "俄罗斯", Keywords: []string{"俄罗斯", "russia", "moscow", "saint petersburg", "ru", "rus"}}, + {Code: "UA", Name: "乌克兰", Keywords: []string{"乌克兰", "ukraine", "kyiv", "kiev", "ua", "ukr"}}, + {Code: "BY", Name: "白俄罗斯", Keywords: []string{"白俄罗斯", "belarus", "minsk", "by", "blr"}}, + {Code: "PL", Name: "波兰", Keywords: []string{"波兰", "poland", "warsaw", "pl", "pol"}}, + {Code: "CZ", Name: "捷克", Keywords: []string{"捷克", "czech", "prague", "cz", "cze"}}, + {Code: "SK", Name: "斯洛伐克", Keywords: []string{"斯洛伐克", "slovakia", "bratislava", "sk", "svk"}}, + {Code: "HU", Name: "匈牙利", Keywords: []string{"匈牙利", "hungary", "budapest", "hu", "hun"}}, + {Code: "RO", Name: "罗马尼亚", Keywords: []string{"罗马尼亚", "romania", "bucharest", "ro", "rou"}}, + {Code: "BG", Name: "保加利亚", Keywords: []string{"保加利亚", "bulgaria", "sofia", "bg", "bgr"}}, + {Code: "MD", Name: "摩尔多瓦", Keywords: []string{"摩尔多瓦", "moldova", "chisinau", "md", "mda"}}, + {Code: "RS", Name: "塞尔维亚", Keywords: []string{"塞尔维亚", "serbia", "belgrade", "rs", "srb"}}, + {Code: "ME", Name: "黑山", Keywords: []string{"黑山", "montenegro", "podgorica", "me", "mne"}}, + {Code: "BA", Name: "波黑", Keywords: []string{"波黑", "bosnia", "sarajevo", "ba", "bih"}}, + {Code: "HR", Name: "克罗地亚", Keywords: []string{"克罗地亚", "croatia", "zagreb", "hr", "hrv"}}, + {Code: "SI", Name: "斯洛文尼亚", Keywords: []string{"斯洛文尼亚", "slovenia", "ljubljana", "si", "svn"}}, + {Code: "MK", Name: "北马其顿", Keywords: []string{"北马其顿", "macedonia", "skopje", "mk", "mkd"}}, + {Code: "AL", Name: "阿尔巴尼亚", Keywords: []string{"阿尔巴尼亚", "albania", "tirana", "al", "alb"}}, + {Code: "XK", Name: "科索沃", Keywords: []string{"科索沃", "kosovo", "pristina", "xk", "xxk"}}, + + // Europe — Southern (Greece etc.) + {Code: "GR", Name: "希腊", Keywords: []string{"希腊", "greece", "athens", "gr", "grc"}}, + + // North America + {Code: "US", Name: "美国", Keywords: []string{"美国", "洛杉矶", "纽约", "西雅图", "硅谷", "芝加哥", "达拉斯", "迈阿密", "united states", "america", "usa", "us", "lax", "nyc", "sfo", "dfw", "mia"}}, + {Code: "CA", Name: "加拿大", Keywords: []string{"加拿大", "canada", "toronto", "vancouver", "montreal", "ca", "can"}}, + {Code: "MX", Name: "墨西哥", Keywords: []string{"墨西哥", "mexico", "mexico city", "guadalajara", "mx", "mex"}}, + {Code: "GT", Name: "危地马拉", Keywords: []string{"危地马拉", "guatemala", "gt", "gtm"}}, + {Code: "BZ", Name: "伯利兹", Keywords: []string{"伯利兹", "belize", "bz", "blz"}}, + {Code: "HN", Name: "洪都拉斯", Keywords: []string{"洪都拉斯", "honduras", "hn", "hnd"}}, + {Code: "SV", Name: "萨尔瓦多", Keywords: []string{"萨尔瓦多", "el salvador", "sv", "slv"}}, + {Code: "NI", Name: "尼加拉瓜", Keywords: []string{"尼加拉瓜", "nicaragua", "ni", "nic"}}, + {Code: "CR", Name: "哥斯达黎加", Keywords: []string{"哥斯达黎加", "costa rica", "cr", "cri"}}, + {Code: "PA", Name: "巴拿马", Keywords: []string{"巴拿马", "panama", "pa", "pan"}}, + {Code: "CU", Name: "古巴", Keywords: []string{"古巴", "cuba", "havana", "cu", "cub"}}, + {Code: "JM", Name: "牙买加", Keywords: []string{"牙买加", "jamaica", "kingston", "jm", "jam"}}, + {Code: "HT", Name: "海地", Keywords: []string{"海地", "haiti", "ht", "hti"}}, + {Code: "DO", Name: "多米尼加", Keywords: []string{"多米尼加", "dominican republic", "santo domingo", "do", "dom"}}, + {Code: "TT", Name: "特立尼达和多巴哥", Keywords: []string{"特立尼达", "trinidad", "tobago", "tt", "tto"}}, + {Code: "BS", Name: "巴哈马", Keywords: []string{"巴哈马", "bahamas", "nassau", "bs", "bhs"}}, + {Code: "BB", Name: "巴巴多斯", Keywords: []string{"巴巴多斯", "barbados", "bb", "brb"}}, + {Code: "PR", Name: "波多黎各", Keywords: []string{"波多黎各", "puerto rico", "pr", "pri"}}, + + // South America + {Code: "BR", Name: "巴西", Keywords: []string{"巴西", "brazil", "sao paulo", "rio", "br", "bra"}}, + {Code: "AR", Name: "阿根廷", Keywords: []string{"阿根廷", "argentina", "buenos aires", "ar", "arg"}}, + {Code: "CL", Name: "智利", Keywords: []string{"智利", "chile", "santiago", "cl", "chl"}}, + {Code: "CO", Name: "哥伦比亚", Keywords: []string{"哥伦比亚", "colombia", "bogota", "co", "col"}}, + {Code: "PE", Name: "秘鲁", Keywords: []string{"秘鲁", "peru", "lima", "pe", "per"}}, + {Code: "VE", Name: "委内瑞拉", Keywords: []string{"委内瑞拉", "venezuela", "caracas", "ve", "ven"}}, + {Code: "EC", Name: "厄瓜多尔", Keywords: []string{"厄瓜多尔", "ecuador", "quito", "ec", "ecu"}}, + {Code: "BO", Name: "玻利维亚", Keywords: []string{"玻利维亚", "bolivia", "bo", "bol"}}, + {Code: "PY", Name: "巴拉圭", Keywords: []string{"巴拉圭", "paraguay", "asuncion", "py", "pry"}}, + {Code: "UY", Name: "乌拉圭", Keywords: []string{"乌拉圭", "uruguay", "montevideo", "uy", "ury"}}, + {Code: "GY", Name: "圭亚那", Keywords: []string{"圭亚那", "guyana", "georgetown", "gy", "guy"}}, + {Code: "SR", Name: "苏里南", Keywords: []string{"苏里南", "suriname", "sr", "sur"}}, + {Code: "GF", Name: "法属圭亚那", Keywords: []string{"法属圭亚那", "french guiana", "gf", "guf"}}, + + // Oceania + {Code: "AU", Name: "澳大利亚", Keywords: []string{"澳大利亚", "澳洲", "悉尼", "墨尔本", "australia", "sydney", "melbourne", "au", "aus"}}, + {Code: "NZ", Name: "新西兰", Keywords: []string{"新西兰", "new zealand", "auckland", "wellington", "nz", "nzl"}}, + {Code: "FJ", Name: "斐济", Keywords: []string{"斐济", "fiji", "suva", "fj", "fji"}}, + {Code: "PG", Name: "巴布亚新几内亚", Keywords: []string{"巴布亚新几内亚", "papua new guinea", "port moresby", "pg", "png"}}, + {Code: "NC", Name: "新喀里多尼亚", Keywords: []string{"新喀里多尼亚", "new caledonia", "nc", "ncl"}}, + {Code: "PF", Name: "法属波利尼西亚", Keywords: []string{"法属波利尼西亚", "french polynesia", "tahiti", "pf", "pyf"}}, + {Code: "GU", Name: "关岛", Keywords: []string{"关岛", "guam", "gu", "gum"}}, + {Code: "AS", Name: "美属萨摩亚", Keywords: []string{"美属萨摩亚", "american samoa", "as", "asm"}}, + {Code: "WS", Name: "萨摩亚", Keywords: []string{"萨摩亚", "samoa", "apia", "ws", "wsm"}}, + {Code: "TO", Name: "汤加", Keywords: []string{"汤加", "tonga", "to", "ton"}}, + {Code: "VU", Name: "瓦努阿图", Keywords: []string{"瓦努阿图", "vanuatu", "vu", "vut"}}, + {Code: "SB", Name: "所罗门群岛", Keywords: []string{"所罗门群岛", "solomon islands", "sb", "slb"}}, + {Code: "KI", Name: "基里巴斯", Keywords: []string{"基里巴斯", "kiribati", "ki", "kir"}}, + {Code: "MH", Name: "马绍尔群岛", Keywords: []string{"马绍尔群岛", "marshall islands", "mh", "mhl"}}, + {Code: "FM", Name: "密克罗尼西亚", Keywords: []string{"密克罗尼西亚", "micronesia", "fm", "fsm"}}, + {Code: "PW", Name: "帕劳", Keywords: []string{"帕劳", "palau", "pw", "plw"}}, + {Code: "NR", Name: "瑙鲁", Keywords: []string{"瑙鲁", "nauru", "nr", "nru"}}, + {Code: "TV", Name: "图瓦卢", Keywords: []string{"图瓦卢", "tuvalu", "tv", "tuv"}}, + + // North Africa + {Code: "EG", Name: "埃及", Keywords: []string{"埃及", "egypt", "cairo", "eg", "egy"}}, + {Code: "LY", Name: "利比亚", Keywords: []string{"利比亚", "libya", "tripoli", "ly", "lby"}}, + {Code: "TN", Name: "突尼斯", Keywords: []string{"突尼斯", "tunisia", "tunis", "tn", "tun"}}, + {Code: "DZ", Name: "阿尔及利亚", Keywords: []string{"阿尔及利亚", "algeria", "algiers", "dz", "dza"}}, + {Code: "MA", Name: "摩洛哥", Keywords: []string{"摩洛哥", "morocco", "casablanca", "rabat", "ma", "mar"}}, + {Code: "SD", Name: "苏丹", Keywords: []string{"苏丹", "sudan", "khartoum", "sd", "sdn"}}, + + // West Africa + {Code: "NG", Name: "尼日利亚", Keywords: []string{"尼日利亚", "nigeria", "lagos", "abuja", "ng", "nga"}}, + {Code: "GH", Name: "加纳", Keywords: []string{"加纳", "ghana", "accra", "gh", "gha"}}, + {Code: "CI", Name: "科特迪瓦", Keywords: []string{"科特迪瓦", "ivory coast", "cote d'ivoire", "abidjan", "ci", "civ"}}, + {Code: "SN", Name: "塞内加尔", Keywords: []string{"塞内加尔", "senegal", "dakar", "sn", "sen"}}, + {Code: "ML", Name: "马里", Keywords: []string{"马里", "mali", "bamako", "ml", "mli"}}, + {Code: "BF", Name: "布基纳法索", Keywords: []string{"布基纳法索", "burkina faso", "bf", "bfa"}}, + {Code: "NE", Name: "尼日尔", Keywords: []string{"尼日尔", "niger", "niamey", "ne", "ner"}}, + {Code: "GN", Name: "几内亚", Keywords: []string{"几内亚", "guinea", "conakry", "gn", "gin"}}, + {Code: "GW", Name: "几内亚比绍", Keywords: []string{"几内亚比绍", "guinea bissau", "gw", "gnb"}}, + {Code: "SL", Name: "塞拉利昂", Keywords: []string{"塞拉利昂", "sierra leone", "freetown", "sl", "sle"}}, + {Code: "LR", Name: "利比里亚", Keywords: []string{"利比里亚", "liberia", "monrovia", "lr", "lbr"}}, + {Code: "TG", Name: "多哥", Keywords: []string{"多哥", "togo", "lome", "tg", "tgo"}}, + {Code: "BJ", Name: "贝宁", Keywords: []string{"贝宁", "benin", "porto novo", "bj", "ben"}}, + {Code: "GM", Name: "冈比亚", Keywords: []string{"冈比亚", "gambia", "banjul", "gm", "gmb"}}, + {Code: "CV", Name: "佛得角", Keywords: []string{"佛得角", "cape verde", "cv", "cpv"}}, + {Code: "MR", Name: "毛里塔尼亚", Keywords: []string{"毛里塔尼亚", "mauritania", "mr", "mrt"}}, + + // Central Africa + {Code: "CM", Name: "喀麦隆", Keywords: []string{"喀麦隆", "cameroon", "yaounde", "cm", "cmr"}}, + {Code: "CF", Name: "中非", Keywords: []string{"中非", "central african", "bangui", "cf", "caf"}}, + {Code: "TD", Name: "乍得", Keywords: []string{"乍得", "chad", "ndjamena", "td", "tcd"}}, + {Code: "CG", Name: "刚果布", Keywords: []string{"刚果布", "republic of congo", "brazzaville", "cg", "cog"}}, + {Code: "CD", Name: "刚果金", Keywords: []string{"刚果金", "democratic republic of congo", "kinshasa", "cd", "cod"}}, + {Code: "GA", Name: "加蓬", Keywords: []string{"加蓬", "gabon", "libreville", "ga", "gab"}}, + {Code: "GQ", Name: "赤道几内亚", Keywords: []string{"赤道几内亚", "equatorial guinea", "gq", "gnq"}}, + {Code: "ST", Name: "圣多美和普林西比", Keywords: []string{"圣多美", "sao tome", "st", "stp"}}, + + // East Africa + {Code: "ET", Name: "埃塞俄比亚", Keywords: []string{"埃塞俄比亚", "ethiopia", "addis ababa", "et", "eth"}}, + {Code: "KE", Name: "肯尼亚", Keywords: []string{"肯尼亚", "kenya", "nairobi", "ke", "ken"}}, + {Code: "TZ", Name: "坦桑尼亚", Keywords: []string{"坦桑尼亚", "tanzania", "dar es salaam", "tz", "tza"}}, + {Code: "UG", Name: "乌干达", Keywords: []string{"乌干达", "uganda", "kampala", "ug", "uga"}}, + {Code: "RW", Name: "卢旺达", Keywords: []string{"卢旺达", "rwanda", "kigali", "rw", "rwa"}}, + {Code: "BI", Name: "布隆迪", Keywords: []string{"布隆迪", "burundi", "bujumbura", "bi", "bdi"}}, + {Code: "SO", Name: "索马里", Keywords: []string{"索马里", "somalia", "mogadishu", "so", "som"}}, + {Code: "DJ", Name: "吉布提", Keywords: []string{"吉布提", "djibouti", "dj", "dji"}}, + {Code: "ER", Name: "厄立特里亚", Keywords: []string{"厄立特里亚", "eritrea", "asmara", "er", "eri"}}, + {Code: "SS", Name: "南苏丹", Keywords: []string{"南苏丹", "south sudan", "juba", "ss", "ssd"}}, + {Code: "SC", Name: "塞舌尔", Keywords: []string{"塞舌尔", "seychelles", "sc", "syc"}}, + {Code: "MU", Name: "毛里求斯", Keywords: []string{"毛里求斯", "mauritius", "mu", "mus"}}, + {Code: "KM", Name: "科摩罗", Keywords: []string{"科摩罗", "comoros", "km", "com"}}, + {Code: "MG", Name: "马达加斯加", Keywords: []string{"马达加斯加", "madagascar", "antananarivo", "mg", "mdg"}}, + {Code: "MW", Name: "马拉维", Keywords: []string{"马拉维", "malawi", "lilongwe", "mw", "mwi"}}, + {Code: "ZM", Name: "赞比亚", Keywords: []string{"赞比亚", "zambia", "lusaka", "zm", "zmb"}}, + {Code: "ZW", Name: "津巴布韦", Keywords: []string{"津巴布韦", "zimbabwe", "harare", "zw", "zwe"}}, + {Code: "MZ", Name: "莫桑比克", Keywords: []string{"莫桑比克", "mozambique", "maputo", "mz", "moz"}}, + {Code: "AO", Name: "安哥拉", Keywords: []string{"安哥拉", "angola", "luanda", "ao", "ago"}}, + {Code: "NA", Name: "纳米比亚", Keywords: []string{"纳米比亚", "namibia", "windhoek", "na", "nam"}}, + {Code: "BW", Name: "博茨瓦纳", Keywords: []string{"博茨瓦纳", "botswana", "gaborone", "bw", "bwa"}}, + {Code: "LS", Name: "莱索托", Keywords: []string{"莱索托", "lesotho", "ls", "lso"}}, + {Code: "SZ", Name: "斯威士兰", Keywords: []string{"斯威士兰", "eswatini", "swaziland", "sz", "swz"}}, + + // Southern Africa + {Code: "ZA", Name: "南非", Keywords: []string{"南非", "south africa", "johannesburg", "cape town", "za", "zaf"}}, + + // Caribbean & Atlantic territories + {Code: "BM", Name: "百慕大", Keywords: []string{"百慕大", "bermuda", "bm", "bmu"}}, + {Code: "KY", Name: "开曼群岛", Keywords: []string{"开曼群岛", "cayman", "ky", "cym"}}, + {Code: "VG", Name: "英属维尔京群岛", Keywords: []string{"英属维尔京", "british virgin", "vg", "vgb"}}, + {Code: "VI", Name: "美属维尔京群岛", Keywords: []string{"美属维尔京", "us virgin", "vi", "vir"}}, + {Code: "AW", Name: "阿鲁巴", Keywords: []string{"阿鲁巴", "aruba", "aw", "abw"}}, + {Code: "CW", Name: "库拉索", Keywords: []string{"库拉索", "curacao", "cw", "cuw"}}, + {Code: "AG", Name: "安提瓜和巴布达", Keywords: []string{"安提瓜", "antigua", "ag", "atg"}}, + {Code: "DM", Name: "多米尼克", Keywords: []string{"多米尼克", "dominica", "dm", "dma"}}, + {Code: "GD", Name: "格林纳达", Keywords: []string{"格林纳达", "grenada", "gd", "grd"}}, + {Code: "KN", Name: "圣基茨和尼维斯", Keywords: []string{"圣基茨", "saint kitts", "kn", "kna"}}, + {Code: "LC", Name: "圣卢西亚", Keywords: []string{"圣卢西亚", "saint lucia", "lc", "lca"}}, + {Code: "VC", Name: "圣文森特", Keywords: []string{"圣文森特", "saint vincent", "vc", "vct"}}, + + // European territories & microstates + {Code: "GI", Name: "直布罗陀", Keywords: []string{"直布罗陀", "gibraltar", "gi", "gib"}}, + {Code: "FO", Name: "法罗群岛", Keywords: []string{"法罗群岛", "faroe", "fo", "fro"}}, + {Code: "GL", Name: "格陵兰", Keywords: []string{"格陵兰", "greenland", "gl", "grl"}}, + {Code: "JE", Name: "泽西岛", Keywords: []string{"泽西岛", "jersey", "je", "jey"}}, + {Code: "GG", Name: "根西岛", Keywords: []string{"根西岛", "guernsey", "gg", "ggy"}}, + {Code: "IM", Name: "马恩岛", Keywords: []string{"马恩岛", "isle of man", "im", "imn"}}, + {Code: "RE", Name: "留尼汪", Keywords: []string{"留尼汪", "reunion", "re", "reu"}}, + {Code: "GP", Name: "瓜德罗普", Keywords: []string{"瓜德罗普", "guadeloupe", "gp", "glp"}}, + {Code: "MQ", Name: "马提尼克", Keywords: []string{"马提尼克", "martinique", "mq", "mtq"}}, +} diff --git a/internal/country/detect.go b/internal/country/detect.go new file mode 100644 index 0000000..011dcaa --- /dev/null +++ b/internal/country/detect.go @@ -0,0 +1,166 @@ +package country + +import ( + "sort" + "strings" +) + +type entry struct { + Code string + Name string + Keywords []string +} + +var ( + sortedKeywords []keywordMatch + nameByCode map[string]string +) + +type keywordMatch struct { + keyword string + code string +} + +func init() { + nameByCode = make(map[string]string, len(catalog)) + for _, e := range catalog { + nameByCode[e.Code] = e.Name + for _, kw := range e.Keywords { + sortedKeywords = append(sortedKeywords, keywordMatch{keyword: strings.ToLower(kw), code: e.Code}) + } + } + sort.Slice(sortedKeywords, func(i, j int) bool { + return len(sortedKeywords[i].keyword) > len(sortedKeywords[j].keyword) + }) +} + +// Detect returns ISO-like country code from node name, or empty string. +func Detect(name string) string { + lower := strings.ToLower(strings.TrimSpace(name)) + if lower == "" { + return "" + } + normalized := strings.NewReplacer( + "_", " ", "-", " ", "|", " ", "/", " ", "[", " ", "]", " ", + "(", " ", ")", " ", "【", " ", "】", " ", "(", " ", ")", " ", + ).Replace(lower) + padded := " " + normalized + " " + for _, m := range sortedKeywords { + kw := m.keyword + if len(kw) <= 2 { + continue + } + if keywordMatches(padded, kw) { + return m.code + } + } + for _, tok := range strings.Fields(normalized) { + tok = strings.TrimSpace(tok) + if tok == "" { + continue + } + if len(tok) == 2 { + if _, ok := nameByCode[strings.ToUpper(tok)]; ok { + return strings.ToUpper(tok) + } + continue + } + if len(tok) > 2 { + prefix := strings.ToUpper(tok[:2]) + if _, ok := nameByCode[prefix]; !ok { + continue + } + suffix := tok[2:] + if suffix == "" { + continue + } + allDigits := true + for _, r := range suffix { + if r < '0' || r > '9' { + allDigits = false + break + } + } + if allDigits { + return prefix + } + } + } + return "" +} + +// Name returns Chinese display name for a country code. +func Name(code string) string { + if n, ok := nameByCode[strings.ToUpper(code)]; ok { + return n + } + return code +} + +// GroupRuntime returns Mihomo proxy-group name for a country pool. +func GroupRuntime(code string) string { + return "country_" + strings.ToUpper(strings.TrimSpace(code)) +} + +// TargetAlias returns rule target alias stored in DB, e.g. country:HK. +func TargetAlias(code string) string { + return "country:" + strings.ToUpper(strings.TrimSpace(code)) +} + +// ParseTargetAlias parses country:XX to code, ok false if not a country target. +func ParseTargetAlias(target string) (string, bool) { + if !strings.HasPrefix(strings.ToLower(target), "country:") { + return "", false + } + code := strings.TrimSpace(target[len("country:"):]) + if code == "" { + return "", false + } + return strings.ToUpper(code), true +} + +// All returns catalog entries for UI. +func All() []struct{ Code, Name string } { + out := make([]struct{ Code, Name string }, 0, len(catalog)) + for _, e := range catalog { + out = append(out, struct{ Code, Name string }{Code: e.Code, Name: e.Name}) + } + return out +} + +func keywordMatches(text, kw string) bool { + if !strings.Contains(text, kw) { + return false + } + if containsHan(kw) { + return true + } + start := 0 + for { + idx := strings.Index(text[start:], kw) + if idx < 0 { + return false + } + pos := start + idx + before := pos == 0 || !isASCIIAlphaNum(text[pos-1]) + afterEnd := pos + len(kw) + after := afterEnd >= len(text) || !isASCIIAlphaNum(text[afterEnd]) + if before && after { + return true + } + start = pos + 1 + } +} + +func isASCIIAlphaNum(b byte) bool { + return (b >= 'a' && b <= 'z') || (b >= '0' && b <= '9') +} + +func containsHan(s string) bool { + for _, r := range s { + if r >= 0x4e00 && r <= 0x9fff { + return true + } + } + return false +} diff --git a/internal/country/detect_test.go b/internal/country/detect_test.go new file mode 100644 index 0000000..1c3d88c --- /dev/null +++ b/internal/country/detect_test.go @@ -0,0 +1,56 @@ +package country + +import "testing" + +func TestDetectCountry(t *testing.T) { + cases := map[string]string{ + "香港 01 | IEPL": "HK", + "🇺🇸美国洛杉矶": "US", + "日本东京专线": "JP", + "Singapore-01": "SG", + "KR首尔": "KR", + "台湾节点": "TW", + "DE法兰克福": "DE", + "HK 01": "HK", + "墨西哥城 01": "MX", + "Mexico City": "MX", + "南非 约翰内斯堡": "ZA", + "South Africa JNB": "ZA", + "新西兰 奥克兰": "NZ", + "New Zealand Auckland": "NZ", + "尼日利亚 拉各斯": "NG", + "Nigeria Lagos": "NG", + "冰岛 雷克雅未克": "IS", + "Iceland Reykjavik": "IS", + "random node": "", + } + for name, want := range cases { + if got := Detect(name); got != want { + t.Fatalf("%q: want %q got %q", name, want, got) + } + } +} + +func TestTargetAlias(t *testing.T) { + code, ok := ParseTargetAlias("country:hk") + if !ok || code != "HK" { + t.Fatalf("parse failed: %v %q", ok, code) + } + if GroupRuntime("HK") != "country_HK" { + t.Fatal("group runtime name") + } +} + +func TestCatalogCoverage(t *testing.T) { + if len(catalog) < 150 { + t.Fatalf("expected comprehensive catalog, got %d entries", len(catalog)) + } + for _, e := range catalog { + if e.Code == "" || e.Name == "" || len(e.Keywords) == 0 { + t.Fatalf("invalid entry: %+v", e) + } + if Name(e.Code) != e.Name { + t.Fatalf("name mismatch for %s", e.Code) + } + } +} diff --git a/internal/geodata/geodata.go b/internal/geodata/geodata.go new file mode 100644 index 0000000..cdf0629 --- /dev/null +++ b/internal/geodata/geodata.go @@ -0,0 +1,149 @@ +package geodata + +import ( + "fmt" + "io" + "net/http" + "os" + "path/filepath" + "strings" + "time" + + "github.com/metacubex/mihomo/component/geodata" + C "github.com/metacubex/mihomo/constant" +) + +const DefaultBase = "https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest" + +type Config struct { + CountryMmdbURL string + GeoIPURL string + GeoSiteURL string +} + +type FileSpec struct { + Name string + URL func(Config) string +} + +var fileSpecs = []FileSpec{ + {Name: "Country.mmdb", URL: func(c Config) string { return c.CountryMmdbURL }}, + {Name: "geoip.dat", URL: func(c Config) string { return c.GeoIPURL }}, + {Name: "geosite.dat", URL: func(c Config) string { return c.GeoSiteURL }}, +} + +func DefaultConfig() Config { + return Config{ + CountryMmdbURL: DefaultBase + "/Country.mmdb", + GeoIPURL: DefaultBase + "/geoip.dat", + GeoSiteURL: DefaultBase + "/geosite.dat", + } +} + +func ConfigFromSettings(settings map[string]string) Config { + def := DefaultConfig() + return Config{ + CountryMmdbURL: pickURL(settings["geo_country_mmdb_url"], def.CountryMmdbURL), + GeoIPURL: pickURL(settings["geo_geoip_url"], def.GeoIPURL), + GeoSiteURL: pickURL(settings["geo_geosite_url"], def.GeoSiteURL), + } +} + +func pickURL(value, fallback string) string { + value = strings.TrimSpace(value) + if value == "" { + return fallback + } + return value +} + +func InitHomeDir(dataDir string) string { + geoDir := filepath.Join(dataDir, "geo") + _ = os.MkdirAll(geoDir, 0o755) + C.SetHomeDir(geoDir) + return geoDir +} + +func ApplyMihomoURLs(cfg Config) { + geodata.SetMmdbUrl(cfg.CountryMmdbURL) + geodata.SetGeoIpUrl(cfg.GeoIPURL) + geodata.SetGeoSiteUrl(cfg.GeoSiteURL) + geodata.SetASNUrl(DefaultBase + "/GeoLite2-ASN.mmdb") +} + +type FileStatus struct { + Name string `json:"name"` + Exists bool `json:"exists"` + Size int64 `json:"size"` + URL string `json:"url"` +} + +func Status(dataDir string, cfg Config) []FileStatus { + geoDir := filepath.Join(dataDir, "geo") + out := make([]FileStatus, 0, len(fileSpecs)) + for _, spec := range fileSpecs { + dest := filepath.Join(geoDir, spec.Name) + item := FileStatus{Name: spec.Name, URL: spec.URL(cfg)} + if st, err := os.Stat(dest); err == nil && st.Size() > 0 { + item.Exists = true + item.Size = st.Size() + } + out = append(out, item) + } + return out +} + +func Ready(dataDir string) bool { + geoDir := filepath.Join(dataDir, "geo") + for _, spec := range fileSpecs { + st, err := os.Stat(filepath.Join(geoDir, spec.Name)) + if err != nil || st.Size() == 0 { + return false + } + } + return true +} + +// Ensure downloads missing geo files. When force is true, all files are re-downloaded. +func Ensure(dataDir string, cfg Config, force bool) ([]string, error) { + geoDir := InitHomeDir(dataDir) + client := &http.Client{Timeout: 120 * time.Second} + var updated []string + for _, spec := range fileSpecs { + dest := filepath.Join(geoDir, spec.Name) + if !force { + if st, err := os.Stat(dest); err == nil && st.Size() > 0 { + continue + } + } + url := spec.URL(cfg) + if err := downloadFile(client, url, dest); err != nil { + return updated, fmt.Errorf("download %s: %w (place files manually in %s)", spec.Name, err, geoDir) + } + updated = append(updated, spec.Name) + } + return updated, nil +} + +func downloadFile(client *http.Client, url, dest string) error { + resp, err := client.Get(url) + if err != nil { + return err + } + defer resp.Body.Close() + if resp.StatusCode >= 400 { + return fmt.Errorf("HTTP %d", resp.StatusCode) + } + tmp := dest + ".tmp" + f, err := os.Create(tmp) + if err != nil { + return err + } + if _, err := io.Copy(f, resp.Body); err != nil { + f.Close() + os.Remove(tmp) + return err + } + f.Close() + return os.Rename(tmp, dest) +} diff --git a/internal/geodata/geodata_test.go b/internal/geodata/geodata_test.go new file mode 100644 index 0000000..f6568ea --- /dev/null +++ b/internal/geodata/geodata_test.go @@ -0,0 +1,23 @@ +package geodata + +import "testing" + +func TestConfigFromSettingsUsesDefaults(t *testing.T) { + cfg := ConfigFromSettings(map[string]string{}) + def := DefaultConfig() + if cfg.CountryMmdbURL != def.CountryMmdbURL || cfg.GeoIPURL != def.GeoIPURL || cfg.GeoSiteURL != def.GeoSiteURL { + t.Fatalf("expected defaults, got %+v", cfg) + } +} + +func TestConfigFromSettingsOverrides(t *testing.T) { + cfg := ConfigFromSettings(map[string]string{ + "geo_geoip_url": "https://example.com/geoip.dat", + }) + if cfg.GeoIPURL != "https://example.com/geoip.dat" { + t.Fatalf("got %q", cfg.GeoIPURL) + } + if cfg.GeoSiteURL != DefaultConfig().GeoSiteURL { + t.Fatalf("expected default geosite url") + } +} diff --git a/internal/health/checker.go b/internal/health/checker.go new file mode 100644 index 0000000..244b7f1 --- /dev/null +++ b/internal/health/checker.go @@ -0,0 +1,170 @@ +package health + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + "sync/atomic" + "time" + + "github.com/prism/proxy/internal/cache" + "github.com/prism/proxy/internal/store" +) + +type ReloadFunc func(ctx context.Context) error + +type Checker struct { + store *store.Store + cache *cache.Cache + apiBase string + secret string + client *http.Client + testing atomic.Bool +} + +func NewChecker(s *store.Store, c *cache.Cache, apiBase, secret string) *Checker { + return &Checker{ + store: s, + cache: c, + apiBase: stringsTrimRight(apiBase, "/"), + secret: secret, + client: &http.Client{ + Timeout: 10 * time.Second, + }, + } +} + +func stringsTrimRight(s, cut string) string { + for len(s) > 0 && stringsHasSuffix(s, cut) { + s = s[:len(s)-len(cut)] + } + return s +} + +func stringsHasSuffix(s, suffix string) bool { + return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix +} + +func (h *Checker) TestNode(ctx context.Context, nodeID int64, reload ReloadFunc) (int, error) { + node, err := h.store.GetProxyNode(ctx, nodeID) + if err != nil { + return -1, err + } + latency, err := h.testRuntimeName(node.RuntimeName) + if isNotFound(err) && reload != nil { + if reloadErr := reload(ctx); reloadErr == nil { + latency, err = h.testRuntimeName(node.RuntimeName) + } + } + if isNotFound(err) { + err = fmt.Errorf("proxy %q not loaded in engine; reload engine in settings", node.RuntimeName) + } + alive := err == nil && latency >= 0 + lat := latency + if !alive { + lat = -1 + } + _ = h.store.UpdateProxyNodeHealth(ctx, nodeID, lat, alive) + h.cache.SetProxyLatency(node.RuntimeName, lat) + return lat, err +} + +func (h *Checker) TestAll(ctx context.Context, _ ReloadFunc) error { + if !h.testing.CompareAndSwap(false, true) { + return nil + } + go func() { + defer h.testing.Store(false) + nodes, err := h.store.ListProxyNodes(context.Background(), "", nil) + if err != nil { + return + } + for _, n := range nodes { + if !n.Enabled { + continue + } + _, _ = h.TestNode(context.Background(), n.ID, nil) + } + }() + return nil +} + +func (h *Checker) ProxyLoaded(name string) bool { + data, err := h.getJSON("/proxies") + if err != nil { + return false + } + proxies, ok := data["proxies"].(map[string]any) + if !ok { + return false + } + _, ok = proxies[name] + return ok +} + +func (h *Checker) testRuntimeName(name string) (int, error) { + testURL := fmt.Sprintf("%s/proxies/%s/delay?timeout=5000&url=%s", h.apiBase, url.PathEscape(name), url.QueryEscape("http://www.gstatic.com/generate_204")) + req, err := http.NewRequest(http.MethodGet, testURL, nil) + if err != nil { + return -1, err + } + if h.secret != "" { + req.Header.Set("Authorization", "Bearer "+h.secret) + } + resp, err := h.client.Do(req) + if err != nil { + return -1, err + } + defer resp.Body.Close() + body, _ := io.ReadAll(resp.Body) + if resp.StatusCode >= 400 { + return -1, fmt.Errorf("delay test failed: %s", string(body)) + } + var result struct { + Delay int `json:"delay"` + } + if err := json.Unmarshal(body, &result); err != nil { + return -1, err + } + return result.Delay, nil +} + +func (h *Checker) getJSON(path string) (map[string]any, error) { + req, err := http.NewRequest(http.MethodGet, h.apiBase+path, nil) + if err != nil { + return nil, err + } + if h.secret != "" { + req.Header.Set("Authorization", "Bearer "+h.secret) + } + resp, err := h.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + if resp.StatusCode >= 400 { + return nil, fmt.Errorf("api error %d: %s", resp.StatusCode, string(body)) + } + var out map[string]any + if err := json.Unmarshal(body, &out); err != nil { + return nil, err + } + return out, nil +} + +func isNotFound(err error) bool { + return err != nil && strings.Contains(err.Error(), "Resource not found") +} + +func (h *Checker) UpdateAPIBase(apiBase, secret string) { + h.apiBase = stringsTrimRight(apiBase, "/") + h.secret = secret +} diff --git a/internal/log/collector.go b/internal/log/collector.go new file mode 100644 index 0000000..65003cb --- /dev/null +++ b/internal/log/collector.go @@ -0,0 +1,67 @@ +package applog + +import ( + "context" + "sync" + "time" + + "github.com/prism/proxy/internal/store" +) + +type Entry struct { + Level string `json:"level"` + Source string `json:"source"` + Message string `json:"message"` + CreatedAt time.Time `json:"created_at"` +} + +type Collector struct { + mu sync.RWMutex + ring []Entry + cap int + store *store.Store + persist bool +} + +func NewCollector(s *store.Store, capacity int, persist bool) *Collector { + return &Collector{ + ring: make([]Entry, 0, capacity), + cap: capacity, + store: s, + persist: persist, + } +} + +func (c *Collector) Add(level, source, message string) { + e := Entry{ + Level: level, + Source: source, + Message: message, + CreatedAt: time.Now(), + } + c.mu.Lock() + if len(c.ring) >= c.cap { + c.ring = c.ring[1:] + } + c.ring = append(c.ring, e) + c.mu.Unlock() + + if c.persist && c.store != nil { + _ = c.store.AddRequestLog(context.Background(), level, source, message) + } +} + +func (c *Collector) List(limit int) []Entry { + c.mu.RLock() + defer c.mu.RUnlock() + if limit <= 0 || limit > len(c.ring) { + limit = len(c.ring) + } + start := len(c.ring) - limit + if start < 0 { + start = 0 + } + out := make([]Entry, limit) + copy(out, c.ring[start:]) + return out +} diff --git a/internal/metrics/breakdown.go b/internal/metrics/breakdown.go new file mode 100644 index 0000000..9b1662a --- /dev/null +++ b/internal/metrics/breakdown.go @@ -0,0 +1,173 @@ +package metrics + +import ( + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/store" +) + +type TrafficItem struct { + Key string `json:"key"` + Label string `json:"label"` + Node string `json:"node,omitempty"` + NodeKey string `json:"node_key,omitempty"` + Upload int64 `json:"upload"` + Download int64 `json:"download"` + Total int64 `json:"total"` + Connections int `json:"connections"` +} + +func AggregateConnections(conns []map[string]any, policyGroups map[string]bool) (domains, nodes []TrafficItem) { + domainMap := map[string]*TrafficItem{} + nodeMap := map[string]*TrafficItem{} + + for _, conn := range conns { + host := connHost(conn) + nodeKey := connLeafNode(conn, policyGroups) + up := toInt64(conn["upload"]) + down := toInt64(conn["download"]) + + if host != "" { + key := host + "\x00" + nodeKey + acc(domainMap, key, up, down) + item := domainMap[key] + item.Label = host + item.NodeKey = nodeKey + } + if nodeKey != "" { + acc(nodeMap, nodeKey, up, down) + } + } + return sortTrafficItems(domainMap), sortTrafficItems(nodeMap) +} + +func acc(m map[string]*TrafficItem, key string, up, down int64) { + item, ok := m[key] + if !ok { + item = &TrafficItem{Key: key, Label: key} + m[key] = item + } + item.Upload += up + item.Download += down + item.Total += up + down + item.Connections++ +} + +func sortTrafficItems(m map[string]*TrafficItem) []TrafficItem { + out := make([]TrafficItem, 0, len(m)) + for _, v := range m { + out = append(out, *v) + } + for i := 0; i < len(out); i++ { + for j := i + 1; j < len(out); j++ { + if out[j].Total > out[i].Total { + out[i], out[j] = out[j], out[i] + } + } + } + return out +} + +func connHost(m map[string]any) string { + meta, _ := m["metadata"].(map[string]any) + if meta == nil { + return "" + } + if h, ok := meta["host"].(string); ok && h != "" { + return h + } + if h, ok := meta["sniffHost"].(string); ok && h != "" { + return h + } + if h, ok := meta["remoteDestination"].(string); ok && h != "" { + return h + } + if ip, ok := meta["destinationIP"].(string); ok && ip != "" { + port, _ := meta["destinationPort"].(string) + if port != "" { + return ip + ":" + port + } + return ip + } + return "" +} + +func connLeafNode(m map[string]any, policyGroups map[string]bool) string { + return mihomoapi.ResolveLeafOutbound(mihomoapi.ChainStringsFromAny(m["chains"]), policyGroups) +} + +func toInt64(v any) int64 { + switch n := v.(type) { + case float64: + return int64(n) + case int64: + return n + case int: + return int64(n) + default: + return 0 + } +} + +func ApplyTrafficLabels(items []TrafficItem, names map[string]string) []TrafficItem { + out := make([]TrafficItem, len(items)) + for i, item := range items { + out[i] = item + if label, ok := names[item.Key]; ok && label != "" { + out[i].Label = label + } + } + return out +} + +func ApplyDomainLabels(items []TrafficItem, names map[string]string) []TrafficItem { + out := make([]TrafficItem, len(items)) + for i, item := range items { + out[i] = item + if label, ok := names[item.NodeKey]; ok && label != "" { + out[i].Node = label + } else if item.NodeKey != "" { + out[i].Node = item.NodeKey + } + } + return out +} + +func TrafficAggToItems(aggs []store.TrafficAgg, names map[string]string) []TrafficItem { + out := make([]TrafficItem, 0, len(aggs)) + for _, a := range aggs { + label := a.Key + if n, ok := names[a.Key]; ok && n != "" { + label = n + } + out = append(out, TrafficItem{ + Key: a.Key, + Label: label, + Upload: a.Upload, + Download: a.Download, + Total: a.Upload + a.Download, + Connections: a.Connections, + }) + } + return out +} + +func TrafficHostNodeAggToItems(aggs []store.TrafficHostNodeAgg, names map[string]string) []TrafficItem { + out := make([]TrafficItem, 0, len(aggs)) + for _, a := range aggs { + nodeLabel := a.NodeKey + if n, ok := names[a.NodeKey]; ok && n != "" { + nodeLabel = n + } + out = append(out, TrafficItem{ + Key: a.Host + "\x00" + a.NodeKey, + Label: a.Host, + Node: nodeLabel, + NodeKey: a.NodeKey, + Upload: a.Upload, + Download: a.Download, + Total: a.Upload + a.Download, + Connections: a.Connections, + }) + } + return out +} diff --git a/internal/metrics/breakdown_test.go b/internal/metrics/breakdown_test.go new file mode 100644 index 0000000..da94049 --- /dev/null +++ b/internal/metrics/breakdown_test.go @@ -0,0 +1,46 @@ +package metrics + +import "testing" + +func TestAggregateConnections(t *testing.T) { + groups := map[string]bool{ + "PROXY": true, + "country_HK": true, + } + conns := []map[string]any{ + { + "upload": float64(100), + "download": float64(200), + "metadata": map[string]any{"host": "www.google.com"}, + "chains": []any{"PROXY", "node_us_1"}, + }, + { + "upload": float64(50), + "download": float64(150), + "metadata": map[string]any{"host": "www.google.com"}, + "chains": []any{"country_HK", "node_us_1"}, + }, + { + "upload": float64(10), + "download": float64(20), + "metadata": map[string]any{"host": "api.github.com"}, + "chains": []any{"DIRECT"}, + }, + } + domains, nodes := AggregateConnections(conns, groups) + if len(domains) != 2 { + t.Fatalf("domains: want 2 got %d", len(domains)) + } + if domains[0].Label != "www.google.com" || domains[0].NodeKey != "node_us_1" || domains[0].Total != 500 { + t.Fatalf("google row: %+v", domains[0]) + } + if domains[1].Label != "api.github.com" || domains[1].NodeKey != "DIRECT" { + t.Fatalf("github row: %+v", domains[1]) + } + if len(nodes) != 2 { + t.Fatalf("nodes: want 2 got %d: %+v", len(nodes), nodes) + } + if nodes[0].Key != "node_us_1" { + t.Fatalf("top node: %+v", nodes[0]) + } +} diff --git a/internal/metrics/collector.go b/internal/metrics/collector.go new file mode 100644 index 0000000..dfebfcb --- /dev/null +++ b/internal/metrics/collector.go @@ -0,0 +1,237 @@ +package metrics + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "sync" + "time" + + "github.com/prism/proxy/internal/cache" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/store" +) + +type Collector struct { + store *store.Store + cache *cache.Cache + apiBase string + secret string + client *http.Client + + mu sync.Mutex + connCache []map[string]any + connCacheAt time.Time + refreshing bool +} + +func NewCollector(s *store.Store, c *cache.Cache, apiBase, secret string) *Collector { + return &Collector{ + store: s, + cache: c, + apiBase: trimRight(apiBase, "/"), + secret: secret, + client: &http.Client{ + Timeout: 3 * time.Second, + }, + } +} + +func trimRight(s, cut string) string { + for len(s) > 0 && len(s) >= len(cut) && s[len(s)-len(cut):] == cut { + s = s[:len(s)-len(cut)] + } + return s +} + +// Snapshot returns cached dashboard data and never blocks on Mihomo. +func (m *Collector) Snapshot(ctx context.Context) cache.DashboardSnapshot { + snap := m.cache.GetDashboard() + total, alive, _ := m.store.CountEnabledProxies(ctx) + snap.TotalNodes = total + snap.AliveNodes = alive + return snap +} + +func (m *Collector) RefreshIfStale(ctx context.Context, maxAge time.Duration) cache.DashboardSnapshot { + snap := m.cache.GetDashboard() + if !snap.UpdatedAt.IsZero() && time.Since(snap.UpdatedAt) < maxAge { + return snap + } + refreshed, err := m.Refresh(ctx) + if err != nil { + return snap + } + return refreshed +} + +func (m *Collector) RefreshAsync(maxAge time.Duration) { + snap := m.cache.GetDashboard() + if !snap.UpdatedAt.IsZero() && time.Since(snap.UpdatedAt) < maxAge { + return + } + m.mu.Lock() + if m.refreshing { + m.mu.Unlock() + return + } + m.refreshing = true + m.mu.Unlock() + go func() { + defer func() { + m.mu.Lock() + m.refreshing = false + m.mu.Unlock() + }() + ctx, cancel := context.WithTimeout(context.Background(), 6*time.Second) + defer cancel() + _, _ = m.Refresh(ctx) + }() +} + +func (m *Collector) Refresh(ctx context.Context) (cache.DashboardSnapshot, error) { + var snap cache.DashboardSnapshot + snap.UpdatedAt = time.Now() + + var ( + traffic TrafficRatesResult + conns map[string]any + wg sync.WaitGroup + ) + wg.Add(2) + go func() { + defer wg.Done() + rates, err := mihomoapi.New(m.apiBase, m.secret).TrafficRates(ctx) + if err == nil { + traffic = TrafficRatesResult{Up: rates.Up, Down: rates.Down, OK: true} + } + }() + go func() { + defer wg.Done() + conns, _ = m.getJSON("/connections") + }() + wg.Wait() + + if traffic.OK { + snap.UploadRate = traffic.Up + snap.DownloadRate = traffic.Down + } + + if conns != nil { + if arr, ok := conns["connections"].([]any); ok { + snap.Connections = len(arr) + m.setConnCache(arr) + } + } + + total, alive, _ := m.store.CountEnabledProxies(ctx) + snap.TotalNodes = total + snap.AliveNodes = alive + + m.cache.SetDashboard(snap) + _ = m.store.AddTrafficSnapshot(ctx, snap.UploadRate, snap.DownloadRate, int64(snap.Connections)) + return snap, nil +} + +func (m *Collector) setConnCache(arr []any) { + out := make([]map[string]any, 0, len(arr)) + for _, item := range arr { + if m, ok := item.(map[string]any); ok { + out = append(out, m) + } + } + m.mu.Lock() + m.connCache = out + m.connCacheAt = time.Now() + m.mu.Unlock() +} + +func (m *Collector) CachedConnections() []map[string]any { + m.mu.Lock() + defer m.mu.Unlock() + return copyConnSlice(m.connCache) +} + +func (m *Collector) GetConnections() ([]map[string]any, error) { + return m.GetConnectionsCached(0) +} + +func (m *Collector) GetConnectionsCached(maxAge time.Duration) ([]map[string]any, error) { + m.mu.Lock() + if maxAge > 0 && m.connCache != nil && time.Since(m.connCacheAt) < maxAge { + out := copyConnSlice(m.connCache) + m.mu.Unlock() + return out, nil + } + m.mu.Unlock() + + m.RefreshAsync(maxAge) + if cached := m.CachedConnections(); len(cached) > 0 { + return cached, nil + } + + data, err := m.getJSON("/connections") + if err != nil { + m.mu.Lock() + defer m.mu.Unlock() + if m.connCache != nil { + return copyConnSlice(m.connCache), nil + } + return nil, err + } + arr, ok := data["connections"].([]any) + if !ok { + return nil, nil + } + m.setConnCache(arr) + return m.CachedConnections(), nil +} + +func copyConnSlice(in []map[string]any) []map[string]any { + if len(in) == 0 { + return nil + } + out := make([]map[string]any, len(in)) + copy(out, in) + return out +} + +type TrafficRatesResult struct { + Up int64 + Down int64 + OK bool +} + +func (m *Collector) UpdateAPIBase(apiBase, secret string) { + m.apiBase = trimRight(apiBase, "/") + m.secret = secret +} + +func (m *Collector) getJSON(path string) (map[string]any, error) { + req, err := http.NewRequest(http.MethodGet, m.apiBase+path, nil) + if err != nil { + return nil, err + } + if m.secret != "" { + req.Header.Set("Authorization", "Bearer "+m.secret) + } + resp, err := m.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + if resp.StatusCode >= 400 { + return nil, fmt.Errorf("api error %d: %s", resp.StatusCode, string(body)) + } + var out map[string]any + if err := json.Unmarshal(body, &out); err != nil { + return nil, err + } + return out, nil +} diff --git a/internal/mihomoapi/chain.go b/internal/mihomoapi/chain.go new file mode 100644 index 0000000..2cdc350 --- /dev/null +++ b/internal/mihomoapi/chain.go @@ -0,0 +1,40 @@ +package mihomoapi + +var leafOutbounds = map[string]bool{ + "DIRECT": true, + "REJECT": true, + "REJECT-DROP": true, +} + +// ResolveLeafOutbound returns the actual proxy node from a Mihomo chains path. +// Policy groups are appended after the leaf dial, so the last chain entry is often a group name. +func ResolveLeafOutbound(chains []string, policyGroups map[string]bool) string { + if len(chains) == 0 { + return "" + } + for i := len(chains) - 1; i >= 0; i-- { + name := chains[i] + if leafOutbounds[name] { + return name + } + if policyGroups != nil && policyGroups[name] { + continue + } + return name + } + return chains[len(chains)-1] +} + +func ChainStringsFromAny(raw any) []string { + arr, ok := raw.([]any) + if !ok { + return nil + } + out := make([]string, 0, len(arr)) + for _, item := range arr { + if s, ok := item.(string); ok && s != "" { + out = append(out, s) + } + } + return out +} diff --git a/internal/mihomoapi/chain_test.go b/internal/mihomoapi/chain_test.go new file mode 100644 index 0000000..59dd5ed --- /dev/null +++ b/internal/mihomoapi/chain_test.go @@ -0,0 +1,27 @@ +package mihomoapi + +import "testing" + +func TestResolveLeafOutbound(t *testing.T) { + groups := map[string]bool{ + "PROXY": true, + "country_HK": true, + "自动选择": true, + } + cases := []struct { + chains []string + want string + }{ + {[]string{"PROXY", "sub1_hk_node"}, "sub1_hk_node"}, + {[]string{"country_HK", "sub1_us_node"}, "sub1_us_node"}, + {[]string{"PROXY", "自动选择", "sub1_jp_node"}, "sub1_jp_node"}, + {[]string{"DIRECT"}, "DIRECT"}, + {[]string{"country_HK"}, "country_HK"}, + } + for _, tc := range cases { + got := ResolveLeafOutbound(tc.chains, groups) + if got != tc.want { + t.Fatalf("chains=%v want %q got %q", tc.chains, tc.want, got) + } + } +} diff --git a/internal/mihomoapi/client.go b/internal/mihomoapi/client.go new file mode 100644 index 0000000..20cb333 --- /dev/null +++ b/internal/mihomoapi/client.go @@ -0,0 +1,163 @@ +package mihomoapi + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + "sync" + "time" +) + +type Client struct { + base string + secret string + http *http.Client + + mu sync.Mutex + proxyCache map[string]ProxyState + proxyCacheAt time.Time +} + +type ProxyState struct { + Type string `json:"type"` + Now string `json:"now"` + All []string `json:"all"` +} + +func New(base, secret string) *Client { + return &Client{ + base: stringsTrimRight(base, "/"), + secret: secret, + http: &http.Client{ + Timeout: 10 * time.Second, + }, + } +} + +func (c *Client) ListProxies() (map[string]ProxyState, error) { + return c.ListProxiesCached(0) +} + +func (c *Client) ListProxiesCached(ttl time.Duration) (map[string]ProxyState, error) { + c.mu.Lock() + if ttl > 0 && c.proxyCache != nil && time.Since(c.proxyCacheAt) < ttl { + out := copyProxyStates(c.proxyCache) + c.mu.Unlock() + return out, nil + } + c.mu.Unlock() + + var out struct { + Proxies map[string]ProxyState `json:"proxies"` + } + if err := c.getJSON("/proxies", &out); err != nil { + c.mu.Lock() + defer c.mu.Unlock() + if c.proxyCache != nil { + return copyProxyStates(c.proxyCache), nil + } + return nil, err + } + if out.Proxies == nil { + out.Proxies = map[string]ProxyState{} + } + c.mu.Lock() + c.proxyCache = out.Proxies + c.proxyCacheAt = time.Now() + c.mu.Unlock() + return copyProxyStates(out.Proxies), nil +} + +func (c *Client) Reachable() bool { + req, err := http.NewRequest(http.MethodGet, c.base+"/version", nil) + if err != nil { + return false + } + if c.secret != "" { + req.Header.Set("Authorization", "Bearer "+c.secret) + } + client := &http.Client{Timeout: 2 * time.Second} + resp, err := client.Do(req) + if err != nil { + return false + } + defer resp.Body.Close() + return resp.StatusCode < 400 +} + +func copyProxyStates(in map[string]ProxyState) map[string]ProxyState { + out := make(map[string]ProxyState, len(in)) + for k, v := range in { + out[k] = v + } + return out +} + +func (c *Client) SelectProxy(groupName, proxyName string) error { + body, _ := json.Marshal(map[string]string{"name": proxyName}) + return c.putJSON("/proxies/"+url.PathEscape(groupName), body) +} + +func (c *Client) getJSON(path string, dest any) error { + req, err := http.NewRequest(http.MethodGet, c.base+path, nil) + if err != nil { + return err + } + if c.secret != "" { + req.Header.Set("Authorization", "Bearer "+c.secret) + } + resp, err := c.http.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + data, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + if resp.StatusCode >= 400 { + return fmt.Errorf("mihomo api %d: %s", resp.StatusCode, string(data)) + } + return json.Unmarshal(data, dest) +} + +func (c *Client) putJSON(path string, body []byte) error { + req, err := http.NewRequest(http.MethodPut, c.base+path, bytes.NewReader(body)) + if err != nil { + return err + } + req.Header.Set("Content-Type", "application/json") + if c.secret != "" { + req.Header.Set("Authorization", "Bearer "+c.secret) + } + resp, err := c.http.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + data, _ := io.ReadAll(resp.Body) + if resp.StatusCode >= 400 { + return fmt.Errorf("mihomo api %d: %s", resp.StatusCode, string(data)) + } + return nil +} + +func stringsTrimRight(s, cut string) string { + for len(s) > 0 && strings.HasSuffix(s, cut) { + s = s[:len(s)-len(cut)] + } + return s +} + +func IsPolicyGroupType(t string) bool { + switch t { + case "Selector", "URLTest", "Fallback", "LoadBalance", "Relay": + return true + default: + return false + } +} diff --git a/internal/mihomoapi/connections.go b/internal/mihomoapi/connections.go new file mode 100644 index 0000000..abda16e --- /dev/null +++ b/internal/mihomoapi/connections.go @@ -0,0 +1,99 @@ +package mihomoapi + +import ( + "encoding/json" + "fmt" + "time" +) + +type ConnectionSnapshot struct { + Connections []Connection `json:"connections"` +} + +type Connection struct { + ID string `json:"id"` + Metadata ConnectionMeta `json:"metadata"` + Upload int64 `json:"upload"` + Download int64 `json:"download"` + Start time.Time `json:"start"` + Chains []string `json:"chains"` + Rule string `json:"rule"` + RulePayload string `json:"rulePayload"` +} + +type ConnectionMeta struct { + Network string `json:"network"` + Host string `json:"host"` + RemoteDestination string `json:"remoteDestination"` + DestinationIP string `json:"destinationIP"` + DestinationPort string `json:"destinationPort"` + SniffHost string `json:"sniffHost"` +} + +func (c *Client) ConnectionSnapshot() (*ConnectionSnapshot, error) { + var snap ConnectionSnapshot + if err := c.getJSON("/connections", &snap); err != nil { + return nil, err + } + return &snap, nil +} + +// ParseConnectionSnapshot decodes Mihomo /connections JSON. +func ParseConnectionSnapshot(data []byte) (*ConnectionSnapshot, error) { + var snap ConnectionSnapshot + if err := json.Unmarshal(data, &snap); err != nil { + return nil, err + } + return &snap, nil +} + +func (conn *Connection) RequestHost() string { + if conn.Metadata.Host != "" { + return conn.Metadata.Host + } + if conn.Metadata.SniffHost != "" { + return conn.Metadata.SniffHost + } + if conn.Metadata.RemoteDestination != "" { + return conn.Metadata.RemoteDestination + } + if conn.Metadata.DestinationIP != "" { + return fmt.Sprintf("%s:%s", conn.Metadata.DestinationIP, conn.Metadata.DestinationPort) + } + return "" +} + +func (conn *Connection) RuleLine() string { + if conn.Rule == "" { + return "" + } + if conn.RulePayload == "" { + return conn.Rule + } + return conn.Rule + "," + conn.RulePayload +} + +func (conn *Connection) OutboundNode() string { + return ResolveLeafOutbound(conn.Chains, nil) +} + +func (conn *Connection) LeafOutbound(policyGroups map[string]bool) string { + return ResolveLeafOutbound(conn.Chains, policyGroups) +} + +func (conn *Connection) ChainString() string { + if len(conn.Chains) == 0 { + return "" + } + b, _ := json.Marshal(conn.Chains) + return string(b) +} + +func (conn *Connection) IsSuccess() bool { + for _, ch := range conn.Chains { + if ch == "REJECT" || ch == "REJECT-DROP" { + return false + } + } + return conn.Upload+conn.Download > 0 +} diff --git a/internal/mihomoapi/connections_test.go b/internal/mihomoapi/connections_test.go new file mode 100644 index 0000000..e8580cc --- /dev/null +++ b/internal/mihomoapi/connections_test.go @@ -0,0 +1,58 @@ +package mihomoapi + +import ( + "testing" + "time" +) + +func TestParseConnectionSnapshot(t *testing.T) { + raw := []byte(`{ + "downloadTotal": 200, + "uploadTotal": 100, + "connections": [{ + "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "metadata": { + "network": "tcp", + "type": "HTTP", + "sourceIP": "127.0.0.1", + "destinationIP": "142.250.185.78", + "destinationPort": "443", + "host": "www.google.com" + }, + "upload": 100, + "download": 200, + "start": "2026-06-16T10:00:00Z", + "chains": ["DIRECT"], + "rule": "DOMAIN", + "rulePayload": "google.com" + }], + "memory": 0 + }`) + + snap, err := ParseConnectionSnapshot(raw) + if err != nil { + t.Fatalf("parse failed: %v", err) + } + if len(snap.Connections) != 1 { + t.Fatalf("expected 1 connection, got %d", len(snap.Connections)) + } + conn := snap.Connections[0] + if conn.ID == "" { + t.Fatal("expected connection id") + } + if conn.Metadata.DestinationPort != "443" { + t.Fatalf("destination port: %q", conn.Metadata.DestinationPort) + } + if conn.RequestHost() != "www.google.com" { + t.Fatalf("host: %q", conn.RequestHost()) + } + if conn.OutboundNode() != "DIRECT" { + t.Fatalf("outbound: %q", conn.OutboundNode()) + } + if conn.Start.IsZero() { + t.Fatal("expected start time") + } + if conn.Start.UTC() != time.Date(2026, 6, 16, 10, 0, 0, 0, time.UTC) { + t.Fatalf("unexpected start: %v", conn.Start) + } +} diff --git a/internal/mihomoapi/traffic.go b/internal/mihomoapi/traffic.go new file mode 100644 index 0000000..55c61e1 --- /dev/null +++ b/internal/mihomoapi/traffic.go @@ -0,0 +1,42 @@ +package mihomoapi + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + "time" +) + +type TrafficRates struct { + Up int64 `json:"up"` + Down int64 `json:"down"` + UpTotal int64 `json:"upTotal"` + DownTotal int64 `json:"downTotal"` +} + +// TrafficRates reads the first frame from Mihomo's streaming /traffic endpoint. +func (c *Client) TrafficRates(ctx context.Context) (TrafficRates, error) { + var zero TrafficRates + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.base+"/traffic", nil) + if err != nil { + return zero, err + } + if c.secret != "" { + req.Header.Set("Authorization", "Bearer "+c.secret) + } + client := &http.Client{Timeout: 5 * time.Second} + resp, err := client.Do(req) + if err != nil { + return zero, err + } + defer resp.Body.Close() + if resp.StatusCode >= 400 { + return zero, fmt.Errorf("mihomo api %d", resp.StatusCode) + } + var rates TrafficRates + if err := json.NewDecoder(resp.Body).Decode(&rates); err != nil { + return zero, err + } + return rates, nil +} diff --git a/internal/mihomoapi/traffic_test.go b/internal/mihomoapi/traffic_test.go new file mode 100644 index 0000000..5dddf3b --- /dev/null +++ b/internal/mihomoapi/traffic_test.go @@ -0,0 +1,35 @@ +package mihomoapi + +import ( + "context" + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + "time" +) + +func TestTrafficRatesReadsFirstFrame(t *testing.T) { + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + flusher, _ := w.(http.Flusher) + _ = json.NewEncoder(w).Encode(TrafficRates{Up: 100, Down: 200}) + flusher.Flush() + time.Sleep(2 * time.Second) + _ = json.NewEncoder(w).Encode(TrafficRates{Up: 300, Down: 400}) + flusher.Flush() + })) + defer srv.Close() + + client := New(srv.URL, "") + ctx, cancel := context.WithTimeout(context.Background(), 4*time.Second) + defer cancel() + + rates, err := client.TrafficRates(ctx) + if err != nil { + t.Fatalf("TrafficRates: %v", err) + } + if rates.Up != 100 || rates.Down != 200 { + t.Fatalf("got %+v", rates) + } +} diff --git a/internal/proxyio/proxyio.go b/internal/proxyio/proxyio.go new file mode 100644 index 0000000..85c2b12 --- /dev/null +++ b/internal/proxyio/proxyio.go @@ -0,0 +1,269 @@ +package proxyio + +import ( + "encoding/json" + "fmt" + "net/url" + "strings" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/store" + "github.com/prism/proxy/internal/subscription" +) + +const ExportVersion = 1 + +type ExportDoc struct { + Version int `json:"version"` + Nodes []ExportNode `json:"nodes"` +} + +type ExportNode struct { + Name string `json:"name"` + Type string `json:"type"` + RawConfig json.RawMessage `json:"raw_config"` + Country string `json:"country,omitempty"` + Enabled *bool `json:"enabled,omitempty"` +} + +func nodeEnabled(n ExportNode) bool { + if n.Enabled == nil { + return true + } + return *n.Enabled +} + +func ToExportNodes(nodes []store.ProxyNode) []ExportNode { + out := make([]ExportNode, 0, len(nodes)) + for _, n := range nodes { + enabled := n.Enabled + raw := json.RawMessage(n.RawConfig) + if !json.Valid(raw) { + raw = json.RawMessage("{}") + } + out = append(out, ExportNode{ + Name: n.Name, + Type: n.Type, + RawConfig: raw, + Country: n.Country, + Enabled: &enabled, + }) + } + return out +} + +func ExportJSON(nodes []store.ProxyNode) ([]byte, error) { + doc := ExportDoc{Version: ExportVersion, Nodes: ToExportNodes(nodes)} + return json.MarshalIndent(doc, "", " ") +} + +func ExportLinks(nodes []store.ProxyNode) string { + var b strings.Builder + for _, n := range nodes { + if !n.Enabled { + continue + } + link, err := EncodeLink(n) + if err != nil { + b.WriteString("# ") + b.WriteString(n.Name) + b.WriteString(": ") + b.WriteString(err.Error()) + b.WriteByte('\n') + continue + } + b.WriteString(link) + b.WriteByte('\n') + } + return b.String() +} + +func ParseJSON(data []byte) ([]ExportNode, error) { + var doc ExportDoc + if err := json.Unmarshal(data, &doc); err == nil && (len(doc.Nodes) > 0 || doc.Version > 0) { + return doc.Nodes, nil + } + var nodes []ExportNode + if err := json.Unmarshal(data, &nodes); err != nil { + return nil, fmt.Errorf("invalid JSON: %w", err) + } + return nodes, nil +} + +func ParseText(text string) ([]store.ProxyNode, []string) { + text = strings.TrimSpace(text) + if text == "" { + return nil, nil + } + if strings.HasPrefix(text, "{") || strings.HasPrefix(text, "[") { + items, err := ParseJSON([]byte(text)) + if err == nil && len(items) > 0 { + nodes, errs := ToStoreNodes(items) + return nodes, errs + } + } + return subscription.ParseLinkLines(text) +} + +func ToStoreNodes(items []ExportNode) ([]store.ProxyNode, []string) { + out := make([]store.ProxyNode, 0, len(items)) + var errs []string + for i, item := range items { + name := strings.TrimSpace(item.Name) + typ := strings.TrimSpace(strings.ToLower(item.Type)) + raw := normalizeRawConfig(item.RawConfig) + if name == "" { + errs = append(errs, fmt.Sprintf("节点 %d: 缺少名称", i+1)) + continue + } + if typ == "" { + errs = append(errs, fmt.Sprintf("节点 %d: 缺少类型", i+1)) + continue + } + if raw == "" || raw == "{}" { + errs = append(errs, fmt.Sprintf("节点 %d: 缺少配置", i+1)) + continue + } + code := strings.TrimSpace(item.Country) + if code == "" { + code = country.Detect(name) + } + out = append(out, store.ProxyNode{ + Name: name, + RuntimeName: store.RuntimeName("manual", 0, name), + Type: typ, + RawConfig: raw, + Source: "manual", + Country: code, + Enabled: nodeEnabled(item), + }) + } + return out, errs +} + +func normalizeRawConfig(raw json.RawMessage) string { + if len(raw) == 0 { + return "" + } + if raw[0] == '{' || raw[0] == '[' { + if !json.Valid(raw) { + return "" + } + return string(raw) + } + var s string + if err := json.Unmarshal(raw, &s); err == nil { + return strings.TrimSpace(s) + } + return strings.TrimSpace(string(raw)) +} + +func AssignUniqueNames(nodes []store.ProxyNode, reserved map[string]bool) { + if reserved == nil { + reserved = map[string]bool{} + } + for i := range nodes { + name := strings.TrimSpace(nodes[i].Name) + if name == "" { + name = "node" + } + base := name + candidate := base + for n := 2; reserved[candidate]; n++ { + candidate = fmt.Sprintf("%s_%d", base, n) + } + reserved[candidate] = true + nodes[i].Name = candidate + nodes[i].RuntimeName = store.RuntimeName("manual", 0, candidate) + if nodes[i].Country == "" { + nodes[i].Country = country.Detect(candidate) + } + } +} + +func ReservedNames(nodes []store.ProxyNode) map[string]bool { + m := make(map[string]bool, len(nodes)) + for _, n := range nodes { + m[n.Name] = true + } + return m +} + +func EncodeLink(n store.ProxyNode) (string, error) { + var raw map[string]any + if err := json.Unmarshal([]byte(n.RawConfig), &raw); err != nil { + return "", err + } + fragment := url.QueryEscape(n.Name) + typ := strings.ToLower(n.Type) + switch typ { + case "socks5": + return encodeSocks5(raw, fragment) + case "http", "https": + return encodeHTTP(raw, fragment, typ == "https") + case "trojan": + return encodeTrojan(raw, fragment) + default: + return "", fmt.Errorf("类型 %s 暂不支持导出为分享链接", n.Type) + } +} + +func encodeSocks5(raw map[string]any, fragment string) (string, error) { + server, _ := raw["server"].(string) + port := intFromAny(raw["port"]) + if server == "" || port <= 0 { + return "", fmt.Errorf("socks5 配置不完整") + } + host := fmt.Sprintf("%s:%d", server, port) + user, _ := raw["username"].(string) + pass, _ := raw["password"].(string) + if user != "" { + return fmt.Sprintf("socks5://%s:%s@%s#%s", url.QueryEscape(user), url.QueryEscape(pass), host, fragment), nil + } + return fmt.Sprintf("socks5://%s#%s", host, fragment), nil +} + +func encodeHTTP(raw map[string]any, fragment string, tls bool) (string, error) { + server, _ := raw["server"].(string) + port := intFromAny(raw["port"]) + if server == "" || port <= 0 { + return "", fmt.Errorf("http 配置不完整") + } + scheme := "http" + if tls { + scheme = "https" + } + host := fmt.Sprintf("%s:%d", server, port) + user, _ := raw["username"].(string) + pass, _ := raw["password"].(string) + if user != "" { + return fmt.Sprintf("%s://%s:%s@%s#%s", scheme, url.QueryEscape(user), url.QueryEscape(pass), host, fragment), nil + } + return fmt.Sprintf("%s://%s#%s", scheme, host, fragment), nil +} + +func encodeTrojan(raw map[string]any, fragment string) (string, error) { + server, _ := raw["server"].(string) + port := intFromAny(raw["port"]) + pass, _ := raw["password"].(string) + if server == "" || port <= 0 || pass == "" { + return "", fmt.Errorf("trojan 配置不完整") + } + return fmt.Sprintf("trojan://%s@%s:%d#%s", url.QueryEscape(pass), server, port, fragment), nil +} + +func intFromAny(v any) int { + switch n := v.(type) { + case float64: + return int(n) + case int: + return n + case int64: + return int(n) + case json.Number: + i, _ := n.Int64() + return int(i) + default: + return 0 + } +} diff --git a/internal/proxyio/proxyio_test.go b/internal/proxyio/proxyio_test.go new file mode 100644 index 0000000..278fbaa --- /dev/null +++ b/internal/proxyio/proxyio_test.go @@ -0,0 +1,40 @@ +package proxyio + +import ( + "strings" + "testing" + + "github.com/prism/proxy/internal/store" +) + +func TestExportLinksSocks5(t *testing.T) { + text := ExportLinks([]store.ProxyNode{{ + Name: "HK-1", + Type: "socks5", + RawConfig: `{"type":"socks5","server":"1.2.3.4","port":1080,"username":"u","password":"p"}`, + Enabled: true, + }}) + if !strings.Contains(text, "socks5://u:p@1.2.3.4:1080#HK-1") { + t.Fatalf("got %q", text) + } +} + +func TestParseJSONDoc(t *testing.T) { + nodes, err := ParseJSON([]byte(`{"version":1,"nodes":[{"name":"n1","type":"socks5","raw_config":{"server":"1.1.1.1","port":1080}}]}`)) + if err != nil || len(nodes) != 1 { + t.Fatalf("nodes=%+v err=%v", nodes, err) + } + stored, errs := ToStoreNodes(nodes) + if len(errs) != 0 || len(stored) != 1 || stored[0].Name != "n1" { + t.Fatalf("stored=%+v errs=%v", stored, errs) + } +} + +func TestAssignUniqueNames(t *testing.T) { + nodes := []store.ProxyNode{{Name: "a"}, {Name: "a"}} + reserved := map[string]bool{"a": true} + AssignUniqueNames(nodes, reserved) + if nodes[0].Name != "a_2" || nodes[1].Name != "a_3" { + t.Fatalf("names: %s, %s", nodes[0].Name, nodes[1].Name) + } +} diff --git a/internal/ruleio/ruleio.go b/internal/ruleio/ruleio.go new file mode 100644 index 0000000..ad5d642 --- /dev/null +++ b/internal/ruleio/ruleio.go @@ -0,0 +1,189 @@ +package ruleio + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/prism/proxy/internal/store" +) + +const ExportVersion = 1 + +type ExportDoc struct { + Version int `json:"version"` + Rules []ExportRule `json:"rules"` +} + +type ExportRule struct { + Priority int `json:"priority"` + RuleType string `json:"rule_type"` + Payload string `json:"payload"` + Target string `json:"target"` + Enabled *bool `json:"enabled,omitempty"` +} + +type ImportResult struct { + Imported int `json:"imported"` + Skipped int `json:"skipped"` + Errors []string `json:"errors,omitempty"` +} + +func ruleEnabled(r ExportRule) bool { + if r.Enabled == nil { + return true + } + return *r.Enabled +} + +func ToExportRules(rules []store.Rule) []ExportRule { + out := make([]ExportRule, 0, len(rules)) + for _, r := range rules { + enabled := r.Enabled + out = append(out, ExportRule{ + Priority: r.Priority, + RuleType: r.RuleType, + Payload: r.Payload, + Target: r.Target, + Enabled: &enabled, + }) + } + return out +} + +func ExportJSON(rules []store.Rule) ([]byte, error) { + doc := ExportDoc{Version: ExportVersion, Rules: ToExportRules(rules)} + return json.MarshalIndent(doc, "", " ") +} + +func ExportText(rules []store.Rule) string { + var b strings.Builder + for _, r := range rules { + if !r.Enabled { + continue + } + b.WriteString(formatRuleLine(r)) + b.WriteByte('\n') + } + return b.String() +} + +func formatRuleLine(r store.Rule) string { + if r.Payload == "" { + return fmt.Sprintf("%s,%s", r.RuleType, r.Target) + } + return fmt.Sprintf("%s,%s,%s", r.RuleType, r.Payload, r.Target) +} + +func ParseJSON(data []byte) ([]ExportRule, error) { + var doc ExportDoc + if err := json.Unmarshal(data, &doc); err == nil && (len(doc.Rules) > 0 || doc.Version > 0) { + return doc.Rules, nil + } + var rules []ExportRule + if err := json.Unmarshal(data, &rules); err != nil { + return nil, fmt.Errorf("invalid JSON: %w", err) + } + return rules, nil +} + +func ParseText(text string) ([]ExportRule, []string) { + lines := strings.Split(text, "\n") + var out []ExportRule + var errs []string + for i, line := range lines { + line = strings.TrimSpace(line) + if line == "" || strings.HasPrefix(line, "#") { + continue + } + r, err := ParseLine(line) + if err != nil { + errs = append(errs, fmt.Sprintf("第 %d 行: %v", i+1, err)) + continue + } + out = append(out, r) + } + return out, errs +} + +func ParseLine(line string) (ExportRule, error) { + parts := strings.Split(line, ",") + if len(parts) < 2 { + return ExportRule{}, fmt.Errorf("格式无效 %q", line) + } + ruleType := strings.TrimSpace(strings.ToUpper(parts[0])) + if ruleType == "MATCH" { + return ExportRule{}, fmt.Errorf("跳过 MATCH 规则") + } + target := strings.TrimSpace(parts[len(parts)-1]) + if target == "" { + return ExportRule{}, fmt.Errorf("缺少出站目标") + } + payload := "" + if len(parts) > 2 { + payload = strings.Join(parts[1:len(parts)-1], ",") + } + if needsPayload(ruleType) && payload == "" { + return ExportRule{}, fmt.Errorf("%s 需要匹配值", ruleType) + } + enabled := true + return ExportRule{ + RuleType: ruleType, + Payload: payload, + Target: target, + Enabled: &enabled, + }, nil +} + +func needsPayload(ruleType string) bool { + switch ruleType { + case "DIRECT", "REJECT", "REJECT-DROP", "MATCH": + return false + default: + return true + } +} + +func ToStoreRules(rules []ExportRule) ([]store.Rule, []string) { + out := make([]store.Rule, 0, len(rules)) + var errs []string + for i, r := range rules { + ruleType := strings.TrimSpace(strings.ToUpper(r.RuleType)) + target := strings.TrimSpace(r.Target) + if ruleType == "" || ruleType == "MATCH" { + errs = append(errs, fmt.Sprintf("规则 %d: 类型无效", i+1)) + continue + } + if target == "" { + errs = append(errs, fmt.Sprintf("规则 %d: 缺少出站目标", i+1)) + continue + } + payload := strings.TrimSpace(r.Payload) + if needsPayload(ruleType) && payload == "" { + errs = append(errs, fmt.Sprintf("规则 %d: %s 需要匹配值", i+1, ruleType)) + continue + } + out = append(out, store.Rule{ + Priority: r.Priority, + RuleType: ruleType, + Payload: payload, + Target: target, + Source: "manual", + Enabled: ruleEnabled(r), + }) + } + return out, errs +} + +func AssignPriorities(rules []store.Rule, start int) { + if start <= 0 { + start = 100 + } + step := 10 + for i := range rules { + if rules[i].Priority <= 0 { + rules[i].Priority = start + start += step + } + } +} diff --git a/internal/ruleio/ruleio_test.go b/internal/ruleio/ruleio_test.go new file mode 100644 index 0000000..89f8eba --- /dev/null +++ b/internal/ruleio/ruleio_test.go @@ -0,0 +1,64 @@ +package ruleio + +import ( + "strings" + "testing" + + "github.com/prism/proxy/internal/store" +) + +func TestParseLine(t *testing.T) { + r, err := ParseLine("DOMAIN-SUFFIX,google.com,country:HK") + if err != nil { + t.Fatal(err) + } + if r.RuleType != "DOMAIN-SUFFIX" || r.Payload != "google.com" || r.Target != "country:HK" { + t.Fatalf("unexpected %+v", r) + } +} + +func TestParseLineSkipsMatch(t *testing.T) { + _, err := ParseLine("MATCH,DIRECT") + if err == nil { + t.Fatal("expected error") + } +} + +func TestParseText(t *testing.T) { + rules, errs := ParseText("# comment\nDOMAIN,google.com,DIRECT\n\nDOMAIN-SUFFIX,foo.com,PROXY") + if len(errs) != 0 { + t.Fatal(errs) + } + if len(rules) != 2 { + t.Fatalf("got %d rules", len(rules)) + } +} + +func TestParseJSONDoc(t *testing.T) { + rules, err := ParseJSON([]byte(`{"version":1,"rules":[{"rule_type":"DOMAIN","payload":"a.com","target":"DIRECT"}]}`)) + if err != nil { + t.Fatal(err) + } + if len(rules) != 1 || rules[0].Target != "DIRECT" { + t.Fatalf("unexpected %+v", rules) + } +} + +func TestExportText(t *testing.T) { + text := ExportText([]store.Rule{{ + RuleType: "DOMAIN-SUFFIX", + Payload: "x.com", + Target: "PROXY", + Enabled: true, + }}) + if !strings.Contains(text, "DOMAIN-SUFFIX,x.com,PROXY") { + t.Fatalf("got %q", text) + } +} + +func TestToStoreRulesDefaultsEnabled(t *testing.T) { + rules, errs := ToStoreRules([]ExportRule{{RuleType: "DOMAIN", Payload: "a.com", Target: "DIRECT"}}) + if len(errs) != 0 || len(rules) != 1 || !rules[0].Enabled { + t.Fatalf("rules=%+v errs=%v", rules, errs) + } +} diff --git a/internal/rulematch/matcher.go b/internal/rulematch/matcher.go new file mode 100644 index 0000000..7aef06f --- /dev/null +++ b/internal/rulematch/matcher.go @@ -0,0 +1,168 @@ +package rulematch + +import ( + "net" + "net/url" + "strings" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/store" +) + +type Result struct { + Matched bool `json:"matched"` + Host string `json:"host"` + Port string `json:"port,omitempty"` + RuleLine string `json:"rule_line"` + RuleType string `json:"rule_type"` + Payload string `json:"payload"` + Target string `json:"target"` + TargetLabel string `json:"target_label"` + Source string `json:"source"` + Priority int `json:"priority"` + SkippedGeo int `json:"skipped_geo"` + Note string `json:"note,omitempty"` +} + +func ParseHost(raw string) (host, port string) { + raw = strings.TrimSpace(raw) + if raw == "" { + return "", "" + } + if !strings.Contains(raw, "://") { + raw = "http://" + raw + } + u, err := url.Parse(raw) + if err != nil { + return strings.TrimSpace(raw), "" + } + host = u.Hostname() + port = u.Port() + if host == "" { + host = strings.TrimSpace(raw) + } + return strings.ToLower(host), port +} + +func Match(rules []store.Rule, defaultPolicy, rawURL string, geoReady bool) Result { + host, port := ParseHost(rawURL) + if host == "" { + return Result{Note: "无法解析 URL 或域名"} + } + + skippedGeo := 0 + for _, r := range rules { + if !r.Enabled { + continue + } + ruleType := strings.ToUpper(strings.TrimSpace(r.RuleType)) + if ruleType == "MATCH" { + continue + } + if isGeoRule(ruleType) { + if !geoReady { + skippedGeo++ + continue + } + // Geo rules need Mihomo geodata engine; skip in offline matcher. + skippedGeo++ + continue + } + if matchesRule(ruleType, r.Payload, host, port) { + line := formatLine(r) + return Result{ + Matched: true, + Host: host, + Port: port, + RuleLine: line, + RuleType: ruleType, + Payload: r.Payload, + Target: r.Target, + TargetLabel: targetLabel(r.Target), + Source: r.Source, + Priority: r.Priority, + SkippedGeo: skippedGeo, + } + } + } + + policy := defaultPolicy + if policy == "" { + policy = "DIRECT" + } + return Result{ + Matched: true, + Host: host, + Port: port, + RuleLine: "MATCH," + policy, + RuleType: "MATCH", + Payload: "", + Target: policy, + TargetLabel: targetLabel(policy), + Source: "system", + Priority: 999999, + SkippedGeo: skippedGeo, + Note: "未命中任何前置规则,使用默认出站", + } +} + +func isGeoRule(ruleType string) bool { + switch ruleType { + case "GEOIP", "GEOSITE": + return true + default: + return false + } +} + +func matchesRule(ruleType, payload, host, port string) bool { + payload = strings.TrimSpace(payload) + switch ruleType { + case "DOMAIN": + return host == strings.ToLower(payload) + case "DOMAIN-SUFFIX": + suffix := strings.ToLower(payload) + return host == suffix || strings.HasSuffix(host, "."+suffix) + case "DOMAIN-KEYWORD": + return strings.Contains(host, strings.ToLower(payload)) + case "IP-CIDR", "IP-CIDR6": + return matchCIDR(host, payload) + case "DST-PORT": + return port != "" && port == strings.TrimSpace(payload) + case "SRC-PORT": + return false + default: + return false + } +} + +func matchCIDR(host, cidr string) bool { + ip := net.ParseIP(host) + if ip == nil { + return false + } + _, network, err := net.ParseCIDR(strings.TrimSpace(cidr)) + if err != nil { + return false + } + return network.Contains(ip) +} + +func formatLine(r store.Rule) string { + if r.Payload == "" { + return r.RuleType + "," + r.Target + } + return r.RuleType + "," + r.Payload + "," + r.Target +} + +func targetLabel(target string) string { + target = strings.TrimSpace(target) + if code, ok := country.ParseTargetAlias(target); ok { + return country.Name(code) + "(国家池)" + } + if strings.HasPrefix(target, "country_") { + code := strings.TrimPrefix(target, "country_") + return country.Name(code) + "(国家池)" + } + return target +} diff --git a/internal/rulematch/matcher_test.go b/internal/rulematch/matcher_test.go new file mode 100644 index 0000000..e2c8f07 --- /dev/null +++ b/internal/rulematch/matcher_test.go @@ -0,0 +1,35 @@ +package rulematch + +import ( + "testing" + + "github.com/prism/proxy/internal/store" +) + +func TestMatchDomainSuffix(t *testing.T) { + rules := []store.Rule{ + {Priority: 10, RuleType: "DOMAIN-SUFFIX", Payload: "google.com", Target: "PROXY", Source: "manual", Enabled: true}, + {Priority: 20, RuleType: "DOMAIN", Payload: "exact.com", Target: "DIRECT", Source: "manual", Enabled: true}, + } + res := Match(rules, "DIRECT", "https://www.google.com/search", true) + if !res.Matched || res.RuleType != "DOMAIN-SUFFIX" || res.Target != "PROXY" { + t.Fatalf("unexpected: %+v", res) + } +} + +func TestMatchFallback(t *testing.T) { + rules := []store.Rule{ + {Priority: 10, RuleType: "DOMAIN", Payload: "other.com", Target: "PROXY", Source: "manual", Enabled: true}, + } + res := Match(rules, "country:HK", "https://example.com", true) + if res.RuleType != "MATCH" || res.Target != "country:HK" { + t.Fatalf("unexpected: %+v", res) + } +} + +func TestParseHost(t *testing.T) { + host, port := ParseHost("https://foo.com:8443/path") + if host != "foo.com" || port != "8443" { + t.Fatalf("got %q %q", host, port) + } +} diff --git a/internal/service/app.go b/internal/service/app.go new file mode 100644 index 0000000..b195ab4 --- /dev/null +++ b/internal/service/app.go @@ -0,0 +1,150 @@ +package service + +import ( + "context" + "fmt" + "sync" + "time" + + "github.com/prism/proxy/internal/cache" + "github.com/prism/proxy/internal/configbuilder" + "github.com/prism/proxy/internal/core" + "github.com/prism/proxy/internal/geodata" + applog "github.com/prism/proxy/internal/log" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/store" + "github.com/prism/proxy/internal/subscription" +) + +type App struct { + Store *store.Store + Cache *cache.Cache + Engine *core.Engine + Builder *configbuilder.Builder + Subscription *subscription.Service + Logs *applog.Collector + DataDir string + LastReloadError string + + engineMu sync.RWMutex + engineOK bool + engineAt time.Time +} + +func (a *App) ReloadEngine(ctx context.Context) error { + geodata.InitHomeDir(a.DataDir) + settings, err := a.Store.GetSettings(ctx) + if err != nil { + return err + } + geodata.ApplyMihomoURLs(geodata.ConfigFromSettings(settings)) + + yaml, err := a.Builder.Build(ctx) + if err != nil { + return err + } + apiPort := settings["mihomo_api_port"] + if apiPort == "" { + apiPort = "9090" + } + secret := settings["api_secret"] + a.Engine.Configure("127.0.0.1:"+apiPort, secret) + + if err := a.applyConfig(ctx, yaml); err != nil { + a.Logs.Add("warn", "prism", "full config failed, trying minimal: "+err.Error()) + minimal, mErr := a.Builder.BuildMinimal(ctx) + if mErr != nil { + return err + } + if mErr := a.applyConfig(ctx, minimal); mErr != nil { + a.LastReloadError = err.Error() + if last := a.Cache.GetLastYAML(); last != nil { + if fallbackErr := a.Engine.Reload(last); fallbackErr == nil { + a.Logs.Add("warn", "prism", "kept previous engine config after reload failure") + } + } + return err + } + a.LastReloadError = "rules simplified: " + err.Error() + a.Logs.Add("warn", "prism", a.LastReloadError) + return nil + } + return nil +} + +func (a *App) applyConfig(ctx context.Context, yaml []byte) error { + if err := a.Engine.Reload(yaml); err != nil { + return err + } + a.LastReloadError = "" + a.Cache.SetLastYAML(yaml) + a.Logs.Add("info", "prism", "engine reloaded successfully") + a.engineMu.Lock() + a.engineOK = true + a.engineAt = time.Now() + a.engineMu.Unlock() + _ = a.Store.AddAuditLog(ctx, "reload", "engine", "config applied") + return nil +} + +func (a *App) MihomoAPIBase(ctx context.Context) (string, string, error) { + settings, err := a.Store.GetSettings(ctx) + if err != nil { + return "", "", err + } + port := settings["mihomo_api_port"] + if port == "" { + port = "9090" + } + return fmt.Sprintf("http://127.0.0.1:%s", port), settings["api_secret"], nil +} + +func (a *App) EngineReachable(ctx context.Context) bool { + if a.Engine.Running() { + return true + } + a.engineMu.RLock() + if time.Since(a.engineAt) < 15*time.Second { + ok := a.engineOK + a.engineMu.RUnlock() + return ok + } + a.engineMu.RUnlock() + + ok := a.probeEngine(ctx) + a.engineMu.Lock() + a.engineOK = ok + a.engineAt = time.Now() + a.engineMu.Unlock() + return ok +} + +// EngineStatusCached returns last-known engine reachability without blocking on Mihomo. +func (a *App) EngineStatusCached() bool { + if a.Engine.Running() { + return true + } + a.engineMu.RLock() + defer a.engineMu.RUnlock() + return a.engineOK +} + +func (a *App) RefreshEngineStatusAsync() { + go func() { + ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) + defer cancel() + ok := a.probeEngine(ctx) + a.engineMu.Lock() + a.engineOK = ok + a.engineAt = time.Now() + a.engineMu.Unlock() + }() +} + +func (a *App) probeEngine(ctx context.Context) bool { + base, secret, err := a.MihomoAPIBase(ctx) + if err != nil { + return false + } + return mihomoapi.New(base, secret).Reachable() +} diff --git a/internal/service/names.go b/internal/service/names.go new file mode 100644 index 0000000..3b969ea --- /dev/null +++ b/internal/service/names.go @@ -0,0 +1,70 @@ +package service + +import ( + "context" + "strings" + + "github.com/prism/proxy/internal/country" +) + +func (a *App) ProxyDisplayNames(ctx context.Context) (map[string]string, error) { + nodes, err := a.Store.ListProxyNodes(ctx, "", nil) + if err != nil { + return nil, err + } + groups, err := a.Store.ListProxyGroups(ctx) + if err != nil { + return nil, err + } + m := map[string]string{ + "DIRECT": "DIRECT", + "REJECT": "REJECT", + } + for _, n := range nodes { + m[n.RuntimeName] = n.Name + } + for _, g := range groups { + m[g.RuntimeName] = g.Name + } + seen := map[string]bool{} + for _, n := range nodes { + if n.Country == "" || seen[n.Country] { + continue + } + seen[n.Country] = true + rn := country.GroupRuntime(n.Country) + m[rn] = country.Name(n.Country) + "(国家池)" + } + return m, nil +} + +func (a *App) PolicyGroupRuntimes(ctx context.Context) (map[string]bool, error) { + groups, err := a.Store.ListProxyGroups(ctx) + if err != nil { + return nil, err + } + out := map[string]bool{ + "GLOBAL": true, + "PROXY": true, + } + for _, g := range groups { + if g.Enabled { + out[g.RuntimeName] = true + } + } + return out, nil +} + +func DisplayName(names map[string]string, key string) string { + if key == "" { + return "" + } + if name, ok := names[key]; ok && name != "" { + return name + } + if strings.HasPrefix(key, "country_") { + code := strings.TrimPrefix(key, "country_") + return country.Name(code) + "(国家池)" + } + return key +} diff --git a/internal/service/outbound.go b/internal/service/outbound.go new file mode 100644 index 0000000..da9dbdb --- /dev/null +++ b/internal/service/outbound.go @@ -0,0 +1,166 @@ +package service + +import ( + "context" + "fmt" + "strings" + "time" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/store" +) + +type OutboundMember struct { + RuntimeName string `json:"runtime_name"` + Name string `json:"name"` +} + +type OutboundGroup struct { + RuntimeName string `json:"runtime_name"` + Name string `json:"name"` + Type string `json:"type"` + Source string `json:"source"` + Now string `json:"now"` + NowName string `json:"now_name"` + Selectable bool `json:"selectable"` + IsCountry bool `json:"is_country"` + Members []OutboundMember `json:"members"` +} + +type OutboundOverview struct { + DefaultPolicy string `json:"default_policy"` + Groups []OutboundGroup `json:"groups"` +} + +func (a *App) OutboundOverview(ctx context.Context) (OutboundOverview, error) { + settings, err := a.Store.GetSettings(ctx) + if err != nil { + return OutboundOverview{}, err + } + defaultPolicy := settings["default_policy"] + if defaultPolicy == "" { + defaultPolicy = "DIRECT" + } + + base, secret, err := a.MihomoAPIBase(ctx) + if err != nil { + return OutboundOverview{}, err + } + live, err := mihomoapi.New(base, secret).ListProxiesCached(8 * time.Second) + if err != nil { + return OutboundOverview{}, fmt.Errorf("mihomo proxies: %w", err) + } + + nodes, err := a.Store.ListProxyNodes(ctx, "", nil) + if err != nil { + return OutboundOverview{}, err + } + groups, err := a.Store.ListProxyGroups(ctx) + if err != nil { + return OutboundOverview{}, err + } + display := buildDisplayMap(nodes, groups) + + var outGroups []OutboundGroup + seen := map[string]bool{} + for _, g := range groups { + if !g.Enabled { + continue + } + state, ok := live[g.RuntimeName] + if !ok || !mihomoapi.IsPolicyGroupType(state.Type) { + continue + } + seen[g.RuntimeName] = true + outGroups = append(outGroups, buildOutboundGroup(g.RuntimeName, g.Name, g.Source, state, display)) + } + for name, state := range live { + if seen[name] || !mihomoapi.IsPolicyGroupType(state.Type) { + continue + } + outGroups = append(outGroups, buildOutboundGroup(name, display[name], "runtime", state, display)) + } + + return OutboundOverview{ + DefaultPolicy: defaultPolicy, + Groups: outGroups, + }, nil +} + +func (a *App) SelectOutboundGroup(ctx context.Context, groupRuntime, proxyRuntime string) error { + base, secret, err := a.MihomoAPIBase(ctx) + if err != nil { + return err + } + if err := mihomoapi.New(base, secret).SelectProxy(groupRuntime, proxyRuntime); err != nil { + return err + } + _ = a.Store.AddAuditLog(ctx, "select", "outbound", groupRuntime+" -> "+proxyRuntime) + return nil +} + +func (a *App) SetDefaultPolicy(ctx context.Context, policy string) error { + if err := a.Store.SetSettings(ctx, map[string]string{"default_policy": policy}); err != nil { + return err + } + return a.ReloadEngine(ctx) +} + +func buildOutboundGroup(runtimeName, name, source string, state mihomoapi.ProxyState, display map[string]string) OutboundGroup { + if name == "" { + name = runtimeName + } + autoOnly := state.Type == "URLTest" || state.Type == "Fallback" + members := make([]OutboundMember, 0, len(state.All)) + for _, m := range state.All { + if autoOnly && (m == "DIRECT" || m == "REJECT" || m == "REJECT-DROP") { + continue + } + if m == "DIRECT" || m == "REJECT" || m == "REJECT-DROP" { + members = append(members, OutboundMember{RuntimeName: m, Name: m}) + continue + } + members = append(members, OutboundMember{ + RuntimeName: m, + Name: displayName(display, m), + }) + } + return OutboundGroup{ + RuntimeName: runtimeName, + Name: name, + Type: state.Type, + Source: source, + Now: state.Now, + NowName: displayName(display, state.Now), + Selectable: state.Type == "Selector", + IsCountry: strings.HasPrefix(runtimeName, "country_"), + Members: members, + } +} + +func buildDisplayMap(nodes []store.ProxyNode, groups []store.ProxyGroup) map[string]string { + m := map[string]string{ + "DIRECT": "DIRECT", + "REJECT": "REJECT", + } + seen := map[string]bool{} + for _, n := range nodes { + m[n.RuntimeName] = n.Name + if n.Country != "" && !seen[n.Country] { + seen[n.Country] = true + m[country.GroupRuntime(n.Country)] = country.Name(n.Country) + "(国家池)" + } + } + for _, g := range groups { + m[g.RuntimeName] = g.Name + } + return m +} + +func displayName(display map[string]string, runtime string) string { + if name, ok := display[runtime]; ok && name != "" { + return name + } + return runtime +} diff --git a/internal/settings/defaults.go b/internal/settings/defaults.go new file mode 100644 index 0000000..dc33e90 --- /dev/null +++ b/internal/settings/defaults.go @@ -0,0 +1,61 @@ +package settings + +import ( + "strconv" + "strings" + + "github.com/prism/proxy/internal/geodata" +) + +// Display merges stored settings with effective defaults for the settings UI. +func Display(raw map[string]string) map[string]string { + out := make(map[string]string, len(raw)+8) + for k, v := range raw { + out[k] = v + } + applyGeoDisplayDefaults(out) + applyScalarDisplayDefaults(out) + applyLocaleDisplayDefaults(out) + return out +} + +// NormalizeSubmit clears values that match built-in defaults so empty means default. +func NormalizeSubmit(req map[string]string) { + normalizeGeoSubmit(req) + normalizeLocaleSubmit(req) +} + +func applyGeoDisplayDefaults(out map[string]string) { + def := geodata.DefaultConfig() + if strings.TrimSpace(out["geo_country_mmdb_url"]) == "" { + out["geo_country_mmdb_url"] = def.CountryMmdbURL + } + if strings.TrimSpace(out["geo_geoip_url"]) == "" { + out["geo_geoip_url"] = def.GeoIPURL + } + if strings.TrimSpace(out["geo_geosite_url"]) == "" { + out["geo_geosite_url"] = def.GeoSiteURL + } +} + +func normalizeGeoSubmit(req map[string]string) { + def := geodata.DefaultConfig() + if strings.TrimSpace(req["geo_country_mmdb_url"]) == def.CountryMmdbURL { + req["geo_country_mmdb_url"] = "" + } + if strings.TrimSpace(req["geo_geoip_url"]) == def.GeoIPURL { + req["geo_geoip_url"] = "" + } + if strings.TrimSpace(req["geo_geosite_url"]) == def.GeoSiteURL { + req["geo_geosite_url"] = "" + } +} + +func applyScalarDisplayDefaults(out map[string]string) { + if strings.TrimSpace(out["login_max_attempts"]) == "" { + out["login_max_attempts"] = strconv.Itoa(5) + } + if strings.TrimSpace(out["login_lock_minutes"]) == "" { + out["login_lock_minutes"] = strconv.Itoa(15) + } +} diff --git a/internal/settings/defaults_test.go b/internal/settings/defaults_test.go new file mode 100644 index 0000000..54e46d8 --- /dev/null +++ b/internal/settings/defaults_test.go @@ -0,0 +1,27 @@ +package settings + +import "testing" + +func TestDisplayFillsGeoDefaults(t *testing.T) { + out := Display(map[string]string{ + "geo_country_mmdb_url": "", + "geo_geoip_url": "", + "geo_geosite_url": "", + }) + if out["geo_country_mmdb_url"] == "" || out["geo_geoip_url"] == "" || out["geo_geosite_url"] == "" { + t.Fatalf("expected geo defaults, got %+v", out) + } +} + +func TestNormalizeSubmitClearsDefaultGeoURLs(t *testing.T) { + out := Display(map[string]string{}) + req := map[string]string{ + "geo_country_mmdb_url": out["geo_country_mmdb_url"], + "geo_geoip_url": out["geo_geoip_url"], + "geo_geosite_url": out["geo_geosite_url"], + } + NormalizeSubmit(req) + if req["geo_country_mmdb_url"] != "" || req["geo_geoip_url"] != "" || req["geo_geosite_url"] != "" { + t.Fatalf("expected empty submit, got %+v", req) + } +} diff --git a/internal/settings/keys.go b/internal/settings/keys.go new file mode 100644 index 0000000..cead4fd --- /dev/null +++ b/internal/settings/keys.go @@ -0,0 +1,25 @@ +package settings + +// Well-known settings keys stored in SQLite. +const ( + KeyHTTPPort = "http_port" + KeySocksPort = "socks_port" + KeyAPIPort = "api_port" + KeyMihomoAPIPort = "mihomo_api_port" + KeyAPISecret = "api_secret" + KeyAdminPassword = "admin_password" + KeyAuthEnabled = "auth_enabled" + KeyLogLevel = "log_level" + KeyHealthIntervalSec = "health_interval_sec" + KeySubSyncEnabled = "sub_sync_enabled" + KeyDefaultPolicy = "default_policy" + KeyGeoAutoDownload = "geo_auto_download" + KeyLoginMaxAttempts = "login_max_attempts" + KeyLoginLockMinutes = "login_lock_minutes" + KeyProxyAuthUser = "proxy_auth_user" + KeyProxyAuthPass = "proxy_auth_pass" + KeyGeoCountryMmdbURL = "geo_country_mmdb_url" + KeyGeoGeoIPURL = "geo_geoip_url" + KeyGeoGeoSiteURL = "geo_geosite_url" + KeyUILocale = "ui_locale" +) diff --git a/internal/settings/locale.go b/internal/settings/locale.go new file mode 100644 index 0000000..e8ed709 --- /dev/null +++ b/internal/settings/locale.go @@ -0,0 +1,29 @@ +package settings + +import "strings" + +var validUILocales = map[string]bool{ + "zh-CN": true, + "zh-TW": true, + "en": true, +} + +func NormalizeUILocale(v string) string { + v = strings.TrimSpace(v) + if validUILocales[v] { + return v + } + return "zh-CN" +} + +func applyLocaleDisplayDefaults(out map[string]string) { + if strings.TrimSpace(out[KeyUILocale]) == "" { + out[KeyUILocale] = "zh-CN" + } +} + +func normalizeLocaleSubmit(req map[string]string) { + if v, ok := req[KeyUILocale]; ok { + req[KeyUILocale] = NormalizeUILocale(v) + } +} diff --git a/internal/store/api_keys_repo.go b/internal/store/api_keys_repo.go new file mode 100644 index 0000000..75632ac --- /dev/null +++ b/internal/store/api_keys_repo.go @@ -0,0 +1,110 @@ +package store + +import ( + "context" + "database/sql" + "time" +) + +func (s *Store) ListAPIKeys(ctx context.Context) ([]APIKey, error) { + rows, err := s.db.QueryContext(ctx, ` + SELECT id, name, key_prefix, enabled, last_used_at, created_at + FROM api_keys + ORDER BY id DESC`) + if err != nil { + return nil, err + } + defer rows.Close() + return scanAPIKeys(rows) +} + +func (s *Store) CreateAPIKey(ctx context.Context, name, keyPrefix, keyHash string) (*APIKey, error) { + res, err := s.db.ExecContext(ctx, ` + INSERT INTO api_keys(name, key_prefix, key_hash, enabled) + VALUES(?,?,?,1)`, name, keyPrefix, keyHash) + if err != nil { + return nil, err + } + id, _ := res.LastInsertId() + return s.GetAPIKey(ctx, id) +} + +func (s *Store) GetAPIKey(ctx context.Context, id int64) (*APIKey, error) { + row := s.db.QueryRowContext(ctx, ` + SELECT id, name, key_prefix, enabled, last_used_at, created_at + FROM api_keys WHERE id=?`, id) + return scanAPIKey(row) +} + +func (s *Store) DeleteAPIKey(ctx context.Context, id int64) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM api_keys WHERE id=?`, id) + return err +} + +func (s *Store) VerifyAPIKey(ctx context.Context, keyHash string) (bool, error) { + var id int64 + err := s.db.QueryRowContext(ctx, ` + SELECT id FROM api_keys WHERE key_hash=? AND enabled=1`, keyHash).Scan(&id) + if err == sql.ErrNoRows { + return false, nil + } + if err != nil { + return false, err + } + _, _ = s.db.ExecContext(ctx, `UPDATE api_keys SET last_used_at=datetime('now') WHERE id=?`, id) + return true, nil +} + +func scanAPIKeys(rows *sql.Rows) ([]APIKey, error) { + var out []APIKey + for rows.Next() { + item, err := scanAPIKeyFromRows(rows) + if err != nil { + return nil, err + } + out = append(out, *item) + } + return out, rows.Err() +} + +func scanAPIKey(row *sql.Row) (*APIKey, error) { + var item APIKey + var enabled int + var lastUsed, created sql.NullString + if err := row.Scan(&item.ID, &item.Name, &item.KeyPrefix, &enabled, &lastUsed, &created); err != nil { + return nil, err + } + item.Enabled = enabled == 1 + if lastUsed.Valid { + if t, err := time.Parse("2006-01-02 15:04:05", lastUsed.String); err == nil { + item.LastUsedAt = &t + } + } + if created.Valid { + if t, err := time.Parse("2006-01-02 15:04:05", created.String); err == nil { + item.CreatedAt = t + } + } + return &item, nil +} + +func scanAPIKeyFromRows(rows *sql.Rows) (*APIKey, error) { + var item APIKey + var enabled int + var lastUsed, created sql.NullString + if err := rows.Scan(&item.ID, &item.Name, &item.KeyPrefix, &enabled, &lastUsed, &created); err != nil { + return nil, err + } + item.Enabled = enabled == 1 + if lastUsed.Valid { + if t, err := time.Parse("2006-01-02 15:04:05", lastUsed.String); err == nil { + item.LastUsedAt = &t + } + } + if created.Valid { + if t, err := time.Parse("2006-01-02 15:04:05", created.String); err == nil { + item.CreatedAt = t + } + } + return &item, nil +} diff --git a/internal/store/country_repo.go b/internal/store/country_repo.go new file mode 100644 index 0000000..fce1d5a --- /dev/null +++ b/internal/store/country_repo.go @@ -0,0 +1,80 @@ +package store + +import ( + "context" + + "github.com/prism/proxy/internal/country" +) + +type CountryStat struct { + Code string `json:"code"` + Name string `json:"name"` + Count int `json:"count"` +} + +func (s *Store) ListCountryStats(ctx context.Context) ([]CountryStat, error) { + rows, err := s.db.QueryContext(ctx, ` + SELECT country, COUNT(*) FROM proxy_nodes + WHERE enabled=1 AND country != '' + GROUP BY country ORDER BY COUNT(*) DESC, country`) + if err != nil { + return nil, err + } + defer rows.Close() + var out []CountryStat + for rows.Next() { + var st CountryStat + if err := rows.Scan(&st.Code, &st.Count); err != nil { + return nil, err + } + st.Name = country.Name(st.Code) + out = append(out, st) + } + return out, rows.Err() +} + +func (s *Store) BackfillNodeCountries(ctx context.Context) (int, error) { + nodes, err := s.ListProxyNodes(ctx, "", nil) + if err != nil { + return 0, err + } + updated := 0 + for _, n := range nodes { + code := n.Country + if code == "" { + code = country.Detect(n.Name) + } + if code == "" || code == n.Country { + continue + } + if err := s.UpdateProxyNodeCountry(ctx, n.ID, code); err != nil { + return updated, err + } + updated++ + } + return updated, nil +} + +func (s *Store) UpdateProxyNodeCountry(ctx context.Context, id int64, code string) error { + _, err := s.db.ExecContext(ctx, `UPDATE proxy_nodes SET country=?, updated_at=datetime('now') WHERE id=?`, code, id) + return err +} + +func (s *Store) RebuildAllNodeCountries(ctx context.Context) (int, error) { + nodes, err := s.ListProxyNodes(ctx, "", nil) + if err != nil { + return 0, err + } + updated := 0 + for _, n := range nodes { + code := country.Detect(n.Name) + if code == n.Country { + continue + } + if err := s.UpdateProxyNodeCountry(ctx, n.ID, code); err != nil { + return updated, err + } + updated++ + } + return updated, nil +} diff --git a/internal/store/login_attempts.go b/internal/store/login_attempts.go new file mode 100644 index 0000000..00fbbac --- /dev/null +++ b/internal/store/login_attempts.go @@ -0,0 +1,65 @@ +package store + +import ( + "context" + "database/sql" + "time" +) + +type LoginAttempt struct { + FailCount int + WindowStart time.Time + LockedUntil *time.Time +} + +func (s *Store) GetLoginAttempt(ctx context.Context, ip string) (*LoginAttempt, error) { + var failCount int + var windowStart string + var lockedUntil sql.NullString + err := s.db.QueryRowContext(ctx, + `SELECT fail_count, window_start, locked_until FROM login_attempts WHERE ip = ?`, ip, + ).Scan(&failCount, &windowStart, &lockedUntil) + if err == sql.ErrNoRows { + return nil, nil + } + if err != nil { + return nil, err + } + out := &LoginAttempt{ + FailCount: failCount, + WindowStart: parseTime(windowStart), + } + if lockedUntil.Valid && lockedUntil.String != "" { + t := parseTime(lockedUntil.String) + out.LockedUntil = &t + } + return out, nil +} + +func (s *Store) SetLoginAttempt(ctx context.Context, ip string, attempt LoginAttempt) error { + var locked string + if attempt.LockedUntil != nil { + locked = attempt.LockedUntil.Format("2006-01-02 15:04:05") + } + _, err := s.db.ExecContext(ctx, ` + INSERT INTO login_attempts(ip, fail_count, window_start, locked_until) + VALUES(?,?,?,?) + ON CONFLICT(ip) DO UPDATE SET + fail_count = excluded.fail_count, + window_start = excluded.window_start, + locked_until = excluded.locked_until + `, ip, attempt.FailCount, attempt.WindowStart.Format("2006-01-02 15:04:05"), nullIfEmpty(locked)) + return err +} + +func (s *Store) ClearLoginAttempt(ctx context.Context, ip string) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM login_attempts WHERE ip = ?`, ip) + return err +} + +func nullIfEmpty(s string) any { + if s == "" { + return nil + } + return s +} diff --git a/internal/store/migrations/001_init.sql b/internal/store/migrations/001_init.sql new file mode 100644 index 0000000..6ea42e0 --- /dev/null +++ b/internal/store/migrations/001_init.sql @@ -0,0 +1,112 @@ +-- +goose Up +CREATE TABLE IF NOT EXISTS subscriptions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + url TEXT NOT NULL, + type TEXT NOT NULL DEFAULT 'clash', + interval_sec INTEGER NOT NULL DEFAULT 3600, + enabled INTEGER NOT NULL DEFAULT 1, + last_fetch_at TEXT, + last_error TEXT, + node_count INTEGER NOT NULL DEFAULT 0, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + updated_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS proxy_nodes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + subscription_id INTEGER, + name TEXT NOT NULL, + runtime_name TEXT NOT NULL UNIQUE, + type TEXT NOT NULL, + raw_config TEXT NOT NULL DEFAULT '{}', + source TEXT NOT NULL DEFAULT 'subscription', + enabled INTEGER NOT NULL DEFAULT 1, + latency_ms INTEGER NOT NULL DEFAULT -1, + alive INTEGER NOT NULL DEFAULT 0, + checked_at TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + updated_at TEXT NOT NULL DEFAULT (datetime('now')), + FOREIGN KEY (subscription_id) REFERENCES subscriptions(id) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS rules ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + priority INTEGER NOT NULL DEFAULT 100, + rule_type TEXT NOT NULL, + payload TEXT NOT NULL DEFAULT '', + target TEXT NOT NULL, + source TEXT NOT NULL DEFAULT 'manual', + subscription_id INTEGER, + enabled INTEGER NOT NULL DEFAULT 1, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + updated_at TEXT NOT NULL DEFAULT (datetime('now')), + FOREIGN KEY (subscription_id) REFERENCES subscriptions(id) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS proxy_groups ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + runtime_name TEXT NOT NULL UNIQUE, + type TEXT NOT NULL DEFAULT 'select', + proxies TEXT NOT NULL DEFAULT '[]', + source TEXT NOT NULL DEFAULT 'subscription', + subscription_id INTEGER, + enabled INTEGER NOT NULL DEFAULT 1, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + updated_at TEXT NOT NULL DEFAULT (datetime('now')), + FOREIGN KEY (subscription_id) REFERENCES subscriptions(id) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS settings ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL +); + +CREATE TABLE IF NOT EXISTS audit_logs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + action TEXT NOT NULL, + resource TEXT NOT NULL, + detail TEXT NOT NULL DEFAULT '', + created_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS request_logs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + level TEXT NOT NULL DEFAULT 'info', + source TEXT NOT NULL DEFAULT 'prism', + message TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS traffic_snapshots ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + upload_rate INTEGER NOT NULL DEFAULT 0, + download_rate INTEGER NOT NULL DEFAULT 0, + connections INTEGER NOT NULL DEFAULT 0, + created_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +INSERT OR IGNORE INTO settings (key, value) VALUES + ('http_port', '7890'), + ('socks_port', '7891'), + ('api_port', '8080'), + ('mihomo_api_port', '9090'), + ('api_secret', ''), + ('admin_password', 'admin'), + ('auth_enabled', 'true'), + ('log_level', 'info'), + ('health_interval_sec', '300'), + ('sub_sync_enabled', 'true'), + ('default_policy', 'DIRECT'), + ('geo_auto_download', 'true'); + +-- +goose Down +DROP TABLE IF EXISTS traffic_snapshots; +DROP TABLE IF EXISTS request_logs; +DROP TABLE IF EXISTS audit_logs; +DROP TABLE IF EXISTS settings; +DROP TABLE IF EXISTS proxy_groups; +DROP TABLE IF EXISTS rules; +DROP TABLE IF EXISTS proxy_nodes; +DROP TABLE IF EXISTS subscriptions; diff --git a/internal/store/migrations/002_country.sql b/internal/store/migrations/002_country.sql new file mode 100644 index 0000000..280cb64 --- /dev/null +++ b/internal/store/migrations/002_country.sql @@ -0,0 +1,5 @@ +-- +goose Up +ALTER TABLE proxy_nodes ADD COLUMN country TEXT NOT NULL DEFAULT ''; + +-- +goose Down +ALTER TABLE proxy_nodes DROP COLUMN country; diff --git a/internal/store/migrations/003_traffic_logs.sql b/internal/store/migrations/003_traffic_logs.sql new file mode 100644 index 0000000..0c1a554 --- /dev/null +++ b/internal/store/migrations/003_traffic_logs.sql @@ -0,0 +1,23 @@ +-- +goose Up +CREATE TABLE IF NOT EXISTS proxy_request_logs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + host TEXT NOT NULL DEFAULT '', + network TEXT NOT NULL DEFAULT '', + rule_type TEXT NOT NULL DEFAULT '', + rule_payload TEXT NOT NULL DEFAULT '', + rule_line TEXT NOT NULL DEFAULT '', + outbound_node TEXT NOT NULL DEFAULT '', + outbound_chain TEXT NOT NULL DEFAULT '', + upload INTEGER NOT NULL DEFAULT 0, + download INTEGER NOT NULL DEFAULT 0, + success INTEGER NOT NULL DEFAULT 0, + started_at TEXT NOT NULL, + ended_at TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +CREATE INDEX IF NOT EXISTS idx_proxy_request_logs_created ON proxy_request_logs(created_at DESC); +CREATE INDEX IF NOT EXISTS idx_proxy_request_logs_host ON proxy_request_logs(host); + +-- +goose Down +DROP TABLE IF EXISTS proxy_request_logs; diff --git a/internal/store/migrations/004_traffic_agg_index.sql b/internal/store/migrations/004_traffic_agg_index.sql new file mode 100644 index 0000000..ea6f402 --- /dev/null +++ b/internal/store/migrations/004_traffic_agg_index.sql @@ -0,0 +1,5 @@ +-- +goose Up +CREATE INDEX IF NOT EXISTS idx_proxy_request_logs_node ON proxy_request_logs(outbound_node); + +-- +goose Down +DROP INDEX IF EXISTS idx_proxy_request_logs_node; diff --git a/internal/store/migrations/005_login_attempts.sql b/internal/store/migrations/005_login_attempts.sql new file mode 100644 index 0000000..54ecf95 --- /dev/null +++ b/internal/store/migrations/005_login_attempts.sql @@ -0,0 +1,15 @@ +-- +goose Up +CREATE TABLE IF NOT EXISTS login_attempts ( + ip TEXT PRIMARY KEY, + fail_count INTEGER NOT NULL DEFAULT 0, + window_start TEXT NOT NULL, + locked_until TEXT +); + +INSERT OR IGNORE INTO settings (key, value) VALUES + ('login_max_attempts', '5'), + ('login_lock_minutes', '15'); + +-- +goose Down +DROP TABLE IF EXISTS login_attempts; +DELETE FROM settings WHERE key IN ('login_max_attempts', 'login_lock_minutes'); diff --git a/internal/store/migrations/006_proxy_auth.sql b/internal/store/migrations/006_proxy_auth.sql new file mode 100644 index 0000000..3be8d12 --- /dev/null +++ b/internal/store/migrations/006_proxy_auth.sql @@ -0,0 +1,7 @@ +-- +goose Up +INSERT OR IGNORE INTO settings (key, value) VALUES + ('proxy_auth_user', ''), + ('proxy_auth_pass', ''); + +-- +goose Down +DELETE FROM settings WHERE key IN ('proxy_auth_user', 'proxy_auth_pass'); diff --git a/internal/store/migrations/007_geo_urls.sql b/internal/store/migrations/007_geo_urls.sql new file mode 100644 index 0000000..43d85d8 --- /dev/null +++ b/internal/store/migrations/007_geo_urls.sql @@ -0,0 +1,8 @@ +-- +goose Up +INSERT OR IGNORE INTO settings (key, value) VALUES + ('geo_country_mmdb_url', ''), + ('geo_geoip_url', ''), + ('geo_geosite_url', ''); + +-- +goose Down +DELETE FROM settings WHERE key IN ('geo_country_mmdb_url', 'geo_geoip_url', 'geo_geosite_url'); diff --git a/internal/store/migrations/008_api_keys.sql b/internal/store/migrations/008_api_keys.sql new file mode 100644 index 0000000..c379415 --- /dev/null +++ b/internal/store/migrations/008_api_keys.sql @@ -0,0 +1,13 @@ +-- +goose Up +CREATE TABLE IF NOT EXISTS api_keys ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + key_prefix TEXT NOT NULL, + key_hash TEXT NOT NULL UNIQUE, + enabled INTEGER NOT NULL DEFAULT 1, + last_used_at TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now')) +); + +-- +goose Down +DROP TABLE IF EXISTS api_keys; diff --git a/internal/store/migrations/009_ui_locale.sql b/internal/store/migrations/009_ui_locale.sql new file mode 100644 index 0000000..2eb6fe1 --- /dev/null +++ b/internal/store/migrations/009_ui_locale.sql @@ -0,0 +1,5 @@ +-- +goose Up +INSERT OR IGNORE INTO settings(key, value) VALUES('ui_locale', 'zh-CN'); + +-- +goose Down +DELETE FROM settings WHERE key = 'ui_locale'; diff --git a/internal/store/models.go b/internal/store/models.go new file mode 100644 index 0000000..754403c --- /dev/null +++ b/internal/store/models.go @@ -0,0 +1,108 @@ +package store + +import "time" + +type Subscription struct { + ID int64 `json:"id"` + Name string `json:"name"` + URL string `json:"url"` + Type string `json:"type"` + IntervalSec int `json:"interval_sec"` + Enabled bool `json:"enabled"` + LastFetchAt *time.Time `json:"last_fetch_at,omitempty"` + LastError string `json:"last_error,omitempty"` + NodeCount int `json:"node_count"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} + +type APIKey struct { + ID int64 `json:"id"` + Name string `json:"name"` + KeyPrefix string `json:"key_prefix"` + Enabled bool `json:"enabled"` + LastUsedAt *time.Time `json:"last_used_at,omitempty"` + CreatedAt time.Time `json:"created_at"` +} + +type ProxyNode struct { + ID int64 `json:"id"` + SubscriptionID *int64 `json:"subscription_id,omitempty"` + Name string `json:"name"` + RuntimeName string `json:"runtime_name"` + Type string `json:"type"` + RawConfig string `json:"raw_config"` + Source string `json:"source"` + Enabled bool `json:"enabled"` + Country string `json:"country"` + LatencyMs int `json:"latency_ms"` + Alive bool `json:"alive"` + CheckedAt *time.Time `json:"checked_at,omitempty"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} + +type Rule struct { + ID int64 `json:"id"` + Priority int `json:"priority"` + RuleType string `json:"rule_type"` + Payload string `json:"payload"` + Target string `json:"target"` + Source string `json:"source"` + SubscriptionID *int64 `json:"subscription_id,omitempty"` + Enabled bool `json:"enabled"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} + +type ProxyGroup struct { + ID int64 `json:"id"` + Name string `json:"name"` + RuntimeName string `json:"runtime_name"` + Type string `json:"type"` + Proxies string `json:"proxies"` + Source string `json:"source"` + SubscriptionID *int64 `json:"subscription_id,omitempty"` + Enabled bool `json:"enabled"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} + +type AuditLog struct { + ID int64 `json:"id"` + Action string `json:"action"` + Resource string `json:"resource"` + Detail string `json:"detail"` + CreatedAt time.Time `json:"created_at"` +} + +type RequestLog struct { + ID int64 `json:"id"` + Level string `json:"level"` + Source string `json:"source"` + Message string `json:"message"` + CreatedAt time.Time `json:"created_at"` +} + +type MergedRule struct { + Priority int `json:"priority"` + Rule string `json:"rule"` + Source string `json:"source"` +} + +type ProxyRequestLog struct { + ID int64 `json:"id"` + Host string `json:"host"` + Network string `json:"network"` + RuleType string `json:"rule_type"` + RulePayload string `json:"rule_payload"` + RuleLine string `json:"rule_line"` + OutboundNode string `json:"outbound_node"` + OutboundChain string `json:"outbound_chain"` + Upload int64 `json:"upload"` + Download int64 `json:"download"` + Success bool `json:"success"` + StartedAt time.Time `json:"started_at"` + EndedAt time.Time `json:"ended_at"` + CreatedAt time.Time `json:"created_at"` +} diff --git a/internal/store/repo.go b/internal/store/repo.go new file mode 100644 index 0000000..bacfb7f --- /dev/null +++ b/internal/store/repo.go @@ -0,0 +1,508 @@ +package store + +import ( + "context" + "database/sql" + "fmt" +) + +func (s *Store) ListSubscriptions(ctx context.Context) ([]Subscription, error) { + rows, err := s.db.QueryContext(ctx, `SELECT id,name,url,type,interval_sec,enabled,last_fetch_at,last_error,node_count,created_at,updated_at FROM subscriptions ORDER BY id`) + if err != nil { + return nil, err + } + defer rows.Close() + var out []Subscription + for rows.Next() { + var sub Subscription + var enabled, nodeCount int + var lastFetch, lastErr sql.NullString + var created, updated string + if err := rows.Scan(&sub.ID, &sub.Name, &sub.URL, &sub.Type, &sub.IntervalSec, &enabled, &lastFetch, &lastErr, &nodeCount, &created, &updated); err != nil { + return nil, err + } + sub.Enabled = boolFromInt(enabled) + sub.NodeCount = nodeCount + sub.LastFetchAt = parseTimePtr(lastFetch) + sub.LastError = lastErr.String + sub.CreatedAt = parseTime(created) + sub.UpdatedAt = parseTime(updated) + out = append(out, sub) + } + return out, rows.Err() +} + +func (s *Store) GetSubscription(ctx context.Context, id int64) (*Subscription, error) { + var sub Subscription + var enabled, nodeCount int + var lastFetch, lastErr sql.NullString + var created, updated string + err := s.db.QueryRowContext(ctx, `SELECT id,name,url,type,interval_sec,enabled,last_fetch_at,last_error,node_count,created_at,updated_at FROM subscriptions WHERE id=?`, id). + Scan(&sub.ID, &sub.Name, &sub.URL, &sub.Type, &sub.IntervalSec, &enabled, &lastFetch, &lastErr, &nodeCount, &created, &updated) + if err != nil { + return nil, err + } + sub.Enabled = boolFromInt(enabled) + sub.NodeCount = nodeCount + sub.LastFetchAt = parseTimePtr(lastFetch) + sub.LastError = lastErr.String + sub.CreatedAt = parseTime(created) + sub.UpdatedAt = parseTime(updated) + return &sub, nil +} + +func (s *Store) CreateSubscription(ctx context.Context, sub *Subscription) error { + res, err := s.db.ExecContext(ctx, `INSERT INTO subscriptions(name,url,type,interval_sec,enabled) VALUES(?,?,?,?,?)`, + sub.Name, sub.URL, sub.Type, sub.IntervalSec, intFromBool(sub.Enabled)) + if err != nil { + return err + } + id, _ := res.LastInsertId() + sub.ID = id + return nil +} + +func (s *Store) UpdateSubscription(ctx context.Context, sub *Subscription) error { + _, err := s.db.ExecContext(ctx, `UPDATE subscriptions SET name=?,url=?,type=?,interval_sec=?,enabled=?,updated_at=datetime('now') WHERE id=?`, + sub.Name, sub.URL, sub.Type, sub.IntervalSec, intFromBool(sub.Enabled), sub.ID) + return err +} + +func (s *Store) DeleteSubscription(ctx context.Context, id int64) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM subscriptions WHERE id=?`, id) + return err +} + +func (s *Store) UpdateSubscriptionFetch(ctx context.Context, id int64, nodeCount int, lastError string) error { + _, err := s.db.ExecContext(ctx, `UPDATE subscriptions SET last_fetch_at=datetime('now'), last_error=?, node_count=?, updated_at=datetime('now') WHERE id=?`, + lastError, nodeCount, id) + return err +} + +func (s *Store) proxyNodesWhere(source string, subscriptionID *int64, country string) (string, []any) { + query := ` FROM proxy_nodes WHERE 1=1` + args := []any{} + if source != "" { + query += ` AND source = ?` + args = append(args, source) + } + if subscriptionID != nil { + query += ` AND subscription_id = ?` + args = append(args, *subscriptionID) + } + if country != "" { + query += ` AND country = ?` + args = append(args, country) + } + return query, args +} + +func (s *Store) CountProxyNodes(ctx context.Context, source string, subscriptionID *int64, country string) (int, error) { + where, args := s.proxyNodesWhere(source, subscriptionID, country) + var n int + err := s.db.QueryRowContext(ctx, `SELECT COUNT(*)`+where, args...).Scan(&n) + return n, err +} + +func (s *Store) ListProxyNodes(ctx context.Context, source string, subscriptionID *int64) ([]ProxyNode, error) { + return s.ListProxyNodesPage(ctx, source, subscriptionID, "", 0, 0) +} + +func (s *Store) ListProxyNodesPage(ctx context.Context, source string, subscriptionID *int64, country string, limit, offset int) ([]ProxyNode, error) { + where, args := s.proxyNodesWhere(source, subscriptionID, country) + query := `SELECT id,subscription_id,name,runtime_name,type,raw_config,source,enabled,country,latency_ms,alive,checked_at,created_at,updated_at` + where + ` ORDER BY id` + if limit > 0 { + query += ` LIMIT ? OFFSET ?` + args = append(args, limit, offset) + } + rows, err := s.db.QueryContext(ctx, query, args...) + if err != nil { + return nil, err + } + defer rows.Close() + return scanProxyNodes(rows) +} + +func (s *Store) GetProxyNode(ctx context.Context, id int64) (*ProxyNode, error) { + row := s.db.QueryRowContext(ctx, `SELECT id,subscription_id,name,runtime_name,type,raw_config,source,enabled,country,latency_ms,alive,checked_at,created_at,updated_at FROM proxy_nodes WHERE id=?`, id) + return scanProxyNode(row) +} + +func (s *Store) CreateProxyNode(ctx context.Context, n *ProxyNode) error { + res, err := s.db.ExecContext(ctx, `INSERT INTO proxy_nodes(subscription_id,name,runtime_name,type,raw_config,source,enabled,country) VALUES(?,?,?,?,?,?,?,?)`, + n.SubscriptionID, n.Name, n.RuntimeName, n.Type, n.RawConfig, n.Source, intFromBool(n.Enabled), n.Country) + if err != nil { + return err + } + id, _ := res.LastInsertId() + n.ID = id + return nil +} + +func (s *Store) UpdateProxyNode(ctx context.Context, n *ProxyNode) error { + _, err := s.db.ExecContext(ctx, `UPDATE proxy_nodes SET name=?,runtime_name=?,type=?,raw_config=?,enabled=?,country=?,updated_at=datetime('now') WHERE id=?`, + n.Name, n.RuntimeName, n.Type, n.RawConfig, intFromBool(n.Enabled), n.Country, n.ID) + return err +} + +func (s *Store) DeleteProxyNode(ctx context.Context, id int64) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM proxy_nodes WHERE id=?`, id) + return err +} + +func (s *Store) ReplaceManualProxies(ctx context.Context, nodes []ProxyNode) error { + tx, err := s.db.BeginTx(ctx, nil) + if err != nil { + return err + } + defer tx.Rollback() + if _, err := tx.ExecContext(ctx, `DELETE FROM proxy_nodes WHERE source='manual'`); err != nil { + return err + } + for _, n := range nodes { + n.Source = "manual" + if _, err := tx.ExecContext(ctx, + `INSERT INTO proxy_nodes(subscription_id,name,runtime_name,type,raw_config,source,enabled,country) VALUES(?,?,?,?,?,?,?,?)`, + n.SubscriptionID, n.Name, n.RuntimeName, n.Type, n.RawConfig, "manual", intFromBool(n.Enabled), n.Country); err != nil { + return err + } + } + return tx.Commit() +} + +func (s *Store) AppendManualProxies(ctx context.Context, nodes []ProxyNode) error { + for i := range nodes { + nodes[i].Source = "manual" + if err := s.CreateProxyNode(ctx, &nodes[i]); err != nil { + return err + } + } + return nil +} + +func (s *Store) UpdateProxyNodeHealth(ctx context.Context, id int64, latency int, alive bool) error { + _, err := s.db.ExecContext(ctx, `UPDATE proxy_nodes SET latency_ms=?, alive=?, checked_at=datetime('now'), updated_at=datetime('now') WHERE id=?`, + latency, intFromBool(alive), id) + return err +} + +func (s *Store) ReplaceSubscriptionData(ctx context.Context, subID int64, nodes []ProxyNode, groups []ProxyGroup, rules []Rule) error { + tx, err := s.db.BeginTx(ctx, nil) + if err != nil { + return err + } + defer tx.Rollback() + + if _, err := tx.ExecContext(ctx, `DELETE FROM proxy_nodes WHERE subscription_id=?`, subID); err != nil { + return err + } + if _, err := tx.ExecContext(ctx, `DELETE FROM proxy_groups WHERE subscription_id=?`, subID); err != nil { + return err + } + if _, err := tx.ExecContext(ctx, `DELETE FROM rules WHERE subscription_id=?`, subID); err != nil { + return err + } + + for _, n := range nodes { + n.SubscriptionID = &subID + if _, err := tx.ExecContext(ctx, `INSERT INTO proxy_nodes(subscription_id,name,runtime_name,type,raw_config,source,enabled,country) VALUES(?,?,?,?,?,?,?,?)`, + subID, n.Name, n.RuntimeName, n.Type, n.RawConfig, "subscription", intFromBool(n.Enabled), n.Country); err != nil { + return err + } + } + for _, g := range groups { + if _, err := tx.ExecContext(ctx, `INSERT INTO proxy_groups(name,runtime_name,type,proxies,source,subscription_id,enabled) VALUES(?,?,?,?,?,?,?)`, + g.Name, g.RuntimeName, g.Type, g.Proxies, "subscription", subID, intFromBool(g.Enabled)); err != nil { + return err + } + } + basePriority := 10000 + for i, r := range rules { + r.Priority = basePriority + i + r.SubscriptionID = &subID + if _, err := tx.ExecContext(ctx, `INSERT INTO rules(priority,rule_type,payload,target,source,subscription_id,enabled) VALUES(?,?,?,?,?,?,?)`, + r.Priority, r.RuleType, r.Payload, r.Target, "subscription", subID, intFromBool(r.Enabled)); err != nil { + return err + } + } + return tx.Commit() +} + +func scanProxyNodes(rows *sql.Rows) ([]ProxyNode, error) { + var out []ProxyNode + for rows.Next() { + n, err := scanProxyNodeFromRows(rows) + if err != nil { + return nil, err + } + out = append(out, *n) + } + return out, rows.Err() +} + +func scanProxyNode(row *sql.Row) (*ProxyNode, error) { + // reuse via a mini adapter - sql.Row doesn't share with Rows + var n ProxyNode + var subID sql.NullInt64 + var enabled, alive int + var checked sql.NullString + var created, updated string + err := row.Scan(&n.ID, &subID, &n.Name, &n.RuntimeName, &n.Type, &n.RawConfig, &n.Source, &enabled, &n.Country, &n.LatencyMs, &alive, &checked, &created, &updated) + if err != nil { + return nil, err + } + if subID.Valid { + n.SubscriptionID = &subID.Int64 + } + n.Enabled = boolFromInt(enabled) + n.Alive = boolFromInt(alive) + n.CheckedAt = parseTimePtr(checked) + n.CreatedAt = parseTime(created) + n.UpdatedAt = parseTime(updated) + return &n, nil +} + +func scanProxyNodeFromRows(rows *sql.Rows) (*ProxyNode, error) { + var n ProxyNode + var subID sql.NullInt64 + var enabled, alive int + var checked sql.NullString + var created, updated string + if err := rows.Scan(&n.ID, &subID, &n.Name, &n.RuntimeName, &n.Type, &n.RawConfig, &n.Source, &enabled, &n.Country, &n.LatencyMs, &alive, &checked, &created, &updated); err != nil { + return nil, err + } + if subID.Valid { + n.SubscriptionID = &subID.Int64 + } + n.Enabled = boolFromInt(enabled) + n.Alive = boolFromInt(alive) + n.CheckedAt = parseTimePtr(checked) + n.CreatedAt = parseTime(created) + n.UpdatedAt = parseTime(updated) + return &n, nil +} + +func (s *Store) ListRules(ctx context.Context, source string) ([]Rule, error) { + query := `SELECT id,priority,rule_type,payload,target,source,subscription_id,enabled,created_at,updated_at FROM rules WHERE 1=1` + args := []any{} + if source != "" { + query += ` AND source = ?` + args = append(args, source) + } + query += ` ORDER BY priority ASC, id ASC` + rows, err := s.db.QueryContext(ctx, query, args...) + if err != nil { + return nil, err + } + defer rows.Close() + var out []Rule + for rows.Next() { + var r Rule + var subID sql.NullInt64 + var enabled int + var created, updated string + if err := rows.Scan(&r.ID, &r.Priority, &r.RuleType, &r.Payload, &r.Target, &r.Source, &subID, &enabled, &created, &updated); err != nil { + return nil, err + } + if subID.Valid { + r.SubscriptionID = &subID.Int64 + } + r.Enabled = boolFromInt(enabled) + r.CreatedAt = parseTime(created) + r.UpdatedAt = parseTime(updated) + out = append(out, r) + } + return out, rows.Err() +} + +func (s *Store) GetRule(ctx context.Context, id int64) (*Rule, error) { + var r Rule + var subID sql.NullInt64 + var enabled int + var created, updated string + err := s.db.QueryRowContext(ctx, `SELECT id,priority,rule_type,payload,target,source,subscription_id,enabled,created_at,updated_at FROM rules WHERE id=?`, id). + Scan(&r.ID, &r.Priority, &r.RuleType, &r.Payload, &r.Target, &r.Source, &subID, &enabled, &created, &updated) + if err != nil { + return nil, err + } + if subID.Valid { + r.SubscriptionID = &subID.Int64 + } + r.Enabled = boolFromInt(enabled) + r.CreatedAt = parseTime(created) + r.UpdatedAt = parseTime(updated) + return &r, nil +} + +func (s *Store) CreateRule(ctx context.Context, r *Rule) error { + res, err := s.db.ExecContext(ctx, `INSERT INTO rules(priority,rule_type,payload,target,source,subscription_id,enabled) VALUES(?,?,?,?,?,?,?)`, + r.Priority, r.RuleType, r.Payload, r.Target, r.Source, r.SubscriptionID, intFromBool(r.Enabled)) + if err != nil { + return err + } + id, _ := res.LastInsertId() + r.ID = id + return nil +} + +func (s *Store) UpdateRule(ctx context.Context, r *Rule) error { + _, err := s.db.ExecContext(ctx, `UPDATE rules SET priority=?,rule_type=?,payload=?,target=?,enabled=?,updated_at=datetime('now') WHERE id=?`, + r.Priority, r.RuleType, r.Payload, r.Target, intFromBool(r.Enabled), r.ID) + return err +} + +func (s *Store) DeleteRule(ctx context.Context, id int64) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM rules WHERE id=? AND source='manual'`, id) + return err +} + +func (s *Store) ReplaceManualRules(ctx context.Context, rules []Rule) error { + tx, err := s.db.BeginTx(ctx, nil) + if err != nil { + return err + } + defer tx.Rollback() + if _, err := tx.ExecContext(ctx, `DELETE FROM rules WHERE source='manual'`); err != nil { + return err + } + for _, r := range rules { + r.Source = "manual" + if _, err := tx.ExecContext(ctx, + `INSERT INTO rules(priority,rule_type,payload,target,source,subscription_id,enabled) VALUES(?,?,?,?,?,?,?)`, + r.Priority, r.RuleType, r.Payload, r.Target, "manual", nil, intFromBool(r.Enabled)); err != nil { + return err + } + } + return tx.Commit() +} + +func (s *Store) AppendManualRules(ctx context.Context, rules []Rule) error { + for i := range rules { + rules[i].Source = "manual" + if err := s.CreateRule(ctx, &rules[i]); err != nil { + return err + } + } + return nil +} + +func (s *Store) ListProxyGroups(ctx context.Context) ([]ProxyGroup, error) { + rows, err := s.db.QueryContext(ctx, `SELECT id,name,runtime_name,type,proxies,source,subscription_id,enabled,created_at,updated_at FROM proxy_groups ORDER BY id`) + if err != nil { + return nil, err + } + defer rows.Close() + var out []ProxyGroup + for rows.Next() { + var g ProxyGroup + var subID sql.NullInt64 + var enabled int + var created, updated string + if err := rows.Scan(&g.ID, &g.Name, &g.RuntimeName, &g.Type, &g.Proxies, &g.Source, &subID, &enabled, &created, &updated); err != nil { + return nil, err + } + if subID.Valid { + g.SubscriptionID = &subID.Int64 + } + g.Enabled = boolFromInt(enabled) + g.CreatedAt = parseTime(created) + g.UpdatedAt = parseTime(updated) + out = append(out, g) + } + return out, rows.Err() +} + +func (s *Store) CountEnabledProxies(ctx context.Context) (total, alive int, err error) { + err = s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM proxy_nodes WHERE enabled=1`).Scan(&total) + if err != nil { + return + } + err = s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM proxy_nodes WHERE enabled=1 AND alive=1`).Scan(&alive) + return +} + +func (s *Store) NextManualRulePriority(ctx context.Context) (int, error) { + var max sql.NullInt64 + err := s.db.QueryRowContext(ctx, `SELECT MAX(priority) FROM rules WHERE source='manual'`).Scan(&max) + if err != nil { + return 100, err + } + if !max.Valid || max.Int64 >= 9999 { + return 100, nil + } + return int(max.Int64) + 10, nil +} + +func (s *Store) ListMergedRules(ctx context.Context, defaultPolicy string) ([]MergedRule, error) { + rules, err := s.ListRules(ctx, "") + if err != nil { + return nil, err + } + return buildMergedRules(rules, defaultPolicy), nil +} + +func (s *Store) CountMergedRules(ctx context.Context) (int, error) { + var n int + err := s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM rules WHERE enabled=1`).Scan(&n) + return n, err +} + +func (s *Store) ListMergedRulesPage(ctx context.Context, limit, offset int) ([]MergedRule, error) { + if limit <= 0 { + limit = 50 + } + if limit > 500 { + limit = 500 + } + if offset < 0 { + offset = 0 + } + rows, err := s.db.QueryContext(ctx, ` + SELECT priority,rule_type,payload,target,source FROM rules + WHERE enabled=1 + ORDER BY priority ASC, id ASC + LIMIT ? OFFSET ?`, limit, offset) + if err != nil { + return nil, err + } + defer rows.Close() + var out []MergedRule + for rows.Next() { + var r Rule + if err := rows.Scan(&r.Priority, &r.RuleType, &r.Payload, &r.Target, &r.Source); err != nil { + return nil, err + } + out = append(out, MergedRule{ + Priority: r.Priority, + Rule: formatRuleLine(r), + Source: r.Source, + }) + } + return out, rows.Err() +} + +func buildMergedRules(rules []Rule, defaultPolicy string) []MergedRule { + var out []MergedRule + for _, r := range rules { + if !r.Enabled { + continue + } + out = append(out, MergedRule{ + Priority: r.Priority, + Rule: formatRuleLine(r), + Source: r.Source, + }) + } + if defaultPolicy == "" { + defaultPolicy = "DIRECT" + } + out = append(out, MergedRule{Priority: 999999, Rule: "MATCH," + defaultPolicy, Source: "system"}) + return out +} + +func formatRuleLine(r Rule) string { + if r.Payload == "" { + return fmt.Sprintf("%s,%s", r.RuleType, r.Target) + } + return fmt.Sprintf("%s,%s,%s", r.RuleType, r.Payload, r.Target) +} diff --git a/internal/store/store.go b/internal/store/store.go new file mode 100644 index 0000000..9a2bb0f --- /dev/null +++ b/internal/store/store.go @@ -0,0 +1,238 @@ +package store + +import ( + "context" + "database/sql" + "embed" + "fmt" + "os" + "path/filepath" + "time" + + "github.com/pressly/goose/v3" + _ "modernc.org/sqlite" +) + +//go:embed migrations/*.sql +var migrationsFS embed.FS + +type Store struct { + db *sql.DB +} + +func Open(dataDir string) (*Store, error) { + if err := os.MkdirAll(dataDir, 0o755); err != nil { + return nil, err + } + dbPath := filepath.Join(dataDir, "prism.db") + db, err := sql.Open("sqlite", dbPath+"?_pragma=foreign_keys(1)&_pragma=journal_mode(WAL)") + if err != nil { + return nil, err + } + db.SetMaxOpenConns(1) + s := &Store{db: db} + if err := s.migrate(); err != nil { + db.Close() + return nil, err + } + return s, nil +} + +func (s *Store) DB() *sql.DB { return s.db } + +func (s *Store) Close() error { return s.db.Close() } + +func (s *Store) migrate() error { + goose.SetBaseFS(migrationsFS) + if err := goose.SetDialect("sqlite3"); err != nil { + return err + } + return goose.Up(s.db, "migrations") +} + +func (s *Store) GetSetting(ctx context.Context, key string) (string, error) { + var value string + err := s.db.QueryRowContext(ctx, `SELECT value FROM settings WHERE key = ?`, key).Scan(&value) + return value, err +} + +func (s *Store) GetSettings(ctx context.Context) (map[string]string, error) { + rows, err := s.db.QueryContext(ctx, `SELECT key, value FROM settings`) + if err != nil { + return nil, err + } + defer rows.Close() + out := make(map[string]string) + for rows.Next() { + var k, v string + if err := rows.Scan(&k, &v); err != nil { + return nil, err + } + out[k] = v + } + return out, rows.Err() +} + +func (s *Store) SetSettings(ctx context.Context, settings map[string]string) error { + tx, err := s.db.BeginTx(ctx, nil) + if err != nil { + return err + } + defer tx.Rollback() + for k, v := range settings { + if _, err := tx.ExecContext(ctx, `INSERT INTO settings(key,value) VALUES(?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value`, k, v); err != nil { + return err + } + } + return tx.Commit() +} + +func (s *Store) AddAuditLog(ctx context.Context, action, resource, detail string) error { + _, err := s.db.ExecContext(ctx, `INSERT INTO audit_logs(action,resource,detail) VALUES(?,?,?)`, action, resource, detail) + return err +} + +func (s *Store) CountAuditLogs(ctx context.Context) (int, error) { + var n int + err := s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM audit_logs`).Scan(&n) + return n, err +} + +func (s *Store) ListAuditLogs(ctx context.Context, limit, offset int) ([]AuditLog, error) { + rows, err := s.db.QueryContext(ctx, `SELECT id,action,resource,detail,created_at FROM audit_logs ORDER BY id DESC LIMIT ? OFFSET ?`, limit, offset) + if err != nil { + return nil, err + } + defer rows.Close() + var out []AuditLog + for rows.Next() { + var l AuditLog + var created string + if err := rows.Scan(&l.ID, &l.Action, &l.Resource, &l.Detail, &created); err != nil { + return nil, err + } + l.CreatedAt, _ = time.Parse("2006-01-02 15:04:05", created) + out = append(out, l) + } + return out, rows.Err() +} + +func (s *Store) AddRequestLog(ctx context.Context, level, source, message string) error { + _, err := s.db.ExecContext(ctx, `INSERT INTO request_logs(level,source,message) VALUES(?,?,?)`, level, source, message) + return err +} + +func (s *Store) ListRequestLogs(ctx context.Context, level, keyword string, limit, offset int) ([]RequestLog, int, error) { + query := `SELECT id,level,source,message,created_at FROM request_logs WHERE 1=1` + countQuery := `SELECT COUNT(*) FROM request_logs WHERE 1=1` + args := []any{} + if level != "" { + query += ` AND level = ?` + countQuery += ` AND level = ?` + args = append(args, level) + } + if keyword != "" { + query += ` AND message LIKE ?` + countQuery += ` AND message LIKE ?` + args = append(args, "%"+keyword+"%") + } + var total int + if err := s.db.QueryRowContext(ctx, countQuery, args...).Scan(&total); err != nil { + return nil, 0, err + } + query += ` ORDER BY id DESC LIMIT ? OFFSET ?` + args = append(args, limit, offset) + rows, err := s.db.QueryContext(ctx, query, args...) + if err != nil { + return nil, 0, err + } + defer rows.Close() + var out []RequestLog + for rows.Next() { + var l RequestLog + var created string + if err := rows.Scan(&l.ID, &l.Level, &l.Source, &l.Message, &created); err != nil { + return nil, 0, err + } + l.CreatedAt, _ = time.Parse("2006-01-02 15:04:05", created) + out = append(out, l) + } + return out, total, rows.Err() +} + +func (s *Store) PruneRequestLogs(ctx context.Context, keep int) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM request_logs WHERE id NOT IN (SELECT id FROM request_logs ORDER BY id DESC LIMIT ?)`, keep) + return err +} + +func (s *Store) AddTrafficSnapshot(ctx context.Context, up, down, conns int64) error { + _, err := s.db.ExecContext(ctx, `INSERT INTO traffic_snapshots(upload_rate,download_rate,connections) VALUES(?,?,?)`, up, down, conns) + return err +} + +func (s *Store) ListTrafficSnapshots(ctx context.Context, limit int) ([]map[string]any, error) { + rows, err := s.db.QueryContext(ctx, `SELECT upload_rate,download_rate,connections,created_at FROM traffic_snapshots ORDER BY id DESC LIMIT ?`, limit) + if err != nil { + return nil, err + } + defer rows.Close() + var out []map[string]any + for rows.Next() { + var up, down, conns int64 + var created string + if err := rows.Scan(&up, &down, &conns, &created); err != nil { + return nil, err + } + out = append(out, map[string]any{ + "upload_rate": up, + "download_rate": down, + "connections": conns, + "created_at": created, + }) + } + return out, rows.Err() +} + +func parseTimePtr(s sql.NullString) *time.Time { + if !s.Valid || s.String == "" { + return nil + } + t, err := time.Parse("2006-01-02 15:04:05", s.String) + if err != nil { + return nil + } + return &t +} + +func parseTime(s string) time.Time { + t, _ := time.Parse("2006-01-02 15:04:05", s) + return t +} + +func boolFromInt(v int) bool { return v != 0 } +func intFromBool(v bool) int { + if v { + return 1 + } + return 0 +} + +func RuntimeName(prefix string, id int64, name string) string { + return fmt.Sprintf("%s%d_%s", prefix, id, sanitizeName(name)) +} + +func sanitizeName(name string) string { + out := make([]rune, 0, len(name)) + for _, r := range name { + switch { + case r >= 'a' && r <= 'z', r >= 'A' && r <= 'Z', r >= '0' && r <= '9', r == '_', r == '-': + out = append(out, r) + default: + out = append(out, '_') + } + } + if len(out) == 0 { + return "node" + } + return string(out) +} diff --git a/internal/store/traffic_repo.go b/internal/store/traffic_repo.go new file mode 100644 index 0000000..1eb471f --- /dev/null +++ b/internal/store/traffic_repo.go @@ -0,0 +1,197 @@ +package store + +import ( + "context" + "database/sql" + "fmt" +) + +func (s *Store) InsertProxyRequestLog(ctx context.Context, l *ProxyRequestLog) error { + res, err := s.db.ExecContext(ctx, ` + INSERT INTO proxy_request_logs(host,network,rule_type,rule_payload,rule_line,outbound_node,outbound_chain,upload,download,success,started_at,ended_at) + VALUES(?,?,?,?,?,?,?,?,?,?,?,?)`, + l.Host, l.Network, l.RuleType, l.RulePayload, l.RuleLine, l.OutboundNode, l.OutboundChain, + l.Upload, l.Download, intFromBool(l.Success), l.StartedAt.Format("2006-01-02 15:04:05"), l.EndedAt.Format("2006-01-02 15:04:05")) + if err != nil { + return err + } + id, _ := res.LastInsertId() + l.ID = id + return nil +} + +func (s *Store) ListProxyRequestLogs(ctx context.Context, keyword string, limit, offset int) ([]ProxyRequestLog, int, error) { + query := `SELECT id,host,network,rule_type,rule_payload,rule_line,outbound_node,outbound_chain,upload,download,success,started_at,ended_at,created_at FROM proxy_request_logs WHERE 1=1` + countQuery := `SELECT COUNT(*) FROM proxy_request_logs WHERE 1=1` + args := []any{} + if keyword != "" { + query += ` AND (host LIKE ? OR rule_line LIKE ? OR outbound_node LIKE ? OR outbound_chain LIKE ?)` + countQuery += ` AND (host LIKE ? OR rule_line LIKE ? OR outbound_node LIKE ? OR outbound_chain LIKE ?)` + kw := "%" + keyword + "%" + args = append(args, kw, kw, kw, kw) + } + var total int + if err := s.db.QueryRowContext(ctx, countQuery, args...).Scan(&total); err != nil { + return nil, 0, err + } + query += ` ORDER BY id DESC LIMIT ? OFFSET ?` + args = append(args, limit, offset) + rows, err := s.db.QueryContext(ctx, query, args...) + if err != nil { + return nil, 0, err + } + defer rows.Close() + var out []ProxyRequestLog + for rows.Next() { + var l ProxyRequestLog + var success int + var started, ended, created string + if err := rows.Scan(&l.ID, &l.Host, &l.Network, &l.RuleType, &l.RulePayload, &l.RuleLine, &l.OutboundNode, &l.OutboundChain, + &l.Upload, &l.Download, &success, &started, &ended, &created); err != nil { + return nil, 0, err + } + l.Success = boolFromInt(success) + l.StartedAt = parseTime(started) + l.EndedAt = parseTime(ended) + l.CreatedAt = parseTime(created) + out = append(out, l) + } + return out, total, rows.Err() +} + +func (s *Store) PruneProxyRequestLogs(ctx context.Context, keep int) error { + _, err := s.db.ExecContext(ctx, `DELETE FROM proxy_request_logs WHERE id NOT IN (SELECT id FROM proxy_request_logs ORDER BY id DESC LIMIT ?)`, keep) + return err +} + +type TrafficAgg struct { + Key string `json:"key"` + Upload int64 `json:"upload"` + Download int64 `json:"download"` + Connections int `json:"connections"` +} + +type TrafficHostNodeAgg struct { + Host string `json:"host"` + NodeKey string `json:"node_key"` + Upload int64 `json:"upload"` + Download int64 `json:"download"` + Connections int `json:"connections"` +} + +func (s *Store) AggregateTrafficByHost(ctx context.Context, hours, limit int) ([]TrafficAgg, error) { + if hours <= 0 { + hours = 24 + } + if limit <= 0 { + limit = 30 + } + rows, err := s.db.QueryContext(ctx, ` + SELECT host, COALESCE(SUM(upload),0), COALESCE(SUM(download),0), COUNT(*) + FROM proxy_request_logs + WHERE host != '' AND created_at >= datetime('now', ?) + GROUP BY host + ORDER BY (SUM(upload)+SUM(download)) DESC + LIMIT ?`, fmt.Sprintf("-%d hours", hours), limit) + if err != nil { + return nil, err + } + defer rows.Close() + return scanTrafficAgg(rows) +} + +func (s *Store) CountAggregateTrafficByNode(ctx context.Context, hours int) (int, error) { + if hours <= 0 { + hours = 24 + } + var n int + err := s.db.QueryRowContext(ctx, ` + SELECT COUNT(*) FROM ( + SELECT 1 FROM proxy_request_logs + WHERE outbound_node != '' AND created_at >= datetime('now', ?) + GROUP BY outbound_node + )`, fmt.Sprintf("-%d hours", hours)).Scan(&n) + return n, err +} + +func (s *Store) AggregateTrafficByNode(ctx context.Context, hours, limit, offset int) ([]TrafficAgg, error) { + if hours <= 0 { + hours = 24 + } + if limit <= 0 { + limit = 50 + } + if offset < 0 { + offset = 0 + } + rows, err := s.db.QueryContext(ctx, ` + SELECT outbound_node, COALESCE(SUM(upload),0), COALESCE(SUM(download),0), COUNT(*) + FROM proxy_request_logs + WHERE outbound_node != '' AND created_at >= datetime('now', ?) + GROUP BY outbound_node + ORDER BY (SUM(upload)+SUM(download)) DESC + LIMIT ? OFFSET ?`, fmt.Sprintf("-%d hours", hours), limit, offset) + if err != nil { + return nil, err + } + defer rows.Close() + return scanTrafficAgg(rows) +} + +func (s *Store) CountAggregateTrafficByHostNode(ctx context.Context, hours int) (int, error) { + if hours <= 0 { + hours = 24 + } + var n int + err := s.db.QueryRowContext(ctx, ` + SELECT COUNT(*) FROM ( + SELECT 1 FROM proxy_request_logs + WHERE host != '' AND outbound_node != '' AND created_at >= datetime('now', ?) + GROUP BY host, outbound_node + )`, fmt.Sprintf("-%d hours", hours)).Scan(&n) + return n, err +} + +func (s *Store) AggregateTrafficByHostNode(ctx context.Context, hours, limit, offset int) ([]TrafficHostNodeAgg, error) { + if hours <= 0 { + hours = 24 + } + if limit <= 0 { + limit = 50 + } + if offset < 0 { + offset = 0 + } + rows, err := s.db.QueryContext(ctx, ` + SELECT host, outbound_node, COALESCE(SUM(upload),0), COALESCE(SUM(download),0), COUNT(*) + FROM proxy_request_logs + WHERE host != '' AND outbound_node != '' AND created_at >= datetime('now', ?) + GROUP BY host, outbound_node + ORDER BY (SUM(upload)+SUM(download)) DESC + LIMIT ? OFFSET ?`, fmt.Sprintf("-%d hours", hours), limit, offset) + if err != nil { + return nil, err + } + defer rows.Close() + var out []TrafficHostNodeAgg + for rows.Next() { + var item TrafficHostNodeAgg + if err := rows.Scan(&item.Host, &item.NodeKey, &item.Upload, &item.Download, &item.Connections); err != nil { + return nil, err + } + out = append(out, item) + } + return out, rows.Err() +} + +func scanTrafficAgg(rows *sql.Rows) ([]TrafficAgg, error) { + var out []TrafficAgg + for rows.Next() { + var item TrafficAgg + if err := rows.Scan(&item.Key, &item.Upload, &item.Download, &item.Connections); err != nil { + return nil, err + } + out = append(out, item) + } + return out, rows.Err() +} diff --git a/internal/subscription/links.go b/internal/subscription/links.go new file mode 100644 index 0000000..9aa1bde --- /dev/null +++ b/internal/subscription/links.go @@ -0,0 +1,32 @@ +package subscription + +import ( + "fmt" + "strings" + + "github.com/prism/proxy/internal/store" +) + +// ParseLinkLines parses share links (ss/socks5/http/trojan) into manual proxy nodes. +func ParseLinkLines(text string) ([]store.ProxyNode, []string) { + lines := strings.Split(text, "\n") + var out []store.ProxyNode + var errs []string + idx := 0 + for i, line := range lines { + line = strings.TrimSpace(line) + if line == "" || strings.HasPrefix(line, "#") { + continue + } + n, err := parseLink(line, 0, idx) + if err != nil { + errs = append(errs, fmt.Sprintf("第 %d 行: %v", i+1, err)) + continue + } + n.Source = "manual" + n.RuntimeName = store.RuntimeName("manual", 0, n.Name) + out = append(out, n) + idx++ + } + return out, errs +} diff --git a/internal/subscription/links_test.go b/internal/subscription/links_test.go new file mode 100644 index 0000000..dfd9a97 --- /dev/null +++ b/internal/subscription/links_test.go @@ -0,0 +1,13 @@ +package subscription + +import "testing" + +func TestParseLinkLines(t *testing.T) { + nodes, errs := ParseLinkLines("socks5://1.2.3.4:1080#test-node\n") + if len(errs) != 0 { + t.Fatal(errs) + } + if len(nodes) != 1 || nodes[0].Name != "test-node" || nodes[0].Source != "manual" { + t.Fatalf("unexpected %+v", nodes[0]) + } +} diff --git a/internal/subscription/service.go b/internal/subscription/service.go new file mode 100644 index 0000000..4cbb7a6 --- /dev/null +++ b/internal/subscription/service.go @@ -0,0 +1,464 @@ +package subscription + +import ( + "context" + "encoding/base64" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + "time" + + "gopkg.in/yaml.v3" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/store" +) + +const subscriptionUserAgent = "clash.meta/1.19.0" + +type Service struct { + store *store.Store + client *http.Client +} + +func NewService(s *store.Store) *Service { + return &Service{ + store: s, + client: &http.Client{ + Timeout: 30 * time.Second, + CheckRedirect: func(req *http.Request, via []*http.Request) error { + if len(via) >= 10 { + return fmt.Errorf("too many redirects") + } + req.Header.Set("User-Agent", subscriptionUserAgent) + return nil + }, + }, + } +} + +type ParsedData struct { + Nodes []store.ProxyNode + Groups []store.ProxyGroup + Rules []store.Rule +} + +func (s *Service) FetchAndStore(ctx context.Context, subID int64) error { + sub, err := s.store.GetSubscription(ctx, subID) + if err != nil { + return err + } + + body, err := s.fetchURL(sub.URL) + if err != nil { + _ = s.store.UpdateSubscriptionFetch(ctx, subID, 0, err.Error()) + return err + } + + parsed, err := s.parseSubscription(body, subID, sub.Type) + if err != nil { + _ = s.store.UpdateSubscriptionFetch(ctx, subID, 0, err.Error()) + return err + } + + if err := s.store.ReplaceSubscriptionData(ctx, subID, parsed.Nodes, parsed.Groups, parsed.Rules); err != nil { + _ = s.store.UpdateSubscriptionFetch(ctx, subID, 0, err.Error()) + return err + } + return s.store.UpdateSubscriptionFetch(ctx, subID, len(parsed.Nodes), "") +} + +func (s *Service) ParseSubscription(body []byte, subID int64, subType string) (ParsedData, error) { + return s.parseSubscription(body, subID, subType) +} + +func (s *Service) parseSubscription(body []byte, subID int64, subType string) (ParsedData, error) { + content := decodeMaybeBase64(body) + text := strings.TrimSpace(string(content)) + + format := subType + if format == "" || format == "auto" { + format = detectFormat(text) + } + + switch format { + case "links": + return s.parseLinks(body, subID) + default: + parsed, err := s.parseClash(body, subID) + if err != nil && looksLikeLinks(text) { + return s.parseLinks(body, subID) + } + return parsed, err + } +} + +func detectFormat(text string) string { + if strings.HasPrefix(text, "port:") || strings.HasPrefix(text, "mixed-port:") || + strings.HasPrefix(text, "proxies:") || strings.Contains(text, "\nproxies:") { + return "clash" + } + if looksLikeLinks(text) { + return "links" + } + return "clash" +} + +func looksLikeLinks(text string) bool { + lower := strings.ToLower(text) + for _, prefix := range []string{"ss://", "vmess://", "trojan://", "socks5://", "http://", "https://"} { + if strings.Contains(lower, prefix) { + return true + } + } + return false +} + +func (s *Service) fetchURL(rawURL string) ([]byte, error) { + req, err := http.NewRequest(http.MethodGet, rawURL, nil) + if err != nil { + return nil, err + } + req.Header.Set("User-Agent", subscriptionUserAgent) + req.Header.Set("Accept", "*/*") + resp, err := s.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + if resp.StatusCode >= 400 { + return nil, fmt.Errorf("fetch failed: HTTP %d", resp.StatusCode) + } + return io.ReadAll(resp.Body) +} + +func (s *Service) parseClash(body []byte, subID int64) (ParsedData, error) { + content := decodeMaybeBase64(body) + + var raw map[string]any + if err := yaml.Unmarshal(content, &raw); err != nil { + return ParsedData{}, fmt.Errorf("invalid clash yaml: %w", err) + } + if _, ok := raw["proxies"]; !ok { + return ParsedData{}, fmt.Errorf("clash config missing proxies") + } + + var out ParsedData + + if proxies, ok := raw["proxies"].([]any); ok { + for i, p := range proxies { + pm, ok := p.(map[string]any) + if !ok { + continue + } + name, _ := pm["name"].(string) + if name == "" { + name = fmt.Sprintf("node%d", i+1) + } + rawJSON, _ := json.Marshal(pm) + out.Nodes = append(out.Nodes, store.ProxyNode{ + Name: name, + RuntimeName: store.RuntimeName("sub", subID, fmt.Sprintf("%d_%s", i, name)), + Type: fmt.Sprint(pm["type"]), + RawConfig: string(rawJSON), + Country: country.Detect(name), + Enabled: true, + }) + } + } + + if groups, ok := raw["proxy-groups"].([]any); ok { + for i, g := range groups { + gm, ok := g.(map[string]any) + if !ok { + continue + } + name, _ := gm["name"].(string) + if name == "" { + continue + } + gtype, _ := gm["type"].(string) + var members []string + if arr, ok := gm["proxies"].([]any); ok { + for _, m := range arr { + members = append(members, fmt.Sprint(m)) + } + } + membersJSON, _ := json.Marshal(members) + out.Groups = append(out.Groups, store.ProxyGroup{ + Name: name, + RuntimeName: store.RuntimeName("grp", subID, fmt.Sprintf("%d_%s", i, name)), + Type: gtype, + Proxies: string(membersJSON), + Enabled: true, + }) + } + } + + if rules, ok := raw["rules"].([]any); ok { + for _, r := range rules { + line := fmt.Sprint(r) + parts := strings.Split(line, ",") + if len(parts) < 2 { + continue + } + rule := store.Rule{ + RuleType: parts[0], + Target: parts[len(parts)-1], + Enabled: true, + } + if len(parts) > 2 { + rule.Payload = strings.Join(parts[1:len(parts)-1], ",") + } + out.Rules = append(out.Rules, rule) + } + } + + return out, nil +} + +func (s *Service) parseLinks(body []byte, subID int64) (ParsedData, error) { + text := string(decodeMaybeBase64(body)) + lines := strings.Split(text, "\n") + var out ParsedData + idx := 0 + for _, line := range lines { + line = strings.TrimSpace(line) + if line == "" || strings.HasPrefix(line, "#") { + continue + } + node, err := parseLink(line, subID, idx) + if err != nil { + continue + } + out.Nodes = append(out.Nodes, node) + idx++ + } + if len(out.Nodes) == 0 { + return ParsedData{}, fmt.Errorf("no valid proxy links found") + } + names := make([]string, 0, len(out.Nodes)) + for _, n := range out.Nodes { + names = append(names, n.RuntimeName) + } + namesJSON, _ := json.Marshal(names) + out.Groups = append(out.Groups, store.ProxyGroup{ + Name: fmt.Sprintf("sub%d", subID), + RuntimeName: store.RuntimeName("grp", subID, "auto"), + Type: "url-test", + Proxies: string(namesJSON), + Enabled: true, + }) + return out, nil +} + +func parseLink(link string, subID int64, idx int) (store.ProxyNode, error) { + lower := strings.ToLower(link) + var proxy map[string]any + var name string + var ptype string + + switch { + case strings.HasPrefix(lower, "ss://"): + proxy, name, ptype = parseSS(link) + case strings.HasPrefix(lower, "socks5://"): + proxy, name, ptype = parseSocks5(link) + case strings.HasPrefix(lower, "http://"), strings.HasPrefix(lower, "https://"): + proxy, name, ptype = parseHTTP(link) + case strings.HasPrefix(lower, "trojan://"): + proxy, name, ptype = parseTrojan(link) + default: + return store.ProxyNode{}, fmt.Errorf("unsupported link") + } + if proxy == nil { + return store.ProxyNode{}, fmt.Errorf("failed to parse link") + } + if name == "" { + name = fmt.Sprintf("node%d", idx+1) + } + raw, _ := json.Marshal(proxy) + return store.ProxyNode{ + Name: name, + RuntimeName: store.RuntimeName("sub", subID, name), + Type: ptype, + RawConfig: string(raw), + Country: country.Detect(name), + Enabled: true, + }, nil +} + +func parseSS(link string) (map[string]any, string, string) { + name, payload := splitLinkFragment(link, "ss://") + if payload == "" { + return nil, name, "ss" + } + + // SIP002: ss://BASE64(method:password@host:port)#name + if proxy, ok := parseSIP002(payload); ok { + return proxy, name, "ss" + } + + // 传统格式: ss://BASE64(method:password)@host:port#name + // 或 ss://BASE64(method:password)@BASE64(host:port)#name(部分机场订阅) + parts := strings.SplitN(payload, "@", 2) + if len(parts) != 2 { + return nil, name, "ss" + } + userinfo := string(decodeBase64Flexible(parts[0])) + if userinfo == "" { + userinfo = parts[0] + } + hostport := string(decodeBase64Flexible(parts[1])) + if hostport == "" { + hostport = parts[1] + } + server, portStr, ok := strings.Cut(hostport, ":") + if !ok { + return nil, name, "ss" + } + var port int + fmt.Sscanf(portStr, "%d", &port) + cipher, password, _ := strings.Cut(userinfo, ":") + if cipher == "" { + cipher = "aes-256-gcm" + } + return map[string]any{ + "type": "ss", + "server": server, + "port": port, + "cipher": cipher, + "password": password, + }, name, "ss" +} + +func parseSIP002(payload string) (map[string]any, bool) { + decoded := string(decodeBase64Flexible(payload)) + at := strings.LastIndex(decoded, "@") + if at <= 0 || !strings.Contains(decoded[:at], ":") { + return nil, false + } + userinfo := decoded[:at] + hostport := decoded[at+1:] + server, portStr, ok := strings.Cut(hostport, ":") + if !ok || server == "" { + return nil, false + } + var port int + if _, err := fmt.Sscanf(portStr, "%d", &port); err != nil || port <= 0 { + return nil, false + } + cipher, password, ok := strings.Cut(userinfo, ":") + if !ok || cipher == "" { + return nil, false + } + return map[string]any{ + "type": "ss", + "server": server, + "port": port, + "cipher": cipher, + "password": password, + }, true +} + +func splitLinkFragment(link, scheme string) (name, payload string) { + rest := strings.TrimPrefix(link, scheme) + if i := strings.Index(rest, "#"); i >= 0 { + name, _ = url.QueryUnescape(rest[i+1:]) + rest = rest[:i] + } + return name, rest +} + +func decodeBase64Flexible(s string) []byte { + decoders := []func(string) ([]byte, error){ + base64.StdEncoding.DecodeString, + base64.RawStdEncoding.DecodeString, + base64.URLEncoding.DecodeString, + base64.RawURLEncoding.DecodeString, + } + for _, dec := range decoders { + if b, err := dec(s); err == nil && len(b) > 0 { + return b + } + } + return nil +} + +func parseSocks5(link string) (map[string]any, string, string) { + name, payload := splitLinkFragment(link, "socks5://") + user, pass := "", "" + if at := strings.LastIndex(payload, "@"); at >= 0 { + auth := payload[:at] + payload = payload[at+1:] + if c := strings.Index(auth, ":"); c >= 0 { + user, pass = auth[:c], auth[c+1:] + } + } + server, portStr, _ := strings.Cut(payload, ":") + var port int + fmt.Sscanf(portStr, "%d", &port) + m := map[string]any{"type": "socks5", "server": server, "port": port} + if user != "" { + m["username"] = user + m["password"] = pass + } + return m, name, "socks5" +} + +func parseHTTP(link string) (map[string]any, string, string) { + isTLS := strings.HasPrefix(strings.ToLower(link), "https://") + scheme := "http://" + if isTLS { + scheme = "https://" + } + name, payload := splitLinkFragment(link, scheme) + user, pass := "", "" + if at := strings.LastIndex(payload, "@"); at >= 0 { + auth := payload[:at] + payload = payload[at+1:] + if c := strings.Index(auth, ":"); c >= 0 { + user, pass = auth[:c], auth[c+1:] + } + } + server, portStr, _ := strings.Cut(payload, ":") + var port int + fmt.Sscanf(portStr, "%d", &port) + m := map[string]any{"type": "http", "server": server, "port": port, "tls": isTLS} + if user != "" { + m["username"] = user + m["password"] = pass + } + return m, name, "http" +} + +func parseTrojan(link string) (map[string]any, string, string) { + name, payload := splitLinkFragment(link, "trojan://") + pass, rest, _ := strings.Cut(payload, "@") + server, portStr, _ := strings.Cut(rest, ":") + var port int + fmt.Sscanf(portStr, "%d", &port) + if q := strings.Index(server, "?"); q >= 0 { + server = server[:q] + } + return map[string]any{ + "type": "trojan", + "server": server, + "port": port, + "password": pass, + "sni": server, + }, name, "trojan" +} + +func decodeMaybeBase64(body []byte) []byte { + trim := strings.TrimSpace(string(body)) + if strings.HasPrefix(trim, "proxies:") || strings.HasPrefix(trim, "{") || strings.HasPrefix(trim, "ss://") { + return body + } + if decoded := decodeBase64Flexible(trim); len(decoded) > 0 { + return decoded + } + return body +} diff --git a/internal/subscription/service_test.go b/internal/subscription/service_test.go new file mode 100644 index 0000000..ae248d5 --- /dev/null +++ b/internal/subscription/service_test.go @@ -0,0 +1,63 @@ +package subscription + +import ( + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "testing" +) + +const sampleBase64Sub = `c3M6Ly9ZV1Z6TFRFeU9DMW5ZMjA2Wm1Fd1lqZ3laamN0Tm1VelppMWhZakZoTFdJMk5qZ3RZamhqTlRjeU5ERTJNakpqUUdWNGNHbHlaUzEwYVcxbExtTjVZbVZ5Ym05a1pTNTBiM0E2TVRrNE5ERT0jJUU1JThCJUJGJUU5JTgwJTg5LSVFNSU4OCVCMCVFNiU5QyU5RiVFNiU5NyVCNiVFOSU5NyVCNCVFRiVCQyU5QTIwMjYtMDktMDMKc3M6Ly9ZV1Z6TFRFeU9DMW5ZMjA2Wm1Fd1lqZ3laamN0Tm1VelppMWhZakZoTFdJMk5qZ3RZamhqTlRjeU5ERTJNakpqUUhKbGJXRnBiaTEwY21GbVptbGpMbU41WW1WeWJtOWtaUzUwYjNBNk1UazROREk9IyVFNSU4QiVCRiVFOSU4MCU4OS0lRTUlQkQlOTMlRTYlOUMlODglRTUlODklQTklRTQlQkQlOTklRTYlQjUlODElRTklODclOEYlRUYlQkMlOUEyNi4wOUdCCnNzOi8vWVdWekxURXlPQzFuWTIwNlptRXdZamd5WmpjdE5tVXpaaTFoWWpGaExXSTJOamd0WWpoak5UY3lOREUyTWpKalFERXVNUzR4TGpFNk5UazFNREk9IyVFMyU4MCU5MCVFOSU4MCU5QSVFNyU5RiVBNSVFMyU4MCU5MSVFNSVBNiU4MiVFOSU5QyU4MCVFNiU5QiVCNCVFNSVBNCU5QSVFOCU4QSU4MiVFNyU4MiVCOSVFOCVBRiVCNyVFOSU4NyU4RCVFOCVBMyU4NUFwcApzczovL1lXVnpMVEV5T0MxblkyMDZabUV3WWpneVpqY3RObVV6WmkxaFlqRmhMV0kyTmpndFlqaGpOVGN5TkRFMk1qSmpRREV1TVM0eExqRTZOVGsxTURNPSMlRTglODElOTQlRTclQjMlQkIlRTklODIlQUUlRTclQUUlQjElM0FsaWJjeWJlcjd4MjQlNDBnbWFpbC5jb20Kc3M6Ly9ZV1Z6TFRFeU9DMW5ZMjA2Wm1Fd1lqZ3laamN0Tm1VelppMWhZakZoTFdJMk5qZ3RZamhqTlRjeU5ERTJNakpqUURFd015NHhPREV1TVRZMExqRXdORG8yTVRFd01RPT0jJUU5JUFCJTk4JUU5JTgwJTlGJUU4JUFGJTk1JUU3JTk0JUE4LSVFNiVCMyU5NSVFNSU5QiVCRDEKc3M6Ly9ZV1Z6TFRFeU9DMW5ZMjA2Wm1Fd1lqZ3laamN0Tm1VelppMWhZakZoTFdJMk5qZ3RZamhqTlRjeU5ERTJNakpqUURFd015NHhPREV1TVRZMExqRXdORG8yTURBNE9BPT0jJUU5JUFCJTk4JUU5JTgwJTlGJUU1JUE0JTg3JUU3JTk0JUE4LSVFNCVCQiU4NSVFOSU5OSU5MCVFNCVCOCVCNCVFNiU5NyVCNiVFNCVCRCVCRiVFNyU5NCVBOAo=` + +func TestParseXHSCacheBase64Subscription(t *testing.T) { + svc := NewService(nil) + parsed, err := svc.parseSubscription([]byte(sampleBase64Sub), 1, "auto") + if err != nil { + t.Fatalf("parse failed: %v", err) + } + if len(parsed.Nodes) != 6 { + t.Fatalf("expected 6 nodes, got %d", len(parsed.Nodes)) + } + if parsed.Nodes[0].Type != "ss" { + t.Fatalf("expected ss type, got %s", parsed.Nodes[0].Type) + } + var cfg map[string]any + if err := json.Unmarshal([]byte(parsed.Nodes[0].RawConfig), &cfg); err != nil { + t.Fatal(err) + } + if cfg["server"] != "expire-time.cybernode.top" { + t.Fatalf("unexpected server: %v", cfg["server"]) + } + if cfg["cipher"] != "aes-128-gcm" { + t.Fatalf("unexpected cipher: %v", cfg["cipher"]) + } + if parsed.Nodes[0].Name == "" { + t.Fatal("expected decoded node name") + } +} + +func TestDetectFormatBase64Links(t *testing.T) { + if got := detectFormat(string(decodeMaybeBase64([]byte(sampleBase64Sub)))); got != "links" { + t.Fatalf("expected links, got %s", got) + } +} + +func TestFetchURLFollowsRequest(t *testing.T) { + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Header.Get("User-Agent") == "" { + t.Fatal("missing user agent") + } + _, _ = io.WriteString(w, sampleBase64Sub) + })) + defer srv.Close() + + svc := NewService(nil) + body, err := svc.fetchURL(srv.URL) + if err != nil { + t.Fatal(err) + } + if len(body) == 0 { + t.Fatal("empty body") + } +} diff --git a/internal/trafficlog/collector.go b/internal/trafficlog/collector.go new file mode 100644 index 0000000..b19fa13 --- /dev/null +++ b/internal/trafficlog/collector.go @@ -0,0 +1,227 @@ +package trafficlog + +import ( + "context" + "log" + "strings" + "sync" + "time" + + "github.com/prism/proxy/internal/country" + "github.com/prism/proxy/internal/mihomoapi" + "github.com/prism/proxy/internal/store" +) + +type Collector struct { + store *store.Store + mu sync.Mutex + client *mihomoapi.Client + active map[string]mihomoapi.Connection + names map[string]string + groups map[string]bool + keep int + + lastPollErr string + lastPollErrAt time.Time +} + +func NewCollector(s *store.Store, keep int) *Collector { + if keep <= 0 { + keep = 5000 + } + return &Collector{ + store: s, + active: make(map[string]mihomoapi.Connection), + names: make(map[string]string), + keep: keep, + } +} + +func (c *Collector) UpdateClient(client *mihomoapi.Client) { + c.mu.Lock() + c.client = client + c.mu.Unlock() +} + +func (c *Collector) Run(ctx context.Context) { + ticker := time.NewTicker(5 * time.Second) + defer ticker.Stop() + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + c.poll(ctx) + } + } +} + +func (c *Collector) poll(ctx context.Context) { + c.mu.Lock() + client := c.client + c.mu.Unlock() + if client == nil { + return + } + snap, err := client.ConnectionSnapshot() + if err != nil { + c.logPollError(err) + return + } + if snap == nil { + return + } + current := make(map[string]mihomoapi.Connection, len(snap.Connections)) + for _, conn := range snap.Connections { + if conn.ID == "" { + continue + } + current[conn.ID] = conn + } + + c.mu.Lock() + groups := c.groups + names := c.names + for id, conn := range current { + c.active[id] = conn + } + var ended []mihomoapi.Connection + for id, conn := range c.active { + if _, ok := current[id]; ok { + continue + } + ended = append(ended, conn) + delete(c.active, id) + } + c.mu.Unlock() + + for _, conn := range ended { + c.save(ctx, conn, groups, names) + } +} + +func (c *Collector) save(ctx context.Context, conn mihomoapi.Connection, groups map[string]bool, names map[string]string) { + nodeKey := conn.LeafOutbound(groups) + node := c.resolveName(nodeKey, names) + chain := conn.ChainString() + resolvedChain := c.resolveChainJSON(chain) + if err := c.store.InsertProxyRequestLog(ctx, &store.ProxyRequestLog{ + Host: conn.RequestHost(), + Network: conn.Metadata.Network, + RuleType: conn.Rule, + RulePayload: conn.RulePayload, + RuleLine: conn.RuleLine(), + OutboundNode: node, + OutboundChain: resolvedChain, + Upload: conn.Upload, + Download: conn.Download, + Success: conn.IsSuccess(), + StartedAt: conn.Start, + EndedAt: time.Now(), + }); err != nil { + log.Printf("trafficlog: save request log: %v", err) + return + } + _ = c.store.PruneProxyRequestLogs(ctx, c.keep) +} + +func (c *Collector) logPollError(err error) { + msg := err.Error() + now := time.Now() + c.mu.Lock() + defer c.mu.Unlock() + if msg == c.lastPollErr && now.Sub(c.lastPollErrAt) < time.Minute { + return + } + c.lastPollErr = msg + c.lastPollErrAt = now + log.Printf("trafficlog: poll connections: %v", err) +} + +func (c *Collector) refreshNames(ctx context.Context) { + nodes, err := c.store.ListProxyNodes(ctx, "", nil) + if err != nil { + return + } + groups, _ := c.store.ListProxyGroups(ctx) + m := map[string]string{ + "DIRECT": "DIRECT", + "REJECT": "REJECT", + } + g := map[string]bool{ + "GLOBAL": true, + "PROXY": true, + } + for _, n := range nodes { + m[n.RuntimeName] = n.Name + } + for _, grp := range groups { + if grp.Enabled { + g[grp.RuntimeName] = true + } + m[grp.RuntimeName] = grp.Name + } + seen := map[string]bool{} + for _, n := range nodes { + if n.Country == "" || seen[n.Country] { + continue + } + seen[n.Country] = true + rn := country.GroupRuntime(n.Country) + m[rn] = country.Name(n.Country) + "(国家池)" + } + c.mu.Lock() + c.names = m + c.groups = g + c.mu.Unlock() +} + +func (c *Collector) resolveName(runtime string, names map[string]string) string { + if runtime == "" { + return "" + } + if name, ok := names[runtime]; ok && name != "" { + return name + } + if strings.HasPrefix(runtime, "country_") { + code := strings.TrimPrefix(runtime, "country_") + return code + "(国家池)" + } + return runtime +} + +func (c *Collector) resolveChainJSON(chain string) string { + // chain stored as JSON array string; map runtime names to display names + if chain == "" || chain == "[]" { + return chain + } + // lightweight replace for display + out := chain + c.mu.Lock() + names := c.names + c.mu.Unlock() + for rt, name := range names { + if rt != "" && name != "" { + out = strings.ReplaceAll(out, rt, name) + } + } + return out +} + +func (c *Collector) Start(ctx context.Context, client *mihomoapi.Client) { + c.UpdateClient(client) + c.refreshNames(ctx) + go func() { + t := time.NewTicker(30 * time.Second) + defer t.Stop() + for { + select { + case <-ctx.Done(): + return + case <-t.C: + c.refreshNames(ctx) + } + } + }() + go c.Run(ctx) +} diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/web/.npmrc b/web/.npmrc new file mode 100644 index 0000000..7549542 --- /dev/null +++ b/web/.npmrc @@ -0,0 +1 @@ +registry=https://registry.npmmirror.com diff --git a/web/.vscode/extensions.json b/web/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/web/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..33895ab --- /dev/null +++ b/web/README.md @@ -0,0 +1,5 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..1bbf5fa --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,2502 @@ +{ + "name": "web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.0.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.2", + "axios": "^1.18.0", + "echarts": "^6.1.0", + "element-plus": "^2.14.2", + "pinia": "^3.0.4", + "vue": "^3.5.34", + "vue-i18n": "^10.0.7", + "vue-router": "^5.1.0" + }, + "devDependencies": { + "@types/node": "^24.12.3", + "@vitejs/plugin-vue": "^6.0.6", + "@vue/tsconfig": "^0.9.1", + "typescript": "~6.0.2", + "vite": "^8.0.12", + "vue-tsc": "^3.2.8" + } + }, + "node_modules/@babel/generator": { + "version": "8.0.0-rc.4", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-8.0.0-rc.4.tgz", + "integrity": "sha512-YZ+FuIgkj7KrIb2a2X1XiY0QYgDxAbVbYP64SjwJzOK3euCsUerzenh2oqdsmKuPSlhzmFOOklnxzHAzXagvpw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^8.0.0-rc.4", + "@babel/types": "^8.0.0-rc.4", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "@types/jsesc": "^2.5.0", + "jsesc": "^3.0.2" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/generator/node_modules/@babel/helper-string-parser": { + "version": "8.0.0-rc.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-8.0.0-rc.4.tgz", + "integrity": "sha512-dluR3v287dp6YPF57kyKKrHPKffUeuxH1zQcF1WD30TeFzWXhDiVi1U6PkqaDB0++H1PeCwRhmYl4DvoerlPIw==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/generator/node_modules/@babel/helper-validator-identifier": { + "version": "8.0.0-rc.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.0-rc.4.tgz", + "integrity": "sha512-HTD3bskipk5MSm08twTW6832jzIXUhxMddy4NPPzIMuyMEsrs0ZgwAaMj5ubB5+6hMlUjDu17vNconEmwsmpYg==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/generator/node_modules/@babel/parser": { + "version": "8.0.0-rc.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-8.0.0-rc.4.tgz", + "integrity": "sha512-0S/1yefMa15N4i2v3t8Fw9pgMHhf2gF6Lc1UEXI96Ls6FNAjqvHHZouZ2ZS/deqLhbMFtmfVeFac6iTsvFbLwA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^8.0.0-rc.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/generator/node_modules/@babel/types": { + "version": "8.0.0-rc.4", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-8.0.0-rc.4.tgz", + "integrity": "sha512-bw30DV880P/VYtsjWWdoWmJpb9S2Vn1/PqayyccTELzRQ/HslIO7+BD9rNoZ4AAFOAjC1vrNeBCkAsyh6Ibfww==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^8.0.0-rc.4", + "@babel/helper-validator-identifier": "^8.0.0-rc.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, + "node_modules/@intlify/core-base": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-10.0.7.tgz", + "integrity": "sha512-mE71aUH5baH0me8duB4FY5qevUJizypHsYw3eCvmOx07QvmKppgOONx3dYINxuA89Z2qkAGb/K6Nrpi7aAMwew==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "10.0.7", + "@intlify/shared": "10.0.7" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-10.0.7.tgz", + "integrity": "sha512-nrC4cDL/UHZSUqd8sRbVz+DPukzZ8NnG5OK+EB/nlxsH35deyzyVkXP/QuR8mFZrISJ+4hCd6VtCQCcT+RO+5g==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "10.0.7", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-10.0.7.tgz", + "integrity": "sha512-oeoq0L5+5P4ShXa6jBQcx+BT+USe3MjX0xJexZO1y7rfDJdwZ9+QP3jO4tcS1nxhBYYdjvFTqe4bmnLijV0GxQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.133.0", + "resolved": "https://registry.npmmirror.com/@oxc-project/types/-/types-0.133.0.tgz", + "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", + "devOptional": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.8", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz", + "integrity": "sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", + "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", + "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", + "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", + "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", + "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", + "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", + "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", + "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", + "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", + "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", + "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", + "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", + "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@types/jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@types/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.2", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.7", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz", + "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue-macros/common": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@vue-macros/common/-/common-3.1.2.tgz", + "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==", + "license": "MIT", + "dependencies": { + "@vue/compiler-sfc": "^3.5.22", + "ast-kit": "^2.1.2", + "local-pkg": "^1.1.2", + "magic-string-ast": "^1.0.2", + "unplugin-utils": "^0.3.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/vue-macros" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.38.tgz", + "integrity": "sha512-s99aGxWYig9ErHbct27KXEGhrBYlRI6c4MwAgXErOAbX9xiW37/uMa+XUDO69zLz83dng8UUZ70CTOJrLrYrEQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@vue/shared": "3.5.38", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.38.tgz", + "integrity": "sha512-JTqp25l8aFfJYF7/KmsXZjAxJz7T+SjmTJLoXVjHtc2BrSgSiW2n9Aem/cWq1OPe68A8JL06B3eVdhlP0H4TVw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.38", + "@vue/shared": "3.5.38" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.38.tgz", + "integrity": "sha512-DuA2GiZawSEW442iw/9+Fkol8hTgb4Ke5KkhmSry65QA7YuyMbIdy8p0XZRMvNwJdgRz307W8g1CSzdvS4nuNg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@vue/compiler-core": "3.5.38", + "@vue/compiler-dom": "3.5.38", + "@vue/compiler-ssr": "3.5.38", + "@vue/shared": "3.5.38", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.15", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.38.tgz", + "integrity": "sha512-7s+W5Gc42FGxZMcuwl8H5B29T8BJPMdBT7KHFE+BbAuZ/iTEdTtv7z2XiMjiaUUw4w3ZcCEdHs36RuYJ2VA7bA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.38", + "@vue/shared": "3.5.38" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.3.5.tgz", + "integrity": "sha512-UkKu5nhX89fg4VhlG/FOeI10G3cj/7radKT/cy9BT4Q9qJmJlSTAc/dP63Xqs29aypN4f39xUV6PsLNk/dcD6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.2.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.4" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.38.tgz", + "integrity": "sha512-pG6LV/NDNRbKizcUjFFLAfjaL8mcv4DmR9avNcUw2gDHBzZneuS2TWCmp633ynzxz9YYKNeEPK2I8Wraqy2HUQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.38" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.38.tgz", + "integrity": "sha512-iyW8WVfF1CpCXxncZY5Ei6rSd6oZr5DgEom//fUjRBRl56AXPD+s9ATvukRt77ZFTuYlnVA1bxY+dJB94tWVYw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.38", + "@vue/shared": "3.5.38" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.38.tgz", + "integrity": "sha512-apX2wt9sdfDshS+a2xueFZLVpt0GkRJZSoPmrW/SA4yzXTznhfcMVW59gr7h4YQeY0vJhdJkk2rsIDwgfFgC5A==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.38", + "@vue/runtime-core": "3.5.38", + "@vue/shared": "3.5.38", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.38.tgz", + "integrity": "sha512-vue8vbf2QlV4quHqzwmJy6dWfmRhP1J8l4wtZg60CL6VoKqcPY2oe7may3+1d9qfpedjK5PRLFqd5k3Isj9mUw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.38", + "@vue/shared": "3.5.38" + }, + "peerDependencies": { + "vue": "3.5.38" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.38.tgz", + "integrity": "sha512-FTW0AFZNaK5/mOqvGBwVfUlNLU38TiQn4+DQgIFUnrBBJQ1crMJ82yeGQLV5jyKFsO8yRukpbuP7x+nRbH6aug==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.9.1.tgz", + "integrity": "sha512-buvjm+9NzLCJL29KY1j1991YYJ5e6275OiK+G4jtmfIb+z4POywbdm0wXusT9adVWqe0xqg70TbI7+mRx4uU9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">= 5.8", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "14.3.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-14.3.0.tgz", + "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.3.0", + "@vueuse/shared": "14.3.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/metadata": { + "version": "14.3.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-14.3.0.tgz", + "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "14.3.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-14.3.0.tgz", + "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/alien-signals": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.2.1.tgz", + "integrity": "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/ast-kit": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ast-kit/-/ast-kit-2.2.0.tgz", + "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "pathe": "^2.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/ast-walker-scope": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/ast-walker-scope/-/ast-walker-scope-0.9.0.tgz", + "integrity": "sha512-IJdzo2vLiElBxKzwS36VsCue/62d6IdWjnPB2v3nuPKeWGynp6FF/CYoLa5i/3jXH/z97ZDdsXz6abpgM6w07A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.2", + "@babel/types": "^7.29.0", + "ast-kit": "^2.2.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.18.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.18.0.tgz", + "integrity": "sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.21", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-6.1.0.tgz", + "integrity": "sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.1.0" + } + }, + "node_modules/element-plus": { + "version": "2.14.2", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.14.2.tgz", + "integrity": "sha512-eNH9uP3wQoNqieEIHXiNvIVv+zO5sZDU0CAZq5b0zqSN06DD0/V9xIq1R/qm3rw5k3nBTM1JvpxhCfRbaFLzDQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.2.0", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.7.6", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.8", + "@types/lodash": "^4.17.24", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "14.3.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.20", + "lodash": "^4.18.1", + "lodash-es": "^4.18.1", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0", + "vue-component-type-helpers": "^3.3.3" + }, + "peerDependencies": { + "vue": "^3.3.7" + } + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "devOptional": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/local-pkg": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.2.1.tgz", + "integrity": "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magic-string-ast": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/magic-string-ast/-/magic-string-ast-1.0.3.tgz", + "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==", + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.19" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.8.2.tgz", + "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==", + "license": "MIT", + "dependencies": { + "acorn": "^8.16.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.3" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.3.1.tgz", + "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.4", + "exsolve": "^1.0.8", + "pathe": "^2.0.3" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/quansync": { + "version": "0.2.11", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.11.tgz", + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rolldown": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/rolldown/-/rolldown-1.0.3.tgz", + "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.133.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.3", + "@rolldown/binding-darwin-arm64": "1.0.3", + "@rolldown/binding-darwin-x64": "1.0.3", + "@rolldown/binding-freebsd-x64": "1.0.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", + "@rolldown/binding-linux-arm64-gnu": "1.0.3", + "@rolldown/binding-linux-arm64-musl": "1.0.3", + "@rolldown/binding-linux-ppc64-gnu": "1.0.3", + "@rolldown/binding-linux-s390x-gnu": "1.0.3", + "@rolldown/binding-linux-x64-gnu": "1.0.3", + "@rolldown/binding-linux-x64-musl": "1.0.3", + "@rolldown/binding-openharmony-arm64": "1.0.3", + "@rolldown/binding-wasm32-wasi": "1.0.3", + "@rolldown/binding-win32-arm64-msvc": "1.0.3", + "@rolldown/binding-win32-x64-msvc": "1.0.3" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unplugin": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-3.0.0.tgz", + "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/vite": { + "version": "8.0.16", + "resolved": "https://registry.npmmirror.com/vite/-/vite-8.0.16.tgz", + "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.3", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.38", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.38.tgz", + "integrity": "sha512-vAMKHfImQlYSy0C+PBue4s3ERZ2xGKfgZg5GXAsLInq1dyh2H78ILVP5sK0KPFPVW4kv+OGCIvBEondcjpZp7A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.38", + "@vue/compiler-sfc": "3.5.38", + "@vue/runtime-dom": "3.5.38", + "@vue/server-renderer": "3.5.38", + "@vue/shared": "3.5.38" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/vue-component-type-helpers/-/vue-component-type-helpers-3.3.5.tgz", + "integrity": "sha512-Fe1jyPJoUGpJOYKOri44jduR7My4yYINOMJISuMAbmrs+L5LbIDUc8NTWZYY3EJLK0yPLuCmcd5zoCsE4k2/KA==", + "license": "MIT" + }, + "node_modules/vue-i18n": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-10.0.7.tgz", + "integrity": "sha512-bKsk0PYwP9gdYF4nqSAT0kDpnLu1gZzlxFl885VH4mHVhEnqP16+/mAU05r1U6NIrc0fGDWP89tZ8GzeJZpe+w==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "10.0.7", + "@intlify/shared": "10.0.7", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-i18n/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-router": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-5.1.0.tgz", + "integrity": "sha512-HAbiLzLEHQwxPgvsbOJDAwtavszEgLwri6XfyrsPECIFez8+59xc9LofWVdc/HEaSRT822lJ8H9Ns38VVond5g==", + "license": "MIT", + "dependencies": { + "@babel/generator": "^8.0.0-rc.4", + "@vue-macros/common": "^3.1.1", + "@vue/devtools-api": "^8.1.2", + "ast-walker-scope": "^0.9.0", + "chokidar": "^5.0.0", + "json5": "^2.2.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "mlly": "^1.8.2", + "muggle-string": "^0.4.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "scule": "^1.3.0", + "tinyglobby": "^0.2.16", + "unplugin": "^3.0.0", + "unplugin-utils": "^0.3.1", + "yaml": "^2.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@pinia/colada": ">=0.21.2", + "@vue/compiler-sfc": "^3.5.34", + "pinia": "^3.0.4", + "vite": "^7.0.0 || ^8.0.0", + "vue": "^3.5.34" + }, + "peerDependenciesMeta": { + "@pinia/colada": { + "optional": true + }, + "@vue/compiler-sfc": { + "optional": true + }, + "pinia": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "8.1.3", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-8.1.3.tgz", + "integrity": "sha512-73NMCvxXh8Hyozc/jiwqTFWVcCMyi11U1zmrq4DoukQJnuo8JHt6FsNu4HdeUDa8SpIp5vb7Q22GWgIq0efsXg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.1.3" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-kit": { + "version": "8.1.3", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-8.1.3.tgz", + "integrity": "sha512-cRn7GXiCQkMYU2Z3h3pM4YO/ndbx9FY1yLDAqIqPLcmIq4H6zAOJHein6tvZU3AfPwgrodqLiPBEF+YQaS8AxA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.1.3", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "perfect-debounce": "^2.0.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-shared": { + "version": "8.1.3", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-8.1.3.tgz", + "integrity": "sha512-CM3uIPL+v+lrJUk33+pxspYo0MhuMWlCvf7zC9fybifvCPyM2jUbYRPwoYEJgYbwRqPikm5HozbUhp60MF2QuA==", + "license": "MIT" + }, + "node_modules/vue-router/node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.3.5.tgz", + "integrity": "sha512-Rzh/G2MmNlMSAMTiQEjDrsb4dgB/jbtEM47rVN2NtidF1dfb/q4w4QvpQBtW5+y3y5H27Hjh7deVwk+YB02fNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.3.5" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT" + }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/zrender": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-6.1.0.tgz", + "integrity": "sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..75a1550 --- /dev/null +++ b/web/package.json @@ -0,0 +1,29 @@ +{ + "name": "web", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.2", + "axios": "^1.18.0", + "echarts": "^6.1.0", + "element-plus": "^2.14.2", + "pinia": "^3.0.4", + "vue": "^3.5.34", + "vue-i18n": "^10.0.7", + "vue-router": "^5.1.0" + }, + "devDependencies": { + "@types/node": "^24.12.3", + "@vitejs/plugin-vue": "^6.0.6", + "@vue/tsconfig": "^0.9.1", + "typescript": "~6.0.2", + "vite": "^8.0.12", + "vue-tsc": "^3.2.8" + } +} diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 0000000..28b4fdb --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,29 @@ + + + + + + + diff --git a/web/public/icons.svg b/web/public/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/web/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/App.vue b/web/src/App.vue new file mode 100644 index 0000000..7a0f2b6 --- /dev/null +++ b/web/src/App.vue @@ -0,0 +1,14 @@ + + + diff --git a/web/src/api/client.ts b/web/src/api/client.ts new file mode 100644 index 0000000..107d6eb --- /dev/null +++ b/web/src/api/client.ts @@ -0,0 +1,30 @@ +import axios from 'axios' +import router from '@/router' + +const api = axios.create({ + baseURL: '/api/v1', + timeout: 30000, +}) + +api.interceptors.request.use((config) => { + const token = localStorage.getItem('prism_token') + if (token && token !== 'disabled') { + config.headers.Authorization = `Bearer ${token}` + } + return config +}) + +api.interceptors.response.use( + (res) => res, + (err) => { + if (err.response?.status === 401 && err.config?.url !== '/auth/login') { + localStorage.removeItem('prism_token') + if (router.currentRoute.value.name !== 'login') { + router.push('/login') + } + } + return Promise.reject(err) + }, +) + +export default api diff --git a/web/src/assets/hero.png b/web/src/assets/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..02251f4b956c55af2d76fd0788124d7eee2b45eb GIT binary patch literal 13057 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 P00000NkvXXu0mjft=yBf literal 0 HcmV?d00001 diff --git a/web/src/assets/prism-icon.svg b/web/src/assets/prism-icon.svg new file mode 100644 index 0000000..c2f0d1d --- /dev/null +++ b/web/src/assets/prism-icon.svg @@ -0,0 +1,28 @@ + diff --git a/web/src/assets/vite.svg b/web/src/assets/vite.svg new file mode 100644 index 0000000..5101b67 --- /dev/null +++ b/web/src/assets/vite.svg @@ -0,0 +1 @@ +Vite diff --git a/web/src/assets/vue.svg b/web/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/web/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/components/AppCard.vue b/web/src/components/AppCard.vue new file mode 100644 index 0000000..63f26d4 --- /dev/null +++ b/web/src/components/AppCard.vue @@ -0,0 +1,19 @@ + + + diff --git a/web/src/components/PageHeader.vue b/web/src/components/PageHeader.vue new file mode 100644 index 0000000..1d91bf7 --- /dev/null +++ b/web/src/components/PageHeader.vue @@ -0,0 +1,18 @@ + + + diff --git a/web/src/components/PrismIcon.vue b/web/src/components/PrismIcon.vue new file mode 100644 index 0000000..b5a9910 --- /dev/null +++ b/web/src/components/PrismIcon.vue @@ -0,0 +1,45 @@ + + + diff --git a/web/src/components/StatCard.vue b/web/src/components/StatCard.vue new file mode 100644 index 0000000..cbdbea5 --- /dev/null +++ b/web/src/components/StatCard.vue @@ -0,0 +1,13 @@ + + + diff --git a/web/src/i18n/index.ts b/web/src/i18n/index.ts new file mode 100644 index 0000000..d9f1618 --- /dev/null +++ b/web/src/i18n/index.ts @@ -0,0 +1,45 @@ +import { createI18n } from 'vue-i18n' +import zhCn from 'element-plus/es/locale/lang/zh-cn' +import zhTw from 'element-plus/es/locale/lang/zh-tw' +import en from 'element-plus/es/locale/lang/en' + +import zhCN from './locales/zh-CN' +import zhTW from './locales/zh-TW' +import enUS from './locales/en' +import { isLocaleCode, type LocaleCode } from './types' + +export const LOCALE_STORAGE_KEY = 'prism_locale' +export const DEFAULT_LOCALE: LocaleCode = 'zh-CN' + +export const elementLocales = { + 'zh-CN': zhCn, + 'zh-TW': zhTw, + en, +} as const + +function readStoredLocale(): LocaleCode { + const stored = localStorage.getItem(LOCALE_STORAGE_KEY) + return stored && isLocaleCode(stored) ? stored : DEFAULT_LOCALE +} + +const i18n = createI18n({ + legacy: false, + locale: readStoredLocale(), + fallbackLocale: DEFAULT_LOCALE, + messages: { + 'zh-CN': zhCN, + 'zh-TW': zhTW, + en: enUS, + }, +}) + +export function applyDocumentLocale(locale: LocaleCode) { + document.documentElement.lang = locale +} + +export function setI18nLocale(locale: LocaleCode) { + i18n.global.locale.value = locale + applyDocumentLocale(locale) +} + +export default i18n diff --git a/web/src/i18n/locales/en.ts b/web/src/i18n/locales/en.ts new file mode 100644 index 0000000..ca9685f --- /dev/null +++ b/web/src/i18n/locales/en.ts @@ -0,0 +1,344 @@ +export default { + common: { + prism: 'Prism', + refresh: 'Refresh', + save: 'Save', + cancel: 'Cancel', + confirm: 'Confirm', + search: 'Search', + delete: 'Delete', + import: 'Import', + export: 'Export', + add: 'Add', + create: 'Create', + revoke: 'Revoke', + copy: 'Copy', + loading: 'Loading', + unknown: 'Unknown', + none: '—', + success: 'Success', + failed: 'Failed', + all: 'All', + manual: 'Manual', + subscription: 'Subscription', + source: 'Source', + name: 'Name', + type: 'Type', + status: 'Status', + actions: 'Actions', + upload: 'Upload', + download: 'Download', + connections: 'Connections', + time: 'Time', + level: 'Level', + message: 'Message', + testing: 'Testing', + saved: 'Saved', + empty: 'No data', + management: 'Management', + logout: 'Sign out', + minutes: '{n} min', + seconds: '{n} sec', + periodHours: 'Last {n} hours', + }, + nav: { + dashboard: 'Dashboard', + subscriptions: 'Subscriptions', + proxies: 'Proxies', + outbound: 'Outbound', + rules: 'Rules', + trafficLogs: 'Request Logs', + logs: 'Runtime Logs', + settings: 'Settings', + }, + login: { + subtitle: 'HTTP / SOCKS5 proxy gateway console', + title: 'Sign in', + password: 'Password', + passwordPlaceholder: 'default: admin', + submit: 'Sign in', + hint: 'Default password is admin on first use. Change it in Settings.', + failed: 'Sign in failed', + wrongPassword: 'Incorrect password', + wrongPasswordRemaining: 'Incorrect password. {n} attempts left', + tooManyAttempts: 'Too many attempts. Try again in {wait}', + }, + dashboard: { + title: 'Dashboard', + desc: 'Live traffic, domain/node breakdown, and connection overview', + checking: 'Checking', + engineRunning: 'Engine running', + engineStopped: 'Engine stopped', + totalNodes: 'Total nodes', + aliveNodes: 'Alive nodes', + activeConnections: 'Active connections', + downloadRate: 'Download rate', + domainTraffic: 'Domain traffic', + nodeTraffic: 'Node traffic', + trafficTrend: 'Traffic trend', + tabLive: 'Active connections', + domain: 'Domain', + outboundNode: 'Outbound node', + hintLiveDomain: 'Active connection traffic grouped by domain and outbound node', + hintPeriodDomain: 'Aggregated from request logs by domain and outbound node', + hintLiveNode: 'Active traffic by leaf proxy node (policy groups skipped)', + hintPeriodNode: 'Completed request traffic per leaf node in the last 24 hours', + seriesDownload: 'Download', + seriesUpload: 'Upload', + }, + subscriptions: { + title: 'Subscriptions', + desc: 'Add and schedule Clash or link-based subscriptions', + add: 'Add subscription', + url: 'URL', + nodeCount: 'Nodes', + lastFetch: 'Last updated', + normal: 'OK', + error: 'Error', + refresh: 'Refresh', + dialogTitle: 'Add subscription', + interval: 'Update interval', + intervalHint: 'Seconds, minimum 300', + typeAuto: 'Auto detect', + typeClash: 'Clash YAML', + typeLinks: 'Node links', + typeHint: 'Use Auto detect for short links and Base64 node lists', + added: 'Subscription added', + refreshed: 'Refreshed', + deleted: 'Deleted', + confirmDelete: 'Delete subscription "{name}"?', + }, + proxies: { + title: 'Proxies', + desc: 'Node status, latency, country tags, and filters', + rebuildCountries: 'Rebuild countries', + addNode: 'Add node', + testAll: 'Test all', + testingProgress: 'Testing {progress}', + cancelTest: 'Cancel test', + testOne: 'Test', + country: 'Country', + latency: 'Latency', + notTested: 'N/A', + alive: 'Alive', + filterCountry: 'Filter by country', + allCountries: 'All countries', + testingHint: 'Testing nodes one by one. Do not close this page.', + tabAll: 'All', + countriesRebuilt: 'Updated country tags for {n} nodes', + noTestable: 'No nodes to test', + testCancelled: 'Test cancelled', + testDone: 'Test completed', + testDoneFailed: 'Test completed with {n} failures', + nodeAdded: 'Node added', + exported: 'Nodes exported', + exportJson: 'JSON', + exportLinks: 'Share links (one per line)', + importTitle: 'Import manual nodes', + importMode: 'Import mode', + append: 'Append to existing nodes', + replace: 'Replace all manual nodes', + importFile: 'Node file', + importContent: 'Node content', + importFileHint: 'JSON or share links (ss/socks5/http/trojan)', + importPlaceholder: 'One link per line, or paste JSON; lines starting with # are comments', + importConfirmReplace: 'This will delete all manual nodes and replace them. Continue?', + importConfirmTitle: 'Confirm import', + pasteRequired: 'Paste nodes or choose a file', + imported: 'Imported {n} nodes', + importedPartial: 'Imported {n}, skipped {s}', + importFailed: 'Import failed', + addDialogTitle: 'Add manual node', + server: 'Server', + port: 'Port', + username: 'Username', + password: 'Password', + chooseFile: 'Choose file', + }, + outbound: { + title: 'Outbound', + desc: 'Manage policy groups and default outbound; route rules are on the Rules page', + defaultTitle: 'Default outbound', + defaultHint: 'Policy group or DIRECT when no rule matches', + save: 'Save', + countryPools: 'Country pools (url-test)', + countryPoolsHint: 'Per-country url-test groups that pick the fastest node', + policyGroups: 'Policy groups', + countryPool: 'Country pool', + currentNode: 'Current node', + memberCount: 'Members', + policyGroup: 'Policy group', + switchNode: 'Switch node', + auto: '(auto)', + fallbackHint: 'Ordered fallback without latency test', + skipDirect: 'Auto latency test (excludes DIRECT)', + emptyCountry: 'No country pools (tag nodes and reload)', + emptyPolicy: 'No policy groups', + saved: 'Default outbound saved', + groupSwitched: 'Policy group switched', + policyGroupsHint: 'Only Selector groups allow manual node switch; URLTest / Fallback are chosen by the core', + typeSelector: 'Manual select', + typeURLTest: 'URL test', + typeFallback: 'Fallback', + typeLoadBalance: 'Load balance', + typeRelay: 'Relay', + countryPoolName: '{name} (country pool)', + policyGroupName: '{name} ({type})', + }, + rules: { + title: 'Routing rules', + desc: 'Manual rules override subscription rules; route domains to country pools', + testCard: 'Rule match test', + testPlaceholder: 'Enter URL or domain, e.g. https://www.google.com', + test: 'Test', + testHint: 'Simulates merged rule priority; GEOIP/GEOSITE needs local Geo data', + parsedHost: 'Host', + matchedRule: 'Matched rule', + outboundTarget: 'Outbound', + manualRules: 'Manual rules (high priority)', + mergedPreview: 'Merged rules preview', + mergedSummary: '{total} rules, fallback {policy}', + priority: 'Priority', + match: 'Match', + target: 'Target', + rule: 'Rule', + seq: '#', + ruleAdded: 'Rule added', + ruleDeleted: 'Deleted', + confirmDelete: 'Delete this rule?', + urlRequired: 'Enter a URL or domain', + exported: 'Rules exported', + exportJson: 'JSON', + exportText: 'Mihomo text (one per line)', + importTitle: 'Import manual rules', + importConfirmReplace: 'This will delete all manual rules and replace them. Continue?', + pasteRequired: 'Paste rules or choose a file', + imported: 'Imported {n} rules', + importedPartial: 'Imported {n}, skipped {s}', + importFailed: 'Import failed', + addDialogTitle: 'Add rule', + matchValue: 'Match value', + matchPlaceholder: 'e.g. google.com', + outboundType: 'Outbound type', + byCountry: 'By country', + byPolicy: 'Policy / direct', + outboundTargetLabel: 'Outbound target', + selectCountryPool: 'Select country pool', + selectPolicy: 'Select policy or DIRECT', + countryPoolHint: 'Country pools use url-test to pick the fastest node', + importFile: 'Rule file', + importContent: 'Rule content', + importFileHint: 'JSON or Mihomo rule text (DOMAIN-SUFFIX,example.com,PROXY)', + importPlaceholder: 'One rule per line or JSON; # for comments', + chooseFile: 'Choose file', + importMode: 'Import mode', + append: 'Append to existing rules', + replace: 'Replace all manual rules', + targetDirect: 'DIRECT', + targetReject: 'REJECT', + targetProxy: 'PROXY (default group)', + targetGlobal: 'GLOBAL (subscription group)', + countryFastest: '{name} (fastest)', + }, + trafficLogs: { + title: 'Request logs', + desc: 'Matched rules, outbound nodes, and results after connections close', + searchPlaceholder: 'Search domain, rule, or node', + target: 'Target', + matchedRule: 'Matched rule', + outboundNode: 'Outbound node', + chain: 'Chain', + traffic: 'Traffic', + result: 'Result', + pageSuccess: '{ok}/{total} succeeded on this page', + }, + logs: { + title: 'Runtime logs', + desc: 'Prism and proxy engine logs', + runtime: 'Runtime', + audit: 'Audit', + searchPlaceholder: 'Search keyword', + action: 'Action', + resource: 'Resource', + detail: 'Detail', + }, + settings: { + title: 'Settings', + desc: 'Proxy ports, scheduler, and security', + reloadEngine: 'Reload engine', + saved: 'Settings saved', + engineReloaded: 'Engine reloaded', + inboundApi: 'Inbound & API', + proxyInbound: 'Proxy inbound', + httpPort: 'HTTP port', + socksPort: 'SOCKS5 port', + proxyUser: 'Proxy username', + proxyUserPlaceholder: 'Leave empty to disable auth', + proxyPass: 'Proxy password', + proxyPassPlaceholder: 'Leave empty to keep unchanged; clear username to disable auth', + proxyAuthHint: 'HTTP/SOCKS5 will require these credentials; 127.0.0.1 is exempt', + adminApi: 'Admin API', + apiPort: 'API port', + apiPortHint: 'Restart required after changing', + mihomoApi: 'Mihomo API', + apiSecret: 'API Secret', + apiSecretPlaceholder: 'Clash API secret', + scheduler: 'Scheduler', + healthInterval: 'Health check interval', + seconds: 'seconds', + logLevel: 'Log level', + security: 'Security', + authEnabled: 'Enable login', + loginMaxAttempts: 'Max login attempts', + loginMaxAttemptsHint: 'Lock IP after this many failures within the lock window', + loginLockMinutes: 'Login lock duration', + loginLockMinutesHint: 'Minutes; blocked IP cannot retry during lock', + newPassword: 'New password', + newPasswordPlaceholder: 'Leave empty to keep unchanged', + appearance: 'Appearance', + uiLocale: 'Language', + localeZhCN: '简体中文', + localeZhTW: '繁體中文', + localeEn: 'English', + apiKeys: 'API Keys', + apiKeysHint: 'Use keys to call the admin API without signing in. Header:', + applyKey: 'Create API Key', + }, + apiKey: { + empty: 'No API keys', + prefix: 'Key prefix', + lastUsed: 'Last used', + createdAt: 'Created', + neverUsed: 'Never used', + created: 'API Key created. Copy it now.', + copied: 'Copied to clipboard', + confirmRevoke: 'Revoke key "{name}" ({prefix})?', + revoked: 'Revoked', + dialogCreate: 'Create API Key', + dialogSave: 'Save your API Key', + name: 'Name', + namePlaceholder: 'e.g. automation, ci', + onceHint: 'Shown only once. You cannot view the full key again.', + }, + geo: { + title: 'Geo data', + autoDownload: 'Auto download on start', + autoDownloadHint: 'Download missing Geo files on startup using URLs below', + countryMmdb: 'Country.mmdb', + countryMmdbHint: 'GEOIP country database; clear and save to restore default URL', + geoip: 'GEOIP', + geoipHint: 'geoip.dat URL; clear and save to restore default', + geosite: 'GEOSITE', + geositeHint: 'geosite.dat URL; clear and save to restore default', + localStatus: 'Local status', + ready: 'Ready', + notReady: 'Not ready', + missing: 'Missing', + downloadMissing: 'Download missing', + forceUpdate: 'Force update all', + updateHint: 'Save URL changes first, then update; GEOIP/GEOSITE rules need all three files', + updated: 'Updated: {files}', + upToDate: 'Geo data is up to date', + updateFailed: 'Update failed', + }, +} diff --git a/web/src/i18n/locales/zh-CN.ts b/web/src/i18n/locales/zh-CN.ts new file mode 100644 index 0000000..5ba989b --- /dev/null +++ b/web/src/i18n/locales/zh-CN.ts @@ -0,0 +1,344 @@ +export default { + common: { + prism: 'Prism', + refresh: '刷新', + save: '保存', + cancel: '取消', + confirm: '确认', + search: '搜索', + delete: '删除', + import: '导入', + export: '导出', + add: '添加', + create: '创建', + revoke: '吊销', + copy: '复制', + loading: '加载中', + unknown: '未知', + none: '—', + success: '成功', + failed: '失败', + all: '全部', + manual: '手动', + subscription: '订阅', + source: '来源', + name: '名称', + type: '类型', + status: '状态', + actions: '操作', + upload: '上行', + download: '下行', + connections: '连接数', + time: '时间', + level: '级别', + message: '消息', + testing: '测试中', + saved: '已保存', + empty: '暂无数据', + management: '管理', + logout: '退出登录', + minutes: '{n} 分钟', + seconds: '{n} 秒', + periodHours: '近 {n} 小时累计', + }, + nav: { + dashboard: '监控大盘', + subscriptions: '订阅管理', + proxies: '代理节点', + outbound: '出站管理', + rules: '路由规则', + trafficLogs: '请求日志', + logs: '运行日志', + settings: '系统设置', + }, + login: { + subtitle: 'HTTP / SOCKS5 代理网关管理台', + title: '登录', + password: '密码', + passwordPlaceholder: '默认 admin', + submit: '登录', + hint: '首次使用默认密码为 admin,请在设置中修改', + failed: '登录失败', + wrongPassword: '密码错误', + wrongPasswordRemaining: '密码错误,还可尝试 {n} 次', + tooManyAttempts: '登录尝试过多,请 {wait} 后再试', + }, + dashboard: { + title: '监控大盘', + desc: '实时流量、按域名/节点分布与连接概览', + checking: '检测中', + engineRunning: '内核运行中', + engineStopped: '内核未运行', + totalNodes: '总节点', + aliveNodes: '可用节点', + activeConnections: '活跃连接', + downloadRate: '下行速率', + domainTraffic: '域名流量', + nodeTraffic: '节点流量', + trafficTrend: '流量趋势', + tabLive: '当前活跃连接', + domain: '域名', + outboundNode: '出站节点', + hintLiveDomain: '按域名与出站节点汇总当前活跃连接流量', + hintPeriodDomain: '来自请求日志,按域名与出站节点聚合', + hintLiveNode: '按具体代理节点(跳过策略组)汇总活跃连接流量', + hintPeriodNode: '近24小时各具体代理节点完成的请求流量合计', + seriesDownload: '下行', + seriesUpload: '上行', + }, + subscriptions: { + title: '订阅管理', + desc: '添加并定时更新 Clash 或节点链接订阅', + add: '添加订阅', + url: 'URL', + nodeCount: '节点数', + lastFetch: '上次更新', + normal: '正常', + error: '异常', + refresh: '刷新', + dialogTitle: '添加订阅', + interval: '更新间隔', + intervalHint: '秒,最小 300', + typeAuto: '自动识别', + typeClash: 'Clash YAML', + typeLinks: '节点链接', + typeHint: '短链 / Base64 节点订阅选「自动识别」即可', + added: '已添加订阅', + refreshed: '刷新成功', + deleted: '已删除', + confirmDelete: '确定删除订阅「{name}」?', + }, + proxies: { + title: '代理节点', + desc: '查看节点状态与延迟,支持国家标签与按国家筛选', + rebuildCountries: '重新识别国家', + addNode: '添加节点', + testAll: '全部测速', + testingProgress: '测速中 {progress}', + cancelTest: '取消测速', + testOne: '测速', + country: '国家', + latency: '延迟', + notTested: '未测', + alive: '可用', + filterCountry: '按国家筛选', + allCountries: '全部国家', + testingHint: '按序逐个测速,请勿关闭页面', + tabAll: '全部', + countriesRebuilt: '已重新识别 {n} 个节点国家标签', + noTestable: '没有可测速的节点', + testCancelled: '已取消测速', + testDone: '测速完成', + testDoneFailed: '测速完成,{n} 个失败', + nodeAdded: '节点已添加', + exported: '节点已导出', + exportJson: 'JSON 格式', + exportLinks: '分享链接(每行一条)', + importTitle: '导入手动节点', + importMode: '导入模式', + append: '追加到现有节点', + replace: '替换全部手动节点', + importFile: '节点文件', + importContent: '节点内容', + importFileHint: '支持 JSON 或分享链接文本(ss/socks5/http/trojan)', + importPlaceholder: '每行一条分享链接,或粘贴 JSON;# 开头为注释', + importConfirmReplace: '将删除全部现有手动节点并替换为导入内容,确定继续?', + importConfirmTitle: '确认导入', + pasteRequired: '请粘贴节点或选择文件', + imported: '已导入 {n} 个节点', + importedPartial: '已导入 {n} 个,跳过 {s} 条', + importFailed: '导入失败', + addDialogTitle: '添加手动节点', + server: '服务器', + port: '端口', + username: '用户名', + password: '密码', + chooseFile: '选择文件', + }, + outbound: { + title: '出站管理', + desc: '管理策略组当前节点与默认出站;规则出站请在「路由规则」页配置', + defaultTitle: '默认出站', + defaultHint: '未命中任何规则时使用的策略组或直连', + save: '保存', + countryPools: '国家池(自动测速)', + countryPoolsHint: '按国家聚合的 url-test 组,自动选择该国最快节点', + policyGroups: '策略组', + countryPool: '国家池', + currentNode: '当前节点', + memberCount: '成员数', + policyGroup: '策略组', + switchNode: '切换节点', + auto: '(自动)', + fallbackHint: '按列表顺序主备,不通才切换(不比延迟)', + skipDirect: '按延迟自动测速选最快节点(不含 DIRECT)', + emptyCountry: '暂无国家池(请为节点标注国家后重载)', + emptyPolicy: '暂无策略组', + saved: '默认出站已保存', + groupSwitched: '策略组已切换', + policyGroupsHint: '仅 Selector(手动选择)类型可切换当前节点;URLTest / Fallback 由内核自动决定,无法固定某节点', + typeSelector: '手动选择', + typeURLTest: '自动测速', + typeFallback: '故障转移', + typeLoadBalance: '负载均衡', + typeRelay: '中继', + countryPoolName: '{name}(国家池)', + policyGroupName: '{name}({type})', + }, + rules: { + title: '路由规则', + desc: '手动规则优先级高于订阅规则;可将域名指定到某国家的自动优选节点', + testCard: '规则命中测试', + testPlaceholder: '输入 URL 或域名,如 https://www.google.com', + test: '测试', + testHint: '按合成后规则优先级模拟匹配;GEOIP/GEOSITE 需内核 Geo 数据,本地测试会跳过', + parsedHost: '解析域名', + matchedRule: '命中规则', + outboundTarget: '出站目标', + manualRules: '手动规则(高优先级)', + mergedPreview: '合成后规则预览', + mergedSummary: '共 {total} 条规则,兜底出站 {policy}', + priority: '优先级', + match: '匹配', + target: '目标', + rule: '规则', + seq: '序', + ruleAdded: '规则已添加', + ruleDeleted: '已删除', + confirmDelete: '确定删除该规则?', + urlRequired: '请输入 URL 或域名', + exported: '规则已导出', + exportJson: 'JSON 格式', + exportText: 'Mihomo 文本(每行一条)', + importTitle: '导入手动规则', + importConfirmReplace: '将删除全部现有手动规则并替换为导入内容,确定继续?', + pasteRequired: '请粘贴规则或选择文件', + imported: '已导入 {n} 条规则', + importedPartial: '已导入 {n} 条,跳过 {s} 条', + importFailed: '导入失败', + addDialogTitle: '添加规则', + matchValue: '匹配值', + matchPlaceholder: '如 google.com', + outboundType: '出站类型', + byCountry: '按国家', + byPolicy: '策略/直连', + outboundTargetLabel: '出站目标', + selectCountryPool: '选择国家节点池', + selectPolicy: '选择策略或直连', + countryPoolHint: '国家池使用 url-test 自动选择该国延迟最低的节点', + importFile: '规则文件', + importContent: '规则内容', + importFileHint: '支持 JSON 或 Mihomo 规则文本(DOMAIN-SUFFIX,example.com,PROXY)', + importPlaceholder: '每行一条规则,或以 JSON 格式粘贴;# 开头为注释', + chooseFile: '选择文件', + importMode: '导入模式', + append: '追加到现有规则', + replace: '替换全部手动规则', + targetDirect: 'DIRECT(直连)', + targetReject: 'REJECT(拒绝)', + targetProxy: 'PROXY(默认策略组)', + targetGlobal: 'GLOBAL(订阅总组)', + countryFastest: '{name}(自动选最快)', + }, + trafficLogs: { + title: '请求日志', + desc: '代理请求命中规则、出站节点与连接结果(连接结束后写入)', + searchPlaceholder: '搜索域名、规则或节点', + target: '请求目标', + matchedRule: '命中规则', + outboundNode: '出站节点', + chain: '链路', + traffic: '流量', + result: '结果', + pageSuccess: '本页 {ok}/{total} 成功', + }, + logs: { + title: '运行日志', + desc: 'Prism 与代理内核运行日志', + runtime: '运行日志', + audit: '审计日志', + searchPlaceholder: '搜索关键词', + action: '操作', + resource: '资源', + detail: '详情', + }, + settings: { + title: '系统设置', + desc: '代理端口、调度间隔与安全配置', + reloadEngine: '重载内核', + saved: '设置已保存', + engineReloaded: '内核已重载', + inboundApi: '入站与 API', + proxyInbound: '代理入站', + httpPort: 'HTTP 端口', + socksPort: 'SOCKS5 端口', + proxyUser: '代理用户名', + proxyUserPlaceholder: '留空表示不启用认证', + proxyPass: '代理密码', + proxyPassPlaceholder: '留空则不修改;清空用户名可关闭认证', + proxyAuthHint: '填写后 HTTP / SOCKS5 入站均需该账号密码;本机 127.0.0.1 可免认证', + adminApi: '管理 API', + apiPort: 'API 端口', + apiPortHint: '修改后需重启进程生效', + mihomoApi: 'Mihomo API', + apiSecret: 'API Secret', + apiSecretPlaceholder: 'Clash API 密钥', + scheduler: '调度', + healthInterval: '健康检查间隔', + seconds: '秒', + logLevel: '日志级别', + security: '安全', + authEnabled: '启用登录', + loginMaxAttempts: '登录失败上限', + loginMaxAttemptsHint: '同一 IP 在锁定时长内连续失败达到此次数后将临时锁定', + loginLockMinutes: '登录锁定时长', + loginLockMinutesHint: '分钟;锁定期间该 IP 无法继续尝试登录', + newPassword: '新密码', + newPasswordPlaceholder: '留空则不修改', + appearance: '界面', + uiLocale: '显示语言', + localeZhCN: '简体中文', + localeZhTW: '繁體中文', + localeEn: 'English', + apiKeys: 'API Key', + apiKeysHint: '申请后可用 Key 直接调用管理 API,无需每次登录。请求头任选其一:', + applyKey: '申请 API Key', + }, + apiKey: { + empty: '暂无 API Key', + prefix: 'Key 前缀', + lastUsed: '最近使用', + createdAt: '创建时间', + neverUsed: '从未使用', + created: 'API Key 已创建,请立即复制保存', + copied: '已复制到剪贴板', + confirmRevoke: '确定吊销 Key「{name}」({prefix})?', + revoked: '已吊销', + dialogCreate: '申请 API Key', + dialogSave: '请保存 API Key', + name: '名称', + namePlaceholder: '如 automation、ci', + onceHint: '此 Key 只显示一次,关闭后无法再次查看完整内容。', + }, + geo: { + title: 'Geo 数据', + autoDownload: '启动时自动下载', + autoDownloadHint: '启动时若本地缺少 Geo 文件则按下方地址自动下载', + countryMmdb: 'Country.mmdb', + countryMmdbHint: 'GEOIP 国家匹配数据库;清空并保存可恢复内置默认地址', + geoip: 'GEOIP', + geoipHint: 'geoip.dat 下载地址;清空并保存可恢复内置默认地址', + geosite: 'GEOSITE', + geositeHint: 'geosite.dat 下载地址;清空并保存可恢复内置默认地址', + localStatus: '本地状态', + ready: '已就绪', + notReady: '未就绪', + missing: '缺失', + downloadMissing: '下载缺失文件', + forceUpdate: '强制更新全部', + updateHint: '修改下载地址后请先保存,再点击更新;规则含 GEOIP/GEOSITE 时需保证三项文件齐全', + updated: '已更新:{files}', + upToDate: 'Geo 数据已是最新', + updateFailed: '更新失败', + }, +} diff --git a/web/src/i18n/locales/zh-TW.ts b/web/src/i18n/locales/zh-TW.ts new file mode 100644 index 0000000..ce2baa7 --- /dev/null +++ b/web/src/i18n/locales/zh-TW.ts @@ -0,0 +1,344 @@ +export default { + common: { + prism: 'Prism', + refresh: '重新整理', + save: '儲存', + cancel: '取消', + confirm: '確認', + search: '搜尋', + delete: '刪除', + import: '匯入', + export: '匯出', + add: '新增', + create: '建立', + revoke: '吊销', + copy: '複製', + loading: '載入中', + unknown: '未知', + none: '—', + success: '成功', + failed: '失敗', + all: '全部', + manual: '手動', + subscription: '訂閱', + source: '來源', + name: '名稱', + type: '類型', + status: '狀態', + actions: '操作', + upload: '上行', + download: '下行', + connections: '連線數', + time: '時間', + level: '級別', + message: '訊息', + testing: '測速中', + saved: '已儲存', + empty: '暫無資料', + management: '管理', + logout: '登出', + minutes: '{n} 分鐘', + seconds: '{n} 秒', + periodHours: '近 {n} 小時累計', + }, + nav: { + dashboard: '監控大盤', + subscriptions: '訂閱管理', + proxies: '代理節點', + outbound: '出站管理', + rules: '路由規則', + trafficLogs: '請求日誌', + logs: '執行日誌', + settings: '系統設定', + }, + login: { + subtitle: 'HTTP / SOCKS5 代理閘道管理台', + title: '登入', + password: '密碼', + passwordPlaceholder: '預設 admin', + submit: '登入', + hint: '首次使用預設密碼為 admin,請在設定中修改', + failed: '登入失敗', + wrongPassword: '密碼錯誤', + wrongPasswordRemaining: '密碼錯誤,還可嘗試 {n} 次', + tooManyAttempts: '登入嘗試過多,請 {wait} 後再試', + }, + dashboard: { + title: '監控大盤', + desc: '即時流量、按網域/節點分佈與連線概覽', + checking: '檢測中', + engineRunning: '核心執行中', + engineStopped: '核心未執行', + totalNodes: '總節點', + aliveNodes: '可用節點', + activeConnections: '活躍連線', + downloadRate: '下行速率', + domainTraffic: '網域流量', + nodeTraffic: '節點流量', + trafficTrend: '流量趨勢', + tabLive: '目前活躍連線', + domain: '網域', + outboundNode: '出站節點', + hintLiveDomain: '按網域與出站節點彙總目前活躍連線流量', + hintPeriodDomain: '來自請求日誌,按網域與出站節點聚合', + hintLiveNode: '按具體代理節點(跳過策略組)彙總活躍連線流量', + hintPeriodNode: '近24小時各具體代理節點完成的請求流量合計', + seriesDownload: '下行', + seriesUpload: '上行', + }, + subscriptions: { + title: '訂閱管理', + desc: '新增並定時更新 Clash 或節點連結訂閱', + add: '新增訂閱', + url: 'URL', + nodeCount: '節點數', + lastFetch: '上次更新', + normal: '正常', + error: '異常', + refresh: '重新整理', + dialogTitle: '新增訂閱', + interval: '更新間隔', + intervalHint: '秒,最小 300', + typeAuto: '自動識別', + typeClash: 'Clash YAML', + typeLinks: '節點連結', + typeHint: '短鏈 / Base64 節點訂閱選「自動識別」即可', + added: '已新增訂閱', + refreshed: '重新整理成功', + deleted: '已刪除', + confirmDelete: '確定刪除訂閱「{name}」?', + }, + proxies: { + title: '代理節點', + desc: '查看節點狀態與延遲,支援國家標籤與按國家篩選', + rebuildCountries: '重新識別國家', + addNode: '新增節點', + testAll: '全部測速', + testingProgress: '測速中 {progress}', + cancelTest: '取消測速', + testOne: '測速', + country: '國家', + latency: '延遲', + notTested: '未測', + alive: '可用', + filterCountry: '按國家篩選', + allCountries: '全部國家', + testingHint: '按序逐個測速,請勿關閉頁面', + tabAll: '全部', + countriesRebuilt: '已重新識別 {n} 個節點國家標籤', + noTestable: '沒有可測速的節點', + testCancelled: '已取消測速', + testDone: '測速完成', + testDoneFailed: '測速完成,{n} 個失敗', + nodeAdded: '節點已新增', + exported: '節點已匯出', + exportJson: 'JSON 格式', + exportLinks: '分享連結(每行一條)', + importTitle: '匯入手動節點', + importMode: '匯入模式', + append: '追加到現有節點', + replace: '替換全部手動節點', + importFile: '節點檔案', + importContent: '節點內容', + importFileHint: '支援 JSON 或分享連結文字(ss/socks5/http/trojan)', + importPlaceholder: '每行一條分享連結,或貼上 JSON;# 開頭為註解', + importConfirmReplace: '將刪除全部現有手動節點並替換為匯入內容,確定繼續?', + importConfirmTitle: '確認匯入', + pasteRequired: '請貼上節點或選擇檔案', + imported: '已匯入 {n} 個節點', + importedPartial: '已匯入 {n} 個,跳過 {s} 條', + importFailed: '匯入失敗', + addDialogTitle: '新增手動節點', + server: '伺服器', + port: '埠', + username: '使用者名稱', + password: '密碼', + chooseFile: '選擇檔案', + }, + outbound: { + title: '出站管理', + desc: '管理策略組目前節點與預設出站;規則出站請在「路由規則」頁設定', + defaultTitle: '預設出站', + defaultHint: '未命中任何規則時使用的策略組或直連', + save: '儲存', + countryPools: '國家池(自動測速)', + countryPoolsHint: '按國家聚合的 url-test 組,自動選擇該國最快節點', + policyGroups: '策略組', + countryPool: '國家池', + currentNode: '目前節點', + memberCount: '成員數', + policyGroup: '策略組', + switchNode: '切換節點', + auto: '(自動)', + fallbackHint: '按列表順序主備,不通才切換(不比延遲)', + skipDirect: '按延遲自動測速選最快節點(不含 DIRECT)', + emptyCountry: '暫無國家池(請為節點標註國家後重載)', + emptyPolicy: '暫無策略組', + saved: '預設出站已儲存', + groupSwitched: '策略組已切換', + policyGroupsHint: '僅 Selector(手動選擇)類型可切換目前節點;URLTest / Fallback 由核心自動決定,無法固定某節點', + typeSelector: '手動選擇', + typeURLTest: '自動測速', + typeFallback: '故障轉移', + typeLoadBalance: '負載均衡', + typeRelay: '中繼', + countryPoolName: '{name}(國家池)', + policyGroupName: '{name}({type})', + }, + rules: { + title: '路由規則', + desc: '手動規則優先級高於訂閱規則;可將網域指定到某國家的自動優選節點', + testCard: '規則命中測試', + testPlaceholder: '輸入 URL 或網域,如 https://www.google.com', + test: '測試', + testHint: '按合成後規則優先級模擬匹配;GEOIP/GEOSITE 需核心 Geo 資料,本地測試會跳過', + parsedHost: '解析網域', + matchedRule: '命中規則', + outboundTarget: '出站目標', + manualRules: '手動規則(高優先級)', + mergedPreview: '合成後規則預覽', + mergedSummary: '共 {total} 條規則,兜底出站 {policy}', + priority: '優先級', + match: '匹配', + target: '目標', + rule: '規則', + seq: '序', + ruleAdded: '規則已新增', + ruleDeleted: '已刪除', + confirmDelete: '確定刪除該規則?', + urlRequired: '請輸入 URL 或網域', + exported: '規則已匯出', + exportJson: 'JSON 格式', + exportText: 'Mihomo 文字(每行一條)', + importTitle: '匯入手動規則', + importConfirmReplace: '將刪除全部現有手動規則並替換為匯入內容,確定繼續?', + pasteRequired: '請貼上規則或選擇檔案', + imported: '已匯入 {n} 條規則', + importedPartial: '已匯入 {n} 條,跳過 {s} 條', + importFailed: '匯入失敗', + addDialogTitle: '新增規則', + matchValue: '匹配值', + matchPlaceholder: '如 google.com', + outboundType: '出站類型', + byCountry: '按國家', + byPolicy: '策略/直連', + outboundTargetLabel: '出站目標', + selectCountryPool: '選擇國家節點池', + selectPolicy: '選擇策略或直連', + countryPoolHint: '國家池使用 url-test 自動選擇該國延遲最低的節點', + importFile: '規則檔案', + importContent: '規則內容', + importFileHint: '支援 JSON 或 Mihomo 規則文字(DOMAIN-SUFFIX,example.com,PROXY)', + importPlaceholder: '每行一條規則,或以 JSON 格式貼上;# 開頭為註解', + chooseFile: '選擇檔案', + importMode: '匯入模式', + append: '追加到現有規則', + replace: '替換全部手動規則', + targetDirect: 'DIRECT(直連)', + targetReject: 'REJECT(拒絕)', + targetProxy: 'PROXY(預設策略組)', + targetGlobal: 'GLOBAL(訂閱總組)', + countryFastest: '{name}(自動選最快)', + }, + trafficLogs: { + title: '請求日誌', + desc: '代理請求命中規則、出站節點與連線結果(連線結束後寫入)', + searchPlaceholder: '搜尋網域、規則或節點', + target: '請求目標', + matchedRule: '命中規則', + outboundNode: '出站節點', + chain: '鏈路', + traffic: '流量', + result: '結果', + pageSuccess: '本頁 {ok}/{total} 成功', + }, + logs: { + title: '執行日誌', + desc: 'Prism 與代理核心執行日誌', + runtime: '執行日誌', + audit: '稽核日誌', + searchPlaceholder: '搜尋關鍵詞', + action: '操作', + resource: '資源', + detail: '詳情', + }, + settings: { + title: '系統設定', + desc: '代理埠、排程間隔與安全配置', + reloadEngine: '重載核心', + saved: '設定已儲存', + engineReloaded: '核心已重載', + inboundApi: '入站與 API', + proxyInbound: '代理入站', + httpPort: 'HTTP 埠', + socksPort: 'SOCKS5 埠', + proxyUser: '代理使用者名稱', + proxyUserPlaceholder: '留空表示不啟用認證', + proxyPass: '代理密碼', + proxyPassPlaceholder: '留空則不修改;清空使用者名稱可關閉認證', + proxyAuthHint: '填寫後 HTTP / SOCKS5 入站均需該帳號密碼;本機 127.0.0.1 可免認證', + adminApi: '管理 API', + apiPort: 'API 埠', + apiPortHint: '修改後需重啟程序生效', + mihomoApi: 'Mihomo API', + apiSecret: 'API Secret', + apiSecretPlaceholder: 'Clash API 密鑰', + scheduler: '排程', + healthInterval: '健康檢查間隔', + seconds: '秒', + logLevel: '日誌級別', + security: '安全', + authEnabled: '啟用登入', + loginMaxAttempts: '登入失敗上限', + loginMaxAttemptsHint: '同一 IP 在鎖定時長內連續失敗達到此次數後將暫時鎖定', + loginLockMinutes: '登入鎖定時長', + loginLockMinutesHint: '分鐘;鎖定期間該 IP 無法繼續嘗試登入', + newPassword: '新密碼', + newPasswordPlaceholder: '留空則不修改', + appearance: '介面', + uiLocale: '顯示語言', + localeZhCN: '简体中文', + localeZhTW: '繁體中文', + localeEn: 'English', + apiKeys: 'API Key', + apiKeysHint: '申請後可用 Key 直接呼叫管理 API,無需每次登入。請求標頭任選其一:', + applyKey: '申請 API Key', + }, + apiKey: { + empty: '暫無 API Key', + prefix: 'Key 前綴', + lastUsed: '最近使用', + createdAt: '建立時間', + neverUsed: '從未使用', + created: 'API Key 已建立,請立即複製儲存', + copied: '已複製到剪貼簿', + confirmRevoke: '確定吊销 Key「{name}」({prefix})?', + revoked: '已吊销', + dialogCreate: '申請 API Key', + dialogSave: '請儲存 API Key', + name: '名稱', + namePlaceholder: '如 automation、ci', + onceHint: '此 Key 只顯示一次,關閉後無法再次查看完整內容。', + }, + geo: { + title: 'Geo 資料', + autoDownload: '啟動時自動下載', + autoDownloadHint: '啟動時若本地缺少 Geo 檔案則按下方位址自動下載', + countryMmdb: 'Country.mmdb', + countryMmdbHint: 'GEOIP 國家匹配資料庫;清空並儲存可恢復內建預設位址', + geoip: 'GEOIP', + geoipHint: 'geoip.dat 下載位址;清空並儲存可恢復內建預設位址', + geosite: 'GEOSITE', + geositeHint: 'geosite.dat 下載位址;清空並儲存可恢復內建預設位址', + localStatus: '本地狀態', + ready: '已就緒', + notReady: '未就緒', + missing: '缺失', + downloadMissing: '下載缺失檔案', + forceUpdate: '強制更新全部', + updateHint: '修改下載位址後請先儲存,再點擊更新;規則含 GEOIP/GEOSITE 時需保證三項檔案齊全', + updated: '已更新:{files}', + upToDate: 'Geo 資料已是最新', + updateFailed: '更新失敗', + }, +} diff --git a/web/src/i18n/types.ts b/web/src/i18n/types.ts new file mode 100644 index 0000000..4b45de6 --- /dev/null +++ b/web/src/i18n/types.ts @@ -0,0 +1,11 @@ +export type LocaleCode = 'zh-CN' | 'zh-TW' | 'en' + +export const SUPPORTED_LOCALES: { value: LocaleCode; labelKey: string }[] = [ + { value: 'zh-CN', labelKey: 'settings.localeZhCN' }, + { value: 'zh-TW', labelKey: 'settings.localeZhTW' }, + { value: 'en', labelKey: 'settings.localeEn' }, +] + +export function isLocaleCode(v: string): v is LocaleCode { + return v === 'zh-CN' || v === 'zh-TW' || v === 'en' +} diff --git a/web/src/layouts/MainLayout.vue b/web/src/layouts/MainLayout.vue new file mode 100644 index 0000000..f5b0b3d --- /dev/null +++ b/web/src/layouts/MainLayout.vue @@ -0,0 +1,69 @@ + + + diff --git a/web/src/main.ts b/web/src/main.ts new file mode 100644 index 0000000..1ec78b7 --- /dev/null +++ b/web/src/main.ts @@ -0,0 +1,23 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import '@/styles/theme.css' + +import App from './App.vue' +import router from './router' +import i18n, { applyDocumentLocale } from '@/i18n' +import { useLocaleStore } from '@/stores/locale' + +const app = createApp(App) +const pinia = createPinia() + +app.use(pinia) +app.use(router) +app.use(i18n) +app.use(ElementPlus) + +const localeStore = useLocaleStore(pinia) +applyDocumentLocale(localeStore.locale) + +app.mount('#app') diff --git a/web/src/router/index.ts b/web/src/router/index.ts new file mode 100644 index 0000000..1c5e2a4 --- /dev/null +++ b/web/src/router/index.ts @@ -0,0 +1,46 @@ +import { createRouter, createWebHistory } from 'vue-router' +import { useAuthStore } from '@/stores/auth' +import MainLayout from '@/layouts/MainLayout.vue' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/login', + name: 'login', + component: () => import('@/views/LoginView.vue'), + meta: { public: true }, + }, + { + path: '/', + component: MainLayout, + children: [ + { path: '', name: 'dashboard', component: () => import('@/views/DashboardView.vue') }, + { path: 'subscriptions', name: 'subscriptions', component: () => import('@/views/SubscriptionsView.vue') }, + { path: 'proxies', name: 'proxies', component: () => import('@/views/ProxiesView.vue') }, + { path: 'outbound', name: 'outbound', component: () => import('@/views/OutboundView.vue') }, + { path: 'rules', name: 'rules', component: () => import('@/views/RulesView.vue') }, + { path: 'traffic-logs', name: 'traffic-logs', component: () => import('@/views/TrafficLogsView.vue') }, + { path: 'logs', name: 'logs', component: () => import('@/views/LogsView.vue') }, + { path: 'settings', name: 'settings', component: () => import('@/views/SettingsView.vue') }, + ], + }, + ], +}) + +router.beforeEach(async (to) => { + const auth = useAuthStore() + if (to.meta.public) return true + if (auth.isLoggedIn()) return true + try { + const res = await fetch('/api/v1/auth/status') + const data = await res.json() + if (!data.enabled) { + auth.token = 'disabled' + return true + } + } catch { /* ignore */ } + return '/login' +}) + +export default router diff --git a/web/src/stores/auth.ts b/web/src/stores/auth.ts new file mode 100644 index 0000000..c7a21fb --- /dev/null +++ b/web/src/stores/auth.ts @@ -0,0 +1,22 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import api from '@/api/client' + +export const useAuthStore = defineStore('auth', () => { + const token = ref(localStorage.getItem('prism_token') || '') + + async function login(password: string) { + const { data } = await api.post('/auth/login', { password }) + token.value = data.token + localStorage.setItem('prism_token', data.token) + } + + function logout() { + token.value = '' + localStorage.removeItem('prism_token') + } + + const isLoggedIn = () => !!token.value + + return { token, login, logout, isLoggedIn } +}) diff --git a/web/src/stores/locale.ts b/web/src/stores/locale.ts new file mode 100644 index 0000000..88ddf19 --- /dev/null +++ b/web/src/stores/locale.ts @@ -0,0 +1,28 @@ +import { defineStore } from 'pinia' +import { elementLocales, LOCALE_STORAGE_KEY, setI18nLocale } from '@/i18n' +import { isLocaleCode, SUPPORTED_LOCALES, type LocaleCode } from '@/i18n/types' + +export const useLocaleStore = defineStore('locale', { + state: () => ({ + locale: (localStorage.getItem(LOCALE_STORAGE_KEY) || 'zh-CN') as LocaleCode, + }), + getters: { + elementLocale: (state) => elementLocales[state.locale], + options: () => SUPPORTED_LOCALES, + }, + actions: { + setLocale(locale: LocaleCode, persist = true) { + if (!isLocaleCode(locale)) return + this.locale = locale + setI18nLocale(locale) + if (persist) { + localStorage.setItem(LOCALE_STORAGE_KEY, locale) + } + }, + applyFromSettings(uiLocale?: string) { + if (uiLocale && isLocaleCode(uiLocale)) { + this.setLocale(uiLocale) + } + }, + }, +}) diff --git a/web/src/style.css b/web/src/style.css new file mode 100644 index 0000000..527d4fb --- /dev/null +++ b/web/src/style.css @@ -0,0 +1,296 @@ +:root { + --text: #6b6375; + --text-h: #08060d; + --bg: #fff; + --border: #e5e4e7; + --code-bg: #f4f3ec; + --accent: #aa3bff; + --accent-bg: rgba(170, 59, 255, 0.1); + --accent-border: rgba(170, 59, 255, 0.5); + --social-bg: rgba(244, 243, 236, 0.5); + --shadow: + rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; + + --sans: system-ui, 'Segoe UI', Roboto, sans-serif; + --heading: system-ui, 'Segoe UI', Roboto, sans-serif; + --mono: ui-monospace, Consolas, monospace; + + font: 18px/145% var(--sans); + letter-spacing: 0.18px; + color-scheme: light dark; + color: var(--text); + background: var(--bg); + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + @media (max-width: 1024px) { + font-size: 16px; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --text: #9ca3af; + --text-h: #f3f4f6; + --bg: #16171d; + --border: #2e303a; + --code-bg: #1f2028; + --accent: #c084fc; + --accent-bg: rgba(192, 132, 252, 0.15); + --accent-border: rgba(192, 132, 252, 0.5); + --social-bg: rgba(47, 48, 58, 0.5); + --shadow: + rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; + } + + #social .button-icon { + filter: invert(1) brightness(2); + } +} + +body { + margin: 0; +} + +h1, +h2 { + font-family: var(--heading); + font-weight: 500; + color: var(--text-h); +} + +h1 { + font-size: 56px; + letter-spacing: -1.68px; + margin: 32px 0; + @media (max-width: 1024px) { + font-size: 36px; + margin: 20px 0; + } +} +h2 { + font-size: 24px; + line-height: 118%; + letter-spacing: -0.24px; + margin: 0 0 8px; + @media (max-width: 1024px) { + font-size: 20px; + } +} +p { + margin: 0; +} + +code, +.counter { + font-family: var(--mono); + display: inline-flex; + border-radius: 4px; + color: var(--text-h); +} + +code { + font-size: 15px; + line-height: 135%; + padding: 4px 8px; + background: var(--code-bg); +} + +.counter { + font-size: 16px; + padding: 5px 10px; + border-radius: 5px; + color: var(--accent); + background: var(--accent-bg); + border: 2px solid transparent; + transition: border-color 0.3s; + margin-bottom: 24px; + + &:hover { + border-color: var(--accent-border); + } + &:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; + } +} + +.hero { + position: relative; + + .base, + .framework, + .vite { + inset-inline: 0; + margin: 0 auto; + } + + .base { + width: 170px; + position: relative; + z-index: 0; + } + + .framework, + .vite { + position: absolute; + } + + .framework { + z-index: 1; + top: 34px; + height: 28px; + transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) + scale(1.4); + } + + .vite { + z-index: 0; + top: 107px; + height: 26px; + width: auto; + transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) + scale(0.8); + } +} + +#app { + width: 1126px; + max-width: 100%; + margin: 0 auto; + text-align: center; + border-inline: 1px solid var(--border); + min-height: 100svh; + display: flex; + flex-direction: column; + box-sizing: border-box; +} + +#center { + display: flex; + flex-direction: column; + gap: 25px; + place-content: center; + place-items: center; + flex-grow: 1; + + @media (max-width: 1024px) { + padding: 32px 20px 24px; + gap: 18px; + } +} + +#next-steps { + display: flex; + border-top: 1px solid var(--border); + text-align: left; + + & > div { + flex: 1 1 0; + padding: 32px; + @media (max-width: 1024px) { + padding: 24px 20px; + } + } + + .icon { + margin-bottom: 16px; + width: 22px; + height: 22px; + } + + @media (max-width: 1024px) { + flex-direction: column; + text-align: center; + } +} + +#docs { + border-right: 1px solid var(--border); + + @media (max-width: 1024px) { + border-right: none; + border-bottom: 1px solid var(--border); + } +} + +#next-steps ul { + list-style: none; + padding: 0; + display: flex; + gap: 8px; + margin: 32px 0 0; + + .logo { + height: 18px; + } + + a { + color: var(--text-h); + font-size: 16px; + border-radius: 6px; + background: var(--social-bg); + display: flex; + padding: 6px 12px; + align-items: center; + gap: 8px; + text-decoration: none; + transition: box-shadow 0.3s; + + &:hover { + box-shadow: var(--shadow); + } + .button-icon { + height: 18px; + width: 18px; + } + } + + @media (max-width: 1024px) { + margin-top: 20px; + flex-wrap: wrap; + justify-content: center; + + li { + flex: 1 1 calc(50% - 8px); + } + + a { + width: 100%; + justify-content: center; + box-sizing: border-box; + } + } +} + +#spacer { + height: 88px; + border-top: 1px solid var(--border); + @media (max-width: 1024px) { + height: 48px; + } +} + +.ticks { + position: relative; + width: 100%; + + &::before, + &::after { + content: ''; + position: absolute; + top: -4.5px; + border: 5px solid transparent; + } + + &::before { + left: 0; + border-left-color: var(--border); + } + &::after { + right: 0; + border-right-color: var(--border); + } +} diff --git a/web/src/styles/theme.css b/web/src/styles/theme.css new file mode 100644 index 0000000..dc397bf --- /dev/null +++ b/web/src/styles/theme.css @@ -0,0 +1,524 @@ +:root { + --background: #f4f4f5; + --foreground: #18181b; + --card: #ffffff; + --card-foreground: #18181b; + --primary: #0f7a62; + --primary-hover: #0d6b56; + --primary-foreground: #fafafa; + --muted: #f4f4f5; + --muted-foreground: #71717a; + --border: #e4e4e7; + --input: #e4e4e7; + --destructive: #dc2626; + --success: #047857; + --warning: #b45309; + --danger: #dc2626; + --info: #a1a1aa; + --sidebar: rgba(250, 250, 250, 0.85); + --sidebar-foreground: #18181b; + --sidebar-accent: #f4f4f5; + --sidebar-border: #e4e4e7; + --sidebar-width: 15rem; + --radius: 0.5rem; + --space-1: 4px; + --space-2: 8px; + --space-3: 12px; + --space-4: 16px; + --space-5: 20px; + --space-6: 24px; + --space-8: 32px; + + --el-color-primary: #0f7a62; + --el-color-primary-light-3: #4da08c; + --el-color-primary-light-5: #76b8a8; + --el-color-primary-light-7: #a0d0c4; + --el-color-primary-light-8: #b8dcd2; + --el-color-primary-light-9: #d0e8e1; + --el-color-primary-dark-2: #0c624e; + --el-color-success: #047857; + --el-color-warning: #b45309; + --el-color-danger: #dc2626; + --el-color-info: #a1a1aa; + --el-border-radius-base: 0.5rem; + --el-border-color: #e4e4e7; + --el-bg-color-page: #f4f4f5; + --el-text-color-primary: #18181b; + --el-text-color-regular: #3f3f46; + --el-text-color-secondary: #71717a; + --el-font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; +} + +* { box-sizing: border-box; } + +html, body, #app { + margin: 0; + padding: 0; + height: 100%; + font-size: 14px; + font-family: var(--el-font-family); + background: var(--background); + color: var(--foreground); +} + +.layout { + display: flex; + height: 100vh; +} + +.sidebar { + width: var(--sidebar-width); + flex-shrink: 0; + background: var(--sidebar); + border-right: 1px solid var(--sidebar-border); + backdrop-filter: blur(8px); + display: flex; + flex-direction: column; + overflow-y: auto; +} + +.sidebar-brand { + display: flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-5) var(--space-4); +} + +.brand-icon { + width: 32px; + height: 32px; + border-radius: var(--radius); + background: var(--primary); + color: var(--primary-foreground); + display: flex; + align-items: center; + justify-content: center; +} + +.brand-name { + font-size: 1.125rem; + font-weight: 600; +} + +.nav-group-label { + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.04em; + color: var(--muted-foreground); + padding: var(--space-4) var(--space-4) var(--space-2); +} + +.nav-item { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-2) var(--space-3); + margin: 0 var(--space-2); + border-radius: var(--radius); + color: var(--muted-foreground); + text-decoration: none; + font-size: 0.875rem; + font-weight: 500; +} + +.nav-item:hover { background: var(--sidebar-accent); } +.nav-item.active { + background: var(--sidebar-accent); + color: var(--primary); + font-weight: 600; +} + +.main-area { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; +} + +.topbar { + height: 52px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 var(--space-6); + background: var(--card); + border-bottom: 1px solid var(--border); +} + +.topbar-title { + font-size: 0.875rem; + color: var(--muted-foreground); +} + +.main-content { + flex: 1; + overflow-y: auto; + padding: var(--space-6); +} + +.page { + max-width: 1400px; +} + +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: var(--space-6); + gap: var(--space-4); +} + +.page-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-shrink: 0; + flex-wrap: wrap; +} + +.page-title { + font-size: 1.5rem; + font-weight: 600; + letter-spacing: -0.02em; + margin: 0 0 var(--space-1); +} + +.page-desc { + font-size: 0.875rem; + color: var(--muted-foreground); + margin: 0; +} + +.stat-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.stat-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-5); +} + +.stat-card__label { + font-size: 0.875rem; + color: var(--muted-foreground); + margin-bottom: var(--space-2); +} + +.stat-card__value { + font-size: 1.75rem; + font-weight: 600; +} + +.app-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + margin-bottom: var(--space-4); +} + +.page > .app-card:last-child, +.page > .content-grid:last-child { + margin-bottom: 0; +} + +.app-card__header { + padding: var(--space-4) var(--space-5); + border-bottom: 1px solid var(--border); +} + +.app-card__title { + font-size: 0.9375rem; + font-weight: 600; + margin: 0; +} + +.app-card__body--padded { padding: var(--space-5); } + +.content-grid { + display: grid; + gap: var(--space-4); + margin-bottom: var(--space-6); +} + +.content-grid--2-1 { grid-template-columns: 1.4fr 1fr; } +.content-grid--2 { grid-template-columns: 1fr 1fr; } +.content-grid--3 { grid-template-columns: repeat(3, 1fr); } + +.card-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-4) var(--space-5) 0; + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.card-toolbar--desc { + align-items: flex-start; +} + +.card-pager { + padding: var(--space-4) var(--space-5); + display: flex; + justify-content: flex-end; +} + +.card-footer-hint { + padding: 0 var(--space-5) var(--space-3); + margin: 0; +} + +.card-footer-hint + .card-pager { + padding-top: var(--space-3); +} + +.card-inset-block { + margin: 0 var(--space-5) var(--space-4); + padding: var(--space-3); + background: var(--muted); + border-radius: var(--radius); + font-size: 0.875rem; +} + +.tabs-bar { + padding: 0 var(--space-5); + border-bottom: 1px solid var(--border); +} + +.tabs-bar .el-tabs__header { margin-bottom: 0; } + +.page-toolbar { + display: flex; + align-items: center; + gap: var(--space-2); + margin-bottom: var(--space-4); + flex-wrap: wrap; +} + +.inline-actions { + display: flex; + align-items: center; + gap: var(--space-2); + flex-wrap: wrap; +} + +.card-header-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-4); +} + +.form-hint { + margin-top: 6px; + font-size: 0.75rem; + color: var(--muted-foreground); +} + +.form-hint--flush { margin-top: 0; } + +.u-mt-3 { margin-top: var(--space-3); } +.u-mt-4 { margin-top: var(--space-4); } +.u-mb-3 { margin-bottom: var(--space-3); } +.u-mb-4 { margin-bottom: var(--space-4); } +.u-mb-6 { margin-bottom: var(--space-6); } +.text-center { text-align: center; } +.w-full { width: 100%; } + +code.inline-code { + font-size: 0.75rem; + padding: 0 var(--space-1); + background: var(--muted); + border-radius: var(--radius); +} + +.section-title { + font-size: 0.875rem; + font-weight: 600; + margin-bottom: var(--space-4); +} + +.section-title:not(:first-child) { margin-top: var(--space-6); } + +.login-page { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: var(--background); + padding: var(--space-6); +} + +.login-wrap { max-width: 400px; width: 100%; text-align: center; } + +.login-brand-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: var(--primary); + color: var(--primary-foreground); + display: inline-flex; + align-items: center; + justify-content: center; + margin-bottom: var(--space-4); +} + +.login-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--space-8); + margin-top: var(--space-6); + text-align: left; +} + +.latency-good { color: #047857; } +.latency-warn { color: #b45309; } +.latency-bad { color: #dc2626; } +.latency-dead { color: var(--muted-foreground); } + +/* Toolbar field widths */ +.toolbar-select { width: 120px; } +.toolbar-select--country { width: 160px; } +.toolbar-select--wide { width: 280px; } +.toolbar-input { width: 200px; } +.toolbar-input--wide { width: 260px; } +.toolbar-input--grow { flex: 1; min-width: 200px; } +.table-cell-select { width: 100%; min-width: 200px; } + +/* Forms */ +.el-form .el-select { width: 100%; } + +/* Tables in cards */ +.app-card .el-table { + --el-table-header-bg-color: var(--muted); + font-size: 0.875rem; +} + +.app-card .el-table--small .el-table__cell { + padding: var(--space-2) var(--space-3); +} + +.app-card .el-table--small th.el-table__cell { + font-size: 0.75rem; + font-weight: 600; + color: var(--muted-foreground); +} + +.app-card .el-table--small td.el-table__cell { + color: var(--el-text-color-regular); +} + +.app-card .el-table--small .el-table__row { + height: 40px; +} + +.app-card .el-table .el-button.is-link { + padding: 0; + height: auto; +} + +.app-card .el-table .cell { + line-height: 1.4; +} + +.table-scroll--sm { max-height: 320px; } +.table-scroll--md { max-height: 360px; } +.table-scroll--lg { max-height: 480px; } + +.card-toolbar .toolbar-input--grow { + flex: 1; + min-width: 200px; +} + +.card-pager .el-pagination { + font-size: 0.875rem; +} + +.test-result p { + margin: 0 0 var(--space-2); +} + +.test-result p:last-child { + margin-bottom: 0; +} + +.test-result .label { + display: inline-block; + width: 5rem; + color: var(--muted-foreground); +} + +.test-result code { + font-size: 0.8125rem; +} + +.geo-status { + display: flex; + flex-direction: column; + gap: var(--space-2); + width: 100%; +} + +.geo-file-list { + margin: 0; + padding: 0; + list-style: none; + font-size: 0.8125rem; + color: var(--muted-foreground); +} + +.geo-file-list li { + display: flex; + justify-content: space-between; + gap: var(--space-3); + padding: var(--space-1) 0; +} + +.geo-file-name { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; +} + +.geo-file-ok { color: var(--el-color-success); } +.geo-file-miss { color: var(--el-color-warning); } + +.chart-box { + height: 280px; +} + +.custom-scrollbar { + scrollbar-width: thin; + scrollbar-color: #e4e4e7 transparent; +} + +.custom-scrollbar::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #e4e4e7; + border-radius: 3px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: transparent; +} + +@media (max-width: 1024px) { + .stat-grid { grid-template-columns: repeat(2, 1fr); } + .content-grid--2-1, + .content-grid--2, + .content-grid--3 { grid-template-columns: 1fr; } +} + +@media (max-width: 640px) { + .stat-grid { grid-template-columns: 1fr; } + .main-content { padding: var(--space-4); } + .page-header { flex-direction: column; } +} diff --git a/web/src/views/DashboardView.vue b/web/src/views/DashboardView.vue new file mode 100644 index 0000000..64bf9bd --- /dev/null +++ b/web/src/views/DashboardView.vue @@ -0,0 +1,267 @@ + + + diff --git a/web/src/views/LoginView.vue b/web/src/views/LoginView.vue new file mode 100644 index 0000000..2471f27 --- /dev/null +++ b/web/src/views/LoginView.vue @@ -0,0 +1,73 @@ + + + diff --git a/web/src/views/LogsView.vue b/web/src/views/LogsView.vue new file mode 100644 index 0000000..780dcf3 --- /dev/null +++ b/web/src/views/LogsView.vue @@ -0,0 +1,126 @@ + + + diff --git a/web/src/views/OutboundView.vue b/web/src/views/OutboundView.vue new file mode 100644 index 0000000..bbf0729 --- /dev/null +++ b/web/src/views/OutboundView.vue @@ -0,0 +1,194 @@ + + + diff --git a/web/src/views/ProxiesView.vue b/web/src/views/ProxiesView.vue new file mode 100644 index 0000000..1d12916 --- /dev/null +++ b/web/src/views/ProxiesView.vue @@ -0,0 +1,392 @@ + + + diff --git a/web/src/views/RulesView.vue b/web/src/views/RulesView.vue new file mode 100644 index 0000000..fdca67a --- /dev/null +++ b/web/src/views/RulesView.vue @@ -0,0 +1,430 @@ + + + diff --git a/web/src/views/SettingsView.vue b/web/src/views/SettingsView.vue new file mode 100644 index 0000000..aadd260 --- /dev/null +++ b/web/src/views/SettingsView.vue @@ -0,0 +1,383 @@ + + + diff --git a/web/src/views/SubscriptionsView.vue b/web/src/views/SubscriptionsView.vue new file mode 100644 index 0000000..abd362f --- /dev/null +++ b/web/src/views/SubscriptionsView.vue @@ -0,0 +1,126 @@ + + + diff --git a/web/src/views/TrafficLogsView.vue b/web/src/views/TrafficLogsView.vue new file mode 100644 index 0000000..ae72969 --- /dev/null +++ b/web/src/views/TrafficLogsView.vue @@ -0,0 +1,119 @@ + + + diff --git a/web/tsconfig.app.json b/web/tsconfig.app.json new file mode 100644 index 0000000..266d76f --- /dev/null +++ b/web/tsconfig.app.json @@ -0,0 +1,19 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["vite/client"], + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "ignoreDeprecations": "6.0", + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/web/tsconfig.node.json b/web/tsconfig.node.json new file mode 100644 index 0000000..d3c52ea --- /dev/null +++ b/web/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "module": "esnext", + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..ebeea4f --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,25 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { fileURLToPath, URL } from 'node:url' + +export default defineConfig({ + plugins: [vue()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, + server: { + port: 5173, + proxy: { + '/api': { + target: 'http://127.0.0.1:8080', + changeOrigin: true, + }, + }, + }, + build: { + outDir: 'dist', + emptyOutDir: true, + }, +})

    !z)^YLF8gWEr5*N@3fUPf?QtUprX%MoT% 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 I=-XfZKNPLlw*UYD literal 0 HcmV?d00001 diff --git a/docs/image/订阅管理.png b/docs/image/订阅管理.png new file mode 100644 index 0000000000000000000000000000000000000000..63b73388ec7953a0cb22ad3cc6a526c017f529a6 GIT binary patch literal 108038 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 AKL7v# literal 0 HcmV?d00001 diff --git a/docs/image/请求日志.png b/docs/image/请求日志.png new file mode 100644 index 0000000000000000000000000000000000000000..6a4b253bc9b081b5da7ce8cd2a04030b688f7e08 GIT binary patch literal 345838 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%0DF49R6I7U2|+!V>b^x8*eNE#V8yF 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%0DX_c6&0kF+bSb~wTwZ&tLWL%?J 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�)%WR9C*a;?r*nwCIg!31*QX} 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 G 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 QrE;EUImC1NlFgn>y2G?`x5S`1- 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